diff --git a/404.html b/404.html index 8859c0a5f..25aed8c8d 100644 --- a/404.html +++ b/404.html @@ -12,9 +12,9 @@ - - - + + + diff --git a/assets/css/styles.46010832.css b/assets/css/styles.46010832.css deleted file mode 100644 index ff5a729c3..000000000 --- a/assets/css/styles.46010832.css +++ /dev/null @@ -1 +0,0 @@ -.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,.hash-link{-webkit-user-select:none}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#0063cc;--ifm-color-primary-dark:#0059b8;--ifm-color-primary-darker:#0054ad;--ifm-color-primary-darkest:#00458f;--ifm-color-primary-light:#006de0;--ifm-color-primary-lighter:#0072eb;--ifm-color-primary-lightest:#1f8bff;--docusaurus-highlighted-code-line-bg:#dddfe1;--code-display-color:#f8fafc;--inversion-percentage:0%;--ifm-container-width-xl:calc(25% + 860px);--chip-background:#e2e2e2;--chip-background-hover:#cfcfcf;--chip-text:#5f6163;--chip-icon-color:#616161;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_eTzJ article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.cardContainer_fWXF :last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#4299f5;--ifm-color-primary-dark:#2489f3;--ifm-color-primary-darker:#1681f3;--ifm-color-primary-darkest:#0b6acf;--ifm-color-primary-light:#60a9f7;--ifm-color-primary-lighter:#6eb1f7;--ifm-color-primary-lightest:#9bc9fa;--docusaurus-highlighted-code-line-bg:#414458!important;--code-display-color:#21222c;--inversion-percentage:100%;--chip-background:#494c4f;--chip-background-hover:#424242;--chip-text:#e0e0e0;--chip-icon-color:#e0e0e0;--ifm-navbar-background-color:#181e25!important;--ifm-background-color:#101418!important}.homepage{width:100%}.navbar__brand{margin-left:30px;margin-right:30px}.custom--table{display:inline-table;width:100%!important}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:not(:has(>*)),.sidebar--item__hidden,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.custom--table td{padding:5px 7px 5px 8px}.MuiChip-root{text-decoration:none!important}.clean-btn:hover{color:var(--clean-hover);transition:color var(--ifm-transition-fast)}#script-container{margin:0 10% 5%;max-width:90%}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.DocSearch-Container a,.tag_zVej:hover{text-decoration:none}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.cardContainer_fWXF{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_fWXF:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_rnsV{font-size:1.2rem}.cardDescription_PWke{font-size:.8rem}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color)}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{--ifm-breadcrumb-separator-size-multiplier:1;color:var(--ifm-color-content-secondary);font-size:.8rem}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite a;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes a{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.buttons_AeoN,.features_t9lD{align-items:center;display:flex}.features_t9lD{padding:2rem 0;width:100%}.featureSvg_GfXr{height:200px;width:200px}.heroBanner_qdFl{display:flex;overflow:hidden;padding:4rem 0;position:relative}.test_C9V2{display:grid;grid-template-columns:1fr 3fr}.buttons_AeoN{justify-content:center}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Button{background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Input,.DocSearch-Link{-webkit-appearance:none;font:inherit}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Hit-action-button,.DocSearch-Reset{-webkit-appearance:none;border:0;cursor:pointer}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards b;appearance:none;background:none;border-radius:50%;color:var(--docsearch-icon-color);padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border-radius:50%;color:inherit;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}@keyframes b{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.mdxPageWrapper_j9I6{justify-content:center}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{padding-left:0!important}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{-webkit-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width);animation:none;-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/css/styles.b9a9561b.css b/assets/css/styles.b9a9561b.css new file mode 100644 index 000000000..c718c8aa4 --- /dev/null +++ b/assets/css/styles.b9a9561b.css @@ -0,0 +1 @@ +.col,.container{padding:0 var(--ifm-spacing-horizontal);width:100%}.markdown>h2,.markdown>h3,.markdown>h4,.markdown>h5,.markdown>h6{margin-bottom:calc(var(--ifm-heading-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown li,body{word-wrap:break-word}body,ol ol,ol ul,ul ol,ul ul{margin:0}pre,table{overflow:auto}blockquote,pre{margin:0 0 var(--ifm-spacing-vertical)}.breadcrumbs__link,.button{transition-timing-function:var(--ifm-transition-timing-default)}.button,.hash-link{-webkit-user-select:none}.button,code{vertical-align:middle}.button--outline.button--active,.button--outline:active,.button--outline:hover,:root{--ifm-button-color:var(--ifm-font-color-base-inverse)}.menu__link:hover,a{transition:color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.navbar--dark,:root{--ifm-navbar-link-hover-color:var(--ifm-color-primary)}.menu,.navbar-sidebar{overflow-x:hidden}:root,html[data-theme=dark]{--ifm-color-emphasis-500:var(--ifm-color-gray-500)}.toggleButton_gllP,html{-webkit-tap-highlight-color:transparent}*,.DocSearch-Container,.DocSearch-Container *{box-sizing:border-box}:root{--ifm-color-scheme:light;--ifm-dark-value:10%;--ifm-darker-value:15%;--ifm-darkest-value:30%;--ifm-light-value:15%;--ifm-lighter-value:30%;--ifm-lightest-value:50%;--ifm-contrast-background-value:90%;--ifm-contrast-foreground-value:70%;--ifm-contrast-background-dark-value:70%;--ifm-contrast-foreground-dark-value:90%;--ifm-color-primary:#3578e5;--ifm-color-secondary:#ebedf0;--ifm-color-success:#00a400;--ifm-color-info:#54c7ec;--ifm-color-warning:#ffba00;--ifm-color-danger:#fa383e;--ifm-color-primary-dark:#306cce;--ifm-color-primary-darker:#2d66c3;--ifm-color-primary-darkest:#2554a0;--ifm-color-primary-light:#538ce9;--ifm-color-primary-lighter:#72a1ed;--ifm-color-primary-lightest:#9abcf2;--ifm-color-primary-contrast-background:#ebf2fc;--ifm-color-primary-contrast-foreground:#102445;--ifm-color-secondary-dark:#d4d5d8;--ifm-color-secondary-darker:#c8c9cc;--ifm-color-secondary-darkest:#a4a6a8;--ifm-color-secondary-light:#eef0f2;--ifm-color-secondary-lighter:#f1f2f5;--ifm-color-secondary-lightest:#f5f6f8;--ifm-color-secondary-contrast-background:#fdfdfe;--ifm-color-secondary-contrast-foreground:#474748;--ifm-color-success-dark:#009400;--ifm-color-success-darker:#008b00;--ifm-color-success-darkest:#007300;--ifm-color-success-light:#26b226;--ifm-color-success-lighter:#4dbf4d;--ifm-color-success-lightest:#80d280;--ifm-color-success-contrast-background:#e6f6e6;--ifm-color-success-contrast-foreground:#003100;--ifm-color-info-dark:#4cb3d4;--ifm-color-info-darker:#47a9c9;--ifm-color-info-darkest:#3b8ba5;--ifm-color-info-light:#6ecfef;--ifm-color-info-lighter:#87d8f2;--ifm-color-info-lightest:#aae3f6;--ifm-color-info-contrast-background:#eef9fd;--ifm-color-info-contrast-foreground:#193c47;--ifm-color-warning-dark:#e6a700;--ifm-color-warning-darker:#d99e00;--ifm-color-warning-darkest:#b38200;--ifm-color-warning-light:#ffc426;--ifm-color-warning-lighter:#ffcf4d;--ifm-color-warning-lightest:#ffdd80;--ifm-color-warning-contrast-background:#fff8e6;--ifm-color-warning-contrast-foreground:#4d3800;--ifm-color-danger-dark:#e13238;--ifm-color-danger-darker:#d53035;--ifm-color-danger-darkest:#af272b;--ifm-color-danger-light:#fb565b;--ifm-color-danger-lighter:#fb7478;--ifm-color-danger-lightest:#fd9c9f;--ifm-color-danger-contrast-background:#ffebec;--ifm-color-danger-contrast-foreground:#4b1113;--ifm-color-white:#fff;--ifm-color-black:#000;--ifm-color-gray-0:var(--ifm-color-white);--ifm-color-gray-100:#f5f6f7;--ifm-color-gray-200:#ebedf0;--ifm-color-gray-300:#dadde1;--ifm-color-gray-400:#ccd0d5;--ifm-color-gray-500:#bec3c9;--ifm-color-gray-600:#8d949e;--ifm-color-gray-700:#606770;--ifm-color-gray-800:#444950;--ifm-color-gray-900:#1c1e21;--ifm-color-gray-1000:var(--ifm-color-black);--ifm-color-emphasis-0:var(--ifm-color-gray-0);--ifm-color-emphasis-100:var(--ifm-color-gray-100);--ifm-color-emphasis-200:var(--ifm-color-gray-200);--ifm-color-emphasis-300:var(--ifm-color-gray-300);--ifm-color-emphasis-400:var(--ifm-color-gray-400);--ifm-color-emphasis-600:var(--ifm-color-gray-600);--ifm-color-emphasis-700:var(--ifm-color-gray-700);--ifm-color-emphasis-800:var(--ifm-color-gray-800);--ifm-color-emphasis-900:var(--ifm-color-gray-900);--ifm-color-emphasis-1000:var(--ifm-color-gray-1000);--ifm-color-content:var(--ifm-color-emphasis-900);--ifm-color-content-inverse:var(--ifm-color-emphasis-0);--ifm-color-content-secondary:#525860;--ifm-background-color:#0000;--ifm-background-surface-color:var(--ifm-color-content-inverse);--ifm-global-border-width:1px;--ifm-global-radius:0.4rem;--ifm-hover-overlay:#0000000d;--ifm-font-color-base:var(--ifm-color-content);--ifm-font-color-base-inverse:var(--ifm-color-content-inverse);--ifm-font-color-secondary:var(--ifm-color-content-secondary);--ifm-font-family-base:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol";--ifm-font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--ifm-font-size-base:100%;--ifm-font-weight-light:300;--ifm-font-weight-normal:400;--ifm-font-weight-semibold:500;--ifm-font-weight-bold:700;--ifm-font-weight-base:var(--ifm-font-weight-normal);--ifm-line-height-base:1.65;--ifm-global-spacing:1rem;--ifm-spacing-vertical:var(--ifm-global-spacing);--ifm-spacing-horizontal:var(--ifm-global-spacing);--ifm-transition-fast:200ms;--ifm-transition-slow:400ms;--ifm-transition-timing-default:cubic-bezier(0.08,0.52,0.52,1);--ifm-global-shadow-lw:0 1px 2px 0 #0000001a;--ifm-global-shadow-md:0 5px 40px #0003;--ifm-global-shadow-tl:0 12px 28px 0 #0003,0 2px 4px 0 #0000001a;--ifm-z-index-dropdown:100;--ifm-z-index-fixed:200;--ifm-z-index-overlay:400;--ifm-container-width:1140px;--ifm-container-width-xl:1320px;--ifm-code-background:#f6f7f8;--ifm-code-border-radius:var(--ifm-global-radius);--ifm-code-font-size:90%;--ifm-code-padding-horizontal:0.1rem;--ifm-code-padding-vertical:0.1rem;--ifm-pre-background:var(--ifm-code-background);--ifm-pre-border-radius:var(--ifm-code-border-radius);--ifm-pre-color:inherit;--ifm-pre-line-height:1.45;--ifm-pre-padding:1rem;--ifm-heading-color:inherit;--ifm-heading-margin-top:0;--ifm-heading-margin-bottom:var(--ifm-spacing-vertical);--ifm-heading-font-family:var(--ifm-font-family-base);--ifm-heading-font-weight:var(--ifm-font-weight-bold);--ifm-heading-line-height:1.25;--ifm-h1-font-size:2rem;--ifm-h2-font-size:1.5rem;--ifm-h3-font-size:1.25rem;--ifm-h4-font-size:1rem;--ifm-h5-font-size:0.875rem;--ifm-h6-font-size:0.85rem;--ifm-image-alignment-padding:1.25rem;--ifm-leading-desktop:1.25;--ifm-leading:calc(var(--ifm-leading-desktop)*1rem);--ifm-list-left-padding:2rem;--ifm-list-margin:1rem;--ifm-list-item-margin:0.25rem;--ifm-list-paragraph-margin:1rem;--ifm-table-cell-padding:0.75rem;--ifm-table-background:#0000;--ifm-table-stripe-background:#00000008;--ifm-table-border-width:1px;--ifm-table-border-color:var(--ifm-color-emphasis-300);--ifm-table-head-background:inherit;--ifm-table-head-color:inherit;--ifm-table-head-font-weight:var(--ifm-font-weight-bold);--ifm-table-cell-color:inherit;--ifm-link-color:var(--ifm-color-primary);--ifm-link-decoration:none;--ifm-link-hover-color:var(--ifm-link-color);--ifm-link-hover-decoration:underline;--ifm-paragraph-margin-bottom:var(--ifm-leading);--ifm-blockquote-font-size:var(--ifm-font-size-base);--ifm-blockquote-border-left-width:2px;--ifm-blockquote-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-blockquote-padding-vertical:0;--ifm-blockquote-shadow:none;--ifm-blockquote-color:var(--ifm-color-emphasis-800);--ifm-blockquote-border-color:var(--ifm-color-emphasis-300);--ifm-hr-background-color:var(--ifm-color-emphasis-500);--ifm-hr-height:1px;--ifm-hr-margin-vertical:1.5rem;--ifm-scrollbar-size:7px;--ifm-scrollbar-track-background-color:#f1f1f1;--ifm-scrollbar-thumb-background-color:silver;--ifm-scrollbar-thumb-hover-background-color:#a7a7a7;--ifm-alert-background-color:inherit;--ifm-alert-border-color:inherit;--ifm-alert-border-radius:var(--ifm-global-radius);--ifm-alert-border-width:0px;--ifm-alert-border-left-width:5px;--ifm-alert-color:var(--ifm-font-color-base);--ifm-alert-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-alert-padding-vertical:var(--ifm-spacing-vertical);--ifm-alert-shadow:var(--ifm-global-shadow-lw);--ifm-avatar-intro-margin:1rem;--ifm-avatar-intro-alignment:inherit;--ifm-avatar-photo-size:3rem;--ifm-badge-background-color:inherit;--ifm-badge-border-color:inherit;--ifm-badge-border-radius:var(--ifm-global-radius);--ifm-badge-border-width:var(--ifm-global-border-width);--ifm-badge-color:var(--ifm-color-white);--ifm-badge-padding-horizontal:calc(var(--ifm-spacing-horizontal)*0.5);--ifm-badge-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-breadcrumb-border-radius:1.5rem;--ifm-breadcrumb-spacing:0.5rem;--ifm-breadcrumb-color-active:var(--ifm-color-primary);--ifm-breadcrumb-item-background-active:var(--ifm-hover-overlay);--ifm-breadcrumb-padding-horizontal:0.8rem;--ifm-breadcrumb-padding-vertical:0.4rem;--ifm-breadcrumb-size-multiplier:1;--ifm-breadcrumb-separator:url('data:image/svg+xml;utf8,');--ifm-breadcrumb-separator-filter:none;--ifm-breadcrumb-separator-size:0.5rem;--ifm-breadcrumb-separator-size-multiplier:1.25;--ifm-button-background-color:inherit;--ifm-button-border-color:var(--ifm-button-background-color);--ifm-button-border-width:var(--ifm-global-border-width);--ifm-button-font-weight:var(--ifm-font-weight-bold);--ifm-button-padding-horizontal:1.5rem;--ifm-button-padding-vertical:0.375rem;--ifm-button-size-multiplier:1;--ifm-button-transition-duration:var(--ifm-transition-fast);--ifm-button-border-radius:calc(var(--ifm-global-radius)*var(--ifm-button-size-multiplier));--ifm-button-group-spacing:2px;--ifm-card-background-color:var(--ifm-background-surface-color);--ifm-card-border-radius:calc(var(--ifm-global-radius)*2);--ifm-card-horizontal-spacing:var(--ifm-global-spacing);--ifm-card-vertical-spacing:var(--ifm-global-spacing);--ifm-toc-border-color:var(--ifm-color-emphasis-300);--ifm-toc-link-color:var(--ifm-color-content-secondary);--ifm-toc-padding-vertical:0.5rem;--ifm-toc-padding-horizontal:0.5rem;--ifm-dropdown-background-color:var(--ifm-background-surface-color);--ifm-dropdown-font-weight:var(--ifm-font-weight-semibold);--ifm-dropdown-link-color:var(--ifm-font-color-base);--ifm-dropdown-hover-background-color:var(--ifm-hover-overlay);--ifm-footer-background-color:var(--ifm-color-emphasis-100);--ifm-footer-color:inherit;--ifm-footer-link-color:var(--ifm-color-emphasis-700);--ifm-footer-link-hover-color:var(--ifm-color-primary);--ifm-footer-link-horizontal-spacing:0.5rem;--ifm-footer-padding-horizontal:calc(var(--ifm-spacing-horizontal)*2);--ifm-footer-padding-vertical:calc(var(--ifm-spacing-vertical)*2);--ifm-footer-title-color:inherit;--ifm-footer-logo-max-width:min(30rem,90vw);--ifm-hero-background-color:var(--ifm-background-surface-color);--ifm-hero-text-color:var(--ifm-color-emphasis-800);--ifm-menu-color:var(--ifm-color-emphasis-700);--ifm-menu-color-active:var(--ifm-color-primary);--ifm-menu-color-background-active:var(--ifm-hover-overlay);--ifm-menu-color-background-hover:var(--ifm-hover-overlay);--ifm-menu-link-padding-horizontal:0.75rem;--ifm-menu-link-padding-vertical:0.375rem;--ifm-menu-link-sublist-icon:url('data:image/svg+xml;utf8,');--ifm-menu-link-sublist-icon-filter:none;--ifm-navbar-background-color:var(--ifm-background-surface-color);--ifm-navbar-height:3.75rem;--ifm-navbar-item-padding-horizontal:0.75rem;--ifm-navbar-item-padding-vertical:0.25rem;--ifm-navbar-link-color:var(--ifm-font-color-base);--ifm-navbar-link-active-color:var(--ifm-link-color);--ifm-navbar-padding-horizontal:var(--ifm-spacing-horizontal);--ifm-navbar-padding-vertical:calc(var(--ifm-spacing-vertical)*0.5);--ifm-navbar-shadow:var(--ifm-global-shadow-lw);--ifm-navbar-search-input-background-color:var(--ifm-color-emphasis-200);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-800);--ifm-navbar-search-input-placeholder-color:var(--ifm-color-emphasis-500);--ifm-navbar-search-input-icon:url('data:image/svg+xml;utf8,');--ifm-navbar-sidebar-width:83vw;--ifm-pagination-border-radius:var(--ifm-global-radius);--ifm-pagination-color-active:var(--ifm-color-primary);--ifm-pagination-font-size:1rem;--ifm-pagination-item-active-background:var(--ifm-hover-overlay);--ifm-pagination-page-spacing:0.2em;--ifm-pagination-padding-horizontal:calc(var(--ifm-spacing-horizontal)*1);--ifm-pagination-padding-vertical:calc(var(--ifm-spacing-vertical)*0.25);--ifm-pagination-nav-border-radius:var(--ifm-global-radius);--ifm-pagination-nav-color-hover:var(--ifm-color-primary);--ifm-pills-color-active:var(--ifm-color-primary);--ifm-pills-color-background-active:var(--ifm-hover-overlay);--ifm-pills-spacing:0.125rem;--ifm-tabs-color:var(--ifm-font-color-secondary);--ifm-tabs-color-active:var(--ifm-color-primary);--ifm-tabs-color-active-border:var(--ifm-tabs-color-active);--ifm-tabs-padding-horizontal:1rem;--ifm-tabs-padding-vertical:1rem;--docusaurus-progress-bar-color:var(--ifm-color-primary);--ifm-color-primary:#0063cc;--ifm-color-primary-dark:#0059b8;--ifm-color-primary-darker:#0054ad;--ifm-color-primary-darkest:#00458f;--ifm-color-primary-light:#006de0;--ifm-color-primary-lighter:#0072eb;--ifm-color-primary-lightest:#1f8bff;--docusaurus-highlighted-code-line-bg:#dddfe1;--code-display-color:#f8fafc;--code-display-color-background:#e1e3e6;--inversion-percentage:0%;--ifm-container-width-xl:calc(25% + 860px);--chip-background:#e2e2e2;--chip-background-hover:#cfcfcf;--chip-text:#5f6163;--chip-icon-color:#616161;--ifm-background-color:#fff!important;--docusaurus-announcement-bar-height:auto;--docusaurus-tag-list-border:var(--ifm-color-emphasis-300);--docusaurus-collapse-button-bg:#0000;--docusaurus-collapse-button-bg-hover:#0000001a;--doc-sidebar-width:300px;--doc-sidebar-hidden-width:30px;--docsearch-primary-color:#5468ff;--docsearch-text-color:#1c1e21;--docsearch-spacing:12px;--docsearch-icon-stroke-width:1.4;--docsearch-highlight-color:var(--docsearch-primary-color);--docsearch-muted-color:#969faf;--docsearch-container-background:#656c85cc;--docsearch-logo-color:#5468ff;--docsearch-modal-width:560px;--docsearch-modal-height:600px;--docsearch-modal-background:#f5f6f7;--docsearch-modal-shadow:inset 1px 1px 0 0 #ffffff80,0 3px 8px 0 #555a64;--docsearch-searchbox-height:56px;--docsearch-searchbox-background:#ebedf0;--docsearch-searchbox-focus-background:#fff;--docsearch-searchbox-shadow:inset 0 0 0 2px var(--docsearch-primary-color);--docsearch-hit-height:56px;--docsearch-hit-color:#444950;--docsearch-hit-active-color:#fff;--docsearch-hit-background:#fff;--docsearch-hit-shadow:0 1px 3px 0 #d4d9e1;--docsearch-key-gradient:linear-gradient(-225deg,#d5dbe4,#f8f8f8);--docsearch-key-shadow:inset 0 -2px 0 0 #cdcde6,inset 0 0 1px 1px #fff,0 1px 2px 1px #1e235a66;--docsearch-footer-height:44px;--docsearch-footer-background:#fff;--docsearch-footer-shadow:0 -1px 0 0 #e0e3e8,0 -3px 6px 0 #45629b1f;--docsearch-primary-color:var(--ifm-color-primary);--docsearch-text-color:var(--ifm-font-color-base)}.badge--danger,.badge--info,.badge--primary,.badge--secondary,.badge--success,.badge--warning{--ifm-badge-border-color:var(--ifm-badge-background-color)}.button--link,.button--outline{--ifm-button-background-color:#0000}html{-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;text-size-adjust:100%;background-color:var(--ifm-background-color);color:var(--ifm-font-color-base);color-scheme:var(--ifm-color-scheme);font:var(--ifm-font-size-base)/var(--ifm-line-height-base) var(--ifm-font-family-base);text-rendering:optimizelegibility}iframe{border:0;color-scheme:auto}.container{margin:0 auto;max-width:var(--ifm-container-width)}.container--fluid{max-width:inherit}.row{display:flex;flex-wrap:wrap;margin:0 calc(var(--ifm-spacing-horizontal)*-1)}.list_eTzJ article:last-child,.margin-bottom--none,.margin-vert--none,.markdown>:last-child{margin-bottom:0!important}.margin-top--none,.margin-vert--none,.tabItem_LNqP{margin-top:0!important}.row--no-gutters{margin-left:0;margin-right:0}.margin-horiz--none,.margin-right--none{margin-right:0!important}.row--no-gutters>.col{padding-left:0;padding-right:0}.row--align-top{align-items:flex-start}.row--align-bottom{align-items:flex-end}.menuExternalLink_NmtK,.row--align-center{align-items:center}.row--align-stretch{align-items:stretch}.row--align-baseline{align-items:baseline}.col{--ifm-col-width:100%;flex:1 0;margin-left:0;max-width:var(--ifm-col-width)}.padding-bottom--none,.padding-vert--none{padding-bottom:0!important}.padding-top--none,.padding-vert--none{padding-top:0!important}.padding-horiz--none,.padding-left--none{padding-left:0!important}.padding-horiz--none,.padding-right--none{padding-right:0!important}.col[class*=col--]{flex:0 0 var(--ifm-col-width)}.col--1{--ifm-col-width:8.33333%}.col--offset-1{margin-left:8.33333%}.col--2{--ifm-col-width:16.66667%}.col--offset-2{margin-left:16.66667%}.col--3{--ifm-col-width:25%}.col--offset-3{margin-left:25%}.col--4{--ifm-col-width:33.33333%}.col--offset-4{margin-left:33.33333%}.col--5{--ifm-col-width:41.66667%}.col--offset-5{margin-left:41.66667%}.col--6{--ifm-col-width:50%}.col--offset-6{margin-left:50%}.col--7{--ifm-col-width:58.33333%}.col--offset-7{margin-left:58.33333%}.col--8{--ifm-col-width:66.66667%}.col--offset-8{margin-left:66.66667%}.col--9{--ifm-col-width:75%}.col--offset-9{margin-left:75%}.col--10{--ifm-col-width:83.33333%}.col--offset-10{margin-left:83.33333%}.col--11{--ifm-col-width:91.66667%}.col--offset-11{margin-left:91.66667%}.col--12{--ifm-col-width:100%}.col--offset-12{margin-left:100%}.margin-horiz--none,.margin-left--none{margin-left:0!important}.margin--none{margin:0!important}.margin-bottom--xs,.margin-vert--xs{margin-bottom:.25rem!important}.margin-top--xs,.margin-vert--xs{margin-top:.25rem!important}.margin-horiz--xs,.margin-left--xs{margin-left:.25rem!important}.margin-horiz--xs,.margin-right--xs{margin-right:.25rem!important}.margin--xs{margin:.25rem!important}.margin-bottom--sm,.margin-vert--sm{margin-bottom:.5rem!important}.margin-top--sm,.margin-vert--sm{margin-top:.5rem!important}.margin-horiz--sm,.margin-left--sm{margin-left:.5rem!important}.margin-horiz--sm,.margin-right--sm{margin-right:.5rem!important}.margin--sm{margin:.5rem!important}.margin-bottom--md,.margin-vert--md{margin-bottom:1rem!important}.margin-top--md,.margin-vert--md{margin-top:1rem!important}.margin-horiz--md,.margin-left--md{margin-left:1rem!important}.margin-horiz--md,.margin-right--md{margin-right:1rem!important}.margin--md{margin:1rem!important}.margin-bottom--lg,.margin-vert--lg{margin-bottom:2rem!important}.margin-top--lg,.margin-vert--lg{margin-top:2rem!important}.margin-horiz--lg,.margin-left--lg{margin-left:2rem!important}.margin-horiz--lg,.margin-right--lg{margin-right:2rem!important}.margin--lg{margin:2rem!important}.margin-bottom--xl,.margin-vert--xl{margin-bottom:5rem!important}.margin-top--xl,.margin-vert--xl{margin-top:5rem!important}.margin-horiz--xl,.margin-left--xl{margin-left:5rem!important}.margin-horiz--xl,.margin-right--xl{margin-right:5rem!important}.margin--xl{margin:5rem!important}.padding--none{padding:0!important}.padding-bottom--xs,.padding-vert--xs{padding-bottom:.25rem!important}.padding-top--xs,.padding-vert--xs{padding-top:.25rem!important}.padding-horiz--xs,.padding-left--xs{padding-left:.25rem!important}.padding-horiz--xs,.padding-right--xs{padding-right:.25rem!important}.padding--xs{padding:.25rem!important}.padding-bottom--sm,.padding-vert--sm{padding-bottom:.5rem!important}.padding-top--sm,.padding-vert--sm{padding-top:.5rem!important}.padding-horiz--sm,.padding-left--sm{padding-left:.5rem!important}.padding-horiz--sm,.padding-right--sm{padding-right:.5rem!important}.padding--sm{padding:.5rem!important}.padding-bottom--md,.padding-vert--md{padding-bottom:1rem!important}.padding-top--md,.padding-vert--md{padding-top:1rem!important}.padding-horiz--md,.padding-left--md{padding-left:1rem!important}.padding-horiz--md,.padding-right--md{padding-right:1rem!important}.padding--md{padding:1rem!important}.padding-bottom--lg,.padding-vert--lg{padding-bottom:2rem!important}.padding-top--lg,.padding-vert--lg{padding-top:2rem!important}.padding-horiz--lg,.padding-left--lg{padding-left:2rem!important}.padding-horiz--lg,.padding-right--lg{padding-right:2rem!important}.padding--lg{padding:2rem!important}.padding-bottom--xl,.padding-vert--xl{padding-bottom:5rem!important}.padding-top--xl,.padding-vert--xl{padding-top:5rem!important}.padding-horiz--xl,.padding-left--xl{padding-left:5rem!important}.padding-horiz--xl,.padding-right--xl{padding-right:5rem!important}.padding--xl{padding:5rem!important}code{background-color:var(--ifm-code-background);border:.1rem solid #0000001a;border-radius:var(--ifm-code-border-radius);font-family:var(--ifm-font-family-monospace);font-size:var(--ifm-code-font-size);padding:var(--ifm-code-padding-vertical) var(--ifm-code-padding-horizontal)}a code{color:inherit}pre{background-color:var(--ifm-pre-background);border-radius:var(--ifm-pre-border-radius);color:var(--ifm-pre-color);font:var(--ifm-code-font-size)/var(--ifm-pre-line-height) var(--ifm-font-family-monospace);padding:var(--ifm-pre-padding)}pre code{background-color:initial;border:none;font-size:100%;line-height:inherit;padding:0}kbd{background-color:var(--ifm-color-emphasis-0);border:1px solid var(--ifm-color-emphasis-400);border-radius:.2rem;box-shadow:inset 0 -1px 0 var(--ifm-color-emphasis-400);color:var(--ifm-color-emphasis-800);font:80% var(--ifm-font-family-monospace);padding:.15rem .3rem}h1,h2,h3,h4,h5,h6{color:var(--ifm-heading-color);font-family:var(--ifm-heading-font-family);font-weight:var(--ifm-heading-font-weight);line-height:var(--ifm-heading-line-height);margin:var(--ifm-heading-margin-top) 0 var(--ifm-heading-margin-bottom) 0}h1{font-size:var(--ifm-h1-font-size)}h2{font-size:var(--ifm-h2-font-size)}h3{font-size:var(--ifm-h3-font-size)}h4{font-size:var(--ifm-h4-font-size)}h5{font-size:var(--ifm-h5-font-size)}h6{font-size:var(--ifm-h6-font-size)}img{max-width:100%}img[align=right]{padding-left:var(--image-alignment-padding)}img[align=left]{padding-right:var(--image-alignment-padding)}.markdown{--ifm-h1-vertical-rhythm-top:3;--ifm-h2-vertical-rhythm-top:2;--ifm-h3-vertical-rhythm-top:1.5;--ifm-heading-vertical-rhythm-top:1.25;--ifm-h1-vertical-rhythm-bottom:1.25;--ifm-heading-vertical-rhythm-bottom:1}.markdown:after,.markdown:before{content:"";display:table}.markdown:after{clear:both}.markdown h1:first-child{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-h1-vertical-rhythm-bottom)*var(--ifm-leading))}.markdown>h2{--ifm-h2-font-size:2rem;margin-top:calc(var(--ifm-h2-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h3{--ifm-h3-font-size:1.5rem;margin-top:calc(var(--ifm-h3-vertical-rhythm-top)*var(--ifm-leading))}.markdown>h4,.markdown>h5,.markdown>h6{margin-top:calc(var(--ifm-heading-vertical-rhythm-top)*var(--ifm-leading))}.markdown>p,.markdown>pre,.markdown>ul,.tabList__CuJ{margin-bottom:var(--ifm-leading)}.markdown li>p{margin-top:var(--ifm-list-paragraph-margin)}.markdown li+li{margin-top:var(--ifm-list-item-margin)}ol,ul{margin:0 0 var(--ifm-list-margin);padding-left:var(--ifm-list-left-padding)}ol ol,ul ol{list-style-type:lower-roman}ol ol ol,ol ul ol,ul ol ol,ul ul ol{list-style-type:lower-alpha}table{border-collapse:collapse;display:block;margin-bottom:var(--ifm-spacing-vertical)}table thead tr{border-bottom:2px solid var(--ifm-table-border-color)}table thead,table tr:nth-child(2n){background-color:var(--ifm-table-stripe-background)}table tr{background-color:var(--ifm-table-background);border-top:var(--ifm-table-border-width) solid var(--ifm-table-border-color)}table td,table th{border:var(--ifm-table-border-width) solid var(--ifm-table-border-color);padding:var(--ifm-table-cell-padding)}table th{background-color:var(--ifm-table-head-background);color:var(--ifm-table-head-color);font-weight:var(--ifm-table-head-font-weight)}table td{color:var(--ifm-table-cell-color)}strong{font-weight:var(--ifm-font-weight-bold)}a{color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}a:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button:hover,.text--no-decoration,.text--no-decoration:hover,a:not([href]){text-decoration:none}p{margin:0 0 var(--ifm-paragraph-margin-bottom)}blockquote{border-left:var(--ifm-blockquote-border-left-width) solid var(--ifm-blockquote-border-color);box-shadow:var(--ifm-blockquote-shadow);color:var(--ifm-blockquote-color);font-size:var(--ifm-blockquote-font-size);padding:var(--ifm-blockquote-padding-vertical) var(--ifm-blockquote-padding-horizontal)}blockquote>:first-child{margin-top:0}blockquote>:last-child{margin-bottom:0}hr{background-color:var(--ifm-hr-background-color);border:0;height:var(--ifm-hr-height);margin:var(--ifm-hr-margin-vertical) 0}.shadow--lw{box-shadow:var(--ifm-global-shadow-lw)!important}.shadow--md{box-shadow:var(--ifm-global-shadow-md)!important}.shadow--tl{box-shadow:var(--ifm-global-shadow-tl)!important}.text--primary,.wordWrapButtonEnabled_EoeP .wordWrapButtonIcon_Bwma{color:var(--ifm-color-primary)}.text--secondary{color:var(--ifm-color-secondary)}.text--success{color:var(--ifm-color-success)}.text--info{color:var(--ifm-color-info)}.text--warning{color:var(--ifm-color-warning)}.text--danger{color:var(--ifm-color-danger)}.text--center{text-align:center}.text--left{text-align:left}.text--justify{text-align:justify}.text--right{text-align:right}.text--capitalize{text-transform:capitalize}.text--lowercase{text-transform:lowercase}.admonitionHeading_Gvgb,.alert__heading,.text--uppercase{text-transform:uppercase}.text--light{font-weight:var(--ifm-font-weight-light)}.text--normal{font-weight:var(--ifm-font-weight-normal)}.text--semibold{font-weight:var(--ifm-font-weight-semibold)}.text--bold{font-weight:var(--ifm-font-weight-bold)}.text--italic{font-style:italic}.text--truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text--break{word-wrap:break-word!important;word-break:break-word!important}.clean-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;padding:0}.alert,.alert .close{color:var(--ifm-alert-foreground-color)}.clean-list{list-style:none;padding-left:0}.alert--primary{--ifm-alert-background-color:var(--ifm-color-primary-contrast-background);--ifm-alert-background-color-highlight:#3578e526;--ifm-alert-foreground-color:var(--ifm-color-primary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-primary-dark)}.alert--secondary{--ifm-alert-background-color:var(--ifm-color-secondary-contrast-background);--ifm-alert-background-color-highlight:#ebedf026;--ifm-alert-foreground-color:var(--ifm-color-secondary-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-secondary-dark)}.alert--success{--ifm-alert-background-color:var(--ifm-color-success-contrast-background);--ifm-alert-background-color-highlight:#00a40026;--ifm-alert-foreground-color:var(--ifm-color-success-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-success-dark)}.alert--info{--ifm-alert-background-color:var(--ifm-color-info-contrast-background);--ifm-alert-background-color-highlight:#54c7ec26;--ifm-alert-foreground-color:var(--ifm-color-info-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-info-dark)}.alert--warning{--ifm-alert-background-color:var(--ifm-color-warning-contrast-background);--ifm-alert-background-color-highlight:#ffba0026;--ifm-alert-foreground-color:var(--ifm-color-warning-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-warning-dark)}.alert--danger{--ifm-alert-background-color:var(--ifm-color-danger-contrast-background);--ifm-alert-background-color-highlight:#fa383e26;--ifm-alert-foreground-color:var(--ifm-color-danger-contrast-foreground);--ifm-alert-border-color:var(--ifm-color-danger-dark)}.alert{--ifm-code-background:var(--ifm-alert-background-color-highlight);--ifm-link-color:var(--ifm-alert-foreground-color);--ifm-link-hover-color:var(--ifm-alert-foreground-color);--ifm-link-decoration:underline;--ifm-tabs-color:var(--ifm-alert-foreground-color);--ifm-tabs-color-active:var(--ifm-alert-foreground-color);--ifm-tabs-color-active-border:var(--ifm-alert-border-color);background-color:var(--ifm-alert-background-color);border:var(--ifm-alert-border-width) solid var(--ifm-alert-border-color);border-left-width:var(--ifm-alert-border-left-width);border-radius:var(--ifm-alert-border-radius);box-shadow:var(--ifm-alert-shadow);padding:var(--ifm-alert-padding-vertical) var(--ifm-alert-padding-horizontal)}.alert__heading{align-items:center;display:flex;font:700 var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family);margin-bottom:.5rem}.alert__icon{display:inline-flex;margin-right:.4em}.alert__icon svg{fill:var(--ifm-alert-foreground-color);stroke:var(--ifm-alert-foreground-color);stroke-width:0}.alert .close{margin:calc(var(--ifm-alert-padding-vertical)*-1) calc(var(--ifm-alert-padding-horizontal)*-1) 0 0;opacity:.75}.alert .close:focus,.alert .close:hover{opacity:1}.alert a{text-decoration-color:var(--ifm-alert-border-color)}.alert a:hover{text-decoration-thickness:2px}.avatar{column-gap:var(--ifm-avatar-intro-margin);display:flex}.avatar__photo{border-radius:50%;display:block;height:var(--ifm-avatar-photo-size);overflow:hidden;width:var(--ifm-avatar-photo-size)}.card--full-height,.navbar__logo img,body,html{height:100%}.avatar__photo--sm{--ifm-avatar-photo-size:2rem}.avatar__photo--lg{--ifm-avatar-photo-size:4rem}.avatar__photo--xl{--ifm-avatar-photo-size:6rem}.avatar__intro{display:flex;flex:1 1;flex-direction:column;justify-content:center;text-align:var(--ifm-avatar-intro-alignment)}.badge,.breadcrumbs__item,.breadcrumbs__link,.button,.dropdown>.navbar__link:after{display:inline-block}.avatar__name{font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base)}.avatar__subtitle{margin-top:.25rem}.avatar--vertical{--ifm-avatar-intro-alignment:center;--ifm-avatar-intro-margin:0.5rem;align-items:center;flex-direction:column}.badge{background-color:var(--ifm-badge-background-color);border:var(--ifm-badge-border-width) solid var(--ifm-badge-border-color);border-radius:var(--ifm-badge-border-radius);color:var(--ifm-badge-color);font-size:75%;font-weight:var(--ifm-font-weight-bold);line-height:1;padding:var(--ifm-badge-padding-vertical) var(--ifm-badge-padding-horizontal)}.badge--primary{--ifm-badge-background-color:var(--ifm-color-primary)}.badge--secondary{--ifm-badge-background-color:var(--ifm-color-secondary);color:var(--ifm-color-black)}.breadcrumbs__link,.button.button--secondary.button--outline:not(.button--active):not(:hover){color:var(--ifm-font-color-base)}.badge--success{--ifm-badge-background-color:var(--ifm-color-success)}.badge--info{--ifm-badge-background-color:var(--ifm-color-info)}.badge--warning{--ifm-badge-background-color:var(--ifm-color-warning)}.badge--danger{--ifm-badge-background-color:var(--ifm-color-danger)}.breadcrumbs{margin-bottom:0;padding-left:0}.breadcrumbs__item:not(:last-child):after{background:var(--ifm-breadcrumb-separator) center;content:" ";display:inline-block;filter:var(--ifm-breadcrumb-separator-filter);height:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier));margin:0 var(--ifm-breadcrumb-spacing);opacity:.5;width:calc(var(--ifm-breadcrumb-separator-size)*var(--ifm-breadcrumb-size-multiplier)*var(--ifm-breadcrumb-separator-size-multiplier))}.breadcrumbs__item--active .breadcrumbs__link{background:var(--ifm-breadcrumb-item-background-active);color:var(--ifm-breadcrumb-color-active)}.breadcrumbs__link{border-radius:var(--ifm-breadcrumb-border-radius);font-size:calc(1rem*var(--ifm-breadcrumb-size-multiplier));padding:calc(var(--ifm-breadcrumb-padding-vertical)*var(--ifm-breadcrumb-size-multiplier)) calc(var(--ifm-breadcrumb-padding-horizontal)*var(--ifm-breadcrumb-size-multiplier));transition-duration:var(--ifm-transition-fast);transition-property:background,color}.breadcrumbs__link:any-link:hover,.breadcrumbs__link:link:hover,.breadcrumbs__link:visited:hover,area[href].breadcrumbs__link:hover{background:var(--ifm-breadcrumb-item-background-active);text-decoration:none}.breadcrumbs--sm{--ifm-breadcrumb-size-multiplier:0.8}.breadcrumbs--lg{--ifm-breadcrumb-size-multiplier:1.2}.button{background-color:var(--ifm-button-background-color);border:var(--ifm-button-border-width) solid var(--ifm-button-border-color);border-radius:var(--ifm-button-border-radius);cursor:pointer;font-size:calc(.875rem*var(--ifm-button-size-multiplier));font-weight:var(--ifm-button-font-weight);line-height:1.5;padding:calc(var(--ifm-button-padding-vertical)*var(--ifm-button-size-multiplier)) calc(var(--ifm-button-padding-horizontal)*var(--ifm-button-size-multiplier));text-align:center;transition-duration:var(--ifm-button-transition-duration);transition-property:color,background,border-color;user-select:none;white-space:nowrap}.button,.button:hover{color:var(--ifm-button-color)}.button--outline{--ifm-button-color:var(--ifm-button-border-color)}.button--outline:hover{--ifm-button-background-color:var(--ifm-button-border-color)}.button--link{--ifm-button-border-color:#0000;color:var(--ifm-link-color);text-decoration:var(--ifm-link-decoration)}.button--link.button--active,.button--link:active,.button--link:hover{color:var(--ifm-link-hover-color);text-decoration:var(--ifm-link-hover-decoration)}.button.disabled,.button:disabled,.button[disabled]{opacity:.65;pointer-events:none}.button--sm{--ifm-button-size-multiplier:0.8}.button--lg{--ifm-button-size-multiplier:1.35}.button--block{display:block;width:100%}.button.button--secondary{color:var(--ifm-color-gray-900)}:where(.button--primary){--ifm-button-background-color:var(--ifm-color-primary);--ifm-button-border-color:var(--ifm-color-primary)}:where(.button--primary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-primary-dark);--ifm-button-border-color:var(--ifm-color-primary-dark)}.button--primary.button--active,.button--primary:active{--ifm-button-background-color:var(--ifm-color-primary-darker);--ifm-button-border-color:var(--ifm-color-primary-darker)}:where(.button--secondary){--ifm-button-background-color:var(--ifm-color-secondary);--ifm-button-border-color:var(--ifm-color-secondary)}:where(.button--secondary):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-secondary-dark);--ifm-button-border-color:var(--ifm-color-secondary-dark)}.button--secondary.button--active,.button--secondary:active{--ifm-button-background-color:var(--ifm-color-secondary-darker);--ifm-button-border-color:var(--ifm-color-secondary-darker)}:where(.button--success){--ifm-button-background-color:var(--ifm-color-success);--ifm-button-border-color:var(--ifm-color-success)}:where(.button--success):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-success-dark);--ifm-button-border-color:var(--ifm-color-success-dark)}.button--success.button--active,.button--success:active{--ifm-button-background-color:var(--ifm-color-success-darker);--ifm-button-border-color:var(--ifm-color-success-darker)}:where(.button--info){--ifm-button-background-color:var(--ifm-color-info);--ifm-button-border-color:var(--ifm-color-info)}:where(.button--info):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-info-dark);--ifm-button-border-color:var(--ifm-color-info-dark)}.button--info.button--active,.button--info:active{--ifm-button-background-color:var(--ifm-color-info-darker);--ifm-button-border-color:var(--ifm-color-info-darker)}:where(.button--warning){--ifm-button-background-color:var(--ifm-color-warning);--ifm-button-border-color:var(--ifm-color-warning)}:where(.button--warning):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-warning-dark);--ifm-button-border-color:var(--ifm-color-warning-dark)}.button--warning.button--active,.button--warning:active{--ifm-button-background-color:var(--ifm-color-warning-darker);--ifm-button-border-color:var(--ifm-color-warning-darker)}:where(.button--danger){--ifm-button-background-color:var(--ifm-color-danger);--ifm-button-border-color:var(--ifm-color-danger)}:where(.button--danger):not(.button--outline):hover{--ifm-button-background-color:var(--ifm-color-danger-dark);--ifm-button-border-color:var(--ifm-color-danger-dark)}.button--danger.button--active,.button--danger:active{--ifm-button-background-color:var(--ifm-color-danger-darker);--ifm-button-border-color:var(--ifm-color-danger-darker)}.button-group{display:inline-flex;gap:var(--ifm-button-group-spacing)}.button-group>.button:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.button-group>.button:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.button-group--block{display:flex;justify-content:stretch}.button-group--block>.button{flex-grow:1}.card{background-color:var(--ifm-card-background-color);border-radius:var(--ifm-card-border-radius);box-shadow:var(--ifm-global-shadow-lw);display:flex;flex-direction:column;overflow:hidden}.card__image{padding-top:var(--ifm-card-vertical-spacing)}.card__image:first-child{padding-top:0}.card__body,.card__footer,.card__header{padding:var(--ifm-card-vertical-spacing) var(--ifm-card-horizontal-spacing)}.card__body:not(:last-child),.card__footer:not(:last-child),.card__header:not(:last-child){padding-bottom:0}.card__body>:last-child,.card__footer>:last-child,.card__header>:last-child{margin-bottom:0}.card__footer{margin-top:auto}.table-of-contents{font-size:.8rem;margin-bottom:0;padding:var(--ifm-toc-padding-vertical) 0}.table-of-contents,.table-of-contents ul{list-style:none;padding-left:var(--ifm-toc-padding-horizontal)}.table-of-contents li{margin:var(--ifm-toc-padding-vertical) var(--ifm-toc-padding-horizontal)}.table-of-contents__left-border{border-left:1px solid var(--ifm-toc-border-color)}.table-of-contents__link{color:var(--ifm-toc-link-color);display:block}.table-of-contents__link--active,.table-of-contents__link--active code,.table-of-contents__link:hover,.table-of-contents__link:hover code{color:var(--ifm-color-primary);text-decoration:none}.close{color:var(--ifm-color-black);float:right;font-size:1.5rem;font-weight:var(--ifm-font-weight-bold);line-height:1;opacity:.5;padding:1rem;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.close:hover{opacity:.7}.close:focus,.theme-code-block-highlighted-line .codeLineNumber_Tfdd:before{opacity:.8}.dropdown{display:inline-flex;font-weight:var(--ifm-dropdown-font-weight);position:relative;vertical-align:top}.dropdown--hoverable:hover .dropdown__menu,.dropdown--show .dropdown__menu{opacity:1;pointer-events:all;transform:translateY(-1px);visibility:visible}#nprogress,.dropdown__menu,.navbar__item.dropdown .navbar__link:not([href]){pointer-events:none}.dropdown--right .dropdown__menu{left:inherit;right:0}.dropdown--nocaret .navbar__link:after{content:none!important}.dropdown__menu{background-color:var(--ifm-dropdown-background-color);border-radius:var(--ifm-global-radius);box-shadow:var(--ifm-global-shadow-md);left:0;list-style:none;max-height:80vh;min-width:10rem;opacity:0;overflow-y:auto;padding:.5rem;position:absolute;top:calc(100% - var(--ifm-navbar-item-padding-vertical) + .3rem);transform:translateY(-.625rem);transition-duration:var(--ifm-transition-fast);transition-property:opacity,transform,visibility;transition-timing-function:var(--ifm-transition-timing-default);visibility:hidden;z-index:var(--ifm-z-index-dropdown)}.menu__caret,.menu__link,.menu__list-item-collapsible{border-radius:.25rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.dropdown__link{border-radius:.25rem;color:var(--ifm-dropdown-link-color);display:block;font-size:.875rem;margin-top:.2rem;padding:.25rem .5rem;white-space:nowrap}.dropdown__link--active,.dropdown__link:hover{background-color:var(--ifm-dropdown-hover-background-color);color:var(--ifm-dropdown-link-color);text-decoration:none}.dropdown__link--active,.dropdown__link--active:hover{--ifm-dropdown-link-color:var(--ifm-link-color)}.dropdown>.navbar__link:after{border-color:currentcolor #0000;border-style:solid;border-width:.4em .4em 0;content:"";margin-left:.3em;position:relative;top:2px;transform:translateY(-50%)}.footer{background-color:var(--ifm-footer-background-color);color:var(--ifm-footer-color);padding:var(--ifm-footer-padding-vertical) var(--ifm-footer-padding-horizontal)}.footer--dark{--ifm-footer-background-color:#303846;--ifm-footer-color:var(--ifm-footer-link-color);--ifm-footer-link-color:var(--ifm-color-secondary);--ifm-footer-title-color:var(--ifm-color-white)}.footer__links{margin-bottom:1rem}.footer__link-item{color:var(--ifm-footer-link-color);line-height:2}.footer__link-item:hover{color:var(--ifm-footer-link-hover-color)}.footer__link-separator{margin:0 var(--ifm-footer-link-horizontal-spacing)}.footer__logo{margin-top:1rem;max-width:var(--ifm-footer-logo-max-width)}.footer__title{color:var(--ifm-footer-title-color);font:700 var(--ifm-h4-font-size)/var(--ifm-heading-line-height) var(--ifm-font-family-base);margin-bottom:var(--ifm-heading-margin-bottom)}.menu,.navbar__link{font-weight:var(--ifm-font-weight-semibold)}.docItemContainer_Djhp article>:first-child,.docItemContainer_Djhp header+*,.footer__item{margin-top:0}.admonitionContent_BuS1>:last-child,.cardContainer_fWXF :last-child,.collapsibleContent_i85q p:last-child,.details_lb9f>summary>p:last-child,.footer__items,.tabItem_Ymn6>:last-child{margin-bottom:0}.codeBlockStandalone_MEMb,[type=checkbox]{padding:0}.hero{align-items:center;background-color:var(--ifm-hero-background-color);color:var(--ifm-hero-text-color);display:flex;padding:4rem 2rem}.hero--primary{--ifm-hero-background-color:var(--ifm-color-primary);--ifm-hero-text-color:var(--ifm-font-color-base-inverse)}.hero--dark{--ifm-hero-background-color:#303846;--ifm-hero-text-color:var(--ifm-color-white)}.hero__title{font-size:3rem}.hero__subtitle{font-size:1.5rem}.menu__list{list-style:none;margin:0;padding-left:0}.menu__caret,.menu__link{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu__list .menu__list{flex:0 0 100%;margin-top:.25rem;padding-left:var(--ifm-menu-link-padding-horizontal)}.menu__list-item:not(:first-child){margin-top:.25rem}.menu__list-item--collapsed .menu__list{height:0;overflow:hidden}.details_lb9f[data-collapsed=false].isBrowser_bmU9>summary:before,.details_lb9f[open]:not(.isBrowser_bmU9)>summary:before,.menu__list-item--collapsed .menu__caret:before,.menu__list-item--collapsed .menu__link--sublist:after{transform:rotate(90deg)}.menu__list-item-collapsible{display:flex;flex-wrap:wrap;position:relative}.menu__caret:hover,.menu__link:hover,.menu__list-item-collapsible--active,.menu__list-item-collapsible:hover{background:var(--ifm-menu-color-background-hover)}.menu__list-item-collapsible .menu__link--active,.menu__list-item-collapsible .menu__link:hover{background:none!important}.menu__caret,.menu__link{align-items:center;display:flex}.menu__link{color:var(--ifm-menu-color);flex:1;line-height:1.25}.menu__link:hover{color:var(--ifm-menu-color);text-decoration:none}.menu__caret:before,.menu__link--sublist-caret:after{content:"";height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast) linear;width:1.25rem;filter:var(--ifm-menu-link-sublist-icon-filter)}.menu__link--sublist-caret:after{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem;margin-left:auto;min-width:1.25rem}.menu__link--active,.menu__link--active:hover{color:var(--ifm-menu-color-active)}.navbar__brand,.navbar__link{color:var(--ifm-navbar-link-color)}.menu__link--active:not(.menu__link--sublist){background-color:var(--ifm-menu-color-background-active)}.menu__caret:before{background:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem}.navbar--dark,html[data-theme=dark]{--ifm-menu-link-sublist-icon-filter:invert(100%) sepia(94%) saturate(17%) hue-rotate(223deg) brightness(104%) contrast(98%)}.navbar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-navbar-shadow);height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar,.navbar>.container,.navbar>.container-fluid{display:flex}.navbar--fixed-top{position:sticky;top:0;z-index:var(--ifm-z-index-fixed)}.navbar-sidebar,.navbar-sidebar__backdrop{bottom:0;opacity:0;position:fixed;transition-duration:var(--ifm-transition-fast);transition-timing-function:ease-in-out;left:0;top:0;visibility:hidden}.navbar__inner{display:flex;flex-wrap:wrap;justify-content:space-between;width:100%}.navbar__brand{align-items:center;display:flex;min-width:0}.navbar__brand:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.announcementBarContent_xLdY,.navbar__title{flex:1 1 auto}.navbar__toggle{display:none;margin-right:.5rem}.navbar__logo{flex:0 0 auto;height:2rem;margin-right:.5rem}.navbar__items{align-items:center;display:flex;flex:1;min-width:0}.navbar__items--center{flex:0 0 auto}.navbar__items--center .navbar__brand{margin:0}.navbar__items--center+.navbar__items--right{flex:1}.navbar__items--right{flex:0 0 auto;justify-content:flex-end}.navbar__items--right>:last-child{padding-right:0}.navbar__item{display:inline-block;padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.navbar__link--active,.navbar__link:hover{color:var(--ifm-navbar-link-hover-color);text-decoration:none}.navbar--dark,.navbar--primary{--ifm-menu-color:var(--ifm-color-gray-300);--ifm-navbar-link-color:var(--ifm-color-gray-100);--ifm-navbar-search-input-background-color:#ffffff1a;--ifm-navbar-search-input-placeholder-color:#ffffff80;color:var(--ifm-color-white)}.navbar--dark{--ifm-navbar-background-color:#242526;--ifm-menu-color-background-active:#ffffff0d;--ifm-navbar-search-input-color:var(--ifm-color-white)}.navbar--primary{--ifm-navbar-background-color:var(--ifm-color-primary);--ifm-navbar-link-hover-color:var(--ifm-color-white);--ifm-menu-color-active:var(--ifm-color-white);--ifm-navbar-search-input-color:var(--ifm-color-emphasis-500)}.navbar__search-input{-webkit-appearance:none;appearance:none;background:var(--ifm-navbar-search-input-background-color) var(--ifm-navbar-search-input-icon) no-repeat .75rem center/1rem 1rem;border:none;border-radius:2rem;color:var(--ifm-navbar-search-input-color);cursor:text;display:inline-block;font-size:.9rem;height:2rem;padding:0 .5rem 0 2.25rem;width:12.5rem}.navbar__search-input::placeholder{color:var(--ifm-navbar-search-input-placeholder-color)}.navbar-sidebar{background-color:var(--ifm-navbar-background-color);box-shadow:var(--ifm-global-shadow-md);transform:translate3d(-100%,0,0);transition-property:opacity,visibility,transform;width:var(--ifm-navbar-sidebar-width)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar__items{transform:translateZ(0)}.navbar-sidebar--show .navbar-sidebar,.navbar-sidebar--show .navbar-sidebar__backdrop{opacity:1;visibility:visible}.navbar-sidebar__backdrop{background-color:#0009;right:0;transition-property:opacity,visibility}.navbar-sidebar__brand{align-items:center;box-shadow:var(--ifm-navbar-shadow);display:flex;flex:1;height:var(--ifm-navbar-height);padding:var(--ifm-navbar-padding-vertical) var(--ifm-navbar-padding-horizontal)}.navbar-sidebar__items{display:flex;height:calc(100% - var(--ifm-navbar-height));transition:transform var(--ifm-transition-fast) ease-in-out}.navbar-sidebar__items--show-secondary{transform:translate3d(calc((var(--ifm-navbar-sidebar-width))*-1),0,0)}.navbar-sidebar__item{flex-shrink:0;padding:.5rem;width:calc(var(--ifm-navbar-sidebar-width))}.navbar-sidebar__back{background:var(--ifm-menu-color-background-active);font-size:15px;font-weight:var(--ifm-button-font-weight);margin:0 0 .2rem -.5rem;padding:.6rem 1.5rem;position:relative;text-align:left;top:-.5rem;width:calc(100% + 1rem)}.navbar-sidebar__close{display:flex;margin-left:auto}.pagination{column-gap:var(--ifm-pagination-page-spacing);display:flex;font-size:var(--ifm-pagination-font-size);padding-left:0}.pagination--sm{--ifm-pagination-font-size:0.8rem;--ifm-pagination-padding-horizontal:0.8rem;--ifm-pagination-padding-vertical:0.2rem}.pagination--lg{--ifm-pagination-font-size:1.2rem;--ifm-pagination-padding-horizontal:1.2rem;--ifm-pagination-padding-vertical:0.3rem}.pagination__item{display:inline-flex}.pagination__item>span{padding:var(--ifm-pagination-padding-vertical)}.pagination__item--active .pagination__link{color:var(--ifm-pagination-color-active)}.pagination__item--active .pagination__link,.pagination__item:not(.pagination__item--active):hover .pagination__link{background:var(--ifm-pagination-item-active-background)}.pagination__item--disabled,.pagination__item[disabled]{opacity:.25;pointer-events:none}.pagination__link{border-radius:var(--ifm-pagination-border-radius);color:var(--ifm-font-color-base);display:inline-block;padding:var(--ifm-pagination-padding-vertical) var(--ifm-pagination-padding-horizontal);transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination__link:hover{text-decoration:none}.pagination-nav{grid-gap:var(--ifm-spacing-horizontal);display:grid;gap:var(--ifm-spacing-horizontal);grid-template-columns:repeat(2,1fr)}.pagination-nav__link{border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-pagination-nav-border-radius);display:block;height:100%;line-height:var(--ifm-heading-line-height);padding:var(--ifm-global-spacing);transition:border-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.pagination-nav__link:hover{border-color:var(--ifm-pagination-nav-color-hover);text-decoration:none}.pagination-nav__link--next{grid-column:2/3;text-align:right}.pagination-nav__label{font-size:var(--ifm-h4-font-size);font-weight:var(--ifm-heading-font-weight);word-break:break-word}.pagination-nav__link--prev .pagination-nav__label:before{content:"« "}.pagination-nav__link--next .pagination-nav__label:after{content:" »"}.pagination-nav__sublabel{color:var(--ifm-color-content-secondary);font-size:var(--ifm-h5-font-size);font-weight:var(--ifm-font-weight-semibold);margin-bottom:.25rem}.pills__item,.tabs{font-weight:var(--ifm-font-weight-bold)}.pills{display:flex;gap:var(--ifm-pills-spacing);padding-left:0}.pills__item{border-radius:.5rem;cursor:pointer;display:inline-block;padding:.25rem 1rem;transition:background var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs,:not(.containsTaskList_mC6p>li)>.containsTaskList_mC6p{padding-left:0}.pills__item--active{color:var(--ifm-pills-color-active)}.pills__item--active,.pills__item:not(.pills__item--active):hover{background:var(--ifm-pills-color-background-active)}.pills--block{justify-content:stretch}.pills--block .pills__item{flex-grow:1;text-align:center}.tabs{color:var(--ifm-tabs-color);display:flex;margin-bottom:0;overflow-x:auto}.tabs__item{border-bottom:3px solid #0000;border-radius:var(--ifm-global-radius);cursor:pointer;display:inline-flex;padding:var(--ifm-tabs-padding-vertical) var(--ifm-tabs-padding-horizontal);transition:background-color var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.tabs__item--active{border-bottom-color:var(--ifm-tabs-color-active-border);border-bottom-left-radius:0;border-bottom-right-radius:0;color:var(--ifm-tabs-color-active)}.tabs__item:hover{background-color:var(--ifm-hover-overlay)}.tabs--block{justify-content:stretch}.tabs--block .tabs__item{flex-grow:1;justify-content:center}html[data-theme=dark]{--ifm-color-scheme:dark;--ifm-color-emphasis-0:var(--ifm-color-gray-1000);--ifm-color-emphasis-100:var(--ifm-color-gray-900);--ifm-color-emphasis-200:var(--ifm-color-gray-800);--ifm-color-emphasis-300:var(--ifm-color-gray-700);--ifm-color-emphasis-400:var(--ifm-color-gray-600);--ifm-color-emphasis-600:var(--ifm-color-gray-400);--ifm-color-emphasis-700:var(--ifm-color-gray-300);--ifm-color-emphasis-800:var(--ifm-color-gray-200);--ifm-color-emphasis-900:var(--ifm-color-gray-100);--ifm-color-emphasis-1000:var(--ifm-color-gray-0);--ifm-background-color:#1b1b1d;--ifm-background-surface-color:#242526;--ifm-hover-overlay:#ffffff0d;--ifm-color-content:#e3e3e3;--ifm-color-content-secondary:#fff;--ifm-breadcrumb-separator-filter:invert(64%) sepia(11%) saturate(0%) hue-rotate(149deg) brightness(99%) contrast(95%);--ifm-code-background:#ffffff1a;--ifm-scrollbar-track-background-color:#444;--ifm-scrollbar-thumb-background-color:#686868;--ifm-scrollbar-thumb-hover-background-color:#7a7a7a;--ifm-table-stripe-background:#ffffff12;--ifm-toc-border-color:var(--ifm-color-emphasis-200);--ifm-color-primary-contrast-background:#102445;--ifm-color-primary-contrast-foreground:#ebf2fc;--ifm-color-secondary-contrast-background:#474748;--ifm-color-secondary-contrast-foreground:#fdfdfe;--ifm-color-success-contrast-background:#003100;--ifm-color-success-contrast-foreground:#e6f6e6;--ifm-color-info-contrast-background:#193c47;--ifm-color-info-contrast-foreground:#eef9fd;--ifm-color-warning-contrast-background:#4d3800;--ifm-color-warning-contrast-foreground:#fff8e6;--ifm-color-danger-contrast-background:#4b1113;--ifm-color-danger-contrast-foreground:#ffebec;--docsearch-text-color:#f5f6f7;--docsearch-container-background:#090a11cc;--docsearch-modal-background:#15172a;--docsearch-modal-shadow:inset 1px 1px 0 0 #2c2e40,0 3px 8px 0 #000309;--docsearch-searchbox-background:#090a11;--docsearch-searchbox-focus-background:#000;--docsearch-hit-color:#bec3c9;--docsearch-hit-shadow:none;--docsearch-hit-background:#090a11;--docsearch-key-gradient:linear-gradient(-26.5deg,#565872,#31355b);--docsearch-key-shadow:inset 0 -2px 0 0 #282d55,inset 0 0 1px 1px #51577d,0 2px 2px 0 #0304094d;--docsearch-footer-background:#1e2136;--docsearch-footer-shadow:inset 0 1px 0 0 #494c6a80,0 -4px 8px 0 #0003;--docsearch-logo-color:#fff;--docsearch-muted-color:#7f8497}#nprogress .bar{background:var(--docusaurus-progress-bar-color);height:2px;left:0;position:fixed;top:0;width:100%;z-index:1031}#nprogress .peg{box-shadow:0 0 10px var(--docusaurus-progress-bar-color),0 0 5px var(--docusaurus-progress-bar-color);height:100%;opacity:1;position:absolute;right:0;transform:rotate(3deg) translateY(-4px);width:100px}[data-theme=dark]{--ifm-color-primary:#4299f5;--ifm-color-primary-dark:#2489f3;--ifm-color-primary-darker:#1681f3;--ifm-color-primary-darkest:#0b6acf;--ifm-color-primary-light:#60a9f7;--ifm-color-primary-lighter:#6eb1f7;--ifm-color-primary-lightest:#9bc9fa;--docusaurus-highlighted-code-line-bg:#414458!important;--code-display-color:#21222c;--code-display-color-background:#242530;--inversion-percentage:100%;--chip-background:#494c4f;--chip-background-hover:#424242;--chip-text:#e0e0e0;--chip-icon-color:#e0e0e0;--ifm-navbar-background-color:#181e25!important;--ifm-background-color:#101418!important}.homepage{width:100%}.navbar__brand{margin-left:30px;margin-right:30px}.custom--table{display:inline-table;width:100%!important}#__docusaurus-base-url-issue-banner-container,.docSidebarContainer_YfHR,.navbarSearchContainer_Bca1:not(:has(>*)),.sidebar--item__hidden,.sidebarLogo_isFc,.themedComponent_mlkZ,[data-theme=dark] .lightToggleIcon_pyhR,[data-theme=light] .darkToggleIcon_wfgR,html[data-announcement-bar-initially-dismissed=true] .announcementBar_mb4j{display:none}.custom--table td{padding:5px 7px 5px 8px}.MuiChip-root{text-decoration:none!important}.clean-btn:hover{color:var(--clean-hover);transition:color var(--ifm-transition-fast)}#script-container{margin:0 10% 5%;max-width:90%}body:not(.navigation-with-keyboard) :not(input):focus{outline:0}.skipToContent_fXgn{background-color:var(--ifm-background-surface-color);color:var(--ifm-color-emphasis-900);left:100%;padding:calc(var(--ifm-global-spacing)/2) var(--ifm-global-spacing);position:fixed;top:1rem;z-index:calc(var(--ifm-z-index-fixed) + 1)}.skipToContent_fXgn:focus{box-shadow:var(--ifm-global-shadow-md);left:1rem}.closeButton_CVFx{line-height:0;padding:0}.content_knG7{font-size:85%;padding:5px 0;text-align:center}.content_knG7 a{color:inherit;text-decoration:underline}.DocSearch-Container a,.tag_zVej:hover{text-decoration:none}.announcementBar_mb4j{align-items:center;background-color:var(--ifm-color-white);border-bottom:1px solid var(--ifm-color-emphasis-100);color:var(--ifm-color-black);display:flex;height:var(--docusaurus-announcement-bar-height)}.announcementBarPlaceholder_vyr4{flex:0 0 10px}.announcementBarClose_gvF7{align-self:stretch;flex:0 0 30px}.toggle_vylO{height:2rem;width:2rem}.toggleButton_gllP{align-items:center;border-radius:50%;display:flex;height:100%;justify-content:center;transition:background var(--ifm-transition-fast);width:100%}.toggleButton_gllP:hover{background:var(--ifm-color-emphasis-200)}.toggleButtonDisabled_aARS{cursor:not-allowed}.darkNavbarColorModeToggle_X3D1:hover{background:var(--ifm-color-gray-800)}[data-theme=dark] .themedComponent--dark_xIcU,[data-theme=light] .themedComponent--light_NVdE,html:not([data-theme]) .themedComponent--light_NVdE{display:initial}.iconExternalLink_nPIU{margin-left:.3rem}.iconLanguage_nlXk{margin-right:5px;vertical-align:text-bottom}.navbarHideable_m1mJ{transition:transform var(--ifm-transition-fast) ease}.navbarHidden_jGov{transform:translate3d(0,calc(-100% - 2px),0)}.errorBoundaryError_a6uf{color:red;white-space:pre-wrap}.errorBoundaryFallback_VBag{color:red;padding:.55rem}.footerLogoLink_BH7S{opacity:.5;transition:opacity var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.footerLogoLink_BH7S:hover,.hash-link:focus,:hover>.hash-link{opacity:1}.anchorWithStickyNavbar_LWe7{scroll-margin-top:calc(var(--ifm-navbar-height) + .5rem)}.anchorWithHideOnScrollNavbar_WYt5{scroll-margin-top:.5rem}.hash-link{opacity:0;padding-left:.5rem;transition:opacity var(--ifm-transition-fast);user-select:none}.hash-link:before{content:"#"}.mainWrapper_z2l0{display:flex;flex:1 0 auto;flex-direction:column}.docusaurus-mt-lg{margin-top:3rem}#__docusaurus{display:flex;flex-direction:column;min-height:100%}.cardContainer_fWXF{--ifm-link-color:var(--ifm-color-emphasis-800);--ifm-link-hover-color:var(--ifm-color-emphasis-700);--ifm-link-hover-decoration:none;border:1px solid var(--ifm-color-emphasis-200);box-shadow:0 1.5px 3px 0 #00000026;transition:all var(--ifm-transition-fast) ease;transition-property:border,box-shadow}.cardContainer_fWXF:hover{border-color:var(--ifm-color-primary);box-shadow:0 3px 6px 0 #0003}.cardTitle_rnsV{font-size:1.2rem}.cardDescription_PWke{font-size:.8rem}.iconEdit_Z9Sw{margin-right:.3em;vertical-align:sub}.tag_zVej{border:1px solid var(--docusaurus-tag-list-border);transition:border var(--ifm-transition-fast)}.tag_zVej:hover{--docusaurus-tag-list-border:var(--ifm-link-color)}.tagRegular_sFm0{border-radius:var(--ifm-global-radius);font-size:90%;padding:.2rem .5rem .3rem}.tagWithCount_h2kH{align-items:center;border-left:0;display:flex;padding:0 .5rem 0 1rem;position:relative}.tagWithCount_h2kH:after,.tagWithCount_h2kH:before{border:1px solid var(--docusaurus-tag-list-border);content:"";position:absolute;top:50%;transition:inherit}.tagWithCount_h2kH:before{border-bottom:0;border-right:0;height:1.18rem;right:100%;transform:translate(50%,-50%) rotate(-45deg);width:1.18rem}.tagWithCount_h2kH:after{border-radius:50%;height:.5rem;left:0;transform:translateY(-50%);width:.5rem}.tagWithCount_h2kH span{background:var(--ifm-color-secondary);border-radius:var(--ifm-global-radius);color:var(--ifm-color-black);font-size:.7rem;line-height:1.2;margin-left:.3rem;padding:.1rem .4rem}.tags_jXut{display:inline}.tag_QGVx{display:inline-block;margin:0 .4rem .5rem 0}.lastUpdated_vwxv{font-size:smaller;font-style:italic;margin-top:.2rem}.tocCollapsibleButton_TO0P{align-items:center;display:flex;font-size:inherit;justify-content:space-between;padding:.4rem .8rem;width:100%}.tocCollapsibleButton_TO0P:after{background:var(--ifm-menu-link-sublist-icon) 50% 50%/2rem 2rem no-repeat;content:"";filter:var(--ifm-menu-link-sublist-icon-filter);height:1.25rem;transform:rotate(180deg);transition:transform var(--ifm-transition-fast);width:1.25rem}.tocCollapsibleButtonExpanded_MG3E:after,.tocCollapsibleExpanded_sAul{transform:none}.tocCollapsible_ETCw{background-color:var(--ifm-menu-color-background-active);border-radius:var(--ifm-global-radius);margin:1rem 0}.tocCollapsibleContent_vkbj>ul{border-left:none;border-top:1px solid var(--ifm-color-emphasis-300);font-size:15px;padding:.2rem 0}.tocCollapsibleContent_vkbj ul li{margin:.4rem .8rem}.tocCollapsibleContent_vkbj a{display:block}.searchQueryInput_u2C7,.searchVersionInput_m0Ui{background:var(--docsearch-searchbox-focus-background);border:2px solid var(--ifm-toc-border-color);border-radius:var(--ifm-global-radius);color:var(--docsearch-text-color);font:var(--ifm-font-size-base) var(--ifm-font-family-base);margin-bottom:.5rem;padding:.8rem;transition:border var(--ifm-transition-fast) ease;width:100%}.searchQueryInput_u2C7:focus,.searchVersionInput_m0Ui:focus{border-color:var(--docsearch-primary-color);outline:0}.searchQueryInput_u2C7::placeholder{color:var(--docsearch-muted-color)}.searchResultsColumn_JPFH{font-size:.9rem;font-weight:700}.algoliaLogo_rT1R{max-width:150px}.algoliaLogoPathFill_WdUC{fill:var(--ifm-font-color-base)}.searchResultItem_Tv2o{border-bottom:1px solid var(--ifm-toc-border-color);padding:1rem 0}.searchResultItemHeading_KbCB{font-weight:400;margin-bottom:0}.searchResultItemPath_lhe1{--ifm-breadcrumb-separator-size-multiplier:1;color:var(--ifm-color-content-secondary);font-size:.8rem}.searchResultItemSummary_AEaO{font-style:italic;margin:.5rem 0 0}.loadingSpinner_XVxU{animation:1s linear infinite a;border:.4em solid #eee;border-radius:50%;border-top:.4em solid var(--ifm-color-primary);height:3rem;margin:0 auto;width:3rem}@keyframes a{to{transform:rotate(1turn)}}.loader_vvXV{margin-top:2rem}.search-result-match{background:#ffd78e40;color:var(--docsearch-hit-color);padding:.09em 0}.backToTopButton_sjWU{background-color:var(--ifm-color-emphasis-200);border-radius:50%;bottom:1.3rem;box-shadow:var(--ifm-global-shadow-lw);height:3rem;opacity:0;position:fixed;right:1.3rem;transform:scale(0);transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default);visibility:hidden;width:3rem;z-index:calc(var(--ifm-z-index-fixed) - 1)}.backToTopButton_sjWU:after{background-color:var(--ifm-color-emphasis-1000);content:" ";display:inline-block;height:100%;-webkit-mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;mask:var(--ifm-menu-link-sublist-icon) 50%/2rem 2rem no-repeat;width:100%}.backToTopButtonShow_xfvO{opacity:1;transform:scale(1);visibility:visible}[data-theme=dark]:root{--docusaurus-collapse-button-bg:#ffffff0d;--docusaurus-collapse-button-bg-hover:#ffffff1a}.collapseSidebarButton_PEFL{display:none;margin:0}.docMainContainer_TBSr,.docRoot_UBD9{display:flex;width:100%}.docsWrapper_hBAB{display:flex;flex:1 0 auto}.buttons_AeoN,.features_t9lD{align-items:center;display:flex}.features_t9lD{padding:2rem 0;width:100%}.featureSvg_GfXr{height:200px;width:200px}.heroBanner_qdFl{display:flex;overflow:hidden;padding:4rem 0;position:relative}.test_C9V2{display:grid;grid-template-columns:1fr 3fr}.buttons_AeoN{justify-content:center}.DocSearch-Button,.DocSearch-Button-Container{align-items:center;display:flex}.DocSearch-Button{background:var(--docsearch-searchbox-background);border:0;border-radius:40px;color:var(--docsearch-muted-color);cursor:pointer;font-weight:500;height:36px;justify-content:space-between;padding:0 8px;-webkit-user-select:none;user-select:none}.DocSearch-Button:active,.DocSearch-Button:focus,.DocSearch-Button:hover{background:var(--docsearch-searchbox-focus-background);box-shadow:var(--docsearch-searchbox-shadow);color:var(--docsearch-text-color);outline:0}.DocSearch-Search-Icon{stroke-width:1.6}.DocSearch-Hit-Tree,.DocSearch-Hit-action,.DocSearch-Hit-icon,.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width)}.DocSearch-Button .DocSearch-Search-Icon{color:var(--docsearch-text-color)}.DocSearch-Button-Placeholder{font-size:1rem;padding:0 12px 0 6px}.DocSearch-Input,.DocSearch-Link{-webkit-appearance:none;font:inherit}.DocSearch-Button-Keys{display:flex;min-width:calc(40px + .8em)}.DocSearch-Button-Key{align-items:center;background:var(--docsearch-key-gradient);border:0;border-radius:3px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);display:flex;height:18px;justify-content:center;margin-right:.4em;padding:0 0 2px;position:relative;top:-1px;width:20px}.DocSearch--active{overflow:hidden!important}.DocSearch-Container{background-color:var(--docsearch-container-background);height:100vh;left:0;position:fixed;top:0;width:100vw;z-index:200}.DocSearch-Link{appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;margin:0;padding:0}.DocSearch-Modal{background:var(--docsearch-modal-background);border-radius:6px;box-shadow:var(--docsearch-modal-shadow);flex-direction:column;margin:60px auto auto;max-width:var(--docsearch-modal-width);position:relative}.DocSearch-SearchBar{display:flex;padding:var(--docsearch-spacing) var(--docsearch-spacing) 0}.DocSearch-Form{align-items:center;background:var(--docsearch-searchbox-focus-background);border-radius:4px;box-shadow:var(--docsearch-searchbox-shadow);display:flex;height:var(--docsearch-searchbox-height);margin:0;padding:0 var(--docsearch-spacing);position:relative;width:100%}.DocSearch-Input{appearance:none;background:#0000;border:0;color:var(--docsearch-text-color);flex:1;font-size:1.2em;height:100%;outline:0;padding:0 0 0 8px;width:80%}.DocSearch-Hit-action-button,.DocSearch-Reset{-webkit-appearance:none;border:0;cursor:pointer}.DocSearch-Input::placeholder{color:var(--docsearch-muted-color);opacity:1}.DocSearch-Input::-webkit-search-cancel-button,.DocSearch-Input::-webkit-search-decoration,.DocSearch-Input::-webkit-search-results-button,.DocSearch-Input::-webkit-search-results-decoration{display:none}.DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{margin:0;padding:0}.DocSearch-Container--Stalled .DocSearch-LoadingIndicator,.DocSearch-MagnifierLabel,.DocSearch-Reset{align-items:center;color:var(--docsearch-highlight-color);display:flex;justify-content:center}.DocSearch-Cancel,.DocSearch-Container--Stalled .DocSearch-MagnifierLabel,.DocSearch-LoadingIndicator,.DocSearch-Reset[hidden]{display:none}.DocSearch-Reset{animation:.1s ease-in forwards b;appearance:none;background:none;border-radius:50%;color:var(--docsearch-icon-color);padding:2px;right:0}.DocSearch-Help,.DocSearch-HitsFooter,.DocSearch-Label{color:var(--docsearch-muted-color)}.DocSearch-Reset:hover{color:var(--docsearch-highlight-color)}.DocSearch-LoadingIndicator svg,.DocSearch-MagnifierLabel svg{height:24px;width:24px}.DocSearch-Dropdown{max-height:calc(var(--docsearch-modal-height) - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height));min-height:var(--docsearch-spacing);overflow-y:auto;overflow-y:overlay;padding:0 var(--docsearch-spacing);scrollbar-color:var(--docsearch-muted-color) var(--docsearch-modal-background);scrollbar-width:thin}.DocSearch-Dropdown::-webkit-scrollbar{width:12px}.DocSearch-Dropdown::-webkit-scrollbar-track{background:#0000}.DocSearch-Dropdown::-webkit-scrollbar-thumb{background-color:var(--docsearch-muted-color);border:3px solid var(--docsearch-modal-background);border-radius:20px}.DocSearch-Dropdown ul{list-style:none;margin:0;padding:0}.DocSearch-Label{font-size:.75em;line-height:1.6em}.DocSearch-Help{font-size:.9em;margin:0;-webkit-user-select:none;user-select:none}.DocSearch-Title{font-size:1.2em}.DocSearch-Logo a{display:flex}.DocSearch-Logo svg{color:var(--docsearch-logo-color);margin-left:8px}.DocSearch-Hits:last-of-type{margin-bottom:24px}.DocSearch-Hits mark{background:none;color:var(--docsearch-highlight-color)}.DocSearch-HitsFooter{display:flex;font-size:.85em;justify-content:center;margin-bottom:var(--docsearch-spacing);padding:var(--docsearch-spacing)}.DocSearch-HitsFooter a{border-bottom:1px solid;color:inherit}.DocSearch-Hit{border-radius:4px;display:flex;padding-bottom:4px;position:relative}.DocSearch-Hit--deleting{opacity:0;transition:.25s linear}.DocSearch-Hit--favoriting{transform:scale(0);transform-origin:top center;transition:.25s linear .25s}.DocSearch-Hit a{background:var(--docsearch-hit-background);border-radius:4px;box-shadow:var(--docsearch-hit-shadow);display:block;padding-left:var(--docsearch-spacing);width:100%}.DocSearch-Hit-source{background:var(--docsearch-modal-background);color:var(--docsearch-highlight-color);font-size:.85em;font-weight:600;line-height:32px;margin:0 -4px;padding:8px 4px 0;position:sticky;top:0;z-index:10}.DocSearch-Hit-Tree{color:var(--docsearch-muted-color);height:var(--docsearch-hit-height);opacity:.5;width:24px}.DocSearch-Hit[aria-selected=true] a{background-color:var(--docsearch-highlight-color)}.DocSearch-Hit[aria-selected=true] mark{text-decoration:underline}.DocSearch-Hit-Container{align-items:center;color:var(--docsearch-hit-color);display:flex;flex-direction:row;height:var(--docsearch-hit-height);padding:0 var(--docsearch-spacing) 0 0}.DocSearch-Hit-icon{height:20px;width:20px}.DocSearch-Hit-action,.DocSearch-Hit-icon{color:var(--docsearch-muted-color)}.DocSearch-Hit-action{align-items:center;display:flex;height:22px;width:22px}.DocSearch-Hit-action svg{display:block;height:18px;width:18px}.DocSearch-Hit-action+.DocSearch-Hit-action{margin-left:6px}.DocSearch-Hit-action-button{appearance:none;background:none;border-radius:50%;color:inherit;padding:2px}svg.DocSearch-Hit-Select-Icon{display:none}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Select-Icon{display:block}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:background-color .1s ease-in}.DocSearch-Hit-action-button:focus path,.DocSearch-Hit-action-button:hover path{fill:#fff}.DocSearch-Hit-content-wrapper{display:flex;flex:1 1 auto;flex-direction:column;font-weight:500;justify-content:center;line-height:1.2em;margin:0 8px;overflow-x:hidden;position:relative;text-overflow:ellipsis;white-space:nowrap;width:80%}.DocSearch-Hit-title{font-size:.9em}.DocSearch-Hit-path{color:var(--docsearch-muted-color);font-size:.75em}.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-Tree,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-action,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-icon,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-path,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-text,.DocSearch-Hit[aria-selected=true] .DocSearch-Hit-title,.DocSearch-Hit[aria-selected=true] mark{color:var(--docsearch-hit-active-color)!important}.DocSearch-ErrorScreen,.DocSearch-NoResults,.DocSearch-StartScreen{font-size:.9em;margin:0 auto;padding:36px 0;text-align:center;width:80%}.DocSearch-Screen-Icon{color:var(--docsearch-muted-color);padding-bottom:12px}.DocSearch-NoResults-Prefill-List{display:inline-block;padding-bottom:24px;text-align:left}.DocSearch-NoResults-Prefill-List ul{display:inline-block;padding:8px 0 0}.DocSearch-NoResults-Prefill-List li{list-style-position:inside;list-style-type:"» "}.DocSearch-Prefill{-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:1em;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;font-size:1em;font-weight:700;padding:0}.DocSearch-Prefill:focus,.DocSearch-Prefill:hover{outline:0;text-decoration:underline}.DocSearch-Footer{align-items:center;background:var(--docsearch-footer-background);border-radius:0 0 8px 8px;box-shadow:var(--docsearch-footer-shadow);display:flex;flex-direction:row-reverse;flex-shrink:0;height:var(--docsearch-footer-height);justify-content:space-between;padding:0 var(--docsearch-spacing);position:relative;-webkit-user-select:none;user-select:none;width:100%;z-index:300}.DocSearch-Commands li,.DocSearch-Commands-Key{align-items:center;display:flex}.DocSearch-Commands{color:var(--docsearch-muted-color);display:flex;list-style:none;margin:0;padding:0}.DocSearch-Commands li:not(:last-of-type){margin-right:.8em}.DocSearch-Commands-Key{background:var(--docsearch-key-gradient);border:0;border-radius:2px;box-shadow:var(--docsearch-key-shadow);color:var(--docsearch-muted-color);height:18px;justify-content:center;margin-right:.4em;padding:0 0 1px;width:20px}.buttonGroup__atx button,.codeBlockContainer_Ckt0{background:var(--prism-background-color);color:var(--prism-color)}@keyframes b{0%{opacity:0}to{opacity:1}}.DocSearch-Button{margin:0;transition:all var(--ifm-transition-fast) var(--ifm-transition-timing-default)}.DocSearch-Container{z-index:calc(var(--ifm-z-index-fixed) + 1)}.codeBlockContainer_Ckt0{border-radius:var(--ifm-code-border-radius);box-shadow:var(--ifm-global-shadow-lw);margin-bottom:var(--ifm-leading)}.codeBlockContent_biex{border-radius:inherit;direction:ltr;position:relative}.codeBlockTitle_Ktv7{border-bottom:1px solid var(--ifm-color-emphasis-300);border-top-left-radius:inherit;border-top-right-radius:inherit;font-size:var(--ifm-code-font-size);font-weight:500;padding:.75rem var(--ifm-pre-padding)}.codeBlock_bY9V{--ifm-pre-background:var(--prism-background-color);margin:0;padding:0}.codeBlockTitle_Ktv7+.codeBlockContent_biex .codeBlock_bY9V{border-top-left-radius:0;border-top-right-radius:0}.codeBlockLines_e6Vv{float:left;font:inherit;min-width:100%;padding:var(--ifm-pre-padding)}.codeBlockLinesWithNumbering_o6Pm{display:table;padding:var(--ifm-pre-padding) 0}.buttonGroup__atx{column-gap:.2rem;display:flex;position:absolute;right:calc(var(--ifm-pre-padding)/2);top:calc(var(--ifm-pre-padding)/2)}.buttonGroup__atx button{align-items:center;border:1px solid var(--ifm-color-emphasis-300);border-radius:var(--ifm-global-radius);display:flex;line-height:0;opacity:0;padding:.4rem;transition:opacity var(--ifm-transition-fast) ease-in-out}.buttonGroup__atx button:focus-visible,.buttonGroup__atx button:hover{opacity:1!important}.theme-code-block:hover .buttonGroup__atx button{opacity:.4}:where(:root){--docusaurus-highlighted-code-line-bg:#484d5b}:where([data-theme=dark]){--docusaurus-highlighted-code-line-bg:#646464}.theme-code-block-highlighted-line{background-color:var(--docusaurus-highlighted-code-line-bg);display:block;margin:0 calc(var(--ifm-pre-padding)*-1);padding:0 var(--ifm-pre-padding)}.codeLine_lJS_{counter-increment:a;display:table-row}.codeLineNumber_Tfdd{background:var(--ifm-pre-background);display:table-cell;left:0;overflow-wrap:normal;padding:0 var(--ifm-pre-padding);position:sticky;text-align:right;width:1%}.codeLineNumber_Tfdd:before{content:counter(a);opacity:.4}.codeLineContent_feaV{padding-right:var(--ifm-pre-padding)}.details_lb9f{--docusaurus-details-summary-arrow-size:0.38rem;--docusaurus-details-transition:transform 200ms ease;--docusaurus-details-decoration-color:grey}.details_lb9f>summary{cursor:pointer;list-style:none;padding-left:1rem;position:relative}.details_lb9f>summary::-webkit-details-marker{display:none}.details_lb9f>summary:before{border-color:#0000 #0000 #0000 var(--docusaurus-details-decoration-color);border-style:solid;border-width:var(--docusaurus-details-summary-arrow-size);content:"";left:0;position:absolute;top:.45rem;transform:rotate(0);transform-origin:calc(var(--docusaurus-details-summary-arrow-size)/2) 50%;transition:var(--docusaurus-details-transition)}.collapsibleContent_i85q{border-top:1px solid var(--docusaurus-details-decoration-color);margin-top:1rem;padding-top:1rem}.theme-code-block:hover .copyButtonCopied_obH4{opacity:1!important}.copyButtonIcons_eSgA{height:1.125rem;position:relative;width:1.125rem}.copyButtonIcon_y97N,.copyButtonSuccessIcon_LjdS{fill:currentColor;height:inherit;left:0;opacity:inherit;position:absolute;top:0;transition:all var(--ifm-transition-fast) ease;width:inherit}.copyButtonSuccessIcon_LjdS{color:#00d600;left:50%;opacity:0;top:50%;transform:translate(-50%,-50%) scale(.33)}.copyButtonCopied_obH4 .copyButtonIcon_y97N{opacity:0;transform:scale(.33)}.copyButtonCopied_obH4 .copyButtonSuccessIcon_LjdS{opacity:1;transform:translate(-50%,-50%) scale(1);transition-delay:75ms}.details_b_Ee{--docusaurus-details-decoration-color:var(--ifm-alert-border-color);--docusaurus-details-transition:transform var(--ifm-transition-fast) ease;border:1px solid var(--ifm-alert-border-color);margin:0 0 var(--ifm-spacing-vertical)}.wordWrapButtonIcon_Bwma{height:1.2rem;width:1.2rem}.containsTaskList_mC6p{list-style:none}.img_ev3q{height:auto}.tableOfContents_bqdL{max-height:calc(100vh - var(--ifm-navbar-height) - 2rem);overflow-y:auto;position:sticky;top:calc(var(--ifm-navbar-height) + 1rem)}.admonition_xJq3{margin-bottom:1em}.admonitionHeading_Gvgb{font:var(--ifm-heading-font-weight) var(--ifm-h5-font-size)/var(--ifm-heading-line-height) var(--ifm-heading-font-family)}.admonitionHeading_Gvgb:not(:last-child){margin-bottom:.3rem}.admonitionHeading_Gvgb code{text-transform:none}.admonitionIcon_Rf37{display:inline-block;margin-right:.4em;vertical-align:middle}.admonitionIcon_Rf37 svg{fill:var(--ifm-alert-foreground-color);display:inline-block;height:1.6em;width:1.6em}.breadcrumbHomeIcon_YNFT{height:1.1rem;position:relative;top:1px;vertical-align:top;width:1.1rem}.breadcrumbsContainer_Z_bl{--ifm-breadcrumb-size-multiplier:0.8;margin-bottom:.8rem}.title_kItE{--ifm-h1-font-size:3rem;margin-bottom:calc(var(--ifm-leading)*1.25)}.mdxPageWrapper_j9I6{justify-content:center}@media (min-width:997px){.collapseSidebarButton_PEFL,.expandButton_TmdG{background-color:var(--docusaurus-collapse-button-bg)}:root{--docusaurus-announcement-bar-height:30px}.announcementBarClose_gvF7,.announcementBarPlaceholder_vyr4{flex-basis:50px}.navbarSearchContainer_Bca1{padding:var(--ifm-navbar-item-padding-vertical) var(--ifm-navbar-item-padding-horizontal)}.lastUpdated_vwxv{text-align:right}.tocMobile_ITEo{display:none}.collapseSidebarButton_PEFL{border:1px solid var(--ifm-toc-border-color);border-radius:0;bottom:0;display:block!important;height:40px;position:sticky}.collapseSidebarButtonIcon_kv0_{margin-top:4px;transform:rotate(180deg)}.expandButtonIcon_i1dp,[dir=rtl] .collapseSidebarButtonIcon_kv0_{transform:rotate(0)}.collapseSidebarButton_PEFL:focus,.collapseSidebarButton_PEFL:hover,.expandButton_TmdG:focus,.expandButton_TmdG:hover{background-color:var(--docusaurus-collapse-button-bg-hover)}.menuHtmlItem_M9Kj{padding:var(--ifm-menu-link-padding-vertical) var(--ifm-menu-link-padding-horizontal)}.menu_SIkG{flex-grow:1;padding:.5rem}@supports (scrollbar-gutter:stable){.menu_SIkG{padding:.5rem 0 .5rem .5rem;scrollbar-gutter:stable}}.menuWithAnnouncementBar_GW3s{margin-bottom:var(--docusaurus-announcement-bar-height)}.sidebar_njMd{display:flex;flex-direction:column;height:100%;padding-top:var(--ifm-navbar-height);width:var(--doc-sidebar-width)}.sidebarWithHideableNavbar_wUlq{padding-top:0}.sidebarHidden_VK0M{opacity:0;visibility:hidden}.sidebarLogo_isFc{align-items:center;color:inherit!important;display:flex!important;margin:0 var(--ifm-navbar-padding-horizontal);max-height:var(--ifm-navbar-height);min-height:var(--ifm-navbar-height);text-decoration:none!important}.sidebarLogo_isFc img{height:2rem;margin-right:.5rem}.expandButton_TmdG{align-items:center;display:flex;height:100%;justify-content:center;position:absolute;right:0;top:0;transition:background-color var(--ifm-transition-fast) ease;width:100%}[dir=rtl] .expandButtonIcon_i1dp{transform:rotate(180deg)}.docSidebarContainer_YfHR{border-right:1px solid var(--ifm-toc-border-color);-webkit-clip-path:inset(0);clip-path:inset(0);display:block;margin-top:calc(var(--ifm-navbar-height)*-1);transition:width var(--ifm-transition-fast) ease;width:var(--doc-sidebar-width);will-change:width}.docSidebarContainerHidden_DPk8{cursor:pointer;width:var(--doc-sidebar-hidden-width)}.sidebarViewport_aRkj{height:100%;max-height:100vh;position:sticky;top:0}.docMainContainer_TBSr{flex-grow:1;max-width:calc(100% - var(--doc-sidebar-width))}.docMainContainerEnhanced_lQrH{max-width:calc(100% - var(--doc-sidebar-hidden-width))}.docItemWrapperEnhanced_JWYK{max-width:calc(var(--ifm-container-width) + var(--doc-sidebar-width))!important}.docItemCol_VOVn,.generatedIndexPage_vN6x{max-width:75%!important}.list_eTzJ article:nth-last-child(-n+2){margin-bottom:0!important}}@media (min-width:1440px){.container{max-width:var(--ifm-container-width-xl)}}@media (max-width:996px){.col{--ifm-col-width:100%;flex-basis:var(--ifm-col-width);margin-left:0}.footer{--ifm-footer-padding-horizontal:0}.colorModeToggle_DEke,.footer__link-separator,.navbar__item,.tableOfContents_bqdL{display:none}.footer__col{margin-bottom:calc(var(--ifm-spacing-vertical)*3)}.footer__link-item{display:block}.hero{padding-left:0;padding-right:0}.navbar>.container,.navbar>.container-fluid{padding:0}.navbar__toggle{display:inherit}.navbar__search-input{width:9rem}.pills--block,.tabs--block{flex-direction:column}.navbarSearchContainer_Bca1{position:absolute;right:var(--ifm-navbar-padding-horizontal)}.docItemContainer_F8PC{padding:0 .3rem}}@media only screen and (max-width:996px){.searchQueryColumn_RTkw,.searchResultsColumn_JPFH{max-width:60%!important}.searchLogoColumn_rJIA,.searchVersionColumn_ypXd{max-width:40%!important}.searchLogoColumn_rJIA{padding-left:0!important}}@media screen and (max-width:996px){.heroBanner_qdFl{padding:2rem}}@media (max-width:768px){.DocSearch-Button-Keys,.DocSearch-Button-Placeholder,.DocSearch-Commands,.DocSearch-Hit-Tree{display:none}:root{--docsearch-spacing:10px;--docsearch-footer-height:40px}.DocSearch-Dropdown{height:100%;max-height:calc(var(--docsearch-vh,1vh)*100 - var(--docsearch-searchbox-height) - var(--docsearch-spacing) - var(--docsearch-footer-height))}.DocSearch-Container{height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);position:absolute}.DocSearch-Footer{border-radius:0;bottom:0;position:absolute}.DocSearch-Hit-content-wrapper{display:flex;position:relative;width:80%}.DocSearch-Modal{border-radius:0;box-shadow:none;height:100vh;height:-webkit-fill-available;height:calc(var(--docsearch-vh,1vh)*100);margin:0;max-width:100%;width:100%}.DocSearch-Cancel{-webkit-appearance:none;appearance:none;background:none;border:0;color:var(--docsearch-highlight-color);cursor:pointer;display:inline-block;flex:none;font:inherit;font-size:1em;font-weight:500;margin-left:var(--docsearch-spacing);outline:0;overflow:hidden;padding:0;-webkit-user-select:none;user-select:none;white-space:nowrap}}@media (max-width:576px){.markdown h1:first-child{--ifm-h1-font-size:2rem}.markdown>h2{--ifm-h2-font-size:1.5rem}.markdown>h3{--ifm-h3-font-size:1.25rem}}@media screen and (max-width:576px){.searchQueryColumn_RTkw{max-width:100%!important}.searchVersionColumn_ypXd{max-width:100%!important;padding-left:var(--ifm-spacing-horizontal)!important}}@media (hover:hover){.backToTopButton_sjWU:hover{background-color:var(--ifm-color-emphasis-300)}}@media (pointer:fine){.thin-scrollbar{scrollbar-width:thin}.thin-scrollbar::-webkit-scrollbar{height:var(--ifm-scrollbar-size);width:var(--ifm-scrollbar-size)}.thin-scrollbar::-webkit-scrollbar-track{background:var(--ifm-scrollbar-track-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb{background:var(--ifm-scrollbar-thumb-background-color);border-radius:10px}.thin-scrollbar::-webkit-scrollbar-thumb:hover{background:var(--ifm-scrollbar-thumb-hover-background-color)}}@media (prefers-reduced-motion:reduce){:root{--ifm-transition-fast:0ms;--ifm-transition-slow:0ms}}@media screen and (prefers-reduced-motion:reduce){.DocSearch-Reset{stroke-width:var(--docsearch-icon-stroke-width);animation:none;-webkit-appearance:none;appearance:none;background:none;border:0;border-radius:50%;color:var(--docsearch-icon-color);cursor:pointer;right:0}.DocSearch-Hit--deleting,.DocSearch-Hit--favoriting{transition:none}.DocSearch-Hit-action-button:focus,.DocSearch-Hit-action-button:hover{background:#0003;transition:none}}@media print{.announcementBar_mb4j,.footer,.menu,.navbar,.pagination-nav,.table-of-contents,.tocMobile_ITEo{display:none}.tabs{page-break-inside:avoid}.codeBlockLines_e6Vv{white-space:pre-wrap}} \ No newline at end of file diff --git a/assets/js/017e1775.e8e2bf1f.js b/assets/js/017e1775.de79e0e8.js similarity index 75% rename from assets/js/017e1775.e8e2bf1f.js rename to assets/js/017e1775.de79e0e8.js index 4468707b0..76632d6ab 100644 --- a/assets/js/017e1775.e8e2bf1f.js +++ b/assets/js/017e1775.de79e0e8.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6929],{4826:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>d,default:()=>w,frontMatter:()=>c,metadata:()=>h,toc:()=>u});var r=n(5893),a=n(1151),i=n(6957),s=n(7796),o=n(6521),l=n(3273);const c={sidebar_position:26,title:"Drawer"},d=void 0,h={id:"components/drawer",title:"Drawer",description:"The drawer is a container that slides into the viewport to expose additional options and information. Multiple drawers can be created in an application, and they will be stacked above each other.",source:"@site/docs/components/drawer.md",sourceDirName:"components",slug:"/components/drawer",permalink:"/docs/components/drawer",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/drawer.md",tags:[],version:"current",sidebarPosition:26,frontMatter:{sidebar_position:26,title:"Drawer"},sidebar:"documentationSidebar",previous:{title:"Dialog",permalink:"/docs/components/dialog"},next:{title:"Field",permalink:"/docs/components/fields/"}},p={},u=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Autofocus",id:"autofocus",level:2},{value:"Label",id:"label",level:2},{value:"Size",id:"size",level:2},{value:"Max Size",id:"max-size",level:3},{value:"Placement",id:"placement",level:2},{value:"Events",id:"events",level:2},{value:"Drawer Open",id:"drawer-open",level:3},{value:"Drawer Close",id:"drawer-close",level:3},{value:"Toggling a Drawer Open or Closed",id:"toggling-a-drawer-open-or-closed",level:3},{value:"Removing an Event",id:"removing-an-event",level:3},{value:"Styling",id:"styling",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/drawer/Drawer",top:"true"}),"\n",(0,r.jsx)(t.p,{children:"The drawer is a container that slides into the viewport to expose additional options and information. Multiple drawers can be created in an application, and they will be stacked above each other."}),"\n",(0,r.jsx)(t.p,{children:'The Drawer component can be used in many different situations, such as by providing a navigation menu that can be toggled, a panel that displays supplementary or contextual information, or to optimize usage on a mobile device. The following example will show a mobile application that uses the DWCJ\'s AppLayout component, and displays a "Welcome Popup" drawer at the bottom when first loaded. Additionally, a navigational Drawer component can be toggled in the application by clicking on the hamburger menu.'}),"\n",(0,r.jsx)(o.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerWelcome",mobile:"true"}),"\n",(0,r.jsx)(i.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerWelcome.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/drawerstyles/drawer_welcome.css"}),"\n",(0,r.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Navigation Menu"}),": One common usage of a drawer component is as a navigation menu. It provides a space-efficient way to display links to various sections or pages of your application, especially in mobile or responsive layouts. Users can open and close the drawer to access navigation options without cluttering the main content area."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Filter and Sidebar"}),": A drawer can be used as a filter or sidebar in applications that display a list of items. Users can expand the drawer to reveal filter options, sort controls, or additional information related to the list items. This keeps the main content focused on the list while providing advanced features in an accessible way."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"User Profile or Settings"}),": You can use a drawer to show user profile information or application settings. This keeps such information easily accessible but hidden when not needed, maintaining a clean and uncluttered interface. Users can open the drawer to update their profiles or adjust settings."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Notifications"}),": For applications with notifications or alerts, a drawer can slide in to display new messages or updates. Users can quickly check and dismiss notifications without leaving their current view."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(t.p,{children:"The Drawer component contains a single default constructor which will create a new instance of the Drawer class."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"Drawer newDrawer = new Drawer()\n"})}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerDemo.java",height:"600px"}),"\n",(0,r.jsx)(t.p,{children:"Various properties exist that allow for the customization of various attributes of the Drawer component. Below are those properties with examples for their modification."}),"\n",(0,r.jsx)(t.h2,{id:"autofocus",children:"Autofocus"}),"\n",(0,r.jsx)(t.p,{children:"The Auto-Focus property is designed to enhance accessibility and usability by automatically focusing on the first item within a drawer when it is opened. This feature eliminates the need for users to manually navigate to the desired item, saving time and effort."}),"\n",(0,r.jsx)(t.p,{children:"When the drawer is triggered to open, either through an event, by default or any other interaction, the user's focus is directed to the first item within the drawer. This first item could be a button, a link, a menu option, or any other focusable element."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"By automatically focusing on the first item, the developer ensures that users can immediately engage with the most relevant or frequently used option without having to tab or scroll through the entire drawer. This behavior streamlines the user experience and promotes efficient navigation within the UI."})}),"\n",(0,r.jsx)(t.p,{children:"This property can also be particularly beneficial for individuals who rely on keyboard navigation or assistive technologies such as screen readers. It provides a clear starting point within the drawer and allows users to access the desired functionality without unnecessary manual input."}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerAutoFocus",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerAutoFocus.java",height:"600px"}),"\n",(0,r.jsx)(t.h2,{id:"label",children:"Label"}),"\n",(0,r.jsx)(t.p,{children:"The Drawer Label property is a feature designed to enhance accessibility and provide descriptive context for a drawer within a user interface. This property allows developers to assign a label to a drawer, primarily for accessibility purposes, ensuring that screen readers and other assistive technologies can accurately convey the drawer's purpose and content to users."}),"\n",(0,r.jsx)(t.p,{children:"When the Drawer Label property is utilized, the assigned label becomes an integral part of the drawer's accessibility infrastructure. It enables users who rely on assistive technologies to understand the drawer's function and navigate through the interface more effectively."}),"\n",(0,r.jsx)(t.p,{children:"By providing a label for the drawer, developers ensure that screen readers announce the purpose of the drawer to visually impaired users. This information empowers individuals to make informed decisions about interacting with the drawer, as they can understand its content and relevance within the broader user interface."}),"\n",(0,r.jsx)(t.p,{children:"The Label property can be customized to suit the specific context and design requirements of the application. Developers have the flexibility to provide concise and descriptive labels that accurately represent the drawer's content or functionality."}),"\n",(0,r.jsx)(t.h2,{id:"size",children:"Size"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"size"})," property of the Drawer component enables developers to control and specify the dimensions of the drawer within the user interface. This property allows for fine-tuning the size of the drawer, ensuring it aligns with the desired layout and design requirements."]}),"\n",(0,r.jsxs)(t.p,{children:["When utilizing the ",(0,r.jsx)(t.code,{children:"size"})," property, developers have the flexibility to define the width and height of the drawer based on their specific needs. Unlike the ",(0,r.jsx)(t.code,{children:"maxSize"})," property, which sets a maximum limit, the ",(0,r.jsx)(t.code,{children:"size"})," property provides explicit control over the actual size of the drawer."]}),"\n",(0,r.jsxs)(t.p,{children:["Developers can customize the ",(0,r.jsx)(t.code,{children:"size"})," property based on the available screen real estate, the amount of content to be displayed, and the overall design aesthetic. This level of control allows for creating visually balanced and functional interfaces."]}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"size"})," property can be defined using various units such as pixels, percentages, or other appropriate CSS measurement values. This versatility ensures that the drawer's size can be adjusted precisely to fit different screen sizes, resolutions, and device types."]}),"\n",(0,r.jsxs)(t.p,{children:["By utilizing the ",(0,r.jsx)(t.code,{children:"size"})," property effectively, developers can create responsive interfaces that adapt to different viewports and screen orientations. For instance, a smaller size can be chosen for mobile devices to optimize space utilization, while larger sizes can be used for desktop displays to take advantage of the available screen area."]}),"\n",(0,r.jsx)(t.h3,{id:"max-size",children:"Max Size"}),"\n",(0,r.jsx)(t.p,{children:"The Drawer max size property is a versatile feature designed to control the maximum width or height of a drawer within a user interface, based on the specified placement. This property allows developers to define the maximum size of the drawer, ensuring optimal presentation and layout while accommodating varying screen sizes and device resolutions."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:["To set the size of the drawer, modify the ",(0,r.jsx)(t.code,{children:"size"})," property - ",(0,r.jsx)(t.code,{children:"maxSize"})," is used to ensure a drawer never grows larger than a certain value."]})}),"\n",(0,r.jsx)(t.p,{children:"When utilizing the Drawer max size property, developers can set a maximum size value expressed as pixels, percentages, or other appropriate CSS measurement values. This value represents the maximum width when the drawer is placed on the left or right side of the interface or the maximum height when placed on the top or bottom."}),"\n",(0,r.jsx)(t.p,{children:"By defining a maximum size for the drawer, developers maintain control over its dimensions and prevent it from becoming excessively wide or tall, which could hinder the overall user experience. The CSS measurement approach allows for responsiveness, adapting the size of the drawer dynamically in relation to the available screen space."}),"\n",(0,r.jsx)(t.p,{children:"The Drawer's max size property is particularly beneficial when dealing with responsive and adaptive designs. It ensures that the drawer remains visually pleasing and functional across different devices, screen orientations, and viewports."}),"\n",(0,r.jsx)(t.p,{children:"When the drawer's content exceeds the defined maximum size, developers can implement appropriate techniques to handle overflow, such as scrolling within the drawer or utilizing additional UI patterns like tabs or accordions. This helps maintain a clean and organized interface while accommodating larger amounts of content."}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerSize",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerSize.java",height:"600px"}),"\n",(0,r.jsx)(t.h2,{id:"placement",children:"Placement"}),"\n",(0,r.jsx)(t.p,{children:"The placement property of the Drawer UI Component allows developers to specify the position and alignment of the drawer within the viewport. This property offers a range of enum values that provide flexibility in determining where the drawer appears in relation to the main content."}),"\n",(0,r.jsx)(t.p,{children:"The available enum values for the placement property are as follows:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"TOP"}),": This value places the drawer at the top of the viewport, allowing it to occupy the uppermost region."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"TOP_CENTER"}),": With this value, the drawer is positioned at the center of the top portion of the viewport. It is aligned horizontally in the middle, creating a balanced layout."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"BOTTOM"}),": When using this value, the drawer is situated at the bottom of the viewport, appearing below the main content."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"BOTTOM_CENTER"}),": This value centers the drawer horizontally at the bottom of the viewport. It provides a visually balanced composition."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"LEFT"}),": Selecting this value causes the drawer to be positioned on the left side of the viewport, adjacent to the main content."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"RIGHT"}),": By using this value, the drawer is placed on the right side of the viewport, maintaining a close proximity to the main content"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"The placement property allows developers to choose the most appropriate position for the drawer based on the specific design and user experience requirements. The enum values offer a variety of placement options to accommodate different interface layouts and visual hierarchies."}),"\n",(0,r.jsx)(t.p,{children:"By leveraging the placement property, developers can create intuitive and efficient user interfaces. For example, placing the drawer on the left or right side allows for quick access to additional functionalities or navigation options, while top or bottom placements are well-suited for contextual information or supplementary content."}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerPlacement",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerPlacement.java",height:"600px"}),"\n",(0,r.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,r.jsx)(t.p,{children:"There are two supported events that can be used with the Drawer component, open and close events. These events are essential components of the Drawer component, providing developers with the means to respond and react to the opening and closing actions of the drawer within the user interface."}),"\n",(0,r.jsx)(t.h3,{id:"drawer-open",children:"Drawer Open"}),"\n",(0,r.jsxs)(t.p,{children:["Use the ",(0,r.jsx)(t.code,{children:"addOpenListener()"})," method to add an open event to your Drawer component."]}),"\n",(0,r.jsx)(t.p,{children:"The Drawer Open Event is triggered when the drawer is initiated to open, either through user interaction or programmatically. This event allows developers to execute specific actions, animations, or updates that should occur when the drawer becomes visible and accessible to the user. To add an open event listener, use the appropriate method:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"myDrawer.addOpenListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,r.jsx)(t.p,{children:"By leveraging the Drawer Open Event, developers can synchronize the opening of the drawer with other UI elements, trigger transitions or animations, and update the interface to reflect the change in state. This event can also be used to initiate fetching data, loading content, or any other necessary operations related to the appearance of the drawer."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"onOpen() method is similarly available for use, and simple calls the addOpenListener()"})," method."]})}),"\n",(0,r.jsx)(t.h3,{id:"drawer-close",children:"Drawer Close"}),"\n",(0,r.jsxs)(t.p,{children:["Use the ",(0,r.jsx)(t.code,{children:"addCloseListener()"})," method to add an open event to your Drawer component."]}),"\n",(0,r.jsx)(t.p,{children:"The Drawer Close Event is triggered when the drawer is initiated to close. This event provides developers with the opportunity to perform actions or updates that should take place when the drawer is no longer visible or accessible to the user. To add a close event listener, use the appropriate method:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"myDrawer.addCloseListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,r.jsx)(t.p,{children:"With the Drawer Close Event, developers can synchronize the closing of the drawer with other UI elements, initiate animations or transitions, and update the interface to reflect the change in state. Additionally, this event can be utilized to save user preferences, persist data, or perform any cleanup operations associated with the closure of the drawer."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"onClose()"})," method is similarly available for use, and simple calls the ",(0,r.jsx)(t.code,{children:"addOpenListener()"})," method."]})}),"\n",(0,r.jsx)(t.h3,{id:"toggling-a-drawer-open-or-closed",children:"Toggling a Drawer Open or Closed"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"toggle()"})," method allows developers to control the opening and closing behavior of the drawer based on a boolean value. This function provides a programmatic way to toggle the visibility of the drawer. This can be shorthanded by using the ",(0,r.jsx)(t.code,{children:"open()"})," and ",(0,r.jsx)(t.code,{children:"close()"})," methods, which call the ",(0,r.jsx)(t.code,{children:"toggle()"})," method with the appropriate boolean argument."]}),"\n",(0,r.jsx)(t.h3,{id:"removing-an-event",children:"Removing an Event"}),"\n",(0,r.jsx)(t.p,{children:"To remove either an open or close event from the Drawer, simply use the appropriate remove event listener method."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"myDrawer.removeOpenListener(listener);\n"})}),"\n",(0,r.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,r.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,r.jsxs)(t.p,{children:["These are the various parts of the ",(0,r.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,r.jsx)(s.Z,{tag:n(5731).dy,table:"parts"}),"\n",(0,r.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,r.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,r.jsx)(s.Z,{tag:n(5731).dy,table:"properties"}),"\n",(0,r.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,r.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,r.jsx)(s.Z,{tag:n(5731).dy,table:"reflects"}),"\n",(0,r.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,r.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,r.jsx)(s.Z,{tag:"bbj-drawer",table:"dependencies"}),"\n",(0,r.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,r.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,r.jsx)(t.code,{children:"Drawer"})," component, consider the following best practices:"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Placement"}),": Decide whether the drawer should slide in from the left, right, top, or bottom, based on your application's layout and user experience considerations. Consider user preferences and design conventions."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Accessibility"}),": Pay special attention to accessibility. Ensure that users can open and close the drawer using keyboard controls and that screen readers can announce its presence and state. Provide ARIA roles and labels as necessary."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Swipe Gestures"}),": On touch-enabled devices, support swipe gestures for opening and closing the drawer. This is an intuitive way for users to interact with it."]}),"\n"]}),"\n"]})]})}function w(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var r=n(6010);const a={tabItem:"tabItem_Ymn6"};var i=n(5893);function s(e){let{children:t,hidden:n,className:s}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,r.Z)(a.tabItem,s),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>y});var r=n(7294),a=n(6010),i=n(2466),s=n(6550),o=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(i),(0,r.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(a.location.search);t.set(i,e),a.replace({...a.location,search:t.toString()})}),[i,a])]}function w(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,i=p(e),[s,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:i}))),[c,h]=m({queryString:n,groupId:a}),[w,v]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,i]=(0,d.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:a}),g=(()=>{const e=c??w;return u({value:e,tabValues:i})?e:null})();(0,o.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!u({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),v(e)}),[h,v,i]),tabValues:i}}var v=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var b=n(5893);function f(e){let{className:t,block:n,selectedValue:r,selectValue:s,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),a=o[n].value;a!==r&&(c(t),s(a))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...i,className:(0,a.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:a}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function A(e){const t=w(e);return(0,b.jsxs)("div",{className:(0,a.Z)("tabs-container",g.tabList),children:[(0,b.jsx)(f,{...e,...t}),(0,b.jsx)(x,{...e,...t})]})}function y(e){const t=(0,v.Z)();return(0,b.jsx)(A,{...e,children:h(e.children)},String(t))}},6521:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var r=n(917),a=n(5944);function i(e){let{url:t,mobile:n}=e;const i=r.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6929],{4826:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>p,contentTitle:()=>d,default:()=>v,frontMatter:()=>c,metadata:()=>h,toc:()=>u});var r=n(5893),a=n(1151),i=n(6957),s=n(7796),o=n(6521),l=n(3273);const c={sidebar_position:26,title:"Drawer"},d=void 0,h={id:"components/drawer",title:"Drawer",description:"The drawer is a container that slides into the viewport to expose additional options and information. Multiple drawers can be created in an application, and they will be stacked above each other.",source:"@site/docs/components/drawer.md",sourceDirName:"components",slug:"/components/drawer",permalink:"/docs/components/drawer",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/drawer.md",tags:[],version:"current",sidebarPosition:26,frontMatter:{sidebar_position:26,title:"Drawer"},sidebar:"documentationSidebar",previous:{title:"Dialog",permalink:"/docs/components/dialog"},next:{title:"Field",permalink:"/docs/components/fields/"}},p={},u=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Autofocus",id:"autofocus",level:2},{value:"Label",id:"label",level:2},{value:"Size",id:"size",level:2},{value:"Max Size",id:"max-size",level:3},{value:"Placement",id:"placement",level:2},{value:"Events",id:"events",level:2},{value:"Drawer Open",id:"drawer-open",level:3},{value:"Drawer Close",id:"drawer-close",level:3},{value:"Toggling a Drawer Open or Closed",id:"toggling-a-drawer-open-or-closed",level:3},{value:"Removing an Event",id:"removing-an-event",level:3},{value:"Styling",id:"styling",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/drawer/Drawer",top:"true"}),"\n",(0,r.jsx)(t.p,{children:"The drawer is a container that slides into the viewport to expose additional options and information. Multiple drawers can be created in an application, and they will be stacked above each other."}),"\n",(0,r.jsx)(t.p,{children:'The Drawer component can be used in many different situations, such as by providing a navigation menu that can be toggled, a panel that displays supplementary or contextual information, or to optimize usage on a mobile device. The following example will show a mobile application that uses the DWCJ\'s AppLayout component, and displays a "Welcome Popup" drawer at the bottom when first loaded. Additionally, a navigational Drawer component can be toggled in the application by clicking on the hamburger menu.'}),"\n",(0,r.jsx)(o.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerWelcome",mobile:"true"}),"\n",(0,r.jsx)(i.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerWelcome.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/drawerstyles/drawer_welcome.css"}),"\n",(0,r.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Navigation Menu"}),": One common usage of a drawer component is as a navigation menu. It provides a space-efficient way to display links to various sections or pages of your application, especially in mobile or responsive layouts. Users can open and close the drawer to access navigation options without cluttering the main content area."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Filter and Sidebar"}),": A drawer can be used as a filter or sidebar in applications that display a list of items. Users can expand the drawer to reveal filter options, sort controls, or additional information related to the list items. This keeps the main content focused on the list while providing advanced features in an accessible way."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"User Profile or Settings"}),": You can use a drawer to show user profile information or application settings. This keeps such information easily accessible but hidden when not needed, maintaining a clean and uncluttered interface. Users can open the drawer to update their profiles or adjust settings."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Notifications"}),": For applications with notifications or alerts, a drawer can slide in to display new messages or updates. Users can quickly check and dismiss notifications without leaving their current view."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsx)(t.p,{children:"The Drawer component contains a single default constructor which will create a new instance of the Drawer class."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"Drawer newDrawer = new Drawer()\n"})}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerDemo.java",height:"600px"}),"\n",(0,r.jsx)(t.p,{children:"Various properties exist that allow for the customization of various attributes of the Drawer component. Below are those properties with examples for their modification."}),"\n",(0,r.jsx)(t.h2,{id:"autofocus",children:"Autofocus"}),"\n",(0,r.jsx)(t.p,{children:"The Auto-Focus property is designed to enhance accessibility and usability by automatically focusing on the first item within a drawer when it is opened. This feature eliminates the need for users to manually navigate to the desired item, saving time and effort."}),"\n",(0,r.jsx)(t.p,{children:"When the drawer is triggered to open, either through an event, by default or any other interaction, the user's focus is directed to the first item within the drawer. This first item could be a button, a link, a menu option, or any other focusable element."}),"\n",(0,r.jsx)(t.admonition,{type:"tip",children:(0,r.jsx)(t.p,{children:"By automatically focusing on the first item, the developer ensures that users can immediately engage with the most relevant or frequently used option without having to tab or scroll through the entire drawer. This behavior streamlines the user experience and promotes efficient navigation within the UI."})}),"\n",(0,r.jsx)(t.p,{children:"This property can also be particularly beneficial for individuals who rely on keyboard navigation or assistive technologies such as screen readers. It provides a clear starting point within the drawer and allows users to access the desired functionality without unnecessary manual input."}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerAutoFocus",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerAutoFocus.java",height:"600px"}),"\n",(0,r.jsx)(t.h2,{id:"label",children:"Label"}),"\n",(0,r.jsx)(t.p,{children:"The Drawer Label property is a feature designed to enhance accessibility and provide descriptive context for a drawer within a user interface. This property allows developers to assign a label to a drawer, primarily for accessibility purposes, ensuring that screen readers and other assistive technologies can accurately convey the drawer's purpose and content to users."}),"\n",(0,r.jsx)(t.p,{children:"When the Drawer Label property is utilized, the assigned label becomes an integral part of the drawer's accessibility infrastructure. It enables users who rely on assistive technologies to understand the drawer's function and navigate through the interface more effectively."}),"\n",(0,r.jsx)(t.p,{children:"By providing a label for the drawer, developers ensure that screen readers announce the purpose of the drawer to visually impaired users. This information empowers individuals to make informed decisions about interacting with the drawer, as they can understand its content and relevance within the broader user interface."}),"\n",(0,r.jsx)(t.p,{children:"The Label property can be customized to suit the specific context and design requirements of the application. Developers have the flexibility to provide concise and descriptive labels that accurately represent the drawer's content or functionality."}),"\n",(0,r.jsx)(t.h2,{id:"size",children:"Size"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"size"})," property of the Drawer component enables developers to control and specify the dimensions of the drawer within the user interface. This property allows for fine-tuning the size of the drawer, ensuring it aligns with the desired layout and design requirements."]}),"\n",(0,r.jsxs)(t.p,{children:["When utilizing the ",(0,r.jsx)(t.code,{children:"size"})," property, developers have the flexibility to define the width and height of the drawer based on their specific needs. Unlike the ",(0,r.jsx)(t.code,{children:"maxSize"})," property, which sets a maximum limit, the ",(0,r.jsx)(t.code,{children:"size"})," property provides explicit control over the actual size of the drawer."]}),"\n",(0,r.jsxs)(t.p,{children:["Developers can customize the ",(0,r.jsx)(t.code,{children:"size"})," property based on the available screen real estate, the amount of content to be displayed, and the overall design aesthetic. This level of control allows for creating visually balanced and functional interfaces."]}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"size"})," property can be defined using various units such as pixels, percentages, or other appropriate CSS measurement values. This versatility ensures that the drawer's size can be adjusted precisely to fit different screen sizes, resolutions, and device types."]}),"\n",(0,r.jsxs)(t.p,{children:["By utilizing the ",(0,r.jsx)(t.code,{children:"size"})," property effectively, developers can create responsive interfaces that adapt to different viewports and screen orientations. For instance, a smaller size can be chosen for mobile devices to optimize space utilization, while larger sizes can be used for desktop displays to take advantage of the available screen area."]}),"\n",(0,r.jsx)(t.h3,{id:"max-size",children:"Max Size"}),"\n",(0,r.jsx)(t.p,{children:"The Drawer max size property is a versatile feature designed to control the maximum width or height of a drawer within a user interface, based on the specified placement. This property allows developers to define the maximum size of the drawer, ensuring optimal presentation and layout while accommodating varying screen sizes and device resolutions."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:["To set the size of the drawer, modify the ",(0,r.jsx)(t.code,{children:"size"})," property - ",(0,r.jsx)(t.code,{children:"maxSize"})," is used to ensure a drawer never grows larger than a certain value."]})}),"\n",(0,r.jsx)(t.p,{children:"When utilizing the Drawer max size property, developers can set a maximum size value expressed as pixels, percentages, or other appropriate CSS measurement values. This value represents the maximum width when the drawer is placed on the left or right side of the interface or the maximum height when placed on the top or bottom."}),"\n",(0,r.jsx)(t.p,{children:"By defining a maximum size for the drawer, developers maintain control over its dimensions and prevent it from becoming excessively wide or tall, which could hinder the overall user experience. The CSS measurement approach allows for responsiveness, adapting the size of the drawer dynamically in relation to the available screen space."}),"\n",(0,r.jsx)(t.p,{children:"The Drawer's max size property is particularly beneficial when dealing with responsive and adaptive designs. It ensures that the drawer remains visually pleasing and functional across different devices, screen orientations, and viewports."}),"\n",(0,r.jsx)(t.p,{children:"When the drawer's content exceeds the defined maximum size, developers can implement appropriate techniques to handle overflow, such as scrolling within the drawer or utilizing additional UI patterns like tabs or accordions. This helps maintain a clean and organized interface while accommodating larger amounts of content."}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerSize",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerSize.java",height:"600px"}),"\n",(0,r.jsx)(t.h2,{id:"placement",children:"Placement"}),"\n",(0,r.jsx)(t.p,{children:"The placement property of the Drawer UI Component allows developers to specify the position and alignment of the drawer within the viewport. This property offers a range of enum values that provide flexibility in determining where the drawer appears in relation to the main content."}),"\n",(0,r.jsx)(t.p,{children:"The available enum values for the placement property are as follows:"}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"TOP"}),": This value places the drawer at the top of the viewport, allowing it to occupy the uppermost region."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"TOP_CENTER"}),": With this value, the drawer is positioned at the center of the top portion of the viewport. It is aligned horizontally in the middle, creating a balanced layout."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"BOTTOM"}),": When using this value, the drawer is situated at the bottom of the viewport, appearing below the main content."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"BOTTOM_CENTER"}),": This value centers the drawer horizontally at the bottom of the viewport. It provides a visually balanced composition."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"LEFT"}),": Selecting this value causes the drawer to be positioned on the left side of the viewport, adjacent to the main content."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"RIGHT"}),": By using this value, the drawer is placed on the right side of the viewport, maintaining a close proximity to the main content"]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.p,{children:"The placement property allows developers to choose the most appropriate position for the drawer based on the specific design and user experience requirements. The enum values offer a variety of placement options to accommodate different interface layouts and visual hierarchies."}),"\n",(0,r.jsx)(t.p,{children:"By leveraging the placement property, developers can create intuitive and efficient user interfaces. For example, placing the drawer on the left or right side allows for quick access to additional functionalities or navigation options, while top or bottom placements are well-suited for contextual information or supplementary content."}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.drawerdemos.DrawerPlacement",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/drawerdemos/DrawerPlacement.java",height:"600px"}),"\n",(0,r.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,r.jsx)(t.p,{children:"There are two supported events that can be used with the Drawer component, open and close events. These events are essential components of the Drawer component, providing developers with the means to respond and react to the opening and closing actions of the drawer within the user interface."}),"\n",(0,r.jsx)(t.h3,{id:"drawer-open",children:"Drawer Open"}),"\n",(0,r.jsxs)(t.p,{children:["Use the ",(0,r.jsx)(t.code,{children:"addOpenListener()"})," method to add an open event to your Drawer component."]}),"\n",(0,r.jsx)(t.p,{children:"The Drawer Open Event is triggered when the drawer is initiated to open, either through user interaction or programmatically. This event allows developers to execute specific actions, animations, or updates that should occur when the drawer becomes visible and accessible to the user. To add an open event listener, use the appropriate method:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"myDrawer.addOpenListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,r.jsx)(t.p,{children:"By leveraging the Drawer Open Event, developers can synchronize the opening of the drawer with other UI elements, trigger transitions or animations, and update the interface to reflect the change in state. This event can also be used to initiate fetching data, loading content, or any other necessary operations related to the appearance of the drawer."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"onOpen() method is similarly available for use, and simple calls the addOpenListener()"})," method."]})}),"\n",(0,r.jsx)(t.h3,{id:"drawer-close",children:"Drawer Close"}),"\n",(0,r.jsxs)(t.p,{children:["Use the ",(0,r.jsx)(t.code,{children:"addCloseListener()"})," method to add an open event to your Drawer component."]}),"\n",(0,r.jsx)(t.p,{children:"The Drawer Close Event is triggered when the drawer is initiated to close. This event provides developers with the opportunity to perform actions or updates that should take place when the drawer is no longer visible or accessible to the user. To add a close event listener, use the appropriate method:"}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"myDrawer.addCloseListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,r.jsx)(t.p,{children:"With the Drawer Close Event, developers can synchronize the closing of the drawer with other UI elements, initiate animations or transitions, and update the interface to reflect the change in state. Additionally, this event can be utilized to save user preferences, persist data, or perform any cleanup operations associated with the closure of the drawer."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"onClose()"})," method is similarly available for use, and simple calls the ",(0,r.jsx)(t.code,{children:"addOpenListener()"})," method."]})}),"\n",(0,r.jsx)(t.h3,{id:"toggling-a-drawer-open-or-closed",children:"Toggling a Drawer Open or Closed"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"toggle()"})," method allows developers to control the opening and closing behavior of the drawer based on a boolean value. This function provides a programmatic way to toggle the visibility of the drawer. This can be shorthanded by using the ",(0,r.jsx)(t.code,{children:"open()"})," and ",(0,r.jsx)(t.code,{children:"close()"})," methods, which call the ",(0,r.jsx)(t.code,{children:"toggle()"})," method with the appropriate boolean argument."]}),"\n",(0,r.jsx)(t.h3,{id:"removing-an-event",children:"Removing an Event"}),"\n",(0,r.jsx)(t.p,{children:"To remove either an open or close event from the Drawer, simply use the appropriate remove event listener method."}),"\n",(0,r.jsx)(t.pre,{children:(0,r.jsx)(t.code,{className:"language-java",children:"myDrawer.removeOpenListener(listener);\n"})}),"\n",(0,r.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,r.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,r.jsxs)(t.p,{children:["These are the various parts of the ",(0,r.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,r.jsx)(s.Z,{tag:n(5731).dy,table:"parts"}),"\n",(0,r.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,r.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,r.jsx)(s.Z,{tag:n(5731).dy,table:"properties"}),"\n",(0,r.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,r.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,r.jsx)(s.Z,{tag:n(5731).dy,table:"reflects"}),"\n",(0,r.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,r.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,r.jsx)(s.Z,{tag:"bbj-drawer",table:"dependencies"}),"\n",(0,r.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,r.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,r.jsx)(t.code,{children:"Drawer"})," component, consider the following best practices:"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Placement"}),": Decide whether the drawer should slide in from the left, right, top, or bottom, based on your application's layout and user experience considerations. Consider user preferences and design conventions."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Accessibility"}),": Pay special attention to accessibility. Ensure that users can open and close the drawer using keyboard controls and that screen readers can announce its presence and state. Provide ARIA roles and labels as necessary."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Swipe Gestures"}),": On touch-enabled devices, support swipe gestures for opening and closing the drawer. This is an intuitive way for users to interact with it."]}),"\n"]}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var r=n(4836);t.Z=void 0;var a=r(n(4938)),i=n(5893),s=(0,a.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=s},2610:(e,t,n)=>{var r=n(4836);t.Z=void 0;var a=r(n(4938)),i=n(5893),s=(0,a.default)((0,i.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=s},5162:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var r=n(6010);const a={tabItem:"tabItem_Ymn6"};var i=n(5893);function s(e){let{children:t,hidden:n,className:s}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,r.Z)(a.tabItem,s),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>y});var r=n(7294),a=n(6010),i=n(2466),s=n(6550),o=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:a}}=e;return{value:t,label:n,attributes:r,default:a}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const a=(0,s.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(i),(0,r.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(a.location.search);t.set(i,e),a.replace({...a.location,search:t.toString()})}),[i,a])]}function v(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,i=p(e),[s,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:i}))),[c,h]=m({queryString:n,groupId:a}),[v,w]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,i]=(0,d.Nk)(n);return[a,(0,r.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:a}),g=(()=>{const e=c??v;return u({value:e,tabValues:i})?e:null})();(0,o.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!u({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),w(e)}),[h,w,i]),tabValues:i}}var w=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var b=n(5893);function f(e){let{className:t,block:n,selectedValue:r,selectValue:s,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),a=o[n].value;a!==r&&(c(t),s(a))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...i,className:(0,a.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:a}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===a));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function A(e){const t=v(e);return(0,b.jsxs)("div",{className:(0,a.Z)("tabs-container",g.tabList),children:[(0,b.jsx)(f,{...e,...t}),(0,b.jsx)(x,{...e,...t})]})}function y(e){const t=(0,w.Z)();return(0,b.jsx)(A,{...e,children:h(e.children)},String(t))}},6521:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var r=n(917),a=n(5944);function i(e){let{url:t,mobile:n}=e;const i=r.iv` display: flex; flex-direction: column; align-items: center; @@ -18,13 +18,15 @@ width: 100%; height: 100%; background: var(--bbj-surface-3); - `;return(0,a.tZ)("div",{css:i,children:(0,a.tZ)("div",{css:s,children:(0,a.tZ)("iframe",{src:t,css:o,loading:"lazy"})})})}},6957:(e,t,n)=>{n.d(t,{Z:()=>v});var r=n(7294),a=n(917),i=n(4866),s=n(5162),o=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var p=n(2949),u=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const r=a.iv` + `;return(0,a.tZ)("div",{css:i,children:(0,a.tZ)("div",{css:s,children:(0,a.tZ)("iframe",{src:t,css:o,loading:"lazy"})})})}},6957:(e,t,n)=>{n.d(t,{Z:()=>w});var r=n(7294),a=n(917),i=n(4866),s=n(5162),o=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var p=n(2610),u=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const r=a.iv` display: flex; justify-content: end; - margin-bottom: -30px; + align-items: flex-end; background-color: transparent; + margin-bottom: -10px; `,i=a.iv` - position: relative; + /* position: absolute; + right: 0; */ cursor: pointer; z-index: 10; height: 35px; @@ -32,11 +34,12 @@ border: none; background-color: none; justify-self: flex-end; - margin-right: 5px; background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; `,s=a.iv` filter: invert(var(--inversion-percentage)); - `;return(0,u.tZ)("div",{css:r,children:(0,u.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,u.tZ)("img",{css:s,src:d,className:"icon-tabler-arrow-bar-up"}):(0,u.tZ)("img",{css:s,src:c,className:"icon-tabler-arrow-bar-down"})})})}function w(e){let{url:t}=e;const n=a.iv` + `;return(0,u.tZ)("div",{css:r,children:(0,u.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,u.tZ)("img",{css:s,src:d,className:"icon-tabler-arrow-bar-up"}):(0,u.tZ)("img",{css:s,src:c,className:"icon-tabler-arrow-bar-down"})})})}function v(e){let{url:t}=e;const n=a.iv` position: relative; cursor: pointer; z-index: 10; @@ -45,7 +48,6 @@ border: none; background-color: none; justify-self: flex-end; - /* margin-right: 5px; */ margin-top: -5px; margin-bottom: -20px; background-color: transparent; @@ -57,52 +59,95 @@ mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ opacity: 0.5; } - `;return(0,u.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,u.tZ)("img",{css:r,src:h})})}function v(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:v,frame:g,tabs:b}=e;const[f,x]=(0,r.useState)(""),[A,y]=(0,r.useState)(""),[j,D]=(0,r.useState)(""),[T,k]=(0,r.useState)(!(!n||!c)),[B,S]=(0,r.useState)(!1),[Z,z]=(0,r.useState)({});(0,r.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];z((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];z((e=>({...e,cssFile:n})))}))}),[]);const C=a.iv` + `;return(0,u.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,u.tZ)("img",{css:r,src:h})})}function w(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:w,frame:g,tabs:b}=e;const[f,x]=(0,r.useState)(""),[A,y]=(0,r.useState)(""),[j,D]=(0,r.useState)(""),[S,k]=(0,r.useState)(!(!n||!c)),[Z,z]=(0,r.useState)(!1),[T,B]=(0,r.useState)({}),[C,E]=(0,r.useState)(!1),[L,O]=(0,r.useState)(0),[M,N]=(0,r.useState)(0),[F,V]=(0,r.useState)(25),[J,H]=(0,r.useState)(25),[X,P]=(0,r.useState)(0),[G,I]=(0,r.useState)(!1),W=(0,r.useRef)(null),Y=(0,r.useRef)(null);(0,r.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];B((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];B((e=>({...e,cssFile:n})))})),P(W.current.offsetWidth),console.log(X)}),[]);const U=()=>{E(!1),console.log("Stop Resizing")},R=e=>{if(C){const t=e.clientX-L;M+t>X/3&&(W.current.style.width=`${M+t}px`,Y.current.style.right=(F-t<25?25:F-t)+"px",H(F-t<25?25:F-t))}},q=a.iv` display: flex; flex-direction: column; - background-color: var(--code-display-color); width: 100%; margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,E=a.iv` + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=a.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=a.iv` min-height: 100px; height: 100%; width: 100%; - height: ${v}; - `,L=a.iv` - border: none; + height: ${w||"100%"}; + pointer-events: none; + `,_=a.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${Z&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=a.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=a.iv` box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; - .tabs{ - margin-top: 20px; + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px } summary{ display: flex; width: 100%; justify-content: center; - margin: 0; + margin: 10px 0; font-weight: bold; ::before{ left: auto; margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) } } - - `,O=a.iv` - width: 100%; - `,N=a.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${B&&"opacity: 1;"}; + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=a.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } - `;return(0,u.BX)("div",{css:C,children:["hidden"!=g?(0,u.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:O,children:[(0,u.tZ)("div",{css:N,children:(0,u.tZ)(w,{url:t})}),(0,u.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,p.I)().colorMode?"dark":"light"),css:E})]}):null,(0,u.BX)(o.Z,{css:L,summary:(0,u.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,u.tZ)(m,{collapse:T,setCollapse:k}):null,d?(0,u.BX)(i.Z,{children:[(0,u.tZ)(s.Z,{value:b?b[0]:"Java",label:b?b[0]:Z.javaFile,default:!0,children:(0,u.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:T?f:A})}),(0,u.tZ)(s.Z,{value:b?b[1]:"CSS",label:b?b[1]:Z.cssFile,children:(0,u.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,u.tZ)(i.Z,{children:(0,u.tZ)(s.Z,{value:b?b[0]:"Java",label:b?b[0]:Z.javaFile,default:!0,children:(0,u.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:T?f:A})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(7294),a=n(917),i=n(8230),s=n(4387),o=n(6770);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:p}=e;const[u,m]=(0,r.useState)("");(0,r.useEffect)((()=>{p||(p=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+p)}),[]);const w=a.iv` + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=a.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,u.BX)("div",{css:q,onMouseUp:U,onMouseLeave:U,onMouseMove:R,children:["hidden"!=g?(0,u.BX)("div",{onMouseEnter:()=>{z(!0)},onMouseLeave:()=>z(!1),css:K,children:[(0,u.tZ)("iframe",{onMouseUp:U,loading:"lazy",src:t,css:{...Q,pointerEvents:C?"none":"auto"},ref:W,onMouseMove:R}),(0,u.tZ)("div",{css:_,ref:Y,children:(0,u.tZ)(v,{url:t})}),(0,u.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),E(!0),O(e.clientX),N(W.current.offsetWidth),V(J),console.log(Y.current.right),console.log("Start Resizing")},children:(0,u.tZ)(p.Z,{})})]}):null,(0,u.BX)(o.Z,{css:ee,summary:(0,u.tZ)("summary",{onClick:()=>I(!G),children:G?"Hide Code":"Show Code"}),children:[n&&c?(0,u.tZ)(m,{collapse:S,setCollapse:k}):null,d?(0,u.BX)(i.Z,{css:te,children:[(0,u.tZ)(s.Z,{value:b?b[0]:"Java",label:b?b[0]:T.javaFile,default:!0,children:(0,u.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:S?f:A})}),(0,u.tZ)(s.Z,{value:b?b[1]:"CSS",label:b?b[1]:T.cssFile,children:(0,u.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,u.tZ)(i.Z,{css:te,children:(0,u.tZ)(s.Z,{value:b?b[0]:"Java",label:b?b[0]:T.javaFile,default:!0,children:(0,u.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:S?f:A})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(7294),a=n(917),i=n(8230),s=n(4387),o=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:p}=e;const[u,m]=(0,r.useState)("");(0,r.useEffect)((()=>{p||(p=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+p)}),[]);const v=a.iv` display: inline; ${c&&a.iv` @@ -112,9 +157,10 @@ margin-top: -33px; margin-bottom: 25px; `} - `,v=a.iv` + `,w=a.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:w,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(s.Z,{css:v,label:"Java API",component:"a",href:u,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:w,children:(0,l.tZ)("a",{href:u,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:w,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:u,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var r=n(8397),a=n(5893);function i(e){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(r.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:v,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(s.Z,{css:w,label:"Java API",component:"a",href:u,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:v,children:(0,l.tZ)("a",{href:u,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:v,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:u,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var r=n(8397),a=n(5893);function i(e){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(r.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/0577d7e9.f2b1fe1f.js b/assets/js/0577d7e9.103fe79a.js similarity index 73% rename from assets/js/0577d7e9.f2b1fe1f.js rename to assets/js/0577d7e9.103fe79a.js index 5740b0212..a031ef643 100644 --- a/assets/js/0577d7e9.f2b1fe1f.js +++ b/assets/js/0577d7e9.103fe79a.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2084],{978:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>m,frontMatter:()=>c,metadata:()=>d,toc:()=>a});var s=n(5893),i=n(1151),l=n(3273);const c={sidebar_position:0,title:"ListClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListClickEvent"},o=void 0,d={id:"components/events/click-event",title:"ListClickEvent",description:"This event is triggered when the user clicks an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/click-event.md",sourceDirName:"components/events",slug:"/components/events/ListClickEvent",permalink:"/docs/components/events/ListClickEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/click-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListClickEvent"},sidebar:"documentationSidebar",previous:{title:"CheckEvent",permalink:"/docs/components/events/CheckEvent"},next:{title:"FocusEvent",permalink:"/docs/components/events/FocusEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/ListClickEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is triggered when the user clicks an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),l=n(8230),c=n(4387),o=n(6770);var d=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:m}=e;const[p,v]=(0,s.useState)("");(0,s.useEffect)((()=>{m||(m=""),v("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+m)}),[]);const u=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2084],{978:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>o,default:()=>v,frontMatter:()=>l,metadata:()=>d,toc:()=>a});var s=n(5893),i=n(1151),c=n(3273);const l={sidebar_position:0,title:"ListClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListClickEvent"},o=void 0,d={id:"components/events/click-event",title:"ListClickEvent",description:"This event is triggered when the user clicks an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/click-event.md",sourceDirName:"components/events",slug:"/components/events/ListClickEvent",permalink:"/docs/components/events/ListClickEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/click-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListClickEvent"},sidebar:"documentationSidebar",previous:{title:"CheckEvent",permalink:"/docs/components/events/CheckEvent"},next:{title:"FocusEvent",permalink:"/docs/components/events/FocusEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.Z,{type:"engine",location:"org/dwcj/component/event/ListClickEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is triggered when the user clicks an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),c=n(5893),l=(0,i.default)((0,c.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=l},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),c=n(8230),l=n(4387),o=n(6031);var d=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:v}=e;const[m,p]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const u=i.iv` display: inline; ${r&&i.iv` @@ -10,7 +10,8 @@ `} `,x=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,d.BX)(d.HY,{children:["true"===r&&(0,d.tZ)("div",{css:u,children:(0,d.tZ)(l.Z,{title:"JavaDoc",arrow:!0,children:(0,d.tZ)(c.Z,{css:x,label:"Java API",component:"a",href:p,icon:(0,d.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==r&&!h&&(0,d.tZ)("div",{css:u,children:(0,d.tZ)("a",{href:p,target:"_blank",children:a})}),"true"!==r&&h&&(0,d.tZ)("div",{css:u,children:(0,d.tZ)("code",{children:(0,d.tZ)("a",{href:p,target:"_blank",children:a})})})]})}}}]); \ No newline at end of file + `;return(0,d.BX)(d.HY,{children:["true"===r&&(0,d.tZ)("div",{css:u,children:(0,d.tZ)(c.Z,{title:"JavaDoc",arrow:!0,children:(0,d.tZ)(l.Z,{css:x,label:"Java API",component:"a",href:m,icon:(0,d.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==r&&!h&&(0,d.tZ)("div",{css:u,children:(0,d.tZ)("a",{href:m,target:"_blank",children:a})}),"true"!==r&&h&&(0,d.tZ)("div",{css:u,children:(0,d.tZ)("code",{children:(0,d.tZ)("a",{href:m,target:"_blank",children:a})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/23e38187.b192406a.js b/assets/js/23e38187.3a95bb78.js similarity index 73% rename from assets/js/23e38187.b192406a.js rename to assets/js/23e38187.3a95bb78.js index a3bab8216..0c410549c 100644 --- a/assets/js/23e38187.b192406a.js +++ b/assets/js/23e38187.3a95bb78.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4384],{3299:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>v,frontMatter:()=>c,metadata:()=>r,toc:()=>l});var s=n(5893),o=n(1151),i=n(3273);const c={sidebar_position:0,title:"Event",sidebar_class_name:"sidebar--item__hidden",slug:"event",pagination_prev:null},d=void 0,r={id:"components/events/event",title:"Event",description:"This class is the base class for all events fired by the components. It is extended by the other events implemented by various components, and can also be extended to create custom events.",source:"@site/docs/components/events/event.md",sourceDirName:"components/events",slug:"/components/events/event",permalink:"/docs/components/events/event",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Event",sidebar_class_name:"sidebar--item__hidden",slug:"event",pagination_prev:null},sidebar:"documentationSidebar",next:{title:"BlurEvent",permalink:"/docs/components/events/BlurEvent"}},a={},l=[{value:"Event Payload",id:"event-payload",level:2}];function h(e){const t={code:"code",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/Event",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This class is the base class for all events fired by the components. It is extended by the other events implemented by various components, and can also be extended to create custom events."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getData()"})}),(0,s.jsx)(t.td,{children:"Get the event map sent by the component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getEventMap()"})}),(0,s.jsxs)(t.td,{children:["Alias for the ",(0,s.jsx)(t.code,{children:"getData()"})," method above."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getControl()"})}),(0,s.jsx)(t.td,{children:"Gets the control."})]})]})]})]})}function v(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(7294),o=n(917),i=n(8230),c=n(4387),d=n(6770);var r=n(5944);function a(e){let{type:t,location:n,top:a,children:l,code:h,suffix:v}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const u=o.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4384],{3299:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>v,frontMatter:()=>i,metadata:()=>r,toc:()=>l});var s=n(5893),o=n(1151),c=n(3273);const i={sidebar_position:0,title:"Event",sidebar_class_name:"sidebar--item__hidden",slug:"event",pagination_prev:null},d=void 0,r={id:"components/events/event",title:"Event",description:"This class is the base class for all events fired by the components. It is extended by the other events implemented by various components, and can also be extended to create custom events.",source:"@site/docs/components/events/event.md",sourceDirName:"components/events",slug:"/components/events/event",permalink:"/docs/components/events/event",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Event",sidebar_class_name:"sidebar--item__hidden",slug:"event",pagination_prev:null},sidebar:"documentationSidebar",next:{title:"BlurEvent",permalink:"/docs/components/events/BlurEvent"}},a={},l=[{value:"Event Payload",id:"event-payload",level:2}];function h(e){const t={code:"code",h2:"h2",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.Z,{type:"engine",location:"org/dwcj/component/event/Event",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This class is the base class for all events fired by the components. It is extended by the other events implemented by various components, and can also be extended to create custom events."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getData()"})}),(0,s.jsx)(t.td,{children:"Get the event map sent by the component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getEventMap()"})}),(0,s.jsxs)(t.td,{children:["Alias for the ",(0,s.jsx)(t.code,{children:"getData()"})," method above."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getControl()"})}),(0,s.jsx)(t.td,{children:"Gets the control."})]})]})]})]})}function v(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var o=s(n(4938)),c=n(5893),i=(0,o.default)((0,c.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=i},3273:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(7294),o=n(917),c=n(8230),i=n(4387),d=n(6031);var r=n(5944);function a(e){let{type:t,location:n,top:a,children:l,code:h,suffix:v}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const u=o.iv` display: inline; ${a&&o.iv` @@ -8,9 +8,10 @@ margin-top: -33px; margin-bottom: 25px; `} - `,b=o.iv` + `,x=o.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,r.BX)(r.HY,{children:["true"===a&&(0,r.tZ)("div",{css:u,children:(0,r.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(c.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,r.tZ)(d.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==a&&!h&&(0,r.tZ)("div",{css:u,children:(0,r.tZ)("a",{href:p,target:"_blank",children:l})}),"true"!==a&&h&&(0,r.tZ)("div",{css:u,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:p,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file + `;return(0,r.BX)(r.HY,{children:["true"===a&&(0,r.tZ)("div",{css:u,children:(0,r.tZ)(c.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(i.Z,{css:x,label:"Java API",component:"a",href:p,icon:(0,r.tZ)(d.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==a&&!h&&(0,r.tZ)("div",{css:u,children:(0,r.tZ)("a",{href:p,target:"_blank",children:l})}),"true"!==a&&h&&(0,r.tZ)("div",{css:u,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:p,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/2abf1b13.04b81686.js b/assets/js/2abf1b13.04b81686.js deleted file mode 100644 index f8f8a7abe..000000000 --- a/assets/js/2abf1b13.04b81686.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4373],{6672:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>c,metadata:()=>h,toc:()=>p});var n=s(5893),i=s(1151),o=s(6957),r=s(7796),a=s(3273),l=s(2665);const c={sidebar_position:3,title:"ListBox",slug:"listbox"},d=void 0,h={id:"components/list-components/list-box",title:"ListBox",description:"The ListBox component is a user interface element designed to display a scrollable list of objects and allows users to select single or multiple items from the list. Users can also interact with the ListBox with the arrow keys.",source:"@site/docs/components/list-components/list-box.md",sourceDirName:"components/list-components",slug:"/components/list-components/listbox",permalink:"/docs/components/list-components/listbox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/list-box.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"ListBox",slug:"listbox"},sidebar:"documentationSidebar",previous:{title:"ComboBox",permalink:"/docs/components/list-components/combobox"},next:{title:"ProgressBar",permalink:"/docs/components/progress-bar"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Selection Options",id:"selection-options",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,n.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-list-box",href:"https://basishub.github.io/basis-next/#/web-components/bbj-list-box",clickable:!1,iconName:"code"}),"\n",(0,n.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ListBox"})," component is a user interface element designed to display a scrollable list of objects and allows users to select single or multiple items from the list. Users can also interact with the ",(0,n.jsx)(t.code,{children:"ListBox"})," with the arrow keys."]}),"\n",(0,n.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"User Role Assignment"}),": In applications with user access control, administrators can use a ",(0,n.jsx)(t.code,{children:"ListBox"})," to assign roles and permissions to users. Users are selected from a list, and the roles or permissions are assigned based on their selection. This ensures precise and controlled access to different features and data within the application."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Project Task Assignment"}),": In project management software, ",(0,n.jsx)(t.code,{children:"ListBox"})," components are useful for assigning tasks to team members. Users can select tasks from a list and assign them to different team members. This simplifies task delegation and ensures that responsibilities are clearly defined within the team."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Multi-Category Filtering"}),": In a search application, users often need to filter search results based on multiple criteria. A ",(0,n.jsx)(t.code,{children:"ListBox"})," can display various filter options, such as"]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Product features"}),"\n",(0,n.jsx)(t.li,{children:"Price ranges"}),"\n",(0,n.jsx)(t.li,{children:"Brands."}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.p,{children:"Users can select items from each filter category, allowing them to refine search results and find exactly what they're looking for."}),"\n",(0,n.jsxs)(t.ol,{start:"4",children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Content Categorization"}),": In content management systems, ",(0,n.jsx)(t.code,{children:"ListBox"})," components assist in categorizing articles, images, or files. Users can select one or more categories to associate with their content, making it easier to organize and search for content items in the system."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#()",children:"ListBox()"}),": Constructs a new ",(0,n.jsx)(t.code,{children:"ListBox"})," without a label."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#(java.lang.String)",children:"ListBox(String label)"}),": Constructs a new ",(0,n.jsx)(t.code,{children:"ListBox"})," with the specified label."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.ComponentEventListener)",children:"ListBox(String label, ComponentEventListener< ListSelectEvent> selectListener)"}),": Constructs a new ",(0,n.jsx)(t.code,{children:"ListBox"})," with the given label and a listener to handle item selection events."]}),"\n"]}),"\n",(0,n.jsx)(t.h2,{id:"selection-options",children:"Selection Options"}),"\n",(0,n.jsxs)(t.p,{children:["By default, the list box is configured to allow selection of a single item at a time. However, this can be easily configured with a built-in method which allows users to select multiple items ",(0,n.jsx)(t.em,{children:(0,n.jsxs)(t.strong,{children:["using the ",(0,n.jsx)(t.code,{children:"Shift"})," key"]})})," for contiguous entry selection and ",(0,n.jsx)(t.em,{children:(0,n.jsxs)(t.strong,{children:[(0,n.jsx)(t.code,{children:"Control"})," (Windows) or ",(0,n.jsx)(t.code,{children:"Command"})," (Mac) key"]})})," for separate, multiple item selection. Use the ",(0,n.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#setSelectionMode(org.dwcj.component.list.MultipleSelectableList.SelectionMode)",children:"setSelectionMode()"})," function to change this property. True will enable multiple selection, false disables it."]}),"\n",(0,n.jsxs)(t.p,{children:["Additionally, the arrow keys can be used to navigate the ",(0,n.jsx)(t.code,{children:"ListBox"}),", and typing a letter key while the ",(0,n.jsx)(t.code,{children:"ListBox"})," has focus will select the option that begins with that letter, or cycle through the options beginning with that letter should multiple options exist."]}),"\n",(0,n.jsx)(o.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.listboxdemos.ListboxMultipleSelection",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/listboxdemos/ListboxMultipleSelection.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/listbox/MultipleSelection.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/listboxstyles/multiple_selection.css",height:"250px"}),"\n",(0,n.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ListBox"})," class provides methods to add and remove event listeners for the events common to all list components."]}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["For a list of events supported by the ",(0,n.jsx)(t.code,{children:"ListBox"}),", see ",(0,n.jsx)(t.a,{href:"/docs/components/list-components/lists#shared-events",children:"this section"})," which outlines shared events amongst list components."]})}),"\n",(0,n.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,n.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,n.jsxs)(t.p,{children:["There are five ",(0,n.jsx)(t.code,{children:"ListBox"})," expanses that are supported which allow for quick styling without using CSS. Expanses are supported by use of a built-in enum class. ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(o.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.listboxdemos.ListboxExpanses",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/listboxdemos/ListboxExpanses.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/listbox/Expanses.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/listboxstyles/expanse_styles.css",height:"300px"}),"\n",(0,n.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,n.jsxs)(t.p,{children:["These are the various parts of the ",(0,n.jsx)(t.a,{href:"../../glossary#shadow-dom",children:"shadow DOM"})," for the ",(0,n.jsx)(t.code,{children:"ListBox"})," component, which will be required when styling via CSS is desired."]}),"\n",(0,n.jsx)(r.Z,{tag:s(5731).wb,table:"parts",exclusions:""}),"\n",(0,n.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,n.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,n.jsx)(r.Z,{tag:s(5731).wb,exclusions:"",table:"properties"}),"\n",(0,n.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,n.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,n.jsx)(r.Z,{tag:s(5731).wb,table:"reflects",exclusions:""}),"\n",(0,n.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,n.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,n.jsx)(r.Z,{tag:"bbj-list",table:"dependencies"}),"\n",(0,n.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,n.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,n.jsx)(t.code,{children:"ChoiceBox"})," component, consider the following best practices:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Prioritize Information Hierarchy"}),": When using a ",(0,n.jsx)(t.code,{children:"ListBox"}),", ensure that the items are organized in a logical and hierarchical order. Place the most important and commonly used options at the top of the list. This makes it easier for users to find what they need without excessive scrolling."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Limit List Length"}),": Avoid overwhelming users with an excessively long ",(0,n.jsx)(t.code,{children:"ListBox"}),". If there are a large number of items to display, consider implementing pagination, search, or filtering options to help users locate items quickly. Alternatively, you can group items into categories to reduce list length."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Clear and Descriptive Labels"}),": Provide clear and descriptive labels for each item in the ",(0,n.jsx)(t.code,{children:"ListBox"}),". Users should be able to understand the purpose of each option without ambiguity. Use concise and meaningful item labels."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Multi-Selection Feedback"}),": If your ",(0,n.jsx)(t.code,{children:"ListBox"})," allows for multiple selections, provide visual or textual feedback indicating that multiple items can be selected from the list."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Default Selection"}),": Consider setting a default selection for the ",(0,n.jsx)(t.code,{children:"ListBox"}),", especially if one option is more commonly used than others. This can streamline the user experience by pre-selecting the most likely choice."]}),"\n"]}),"\n"]})]})}function b(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},5162:(e,t,s)=>{s.d(t,{Z:()=>r});s(7294);var n=s(6010);const i={tabItem:"tabItem_Ymn6"};var o=s(5893);function r(e){let{children:t,hidden:s,className:r}=e;return(0,o.jsx)("div",{role:"tabpanel",className:(0,n.Z)(i.tabItem,r),hidden:s,children:t})}},4866:(e,t,s)=>{s.d(t,{Z:()=>j});var n=s(7294),i=s(6010),o=s(2466),r=s(6550),a=s(469),l=s(1980),c=s(7392),d=s(12);function h(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:s}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:s,attributes:n,default:i}}=e;return{value:t,label:s,attributes:n,default:i}}))}(s);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,s])}function p(e){let{value:t,tabValues:s}=e;return s.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:s}=e;const i=(0,r.k6)(),o=function(e){let{queryString:t=!1,groupId:s}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!s)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:t,groupId:s});return[(0,l._X)(o),(0,n.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(i.location.search);t.set(o,e),i.replace({...i.location,search:t.toString()})}),[o,i])]}function b(e){const{defaultValue:t,queryString:s=!1,groupId:i}=e,o=u(e),[r,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:s}=e;if(0===s.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:s}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${s.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=s.find((e=>e.default))??s[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:o}))),[c,h]=m({queryString:s,groupId:i}),[b,x]=function(e){let{groupId:t}=e;const s=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,o]=(0,d.Nk)(s);return[i,(0,n.useCallback)((e=>{s&&o.set(e)}),[s,o])]}({groupId:i}),g=(()=>{const e=c??b;return p({value:e,tabValues:o})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:r,selectValue:(0,n.useCallback)((e=>{if(!p({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),x(e)}),[h,x,o]),tabValues:o}}var x=s(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=s(5893);function v(e){let{className:t,block:s,selectedValue:n,selectValue:r,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,o.o5)(),d=e=>{const t=e.currentTarget,s=l.indexOf(t),i=a[s].value;i!==n&&(c(t),r(i))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const s=l.indexOf(e.currentTarget)+1;t=l[s]??l[0];break}case"ArrowLeft":{const s=l.indexOf(e.currentTarget)-1;t=l[s]??l[l.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":s},t),children:a.map((e=>{let{value:t,label:s,attributes:o}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...o,className:(0,i.Z)("tabs__item",g.tabItem,o?.className,{"tabs__item--active":n===t}),children:s??t},t)}))})}function f(e){let{lazy:t,children:s,selectedValue:i}=e;const o=(Array.isArray(s)?s:[s]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===i));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:o.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function w(e){const t=b(e);return(0,A.jsxs)("div",{className:(0,i.Z)("tabs-container",g.tabList),children:[(0,A.jsx)(v,{...e,...t}),(0,A.jsx)(f,{...e,...t})]})}function j(e){const t=(0,x.Z)();return(0,A.jsx)(w,{...e,children:h(e.children)},String(t))}},6957:(e,t,s)=>{s.d(t,{Z:()=>x});var n=s(7294),i=s(917),o=s(4866),r=s(5162),a=s(4673),l=s(1750);const c="data:image/png;base64,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",d=s.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAALyElEQVR4nO3dXahmVR3H8e+M0/FlRouiGV9GxLSkiy7MkW7MDJOCCJ1zkia66KaLLByKEqUizW6EwJjKi24yDfL9pYSEEDSlIMS3JkJrlBzURiUcdXyZF8cu9hnmpOfMec551tr//9rP9wMLQWU9/73W/p398qy9H5AkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSW1bEV1ABauBs4AzgNNm2zrgvcAa4D1xpakHe4DXgJeAF4HHgSeAh4A/z/63wRhKgNcBXwamgU8AU7HlKKk9wF+B24EbgOdjy9E5wF3AXuBtm20JbS/we+Bs1Ltz6U6HoncC2zDaA8CnUXXHAdcTP+G2Yba7gBNRFZuAncRPsm3YbSdwISrmCOCXxE+sbbLaNcDhaCxrgD8SP5m2yWz30n39mFbmr5HWAXcDp0cXoon2CPA54IXoQuaTNcDHAPdheJXDVrqvm3ZGF/JOK6MLmMcRdHcDDa+y+BhwGwmviQ+LLmAe19CtqJIyORl4P/CH6ELmyhbgC4GroouQFnAm8E/g79GFHJDpGvh44B8kv+unibcT+CiwI7oQyHUNfDWGV/m9D/hJdBEHZDkCnwvcE12ENKK36dZO/ym6kCwBfoDuGV6pFfcDn4ouIsMp9DkYXrXnbOCT0UVkCPB3oguQlumS6AKiT6HXAs8Cq4LrkJZjH7CeCX6zx7epuxj9TbrnhzcCJ+H7sCbBKrq5ngZ+Q7cP1NzHNvezWTndT72B/S3dd8uabCcAN1L3iaWJtBrYTfkB3Qd8vcftUBu+Qbdv1DjLO7LH7Ujjs9T5i3hRnxuhpnyTOvvceX1uRBbfo85ps3QoN1F+v7us1y1I4jrKDuIbeM2rxa2n/I2ta3vdgjkivwc+rXB/twDPFe5Tw/MMcGvhPkvvyyOLDPCxhfu7o3B/Gq47C/dXel8eWWSAjy7c30OF+9Nwld5XSu/LI4tcibWbsr9hNEX3cxnSYqbo9r9SdtO9Cqp3kQF+u3B/0ctC1ZZB7H8ZHmaQtEwGWGqYAZYaZoClhhlgqWEGWGqYAZYaZoClhhlgqWEGeFimgE10r5DZRre0tMYD7KXbHuBp4Gd0P+quBpTeCSbdDLCd+DCO2/bRz0+XuP+NyQEsYyWwhfjglW6PUvd1w+5/Y3IAyxhieOeGuBb3vzE5gOObIT5ktVut0+lB7H8+TtiuKeBxul+OH7J9wAeAVwr3O4j9z7vQ7Zpm+OGF7jr4yugisjLA7doYXUCPpqMLyMoAt+vM6AJ6dFx0AVl5DdyuNwh6D1OQ0vM7iP3PI3C7JvXOu+YwwO3aEV2A4hngdj0YXYDiGeB2+UsU8iZWwyZlIccB3sSah0fgdu0BLokuQrEMcNtuo3uGVurdIBaTJzDUxwlrz2/2+tJzAMsaygP9BngJvIk1LFN064YvADYAJ1H3ofg+eRMrmUH8BRywlcCviT/yegROygHMK1t4DXBCDmBOGcNrgBNyAPPJGl4DnJADmEvm8BrghBzAPLKH1wAn5ADm0EJ4DXBCDmC8VsJrgBNyAGO1FF4DnJADGKe18BrghBzAGC2G1wAn5AD2r9XwGuCEHMB+tRxeA5yQA9if1sNrgBNyAPsREd4bKvRZWvb60nMA64sK72EV+i0te33pOYB1RYaXCn2Xlr2+9BzAeqLDS4X+S8teX3oOYB0ZwkuFzygte33pOYDlZQkvFT6ntOz1pecAlpUpvFT4rNKy15eeA1hOtvBS4fNKy15feg5gGRnDS4XPLC17fek5gOPLGl4qfG5p2etLzwEcT+bwUuGzS8teX3oO4PJlDy8VPr+07PWl5wAuTwvhpUINpWWvLz0HcOlaCS8V6igte33pOYBL01J4qVBLadnrS88BHF1r4aVCPaVlry+91yk3eK/1XHufWgwv5J9fAzympyg3eE/1XHtfWg0v5J/fQQR4ZdQHAw8m7SuLlcC1wFd7/Mzrga8AbxXoy/kduE2U++v3pZ5r78MW+j3yXkfZP+jZ53cQR+BIU5Q5zfo3cHi/pVc3Q9vhhfzza4ALKLGjzvRedV2ldvxRW6lr3vlknl8DXMg4p4pbAuqtreSpZ2R4D8g6vwa4kJUsb5K3EHsTrpab6Ce8NU6b55N1fg1wYTPAdhYfqO0M77R5rj5On/sK71zZ5tcAVzBFdwp5I7AN2Dvbts3+u02z/8+QvUHd8PZx2ryQTPNrgFVFyRVMmcKbjQFWFbVOoSNOmzMzwKqixk0sw/tuBlhVlP4aydPm+RlgVVFyIYfhXZgBVjUlVjB52nxoBlhVjbOCyfAuzgCrqqwrmIbCAKsX2VYwDYUBVm8yrWAaikEEeEXUB0vBSocuJEteK0kNM8BSwwyw1DADLDXMAEsNM8BSwwyw1DADLDXMAEsNWxVdwBynABcAHwfWA+tm/7k6qJ7XgGeA52f/+TBwJ/BkUD1SOuuAHwNbKb82tVbbClw5W7vaNYi10FFWA5cCLxMfyOW2XcBVwDGFx0b9MMDLNAPsID6ApdoOYGPREVIfDPASraA76r5FfOhKt/10R2NvCrbDAC/BUcAtxAetdrsJOLLQmKkuAzyiFXQPnUeHq692Gz5n3QIDPKIriA9V3+2HJQZOVRngEczQXR9GB6rvth9vbGU3iADXPNVbA/wLOLbiZ2T2AnAq8Gp0IZpX6dAN7pU632VywwuwFvhWdBEatlp/NdbSvTHx6Er9t2IX8GG674qVi0fgQ7gYwwvdZcRF0UVouGoF2Bs4B10QXYCGq8Zh/1S6m1c66CM4Jtl4Cr2A8yv02bovRBegYaoR4A0V+mzd6dEFaJhqBPj4Cn22zjFRFTUCfFyFPlt3QnQBGqYaAZ7kxRsL8QisKmrcORvE3T2Gsx2a3yDm1wfQpYYZYKlhBlhqmAGWGmaApYYZYKlhBlhqmAGWGmaApYYZYE2iqcL97S7c38gMsCZR6YdLwt48aoA1iUo/s26ApR6Vfk9Z2FtHDbAmzYl0vxhS0hOF+xuZAdakuRo4vHCfYQGuYRC/OTNCXa1shw7aTJ3fwvpMnxtR21B2/KFshzqbqfPj8m8ysN+EHsqOP5TtmHQnUvfH5e/tb1PebVXkh0sVTNF9z7uB7m7zDOWveee6vWLfi/KdWAtrcTumgGm6HXcDcBL+ka5pL90fixejCnByh2MG+CndKaP6cTeB4a1lKNeOrWzHSmBLhXpti7ezRpif5rSy4y+mle0wvDHtvhHmpkmt7PiLaWE7ZirUaVu87QfOHmF+mtTCjj+K7NsxBTxVoU7b4u36EeanFy6lbNc0cHJ0ERPoJeCS6CIOMMDt2hhdwIT6GvB8dBEHGOB2nRldwAT6BcELN97JhRwLy74drzOwNbjJ3QN8HtgTXchcNRZy7ALWFOwv8kZWKa9EF6Cx/A34IsnCC3VOoZ+r0GfraoxJ2FsgJszDwHnAy9GFzKdGgP9Toc/W1QjwgxX61P+7BzgHeCG4jgV5BO5HjTG5o0KfOujndNe8YS+sG0WNAD9Uoc/W1RiTO4CnK/Q76V6iW+G2mYTXvH04hfiVMtlarQUXLqUs1/bTrbBat6QZGKitxE9IlvbomGO5GB9mGL/dx4DXNi/HlcRPSpZ2xXhDuSgfJ1xe2wP8joE+EjiuD9Lddo+epOj2Kv2dks0A23vYppbbm3TvsLqYbh/VIVxO/IRFtx+MPYpLMwVsAm4EttG98iV6DPpuu4H/Ak8CfwF+BVxG9+pXV64twWq6r0+iJzSqPTc7BlKzpunu7kWHqe/2FnB+gfGTwl1OfKD6bt8vMnJSAiuAG4gPVV/tVuKeoJKqOBK4mfhw1W43440SDdQK4FLq/D5NdNsPXIUvSNAE2Miw7k4/S/kfjJZSO4ruaLyT+AAut+2iO+oeXXhspGasBX4EPEZ8IEdtj83WvLbCeEhLkulu6Yfovjs9A1hPtwRxPWVfz7MUu4Bn6F5Q8CzwCHAn3buYJUmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEnA/wDL76bzm26ebQAAAABJRU5ErkJggg==";var u=s(2949),p=s(5944);function m(e){let{collapse:t,setCollapse:s}=e;const n=i.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,o=i.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,r=i.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:n,children:(0,p.tZ)("button",{css:o,onClick:()=>{s(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const s=i.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,n=i.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:s,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:n,src:h})})}function x(e){let{path:t,javaC:s,javaE:c,cssURL:d,javaHighlight:h,height:x,frame:g,tabs:A}=e;const[v,f]=(0,n.useState)(""),[w,j]=(0,n.useState)(""),[y,B]=(0,n.useState)(""),[L,k]=(0,n.useState)(!(!s||!c)),[S,D]=(0,n.useState)(!1),[Z,C]=(0,n.useState)({});(0,n.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),s=t[t.length-1];C((e=>({...e,javaFile:s})))})),s&&fetch(s).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{B(e);const t=new URL(d).pathname.split("/"),s=t[t.length-1];C((e=>({...e,cssFile:s})))}))}),[]);const E=i.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,M=i.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${x}; - `,T=i.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,N=i.iv` - width: 100%; - `,O=i.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${S&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:E,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{D(!0)},onMouseLeave:()=>D(!1),css:N,children:[(0,p.tZ)("div",{css:O,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:M})]}):null,(0,p.BX)(a.Z,{css:T,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[s&&c?(0,p.tZ)(m,{collapse:L,setCollapse:k}):null,d?(0,p.BX)(o.Z,{children:[(0,p.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:Z.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:L?v:w})}),(0,p.tZ)(r.Z,{value:A?A[1]:"CSS",label:A?A[1]:Z.cssFile,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(o.Z,{children:(0,p.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:Z.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:L?v:w})})})]})]})}},3273:(e,t,s)=>{s.d(t,{Z:()=>c});var n=s(7294),i=s(917),o=s(8230),r=s(4387),a=s(6770);var l=s(5944);function c(e){let{type:t,location:s,top:c,children:d,code:h,suffix:u}=e;const[p,m]=(0,n.useState)("");(0,n.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+s+".html"+u)}),[]);const b=i.iv` - display: inline; - - ${c&&i.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,x=i.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(o.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:x,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,s)=>{s.d(t,{Z:()=>o});s(7294);var n=s(8397),i=s(5893);function o(e){return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(n.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/2abf1b13.a799f4af.js b/assets/js/2abf1b13.a799f4af.js new file mode 100644 index 000000000..710672bde --- /dev/null +++ b/assets/js/2abf1b13.a799f4af.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4373],{6672:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>d,default:()=>b,frontMatter:()=>c,metadata:()=>u,toc:()=>p});var s=n(5893),i=n(1151),o=n(6957),r=n(7796),l=n(3273),a=n(2665);const c={sidebar_position:3,title:"ListBox",slug:"listbox"},d=void 0,u={id:"components/list-components/list-box",title:"ListBox",description:"The ListBox component is a user interface element designed to display a scrollable list of objects and allows users to select single or multiple items from the list. Users can also interact with the ListBox with the arrow keys.",source:"@site/docs/components/list-components/list-box.md",sourceDirName:"components/list-components",slug:"/components/list-components/listbox",permalink:"/docs/components/list-components/listbox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/list-box.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"ListBox",slug:"listbox"},sidebar:"documentationSidebar",previous:{title:"ComboBox",permalink:"/docs/components/list-components/combobox"},next:{title:"ProgressBar",permalink:"/docs/components/progress-bar"}},h={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Selection Options",id:"selection-options",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(a.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,s.jsx)(a.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-list-box",href:"https://basishub.github.io/basis-next/#/web-components/bbj-list-box",clickable:!1,iconName:"code"}),"\n",(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"ListBox"})," component is a user interface element designed to display a scrollable list of objects and allows users to select single or multiple items from the list. Users can also interact with the ",(0,s.jsx)(t.code,{children:"ListBox"})," with the arrow keys."]}),"\n",(0,s.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"User Role Assignment"}),": In applications with user access control, administrators can use a ",(0,s.jsx)(t.code,{children:"ListBox"})," to assign roles and permissions to users. Users are selected from a list, and the roles or permissions are assigned based on their selection. This ensures precise and controlled access to different features and data within the application."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Project Task Assignment"}),": In project management software, ",(0,s.jsx)(t.code,{children:"ListBox"})," components are useful for assigning tasks to team members. Users can select tasks from a list and assign them to different team members. This simplifies task delegation and ensures that responsibilities are clearly defined within the team."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Multi-Category Filtering"}),": In a search application, users often need to filter search results based on multiple criteria. A ",(0,s.jsx)(t.code,{children:"ListBox"})," can display various filter options, such as"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Product features"}),"\n",(0,s.jsx)(t.li,{children:"Price ranges"}),"\n",(0,s.jsx)(t.li,{children:"Brands."}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.p,{children:"Users can select items from each filter category, allowing them to refine search results and find exactly what they're looking for."}),"\n",(0,s.jsxs)(t.ol,{start:"4",children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Content Categorization"}),": In content management systems, ",(0,s.jsx)(t.code,{children:"ListBox"})," components assist in categorizing articles, images, or files. Users can select one or more categories to associate with their content, making it easier to organize and search for content items in the system."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#()",children:"ListBox()"}),": Constructs a new ",(0,s.jsx)(t.code,{children:"ListBox"})," without a label."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#(java.lang.String)",children:"ListBox(String label)"}),": Constructs a new ",(0,s.jsx)(t.code,{children:"ListBox"})," with the specified label."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.ComponentEventListener)",children:"ListBox(String label, ComponentEventListener< ListSelectEvent> selectListener)"}),": Constructs a new ",(0,s.jsx)(t.code,{children:"ListBox"})," with the given label and a listener to handle item selection events."]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"selection-options",children:"Selection Options"}),"\n",(0,s.jsxs)(t.p,{children:["By default, the list box is configured to allow selection of a single item at a time. However, this can be easily configured with a built-in method which allows users to select multiple items ",(0,s.jsx)(t.em,{children:(0,s.jsxs)(t.strong,{children:["using the ",(0,s.jsx)(t.code,{children:"Shift"})," key"]})})," for contiguous entry selection and ",(0,s.jsx)(t.em,{children:(0,s.jsxs)(t.strong,{children:[(0,s.jsx)(t.code,{children:"Control"})," (Windows) or ",(0,s.jsx)(t.code,{children:"Command"})," (Mac) key"]})})," for separate, multiple item selection. Use the ",(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/list/ListBox",code:"true",suffix:"#setSelectionMode(org.dwcj.component.list.MultipleSelectableList.SelectionMode)",children:"setSelectionMode()"})," function to change this property. True will enable multiple selection, false disables it."]}),"\n",(0,s.jsxs)(t.p,{children:["Additionally, the arrow keys can be used to navigate the ",(0,s.jsx)(t.code,{children:"ListBox"}),", and typing a letter key while the ",(0,s.jsx)(t.code,{children:"ListBox"})," has focus will select the option that begins with that letter, or cycle through the options beginning with that letter should multiple options exist."]}),"\n",(0,s.jsx)(o.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.listboxdemos.ListboxMultipleSelection",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/listboxdemos/ListboxMultipleSelection.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/listbox/MultipleSelection.txt",height:"250px"}),"\n",(0,s.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"ListBox"})," class provides methods to add and remove event listeners for the events common to all list components."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["For a list of events supported by the ",(0,s.jsx)(t.code,{children:"ListBox"}),", see ",(0,s.jsx)(t.a,{href:"/docs/components/list-components/lists#shared-events",children:"this section"})," which outlines shared events amongst list components."]})}),"\n",(0,s.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,s.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,s.jsxs)(t.p,{children:["These are the various parts of the ",(0,s.jsx)(t.a,{href:"../../glossary#shadow-dom",children:"shadow DOM"})," for the ",(0,s.jsx)(t.code,{children:"ListBox"})," component, which will be required when styling via CSS is desired."]}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).wb,table:"parts",exclusions:""}),"\n",(0,s.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,s.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).wb,exclusions:"",table:"properties"}),"\n",(0,s.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,s.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).wb,table:"reflects",exclusions:""}),"\n",(0,s.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,s.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,s.jsx)(r.Z,{tag:"bbj-list",table:"dependencies"}),"\n",(0,s.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,s.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,s.jsx)(t.code,{children:"ChoiceBox"})," component, consider the following best practices:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Prioritize Information Hierarchy"}),": When using a ",(0,s.jsx)(t.code,{children:"ListBox"}),", ensure that the items are organized in a logical and hierarchical order. Place the most important and commonly used options at the top of the list. This makes it easier for users to find what they need without excessive scrolling."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Limit List Length"}),": Avoid overwhelming users with an excessively long ",(0,s.jsx)(t.code,{children:"ListBox"}),". If there are a large number of items to display, consider implementing pagination, search, or filtering options to help users locate items quickly. Alternatively, you can group items into categories to reduce list length."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Clear and Descriptive Labels"}),": Provide clear and descriptive labels for each item in the ",(0,s.jsx)(t.code,{children:"ListBox"}),". Users should be able to understand the purpose of each option without ambiguity. Use concise and meaningful item labels."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Multi-Selection Feedback"}),": If your ",(0,s.jsx)(t.code,{children:"ListBox"})," allows for multiple selections, provide visual or textual feedback indicating that multiple items can be selected from the list."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Default Selection"}),": Consider setting a default selection for the ",(0,s.jsx)(t.code,{children:"ListBox"}),", especially if one option is more commonly used than others. This can streamline the user experience by pre-selecting the most likely choice."]}),"\n"]}),"\n"]})]})}function b(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),o=n(5893),r=(0,i.default)((0,o.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),o=n(5893),r=(0,i.default)((0,o.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var s=n(6010);const i={tabItem:"tabItem_Ymn6"};var o=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,o.jsx)("div",{role:"tabpanel",className:(0,s.Z)(i.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var s=n(7294),i=n(6010),o=n(2466),r=n(6550),l=n(469),a=n(1980),c=n(7392),d=n(12);function u(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:i}}=e;return{value:t,label:n,attributes:s,default:i}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const i=(0,r.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,a._X)(o),(0,s.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(i.location.search);t.set(o,e),i.replace({...i.location,search:t.toString()})}),[o,i])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:i}=e,o=h(e),[r,a]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:o}))),[c,u]=m({queryString:n,groupId:i}),[b,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,o]=(0,d.Nk)(n);return[i,(0,s.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:i}),x=(()=>{const e=c??b;return p({value:e,tabValues:o})?e:null})();(0,l.Z)((()=>{x&&a(x)}),[x]);return{selectedValue:r,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);a(e),u(e),g(e)}),[u,g,o]),tabValues:o}}var g=n(2389);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=n(5893);function f(e){let{className:t,block:n,selectedValue:s,selectValue:r,tabValues:l}=e;const a=[],{blockElementScrollPositionUntilNextRender:c}=(0,o.o5)(),d=e=>{const t=e.currentTarget,n=a.indexOf(t),i=l[n].value;i!==s&&(c(t),r(i))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=a.indexOf(e.currentTarget)+1;t=a[n]??a[0];break}case"ArrowLeft":{const n=a.indexOf(e.currentTarget)-1;t=a[n]??a[a.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:o}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>a.push(e),onKeyDown:u,onClick:d,...o,className:(0,i.Z)("tabs__item",x.tabItem,o?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:i}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===i));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:o.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function w(e){const t=b(e);return(0,A.jsxs)("div",{className:(0,i.Z)("tabs-container",x.tabList),children:[(0,A.jsx)(f,{...e,...t}),(0,A.jsx)(v,{...e,...t})]})}function j(e){const t=(0,g.Z)();return(0,A.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>g});var s=n(7294),i=n(917),o=n(4866),r=n(5162),l=n(4673),a=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const s=i.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,o=i.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,r=i.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:s,children:(0,p.tZ)("button",{css:o,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=i.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,s=i.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:s,src:u})})}function g(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:g,frame:x,tabs:A}=e;const[f,v]=(0,s.useState)(""),[w,j]=(0,s.useState)(""),[y,B]=(0,s.useState)(""),[S,k]=(0,s.useState)(!(!n||!c)),[Z,L]=(0,s.useState)(!1),[D,C]=(0,s.useState)({}),[E,M]=(0,s.useState)(!1),[z,T]=(0,s.useState)(0),[N,O]=(0,s.useState)(0),[V,H]=(0,s.useState)(25),[F,X]=(0,s.useState)(25),[J,P]=(0,s.useState)(0),[G,Y]=(0,s.useState)(!1),I=(0,s.useRef)(null),U=(0,s.useRef)(null);(0,s.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];C((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{v(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{B(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];C((e=>({...e,cssFile:n})))})),P(I.current.offsetWidth),console.log(J)}),[]);const q=()=>{M(!1),console.log("Stop Resizing")},W=e=>{if(E){const t=e.clientX-z;N+t>J/3&&(I.current.style.width=`${N+t}px`,U.current.style.right=(V-t<25?25:V-t)+"px",X(V-t<25?25:V-t))}},R=i.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==x?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=i.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=i.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${g||"100%"}; + pointer-events: none; + `,_=i.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${Z&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=i.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=i.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=i.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=i.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:R,onMouseUp:q,onMouseLeave:q,onMouseMove:W,children:["hidden"!=x?(0,p.BX)("div",{onMouseEnter:()=>{L(!0)},onMouseLeave:()=>L(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:q,loading:"lazy",src:t,css:{...Q,pointerEvents:E?"none":"auto"},ref:I,onMouseMove:W}),(0,p.tZ)("div",{css:_,ref:U,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),M(!0),T(e.clientX),O(I.current.offsetWidth),H(F),console.log(U.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(l.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>Y(!G),children:G?"Hide Code":"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:S,setCollapse:k}):null,d?(0,p.BX)(o.Z,{css:te,children:[(0,p.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:D.javaFile,default:!0,children:(0,p.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?f:w})}),(0,p.tZ)(r.Z,{value:A?A[1]:"CSS",label:A?A[1]:D.cssFile,children:(0,p.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(o.Z,{css:te,children:(0,p.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:D.javaFile,default:!0,children:(0,p.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?f:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var s=n(7294),i=n(917),o=n(8230),r=n(4387),l=n(6031);var a=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const b=i.iv` + display: inline; + + ${c&&i.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,g=i.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,a.BX)(a.HY,{children:["true"===c&&(0,a.tZ)("div",{css:b,children:(0,a.tZ)(o.Z,{title:"JavaDoc",arrow:!0,children:(0,a.tZ)(r.Z,{css:g,label:"Java API",component:"a",href:p,icon:(0,a.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,a.tZ)("div",{css:b,children:(0,a.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,a.tZ)("div",{css:b,children:(0,a.tZ)("code",{children:(0,a.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>o});n(7294);var s=n(8397),i=n(5893);function o(e){return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(s.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/2df7d063.e63a6f00.js b/assets/js/2df7d063.b3953ece.js similarity index 77% rename from assets/js/2df7d063.e63a6f00.js rename to assets/js/2df7d063.b3953ece.js index da8853a99..fe2a7a3f5 100644 --- a/assets/js/2df7d063.e63a6f00.js +++ b/assets/js/2df7d063.b3953ece.js @@ -1,16 +1,17 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[7100],{3343:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>p,frontMatter:()=>c,metadata:()=>o,toc:()=>a});var n=s(5893),r=s(1151),i=s(3273);const c={sidebar_position:0,title:"KeypressEvent",sidebar_class_name:"sidebar--item__hidden",slug:"KeypressEvent"},d=void 0,o={id:"components/events/keypress-event",title:"KeypressEvent",description:"A Keypress event occurs when a user presses a specific key on the keyboard while an element, such as an input field or a specific section of a web page, has focus. This event is commonly used to capture and respond to user keyboard interactions.",source:"@site/docs/components/events/keypress-event.md",sourceDirName:"components/events",slug:"/components/events/KeypressEvent",permalink:"/docs/components/events/KeypressEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/keypress-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"KeypressEvent",sidebar_class_name:"sidebar--item__hidden",slug:"KeypressEvent"},sidebar:"documentationSidebar",previous:{title:"FocusEvent",permalink:"/docs/components/events/FocusEvent"},next:{title:"ListCloseEvent",permalink:"/docs/components/events/ListCloseEvent"}},l={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent",top:"true"}),"\n",(0,n.jsx)(t.p,{children:"A Keypress event occurs when a user presses a specific key on the keyboard while an element, such as an input field or a specific section of a web page, has focus. This event is commonly used to capture and respond to user keyboard interactions."}),"\n",(0,n.jsx)(t.p,{children:"When a Keypress event is triggered, the key that was pressed can be determine using the key code, and a specific action or actions can be performed based on the user's input. For example, it can be used to validate user input in form fields, implement keyboard shortcuts, or trigger certain actions based on specific key combinations."}),"\n",(0,n.jsxs)(t.p,{children:["To see a list of keys that trigger this event, ",(0,n.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent.Key",children:"see the Javadoc."})," This class also inherits methods from the ",(0,n.jsxs)(t.a,{href:"./event",children:["base ",(0,n.jsx)(t.code,{children:"Event"})," class"]})]}),"\n",(0,n.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,n.jsx)(t.th,{children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"getCode()"})}),(0,n.jsx)(t.td,{children:"Returns the integer value of the key code."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"getName()"})}),(0,n.jsx)(t.td,{children:"Returns the name of the key code."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"fromCode(int value)"})}),(0,n.jsx)(t.td,{children:"Returns the key code that matches the given integer value."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"fromName(String name)"})}),(0,n.jsx)(t.td,{children:"Returns the key code that matches the given name."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"getKeyCode()"})}),(0,n.jsx)(t.td,{children:"Returns the key that was pressed."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isAltKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the alt key was pressed when the event happened."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isCmdKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the command key was pressed when the event happened."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isControlKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the control key was pressed when the event happened."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isShiftKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the shift key was pressed when the event happened."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"./event",children:"Event"})}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},3273:(e,t,s)=>{s.d(t,{Z:()=>l});var n=s(7294),r=s(917),i=s(8230),c=s(4387),d=s(6770);var o=s(5944);function l(e){let{type:t,location:s,top:l,children:a,code:h,suffix:p}=e;const[u,x]=(0,n.useState)("");(0,n.useEffect)((()=>{p||(p=""),x("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+s+".html"+p)}),[]);const v=r.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[7100],{3343:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>a,contentTitle:()=>d,default:()=>p,frontMatter:()=>c,metadata:()=>o,toc:()=>l});var n=s(5893),r=s(1151),i=s(3273);const c={sidebar_position:0,title:"KeypressEvent",sidebar_class_name:"sidebar--item__hidden",slug:"KeypressEvent"},d=void 0,o={id:"components/events/keypress-event",title:"KeypressEvent",description:"A Keypress event occurs when a user presses a specific key on the keyboard while an element, such as an input field or a specific section of a web page, has focus. This event is commonly used to capture and respond to user keyboard interactions.",source:"@site/docs/components/events/keypress-event.md",sourceDirName:"components/events",slug:"/components/events/KeypressEvent",permalink:"/docs/components/events/KeypressEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/keypress-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"KeypressEvent",sidebar_class_name:"sidebar--item__hidden",slug:"KeypressEvent"},sidebar:"documentationSidebar",previous:{title:"FocusEvent",permalink:"/docs/components/events/FocusEvent"},next:{title:"ListCloseEvent",permalink:"/docs/components/events/ListCloseEvent"}},a={},l=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent",top:"true"}),"\n",(0,n.jsx)(t.p,{children:"A Keypress event occurs when a user presses a specific key on the keyboard while an element, such as an input field or a specific section of a web page, has focus. This event is commonly used to capture and respond to user keyboard interactions."}),"\n",(0,n.jsx)(t.p,{children:"When a Keypress event is triggered, the key that was pressed can be determine using the key code, and a specific action or actions can be performed based on the user's input. For example, it can be used to validate user input in form fields, implement keyboard shortcuts, or trigger certain actions based on specific key combinations."}),"\n",(0,n.jsxs)(t.p,{children:["To see a list of keys that trigger this event, ",(0,n.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent.Key",children:"see the Javadoc."})," This class also inherits methods from the ",(0,n.jsxs)(t.a,{href:"./event",children:["base ",(0,n.jsx)(t.code,{children:"Event"})," class"]})]}),"\n",(0,n.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,n.jsx)(t.th,{children:"Description"})]})}),(0,n.jsxs)(t.tbody,{children:[(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"getCode()"})}),(0,n.jsx)(t.td,{children:"Returns the integer value of the key code."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"getName()"})}),(0,n.jsx)(t.td,{children:"Returns the name of the key code."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"fromCode(int value)"})}),(0,n.jsx)(t.td,{children:"Returns the key code that matches the given integer value."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"fromName(String name)"})}),(0,n.jsx)(t.td,{children:"Returns the key code that matches the given name."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"getKeyCode()"})}),(0,n.jsx)(t.td,{children:"Returns the key that was pressed."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isAltKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the alt key was pressed when the event happened."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isCmdKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the command key was pressed when the event happened."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isControlKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the control key was pressed when the event happened."})]}),(0,n.jsxs)(t.tr,{children:[(0,n.jsx)(t.td,{style:{textAlign:"center"},children:(0,n.jsx)(t.code,{children:"isShiftKey()"})}),(0,n.jsx)(t.td,{children:"Returns whether or not the shift key was pressed when the event happened."})]})]})]}),"\n",(0,n.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.a,{href:"./event",children:"Event"})}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},6031:(e,t,s)=>{var n=s(4836);t.Z=void 0;var r=n(s(4938)),i=s(5893),c=(0,r.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=c},3273:(e,t,s)=>{s.d(t,{Z:()=>a});var n=s(7294),r=s(917),i=s(8230),c=s(4387),d=s(6031);var o=s(5944);function a(e){let{type:t,location:s,top:a,children:l,code:h,suffix:p}=e;const[v,u]=(0,n.useState)("");(0,n.useEffect)((()=>{p||(p=""),u("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+s+".html"+p)}),[]);const x=r.iv` display: inline; - ${l&&r.iv` + ${a&&r.iv` width: 100%; display: flex; justify-content: flex-end; margin-top: -33px; margin-bottom: 25px; `} - `,y=r.iv` + `,j=r.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,o.BX)(o.HY,{children:["true"===l&&(0,o.tZ)("div",{css:v,children:(0,o.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(c.Z,{css:y,label:"Java API",component:"a",href:u,icon:(0,o.tZ)(d.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!h&&(0,o.tZ)("div",{css:v,children:(0,o.tZ)("a",{href:u,target:"_blank",children:a})}),"true"!==l&&h&&(0,o.tZ)("div",{css:v,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:u,target:"_blank",children:a})})})]})}}}]); \ No newline at end of file + `;return(0,o.BX)(o.HY,{children:["true"===a&&(0,o.tZ)("div",{css:x,children:(0,o.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(c.Z,{css:j,label:"Java API",component:"a",href:v,icon:(0,o.tZ)(d.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==a&&!h&&(0,o.tZ)("div",{css:x,children:(0,o.tZ)("a",{href:v,target:"_blank",children:l})}),"true"!==a&&h&&(0,o.tZ)("div",{css:x,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:v,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/3202e975.9581f4f8.js b/assets/js/3202e975.28465a74.js similarity index 83% rename from assets/js/3202e975.9581f4f8.js rename to assets/js/3202e975.28465a74.js index ac7f9d81e..85455465d 100644 --- a/assets/js/3202e975.9581f4f8.js +++ b/assets/js/3202e975.28465a74.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3850],{4583:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var i=n(5893),o=n(1151),s=n(3273);const c={sidebar_position:0,title:"ButtonClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ButtonClickEvent"},r=void 0,l={id:"components/events/button-click-event",title:"ButtonClickEvent",description:"The ButtonClickEvent is an event type that is triggered when a user clicks on a Button element. This event is essential for capturing user interactions with buttons on a web page, such as submitting forms, triggering actions, or navigating to different sections of the site.",source:"@site/docs/components/events/button-click-event.md",sourceDirName:"components/events",slug:"/components/events/ButtonClickEvent",permalink:"/docs/components/events/ButtonClickEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/button-click-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ButtonClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ButtonClickEvent"},sidebar:"documentationSidebar",previous:{title:"BlurEvent",permalink:"/docs/components/events/BlurEvent"},next:{title:"CheckEvent",permalink:"/docs/components/events/CheckEvent"}},a={},d=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(t){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/event/ButtonClickEvent",top:"true"}),"\n",(0,i.jsxs)(e.p,{children:["The ",(0,i.jsx)(e.code,{children:"ButtonClickEvent"})," is an event type that is triggered when a user clicks on a ",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",children:"Button"})," element. This event is essential for capturing user interactions with buttons on a web page, such as submitting forms, triggering actions, or navigating to different sections of the site."]}),"\n",(0,i.jsx)(e.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,i.jsxs)(e.table,{children:[(0,i.jsx)(e.thead,{children:(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.th,{style:{textAlign:"center"},children:"Method"}),(0,i.jsx)(e.th,{children:"Description"})]})}),(0,i.jsxs)(e.tbody,{children:[(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{style:{textAlign:"center"},children:(0,i.jsx)(e.code,{children:"getX()"})}),(0,i.jsxs)(e.td,{children:["Returns the X location of the mouse within the ",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",children:"Button"})," component at the time the event was fired."]})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{style:{textAlign:"center"},children:(0,i.jsx)(e.code,{children:"getY()"})}),(0,i.jsxs)(e.td,{children:["Returns the Y location of the mouse within the ",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",children:"Button"})," component at the time the event was fired."]})]})]})]}),"\n",(0,i.jsx)(e.h2,{id:"see-also",children:"See Also"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:(0,i.jsx)(e.a,{href:"./event",children:"Event"})}),"\n",(0,i.jsx)(e.li,{children:(0,i.jsx)(e.a,{href:"../button",children:"Button"})}),"\n"]})]})}function u(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(h,{...t})}):h(t)}},3273:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(7294),o=n(917),s=n(8230),c=n(4387),r=n(6770);var l=n(5944);function a(t){let{type:e,location:n,top:a,children:d,code:h,suffix:u}=t;const[v,p]=(0,i.useState)("");(0,i.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+e+"/latest/"+n+".html"+u)}),[]);const m=o.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3850],{4583:(t,e,n)=>{n.r(e),n.d(e,{assets:()=>a,contentTitle:()=>r,default:()=>u,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var i=n(5893),o=n(1151),s=n(3273);const c={sidebar_position:0,title:"ButtonClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ButtonClickEvent"},r=void 0,l={id:"components/events/button-click-event",title:"ButtonClickEvent",description:"The ButtonClickEvent is an event type that is triggered when a user clicks on a Button element. This event is essential for capturing user interactions with buttons on a web page, such as submitting forms, triggering actions, or navigating to different sections of the site.",source:"@site/docs/components/events/button-click-event.md",sourceDirName:"components/events",slug:"/components/events/ButtonClickEvent",permalink:"/docs/components/events/ButtonClickEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/button-click-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ButtonClickEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ButtonClickEvent"},sidebar:"documentationSidebar",previous:{title:"BlurEvent",permalink:"/docs/components/events/BlurEvent"},next:{title:"CheckEvent",permalink:"/docs/components/events/CheckEvent"}},a={},d=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(t){const e={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...t.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/event/ButtonClickEvent",top:"true"}),"\n",(0,i.jsxs)(e.p,{children:["The ",(0,i.jsx)(e.code,{children:"ButtonClickEvent"})," is an event type that is triggered when a user clicks on a ",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",children:"Button"})," element. This event is essential for capturing user interactions with buttons on a web page, such as submitting forms, triggering actions, or navigating to different sections of the site."]}),"\n",(0,i.jsx)(e.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,i.jsxs)(e.table,{children:[(0,i.jsx)(e.thead,{children:(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.th,{style:{textAlign:"center"},children:"Method"}),(0,i.jsx)(e.th,{children:"Description"})]})}),(0,i.jsxs)(e.tbody,{children:[(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{style:{textAlign:"center"},children:(0,i.jsx)(e.code,{children:"getX()"})}),(0,i.jsxs)(e.td,{children:["Returns the X location of the mouse within the ",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",children:"Button"})," component at the time the event was fired."]})]}),(0,i.jsxs)(e.tr,{children:[(0,i.jsx)(e.td,{style:{textAlign:"center"},children:(0,i.jsx)(e.code,{children:"getY()"})}),(0,i.jsxs)(e.td,{children:["Returns the Y location of the mouse within the ",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",children:"Button"})," component at the time the event was fired."]})]})]})]}),"\n",(0,i.jsx)(e.h2,{id:"see-also",children:"See Also"}),"\n",(0,i.jsxs)(e.ul,{children:["\n",(0,i.jsx)(e.li,{children:(0,i.jsx)(e.a,{href:"./event",children:"Event"})}),"\n",(0,i.jsx)(e.li,{children:(0,i.jsx)(e.a,{href:"../button",children:"Button"})}),"\n"]})]})}function u(t={}){const{wrapper:e}={...(0,o.a)(),...t.components};return e?(0,i.jsx)(e,{...t,children:(0,i.jsx)(h,{...t})}):h(t)}},6031:(t,e,n)=>{var i=n(4836);e.Z=void 0;var o=i(n(4938)),s=n(5893),c=(0,o.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");e.Z=c},3273:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(7294),o=n(917),s=n(8230),c=n(4387),r=n(6031);var l=n(5944);function a(t){let{type:e,location:n,top:a,children:d,code:h,suffix:u}=t;const[v,p]=(0,i.useState)("");(0,i.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+e+"/latest/"+n+".html"+u)}),[]);const m=o.iv` display: inline; ${a&&o.iv` @@ -10,6 +10,7 @@ `} `,g=o.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } diff --git a/assets/js/33b18326.e7b15a71.js b/assets/js/33b18326.d23677b9.js similarity index 61% rename from assets/js/33b18326.e7b15a71.js rename to assets/js/33b18326.d23677b9.js index 39c008a43..a9481e5f0 100644 --- a/assets/js/33b18326.e7b15a71.js +++ b/assets/js/33b18326.d23677b9.js @@ -1,10 +1,12 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[8402],{8105:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>A,default:()=>u,frontMatter:()=>o,metadata:()=>l,toc:()=>d});var r=n(5893),i=n(1151),a=(n(7650),n(2322),n(6957),n(7796)),s=n(3273);const o={sidebar_position:0,title:"Field"},A=void 0,l={id:"components/fields/fields",title:"Field",description:"The DWCJ supports seven different types of field components, each with various behaviors and implementations that suit various",source:"@site/docs/components/fields/fields.md",sourceDirName:"components/fields",slug:"/components/fields/",permalink:"/docs/components/fields/",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/fields.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Field"},sidebar:"documentationSidebar",previous:{title:"Drawer",permalink:"/docs/components/drawer"},next:{title:"ColorField",permalink:"/docs/components/fields/colorfield"}},c={},d=[{value:"Shared Field Properties",id:"shared-field-properties",level:2},{value:"Label",id:"label",level:3},{value:"Required",id:"required",level:3},{value:"Spellcheck",id:"spellcheck",level:3},{value:"Shared Events",id:"shared-events",level:2},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/field/AbstractField"}),"\n",(0,r.jsx)(t.p,{children:"The DWCJ supports seven different types of field components, each with various behaviors and implementations that suit various\r\nneeds. While each of these components have variations in their implementations, there are commonalities amongst all of the\r\nfield classes that will be described here."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"This section describes common functionality amongst various field components in the DWCJ, and is not itself a class that can be instantiated and used."})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/colorfield",children:(0,r.jsx)(t.code,{children:"ColorField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/datefield",children:(0,r.jsx)(t.code,{children:"DateField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/datetimefield",children:(0,r.jsx)(t.code,{children:"DateTimeField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/numberfield",children:(0,r.jsx)(t.code,{children:"NumberField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/passwordfield",children:(0,r.jsx)(t.code,{children:"PasswordField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/textfield",children:(0,r.jsx)(t.code,{children:"TextField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/timefield",children:(0,r.jsx)(t.code,{children:"TimeField"})})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"shared-field-properties",children:"Shared Field Properties"}),"\n",(0,r.jsx)(t.h3,{id:"label",children:"Label"}),"\n",(0,r.jsx)(t.p,{children:"A field label is a descriptive text or title that is associated with the field. It provides a brief explanation or prompt to help users understand the purpose or expected input for that particular field. Field labels are not only important for usability but also play a crucial role in accessibility, as they enable screen readers and assistive technologies to provide accurate information and facilitate keyboard navigation."}),"\n",(0,r.jsx)(t.h3,{id:"required",children:"Required"}),"\n",(0,r.jsxs)(t.p,{children:["A field is required when the user must provide a value before submitting a form. This is mainly used in conjunction with ",(0,r.jsx)(t.code,{children:"setLabel(String)"})," to provide a visual indication to users that the field is required."]}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"Field components contain built-in visual validation which notifies users if a required field is empty, or has had values removed."})}),"\n",(0,r.jsx)(t.h3,{id:"spellcheck",children:"Spellcheck"}),"\n",(0,r.jsxs)(t.p,{children:["By calling the ",(0,r.jsx)(t.code,{children:"setSpellCheck(true)"})," method, you can enable the spellcheck feature for a field. This means that when a user enters text into the field, the browser or user agent may check the spelling of the entered text for errors."]}),"\n",(0,r.jsx)(t.h2,{id:"shared-events",children:"Shared Events"}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"All field components share the following events"})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when a component loses focus."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when a component gains focus, opposite of a blur event."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent",code:"true",children:"KeypressEvent"})}),(0,r.jsx)(t.td,{children:'An event that is triggered when one of "special keys" is pressed while the component has focus. These keys have specific codes, allowing for conditional logic to be implemented based on the key pressed.'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/ModifyEvent",code:"true",children:"ModifyEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when an is changed or modified. It typically occurs any time a user changes an aspect of the component, such as each time a letter is input or removed from an input component."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"As all field components are built from a singular web component, they will all share the\r\nfollowing Shadow Parts and CSS Property values"})}),"\n",(0,r.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,r.jsx)(t.p,{children:"These are the various parts of the shadow DOM for the component, which will be required when styling via CSS is desired."}),"\n",(0,r.jsx)(a.Z,{tag:n(5731).gN,table:"parts"}),"\n",(0,r.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,r.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,r.jsx)(a.Z,{tag:n(5731).gN,table:"properties"}),"\n",(0,r.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,r.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,r.jsx)(a.Z,{tag:n(5731).gN,table:"reflects"}),"\n",(0,r.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,r.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,r.jsx)(a.Z,{tag:"bbj-editbox",table:"dependencies"})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var r=n(6010);const i={tabItem:"tabItem_Ymn6"};var a=n(5893);function s(e){let{children:t,hidden:n,className:s}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.Z)(i.tabItem,s),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>B});var r=n(7294),i=n(6010),a=n(2466),s=n(6550),o=n(469),A=n(1980),l=n(7392),c=n(12);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:i}}=e;return{value:t,label:n,attributes:r,default:i}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const i=(0,s.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,A._X)(a),(0,r.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(i.location.search);t.set(a,e),i.replace({...i.location,search:t.toString()})}),[a,i])]}function g(e){const{defaultValue:t,queryString:n=!1,groupId:i}=e,a=h(e),[s,A]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:a}))),[l,d]=p({queryString:n,groupId:i}),[g,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,a]=(0,c.Nk)(n);return[i,(0,r.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:i}),m=(()=>{const e=l??g;return u({value:e,tabValues:a})?e:null})();(0,o.Z)((()=>{m&&A(m)}),[m]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!u({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);A(e),d(e),b(e)}),[d,b,a]),tabValues:a}}var b=n(2389);const m={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=n(5893);function v(e){let{className:t,block:n,selectedValue:r,selectValue:s,tabValues:o}=e;const A=[],{blockElementScrollPositionUntilNextRender:l}=(0,a.o5)(),c=e=>{const t=e.currentTarget,n=A.indexOf(t),i=o[n].value;i!==r&&(l(t),s(i))},d=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=A.indexOf(e.currentTarget)+1;t=A[n]??A[0];break}case"ArrowLeft":{const n=A.indexOf(e.currentTarget)-1;t=A[n]??A[A.length-1];break}}t?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>A.push(e),onKeyDown:d,onClick:c,...a,className:(0,i.Z)("tabs__item",m.tabItem,a?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:i}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===i));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function x(e){const t=g(e);return(0,f.jsxs)("div",{className:(0,i.Z)("tabs-container",m.tabList),children:[(0,f.jsx)(v,{...e,...t}),(0,f.jsx)(w,{...e,...t})]})}function B(e){const t=(0,b.Z)();return(0,f.jsx)(x,{...e,children:d(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var r=n(7294),i=n(917),a=n(4866),s=n(5162),o=n(4673),A=n(1750);const l="data:image/png;base64,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",c=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",d="data:image/png;base64,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";var h=n(2949),u=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const r=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[8402],{8105:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>A,contentTitle:()=>l,default:()=>u,frontMatter:()=>o,metadata:()=>c,toc:()=>d});var r=n(5893),i=n(1151),a=(n(7650),n(2322),n(6957),n(7796)),s=n(3273);const o={sidebar_position:0,title:"Field"},l=void 0,c={id:"components/fields/fields",title:"Field",description:"The DWCJ supports seven different types of field components, each with various behaviors and implementations that suit various",source:"@site/docs/components/fields/fields.md",sourceDirName:"components/fields",slug:"/components/fields/",permalink:"/docs/components/fields/",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/fields.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Field"},sidebar:"documentationSidebar",previous:{title:"Drawer",permalink:"/docs/components/drawer"},next:{title:"ColorField",permalink:"/docs/components/fields/colorfield"}},A={},d=[{value:"Shared Field Properties",id:"shared-field-properties",level:2},{value:"Label",id:"label",level:3},{value:"Required",id:"required",level:3},{value:"Spellcheck",id:"spellcheck",level:3},{value:"Shared Events",id:"shared-events",level:2},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/field/AbstractField"}),"\n",(0,r.jsx)(t.p,{children:"The DWCJ supports seven different types of field components, each with various behaviors and implementations that suit various\r\nneeds. While each of these components have variations in their implementations, there are commonalities amongst all of the\r\nfield classes that will be described here."}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"This section describes common functionality amongst various field components in the DWCJ, and is not itself a class that can be instantiated and used."})}),"\n",(0,r.jsxs)(t.ul,{children:["\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/colorfield",children:(0,r.jsx)(t.code,{children:"ColorField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/datefield",children:(0,r.jsx)(t.code,{children:"DateField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/datetimefield",children:(0,r.jsx)(t.code,{children:"DateTimeField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/numberfield",children:(0,r.jsx)(t.code,{children:"NumberField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/passwordfield",children:(0,r.jsx)(t.code,{children:"PasswordField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/textfield",children:(0,r.jsx)(t.code,{children:"TextField"})})}),"\n",(0,r.jsx)(t.li,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields/timefield",children:(0,r.jsx)(t.code,{children:"TimeField"})})}),"\n"]}),"\n",(0,r.jsx)(t.h2,{id:"shared-field-properties",children:"Shared Field Properties"}),"\n",(0,r.jsx)(t.h3,{id:"label",children:"Label"}),"\n",(0,r.jsx)(t.p,{children:"A field label is a descriptive text or title that is associated with the field. It provides a brief explanation or prompt to help users understand the purpose or expected input for that particular field. Field labels are not only important for usability but also play a crucial role in accessibility, as they enable screen readers and assistive technologies to provide accurate information and facilitate keyboard navigation."}),"\n",(0,r.jsx)(t.h3,{id:"required",children:"Required"}),"\n",(0,r.jsxs)(t.p,{children:["A field is required when the user must provide a value before submitting a form. This is mainly used in conjunction with ",(0,r.jsx)(t.code,{children:"setLabel(String)"})," to provide a visual indication to users that the field is required."]}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"Field components contain built-in visual validation which notifies users if a required field is empty, or has had values removed."})}),"\n",(0,r.jsx)(t.h3,{id:"spellcheck",children:"Spellcheck"}),"\n",(0,r.jsxs)(t.p,{children:["By calling the ",(0,r.jsx)(t.code,{children:"setSpellCheck(true)"})," method, you can enable the spellcheck feature for a field. This means that when a user enters text into the field, the browser or user agent may check the spelling of the entered text for errors."]}),"\n",(0,r.jsx)(t.h2,{id:"shared-events",children:"Shared Events"}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"All field components share the following events"})}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,r.jsx)(t.th,{children:"Description"})]})}),(0,r.jsxs)(t.tbody,{children:[(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when a component loses focus."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when a component gains focus, opposite of a blur event."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent",code:"true",children:"KeypressEvent"})}),(0,r.jsx)(t.td,{children:'An event that is triggered when one of "special keys" is pressed while the component has focus. These keys have specific codes, allowing for conditional logic to be implemented based on the key pressed.'})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/ModifyEvent",code:"true",children:"ModifyEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when an is changed or modified. It typically occurs any time a user changes an aspect of the component, such as each time a letter is input or removed from an input component."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,r.jsxs)(t.tr,{children:[(0,r.jsx)(t.td,{style:{textAlign:"center"},children:(0,r.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,r.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,r.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,r.jsx)(t.admonition,{type:"info",children:(0,r.jsx)(t.p,{children:"As all field components are built from a singular web component, they will all share the\r\nfollowing Shadow Parts and CSS Property values"})}),"\n",(0,r.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,r.jsx)(t.p,{children:"These are the various parts of the shadow DOM for the component, which will be required when styling via CSS is desired."}),"\n",(0,r.jsx)(a.Z,{tag:n(5731).gN,table:"parts"}),"\n",(0,r.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,r.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,r.jsx)(a.Z,{tag:n(5731).gN,table:"properties"}),"\n",(0,r.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,r.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,r.jsx)(a.Z,{tag:n(5731).gN,table:"reflects"}),"\n",(0,r.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,r.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,r.jsx)(a.Z,{tag:"bbj-editbox",table:"dependencies"})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var r=n(4836);t.Z=void 0;var i=r(n(4938)),a=n(5893),s=(0,i.default)((0,a.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=s},2610:(e,t,n)=>{var r=n(4836);t.Z=void 0;var i=r(n(4938)),a=n(5893),s=(0,i.default)((0,a.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=s},5162:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var r=n(6010);const i={tabItem:"tabItem_Ymn6"};var a=n(5893);function s(e){let{children:t,hidden:n,className:s}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,r.Z)(i.tabItem,s),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>y});var r=n(7294),i=n(6010),a=n(2466),s=n(6550),o=n(469),l=n(1980),c=n(7392),A=n(12);function d(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:r,default:i}}=e;return{value:t,label:n,attributes:r,default:i}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const i=(0,s.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(a),(0,r.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(i.location.search);t.set(a,e),i.replace({...i.location,search:t.toString()})}),[a,i])]}function g(e){const{defaultValue:t,queryString:n=!1,groupId:i}=e,a=h(e),[s,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=n.find((e=>e.default))??n[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:a}))),[c,d]=p({queryString:n,groupId:i}),[g,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,a]=(0,A.Nk)(n);return[i,(0,r.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:i}),m=(()=>{const e=c??g;return u({value:e,tabValues:a})?e:null})();(0,o.Z)((()=>{m&&l(m)}),[m]);return{selectedValue:s,selectValue:(0,r.useCallback)((e=>{if(!u({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),b(e)}),[d,b,a]),tabValues:a}}var b=n(2389);const m={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=n(5893);function v(e){let{className:t,block:n,selectedValue:r,selectValue:s,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),A=e=>{const t=e.currentTarget,n=l.indexOf(t),i=o[n].value;i!==r&&(c(t),s(i))},d=e=>{let t=null;switch(e.key){case"Enter":A(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>l.push(e),onKeyDown:d,onClick:A,...a,className:(0,i.Z)("tabs__item",m.tabItem,a?.className,{"tabs__item--active":r===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:i}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===i));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function x(e){const t=g(e);return(0,f.jsxs)("div",{className:(0,i.Z)("tabs-container",m.tabList),children:[(0,f.jsx)(v,{...e,...t}),(0,f.jsx)(w,{...e,...t})]})}function y(e){const t=(0,b.Z)();return(0,f.jsx)(x,{...e,children:d(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var r=n(7294),i=n(917),a=n(4866),s=n(5162),o=n(4673),l=n(1750);const c="data:image/png;base64,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",A=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",d="data:image/png;base64,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";var h=n(2610),u=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const r=i.iv` display: flex; justify-content: end; - margin-bottom: -30px; + align-items: flex-end; background-color: transparent; + margin-bottom: -10px; `,a=i.iv` - position: relative; + /* position: absolute; + right: 0; */ cursor: pointer; z-index: 10; height: 35px; @@ -12,11 +14,12 @@ border: none; background-color: none; justify-self: flex-end; - margin-right: 5px; background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; `,s=i.iv` filter: invert(var(--inversion-percentage)); - `;return(0,u.tZ)("div",{css:r,children:(0,u.tZ)("button",{css:a,onClick:()=>{n(!t)},children:t?(0,u.tZ)("img",{css:s,src:c,className:"icon-tabler-arrow-bar-up"}):(0,u.tZ)("img",{css:s,src:l,className:"icon-tabler-arrow-bar-down"})})})}function g(e){let{url:t}=e;const n=i.iv` + `;return(0,u.tZ)("div",{css:r,children:(0,u.tZ)("button",{css:a,onClick:()=>{n(!t)},children:t?(0,u.tZ)("img",{css:s,src:A,className:"icon-tabler-arrow-bar-up"}):(0,u.tZ)("img",{css:s,src:c,className:"icon-tabler-arrow-bar-down"})})})}function g(e){let{url:t}=e;const n=i.iv` position: relative; cursor: pointer; z-index: 10; @@ -25,7 +28,6 @@ border: none; background-color: none; justify-self: flex-end; - /* margin-right: 5px; */ margin-top: -5px; margin-bottom: -20px; background-color: transparent; @@ -37,55 +39,98 @@ mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ opacity: 0.5; } - `;return(0,u.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,u.tZ)("img",{css:r,src:d})})}function b(e){let{path:t,javaC:n,javaE:l,cssURL:c,javaHighlight:d,height:b,frame:m,tabs:f}=e;const[v,w]=(0,r.useState)(""),[x,B]=(0,r.useState)(""),[E,y]=(0,r.useState)(""),[C,j]=(0,r.useState)(!(!n||!l)),[D,H]=(0,r.useState)(!1),[O,S]=(0,r.useState)({});(0,r.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{B(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];S((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{w(e)})),c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];S((e=>({...e,cssFile:n})))}))}),[]);const Z=i.iv` + `;return(0,u.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,u.tZ)("img",{css:r,src:d})})}function b(e){let{path:t,javaC:n,javaE:c,cssURL:A,javaHighlight:d,height:b,frame:m,tabs:f}=e;const[v,w]=(0,r.useState)(""),[x,y]=(0,r.useState)(""),[E,B]=(0,r.useState)(""),[C,j]=(0,r.useState)(!(!n||!c)),[D,H]=(0,r.useState)(!1),[S,O]=(0,r.useState)({}),[Z,k]=(0,r.useState)(!1),[V,I]=(0,r.useState)(0),[X,N]=(0,r.useState)(0),[Q,R]=(0,r.useState)(25),[T,q]=(0,r.useState)(25),[P,z]=(0,r.useState)(0),[L,M]=(0,r.useState)(!1),F=(0,r.useRef)(null),G=(0,r.useRef)(null);(0,r.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];O((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{w(e)})),A&&fetch(A).then((e=>e.text())).then((e=>{B(e);const t=new URL(A).pathname.split("/"),n=t[t.length-1];O((e=>({...e,cssFile:n})))})),z(F.current.offsetWidth),console.log(P)}),[]);const J=()=>{k(!1),console.log("Stop Resizing")},Y=e=>{if(Z){const t=e.clientX-V;X+t>P/3&&(F.current.style.width=`${X+t}px`,G.current.style.right=(Q-t<25?25:Q-t)+"px",q(Q-t<25?25:Q-t))}},U=i.iv` display: flex; flex-direction: column; - background-color: var(--code-display-color); width: 100%; margin-bottom: 16px; - padding: ${"hidden"==m?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,I=i.iv` + /* padding: ${"hidden"==m?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,W=i.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,K=i.iv` min-height: 100px; height: 100%; width: 100%; - height: ${b}; - `,V=i.iv` - border: none; + height: ${b||"100%"}; + pointer-events: none; + `,_=i.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${D&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=i.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=i.iv` box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; - .tabs{ - margin-top: 20px; + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px } summary{ display: flex; width: 100%; justify-content: center; - margin: 0; + margin: 10px 0; font-weight: bold; ::before{ left: auto; margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) } } - - `,X=i.iv` - width: 100%; - `,k=i.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${D&&"opacity: 1;"}; + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=i.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } - `;return(0,u.BX)("div",{css:Z,children:["hidden"!=m?(0,u.BX)("div",{onMouseEnter:()=>{H(!0)},onMouseLeave:()=>H(!1),css:X,children:[(0,u.tZ)("div",{css:k,children:(0,u.tZ)(g,{url:t})}),(0,u.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:I})]}):null,(0,u.BX)(o.Z,{css:V,summary:(0,u.tZ)("summary",{children:"Show Code"}),children:[n&&l?(0,u.tZ)(p,{collapse:C,setCollapse:j}):null,c?(0,u.BX)(a.Z,{children:[(0,u.tZ)(s.Z,{value:f?f[0]:"Java",label:f?f[0]:O.javaFile,default:!0,children:(0,u.tZ)(A.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:C?v:x})}),(0,u.tZ)(s.Z,{value:f?f[1]:"CSS",label:f?f[1]:O.cssFile,children:(0,u.tZ)(A.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:E})})]}):(0,u.tZ)(a.Z,{children:(0,u.tZ)(s.Z,{value:f?f[0]:"Java",label:f?f[0]:O.javaFile,default:!0,children:(0,u.tZ)(A.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:C?v:x})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var r=n(7294),i=n(917),a=n(8230),s=n(4387),o=n(6770);var A=n(5944);function l(e){let{type:t,location:n,top:l,children:c,code:d,suffix:h}=e;const[u,p]=(0,r.useState)("");(0,r.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const g=i.iv` + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=i.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,u.BX)("div",{css:U,onMouseUp:J,onMouseLeave:J,onMouseMove:Y,children:["hidden"!=m?(0,u.BX)("div",{onMouseEnter:()=>{H(!0)},onMouseLeave:()=>H(!1),css:W,children:[(0,u.tZ)("iframe",{onMouseUp:J,loading:"lazy",src:t,css:{...K,pointerEvents:Z?"none":"auto"},ref:F,onMouseMove:Y}),(0,u.tZ)("div",{css:_,ref:G,children:(0,u.tZ)(g,{url:t})}),(0,u.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),k(!0),I(e.clientX),N(F.current.offsetWidth),R(T),console.log(G.current.right),console.log("Start Resizing")},children:(0,u.tZ)(h.Z,{})})]}):null,(0,u.BX)(o.Z,{css:ee,summary:(0,u.tZ)("summary",{onClick:()=>M(!L),children:L?"Hide Code":"Show Code"}),children:[n&&c?(0,u.tZ)(p,{collapse:C,setCollapse:j}):null,A?(0,u.BX)(a.Z,{css:te,children:[(0,u.tZ)(s.Z,{value:f?f[0]:"Java",label:f?f[0]:S.javaFile,default:!0,children:(0,u.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:C?v:x})}),(0,u.tZ)(s.Z,{value:f?f[1]:"CSS",label:f?f[1]:S.cssFile,children:(0,u.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:E})})]}):(0,u.tZ)(a.Z,{css:te,children:(0,u.tZ)(s.Z,{value:f?f[0]:"Java",label:f?f[0]:S.javaFile,default:!0,children:(0,u.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:C?v:x})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var r=n(7294),i=n(917),a=n(8230),s=n(4387),o=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:A,code:d,suffix:h}=e;const[u,p]=(0,r.useState)("");(0,r.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const g=i.iv` display: inline; - ${l&&i.iv` + ${c&&i.iv` width: 100%; display: flex; justify-content: flex-end; @@ -94,10 +139,11 @@ `} `,b=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,A.BX)(A.HY,{children:["true"===l&&(0,A.tZ)("div",{css:g,children:(0,A.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,A.tZ)(s.Z,{css:b,label:"Java API",component:"a",href:u,icon:(0,A.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!d&&(0,A.tZ)("div",{css:g,children:(0,A.tZ)("a",{href:u,target:"_blank",children:c})}),"true"!==l&&d&&(0,A.tZ)("div",{css:g,children:(0,A.tZ)("code",{children:(0,A.tZ)("a",{href:u,target:"_blank",children:c})})})]})}},2322:(e,t,n)=>{n.d(t,{Z:()=>o});n(7294);var r=n(917),i=n(9960),a=n(5944);function s(e){let{imagePath:t,title:n,description:s,link:o}=e;const A=r.iv` + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(s.Z,{css:b,label:"Java API",component:"a",href:u,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!d&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("a",{href:u,target:"_blank",children:A})}),"true"!==c&&d&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:u,target:"_blank",children:A})})})]})}},2322:(e,t,n)=>{n.d(t,{Z:()=>o});n(7294);var r=n(917),i=n(9960),a=n(5944);function s(e){let{imagePath:t,title:n,description:s,link:o}=e;const l=r.iv` display: flex; flex-direction: column; width: 300px; @@ -121,12 +167,12 @@ text-decoration: none; color: var(--ifm-font-color-base); } - `,l=r.iv` + `,c=r.iv` width: 250px; height: 150px; object-fit: contain; margin: 0 0 5px -3px; - `,c=r.iv` + `,A=r.iv` height: 1px; background-color: lightgray; margin: 5px 0 15px 0; @@ -140,7 +186,7 @@ font-size: .9em; margin: 0px !important; } - `;return(0,a.BX)(i.Z,{to:o,css:A,children:[(0,a.tZ)("div",{css:{display:"flex",justifyContent:"center"},children:(0,a.tZ)("img",{src:t.default,css:l})}),(0,a.tZ)("div",{css:c,className:"bar"}),(0,a.BX)("div",{css:d,children:[(0,a.tZ)("h5",{children:n}),(0,a.tZ)("p",{children:s})]})]})}function o(e){let{componentData:t}=e;const n=r.iv` + `;return(0,a.BX)(i.Z,{to:o,css:l,children:[(0,a.tZ)("div",{css:{display:"flex",justifyContent:"center"},children:(0,a.tZ)("img",{src:t.default,css:c})}),(0,a.tZ)("div",{css:A,className:"bar"}),(0,a.BX)("div",{css:d,children:[(0,a.tZ)("h5",{children:n}),(0,a.tZ)("p",{children:s})]})]})}function o(e){let{componentData:t}=e;const n=r.iv` display : flex; flex-direction : row; flex-wrap : wrap; diff --git a/assets/js/44a2ffa8.610f66d0.js b/assets/js/44a2ffa8.610f66d0.js deleted file mode 100644 index 5ab7e6240..000000000 --- a/assets/js/44a2ffa8.610f66d0.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[8499],{1955:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var n=i(5893),s=i(1151),a=(i(6957),i(7796),i(3273)),r=i(2665);const l={sidebar_position:7,title:"TimeField",slug:"timefield"},o=void 0,c={id:"components/fields/time-field",title:"TimeField",description:"The TimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/time-field.md",sourceDirName:"components/fields",slug:"/components/fields/timefield",permalink:"/docs/components/fields/timefield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/time-field.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"TimeField",slug:"timefield"},sidebar:"documentationSidebar",previous:{title:"TextField",permalink:"/docs/components/fields/textfield"},next:{title:"Label",permalink:"/docs/components/label"}},d={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Display",id:"display",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,n.jsx)(r.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,n.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/field/TimeField",top:"true"}),"\n",(0,n.jsxs)(t.admonition,{type:"success",children:[(0,n.jsx)(t.mdxAdmonitionTitle,{children:(0,n.jsx)(t.strong,{children:"Important"})}),(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,n.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," is best used in scenarios where capturing or manipulating time values is crucial to the user interface or application functionality. Here are some examples of when to use the ",(0,n.jsx)(t.code,{children:"TimeField"}),":"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Event Scheduling and Calendars"}),": Time fields are essential in applications that involve event scheduling, appointment booking, or managing calendars where precise time selection is required."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Time Tracking and Logging"}),": Applications that involve time tracking, such as timesheet management or logging work hours, require Time fields to capture accurate time entries."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Reminders and Alarms"}),": If your application involves setting reminders or alarms that require specific times, using a ",(0,n.jsx)(t.code,{children:"TimeField"})," simplifies the input process for users."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Meeting or Event Invitations"}),": When designing applications that involve meeting or event invitations, a ",(0,n.jsx)(t.code,{children:"TimeField"})," enables users to specify event start times or deadlines accurately."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class provides a user interface component that allows the user to enter both a time; hours, minutes, and optionally seconds. The value of the time field is always in 24-hour format that includes leading zeros: HH",":mm",", regardless of the field format, which is likely to be selected based on the user's locale (or by the user agent). If the time includes seconds, the format is always HH:mm",":ss"]}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class has four constructors:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField(String label, LocalTime time)"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," with a given label and time."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField(String label)"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," with a given label but with no pre-populated time."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField(LocalTime time)"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," with a given time, but without a label."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField()"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," without any provided information."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,n.jsxs)(t.p,{children:["You can use the ",(0,n.jsx)(t.code,{children:"setMax()"})," and ",(0,n.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable time range. If the value entered into the component is outside of the specified value, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,n.jsx)(t.h3,{id:"display",children:"Display"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," will, by default, display its information within the UI element based on the locale the browser is configured to. For example, users with United States configurations will see the time displayed with A.M. and P.M. labels, whereas other locales would see the time in 24 hour format. This does not inhibit manipulation of the ",(0,n.jsx)(t.code,{children:"LocalTime"})," object returned by methods from the class, however."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["When displaying time, the seconds will display by default. However, if the component is given a ",(0,n.jsx)(t.code,{children:"LocaleTime"})," object with the seconds set to 0, the seconds are then hidden from the display."]})}),"\n",(0,n.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class also provides the following static utility methods:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"fromTime(String timeAsString)"}),": Convert a time string in HH:mm",":ss"," format to a LocalTime object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"toTime(LocalTime time)"}),": Convert a LocalTime to a time string in HH:mm",":ss"," format."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"isValidTime(String timeAsString)"}),": Check if the given string is a valid HH:mm",":ss"," time. This will return a boolean value true if so, false otherwise."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Provide Clear Time Format Examples"}),": Clearly indicate the expected time format to users within or near the ",(0,n.jsx)(t.code,{children:"TimeField"}),". Use examples or placeholders to guide users in entering time correctly. Consider displaying the time format dynamically based on the user's locale if applicable."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the ",(0,n.jsx)(t.code,{children:"TimeField"})," component with accessibility in mind, ensuring it meets accessibility standards such as providing proper labels, sufficient color contrast, and compatibility with assistive technologies."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Include Clear Time Clearing Option"}),": Enable users to clear the selected time easily if needed, providing a way to reset the ",(0,n.jsx)(t.code,{children:"TimeField"})," to an empty state."]}),"\n"]}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},5162:(e,t,i)=>{i.d(t,{Z:()=>r});i(7294);var n=i(6010);const s={tabItem:"tabItem_Ymn6"};var a=i(5893);function r(e){let{children:t,hidden:i,className:r}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,n.Z)(s.tabItem,r),hidden:i,children:t})}},4866:(e,t,i)=>{i.d(t,{Z:()=>j});var n=i(7294),s=i(6010),a=i(2466),r=i(6550),l=i(469),o=i(1980),c=i(7392),d=i(12);function h(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:i}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:i,attributes:n,default:s}}=e;return{value:t,label:i,attributes:n,default:s}}))}(i);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,i])}function m(e){let{value:t,tabValues:i}=e;return i.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:i}=e;const s=(0,r.k6)(),a=function(e){let{queryString:t=!1,groupId:i}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!i)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return i??null}({queryString:t,groupId:i});return[(0,o._X)(a),(0,n.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(s.location.search);t.set(a,e),s.replace({...s.location,search:t.toString()})}),[a,s])]}function A(e){const{defaultValue:t,queryString:i=!1,groupId:s}=e,a=u(e),[r,o]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:i}=e;if(0===i.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:i}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${i.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=i.find((e=>e.default))??i[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:a}))),[c,h]=p({queryString:i,groupId:s}),[A,b]=function(e){let{groupId:t}=e;const i=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,a]=(0,d.Nk)(i);return[s,(0,n.useCallback)((e=>{i&&a.set(e)}),[i,a])]}({groupId:s}),g=(()=>{const e=c??A;return m({value:e,tabValues:a})?e:null})();(0,l.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:r,selectValue:(0,n.useCallback)((e=>{if(!m({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),h(e),b(e)}),[h,b,a]),tabValues:a}}var b=i(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=i(5893);function v(e){let{className:t,block:i,selectedValue:n,selectValue:r,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),d=e=>{const t=e.currentTarget,i=o.indexOf(t),s=l[i].value;s!==n&&(c(t),r(s))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const i=o.indexOf(e.currentTarget)+1;t=o[i]??o[0];break}case"ArrowLeft":{const i=o.indexOf(e.currentTarget)-1;t=o[i]??o[o.length-1];break}}t?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":i},t),children:l.map((e=>{let{value:t,label:i,attributes:a}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>o.push(e),onKeyDown:h,onClick:d,...a,className:(0,s.Z)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":n===t}),children:i??t},t)}))})}function x(e){let{lazy:t,children:i,selectedValue:s}=e;const a=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===s));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function w(e){const t=A(e);return(0,f.jsxs)("div",{className:(0,s.Z)("tabs-container",g.tabList),children:[(0,f.jsx)(v,{...e,...t}),(0,f.jsx)(x,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,f.jsx)(w,{...e,children:h(e.children)},String(t))}},6957:(e,t,i)=>{i.d(t,{Z:()=>b});var n=i(7294),s=i(917),a=i(4866),r=i(5162),l=i(4673),o=i(1750);const c="data:image/png;base64,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",d=i.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=i(2949),m=i(5944);function p(e){let{collapse:t,setCollapse:i}=e;const n=s.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,a=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,r=s.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:n,children:(0,m.tZ)("button",{css:a,onClick:()=>{i(!t)},children:t?(0,m.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function A(e){let{url:t}=e;const i=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,n=s.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:i,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:n,src:h})})}function b(e){let{path:t,javaC:i,javaE:c,cssURL:d,javaHighlight:h,height:b,frame:g,tabs:f}=e;const[v,x]=(0,n.useState)(""),[w,j]=(0,n.useState)(""),[y,T]=(0,n.useState)(""),[D,B]=(0,n.useState)(!(!i||!c)),[Z,k]=(0,n.useState)(!1),[F,C]=(0,n.useState)({});(0,n.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),i=t[t.length-1];C((e=>({...e,javaFile:i})))})),i&&fetch(i).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{T(e);const t=new URL(d).pathname.split("/"),i=t[t.length-1];C((e=>({...e,cssFile:i})))}))}),[]);const S=s.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,E=s.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${b}; - `,L=s.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,H=s.iv` - width: 100%; - `,M=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${Z&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:S,children:["hidden"!=g?(0,m.BX)("div",{onMouseEnter:()=>{k(!0)},onMouseLeave:()=>k(!1),css:H,children:[(0,m.tZ)("div",{css:M,children:(0,m.tZ)(A,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:E})]}):null,(0,m.BX)(l.Z,{css:L,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[i&&c?(0,m.tZ)(p,{collapse:D,setCollapse:B}):null,d?(0,m.BX)(a.Z,{children:[(0,m.tZ)(r.Z,{value:f?f[0]:"Java",label:f?f[0]:F.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?v:w})}),(0,m.tZ)(r.Z,{value:f?f[1]:"CSS",label:f?f[1]:F.cssFile,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(a.Z,{children:(0,m.tZ)(r.Z,{value:f?f[0]:"Java",label:f?f[0]:F.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?v:w})})})]})]})}},3273:(e,t,i)=>{i.d(t,{Z:()=>c});var n=i(7294),s=i(917),a=i(8230),r=i(4387),l=i(6770);var o=i(5944);function c(e){let{type:t,location:i,top:c,children:d,code:h,suffix:u}=e;const[m,p]=(0,n.useState)("");(0,n.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+i+".html"+u)}),[]);const A=s.iv` - display: inline; - - ${c&&s.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,b=s.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,o.BX)(o.HY,{children:["true"===c&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(r.Z,{css:b,label:"Java API",component:"a",href:m,icon:(0,o.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&h&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,i)=>{i.d(t,{Z:()=>a});i(7294);var n=i(8397),s=i(5893);function a(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(n.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/44a2ffa8.7c4918ef.js b/assets/js/44a2ffa8.7c4918ef.js new file mode 100644 index 000000000..6f5121fbb --- /dev/null +++ b/assets/js/44a2ffa8.7c4918ef.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[8499],{1955:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>m,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=i(5893),s=i(1151),r=(i(6957),i(7796),i(3273)),a=i(2665);const o={sidebar_position:7,title:"TimeField",slug:"timefield"},l=void 0,c={id:"components/fields/time-field",title:"TimeField",description:"The TimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/time-field.md",sourceDirName:"components/fields",slug:"/components/fields/timefield",permalink:"/docs/components/fields/timefield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/time-field.md",tags:[],version:"current",sidebarPosition:7,frontMatter:{sidebar_position:7,title:"TimeField",slug:"timefield"},sidebar:"documentationSidebar",previous:{title:"TextField",permalink:"/docs/components/fields/textfield"},next:{title:"Label",permalink:"/docs/components/label"}},d={},u=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Display",id:"display",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,n.jsx)(a.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,n.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/field/TimeField",top:"true"}),"\n",(0,n.jsxs)(t.admonition,{type:"success",children:[(0,n.jsx)(t.mdxAdmonitionTitle,{children:(0,n.jsx)(t.strong,{children:"Important"})}),(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,n.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," is best used in scenarios where capturing or manipulating time values is crucial to the user interface or application functionality. Here are some examples of when to use the ",(0,n.jsx)(t.code,{children:"TimeField"}),":"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Event Scheduling and Calendars"}),": Time fields are essential in applications that involve event scheduling, appointment booking, or managing calendars where precise time selection is required."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Time Tracking and Logging"}),": Applications that involve time tracking, such as timesheet management or logging work hours, require Time fields to capture accurate time entries."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Reminders and Alarms"}),": If your application involves setting reminders or alarms that require specific times, using a ",(0,n.jsx)(t.code,{children:"TimeField"})," simplifies the input process for users."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Meeting or Event Invitations"}),": When designing applications that involve meeting or event invitations, a ",(0,n.jsx)(t.code,{children:"TimeField"})," enables users to specify event start times or deadlines accurately."]}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class provides a user interface component that allows the user to enter both a time; hours, minutes, and optionally seconds. The value of the time field is always in 24-hour format that includes leading zeros: HH",":mm",", regardless of the field format, which is likely to be selected based on the user's locale (or by the user agent). If the time includes seconds, the format is always HH:mm",":ss"]}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class has four constructors:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField(String label, LocalTime time)"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," with a given label and time."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField(String label)"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," with a given label but with no pre-populated time."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField(LocalTime time)"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," with a given time, but without a label."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"TimeField()"}),": Creates a ",(0,n.jsx)(t.code,{children:"TimeField"})," without any provided information."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,n.jsxs)(t.p,{children:["You can use the ",(0,n.jsx)(t.code,{children:"setMax()"})," and ",(0,n.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable time range. If the value entered into the component is outside of the specified value, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,n.jsx)(t.h3,{id:"display",children:"Display"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," will, by default, display its information within the UI element based on the locale the browser is configured to. For example, users with United States configurations will see the time displayed with A.M. and P.M. labels, whereas other locales would see the time in 24 hour format. This does not inhibit manipulation of the ",(0,n.jsx)(t.code,{children:"LocalTime"})," object returned by methods from the class, however."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["When displaying time, the seconds will display by default. However, if the component is given a ",(0,n.jsx)(t.code,{children:"LocaleTime"})," object with the seconds set to 0, the seconds are then hidden from the display."]})}),"\n",(0,n.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"TimeField"})," class also provides the following static utility methods:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"fromTime(String timeAsString)"}),": Convert a time string in HH:mm",":ss"," format to a LocalTime object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"toTime(LocalTime time)"}),": Convert a LocalTime to a time string in HH:mm",":ss"," format."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"isValidTime(String timeAsString)"}),": Check if the given string is a valid HH:mm",":ss"," time. This will return a boolean value true if so, false otherwise."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Provide Clear Time Format Examples"}),": Clearly indicate the expected time format to users within or near the ",(0,n.jsx)(t.code,{children:"TimeField"}),". Use examples or placeholders to guide users in entering time correctly. Consider displaying the time format dynamically based on the user's locale if applicable."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the ",(0,n.jsx)(t.code,{children:"TimeField"})," component with accessibility in mind, ensuring it meets accessibility standards such as providing proper labels, sufficient color contrast, and compatibility with assistive technologies."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Include Clear Time Clearing Option"}),": Enable users to clear the selected time easily if needed, providing a way to reset the ",(0,n.jsx)(t.code,{children:"TimeField"})," to an empty state."]}),"\n"]}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(h,{...e})}):h(e)}},6031:(e,t,i)=>{var n=i(4836);t.Z=void 0;var s=n(i(4938)),r=i(5893),a=(0,s.default)((0,r.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=a},2610:(e,t,i)=>{var n=i(4836);t.Z=void 0;var s=n(i(4938)),r=i(5893),a=(0,s.default)((0,r.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=a},5162:(e,t,i)=>{i.d(t,{Z:()=>a});i(7294);var n=i(6010);const s={tabItem:"tabItem_Ymn6"};var r=i(5893);function a(e){let{children:t,hidden:i,className:a}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,n.Z)(s.tabItem,a),hidden:i,children:t})}},4866:(e,t,i)=>{i.d(t,{Z:()=>j});var n=i(7294),s=i(6010),r=i(2466),a=i(6550),o=i(469),l=i(1980),c=i(7392),d=i(12);function u(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:i}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:i,attributes:n,default:s}}=e;return{value:t,label:i,attributes:n,default:s}}))}(i);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,i])}function m(e){let{value:t,tabValues:i}=e;return i.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:i}=e;const s=(0,a.k6)(),r=function(e){let{queryString:t=!1,groupId:i}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!i)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return i??null}({queryString:t,groupId:i});return[(0,l._X)(r),(0,n.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(s.location.search);t.set(r,e),s.replace({...s.location,search:t.toString()})}),[r,s])]}function g(e){const{defaultValue:t,queryString:i=!1,groupId:s}=e,r=h(e),[a,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:i}=e;if(0===i.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:i}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${i.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=i.find((e=>e.default))??i[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:r}))),[c,u]=p({queryString:i,groupId:s}),[g,b]=function(e){let{groupId:t}=e;const i=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,r]=(0,d.Nk)(i);return[s,(0,n.useCallback)((e=>{i&&r.set(e)}),[i,r])]}({groupId:s}),A=(()=>{const e=c??g;return m({value:e,tabValues:r})?e:null})();(0,o.Z)((()=>{A&&l(A)}),[A]);return{selectedValue:a,selectValue:(0,n.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),b(e)}),[u,b,r]),tabValues:r}}var b=i(2389);const A={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=i(5893);function f(e){let{className:t,block:i,selectedValue:n,selectValue:a,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),d=e=>{const t=e.currentTarget,i=l.indexOf(t),s=o[i].value;s!==n&&(c(t),a(s))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const i=l.indexOf(e.currentTarget)+1;t=l[i]??l[0];break}case"ArrowLeft":{const i=l.indexOf(e.currentTarget)-1;t=l[i]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":i},t),children:o.map((e=>{let{value:t,label:i,attributes:r}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...r,className:(0,s.Z)("tabs__item",A.tabItem,r?.className,{"tabs__item--active":n===t}),children:i??t},t)}))})}function x(e){let{lazy:t,children:i,selectedValue:s}=e;const r=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===s));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:r.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function w(e){const t=g(e);return(0,v.jsxs)("div",{className:(0,s.Z)("tabs-container",A.tabList),children:[(0,v.jsx)(f,{...e,...t}),(0,v.jsx)(x,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,v.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,i)=>{i.d(t,{Z:()=>b});var n=i(7294),s=i(917),r=i(4866),a=i(5162),o=i(4673),l=i(1750);const c="data:image/png;base64,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",d=i.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=i(2610),m=i(5944);function p(e){let{collapse:t,setCollapse:i}=e;const n=s.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,r=s.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,a=s.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,m.tZ)("div",{css:n,children:(0,m.tZ)("button",{css:r,onClick:()=>{i(!t)},children:t?(0,m.tZ)("img",{css:a,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:a,src:c,className:"icon-tabler-arrow-bar-down"})})})}function g(e){let{url:t}=e;const i=s.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,n=s.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,m.tZ)("button",{css:i,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:n,src:u})})}function b(e){let{path:t,javaC:i,javaE:c,cssURL:d,javaHighlight:u,height:b,frame:A,tabs:v}=e;const[f,x]=(0,n.useState)(""),[w,j]=(0,n.useState)(""),[y,D]=(0,n.useState)(""),[T,Z]=(0,n.useState)(!(!i||!c)),[B,k]=(0,n.useState)(!1),[S,F]=(0,n.useState)({}),[C,E]=(0,n.useState)(!1),[L,M]=(0,n.useState)(0),[H,z]=(0,n.useState)(0),[V,N]=(0,n.useState)(25),[O,X]=(0,n.useState)(25),[G,Y]=(0,n.useState)(0),[J,I]=(0,n.useState)(!1),P=(0,n.useRef)(null),W=(0,n.useRef)(null);(0,n.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),i=t[t.length-1];F((e=>({...e,javaFile:i})))})),i&&fetch(i).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),i=t[t.length-1];F((e=>({...e,cssFile:i})))})),Y(P.current.offsetWidth),console.log(G)}),[]);const U=()=>{E(!1),console.log("Stop Resizing")},q=e=>{if(C){const t=e.clientX-L;H+t>G/3&&(P.current.style.width=`${H+t}px`,W.current.style.right=(V-t<25?25:V-t)+"px",X(V-t<25?25:V-t))}},R=s.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==A?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=s.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=s.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${b||"100%"}; + pointer-events: none; + `,_=s.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${B&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=s.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=s.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=s.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ie=s.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,m.BX)("div",{css:R,onMouseUp:U,onMouseLeave:U,onMouseMove:q,children:["hidden"!=A?(0,m.BX)("div",{onMouseEnter:()=>{k(!0)},onMouseLeave:()=>k(!1),css:K,children:[(0,m.tZ)("iframe",{onMouseUp:U,loading:"lazy",src:t,css:{...Q,pointerEvents:C?"none":"auto"},ref:P,onMouseMove:q}),(0,m.tZ)("div",{css:_,ref:W,children:(0,m.tZ)(g,{url:t})}),(0,m.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),E(!0),M(e.clientX),z(P.current.offsetWidth),N(O),console.log(W.current.right),console.log("Start Resizing")},children:(0,m.tZ)(h.Z,{})})]}):null,(0,m.BX)(o.Z,{css:ee,summary:(0,m.tZ)("summary",{onClick:()=>I(!J),children:J?"Hide Code":"Show Code"}),children:[i&&c?(0,m.tZ)(p,{collapse:T,setCollapse:Z}):null,d?(0,m.BX)(r.Z,{css:te,children:[(0,m.tZ)(a.Z,{value:v?v[0]:"Java",label:v?v[0]:S.javaFile,default:!0,children:(0,m.tZ)(l.Z,{css:ie,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:T?f:w})}),(0,m.tZ)(a.Z,{value:v?v[1]:"CSS",label:v?v[1]:S.cssFile,children:(0,m.tZ)(l.Z,{css:ie,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(r.Z,{css:te,children:(0,m.tZ)(a.Z,{value:v?v[0]:"Java",label:v?v[0]:S.javaFile,default:!0,children:(0,m.tZ)(l.Z,{css:ie,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:T?f:w})})})]})]})}},3273:(e,t,i)=>{i.d(t,{Z:()=>c});var n=i(7294),s=i(917),r=i(8230),a=i(4387),o=i(6031);var l=i(5944);function c(e){let{type:t,location:i,top:c,children:d,code:u,suffix:h}=e;const[m,p]=(0,n.useState)("");(0,n.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+i+".html"+h)}),[]);const g=s.iv` + display: inline; + + ${c&&s.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,b=s.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)(r.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(a.Z,{css:b,label:"Java API",component:"a",href:m,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,i)=>{i.d(t,{Z:()=>r});i(7294);var n=i(8397),s=i(5893);function r(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(n.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/47f3d74a.43b513e9.js b/assets/js/47f3d74a.43b513e9.js deleted file mode 100644 index db6c5860e..000000000 --- a/assets/js/47f3d74a.43b513e9.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1303],{1214:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>h,contentTitle:()=>d,default:()=>p,frontMatter:()=>o,metadata:()=>c,toc:()=>u});var n=i(5893),a=i(1151),s=i(6957),r=(i(7796),i(3273)),l=i(2665);const o={sidebar_position:3,title:"DateTimeField",slug:"datetimefield"},d=void 0,c={id:"components/fields/date-time-field",title:"DateTimeField",description:"The DateTimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/date-time-field.md",sourceDirName:"components/fields",slug:"/components/fields/datetimefield",permalink:"/docs/components/fields/datetimefield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/date-time-field.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"DateTimeField",slug:"datetimefield"},sidebar:"documentationSidebar",previous:{title:"DateField",permalink:"/docs/components/fields/datefield"},next:{title:"NumberField",permalink:"/docs/components/fields/numberfield"}},h={},u=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Display",id:"display",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,n.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,n.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/field/DateTimeField",top:"true"}),"\n",(0,n.jsxs)(t.admonition,{type:"success",children:[(0,n.jsx)(t.mdxAdmonitionTitle,{children:(0,n.jsx)(t.strong,{children:"Important"})}),(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," class provides a user interface component that allows the user to enter both a date and a time, including the year, month, and day, as well as the time in hours and minutes. It offers the flexibility to validate the input or use a special date-time picker interface."]}),"\n",(0,n.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.DateTimeFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/DateTimeFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,n.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," is best used in scenarios where capturing or displaying both date ",(0,n.jsx)(t.strong,{children:"and"})," time is essential to the user interface or application functionality. Here are some examples of when to use the ",(0,n.jsx)(t.code,{children:"DateTimeField"}),":"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Event Scheduling and Calendars"}),": If time of day is in important factor in applications that involve event scheduling, appointment booking, or managing calendars then a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," is the proper component to use."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require date and time inputs, using a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," simplifies the selection process for users. This is particularly useful for applications that collect user data or require scheduling with specific times."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Data Logging and Timestamps"}),": Applications that involve data logging or capturing timestamps require ",(0,n.jsx)(t.code,{children:"DateTimeFields"})," to record the date and time when events occur or when data is submitted."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Task Management and Deadlines"}),": ",(0,n.jsx)(t.code,{children:"DateTimeFields"})," are valuable in applications that involve task management or setting deadlines where both the date and time are relevant for accurate scheduling."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," class has four constructors:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField(String label, LocalDateTime dateTime)"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," with a given label and datetime."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField(String label)"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," with a given label but with no pre-populated datetime."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField(LocalDateTime dateTime)"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," with a given datetime, but without a label."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField()"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," without any provided information."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,n.jsxs)(t.p,{children:["You can use the ",(0,n.jsx)(t.code,{children:"setMax()"})," and ",(0,n.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable range of dates and times. If the value entered into the component is outside of the specified timestamp, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,n.jsx)(t.h3,{id:"display",children:"Display"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," will, by default, display its information within the UI element based on the locale the browser is configured to. For example, users with United States configurations will see the date displayed with the month preceding the day, whereas European users will see the day before the month. This does not inhibit manipulation of the ",(0,n.jsx)(t.code,{children:"LocalDateTime"})," object returned by methods from the class, however."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["When displaying time, the seconds will display by default. However, if the component is given a ",(0,n.jsx)(t.code,{children:"LocaleDateTime"})," object with the seconds set to 0, the seconds are then hidden from the display."]})}),"\n",(0,n.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,n.jsx)(t.p,{children:"The DateTimeField class also provides the following static utility methods:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"fromDateTime(String dateTimeAsString)"}),": Convert a date and time string in yyyy-MM-ddTHH:mm",":ss"," format to a LocalDateTime object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"toDateTime(LocalDateTime dateTime)"}),": Convert a LocalDateTime object to a date and time string in yyyy-MM-ddTHH:mm",":ss"," format."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"isValidDateTime(String dateTimeAsString)"}),": Checks to see if the given string is a valid yyyy-MM-ddTHH:mm",":ss"," date and time. This will return a boolean value true if so, false otherwise."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,n.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,n.jsx)(t.code,{children:"DateField"})," component, consider the following best practices:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Localized Date Display"}),": When displaying dates, consider localizing the date format and incorporating regional preferences. This enhances usability and ensures dates are presented in a familiar format to the user."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Include Timezone Considerations"}),": If your application deals with time-sensitive information across different time zones, consider incorporating timezone selection alongside the date field to ensure accurate date-time representation."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the ",(0,n.jsx)(t.code,{children:"DateField"})," with accessibility in mind. Ensure that it meets accessibility standards, such as providing proper labels, and being compatible with assistive technologies."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Auto-Populate Current Date"}),": Consider providing an option to auto-populate the current date as a default value in the date field, if appropriate for your application's use case."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},5162:(e,t,i)=>{i.d(t,{Z:()=>r});i(7294);var n=i(6010);const a={tabItem:"tabItem_Ymn6"};var s=i(5893);function r(e){let{children:t,hidden:i,className:r}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,n.Z)(a.tabItem,r),hidden:i,children:t})}},4866:(e,t,i)=>{i.d(t,{Z:()=>j});var n=i(7294),a=i(6010),s=i(2466),r=i(6550),l=i(469),o=i(1980),d=i(7392),c=i(12);function h(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:i}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:i,attributes:n,default:a}}=e;return{value:t,label:i,attributes:n,default:a}}))}(i);return function(e){const t=(0,d.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,i])}function m(e){let{value:t,tabValues:i}=e;return i.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:i}=e;const a=(0,r.k6)(),s=function(e){let{queryString:t=!1,groupId:i}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!i)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return i??null}({queryString:t,groupId:i});return[(0,o._X)(s),(0,n.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(a.location.search);t.set(s,e),a.replace({...a.location,search:t.toString()})}),[s,a])]}function A(e){const{defaultValue:t,queryString:i=!1,groupId:a}=e,s=u(e),[r,o]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:i}=e;if(0===i.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:i}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${i.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=i.find((e=>e.default))??i[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:s}))),[d,h]=p({queryString:i,groupId:a}),[A,b]=function(e){let{groupId:t}=e;const i=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,s]=(0,c.Nk)(i);return[a,(0,n.useCallback)((e=>{i&&s.set(e)}),[i,s])]}({groupId:a}),g=(()=>{const e=d??A;return m({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:r,selectValue:(0,n.useCallback)((e=>{if(!m({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),h(e),b(e)}),[h,b,s]),tabValues:s}}var b=i(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=i(5893);function v(e){let{className:t,block:i,selectedValue:n,selectValue:r,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:d}=(0,s.o5)(),c=e=>{const t=e.currentTarget,i=o.indexOf(t),a=l[i].value;a!==n&&(d(t),r(a))},h=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const i=o.indexOf(e.currentTarget)+1;t=o[i]??o[0];break}case"ArrowLeft":{const i=o.indexOf(e.currentTarget)-1;t=o[i]??o[o.length-1];break}}t?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":i},t),children:l.map((e=>{let{value:t,label:i,attributes:s}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>o.push(e),onKeyDown:h,onClick:c,...s,className:(0,a.Z)("tabs__item",g.tabItem,s?.className,{"tabs__item--active":n===t}),children:i??t},t)}))})}function x(e){let{lazy:t,children:i,selectedValue:a}=e;const s=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function w(e){const t=A(e);return(0,f.jsxs)("div",{className:(0,a.Z)("tabs-container",g.tabList),children:[(0,f.jsx)(v,{...e,...t}),(0,f.jsx)(x,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,f.jsx)(w,{...e,children:h(e.children)},String(t))}},6957:(e,t,i)=>{i.d(t,{Z:()=>b});var n=i(7294),a=i(917),s=i(4866),r=i(5162),l=i(4673),o=i(1750);const d="data:image/png;base64,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",c=i.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=i(2949),m=i(5944);function p(e){let{collapse:t,setCollapse:i}=e;const n=a.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,s=a.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,r=a.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:n,children:(0,m.tZ)("button",{css:s,onClick:()=>{i(!t)},children:t?(0,m.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-down"})})})}function A(e){let{url:t}=e;const i=a.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,n=a.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:i,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:n,src:h})})}function b(e){let{path:t,javaC:i,javaE:d,cssURL:c,javaHighlight:h,height:b,frame:g,tabs:f}=e;const[v,x]=(0,n.useState)(""),[w,j]=(0,n.useState)(""),[D,y]=(0,n.useState)(""),[T,B]=(0,n.useState)(!(!i||!d)),[F,Z]=(0,n.useState)(!1),[k,C]=(0,n.useState)({});(0,n.useEffect)((()=>{d&&fetch(d).then((e=>e.text())).then((e=>{j(e);const t=new URL(d).pathname.split("/"),i=t[t.length-1];C((e=>({...e,javaFile:i})))})),i&&fetch(i).then((e=>e.text())).then((e=>{x(e)})),c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),i=t[t.length-1];C((e=>({...e,cssFile:i})))}))}),[]);const S=a.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,E=a.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${b}; - `,L=a.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,M=a.iv` - width: 100%; - `,H=a.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${F&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:S,children:["hidden"!=g?(0,m.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:M,children:[(0,m.tZ)("div",{css:H,children:(0,m.tZ)(A,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:E})]}):null,(0,m.BX)(l.Z,{css:L,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[i&&d?(0,m.tZ)(p,{collapse:T,setCollapse:B}):null,c?(0,m.BX)(s.Z,{children:[(0,m.tZ)(r.Z,{value:f?f[0]:"Java",label:f?f[0]:k.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:T?v:w})}),(0,m.tZ)(r.Z,{value:f?f[1]:"CSS",label:f?f[1]:k.cssFile,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:D})})]}):(0,m.tZ)(s.Z,{children:(0,m.tZ)(r.Z,{value:f?f[0]:"Java",label:f?f[0]:k.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:T?v:w})})})]})]})}},3273:(e,t,i)=>{i.d(t,{Z:()=>d});var n=i(7294),a=i(917),s=i(8230),r=i(4387),l=i(6770);var o=i(5944);function d(e){let{type:t,location:i,top:d,children:c,code:h,suffix:u}=e;const[m,p]=(0,n.useState)("");(0,n.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+i+".html"+u)}),[]);const A=a.iv` - display: inline; - - ${d&&a.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,b=a.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,o.BX)(o.HY,{children:["true"===d&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(r.Z,{css:b,label:"Java API",component:"a",href:m,icon:(0,o.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!h&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)("a",{href:m,target:"_blank",children:c})}),"true"!==d&&h&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:m,target:"_blank",children:c})})})]})}},1415:(e,t,i)=>{i.d(t,{Z:()=>s});i(7294);var n=i(8397),a=i(5893);function s(e){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(n.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/47f3d74a.a4ff2fe7.js b/assets/js/47f3d74a.a4ff2fe7.js new file mode 100644 index 000000000..0a989a64a --- /dev/null +++ b/assets/js/47f3d74a.a4ff2fe7.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1303],{1214:(e,t,i)=>{i.r(t),i.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>p,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var n=i(5893),a=i(1151),s=i(6957),r=(i(7796),i(3273)),o=i(2665);const l={sidebar_position:3,title:"DateTimeField",slug:"datetimefield"},d=void 0,c={id:"components/fields/date-time-field",title:"DateTimeField",description:"The DateTimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/date-time-field.md",sourceDirName:"components/fields",slug:"/components/fields/datetimefield",permalink:"/docs/components/fields/datetimefield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/date-time-field.md",tags:[],version:"current",sidebarPosition:3,frontMatter:{sidebar_position:3,title:"DateTimeField",slug:"datetimefield"},sidebar:"documentationSidebar",previous:{title:"DateField",permalink:"/docs/components/fields/datefield"},next:{title:"NumberField",permalink:"/docs/components/fields/numberfield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Display",id:"display",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,n.jsx)(o.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,n.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/field/DateTimeField",top:"true"}),"\n",(0,n.jsxs)(t.admonition,{type:"success",children:[(0,n.jsx)(t.mdxAdmonitionTitle,{children:(0,n.jsx)(t.strong,{children:"Important"})}),(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," class provides a user interface component that allows the user to enter both a date and a time, including the year, month, and day, as well as the time in hours and minutes. It offers the flexibility to validate the input or use a special date-time picker interface."]}),"\n",(0,n.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.DateTimeFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/DateTimeFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,n.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," is best used in scenarios where capturing or displaying both date ",(0,n.jsx)(t.strong,{children:"and"})," time is essential to the user interface or application functionality. Here are some examples of when to use the ",(0,n.jsx)(t.code,{children:"DateTimeField"}),":"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Event Scheduling and Calendars"}),": If time of day is in important factor in applications that involve event scheduling, appointment booking, or managing calendars then a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," is the proper component to use."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require date and time inputs, using a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," simplifies the selection process for users. This is particularly useful for applications that collect user data or require scheduling with specific times."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Data Logging and Timestamps"}),": Applications that involve data logging or capturing timestamps require ",(0,n.jsx)(t.code,{children:"DateTimeFields"})," to record the date and time when events occur or when data is submitted."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Task Management and Deadlines"}),": ",(0,n.jsx)(t.code,{children:"DateTimeFields"})," are valuable in applications that involve task management or setting deadlines where both the date and time are relevant for accurate scheduling."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," class has four constructors:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField(String label, LocalDateTime dateTime)"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," with a given label and datetime."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField(String label)"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," with a given label but with no pre-populated datetime."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField(LocalDateTime dateTime)"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," with a given datetime, but without a label."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"DateTimeField()"}),": Creates a ",(0,n.jsx)(t.code,{children:"DateTimeField"})," without any provided information."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,n.jsxs)(t.p,{children:["You can use the ",(0,n.jsx)(t.code,{children:"setMax()"})," and ",(0,n.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable range of dates and times. If the value entered into the component is outside of the specified timestamp, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,n.jsx)(t.h3,{id:"display",children:"Display"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"DateTimeField"})," will, by default, display its information within the UI element based on the locale the browser is configured to. For example, users with United States configurations will see the date displayed with the month preceding the day, whereas European users will see the day before the month. This does not inhibit manipulation of the ",(0,n.jsx)(t.code,{children:"LocalDateTime"})," object returned by methods from the class, however."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["When displaying time, the seconds will display by default. However, if the component is given a ",(0,n.jsx)(t.code,{children:"LocaleDateTime"})," object with the seconds set to 0, the seconds are then hidden from the display."]})}),"\n",(0,n.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,n.jsx)(t.p,{children:"The DateTimeField class also provides the following static utility methods:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"fromDateTime(String dateTimeAsString)"}),": Convert a date and time string in yyyy-MM-ddTHH:mm",":ss"," format to a LocalDateTime object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"toDateTime(LocalDateTime dateTime)"}),": Convert a LocalDateTime object to a date and time string in yyyy-MM-ddTHH:mm",":ss"," format."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"isValidDateTime(String dateTimeAsString)"}),": Checks to see if the given string is a valid yyyy-MM-ddTHH:mm",":ss"," date and time. This will return a boolean value true if so, false otherwise."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,n.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,n.jsx)(t.code,{children:"DateField"})," component, consider the following best practices:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Localized Date Display"}),": When displaying dates, consider localizing the date format and incorporating regional preferences. This enhances usability and ensures dates are presented in a familiar format to the user."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Include Timezone Considerations"}),": If your application deals with time-sensitive information across different time zones, consider incorporating timezone selection alongside the date field to ensure accurate date-time representation."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the ",(0,n.jsx)(t.code,{children:"DateField"})," with accessibility in mind. Ensure that it meets accessibility standards, such as providing proper labels, and being compatible with assistive technologies."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Auto-Populate Current Date"}),": Consider providing an option to auto-populate the current date as a default value in the date field, if appropriate for your application's use case."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(m,{...e})}):m(e)}},6031:(e,t,i)=>{var n=i(4836);t.Z=void 0;var a=n(i(4938)),s=i(5893),r=(0,a.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,i)=>{var n=i(4836);t.Z=void 0;var a=n(i(4938)),s=i(5893),r=(0,a.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,i)=>{i.d(t,{Z:()=>r});i(7294);var n=i(6010);const a={tabItem:"tabItem_Ymn6"};var s=i(5893);function r(e){let{children:t,hidden:i,className:r}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,n.Z)(a.tabItem,r),hidden:i,children:t})}},4866:(e,t,i)=>{i.d(t,{Z:()=>j});var n=i(7294),a=i(6010),s=i(2466),r=i(6550),o=i(469),l=i(1980),d=i(7392),c=i(12);function u(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:i}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:i,attributes:n,default:a}}=e;return{value:t,label:i,attributes:n,default:a}}))}(i);return function(e){const t=(0,d.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,i])}function m(e){let{value:t,tabValues:i}=e;return i.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:i}=e;const a=(0,r.k6)(),s=function(e){let{queryString:t=!1,groupId:i}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!i)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return i??null}({queryString:t,groupId:i});return[(0,l._X)(s),(0,n.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(a.location.search);t.set(s,e),a.replace({...a.location,search:t.toString()})}),[s,a])]}function g(e){const{defaultValue:t,queryString:i=!1,groupId:a}=e,s=h(e),[r,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:i}=e;if(0===i.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:i}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${i.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=i.find((e=>e.default))??i[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:s}))),[d,u]=p({queryString:i,groupId:a}),[g,b]=function(e){let{groupId:t}=e;const i=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,s]=(0,c.Nk)(i);return[a,(0,n.useCallback)((e=>{i&&s.set(e)}),[i,s])]}({groupId:a}),f=(()=>{const e=d??g;return m({value:e,tabValues:s})?e:null})();(0,o.Z)((()=>{f&&l(f)}),[f]);return{selectedValue:r,selectValue:(0,n.useCallback)((e=>{if(!m({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),b(e)}),[u,b,s]),tabValues:s}}var b=i(2389);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=i(5893);function v(e){let{className:t,block:i,selectedValue:n,selectValue:r,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:d}=(0,s.o5)(),c=e=>{const t=e.currentTarget,i=l.indexOf(t),a=o[i].value;a!==n&&(d(t),r(a))},u=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const i=l.indexOf(e.currentTarget)+1;t=l[i]??l[0];break}case"ArrowLeft":{const i=l.indexOf(e.currentTarget)-1;t=l[i]??l[l.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":i},t),children:o.map((e=>{let{value:t,label:i,attributes:s}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:u,onClick:c,...s,className:(0,a.Z)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":n===t}),children:i??t},t)}))})}function x(e){let{lazy:t,children:i,selectedValue:a}=e;const s=(Array.isArray(i)?i:[i]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function w(e){const t=g(e);return(0,A.jsxs)("div",{className:(0,a.Z)("tabs-container",f.tabList),children:[(0,A.jsx)(v,{...e,...t}),(0,A.jsx)(x,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,A.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,i)=>{i.d(t,{Z:()=>b});var n=i(7294),a=i(917),s=i(4866),r=i(5162),o=i(4673),l=i(1750);const d="data:image/png;base64,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",c=i.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAALyElEQVR4nO3dXahmVR3H8e+M0/FlRouiGV9GxLSkiy7MkW7MDJOCCJ1zkia66KaLLByKEqUizW6EwJjKi24yDfL9pYSEEDSlIMS3JkJrlBzURiUcdXyZF8cu9hnmpOfMec551tr//9rP9wMLQWU9/73W/p398qy9H5AkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSW1bEV1ABauBs4AzgNNm2zrgvcAa4D1xpakHe4DXgJeAF4HHgSeAh4A/z/63wRhKgNcBXwamgU8AU7HlKKk9wF+B24EbgOdjy9E5wF3AXuBtm20JbS/we+Bs1Ltz6U6HoncC2zDaA8CnUXXHAdcTP+G2Yba7gBNRFZuAncRPsm3YbSdwISrmCOCXxE+sbbLaNcDhaCxrgD8SP5m2yWz30n39mFbmr5HWAXcDp0cXoon2CPA54IXoQuaTNcDHAPdheJXDVrqvm3ZGF/JOK6MLmMcRdHcDDa+y+BhwGwmviQ+LLmAe19CtqJIyORl4P/CH6ELmyhbgC4GroouQFnAm8E/g79GFHJDpGvh44B8kv+unibcT+CiwI7oQyHUNfDWGV/m9D/hJdBEHZDkCnwvcE12ENKK36dZO/ym6kCwBfoDuGV6pFfcDn4ouIsMp9DkYXrXnbOCT0UVkCPB3oguQlumS6AKiT6HXAs8Cq4LrkJZjH7CeCX6zx7epuxj9TbrnhzcCJ+H7sCbBKrq5ngZ+Q7cP1NzHNvezWTndT72B/S3dd8uabCcAN1L3iaWJtBrYTfkB3Qd8vcftUBu+Qbdv1DjLO7LH7Ujjs9T5i3hRnxuhpnyTOvvceX1uRBbfo85ps3QoN1F+v7us1y1I4jrKDuIbeM2rxa2n/I2ta3vdgjkivwc+rXB/twDPFe5Tw/MMcGvhPkvvyyOLDPCxhfu7o3B/Gq47C/dXel8eWWSAjy7c30OF+9Nwld5XSu/LI4tcibWbsr9hNEX3cxnSYqbo9r9SdtO9Cqp3kQF+u3B/0ctC1ZZB7H8ZHmaQtEwGWGqYAZYaZoClhhlgqWEGWGqYAZYaZoClhhlgqWEGeFimgE10r5DZRre0tMYD7KXbHuBp4Gd0P+quBpTeCSbdDLCd+DCO2/bRz0+XuP+NyQEsYyWwhfjglW6PUvd1w+5/Y3IAyxhieOeGuBb3vzE5gOObIT5ktVut0+lB7H8+TtiuKeBxul+OH7J9wAeAVwr3O4j9z7vQ7Zpm+OGF7jr4yugisjLA7doYXUCPpqMLyMoAt+vM6AJ6dFx0AVl5DdyuNwh6D1OQ0vM7iP3PI3C7JvXOu+YwwO3aEV2A4hngdj0YXYDiGeB2+UsU8iZWwyZlIccB3sSah0fgdu0BLokuQrEMcNtuo3uGVurdIBaTJzDUxwlrz2/2+tJzAMsaygP9BngJvIk1LFN064YvADYAJ1H3ofg+eRMrmUH8BRywlcCviT/yegROygHMK1t4DXBCDmBOGcNrgBNyAPPJGl4DnJADmEvm8BrghBzAPLKH1wAn5ADm0EJ4DXBCDmC8VsJrgBNyAGO1FF4DnJADGKe18BrghBzAGC2G1wAn5AD2r9XwGuCEHMB+tRxeA5yQA9if1sNrgBNyAPsREd4bKvRZWvb60nMA64sK72EV+i0te33pOYB1RYaXCn2Xlr2+9BzAeqLDS4X+S8teX3oOYB0ZwkuFzygte33pOYDlZQkvFT6ntOz1pecAlpUpvFT4rNKy15eeA1hOtvBS4fNKy15feg5gGRnDS4XPLC17fek5gOPLGl4qfG5p2etLzwEcT+bwUuGzS8teX3oO4PJlDy8VPr+07PWl5wAuTwvhpUINpWWvLz0HcOlaCS8V6igte33pOYBL01J4qVBLadnrS88BHF1r4aVCPaVlry+91yk3eK/1XHufWgwv5J9fAzympyg3eE/1XHtfWg0v5J/fQQR4ZdQHAw8m7SuLlcC1wFd7/Mzrga8AbxXoy/kduE2U++v3pZ5r78MW+j3yXkfZP+jZ53cQR+BIU5Q5zfo3cHi/pVc3Q9vhhfzza4ALKLGjzvRedV2ldvxRW6lr3vlknl8DXMg4p4pbAuqtreSpZ2R4D8g6vwa4kJUsb5K3EHsTrpab6Ce8NU6b55N1fg1wYTPAdhYfqO0M77R5rj5On/sK71zZ5tcAVzBFdwp5I7AN2Dvbts3+u02z/8+QvUHd8PZx2ryQTPNrgFVFyRVMmcKbjQFWFbVOoSNOmzMzwKqixk0sw/tuBlhVlP4aydPm+RlgVVFyIYfhXZgBVjUlVjB52nxoBlhVjbOCyfAuzgCrqqwrmIbCAKsX2VYwDYUBVm8yrWAaikEEeEXUB0vBSocuJEteK0kNM8BSwwyw1DADLDXMAEsNM8BSwwyw1DADLDXMAEsNWxVdwBynABcAHwfWA+tm/7k6qJ7XgGeA52f/+TBwJ/BkUD1SOuuAHwNbKb82tVbbClw5W7vaNYi10FFWA5cCLxMfyOW2XcBVwDGFx0b9MMDLNAPsID6ApdoOYGPREVIfDPASraA76r5FfOhKt/10R2NvCrbDAC/BUcAtxAetdrsJOLLQmKkuAzyiFXQPnUeHq692Gz5n3QIDPKIriA9V3+2HJQZOVRngEczQXR9GB6rvth9vbGU3iADXPNVbA/wLOLbiZ2T2AnAq8Gp0IZpX6dAN7pU632VywwuwFvhWdBEatlp/NdbSvTHx6Er9t2IX8GG674qVi0fgQ7gYwwvdZcRF0UVouGoF2Bs4B10QXYCGq8Zh/1S6m1c66CM4Jtl4Cr2A8yv02bovRBegYaoR4A0V+mzd6dEFaJhqBPj4Cn22zjFRFTUCfFyFPlt3QnQBGqYaAZ7kxRsL8QisKmrcORvE3T2Gsx2a3yDm1wfQpYYZYKlhBlhqmAGWGmaApYYZYKlhBlhqmAGWGmaApYYZYE2iqcL97S7c38gMsCZR6YdLwt48aoA1iUo/s26ApR6Vfk9Z2FtHDbAmzYl0vxhS0hOF+xuZAdakuRo4vHCfYQGuYRC/OTNCXa1shw7aTJ3fwvpMnxtR21B2/KFshzqbqfPj8m8ysN+EHsqOP5TtmHQnUvfH5e/tb1PebVXkh0sVTNF9z7uB7m7zDOWveee6vWLfi/KdWAtrcTumgGm6HXcDcBL+ka5pL90fixejCnByh2MG+CndKaP6cTeB4a1lKNeOrWzHSmBLhXpti7ezRpif5rSy4y+mle0wvDHtvhHmpkmt7PiLaWE7ZirUaVu87QfOHmF+mtTCjj+K7NsxBTxVoU7b4u36EeanFy6lbNc0cHJ0ERPoJeCS6CIOMMDt2hhdwIT6GvB8dBEHGOB2nRldwAT6BcELN97JhRwLy74drzOwNbjJ3QN8HtgTXchcNRZy7ALWFOwv8kZWKa9EF6Cx/A34IsnCC3VOoZ+r0GfraoxJ2FsgJszDwHnAy9GFzKdGgP9Toc/W1QjwgxX61P+7BzgHeCG4jgV5BO5HjTG5o0KfOujndNe8YS+sG0WNAD9Uoc/W1RiTO4CnK/Q76V6iW+G2mYTXvH04hfiVMtlarQUXLqUs1/bTrbBat6QZGKitxE9IlvbomGO5GB9mGL/dx4DXNi/HlcRPSpZ2xXhDuSgfJ1xe2wP8joE+EjiuD9Lddo+epOj2Kv2dks0A23vYppbbm3TvsLqYbh/VIVxO/IRFtx+MPYpLMwVsAm4EttG98iV6DPpuu4H/Ak8CfwF+BVxG9+pXV64twWq6r0+iJzSqPTc7BlKzpunu7kWHqe/2FnB+gfGTwl1OfKD6bt8vMnJSAiuAG4gPVV/tVuKeoJKqOBK4mfhw1W43440SDdQK4FLq/D5NdNsPXIUvSNAE2Miw7k4/S/kfjJZSO4ruaLyT+AAut+2iO+oeXXhspGasBX4EPEZ8IEdtj83WvLbCeEhLkulu6Yfovjs9A1hPtwRxPWVfz7MUu4Bn6F5Q8CzwCHAn3buYJUmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEnA/wDL76bzm26ebQAAAABJRU5ErkJggg==";var h=i(2610),m=i(5944);function p(e){let{collapse:t,setCollapse:i}=e;const n=a.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,s=a.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,r=a.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,m.tZ)("div",{css:n,children:(0,m.tZ)("button",{css:s,onClick:()=>{i(!t)},children:t?(0,m.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-down"})})})}function g(e){let{url:t}=e;const i=a.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,n=a.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,m.tZ)("button",{css:i,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:n,src:u})})}function b(e){let{path:t,javaC:i,javaE:d,cssURL:c,javaHighlight:u,height:b,frame:f,tabs:A}=e;const[v,x]=(0,n.useState)(""),[w,j]=(0,n.useState)(""),[D,y]=(0,n.useState)(""),[T,Z]=(0,n.useState)(!(!i||!d)),[B,k]=(0,n.useState)(!1),[S,F]=(0,n.useState)({}),[C,E]=(0,n.useState)(!1),[L,M]=(0,n.useState)(0),[z,H]=(0,n.useState)(0),[V,N]=(0,n.useState)(25),[O,X]=(0,n.useState)(25),[J,G]=(0,n.useState)(0),[Y,I]=(0,n.useState)(!1),P=(0,n.useRef)(null),W=(0,n.useRef)(null);(0,n.useEffect)((()=>{d&&fetch(d).then((e=>e.text())).then((e=>{j(e);const t=new URL(d).pathname.split("/"),i=t[t.length-1];F((e=>({...e,javaFile:i})))})),i&&fetch(i).then((e=>e.text())).then((e=>{x(e)})),c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),i=t[t.length-1];F((e=>({...e,cssFile:i})))})),G(P.current.offsetWidth),console.log(J)}),[]);const U=()=>{E(!1),console.log("Stop Resizing")},q=e=>{if(C){const t=e.clientX-L;z+t>J/3&&(P.current.style.width=`${z+t}px`,W.current.style.right=(V-t<25?25:V-t)+"px",X(V-t<25?25:V-t))}},R=a.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==f?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=a.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=a.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${b||"100%"}; + pointer-events: none; + `,_=a.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${B&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=a.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=a.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=a.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ie=a.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,m.BX)("div",{css:R,onMouseUp:U,onMouseLeave:U,onMouseMove:q,children:["hidden"!=f?(0,m.BX)("div",{onMouseEnter:()=>{k(!0)},onMouseLeave:()=>k(!1),css:K,children:[(0,m.tZ)("iframe",{onMouseUp:U,loading:"lazy",src:t,css:{...Q,pointerEvents:C?"none":"auto"},ref:P,onMouseMove:q}),(0,m.tZ)("div",{css:_,ref:W,children:(0,m.tZ)(g,{url:t})}),(0,m.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),E(!0),M(e.clientX),H(P.current.offsetWidth),N(O),console.log(W.current.right),console.log("Start Resizing")},children:(0,m.tZ)(h.Z,{})})]}):null,(0,m.BX)(o.Z,{css:ee,summary:(0,m.tZ)("summary",{onClick:()=>I(!Y),children:Y?"Hide Code":"Show Code"}),children:[i&&d?(0,m.tZ)(p,{collapse:T,setCollapse:Z}):null,c?(0,m.BX)(s.Z,{css:te,children:[(0,m.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:S.javaFile,default:!0,children:(0,m.tZ)(l.Z,{css:ie,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:T?v:w})}),(0,m.tZ)(r.Z,{value:A?A[1]:"CSS",label:A?A[1]:S.cssFile,children:(0,m.tZ)(l.Z,{css:ie,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:D})})]}):(0,m.tZ)(s.Z,{css:te,children:(0,m.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:S.javaFile,default:!0,children:(0,m.tZ)(l.Z,{css:ie,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:T?v:w})})})]})]})}},3273:(e,t,i)=>{i.d(t,{Z:()=>d});var n=i(7294),a=i(917),s=i(8230),r=i(4387),o=i(6031);var l=i(5944);function d(e){let{type:t,location:i,top:d,children:c,code:u,suffix:h}=e;const[m,p]=(0,n.useState)("");(0,n.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+i+".html"+h)}),[]);const g=a.iv` + display: inline; + + ${d&&a.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,b=a.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===d&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:b,label:"Java API",component:"a",href:m,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("a",{href:m,target:"_blank",children:c})}),"true"!==d&&u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:m,target:"_blank",children:c})})})]})}},1415:(e,t,i)=>{i.d(t,{Z:()=>s});i(7294);var n=i(8397),a=i(5893);function s(e){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(n.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/4eb8144b.4d28e4d6.js b/assets/js/4eb8144b.4d28e4d6.js deleted file mode 100644 index 0bd475c8a..000000000 --- a/assets/js/4eb8144b.4d28e4d6.js +++ /dev/null @@ -1,120 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2498],{8306:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>c,metadata:()=>h,toc:()=>p});var o=n(5893),s=n(1151),i=n(6957),r=(n(6521),n(7796)),a=n(3273),l=n(2665);const c={sidebar_position:1,title:"ChoiceBox",slug:"choicebox"},d=void 0,h={id:"components/list-components/choice-box",title:"ChoiceBox",description:"The ChoiceBox component is a user interface element designed to present users with a list of options or choices. Users can select a single option from this list, typically by clicking the ChoiceBox, which triggers the display of a dropdown list containing available choices. Users can also interact with the ChoiceBox with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ChoiceBox button.",source:"@site/docs/components/list-components/choice-box.md",sourceDirName:"components/list-components",slug:"/components/list-components/choicebox",permalink:"/docs/components/list-components/choicebox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/choice-box.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"ChoiceBox",slug:"choicebox"},sidebar:"documentationSidebar",previous:{title:"Lists",permalink:"/docs/components/list-components/lists"},next:{title:"ComboBox",permalink:"/docs/components/list-components/combobox"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Dropdown Type",id:"dropdown-type",level:2},{value:"Max Row Count",id:"max-row-count",level:2},{value:"Opening Dimensions",id:"opening-dimensions",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Expanses",id:"expanses",level:3},{value:"Themes",id:"themes",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-list-button",href:"https://basishub.github.io/basis-next/#/web-components/bbj-list-button",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component is a user interface element designed to present users with a list of options or choices. Users can select a single option from this list, typically by clicking the ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),", which triggers the display of a dropdown list containing available choices. Users can also interact with the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," button."]}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"ChoiceBox"})," components are used for various purposes, such as selecting items from a menu, choosing from a list of categories, or picking options from predefined sets. They provide an organized and visually pleasing way for users to make selections, particularly when there are multiple options available. Common usages include:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"User Selection of Options"}),": The primary purpose of a ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," is to allow users to select a single option from a list. This is valuable in applications that require users to make choices, such as:"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Selecting items from a list"}),"\n",(0,o.jsx)(t.li,{children:"Choosing from a list of categories"}),"\n",(0,o.jsx)(t.li,{children:"Picking options from predefined sets"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require users to input specific options, the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," simplifies the selection process. Whether it's selecting a country, state, or any other option from a predefined list, the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," streamlines the input process."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Filtering and Sorting"}),": ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," can be employed for filtering and sorting tasks in applications. Users can choose filter criteria or sorting preferences from a list, facilitating the organization and navigation of data."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Configuration and Settings"}),": When your application includes settings or configuration options, the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," provides an intuitive way for users to adjust preferences. Users can pick settings from a list, making it easy to tailor the application to their needs."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," is intended for use when a preset number of options are available, and custom options should not be allowed or included. If allowing users to enter custom values is desired, use a ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/combobox",children:(0,o.jsx)(t.code,{children:"ComboBox"})})," instead"]})}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ChoiceBox",code:"true",suffix:"#()",children:"ChoiceBox()"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," without a label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ChoiceBox",code:"true",suffix:"#(java.lang.String)",children:"ChoiceBox(String label)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," with the specified label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ChoiceBox",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.ComponentEventListener)",children:"ChoiceBox(String label, ComponentEventListener< ListSelectEvent> selectListener)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," with the given label and a listener to handle item selection events."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"dropdown-type",children:"Dropdown Type"}),"\n",(0,o.jsxs)(t.p,{children:["Using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setDropdownType(java.lang.String)",children:"setDropdownType()"})," method will assign a value to the ",(0,o.jsx)(t.code,{children:"type"})," attribute of a ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),", and a corresponding value for the ",(0,o.jsx)(t.code,{children:"data-dropdown-for"})," attribute in the dropdown of the ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),". This is helpful for styling, as the dropdown is taken out of its current position in the DOM and relocated to the end of the page body when opened."]}),"\n",(0,o.jsx)(t.p,{children:"This detachment creates a situation where directly targeting the\r\ndropdown using CSS or shadow part selectors from the parent component becomes challenging, unless you make use of the dropdown type attribute."}),"\n",(0,o.jsx)(t.p,{children:"In the demo below, the Dropdown type is set and used in the CSS file to select the dropdown and change the background color."}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.comboboxdemos.ChoiceBoxDropdownType",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/comboboxdemos/ChoiceBoxDropdownType.java",height:"250px"}),"\n",(0,o.jsx)(t.h2,{id:"max-row-count",children:"Max Row Count"}),"\n",(0,o.jsxs)(t.p,{children:["By default, the number of rows displayed in the dropdown of a ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," will be increased to fit the content. However, using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setMaxRowCount(int)",children:"setMaxRowCount()"})," method allows for control over how many items are displayed."]}),"\n",(0,o.jsx)(t.admonition,{type:"caution",children:(0,o.jsx)(t.p,{children:"Using a number that is less than or equal to 0 will result in unsetting this property."})}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.comboboxdemos.ChoiceBoxMaxRowDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/comboboxdemos/ChoiceBoxMaxRowDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/comboboxstyles/demo_styles.css",height:"250px"}),"\n",(0,o.jsx)(t.h2,{id:"opening-dimensions",children:"Opening Dimensions"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component has methods that allow manipulation of the dropdown dimensions. The ",(0,o.jsx)(t.strong,{children:"maximum height"})," and ",(0,o.jsx)(t.strong,{children:"minimum width"})," of the dropdown can be set using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenHeight(int)",children:"setOpenHeight()"})," and ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenWidth(int)",children:"setOpenWidth()"})," methods, respectively."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["Passing a ",(0,o.jsx)(t.code,{children:"String"})," value to either of these methods will allow for ",(0,o.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units",children:"any valid CSS unit"})," to be applied, such as pixels, viewport dimensions, or other valid rules. Passing an ",(0,o.jsx)(t.code,{children:"int"})," will set the value passed in pixels."]})}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," class provides methods to add and remove event listeners for the following events, as well as events common to all list components:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListOpenEvent",code:"true",children:"ListOpenEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is opened."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListCloseEvent",code:"true",children:"ListCloseEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is closed."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListClickEvent",code:"true",children:"ListClickEvent"})}),(0,o.jsx)(t.td,{children:"This event is triggered when the user clicks an item from a List-based component."})]})]})]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["For a list of additional events supported by the ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),", see ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/lists#shared-events",children:"this section"})," which outlines shared events amongst list components."]})}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,o.jsxs)(t.p,{children:["There are five ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," expanses that are supported which allow for quick styling without using CSS. Expanses are supported by use of a built-in enum class. ",(0,o.jsx)("br",{})]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.comboboxdemos.ComboboxExpanseDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/comboboxdemos/ComboboxExpanseDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/combobox/Expanse.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/comboboxstyles/expanse_styles.css",height:"150px"}),"\n",(0,o.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component comes with 14 themes built in for quick styling without the use of CSS. Theming is supported by use of a built-in enum class."]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.comboboxdemos.ComboboxThemeDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/comboboxdemos/ComboboxThemeDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/comboboxstyles/theme_styles.css",height:"170px"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../../glossary#shadow-dom",children:"shadow DOM"})," for the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Z,table:"parts",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Z,exclusions:"",table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Z,table:"reflects",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(r.Z,{tag:"bbj-list-button",table:"dependencies"}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component, consider the following best practices:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Clear and Limited Options"}),": Keep the list of choices concise where possible, and relevant to the user's task. A ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," is ideal for presenting a clear list of options."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"User-Friendly Labels"}),": Ensure that the displayed labels for each option are user-friendly and self-explanatory. Make sure users can easily understand the purpose of each choice."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Default Selection"}),": Set a default selection when the ChoiceBox is initially displayed. This ensures a pre-selected option, reducing the number of interactions required to make a choice."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"ChoiceBox vs. Other List Components"}),": A ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," should be used over other List components in the following situations:"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Multiple Selection is not needed or required, and all items do not need to be displayed at once."}),"\n",(0,o.jsx)(t.li,{children:"A selection of predefined choices is desired, preventing users from entering custom or unexpected data."}),"\n"]}),"\n"]})]})}function b(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var o=n(6010);const s={tabItem:"tabItem_Ymn6"};var i=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,o.Z)(s.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),s=n(6010),i=n(2466),r=n(6550),a=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:s}}=e;return{value:t,label:n,attributes:o,default:s}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const s=(0,r.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(i),(0,o.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(s.location.search);t.set(i,e),s.replace({...s.location,search:t.toString()})}),[i,s])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,i=u(e),[r,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:i}))),[c,h]=m({queryString:n,groupId:s}),[b,x]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,i]=(0,d.Nk)(n);return[s,(0,o.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:s}),g=(()=>{const e=c??b;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:r,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),x(e)}),[h,x,i]),tabValues:i}}var x=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var w=n(5893);function v(e){let{className:t,block:n,selectedValue:o,selectValue:r,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),s=a[n].value;s!==o&&(c(t),r(s))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,w.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,w.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...i,className:(0,s.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:s}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===s));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,w.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function A(e){const t=b(e);return(0,w.jsxs)("div",{className:(0,s.Z)("tabs-container",g.tabList),children:[(0,w.jsx)(v,{...e,...t}),(0,w.jsx)(f,{...e,...t})]})}function j(e){const t=(0,x.Z)();return(0,w.jsx)(A,{...e,children:h(e.children)},String(t))}},6521:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(917),s=n(5944);function i(e){let{url:t,mobile:n}=e;const i=o.iv` - display: flex; - flex-direction: column; - align-items: center; - margin: 4rem 0; - /* width: 110%; */ - margin-left: -5%; - `,r=o.iv` - position: relative; - width : 100%; - max-width: ${"true"==n?"375px":"100%"}; - height: ${"true"==n?"700px":"600px"}; - border-radius: 32px; - overflow: hidden; - box-shadow: 0 0 0 10px black, 0 3px 22px black; - outline: thin solid black; - `,a=o.iv` - width: 100%; - height: 100%; - background: var(--bbj-surface-3); - `;return(0,s.tZ)("div",{css:i,children:(0,s.tZ)("div",{css:r,children:(0,s.tZ)("iframe",{src:t,css:a,loading:"lazy"})})})}},6957:(e,t,n)=>{n.d(t,{Z:()=>x});var o=n(7294),s=n(917),i=n(4866),r=n(5162),a=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=s.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,i=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,r=s.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,o=s.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:h})})}function x(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:x,frame:g,tabs:w}=e;const[v,f]=(0,o.useState)(""),[A,j]=(0,o.useState)(""),[y,C]=(0,o.useState)(""),[B,D]=(0,o.useState)(!(!n||!c)),[k,S]=(0,o.useState)(!1),[Z,E]=(0,o.useState)({});(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{C(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))}))}),[]);const L=s.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,T=s.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${x}; - `,O=s.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,M=s.iv` - width: 100%; - `,N=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${k&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:L,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:M,children:[(0,p.tZ)("div",{css:N,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:T})]}):null,(0,p.BX)(a.Z,{css:O,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:B,setCollapse:D}):null,d?(0,p.BX)(i.Z,{children:[(0,p.tZ)(r.Z,{value:w?w[0]:"Java",label:w?w[0]:Z.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?v:A})}),(0,p.tZ)(r.Z,{value:w?w[1]:"CSS",label:w?w[1]:Z.cssFile,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(i.Z,{children:(0,p.tZ)(r.Z,{value:w?w[0]:"Java",label:w?w[0]:Z.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?v:A})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),s=n(917),i=n(8230),r=n(4387),a=n(6770);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=s.iv` - display: inline; - - ${c&&s.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,x=s.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:x,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(8397),s=n(5893);function i(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/4eb8144b.5411bd73.js b/assets/js/4eb8144b.5411bd73.js new file mode 100644 index 000000000..d1e1d3b89 --- /dev/null +++ b/assets/js/4eb8144b.5411bd73.js @@ -0,0 +1,166 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2498],{8306:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>x,frontMatter:()=>c,metadata:()=>h,toc:()=>p});var o=n(5893),i=n(1151),s=n(6957),r=(n(6521),n(7796)),a=n(3273),l=n(2665);const c={sidebar_position:1,title:"ChoiceBox",slug:"choicebox"},d=void 0,h={id:"components/list-components/choice-box",title:"ChoiceBox",description:"The ChoiceBox component is a user interface element designed to present users with a list of options or choices. Users can select a single option from this list, typically by clicking the ChoiceBox, which triggers the display of a dropdown list containing available choices. Users can also interact with the ChoiceBox with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ChoiceBox button.",source:"@site/docs/components/list-components/choice-box.md",sourceDirName:"components/list-components",slug:"/components/list-components/choicebox",permalink:"/docs/components/list-components/choicebox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/choice-box.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"ChoiceBox",slug:"choicebox"},sidebar:"documentationSidebar",previous:{title:"Lists",permalink:"/docs/components/list-components/lists"},next:{title:"ComboBox",permalink:"/docs/components/list-components/combobox"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Dropdown Type",id:"dropdown-type",level:2},{value:"Max Row Count",id:"max-row-count",level:2},{value:"Opening Dimensions",id:"opening-dimensions",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-list-button",href:"https://basishub.github.io/basis-next/#/web-components/bbj-list-button",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component is a user interface element designed to present users with a list of options or choices. Users can select a single option from this list, typically by clicking the ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),", which triggers the display of a dropdown list containing available choices. Users can also interact with the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," button."]}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"ChoiceBox"})," components are used for various purposes, such as selecting items from a menu, choosing from a list of categories, or picking options from predefined sets. They provide an organized and visually pleasing way for users to make selections, particularly when there are multiple options available. Common usages include:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"User Selection of Options"}),": The primary purpose of a ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," is to allow users to select a single option from a list. This is valuable in applications that require users to make choices, such as:"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Selecting items from a list"}),"\n",(0,o.jsx)(t.li,{children:"Choosing from a list of categories"}),"\n",(0,o.jsx)(t.li,{children:"Picking options from predefined sets"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require users to input specific options, the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," simplifies the selection process. Whether it's selecting a country, state, or any other option from a predefined list, the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," streamlines the input process."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Filtering and Sorting"}),": ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," can be employed for filtering and sorting tasks in applications. Users can choose filter criteria or sorting preferences from a list, facilitating the organization and navigation of data."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Configuration and Settings"}),": When your application includes settings or configuration options, the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," provides an intuitive way for users to adjust preferences. Users can pick settings from a list, making it easy to tailor the application to their needs."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," is intended for use when a preset number of options are available, and custom options should not be allowed or included. If allowing users to enter custom values is desired, use a ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/combobox",children:(0,o.jsx)(t.code,{children:"ComboBox"})})," instead"]})}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ChoiceBox",code:"true",suffix:"#()",children:"ChoiceBox()"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," without a label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ChoiceBox",code:"true",suffix:"#(java.lang.String)",children:"ChoiceBox(String label)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," with the specified label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ChoiceBox",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.ComponentEventListener)",children:"ChoiceBox(String label, ComponentEventListener< ListSelectEvent> selectListener)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," with the given label and a listener to handle item selection events."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"dropdown-type",children:"Dropdown Type"}),"\n",(0,o.jsxs)(t.p,{children:["Using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setDropdownType(java.lang.String)",children:"setDropdownType()"})," method will assign a value to the ",(0,o.jsx)(t.code,{children:"type"})," attribute of a ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),", and a corresponding value for the ",(0,o.jsx)(t.code,{children:"data-dropdown-for"})," attribute in the dropdown of the ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),". This is helpful for styling, as the dropdown is taken out of its current position in the DOM and relocated to the end of the page body when opened."]}),"\n",(0,o.jsx)(t.p,{children:"This detachment creates a situation where directly targeting the\r\ndropdown using CSS or shadow part selectors from the parent component becomes challenging, unless you make use of the dropdown type attribute."}),"\n",(0,o.jsx)(t.p,{children:"In the demo below, the Dropdown type is set and used in the CSS file to select the dropdown and change the background color."}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.comboboxdemos.ChoiceBoxDropdownType",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/comboboxdemos/ChoiceBoxDropdownType.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/comboboxstyles/dropdown_styles.css",height:"250px"}),"\n",(0,o.jsx)(t.h2,{id:"max-row-count",children:"Max Row Count"}),"\n",(0,o.jsxs)(t.p,{children:["By default, the number of rows displayed in the dropdown of a ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," will be increased to fit the content. However, using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setMaxRowCount(int)",children:"setMaxRowCount()"})," method allows for control over how many items are displayed."]}),"\n",(0,o.jsx)(t.admonition,{type:"caution",children:(0,o.jsx)(t.p,{children:"Using a number that is less than or equal to 0 will result in unsetting this property."})}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.comboboxdemos.ChoiceBoxMaxRowDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/comboboxdemos/ChoiceBoxMaxRowDemo.java",height:"250px"}),"\n",(0,o.jsx)(t.h2,{id:"opening-dimensions",children:"Opening Dimensions"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component has methods that allow manipulation of the dropdown dimensions. The ",(0,o.jsx)(t.strong,{children:"maximum height"})," and ",(0,o.jsx)(t.strong,{children:"minimum width"})," of the dropdown can be set using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenHeight(int)",children:"setOpenHeight()"})," and ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenWidth(int)",children:"setOpenWidth()"})," methods, respectively."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["Passing a ",(0,o.jsx)(t.code,{children:"String"})," value to either of these methods will allow for ",(0,o.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units",children:"any valid CSS unit"})," to be applied, such as pixels, viewport dimensions, or other valid rules. Passing an ",(0,o.jsx)(t.code,{children:"int"})," will set the value passed in pixels."]})}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," class provides methods to add and remove event listeners for the following events, as well as events common to all list components:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListOpenEvent",code:"true",children:"ListOpenEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is opened."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListCloseEvent",code:"true",children:"ListCloseEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is closed."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListClickEvent",code:"true",children:"ListClickEvent"})}),(0,o.jsx)(t.td,{children:"This event is triggered when the user clicks an item from a List-based component."})]})]})]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["For a list of additional events supported by the ",(0,o.jsx)(t.code,{children:"ChoiceBox"}),", see ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/lists#shared-events",children:"this section"})," which outlines shared events amongst list components."]})}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../../glossary#shadow-dom",children:"shadow DOM"})," for the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Z,table:"parts",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Z,exclusions:"",table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Z,table:"reflects",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(r.Z,{tag:"bbj-list-button",table:"dependencies"}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," component, consider the following best practices:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Clear and Limited Options"}),": Keep the list of choices concise where possible, and relevant to the user's task. A ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," is ideal for presenting a clear list of options."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"User-Friendly Labels"}),": Ensure that the displayed labels for each option are user-friendly and self-explanatory. Make sure users can easily understand the purpose of each choice."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Default Selection"}),": Set a default selection when the ChoiceBox is initially displayed. This ensures a pre-selected option, reducing the number of interactions required to make a choice."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"ChoiceBox vs. Other List Components"}),": A ",(0,o.jsx)(t.code,{children:"ChoiceBox"})," should be used over other List components in the following situations:"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Multiple Selection is not needed or required, and all items do not need to be displayed at once."}),"\n",(0,o.jsx)(t.li,{children:"A selection of predefined choices is desired, preventing users from entering custom or unexpected data."}),"\n"]}),"\n"]})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var o=n(4836);t.Z=void 0;var i=o(n(4938)),s=n(5893),r=(0,i.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,n)=>{var o=n(4836);t.Z=void 0;var i=o(n(4938)),s=n(5893),r=(0,i.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var o=n(6010);const i={tabItem:"tabItem_Ymn6"};var s=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,o.Z)(i.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),i=n(6010),s=n(2466),r=n(6550),a=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:i}}=e;return{value:t,label:n,attributes:o,default:i}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const i=(0,r.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(s),(0,o.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(i.location.search);t.set(s,e),i.replace({...i.location,search:t.toString()})}),[s,i])]}function x(e){const{defaultValue:t,queryString:n=!1,groupId:i}=e,s=u(e),[r,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:s}))),[c,h]=m({queryString:n,groupId:i}),[x,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,s]=(0,d.Nk)(n);return[i,(0,o.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:i}),g=(()=>{const e=c??x;return p({value:e,tabValues:s})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:r,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),b(e)}),[h,b,s]),tabValues:s}}var b=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function f(e){let{className:t,block:n,selectedValue:o,selectValue:r,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),i=a[n].value;i!==o&&(c(t),r(i))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...s,className:(0,i.Z)("tabs__item",g.tabItem,s?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:i}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===i));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function A(e){const t=x(e);return(0,v.jsxs)("div",{className:(0,i.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(f,{...e,...t}),(0,v.jsx)(w,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,v.jsx)(A,{...e,children:h(e.children)},String(t))}},6521:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var o=n(917),i=n(5944);function s(e){let{url:t,mobile:n}=e;const s=o.iv` + display: flex; + flex-direction: column; + align-items: center; + margin: 4rem 0; + /* width: 110%; */ + margin-left: -5%; + `,r=o.iv` + position: relative; + width : 100%; + max-width: ${"true"==n?"375px":"100%"}; + height: ${"true"==n?"700px":"600px"}; + border-radius: 32px; + overflow: hidden; + box-shadow: 0 0 0 10px black, 0 3px 22px black; + outline: thin solid black; + `,a=o.iv` + width: 100%; + height: 100%; + background: var(--bbj-surface-3); + `;return(0,i.tZ)("div",{css:s,children:(0,i.tZ)("div",{css:r,children:(0,i.tZ)("iframe",{src:t,css:a,loading:"lazy"})})})}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var o=n(7294),i=n(917),s=n(4866),r=n(5162),a=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=i.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,s=i.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,r=i.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:s,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function x(e){let{url:t}=e;const n=i.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,o=i.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:h})})}function b(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:b,frame:g,tabs:v}=e;const[f,w]=(0,o.useState)(""),[A,j]=(0,o.useState)(""),[y,C]=(0,o.useState)(""),[B,D]=(0,o.useState)(!(!n||!c)),[S,Z]=(0,o.useState)(!1),[k,E]=(0,o.useState)({}),[L,T]=(0,o.useState)(!1),[M,O]=(0,o.useState)(0),[z,N]=(0,o.useState)(0),[V,H]=(0,o.useState)(25),[F,X]=(0,o.useState)(25),[J,G]=(0,o.useState)(0),[Y,P]=(0,o.useState)(!1),q=(0,o.useRef)(null),U=(0,o.useRef)(null);(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{C(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))})),G(q.current.offsetWidth),console.log(J)}),[]);const W=()=>{T(!1),console.log("Stop Resizing")},R=e=>{if(L){const t=e.clientX-M;z+t>J/3&&(q.current.style.width=`${z+t}px`,U.current.style.right=(V-t<25?25:V-t)+"px",X(V-t<25?25:V-t))}},I=i.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=i.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=i.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${b||"100%"}; + pointer-events: none; + `,_=i.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${S&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=i.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=i.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=i.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=i.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:I,onMouseUp:W,onMouseLeave:W,onMouseMove:R,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:W,loading:"lazy",src:t,css:{...Q,pointerEvents:L?"none":"auto"},ref:q,onMouseMove:R}),(0,p.tZ)("div",{css:_,ref:U,children:(0,p.tZ)(x,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),T(!0),O(e.clientX),N(q.current.offsetWidth),H(F),console.log(U.current.right),console.log("Start Resizing")},children:(0,p.tZ)(u.Z,{})})]}):null,(0,p.BX)(a.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>P(!Y),children:Y?"Hide Code":"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:B,setCollapse:D}):null,d?(0,p.BX)(s.Z,{css:te,children:[(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?f:A})}),(0,p.tZ)(r.Z,{value:v?v[1]:"CSS",label:v?v[1]:k.cssFile,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(s.Z,{css:te,children:(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?f:A})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),i=n(917),s=n(8230),r=n(4387),a=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const x=i.iv` + display: inline; + + ${c&&i.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,b=i.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var o=n(8397),i=n(5893);function s(e){return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/5510d6bc.3e7e9541.js b/assets/js/5510d6bc.2dcab082.js similarity index 64% rename from assets/js/5510d6bc.3e7e9541.js rename to assets/js/5510d6bc.2dcab082.js index 7cc575804..d8e0fcf70 100644 --- a/assets/js/5510d6bc.3e7e9541.js +++ b/assets/js/5510d6bc.2dcab082.js @@ -1,16 +1,17 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6020],{5006:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>a,default:()=>v,frontMatter:()=>o,metadata:()=>r,toc:()=>d});var c=n(5893),s=n(1151),i=n(3273);const o={sidebar_position:0,title:"CheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"CheckEvent"},a=void 0,r={id:"components/events/check-event",title:"CheckEvent",description:'A "check" event occurs when an element or checkbox is selected or marked as "checked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element with a "checked" state. It typically indicates that the associated action or state has been enabled or activated. This class also inherits methods from the base Event class.',source:"@site/docs/components/events/check-event.md",sourceDirName:"components/events",slug:"/components/events/CheckEvent",permalink:"/docs/components/events/CheckEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/check-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"CheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"CheckEvent"},sidebar:"documentationSidebar",previous:{title:"ButtonClickEvent",permalink:"/docs/components/events/ButtonClickEvent"},next:{title:"ListClickEvent",permalink:"/docs/components/events/ListClickEvent"}},l={},d=[{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/CheckEvent",top:"true"}),"\n",(0,c.jsxs)(t.p,{children:['A "check" event occurs when an element or checkbox is selected or marked as "checked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element with a "checked" state. It typically indicates that the associated action or state has been enabled or activated. This class also inherits methods from the base ',(0,c.jsx)(t.code,{children:"Event"})," class."]}),"\n",(0,c.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,c.jsxs)(t.ul,{children:["\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./UncheckEvent",children:"Uncheck Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./ToggleEvent",children:"Toggle Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../checkbox",children:"CheckBox"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../radiobutton",children:"RadioButton"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var c=n(7294),s=n(917),i=n(8230),o=n(4387),a=n(6770);var r=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:h,suffix:v}=e;const[u,m]=(0,c.useState)("");(0,c.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const k=s.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6020],{5006:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>v,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var c=n(5893),s=n(1151),i=n(3273);const o={sidebar_position:0,title:"CheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"CheckEvent"},a=void 0,r={id:"components/events/check-event",title:"CheckEvent",description:'A "check" event occurs when an element or checkbox is selected or marked as "checked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element with a "checked" state. It typically indicates that the associated action or state has been enabled or activated. This class also inherits methods from the base Event class.',source:"@site/docs/components/events/check-event.md",sourceDirName:"components/events",slug:"/components/events/CheckEvent",permalink:"/docs/components/events/CheckEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/check-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"CheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"CheckEvent"},sidebar:"documentationSidebar",previous:{title:"ButtonClickEvent",permalink:"/docs/components/events/ButtonClickEvent"},next:{title:"ListClickEvent",permalink:"/docs/components/events/ListClickEvent"}},d={},l=[{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/CheckEvent",top:"true"}),"\n",(0,c.jsxs)(t.p,{children:['A "check" event occurs when an element or checkbox is selected or marked as "checked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element with a "checked" state. It typically indicates that the associated action or state has been enabled or activated. This class also inherits methods from the base ',(0,c.jsx)(t.code,{children:"Event"})," class."]}),"\n",(0,c.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,c.jsxs)(t.ul,{children:["\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./UncheckEvent",children:"Uncheck Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./ToggleEvent",children:"Toggle Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../checkbox",children:"CheckBox"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../radiobutton",children:"RadioButton"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var c=n(4836);t.Z=void 0;var s=c(n(4938)),i=n(5893),o=(0,s.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>d});var c=n(7294),s=n(917),i=n(8230),o=n(4387),a=n(6031);var r=n(5944);function d(e){let{type:t,location:n,top:d,children:l,code:h,suffix:v}=e;const[u,m]=(0,c.useState)("");(0,c.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const p=s.iv` display: inline; - ${l&&s.iv` + ${d&&s.iv` width: 100%; display: flex; justify-content: flex-end; margin-top: -33px; margin-bottom: 25px; `} - `,p=s.iv` + `,k=s.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,r.BX)(r.HY,{children:["true"===l&&(0,r.tZ)("div",{css:k,children:(0,r.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(o.Z,{css:p,label:"Java API",component:"a",href:u,icon:(0,r.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!h&&(0,r.tZ)("div",{css:k,children:(0,r.tZ)("a",{href:u,target:"_blank",children:d})}),"true"!==l&&h&&(0,r.tZ)("div",{css:k,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:u,target:"_blank",children:d})})})]})}}}]); \ No newline at end of file + `;return(0,r.BX)(r.HY,{children:["true"===d&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(o.Z,{css:k,label:"Java API",component:"a",href:u,icon:(0,r.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("a",{href:u,target:"_blank",children:l})}),"true"!==d&&h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:u,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/559b7fc6.392bc949.js b/assets/js/559b7fc6.392bc949.js deleted file mode 100644 index f3091ff8b..000000000 --- a/assets/js/559b7fc6.392bc949.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[377],{6153:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>h});var a=r(5893),s=r(1151),n=r(6957),o=r(7796),i=r(3273);const l={sidebar_position:90,title:"ProgressBar"},c=void 0,d={id:"components/progress-bar",title:"ProgressBar",description:"Text and String Painting",source:"@site/docs/components/progress-bar.md",sourceDirName:"components",slug:"/components/progress-bar",permalink:"/docs/components/progress-bar",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/progress-bar.md",tags:[],version:"current",sidebarPosition:90,frontMatter:{sidebar_position:90,title:"ProgressBar"},sidebar:"documentationSidebar",previous:{title:"ListBox",permalink:"/docs/components/list-components/listbox"},next:{title:"RadioButton",permalink:"/docs/components/radiobutton"}},u={},h=[{value:"Text and String Painting",id:"text-and-string-painting",level:3},{value:"Orientation",id:"orientation",level:3},{value:"Indeterminate",id:"indeterminate",level:3},{value:"Upper and Lower Limit",id:"upper-and-lower-limit",level:3},{value:"Themes",id:"themes",level:3},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2}];function m(e){const t={code:"code",h2:"h2",h3:"h3",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/progressbar/ProgressBar",top:"true"}),"\n",(0,a.jsx)(t.h3,{id:"text-and-string-painting",children:"Text and String Painting"}),"\n",(0,a.jsxs)(t.p,{children:['By default when created, the progress bar will display the percentage complete in the format "XX%". Using the ',(0,a.jsx)(t.code,{children:"setText()"})," method, you can use the placeholder ",(0,a.jsx)(t.code,{children:"{{x}}"})," to get the current value as a percentage. Additionally, you can use the placeholder ",(0,a.jsx)(t.code,{children:"{{value}}"})," to get the raw current value."]}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarPlaceholders",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarPlaceholders.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Placeholders.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/placeholder_styles.css",javaHighlight:"{25}",height:"100px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"orientation",children:"Orientation"}),"\n",(0,a.jsxs)(t.p,{children:["The DWCJ's progress bar allows the developer to chose the direction in which the bar will fill as progress is made. The options are either filling vertically from bottom to top, or horizontally from left to right. Setting the orientation ",(0,a.jsx)("b",{children:" does not "})," automatically set the dimensions for the bar, this must be done by the developer."]}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarOrientation",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarOrientation.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Orientation.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/orientation_styles.css",javaHighlight:"{26}",height:"435px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"indeterminate",children:"Indeterminate"}),"\n",(0,a.jsx)(t.p,{children:"The progress bar in the DWCJ allows for indeterminate display, displaying an animation that conveys continuous progress that is not quantified."}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarIndeterminate",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarIndeterminate.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Indeterminate.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/indeterminate_styles.css",javaHighlight:"{21}",height:"100px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"upper-and-lower-limit",children:"Upper and Lower Limit"}),"\n",(0,a.jsx)(t.p,{children:"The progress bar can has minimum and maximum values that can be set, which will alter how the progress"}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarMinMax",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarMinMax.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/MinMax.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/minmax_styles.css",javaHighlight:"{25-26}",height:"120px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,a.jsxs)(t.p,{children:["The DWCJ progress bar comes with 6 themes built in for quick styling without the use of CSS.\r\nShown below are progress bars with each of the supported Themes applied: ",(0,a.jsx)("br",{})]}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarThemes",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarThemes.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Themes.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/theme_styles.css",javaHighlight:"{25,30,35,40,45,50}",height:"300px"}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsx)(t.tr,{children:(0,a.jsx)(t.th,{children:"Progress Bar Themes"})})}),(0,a.jsx)(t.tbody,{children:(0,a.jsx)(t.tr,{children:(0,a.jsx)(t.td,{children:(0,a.jsxs)("ul",{children:[(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.DEFAULT"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.DANGER"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.GRAY"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.INFO"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.SUCCESS"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.WARNING"})})]})})})})]}),"\n",(0,a.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,a.jsx)(o.Z,{tag:r(5731).ko})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},5162:(e,t,r)=>{r.d(t,{Z:()=>o});r(7294);var a=r(6010);const s={tabItem:"tabItem_Ymn6"};var n=r(5893);function o(e){let{children:t,hidden:r,className:o}=e;return(0,n.jsx)("div",{role:"tabpanel",className:(0,a.Z)(s.tabItem,o),hidden:r,children:t})}},4866:(e,t,r)=>{r.d(t,{Z:()=>j});var a=r(7294),s=r(6010),n=r(2466),o=r(6550),i=r(469),l=r(1980),c=r(7392),d=r(12);function u(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:r}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:r,attributes:a,default:s}}=e;return{value:t,label:r,attributes:a,default:s}}))}(r);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,r])}function m(e){let{value:t,tabValues:r}=e;return r.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:r}=e;const s=(0,o.k6)(),n=function(e){let{queryString:t=!1,groupId:r}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:t,groupId:r});return[(0,l._X)(n),(0,a.useCallback)((e=>{if(!n)return;const t=new URLSearchParams(s.location.search);t.set(n,e),s.replace({...s.location,search:t.toString()})}),[n,s])]}function b(e){const{defaultValue:t,queryString:r=!1,groupId:s}=e,n=h(e),[o,l]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=r.find((e=>e.default))??r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:n}))),[c,u]=p({queryString:r,groupId:s}),[b,g]=function(e){let{groupId:t}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,n]=(0,d.Nk)(r);return[s,(0,a.useCallback)((e=>{r&&n.set(e)}),[r,n])]}({groupId:s}),A=(()=>{const e=c??b;return m({value:e,tabValues:n})?e:null})();(0,i.Z)((()=>{A&&l(A)}),[A]);return{selectedValue:o,selectValue:(0,a.useCallback)((e=>{if(!m({value:e,tabValues:n}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),g(e)}),[u,g,n]),tabValues:n}}var g=r(2389);const A={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=r(5893);function w(e){let{className:t,block:r,selectedValue:a,selectValue:o,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,n.o5)(),d=e=>{const t=e.currentTarget,r=l.indexOf(t),s=i[r].value;s!==a&&(c(t),o(s))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;t=l[r]??l[0];break}case"ArrowLeft":{const r=l.indexOf(e.currentTarget)-1;t=l[r]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":r},t),children:i.map((e=>{let{value:t,label:r,attributes:n}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...n,className:(0,s.Z)("tabs__item",A.tabItem,n?.className,{"tabs__item--active":a===t}),children:r??t},t)}))})}function x(e){let{lazy:t,children:r,selectedValue:s}=e;const n=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){const e=n.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:n.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function f(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,s.Z)("tabs-container",A.tabList),children:[(0,v.jsx)(w,{...e,...t}),(0,v.jsx)(x,{...e,...t})]})}function j(e){const t=(0,g.Z)();return(0,v.jsx)(f,{...e,children:u(e.children)},String(t))}},6957:(e,t,r)=>{r.d(t,{Z:()=>g});var a=r(7294),s=r(917),n=r(4866),o=r(5162),i=r(4673),l=r(1750);const c="data:image/png;base64,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",d=r.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=r(2949),m=r(5944);function p(e){let{collapse:t,setCollapse:r}=e;const a=s.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,n=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,o=s.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:a,children:(0,m.tZ)("button",{css:n,onClick:()=>{r(!t)},children:t?(0,m.tZ)("img",{css:o,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:o,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const r=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,a=s.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:r,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:a,src:u})})}function g(e){let{path:t,javaC:r,javaE:c,cssURL:d,javaHighlight:u,height:g,frame:A,tabs:v}=e;const[w,x]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[y,D]=(0,a.useState)(""),[B,S]=(0,a.useState)(!(!r||!c)),[C,Z]=(0,a.useState)(!1),[k,E]=(0,a.useState)({});(0,a.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),r=t[t.length-1];E((e=>({...e,javaFile:r})))})),r&&fetch(r).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),r=t[t.length-1];E((e=>({...e,cssFile:r})))}))}),[]);const L=s.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==A?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,J=s.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${g}; - `,P=s.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,T=s.iv` - width: 100%; - `,N=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${C&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:L,children:["hidden"!=A?(0,m.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:T,children:[(0,m.tZ)("div",{css:N,children:(0,m.tZ)(b,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:J})]}):null,(0,m.BX)(i.Z,{css:P,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[r&&c?(0,m.tZ)(p,{collapse:B,setCollapse:S}):null,d?(0,m.BX)(n.Z,{children:[(0,m.tZ)(o.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?w:f})}),(0,m.tZ)(o.Z,{value:v?v[1]:"CSS",label:v?v[1]:k.cssFile,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(n.Z,{children:(0,m.tZ)(o.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?w:f})})})]})]})}},3273:(e,t,r)=>{r.d(t,{Z:()=>c});var a=r(7294),s=r(917),n=r(8230),o=r(4387),i=r(6770);var l=r(5944);function c(e){let{type:t,location:r,top:c,children:d,code:u,suffix:h}=e;const[m,p]=(0,a.useState)("");(0,a.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+r+".html"+h)}),[]);const b=s.iv` - display: inline; - - ${c&&s.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,g=s.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(n.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(o.Z,{css:g,label:"Java API",component:"a",href:m,icon:(0,l.tZ)(i.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,r)=>{r.d(t,{Z:()=>n});r(7294);var a=r(8397),s=r(5893);function n(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(a.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/559b7fc6.b43602d1.js b/assets/js/559b7fc6.b43602d1.js new file mode 100644 index 000000000..fab24316a --- /dev/null +++ b/assets/js/559b7fc6.b43602d1.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[377],{6153:(e,t,r)=>{r.r(t),r.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>h});var a=r(5893),s=r(1151),n=r(6957),o=r(7796),i=r(3273);const l={sidebar_position:90,title:"ProgressBar"},c=void 0,d={id:"components/progress-bar",title:"ProgressBar",description:"Text and String Painting",source:"@site/docs/components/progress-bar.md",sourceDirName:"components",slug:"/components/progress-bar",permalink:"/docs/components/progress-bar",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/progress-bar.md",tags:[],version:"current",sidebarPosition:90,frontMatter:{sidebar_position:90,title:"ProgressBar"},sidebar:"documentationSidebar",previous:{title:"ListBox",permalink:"/docs/components/list-components/listbox"},next:{title:"RadioButton",permalink:"/docs/components/radiobutton"}},u={},h=[{value:"Text and String Painting",id:"text-and-string-painting",level:3},{value:"Orientation",id:"orientation",level:3},{value:"Indeterminate",id:"indeterminate",level:3},{value:"Upper and Lower Limit",id:"upper-and-lower-limit",level:3},{value:"Themes",id:"themes",level:3},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2}];function p(e){const t={code:"code",h2:"h2",h3:"h3",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/progressbar/ProgressBar",top:"true"}),"\n",(0,a.jsx)(t.h3,{id:"text-and-string-painting",children:"Text and String Painting"}),"\n",(0,a.jsxs)(t.p,{children:['By default when created, the progress bar will display the percentage complete in the format "XX%". Using the ',(0,a.jsx)(t.code,{children:"setText()"})," method, you can use the placeholder ",(0,a.jsx)(t.code,{children:"{{x}}"})," to get the current value as a percentage. Additionally, you can use the placeholder ",(0,a.jsx)(t.code,{children:"{{value}}"})," to get the raw current value."]}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarPlaceholders",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarPlaceholders.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Placeholders.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/placeholder_styles.css",javaHighlight:"{25}",height:"100px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"orientation",children:"Orientation"}),"\n",(0,a.jsxs)(t.p,{children:["The DWCJ's progress bar allows the developer to chose the direction in which the bar will fill as progress is made. The options are either filling vertically from bottom to top, or horizontally from left to right. Setting the orientation ",(0,a.jsx)("b",{children:" does not "})," automatically set the dimensions for the bar, this must be done by the developer."]}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarOrientation",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarOrientation.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Orientation.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/orientation_styles.css",javaHighlight:"{26}",height:"435px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"indeterminate",children:"Indeterminate"}),"\n",(0,a.jsx)(t.p,{children:"The progress bar in the DWCJ allows for indeterminate display, displaying an animation that conveys continuous progress that is not quantified."}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarIndeterminate",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarIndeterminate.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Indeterminate.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/indeterminate_styles.css",javaHighlight:"{21}",height:"100px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"upper-and-lower-limit",children:"Upper and Lower Limit"}),"\n",(0,a.jsx)(t.p,{children:"The progress bar can has minimum and maximum values that can be set, which will alter how the progress"}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarMinMax",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarMinMax.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/MinMax.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/minmax_styles.css",javaHighlight:"{25-26}",height:"120px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,a.jsxs)(t.p,{children:["The DWCJ progress bar comes with 6 themes built in for quick styling without the use of CSS.\r\nShown below are progress bars with each of the supported Themes applied: ",(0,a.jsx)("br",{})]}),"\n",(0,a.jsx)(n.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.progressbardemos.ProgressbarThemes",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/progressbardemos/ProgressbarThemes.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/progressbar/Themes.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/progressbarstyles/theme_styles.css",javaHighlight:"{25,30,35,40,45,50}",height:"300px"}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsx)(t.tr,{children:(0,a.jsx)(t.th,{children:"Progress Bar Themes"})})}),(0,a.jsx)(t.tbody,{children:(0,a.jsx)(t.tr,{children:(0,a.jsx)(t.td,{children:(0,a.jsxs)("ul",{children:[(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.DEFAULT"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.DANGER"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.GRAY"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.INFO"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.SUCCESS"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"ProgressBar.Theme.WARNING"})})]})})})})]}),"\n",(0,a.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,a.jsx)(o.Z,{tag:r(5731).ko})]})}function m(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(p,{...e})}):p(e)}},6031:(e,t,r)=>{var a=r(4836);t.Z=void 0;var s=a(r(4938)),n=r(5893),o=(0,s.default)((0,n.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},2610:(e,t,r)=>{var a=r(4836);t.Z=void 0;var s=a(r(4938)),n=r(5893),o=(0,s.default)((0,n.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=o},5162:(e,t,r)=>{r.d(t,{Z:()=>o});r(7294);var a=r(6010);const s={tabItem:"tabItem_Ymn6"};var n=r(5893);function o(e){let{children:t,hidden:r,className:o}=e;return(0,n.jsx)("div",{role:"tabpanel",className:(0,a.Z)(s.tabItem,o),hidden:r,children:t})}},4866:(e,t,r)=>{r.d(t,{Z:()=>j});var a=r(7294),s=r(6010),n=r(2466),o=r(6550),i=r(469),l=r(1980),c=r(7392),d=r(12);function u(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:r}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:r,attributes:a,default:s}}=e;return{value:t,label:r,attributes:a,default:s}}))}(r);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,r])}function p(e){let{value:t,tabValues:r}=e;return r.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:r}=e;const s=(0,o.k6)(),n=function(e){let{queryString:t=!1,groupId:r}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!r)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return r??null}({queryString:t,groupId:r});return[(0,l._X)(n),(0,a.useCallback)((e=>{if(!n)return;const t=new URLSearchParams(s.location.search);t.set(n,e),s.replace({...s.location,search:t.toString()})}),[n,s])]}function b(e){const{defaultValue:t,queryString:r=!1,groupId:s}=e,n=h(e),[o,l]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:r}=e;if(0===r.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:r}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${r.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=r.find((e=>e.default))??r[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:n}))),[c,u]=m({queryString:r,groupId:s}),[b,g]=function(e){let{groupId:t}=e;const r=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,n]=(0,d.Nk)(r);return[s,(0,a.useCallback)((e=>{r&&n.set(e)}),[r,n])]}({groupId:s}),A=(()=>{const e=c??b;return p({value:e,tabValues:n})?e:null})();(0,i.Z)((()=>{A&&l(A)}),[A]);return{selectedValue:o,selectValue:(0,a.useCallback)((e=>{if(!p({value:e,tabValues:n}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),g(e)}),[u,g,n]),tabValues:n}}var g=r(2389);const A={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=r(5893);function x(e){let{className:t,block:r,selectedValue:a,selectValue:o,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,n.o5)(),d=e=>{const t=e.currentTarget,r=l.indexOf(t),s=i[r].value;s!==a&&(c(t),o(s))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const r=l.indexOf(e.currentTarget)+1;t=l[r]??l[0];break}case"ArrowLeft":{const r=l.indexOf(e.currentTarget)-1;t=l[r]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":r},t),children:i.map((e=>{let{value:t,label:r,attributes:n}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...n,className:(0,s.Z)("tabs__item",A.tabItem,n?.className,{"tabs__item--active":a===t}),children:r??t},t)}))})}function w(e){let{lazy:t,children:r,selectedValue:s}=e;const n=(Array.isArray(r)?r:[r]).filter(Boolean);if(t){const e=n.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:n.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function f(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,s.Z)("tabs-container",A.tabList),children:[(0,v.jsx)(x,{...e,...t}),(0,v.jsx)(w,{...e,...t})]})}function j(e){const t=(0,g.Z)();return(0,v.jsx)(f,{...e,children:u(e.children)},String(t))}},6957:(e,t,r)=>{r.d(t,{Z:()=>g});var a=r(7294),s=r(917),n=r(4866),o=r(5162),i=r(4673),l=r(1750);const c="data:image/png;base64,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",d=r.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=r(2610),p=r(5944);function m(e){let{collapse:t,setCollapse:r}=e;const a=s.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,n=s.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,o=s.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:a,children:(0,p.tZ)("button",{css:n,onClick:()=>{r(!t)},children:t?(0,p.tZ)("img",{css:o,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:o,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const r=s.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,a=s.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:r,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:a,src:u})})}function g(e){let{path:t,javaC:r,javaE:c,cssURL:d,javaHighlight:u,height:g,frame:A,tabs:v}=e;const[x,w]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[y,D]=(0,a.useState)(""),[S,B]=(0,a.useState)(!(!r||!c)),[Z,C]=(0,a.useState)(!1),[k,E]=(0,a.useState)({}),[L,J]=(0,a.useState)(!1),[P,T]=(0,a.useState)(0),[M,N]=(0,a.useState)(0),[z,O]=(0,a.useState)(25),[H,V]=(0,a.useState)(25),[X,F]=(0,a.useState)(0),[G,Y]=(0,a.useState)(!1),I=(0,a.useRef)(null),R=(0,a.useRef)(null);(0,a.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),r=t[t.length-1];E((e=>({...e,javaFile:r})))})),r&&fetch(r).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),r=t[t.length-1];E((e=>({...e,cssFile:r})))})),F(I.current.offsetWidth),console.log(X)}),[]);const W=()=>{J(!1),console.log("Stop Resizing")},U=e=>{if(L){const t=e.clientX-P;M+t>X/3&&(I.current.style.width=`${M+t}px`,R.current.style.right=(z-t<25?25:z-t)+"px",V(z-t<25?25:z-t))}},q=s.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==A?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=s.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=s.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${g||"100%"}; + pointer-events: none; + `,_=s.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${Z&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=s.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=s.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=s.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,re=s.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:q,onMouseUp:W,onMouseLeave:W,onMouseMove:U,children:["hidden"!=A?(0,p.BX)("div",{onMouseEnter:()=>{C(!0)},onMouseLeave:()=>C(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:W,loading:"lazy",src:t,css:{...Q,pointerEvents:L?"none":"auto"},ref:I,onMouseMove:U}),(0,p.tZ)("div",{css:_,ref:R,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),J(!0),T(e.clientX),N(I.current.offsetWidth),O(H),console.log(R.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(i.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>Y(!G),children:G?"Hide Code":"Show Code"}),children:[r&&c?(0,p.tZ)(m,{collapse:S,setCollapse:B}):null,d?(0,p.BX)(n.Z,{css:te,children:[(0,p.tZ)(o.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:re,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?x:f})}),(0,p.tZ)(o.Z,{value:v?v[1]:"CSS",label:v?v[1]:k.cssFile,children:(0,p.tZ)(l.Z,{css:re,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(n.Z,{css:te,children:(0,p.tZ)(o.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:re,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?x:f})})})]})]})}},3273:(e,t,r)=>{r.d(t,{Z:()=>c});var a=r(7294),s=r(917),n=r(8230),o=r(4387),i=r(6031);var l=r(5944);function c(e){let{type:t,location:r,top:c,children:d,code:u,suffix:h}=e;const[p,m]=(0,a.useState)("");(0,a.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+r+".html"+h)}),[]);const b=s.iv` + display: inline; + + ${c&&s.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,g=s.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(n.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(o.Z,{css:g,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(i.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,r)=>{r.d(t,{Z:()=>n});r(7294);var a=r(8397),s=r(5893);function n(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(a.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/56ad8461.08b7b3d0.js b/assets/js/56ad8461.08b7b3d0.js deleted file mode 100644 index f7d95c209..000000000 --- a/assets/js/56ad8461.08b7b3d0.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2565],{61:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>o,default:()=>m,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var a=n(5893),s=n(1151),r=n(6957),i=n(3273);const l={sidebar_position:50,title:"Label"},o=void 0,c={id:"components/label",title:"Label",description:"The Label class is used to create a label object which shows static text.",source:"@site/docs/components/label.md",sourceDirName:"components",slug:"/components/label",permalink:"/docs/components/label",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/label.md",tags:[],version:"current",sidebarPosition:50,frontMatter:{sidebar_position:50,title:"Label"},sidebar:"documentationSidebar",previous:{title:"TimeField",permalink:"/docs/components/fields/timefield"},next:{title:"Lists",permalink:"/docs/components/list-components/lists"}},d={},h=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"HTML Injection",id:"html-injection",level:2},{value:"Line Wrapping",id:"line-wrapping",level:2},{value:"Alignment",id:"alignment",level:2},{value:"Events",id:"events",level:2},{value:"Adding Events",id:"adding-events",level:3},{value:"Removing Events",id:"removing-events",level:3},{value:"Example",id:"example",level:2}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/label/Label",top:"true"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class is used to create a label object which shows static text."]}),"\n",(0,a.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,a.jsx)(t.p,{children:"The Label component is a static text UI component that is commonly used in applications to display descriptive or informational text. It serves as a visual element that provides context, identifies UI elements, or presents information to the user. The Label component is highly versatile and can be used in various scenarios throughout an application. Some common usages of the Label component include:"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Form Labels"}),": Labels are frequently used alongside form fields to describe the purpose or expected input for a particular field. They improve usability and accessibility by providing clear instructions or hints to users. For example, you can use Labels in registration forms, contact forms, or search forms to identify input fields like name, email, address, or search query."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Data Display"}),": Labels are useful for displaying static information or labeling data elements in different sections of an application. They can be used to present user profiles, product details, or any other information that needs proper identification or description."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Navigation"}),": Labels can be employed in navigation menus, sidebars, or tabs to indicate the purpose or destination of a particular navigation item. They help users understand the function of each navigation option and improve the overall user experience."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Headers and Section Titles"}),": Labels can be used as section titles or headers to organize content and provide clear delineation between different sections or blocks of information. They enhance the readability and structure of the user interface."]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class has three constructors:"]}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"Label()"}),": Creates an empty label."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"Label(String text)"}),": Creates a label with the specified text."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"Label(String text, boolean wrap)"}),": Creates a label with the specified text and sets whether or not the text should be wrapped. More detail about line wrapping can be found ",(0,a.jsx)(t.a,{href:"#line-wrapping",children:"here."})]}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Here's an example of how to create a Label object using each constructor:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:'// Creates an empty label.\r\nLabel emptyLabel = new Label();\r\n\r\n// Creates a label with the specified text.\r\nLabel textLabel = new Label("Hello, world!");\r\n\r\n// Creates a label with the specified text and sets whether or not the text should be wrapped.\r\nLabel wrappedLabel = new Label("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", true);\r\n\n'})}),"\n",(0,a.jsx)(t.h2,{id:"html-injection",children:"HTML Injection"}),"\n",(0,a.jsx)(t.p,{children:"In addition to using the label as static text, it can also be used as an HTML tag within your code. Simply set the label's content to the desired HTML tag with the various attributes, class names, etc, and the label will be replaced with the desired HTML element."}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/label/Demo.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/text_styles.css",javaHighlight:"{16-18}",height:"250px"}),"\n",(0,a.jsx)(t.h2,{id:"line-wrapping",children:"Line Wrapping"}),"\n",(0,a.jsxs)(t.p,{children:["The line wrap method for a ",(0,a.jsx)(t.code,{children:"Label"})," component sets whether or not the component automatically wraps the text within the label onto multiple lines when it exceeds the available width, ensuring that the entire text is visible without overflowing the container. Setting this value to false will truncate any text that falls out of the component's bounds. This helps manipulate readability and truncation of longer text content within the label. The default value for lineWrap is ",(0,a.jsx)(t.code,{children:"true"}),"."]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelLineWrap",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelLineWrap.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/wrap_styles.css",javaHighlight:"{16-18}",height:"250px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h2,{id:"alignment",children:"Alignment"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class implements the TextAlignable interface, which allows you to set the text alignment of the label. The possible alignment values are Alignment.LEFT, Alignment.MIDDLE, and Alignment.RIGHT. To set the alignment, use the setTextAlignment method:"]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelAlignment",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelAlignment.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/label/Alignment.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/alignment_styles.css",height:"450px"}),"\n",(0,a.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,a.jsx)(t.th,{children:"Description"})]})}),(0,a.jsxs)(t.tbody,{children:[(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,a.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,a.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,a.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,a.jsx)(t.h3,{id:"adding-events",children:"Adding Events"}),"\n",(0,a.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myLabel.addMouseEnterListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,a.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,a.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myLabel.onMouseEnter( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,a.jsx)(t.h3,{id:"removing-events",children:"Removing Events"}),"\n",(0,a.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myLabel.removeMouseEnterListener(listener);\n"})}),"\n",(0,a.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,a.jsxs)(t.p,{children:["Here is an example of how to use the ",(0,a.jsx)(t.code,{children:"Label"})," class to create a simple UI component which allows the user to hover over the text to change the message:"]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelSample",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelSample.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/label/Sample.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/text_styles.css",javaHighlight:"{43-45}"}),"\n",(0,a.jsx)("br",{})]})}function m(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(u,{...e})}):u(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var a=n(6010);const s={tabItem:"tabItem_Ymn6"};var r=n(5893);function i(e){let{children:t,hidden:n,className:i}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,a.Z)(s.tabItem,i),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var a=n(7294),s=n(6010),r=n(2466),i=n(6550),l=n(469),o=n(1980),c=n(7392),d=n(12);function h(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:s}}=e;return{value:t,label:n,attributes:a,default:s}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const s=(0,i.k6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o._X)(r),(0,a.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(s.location.search);t.set(r,e),s.replace({...s.location,search:t.toString()})}),[r,s])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,r=u(e),[i,o]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:r}))),[c,h]=p({queryString:n,groupId:s}),[b,v]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,r]=(0,d.Nk)(n);return[s,(0,a.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:s}),g=(()=>{const e=c??b;return m({value:e,tabValues:r})?e:null})();(0,l.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:i,selectValue:(0,a.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);o(e),h(e),v(e)}),[h,v,r]),tabValues:r}}var v=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=n(5893);function x(e){let{className:t,block:n,selectedValue:a,selectValue:i,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),d=e=>{const t=e.currentTarget,n=o.indexOf(t),s=l[n].value;s!==a&&(c(t),i(s))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:r}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>o.push(e),onKeyDown:h,onClick:d,...r,className:(0,s.Z)("tabs__item",g.tabItem,r?.className,{"tabs__item--active":a===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:s}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:r.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function f(e){const t=b(e);return(0,A.jsxs)("div",{className:(0,s.Z)("tabs-container",g.tabList),children:[(0,A.jsx)(x,{...e,...t}),(0,A.jsx)(w,{...e,...t})]})}function j(e){const t=(0,v.Z)();return(0,A.jsx)(f,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>v});var a=n(7294),s=n(917),r=n(4866),i=n(5162),l=n(4673),o=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),m=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const a=s.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,r=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,i=s.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:a,children:(0,m.tZ)("button",{css:r,onClick:()=>{n(!t)},children:t?(0,m.tZ)("img",{css:i,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:i,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,a=s.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:a,src:h})})}function v(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:v,frame:g,tabs:A}=e;const[x,w]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[y,L]=(0,a.useState)(""),[D,E]=(0,a.useState)(!(!n||!c)),[Z,B]=(0,a.useState)(!1),[C,S]=(0,a.useState)({});(0,a.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];S((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{L(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];S((e=>({...e,cssFile:n})))}))}),[]);const k=s.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,T=s.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${v}; - `,H=s.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,M=s.iv` - width: 100%; - `,N=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${Z&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:k,children:["hidden"!=g?(0,m.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:M,children:[(0,m.tZ)("div",{css:N,children:(0,m.tZ)(b,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:T})]}):null,(0,m.BX)(l.Z,{css:H,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,m.tZ)(p,{collapse:D,setCollapse:E}):null,d?(0,m.BX)(r.Z,{children:[(0,m.tZ)(i.Z,{value:A?A[0]:"Java",label:A?A[0]:C.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?x:f})}),(0,m.tZ)(i.Z,{value:A?A[1]:"CSS",label:A?A[1]:C.cssFile,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(r.Z,{children:(0,m.tZ)(i.Z,{value:A?A[0]:"Java",label:A?A[0]:C.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?x:f})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var a=n(7294),s=n(917),r=n(8230),i=n(4387),l=n(6770);var o=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[m,p]=(0,a.useState)("");(0,a.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=s.iv` - display: inline; - - ${c&&s.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,v=s.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,o.BX)(o.HY,{children:["true"===c&&(0,o.tZ)("div",{css:b,children:(0,o.tZ)(r.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(i.Z,{css:v,label:"Java API",component:"a",href:m,icon:(0,o.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,o.tZ)("div",{css:b,children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&h&&(0,o.tZ)("div",{css:b,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var a=n(8397),s=n(5893);function r(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(a.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/56ad8461.58994522.js b/assets/js/56ad8461.58994522.js new file mode 100644 index 000000000..221385070 --- /dev/null +++ b/assets/js/56ad8461.58994522.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2565],{61:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>i,metadata:()=>c,toc:()=>u});var a=n(5893),s=n(1151),r=n(6957),o=n(3273);const i={sidebar_position:50,title:"Label"},l=void 0,c={id:"components/label",title:"Label",description:"The Label class is used to create a label object which shows static text.",source:"@site/docs/components/label.md",sourceDirName:"components",slug:"/components/label",permalink:"/docs/components/label",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/label.md",tags:[],version:"current",sidebarPosition:50,frontMatter:{sidebar_position:50,title:"Label"},sidebar:"documentationSidebar",previous:{title:"TimeField",permalink:"/docs/components/fields/timefield"},next:{title:"Lists",permalink:"/docs/components/list-components/lists"}},d={},u=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"HTML Injection",id:"html-injection",level:2},{value:"Line Wrapping",id:"line-wrapping",level:2},{value:"Alignment",id:"alignment",level:2},{value:"Events",id:"events",level:2},{value:"Adding Events",id:"adding-events",level:3},{value:"Removing Events",id:"removing-events",level:3},{value:"Example",id:"example",level:2}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/label/Label",top:"true"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class is used to create a label object which shows static text."]}),"\n",(0,a.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,a.jsx)(t.p,{children:"The Label component is a static text UI component that is commonly used in applications to display descriptive or informational text. It serves as a visual element that provides context, identifies UI elements, or presents information to the user. The Label component is highly versatile and can be used in various scenarios throughout an application. Some common usages of the Label component include:"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Form Labels"}),": Labels are frequently used alongside form fields to describe the purpose or expected input for a particular field. They improve usability and accessibility by providing clear instructions or hints to users. For example, you can use Labels in registration forms, contact forms, or search forms to identify input fields like name, email, address, or search query."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Data Display"}),": Labels are useful for displaying static information or labeling data elements in different sections of an application. They can be used to present user profiles, product details, or any other information that needs proper identification or description."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Navigation"}),": Labels can be employed in navigation menus, sidebars, or tabs to indicate the purpose or destination of a particular navigation item. They help users understand the function of each navigation option and improve the overall user experience."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Headers and Section Titles"}),": Labels can be used as section titles or headers to organize content and provide clear delineation between different sections or blocks of information. They enhance the readability and structure of the user interface."]}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class has three constructors:"]}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"Label()"}),": Creates an empty label."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"Label(String text)"}),": Creates a label with the specified text."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.code,{children:"Label(String text, boolean wrap)"}),": Creates a label with the specified text and sets whether or not the text should be wrapped. More detail about line wrapping can be found ",(0,a.jsx)(t.a,{href:"#line-wrapping",children:"here."})]}),"\n"]}),"\n",(0,a.jsx)(t.p,{children:"Here's an example of how to create a Label object using each constructor:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:'// Creates an empty label.\r\nLabel emptyLabel = new Label();\r\n\r\n// Creates a label with the specified text.\r\nLabel textLabel = new Label("Hello, world!");\r\n\r\n// Creates a label with the specified text and sets whether or not the text should be wrapped.\r\nLabel wrappedLabel = new Label("Lorem ipsum dolor sit amet, consectetur adipiscing elit.", true);\r\n\n'})}),"\n",(0,a.jsx)(t.h2,{id:"html-injection",children:"HTML Injection"}),"\n",(0,a.jsx)(t.p,{children:"In addition to using the label as static text, it can also be used as an HTML tag within your code. Simply set the label's content to the desired HTML tag with the various attributes, class names, etc, and the label will be replaced with the desired HTML element."}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/label/Demo.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/text_styles.css",javaHighlight:"{16-18}",height:"250px"}),"\n",(0,a.jsx)(t.h2,{id:"line-wrapping",children:"Line Wrapping"}),"\n",(0,a.jsxs)(t.p,{children:["The line wrap method for a ",(0,a.jsx)(t.code,{children:"Label"})," component sets whether or not the component automatically wraps the text within the label onto multiple lines when it exceeds the available width, ensuring that the entire text is visible without overflowing the container. Setting this value to false will truncate any text that falls out of the component's bounds. This helps manipulate readability and truncation of longer text content within the label. The default value for lineWrap is ",(0,a.jsx)(t.code,{children:"true"}),"."]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelLineWrap",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelLineWrap.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/wrap_styles.css",javaHighlight:"{16-18}",height:"250px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h2,{id:"alignment",children:"Alignment"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class implements the TextAlignable interface, which allows you to set the text alignment of the label. The possible alignment values are Alignment.LEFT, Alignment.MIDDLE, and Alignment.RIGHT. To set the alignment, use the setTextAlignment method:"]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelAlignment",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelAlignment.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/label/Alignment.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/alignment_styles.css",height:"450px"}),"\n",(0,a.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Label"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,a.jsx)(t.th,{children:"Description"})]})}),(0,a.jsxs)(t.tbody,{children:[(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,a.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,a.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,a.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,a.jsx)(t.h3,{id:"adding-events",children:"Adding Events"}),"\n",(0,a.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myLabel.addMouseEnterListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,a.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,a.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myLabel.onMouseEnter( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,a.jsx)(t.admonition,{type:"tip",children:(0,a.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,a.jsx)(t.h3,{id:"removing-events",children:"Removing Events"}),"\n",(0,a.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myLabel.removeMouseEnterListener(listener);\n"})}),"\n",(0,a.jsx)(t.h2,{id:"example",children:"Example"}),"\n",(0,a.jsxs)(t.p,{children:["Here is an example of how to use the ",(0,a.jsx)(t.code,{children:"Label"})," class to create a simple UI component which allows the user to hover over the text to change the message:"]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.labeldemos.LabelSample",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/labeldemos/LabelSample.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/label/Sample.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/labelstyles/text_styles.css",javaHighlight:"{43-45}"}),"\n",(0,a.jsx)("br",{})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var a=n(4836);t.Z=void 0;var s=a(n(4938)),r=n(5893),o=(0,s.default)((0,r.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},2610:(e,t,n)=>{var a=n(4836);t.Z=void 0;var s=a(n(4938)),r=n(5893),o=(0,s.default)((0,r.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=o},5162:(e,t,n)=>{n.d(t,{Z:()=>o});n(7294);var a=n(6010);const s={tabItem:"tabItem_Ymn6"};var r=n(5893);function o(e){let{children:t,hidden:n,className:o}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,a.Z)(s.tabItem,o),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var a=n(7294),s=n(6010),r=n(2466),o=n(6550),i=n(469),l=n(1980),c=n(7392),d=n(12);function u(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:s}}=e;return{value:t,label:n,attributes:a,default:s}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const s=(0,o.k6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(r),(0,a.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(s.location.search);t.set(r,e),s.replace({...s.location,search:t.toString()})}),[r,s])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,r=h(e),[o,l]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:r}))),[c,u]=m({queryString:n,groupId:s}),[b,v]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,r]=(0,d.Nk)(n);return[s,(0,a.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:s}),g=(()=>{const e=c??b;return p({value:e,tabValues:r})?e:null})();(0,i.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:o,selectValue:(0,a.useCallback)((e=>{if(!p({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),v(e)}),[u,v,r]),tabValues:r}}var v=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=n(5893);function x(e){let{className:t,block:n,selectedValue:a,selectValue:o,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),s=i[n].value;s!==a&&(c(t),o(s))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:i.map((e=>{let{value:t,label:n,attributes:r}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...r,className:(0,s.Z)("tabs__item",g.tabItem,r?.className,{"tabs__item--active":a===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:s}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:r.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function w(e){const t=b(e);return(0,A.jsxs)("div",{className:(0,s.Z)("tabs-container",g.tabList),children:[(0,A.jsx)(x,{...e,...t}),(0,A.jsx)(f,{...e,...t})]})}function j(e){const t=(0,v.Z)();return(0,A.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>v});var a=n(7294),s=n(917),r=n(4866),o=n(5162),i=n(4673),l=n(1750);const c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAG/ElEQVR4nO3dTW7bRhgG4Ddu4bTHa72Ir+UbNKskm/YgvYJhGF61B2gcIEDdRSVAMGxLIueHQz4PMBtDGeoj9EIfxWEmAQAAAAAAAAAAAAAAAAAAAAAAACjnMsl1ks9JbpN8343b3d+ud68BFuYqyUOSpyPjYfdaYAEuktzkeHCfj5vdvwU6mhLewxADnVxlenj3QzsNHVwmucv8AN8ned/2rQPXmR/e/fjQ+L1TiB8xxvVLwbl+LTgXcIIS7fN+3DV+7xTyrvcbYLLHJD8Vmutbkp8LzUVDAjyup8Lz+SwMyDUwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMT4Dq2tkvg1uplxVrtEljqv5Tdj6nsisgqtN4lsHeA7YrIqszZJfBjzv9Q9wzwxe49Tz2WXRFZlBK7BJ4b4l4Bnhve/dBOswildgl8SvIpyY8nHrdHgC+S/FboePexKyILUHKXwHNC3DrAJcO7H3ZFpLsvKR+mU9rplgEu1TY/H1+OHBeqK7lL4DkhbhXgWuF9il0RWYDH1PlwP+XtdrpFgGu0zYfj8ZXjQjNfU+8D/laIawe4dnifkvzz+mmFNmq10IfjpXa6ZoBrts2HQwtNdzV+xDolxLUC3Cq8T/EjFgtQ+jbSW+Owna4R4BZt8+FwG4nuSi7kOCfEpedtHd77WMjBQpRYSnnOqNHitmqb98NSShZlzsMMWxseZmBxWv74M/KY8uQVNNH6OnK08SnJD1NPLrQgxMLL4IRYeBmcEAsvg9t6iIWX4W01xMLLamwtxMLL6mzlPrH7vKzW2r+JffOyemsNsfCyGWsLsfCyOWsJsfCyWaOHWHjZvFFDLLywM9otJreK4JlRQiy88Iqlh1h44YilXhO75oUTLS3EwgtnWko7rW2GiXqHWHhhpl4hFl4opPU1sWteKKzVN7FvXqikdoiFFyqr1U5rm6GR0iEWXmisVDutbYZO5oZYeKGzi0zb2vQmwguLcZXkIceD+xCba8MiXSa5TvI5yW2S77txu/vb9e41AAAAAAAAAAAAwCK9tBTw1MX5S1oyqA51bM6pi/FPHb0W7atDHZsy9XG4U0erx+bUoY5NqnmSD0+2OtQxYh2LdpX6J3k/arY96lDH5lwmuUu7E32f5L061DFIHYt3nXYneT8+qEMdg9Rxkp4X4b90OOavFeZUx3TqGFjLNmc/7tShjkHqOMm7XgdO8pjkp8bH/Jbk58JzqmM6dczUs4V+6nDMfyvMqY7p1DFTzwD/1eGYf1eYUx3TqWOmngH+cyXHVMeyjrmWOk7SM8B/dDjm7xXmVMd06hjYWm64q0Mdm1zIkaxnyZs61LFZa1l0rg51bNJaHvtShzo2bS0PXqtDHZu1lv/6RB3qAAAAAAAAAAAAAJp7acmgpYAwgFMX7VuMDwsy9bE5j8NBZxdJPmb6o3EfI8TQxdzwCjF0cpHkt5R7SP1Tkh9bFgBbVTq8QgyNlGqbtdPQWO3wCjFUUqtt1k5DZa3DK8RQSKu2WTsNhfUOrxDDRL3aZu00zLS08AoxnGgpbbN2Gs609PAKMbxilPAKMTyz1GveY8M1MZs3aniFmM0bPbxCzGatJbxCzOasLbxCzGasNbxCzOqNdqto6nCLidVZ+zevb2JWa2vhFWJWY6vhFWKGt/XwCjHDEl4hZlDCK8QMSniFmEFt5T7v3OE+MYs0ZYvPrY6biecYqrhK+2+xEeZ8a9hknEW4THKXdh/8T0l+qDBv6+v3+yTvzz7bUNh12oc3FeZO2of4wzknGmr4kjYf9uc//tQIcNL2x7gvJ55jqKZF+/zSL7e1Apy0C/Hd0bMLlT2m7of8sG0+VDPASZt2+vH10wptfE378KbCsV5SO8T/vHJcaKZWC31swUOLACd122ktNN3V+BHrlNVKrQKc1AuxH7HorvRtpLfa5kMtA5zUaafdRqK7kgs5Tg1vCh3vnAAnZUN8Hws5WIgSSynPXeTfI8BJuXbaUkoWZc7DDFOe0OkV4GR+iD3MwOJcZFqIbzLt8bqeAU7a1wtNXCV5yPEP8kPmtZG9A7zXql5o5jL//zr9Ocltku+7cbv72/XuNXMsJcBJm3p5wbveb4DJ5obuOZ+FAbkWgYEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAjyukltzfi04Fw0J8Lj+KjjX3wXnoiEBHtefC52LhgR4XH8UnOv3gnMBJyi1K+J97BIIXZTYFdF2J9DRnF0R7RIIndklEFbALoEwOLsEAgAAAAAAAAAAAAAAAAAAAAAAAE39B2tV13Hdy+hQAAAAAElFTkSuQmCC",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const a=s.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,r=s.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,o=s.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:a,children:(0,p.tZ)("button",{css:r,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:o,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:o,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=s.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,a=s.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:a,src:u})})}function v(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:v,frame:g,tabs:A}=e;const[x,f]=(0,a.useState)(""),[w,j]=(0,a.useState)(""),[y,L]=(0,a.useState)(""),[D,Z]=(0,a.useState)(!(!n||!c)),[E,S]=(0,a.useState)(!1),[B,C]=(0,a.useState)({}),[k,M]=(0,a.useState)(!1),[T,H]=(0,a.useState)(0),[N,z]=(0,a.useState)(0),[J,V]=(0,a.useState)(25),[F,X]=(0,a.useState)(25),[O,G]=(0,a.useState)(0),[Y,I]=(0,a.useState)(!1),R=(0,a.useRef)(null),W=(0,a.useRef)(null);(0,a.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];C((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{L(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];C((e=>({...e,cssFile:n})))})),G(R.current.offsetWidth),console.log(O)}),[]);const U=()=>{M(!1),console.log("Stop Resizing")},q=e=>{if(k){const t=e.clientX-T;N+t>O/3&&(R.current.style.width=`${N+t}px`,W.current.style.right=(J-t<25?25:J-t)+"px",X(J-t<25?25:J-t))}},P=s.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=s.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=s.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${v||"100%"}; + pointer-events: none; + `,_=s.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${E&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=s.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=s.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=s.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=s.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:P,onMouseUp:U,onMouseLeave:U,onMouseMove:q,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:U,loading:"lazy",src:t,css:{...Q,pointerEvents:k?"none":"auto"},ref:R,onMouseMove:q}),(0,p.tZ)("div",{css:_,ref:W,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),M(!0),H(e.clientX),z(R.current.offsetWidth),V(F),console.log(W.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(i.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>I(!Y),children:Y?"Hide Code":"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:D,setCollapse:Z}):null,d?(0,p.BX)(r.Z,{css:te,children:[(0,p.tZ)(o.Z,{value:A?A[0]:"Java",label:A?A[0]:B.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?x:w})}),(0,p.tZ)(o.Z,{value:A?A[1]:"CSS",label:A?A[1]:B.cssFile,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(r.Z,{css:te,children:(0,p.tZ)(o.Z,{value:A?A[0]:"Java",label:A?A[0]:B.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?x:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var a=n(7294),s=n(917),r=n(8230),o=n(4387),i=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[p,m]=(0,a.useState)("");(0,a.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const b=s.iv` + display: inline; + + ${c&&s.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,v=s.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(r.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(o.Z,{css:v,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(i.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var a=n(8397),s=n(5893);function r(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(a.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/693028f3.d2484754.js b/assets/js/693028f3.d4e62acf.js similarity index 70% rename from assets/js/693028f3.d2484754.js rename to assets/js/693028f3.d4e62acf.js index 8635e5ace..b974da267 100644 --- a/assets/js/693028f3.d2484754.js +++ b/assets/js/693028f3.d4e62acf.js @@ -1,7 +1,7 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3779],{8727:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>r,toc:()=>d});var s=n(5893),i=n(1151),o=n(3273);const a={sidebar_position:0,title:"BlurEvent",sidebar_class_name:"sidebar--item__hidden",slug:"BlurEvent"},l=void 0,r={id:"components/events/blur-event",title:"BlurEvent",description:"An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page. This event is useful when you want to detect when a user moves away from a particular element on a web page, such as an input field or a button. This class also inherits methods from the base Event class.",source:"@site/docs/components/events/blur-event.md",sourceDirName:"components/events",slug:"/components/events/BlurEvent",permalink:"/docs/components/events/BlurEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/blur-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"BlurEvent",sidebar_class_name:"sidebar--item__hidden",slug:"BlurEvent"},sidebar:"documentationSidebar",previous:{title:"Event",permalink:"/docs/components/events/event"},next:{title:"ButtonClickEvent",permalink:"/docs/components/events/ButtonClickEvent"}},c={},d=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:["An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page. This event is useful when you want to detect when a user moves away from a particular element on a web page, such as an input field or a button. This class also inherits methods from the base ",(0,s.jsx)(t.code,{children:"Event"})," class."]}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getText()"})}),(0,s.jsx)(t.td,{children:"Gets the text of the component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isClientValidationValid()"})}),(0,s.jsx)(t.td,{children:"Returns the result of the client validation function, if any, when the component loses focus."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./FocusEvent",children:"Focus Event"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var s=n(7294),i=n(917),o=n(8230),a=n(4387),l=n(6770);var r=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[v,m]=(0,s.useState)("");(0,s.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const p=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3779],{8727:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>l,default:()=>u,frontMatter:()=>a,metadata:()=>c,toc:()=>d});var s=n(5893),i=n(1151),o=n(3273);const a={sidebar_position:0,title:"BlurEvent",sidebar_class_name:"sidebar--item__hidden",slug:"BlurEvent"},l=void 0,c={id:"components/events/blur-event",title:"BlurEvent",description:"An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page. This event is useful when you want to detect when a user moves away from a particular element on a web page, such as an input field or a button. This class also inherits methods from the base Event class.",source:"@site/docs/components/events/blur-event.md",sourceDirName:"components/events",slug:"/components/events/BlurEvent",permalink:"/docs/components/events/BlurEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/blur-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"BlurEvent",sidebar_class_name:"sidebar--item__hidden",slug:"BlurEvent"},sidebar:"documentationSidebar",previous:{title:"Event",permalink:"/docs/components/events/event"},next:{title:"ButtonClickEvent",permalink:"/docs/components/events/ButtonClickEvent"}},r={},d=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:["An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page. This event is useful when you want to detect when a user moves away from a particular element on a web page, such as an input field or a button. This class also inherits methods from the base ",(0,s.jsx)(t.code,{children:"Event"})," class."]}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getText()"})}),(0,s.jsx)(t.td,{children:"Gets the text of the component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isClientValidationValid()"})}),(0,s.jsx)(t.td,{children:"Returns the result of the client validation function, if any, when the component loses focus."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./FocusEvent",children:"Focus Event"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),o=n(5893),a=(0,i.default)((0,o.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=a},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),o=n(8230),a=n(4387),l=n(6031);var c=n(5944);function r(e){let{type:t,location:n,top:r,children:d,code:h,suffix:u}=e;const[v,m]=(0,s.useState)("");(0,s.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const p=i.iv` display: inline; - ${c&&i.iv` + ${r&&i.iv` width: 100%; display: flex; justify-content: flex-end; @@ -10,7 +10,8 @@ `} `,f=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,r.BX)(r.HY,{children:["true"===c&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)(o.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(a.Z,{css:f,label:"Java API",component:"a",href:v,icon:(0,r.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("a",{href:v,target:"_blank",children:d})}),"true"!==c&&h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:v,target:"_blank",children:d})})})]})}}}]); \ No newline at end of file + `;return(0,c.BX)(c.HY,{children:["true"===r&&(0,c.tZ)("div",{css:p,children:(0,c.tZ)(o.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(a.Z,{css:f,label:"Java API",component:"a",href:v,icon:(0,c.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==r&&!h&&(0,c.tZ)("div",{css:p,children:(0,c.tZ)("a",{href:v,target:"_blank",children:d})}),"true"!==r&&h&&(0,c.tZ)("div",{css:p,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:v,target:"_blank",children:d})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/6da97851.fb1dcc06.js b/assets/js/6da97851.534aad95.js similarity index 81% rename from assets/js/6da97851.fb1dcc06.js rename to assets/js/6da97851.534aad95.js index b9a7bcd38..7ca33b1b3 100644 --- a/assets/js/6da97851.fb1dcc06.js +++ b/assets/js/6da97851.534aad95.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9583],{4486:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>v,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var s=n(5893),i=n(1151),o=n(3273);const l={sidebar_position:0,title:"ListCloseEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListCloseEvent"},c=void 0,r={id:"components/events/list-close-event",title:"ListCloseEvent",description:"This event inherits from the ListEvent class, and is triggered when the user closes a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/list-close-event.md",sourceDirName:"components/events",slug:"/components/events/ListCloseEvent",permalink:"/docs/components/events/ListCloseEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-close-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListCloseEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListCloseEvent"},sidebar:"documentationSidebar",previous:{title:"KeypressEvent",permalink:"/docs/components/events/KeypressEvent"},next:{title:"ListEvent",permalink:"/docs/components/events/ListEvent"}},a={},d=[{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/ListCloseEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event inherits from the ListEvent class, and is triggered when the user closes a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListOpenEvent",children:"ListOpenEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListSelectEvent",children:"ListSelectEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(7294),i=n(917),o=n(8230),l=n(4387),c=n(6770);var r=n(5944);function a(e){let{type:t,location:n,top:a,children:d,code:h,suffix:v}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const u=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9583],{4486:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>c,default:()=>v,frontMatter:()=>l,metadata:()=>r,toc:()=>d});var s=n(5893),i=n(1151),o=n(3273);const l={sidebar_position:0,title:"ListCloseEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListCloseEvent"},c=void 0,r={id:"components/events/list-close-event",title:"ListCloseEvent",description:"This event inherits from the ListEvent class, and is triggered when the user closes a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/list-close-event.md",sourceDirName:"components/events",slug:"/components/events/ListCloseEvent",permalink:"/docs/components/events/ListCloseEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-close-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListCloseEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListCloseEvent"},sidebar:"documentationSidebar",previous:{title:"KeypressEvent",permalink:"/docs/components/events/KeypressEvent"},next:{title:"ListEvent",permalink:"/docs/components/events/ListEvent"}},a={},d=[{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",h2:"h2",h3:"h3",li:"li",p:"p",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/ListCloseEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event inherits from the ListEvent class, and is triggered when the user closes a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListOpenEvent",children:"ListOpenEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListSelectEvent",children:"ListSelectEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),o=n(5893),l=(0,i.default)((0,o.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=l},3273:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(7294),i=n(917),o=n(8230),l=n(4387),c=n(6031);var r=n(5944);function a(e){let{type:t,location:n,top:a,children:d,code:h,suffix:v}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const u=i.iv` display: inline; ${a&&i.iv` @@ -10,6 +10,7 @@ `} `,x=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } diff --git a/assets/js/700cec1a.d1f0b957.js b/assets/js/700cec1a.d1f0b957.js new file mode 100644 index 000000000..705a15314 --- /dev/null +++ b/assets/js/700cec1a.d1f0b957.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4020],{5338:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>u});var o=n(5893),r=n(1151),a=n(6957),i=(n(7796),n(3273));const s={sidebar_position:100,title:"RadioButtonGroup",slug:"radiobuttongroup"},l=void 0,c={id:"components/radio-group",title:"RadioButtonGroup",description:"The RadioButtonGroup class is used to group related radio buttons together, which helps establish the mutual exclusivity among the options within that group. Users can select only one radio button within a given radio group. When a user selects a radio button within a group, any previously selected radio button in the same group automatically becomes deselected. This ensures that only one option can be chosen at a time.",source:"@site/docs/components/radio-group.md",sourceDirName:"components",slug:"/components/radiobuttongroup",permalink:"/docs/components/radiobuttongroup",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/radio-group.md",tags:[],version:"current",sidebarPosition:100,frontMatter:{sidebar_position:100,title:"RadioButtonGroup",slug:"radiobuttongroup"},sidebar:"documentationSidebar",previous:{title:"RadioButton",permalink:"/docs/components/radiobutton"},next:{title:"Slider",permalink:"/docs/components/slider"}},d={},u=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Adding and Removing RadioButtons",id:"adding-and-removing-radiobuttons",level:2},{value:"Naming",id:"naming",level:2},{value:"Events",id:"events",level:2},{value:"Adding Events",id:"adding-events",level:3},{value:"Removing Events",id:"removing-events",level:3},{value:"Best Practices",id:"best-practices",level:2}];function h(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/optioninput/RadioButtonGroup",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," class is used to group related radio buttons together, which helps establish the mutual exclusivity among the options within that group. Users can select only one radio button within a given radio group. When a user selects a radio button within a group, any previously selected radio button in the same group automatically becomes deselected. This ensures that only one option can be chosen at a time."]}),"\n",(0,o.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonGroupDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonGroupDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"200px"}),"\n",(0,o.jsx)(t.admonition,{type:"important",children:(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," component will not render an HTML element on the page. Rather, it is only\r\nlogic that ensures a group of RadioButtons behave as a group instead of individually."]})}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," is best used in scenarios where users need to make a single selection from a predefined set of options presented as radio buttons. Here are some examples of when to use the ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"}),":"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Survey or Questionnaires"}),": ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," components are commonly used in surveys or questionnaires where users need to select a single response from a list of options."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Preference Settings"}),": Applications that involve preference or settings panels often use RadioButtonGroup component to allow users to choose a single option from a set of mutually exclusive choices."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Filtering or Sorting"}),": A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can be used in applications that require users to select a single filter or sorting option, such as sorting a list of items by different criteria."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," class has four constructors:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup()"}),": Creates an empty ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," in the unchecked state."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup(String name)"}),": Creates a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," with an name."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup(RadioButton... buttons)"}),": Creates a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," with one or more ",(0,o.jsx)(t.code,{children:"RadioButton"})," objects assigned to the group."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup(String name, RadioButton... buttons)"})," Creates a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," with both a name and one or more ",(0,o.jsx)(t.code,{children:"RadioButton"})," objects assigned to the group."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["A ",(0,o.jsx)(t.code,{children:"RadioButton"})," component stores the group to which it belongs, which can be accessed via the ",(0,o.jsx)(t.code,{children:"getButtonGroup()"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"adding-and-removing-radiobuttons",children:"Adding and Removing RadioButtons"}),"\n",(0,o.jsxs)(t.p,{children:["It is possible to add and remove singular or multiple ",(0,o.jsx)(t.code,{children:"RadioButton"})," objects to a group, ensuring that they exhibit mutually-exclusive checking behavior, and are associated with any name that may belong to the group."]}),"\n",(0,o.jsx)(t.h2,{id:"naming",children:"Naming"}),"\n",(0,o.jsxs)(t.p,{children:["The name attribute in a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," groups related RadioButtons together, allowing users to make a single choice from the options provided and enforcing exclusivity among the RadioButtons. The name of a group is not reflected in the DOM, however, and is a convenience utility for the Java developer."]}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," class provides methods to add and remove change events. These events fire whenever a change is made to an element within the group."]}),"\n",(0,o.jsx)(t.h3,{id:"adding-events",children:"Adding Events"}),"\n",(0,o.jsxs)(t.p,{children:["To add an ",(0,o.jsx)(t.code,{children:"ChangeEvent"})," listener, use the appropriate method:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButtonGroup.addChangeListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,o.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButtonGroup.onChange( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,o.jsx)(t.h3,{id:"removing-events",children:"Removing Events"}),"\n",(0,o.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.removeChangeListener(listener);\n"})}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsx)(t.p,{children:"To ensure an optimal user experience when using the RadioButton component, consider the following best practices:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Clearly Label Options"}),": Provide clear and concise labels for each ",(0,o.jsx)(t.code,{children:"RadioButton"})," option to accurately describe the choice. Labels should be easy to understand and distinguish from one another."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Provide Default Selection"}),": If applicable, consider providing a default selection for Radio buttons to guide users when they first encounter the options. The default selection should align with the most common or preferred choice."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var o=n(4836);t.Z=void 0;var r=o(n(4938)),a=n(5893),i=(0,r.default)((0,a.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=i},2610:(e,t,n)=>{var o=n(4836);t.Z=void 0;var r=o(n(4938)),a=n(5893),i=(0,r.default)((0,a.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=i},5162:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(6010);const r={tabItem:"tabItem_Ymn6"};var a=n(5893);function i(e){let{children:t,hidden:n,className:i}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,o.Z)(r.tabItem,i),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),r=n(6010),a=n(2466),i=n(6550),s=n(469),l=n(1980),c=n(7392),d=n(12);function u(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:r}}=e;return{value:t,label:n,attributes:o,default:r}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const r=(0,i.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(a),(0,o.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})}),[a,r])]}function g(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,a=h(e),[i,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:a}))),[c,u]=m({queryString:n,groupId:r}),[g,v]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,a]=(0,d.Nk)(n);return[r,(0,o.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:r}),b=(()=>{const e=c??g;return p({value:e,tabValues:a})?e:null})();(0,s.Z)((()=>{b&&l(b)}),[b]);return{selectedValue:i,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),v(e)}),[u,v,a]),tabValues:a}}var v=n(2389);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=n(5893);function x(e){let{className:t,block:n,selectedValue:o,selectValue:i,tabValues:s}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),r=s[n].value;r!==o&&(c(t),i(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:s.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...a,className:(0,r.Z)("tabs__item",b.tabItem,a?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:r}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===r));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function w(e){const t=g(e);return(0,A.jsxs)("div",{className:(0,r.Z)("tabs-container",b.tabList),children:[(0,A.jsx)(x,{...e,...t}),(0,A.jsx)(f,{...e,...t})]})}function j(e){const t=(0,v.Z)();return(0,A.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>v});var o=n(7294),r=n(917),a=n(4866),i=n(5162),s=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=r.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,a=r.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,i=r.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:a,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:i,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:i,src:c,className:"icon-tabler-arrow-bar-down"})})})}function g(e){let{url:t}=e;const n=r.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,o=r.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:u})})}function v(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:v,frame:b,tabs:A}=e;const[x,f]=(0,o.useState)(""),[w,j]=(0,o.useState)(""),[B,y]=(0,o.useState)(""),[D,Z]=(0,o.useState)(!(!n||!c)),[k,S]=(0,o.useState)(!1),[C,R]=(0,o.useState)({}),[E,G]=(0,o.useState)(!1),[L,N]=(0,o.useState)(0),[M,z]=(0,o.useState)(0),[T,V]=(0,o.useState)(25),[H,F]=(0,o.useState)(25),[O,X]=(0,o.useState)(0),[J,Y]=(0,o.useState)(!1),P=(0,o.useRef)(null),I=(0,o.useRef)(null);(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];R((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];R((e=>({...e,cssFile:n})))})),X(P.current.offsetWidth),console.log(O)}),[]);const W=()=>{G(!1),console.log("Stop Resizing")},q=e=>{if(E){const t=e.clientX-L;M+t>O/3&&(P.current.style.width=`${M+t}px`,I.current.style.right=(T-t<25?25:T-t)+"px",F(T-t<25?25:T-t))}},U=r.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==b?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=r.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=r.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${v||"100%"}; + pointer-events: none; + `,_=r.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${k&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=r.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=r.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=r.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=r.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:U,onMouseUp:W,onMouseLeave:W,onMouseMove:q,children:["hidden"!=b?(0,p.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:W,loading:"lazy",src:t,css:{...Q,pointerEvents:E?"none":"auto"},ref:P,onMouseMove:q}),(0,p.tZ)("div",{css:_,ref:I,children:(0,p.tZ)(g,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),G(!0),N(e.clientX),z(P.current.offsetWidth),V(H),console.log(I.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(s.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>Y(!J),children:J?"Hide Code":"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:D,setCollapse:Z}):null,d?(0,p.BX)(a.Z,{css:te,children:[(0,p.tZ)(i.Z,{value:A?A[0]:"Java",label:A?A[0]:C.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?x:w})}),(0,p.tZ)(i.Z,{value:A?A[1]:"CSS",label:A?A[1]:C.cssFile,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:B})})]}):(0,p.tZ)(a.Z,{css:te,children:(0,p.tZ)(i.Z,{value:A?A[0]:"Java",label:A?A[0]:C.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?x:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),r=n(917),a=n(8230),i=n(4387),s=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const g=r.iv` + display: inline; + + ${c&&r.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,v=r.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(i.Z,{css:v,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(s.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var o=n(8397),r=n(5893);function a(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(o.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/700cec1a.ffaaae31.js b/assets/js/700cec1a.ffaaae31.js deleted file mode 100644 index f5f183f51..000000000 --- a/assets/js/700cec1a.ffaaae31.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4020],{5338:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>u});var o=n(5893),r=n(1151),a=n(6957),i=(n(7796),n(3273));const s={sidebar_position:100,title:"RadioButtonGroup",slug:"radiobuttongroup"},l=void 0,c={id:"components/radio-group",title:"RadioButtonGroup",description:"The RadioButtonGroup class is used to group related radio buttons together, which helps establish the mutual exclusivity among the options within that group. Users can select only one radio button within a given radio group. When a user selects a radio button within a group, any previously selected radio button in the same group automatically becomes deselected. This ensures that only one option can be chosen at a time.",source:"@site/docs/components/radio-group.md",sourceDirName:"components",slug:"/components/radiobuttongroup",permalink:"/docs/components/radiobuttongroup",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/radio-group.md",tags:[],version:"current",sidebarPosition:100,frontMatter:{sidebar_position:100,title:"RadioButtonGroup",slug:"radiobuttongroup"},sidebar:"documentationSidebar",previous:{title:"RadioButton",permalink:"/docs/components/radiobutton"},next:{title:"Slider",permalink:"/docs/components/slider"}},d={},u=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Adding and Removing RadioButtons",id:"adding-and-removing-radiobuttons",level:2},{value:"Naming",id:"naming",level:2},{value:"Events",id:"events",level:2},{value:"Adding Events",id:"adding-events",level:3},{value:"Removing Events",id:"removing-events",level:3},{value:"Best Practices",id:"best-practices",level:2}];function h(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/optioninput/RadioButtonGroup",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," class is used to group related radio buttons together, which helps establish the mutual exclusivity among the options within that group. Users can select only one radio button within a given radio group. When a user selects a radio button within a group, any previously selected radio button in the same group automatically becomes deselected. This ensures that only one option can be chosen at a time."]}),"\n",(0,o.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonGroupDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonGroupDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"200px"}),"\n",(0,o.jsx)(t.admonition,{type:"important",children:(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," component will not render an HTML element on the page. Rather, it is only\r\nlogic that ensures a group of RadioButtons behave as a group instead of individually."]})}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," is best used in scenarios where users need to make a single selection from a predefined set of options presented as radio buttons. Here are some examples of when to use the ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"}),":"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Survey or Questionnaires"}),": ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," components are commonly used in surveys or questionnaires where users need to select a single response from a list of options."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Preference Settings"}),": Applications that involve preference or settings panels often use RadioButtonGroup component to allow users to choose a single option from a set of mutually exclusive choices."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Filtering or Sorting"}),": A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can be used in applications that require users to select a single filter or sorting option, such as sorting a list of items by different criteria."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," class has four constructors:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup()"}),": Creates an empty ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," in the unchecked state."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup(String name)"}),": Creates a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," with an name."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup(RadioButton... buttons)"}),": Creates a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," with one or more ",(0,o.jsx)(t.code,{children:"RadioButton"})," objects assigned to the group."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButtonGroup(String name, RadioButton... buttons)"})," Creates a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," with both a name and one or more ",(0,o.jsx)(t.code,{children:"RadioButton"})," objects assigned to the group."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["A ",(0,o.jsx)(t.code,{children:"RadioButton"})," component stores the group to which it belongs, which can be accessed via the ",(0,o.jsx)(t.code,{children:"getButtonGroup()"})," method."]}),"\n",(0,o.jsx)(t.h2,{id:"adding-and-removing-radiobuttons",children:"Adding and Removing RadioButtons"}),"\n",(0,o.jsxs)(t.p,{children:["It is possible to add and remove singular or multiple ",(0,o.jsx)(t.code,{children:"RadioButton"})," objects to a group, ensuring that they exhibit mutually-exclusive checking behavior, and are associated with any name that may belong to the group."]}),"\n",(0,o.jsx)(t.h2,{id:"naming",children:"Naming"}),"\n",(0,o.jsxs)(t.p,{children:["The name attribute in a ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," groups related RadioButtons together, allowing users to make a single choice from the options provided and enforcing exclusivity among the RadioButtons. The name of a group is not reflected in the DOM, however, and is a convenience utility for the Java developer."]}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButtonGroup"})," class provides methods to add and remove change events. These events fire whenever a change is made to an element within the group."]}),"\n",(0,o.jsx)(t.h3,{id:"adding-events",children:"Adding Events"}),"\n",(0,o.jsxs)(t.p,{children:["To add an ",(0,o.jsx)(t.code,{children:"ChangeEvent"})," listener, use the appropriate method:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButtonGroup.addChangeListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,o.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButtonGroup.onChange( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,o.jsx)(t.h3,{id:"removing-events",children:"Removing Events"}),"\n",(0,o.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.removeChangeListener(listener);\n"})}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsx)(t.p,{children:"To ensure an optimal user experience when using the RadioButton component, consider the following best practices:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Clearly Label Options"}),": Provide clear and concise labels for each ",(0,o.jsx)(t.code,{children:"RadioButton"})," option to accurately describe the choice. Labels should be easy to understand and distinguish from one another."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Provide Default Selection"}),": If applicable, consider providing a default selection for Radio buttons to guide users when they first encounter the options. The default selection should align with the most common or preferred choice."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(6010);const r={tabItem:"tabItem_Ymn6"};var a=n(5893);function i(e){let{children:t,hidden:n,className:i}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,o.Z)(r.tabItem,i),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),r=n(6010),a=n(2466),i=n(6550),s=n(469),l=n(1980),c=n(7392),d=n(12);function u(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:r}}=e;return{value:t,label:n,attributes:o,default:r}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const r=(0,i.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(a),(0,o.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})}),[a,r])]}function g(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,a=h(e),[i,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:a}))),[c,u]=m({queryString:n,groupId:r}),[g,A]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,a]=(0,d.Nk)(n);return[r,(0,o.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:r}),v=(()=>{const e=c??g;return p({value:e,tabValues:a})?e:null})();(0,s.Z)((()=>{v&&l(v)}),[v]);return{selectedValue:i,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),A(e)}),[u,A,a]),tabValues:a}}var A=n(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var b=n(5893);function f(e){let{className:t,block:n,selectedValue:o,selectValue:i,tabValues:s}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),r=s[n].value;r!==o&&(c(t),i(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:s.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...a,className:(0,r.Z)("tabs__item",v.tabItem,a?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:r}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===r));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function w(e){const t=g(e);return(0,b.jsxs)("div",{className:(0,r.Z)("tabs-container",v.tabList),children:[(0,b.jsx)(f,{...e,...t}),(0,b.jsx)(x,{...e,...t})]})}function j(e){const t=(0,A.Z)();return(0,b.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>A});var o=n(7294),r=n(917),a=n(4866),i=n(5162),s=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2949),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=r.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,a=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,i=r.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:a,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:i,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:i,src:c,className:"icon-tabler-arrow-bar-down"})})})}function g(e){let{url:t}=e;const n=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,o=r.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:u})})}function A(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:A,frame:v,tabs:b}=e;const[f,x]=(0,o.useState)(""),[w,j]=(0,o.useState)(""),[B,y]=(0,o.useState)(""),[D,Z]=(0,o.useState)(!(!n||!c)),[k,C]=(0,o.useState)(!1),[E,S]=(0,o.useState)({});(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];S((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];S((e=>({...e,cssFile:n})))}))}),[]);const R=r.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==v?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,G=r.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${A}; - `,L=r.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,N=r.iv` - width: 100%; - `,T=r.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${k&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:R,children:["hidden"!=v?(0,p.BX)("div",{onMouseEnter:()=>{C(!0)},onMouseLeave:()=>C(!1),css:N,children:[(0,p.tZ)("div",{css:T,children:(0,p.tZ)(g,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:G})]}):null,(0,p.BX)(s.Z,{css:L,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:D,setCollapse:Z}):null,d?(0,p.BX)(a.Z,{children:[(0,p.tZ)(i.Z,{value:b?b[0]:"Java",label:b?b[0]:E.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?f:w})}),(0,p.tZ)(i.Z,{value:b?b[1]:"CSS",label:b?b[1]:E.cssFile,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:B})})]}):(0,p.tZ)(a.Z,{children:(0,p.tZ)(i.Z,{value:b?b[0]:"Java",label:b?b[0]:E.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?f:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),r=n(917),a=n(8230),i=n(4387),s=n(6770);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const g=r.iv` - display: inline; - - ${c&&r.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,A=r.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(i.Z,{css:A,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(s.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var o=n(8397),r=n(5893);function a(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(o.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/76eefc0f.5c007295.js b/assets/js/76eefc0f.e11a4af3.js similarity index 86% rename from assets/js/76eefc0f.5c007295.js rename to assets/js/76eefc0f.e11a4af3.js index a9bc476c8..64d15d480 100644 --- a/assets/js/76eefc0f.5c007295.js +++ b/assets/js/76eefc0f.e11a4af3.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4718],{7335:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>a});var s=n(5893),i=n(1151),l=n(3273);const o={sidebar_position:0,title:"ListOpenEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListOpenEvent"},c=void 0,d={id:"components/events/list-open-event",title:"ListOpenEvent",description:"This event is triggered when the user opens a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/list-open-event.md",sourceDirName:"components/events",slug:"/components/events/ListOpenEvent",permalink:"/docs/components/events/ListOpenEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-open-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListOpenEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListOpenEvent"},sidebar:"documentationSidebar",previous:{title:"ListEvent",permalink:"/docs/components/events/ListEvent"},next:{title:"ListSelectEvent",permalink:"/docs/components/events/ListSelectEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/ListOpenEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is triggered when the user opens a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListCloseEvent",children:"ListCloseEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListSelectEvent",children:"ListSelectEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),l=n(8230),o=n(4387),c=n(6770);var d=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:p}=e;const[v,m]=(0,s.useState)("");(0,s.useEffect)((()=>{p||(p=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+p)}),[]);const x=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4718],{7335:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>a});var s=n(5893),i=n(1151),l=n(3273);const o={sidebar_position:0,title:"ListOpenEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListOpenEvent"},c=void 0,d={id:"components/events/list-open-event",title:"ListOpenEvent",description:"This event is triggered when the user opens a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/list-open-event.md",sourceDirName:"components/events",slug:"/components/events/ListOpenEvent",permalink:"/docs/components/events/ListOpenEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-open-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListOpenEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListOpenEvent"},sidebar:"documentationSidebar",previous:{title:"ListEvent",permalink:"/docs/components/events/ListEvent"},next:{title:"ListSelectEvent",permalink:"/docs/components/events/ListSelectEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/ListOpenEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is triggered when the user opens a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListCloseEvent",children:"ListCloseEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListSelectEvent",children:"ListSelectEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),l=n(5893),o=(0,i.default)((0,l.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),l=n(8230),o=n(4387),c=n(6031);var d=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:p}=e;const[v,m]=(0,s.useState)("");(0,s.useEffect)((()=>{p||(p=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+p)}),[]);const x=i.iv` display: inline; ${r&&i.iv` @@ -10,6 +10,7 @@ `} `,u=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } diff --git a/assets/js/79697695.02ba1ba4.js b/assets/js/79697695.02ba1ba4.js deleted file mode 100644 index 62bffcce6..000000000 --- a/assets/js/79697695.02ba1ba4.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1588],{3751:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>o,default:()=>p,frontMatter:()=>a,metadata:()=>d,toc:()=>h});var i=n(5893),s=n(1151),r=(n(6957),n(7796),n(3273)),l=n(2665);const a={sidebar_position:6,title:"TextField",slug:"textfield"},o=void 0,d={id:"components/fields/text-field",title:"TextField",description:"The DateTimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/text-field.md",sourceDirName:"components/fields",slug:"/components/fields/textfield",permalink:"/docs/components/fields/textfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/text-field.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"TextField",slug:"textfield"},sidebar:"documentationSidebar",previous:{title:"PasswordField",permalink:"/docs/components/fields/passwordfield"},next:{title:"TimeField",permalink:"/docs/components/fields/timefield"}},c={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Types",id:"types",level:3},{value:"Placeholder Text",id:"placeholder-text",level:3},{value:"Selected Text",id:"selected-text",level:3},{value:"Best Practices",id:"best-practices",level:3}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,i.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,i.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/field/TextField",top:"true"}),"\n",(0,i.jsxs)(t.admonition,{type:"success",children:[(0,i.jsx)(t.mdxAdmonitionTitle,{children:(0,i.jsx)(t.strong,{children:"Important"})}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateTimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,i.jsx)(t.strong,{children:(0,i.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"TextField"})," component allows users to enter and edit text in a single line. It can be configured to display a specific virtual keyboard, such as a numeric keypad, email input, telephone input, or URL input. The component also provides built-in validation to reject values that do not adhere to the specified type."]}),"\n",(0,i.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"TextField"})," is suitable for a wide range of scenarios where text input or editing is required. Here are some examples of when to use the ",(0,i.jsx)(t.code,{children:"TextField"}),":"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Form Inputs"}),": A ",(0,i.jsx)(t.code,{children:"TextField"})," is commonly used in forms for capturing user input, such as names, addresses, or comments. It is best to use a ",(0,i.jsx)(t.code,{children:"TextField"})," in these applications when the input is generally short enough to fit on one line."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Search Functionality"}),": ",(0,i.jsx)(t.code,{children:"TextField"})," can be used to provide a search box, allowing users to input search queries."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Text Editing"}),": A ",(0,i.jsx)(t.code,{children:"TextField"})," is ideal for applications that require text editing or content creation, such as document editors, chat applications, or note-taking apps."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"TextField"})," class has three constructors:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(Type type, String label, String value)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given applicable type, a label, and a value."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(Type type, String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given applicable type and label."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(String label, String value)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given label and a value."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(Type type)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given applicable type."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given label."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField()"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," without any provided information."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"types",children:"Types"}),"\n",(0,i.jsxs)(t.p,{children:["You can specify the type of the TextField using the ",(0,i.jsx)(t.code,{children:"setType"})," method. Similarly, the type can be retrieved using the ",(0,i.jsx)(t.code,{children:"getType"})," method, which will return an enum value."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.TEXT"}),": This is the default value for a ",(0,i.jsx)(t.code,{children:"TextField"}),", and automatically removes line breaks from the input value"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.EMAIL"}),": This configuration option is used for editing an email address. It has a relevant keyboard in supporting browsers and devices with dynamic keyboards."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.TEL"}),": This option is used for entering a telephone number. The field will display a telephone keypad in some devices with dynamic keypads."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.URL"}),": A field for entering a URL. It has a relevant keyboard in supporting browsers and devices with dynamic keyboards."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.SEARCH"}),": A single-line text field for entering search strings. Line-breaks are automatically removed from the input value."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"placeholder-text",children:"Placeholder Text"}),"\n",(0,i.jsxs)(t.p,{children:["You can set placeholder text for the ",(0,i.jsx)(t.code,{children:"TextField"})," using the ",(0,i.jsx)(t.code,{children:"setPlaceholder"})," method. The placeholder text is displayed when the field is empty, helping to prompt the user to enter appropriate input into the ",(0,i.jsx)(t.code,{children:"TextField"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"selected-text",children:"Selected Text"}),"\n",(0,i.jsxs)(t.p,{children:["It is possible to interact with the ",(0,i.jsx)(t.code,{children:"TextField"})," class to retrieve a user's selected text, and to get information about the user's selection. You can retrieve the selected text in the ",(0,i.jsx)(t.code,{children:"TextField"})," using the ",(0,i.jsx)(t.code,{children:"getSelectedText"})," method. This behavior would commonly be used in conjunction with an event. Similarly, it is possible to retrieve the current selection range of the ",(0,i.jsx)(t.code,{children:"TextField"})," using the ",(0,i.jsx)(t.code,{children:"getSelectionRange"})," method. This returns a ",(0,i.jsx)(t.code,{children:"SelectionRange"})," object representing the start and end indices of the selected text."]}),"\n",(0,i.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,i.jsxs)(t.p,{children:["The following section outlines some suggested best practices for utilization of the ",(0,i.jsx)(t.code,{children:"TextField"}),"."]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Provide Clear Labels and Instructions"}),": Label the ",(0,i.jsx)(t.code,{children:"TextField"})," clearly to indicate the type of information users should enter. Consider providing additional instructional text or placeholder values to guide users and set expectations for the required input."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Spell Checking and Auto-Complete"}),": When applicable, consider utilizing spellcheck and/or autocomplete functionality to the ",(0,i.jsx)(t.code,{children:"TextField"}),". These features can help users input information faster and reduce errors by providing suggested values based on previous inputs or predefined options."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the ",(0,i.jsx)(t.code,{children:"TextField"})," component with accessibility in mind, adhering to accessibility standards such as proper labeling, keyboard navigation support, and compatibility with assistive technologies. Ensure that users with disabilities can interact with the ",(0,i.jsx)(t.code,{children:"TextField"})," effectively."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var i=n(6010);const s={tabItem:"tabItem_Ymn6"};var r=n(5893);function l(e){let{children:t,hidden:n,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,i.Z)(s.tabItem,l),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var i=n(7294),s=n(6010),r=n(2466),l=n(6550),a=n(469),o=n(1980),d=n(7392),c=n(12);function h(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:s}}=e;return{value:t,label:n,attributes:i,default:s}}))}(n);return function(e){const t=(0,d.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const s=(0,l.k6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o._X)(r),(0,i.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(s.location.search);t.set(r,e),s.replace({...s.location,search:t.toString()})}),[r,s])]}function x(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,r=u(e),[l,o]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:r}))),[d,h]=m({queryString:n,groupId:s}),[x,A]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,r]=(0,c.Nk)(n);return[s,(0,i.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:s}),b=(()=>{const e=d??x;return p({value:e,tabValues:r})?e:null})();(0,a.Z)((()=>{b&&o(b)}),[b]);return{selectedValue:l,selectValue:(0,i.useCallback)((e=>{if(!p({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);o(e),h(e),A(e)}),[h,A,r]),tabValues:r}}var A=n(2389);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=n(5893);function v(e){let{className:t,block:n,selectedValue:i,selectValue:l,tabValues:a}=e;const o=[],{blockElementScrollPositionUntilNextRender:d}=(0,r.o5)(),c=e=>{const t=e.currentTarget,n=o.indexOf(t),s=a[n].value;s!==i&&(d(t),l(s))},h=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:r}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>o.push(e),onKeyDown:h,onClick:c,...r,className:(0,s.Z)("tabs__item",b.tabItem,r?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:s}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===s));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:r.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function w(e){const t=x(e);return(0,g.jsxs)("div",{className:(0,s.Z)("tabs-container",b.tabList),children:[(0,g.jsx)(v,{...e,...t}),(0,g.jsx)(f,{...e,...t})]})}function j(e){const t=(0,A.Z)();return(0,g.jsx)(w,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>A});var i=n(7294),s=n(917),r=n(4866),l=n(5162),a=n(4673),o=n(1750);const d="data:image/png;base64,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",c=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const i=s.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,r=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,l=s.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:i,children:(0,p.tZ)("button",{css:r,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:l,src:c,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:l,src:d,className:"icon-tabler-arrow-bar-down"})})})}function x(e){let{url:t}=e;const n=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,i=s.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:i,src:h})})}function A(e){let{path:t,javaC:n,javaE:d,cssURL:c,javaHighlight:h,height:A,frame:b,tabs:g}=e;const[v,f]=(0,i.useState)(""),[w,j]=(0,i.useState)(""),[y,T]=(0,i.useState)(""),[F,k]=(0,i.useState)(!(!n||!d)),[D,B]=(0,i.useState)(!1),[Z,S]=(0,i.useState)({});(0,i.useEffect)((()=>{d&&fetch(d).then((e=>e.text())).then((e=>{j(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];S((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),c&&fetch(c).then((e=>e.text())).then((e=>{T(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];S((e=>({...e,cssFile:n})))}))}),[]);const C=s.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==b?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,E=s.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${A}; - `,L=s.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,N=s.iv` - width: 100%; - `,H=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${D&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:C,children:["hidden"!=b?(0,p.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:N,children:[(0,p.tZ)("div",{css:H,children:(0,p.tZ)(x,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:E})]}):null,(0,p.BX)(a.Z,{css:L,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[n&&d?(0,p.tZ)(m,{collapse:F,setCollapse:k}):null,c?(0,p.BX)(r.Z,{children:[(0,p.tZ)(l.Z,{value:g?g[0]:"Java",label:g?g[0]:Z.javaFile,default:!0,children:(0,p.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:F?v:w})}),(0,p.tZ)(l.Z,{value:g?g[1]:"CSS",label:g?g[1]:Z.cssFile,children:(0,p.tZ)(o.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(r.Z,{children:(0,p.tZ)(l.Z,{value:g?g[0]:"Java",label:g?g[0]:Z.javaFile,default:!0,children:(0,p.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:F?v:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>d});var i=n(7294),s=n(917),r=n(8230),l=n(4387),a=n(6770);var o=n(5944);function d(e){let{type:t,location:n,top:d,children:c,code:h,suffix:u}=e;const[p,m]=(0,i.useState)("");(0,i.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const x=s.iv` - display: inline; - - ${d&&s.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,A=s.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,o.BX)(o.HY,{children:["true"===d&&(0,o.tZ)("div",{css:x,children:(0,o.tZ)(r.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(l.Z,{css:A,label:"Java API",component:"a",href:p,icon:(0,o.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!h&&(0,o.tZ)("div",{css:x,children:(0,o.tZ)("a",{href:p,target:"_blank",children:c})}),"true"!==d&&h&&(0,o.tZ)("div",{css:x,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:p,target:"_blank",children:c})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var i=n(8397),s=n(5893);function r(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(i.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/79697695.0bf4314d.js b/assets/js/79697695.0bf4314d.js new file mode 100644 index 000000000..8c0e69c28 --- /dev/null +++ b/assets/js/79697695.0bf4314d.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1588],{3751:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var i=n(5893),r=n(1151),s=(n(6957),n(7796),n(3273)),o=n(2665);const l={sidebar_position:6,title:"TextField",slug:"textfield"},a=void 0,d={id:"components/fields/text-field",title:"TextField",description:"The DateTimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/text-field.md",sourceDirName:"components/fields",slug:"/components/fields/textfield",permalink:"/docs/components/fields/textfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/text-field.md",tags:[],version:"current",sidebarPosition:6,frontMatter:{sidebar_position:6,title:"TextField",slug:"textfield"},sidebar:"documentationSidebar",previous:{title:"PasswordField",permalink:"/docs/components/fields/passwordfield"},next:{title:"TimeField",permalink:"/docs/components/fields/timefield"}},c={},u=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Types",id:"types",level:3},{value:"Placeholder Text",id:"placeholder-text",level:3},{value:"Selected Text",id:"selected-text",level:3},{value:"Best Practices",id:"best-practices",level:3}];function h(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,i.jsx)(o.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/field/TextField",top:"true"}),"\n",(0,i.jsxs)(t.admonition,{type:"success",children:[(0,i.jsx)(t.mdxAdmonitionTitle,{children:(0,i.jsx)(t.strong,{children:"Important"})}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateTimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,i.jsx)(t.strong,{children:(0,i.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"TextField"})," component allows users to enter and edit text in a single line. It can be configured to display a specific virtual keyboard, such as a numeric keypad, email input, telephone input, or URL input. The component also provides built-in validation to reject values that do not adhere to the specified type."]}),"\n",(0,i.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"TextField"})," is suitable for a wide range of scenarios where text input or editing is required. Here are some examples of when to use the ",(0,i.jsx)(t.code,{children:"TextField"}),":"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Form Inputs"}),": A ",(0,i.jsx)(t.code,{children:"TextField"})," is commonly used in forms for capturing user input, such as names, addresses, or comments. It is best to use a ",(0,i.jsx)(t.code,{children:"TextField"})," in these applications when the input is generally short enough to fit on one line."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Search Functionality"}),": ",(0,i.jsx)(t.code,{children:"TextField"})," can be used to provide a search box, allowing users to input search queries."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Text Editing"}),": A ",(0,i.jsx)(t.code,{children:"TextField"})," is ideal for applications that require text editing or content creation, such as document editors, chat applications, or note-taking apps."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"TextField"})," class has three constructors:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(Type type, String label, String value)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given applicable type, a label, and a value."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(Type type, String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given applicable type and label."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(String label, String value)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given label and a value."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(Type type)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given applicable type."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField(String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," with a given label."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"TextField()"}),": Creates a ",(0,i.jsx)(t.code,{children:"TextField"})," without any provided information."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"types",children:"Types"}),"\n",(0,i.jsxs)(t.p,{children:["You can specify the type of the TextField using the ",(0,i.jsx)(t.code,{children:"setType"})," method. Similarly, the type can be retrieved using the ",(0,i.jsx)(t.code,{children:"getType"})," method, which will return an enum value."]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.TEXT"}),": This is the default value for a ",(0,i.jsx)(t.code,{children:"TextField"}),", and automatically removes line breaks from the input value"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.EMAIL"}),": This configuration option is used for editing an email address. It has a relevant keyboard in supporting browsers and devices with dynamic keyboards."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.TEL"}),": This option is used for entering a telephone number. The field will display a telephone keypad in some devices with dynamic keypads."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.URL"}),": A field for entering a URL. It has a relevant keyboard in supporting browsers and devices with dynamic keyboards."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Type.SEARCH"}),": A single-line text field for entering search strings. Line-breaks are automatically removed from the input value."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"placeholder-text",children:"Placeholder Text"}),"\n",(0,i.jsxs)(t.p,{children:["You can set placeholder text for the ",(0,i.jsx)(t.code,{children:"TextField"})," using the ",(0,i.jsx)(t.code,{children:"setPlaceholder"})," method. The placeholder text is displayed when the field is empty, helping to prompt the user to enter appropriate input into the ",(0,i.jsx)(t.code,{children:"TextField"}),"."]}),"\n",(0,i.jsx)(t.h3,{id:"selected-text",children:"Selected Text"}),"\n",(0,i.jsxs)(t.p,{children:["It is possible to interact with the ",(0,i.jsx)(t.code,{children:"TextField"})," class to retrieve a user's selected text, and to get information about the user's selection. You can retrieve the selected text in the ",(0,i.jsx)(t.code,{children:"TextField"})," using the ",(0,i.jsx)(t.code,{children:"getSelectedText"})," method. This behavior would commonly be used in conjunction with an event. Similarly, it is possible to retrieve the current selection range of the ",(0,i.jsx)(t.code,{children:"TextField"})," using the ",(0,i.jsx)(t.code,{children:"getSelectionRange"})," method. This returns a ",(0,i.jsx)(t.code,{children:"SelectionRange"})," object representing the start and end indices of the selected text."]}),"\n",(0,i.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,i.jsxs)(t.p,{children:["The following section outlines some suggested best practices for utilization of the ",(0,i.jsx)(t.code,{children:"TextField"}),"."]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Provide Clear Labels and Instructions"}),": Label the ",(0,i.jsx)(t.code,{children:"TextField"})," clearly to indicate the type of information users should enter. Consider providing additional instructional text or placeholder values to guide users and set expectations for the required input."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Spell Checking and Auto-Complete"}),": When applicable, consider utilizing spellcheck and/or autocomplete functionality to the ",(0,i.jsx)(t.code,{children:"TextField"}),". These features can help users input information faster and reduce errors by providing suggested values based on previous inputs or predefined options."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the ",(0,i.jsx)(t.code,{children:"TextField"})," component with accessibility in mind, adhering to accessibility standards such as proper labeling, keyboard navigation support, and compatibility with assistive technologies. Ensure that users with disabilities can interact with the ",(0,i.jsx)(t.code,{children:"TextField"})," effectively."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var i=n(4836);t.Z=void 0;var r=i(n(4938)),s=n(5893),o=(0,r.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},2610:(e,t,n)=>{var i=n(4836);t.Z=void 0;var r=i(n(4938)),s=n(5893),o=(0,r.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=o},5162:(e,t,n)=>{n.d(t,{Z:()=>o});n(7294);var i=n(6010);const r={tabItem:"tabItem_Ymn6"};var s=n(5893);function o(e){let{children:t,hidden:n,className:o}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,i.Z)(r.tabItem,o),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var i=n(7294),r=n(6010),s=n(2466),o=n(6550),l=n(469),a=n(1980),d=n(7392),c=n(12);function u(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:r}}=e;return{value:t,label:n,attributes:i,default:r}}))}(n);return function(e){const t=(0,d.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const r=(0,o.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,a._X)(s),(0,i.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})}),[s,r])]}function x(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,s=h(e),[o,a]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:s}))),[d,u]=m({queryString:n,groupId:r}),[x,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,s]=(0,c.Nk)(n);return[r,(0,i.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:r}),g=(()=>{const e=d??x;return p({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{g&&a(g)}),[g]);return{selectedValue:o,selectValue:(0,i.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);a(e),u(e),b(e)}),[u,b,s]),tabValues:s}}var b=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=n(5893);function v(e){let{className:t,block:n,selectedValue:i,selectValue:o,tabValues:l}=e;const a=[],{blockElementScrollPositionUntilNextRender:d}=(0,s.o5)(),c=e=>{const t=e.currentTarget,n=a.indexOf(t),r=l[n].value;r!==i&&(d(t),o(r))},u=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const n=a.indexOf(e.currentTarget)+1;t=a[n]??a[0];break}case"ArrowLeft":{const n=a.indexOf(e.currentTarget)-1;t=a[n]??a[a.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>a.push(e),onKeyDown:u,onClick:c,...s,className:(0,r.Z)("tabs__item",g.tabItem,s?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:r}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===r));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function w(e){const t=x(e);return(0,A.jsxs)("div",{className:(0,r.Z)("tabs-container",g.tabList),children:[(0,A.jsx)(v,{...e,...t}),(0,A.jsx)(f,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,A.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var i=n(7294),r=n(917),s=n(4866),o=n(5162),l=n(4673),a=n(1750);const d="data:image/png;base64,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",c=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const i=r.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,s=r.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,o=r.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:i,children:(0,p.tZ)("button",{css:s,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:o,src:c,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:o,src:d,className:"icon-tabler-arrow-bar-down"})})})}function x(e){let{url:t}=e;const n=r.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,i=r.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:i,src:u})})}function b(e){let{path:t,javaC:n,javaE:d,cssURL:c,javaHighlight:u,height:b,frame:g,tabs:A}=e;const[v,f]=(0,i.useState)(""),[w,j]=(0,i.useState)(""),[y,T]=(0,i.useState)(""),[F,k]=(0,i.useState)(!(!n||!d)),[D,Z]=(0,i.useState)(!1),[S,B]=(0,i.useState)({}),[C,E]=(0,i.useState)(!1),[L,z]=(0,i.useState)(0),[M,V]=(0,i.useState)(0),[N,H]=(0,i.useState)(25),[X,O]=(0,i.useState)(25),[Y,G]=(0,i.useState)(0),[J,I]=(0,i.useState)(!1),P=(0,i.useRef)(null),R=(0,i.useRef)(null);(0,i.useEffect)((()=>{d&&fetch(d).then((e=>e.text())).then((e=>{j(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];B((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),c&&fetch(c).then((e=>e.text())).then((e=>{T(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];B((e=>({...e,cssFile:n})))})),G(P.current.offsetWidth),console.log(Y)}),[]);const W=()=>{E(!1),console.log("Stop Resizing")},q=e=>{if(C){const t=e.clientX-L;M+t>Y/3&&(P.current.style.width=`${M+t}px`,R.current.style.right=(N-t<25?25:N-t)+"px",O(N-t<25?25:N-t))}},U=r.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=r.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=r.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${b||"100%"}; + pointer-events: none; + `,_=r.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${D&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=r.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=r.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=r.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=r.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:U,onMouseUp:W,onMouseLeave:W,onMouseMove:q,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:W,loading:"lazy",src:t,css:{...Q,pointerEvents:C?"none":"auto"},ref:P,onMouseMove:q}),(0,p.tZ)("div",{css:_,ref:R,children:(0,p.tZ)(x,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),E(!0),z(e.clientX),V(P.current.offsetWidth),H(X),console.log(R.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(l.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>I(!J),children:J?"Hide Code":"Show Code"}),children:[n&&d?(0,p.tZ)(m,{collapse:F,setCollapse:k}):null,c?(0,p.BX)(s.Z,{css:te,children:[(0,p.tZ)(o.Z,{value:A?A[0]:"Java",label:A?A[0]:S.javaFile,default:!0,children:(0,p.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:F?v:w})}),(0,p.tZ)(o.Z,{value:A?A[1]:"CSS",label:A?A[1]:S.cssFile,children:(0,p.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(s.Z,{css:te,children:(0,p.tZ)(o.Z,{value:A?A[0]:"Java",label:A?A[0]:S.javaFile,default:!0,children:(0,p.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:F?v:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>d});var i=n(7294),r=n(917),s=n(8230),o=n(4387),l=n(6031);var a=n(5944);function d(e){let{type:t,location:n,top:d,children:c,code:u,suffix:h}=e;const[p,m]=(0,i.useState)("");(0,i.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const x=r.iv` + display: inline; + + ${d&&r.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,b=r.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,a.BX)(a.HY,{children:["true"===d&&(0,a.tZ)("div",{css:x,children:(0,a.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,a.tZ)(o.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,a.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!u&&(0,a.tZ)("div",{css:x,children:(0,a.tZ)("a",{href:p,target:"_blank",children:c})}),"true"!==d&&u&&(0,a.tZ)("div",{css:x,children:(0,a.tZ)("code",{children:(0,a.tZ)("a",{href:p,target:"_blank",children:c})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var i=n(8397),r=n(5893);function s(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(i.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/7c7204eb.ca2f4fd9.js b/assets/js/7c7204eb.8cded49b.js similarity index 86% rename from assets/js/7c7204eb.ca2f4fd9.js rename to assets/js/7c7204eb.8cded49b.js index edda43de6..192652eb2 100644 --- a/assets/js/7c7204eb.ca2f4fd9.js +++ b/assets/js/7c7204eb.8cded49b.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3574],{8287:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>v,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var s=n(5893),i=n(1151),l=n(3273);const o={sidebar_position:0,title:"ListEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListEvent"},d=void 0,c={id:"components/events/list-event",title:"ListEvent",description:"This event is the base class for List-based component related events. inherited methods will provide essential information about the selected item and allow developers to implement custom actions or responses when an inherited event is fired.",source:"@site/docs/components/events/list-event.md",sourceDirName:"components/events",slug:"/components/events/ListEvent",permalink:"/docs/components/events/ListEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListEvent"},sidebar:"documentationSidebar",previous:{title:"ListCloseEvent",permalink:"/docs/components/events/ListCloseEvent"},next:{title:"ListOpenEvent",permalink:"/docs/components/events/ListOpenEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/ListEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is the base class for List-based component related events. inherited methods will provide essential information about the selected item and allow developers to implement custom actions or responses when an inherited event is fired."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListOpenEvent",children:"ListOpenEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListCloseEvent",children:"ListCloseEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListSelectEvent",children:"ListSelectEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ListBox",children:"ListBox"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),l=n(8230),o=n(4387),d=n(6770);var c=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:v}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const x=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3574],{8287:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>d,default:()=>v,frontMatter:()=>o,metadata:()=>c,toc:()=>a});var s=n(5893),i=n(1151),l=n(3273);const o={sidebar_position:0,title:"ListEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListEvent"},d=void 0,c={id:"components/events/list-event",title:"ListEvent",description:"This event is the base class for List-based component related events. inherited methods will provide essential information about the selected item and allow developers to implement custom actions or responses when an inherited event is fired.",source:"@site/docs/components/events/list-event.md",sourceDirName:"components/events",slug:"/components/events/ListEvent",permalink:"/docs/components/events/ListEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListEvent"},sidebar:"documentationSidebar",previous:{title:"ListCloseEvent",permalink:"/docs/components/events/ListCloseEvent"},next:{title:"ListOpenEvent",permalink:"/docs/components/events/ListOpenEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/ListEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is the base class for List-based component related events. inherited methods will provide essential information about the selected item and allow developers to implement custom actions or responses when an inherited event is fired."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListOpenEvent",children:"ListOpenEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListCloseEvent",children:"ListCloseEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListSelectEvent",children:"ListSelectEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ListBox",children:"ListBox"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),l=n(5893),o=(0,i.default)((0,l.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),l=n(8230),o=n(4387),d=n(6031);var c=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:v}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const x=i.iv` display: inline; ${r&&i.iv` @@ -10,6 +10,7 @@ `} `,j=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } diff --git a/assets/js/7f7b6a5a.a3d5ef0e.js b/assets/js/7f7b6a5a.9800b153.js similarity index 74% rename from assets/js/7f7b6a5a.a3d5ef0e.js rename to assets/js/7f7b6a5a.9800b153.js index b54184b72..98ebc2400 100644 --- a/assets/js/7f7b6a5a.a3d5ef0e.js +++ b/assets/js/7f7b6a5a.9800b153.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2616],{4519:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>u,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var c=n(5893),s=n(1151),i=n(3273);const o={sidebar_position:0,title:"UncheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"UncheckEvent",pagination_next:null},a=void 0,r={id:"components/events/uncheck-event",title:"UncheckEvent",description:'An "uncheck" event occurs when an element or checkbox is deselected or marked as "unchecked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element to remove the "checked" state. It usually indicates that the associated action or state has been disabled or deactivated. This class also inherits methods from the base Event class',source:"@site/docs/components/events/uncheck-event.md",sourceDirName:"components/events",slug:"/components/events/UncheckEvent",permalink:"/docs/components/events/UncheckEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/uncheck-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"UncheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"UncheckEvent",pagination_next:null},sidebar:"documentationSidebar",previous:{title:"ToggleEvent",permalink:"/docs/components/events/ToggleEvent"}},d={},l=[{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/UncheckEvent",top:"true"}),"\n",(0,c.jsxs)(t.p,{children:['An "uncheck" event occurs when an element or checkbox is deselected or marked as "unchecked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element to remove the "checked" state. It usually indicates that the associated action or state has been disabled or deactivated. This class also inherits methods from the ',(0,c.jsxs)(t.a,{href:"./event",children:["base ",(0,c.jsx)(t.code,{children:"Event"})," class"]})]}),"\n",(0,c.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,c.jsxs)(t.ul,{children:["\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./CheckEvent",children:"Check Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./ToggleEvent",children:"Toggle Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../checkbox",children:"CheckBox"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../radiobutton",children:"RadioButton"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>d});var c=n(7294),s=n(917),i=n(8230),o=n(4387),a=n(6770);var r=n(5944);function d(e){let{type:t,location:n,top:d,children:l,code:h,suffix:u}=e;const[v,m]=(0,c.useState)("");(0,c.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const p=s.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2616],{4519:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>a,default:()=>v,frontMatter:()=>o,metadata:()=>r,toc:()=>l});var c=n(5893),s=n(1151),i=n(3273);const o={sidebar_position:0,title:"UncheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"UncheckEvent",pagination_next:null},a=void 0,r={id:"components/events/uncheck-event",title:"UncheckEvent",description:'An "uncheck" event occurs when an element or checkbox is deselected or marked as "unchecked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element to remove the "checked" state. It usually indicates that the associated action or state has been disabled or deactivated. This class also inherits methods from the base Event class',source:"@site/docs/components/events/uncheck-event.md",sourceDirName:"components/events",slug:"/components/events/UncheckEvent",permalink:"/docs/components/events/UncheckEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/uncheck-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"UncheckEvent",sidebar_class_name:"sidebar--item__hidden",slug:"UncheckEvent",pagination_next:null},sidebar:"documentationSidebar",previous:{title:"ToggleEvent",permalink:"/docs/components/events/ToggleEvent"}},d={},l=[{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",ul:"ul",...(0,s.a)(),...e.components};return(0,c.jsxs)(c.Fragment,{children:[(0,c.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/UncheckEvent",top:"true"}),"\n",(0,c.jsxs)(t.p,{children:['An "uncheck" event occurs when an element or checkbox is deselected or marked as "unchecked." This event is triggered when a user interacts with a checkbox, radio button, or any other form element to remove the "checked" state. It usually indicates that the associated action or state has been disabled or deactivated. This class also inherits methods from the ',(0,c.jsxs)(t.a,{href:"./event",children:["base ",(0,c.jsx)(t.code,{children:"Event"})," class"]})]}),"\n",(0,c.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,c.jsxs)(t.ul,{children:["\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./CheckEvent",children:"Check Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"./ToggleEvent",children:"Toggle Event"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../checkbox",children:"CheckBox"})}),"\n",(0,c.jsx)(t.li,{children:(0,c.jsx)(t.a,{href:"../radiobutton",children:"RadioButton"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,c.jsx)(t,{...e,children:(0,c.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var c=n(4836);t.Z=void 0;var s=c(n(4938)),i=n(5893),o=(0,s.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>d});var c=n(7294),s=n(917),i=n(8230),o=n(4387),a=n(6031);var r=n(5944);function d(e){let{type:t,location:n,top:d,children:l,code:h,suffix:v}=e;const[u,m]=(0,c.useState)("");(0,c.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const p=s.iv` display: inline; ${d&&s.iv` @@ -10,7 +10,8 @@ `} `,k=s.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,r.BX)(r.HY,{children:["true"===d&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(o.Z,{css:k,label:"Java API",component:"a",href:v,icon:(0,r.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("a",{href:v,target:"_blank",children:l})}),"true"!==d&&h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:v,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file + `;return(0,r.BX)(r.HY,{children:["true"===d&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(o.Z,{css:k,label:"Java API",component:"a",href:u,icon:(0,r.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("a",{href:u,target:"_blank",children:l})}),"true"!==d&&h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:u,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/87878b99.3e2884b4.js b/assets/js/87878b99.752409ed.js similarity index 56% rename from assets/js/87878b99.3e2884b4.js rename to assets/js/87878b99.752409ed.js index a120a69ba..23527e018 100644 --- a/assets/js/87878b99.3e2884b4.js +++ b/assets/js/87878b99.752409ed.js @@ -1,10 +1,12 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9047],{4679:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>h,default:()=>x,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var s=n(5893),o=n(1151),i=(n(4866),n(5162),n(6957)),r=n(7796),a=n(3273),c=n(2665);const l={sidebar_position:10,title:"CheckBox"},h=void 0,d={id:"components/checkbox",title:"CheckBox",description:"The CheckBox class creates a component that can be selected or deselected, and which displays its state to the user. When clicked, a check mark appears inside the box, to indicate an affirmative choice (on). When clicked again, the check mark disappears, indicating a negative choice (off).",source:"@site/docs/components/checkbox.md",sourceDirName:"components",slug:"/components/checkbox",permalink:"/docs/components/checkbox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/checkbox.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,title:"CheckBox"},sidebar:"documentationSidebar",previous:{title:"Button",permalink:"/docs/components/button"},next:{title:"Styles",permalink:"/docs/category/styles"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Text and Positioning",id:"text-and-positioning",level:2},{value:"Indeterminism",id:"indeterminism",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,s.jsx)(c.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-checkbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-checkbox",clickable:!1,iconName:"code"}),"\n",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/optioninput/CheckBox",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," class creates a component that can be selected or deselected, and which displays its state to the user. When clicked, a check mark appears inside the box, to indicate an affirmative choice (on). When clicked again, the check mark disappears, indicating a negative choice (off)."]}),"\n",(0,s.jsx)(t.p,{children:"By providing a clear and straightforward visual indication of selection status, checkboxes enhance user interaction and decision-making, making them an essential element in modern user interfaces."}),"\n",(0,s.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," is best used in scenarios where users need to make multiple selections from a list of options. Here are some examples of when to use the ",(0,s.jsx)(t.code,{children:"CheckBox"}),":"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Task or Feature Selection"}),": Checkboxes are commonly used when users need to select multiple tasks or features to perform certain actions or configurations."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Preference Settings"}),": Applications that involve preference or settings panels often use Checkboxes to allow users to choose multiple options from a set of choices. This is best for options which are not mutually exclusive. For instance:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Enabling or disabling notifications"}),"\n",(0,s.jsx)(t.li,{children:"Choosing a dark mode or light mode theme"}),"\n",(0,s.jsx)(t.li,{children:"Selecting email notification preferences"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.ol,{start:"3",children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Filtering or Sorting"}),": A ",(0,s.jsx)(t.code,{children:"CheckBox"})," can be used in applications that require users to select multiple filters or categories, such as filtering search results or selecting multiple items for further actions."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Form Inputs"}),": Checkboxes are commonly used in forms to allow users to select multiple options or make binary choices. For example:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Subscribe to a newsletter"}),"\n",(0,s.jsx)(t.li,{children:"Agree to terms and conditions"}),"\n",(0,s.jsx)(t.li,{children:"Select items for purchase or booking"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," class has three constructors:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/checkbox/CheckBox",code:"true",suffix:"#()",children:"Checkbox()"}),": Creates an empty ",(0,s.jsx)("code",{children:"CheckBox"})," in the unchecked state."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/checkbox/CheckBox",code:"true",suffix:"#(java.lang.String)",children:"Checkbox(String text)"}),": Creates a ",(0,s.jsx)("code",{children:"CheckBox"})," with an attached label in the unchecked state."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/checkbox/CheckBox",code:"true",suffix:"#(java.lang.String,boolean)",children:"Checkbox(String text boolean checked)"}),": Creates a ",(0,s.jsx)("code",{children:"CheckBox"})," with an attached label in either the checked or unchecked state, based on the boolean passed (",(0,s.jsx)("code",{children:"true"})," for checked, ",(0,s.jsx)("code",{children:"false"})," for unchecked)."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Here is an example of how to create a ",(0,s.jsx)(t.code,{children:"CheckBox"})," object:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:'CheckBox enabled = new CheckBox("Enable Option");\n'})}),"\n",(0,s.jsx)(t.h2,{id:"text-and-positioning",children:"Text and Positioning"}),"\n",(0,s.jsxs)(t.p,{children:["Check boxes can utilize the ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/AbstractOptionInput",code:"true",suffix:"#setText(java.lang.String)",children:"setText(String text)"})," method, which will be positioned near the check box according to the built-in ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/TextPosition",code:"true",suffix:"",children:"Position"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Checkboxes have built-in functionality to set text to be displayed either to the right or left of the box. By default, the text will be displayed to the right of the component. Positioning of the text is supported by use of the ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/TextPosition",code:"true",suffix:"",children:"Position"})," enum. Show below are the two settings: ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxHorizontalText",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxHorizontalText.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Horizontal.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/text_styles.css",height:"200px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.h2,{id:"indeterminism",children:"Indeterminism"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," component supports indeterminism, which is a UI pattern commonly used in forms and lists to indicate that a group of checkboxes has a mixture of checked and unchecked states. This state is represented by a third visual state, typically displayed as a filled square or a dash inside the checkbox. There are a few common use cases associated with indeterminism:"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Selecting multiple items"}),": Indeterminism is useful when users need to select multiple items from a list or a set of options. It allows users to indicate that they want to select some, but not all, of the available choices."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Hierarchical data"}),": Indeterminism can be employed in scenarios where there is a hierarchical relationship between CheckBoxes. For example, when selecting categories and subcategories, indeterminism can represent that some subcategories are selected while others are not, and the parent component is in the indeterminate state."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxIndeterminate",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxIndeterminate.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Indeterminate.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/text_styles.css",height:"150px"}),"\n",(0,s.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/CheckEvent",code:"true",children:"CheckEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes checked. It occurs when the user interacts with a checkbox element by clicking or tapping on it, causing the checkbox to transition from an unchecked state to a checked state."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/UncheckEvent",code:"true",children:"UncheckEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes unchecked."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/ToggleEvent",code:"true",children:"ToggleEvent"})}),(0,s.jsx)(t.td,{children:'A ToggleEvent fires a CheckBox or a similar UI element changes its state between "on" and "off" or "active" and "inactive."'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:"myCheckBox.addCheckListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,s.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:"myCheckBox.onCheck( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,s.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:"myCheckBox.removeCheckListener(listener);\n"})}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxEventDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxEventDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Event.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/text_styles.css",height:"100px"}),"\n",(0,s.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,s.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,s.jsxs)(t.p,{children:["The following ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/Expanse",children:" Expanses values "})," allow for quick styling without using CSS.\r\nExpanses are supported by use of the ",(0,s.jsx)(t.code,{children:"Expanse"})," enum class. Below are the expanses supported for the checkbox component: ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxExpanseDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxExpanseDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Expanse.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/expanse_styles.css",javaHighlight:"{17,21,25,29,33}"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,s.jsx)(t.p,{children:"These are the various parts of the shadow DOM for the component, which will be required when styling via CSS is desired."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).XZ,table:"parts"}),"\n",(0,s.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,s.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).XZ,table:"properties"}),"\n",(0,s.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,s.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).XZ,table:"reflects"}),"\n",(0,s.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,s.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,s.jsx)(r.Z,{tag:"bbj-checkbox",table:"dependencies"}),"\n",(0,s.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,s.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,s.jsx)(t.code,{children:"Checkbox"})," component, consider the following best practices:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Clearly Label Options"}),": Provide clear and concise labels for each ",(0,s.jsx)(t.code,{children:"CheckBox"})," option to accurately describe the choice. Labels should be easy to understand and distinguish from one another."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Group CheckBoxes"}),": Group related Checkboxes together to indicate their association. This helps users understand that multiple options can be selected within a specific group."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Provide Default Selection"}),": If applicable, consider providing a default selection for CheckBoxes to guide users when they first encounter the options. The default selection should align with the most common or preferred choice."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Indeterminism"}),": If a parent ",(0,s.jsx)(t.code,{children:"CheckBox"})," component has multiple components belonging to it in a way in which some can be checked on and others checked off, use the indeterminate property to show that not all ",(0,s.jsx)(t.code,{children:"CheckBox"})," components are checked or unchecked."]}),"\n"]}),"\n"]})]})}function x(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var s=n(6010);const o={tabItem:"tabItem_Ymn6"};var i=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.Z)(o.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>f});var s=n(7294),o=n(6010),i=n(2466),r=n(6550),a=n(469),c=n(1980),l=n(7392),h=n(12);function d(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:o}}=e;return{value:t,label:n,attributes:s,default:o}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const o=(0,r.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(o.location.search);t.set(i,e),o.replace({...o.location,search:t.toString()})}),[i,o])]}function x(e){const{defaultValue:t,queryString:n=!1,groupId:o}=e,i=u(e),[r,c]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:i}))),[l,d]=m({queryString:n,groupId:o}),[x,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,i]=(0,h.Nk)(n);return[o,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:o}),g=(()=>{const e=l??x;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{g&&c(g)}),[g]);return{selectedValue:r,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);c(e),d(e),b(e)}),[d,b,i]),tabValues:i}}var b=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function j(e){let{className:t,block:n,selectedValue:s,selectValue:r,tabValues:a}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,i.o5)(),h=e=>{const t=e.currentTarget,n=c.indexOf(t),o=a[n].value;o!==s&&(l(t),r(o))},d=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>c.push(e),onKeyDown:d,onClick:h,...i,className:(0,o.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function A(e){let{lazy:t,children:n,selectedValue:o}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===o));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==o})))})}function w(e){const t=x(e);return(0,v.jsxs)("div",{className:(0,o.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(j,{...e,...t}),(0,v.jsx)(A,{...e,...t})]})}function f(e){const t=(0,b.Z)();return(0,v.jsx)(w,{...e,children:d(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var s=n(7294),o=n(917),i=n(4866),r=n(5162),a=n(4673),c=n(1750);const l="data:image/png;base64,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",h=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",d="data:image/png;base64,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";var u=n(2949),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const s=o.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9047],{4679:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>x,frontMatter:()=>l,metadata:()=>h,toc:()=>p});var s=n(5893),o=n(1151),i=(n(4866),n(5162),n(6957)),r=n(7796),a=n(3273),c=n(2665);const l={sidebar_position:10,title:"CheckBox"},d=void 0,h={id:"components/checkbox",title:"CheckBox",description:"The CheckBox class creates a component that can be selected or deselected, and which displays its state to the user. When clicked, a check mark appears inside the box, to indicate an affirmative choice (on). When clicked again, the check mark disappears, indicating a negative choice (off).",source:"@site/docs/components/checkbox.md",sourceDirName:"components",slug:"/components/checkbox",permalink:"/docs/components/checkbox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/checkbox.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,title:"CheckBox"},sidebar:"documentationSidebar",previous:{title:"Button",permalink:"/docs/components/button"},next:{title:"Styles",permalink:"/docs/category/styles"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Text and Positioning",id:"text-and-positioning",level:2},{value:"Indeterminism",id:"indeterminism",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,s.jsx)(c.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-checkbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-checkbox",clickable:!1,iconName:"code"}),"\n",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/optioninput/CheckBox",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," class creates a component that can be selected or deselected, and which displays its state to the user. When clicked, a check mark appears inside the box, to indicate an affirmative choice (on). When clicked again, the check mark disappears, indicating a negative choice (off)."]}),"\n",(0,s.jsx)(t.p,{children:"By providing a clear and straightforward visual indication of selection status, checkboxes enhance user interaction and decision-making, making them an essential element in modern user interfaces."}),"\n",(0,s.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," is best used in scenarios where users need to make multiple selections from a list of options. Here are some examples of when to use the ",(0,s.jsx)(t.code,{children:"CheckBox"}),":"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Task or Feature Selection"}),": Checkboxes are commonly used when users need to select multiple tasks or features to perform certain actions or configurations."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Preference Settings"}),": Applications that involve preference or settings panels often use Checkboxes to allow users to choose multiple options from a set of choices. This is best for options which are not mutually exclusive. For instance:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Enabling or disabling notifications"}),"\n",(0,s.jsx)(t.li,{children:"Choosing a dark mode or light mode theme"}),"\n",(0,s.jsx)(t.li,{children:"Selecting email notification preferences"}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.ol,{start:"3",children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Filtering or Sorting"}),": A ",(0,s.jsx)(t.code,{children:"CheckBox"})," can be used in applications that require users to select multiple filters or categories, such as filtering search results or selecting multiple items for further actions."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Form Inputs"}),": Checkboxes are commonly used in forms to allow users to select multiple options or make binary choices. For example:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:"Subscribe to a newsletter"}),"\n",(0,s.jsx)(t.li,{children:"Agree to terms and conditions"}),"\n",(0,s.jsx)(t.li,{children:"Select items for purchase or booking"}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," class has three constructors:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/checkbox/CheckBox",code:"true",suffix:"#()",children:"Checkbox()"}),": Creates an empty ",(0,s.jsx)("code",{children:"CheckBox"})," in the unchecked state."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/checkbox/CheckBox",code:"true",suffix:"#(java.lang.String)",children:"Checkbox(String text)"}),": Creates a ",(0,s.jsx)("code",{children:"CheckBox"})," with an attached label in the unchecked state."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/checkbox/CheckBox",code:"true",suffix:"#(java.lang.String,boolean)",children:"Checkbox(String text boolean checked)"}),": Creates a ",(0,s.jsx)("code",{children:"CheckBox"})," with an attached label in either the checked or unchecked state, based on the boolean passed (",(0,s.jsx)("code",{children:"true"})," for checked, ",(0,s.jsx)("code",{children:"false"})," for unchecked)."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Here is an example of how to create a ",(0,s.jsx)(t.code,{children:"CheckBox"})," object:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:'CheckBox enabled = new CheckBox("Enable Option");\n'})}),"\n",(0,s.jsx)(t.h2,{id:"text-and-positioning",children:"Text and Positioning"}),"\n",(0,s.jsxs)(t.p,{children:["Check boxes can utilize the ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/AbstractOptionInput",code:"true",suffix:"#setText(java.lang.String)",children:"setText(String text)"})," method, which will be positioned near the check box according to the built-in ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/TextPosition",code:"true",suffix:"",children:"Position"}),"."]}),"\n",(0,s.jsxs)(t.p,{children:["Checkboxes have built-in functionality to set text to be displayed either to the right or left of the box. By default, the text will be displayed to the right of the component. Positioning of the text is supported by use of the ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/TextPosition",code:"true",suffix:"",children:"Position"})," enum. Show below are the two settings: ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxHorizontalText",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxHorizontalText.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Horizontal.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/text_styles.css",height:"200px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.h2,{id:"indeterminism",children:"Indeterminism"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," component supports indeterminism, which is a UI pattern commonly used in forms and lists to indicate that a group of checkboxes has a mixture of checked and unchecked states. This state is represented by a third visual state, typically displayed as a filled square or a dash inside the checkbox. There are a few common use cases associated with indeterminism:"]}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Selecting multiple items"}),": Indeterminism is useful when users need to select multiple items from a list or a set of options. It allows users to indicate that they want to select some, but not all, of the available choices."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Hierarchical data"}),": Indeterminism can be employed in scenarios where there is a hierarchical relationship between CheckBoxes. For example, when selecting categories and subcategories, indeterminism can represent that some subcategories are selected while others are not, and the parent component is in the indeterminate state."]}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxIndeterminate",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxIndeterminate.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Indeterminate.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/text_styles.css",height:"150px"}),"\n",(0,s.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"CheckBox"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/CheckEvent",code:"true",children:"CheckEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes checked. It occurs when the user interacts with a checkbox element by clicking or tapping on it, causing the checkbox to transition from an unchecked state to a checked state."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/UncheckEvent",code:"true",children:"UncheckEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes unchecked."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/ToggleEvent",code:"true",children:"ToggleEvent"})}),(0,s.jsx)(t.td,{children:'A ToggleEvent fires a CheckBox or a similar UI element changes its state between "on" and "off" or "active" and "inactive."'})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:"myCheckBox.addCheckListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,s.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,s.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:"myCheckBox.onCheck( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,s.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:"myCheckBox.removeCheckListener(listener);\n"})}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxEventDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxEventDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Event.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/text_styles.css",height:"100px"}),"\n",(0,s.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,s.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,s.jsxs)(t.p,{children:["The following ",(0,s.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/Expanse",children:" Expanses values "})," allow for quick styling without using CSS.\r\nExpanses are supported by use of the ",(0,s.jsx)(t.code,{children:"Expanse"})," enum class. Below are the expanses supported for the checkbox component: ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.checkboxdemos.CheckboxExpanseDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/checkboxdemos/CheckboxExpanseDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/checkbox/Expanse.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/checkboxstyles/expanse_styles.css",javaHighlight:"{17,21,25,29,33}"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,s.jsx)(t.p,{children:"These are the various parts of the shadow DOM for the component, which will be required when styling via CSS is desired."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).XZ,table:"parts"}),"\n",(0,s.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,s.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).XZ,table:"properties"}),"\n",(0,s.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,s.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,s.jsx)(r.Z,{tag:n(5731).XZ,table:"reflects"}),"\n",(0,s.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,s.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,s.jsx)(r.Z,{tag:"bbj-checkbox",table:"dependencies"}),"\n",(0,s.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,s.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,s.jsx)(t.code,{children:"Checkbox"})," component, consider the following best practices:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Clearly Label Options"}),": Provide clear and concise labels for each ",(0,s.jsx)(t.code,{children:"CheckBox"})," option to accurately describe the choice. Labels should be easy to understand and distinguish from one another."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Group CheckBoxes"}),": Group related Checkboxes together to indicate their association. This helps users understand that multiple options can be selected within a specific group."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Provide Default Selection"}),": If applicable, consider providing a default selection for CheckBoxes to guide users when they first encounter the options. The default selection should align with the most common or preferred choice."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Indeterminism"}),": If a parent ",(0,s.jsx)(t.code,{children:"CheckBox"})," component has multiple components belonging to it in a way in which some can be checked on and others checked off, use the indeterminate property to show that not all ",(0,s.jsx)(t.code,{children:"CheckBox"})," components are checked or unchecked."]}),"\n"]}),"\n"]})]})}function x(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var o=s(n(4938)),i=n(5893),r=(0,o.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,n)=>{var s=n(4836);t.Z=void 0;var o=s(n(4938)),i=n(5893),r=(0,o.default)((0,i.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var s=n(6010);const o={tabItem:"tabItem_Ymn6"};var i=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.Z)(o.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>w});var s=n(7294),o=n(6010),i=n(2466),r=n(6550),a=n(469),c=n(1980),l=n(7392),d=n(12);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:o}}=e;return{value:t,label:n,attributes:s,default:o}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const o=(0,r.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(o.location.search);t.set(i,e),o.replace({...o.location,search:t.toString()})}),[i,o])]}function x(e){const{defaultValue:t,queryString:n=!1,groupId:o}=e,i=u(e),[r,c]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:i}))),[l,h]=m({queryString:n,groupId:o}),[x,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,i]=(0,d.Nk)(n);return[o,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:o}),g=(()=>{const e=l??x;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{g&&c(g)}),[g]);return{selectedValue:r,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);c(e),h(e),b(e)}),[h,b,i]),tabValues:i}}var b=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function f(e){let{className:t,block:n,selectedValue:s,selectValue:r,tabValues:a}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),o=a[n].value;o!==s&&(l(t),r(o))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>c.push(e),onKeyDown:h,onClick:d,...i,className:(0,o.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function j(e){let{lazy:t,children:n,selectedValue:o}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===o));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==o})))})}function A(e){const t=x(e);return(0,v.jsxs)("div",{className:(0,o.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(f,{...e,...t}),(0,v.jsx)(j,{...e,...t})]})}function w(e){const t=(0,b.Z)();return(0,v.jsx)(A,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var s=n(7294),o=n(917),i=n(4866),r=n(5162),a=n(4673),c=n(1750);const l="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAALyElEQVR4nO3dXahmVR3H8e+M0/FlRouiGV9GxLSkiy7MkW7MDJOCCJ1zkia66KaLLByKEqUizW6EwJjKi24yDfL9pYSEEDSlIMS3JkJrlBzURiUcdXyZF8cu9hnmpOfMec551tr//9rP9wMLQWU9/73W/p398qy9H5AkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSW1bEV1ABauBs4AzgNNm2zrgvcAa4D1xpakHe4DXgJeAF4HHgSeAh4A/z/63wRhKgNcBXwamgU8AU7HlKKk9wF+B24EbgOdjy9E5wF3AXuBtm20JbS/we+Bs1Ltz6U6HoncC2zDaA8CnUXXHAdcTP+G2Yba7gBNRFZuAncRPsm3YbSdwISrmCOCXxE+sbbLaNcDhaCxrgD8SP5m2yWz30n39mFbmr5HWAXcDp0cXoon2CPA54IXoQuaTNcDHAPdheJXDVrqvm3ZGF/JOK6MLmMcRdHcDDa+y+BhwGwmviQ+LLmAe19CtqJIyORl4P/CH6ELmyhbgC4GroouQFnAm8E/g79GFHJDpGvh44B8kv+unibcT+CiwI7oQyHUNfDWGV/m9D/hJdBEHZDkCnwvcE12ENKK36dZO/ym6kCwBfoDuGV6pFfcDn4ouIsMp9DkYXrXnbOCT0UVkCPB3oguQlumS6AKiT6HXAs8Cq4LrkJZjH7CeCX6zx7epuxj9TbrnhzcCJ+H7sCbBKrq5ngZ+Q7cP1NzHNvezWTndT72B/S3dd8uabCcAN1L3iaWJtBrYTfkB3Qd8vcftUBu+Qbdv1DjLO7LH7Ujjs9T5i3hRnxuhpnyTOvvceX1uRBbfo85ps3QoN1F+v7us1y1I4jrKDuIbeM2rxa2n/I2ta3vdgjkivwc+rXB/twDPFe5Tw/MMcGvhPkvvyyOLDPCxhfu7o3B/Gq47C/dXel8eWWSAjy7c30OF+9Nwld5XSu/LI4tcibWbsr9hNEX3cxnSYqbo9r9SdtO9Cqp3kQF+u3B/0ctC1ZZB7H8ZHmaQtEwGWGqYAZYaZoClhhlgqWEGWGqYAZYaZoClhhlgqWEGeFimgE10r5DZRre0tMYD7KXbHuBp4Gd0P+quBpTeCSbdDLCd+DCO2/bRz0+XuP+NyQEsYyWwhfjglW6PUvd1w+5/Y3IAyxhieOeGuBb3vzE5gOObIT5ktVut0+lB7H8+TtiuKeBxul+OH7J9wAeAVwr3O4j9z7vQ7Zpm+OGF7jr4yugisjLA7doYXUCPpqMLyMoAt+vM6AJ6dFx0AVl5DdyuNwh6D1OQ0vM7iP3PI3C7JvXOu+YwwO3aEV2A4hngdj0YXYDiGeB2+UsU8iZWwyZlIccB3sSah0fgdu0BLokuQrEMcNtuo3uGVurdIBaTJzDUxwlrz2/2+tJzAMsaygP9BngJvIk1LFN064YvADYAJ1H3ofg+eRMrmUH8BRywlcCviT/yegROygHMK1t4DXBCDmBOGcNrgBNyAPPJGl4DnJADmEvm8BrghBzAPLKH1wAn5ADm0EJ4DXBCDmC8VsJrgBNyAGO1FF4DnJADGKe18BrghBzAGC2G1wAn5AD2r9XwGuCEHMB+tRxeA5yQA9if1sNrgBNyAPsREd4bKvRZWvb60nMA64sK72EV+i0te33pOYB1RYaXCn2Xlr2+9BzAeqLDS4X+S8teX3oOYB0ZwkuFzygte33pOYDlZQkvFT6ntOz1pecAlpUpvFT4rNKy15eeA1hOtvBS4fNKy15feg5gGRnDS4XPLC17fek5gOPLGl4qfG5p2etLzwEcT+bwUuGzS8teX3oO4PJlDy8VPr+07PWl5wAuTwvhpUINpWWvLz0HcOlaCS8V6igte33pOYBL01J4qVBLadnrS88BHF1r4aVCPaVlry+91yk3eK/1XHufWgwv5J9fAzympyg3eE/1XHtfWg0v5J/fQQR4ZdQHAw8m7SuLlcC1wFd7/Mzrga8AbxXoy/kduE2U++v3pZ5r78MW+j3yXkfZP+jZ53cQR+BIU5Q5zfo3cHi/pVc3Q9vhhfzza4ALKLGjzvRedV2ldvxRW6lr3vlknl8DXMg4p4pbAuqtreSpZ2R4D8g6vwa4kJUsb5K3EHsTrpab6Ce8NU6b55N1fg1wYTPAdhYfqO0M77R5rj5On/sK71zZ5tcAVzBFdwp5I7AN2Dvbts3+u02z/8+QvUHd8PZx2ryQTPNrgFVFyRVMmcKbjQFWFbVOoSNOmzMzwKqixk0sw/tuBlhVlP4aydPm+RlgVVFyIYfhXZgBVjUlVjB52nxoBlhVjbOCyfAuzgCrqqwrmIbCAKsX2VYwDYUBVm8yrWAaikEEeEXUB0vBSocuJEteK0kNM8BSwwyw1DADLDXMAEsNM8BSwwyw1DADLDXMAEsNWxVdwBynABcAHwfWA+tm/7k6qJ7XgGeA52f/+TBwJ/BkUD1SOuuAHwNbKb82tVbbClw5W7vaNYi10FFWA5cCLxMfyOW2XcBVwDGFx0b9MMDLNAPsID6ApdoOYGPREVIfDPASraA76r5FfOhKt/10R2NvCrbDAC/BUcAtxAetdrsJOLLQmKkuAzyiFXQPnUeHq692Gz5n3QIDPKIriA9V3+2HJQZOVRngEczQXR9GB6rvth9vbGU3iADXPNVbA/wLOLbiZ2T2AnAq8Gp0IZpX6dAN7pU632VywwuwFvhWdBEatlp/NdbSvTHx6Er9t2IX8GG674qVi0fgQ7gYwwvdZcRF0UVouGoF2Bs4B10QXYCGq8Zh/1S6m1c66CM4Jtl4Cr2A8yv02bovRBegYaoR4A0V+mzd6dEFaJhqBPj4Cn22zjFRFTUCfFyFPlt3QnQBGqYaAZ7kxRsL8QisKmrcORvE3T2Gsx2a3yDm1wfQpYYZYKlhBlhqmAGWGmaApYYZYKlhBlhqmAGWGmaApYYZYE2iqcL97S7c38gMsCZR6YdLwt48aoA1iUo/s26ApR6Vfk9Z2FtHDbAmzYl0vxhS0hOF+xuZAdakuRo4vHCfYQGuYRC/OTNCXa1shw7aTJ3fwvpMnxtR21B2/KFshzqbqfPj8m8ysN+EHsqOP5TtmHQnUvfH5e/tb1PebVXkh0sVTNF9z7uB7m7zDOWveee6vWLfi/KdWAtrcTumgGm6HXcDcBL+ka5pL90fixejCnByh2MG+CndKaP6cTeB4a1lKNeOrWzHSmBLhXpti7ezRpif5rSy4y+mle0wvDHtvhHmpkmt7PiLaWE7ZirUaVu87QfOHmF+mtTCjj+K7NsxBTxVoU7b4u36EeanFy6lbNc0cHJ0ERPoJeCS6CIOMMDt2hhdwIT6GvB8dBEHGOB2nRldwAT6BcELN97JhRwLy74drzOwNbjJ3QN8HtgTXchcNRZy7ALWFOwv8kZWKa9EF6Cx/A34IsnCC3VOoZ+r0GfraoxJ2FsgJszDwHnAy9GFzKdGgP9Toc/W1QjwgxX61P+7BzgHeCG4jgV5BO5HjTG5o0KfOujndNe8YS+sG0WNAD9Uoc/W1RiTO4CnK/Q76V6iW+G2mYTXvH04hfiVMtlarQUXLqUs1/bTrbBat6QZGKitxE9IlvbomGO5GB9mGL/dx4DXNi/HlcRPSpZ2xXhDuSgfJ1xe2wP8joE+EjiuD9Lddo+epOj2Kv2dks0A23vYppbbm3TvsLqYbh/VIVxO/IRFtx+MPYpLMwVsAm4EttG98iV6DPpuu4H/Ak8CfwF+BVxG9+pXV64twWq6r0+iJzSqPTc7BlKzpunu7kWHqe/2FnB+gfGTwl1OfKD6bt8vMnJSAiuAG4gPVV/tVuKeoJKqOBK4mfhw1W43440SDdQK4FLq/D5NdNsPXIUvSNAE2Miw7k4/S/kfjJZSO4ruaLyT+AAut+2iO+oeXXhspGasBX4EPEZ8IEdtj83WvLbCeEhLkulu6Yfovjs9A1hPtwRxPWVfz7MUu4Bn6F5Q8CzwCHAn3buYJUmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEnA/wDL76bzm26ebQAAAABJRU5ErkJggg==";var u=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const s=o.iv` display: flex; justify-content: end; - margin-bottom: -30px; + align-items: flex-end; background-color: transparent; + margin-bottom: -10px; `,i=o.iv` - position: relative; + /* position: absolute; + right: 0; */ cursor: pointer; z-index: 10; height: 35px; @@ -12,11 +14,12 @@ border: none; background-color: none; justify-self: flex-end; - margin-right: 5px; background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; `,r=o.iv` filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:s,children:(0,p.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:r,src:h,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:l,className:"icon-tabler-arrow-bar-down"})})})}function x(e){let{url:t}=e;const n=o.iv` + `;return(0,p.tZ)("div",{css:s,children:(0,p.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:l,className:"icon-tabler-arrow-bar-down"})})})}function x(e){let{url:t}=e;const n=o.iv` position: relative; cursor: pointer; z-index: 10; @@ -25,7 +28,6 @@ border: none; background-color: none; justify-self: flex-end; - /* margin-right: 5px; */ margin-top: -5px; margin-bottom: -20px; background-color: transparent; @@ -37,52 +39,95 @@ mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ opacity: 0.5; } - `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:s,src:d})})}function b(e){let{path:t,javaC:n,javaE:l,cssURL:h,javaHighlight:d,height:b,frame:g,tabs:v}=e;const[j,A]=(0,s.useState)(""),[w,f]=(0,s.useState)(""),[k,y]=(0,s.useState)(""),[C,B]=(0,s.useState)(!(!n||!l)),[D,Z]=(0,s.useState)(!1),[E,S]=(0,s.useState)({});(0,s.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{f(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];S((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{A(e)})),h&&fetch(h).then((e=>e.text())).then((e=>{y(e);const t=new URL(h).pathname.split("/"),n=t[t.length-1];S((e=>({...e,cssFile:n})))}))}),[]);const T=o.iv` + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:s,src:h})})}function b(e){let{path:t,javaC:n,javaE:l,cssURL:d,javaHighlight:h,height:b,frame:g,tabs:v}=e;const[f,j]=(0,s.useState)(""),[A,w]=(0,s.useState)(""),[k,y]=(0,s.useState)(""),[C,B]=(0,s.useState)(!(!n||!l)),[Z,S]=(0,s.useState)(!1),[D,E]=(0,s.useState)({}),[T,L]=(0,s.useState)(!1),[M,N]=(0,s.useState)(0),[z,H]=(0,s.useState)(0),[J,F]=(0,s.useState)(25),[O,V]=(0,s.useState)(25),[X,I]=(0,s.useState)(0),[P,G]=(0,s.useState)(!1),Y=(0,s.useRef)(null),q=(0,s.useRef)(null);(0,s.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{w(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{j(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))})),I(Y.current.offsetWidth),console.log(X)}),[]);const R=()=>{L(!1),console.log("Stop Resizing")},U=e=>{if(T){const t=e.clientX-M;z+t>X/3&&(Y.current.style.width=`${z+t}px`,q.current.style.right=(J-t<25?25:J-t)+"px",V(J-t<25?25:J-t))}},W=o.iv` display: flex; flex-direction: column; - background-color: var(--code-display-color); width: 100%; margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,L=o.iv` + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=o.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=o.iv` min-height: 100px; height: 100%; width: 100%; - height: ${b}; - `,N=o.iv` - border: none; + height: ${b||"100%"}; + pointer-events: none; + `,_=o.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${Z&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=o.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=o.iv` box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; - .tabs{ - margin-top: 20px; + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px } summary{ display: flex; width: 100%; justify-content: center; - margin: 0; + margin: 10px 0; font-weight: bold; ::before{ left: auto; margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) } } - - `,J=o.iv` - width: 100%; - `,F=o.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${D&&"opacity: 1;"}; + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=o.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } - `;return(0,p.BX)("div",{css:T,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:J,children:[(0,p.tZ)("div",{css:F,children:(0,p.tZ)(x,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:L})]}):null,(0,p.BX)(a.Z,{css:N,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[n&&l?(0,p.tZ)(m,{collapse:C,setCollapse:B}):null,h?(0,p.BX)(i.Z,{children:[(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:E.javaFile,default:!0,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:C?j:w})}),(0,p.tZ)(r.Z,{value:v?v[1]:"CSS",label:v?v[1]:E.cssFile,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:k})})]}):(0,p.tZ)(i.Z,{children:(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:E.javaFile,default:!0,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:C?j:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),o=n(917),i=n(8230),r=n(4387),a=n(6770);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:h,code:d,suffix:u}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const x=o.iv` + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=o.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:W,onMouseUp:R,onMouseLeave:R,onMouseMove:U,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:R,loading:"lazy",src:t,css:{...Q,pointerEvents:T?"none":"auto"},ref:Y,onMouseMove:U}),(0,p.tZ)("div",{css:_,ref:q,children:(0,p.tZ)(x,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),L(!0),N(e.clientX),H(Y.current.offsetWidth),F(O),console.log(q.current.right),console.log("Start Resizing")},children:(0,p.tZ)(u.Z,{})})]}):null,(0,p.BX)(a.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>G(!P),children:P?"Hide Code":"Show Code"}),children:[n&&l?(0,p.tZ)(m,{collapse:C,setCollapse:B}):null,d?(0,p.BX)(i.Z,{css:te,children:[(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:D.javaFile,default:!0,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:C?f:A})}),(0,p.tZ)(r.Z,{value:v?v[1]:"CSS",label:v?v[1]:D.cssFile,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:k})})]}):(0,p.tZ)(i.Z,{css:te,children:(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:D.javaFile,default:!0,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:C?f:A})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),o=n(917),i=n(8230),r=n(4387),a=n(6031);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:h,suffix:u}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const x=o.iv` display: inline; ${l&&o.iv` @@ -94,7 +139,8 @@ `} `,b=o.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,c.BX)(c.HY,{children:["true"===l&&(0,c.tZ)("div",{css:x,children:(0,c.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(r.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,c.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!d&&(0,c.tZ)("div",{css:x,children:(0,c.tZ)("a",{href:p,target:"_blank",children:h})}),"true"!==l&&d&&(0,c.tZ)("div",{css:x,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:p,target:"_blank",children:h})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var s=n(8397),o=n(5893);function i(e){return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(s.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file + `;return(0,c.BX)(c.HY,{children:["true"===l&&(0,c.tZ)("div",{css:x,children:(0,c.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(r.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,c.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!h&&(0,c.tZ)("div",{css:x,children:(0,c.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==l&&h&&(0,c.tZ)("div",{css:x,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var s=n(8397),o=n(5893);function i(e){return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(s.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/899bab7c.8c90bf36.js b/assets/js/899bab7c.8c90bf36.js new file mode 100644 index 000000000..a9e677fa6 --- /dev/null +++ b/assets/js/899bab7c.8c90bf36.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3074],{1172:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>c,metadata:()=>h,toc:()=>p});var o=n(5893),s=n(1151),i=n(6957),r=n(7796),a=n(3273),l=n(2665);const c={sidebar_position:2,title:"ComboBox",slug:"combobox"},d=void 0,h={id:"components/list-components/combo-box",title:"ComboBox",description:"The ComboBox component is a user interface element designed to present users with a list of options or choices, as well as a field for entering their own custom values. Users can select a single option from this list, typically by clicking the ComboBox, which triggers the display of a dropdown list containing available choices, or type in a custom value. Users can also interact with the ComboBox with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ComboBox.",source:"@site/docs/components/list-components/combo-box.md",sourceDirName:"components/list-components",slug:"/components/list-components/combobox",permalink:"/docs/components/list-components/combobox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/combo-box.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"ComboBox",slug:"combobox"},sidebar:"documentationSidebar",previous:{title:"ChoiceBox",permalink:"/docs/components/list-components/choicebox"},next:{title:"ListBox",permalink:"/docs/components/list-components/listbox"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Custom Value",id:"custom-value",level:2},{value:"Placeholder",id:"placeholder",level:2},{value:"Dropdown Type",id:"dropdown-type",level:2},{value:"Max Row Count",id:"max-row-count",level:2},{value:"Opening Dimensions",id:"opening-dimensions",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-list-button",href:"https://basishub.github.io/basis-next/#/web-components/bbj-list-button",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," component is a user interface element designed to present users with a list of options or choices, as well as a field for entering their own custom values. Users can select a single option from this list, typically by clicking the ",(0,o.jsx)(t.code,{children:"ComboBox"}),", which triggers the display of a dropdown list containing available choices, or type in a custom value. Users can also interact with the ",(0,o.jsx)(t.code,{children:"ComboBox"})," with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ",(0,o.jsx)(t.code,{children:"ComboBox"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsx)(t.p,{children:"The ComboBox component is a versatile input element that combines the features of both a dropdown list and a text input field. It allows users to select items from a predefined list or enter custom values as needed. This section explores common usages of the ComboBox component in various scenarios:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Product Search and Entry"}),": Use a ComboBox to implement a product search and entry feature. Users can either select a product from a predefined list or type in a custom product name. This is helpful for applications like e-commerce sites where products are vast and diverse."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Tag Selection and Entry"}),": In applications involving content tagging, a ComboBox can serve as an excellent choice. Users can select from a list of existing tags or add custom tags by typing them. This is useful for organizing and categorizing content. Examples of such tags include:"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:'Project Labels: In a project management tool, users can select labels or tags (e.g., "Urgent," "In Progress," "Completed") to categorize tasks or projects, and they can create custom labels as needed.'}),"\n",(0,o.jsx)(t.li,{children:'Recipe Ingredients: In a cooking or recipe app, users can select ingredients from a list (e.g., "Tomatoes," "Onions," "Chicken") or add their own ingredients for custom recipes.'}),"\n",(0,o.jsx)(t.li,{children:'Location Tags: In a mapping or geotagging application, users can choose predefined location tags (e.g., "Beach," "City," "Park") or create custom tags to mark specific places on a map.'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Data Entry with Suggested Values"}),": In data entry forms, a ComboBox can be used to speed up input by providing a list of suggested values based on user input. This helps users enter data accurately and efficiently."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," should be used when users are allowed to enter custom values. If only preset values are desired, use a ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/choicebox",children:(0,o.jsx)(t.code,{children:"ChoiceBox"})})," instead."]})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#()",children:"ComboBox()"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ComboBox"})," without a label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#(java.lang.String)",children:"ComboBox(String label)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ComboBox"})," with the specified label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.ComponentEventListener)",children:"ComboBox(String label, ComponentEventListener< ListSelectEvent> selectListener)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ComboBox"})," with the given label and a listener to handle item selection events."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"custom-value",children:"Custom Value"}),"\n",(0,o.jsxs)(t.p,{children:["Changing the custom value property allows control over whether or not a user is able to change the value in the ",(0,o.jsx)(t.code,{children:"ComboBox"})," component's input field. If ",(0,o.jsx)(t.code,{children:"true"}),", which is the default, then a user can change the value. If set to ",(0,o.jsx)(t.code,{children:"false"}),", the user won't be able to change the value. This can be set using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#setAllowCustomValue(boolean)",children:"setAllowCustomValue()"})," method."]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.ComboBoxCustomValue",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/ComboBoxCustomValue.java",height:"200px"}),"\n",(0,o.jsx)(t.h2,{id:"placeholder",children:"Placeholder"}),"\n",(0,o.jsxs)(t.p,{children:["A placeholder can be set for a ",(0,o.jsx)(t.code,{children:"ComboBox"})," which will display in the text field of the component when it is empty to prompt users for the desired entry in the field. This can be done using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#setPlaceholder(java.lang.String)",children:"setPlaceholder()"})," method."]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.ComboBoxPlaceholder",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/ComboBoxPlaceholder.java",height:"200px"}),"\n",(0,o.jsx)(t.h2,{id:"dropdown-type",children:"Dropdown Type"}),"\n",(0,o.jsxs)(t.p,{children:["Using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setDropdownType(java.lang.String)",children:"setDropdownType()"})," method will assign a value to the ",(0,o.jsx)(t.code,{children:"type"})," attribute of a ",(0,o.jsx)(t.code,{children:"ComboBox"}),", and a corresponding value for the ",(0,o.jsx)(t.code,{children:"data-dropdown-for"})," attribute in the dropdown of the ",(0,o.jsx)(t.code,{children:"ComboBox"}),". This is helpful for styling, as the dropdown is taken out of its current position in the DOM and relocated to the end of the page body when opened."]}),"\n",(0,o.jsx)(t.p,{children:"This detachment creates a situation where directly targeting the\r\ndropdown using CSS or shadow part selectors from the parent component becomes challenging, unless you make use of the dropdown type attribute."}),"\n",(0,o.jsx)(t.p,{children:"In the demo below, the Dropdown type is set and used in the CSS file to select the dropdown and change the background color."}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.ComboBoxDropdownType",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/ComboBoxDropdownType.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textcomboboxstyles/dropdown_styles.css",height:"250px"}),"\n",(0,o.jsx)(t.h2,{id:"max-row-count",children:"Max Row Count"}),"\n",(0,o.jsxs)(t.p,{children:["By default, the number of rows displayed in the dropdown of a ",(0,o.jsx)(t.code,{children:"ComboBox"})," will be increased to fit the content. However, using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setMaxRowCount(int)",children:"setMaxRowCount()"})," method allows for control over how many items are displayed."]}),"\n",(0,o.jsx)(t.admonition,{type:"caution",children:(0,o.jsx)(t.p,{children:"Using a number that is less than or equal to 0 will result in unsetting this property."})}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.ComboBoxMaxRowDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/ComboBoxMaxRowDemo.java",height:"250px"}),"\n",(0,o.jsx)(t.h2,{id:"opening-dimensions",children:"Opening Dimensions"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," component has methods that allow manipulation of the dropdown dimensions. The ",(0,o.jsx)(t.strong,{children:"maximum height"})," and ",(0,o.jsx)(t.strong,{children:"minimum width"})," of the dropdown can be set using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenHeight(int)",children:"setOpenHeight()"})," and ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenWidth(int)",children:"setOpenWidth()"})," methods, respectively."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["Passing a ",(0,o.jsx)(t.code,{children:"String"})," value to either of these methods will allow for ",(0,o.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units",children:"any valid CSS unit"})," to be applied, such as pixels, viewport dimensions, or other valid rules. Passing an ",(0,o.jsx)(t.code,{children:"int"})," will set the value passed in pixels."]})}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," class provides methods to add and remove event listeners for the following events, as well as events common to all list components:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListOpenEvent",code:"true",children:"ListOpenEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is opened."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListCloseEvent",code:"true",children:"ListCloseEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is closed."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListClickEvent",code:"true",children:"ListClickEvent"})}),(0,o.jsx)(t.td,{children:"This event is triggered when the user clicks an item from a List-based component."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/ModifyEvent",code:"true",children:"ModifyEvent"})}),(0,o.jsx)(t.td,{children:"An event that is fired when a component is edited or modified."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent",code:"true",children:"KeypressEvent"})}),(0,o.jsx)(t.td,{children:"A Keypress event is fired when a user presses a specific key on the keyboard while an element has focus. This event is commonly used to capture and respond to user keyboard interactions. When a Keypress event is triggered,the key that was pressed can be determine using the key code, and a specific action or actions can be performed based on the user's input. For example, it can be used to validate user input in form fields, implement keyboard shortcuts, or trigger certain actions based on specific key combinations."})]})]})]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["For a list of additional events supported by the ",(0,o.jsx)(t.code,{children:"ComboBox"}),", see ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/lists#shared-events",children:"this section"})," which outlines shared events amongst list components."]})}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../../glossary#shadow-dom",children:"shadow DOM"})," for the ",(0,o.jsx)(t.code,{children:"ComboBox"})," component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Ct,table:"parts",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Ct,table:"reflects",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(r.Z,{tag:"bbj-list-edit",table:"dependencies"}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,o.jsx)(t.code,{children:"ComboBox"})," component, consider the following best practices:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Preload Common Values"}),": If there are common or frequently used items, preload them in the ",(0,o.jsx)(t.code,{children:"ComboBox"})," list. This speeds up selection for commonly chosen items and encourages consistency."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"User-Friendly Labels"}),": Ensure that the displayed labels for each option are user-friendly and self-explanatory. Make sure users can easily understand the purpose of each choice."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Validation"}),": Implement input validation to handle custom entries. Check for data accuracy and consistency. You may want to suggest corrections or confirmations for ambiguous entries."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Default Selection"}),": Set a default selection, especially if there is a common or recommended choice. This enhances the user experience by reducing the need for extra clicks."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"ComboBox vs. Other List Components"}),": A ",(0,o.jsx)(t.code,{children:"ComboBox"})," should be used over other List components in the following situations:"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Multiple Selection is not needed or required, and all items do not need to be displayed at once."}),"\n",(0,o.jsxs)(t.li,{children:["A selection of predefined choices, ",(0,o.jsx)(t.em,{children:(0,o.jsx)(t.strong,{children:"as well as custom entry"})})," is desired, allowing users to enter custom or data or select predetermined, often commonly used items."]}),"\n"]}),"\n"]})]})}function b(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var o=n(4836);t.Z=void 0;var s=o(n(4938)),i=n(5893),r=(0,s.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,n)=>{var o=n(4836);t.Z=void 0;var s=o(n(4938)),i=n(5893),r=(0,s.default)((0,i.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var o=n(6010);const s={tabItem:"tabItem_Ymn6"};var i=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,o.Z)(s.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),s=n(6010),i=n(2466),r=n(6550),a=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:s}}=e;return{value:t,label:n,attributes:o,default:s}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const s=(0,r.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(i),(0,o.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(s.location.search);t.set(i,e),s.replace({...s.location,search:t.toString()})}),[i,s])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,i=u(e),[r,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:i}))),[c,h]=m({queryString:n,groupId:s}),[b,x]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,i]=(0,d.Nk)(n);return[s,(0,o.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:s}),g=(()=>{const e=c??b;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:r,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),x(e)}),[h,x,i]),tabValues:i}}var x=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function f(e){let{className:t,block:n,selectedValue:o,selectValue:r,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),s=a[n].value;s!==o&&(c(t),r(s))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...i,className:(0,s.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:s}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===s));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function A(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,s.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(f,{...e,...t}),(0,v.jsx)(w,{...e,...t})]})}function j(e){const t=(0,x.Z)();return(0,v.jsx)(A,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>x});var o=n(7294),s=n(917),i=n(4866),r=n(5162),a=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=s.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,i=s.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,r=s.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=s.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,o=s.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:h})})}function x(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:x,frame:g,tabs:v}=e;const[f,w]=(0,o.useState)(""),[A,j]=(0,o.useState)(""),[y,C]=(0,o.useState)(""),[B,D]=(0,o.useState)(!(!n||!c)),[k,Z]=(0,o.useState)(!1),[S,E]=(0,o.useState)({}),[L,T]=(0,o.useState)(!1),[M,O]=(0,o.useState)(0),[V,z]=(0,o.useState)(0),[N,H]=(0,o.useState)(25),[F,J]=(0,o.useState)(25),[X,P]=(0,o.useState)(0),[I,G]=(0,o.useState)(!1),Y=(0,o.useRef)(null),U=(0,o.useRef)(null);(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{C(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))})),P(Y.current.offsetWidth),console.log(X)}),[]);const R=()=>{T(!1),console.log("Stop Resizing")},q=e=>{if(L){const t=e.clientX-M;V+t>X/3&&(Y.current.style.width=`${V+t}px`,U.current.style.right=(N-t<25?25:N-t)+"px",J(N-t<25?25:N-t))}},W=s.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=s.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=s.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${x||"100%"}; + pointer-events: none; + `,_=s.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${k&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=s.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=s.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=s.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=s.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:W,onMouseUp:R,onMouseLeave:R,onMouseMove:q,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:R,loading:"lazy",src:t,css:{...Q,pointerEvents:L?"none":"auto"},ref:Y,onMouseMove:q}),(0,p.tZ)("div",{css:_,ref:U,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),T(!0),O(e.clientX),z(Y.current.offsetWidth),H(F),console.log(U.current.right),console.log("Start Resizing")},children:(0,p.tZ)(u.Z,{})})]}):null,(0,p.BX)(a.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>G(!I),children:I?"Hide Code":"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:B,setCollapse:D}):null,d?(0,p.BX)(i.Z,{css:te,children:[(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:S.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?f:A})}),(0,p.tZ)(r.Z,{value:v?v[1]:"CSS",label:v?v[1]:S.cssFile,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(i.Z,{css:te,children:(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:S.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?f:A})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),s=n(917),i=n(8230),r=n(4387),a=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=s.iv` + display: inline; + + ${c&&s.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,x=s.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:x,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(8397),s=n(5893);function i(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/899bab7c.c2cbfbba.js b/assets/js/899bab7c.c2cbfbba.js deleted file mode 100644 index 47ad037f1..000000000 --- a/assets/js/899bab7c.c2cbfbba.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3074],{1172:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>c,metadata:()=>h,toc:()=>m});var o=n(5893),s=n(1151),i=n(6957),r=n(7796),a=n(3273),l=n(2665);const c={sidebar_position:2,title:"ComboBox",slug:"combobox"},d=void 0,h={id:"components/list-components/combo-box",title:"ComboBox",description:"The ComboBox component is a user interface element designed to present users with a list of options or choices, as well as a field for entering their own custom values. Users can select a single option from this list, typically by clicking the ComboBox, which triggers the display of a dropdown list containing available choices, or type in a custom value. Users can also interact with the ComboBox with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ComboBox.",source:"@site/docs/components/list-components/combo-box.md",sourceDirName:"components/list-components",slug:"/components/list-components/combobox",permalink:"/docs/components/list-components/combobox",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/combo-box.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"ComboBox",slug:"combobox"},sidebar:"documentationSidebar",previous:{title:"ChoiceBox",permalink:"/docs/components/list-components/choicebox"},next:{title:"ListBox",permalink:"/docs/components/list-components/listbox"}},u={},m=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Custom Value",id:"custom-value",level:2},{value:"Placeholder",id:"placeholder",level:2},{value:"Dropdown Type",id:"dropdown-type",level:2},{value:"Max Row Count",id:"max-row-count",level:2},{value:"Opening Dimensions",id:"opening-dimensions",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function p(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",em:"em",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-list-button",href:"https://basishub.github.io/basis-next/#/web-components/bbj-list-button",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," component is a user interface element designed to present users with a list of options or choices, as well as a field for entering their own custom values. Users can select a single option from this list, typically by clicking the ",(0,o.jsx)(t.code,{children:"ComboBox"}),", which triggers the display of a dropdown list containing available choices, or type in a custom value. Users can also interact with the ",(0,o.jsx)(t.code,{children:"ComboBox"})," with the arrow keys. When a user makes a selection, the chosen option is then displayed in the ",(0,o.jsx)(t.code,{children:"ComboBox"}),"."]}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsx)(t.p,{children:"The ComboBox component is a versatile input element that combines the features of both a dropdown list and a text input field. It allows users to select items from a predefined list or enter custom values as needed. This section explores common usages of the ComboBox component in various scenarios:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Product Search and Entry"}),": Use a ComboBox to implement a product search and entry feature. Users can either select a product from a predefined list or type in a custom product name. This is helpful for applications like e-commerce sites where products are vast and diverse."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Tag Selection and Entry"}),": In applications involving content tagging, a ComboBox can serve as an excellent choice. Users can select from a list of existing tags or add custom tags by typing them. This is useful for organizing and categorizing content. Examples of such tags include:"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:'Project Labels: In a project management tool, users can select labels or tags (e.g., "Urgent," "In Progress," "Completed") to categorize tasks or projects, and they can create custom labels as needed.'}),"\n",(0,o.jsx)(t.li,{children:'Recipe Ingredients: In a cooking or recipe app, users can select ingredients from a list (e.g., "Tomatoes," "Onions," "Chicken") or add their own ingredients for custom recipes.'}),"\n",(0,o.jsx)(t.li,{children:'Location Tags: In a mapping or geotagging application, users can choose predefined location tags (e.g., "Beach," "City," "Park") or create custom tags to mark specific places on a map.'}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Data Entry with Suggested Values"}),": In data entry forms, a ComboBox can be used to speed up input by providing a list of suggested values based on user input. This helps users enter data accurately and efficiently."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," should be used when users are allowed to enter custom values. If only preset values are desired, use a ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/choicebox",children:(0,o.jsx)(t.code,{children:"ChoiceBox"})})," instead."]})}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#()",children:"ComboBox()"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ComboBox"})," without a label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#(java.lang.String)",children:"ComboBox(String label)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ComboBox"})," with the specified label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.ComponentEventListener)",children:"ComboBox(String label, ComponentEventListener< ListSelectEvent> selectListener)"}),": Constructs a new ",(0,o.jsx)(t.code,{children:"ComboBox"})," with the given label and a listener to handle item selection events."]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"custom-value",children:"Custom Value"}),"\n",(0,o.jsxs)(t.p,{children:["Changing the custom value property allows control over whether or not a user is able to change the value in the ",(0,o.jsx)(t.code,{children:"ComboBox"})," component's input field. If ",(0,o.jsx)(t.code,{children:"true"}),", which is the default, then a user can change the value. If set to ",(0,o.jsx)(t.code,{children:"false"}),", the user won't be able to change the value. This can be set using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#setAllowCustomValue(boolean)",children:"setAllowCustomValue()"})," method."]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.ComboBoxCustomValue",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/ComboBoxCustomValue.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textcomboboxstyles/demo_styles.css",height:"200px"}),"\n",(0,o.jsx)(t.h2,{id:"placeholder",children:"Placeholder"}),"\n",(0,o.jsxs)(t.p,{children:["A placeholder can be set for a ",(0,o.jsx)(t.code,{children:"ComboBox"})," which will display in the text field of the component when it is empty to prompt users for the desired entry in the field. This can be done using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/ComboBox",code:"true",suffix:"#setPlaceholder(java.lang.String)",children:"setPlaceholder()"})," method."]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.TextComboBoxPlaceholder",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/TextComboBoxPlaceholder.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textcombobox/Placeholder.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textcomboboxstyles/text_combo_styles.css",height:"200px"}),"\n",(0,o.jsx)(t.h2,{id:"dropdown-type",children:"Dropdown Type"}),"\n",(0,o.jsxs)(t.p,{children:["Using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setDropdownType(java.lang.String)",children:"setDropdownType()"})," method will assign a value to the ",(0,o.jsx)(t.code,{children:"type"})," attribute of a ",(0,o.jsx)(t.code,{children:"ComboBox"}),", and a corresponding value for the ",(0,o.jsx)(t.code,{children:"data-dropdown-for"})," attribute in the dropdown of the ",(0,o.jsx)(t.code,{children:"ComboBox"}),". This is helpful for styling, as the dropdown is taken out of its current position in the DOM and relocated to the end of the page body when opened."]}),"\n",(0,o.jsx)(t.p,{children:"This detachment creates a situation where directly targeting the\r\ndropdown using CSS or shadow part selectors from the parent component becomes challenging, unless you make use of the dropdown type attribute."}),"\n",(0,o.jsx)(t.p,{children:"In the demo below, the Dropdown type is set and used in the CSS file to select the dropdown and change the background color."}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.ComboBoxDropdownType",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/ComboBoxDropdownType.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textcomboboxstyles/dropdown_styles.css",height:"100px"}),"\n",(0,o.jsx)(t.h2,{id:"max-row-count",children:"Max Row Count"}),"\n",(0,o.jsxs)(t.p,{children:["By default, the number of rows displayed in the dropdown of a ",(0,o.jsx)(t.code,{children:"ComboBox"})," will be increased to fit the content. However, using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setMaxRowCount(int)",children:"setMaxRowCount()"})," method allows for control over how many items are displayed."]}),"\n",(0,o.jsx)(t.admonition,{type:"caution",children:(0,o.jsx)(t.p,{children:"Using a number that is less than or equal to 0 will result in unsetting this property."})}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.ComboBoxMaxRowDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/comboboxdemos/ComboBoxMaxRowDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/comboboxstyles/demo_styles.css",height:"250px"}),"\n",(0,o.jsx)(t.h2,{id:"opening-dimensions",children:"Opening Dimensions"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," component has methods that allow manipulation of the dropdown dimensions. The ",(0,o.jsx)(t.strong,{children:"maximum height"})," and ",(0,o.jsx)(t.strong,{children:"minimum width"})," of the dropdown can be set using the ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenHeight(int)",children:"setOpenHeight()"})," and ",(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/DwcSelectDropdown",code:"true",suffix:"#setOpenWidth(int)",children:"setOpenWidth()"})," methods, respectively."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["Passing a ",(0,o.jsx)(t.code,{children:"String"})," value to either of these methods will allow for ",(0,o.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units",children:"any valid CSS unit"})," to be applied, such as pixels, viewport dimensions, or other valid rules. Passing an ",(0,o.jsx)(t.code,{children:"int"})," will set the value passed in pixels."]})}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," class provides methods to add and remove event listeners for the following events, as well as events common to all list components:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListOpenEvent",code:"true",children:"ListOpenEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is opened."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListCloseEvent",code:"true",children:"ListCloseEvent"})}),(0,o.jsx)(t.td,{children:"An event which is fired when a list dropdown is closed."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/list/event/ListClickEvent",code:"true",children:"ListClickEvent"})}),(0,o.jsx)(t.td,{children:"This event is triggered when the user clicks an item from a List-based component."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/ModifyEvent",code:"true",children:"ModifyEvent"})}),(0,o.jsx)(t.td,{children:"An event that is fired when a component is edited or modified."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/event/KeypressEvent",code:"true",children:"KeypressEvent"})}),(0,o.jsx)(t.td,{children:"A Keypress event is fired when a user presses a specific key on the keyboard while an element has focus. This event is commonly used to capture and respond to user keyboard interactions. When a Keypress event is triggered,the key that was pressed can be determine using the key code, and a specific action or actions can be performed based on the user's input. For example, it can be used to validate user input in form fields, implement keyboard shortcuts, or trigger certain actions based on specific key combinations."})]})]})]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["For a list of additional events supported by the ",(0,o.jsx)(t.code,{children:"ComboBox"}),", see ",(0,o.jsx)(t.a,{href:"/docs/components/list-components/lists#shared-events",children:"this section"})," which outlines shared events amongst list components."]})}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ComboBox"})," component comes with 5 expanses for quick styling without the use of CSS. Expanses are supported by use of a built-in enum class."]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textcomboboxdemos.TextComboBoxExpanses",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textcomboboxdemos/TextComboBoxExpanses.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textcombobox/Expanses.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textcomboboxstyles/expanse_styles.css",javaHighlight:"{24,27,30,33,36}",height:"350px"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../../glossary#shadow-dom",children:"shadow DOM"})," for the ",(0,o.jsx)(t.code,{children:"ComboBox"})," component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Ct,table:"parts",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(r.Z,{tag:n(5731).Ct,table:"reflects",exclusions:""}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(r.Z,{tag:"bbj-list-edit",table:"dependencies"}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,o.jsx)(t.code,{children:"ComboBox"})," component, consider the following best practices:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Preload Common Values"}),": If there are common or frequently used items, preload them in the ",(0,o.jsx)(t.code,{children:"ComboBox"})," list. This speeds up selection for commonly chosen items and encourages consistency."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"User-Friendly Labels"}),": Ensure that the displayed labels for each option are user-friendly and self-explanatory. Make sure users can easily understand the purpose of each choice."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Validation"}),": Implement input validation to handle custom entries. Check for data accuracy and consistency. You may want to suggest corrections or confirmations for ambiguous entries."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Default Selection"}),": Set a default selection, especially if there is a common or recommended choice. This enhances the user experience by reducing the need for extra clicks."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"ComboBox vs. Other List Components"}),": A ",(0,o.jsx)(t.code,{children:"ComboBox"})," should be used over other List components in the following situations:"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Multiple Selection is not needed or required, and all items do not need to be displayed at once."}),"\n",(0,o.jsxs)(t.li,{children:["A selection of predefined choices, ",(0,o.jsx)(t.em,{children:(0,o.jsx)(t.strong,{children:"as well as custom entry"})})," is desired, allowing users to enter custom or data or select predetermined, often commonly used items."]}),"\n"]}),"\n"]})]})}function b(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(p,{...e})}):p(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var o=n(6010);const s={tabItem:"tabItem_Ymn6"};var i=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,o.Z)(s.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),s=n(6010),i=n(2466),r=n(6550),a=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:s}}=e;return{value:t,label:n,attributes:o,default:s}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const s=(0,r.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(i),(0,o.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(s.location.search);t.set(i,e),s.replace({...s.location,search:t.toString()})}),[i,s])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,i=u(e),[r,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:i}))),[c,h]=p({queryString:n,groupId:s}),[b,x]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,i]=(0,d.Nk)(n);return[s,(0,o.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:s}),g=(()=>{const e=c??b;return m({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:r,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),x(e)}),[h,x,i]),tabValues:i}}var x=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var w=n(5893);function v(e){let{className:t,block:n,selectedValue:o,selectValue:r,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),s=a[n].value;s!==o&&(c(t),r(s))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,w.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:a.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,w.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...i,className:(0,s.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:s}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===s));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,w.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function A(e){const t=b(e);return(0,w.jsxs)("div",{className:(0,s.Z)("tabs-container",g.tabList),children:[(0,w.jsx)(v,{...e,...t}),(0,w.jsx)(f,{...e,...t})]})}function j(e){const t=(0,x.Z)();return(0,w.jsx)(A,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>x});var o=n(7294),s=n(917),i=n(4866),r=n(5162),a=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),m=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const o=s.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,i=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,r=s.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:o,children:(0,m.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,m.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,o=s.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:o,src:h})})}function x(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:x,frame:g,tabs:w}=e;const[v,f]=(0,o.useState)(""),[A,j]=(0,o.useState)(""),[y,C]=(0,o.useState)(""),[B,D]=(0,o.useState)(!(!n||!c)),[k,S]=(0,o.useState)(!1),[Z,E]=(0,o.useState)({});(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{C(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))}))}),[]);const L=s.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,T=s.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${x}; - `,O=s.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,V=s.iv` - width: 100%; - `,M=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${k&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:L,children:["hidden"!=g?(0,m.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:V,children:[(0,m.tZ)("div",{css:M,children:(0,m.tZ)(b,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:T})]}):null,(0,m.BX)(a.Z,{css:O,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,m.tZ)(p,{collapse:B,setCollapse:D}):null,d?(0,m.BX)(i.Z,{children:[(0,m.tZ)(r.Z,{value:w?w[0]:"Java",label:w?w[0]:Z.javaFile,default:!0,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?v:A})}),(0,m.tZ)(r.Z,{value:w?w[1]:"CSS",label:w?w[1]:Z.cssFile,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(i.Z,{children:(0,m.tZ)(r.Z,{value:w?w[0]:"Java",label:w?w[0]:Z.javaFile,default:!0,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:B?v:A})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),s=n(917),i=n(8230),r=n(4387),a=n(6770);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[m,p]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=s.iv` - display: inline; - - ${c&&s.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,x=s.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:x,label:"Java API",component:"a",href:m,icon:(0,l.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(8397),s=n(5893);function i(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/9df0fb54.d1b1f4ae.js b/assets/js/9df0fb54.d1b1f4ae.js new file mode 100644 index 000000000..e32dc6638 --- /dev/null +++ b/assets/js/9df0fb54.d1b1f4ae.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1368],{3284:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>p});var r=a(5893),n=a(1151),s=a(6957),o=a(7796),i=a(3273);const l={sidebar_position:140,title:"TextArea",pagination_next:"styling/styling_intro"},c=void 0,d={id:"components/text-area",title:"TextArea",description:"Labeling",source:"@site/docs/components/text-area.md",sourceDirName:"components",slug:"/components/text-area",permalink:"/docs/components/text-area",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/text-area.md",tags:[],version:"current",sidebarPosition:140,frontMatter:{sidebar_position:140,title:"TextArea",pagination_next:"styling/styling_intro"},sidebar:"documentationSidebar",previous:{title:"Slider",permalink:"/docs/components/slider"},next:{title:"Styling",permalink:"/docs/styling/styling_intro"}},u={},p=[{value:"Labeling",id:"labeling",level:3},{value:"Placeholder",id:"placeholder",level:3},{value:"Spellcheck",id:"spellcheck",level:3},{value:"Expanses",id:"expanses",level:3},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2}];function h(e){const t={code:"code",h2:"h2",h3:"h3",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/textarea/TextArea",top:"true"}),"\n",(0,r.jsx)(t.h3,{id:"labeling",children:"Labeling"}),"\n",(0,r.jsxs)(t.p,{children:["The text area component can be easily labeled without the needing to create an extra label component using the ",(0,r.jsx)(t.code,{children:"setAttribute()"})," method and passing the desired label as a string, as shown below: ",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaLabel",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaLabel.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Label.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{15}",height:"125px"}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(t.h3,{id:"placeholder",children:"Placeholder"}),"\n",(0,r.jsxs)(t.p,{children:["It is also possible to set placeholder text within the component to better help users understand what type of input is expected. Similar to a label, this can be accomplished using the ",(0,r.jsx)(t.code,{children:"setAttribute()"})," method: ",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaPlaceholder",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaPlaceholder.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Placeholder.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{16}",height:"125px"}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(t.h3,{id:"spellcheck",children:"Spellcheck"}),"\n",(0,r.jsxs)(t.p,{children:["The text area can also be configured with spellchecking to help the user improve their input. Use the ",(0,r.jsx)(t.code,{children:"setAttribute()"})," method to do this:"]}),"\n",(0,r.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaSpellcheck",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaSpellcheck.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Spellcheck.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{16}",height:"125px"}),"\n",(0,r.jsx)("br",{}),"\n",(0,r.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,r.jsxs)(t.p,{children:["DWCJ's text area comes with 5 expanses for quick styling without the use of CSS. Expanses are supported by use of a built-in enum class.\r\nBelow are the various expanses supported for the text area component: ",(0,r.jsx)("br",{})]}),"\n",(0,r.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaExpanse",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaExpanse.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Expanse.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{19,23,27,31,35}",height:"200px"}),"\n",(0,r.jsxs)(t.table,{children:[(0,r.jsx)(t.thead,{children:(0,r.jsx)(t.tr,{children:(0,r.jsx)(t.th,{children:"Text Area Expanses"})})}),(0,r.jsx)(t.tbody,{children:(0,r.jsx)(t.tr,{children:(0,r.jsx)(t.td,{children:(0,r.jsxs)("ul",{children:[(0,r.jsx)("li",{children:(0,r.jsx)(t.code,{children:"TextArea.Expanse.XSMALL"})}),(0,r.jsx)("li",{children:(0,r.jsx)(t.code,{children:"TextArea.Expanse.SMALL"})}),(0,r.jsx)("li",{children:(0,r.jsx)(t.code,{children:"TextArea.Expanse.MEDIUM"})}),(0,r.jsx)("li",{children:(0,r.jsx)(t.code,{children:"TextArea.Expanse.LARGE"})}),(0,r.jsx)("li",{children:(0,r.jsx)(t.code,{children:"TextArea.Expanse.XLARGE"})})]})})})})]}),"\n",(0,r.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,r.jsx)(o.Z,{tag:a(5731).Kx})]})}function m(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(h,{...e})}):h(e)}},6031:(e,t,a)=>{var r=a(4836);t.Z=void 0;var n=r(a(4938)),s=a(5893),o=(0,n.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},2610:(e,t,a)=>{var r=a(4836);t.Z=void 0;var n=r(a(4938)),s=a(5893),o=(0,n.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=o},5162:(e,t,a)=>{a.d(t,{Z:()=>o});a(7294);var r=a(6010);const n={tabItem:"tabItem_Ymn6"};var s=a(5893);function o(e){let{children:t,hidden:a,className:o}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,r.Z)(n.tabItem,o),hidden:a,children:t})}},4866:(e,t,a)=>{a.d(t,{Z:()=>j});var r=a(7294),n=a(6010),s=a(2466),o=a(6550),i=a(469),l=a(1980),c=a(7392),d=a(12);function u(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:a}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:a,attributes:r,default:n}}=e;return{value:t,label:a,attributes:r,default:n}}))}(a);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,a])}function h(e){let{value:t,tabValues:a}=e;return a.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:a}=e;const n=(0,o.k6)(),s=function(e){let{queryString:t=!1,groupId:a}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:t,groupId:a});return[(0,l._X)(s),(0,r.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(n.location.search);t.set(s,e),n.replace({...n.location,search:t.toString()})}),[s,n])]}function b(e){const{defaultValue:t,queryString:a=!1,groupId:n}=e,s=p(e),[o,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!h({value:t,tabValues:a}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=a.find((e=>e.default))??a[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:s}))),[c,u]=m({queryString:a,groupId:n}),[b,A]=function(e){let{groupId:t}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(t),[n,s]=(0,d.Nk)(a);return[n,(0,r.useCallback)((e=>{a&&s.set(e)}),[a,s])]}({groupId:n}),x=(()=>{const e=c??b;return h({value:e,tabValues:s})?e:null})();(0,i.Z)((()=>{x&&l(x)}),[x]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!h({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),A(e)}),[u,A,s]),tabValues:s}}var A=a(2389);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=a(5893);function v(e){let{className:t,block:a,selectedValue:r,selectValue:o,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,a=l.indexOf(t),n=i[a].value;n!==r&&(c(t),o(n))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const a=l.indexOf(e.currentTarget)+1;t=l[a]??l[0];break}case"ArrowLeft":{const a=l.indexOf(e.currentTarget)-1;t=l[a]??l[l.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":a},t),children:i.map((e=>{let{value:t,label:a,attributes:s}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...s,className:(0,n.Z)("tabs__item",x.tabItem,s?.className,{"tabs__item--active":r===t}),children:a??t},t)}))})}function w(e){let{lazy:t,children:a,selectedValue:n}=e;const s=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===n));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==n})))})}function f(e){const t=b(e);return(0,g.jsxs)("div",{className:(0,n.Z)("tabs-container",x.tabList),children:[(0,g.jsx)(v,{...e,...t}),(0,g.jsx)(w,{...e,...t})]})}function j(e){const t=(0,A.Z)();return(0,g.jsx)(f,{...e,children:u(e.children)},String(t))}},6957:(e,t,a)=>{a.d(t,{Z:()=>A});var r=a(7294),n=a(917),s=a(4866),o=a(5162),i=a(4673),l=a(1750);const c="data:image/png;base64,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",d=a.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var p=a(2610),h=a(5944);function m(e){let{collapse:t,setCollapse:a}=e;const r=n.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,s=n.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,o=n.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,h.tZ)("div",{css:r,children:(0,h.tZ)("button",{css:s,onClick:()=>{a(!t)},children:t?(0,h.tZ)("img",{css:o,src:d,className:"icon-tabler-arrow-bar-up"}):(0,h.tZ)("img",{css:o,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const a=n.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,r=n.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,h.tZ)("button",{css:a,onClick:()=>{window.open(t,"_blank")},children:(0,h.tZ)("img",{css:r,src:u})})}function A(e){let{path:t,javaC:a,javaE:c,cssURL:d,javaHighlight:u,height:A,frame:x,tabs:g}=e;const[v,w]=(0,r.useState)(""),[f,j]=(0,r.useState)(""),[y,D]=(0,r.useState)(""),[S,Z]=(0,r.useState)(!(!a||!c)),[k,B]=(0,r.useState)(!1),[C,E]=(0,r.useState)({}),[L,J]=(0,r.useState)(!1),[T,M]=(0,r.useState)(0),[z,V]=(0,r.useState)(0),[H,N]=(0,r.useState)(25),[X,O]=(0,r.useState)(25),[F,G]=(0,r.useState)(0),[Y,P]=(0,r.useState)(!1),R=(0,r.useRef)(null),I=(0,r.useRef)(null);(0,r.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),a=t[t.length-1];E((e=>({...e,javaFile:a})))})),a&&fetch(a).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),a=t[t.length-1];E((e=>({...e,cssFile:a})))})),G(R.current.offsetWidth),console.log(F)}),[]);const W=()=>{J(!1),console.log("Stop Resizing")},U=e=>{if(L){const t=e.clientX-T;z+t>F/3&&(R.current.style.width=`${z+t}px`,I.current.style.right=(H-t<25?25:H-t)+"px",O(H-t<25?25:H-t))}},q=n.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==x?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=n.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=n.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${A||"100%"}; + pointer-events: none; + `,_=n.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${k&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=n.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=n.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=n.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ae=n.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,h.BX)("div",{css:q,onMouseUp:W,onMouseLeave:W,onMouseMove:U,children:["hidden"!=x?(0,h.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:K,children:[(0,h.tZ)("iframe",{onMouseUp:W,loading:"lazy",src:t,css:{...Q,pointerEvents:L?"none":"auto"},ref:R,onMouseMove:U}),(0,h.tZ)("div",{css:_,ref:I,children:(0,h.tZ)(b,{url:t})}),(0,h.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),J(!0),M(e.clientX),V(R.current.offsetWidth),N(X),console.log(I.current.right),console.log("Start Resizing")},children:(0,h.tZ)(p.Z,{})})]}):null,(0,h.BX)(i.Z,{css:ee,summary:(0,h.tZ)("summary",{onClick:()=>P(!Y),children:Y?"Hide Code":"Show Code"}),children:[a&&c?(0,h.tZ)(m,{collapse:S,setCollapse:Z}):null,d?(0,h.BX)(s.Z,{css:te,children:[(0,h.tZ)(o.Z,{value:g?g[0]:"Java",label:g?g[0]:C.javaFile,default:!0,children:(0,h.tZ)(l.Z,{css:ae,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?v:f})}),(0,h.tZ)(o.Z,{value:g?g[1]:"CSS",label:g?g[1]:C.cssFile,children:(0,h.tZ)(l.Z,{css:ae,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,h.tZ)(s.Z,{css:te,children:(0,h.tZ)(o.Z,{value:g?g[0]:"Java",label:g?g[0]:C.javaFile,default:!0,children:(0,h.tZ)(l.Z,{css:ae,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?v:f})})})]})]})}},3273:(e,t,a)=>{a.d(t,{Z:()=>c});var r=a(7294),n=a(917),s=a(8230),o=a(4387),i=a(6031);var l=a(5944);function c(e){let{type:t,location:a,top:c,children:d,code:u,suffix:p}=e;const[h,m]=(0,r.useState)("");(0,r.useEffect)((()=>{p||(p=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+a+".html"+p)}),[]);const b=n.iv` + display: inline; + + ${c&&n.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,A=n.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(o.Z,{css:A,label:"Java API",component:"a",href:h,icon:(0,l.tZ)(i.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:h,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:h,target:"_blank",children:d})})})]})}},1415:(e,t,a)=>{a.d(t,{Z:()=>s});a(7294);var r=a(8397),n=a(5893);function s(e){return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(r.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/9df0fb54.f85f4104.js b/assets/js/9df0fb54.f85f4104.js deleted file mode 100644 index 0ceb52ea5..000000000 --- a/assets/js/9df0fb54.f85f4104.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1368],{3284:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>A,frontMatter:()=>i,metadata:()=>d,toc:()=>h});var n=a(5893),r=a(1151),s=a(6957),o=a(7796),l=a(3273);const i={sidebar_position:140,title:"TextArea",pagination_next:"styling/styling_intro"},c=void 0,d={id:"components/text-area",title:"TextArea",description:"Labeling",source:"@site/docs/components/text-area.md",sourceDirName:"components",slug:"/components/text-area",permalink:"/docs/components/text-area",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/text-area.md",tags:[],version:"current",sidebarPosition:140,frontMatter:{sidebar_position:140,title:"TextArea",pagination_next:"styling/styling_intro"},sidebar:"documentationSidebar",previous:{title:"Slider",permalink:"/docs/components/slider"},next:{title:"Styling",permalink:"/docs/styling/styling_intro"}},u={},h=[{value:"Labeling",id:"labeling",level:3},{value:"Placeholder",id:"placeholder",level:3},{value:"Spellcheck",id:"spellcheck",level:3},{value:"Expanses",id:"expanses",level:3},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2}];function p(e){const t={code:"code",h2:"h2",h3:"h3",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/textarea/TextArea",top:"true"}),"\n",(0,n.jsx)(t.h3,{id:"labeling",children:"Labeling"}),"\n",(0,n.jsxs)(t.p,{children:["The text area component can be easily labeled without the needing to create an extra label component using the ",(0,n.jsx)(t.code,{children:"setAttribute()"})," method and passing the desired label as a string, as shown below: ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaLabel",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaLabel.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Label.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{15}",height:"125px"}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(t.h3,{id:"placeholder",children:"Placeholder"}),"\n",(0,n.jsxs)(t.p,{children:["It is also possible to set placeholder text within the component to better help users understand what type of input is expected. Similar to a label, this can be accomplished using the ",(0,n.jsx)(t.code,{children:"setAttribute()"})," method: ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaPlaceholder",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaPlaceholder.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Placeholder.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{16}",height:"125px"}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(t.h3,{id:"spellcheck",children:"Spellcheck"}),"\n",(0,n.jsxs)(t.p,{children:["The text area can also be configured with spellchecking to help the user improve their input. Use the ",(0,n.jsx)(t.code,{children:"setAttribute()"})," method to do this:"]}),"\n",(0,n.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaSpellcheck",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaSpellcheck.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Spellcheck.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{16}",height:"125px"}),"\n",(0,n.jsx)("br",{}),"\n",(0,n.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,n.jsxs)(t.p,{children:["DWCJ's text area comes with 5 expanses for quick styling without the use of CSS. Expanses are supported by use of a built-in enum class.\r\nBelow are the various expanses supported for the text area component: ",(0,n.jsx)("br",{})]}),"\n",(0,n.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.textareademos.TextAreaExpanse",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/textareademos/TextAreaExpanse.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/textarea/Expanse.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/textareastyles/text_area_styles.css",javaHighlight:"{19,23,27,31,35}",height:"200px"}),"\n",(0,n.jsxs)(t.table,{children:[(0,n.jsx)(t.thead,{children:(0,n.jsx)(t.tr,{children:(0,n.jsx)(t.th,{children:"Text Area Expanses"})})}),(0,n.jsx)(t.tbody,{children:(0,n.jsx)(t.tr,{children:(0,n.jsx)(t.td,{children:(0,n.jsxs)("ul",{children:[(0,n.jsx)("li",{children:(0,n.jsx)(t.code,{children:"TextArea.Expanse.XSMALL"})}),(0,n.jsx)("li",{children:(0,n.jsx)(t.code,{children:"TextArea.Expanse.SMALL"})}),(0,n.jsx)("li",{children:(0,n.jsx)(t.code,{children:"TextArea.Expanse.MEDIUM"})}),(0,n.jsx)("li",{children:(0,n.jsx)(t.code,{children:"TextArea.Expanse.LARGE"})}),(0,n.jsx)("li",{children:(0,n.jsx)(t.code,{children:"TextArea.Expanse.XLARGE"})})]})})})})]}),"\n",(0,n.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,n.jsx)(o.Z,{tag:a(5731).Kx})]})}function A(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},5162:(e,t,a)=>{a.d(t,{Z:()=>o});a(7294);var n=a(6010);const r={tabItem:"tabItem_Ymn6"};var s=a(5893);function o(e){let{children:t,hidden:a,className:o}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,n.Z)(r.tabItem,o),hidden:a,children:t})}},4866:(e,t,a)=>{a.d(t,{Z:()=>j});var n=a(7294),r=a(6010),s=a(2466),o=a(6550),l=a(469),i=a(1980),c=a(7392),d=a(12);function u(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:a}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:a,attributes:n,default:r}}=e;return{value:t,label:a,attributes:n,default:r}}))}(a);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,a])}function p(e){let{value:t,tabValues:a}=e;return a.some((e=>e.value===t))}function A(e){let{queryString:t=!1,groupId:a}=e;const r=(0,o.k6)(),s=function(e){let{queryString:t=!1,groupId:a}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:t,groupId:a});return[(0,i._X)(s),(0,n.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})}),[s,r])]}function m(e){const{defaultValue:t,queryString:a=!1,groupId:r}=e,s=h(e),[o,i]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:a}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=a.find((e=>e.default))??a[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:s}))),[c,u]=A({queryString:a,groupId:r}),[m,b]=function(e){let{groupId:t}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,s]=(0,d.Nk)(a);return[r,(0,n.useCallback)((e=>{a&&s.set(e)}),[a,s])]}({groupId:r}),x=(()=>{const e=c??m;return p({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{x&&i(x)}),[x]);return{selectedValue:o,selectValue:(0,n.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);i(e),u(e),b(e)}),[u,b,s]),tabValues:s}}var b=a(2389);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=a(5893);function v(e){let{className:t,block:a,selectedValue:n,selectValue:o,tabValues:l}=e;const i=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,a=i.indexOf(t),r=l[a].value;r!==n&&(c(t),o(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const a=i.indexOf(e.currentTarget)+1;t=i[a]??i[0];break}case"ArrowLeft":{const a=i.indexOf(e.currentTarget)-1;t=i[a]??i[i.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":a},t),children:l.map((e=>{let{value:t,label:a,attributes:s}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>i.push(e),onKeyDown:u,onClick:d,...s,className:(0,r.Z)("tabs__item",x.tabItem,s?.className,{"tabs__item--active":n===t}),children:a??t},t)}))})}function w(e){let{lazy:t,children:a,selectedValue:r}=e;const s=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===r));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function f(e){const t=m(e);return(0,g.jsxs)("div",{className:(0,r.Z)("tabs-container",x.tabList),children:[(0,g.jsx)(v,{...e,...t}),(0,g.jsx)(w,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,g.jsx)(f,{...e,children:u(e.children)},String(t))}},6957:(e,t,a)=>{a.d(t,{Z:()=>b});var n=a(7294),r=a(917),s=a(4866),o=a(5162),l=a(4673),i=a(1750);const c="data:image/png;base64,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",d=a.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=a(2949),p=a(5944);function A(e){let{collapse:t,setCollapse:a}=e;const n=r.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,s=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,o=r.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:n,children:(0,p.tZ)("button",{css:s,onClick:()=>{a(!t)},children:t?(0,p.tZ)("img",{css:o,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:o,src:c,className:"icon-tabler-arrow-bar-down"})})})}function m(e){let{url:t}=e;const a=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,n=r.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:a,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:n,src:u})})}function b(e){let{path:t,javaC:a,javaE:c,cssURL:d,javaHighlight:u,height:b,frame:x,tabs:g}=e;const[v,w]=(0,n.useState)(""),[f,j]=(0,n.useState)(""),[y,D]=(0,n.useState)(""),[S,Z]=(0,n.useState)(!(!a||!c)),[k,B]=(0,n.useState)(!1),[C,E]=(0,n.useState)({});(0,n.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),a=t[t.length-1];E((e=>({...e,javaFile:a})))})),a&&fetch(a).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),a=t[t.length-1];E((e=>({...e,cssFile:a})))}))}),[]);const L=r.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==x?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,J=r.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${b}; - `,T=r.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,N=r.iv` - width: 100%; - `,H=r.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${k&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:L,children:["hidden"!=x?(0,p.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:N,children:[(0,p.tZ)("div",{css:H,children:(0,p.tZ)(m,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:J})]}):null,(0,p.BX)(l.Z,{css:T,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[a&&c?(0,p.tZ)(A,{collapse:S,setCollapse:Z}):null,d?(0,p.BX)(s.Z,{children:[(0,p.tZ)(o.Z,{value:g?g[0]:"Java",label:g?g[0]:C.javaFile,default:!0,children:(0,p.tZ)(i.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?v:f})}),(0,p.tZ)(o.Z,{value:g?g[1]:"CSS",label:g?g[1]:C.cssFile,children:(0,p.tZ)(i.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(s.Z,{children:(0,p.tZ)(o.Z,{value:g?g[0]:"Java",label:g?g[0]:C.javaFile,default:!0,children:(0,p.tZ)(i.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:S?v:f})})})]})]})}},3273:(e,t,a)=>{a.d(t,{Z:()=>c});var n=a(7294),r=a(917),s=a(8230),o=a(4387),l=a(6770);var i=a(5944);function c(e){let{type:t,location:a,top:c,children:d,code:u,suffix:h}=e;const[p,A]=(0,n.useState)("");(0,n.useEffect)((()=>{h||(h=""),A("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+a+".html"+h)}),[]);const m=r.iv` - display: inline; - - ${c&&r.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,b=r.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,i.BX)(i.HY,{children:["true"===c&&(0,i.tZ)("div",{css:m,children:(0,i.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,i.tZ)(o.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,i.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,i.tZ)("div",{css:m,children:(0,i.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,i.tZ)("div",{css:m,children:(0,i.tZ)("code",{children:(0,i.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,a)=>{a.d(t,{Z:()=>s});a(7294);var n=a(8397),r=a(5893);function s(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(n.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/9eb89d33.43a90d15.js b/assets/js/9eb89d33.43a90d15.js new file mode 100644 index 000000000..931a7ef58 --- /dev/null +++ b/assets/js/9eb89d33.43a90d15.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[5148],{8051:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>l,metadata:()=>h,toc:()=>p});var o=n(5893),s=n(1151),i=n(6957),a=n(7796),r=n(3273),c=n(2665);const l={sidebar_position:5,title:"Button"},d=void 0,h={id:"components/button",title:"Button",description:"A Button component is a fundamental user interface element used in application development to create interactive elements that trigger actions or events when clicked or activated. It serves as a clickable element that users can interact with to perform various actions within an application or website.",source:"@site/docs/components/button.md",sourceDirName:"components",slug:"/components/button",permalink:"/docs/components/button",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/button.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Button"},sidebar:"documentationSidebar",previous:{title:"Icons",permalink:"/docs/components/bbj-icon"},next:{title:"CheckBox",permalink:"/docs/components/checkbox"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Adding Icons to Buttons",id:"adding-icons-to-buttons",level:2},{value:"Names",id:"names",level:3},{value:"Disabling a Button",id:"disabling-a-button",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Themes",id:"themes",level:3},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Slots",id:"slots",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(c.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-button",href:"https://basishub.github.io/basis-next/#/web-components/bbj-button",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["A ",(0,o.jsx)(t.code,{children:"Button"})," component is a fundamental user interface element used in application development to create interactive elements that trigger actions or events when clicked or activated. It serves as a clickable element that users can interact with to perform various actions within an application or website."]}),"\n",(0,o.jsxs)(t.p,{children:["The primary purpose of the ",(0,o.jsx)(t.code,{children:"Button"})," component is to provide a clear and intuitive call-to-action for users, guiding them to perform specific tasks such as submitting a form, navigating to another page, triggering a function, or initiating a process. Buttons are essential for enhancing user interactions, improving accessibility, and creating a more engaging user experience."]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/demo_styles.css",height:"300px"}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Button"})," class is a versatile component that is commonly used in various situations where user interactions and actions need to be triggered. Here are some typical scenarios where you might need a button in your application:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Form Submission"}),": Buttons are often used to submit form data. For example, in an application, you can use:"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:'A "Submit" button to send data to the server'}),"\n",(0,o.jsx)(t.li,{children:'A "Clear" button to remove any information already present in the form'}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"User Actions"}),": Buttons are used to allow users to perform specific actions within the application. For instance, you can have a button labeled:"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:'"Delete" to initiate the deletion of a selected item'}),"\n",(0,o.jsx)(t.li,{children:'"Save" to save changes made to a document or page.'}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.ol,{start:"3",children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Confirmation Dialogs"}),": Buttons are often included in ",(0,o.jsx)(t.a,{href:"../components/dialog",children:(0,o.jsx)(t.code,{children:"Dialog"})})," components built for various purposes to provide options for users to confirm or cancel an action, or any other functionality that is built into the ",(0,o.jsx)(t.a,{href:"../components/dialog",children:(0,o.jsx)(t.code,{children:"Dialog"})})," you're using."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Interaction Triggers"}),": Buttons can serve as triggers for interactions or events within the application. By clicking a button, users can initiate complex actions or trigger animations, refreshing content, or updating the display."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Navigation"}),": Buttons can be used for navigation purposes, such as moving between different sections or pages within an application. Buttons for navigation could include:"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:'"Next" - Takes the user to the next page or section of the current application or page.'}),"\n",(0,o.jsx)(t.li,{children:'"Previous" - Returns the user to the previous page of the application or section they\'re in.'}),"\n",(0,o.jsx)(t.li,{children:'"Back" Returns the user to the first part of the application or page they\'re in.'}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Button"})," class has three constructors:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#()",children:"Button()"}),": Creates an empty ",(0,o.jsx)("code",{children:"Button"})," without any text inside the component."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#(java.lang.String)",children:"Button(String text)"}),": Creates a ",(0,o.jsx)("code",{children:"Button"})," with text inside the component."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsxs)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.EventListener)",children:["Button(String text, EventListener",""," onClickListener)"]}),": Creates a ",(0,o.jsx)("code",{children:"Button"})," with text inside the component, and an ",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/EventListener",code:"true",children:"EventListener"})," for a ",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/event/ButtonClickEvent",code:"true",children:"ButtonClickEvent"})," which fires when a user clicks on the ",(0,o.jsx)("code",{children:"Button"}),"."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Here is an example of how to create a ",(0,o.jsx)(t.code,{children:"Button"})," object:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:'Button submit = new Button("Submit");\n'})}),"\n",(0,o.jsx)(t.h2,{id:"adding-icons-to-buttons",children:"Adding Icons to Buttons"}),"\n",(0,o.jsxs)(t.p,{children:["In addition to, or instead of having text on a button, it is possible to add an icon to a button as well. To add these icons, set the button's text to have an ",(0,o.jsx)(t.code,{children:""})," tag, with a ",(0,o.jsx)(t.code,{children:""})," tag inside with the name attribute set accordingly. In addition to an icon, include text to the left or right of the ",(0,o.jsx)(t.code,{children:""})," tag to include a label as well. Icons added to the left and/or right of the button should be done using the ",(0,o.jsx)(t.code,{children:"prefix"})," and ",(0,o.jsx)(t.code,{children:"suffix"})," slots."]}),"\n",(0,o.jsxs)(t.p,{children:["To read more about customizing, configuring and styling icons, read ",(0,o.jsx)(t.a,{href:"../components/bbj-icon",children:(0,o.jsx)(t.strong,{children:"this page"})}),"."]}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsxs)(t.p,{children:["Icons added in this way will automatically be configured to match the theme of the Button, but need to be manually configured if a different sized icon is desired when changing ",(0,o.jsx)(t.code,{children:"Button"})," expanse."]})}),"\n",(0,o.jsx)(t.p,{children:"Below are examples of buttons with text to the left and right, as well as a button with only an icon:"}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonIcon",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonIcon.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Icon.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/icon_styles.css",height:"100px"}),"\n",(0,o.jsx)(t.h3,{id:"names",children:"Names"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Button"})," component utilizes naming, which is used for accessibility. When a name is not explicitly set, the label of the ",(0,o.jsx)(t.code,{children:"Button"})," will be used instead. However, some icons do not have labels, and only display non-text elements, such as icons. In this case, it is expedient to use the ",(0,o.jsx)(t.code,{children:"setName()"})," method to ensure that the ",(0,o.jsx)(t.code,{children:"Button"})," component created complies with accessibility standards."]}),"\n",(0,o.jsx)(t.h2,{id:"disabling-a-button",children:"Disabling a Button"}),"\n",(0,o.jsx)(t.p,{children:"Button components, like many others, can be disabled to convey to a user that a certain action is not yet or is no longer available. A disabled button will decrease the opacity of the button, and is available for all button themes and expanses."}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonDisable",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonDisable.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Disable.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/disable_styles.css"}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsxs)(t.p,{children:["Disabling a button can be done at any time in the code by using the ",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/HasEnable",code:"true",children:"setEnabled(boolean enabled)"})," function. For added convenience, a button can also be disabled when clicked using the built-in ",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#setDisableOnClick(java.lang.Boolean)",children:"setDisabledOnClick(boolean enabled)"})," function."]}),"\n",(0,o.jsx)(t.p,{children:"In some applications, clicking a button triggers a long-running action. In most cases, the application might want to ensure that only a single click is processed. This can be an issue in high-latency environments when the user clicks the button multiple times before the application has had a chance to start processing the resulting action."}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"Disabling on click not only helps optimize the processing of actions, but also prevents the developer from needing to implement this behavior on their own, as this method has been optimized to reduce round trip communications."})}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Button"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when a component loses focus."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/event/ButtonClickEvent",code:"true",children:"ButtonClickEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when a user interacts with a button by clicking or tapping on it."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when a component gains focus, opposite of a blur event."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"Button"})," components come with ",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/ButtonTheme",children:"14 discrete themes "})," built in for quick styling without the use of CSS. These themes are pre-defined styles that can be applied to buttons to change their appearance and visual presentation. They offer a quick and consistent way to customize the look of buttons throughout an application."]}),"\n",(0,o.jsx)(t.p,{children:"While there are many use cases for each of the various themes, some examples uses are:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Danger"}),": Actions with severe consequences, such as clearing filled-out information, or permanently deleting an account/data is represents a good use case for buttons with the Danger theme."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Default"}),": The default theme is appropriate for actions throughout an application that do not require special attention and that are generic, such as toggling a setting."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Primary"}),': This theme is appropriate as a main "call-to-action" on a page, such as signing up, saving changes, or continuing to another page.']}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Success"}),": Success themed buttons are excellent for visualizing successful completion of an element in an application, such as the submission of a form or completion of a sign-up process. The success theme can by programmatically applied once a successful action has been completed."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Warning"}),": Warning buttons are useful to indicate users they are about to perform a potentially risky action, such as when navigating away from a page with unsaved changes. These actions are often less impactful than those that would use the Danger theme."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Gray"}),": Good for subtle actions, such as minor settings or actions that are more supplementary to a page, and not part of the main functionality."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Info"}),": The Info theme is a good choice to provide clarifying, additional information to a user when pushed."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Shown below are example buttons with each of the supported Themes applied: ",(0,o.jsx)("br",{})]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonThemes",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonThemes.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Theme.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/theme_styles.css",height:"175px"}),"\n",(0,o.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,o.jsxs)(t.p,{children:["The following ",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/Expanse",children:" Expanses values "})," allow for quick styling without using CSS. This allows for manipulation of the Button's dimensions without having to explicitly set it using any styling. In addition to simplifying styling, it also helps create and maintain a uniformity in your application. The default ",(0,o.jsx)(t.code,{children:"Button"})," expanse is ",(0,o.jsx)(t.code,{children:"Expanse.MEDIUM"}),"."]}),"\n",(0,o.jsx)(t.p,{children:"Different sizes are often appropriate for different uses:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Larger"})," expanse values are suited to buttons which should grab attention, emphasize functionality or are integral to the core functionality of an application or page."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Medium"}),' expanse buttons, the default size, should be utilized as a "standard size", when a button\'s behavior is no more or less important than other similar components.']}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Smaller"})," expanse values should be used for buttons that do not have integral behaviors in the application, and serve a more supplementary or utilitarian role, rather than play an important part in user interaction. This includes ",(0,o.jsx)(t.code,{children:"Button"})," components being used only with icons for utilitarian purposes."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Below are the various expanses supported for the ",(0,o.jsx)(t.code,{children:"Button"})," component: ",(0,o.jsx)("br",{})]}),"\n",(0,o.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonExpanses",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonExpanses.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Expanses.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/expanse_styles.css",height:"125px"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).zx,table:"parts",exclusions:n(3772).L.Le}),"\n",(0,o.jsx)(t.h3,{id:"slots",children:"Slots"}),"\n",(0,o.jsxs)(t.p,{children:["Listed below are the slots available for utilization within the ",(0,o.jsx)(t.code,{children:"Button"})," component. These slots act as placeholders within the component that control where the children of a customized element should be inserted within the shadow tree."]}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).zx,table:"slots",exclusions:n(3772).L.hM}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).zx,exclusions:n(3772).L.aK,table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).zx,table:"reflects",exclusions:n(3772).L.Oz}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(a.Z,{tag:"bbj-button",table:"dependencies"}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,o.jsx)(t.code,{children:"Button"})," component, consider the following best practices:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Proper Text"}),": Use clear and concise text for text within your ",(0,o.jsx)(t.code,{children:"Button"})," component to provide a clear indication of its purpose."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Appropriate Visual Styling"}),": Consider the visual styling and theme of the ",(0,o.jsx)(t.code,{children:"Button"})," to ensure consistency with your application's design. For example:"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:['A "Cancel" ',(0,o.jsx)(t.code,{children:"Button"})," component should be styled with the appropriate theme or CSS styling to ensure users are sure they want to cancel an action"]}),"\n",(0,o.jsxs)(t.li,{children:['A "Confirm" ',(0,o.jsx)(t.code,{children:"Button"}),' would have a different styling from a "Cancel" button, but would similarly stand out to ensure that users know this is a special action.']}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.ol,{start:"3",children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Efficient Event Handling"}),": Handle ",(0,o.jsx)(t.code,{children:"Button"})," events efficiently and provide appropriate feedback to users. Refer to ",(0,o.jsx)(t.a,{href:"./button/#adding-events",children:(0,o.jsx)(t.strong,{children:"this section"})})," to review efficient event adding behaviors."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Testing and Accessibility"}),": Test the Button's behavior in different scenarios, such as when it is disabled or receives focus, to ensure a smooth user experience.\r\nFollow accessibility guidelines to make the ",(0,o.jsx)(t.code,{children:"Button"})," usable for all users, including those who rely on assistive technologies."]}),"\n"]}),"\n"]})]})}function b(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var o=n(4836);t.Z=void 0;var s=o(n(4938)),i=n(5893),a=(0,s.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=a},2610:(e,t,n)=>{var o=n(4836);t.Z=void 0;var s=o(n(4938)),i=n(5893),a=(0,s.default)((0,i.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=a},5162:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var o=n(6010);const s={tabItem:"tabItem_Ymn6"};var i=n(5893);function a(e){let{children:t,hidden:n,className:a}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,o.Z)(s.tabItem,a),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>A});var o=n(7294),s=n(6010),i=n(2466),a=n(6550),r=n(469),c=n(1980),l=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:s}}=e;return{value:t,label:n,attributes:o,default:s}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const s=(0,a.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(i),(0,o.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(s.location.search);t.set(i,e),s.replace({...s.location,search:t.toString()})}),[i,s])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,i=u(e),[a,c]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:i}))),[l,h]=m({queryString:n,groupId:s}),[b,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,i]=(0,d.Nk)(n);return[s,(0,o.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:s}),x=(()=>{const e=l??b;return p({value:e,tabValues:i})?e:null})();(0,r.Z)((()=>{x&&c(x)}),[x]);return{selectedValue:a,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);c(e),h(e),g(e)}),[h,g,i]),tabValues:i}}var g=n(2389);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function f(e){let{className:t,block:n,selectedValue:o,selectValue:a,tabValues:r}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),s=r[n].value;s!==o&&(l(t),a(s))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:r.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>c.push(e),onKeyDown:h,onClick:d,...i,className:(0,s.Z)("tabs__item",x.tabItem,i?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function j(e){let{lazy:t,children:n,selectedValue:s}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===s));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function w(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,s.Z)("tabs-container",x.tabList),children:[(0,v.jsx)(f,{...e,...t}),(0,v.jsx)(j,{...e,...t})]})}function A(e){const t=(0,g.Z)();return(0,v.jsx)(w,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>g});var o=n(7294),s=n(917),i=n(4866),a=n(5162),r=n(4673),c=n(1750);const l="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=s.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,i=s.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,a=s.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:a,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:a,src:l,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=s.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,o=s.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:h})})}function g(e){let{path:t,javaC:n,javaE:l,cssURL:d,javaHighlight:h,height:g,frame:x,tabs:v}=e;const[f,j]=(0,o.useState)(""),[w,A]=(0,o.useState)(""),[y,B]=(0,o.useState)(""),[D,k]=(0,o.useState)(!(!n||!l)),[S,Z]=(0,o.useState)(!1),[C,E]=(0,o.useState)({}),[L,T]=(0,o.useState)(!1),[z,M]=(0,o.useState)(0),[N,J]=(0,o.useState)(0),[O,F]=(0,o.useState)(25),[H,V]=(0,o.useState)(25),[I,X]=(0,o.useState)(0),[G,Y]=(0,o.useState)(!1),q=(0,o.useRef)(null),P=(0,o.useRef)(null);(0,o.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{A(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{j(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{B(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))})),X(q.current.offsetWidth),console.log(I)}),[]);const R=()=>{T(!1),console.log("Stop Resizing")},W=e=>{if(L){const t=e.clientX-z;N+t>I/3&&(q.current.style.width=`${N+t}px`,P.current.style.right=(O-t<25?25:O-t)+"px",V(O-t<25?25:O-t))}},U=s.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==x?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=s.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=s.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${g||"100%"}; + pointer-events: none; + `,_=s.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${S&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=s.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=s.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=s.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=s.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:U,onMouseUp:R,onMouseLeave:R,onMouseMove:W,children:["hidden"!=x?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:R,loading:"lazy",src:t,css:{...Q,pointerEvents:L?"none":"auto"},ref:q,onMouseMove:W}),(0,p.tZ)("div",{css:_,ref:P,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),T(!0),M(e.clientX),J(q.current.offsetWidth),F(H),console.log(P.current.right),console.log("Start Resizing")},children:(0,p.tZ)(u.Z,{})})]}):null,(0,p.BX)(r.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>Y(!G),children:G?"Hide Code":"Show Code"}),children:[n&&l?(0,p.tZ)(m,{collapse:D,setCollapse:k}):null,d?(0,p.BX)(i.Z,{css:te,children:[(0,p.tZ)(a.Z,{value:v?v[0]:"Java",label:v?v[0]:C.javaFile,default:!0,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?f:w})}),(0,p.tZ)(a.Z,{value:v?v[1]:"CSS",label:v?v[1]:C.cssFile,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(i.Z,{css:te,children:(0,p.tZ)(a.Z,{value:v?v[0]:"Java",label:v?v[0]:C.javaFile,default:!0,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?f:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var o=n(7294),s=n(917),i=n(8230),a=n(4387),r=n(6031);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:h,suffix:u}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=s.iv` + display: inline; + + ${l&&s.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,g=s.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,c.BX)(c.HY,{children:["true"===l&&(0,c.tZ)("div",{css:b,children:(0,c.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(a.Z,{css:g,label:"Java API",component:"a",href:p,icon:(0,c.tZ)(r.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!h&&(0,c.tZ)("div",{css:b,children:(0,c.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==l&&h&&(0,c.tZ)("div",{css:b,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(8397),s=n(5893);function i(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')},3772:e=>{e.exports=JSON.parse('{"L":{"Le":["dropdown","dropdown-icon","dropdown-separator"],"hM":[],"aK":["--bbj-button-selected-background","--bbj-button-selected-color","--bbj-button-separator-color"],"Oz":["toggleable","selected"]}}')}}]); \ No newline at end of file diff --git a/assets/js/9eb89d33.fe508ff7.js b/assets/js/9eb89d33.fe508ff7.js deleted file mode 100644 index 8e4f03336..000000000 --- a/assets/js/9eb89d33.fe508ff7.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[5148],{8051:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>l,metadata:()=>h,toc:()=>p});var s=n(5893),o=n(1151),i=n(6957),a=n(7796),r=n(3273),c=n(2665);const l={sidebar_position:5,title:"Button"},d=void 0,h={id:"components/button",title:"Button",description:"A Button component is a fundamental user interface element used in application development to create interactive elements that trigger actions or events when clicked or activated. It serves as a clickable element that users can interact with to perform various actions within an application or website.",source:"@site/docs/components/button.md",sourceDirName:"components",slug:"/components/button",permalink:"/docs/components/button",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/button.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"Button"},sidebar:"documentationSidebar",previous:{title:"Icons",permalink:"/docs/components/bbj-icon"},next:{title:"CheckBox",permalink:"/docs/components/checkbox"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Adding Icons to Buttons",id:"adding-icons-to-buttons",level:2},{value:"Names",id:"names",level:3},{value:"Disabling a Button",id:"disabling-a-button",level:2},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Themes",id:"themes",level:3},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Slots",id:"slots",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(c.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,s.jsx)(c.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-button",href:"https://basishub.github.io/basis-next/#/web-components/bbj-button",clickable:!1,iconName:"code"}),"\n",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:["A ",(0,s.jsx)(t.code,{children:"Button"})," component is a fundamental user interface element used in application development to create interactive elements that trigger actions or events when clicked or activated. It serves as a clickable element that users can interact with to perform various actions within an application or website."]}),"\n",(0,s.jsxs)(t.p,{children:["The primary purpose of the ",(0,s.jsx)(t.code,{children:"Button"})," component is to provide a clear and intuitive call-to-action for users, guiding them to perform specific tasks such as submitting a form, navigating to another page, triggering a function, or initiating a process. Buttons are essential for enhancing user interactions, improving accessibility, and creating a more engaging user experience."]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/demo_styles.css",height:"300px"}),"\n",(0,s.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Button"})," class is a versatile component that is commonly used in various situations where user interactions and actions need to be triggered. Here are some typical scenarios where you might need a button in your application:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Form Submission"}),": Buttons are often used to submit form data. For example, in an application, you can use:"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:'A "Submit" button to send data to the server'}),"\n",(0,s.jsx)(t.li,{children:'A "Clear" button to remove any information already present in the form'}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.ol,{start:"2",children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"User Actions"}),": Buttons are used to allow users to perform specific actions within the application. For instance, you can have a button labeled:"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:'"Delete" to initiate the deletion of a selected item'}),"\n",(0,s.jsx)(t.li,{children:'"Save" to save changes made to a document or page.'}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.ol,{start:"3",children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Confirmation Dialogs"}),": Buttons are often included in ",(0,s.jsx)(t.a,{href:"../components/dialog",children:(0,s.jsx)(t.code,{children:"Dialog"})})," components built for various purposes to provide options for users to confirm or cancel an action, or any other functionality that is built into the ",(0,s.jsx)(t.a,{href:"../components/dialog",children:(0,s.jsx)(t.code,{children:"Dialog"})})," you're using."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Interaction Triggers"}),": Buttons can serve as triggers for interactions or events within the application. By clicking a button, users can initiate complex actions or trigger animations, refreshing content, or updating the display."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Navigation"}),": Buttons can be used for navigation purposes, such as moving between different sections or pages within an application. Buttons for navigation could include:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:'"Next" - Takes the user to the next page or section of the current application or page.'}),"\n",(0,s.jsx)(t.li,{children:'"Previous" - Returns the user to the previous page of the application or section they\'re in.'}),"\n",(0,s.jsx)(t.li,{children:'"Back" Returns the user to the first part of the application or page they\'re in.'}),"\n"]}),"\n"]}),"\n",(0,s.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Button"})," class has three constructors:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#()",children:"Button()"}),": Creates an empty ",(0,s.jsx)("code",{children:"Button"})," without any text inside the component."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#(java.lang.String)",children:"Button(String text)"}),": Creates a ",(0,s.jsx)("code",{children:"Button"})," with text inside the component."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsxs)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#(java.lang.String,org.dwcj.component.event.EventListener)",children:["Button(String text, EventListener",""," onClickListener)"]}),": Creates a ",(0,s.jsx)("code",{children:"Button"})," with text inside the component, and an ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/EventListener",code:"true",children:"EventListener"})," for a ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/event/ButtonClickEvent",code:"true",children:"ButtonClickEvent"})," which fires when a user clicks on the ",(0,s.jsx)("code",{children:"Button"}),"."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Here is an example of how to create a ",(0,s.jsx)(t.code,{children:"Button"})," object:"]}),"\n",(0,s.jsx)(t.pre,{children:(0,s.jsx)(t.code,{className:"language-java",children:'Button submit = new Button("Submit");\n'})}),"\n",(0,s.jsx)(t.h2,{id:"adding-icons-to-buttons",children:"Adding Icons to Buttons"}),"\n",(0,s.jsxs)(t.p,{children:["In addition to, or instead of having text on a button, it is possible to add an icon to a button as well. To add these icons, set the button's text to have an ",(0,s.jsx)(t.code,{children:""})," tag, with a ",(0,s.jsx)(t.code,{children:""})," tag inside with the name attribute set accordingly. In addition to an icon, include text to the left or right of the ",(0,s.jsx)(t.code,{children:""})," tag to include a label as well. Icons added to the left and/or right of the button should be done using the ",(0,s.jsx)(t.code,{children:"prefix"})," and ",(0,s.jsx)(t.code,{children:"suffix"})," slots."]}),"\n",(0,s.jsxs)(t.p,{children:["To read more about customizing, configuring and styling icons, read ",(0,s.jsx)(t.a,{href:"../components/bbj-icon",children:(0,s.jsx)(t.strong,{children:"this page"})}),"."]}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsxs)(t.p,{children:["Icons added in this way will automatically be configured to match the theme of the Button, but need to be manually configured if a different sized icon is desired when changing ",(0,s.jsx)(t.code,{children:"Button"})," expanse."]})}),"\n",(0,s.jsx)(t.p,{children:"Below are examples of buttons with text to the left and right, as well as a button with only an icon:"}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonIcon",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonIcon.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Icon.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/icon_styles.css",height:"100px"}),"\n",(0,s.jsx)(t.h3,{id:"names",children:"Names"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Button"})," component utilizes naming, which is used for accessibility. When a name is not explicitly set, the label of the ",(0,s.jsx)(t.code,{children:"Button"})," will be used instead. However, some icons do not have labels, and only display non-text elements, such as icons. In this case, it is expedient to use the ",(0,s.jsx)(t.code,{children:"setName()"})," method to ensure that the ",(0,s.jsx)(t.code,{children:"Button"})," component created complies with accessibility standards."]}),"\n",(0,s.jsx)(t.h2,{id:"disabling-a-button",children:"Disabling a Button"}),"\n",(0,s.jsx)(t.p,{children:"Button components, like many others, can be disabled to convey to a user that a certain action is not yet or is no longer available. A disabled button will decrease the opacity of the button, and is available for all button themes and expanses."}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonDisable",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonDisable.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Disable.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/disable_styles.css"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsxs)(t.p,{children:["Disabling a button can be done at any time in the code by using the ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/HasEnable",code:"true",children:"setEnabled(boolean enabled)"})," function. For added convenience, a button can also be disabled when clicked using the built-in ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/Button",code:"true",suffix:"#setDisableOnClick(java.lang.Boolean)",children:"setDisabledOnClick(boolean enabled)"})," function."]}),"\n",(0,s.jsx)(t.p,{children:"In some applications, clicking a button triggers a long-running action. In most cases, the application might want to ensure that only a single click is processed. This can be an issue in high-latency environments when the user clicks the button multiple times before the application has had a chance to start processing the resulting action."}),"\n",(0,s.jsx)(t.admonition,{type:"tip",children:(0,s.jsx)(t.p,{children:"Disabling on click not only helps optimize the processing of actions, but also prevents the developer from needing to implement this behavior on their own, as this method has been optimized to reduce round trip communications."})}),"\n",(0,s.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.p,{children:["The ",(0,s.jsx)(t.code,{children:"Button"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when a component loses focus."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/event/ButtonClickEvent",code:"true",children:"ButtonClickEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when a user interacts with a button by clicking or tapping on it."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when a component gains focus, opposite of a blur event."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,s.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,s.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.code,{children:"Button"})," components come with ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/button/ButtonTheme",children:"14 discrete themes "})," built in for quick styling without the use of CSS. These themes are pre-defined styles that can be applied to buttons to change their appearance and visual presentation. They offer a quick and consistent way to customize the look of buttons throughout an application."]}),"\n",(0,s.jsx)(t.p,{children:"While there are many use cases for each of the various themes, some examples uses are:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Danger"}),": Actions with severe consequences, such as clearing filled-out information, or permanently deleting an account/data is represents a good use case for buttons with the Danger theme."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Default"}),": The default theme is appropriate for actions throughout an application that do not require special attention and that are generic, such as toggling a setting."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Primary"}),': This theme is appropriate as a main "call-to-action" on a page, such as signing up, saving changes, or continuing to another page.']}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Success"}),": Success themed buttons are excellent for visualizing successful completion of an element in an application, such as the submission of a form or completion of a sign-up process. The success theme can by programmatically applied once a successful action has been completed."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Warning"}),": Warning buttons are useful to indicate users they are about to perform a potentially risky action, such as when navigating away from a page with unsaved changes. These actions are often less impactful than those that would use the Danger theme."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Gray"}),": Good for subtle actions, such as minor settings or actions that are more supplementary to a page, and not part of the main functionality."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Info"}),": The Info theme is a good choice to provide clarifying, additional information to a user when pushed."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Shown below are example buttons with each of the supported Themes applied: ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonThemes",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonThemes.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Theme.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/theme_styles.css",height:"175px"}),"\n",(0,s.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,s.jsxs)(t.p,{children:["The following ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/Expanse",children:" Expanses values "})," allow for quick styling without using CSS. This allows for manipulation of the Button's dimensions without having to explicitly set it using any styling. In addition to simplifying styling, it also helps create and maintain a uniformity in your application. The default ",(0,s.jsx)(t.code,{children:"Button"})," expanse is ",(0,s.jsx)(t.code,{children:"Expanse.MEDIUM"}),"."]}),"\n",(0,s.jsx)(t.p,{children:"Different sizes are often appropriate for different uses:"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Larger"})," expanse values are suited to buttons which should grab attention, emphasize functionality or are integral to the core functionality of an application or page."]}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Medium"}),' expanse buttons, the default size, should be utilized as a "standard size", when a button\'s behavior is no more or less important than other similar components.']}),"\n",(0,s.jsxs)(t.li,{children:[(0,s.jsx)(t.strong,{children:"Smaller"})," expanse values should be used for buttons that do not have integral behaviors in the application, and serve a more supplementary or utilitarian role, rather than play an important part in user interaction. This includes ",(0,s.jsx)(t.code,{children:"Button"})," components being used only with icons for utilitarian purposes."]}),"\n"]}),"\n",(0,s.jsxs)(t.p,{children:["Below are the various expanses supported for the ",(0,s.jsx)(t.code,{children:"Button"})," component: ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.buttondemos.ButtonExpanses",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/buttondemos/ButtonExpanses.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/button/Expanses.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/buttonstyles/expanse_styles.css",height:"125px"}),"\n",(0,s.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,s.jsxs)(t.p,{children:["These are the various parts of the ",(0,s.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,s.jsx)(a.Z,{tag:n(5731).zx,table:"parts",exclusions:n(3772).L.Le}),"\n",(0,s.jsx)(t.h3,{id:"slots",children:"Slots"}),"\n",(0,s.jsxs)(t.p,{children:["Listed below are the slots available for utilization within the ",(0,s.jsx)(t.code,{children:"Button"})," component. These slots act as placeholders within the component that control where the children of a customized element should be inserted within the shadow tree."]}),"\n",(0,s.jsx)(a.Z,{tag:n(5731).zx,table:"slots",exclusions:n(3772).L.hM}),"\n",(0,s.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,s.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,s.jsx)(a.Z,{tag:n(5731).zx,exclusions:n(3772).L.aK,table:"properties"}),"\n",(0,s.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,s.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,s.jsx)(a.Z,{tag:n(5731).zx,table:"reflects",exclusions:n(3772).L.Oz}),"\n",(0,s.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,s.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,s.jsx)(a.Z,{tag:"bbj-button",table:"dependencies"}),"\n",(0,s.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,s.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,s.jsx)(t.code,{children:"Button"})," component, consider the following best practices:"]}),"\n",(0,s.jsxs)(t.ol,{children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Proper Text"}),": Use clear and concise text for text within your ",(0,s.jsx)(t.code,{children:"Button"})," component to provide a clear indication of its purpose."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Appropriate Visual Styling"}),": Consider the visual styling and theme of the ",(0,s.jsx)(t.code,{children:"Button"})," to ensure consistency with your application's design. For example:"]}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.blockquote,{children:["\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsxs)(t.li,{children:['A "Cancel" ',(0,s.jsx)(t.code,{children:"Button"})," component should be styled with the appropriate theme or CSS styling to ensure users are sure they want to cancel an action"]}),"\n",(0,s.jsxs)(t.li,{children:['A "Confirm" ',(0,s.jsx)(t.code,{children:"Button"}),' would have a different styling from a "Cancel" button, but would similarly stand out to ensure that users know this is a special action.']}),"\n"]}),"\n"]}),"\n",(0,s.jsxs)(t.ol,{start:"3",children:["\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Efficient Event Handling"}),": Handle ",(0,s.jsx)(t.code,{children:"Button"})," events efficiently and provide appropriate feedback to users. Refer to ",(0,s.jsx)(t.a,{href:"./button/#adding-events",children:(0,s.jsx)(t.strong,{children:"this section"})})," to review efficient event adding behaviors."]}),"\n"]}),"\n",(0,s.jsxs)(t.li,{children:["\n",(0,s.jsxs)(t.p,{children:[(0,s.jsx)(t.strong,{children:"Testing and Accessibility"}),": Test the Button's behavior in different scenarios, such as when it is disabled or receives focus, to ensure a smooth user experience.\r\nFollow accessibility guidelines to make the ",(0,s.jsx)(t.code,{children:"Button"})," usable for all users, including those who rely on assistive technologies."]}),"\n"]}),"\n"]})]})}function b(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var s=n(6010);const o={tabItem:"tabItem_Ymn6"};var i=n(5893);function a(e){let{children:t,hidden:n,className:a}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,s.Z)(o.tabItem,a),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>A});var s=n(7294),o=n(6010),i=n(2466),a=n(6550),r=n(469),c=n(1980),l=n(7392),d=n(12);function h(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:o}}=e;return{value:t,label:n,attributes:s,default:o}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const o=(0,a.k6)(),i=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(i),(0,s.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(o.location.search);t.set(i,e),o.replace({...o.location,search:t.toString()})}),[i,o])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:o}=e,i=u(e),[a,c]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:i}))),[l,h]=m({queryString:n,groupId:o}),[b,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,i]=(0,d.Nk)(n);return[o,(0,s.useCallback)((e=>{n&&i.set(e)}),[n,i])]}({groupId:o}),x=(()=>{const e=l??b;return p({value:e,tabValues:i})?e:null})();(0,r.Z)((()=>{x&&c(x)}),[x]);return{selectedValue:a,selectValue:(0,s.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);c(e),h(e),g(e)}),[h,g,i]),tabValues:i}}var g=n(2389);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function j(e){let{className:t,block:n,selectedValue:s,selectValue:a,tabValues:r}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,i.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),o=r[n].value;o!==s&&(l(t),a(o))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t),children:r.map((e=>{let{value:t,label:n,attributes:i}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>c.push(e),onKeyDown:h,onClick:d,...i,className:(0,o.Z)("tabs__item",x.tabItem,i?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:o}=e;const i=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===o));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==o})))})}function w(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,o.Z)("tabs-container",x.tabList),children:[(0,v.jsx)(j,{...e,...t}),(0,v.jsx)(f,{...e,...t})]})}function A(e){const t=(0,g.Z)();return(0,v.jsx)(w,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>g});var s=n(7294),o=n(917),i=n(4866),a=n(5162),r=n(4673),c=n(1750);const l="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const s=o.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,i=o.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,a=o.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:s,children:(0,p.tZ)("button",{css:i,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:a,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:a,src:l,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=o.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,s=o.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:s,src:h})})}function g(e){let{path:t,javaC:n,javaE:l,cssURL:d,javaHighlight:h,height:g,frame:x,tabs:v}=e;const[j,f]=(0,s.useState)(""),[w,A]=(0,s.useState)(""),[y,B]=(0,s.useState)(""),[D,k]=(0,s.useState)(!(!n||!l)),[S,Z]=(0,s.useState)(!1),[C,E]=(0,s.useState)({});(0,s.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{A(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{B(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))}))}),[]);const T=o.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==x?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,L=o.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${g}; - `,z=o.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,N=o.iv` - width: 100%; - `,J=o.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${S&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:T,children:["hidden"!=x?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:N,children:[(0,p.tZ)("div",{css:J,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:L})]}):null,(0,p.BX)(r.Z,{css:z,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[n&&l?(0,p.tZ)(m,{collapse:D,setCollapse:k}):null,d?(0,p.BX)(i.Z,{children:[(0,p.tZ)(a.Z,{value:v?v[0]:"Java",label:v?v[0]:C.javaFile,default:!0,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?j:w})}),(0,p.tZ)(a.Z,{value:v?v[1]:"CSS",label:v?v[1]:C.cssFile,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(i.Z,{children:(0,p.tZ)(a.Z,{value:v?v[0]:"Java",label:v?v[0]:C.javaFile,default:!0,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:D?j:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),o=n(917),i=n(8230),a=n(4387),r=n(6770);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:h,suffix:u}=e;const[p,m]=(0,s.useState)("");(0,s.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=o.iv` - display: inline; - - ${l&&o.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,g=o.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,c.BX)(c.HY,{children:["true"===l&&(0,c.tZ)("div",{css:b,children:(0,c.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(a.Z,{css:g,label:"Java API",component:"a",href:p,icon:(0,c.tZ)(r.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!h&&(0,c.tZ)("div",{css:b,children:(0,c.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==l&&h&&(0,c.tZ)("div",{css:b,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var s=n(8397),o=n(5893);function i(e){return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(s.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')},3772:e=>{e.exports=JSON.parse('{"L":{"Le":["dropdown","dropdown-icon","dropdown-separator"],"hM":[],"aK":["--bbj-button-selected-background","--bbj-button-selected-color","--bbj-button-separator-color"],"Oz":["toggleable","selected"]}}')}}]); \ No newline at end of file diff --git a/assets/js/a980013d.cc75f9d6.js b/assets/js/a980013d.6e8cdf5f.js similarity index 87% rename from assets/js/a980013d.cc75f9d6.js rename to assets/js/a980013d.6e8cdf5f.js index ffb275d1a..8622be7e0 100644 --- a/assets/js/a980013d.cc75f9d6.js +++ b/assets/js/a980013d.6e8cdf5f.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1205],{7750:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>x,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var s=n(5893),i=n(1151),r=n(3273);const o={sidebar_position:0,title:"MouseExitEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseExitEvent"},d=void 0,c={id:"components/events/mouse-exit-event",title:"MouseExitEvent",description:"An event that is triggered when the mouse cursor exits the boundaries of an element. It occurs when the user moves the mouse pointer out of the boundaries of the specified element, indicating that the mouse has exited its area.",source:"@site/docs/components/events/mouse-exit-event.md",sourceDirName:"components/events",slug:"/components/events/MouseExitEvent",permalink:"/docs/components/events/MouseExitEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/mouse-exit-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"MouseExitEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseExitEvent"},sidebar:"documentationSidebar",previous:{title:"MouseEnterEvent",permalink:"/docs/components/events/MouseEnterEvent"},next:{title:"RightMouseDownEvent",permalink:"/docs/components/events/RightMouseDownEvent"}},l={},h=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"An event that is triggered when the mouse cursor exits the boundaries of an element. It occurs when the user moves the mouse pointer out of the boundaries of the specified element, indicating that the mouse has exited its area."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getMouseButton()"})}),(0,s.jsx)(t.td,{children:"Returns whether or not a mouse button was pressed while the event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenX()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute abscissa screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenY()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute ordinate screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getX()"})}),(0,s.jsxs)(t.td,{children:["The X coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getY()"})}),(0,s.jsxs)(t.td,{children:["The Y coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isAltDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"alt"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isCmdDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"cmd"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isControlDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"ctrl"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isShiftDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"shift"})," key was pressed at the time this event was generated"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseEnterEvent",children:"MouseEnter Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./RightMouseDownEvent",children:"RightMouseDown Event"})}),"\n"]})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),i=n(917),r=n(8230),o=n(4387),d=n(6770);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:h,code:a,suffix:x}=e;const[u,v]=(0,s.useState)("");(0,s.useEffect)((()=>{x||(x=""),v("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+x)}),[]);const j=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1205],{7750:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>x,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var s=n(5893),i=n(1151),r=n(3273);const o={sidebar_position:0,title:"MouseExitEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseExitEvent"},d=void 0,c={id:"components/events/mouse-exit-event",title:"MouseExitEvent",description:"An event that is triggered when the mouse cursor exits the boundaries of an element. It occurs when the user moves the mouse pointer out of the boundaries of the specified element, indicating that the mouse has exited its area.",source:"@site/docs/components/events/mouse-exit-event.md",sourceDirName:"components/events",slug:"/components/events/MouseExitEvent",permalink:"/docs/components/events/MouseExitEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/mouse-exit-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"MouseExitEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseExitEvent"},sidebar:"documentationSidebar",previous:{title:"MouseEnterEvent",permalink:"/docs/components/events/MouseEnterEvent"},next:{title:"RightMouseDownEvent",permalink:"/docs/components/events/RightMouseDownEvent"}},l={},h=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"An event that is triggered when the mouse cursor exits the boundaries of an element. It occurs when the user moves the mouse pointer out of the boundaries of the specified element, indicating that the mouse has exited its area."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getMouseButton()"})}),(0,s.jsx)(t.td,{children:"Returns whether or not a mouse button was pressed while the event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenX()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute abscissa screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenY()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute ordinate screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getX()"})}),(0,s.jsxs)(t.td,{children:["The X coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getY()"})}),(0,s.jsxs)(t.td,{children:["The Y coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isAltDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"alt"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isCmdDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"cmd"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isControlDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"ctrl"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isShiftDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"shift"})," key was pressed at the time this event was generated"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseEnterEvent",children:"MouseEnter Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./RightMouseDownEvent",children:"RightMouseDown Event"})}),"\n"]})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),r=n(5893),o=(0,i.default)((0,r.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),i=n(917),r=n(8230),o=n(4387),d=n(6031);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:h,code:a,suffix:x}=e;const[u,v]=(0,s.useState)("");(0,s.useEffect)((()=>{x||(x=""),v("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+x)}),[]);const j=i.iv` display: inline; ${l&&i.iv` @@ -10,6 +10,7 @@ `} `,p=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } diff --git a/assets/js/a9bfb29e.3653d76e.js b/assets/js/a9bfb29e.e2f6fb64.js similarity index 61% rename from assets/js/a9bfb29e.3653d76e.js rename to assets/js/a9bfb29e.e2f6fb64.js index d34a6c78d..9266e1c5e 100644 --- a/assets/js/a9bfb29e.3653d76e.js +++ b/assets/js/a9bfb29e.e2f6fb64.js @@ -1,11 +1,11 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[5430],{7722:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>h,contentTitle:()=>d,default:()=>m,frontMatter:()=>c,metadata:()=>u,toc:()=>p});var o=a(5893),s=a(1151),n=(a(4866),a(5162),a(6521)),r=a(6957),l=a(7796),i=a(3273);const c={sidebar_position:0,title:"AppLayout"},d=void 0,u={id:"layouts/app-layout",title:"AppLayout",description:"Features",source:"@site/docs/layouts/app-layout.md",sourceDirName:"layouts",slug:"/layouts/app-layout",permalink:"/docs/layouts/app-layout",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/layouts/app-layout.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"AppLayout"},sidebar:"documentationSidebar",previous:{title:"Layouts",permalink:"/docs/category/layouts"},next:{title:"FlexLayout",permalink:"/docs/layouts/flex_layouts"}},h={},p=[{value:"Features",id:"features",level:3},{value:"Overview",id:"overview",level:3},{value:"Full-Width Navbars",id:"full-width-navbars",level:3},{value:"Multiple Toolbars",id:"multiple-toolbars",level:3},{value:"Sticky Toolbars",id:"sticky-toolbars",level:3},{value:"Mobile Navigation Layout",id:"mobile-navigation-layout",level:3},{value:"Drawer Breakpoint",id:"drawer-breakpoint",level:3},{value:"Events",id:"events",level:3},{value:"Styling",id:"styling",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Slots",id:"slots",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3}];function b(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,s.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/layout/applayout/AppLayout",top:"true"}),"\n",(0,o.jsx)(t.h3,{id:"features",children:"Features"}),"\n",(0,o.jsx)(t.p,{children:"The DWCJ App Layout is a component which allows for building common application layouts."}),"\n",(0,o.jsxs)("ul",{children:[(0,o.jsx)("li",{children:"Easy to use and customize"}),(0,o.jsx)("li",{children:"Responsive design"}),(0,o.jsx)("li",{children:"Multiple layout options"}),(0,o.jsx)("li",{children:"Works with DWCJ Dark Mode"})]}),"\n",(0,o.jsx)(t.p,{children:"It provides a header, footer , drawer, and content section all built into a responsive component which can be easily customized to quickly build common application layouts such as a dashboard. The header and footer are fixed, the drawer slides in and out of the viewport, and the content is scrollable."}),"\n",(0,o.jsx)(t.p,{children:"Each part of the layout is a Div, which can contain any valid DWCJ control. For best results, the application should include a viewport meta tag which contains viewport-fit=cover. The meta tag causes the viewport to be scaled to fill the device display."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:'@AppMeta(name = "viewport", content = "width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no")\n'})}),"\n",(0,o.jsx)(t.h3,{id:"overview",children:"Overview"}),"\n",(0,o.jsx)(t.p,{children:"The following code sample will result in an application with a collapsible sidebar that contains a logo and tabs for various content options and a header. The demo uses the bbj-icon-button web component to create a drawer toggle button. The button has the data-drawer-toggle attribute which instructs the BBjAppLayout to listen to click events coming from that component to toggle the drawer state."}),"\n",(0,o.jsx)(n.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutDemo",mobile:"false"}),"\n",(0,o.jsx)(r.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"full-width-navbars",children:"Full-Width Navbars"}),"\n",(0,o.jsx)(t.p,{children:"By default, the AppLayout renders the header and the footer in the off-screen mode. The off-screen mode means that the header and the footer position will be shifted to fit beside the opened drawer. Disabling this mode will cause the header and footer to take the full available space and shift the drawer top and bottom position to fit with the header and the footer."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",metastring:"showLineNumbers",children:"AppLayout myApp = new AppLayout();\r\n\r\nmyApp.setHeaderOffscreen(false);\r\nmyApp.setFooterOffscreen(false);\n"})}),"\n",(0,o.jsx)(n.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutFullNavbar",mobile:"false"}),"\n",(0,o.jsx)(r.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutFullNavbar.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"multiple-toolbars",children:"Multiple Toolbars"}),"\n",(0,o.jsx)(t.p,{children:"The navbar has no limit to the number of toolbars you can add. A toolbar is only a Div. To add an additional toolbar, simply add a new Div to the existing header div of the AppLayout."}),"\n",(0,o.jsx)(t.p,{children:"The following demo shows how to use two toolbars, The first one houses the drawer's toggle button and the application's title. The second toolbar houses a secondary navigation menu."}),"\n",(0,o.jsx)(n.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutMultipleHeaders",mobile:"false"}),"\n",(0,o.jsx)(r.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMultipleHeaders.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"sticky-toolbars",children:"Sticky Toolbars"}),"\n",(0,o.jsx)(t.p,{children:"A sticky toolbar is a toolbar that remains visible at the top of the page when the user scrolls down but the navbar height is collapsed to make more space available for the page's content. Usually this kind of toolbar contains a fixed navigation menu which is relevant to the current page."}),"\n",(0,o.jsxs)(t.p,{children:["It is possible to create a sticky toolbars using the CSS custom property ",(0,o.jsx)(t.code,{children:"--bbj-app-layout-header-collapse-height"})," and the ",(0,o.jsx)(t.code,{children:"AppLayout.setHeaderReveal()"})," option."]}),"\n",(0,o.jsxs)(t.p,{children:["When ",(0,o.jsx)(t.code,{children:"AppLayout.setHeaderReveal(true)"})," is set called, the header will be visible on first render, and then hidden when the user starts scrolling down. Once the user starts scrolling up again the header will be revealed."]}),"\n",(0,o.jsxs)(t.p,{children:["With the help of the CSS custom property ",(0,o.jsx)(t.code,{children:"--bbj-app-layout-header-collapse-height"})," it is possible to control how much of the header navbar will be hidden."]}),"\n",(0,o.jsx)(n.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutStickyToolbar",mobile:"false"}),"\n",(0,o.jsx)(r.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMultipleHeaders.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_sticky_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"mobile-navigation-layout",children:"Mobile Navigation Layout"}),"\n",(0,o.jsx)(t.p,{children:"The bottom navbar can be used to provide a different version of the navigation at the bottom of application. This type of navigation is specifically popular in mobile apps."}),"\n",(0,o.jsxs)(t.p,{children:["Notice how the drawer is hidden in the following demo. The AppLayout widget supports three drawer positions: ",(0,o.jsx)(t.code,{children:"DrawerPlacement.LEFT"}),", ",(0,o.jsx)(t.code,{children:"DrawerPlacement.RIGHT"}),", and ",(0,o.jsx)(t.code,{children:"DrawerPlacement.HIDDEN"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Same as ",(0,o.jsx)(t.code,{children:"AppLayout.setHeaderReveal()"}),", ",(0,o.jsx)(t.code,{children:"AppLayout.setFooterReveal()"})," is supported. When ",(0,o.jsx)(t.code,{children:"AppLayout.setFooterReveal(true)"})," is called, the footer will be visible at first render then hidden when the user starts scrolling up. Once the user starts scrolling down again the footer will be revealed."]}),"\n",(0,o.jsxs)(t.p,{children:["Be default, when the screen width is 800px or less , the drawer will be switched to popover mode. This is called the breakpoint. The popover mode means that the drawer will pop over the content area with an overlay. It is possible to configure the breakpoint by using the BBjAppLayout",":setDrawerBreakpoint"," method and the breakpoint must be a valid ",(0,o.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries",children:"media query"}),"."]}),"\n",(0,o.jsx)(n.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutMobile",mobile:"true"}),"\n",(0,o.jsx)(r.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMobile.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_mobile.css"}),"\n",(0,o.jsx)(t.h3,{id:"drawer-breakpoint",children:"Drawer Breakpoint"}),"\n",(0,o.jsxs)(t.p,{children:["Be default, when the screen width is 800px or less , the drawer will be switched to popover mode. This is called the breakpoint. Popover mode means that the drawer will pop over the content area with an overlay. It is possible to configure the breakpoint by using the BBjAppLayout",":setDrawerBreakpoint"," method and the breakpoint must be a valid media query."]}),"\n",(0,o.jsx)(t.p,{children:"For instance, in the following sample. we configure the drawer breakpoint to be 500px or less."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:'AppLayout demo = new AppLayout();\r\ndemo.setDrawerBreakpoint("(max-width:500px)");\n'})}),"\n",(0,o.jsx)(n.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutMobileDrawer",mobile:"true"}),"\n",(0,o.jsx)(r.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMobileDrawer.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_mobile.css"}),"\n",(0,o.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"AppLayout"})," class supports two events:"]}),"\n",(0,o.jsxs)("ol",{children:[(0,o.jsx)("li",{children:"onDrawerOpen Fired when the drawer is opened"}),(0,o.jsx)("li",{children:"onDrawerClose Fired when the drawer is closed"})]}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(l.Z,{tag:a(5731).LN,table:"parts"}),"\n",(0,o.jsx)(t.h3,{id:"slots",children:"Slots"}),"\n",(0,o.jsxs)(t.p,{children:["Listed below are the slots available for utilization within the ",(0,o.jsx)(t.code,{children:"AppLayout"})," component. These slots act as placeholders within the component that control where the children of a customized element should be inserted within the shadow tree."]}),"\n",(0,o.jsx)(l.Z,{tag:a(5731).LN,table:"slots"}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(l.Z,{tag:a(5731).LN,table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(l.Z,{tag:a(5731).LN,table:"reflects"}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(l.Z,{tag:"bbj-app-layout",table:"dependencies"})]})}function m(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(b,{...e})}):b(e)}},5162:(e,t,a)=>{a.d(t,{Z:()=>r});a(7294);var o=a(6010);const s={tabItem:"tabItem_Ymn6"};var n=a(5893);function r(e){let{children:t,hidden:a,className:r}=e;return(0,n.jsx)("div",{role:"tabpanel",className:(0,o.Z)(s.tabItem,r),hidden:a,children:t})}},4866:(e,t,a)=>{a.d(t,{Z:()=>x});var o=a(7294),s=a(6010),n=a(2466),r=a(6550),l=a(469),i=a(1980),c=a(7392),d=a(12);function u(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:a}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:a,attributes:o,default:s}}=e;return{value:t,label:a,attributes:o,default:s}}))}(a);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,a])}function p(e){let{value:t,tabValues:a}=e;return a.some((e=>e.value===t))}function b(e){let{queryString:t=!1,groupId:a}=e;const s=(0,r.k6)(),n=function(e){let{queryString:t=!1,groupId:a}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:t,groupId:a});return[(0,i._X)(n),(0,o.useCallback)((e=>{if(!n)return;const t=new URLSearchParams(s.location.search);t.set(n,e),s.replace({...s.location,search:t.toString()})}),[n,s])]}function m(e){const{defaultValue:t,queryString:a=!1,groupId:s}=e,n=h(e),[r,i]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:a}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=a.find((e=>e.default))??a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:n}))),[c,u]=b({queryString:a,groupId:s}),[m,v]=function(e){let{groupId:t}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,n]=(0,d.Nk)(a);return[s,(0,o.useCallback)((e=>{a&&n.set(e)}),[a,n])]}({groupId:s}),w=(()=>{const e=c??m;return p({value:e,tabValues:n})?e:null})();(0,l.Z)((()=>{w&&i(w)}),[w]);return{selectedValue:r,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:n}))throw new Error(`Can't select invalid tab value=${e}`);i(e),u(e),v(e)}),[u,v,n]),tabValues:n}}var v=a(2389);const w={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=a(5893);function g(e){let{className:t,block:a,selectedValue:o,selectValue:r,tabValues:l}=e;const i=[],{blockElementScrollPositionUntilNextRender:c}=(0,n.o5)(),d=e=>{const t=e.currentTarget,a=i.indexOf(t),s=l[a].value;s!==o&&(c(t),r(s))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const a=i.indexOf(e.currentTarget)+1;t=i[a]??i[0];break}case"ArrowLeft":{const a=i.indexOf(e.currentTarget)-1;t=i[a]??i[i.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":a},t),children:l.map((e=>{let{value:t,label:a,attributes:n}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>i.push(e),onKeyDown:u,onClick:d,...n,className:(0,s.Z)("tabs__item",w.tabItem,n?.className,{"tabs__item--active":o===t}),children:a??t},t)}))})}function y(e){let{lazy:t,children:a,selectedValue:s}=e;const n=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){const e=n.find((e=>e.props.value===s));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:n.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function f(e){const t=m(e);return(0,A.jsxs)("div",{className:(0,s.Z)("tabs-container",w.tabList),children:[(0,A.jsx)(g,{...e,...t}),(0,A.jsx)(y,{...e,...t})]})}function x(e){const t=(0,v.Z)();return(0,A.jsx)(f,{...e,children:u(e.children)},String(t))}},6521:(e,t,a)=>{a.d(t,{Z:()=>n});a(7294);var o=a(917),s=a(5944);function n(e){let{url:t,mobile:a}=e;const n=o.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[5430],{7722:(e,t,a)=>{a.r(t),a.d(t,{assets:()=>p,contentTitle:()=>d,default:()=>m,frontMatter:()=>c,metadata:()=>u,toc:()=>h});var o=a(5893),r=a(1151),s=(a(4866),a(5162),a(6521)),n=a(6957),i=a(7796),l=a(3273);const c={sidebar_position:0,title:"AppLayout"},d=void 0,u={id:"layouts/app-layout",title:"AppLayout",description:"Features",source:"@site/docs/layouts/app-layout.md",sourceDirName:"layouts",slug:"/layouts/app-layout",permalink:"/docs/layouts/app-layout",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/layouts/app-layout.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"AppLayout"},sidebar:"documentationSidebar",previous:{title:"Layouts",permalink:"/docs/category/layouts"},next:{title:"FlexLayout",permalink:"/docs/layouts/flex_layouts"}},p={},h=[{value:"Features",id:"features",level:3},{value:"Overview",id:"overview",level:3},{value:"Full-Width Navbars",id:"full-width-navbars",level:3},{value:"Multiple Toolbars",id:"multiple-toolbars",level:3},{value:"Sticky Toolbars",id:"sticky-toolbars",level:3},{value:"Mobile Navigation Layout",id:"mobile-navigation-layout",level:3},{value:"Drawer Breakpoint",id:"drawer-breakpoint",level:3},{value:"Events",id:"events",level:3},{value:"Styling",id:"styling",level:2},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Slots",id:"slots",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3}];function b(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",p:"p",pre:"pre",...(0,r.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/layout/applayout/AppLayout",top:"true"}),"\n",(0,o.jsx)(t.h3,{id:"features",children:"Features"}),"\n",(0,o.jsx)(t.p,{children:"The DWCJ App Layout is a component which allows for building common application layouts."}),"\n",(0,o.jsxs)("ul",{children:[(0,o.jsx)("li",{children:"Easy to use and customize"}),(0,o.jsx)("li",{children:"Responsive design"}),(0,o.jsx)("li",{children:"Multiple layout options"}),(0,o.jsx)("li",{children:"Works with DWCJ Dark Mode"})]}),"\n",(0,o.jsx)(t.p,{children:"It provides a header, footer , drawer, and content section all built into a responsive component which can be easily customized to quickly build common application layouts such as a dashboard. The header and footer are fixed, the drawer slides in and out of the viewport, and the content is scrollable."}),"\n",(0,o.jsx)(t.p,{children:"Each part of the layout is a Div, which can contain any valid DWCJ control. For best results, the application should include a viewport meta tag which contains viewport-fit=cover. The meta tag causes the viewport to be scaled to fill the device display."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:'@AppMeta(name = "viewport", content = "width=device-width, initial-scale=1.0, viewport-fit=cover, user-scalable=no")\n'})}),"\n",(0,o.jsx)(t.h3,{id:"overview",children:"Overview"}),"\n",(0,o.jsx)(t.p,{children:"The following code sample will result in an application with a collapsible sidebar that contains a logo and tabs for various content options and a header. The demo uses the bbj-icon-button web component to create a drawer toggle button. The button has the data-drawer-toggle attribute which instructs the BBjAppLayout to listen to click events coming from that component to toggle the drawer state."}),"\n",(0,o.jsx)(s.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutDemo",mobile:"false"}),"\n",(0,o.jsx)(n.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"full-width-navbars",children:"Full-Width Navbars"}),"\n",(0,o.jsx)(t.p,{children:"By default, the AppLayout renders the header and the footer in the off-screen mode. The off-screen mode means that the header and the footer position will be shifted to fit beside the opened drawer. Disabling this mode will cause the header and footer to take the full available space and shift the drawer top and bottom position to fit with the header and the footer."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",metastring:"showLineNumbers",children:"AppLayout myApp = new AppLayout();\r\n\r\nmyApp.setHeaderOffscreen(false);\r\nmyApp.setFooterOffscreen(false);\n"})}),"\n",(0,o.jsx)(s.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutFullNavbar",mobile:"false"}),"\n",(0,o.jsx)(n.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutFullNavbar.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"multiple-toolbars",children:"Multiple Toolbars"}),"\n",(0,o.jsx)(t.p,{children:"The navbar has no limit to the number of toolbars you can add. A toolbar is only a Div. To add an additional toolbar, simply add a new Div to the existing header div of the AppLayout."}),"\n",(0,o.jsx)(t.p,{children:"The following demo shows how to use two toolbars, The first one houses the drawer's toggle button and the application's title. The second toolbar houses a secondary navigation menu."}),"\n",(0,o.jsx)(s.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutMultipleHeaders",mobile:"false"}),"\n",(0,o.jsx)(n.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMultipleHeaders.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"sticky-toolbars",children:"Sticky Toolbars"}),"\n",(0,o.jsx)(t.p,{children:"A sticky toolbar is a toolbar that remains visible at the top of the page when the user scrolls down but the navbar height is collapsed to make more space available for the page's content. Usually this kind of toolbar contains a fixed navigation menu which is relevant to the current page."}),"\n",(0,o.jsxs)(t.p,{children:["It is possible to create a sticky toolbars using the CSS custom property ",(0,o.jsx)(t.code,{children:"--bbj-app-layout-header-collapse-height"})," and the ",(0,o.jsx)(t.code,{children:"AppLayout.setHeaderReveal()"})," option."]}),"\n",(0,o.jsxs)(t.p,{children:["When ",(0,o.jsx)(t.code,{children:"AppLayout.setHeaderReveal(true)"})," is set called, the header will be visible on first render, and then hidden when the user starts scrolling down. Once the user starts scrolling up again the header will be revealed."]}),"\n",(0,o.jsxs)(t.p,{children:["With the help of the CSS custom property ",(0,o.jsx)(t.code,{children:"--bbj-app-layout-header-collapse-height"})," it is possible to control how much of the header navbar will be hidden."]}),"\n",(0,o.jsx)(s.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutStickyToolbar",mobile:"false"}),"\n",(0,o.jsx)(n.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMultipleHeaders.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_sticky_styles.css"}),"\n",(0,o.jsx)(t.h3,{id:"mobile-navigation-layout",children:"Mobile Navigation Layout"}),"\n",(0,o.jsx)(t.p,{children:"The bottom navbar can be used to provide a different version of the navigation at the bottom of application. This type of navigation is specifically popular in mobile apps."}),"\n",(0,o.jsxs)(t.p,{children:["Notice how the drawer is hidden in the following demo. The AppLayout widget supports three drawer positions: ",(0,o.jsx)(t.code,{children:"DrawerPlacement.LEFT"}),", ",(0,o.jsx)(t.code,{children:"DrawerPlacement.RIGHT"}),", and ",(0,o.jsx)(t.code,{children:"DrawerPlacement.HIDDEN"}),"."]}),"\n",(0,o.jsxs)(t.p,{children:["Same as ",(0,o.jsx)(t.code,{children:"AppLayout.setHeaderReveal()"}),", ",(0,o.jsx)(t.code,{children:"AppLayout.setFooterReveal()"})," is supported. When ",(0,o.jsx)(t.code,{children:"AppLayout.setFooterReveal(true)"})," is called, the footer will be visible at first render then hidden when the user starts scrolling up. Once the user starts scrolling down again the footer will be revealed."]}),"\n",(0,o.jsxs)(t.p,{children:["Be default, when the screen width is 800px or less , the drawer will be switched to popover mode. This is called the breakpoint. The popover mode means that the drawer will pop over the content area with an overlay. It is possible to configure the breakpoint by using the BBjAppLayout",":setDrawerBreakpoint"," method and the breakpoint must be a valid ",(0,o.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Web/CSS/Media_Queries/Using_media_queries",children:"media query"}),"."]}),"\n",(0,o.jsx)(s.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutMobile",mobile:"true"}),"\n",(0,o.jsx)(n.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMobile.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_mobile.css"}),"\n",(0,o.jsx)(t.h3,{id:"drawer-breakpoint",children:"Drawer Breakpoint"}),"\n",(0,o.jsxs)(t.p,{children:["Be default, when the screen width is 800px or less , the drawer will be switched to popover mode. This is called the breakpoint. Popover mode means that the drawer will pop over the content area with an overlay. It is possible to configure the breakpoint by using the BBjAppLayout",":setDrawerBreakpoint"," method and the breakpoint must be a valid media query."]}),"\n",(0,o.jsx)(t.p,{children:"For instance, in the following sample. we configure the drawer breakpoint to be 500px or less."}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:'AppLayout demo = new AppLayout();\r\ndemo.setDrawerBreakpoint("(max-width:500px)");\n'})}),"\n",(0,o.jsx)(s.Z,{url:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.applayout.AppLayoutMobileDrawer",mobile:"true"}),"\n",(0,o.jsx)(n.Z,{frame:"hidden",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/applayout/AppLayoutMobileDrawer.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/applayoutstyles/applayout_mobile.css"}),"\n",(0,o.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"AppLayout"})," class supports two events:"]}),"\n",(0,o.jsxs)("ol",{children:[(0,o.jsx)("li",{children:"onDrawerOpen Fired when the drawer is opened"}),(0,o.jsx)("li",{children:"onDrawerClose Fired when the drawer is closed"})]}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(i.Z,{tag:a(5731).LN,table:"parts"}),"\n",(0,o.jsx)(t.h3,{id:"slots",children:"Slots"}),"\n",(0,o.jsxs)(t.p,{children:["Listed below are the slots available for utilization within the ",(0,o.jsx)(t.code,{children:"AppLayout"})," component. These slots act as placeholders within the component that control where the children of a customized element should be inserted within the shadow tree."]}),"\n",(0,o.jsx)(i.Z,{tag:a(5731).LN,table:"slots"}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(i.Z,{tag:a(5731).LN,table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(i.Z,{tag:a(5731).LN,table:"reflects"}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(i.Z,{tag:"bbj-app-layout",table:"dependencies"})]})}function m(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(b,{...e})}):b(e)}},6031:(e,t,a)=>{var o=a(4836);t.Z=void 0;var r=o(a(4938)),s=a(5893),n=(0,r.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=n},2610:(e,t,a)=>{var o=a(4836);t.Z=void 0;var r=o(a(4938)),s=a(5893),n=(0,r.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=n},5162:(e,t,a)=>{a.d(t,{Z:()=>n});a(7294);var o=a(6010);const r={tabItem:"tabItem_Ymn6"};var s=a(5893);function n(e){let{children:t,hidden:a,className:n}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,o.Z)(r.tabItem,n),hidden:a,children:t})}},4866:(e,t,a)=>{a.d(t,{Z:()=>x});var o=a(7294),r=a(6010),s=a(2466),n=a(6550),i=a(469),l=a(1980),c=a(7392),d=a(12);function u(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function p(e){const{values:t,children:a}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:a,attributes:o,default:r}}=e;return{value:t,label:a,attributes:o,default:r}}))}(a);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,a])}function h(e){let{value:t,tabValues:a}=e;return a.some((e=>e.value===t))}function b(e){let{queryString:t=!1,groupId:a}=e;const r=(0,n.k6)(),s=function(e){let{queryString:t=!1,groupId:a}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!a)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return a??null}({queryString:t,groupId:a});return[(0,l._X)(s),(0,o.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(r.location.search);t.set(s,e),r.replace({...r.location,search:t.toString()})}),[s,r])]}function m(e){const{defaultValue:t,queryString:a=!1,groupId:r}=e,s=p(e),[n,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:a}=e;if(0===a.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!h({value:t,tabValues:a}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${a.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=a.find((e=>e.default))??a[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:s}))),[c,u]=b({queryString:a,groupId:r}),[m,v]=function(e){let{groupId:t}=e;const a=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,s]=(0,d.Nk)(a);return[r,(0,o.useCallback)((e=>{a&&s.set(e)}),[a,s])]}({groupId:r}),w=(()=>{const e=c??m;return h({value:e,tabValues:s})?e:null})();(0,i.Z)((()=>{w&&l(w)}),[w]);return{selectedValue:n,selectValue:(0,o.useCallback)((e=>{if(!h({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),v(e)}),[u,v,s]),tabValues:s}}var v=a(2389);const w={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var A=a(5893);function g(e){let{className:t,block:a,selectedValue:o,selectValue:n,tabValues:i}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,a=l.indexOf(t),r=i[a].value;r!==o&&(c(t),n(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const a=l.indexOf(e.currentTarget)+1;t=l[a]??l[0];break}case"ArrowLeft":{const a=l.indexOf(e.currentTarget)-1;t=l[a]??l[l.length-1];break}}t?.focus()};return(0,A.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":a},t),children:i.map((e=>{let{value:t,label:a,attributes:s}=e;return(0,A.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...s,className:(0,r.Z)("tabs__item",w.tabItem,s?.className,{"tabs__item--active":o===t}),children:a??t},t)}))})}function f(e){let{lazy:t,children:a,selectedValue:r}=e;const s=(Array.isArray(a)?a:[a]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===r));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,A.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function y(e){const t=m(e);return(0,A.jsxs)("div",{className:(0,r.Z)("tabs-container",w.tabList),children:[(0,A.jsx)(g,{...e,...t}),(0,A.jsx)(f,{...e,...t})]})}function x(e){const t=(0,v.Z)();return(0,A.jsx)(y,{...e,children:u(e.children)},String(t))}},6521:(e,t,a)=>{a.d(t,{Z:()=>s});a(7294);var o=a(917),r=a(5944);function s(e){let{url:t,mobile:a}=e;const s=o.iv` display: flex; flex-direction: column; align-items: center; margin: 4rem 0; /* width: 110%; */ margin-left: -5%; - `,r=o.iv` + `,n=o.iv` position: relative; width : 100%; max-width: ${"true"==a?"375px":"100%"}; @@ -14,17 +14,19 @@ overflow: hidden; box-shadow: 0 0 0 10px black, 0 3px 22px black; outline: thin solid black; - `,l=o.iv` + `,i=o.iv` width: 100%; height: 100%; background: var(--bbj-surface-3); - `;return(0,s.tZ)("div",{css:n,children:(0,s.tZ)("div",{css:r,children:(0,s.tZ)("iframe",{src:t,css:l,loading:"lazy"})})})}},6957:(e,t,a)=>{a.d(t,{Z:()=>v});var o=a(7294),s=a(917),n=a(4866),r=a(5162),l=a(4673),i=a(1750);const c="data:image/png;base64,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",d=a.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=a(2949),p=a(5944);function b(e){let{collapse:t,setCollapse:a}=e;const o=s.iv` + `;return(0,r.tZ)("div",{css:s,children:(0,r.tZ)("div",{css:n,children:(0,r.tZ)("iframe",{src:t,css:i,loading:"lazy"})})})}},6957:(e,t,a)=>{a.d(t,{Z:()=>v});var o=a(7294),r=a(917),s=a(4866),n=a(5162),i=a(4673),l=a(1750);const c="data:image/png;base64,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",d=a.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var p=a(2610),h=a(5944);function b(e){let{collapse:t,setCollapse:a}=e;const o=r.iv` display: flex; justify-content: end; - margin-bottom: -30px; + align-items: flex-end; background-color: transparent; - `,n=s.iv` - position: relative; + margin-bottom: -10px; + `,s=r.iv` + /* position: absolute; + right: 0; */ cursor: pointer; z-index: 10; height: 35px; @@ -32,11 +34,12 @@ border: none; background-color: none; justify-self: flex-end; - margin-right: 5px; background-color: transparent; - `,r=s.iv` + margin-right: 5px; + margin-bottom: -50px !important; + `,n=r.iv` filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:n,onClick:()=>{a(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function m(e){let{url:t}=e;const a=s.iv` + `;return(0,h.tZ)("div",{css:o,children:(0,h.tZ)("button",{css:s,onClick:()=>{a(!t)},children:t?(0,h.tZ)("img",{css:n,src:d,className:"icon-tabler-arrow-bar-up"}):(0,h.tZ)("img",{css:n,src:c,className:"icon-tabler-arrow-bar-down"})})})}function m(e){let{url:t}=e;const a=r.iv` position: relative; cursor: pointer; z-index: 10; @@ -45,76 +48,119 @@ border: none; background-color: none; justify-self: flex-end; - /* margin-right: 5px; */ margin-top: -5px; margin-bottom: -20px; background-color: transparent; - `,o=s.iv` + `,o=r.iv` filter: invert(var(--inversion-percentage)); ::before{ mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ opacity: 0.5; } - `;return(0,p.tZ)("button",{css:a,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:u})})}function v(e){let{path:t,javaC:a,javaE:c,cssURL:d,javaHighlight:u,height:v,frame:w,tabs:A}=e;const[g,y]=(0,o.useState)(""),[f,x]=(0,o.useState)(""),[j,D]=(0,o.useState)(""),[k,L]=(0,o.useState)(!(!a||!c)),[Z,B]=(0,o.useState)(!1),[S,C]=(0,o.useState)({});(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{x(e);const t=new URL(c).pathname.split("/"),a=t[t.length-1];C((e=>({...e,javaFile:a})))})),a&&fetch(a).then((e=>e.text())).then((e=>{y(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),a=t[t.length-1];C((e=>({...e,cssFile:a})))}))}),[]);const E=s.iv` + `;return(0,h.tZ)("button",{css:a,onClick:()=>{window.open(t,"_blank")},children:(0,h.tZ)("img",{css:o,src:u})})}function v(e){let{path:t,javaC:a,javaE:c,cssURL:d,javaHighlight:u,height:v,frame:w,tabs:A}=e;const[g,f]=(0,o.useState)(""),[y,x]=(0,o.useState)(""),[j,D]=(0,o.useState)(""),[k,Z]=(0,o.useState)(!(!a||!c)),[S,L]=(0,o.useState)(!1),[B,C]=(0,o.useState)({}),[E,M]=(0,o.useState)(!1),[T,N]=(0,o.useState)(0),[F,z]=(0,o.useState)(0),[J,H]=(0,o.useState)(25),[O,V]=(0,o.useState)(25),[X,G]=(0,o.useState)(0),[R,Y]=(0,o.useState)(!1),W=(0,o.useRef)(null),P=(0,o.useRef)(null);(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{x(e);const t=new URL(c).pathname.split("/"),a=t[t.length-1];C((e=>({...e,javaFile:a})))})),a&&fetch(a).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),a=t[t.length-1];C((e=>({...e,cssFile:a})))})),G(W.current.offsetWidth),console.log(X)}),[]);const I=()=>{M(!1),console.log("Stop Resizing")},q=e=>{if(E){const t=e.clientX-T;F+t>X/3&&(W.current.style.width=`${F+t}px`,P.current.style.right=(J-t<25?25:J-t)+"px",V(J-t<25?25:J-t))}},U=r.iv` display: flex; flex-direction: column; - background-color: var(--code-display-color); width: 100%; margin-bottom: 16px; - padding: ${"hidden"==w?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,T=s.iv` + /* padding: ${"hidden"==w?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=r.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=r.iv` min-height: 100px; height: 100%; width: 100%; - height: ${v}; - `,N=s.iv` - border: none; + height: ${v||"100%"}; + pointer-events: none; + `,_=r.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${S&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=r.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=r.iv` box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; - .tabs{ - margin-top: 20px; + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px } summary{ display: flex; width: 100%; justify-content: center; - margin: 0; + margin: 10px 0; font-weight: bold; ::before{ left: auto; margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) } } - - `,F=s.iv` - width: 100%; - `,M=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${Z&&"opacity: 1;"}; + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=r.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } - `;return(0,p.BX)("div",{css:E,children:["hidden"!=w?(0,p.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:F,children:[(0,p.tZ)("div",{css:M,children:(0,p.tZ)(m,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:T})]}):null,(0,p.BX)(l.Z,{css:N,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[a&&c?(0,p.tZ)(b,{collapse:k,setCollapse:L}):null,d?(0,p.BX)(n.Z,{children:[(0,p.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:S.javaFile,default:!0,children:(0,p.tZ)(i.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:k?g:f})}),(0,p.tZ)(r.Z,{value:A?A[1]:"CSS",label:A?A[1]:S.cssFile,children:(0,p.tZ)(i.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,p.tZ)(n.Z,{children:(0,p.tZ)(r.Z,{value:A?A[0]:"Java",label:A?A[0]:S.javaFile,default:!0,children:(0,p.tZ)(i.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:k?g:f})})})]})]})}},3273:(e,t,a)=>{a.d(t,{Z:()=>c});var o=a(7294),s=a(917),n=a(8230),r=a(4387),l=a(6770);var i=a(5944);function c(e){let{type:t,location:a,top:c,children:d,code:u,suffix:h}=e;const[p,b]=(0,o.useState)("");(0,o.useEffect)((()=>{h||(h=""),b("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+a+".html"+h)}),[]);const m=s.iv` + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ae=r.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,h.BX)("div",{css:U,onMouseUp:I,onMouseLeave:I,onMouseMove:q,children:["hidden"!=w?(0,h.BX)("div",{onMouseEnter:()=>{L(!0)},onMouseLeave:()=>L(!1),css:K,children:[(0,h.tZ)("iframe",{onMouseUp:I,loading:"lazy",src:t,css:{...Q,pointerEvents:E?"none":"auto"},ref:W,onMouseMove:q}),(0,h.tZ)("div",{css:_,ref:P,children:(0,h.tZ)(m,{url:t})}),(0,h.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),M(!0),N(e.clientX),z(W.current.offsetWidth),H(O),console.log(P.current.right),console.log("Start Resizing")},children:(0,h.tZ)(p.Z,{})})]}):null,(0,h.BX)(i.Z,{css:ee,summary:(0,h.tZ)("summary",{onClick:()=>Y(!R),children:R?"Hide Code":"Show Code"}),children:[a&&c?(0,h.tZ)(b,{collapse:k,setCollapse:Z}):null,d?(0,h.BX)(s.Z,{css:te,children:[(0,h.tZ)(n.Z,{value:A?A[0]:"Java",label:A?A[0]:B.javaFile,default:!0,children:(0,h.tZ)(l.Z,{css:ae,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:k?g:y})}),(0,h.tZ)(n.Z,{value:A?A[1]:"CSS",label:A?A[1]:B.cssFile,children:(0,h.tZ)(l.Z,{css:ae,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,h.tZ)(s.Z,{css:te,children:(0,h.tZ)(n.Z,{value:A?A[0]:"Java",label:A?A[0]:B.javaFile,default:!0,children:(0,h.tZ)(l.Z,{css:ae,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:k?g:y})})})]})]})}},3273:(e,t,a)=>{a.d(t,{Z:()=>c});var o=a(7294),r=a(917),s=a(8230),n=a(4387),i=a(6031);var l=a(5944);function c(e){let{type:t,location:a,top:c,children:d,code:u,suffix:p}=e;const[h,b]=(0,o.useState)("");(0,o.useEffect)((()=>{p||(p=""),b("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+a+".html"+p)}),[]);const m=r.iv` display: inline; - ${c&&s.iv` + ${c&&r.iv` width: 100%; display: flex; justify-content: flex-end; margin-top: -33px; margin-bottom: 25px; `} - `,v=s.iv` + `,v=r.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,i.BX)(i.HY,{children:["true"===c&&(0,i.tZ)("div",{css:m,children:(0,i.tZ)(n.Z,{title:"JavaDoc",arrow:!0,children:(0,i.tZ)(r.Z,{css:v,label:"Java API",component:"a",href:p,icon:(0,i.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,i.tZ)("div",{css:m,children:(0,i.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,i.tZ)("div",{css:m,children:(0,i.tZ)("code",{children:(0,i.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,a)=>{a.d(t,{Z:()=>n});a(7294);var o=a(8397),s=a(5893);function n(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:m,children:(0,l.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(n.Z,{css:v,label:"Java API",component:"a",href:h,icon:(0,l.tZ)(i.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:m,children:(0,l.tZ)("a",{href:h,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:m,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:h,target:"_blank",children:d})})})]})}},1415:(e,t,a)=>{a.d(t,{Z:()=>s});a(7294);var o=a(8397),r=a(5893);function s(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/ac18fad6.62a343cd.js b/assets/js/ac18fad6.5d25213f.js similarity index 64% rename from assets/js/ac18fad6.62a343cd.js rename to assets/js/ac18fad6.5d25213f.js index 9189587cb..198a21bc6 100644 --- a/assets/js/ac18fad6.62a343cd.js +++ b/assets/js/ac18fad6.5d25213f.js @@ -1,7 +1,7 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9666],{7160:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>r,default:()=>u,frontMatter:()=>c,metadata:()=>a,toc:()=>d});var i=n(5893),s=n(1151),o=n(3273);const c={sidebar_position:0,title:"FocusEvent",sidebar_class_name:"sidebar--item__hidden",slug:"FocusEvent"},r=void 0,a={id:"components/events/focus-event",title:"FocusEvent",description:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input.",source:"@site/docs/components/events/focus-event.md",sourceDirName:"components/events",slug:"/components/events/FocusEvent",permalink:"/docs/components/events/FocusEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/focus-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"FocusEvent",sidebar_class_name:"sidebar--item__hidden",slug:"FocusEvent"},sidebar:"documentationSidebar",previous:{title:"ListClickEvent",permalink:"/docs/components/events/ListClickEvent"},next:{title:"KeypressEvent",permalink:"/docs/components/events/KeypressEvent"}},l={},d=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",top:"true"}),"\n",(0,i.jsx)(t.p,{children:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input."}),"\n",(0,i.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"getText()"})}),(0,i.jsx)(t.td,{children:"Gets the text of the component."})]})})]}),"\n",(0,i.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"./BlurEvent",children:"Blur Event"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var i=n(7294),s=n(917),o=n(8230),c=n(4387),r=n(6770);var a=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:h,suffix:u}=e;const[v,p]=(0,i.useState)("");(0,i.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const m=s.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9666],{7160:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>d,contentTitle:()=>r,default:()=>v,frontMatter:()=>o,metadata:()=>a,toc:()=>l});var i=n(5893),s=n(1151),c=n(3273);const o={sidebar_position:0,title:"FocusEvent",sidebar_class_name:"sidebar--item__hidden",slug:"FocusEvent"},r=void 0,a={id:"components/events/focus-event",title:"FocusEvent",description:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input.",source:"@site/docs/components/events/focus-event.md",sourceDirName:"components/events",slug:"/components/events/FocusEvent",permalink:"/docs/components/events/FocusEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/focus-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"FocusEvent",sidebar_class_name:"sidebar--item__hidden",slug:"FocusEvent"},sidebar:"documentationSidebar",previous:{title:"ListClickEvent",permalink:"/docs/components/events/ListClickEvent"},next:{title:"KeypressEvent",permalink:"/docs/components/events/KeypressEvent"}},d={},l=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(c.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",top:"true"}),"\n",(0,i.jsx)(t.p,{children:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input."}),"\n",(0,i.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsx)(t.tbody,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(t.code,{children:"getText()"})}),(0,i.jsx)(t.td,{children:"Gets the text of the component."})]})})]}),"\n",(0,i.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.a,{href:"./BlurEvent",children:"Blur Event"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var i=n(4836);t.Z=void 0;var s=i(n(4938)),c=n(5893),o=(0,s.default)((0,c.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>d});var i=n(7294),s=n(917),c=n(8230),o=n(4387),r=n(6031);var a=n(5944);function d(e){let{type:t,location:n,top:d,children:l,code:h,suffix:v}=e;const[u,p]=(0,i.useState)("");(0,i.useEffect)((()=>{v||(v=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const m=s.iv` display: inline; - ${l&&s.iv` + ${d&&s.iv` width: 100%; display: flex; justify-content: flex-end; @@ -10,7 +10,8 @@ `} `,b=s.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,a.BX)(a.HY,{children:["true"===l&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)(o.Z,{title:"JavaDoc",arrow:!0,children:(0,a.tZ)(c.Z,{css:b,label:"Java API",component:"a",href:v,icon:(0,a.tZ)(r.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!h&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)("a",{href:v,target:"_blank",children:d})}),"true"!==l&&h&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)("code",{children:(0,a.tZ)("a",{href:v,target:"_blank",children:d})})})]})}}}]); \ No newline at end of file + `;return(0,a.BX)(a.HY,{children:["true"===d&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)(c.Z,{title:"JavaDoc",arrow:!0,children:(0,a.tZ)(o.Z,{css:b,label:"Java API",component:"a",href:u,icon:(0,a.tZ)(r.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!h&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)("a",{href:u,target:"_blank",children:l})}),"true"!==d&&h&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)("code",{children:(0,a.tZ)("a",{href:u,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/af08f1ee.0fd55a24.js b/assets/js/af08f1ee.0fd55a24.js deleted file mode 100644 index 037480b27..000000000 --- a/assets/js/af08f1ee.0fd55a24.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6405],{6509:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>h});var i=n(5893),a=n(1151),s=n(6957),r=(n(7796),n(3273)),l=n(2665);const o={sidebar_position:2,title:"DateField",slug:"datefield"},c=void 0,d={id:"components/fields/date-field",title:"DateField",description:"The DateField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/date-field.md",sourceDirName:"components/fields",slug:"/components/fields/datefield",permalink:"/docs/components/fields/datefield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/date-field.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"DateField",slug:"datefield"},sidebar:"documentationSidebar",previous:{title:"ColorField",permalink:"/docs/components/fields/colorfield"},next:{title:"DateTimeField",permalink:"/docs/components/fields/datetimefield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Display",id:"display",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,i.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,i.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/field/DateField",top:"true"}),"\n",(0,i.jsxs)(t.admonition,{type:"success",children:[(0,i.jsx)(t.mdxAdmonitionTitle,{children:(0,i.jsx)(t.strong,{children:"Important"})}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,i.jsx)(t.strong,{children:(0,i.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," is a user interface component that allows users to input or select dates. It provides an intuitive and efficient way to handle date-related information in various applications. This section outlines the best practices for using the ",(0,i.jsx)(t.code,{children:"DateField"})," component effectively."]}),"\n",(0,i.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.DateFieldDemo",javaC:"",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/DateFieldDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,i.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," is best used in scenarios where capturing or displaying dates is a crucial part of the user interface or application functionality. Here are some examples of when to use the date field"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Event Scheduling and Calendars"}),": Date fields are essential in applications that involve event scheduling, appointment booking, or managing calendars. They enable users to select specific dates accurately."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require date inputs, using a date field simplifies the date selection process for users. This is particularly useful for applications that collect user data or require date-based inputs."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Booking and Reservation Systems"}),": Applications that involve booking and reservation systems often require users to input specific dates. A date field simplifies the process and ensures accurate date selection."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Task Management and Deadlines"}),": Date fields are valuable in applications that involve task management or setting deadlines. Users can easily specify due dates, start dates, or other time-sensitive information."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class provides a user interface component that allows the user to enter a date, including the year, month, and day. It offers the flexibility to validate the input or use a special date picker interface."]}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class has four constructors:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField(String label, LocalDate date)"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," with a given label and date."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField(String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," with a given label but with no pre-populated date."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField(LocalDate date)"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," with a given date, but without a label."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField()"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," without any provided information."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,i.jsxs)(t.p,{children:["You can use the ",(0,i.jsx)(t.code,{children:"setMax()"})," and ",(0,i.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable range of dates. If the value entered into the component is outside of the specified value, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,i.jsx)(t.h3,{id:"display",children:"Display"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," will, by default, display its information within the UI element based on the locale the browser is configured to. For example, users with United States configurations will see the date displayed with the month preceding the day, whereas European users will see the day before the month. This does not inhibit manipulation of the ",(0,i.jsx)(t.code,{children:"LocalDate"})," object returned by methods from the class, however."]}),"\n",(0,i.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class also provides the following static utility methods:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"fromDate(String dateAsString)"}),": Convert a date string in yyyy-MM-dd format to a LocalDate object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"toDate(LocalDate date)"}),": Convert a LocalDate object to a date string in yyyy-MM-dd format."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"isValidDate(String dateAsString)"}),": Checks to see if the given string is a valid yyyy-MM-dd date. This will return a boolean value true if so, false otherwise."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,i.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,i.jsx)(t.code,{children:"DateField"})," component, consider the following best practices:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Consider Accessibility"}),": Ensure that your utilization of the ",(0,i.jsx)(t.code,{children:"DateField"})," meets accessibility standards, using proper labels, and being compatible with assistive technologies."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Auto-Populate Current Date"}),": Consider providing an option to auto-populate the current date as a default value in the date field, if appropriate for your application's use case."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var i=n(6010);const a={tabItem:"tabItem_Ymn6"};var s=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,i.Z)(a.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var i=n(7294),a=n(6010),s=n(2466),r=n(6550),l=n(469),o=n(1980),c=n(7392),d=n(12);function u(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:a}}=e;return{value:t,label:n,attributes:i,default:a}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const a=(0,r.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o._X)(s),(0,i.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(a.location.search);t.set(s,e),a.replace({...a.location,search:t.toString()})}),[s,a])]}function A(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,s=h(e),[r,o]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:s}))),[c,u]=p({queryString:n,groupId:a}),[A,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,s]=(0,d.Nk)(n);return[a,(0,i.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:a}),f=(()=>{const e=c??A;return m({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{f&&o(f)}),[f]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!m({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),b(e)}),[u,b,s]),tabValues:s}}var b=n(2389);const f={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=n(5893);function v(e){let{className:t,block:n,selectedValue:i,selectValue:r,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=o.indexOf(t),a=l[n].value;a!==i&&(c(t),r(a))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>o.push(e),onKeyDown:u,onClick:d,...s,className:(0,a.Z)("tabs__item",f.tabItem,s?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:a}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function w(e){const t=A(e);return(0,g.jsxs)("div",{className:(0,a.Z)("tabs-container",f.tabList),children:[(0,g.jsx)(v,{...e,...t}),(0,g.jsx)(x,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,g.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var i=n(7294),a=n(917),s=n(4866),r=n(5162),l=n(4673),o=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2949),m=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const i=a.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,s=a.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,r=a.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:i,children:(0,m.tZ)("button",{css:s,onClick:()=>{n(!t)},children:t?(0,m.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function A(e){let{url:t}=e;const n=a.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,i=a.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:i,src:u})})}function b(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:b,frame:f,tabs:g}=e;const[v,x]=(0,i.useState)(""),[w,j]=(0,i.useState)(""),[y,D]=(0,i.useState)(""),[B,Z]=(0,i.useState)(!(!n||!c)),[k,F]=(0,i.useState)(!1),[C,S]=(0,i.useState)({});(0,i.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];S((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];S((e=>({...e,cssFile:n})))}))}),[]);const E=a.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==f?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,L=a.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${b}; - `,T=a.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,M=a.iv` - width: 100%; - `,N=a.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${k&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:E,children:["hidden"!=f?(0,m.BX)("div",{onMouseEnter:()=>{F(!0)},onMouseLeave:()=>F(!1),css:M,children:[(0,m.tZ)("div",{css:N,children:(0,m.tZ)(A,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:L})]}):null,(0,m.BX)(l.Z,{css:T,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,m.tZ)(p,{collapse:B,setCollapse:Z}):null,d?(0,m.BX)(s.Z,{children:[(0,m.tZ)(r.Z,{value:g?g[0]:"Java",label:g?g[0]:C.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?v:w})}),(0,m.tZ)(r.Z,{value:g?g[1]:"CSS",label:g?g[1]:C.cssFile,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(s.Z,{children:(0,m.tZ)(r.Z,{value:g?g[0]:"Java",label:g?g[0]:C.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?v:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var i=n(7294),a=n(917),s=n(8230),r=n(4387),l=n(6770);var o=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[m,p]=(0,i.useState)("");(0,i.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const A=a.iv` - display: inline; - - ${c&&a.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,b=a.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,o.BX)(o.HY,{children:["true"===c&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(r.Z,{css:b,label:"Java API",component:"a",href:m,icon:(0,o.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&u&&(0,o.tZ)("div",{css:A,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var i=n(8397),a=n(5893);function s(e){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(i.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/af08f1ee.f530b17f.js b/assets/js/af08f1ee.f530b17f.js new file mode 100644 index 000000000..c76b3ccd0 --- /dev/null +++ b/assets/js/af08f1ee.f530b17f.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6405],{6509:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>h});var i=n(5893),a=n(1151),s=n(6957),r=(n(7796),n(3273)),o=n(2665);const l={sidebar_position:2,title:"DateField",slug:"datefield"},c=void 0,d={id:"components/fields/date-field",title:"DateField",description:"The DateField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/date-field.md",sourceDirName:"components/fields",slug:"/components/fields/datefield",permalink:"/docs/components/fields/datefield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/date-field.md",tags:[],version:"current",sidebarPosition:2,frontMatter:{sidebar_position:2,title:"DateField",slug:"datefield"},sidebar:"documentationSidebar",previous:{title:"ColorField",permalink:"/docs/components/fields/colorfield"},next:{title:"DateTimeField",permalink:"/docs/components/fields/datetimefield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Display",id:"display",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function p(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,a.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,i.jsx)(o.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,i.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/field/DateField",top:"true"}),"\n",(0,i.jsxs)(t.admonition,{type:"success",children:[(0,i.jsx)(t.mdxAdmonitionTitle,{children:(0,i.jsx)(t.strong,{children:"Important"})}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,i.jsx)(t.strong,{children:(0,i.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," is a user interface component that allows users to input or select dates. It provides an intuitive and efficient way to handle date-related information in various applications. This section outlines the best practices for using the ",(0,i.jsx)(t.code,{children:"DateField"})," component effectively."]}),"\n",(0,i.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.DateFieldDemo",javaC:"",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/DateFieldDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,i.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," is best used in scenarios where capturing or displaying dates is a crucial part of the user interface or application functionality. Here are some examples of when to use the date field"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Event Scheduling and Calendars"}),": Date fields are essential in applications that involve event scheduling, appointment booking, or managing calendars. They enable users to select specific dates accurately."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require date inputs, using a date field simplifies the date selection process for users. This is particularly useful for applications that collect user data or require date-based inputs."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Booking and Reservation Systems"}),": Applications that involve booking and reservation systems often require users to input specific dates. A date field simplifies the process and ensures accurate date selection."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Task Management and Deadlines"}),": Date fields are valuable in applications that involve task management or setting deadlines. Users can easily specify due dates, start dates, or other time-sensitive information."]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class provides a user interface component that allows the user to enter a date, including the year, month, and day. It offers the flexibility to validate the input or use a special date picker interface."]}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class has four constructors:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField(String label, LocalDate date)"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," with a given label and date."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField(String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," with a given label but with no pre-populated date."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField(LocalDate date)"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," with a given date, but without a label."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"DateField()"}),": Creates a ",(0,i.jsx)(t.code,{children:"DateField"})," without any provided information."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,i.jsxs)(t.p,{children:["You can use the ",(0,i.jsx)(t.code,{children:"setMax()"})," and ",(0,i.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable range of dates. If the value entered into the component is outside of the specified value, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,i.jsx)(t.h3,{id:"display",children:"Display"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," will, by default, display its information within the UI element based on the locale the browser is configured to. For example, users with United States configurations will see the date displayed with the month preceding the day, whereas European users will see the day before the month. This does not inhibit manipulation of the ",(0,i.jsx)(t.code,{children:"LocalDate"})," object returned by methods from the class, however."]}),"\n",(0,i.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateField"})," class also provides the following static utility methods:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"fromDate(String dateAsString)"}),": Convert a date string in yyyy-MM-dd format to a LocalDate object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"toDate(LocalDate date)"}),": Convert a LocalDate object to a date string in yyyy-MM-dd format."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"isValidDate(String dateAsString)"}),": Checks to see if the given string is a valid yyyy-MM-dd date. This will return a boolean value true if so, false otherwise."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,i.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,i.jsx)(t.code,{children:"DateField"})," component, consider the following best practices:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Consider Accessibility"}),": Ensure that your utilization of the ",(0,i.jsx)(t.code,{children:"DateField"})," meets accessibility standards, using proper labels, and being compatible with assistive technologies."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Auto-Populate Current Date"}),": Consider providing an option to auto-populate the current date as a default value in the date field, if appropriate for your application's use case."]}),"\n"]}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(p,{...e})}):p(e)}},6031:(e,t,n)=>{var i=n(4836);t.Z=void 0;var a=i(n(4938)),s=n(5893),r=(0,a.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,n)=>{var i=n(4836);t.Z=void 0;var a=i(n(4938)),s=n(5893),r=(0,a.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var i=n(6010);const a={tabItem:"tabItem_Ymn6"};var s=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,i.Z)(a.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>y});var i=n(7294),a=n(6010),s=n(2466),r=n(6550),o=n(469),l=n(1980),c=n(7392),d=n(12);function u(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:a}}=e;return{value:t,label:n,attributes:i,default:a}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const a=(0,r.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(s),(0,i.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(a.location.search);t.set(s,e),a.replace({...a.location,search:t.toString()})}),[s,a])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,s=h(e),[r,l]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:s}))),[c,u]=m({queryString:n,groupId:a}),[b,f]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,s]=(0,d.Nk)(n);return[a,(0,i.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:a}),A=(()=>{const e=c??b;return p({value:e,tabValues:s})?e:null})();(0,o.Z)((()=>{A&&l(A)}),[A]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),f(e)}),[u,f,s]),tabValues:s}}var f=n(2389);const A={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=n(5893);function v(e){let{className:t,block:n,selectedValue:i,selectValue:r,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),a=o[n].value;a!==i&&(c(t),r(a))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...s,className:(0,a.Z)("tabs__item",A.tabItem,s?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:a}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function w(e){const t=b(e);return(0,g.jsxs)("div",{className:(0,a.Z)("tabs-container",A.tabList),children:[(0,g.jsx)(v,{...e,...t}),(0,g.jsx)(x,{...e,...t})]})}function y(e){const t=(0,f.Z)();return(0,g.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>f});var i=n(7294),a=n(917),s=n(4866),r=n(5162),o=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const i=a.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,s=a.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,r=a.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:i,children:(0,p.tZ)("button",{css:s,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=a.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,i=a.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:i,src:u})})}function f(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:f,frame:A,tabs:g}=e;const[v,x]=(0,i.useState)(""),[w,y]=(0,i.useState)(""),[j,D]=(0,i.useState)(""),[Z,B]=(0,i.useState)(!(!n||!c)),[k,S]=(0,i.useState)(!1),[F,C]=(0,i.useState)({}),[E,M]=(0,i.useState)(!1),[L,T]=(0,i.useState)(0),[z,V]=(0,i.useState)(0),[N,H]=(0,i.useState)(25),[O,X]=(0,i.useState)(25),[J,G]=(0,i.useState)(0),[Y,I]=(0,i.useState)(!1),P=(0,i.useRef)(null),W=(0,i.useRef)(null);(0,i.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];C((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];C((e=>({...e,cssFile:n})))})),G(P.current.offsetWidth),console.log(J)}),[]);const U=()=>{M(!1),console.log("Stop Resizing")},q=e=>{if(E){const t=e.clientX-L;z+t>J/3&&(P.current.style.width=`${z+t}px`,W.current.style.right=(N-t<25?25:N-t)+"px",X(N-t<25?25:N-t))}},R=a.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==A?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=a.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=a.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${f||"100%"}; + pointer-events: none; + `,_=a.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${k&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=a.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=a.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=a.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=a.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:R,onMouseUp:U,onMouseLeave:U,onMouseMove:q,children:["hidden"!=A?(0,p.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:U,loading:"lazy",src:t,css:{...Q,pointerEvents:E?"none":"auto"},ref:P,onMouseMove:q}),(0,p.tZ)("div",{css:_,ref:W,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),M(!0),T(e.clientX),V(P.current.offsetWidth),H(O),console.log(W.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(o.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>I(!Y),children:Y?"Hide Code":"Show Code"}),children:[n&&c?(0,p.tZ)(m,{collapse:Z,setCollapse:B}):null,d?(0,p.BX)(s.Z,{css:te,children:[(0,p.tZ)(r.Z,{value:g?g[0]:"Java",label:g?g[0]:F.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:Z?v:w})}),(0,p.tZ)(r.Z,{value:g?g[1]:"CSS",label:g?g[1]:F.cssFile,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,p.tZ)(s.Z,{css:te,children:(0,p.tZ)(r.Z,{value:g?g[0]:"Java",label:g?g[0]:F.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:Z?v:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var i=n(7294),a=n(917),s=n(8230),r=n(4387),o=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[p,m]=(0,i.useState)("");(0,i.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const b=a.iv` + display: inline; + + ${c&&a.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,f=a.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:f,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var i=n(8397),a=n(5893);function s(e){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(i.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/b6fc7147.e321ee65.js b/assets/js/b6fc7147.67db8322.js similarity index 87% rename from assets/js/b6fc7147.e321ee65.js rename to assets/js/b6fc7147.67db8322.js index e0d64847d..ef73f76a0 100644 --- a/assets/js/b6fc7147.e321ee65.js +++ b/assets/js/b6fc7147.67db8322.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[5289],{5943:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>x,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var s=n(5893),i=n(1151),r=n(3273);const o={sidebar_position:0,title:"RightMouseDownEvent",sidebar_class_name:"sidebar--item__hidden",slug:"RightMouseDownEvent"},d=void 0,c={id:"components/events/right-mouse-down-event",title:"RightMouseDownEvent",description:"An event which is fired when the user clicks the right mouse button while in the bounds of a the component.",source:"@site/docs/components/events/right-mouse-down-event.md",sourceDirName:"components/events",slug:"/components/events/RightMouseDownEvent",permalink:"/docs/components/events/RightMouseDownEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/right-mouse-down-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"RightMouseDownEvent",sidebar_class_name:"sidebar--item__hidden",slug:"RightMouseDownEvent"},sidebar:"documentationSidebar",previous:{title:"MouseExitEvent",permalink:"/docs/components/events/MouseExitEvent"},next:{title:"ToggleEvent",permalink:"/docs/components/events/ToggleEvent"}},l={},h=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"An event which is fired when the user clicks the right mouse button while in the bounds of a the component."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getMouseButton()"})}),(0,s.jsx)(t.td,{children:"Returns whether or not a mouse button was pressed while the event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenX()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute abscissa screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenY()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute ordinate screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getX()"})}),(0,s.jsxs)(t.td,{children:["The X coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getY()"})}),(0,s.jsxs)(t.td,{children:["The Y coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isAltDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"alt"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isCmdDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"cmd"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isControlDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"ctrl"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isShiftDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"shift"})," key was pressed at the time this event was generated"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseEnterEvent",children:"MouseEnterEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseExitEvent",children:"MouseExitEvent"})}),"\n"]})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),i=n(917),r=n(8230),o=n(4387),d=n(6770);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:h,code:a,suffix:x}=e;const[u,v]=(0,s.useState)("");(0,s.useEffect)((()=>{x||(x=""),v("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+x)}),[]);const j=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[5289],{5943:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>d,default:()=>x,frontMatter:()=>o,metadata:()=>c,toc:()=>h});var s=n(5893),i=n(1151),r=n(3273);const o={sidebar_position:0,title:"RightMouseDownEvent",sidebar_class_name:"sidebar--item__hidden",slug:"RightMouseDownEvent"},d=void 0,c={id:"components/events/right-mouse-down-event",title:"RightMouseDownEvent",description:"An event which is fired when the user clicks the right mouse button while in the bounds of a the component.",source:"@site/docs/components/events/right-mouse-down-event.md",sourceDirName:"components/events",slug:"/components/events/RightMouseDownEvent",permalink:"/docs/components/events/RightMouseDownEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/right-mouse-down-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"RightMouseDownEvent",sidebar_class_name:"sidebar--item__hidden",slug:"RightMouseDownEvent"},sidebar:"documentationSidebar",previous:{title:"MouseExitEvent",permalink:"/docs/components/events/MouseExitEvent"},next:{title:"ToggleEvent",permalink:"/docs/components/events/ToggleEvent"}},l={},h=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"An event which is fired when the user clicks the right mouse button while in the bounds of a the component."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getMouseButton()"})}),(0,s.jsx)(t.td,{children:"Returns whether or not a mouse button was pressed while the event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenX()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute abscissa screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenY()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute ordinate screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getX()"})}),(0,s.jsxs)(t.td,{children:["The X coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getY()"})}),(0,s.jsxs)(t.td,{children:["The Y coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isAltDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"alt"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isCmdDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"cmd"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isControlDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"ctrl"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isShiftDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"shift"})," key was pressed at the time this event was generated"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseEnterEvent",children:"MouseEnterEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseExitEvent",children:"MouseExitEvent"})}),"\n"]})]})}function x(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),r=n(5893),o=(0,i.default)((0,r.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),i=n(917),r=n(8230),o=n(4387),d=n(6031);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:h,code:a,suffix:x}=e;const[u,v]=(0,s.useState)("");(0,s.useEffect)((()=>{x||(x=""),v("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+x)}),[]);const j=i.iv` display: inline; ${l&&i.iv` @@ -10,6 +10,7 @@ `} `,p=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } diff --git a/assets/js/b8ef75ed.29656403.js b/assets/js/b8ef75ed.9cfc2cba.js similarity index 64% rename from assets/js/b8ef75ed.29656403.js rename to assets/js/b8ef75ed.9cfc2cba.js index cef77b1f4..979f4a743 100644 --- a/assets/js/b8ef75ed.29656403.js +++ b/assets/js/b8ef75ed.9cfc2cba.js @@ -1,10 +1,12 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6266],{7391:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>A});var i=n(5893),s=n(1151),o=(n(7650),n(2322),n(6957),n(7796),n(3273));const r={sidebar_position:0,title:"Lists"},c=void 0,a={id:"components/list-components/lists",title:"Lists",description:"There are three types of lists for use within your applications: ListBox, ChoiceBox and ComboBox. These three components all display a list of key value items, and support methods to add, remove, select and manage the items within the list.",source:"@site/docs/components/list-components/lists.md",sourceDirName:"components/list-components",slug:"/components/list-components/lists",permalink:"/docs/components/list-components/lists",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/lists.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Lists"},sidebar:"documentationSidebar",previous:{title:"Label",permalink:"/docs/components/label"},next:{title:"ChoiceBox",permalink:"/docs/components/list-components/choicebox"}},l={},A=[{value:"Using ListItem",id:"using-listitem",level:2},{value:"Managing ListItem Objects with the API",id:"managing-listitem-objects-with-the-api",level:2},{value:"Shared List Properties",id:"shared-list-properties",level:2},{value:"Label",id:"label",level:3},{value:"Shared Events",id:"shared-events",level:2}];function d(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList"}),"\n",(0,i.jsxs)(t.p,{children:["There are three types of lists for use within your applications: ",(0,i.jsx)(t.a,{href:"docs/components/list-components/listbox",children:(0,i.jsx)(t.code,{children:"ListBox"})}),", ",(0,i.jsx)(t.a,{href:"docs/components/list-components/choicebox",children:(0,i.jsx)(t.code,{children:"ChoiceBox"})})," and ",(0,i.jsx)(t.a,{href:"docs/components/list-components/combobox",children:(0,i.jsx)(t.code,{children:"ComboBox"})}),". These three components all display a list of key value items, and support methods to add, remove, select and manage the items within the list."]}),"\n",(0,i.jsx)(t.p,{children:"This section will list the commonalities within each of the aforementioned components, with the specific behaviors belonging to each outlined in their own sections."}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"This section describes common functionality amongst all of the list components, and is not itself a class that can be instantiated and used."})}),"\n",(0,i.jsxs)(t.h2,{id:"using-listitem",children:["Using ",(0,i.jsx)(t.code,{children:"ListItem"})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," class represents individual items within a list. Each ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," is associated with a key and a display text. Here are the key points regarding the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," class:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["A ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," encapsulates a unique key ",(0,i.jsx)(t.code,{children:"Object"}),", and a text ",(0,i.jsx)(t.code,{children:"String"})," for display within the component. List components are composed of ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," objects."]}),"\n",(0,i.jsxs)(t.li,{children:["You can construct a ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," by providing a key and text, or simply by specifying the text, where a random key is generated."]}),"\n"]}),"\n",(0,i.jsxs)(t.h2,{id:"managing-listitem-objects-with-the-api",children:["Managing ",(0,i.jsx)(t.code,{children:"ListItem"})," Objects with the API"]}),"\n",(0,i.jsx)(t.p,{children:"The various List classes offer various methods for managing the list of items and maintaining a consistent state between the list and the client."}),"\n",(0,i.jsx)(t.p,{children:"By using these methods provided in the classes, you can effectively manage the items within the list component. The API allows you to interact with and manipulate the list to meet your application's requirements."}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Adding an Item"}),":"]}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To add an item to the list, you can use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#add(org.dwcj.component.list.ListItem)",code:"true",children:"add(ListItem item)"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["You can also add an item by specifying the key and text using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#add(java.lang.Object,java.lang.String)",code:"true",children:"add(Object key, String text)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#add(java.lang.String)",code:"true",children:"add(String text)"})," method."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Inserting an Item at a Specific Index:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To insert an item at a specific index, use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#insert(int,org.dwcj.component.list.ListItem)",code:"true",children:"insert(int index, ListItem item)"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["You can insert an item with key and text using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#insert(int,java.lang.Object,java.lang.String)",code:"true",children:"insert(int index, Object key, String text)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#insert(int,java.lang.String)",code:"true",children:"insert(int index, String text)"})," method."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Inserting Multiple Items:"})," You can insert multiple items at a specified index using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"l#insert(int,java.util.List)",code:"true",children:"insert(int index, List< ListItem > items)"})," method."]}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsxs)(t.p,{children:["Using the add method triggers a server-to-client message each time it is used. For more efficient usage, create a list of ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," objects, and put them in the list using the ",(0,i.jsx)(t.code,{children:"insert(int index, List items)"})," method outlined below. For more information, you can refer to the documentation on ",(0,i.jsx)(t.a,{href:"/docs/getting_started/architecture",children:"architecture"}),"."]})}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Removing an Item:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To remove an item from the list, use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#remove(int)",code:"true",children:"remove(int index)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#remove(java.lang.Object)",code:"true",children:"remove(Object key)"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["You can also remove all items from the list using ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#removeAll()",code:"true",children:"removeAll()"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Accessing and Updating Items:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To access items by key or index, use ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#getByKey(java.lang.Object)",code:"true",children:"getByKey(Object key)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#getByIndex(int)",code:"true",children:"getByIndex(int index)"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["You can update the text of an item using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",suffix:"#setText(java.lang.String)",code:"true",children:"setText(String text)"})," method within the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," class."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Selecting an Item:"})," To select an item within the list, you can use methods such as ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#select(org.dwcj.component.list.ListItem)",code:"true",children:"select(ListItem item)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#selectKey(java.lang.Object)",code:"true",children:"selectKey(Object key)"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Retrieving Information about the List:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["You can get the size of the list using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#size()",code:"true",children:"size()"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["To check if the list is empty, use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#isEmpty()",code:"true",children:"isEmpty()"})," method."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"shared-list-properties",children:"Shared List Properties"}),"\n",(0,i.jsx)(t.h3,{id:"label",children:"Label"}),"\n",(0,i.jsx)(t.p,{children:"The various List components can be assigned a label, which is a descriptive text or title that is associated with the component. It provides a brief explanation or prompt to help users understand the purpose or expected selection for that particular list. List labels are not only important for usability but also play a crucial role in accessibility, as they enable screen readers and assistive technologies to provide accurate information and facilitate keyboard navigation."}),"\n",(0,i.jsx)(t.h2,{id:"shared-events",children:"Shared Events"}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"All List components share the following events"})}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when a component loses focus."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when a component gains focus, opposite of a blur event."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/event/ListSelectEvent",code:"true",children:"ListSelectEvent"})}),(0,i.jsx)(t.td,{children:"An event which is fired when the user selects an item from a list."})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(d,{...e})}):d(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var i=n(6010);const s={tabItem:"tabItem_Ymn6"};var o=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,o.jsx)("div",{role:"tabpanel",className:(0,i.Z)(s.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var i=n(7294),s=n(6010),o=n(2466),r=n(6550),c=n(469),a=n(1980),l=n(7392),A=n(12);function d(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:s}}=e;return{value:t,label:n,attributes:i,default:s}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function g(e){let{queryString:t=!1,groupId:n}=e;const s=(0,r.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,a._X)(o),(0,i.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(s.location.search);t.set(o,e),s.replace({...s.location,search:t.toString()})}),[o,s])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,o=h(e),[r,a]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:o}))),[l,d]=g({queryString:n,groupId:s}),[m,p]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,o]=(0,A.Nk)(n);return[s,(0,i.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:s}),x=(()=>{const e=l??m;return u({value:e,tabValues:o})?e:null})();(0,c.Z)((()=>{x&&a(x)}),[x]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!u({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);a(e),d(e),p(e)}),[d,p,o]),tabValues:o}}var p=n(2389);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var w=n(5893);function b(e){let{className:t,block:n,selectedValue:i,selectValue:r,tabValues:c}=e;const a=[],{blockElementScrollPositionUntilNextRender:l}=(0,o.o5)(),A=e=>{const t=e.currentTarget,n=a.indexOf(t),s=c[n].value;s!==i&&(l(t),r(s))},d=e=>{let t=null;switch(e.key){case"Enter":A(e);break;case"ArrowRight":{const n=a.indexOf(e.currentTarget)+1;t=a[n]??a[0];break}case"ArrowLeft":{const n=a.indexOf(e.currentTarget)-1;t=a[n]??a[a.length-1];break}}t?.focus()};return(0,w.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:c.map((e=>{let{value:t,label:n,attributes:o}=e;return(0,w.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>a.push(e),onKeyDown:d,onClick:A,...o,className:(0,s.Z)("tabs__item",x.tabItem,o?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:s}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===s));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,w.jsx)("div",{className:"margin-top--md",children:o.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function f(e){const t=m(e);return(0,w.jsxs)("div",{className:(0,s.Z)("tabs-container",x.tabList),children:[(0,w.jsx)(b,{...e,...t}),(0,w.jsx)(v,{...e,...t})]})}function j(e){const t=(0,p.Z)();return(0,w.jsx)(f,{...e,children:d(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>p});var i=n(7294),s=n(917),o=n(4866),r=n(5162),c=n(4673),a=n(1750);const l="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAG/ElEQVR4nO3dTW7bRhgG4Ddu4bTHa72Ir+UbNKskm/YgvYJhGF61B2gcIEDdRSVAMGxLIueHQz4PMBtDGeoj9EIfxWEmAQAAAAAAAAAAAAAAAAAAAAAAACjnMsl1ks9JbpN8343b3d+ud68BFuYqyUOSpyPjYfdaYAEuktzkeHCfj5vdvwU6mhLewxADnVxlenj3QzsNHVwmucv8AN8ned/2rQPXmR/e/fjQ+L1TiB8xxvVLwbl+LTgXcIIS7fN+3DV+7xTyrvcbYLLHJD8Vmutbkp8LzUVDAjyup8Lz+SwMyDUwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMT4Dq2tkvg1uplxVrtEljqv5Tdj6nsisgqtN4lsHeA7YrIqszZJfBjzv9Q9wzwxe49Tz2WXRFZlBK7BJ4b4l4Bnhve/dBOswildgl8SvIpyY8nHrdHgC+S/FboePexKyILUHKXwHNC3DrAJcO7H3ZFpLsvKR+mU9rplgEu1TY/H1+OHBeqK7lL4DkhbhXgWuF9il0RWYDH1PlwP+XtdrpFgGu0zYfj8ZXjQjNfU+8D/laIawe4dnifkvzz+mmFNmq10IfjpXa6ZoBrts2HQwtNdzV+xDolxLUC3Cq8T/EjFgtQ+jbSW+Owna4R4BZt8+FwG4nuSi7kOCfEpedtHd77WMjBQpRYSnnOqNHitmqb98NSShZlzsMMWxseZmBxWv74M/KY8uQVNNH6OnK08SnJD1NPLrQgxMLL4IRYeBmcEAsvg9t6iIWX4W01xMLLamwtxMLL6mzlPrH7vKzW2r+JffOyemsNsfCyGWsLsfCyOWsJsfCyWaOHWHjZvFFDLLywM9otJreK4JlRQiy88Iqlh1h44YilXhO75oUTLS3EwgtnWko7rW2GiXqHWHhhpl4hFl4opPU1sWteKKzVN7FvXqikdoiFFyqr1U5rm6GR0iEWXmisVDutbYZO5oZYeKGzi0zb2vQmwguLcZXkIceD+xCba8MiXSa5TvI5yW2S77txu/vb9e41AAAAAAAAAAAAwCK9tBTw1MX5S1oyqA51bM6pi/FPHb0W7atDHZsy9XG4U0erx+bUoY5NqnmSD0+2OtQxYh2LdpX6J3k/arY96lDH5lwmuUu7E32f5L061DFIHYt3nXYneT8+qEMdg9Rxkp4X4b90OOavFeZUx3TqGFjLNmc/7tShjkHqOMm7XgdO8pjkp8bH/Jbk58JzqmM6dczUs4V+6nDMfyvMqY7p1DFTzwD/1eGYf1eYUx3TqWOmngH+cyXHVMeyjrmWOk7SM8B/dDjm7xXmVMd06hjYWm64q0Mdm1zIkaxnyZs61LFZa1l0rg51bNJaHvtShzo2bS0PXqtDHZu1lv/6RB3qAAAAAAAAAAAAAJp7acmgpYAwgFMX7VuMDwsy9bE5j8NBZxdJPmb6o3EfI8TQxdzwCjF0cpHkt5R7SP1Tkh9bFgBbVTq8QgyNlGqbtdPQWO3wCjFUUqtt1k5DZa3DK8RQSKu2WTsNhfUOrxDDRL3aZu00zLS08AoxnGgpbbN2Gs609PAKMbxilPAKMTyz1GveY8M1MZs3aniFmM0bPbxCzGatJbxCzOasLbxCzGasNbxCzOqNdqto6nCLidVZ+zevb2JWa2vhFWJWY6vhFWKGt/XwCjHDEl4hZlDCK8QMSniFmEFt5T7v3OE+MYs0ZYvPrY6biecYqrhK+2+xEeZ8a9hknEW4THKXdh/8T0l+qDBv6+v3+yTvzz7bUNh12oc3FeZO2of4wzknGmr4kjYf9uc//tQIcNL2x7gvJ55jqKZF+/zSL7e1Apy0C/Hd0bMLlT2m7of8sG0+VDPASZt2+vH10wptfE378KbCsV5SO8T/vHJcaKZWC31swUOLACd122ktNN3V+BHrlNVKrQKc1AuxH7HorvRtpLfa5kMtA5zUaafdRqK7kgs5Tg1vCh3vnAAnZUN8Hws5WIgSSynPXeTfI8BJuXbaUkoWZc7DDFOe0OkV4GR+iD3MwOJcZFqIbzLt8bqeAU7a1wtNXCV5yPEP8kPmtZG9A7zXql5o5jL//zr9Ocltku+7cbv72/XuNXMsJcBJm3p5wbveb4DJ5obuOZ+FAbkWgYEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAjyukltzfi04Fw0J8Lj+KjjX3wXnoiEBHtefC52LhgR4XH8UnOv3gnMBJyi1K+J97BIIXZTYFdF2J9DRnF0R7RIIndklEFbALoEwOLsEAgAAAAAAAAAAAAAAAAAAAAAAAE39B2tV13Hdy+hQAAAAAElFTkSuQmCC",A=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",d="data:image/png;base64,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";var h=n(2949),u=n(5944);function g(e){let{collapse:t,setCollapse:n}=e;const i=s.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[6266],{7391:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>c,default:()=>h,frontMatter:()=>r,metadata:()=>a,toc:()=>d});var i=n(5893),s=n(1151),o=(n(7650),n(2322),n(6957),n(7796),n(3273));const r={sidebar_position:0,title:"Lists"},c=void 0,a={id:"components/list-components/lists",title:"Lists",description:"There are three types of lists for use within your applications: ListBox, ChoiceBox and ComboBox. These three components all display a list of key value items, and support methods to add, remove, select and manage the items within the list.",source:"@site/docs/components/list-components/lists.md",sourceDirName:"components/list-components",slug:"/components/list-components/lists",permalink:"/docs/components/list-components/lists",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/list-components/lists.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"Lists"},sidebar:"documentationSidebar",previous:{title:"Label",permalink:"/docs/components/label"},next:{title:"ChoiceBox",permalink:"/docs/components/list-components/choicebox"}},l={},d=[{value:"Using ListItem",id:"using-listitem",level:2},{value:"Managing ListItem Objects with the API",id:"managing-listitem-objects-with-the-api",level:2},{value:"Shared List Properties",id:"shared-list-properties",level:2},{value:"Label",id:"label",level:3},{value:"Shared Events",id:"shared-events",level:2}];function A(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,s.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList"}),"\n",(0,i.jsxs)(t.p,{children:["There are three types of lists for use within your applications: ",(0,i.jsx)(t.a,{href:"docs/components/list-components/listbox",children:(0,i.jsx)(t.code,{children:"ListBox"})}),", ",(0,i.jsx)(t.a,{href:"docs/components/list-components/choicebox",children:(0,i.jsx)(t.code,{children:"ChoiceBox"})})," and ",(0,i.jsx)(t.a,{href:"docs/components/list-components/combobox",children:(0,i.jsx)(t.code,{children:"ComboBox"})}),". These three components all display a list of key value items, and support methods to add, remove, select and manage the items within the list."]}),"\n",(0,i.jsx)(t.p,{children:"This section will list the commonalities within each of the aforementioned components, with the specific behaviors belonging to each outlined in their own sections."}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"This section describes common functionality amongst all of the list components, and is not itself a class that can be instantiated and used."})}),"\n",(0,i.jsxs)(t.h2,{id:"using-listitem",children:["Using ",(0,i.jsx)(t.code,{children:"ListItem"})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," class represents individual items within a list. Each ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," is associated with a key and a display text. Here are the key points regarding the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," class:"]}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["A ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," encapsulates a unique key ",(0,i.jsx)(t.code,{children:"Object"}),", and a text ",(0,i.jsx)(t.code,{children:"String"})," for display within the component. List components are composed of ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," objects."]}),"\n",(0,i.jsxs)(t.li,{children:["You can construct a ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," by providing a key and text, or simply by specifying the text, where a random key is generated."]}),"\n"]}),"\n",(0,i.jsxs)(t.h2,{id:"managing-listitem-objects-with-the-api",children:["Managing ",(0,i.jsx)(t.code,{children:"ListItem"})," Objects with the API"]}),"\n",(0,i.jsx)(t.p,{children:"The various List classes offer various methods for managing the list of items and maintaining a consistent state between the list and the client."}),"\n",(0,i.jsx)(t.p,{children:"By using these methods provided in the classes, you can effectively manage the items within the list component. The API allows you to interact with and manipulate the list to meet your application's requirements."}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Adding an Item"}),":"]}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To add an item to the list, you can use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#add(org.dwcj.component.list.ListItem)",code:"true",children:"add(ListItem item)"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["You can also add an item by specifying the key and text using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#add(java.lang.Object,java.lang.String)",code:"true",children:"add(Object key, String text)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#add(java.lang.String)",code:"true",children:"add(String text)"})," method."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Inserting an Item at a Specific Index:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To insert an item at a specific index, use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#insert(int,org.dwcj.component.list.ListItem)",code:"true",children:"insert(int index, ListItem item)"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["You can insert an item with key and text using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#insert(int,java.lang.Object,java.lang.String)",code:"true",children:"insert(int index, Object key, String text)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#insert(int,java.lang.String)",code:"true",children:"insert(int index, String text)"})," method."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Inserting Multiple Items:"})," You can insert multiple items at a specified index using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"l#insert(int,java.util.List)",code:"true",children:"insert(int index, List< ListItem > items)"})," method."]}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsxs)(t.p,{children:["Using the add method triggers a server-to-client message each time it is used. For more efficient usage, create a list of ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," objects, and put them in the list using the ",(0,i.jsx)(t.code,{children:"insert(int index, List items)"})," method outlined below. For more information, you can refer to the documentation on ",(0,i.jsx)(t.a,{href:"/docs/getting_started/architecture",children:"architecture"}),"."]})}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Removing an Item:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To remove an item from the list, use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#remove(int)",code:"true",children:"remove(int index)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#remove(java.lang.Object)",code:"true",children:"remove(Object key)"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["You can also remove all items from the list using ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#removeAll()",code:"true",children:"removeAll()"}),"."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Accessing and Updating Items:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["To access items by key or index, use ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#getByKey(java.lang.Object)",code:"true",children:"getByKey(Object key)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#getByIndex(int)",code:"true",children:"getByIndex(int index)"}),"."]}),"\n",(0,i.jsxs)(t.li,{children:["You can update the text of an item using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",suffix:"#setText(java.lang.String)",code:"true",children:"setText(String text)"})," method within the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/ListItem",code:"true",children:"ListItem"})," class."]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Selecting an Item:"})," To select an item within the list, you can use methods such as ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#select(org.dwcj.component.list.ListItem)",code:"true",children:"select(ListItem item)"})," or ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#selectKey(java.lang.Object)",code:"true",children:"selectKey(Object key)"}),"."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsx)(t.p,{children:(0,i.jsx)(t.strong,{children:"Retrieving Information about the List:"})}),"\n",(0,i.jsxs)(t.blockquote,{children:["\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:["You can get the size of the list using the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#size()",code:"true",children:"size()"})," method."]}),"\n",(0,i.jsxs)(t.li,{children:["To check if the list is empty, use the ",(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/DwcList",suffix:"#isEmpty()",code:"true",children:"isEmpty()"})," method."]}),"\n"]}),"\n"]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h2,{id:"shared-list-properties",children:"Shared List Properties"}),"\n",(0,i.jsx)(t.h3,{id:"label",children:"Label"}),"\n",(0,i.jsx)(t.p,{children:"The various List components can be assigned a label, which is a descriptive text or title that is associated with the component. It provides a brief explanation or prompt to help users understand the purpose or expected selection for that particular list. List labels are not only important for usability but also play a crucial role in accessibility, as they enable screen readers and assistive technologies to provide accurate information and facilitate keyboard navigation."}),"\n",(0,i.jsx)(t.h2,{id:"shared-events",children:"Shared Events"}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"All List components share the following events"})}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/BlurEvent",code:"true",children:"BlurEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when a component loses focus."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/FocusEvent",code:"true",children:"FocusEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when a component gains focus, opposite of a blur event."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",code:"true",children:"MouseEnterEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of a component."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/MouseExitEvent",code:"true",children:"MouseExitEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of a component."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/event/RightMouseDownEvent",code:"true",children:"RightMouseDownEvent"})}),(0,i.jsx)(t.td,{children:"An event that is triggered when the user presses the right mouse button while the cursor is over a component."})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{style:{textAlign:"center"},children:(0,i.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/list/event/ListSelectEvent",code:"true",children:"ListSelectEvent"})}),(0,i.jsx)(t.td,{children:"An event which is fired when the user selects an item from a list."})]})]})]})]})}function h(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(A,{...e})}):A(e)}},6031:(e,t,n)=>{var i=n(4836);t.Z=void 0;var s=i(n(4938)),o=n(5893),r=(0,s.default)((0,o.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,n)=>{var i=n(4836);t.Z=void 0;var s=i(n(4938)),o=n(5893),r=(0,s.default)((0,o.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var i=n(6010);const s={tabItem:"tabItem_Ymn6"};var o=n(5893);function r(e){let{children:t,hidden:n,className:r}=e;return(0,o.jsx)("div",{role:"tabpanel",className:(0,i.Z)(s.tabItem,r),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var i=n(7294),s=n(6010),o=n(2466),r=n(6550),c=n(469),a=n(1980),l=n(7392),d=n(12);function A(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return A(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:s}}=e;return{value:t,label:n,attributes:i,default:s}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function u(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function g(e){let{queryString:t=!1,groupId:n}=e;const s=(0,r.k6)(),o=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,a._X)(o),(0,i.useCallback)((e=>{if(!o)return;const t=new URLSearchParams(s.location.search);t.set(o,e),s.replace({...s.location,search:t.toString()})}),[o,s])]}function p(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,o=h(e),[r,a]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!u({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:o}))),[l,A]=g({queryString:n,groupId:s}),[p,m]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,o]=(0,d.Nk)(n);return[s,(0,i.useCallback)((e=>{n&&o.set(e)}),[n,o])]}({groupId:s}),x=(()=>{const e=l??p;return u({value:e,tabValues:o})?e:null})();(0,c.Z)((()=>{x&&a(x)}),[x]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!u({value:e,tabValues:o}))throw new Error(`Can't select invalid tab value=${e}`);a(e),A(e),m(e)}),[A,m,o]),tabValues:o}}var m=n(2389);const x={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var b=n(5893);function w(e){let{className:t,block:n,selectedValue:i,selectValue:r,tabValues:c}=e;const a=[],{blockElementScrollPositionUntilNextRender:l}=(0,o.o5)(),d=e=>{const t=e.currentTarget,n=a.indexOf(t),s=c[n].value;s!==i&&(l(t),r(s))},A=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=a.indexOf(e.currentTarget)+1;t=a[n]??a[0];break}case"ArrowLeft":{const n=a.indexOf(e.currentTarget)-1;t=a[n]??a[a.length-1];break}}t?.focus()};return(0,b.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:c.map((e=>{let{value:t,label:n,attributes:o}=e;return(0,b.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>a.push(e),onKeyDown:A,onClick:d,...o,className:(0,s.Z)("tabs__item",x.tabItem,o?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function v(e){let{lazy:t,children:n,selectedValue:s}=e;const o=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=o.find((e=>e.props.value===s));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,b.jsx)("div",{className:"margin-top--md",children:o.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function f(e){const t=p(e);return(0,b.jsxs)("div",{className:(0,s.Z)("tabs-container",x.tabList),children:[(0,b.jsx)(w,{...e,...t}),(0,b.jsx)(v,{...e,...t})]})}function j(e){const t=(0,m.Z)();return(0,b.jsx)(f,{...e,children:A(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>m});var i=n(7294),s=n(917),o=n(4866),r=n(5162),c=n(4673),a=n(1750);const l="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",A="data:image/png;base64,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";var h=n(2610),u=n(5944);function g(e){let{collapse:t,setCollapse:n}=e;const i=s.iv` display: flex; justify-content: end; - margin-bottom: -30px; + align-items: flex-end; background-color: transparent; + margin-bottom: -10px; `,o=s.iv` - position: relative; + /* position: absolute; + right: 0; */ cursor: pointer; z-index: 10; height: 35px; @@ -12,11 +14,12 @@ border: none; background-color: none; justify-self: flex-end; - margin-right: 5px; background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; `,r=s.iv` filter: invert(var(--inversion-percentage)); - `;return(0,u.tZ)("div",{css:i,children:(0,u.tZ)("button",{css:o,onClick:()=>{n(!t)},children:t?(0,u.tZ)("img",{css:r,src:A,className:"icon-tabler-arrow-bar-up"}):(0,u.tZ)("img",{css:r,src:l,className:"icon-tabler-arrow-bar-down"})})})}function m(e){let{url:t}=e;const n=s.iv` + `;return(0,u.tZ)("div",{css:i,children:(0,u.tZ)("button",{css:o,onClick:()=>{n(!t)},children:t?(0,u.tZ)("img",{css:r,src:d,className:"icon-tabler-arrow-bar-up"}):(0,u.tZ)("img",{css:r,src:l,className:"icon-tabler-arrow-bar-down"})})})}function p(e){let{url:t}=e;const n=s.iv` position: relative; cursor: pointer; z-index: 10; @@ -25,7 +28,6 @@ border: none; background-color: none; justify-self: flex-end; - /* margin-right: 5px; */ margin-top: -5px; margin-bottom: -20px; background-color: transparent; @@ -37,52 +39,95 @@ mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ opacity: 0.5; } - `;return(0,u.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,u.tZ)("img",{css:i,src:d})})}function p(e){let{path:t,javaC:n,javaE:l,cssURL:A,javaHighlight:d,height:p,frame:x,tabs:w}=e;const[b,v]=(0,i.useState)(""),[f,j]=(0,i.useState)(""),[y,B]=(0,i.useState)(""),[E,C]=(0,i.useState)(!(!n||!l)),[D,H]=(0,i.useState)(!1),[I,O]=(0,i.useState)({});(0,i.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{j(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];O((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{v(e)})),A&&fetch(A).then((e=>e.text())).then((e=>{B(e);const t=new URL(A).pathname.split("/"),n=t[t.length-1];O((e=>({...e,cssFile:n})))}))}),[]);const L=s.iv` + `;return(0,u.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,u.tZ)("img",{css:i,src:A})})}function m(e){let{path:t,javaC:n,javaE:l,cssURL:d,javaHighlight:A,height:m,frame:x,tabs:b}=e;const[w,v]=(0,i.useState)(""),[f,j]=(0,i.useState)(""),[y,B]=(0,i.useState)(""),[E,C]=(0,i.useState)(!(!n||!l)),[D,H]=(0,i.useState)(!1),[I,O]=(0,i.useState)({}),[Z,L]=(0,i.useState)(!1),[S,k]=(0,i.useState)(0),[V,X]=(0,i.useState)(0),[Q,N]=(0,i.useState)(25),[T,R]=(0,i.useState)(25),[q,z]=(0,i.useState)(0),[P,M]=(0,i.useState)(!1),G=(0,i.useRef)(null),Y=(0,i.useRef)(null);(0,i.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{j(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];O((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{v(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{B(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];O((e=>({...e,cssFile:n})))})),z(G.current.offsetWidth),console.log(q)}),[]);const U=()=>{L(!1),console.log("Stop Resizing")},J=e=>{if(Z){const t=e.clientX-S;V+t>q/3&&(G.current.style.width=`${V+t}px`,Y.current.style.right=(Q-t<25?25:Q-t)+"px",R(Q-t<25?25:Q-t))}},F=s.iv` display: flex; flex-direction: column; - background-color: var(--code-display-color); width: 100%; margin-bottom: 16px; - padding: ${"hidden"==x?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,Z=s.iv` + /* padding: ${"hidden"==x?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,W=s.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,K=s.iv` min-height: 100px; height: 100%; width: 100%; - height: ${p}; - `,S=s.iv` - border: none; + height: ${m||"100%"}; + pointer-events: none; + `,_=s.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${D&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=s.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=s.iv` box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; - .tabs{ - margin-top: 20px; + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px } summary{ display: flex; width: 100%; justify-content: center; - margin: 0; + margin: 10px 0; font-weight: bold; ::before{ left: auto; margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) } } - - `,k=s.iv` - width: 100%; - `,V=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${D&&"opacity: 1;"}; + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=s.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } - `;return(0,u.BX)("div",{css:L,children:["hidden"!=x?(0,u.BX)("div",{onMouseEnter:()=>{H(!0)},onMouseLeave:()=>H(!1),css:k,children:[(0,u.tZ)("div",{css:V,children:(0,u.tZ)(m,{url:t})}),(0,u.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:Z})]}):null,(0,u.BX)(c.Z,{css:S,summary:(0,u.tZ)("summary",{children:"Show Code"}),children:[n&&l?(0,u.tZ)(g,{collapse:E,setCollapse:C}):null,A?(0,u.BX)(o.Z,{children:[(0,u.tZ)(r.Z,{value:w?w[0]:"Java",label:w?w[0]:I.javaFile,default:!0,children:(0,u.tZ)(a.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:E?b:f})}),(0,u.tZ)(r.Z,{value:w?w[1]:"CSS",label:w?w[1]:I.cssFile,children:(0,u.tZ)(a.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,u.tZ)(o.Z,{children:(0,u.tZ)(r.Z,{value:w?w[0]:"Java",label:w?w[0]:I.javaFile,default:!0,children:(0,u.tZ)(a.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:E?b:f})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var i=n(7294),s=n(917),o=n(8230),r=n(4387),c=n(6770);var a=n(5944);function l(e){let{type:t,location:n,top:l,children:A,code:d,suffix:h}=e;const[u,g]=(0,i.useState)("");(0,i.useEffect)((()=>{h||(h=""),g("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const m=s.iv` + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=s.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,u.BX)("div",{css:F,onMouseUp:U,onMouseLeave:U,onMouseMove:J,children:["hidden"!=x?(0,u.BX)("div",{onMouseEnter:()=>{H(!0)},onMouseLeave:()=>H(!1),css:W,children:[(0,u.tZ)("iframe",{onMouseUp:U,loading:"lazy",src:t,css:{...K,pointerEvents:Z?"none":"auto"},ref:G,onMouseMove:J}),(0,u.tZ)("div",{css:_,ref:Y,children:(0,u.tZ)(p,{url:t})}),(0,u.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),L(!0),k(e.clientX),X(G.current.offsetWidth),N(T),console.log(Y.current.right),console.log("Start Resizing")},children:(0,u.tZ)(h.Z,{})})]}):null,(0,u.BX)(c.Z,{css:ee,summary:(0,u.tZ)("summary",{onClick:()=>M(!P),children:P?"Hide Code":"Show Code"}),children:[n&&l?(0,u.tZ)(g,{collapse:E,setCollapse:C}):null,d?(0,u.BX)(o.Z,{css:te,children:[(0,u.tZ)(r.Z,{value:b?b[0]:"Java",label:b?b[0]:I.javaFile,default:!0,children:(0,u.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:A,children:E?w:f})}),(0,u.tZ)(r.Z,{value:b?b[1]:"CSS",label:b?b[1]:I.cssFile,children:(0,u.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,u.tZ)(o.Z,{css:te,children:(0,u.tZ)(r.Z,{value:b?b[0]:"Java",label:b?b[0]:I.javaFile,default:!0,children:(0,u.tZ)(a.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:A,children:E?w:f})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var i=n(7294),s=n(917),o=n(8230),r=n(4387),c=n(6031);var a=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:A,suffix:h}=e;const[u,g]=(0,i.useState)("");(0,i.useEffect)((()=>{h||(h=""),g("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const p=s.iv` display: inline; ${l&&s.iv` @@ -92,12 +137,13 @@ margin-top: -33px; margin-bottom: 25px; `} - `,p=s.iv` + `,m=s.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,a.BX)(a.HY,{children:["true"===l&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)(o.Z,{title:"JavaDoc",arrow:!0,children:(0,a.tZ)(r.Z,{css:p,label:"Java API",component:"a",href:u,icon:(0,a.tZ)(c.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!d&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)("a",{href:u,target:"_blank",children:A})}),"true"!==l&&d&&(0,a.tZ)("div",{css:m,children:(0,a.tZ)("code",{children:(0,a.tZ)("a",{href:u,target:"_blank",children:A})})})]})}},2322:(e,t,n)=>{n.d(t,{Z:()=>c});n(7294);var i=n(917),s=n(9960),o=n(5944);function r(e){let{imagePath:t,title:n,description:r,link:c}=e;const a=i.iv` + `;return(0,a.BX)(a.HY,{children:["true"===l&&(0,a.tZ)("div",{css:p,children:(0,a.tZ)(o.Z,{title:"JavaDoc",arrow:!0,children:(0,a.tZ)(r.Z,{css:m,label:"Java API",component:"a",href:u,icon:(0,a.tZ)(c.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!A&&(0,a.tZ)("div",{css:p,children:(0,a.tZ)("a",{href:u,target:"_blank",children:d})}),"true"!==l&&A&&(0,a.tZ)("div",{css:p,children:(0,a.tZ)("code",{children:(0,a.tZ)("a",{href:u,target:"_blank",children:d})})})]})}},2322:(e,t,n)=>{n.d(t,{Z:()=>c});n(7294);var i=n(917),s=n(9960),o=n(5944);function r(e){let{imagePath:t,title:n,description:r,link:c}=e;const a=i.iv` display: flex; flex-direction: column; width: 300px; @@ -126,13 +172,13 @@ height: 150px; object-fit: contain; margin: 0 0 5px -3px; - `,A=i.iv` + `,d=i.iv` height: 1px; background-color: lightgray; margin: 5px 0 15px 0; transition: all var(--ifm-transition-fast) ease; transition-property: background-color,box-shadow; - `,d=i.iv` + `,A=i.iv` h5{ font-size: 1em; } @@ -140,7 +186,7 @@ font-size: .9em; margin: 0px !important; } - `;return(0,o.BX)(s.Z,{to:c,css:a,children:[(0,o.tZ)("div",{css:{display:"flex",justifyContent:"center"},children:(0,o.tZ)("img",{src:t.default,css:l})}),(0,o.tZ)("div",{css:A,className:"bar"}),(0,o.BX)("div",{css:d,children:[(0,o.tZ)("h5",{children:n}),(0,o.tZ)("p",{children:r})]})]})}function c(e){let{componentData:t}=e;const n=i.iv` + `;return(0,o.BX)(s.Z,{to:c,css:a,children:[(0,o.tZ)("div",{css:{display:"flex",justifyContent:"center"},children:(0,o.tZ)("img",{src:t.default,css:l})}),(0,o.tZ)("div",{css:d,className:"bar"}),(0,o.BX)("div",{css:A,children:[(0,o.tZ)("h5",{children:n}),(0,o.tZ)("p",{children:r})]})]})}function c(e){let{componentData:t}=e;const n=i.iv` display : flex; flex-direction : row; flex-wrap : wrap; diff --git a/assets/js/ba4df261.54d8e98a.js b/assets/js/ba4df261.54d8e98a.js deleted file mode 100644 index 12888fca9..000000000 --- a/assets/js/ba4df261.54d8e98a.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9580],{1629:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>a,metadata:()=>d,toc:()=>h});var o=n(5893),i=n(1151),r=n(6957),l=(n(7796),n(3273)),s=n(2665);const a={sidebar_position:1,title:"ColorField",slug:"colorfield"},c=void 0,d={id:"components/fields/color-field",title:"ColorField",description:"The ColorField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/color-field.md",sourceDirName:"components/fields",slug:"/components/fields/colorfield",permalink:"/docs/components/fields/colorfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/color-field.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"ColorField",slug:"colorfield"},sidebar:"documentationSidebar",previous:{title:"Field",permalink:"/docs/components/fields/"},next:{title:"DateField",permalink:"/docs/components/fields/datefield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Color Code Format",id:"color-code-format",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function m(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(s.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/field/ColorField",top:"true"}),"\n",(0,o.jsxs)(t.admonition,{type:"success",children:[(0,o.jsx)(t.mdxAdmonitionTitle,{children:(0,o.jsx)(t.strong,{children:"Important"})}),(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ColorField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ColorField"})," component is a powerful and versatile tool designed to provide an intuitive and interactive way to explore and select colors within your application. Whether you're designing a user interface, creating visualizations, or enhancing user experience, the ",(0,o.jsx)(t.code,{children:"ColorField"})," component offers a seamless and efficient approach to working with colors."]}),"\n",(0,o.jsx)(t.p,{children:"With a simple drag-and-hover interface, users can effortlessly navigate through the color space to find the exact hue, saturation, and brightness that matches their creative vision. Users can also input color values directly, ensuring precision."}),"\n",(0,o.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.ColorFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/ColorFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/color_field_styles.css",height:"300px"}),"\n",(0,o.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ColorField"})," is best used in scenarios where color selection is a crucial part of the user interface or application functionality. This section outlines the best practices and scenarios for using the color field component effectively."]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Graphic Design and Image Editing Tools"}),": Color fields are essential in applications that involve:"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Graphic design elements or functionality"}),"\n",(0,o.jsx)(t.li,{children:"Image editing and customization"}),"\n",(0,o.jsx)(t.li,{children:"Tasks that require selecting or modifying colors"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Theme Customization"}),": If your application allows users to customize themes, using a color field enables them to choose colors for different UI elements, such as backgrounds, text, buttons, etc."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Data Visualization"}),": Color fields are valuable in applications that involve data visualization, as they allow users to select colors for charts, graphs, heatmaps, and other visual representations."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require color inputs, using a color field simplifies the color selection process for users."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ColorField"})," class has four constructors:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"ColorField(String label, Color color)"}),": Creates a ",(0,o.jsx)(t.code,{children:"ColorField"})," with a given label and color."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"ColorField(String label)"}),": Creates a ",(0,o.jsx)(t.code,{children:"ColorField"})," with a given label but with no pre-populated color."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"ColorField(Color color)"}),": Creates a ",(0,o.jsx)(t.code,{children:"ColorField"})," with a given color, but without a label."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"ColorField()"}),": Creates a ",(0,o.jsx)(t.code,{children:"ColorField"})," without any provided information."]}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"color-code-format",children:"Color Code Format"}),"\n",(0,o.jsxs)(t.p,{children:["Currently, the ",(0,o.jsx)(t.code,{children:"ColorField"})," supports ",(0,o.jsx)(t.code,{children:"#RRGGBB"})," hexadecimal format. Only simple colors (without alpha channel) are allowed in the picker interface. Additionally, the ",(0,o.jsx)(t.code,{children:"ColorField"})," comes along with a various methods that interact with the ",(0,o.jsx)(t.code,{children:"java.awt.Color"})," class to add flexibility."]}),"\n",(0,o.jsx)(t.admonition,{type:"info",children:(0,o.jsx)(t.p,{children:"The component's presentation may vary substantially from one browser and/or platform to another. It might be a simple textual field that automatically validates to ensure that the color information is entered in the proper format, a platform-standard color picker, or some kind of custom color picker window."})}),"\n",(0,o.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"ColorField"})," class also provides the following static utility methods:"]}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"Color fromHex(String hex)"}),": Convert a color string in hex format to a ",(0,o.jsx)(t.code,{children:"Color"})," object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"String toHex(Color color)"}),": Convert the given value to the corresponding hex representation."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"boolean isValidHexColor(String hex)"}),": Check if the given value is a valid 7 character hex color."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,o.jsx)(t.code,{children:"ColorField"})," component, consider the following best practices:"]}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Consider Contextual Assistance"}),": Provide contextual assistance, such as tooltips or inline help, to guide users in understanding the purpose and usage of the color field component."]})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>l});n(7294);var o=n(6010);const i={tabItem:"tabItem_Ymn6"};var r=n(5893);function l(e){let{children:t,hidden:n,className:l}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,o.Z)(i.tabItem,l),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),i=n(6010),r=n(2466),l=n(6550),s=n(469),a=n(1980),c=n(7392),d=n(12);function u(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:i}}=e;return{value:t,label:n,attributes:o,default:i}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const i=(0,l.k6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,a._X)(r),(0,o.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(i.location.search);t.set(r,e),i.replace({...i.location,search:t.toString()})}),[r,i])]}function A(e){const{defaultValue:t,queryString:n=!1,groupId:i}=e,r=h(e),[l,a]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:r}))),[c,u]=p({queryString:n,groupId:i}),[A,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,r]=(0,d.Nk)(n);return[i,(0,o.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:i}),g=(()=>{const e=c??A;return m({value:e,tabValues:r})?e:null})();(0,s.Z)((()=>{g&&a(g)}),[g]);return{selectedValue:l,selectValue:(0,o.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);a(e),u(e),b(e)}),[u,b,r]),tabValues:r}}var b=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=n(5893);function v(e){let{className:t,block:n,selectedValue:o,selectValue:l,tabValues:s}=e;const a=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),d=e=>{const t=e.currentTarget,n=a.indexOf(t),i=s[n].value;i!==o&&(c(t),l(i))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=a.indexOf(e.currentTarget)+1;t=a[n]??a[0];break}case"ArrowLeft":{const n=a.indexOf(e.currentTarget)-1;t=a[n]??a[a.length-1];break}}t?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:s.map((e=>{let{value:t,label:n,attributes:r}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>a.push(e),onKeyDown:u,onClick:d,...r,className:(0,i.Z)("tabs__item",g.tabItem,r?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:i}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===i));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:r.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function w(e){const t=A(e);return(0,f.jsxs)("div",{className:(0,i.Z)("tabs-container",g.tabList),children:[(0,f.jsx)(v,{...e,...t}),(0,f.jsx)(x,{...e,...t})]})}function j(e){const t=(0,b.Z)();return(0,f.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var o=n(7294),i=n(917),r=n(4866),l=n(5162),s=n(4673),a=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2949),m=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const o=i.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,r=i.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,l=i.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:o,children:(0,m.tZ)("button",{css:r,onClick:()=>{n(!t)},children:t?(0,m.tZ)("img",{css:l,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:l,src:c,className:"icon-tabler-arrow-bar-down"})})})}function A(e){let{url:t}=e;const n=i.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,o=i.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:o,src:u})})}function b(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:b,frame:g,tabs:f}=e;const[v,x]=(0,o.useState)(""),[w,j]=(0,o.useState)(""),[C,y]=(0,o.useState)(""),[D,B]=(0,o.useState)(!(!n||!c)),[k,Z]=(0,o.useState)(!1),[F,S]=(0,o.useState)({});(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];S((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];S((e=>({...e,cssFile:n})))}))}),[]);const E=i.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,L=i.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${b}; - `,T=i.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,N=i.iv` - width: 100%; - `,V=i.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${k&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:E,children:["hidden"!=g?(0,m.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:N,children:[(0,m.tZ)("div",{css:V,children:(0,m.tZ)(A,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:L})]}):null,(0,m.BX)(s.Z,{css:T,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,m.tZ)(p,{collapse:D,setCollapse:B}):null,d?(0,m.BX)(r.Z,{children:[(0,m.tZ)(l.Z,{value:f?f[0]:"Java",label:f?f[0]:F.javaFile,default:!0,children:(0,m.tZ)(a.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?v:w})}),(0,m.tZ)(l.Z,{value:f?f[1]:"CSS",label:f?f[1]:F.cssFile,children:(0,m.tZ)(a.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:C})})]}):(0,m.tZ)(r.Z,{children:(0,m.tZ)(l.Z,{value:f?f[0]:"Java",label:f?f[0]:F.javaFile,default:!0,children:(0,m.tZ)(a.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?v:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),i=n(917),r=n(8230),l=n(4387),s=n(6770);var a=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[m,p]=(0,o.useState)("");(0,o.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const A=i.iv` - display: inline; - - ${c&&i.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,b=i.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,a.BX)(a.HY,{children:["true"===c&&(0,a.tZ)("div",{css:A,children:(0,a.tZ)(r.Z,{title:"JavaDoc",arrow:!0,children:(0,a.tZ)(l.Z,{css:b,label:"Java API",component:"a",href:m,icon:(0,a.tZ)(s.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,a.tZ)("div",{css:A,children:(0,a.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&u&&(0,a.tZ)("div",{css:A,children:(0,a.tZ)("code",{children:(0,a.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var o=n(8397),i=n(5893);function r(e){return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(o.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/ba4df261.98eee79d.js b/assets/js/ba4df261.98eee79d.js new file mode 100644 index 000000000..b47930415 --- /dev/null +++ b/assets/js/ba4df261.98eee79d.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9580],{1629:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>m,frontMatter:()=>l,metadata:()=>d,toc:()=>h});var n=o(5893),r=o(1151),i=o(6957),s=(o(7796),o(3273)),a=o(2665);const l={sidebar_position:1,title:"ColorField",slug:"colorfield"},c=void 0,d={id:"components/fields/color-field",title:"ColorField",description:"The ColorField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/color-field.md",sourceDirName:"components/fields",slug:"/components/fields/colorfield",permalink:"/docs/components/fields/colorfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/color-field.md",tags:[],version:"current",sidebarPosition:1,frontMatter:{sidebar_position:1,title:"ColorField",slug:"colorfield"},sidebar:"documentationSidebar",previous:{title:"Field",permalink:"/docs/components/fields/"},next:{title:"DateField",permalink:"/docs/components/fields/datefield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Color Code Format",id:"color-code-format",level:3},{value:"Static Utilities",id:"static-utilities",level:3},{value:"Best Practices",id:"best-practices",level:3}];function p(e){const t={a:"a",admonition:"admonition",blockquote:"blockquote",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",ul:"ul",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(a.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,n.jsx)(a.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,n.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/field/ColorField",top:"true"}),"\n",(0,n.jsxs)(t.admonition,{type:"success",children:[(0,n.jsx)(t.mdxAdmonitionTitle,{children:(0,n.jsx)(t.strong,{children:"Important"})}),(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ColorField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ColorField"})," component is a powerful and versatile tool designed to provide an intuitive and interactive way to explore and select colors within your application. Whether you're designing a user interface, creating visualizations, or enhancing user experience, the ",(0,n.jsx)(t.code,{children:"ColorField"})," component offers a seamless and efficient approach to working with colors."]}),"\n",(0,n.jsx)(t.p,{children:"With a simple drag-and-hover interface, users can effortlessly navigate through the color space to find the exact hue, saturation, and brightness that matches their creative vision. Users can also input color values directly, ensuring precision."}),"\n",(0,n.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.ColorFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/ColorFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/color_field_styles.css",height:"300px"}),"\n",(0,n.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ColorField"})," is best used in scenarios where color selection is a crucial part of the user interface or application functionality. This section outlines the best practices and scenarios for using the color field component effectively."]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.strong,{children:"Graphic Design and Image Editing Tools"}),": Color fields are essential in applications that involve:"]}),"\n"]}),"\n",(0,n.jsxs)(t.blockquote,{children:["\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:"Graphic design elements or functionality"}),"\n",(0,n.jsx)(t.li,{children:"Image editing and customization"}),"\n",(0,n.jsx)(t.li,{children:"Tasks that require selecting or modifying colors"}),"\n"]}),"\n"]}),"\n",(0,n.jsxs)(t.ol,{start:"2",children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Theme Customization"}),": If your application allows users to customize themes, using a color field enables them to choose colors for different UI elements, such as backgrounds, text, buttons, etc."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Data Visualization"}),": Color fields are valuable in applications that involve data visualization, as they allow users to select colors for charts, graphs, heatmaps, and other visual representations."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Form Inputs"}),": When designing forms that require color inputs, using a color field simplifies the color selection process for users."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ColorField"})," class has four constructors:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"ColorField(String label, Color color)"}),": Creates a ",(0,n.jsx)(t.code,{children:"ColorField"})," with a given label and color."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"ColorField(String label)"}),": Creates a ",(0,n.jsx)(t.code,{children:"ColorField"})," with a given label but with no pre-populated color."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"ColorField(Color color)"}),": Creates a ",(0,n.jsx)(t.code,{children:"ColorField"})," with a given color, but without a label."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"ColorField()"}),": Creates a ",(0,n.jsx)(t.code,{children:"ColorField"})," without any provided information."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"color-code-format",children:"Color Code Format"}),"\n",(0,n.jsxs)(t.p,{children:["Currently, the ",(0,n.jsx)(t.code,{children:"ColorField"})," supports ",(0,n.jsx)(t.code,{children:"#RRGGBB"})," hexadecimal format. Only simple colors (without alpha channel) are allowed in the picker interface. Additionally, the ",(0,n.jsx)(t.code,{children:"ColorField"})," comes along with a various methods that interact with the ",(0,n.jsx)(t.code,{children:"java.awt.Color"})," class to add flexibility."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"The component's presentation may vary substantially from one browser and/or platform to another. It might be a simple textual field that automatically validates to ensure that the color information is entered in the proper format, a platform-standard color picker, or some kind of custom color picker window."})}),"\n",(0,n.jsx)(t.h3,{id:"static-utilities",children:"Static Utilities"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ColorField"})," class also provides the following static utility methods:"]}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"Color fromHex(String hex)"}),": Convert a color string in hex format to a ",(0,n.jsx)(t.code,{children:"Color"})," object which can then be utilized with this class, or elsewhere."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"String toHex(Color color)"}),": Convert the given value to the corresponding hex representation."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"boolean isValidHexColor(String hex)"}),": Check if the given value is a valid 7 character hex color."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,n.jsxs)(t.p,{children:["To ensure an optimal user experience when using the ",(0,n.jsx)(t.code,{children:"ColorField"})," component, consider the following best practices:"]}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Contextual Assistance"}),": Provide contextual assistance, such as tooltips or inline help, to guide users in understanding the purpose and usage of the color field component."]})]})}function m(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},6031:(e,t,o)=>{var n=o(4836);t.Z=void 0;var r=n(o(4938)),i=o(5893),s=(0,r.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=s},2610:(e,t,o)=>{var n=o(4836);t.Z=void 0;var r=n(o(4938)),i=o(5893),s=(0,r.default)((0,i.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=s},5162:(e,t,o)=>{o.d(t,{Z:()=>s});o(7294);var n=o(6010);const r={tabItem:"tabItem_Ymn6"};var i=o(5893);function s(e){let{children:t,hidden:o,className:s}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,n.Z)(r.tabItem,s),hidden:o,children:t})}},4866:(e,t,o)=>{o.d(t,{Z:()=>j});var n=o(7294),r=o(6010),i=o(2466),s=o(6550),a=o(469),l=o(1980),c=o(7392),d=o(12);function u(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:o}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:o,attributes:n,default:r}}=e;return{value:t,label:o,attributes:n,default:r}}))}(o);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,o])}function p(e){let{value:t,tabValues:o}=e;return o.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:o}=e;const r=(0,s.k6)(),i=function(e){let{queryString:t=!1,groupId:o}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:t,groupId:o});return[(0,l._X)(i),(0,n.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(r.location.search);t.set(i,e),r.replace({...r.location,search:t.toString()})}),[i,r])]}function g(e){const{defaultValue:t,queryString:o=!1,groupId:r}=e,i=h(e),[s,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:o}=e;if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:o}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${o.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=o.find((e=>e.default))??o[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:i}))),[c,u]=m({queryString:o,groupId:r}),[g,A]=function(e){let{groupId:t}=e;const o=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,i]=(0,d.Nk)(o);return[r,(0,n.useCallback)((e=>{o&&i.set(e)}),[o,i])]}({groupId:r}),b=(()=>{const e=c??g;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{b&&l(b)}),[b]);return{selectedValue:s,selectValue:(0,n.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),A(e)}),[u,A,i]),tabValues:i}}var A=o(2389);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var f=o(5893);function v(e){let{className:t,block:o,selectedValue:n,selectValue:s,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,i.o5)(),d=e=>{const t=e.currentTarget,o=l.indexOf(t),r=a[o].value;r!==n&&(c(t),s(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const o=l.indexOf(e.currentTarget)+1;t=l[o]??l[0];break}case"ArrowLeft":{const o=l.indexOf(e.currentTarget)-1;t=l[o]??l[l.length-1];break}}t?.focus()};return(0,f.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":o},t),children:a.map((e=>{let{value:t,label:o,attributes:i}=e;return(0,f.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...i,className:(0,r.Z)("tabs__item",b.tabItem,i?.className,{"tabs__item--active":n===t}),children:o??t},t)}))})}function x(e){let{lazy:t,children:o,selectedValue:r}=e;const i=(Array.isArray(o)?o:[o]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===r));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,f.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function w(e){const t=g(e);return(0,f.jsxs)("div",{className:(0,r.Z)("tabs-container",b.tabList),children:[(0,f.jsx)(v,{...e,...t}),(0,f.jsx)(x,{...e,...t})]})}function j(e){const t=(0,A.Z)();return(0,f.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,o)=>{o.d(t,{Z:()=>A});var n=o(7294),r=o(917),i=o(4866),s=o(5162),a=o(4673),l=o(1750);const c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAG/ElEQVR4nO3dTW7bRhgG4Ddu4bTHa72Ir+UbNKskm/YgvYJhGF61B2gcIEDdRSVAMGxLIueHQz4PMBtDGeoj9EIfxWEmAQAAAAAAAAAAAAAAAAAAAAAAACjnMsl1ks9JbpN8343b3d+ud68BFuYqyUOSpyPjYfdaYAEuktzkeHCfj5vdvwU6mhLewxADnVxlenj3QzsNHVwmucv8AN8ned/2rQPXmR/e/fjQ+L1TiB8xxvVLwbl+LTgXcIIS7fN+3DV+7xTyrvcbYLLHJD8Vmutbkp8LzUVDAjyup8Lz+SwMyDUwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMT4Dq2tkvg1uplxVrtEljqv5Tdj6nsisgqtN4lsHeA7YrIqszZJfBjzv9Q9wzwxe49Tz2WXRFZlBK7BJ4b4l4Bnhve/dBOswildgl8SvIpyY8nHrdHgC+S/FboePexKyILUHKXwHNC3DrAJcO7H3ZFpLsvKR+mU9rplgEu1TY/H1+OHBeqK7lL4DkhbhXgWuF9il0RWYDH1PlwP+XtdrpFgGu0zYfj8ZXjQjNfU+8D/laIawe4dnifkvzz+mmFNmq10IfjpXa6ZoBrts2HQwtNdzV+xDolxLUC3Cq8T/EjFgtQ+jbSW+Owna4R4BZt8+FwG4nuSi7kOCfEpedtHd77WMjBQpRYSnnOqNHitmqb98NSShZlzsMMWxseZmBxWv74M/KY8uQVNNH6OnK08SnJD1NPLrQgxMLL4IRYeBmcEAsvg9t6iIWX4W01xMLLamwtxMLL6mzlPrH7vKzW2r+JffOyemsNsfCyGWsLsfCyOWsJsfCyWaOHWHjZvFFDLLywM9otJreK4JlRQiy88Iqlh1h44YilXhO75oUTLS3EwgtnWko7rW2GiXqHWHhhpl4hFl4opPU1sWteKKzVN7FvXqikdoiFFyqr1U5rm6GR0iEWXmisVDutbYZO5oZYeKGzi0zb2vQmwguLcZXkIceD+xCba8MiXSa5TvI5yW2S77txu/vb9e41AAAAAAAAAAAAwCK9tBTw1MX5S1oyqA51bM6pi/FPHb0W7atDHZsy9XG4U0erx+bUoY5NqnmSD0+2OtQxYh2LdpX6J3k/arY96lDH5lwmuUu7E32f5L061DFIHYt3nXYneT8+qEMdg9Rxkp4X4b90OOavFeZUx3TqGFjLNmc/7tShjkHqOMm7XgdO8pjkp8bH/Jbk58JzqmM6dczUs4V+6nDMfyvMqY7p1DFTzwD/1eGYf1eYUx3TqWOmngH+cyXHVMeyjrmWOk7SM8B/dDjm7xXmVMd06hjYWm64q0Mdm1zIkaxnyZs61LFZa1l0rg51bNJaHvtShzo2bS0PXqtDHZu1lv/6RB3qAAAAAAAAAAAAAJp7acmgpYAwgFMX7VuMDwsy9bE5j8NBZxdJPmb6o3EfI8TQxdzwCjF0cpHkt5R7SP1Tkh9bFgBbVTq8QgyNlGqbtdPQWO3wCjFUUqtt1k5DZa3DK8RQSKu2WTsNhfUOrxDDRL3aZu00zLS08AoxnGgpbbN2Gs609PAKMbxilPAKMTyz1GveY8M1MZs3aniFmM0bPbxCzGatJbxCzOasLbxCzGasNbxCzOqNdqto6nCLidVZ+zevb2JWa2vhFWJWY6vhFWKGt/XwCjHDEl4hZlDCK8QMSniFmEFt5T7v3OE+MYs0ZYvPrY6biecYqrhK+2+xEeZ8a9hknEW4THKXdh/8T0l+qDBv6+v3+yTvzz7bUNh12oc3FeZO2of4wzknGmr4kjYf9uc//tQIcNL2x7gvJ55jqKZF+/zSL7e1Apy0C/Hd0bMLlT2m7of8sG0+VDPASZt2+vH10wptfE378KbCsV5SO8T/vHJcaKZWC31swUOLACd122ktNN3V+BHrlNVKrQKc1AuxH7HorvRtpLfa5kMtA5zUaafdRqK7kgs5Tg1vCh3vnAAnZUN8Hws5WIgSSynPXeTfI8BJuXbaUkoWZc7DDFOe0OkV4GR+iD3MwOJcZFqIbzLt8bqeAU7a1wtNXCV5yPEP8kPmtZG9A7zXql5o5jL//zr9Ocltku+7cbv72/XuNXMsJcBJm3p5wbveb4DJ5obuOZ+FAbkWgYEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAjyukltzfi04Fw0J8Lj+KjjX3wXnoiEBHtefC52LhgR4XH8UnOv3gnMBJyi1K+J97BIIXZTYFdF2J9DRnF0R7RIIndklEFbALoEwOLsEAgAAAAAAAAAAAAAAAAAAAAAAAE39B2tV13Hdy+hQAAAAAElFTkSuQmCC",d=o.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=o(2610),p=o(5944);function m(e){let{collapse:t,setCollapse:o}=e;const n=r.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,i=r.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,s=r.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:n,children:(0,p.tZ)("button",{css:i,onClick:()=>{o(!t)},children:t?(0,p.tZ)("img",{css:s,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:s,src:c,className:"icon-tabler-arrow-bar-down"})})})}function g(e){let{url:t}=e;const o=r.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,n=r.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:o,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:n,src:u})})}function A(e){let{path:t,javaC:o,javaE:c,cssURL:d,javaHighlight:u,height:A,frame:b,tabs:f}=e;const[v,x]=(0,n.useState)(""),[w,j]=(0,n.useState)(""),[C,y]=(0,n.useState)(""),[D,k]=(0,n.useState)(!(!o||!c)),[Z,B]=(0,n.useState)(!1),[S,F]=(0,n.useState)({}),[E,z]=(0,n.useState)(!1),[L,T]=(0,n.useState)(0),[V,M]=(0,n.useState)(0),[H,N]=(0,n.useState)(25),[O,X]=(0,n.useState)(25),[G,J]=(0,n.useState)(0),[Y,I]=(0,n.useState)(!1),P=(0,n.useRef)(null),W=(0,n.useRef)(null);(0,n.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),o=t[t.length-1];F((e=>({...e,javaFile:o})))})),o&&fetch(o).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),o=t[t.length-1];F((e=>({...e,cssFile:o})))})),J(P.current.offsetWidth),console.log(G)}),[]);const q=()=>{z(!1),console.log("Stop Resizing")},R=e=>{if(E){const t=e.clientX-L;V+t>G/3&&(P.current.style.width=`${V+t}px`,W.current.style.right=(H-t<25?25:H-t)+"px",X(H-t<25?25:H-t))}},U=r.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==b?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=r.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=r.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${A||"100%"}; + pointer-events: none; + `,_=r.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${Z&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=r.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=r.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=r.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,oe=r.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:U,onMouseUp:q,onMouseLeave:q,onMouseMove:R,children:["hidden"!=b?(0,p.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:q,loading:"lazy",src:t,css:{...Q,pointerEvents:E?"none":"auto"},ref:P,onMouseMove:R}),(0,p.tZ)("div",{css:_,ref:W,children:(0,p.tZ)(g,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),z(!0),T(e.clientX),M(P.current.offsetWidth),N(O),console.log(W.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(a.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>I(!Y),children:Y?"Hide Code":"Show Code"}),children:[o&&c?(0,p.tZ)(m,{collapse:D,setCollapse:k}):null,d?(0,p.BX)(i.Z,{css:te,children:[(0,p.tZ)(s.Z,{value:f?f[0]:"Java",label:f?f[0]:S.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:oe,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?v:w})}),(0,p.tZ)(s.Z,{value:f?f[1]:"CSS",label:f?f[1]:S.cssFile,children:(0,p.tZ)(l.Z,{css:oe,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:C})})]}):(0,p.tZ)(i.Z,{css:te,children:(0,p.tZ)(s.Z,{value:f?f[0]:"Java",label:f?f[0]:S.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:oe,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?v:w})})})]})]})}},3273:(e,t,o)=>{o.d(t,{Z:()=>c});var n=o(7294),r=o(917),i=o(8230),s=o(4387),a=o(6031);var l=o(5944);function c(e){let{type:t,location:o,top:c,children:d,code:u,suffix:h}=e;const[p,m]=(0,n.useState)("");(0,n.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+o+".html"+h)}),[]);const g=r.iv` + display: inline; + + ${c&&r.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,A=r.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(s.Z,{css:A,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:g,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,o)=>{o.d(t,{Z:()=>i});o(7294);var n=o(8397),r=o(5893);function i(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(n.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/c548088a.e95d655e.js b/assets/js/c548088a.af63ed6c.js similarity index 71% rename from assets/js/c548088a.e95d655e.js rename to assets/js/c548088a.af63ed6c.js index 02e3f37ae..0f51e5f69 100644 --- a/assets/js/c548088a.e95d655e.js +++ b/assets/js/c548088a.af63ed6c.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3021],{2610:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>l,default:()=>v,frontMatter:()=>c,metadata:()=>r,toc:()=>d});var s=n(5893),o=n(1151),i=n(3273);const c={sidebar_position:0,title:"ToggleEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ToggleEvent"},l=void 0,r={id:"components/events/toggle-event",title:"ToggleEvent",description:'A "toggle" event occurs when an element or control changes its state between two possible states, such as "on" and "off" or "visible" and "hidden." It can apply to various elements, such as buttons, dropdowns, menus, or modals. When a "toggle" event is triggered, the element switches its state from one option to another, reflecting the user\'s action or changing conditions. This class also inherits methods from the base Event class',source:"@site/docs/components/events/toggle-event.md",sourceDirName:"components/events",slug:"/components/events/ToggleEvent",permalink:"/docs/components/events/ToggleEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/toggle-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ToggleEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ToggleEvent"},sidebar:"documentationSidebar",previous:{title:"RightMouseDownEvent",permalink:"/docs/components/events/RightMouseDownEvent"},next:{title:"UncheckEvent",permalink:"/docs/components/events/UncheckEvent"}},a={},d=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/ToggleEvent",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:['A "toggle" event occurs when an element or control changes its state between two possible states, such as "on" and "off" or "visible" and "hidden." It can apply to various elements, such as buttons, dropdowns, menus, or modals. When a "toggle" event is triggered, the element switches its state from one option to another, reflecting the user\'s action or changing conditions. This class also inherits methods from the ',(0,s.jsxs)(t.a,{href:"./event",children:["base ",(0,s.jsx)(t.code,{children:"Event"})," class"]})]}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isToggled()"})}),(0,s.jsx)(t.td,{children:"Gets the value of the component to determine whether it was toggled on or off."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./CheckEvent",children:"Check Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./UncheckEvent",children:"Uncheck Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../checkbox",children:"CheckBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../radiobutton",children:"RadioButton"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(7294),o=n(917),i=n(8230),c=n(4387),l=n(6770);var r=n(5944);function a(e){let{type:t,location:n,top:a,children:d,code:h,suffix:v}=e;const[g,u]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),u("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const p=o.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[3021],{6835:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>a,contentTitle:()=>r,default:()=>v,frontMatter:()=>c,metadata:()=>l,toc:()=>d});var s=n(5893),o=n(1151),i=n(3273);const c={sidebar_position:0,title:"ToggleEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ToggleEvent"},r=void 0,l={id:"components/events/toggle-event",title:"ToggleEvent",description:'A "toggle" event occurs when an element or control changes its state between two possible states, such as "on" and "off" or "visible" and "hidden." It can apply to various elements, such as buttons, dropdowns, menus, or modals. When a "toggle" event is triggered, the element switches its state from one option to another, reflecting the user\'s action or changing conditions. This class also inherits methods from the base Event class',source:"@site/docs/components/events/toggle-event.md",sourceDirName:"components/events",slug:"/components/events/ToggleEvent",permalink:"/docs/components/events/ToggleEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/toggle-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ToggleEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ToggleEvent"},sidebar:"documentationSidebar",previous:{title:"RightMouseDownEvent",permalink:"/docs/components/events/RightMouseDownEvent"},next:{title:"UncheckEvent",permalink:"/docs/components/events/UncheckEvent"}},a={},d=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/ToggleEvent",top:"true"}),"\n",(0,s.jsxs)(t.p,{children:['A "toggle" event occurs when an element or control changes its state between two possible states, such as "on" and "off" or "visible" and "hidden." It can apply to various elements, such as buttons, dropdowns, menus, or modals. When a "toggle" event is triggered, the element switches its state from one option to another, reflecting the user\'s action or changing conditions. This class also inherits methods from the ',(0,s.jsxs)(t.a,{href:"./event",children:["base ",(0,s.jsx)(t.code,{children:"Event"})," class"]})]}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsx)(t.tbody,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isToggled()"})}),(0,s.jsx)(t.td,{children:"Gets the value of the component to determine whether it was toggled on or off."})]})})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./CheckEvent",children:"Check Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./UncheckEvent",children:"Uncheck Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../checkbox",children:"CheckBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../radiobutton",children:"RadioButton"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var o=s(n(4938)),i=n(5893),c=(0,o.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=c},3273:(e,t,n)=>{n.d(t,{Z:()=>a});var s=n(7294),o=n(917),i=n(8230),c=n(4387),r=n(6031);var l=n(5944);function a(e){let{type:t,location:n,top:a,children:d,code:h,suffix:v}=e;const[g,u]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),u("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const p=o.iv` display: inline; ${a&&o.iv` @@ -10,7 +10,8 @@ `} `,m=o.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,r.BX)(r.HY,{children:["true"===a&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(c.Z,{css:m,label:"Java API",component:"a",href:g,icon:(0,r.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==a&&!h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("a",{href:g,target:"_blank",children:d})}),"true"!==a&&h&&(0,r.tZ)("div",{css:p,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:g,target:"_blank",children:d})})})]})}}}]); \ No newline at end of file + `;return(0,l.BX)(l.HY,{children:["true"===a&&(0,l.tZ)("div",{css:p,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(c.Z,{css:m,label:"Java API",component:"a",href:g,icon:(0,l.tZ)(r.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==a&&!h&&(0,l.tZ)("div",{css:p,children:(0,l.tZ)("a",{href:g,target:"_blank",children:d})}),"true"!==a&&h&&(0,l.tZ)("div",{css:p,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:g,target:"_blank",children:d})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/c58736f6.373d732b.js b/assets/js/c58736f6.373d732b.js deleted file mode 100644 index 3d63ecbbb..000000000 --- a/assets/js/c58736f6.373d732b.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1517],{8309:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>m,frontMatter:()=>c,metadata:()=>h,toc:()=>p});var a=n(5893),o=n(1151),s=n(6957),i=n(7796),l=n(3273),r=n(2665);const c={sidebar_position:25,title:"Dialog"},d=void 0,h={id:"components/dialog",title:"Dialog",description:"The DWCJ's dialog component is built to allow a developer to quickly and easily display a dialog on their application, for instances such as a login menu or information box.",source:"@site/docs/components/dialog.md",sourceDirName:"components",slug:"/components/dialog",permalink:"/docs/components/dialog",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/dialog.md",tags:[],version:"current",sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Dialog"},sidebar:"documentationSidebar",previous:{title:"Checkbox",permalink:"/docs/components/styles/checkbox"},next:{title:"Drawer",permalink:"/docs/components/drawer"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Backdrop and Blur",id:"backdrop-and-blur",level:2},{value:"Closing the Dialog",id:"closing-the-dialog",level:2},{value:"Auto-Focus",id:"auto-focus",level:2},{value:"Draggable",id:"draggable",level:2},{value:"Snap to Edge",id:"snap-to-edge",level:3},{value:"Positioning",id:"positioning",level:2},{value:"Vertical Alignment",id:"vertical-alignment",level:3},{value:"Full Screen and Breakpoints",id:"full-screen-and-breakpoints",level:3},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Themes",id:"themes",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Slots",id:"slots",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3}];function g(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,o.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(r.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",target:"_blank",clickable:!1,iconName:"shadow"}),"\n",(0,a.jsx)(r.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-dialog",clickable:!1,iconName:"code"}),"\n",(0,a.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/dialog/Dialog",top:"true"}),"\n",(0,a.jsx)(t.p,{children:"The DWCJ's dialog component is built to allow a developer to quickly and easily display a dialog on their application, for instances such as a login menu or information box."}),"\n",(0,a.jsxs)(t.p,{children:["The component is built with three sections, each of which are ",(0,a.jsx)(t.code,{children:"Panel"})," components: the ",(0,a.jsx)(t.strong,{children:"header"}),", the ",(0,a.jsx)(t.strong,{children:"content"}),", and the ",(0,a.jsx)(t.strong,{children:"footer"}),"."]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogSections",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Sections.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogSections.java",height:"225px"}),"\n",(0,a.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,a.jsxs)(t.ol,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"User Feedback and Confirmation"}),": ",(0,a.jsx)(t.code,{children:"Dialog"})," components are often used to provide feedback or ask for user confirmation. They can display various important pieces of feedback to a user, such as:"]}),"\n"]}),"\n",(0,a.jsxs)(t.blockquote,{children:["\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Success messages"}),"\n",(0,a.jsx)(t.li,{children:"Error alerts"}),"\n",(0,a.jsx)(t.li,{children:"Confirmation submissions"}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.ol,{start:"2",children:["\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Form Input and Editing"}),": You can use dialogs to collect user input or allow them to edit information in a controlled and focused manner. For example, a dialog can pop up to edit user profile details or complete a multi-step form."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Contextual Information"}),": Displaying additional contextual information or tooltips in a dialog can help users understand complex features or data. Dialogs can provide in-depth explanations, charts, or help documentation."]}),"\n"]}),"\n",(0,a.jsxs)(t.li,{children:["\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.strong,{children:"Image and Media Previews"}),": When users need to view pieces of media, a ",(0,a.jsx)(t.code,{children:"Dialog"})," can be used to show larger previews or galleries, such as when interacting with:"]}),"\n"]}),"\n"]}),"\n",(0,a.jsxs)(t.blockquote,{children:["\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsx)(t.li,{children:"Images"}),"\n",(0,a.jsx)(t.li,{children:"Videos"}),"\n",(0,a.jsx)(t.li,{children:"Other media"}),"\n"]}),"\n"]}),"\n",(0,a.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,a.jsxs)(t.p,{children:["The Dialog can be constructed using the default ",(0,a.jsx)(t.code,{children:"Dialog()"})," constructor. Once the object has been instantiated, call the ",(0,a.jsx)(t.code,{children:"show()"})," method on the object itself to display the dialog."]}),"\n",(0,a.jsx)(t.h2,{id:"backdrop-and-blur",children:"Backdrop and Blur"}),"\n",(0,a.jsxs)(t.p,{children:["By enabling the backdrop attribute of the DWCJ's ",(0,a.jsx)(t.code,{children:"Dialog"})," component, a backdrop will be displayed behind the ",(0,a.jsx)(t.code,{children:"Dialog"}),". Additionally, when enabled, the Dialog's blurred attribute will blur the backdrop of the ",(0,a.jsx)(t.code,{children:"Dialog"}),". Modifying these settings can help users by providing depths, visual hierarchy, and context, leading to more clear guidance for a user."]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogBackdropBlur",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Blur.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogBackdropBlur.java",height:"300px"}),"\n",(0,a.jsx)(t.h2,{id:"closing-the-dialog",children:"Closing the Dialog"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Dialog"})," supports multiple cancellation methods for closure of the component: hitting the ",(0,a.jsx)(t.code,{children:"ESC"})," key, clicking outside of the ",(0,a.jsx)(t.code,{children:"Dialog"}),", or using the ",(0,a.jsx)(t.code,{children:"hide()"})," method. The first two properties are customizable via their respective methods:\r\n",(0,a.jsx)(t.code,{children:"setCancelOnEscKey()"})," and ",(0,a.jsx)(t.code,{children:"setCancelOnOutsideClick()"}),". The ",(0,a.jsx)(t.code,{children:"hide()"})," method allows for the ",(0,a.jsx)(t.code,{children:"Dialog"})," to be closed programmatically, such as by clicking a button on the ",(0,a.jsx)(t.code,{children:"Dialog"})," after saving data. A method to quickly enable or disable users' ability to close the ",(0,a.jsx)(t.code,{children:"Dialog"}),", ",(0,a.jsx)(t.code,{children:"setClosable()"})," will prevent or allow both escape and click closure of the ",(0,a.jsx)(t.code,{children:"Dialog"}),"."]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogClose",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Close.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogClose.java",height:"350px"}),"\n",(0,a.jsx)(t.h2,{id:"auto-focus",children:"Auto-Focus"}),"\n",(0,a.jsxs)(t.p,{children:["When enabled, auto-focus will automatically give focus to the first element within the dialog that can be focused. This is useful in helping to direct the attention of users, and is customizable via the ",(0,a.jsx)(t.code,{children:"setAutoFocus()"})," method."]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogAutoFocus",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/AutoFocus.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogAutoFocus.java",height:"350px"}),"\n",(0,a.jsx)(t.h2,{id:"draggable",children:"Draggable"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Dialog"})," has built in functionality to be draggable, allowing the user to relocate the ",(0,a.jsx)(t.code,{children:"Dialog"})," window by clicking and dragging. The position of the ",(0,a.jsx)(t.code,{children:"Dialog"})," can be manipulated from any of the fields within it: the header, content or footer."]}),"\n",(0,a.jsx)(t.h3,{id:"snap-to-edge",children:"Snap to Edge"}),"\n",(0,a.jsxs)(t.p,{children:["It is also possible to calibrate this behavior to snap to the edge of the screen, meaning the ",(0,a.jsx)(t.code,{children:"Dialog"})," will automatically align itself with the edge of the display when released from its drag and drop date. Snapping can be changed via the ",(0,a.jsx)(t.code,{children:"setSnapToEdge()"})," method. The ",(0,a.jsx)(t.code,{children:"setSnapThreshold()"})," takes a number of pixels, which will set how far the ",(0,a.jsx)(t.code,{children:"Dialog"})," should be from the sides of the screen before it will automatically snap to the edges."]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogDraggable",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Draggable.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogDraggable.java",height:"350px"}),"\n",(0,a.jsx)(t.h2,{id:"positioning",children:"Positioning"}),"\n",(0,a.jsxs)(t.p,{children:["The dialog's position can be manipulated using the built-in ",(0,a.jsx)(t.code,{children:"setPosx()"})," and ",(0,a.jsx)(t.code,{children:"setPosy()"})," methods. These methods take a string argument which can represent any applicable CSS unit of length, such as pixels or view height/width. A list of these measurements ",(0,a.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#numbers_lengths_and_percentages",children:"can be found at this link"}),"."]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogPositioning",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Positioning.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogPositioning.java",height:"350px"}),"\n",(0,a.jsx)(t.h3,{id:"vertical-alignment",children:"Vertical Alignment"}),"\n",(0,a.jsxs)(t.p,{children:["In addition to manual assignment of a dialog's X and Y position, it is possible to use the dialog's built-in enum class to align the ",(0,a.jsx)(t.code,{children:"Dialog"}),". There are three possible values, ",(0,a.jsx)(t.code,{children:"TOP"}),", ",(0,a.jsx)(t.code,{children:"CENTER"})," and ",(0,a.jsx)(t.code,{children:"BOTTOM"}),", each of which can be used with the ",(0,a.jsx)(t.code,{children:"setAlignment()"})," method."]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogAlignments",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Alignments.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogAlignments.java",height:"550px"}),"\n",(0,a.jsx)(t.h3,{id:"full-screen-and-breakpoints",children:"Full Screen and Breakpoints"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Dialog"})," can be set to enter full screen mode. When full screen is enabled, the ",(0,a.jsx)(t.code,{children:"Dialog"})," cannot be moved or positioned. This mode can be manipulated with the breakpoint attribute of the ",(0,a.jsx)(t.code,{children:"Dialog"}),". The breakpoint is a media query which components when the ",(0,a.jsx)(t.code,{children:"Dialog"})," will automatically flip to full screen mode. When the query matches, the ",(0,a.jsx)(t.code,{children:"Dialog"})," changes to full screen - otherwise it is positioned."]}),"\n",(0,a.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,a.jsxs)(t.p,{children:["The ",(0,a.jsx)(t.code,{children:"Dialog"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,a.jsx)(t.th,{children:"Description"})]})}),(0,a.jsxs)(t.tbody,{children:[(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/DialogOpenEvent",code:"true",children:"DialogOpenEvent"})}),(0,a.jsxs)(t.td,{children:["An event that is fired when the ",(0,a.jsx)(t.code,{children:"Dialog"})," is opened."]})]}),(0,a.jsxs)(t.tr,{children:[(0,a.jsx)(t.td,{style:{textAlign:"center"},children:(0,a.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/DialogCloseEvent",code:"true",children:"DialogCloseEvent"})}),(0,a.jsxs)(t.td,{children:["An event that is fired when the ",(0,a.jsx)(t.code,{children:"Dialog"})," is closed."]})]})]})]}),"\n",(0,a.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myDialog.addOpenListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,a.jsx)(t.p,{children:"Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the on prefix followed by the event, such as:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myDialog.onOpen( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,a.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,a.jsx)(t.pre,{children:(0,a.jsx)(t.code,{className:"language-java",children:"myDialog.removeOpenListener(listener);\n"})}),"\n",(0,a.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,a.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,a.jsxs)(t.p,{children:[(0,a.jsx)(t.code,{children:"Dialog"})," components come with ",(0,a.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/dialog/Dialog.Theme.html",children:"7 discrete themes "})," built in for quick styling without the use of CSS. These themes are pre-defined styles that can be applied to buttons to change their appearance and visual presentation. They offer a quick and consistent way to customize the look of buttons throughout an application."]}),"\n",(0,a.jsx)(t.p,{children:"While there are many use cases for each of the various themes, some examples uses are:"}),"\n",(0,a.jsxs)(t.ul,{children:["\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Danger"}),": Actions with severe consequences, such as clearing filled-out information, or permanently deleting an account/data is represents a good use case for dialogs with the Danger theme."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Default"}),": The default theme is appropriate for actions throughout an application that do not require special attention and that are generic, such as toggling a setting."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Primary"}),': This theme is appropriate as a main "call-to-action" on a page, such as signing up, saving changes, or continuing to another page.']}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Success"}),": Success themed dialogs are excellent for visualizing successful completion of an element in an application, such as the submission of a form or completion of a sign-up process. The success theme can by programmatically applied once a successful action has been completed."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Warning"}),": Warning dialogs are useful to indicate users they are about to perform a potentially risky action, such as when navigating away from a page with unsaved changes. These actions are often less impactful than those that would use the Danger theme."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Gray"}),": Good for subtle actions, such as minor settings or actions that are more supplementary to a page, and not part of the main functionality."]}),"\n",(0,a.jsxs)(t.li,{children:[(0,a.jsx)(t.strong,{children:"Info"}),": The Info theme is a good choice to provide clarifying, additional information to a user when pushed."]}),"\n"]}),"\n",(0,a.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogThemes",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogThemes.java",height:"500px"}),"\n",(0,a.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,a.jsxs)(t.p,{children:["These are the various parts of the ",(0,a.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,a.jsx)(i.Z,{tag:n(5731).Vq,table:"parts"}),"\n",(0,a.jsx)(t.h3,{id:"slots",children:"Slots"}),"\n",(0,a.jsxs)(t.p,{children:["Listed below are the slots available for utilization within the ",(0,a.jsx)(t.code,{children:"Button"})," component. These slots act as placeholders within the component that control where the children of a customized element should be inserted within the shadow tree."]}),"\n",(0,a.jsx)(i.Z,{tag:n(5731).Vq,table:"slots"}),"\n",(0,a.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,a.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,a.jsx)(i.Z,{tag:n(5731).Vq,table:"properties"}),"\n",(0,a.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,a.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,a.jsx)(i.Z,{tag:n(5731).Vq,table:"reflects"})]})}function m(e={}){const{wrapper:t}={...(0,o.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(g,{...e})}):g(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var a=n(6010);const o={tabItem:"tabItem_Ymn6"};var s=n(5893);function i(e){let{children:t,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,a.Z)(o.tabItem,i),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>w});var a=n(7294),o=n(6010),s=n(2466),i=n(6550),l=n(469),r=n(1980),c=n(7392),d=n(12);function h(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:o}}=e;return{value:t,label:n,attributes:a,default:o}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function g(e){let{queryString:t=!1,groupId:n}=e;const o=(0,i.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,r._X)(s),(0,a.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(o.location.search);t.set(s,e),o.replace({...o.location,search:t.toString()})}),[s,o])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:o}=e,s=u(e),[i,r]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:s}))),[c,h]=g({queryString:n,groupId:o}),[m,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[o,s]=(0,d.Nk)(n);return[o,(0,a.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:o}),v=(()=>{const e=c??m;return p({value:e,tabValues:s})?e:null})();(0,l.Z)((()=>{v&&r(v)}),[v]);return{selectedValue:i,selectValue:(0,a.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);r(e),h(e),b(e)}),[h,b,s]),tabValues:s}}var b=n(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=n(5893);function A(e){let{className:t,block:n,selectedValue:a,selectValue:i,tabValues:l}=e;const r=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=r.indexOf(t),o=l[n].value;o!==a&&(c(t),i(o))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=r.indexOf(e.currentTarget)+1;t=r[n]??r[0];break}case"ArrowLeft":{const n=r.indexOf(e.currentTarget)-1;t=r[n]??r[r.length-1];break}}t?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,o.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>r.push(e),onKeyDown:h,onClick:d,...s,className:(0,o.Z)("tabs__item",v.tabItem,s?.className,{"tabs__item--active":a===t}),children:n??t},t)}))})}function f(e){let{lazy:t,children:n,selectedValue:o}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===o));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==o})))})}function j(e){const t=m(e);return(0,x.jsxs)("div",{className:(0,o.Z)("tabs-container",v.tabList),children:[(0,x.jsx)(A,{...e,...t}),(0,x.jsx)(f,{...e,...t})]})}function w(e){const t=(0,b.Z)();return(0,x.jsx)(j,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var a=n(7294),o=n(917),s=n(4866),i=n(5162),l=n(4673),r=n(1750);const c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAG/ElEQVR4nO3dTW7bRhgG4Ddu4bTHa72Ir+UbNKskm/YgvYJhGF61B2gcIEDdRSVAMGxLIueHQz4PMBtDGeoj9EIfxWEmAQAAAAAAAAAAAAAAAAAAAAAAACjnMsl1ks9JbpN8343b3d+ud68BFuYqyUOSpyPjYfdaYAEuktzkeHCfj5vdvwU6mhLewxADnVxlenj3QzsNHVwmucv8AN8ned/2rQPXmR/e/fjQ+L1TiB8xxvVLwbl+LTgXcIIS7fN+3DV+7xTyrvcbYLLHJD8Vmutbkp8LzUVDAjyup8Lz+SwMyDUwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMT4Dq2tkvg1uplxVrtEljqv5Tdj6nsisgqtN4lsHeA7YrIqszZJfBjzv9Q9wzwxe49Tz2WXRFZlBK7BJ4b4l4Bnhve/dBOswildgl8SvIpyY8nHrdHgC+S/FboePexKyILUHKXwHNC3DrAJcO7H3ZFpLsvKR+mU9rplgEu1TY/H1+OHBeqK7lL4DkhbhXgWuF9il0RWYDH1PlwP+XtdrpFgGu0zYfj8ZXjQjNfU+8D/laIawe4dnifkvzz+mmFNmq10IfjpXa6ZoBrts2HQwtNdzV+xDolxLUC3Cq8T/EjFgtQ+jbSW+Owna4R4BZt8+FwG4nuSi7kOCfEpedtHd77WMjBQpRYSnnOqNHitmqb98NSShZlzsMMWxseZmBxWv74M/KY8uQVNNH6OnK08SnJD1NPLrQgxMLL4IRYeBmcEAsvg9t6iIWX4W01xMLLamwtxMLL6mzlPrH7vKzW2r+JffOyemsNsfCyGWsLsfCyOWsJsfCyWaOHWHjZvFFDLLywM9otJreK4JlRQiy88Iqlh1h44YilXhO75oUTLS3EwgtnWko7rW2GiXqHWHhhpl4hFl4opPU1sWteKKzVN7FvXqikdoiFFyqr1U5rm6GR0iEWXmisVDutbYZO5oZYeKGzi0zb2vQmwguLcZXkIceD+xCba8MiXSa5TvI5yW2S77txu/vb9e41AAAAAAAAAAAAwCK9tBTw1MX5S1oyqA51bM6pi/FPHb0W7atDHZsy9XG4U0erx+bUoY5NqnmSD0+2OtQxYh2LdpX6J3k/arY96lDH5lwmuUu7E32f5L061DFIHYt3nXYneT8+qEMdg9Rxkp4X4b90OOavFeZUx3TqGFjLNmc/7tShjkHqOMm7XgdO8pjkp8bH/Jbk58JzqmM6dczUs4V+6nDMfyvMqY7p1DFTzwD/1eGYf1eYUx3TqWOmngH+cyXHVMeyjrmWOk7SM8B/dDjm7xXmVMd06hjYWm64q0Mdm1zIkaxnyZs61LFZa1l0rg51bNJaHvtShzo2bS0PXqtDHZu1lv/6RB3qAAAAAAAAAAAAAJp7acmgpYAwgFMX7VuMDwsy9bE5j8NBZxdJPmb6o3EfI8TQxdzwCjF0cpHkt5R7SP1Tkh9bFgBbVTq8QgyNlGqbtdPQWO3wCjFUUqtt1k5DZa3DK8RQSKu2WTsNhfUOrxDDRL3aZu00zLS08AoxnGgpbbN2Gs609PAKMbxilPAKMTyz1GveY8M1MZs3aniFmM0bPbxCzGatJbxCzOasLbxCzGasNbxCzOqNdqto6nCLidVZ+zevb2JWa2vhFWJWY6vhFWKGt/XwCjHDEl4hZlDCK8QMSniFmEFt5T7v3OE+MYs0ZYvPrY6biecYqrhK+2+xEeZ8a9hknEW4THKXdh/8T0l+qDBv6+v3+yTvzz7bUNh12oc3FeZO2of4wzknGmr4kjYf9uc//tQIcNL2x7gvJ55jqKZF+/zSL7e1Apy0C/Hd0bMLlT2m7of8sG0+VDPASZt2+vH10wptfE378KbCsV5SO8T/vHJcaKZWC31swUOLACd122ktNN3V+BHrlNVKrQKc1AuxH7HorvRtpLfa5kMtA5zUaafdRqK7kgs5Tg1vCh3vnAAnZUN8Hws5WIgSSynPXeTfI8BJuXbaUkoWZc7DDFOe0OkV4GR+iD3MwOJcZFqIbzLt8bqeAU7a1wtNXCV5yPEP8kPmtZG9A7zXql5o5jL//zr9Ocltku+7cbv72/XuNXMsJcBJm3p5wbveb4DJ5obuOZ+FAbkWgYEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAjyukltzfi04Fw0J8Lj+KjjX3wXnoiEBHtefC52LhgR4XH8UnOv3gnMBJyi1K+J97BIIXZTYFdF2J9DRnF0R7RIIndklEFbALoEwOLsEAgAAAAAAAAAAAAAAAAAAAAAAAE39B2tV13Hdy+hQAAAAAElFTkSuQmCC",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),p=n(5944);function g(e){let{collapse:t,setCollapse:n}=e;const a=o.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,s=o.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,i=o.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:a,children:(0,p.tZ)("button",{css:s,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:i,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:i,src:c,className:"icon-tabler-arrow-bar-down"})})})}function m(e){let{url:t}=e;const n=o.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,a=o.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:a,src:h})})}function b(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:b,frame:v,tabs:x}=e;const[A,f]=(0,a.useState)(""),[j,w]=(0,a.useState)(""),[D,y]=(0,a.useState)(""),[k,S]=(0,a.useState)(!(!n||!c)),[C,B]=(0,a.useState)(!1),[Z,E]=(0,a.useState)({});(0,a.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{w(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{f(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))}))}),[]);const T=o.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==v?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,O=o.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${b}; - `,L=o.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,J=o.iv` - width: 100%; - `,F=o.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${C&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:T,children:["hidden"!=v?(0,p.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:J,children:[(0,p.tZ)("div",{css:F,children:(0,p.tZ)(m,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:O})]}):null,(0,p.BX)(l.Z,{css:L,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,p.tZ)(g,{collapse:k,setCollapse:S}):null,d?(0,p.BX)(s.Z,{children:[(0,p.tZ)(i.Z,{value:x?x[0]:"Java",label:x?x[0]:Z.javaFile,default:!0,children:(0,p.tZ)(r.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?A:j})}),(0,p.tZ)(i.Z,{value:x?x[1]:"CSS",label:x?x[1]:Z.cssFile,children:(0,p.tZ)(r.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:D})})]}):(0,p.tZ)(s.Z,{children:(0,p.tZ)(i.Z,{value:x?x[0]:"Java",label:x?x[0]:Z.javaFile,default:!0,children:(0,p.tZ)(r.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?A:j})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var a=n(7294),o=n(917),s=n(8230),i=n(4387),l=n(6770);var r=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[p,g]=(0,a.useState)("");(0,a.useEffect)((()=>{u||(u=""),g("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const m=o.iv` - display: inline; - - ${c&&o.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,b=o.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,r.BX)(r.HY,{children:["true"===c&&(0,r.tZ)("div",{css:m,children:(0,r.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(i.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,r.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,r.tZ)("div",{css:m,children:(0,r.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&h&&(0,r.tZ)("div",{css:m,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var a=n(8397),o=n(5893);function s(e){return(0,o.jsx)(o.Fragment,{children:(0,o.jsx)(a.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/c58736f6.cf955a7e.js b/assets/js/c58736f6.cf955a7e.js new file mode 100644 index 000000000..baa73fba6 --- /dev/null +++ b/assets/js/c58736f6.cf955a7e.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1517],{8309:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>m,frontMatter:()=>c,metadata:()=>h,toc:()=>p});var o=n(5893),a=n(1151),s=n(6957),i=n(7796),r=n(3273),l=n(2665);const c={sidebar_position:25,title:"Dialog"},d=void 0,h={id:"components/dialog",title:"Dialog",description:"The DWCJ's dialog component is built to allow a developer to quickly and easily display a dialog on their application, for instances such as a login menu or information box.",source:"@site/docs/components/dialog.md",sourceDirName:"components",slug:"/components/dialog",permalink:"/docs/components/dialog",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/dialog.md",tags:[],version:"current",sidebarPosition:25,frontMatter:{sidebar_position:25,title:"Dialog"},sidebar:"documentationSidebar",previous:{title:"Checkbox",permalink:"/docs/components/styles/checkbox"},next:{title:"Drawer",permalink:"/docs/components/drawer"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Backdrop and Blur",id:"backdrop-and-blur",level:2},{value:"Closing the Dialog",id:"closing-the-dialog",level:2},{value:"Auto-Focus",id:"auto-focus",level:2},{value:"Draggable",id:"draggable",level:2},{value:"Snap to Edge",id:"snap-to-edge",level:3},{value:"Positioning",id:"positioning",level:2},{value:"Vertical Alignment",id:"vertical-alignment",level:3},{value:"Full Screen and Breakpoints",id:"full-screen-and-breakpoints",level:3},{value:"Events",id:"events",level:2},{value:"Styling",id:"styling",level:2},{value:"Themes",id:"themes",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"Slots",id:"slots",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3}];function g(e){const t={a:"a",blockquote:"blockquote",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",target:"_blank",clickable:!1,iconName:"shadow"}),"\n",(0,o.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-dialog",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/dialog/Dialog",top:"true"}),"\n",(0,o.jsx)(t.p,{children:"The DWCJ's dialog component is built to allow a developer to quickly and easily display a dialog on their application, for instances such as a login menu or information box."}),"\n",(0,o.jsxs)(t.p,{children:["The component is built with three sections, each of which are ",(0,o.jsx)(t.code,{children:"Panel"})," components: the ",(0,o.jsx)(t.strong,{children:"header"}),", the ",(0,o.jsx)(t.strong,{children:"content"}),", and the ",(0,o.jsx)(t.strong,{children:"footer"}),"."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogSections",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Sections.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogSections.java",height:"225px"}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"User Feedback and Confirmation"}),": ",(0,o.jsx)(t.code,{children:"Dialog"})," components are often used to provide feedback or ask for user confirmation. They can display various important pieces of feedback to a user, such as:"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Success messages"}),"\n",(0,o.jsx)(t.li,{children:"Error alerts"}),"\n",(0,o.jsx)(t.li,{children:"Confirmation submissions"}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Form Input and Editing"}),": You can use dialogs to collect user input or allow them to edit information in a controlled and focused manner. For example, a dialog can pop up to edit user profile details or complete a multi-step form."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Contextual Information"}),": Displaying additional contextual information or tooltips in a dialog can help users understand complex features or data. Dialogs can provide in-depth explanations, charts, or help documentation."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Image and Media Previews"}),": When users need to view pieces of media, a ",(0,o.jsx)(t.code,{children:"Dialog"})," can be used to show larger previews or galleries, such as when interacting with:"]}),"\n"]}),"\n"]}),"\n",(0,o.jsxs)(t.blockquote,{children:["\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:"Images"}),"\n",(0,o.jsx)(t.li,{children:"Videos"}),"\n",(0,o.jsx)(t.li,{children:"Other media"}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.p,{children:["The Dialog can be constructed using the default ",(0,o.jsx)(t.code,{children:"Dialog()"})," constructor. Once the object has been instantiated, call the ",(0,o.jsx)(t.code,{children:"show()"})," method on the object itself to display the dialog."]}),"\n",(0,o.jsx)(t.h2,{id:"backdrop-and-blur",children:"Backdrop and Blur"}),"\n",(0,o.jsxs)(t.p,{children:["By enabling the backdrop attribute of the DWCJ's ",(0,o.jsx)(t.code,{children:"Dialog"})," component, a backdrop will be displayed behind the ",(0,o.jsx)(t.code,{children:"Dialog"}),". Additionally, when enabled, the Dialog's blurred attribute will blur the backdrop of the ",(0,o.jsx)(t.code,{children:"Dialog"}),". Modifying these settings can help users by providing depths, visual hierarchy, and context, leading to more clear guidance for a user."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogBackdropBlur",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Blur.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogBackdropBlur.java",height:"300px"}),"\n",(0,o.jsx)(t.h2,{id:"closing-the-dialog",children:"Closing the Dialog"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Dialog"})," supports multiple cancellation methods for closure of the component: hitting the ",(0,o.jsx)(t.code,{children:"ESC"})," key, clicking outside of the ",(0,o.jsx)(t.code,{children:"Dialog"}),", or using the ",(0,o.jsx)(t.code,{children:"hide()"})," method. The first two properties are customizable via their respective methods:\r\n",(0,o.jsx)(t.code,{children:"setCancelOnEscKey()"})," and ",(0,o.jsx)(t.code,{children:"setCancelOnOutsideClick()"}),". The ",(0,o.jsx)(t.code,{children:"hide()"})," method allows for the ",(0,o.jsx)(t.code,{children:"Dialog"})," to be closed programmatically, such as by clicking a button on the ",(0,o.jsx)(t.code,{children:"Dialog"})," after saving data. A method to quickly enable or disable users' ability to close the ",(0,o.jsx)(t.code,{children:"Dialog"}),", ",(0,o.jsx)(t.code,{children:"setClosable()"})," will prevent or allow both escape and click closure of the ",(0,o.jsx)(t.code,{children:"Dialog"}),"."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogClose",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Close.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogClose.java",height:"350px"}),"\n",(0,o.jsx)(t.h2,{id:"auto-focus",children:"Auto-Focus"}),"\n",(0,o.jsxs)(t.p,{children:["When enabled, auto-focus will automatically give focus to the first element within the dialog that can be focused. This is useful in helping to direct the attention of users, and is customizable via the ",(0,o.jsx)(t.code,{children:"setAutoFocus()"})," method."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogAutoFocus",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/AutoFocus.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogAutoFocus.java",height:"350px"}),"\n",(0,o.jsx)(t.h2,{id:"draggable",children:"Draggable"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Dialog"})," has built in functionality to be draggable, allowing the user to relocate the ",(0,o.jsx)(t.code,{children:"Dialog"})," window by clicking and dragging. The position of the ",(0,o.jsx)(t.code,{children:"Dialog"})," can be manipulated from any of the fields within it: the header, content or footer."]}),"\n",(0,o.jsx)(t.h3,{id:"snap-to-edge",children:"Snap to Edge"}),"\n",(0,o.jsxs)(t.p,{children:["It is also possible to calibrate this behavior to snap to the edge of the screen, meaning the ",(0,o.jsx)(t.code,{children:"Dialog"})," will automatically align itself with the edge of the display when released from its drag and drop date. Snapping can be changed via the ",(0,o.jsx)(t.code,{children:"setSnapToEdge()"})," method. The ",(0,o.jsx)(t.code,{children:"setSnapThreshold()"})," takes a number of pixels, which will set how far the ",(0,o.jsx)(t.code,{children:"Dialog"})," should be from the sides of the screen before it will automatically snap to the edges."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogDraggable",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Draggable.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogDraggable.java",height:"350px"}),"\n",(0,o.jsx)(t.h2,{id:"positioning",children:"Positioning"}),"\n",(0,o.jsxs)(t.p,{children:["The dialog's position can be manipulated using the built-in ",(0,o.jsx)(t.code,{children:"setPosx()"})," and ",(0,o.jsx)(t.code,{children:"setPosy()"})," methods. These methods take a string argument which can represent any applicable CSS unit of length, such as pixels or view height/width. A list of these measurements ",(0,o.jsx)(t.a,{href:"https://developer.mozilla.org/en-US/docs/Learn/CSS/Building_blocks/Values_and_units#numbers_lengths_and_percentages",children:"can be found at this link"}),"."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogPositioning",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Positioning.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogPositioning.java",height:"350px"}),"\n",(0,o.jsx)(t.h3,{id:"vertical-alignment",children:"Vertical Alignment"}),"\n",(0,o.jsxs)(t.p,{children:["In addition to manual assignment of a dialog's X and Y position, it is possible to use the dialog's built-in enum class to align the ",(0,o.jsx)(t.code,{children:"Dialog"}),". There are three possible values, ",(0,o.jsx)(t.code,{children:"TOP"}),", ",(0,o.jsx)(t.code,{children:"CENTER"})," and ",(0,o.jsx)(t.code,{children:"BOTTOM"}),", each of which can be used with the ",(0,o.jsx)(t.code,{children:"setAlignment()"})," method."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogAlignments",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/dialog/Alignments.txt",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogAlignments.java",height:"550px"}),"\n",(0,o.jsx)(t.h3,{id:"full-screen-and-breakpoints",children:"Full Screen and Breakpoints"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Dialog"})," can be set to enter full screen mode. When full screen is enabled, the ",(0,o.jsx)(t.code,{children:"Dialog"})," cannot be moved or positioned. This mode can be manipulated with the breakpoint attribute of the ",(0,o.jsx)(t.code,{children:"Dialog"}),". The breakpoint is a media query which components when the ",(0,o.jsx)(t.code,{children:"Dialog"})," will automatically flip to full screen mode. When the query matches, the ",(0,o.jsx)(t.code,{children:"Dialog"})," changes to full screen - otherwise it is positioned."]}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"Dialog"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/DialogOpenEvent",code:"true",children:"DialogOpenEvent"})}),(0,o.jsxs)(t.td,{children:["An event that is fired when the ",(0,o.jsx)(t.code,{children:"Dialog"})," is opened."]})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/event/DialogCloseEvent",code:"true",children:"DialogCloseEvent"})}),(0,o.jsxs)(t.td,{children:["An event that is fired when the ",(0,o.jsx)(t.code,{children:"Dialog"})," is closed."]})]})]})]}),"\n",(0,o.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myDialog.addOpenListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsx)(t.p,{children:"Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the on prefix followed by the event, such as:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myDialog.onOpen( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myDialog.removeOpenListener(listener);\n"})}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.code,{children:"Dialog"})," components come with ",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/dialog/Dialog.Theme.html",children:"7 discrete themes "})," built in for quick styling without the use of CSS. These themes are pre-defined styles that can be applied to buttons to change their appearance and visual presentation. They offer a quick and consistent way to customize the look of buttons throughout an application."]}),"\n",(0,o.jsx)(t.p,{children:"While there are many use cases for each of the various themes, some examples uses are:"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Danger"}),": Actions with severe consequences, such as clearing filled-out information, or permanently deleting an account/data is represents a good use case for dialogs with the Danger theme."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Default"}),": The default theme is appropriate for actions throughout an application that do not require special attention and that are generic, such as toggling a setting."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Primary"}),': This theme is appropriate as a main "call-to-action" on a page, such as signing up, saving changes, or continuing to another page.']}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Success"}),": Success themed dialogs are excellent for visualizing successful completion of an element in an application, such as the submission of a form or completion of a sign-up process. The success theme can by programmatically applied once a successful action has been completed."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Warning"}),": Warning dialogs are useful to indicate users they are about to perform a potentially risky action, such as when navigating away from a page with unsaved changes. These actions are often less impactful than those that would use the Danger theme."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Gray"}),": Good for subtle actions, such as minor settings or actions that are more supplementary to a page, and not part of the main functionality."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Info"}),": The Info theme is a good choice to provide clarifying, additional information to a user when pushed."]}),"\n"]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.dialogdemos.DialogThemes",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/dialogdemos/DialogThemes.java",height:"500px"}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsxs)(t.p,{children:["These are the various parts of the ",(0,o.jsx)(t.a,{href:"../glossary#shadow-dom",children:"shadow DOM"})," for the component, which will be required when styling via CSS is desired."]}),"\n",(0,o.jsx)(i.Z,{tag:n(5731).Vq,table:"parts"}),"\n",(0,o.jsx)(t.h3,{id:"slots",children:"Slots"}),"\n",(0,o.jsxs)(t.p,{children:["Listed below are the slots available for utilization within the ",(0,o.jsx)(t.code,{children:"Button"})," component. These slots act as placeholders within the component that control where the children of a customized element should be inserted within the shadow tree."]}),"\n",(0,o.jsx)(i.Z,{tag:n(5731).Vq,table:"slots"}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(i.Z,{tag:n(5731).Vq,table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(i.Z,{tag:n(5731).Vq,table:"reflects"})]})}function m(e={}){const{wrapper:t}={...(0,a.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(g,{...e})}):g(e)}},6031:(e,t,n)=>{var o=n(4836);t.Z=void 0;var a=o(n(4938)),s=n(5893),i=(0,a.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=i},2610:(e,t,n)=>{var o=n(4836);t.Z=void 0;var a=o(n(4938)),s=n(5893),i=(0,a.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=i},5162:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var o=n(6010);const a={tabItem:"tabItem_Ymn6"};var s=n(5893);function i(e){let{children:t,hidden:n,className:i}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,o.Z)(a.tabItem,i),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>w});var o=n(7294),a=n(6010),s=n(2466),i=n(6550),r=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:a}}=e;return{value:t,label:n,attributes:o,default:a}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function g(e){let{queryString:t=!1,groupId:n}=e;const a=(0,i.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(s),(0,o.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(a.location.search);t.set(s,e),a.replace({...a.location,search:t.toString()})}),[s,a])]}function m(e){const{defaultValue:t,queryString:n=!1,groupId:a}=e,s=u(e),[i,l]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:s}))),[c,h]=g({queryString:n,groupId:a}),[m,b]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[a,s]=(0,d.Nk)(n);return[a,(0,o.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:a}),v=(()=>{const e=c??m;return p({value:e,tabValues:s})?e:null})();(0,r.Z)((()=>{v&&l(v)}),[v]);return{selectedValue:i,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),b(e)}),[h,b,s]),tabValues:s}}var b=n(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=n(5893);function f(e){let{className:t,block:n,selectedValue:o,selectValue:i,tabValues:r}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),a=r[n].value;a!==o&&(c(t),i(a))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,a.Z)("tabs",{"tabs--block":n},t),children:r.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...s,className:(0,a.Z)("tabs__item",v.tabItem,s?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function A(e){let{lazy:t,children:n,selectedValue:a}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===a));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==a})))})}function j(e){const t=m(e);return(0,x.jsxs)("div",{className:(0,a.Z)("tabs-container",v.tabList),children:[(0,x.jsx)(f,{...e,...t}),(0,x.jsx)(A,{...e,...t})]})}function w(e){const t=(0,b.Z)();return(0,x.jsx)(j,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>b});var o=n(7294),a=n(917),s=n(4866),i=n(5162),r=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2610),p=n(5944);function g(e){let{collapse:t,setCollapse:n}=e;const o=a.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,s=a.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,i=a.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:s,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:i,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:i,src:c,className:"icon-tabler-arrow-bar-down"})})})}function m(e){let{url:t}=e;const n=a.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,o=a.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:h})})}function b(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:b,frame:v,tabs:x}=e;const[f,A]=(0,o.useState)(""),[j,w]=(0,o.useState)(""),[D,y]=(0,o.useState)(""),[k,S]=(0,o.useState)(!(!n||!c)),[C,Z]=(0,o.useState)(!1),[B,E]=(0,o.useState)({}),[T,O]=(0,o.useState)(!1),[L,J]=(0,o.useState)(0),[V,z]=(0,o.useState)(0),[M,F]=(0,o.useState)(25),[N,X]=(0,o.useState)(25),[H,q]=(0,o.useState)(0),[P,G]=(0,o.useState)(!1),Y=(0,o.useRef)(null),W=(0,o.useRef)(null);(0,o.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{w(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{A(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))})),q(Y.current.offsetWidth),console.log(H)}),[]);const I=()=>{O(!1),console.log("Stop Resizing")},R=e=>{if(T){const t=e.clientX-L;V+t>H/3&&(Y.current.style.width=`${V+t}px`,W.current.style.right=(M-t<25?25:M-t)+"px",X(M-t<25?25:M-t))}},U=a.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==v?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=a.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=a.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${b||"100%"}; + pointer-events: none; + `,_=a.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${C&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=a.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=a.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=a.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=a.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:U,onMouseUp:I,onMouseLeave:I,onMouseMove:R,children:["hidden"!=v?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:I,loading:"lazy",src:t,css:{...Q,pointerEvents:T?"none":"auto"},ref:Y,onMouseMove:R}),(0,p.tZ)("div",{css:_,ref:W,children:(0,p.tZ)(m,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),O(!0),J(e.clientX),z(Y.current.offsetWidth),F(N),console.log(W.current.right),console.log("Start Resizing")},children:(0,p.tZ)(u.Z,{})})]}):null,(0,p.BX)(r.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>G(!P),children:P?"Hide Code":"Show Code"}),children:[n&&c?(0,p.tZ)(g,{collapse:k,setCollapse:S}):null,d?(0,p.BX)(s.Z,{css:te,children:[(0,p.tZ)(i.Z,{value:x?x[0]:"Java",label:x?x[0]:B.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?f:j})}),(0,p.tZ)(i.Z,{value:x?x[1]:"CSS",label:x?x[1]:B.cssFile,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:D})})]}):(0,p.tZ)(s.Z,{css:te,children:(0,p.tZ)(i.Z,{value:x?x[0]:"Java",label:x?x[0]:B.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?f:j})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),a=n(917),s=n(8230),i=n(4387),r=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[p,g]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),g("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const m=a.iv` + display: inline; + + ${c&&a.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,b=a.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:m,children:(0,l.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(i.Z,{css:b,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(r.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:m,children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:m,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var o=n(8397),a=n(5893);function s(e){return(0,a.jsx)(a.Fragment,{children:(0,a.jsx)(o.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/dc93842a.4f43cbda.js b/assets/js/dc93842a.b5057c6e.js similarity index 85% rename from assets/js/dc93842a.4f43cbda.js rename to assets/js/dc93842a.b5057c6e.js index c41229939..beeb56036 100644 --- a/assets/js/dc93842a.4f43cbda.js +++ b/assets/js/dc93842a.b5057c6e.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4751],{2635:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>d,metadata:()=>c,toc:()=>h});var s=n(5893),r=n(1151),i=n(3273);const d={sidebar_position:0,title:"MouseEnterEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseEnterEvent"},o=void 0,c={id:"components/events/mouse-enter-event",title:"MouseEnterEvent",description:"An event that is triggered when the mouse cursor enters the boundaries of an element. It occurs when the user moves the mouse pointer over the specified element, indicating that the mouse has entered its area.",source:"@site/docs/components/events/mouse-enter-event.md",sourceDirName:"components/events",slug:"/components/events/MouseEnterEvent",permalink:"/docs/components/events/MouseEnterEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/mouse-enter-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"MouseEnterEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseEnterEvent"},sidebar:"documentationSidebar",previous:{title:"ModifyEvent",permalink:"/docs/components/events/ModifyEvent"},next:{title:"MouseExitEvent",permalink:"/docs/components/events/MouseExitEvent"}},l={},h=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"An event that is triggered when the mouse cursor enters the boundaries of an element. It occurs when the user moves the mouse pointer over the specified element, indicating that the mouse has entered its area."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getMouseButton()"})}),(0,s.jsx)(t.td,{children:"Returns whether or not a mouse button was pressed while the event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenX()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute abscissa screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenY()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute ordinate screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getX()"})}),(0,s.jsxs)(t.td,{children:["The X coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getY()"})}),(0,s.jsxs)(t.td,{children:["The Y coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isAltDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"alt"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isCmdDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"cmd"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isControlDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"ctrl"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isShiftDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"shift"})," key was pressed at the time this event was generated"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseExitEvent",children:"MouseExit Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./RightMouseDownEvent",children:"RightMouseDown Event"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),r=n(917),i=n(8230),d=n(4387),o=n(6770);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:h,code:a,suffix:u}=e;const[x,v]=(0,s.useState)("");(0,s.useEffect)((()=>{u||(u=""),v("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const j=r.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[4751],{2635:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>l,contentTitle:()=>o,default:()=>u,frontMatter:()=>d,metadata:()=>c,toc:()=>h});var s=n(5893),r=n(1151),i=n(3273);const d={sidebar_position:0,title:"MouseEnterEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseEnterEvent"},o=void 0,c={id:"components/events/mouse-enter-event",title:"MouseEnterEvent",description:"An event that is triggered when the mouse cursor enters the boundaries of an element. It occurs when the user moves the mouse pointer over the specified element, indicating that the mouse has entered its area.",source:"@site/docs/components/events/mouse-enter-event.md",sourceDirName:"components/events",slug:"/components/events/MouseEnterEvent",permalink:"/docs/components/events/MouseEnterEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/mouse-enter-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"MouseEnterEvent",sidebar_class_name:"sidebar--item__hidden",slug:"MouseEnterEvent"},sidebar:"documentationSidebar",previous:{title:"ModifyEvent",permalink:"/docs/components/events/ModifyEvent"},next:{title:"MouseExitEvent",permalink:"/docs/components/events/MouseExitEvent"}},l={},h=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function a(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/event/MouseEnterEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"An event that is triggered when the mouse cursor enters the boundaries of an element. It occurs when the user moves the mouse pointer over the specified element, indicating that the mouse has entered its area."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getMouseButton()"})}),(0,s.jsx)(t.td,{children:"Returns whether or not a mouse button was pressed while the event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenX()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute abscissa screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getScreenY()"})}),(0,s.jsx)(t.td,{children:"Returns the absolute ordinate screen coordinate where this event happened."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getX()"})}),(0,s.jsxs)(t.td,{children:["The X coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getY()"})}),(0,s.jsxs)(t.td,{children:["The Y coordinate of the point at which this event occurred, relative to the parent ",(0,s.jsx)(i.Z,{type:"engine",location:"org/dwcj/component/window/Frame",code:"true",children:"Frame"}),"."]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isAltDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"alt"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isCmdDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"cmd"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isControlDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"ctrl"})," key was pressed at the time this event was generated"]})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"isShiftDown()"})}),(0,s.jsxs)(t.td,{children:["A boolean value indicating whether the ",(0,s.jsx)(t.code,{children:"shift"})," key was pressed at the time this event was generated"]})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./MouseExitEvent",children:"MouseExit Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./RightMouseDownEvent",children:"RightMouseDown Event"})}),"\n"]})]})}function u(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(a,{...e})}):a(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var r=s(n(4938)),i=n(5893),d=(0,r.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=d},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var s=n(7294),r=n(917),i=n(8230),d=n(4387),o=n(6031);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:h,code:a,suffix:u}=e;const[v,x]=(0,s.useState)("");(0,s.useEffect)((()=>{u||(u=""),x("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const j=r.iv` display: inline; ${l&&r.iv` @@ -10,7 +10,8 @@ `} `,p=r.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,c.BX)(c.HY,{children:["true"===l&&(0,c.tZ)("div",{css:j,children:(0,c.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(d.Z,{css:p,label:"Java API",component:"a",href:x,icon:(0,c.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!a&&(0,c.tZ)("div",{css:j,children:(0,c.tZ)("a",{href:x,target:"_blank",children:h})}),"true"!==l&&a&&(0,c.tZ)("div",{css:j,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:x,target:"_blank",children:h})})})]})}}}]); \ No newline at end of file + `;return(0,c.BX)(c.HY,{children:["true"===l&&(0,c.tZ)("div",{css:j,children:(0,c.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(d.Z,{css:p,label:"Java API",component:"a",href:v,icon:(0,c.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==l&&!a&&(0,c.tZ)("div",{css:j,children:(0,c.tZ)("a",{href:v,target:"_blank",children:h})}),"true"!==l&&a&&(0,c.tZ)("div",{css:j,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:v,target:"_blank",children:h})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/dd91dd19.3a8bec16.js b/assets/js/dd91dd19.3a8bec16.js deleted file mode 100644 index 438cc9559..000000000 --- a/assets/js/dd91dd19.3a8bec16.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[18],{6473:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>h,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var n=o(5893),i=o(1151),a=o(6957),r=o(3273);const s={sidebar_position:10,title:"FlexLayout"},l=void 0,c={id:"layouts/flex_layouts",title:"FlexLayout",description:"The DWCJ provides developers with an efficient and intuitive way to layout their various applications and components - the Flex Layout. This toolset allows for items to be displayed either vertically or horizontally.",source:"@site/docs/layouts/flex_layouts.md",sourceDirName:"layouts",slug:"/layouts/flex_layouts",permalink:"/docs/layouts/flex_layouts",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/layouts/flex_layouts.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,title:"FlexLayout"},sidebar:"documentationSidebar",previous:{title:"AppLayout",permalink:"/docs/layouts/app-layout"},next:{title:"Components",permalink:"/docs/components/home"}},h={},d=[{value:"Constructing a Flex Layout",id:"constructing-a-flex-layout",level:2},{value:"Flex Layout Properties",id:"flex-layout-properties",level:2},{value:"Container Properties",id:"container-properties",level:3},{value:"Direction",id:"direction",level:4},{value:"Positioning",id:"positioning",level:4},{value:"Wrapping",id:"wrapping",level:4},{value:"Spacing",id:"spacing",level:4},{value:"Flow",id:"flow",level:4},{value:"Container Builder",id:"container-builder",level:3},{value:"Item Properties",id:"item-properties",level:3},{value:"Order",id:"order",level:4},{value:"Self Alignment",id:"self-alignment",level:4},{value:"Flex Basis",id:"flex-basis",level:4},{value:"Flex Grow / Shrink",id:"flex-grow--shrink",level:4},{value:"Example Form",id:"example-form",level:2}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,i.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/layout/flexlayout/FlexLayout",top:"true"}),"\n",(0,n.jsx)(t.p,{children:"The DWCJ provides developers with an efficient and intuitive way to layout their various applications and components - the Flex Layout. This toolset allows for items to be displayed either vertically or horizontally."}),"\n",(0,n.jsx)(t.h2,{id:"constructing-a-flex-layout",children:"Constructing a Flex Layout"}),"\n",(0,n.jsx)(t.p,{children:"The FlexLayout class has three constructors and an additional construction utilizing a builder pattern:"}),"\n",(0,n.jsxs)(t.ul,{children:["\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.code,{children:"FlexLayout()"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.code,{children:"FlexLayout(AbstractComponent...)"})}),"\n",(0,n.jsx)(t.li,{children:(0,n.jsx)(t.code,{children:"FlexLayout(FlexDirection, AbstractComponent...)"})}),"\n"]}),"\n",(0,n.jsxs)(t.p,{children:["Of note, the Flex Layout comes with a builder class to help streamline and simplify the creation of a layout. ",(0,n.jsx)(t.strong,{children:"It is recommended to use the builder to quickly and efficiently configure your layout"}),", as will be shown in examples below, though methods for the Layout class are also available to customize various attributes once the object is created."]}),"\n",(0,n.jsx)(t.p,{children:"This builder follows a builder pattern, and is intended to allow for full customization of desired attributes of the layout to avoid needing to set individual attributes later on."}),"\n",(0,n.jsx)(t.p,{children:"It is also possible to use the default in conjunction with the various setter methods available. The following snippet shows how to utilize the various constructors available for the FlexLayout class:"}),"\n",(0,n.jsx)(t.pre,{children:(0,n.jsx)(t.code,{className:"language-java",children:"//Creates a default FlexLayout\r\nFlexLayout defaultLayout = new FlexLayout();\r\n\r\n//Creates a default FlexLayout which one or more existing components\r\nFlexLayout layoutWithComponent = new FlexLayout(myButton);\r\n\r\n//Creates a FlexLayout which one or more existing components and has a specified direction\r\nFlexLayout layoutWithDirection = new FlexLayout(FlexDirection.COLUMN, myButton);\r\n\r\n//Creates a FlexLayout using the various methods available in the FlexLayoutBuilder\r\nFlexLayout layoutFromBuilder = FlexLayout.create()\r\n.horizontal()\r\n.build();\n"})}),"\n",(0,n.jsx)(t.h2,{id:"flex-layout-properties",children:"Flex Layout Properties"}),"\n",(0,n.jsx)(t.p,{children:"Flex layout's properties can be grouped into two categories: properties that apply to the items within a layout, and properties that apply to the layout itself. The flex layout, or the parent element, is a box/container that can contain one or more components. Everything inside a Flex Layout is called an item or child element. The Flex Layout provides some robust alignment capabilities, which can be achieved with the help of either container or item properties."}),"\n",(0,n.jsx)(t.admonition,{type:"tip",children:(0,n.jsxs)(t.p,{children:["The DWCJ's layout component follows the pattern of ",(0,n.jsx)(t.a,{href:"https://css-tricks.com/snippets/css/a-guide-to-flexbox/",children:"CSS's flexbox layout"}),". However, these tools are made to be utilized fully in Java, and do not require the application of CSS outside of the Java API methods provided."]})}),"\n",(0,n.jsx)(t.h3,{id:"container-properties",children:"Container Properties"}),"\n",(0,n.jsx)(t.p,{children:"Container properties will apply to all of the components within a component and not the layout itself. They will not affect the orientation or placement of the parent - only the child components within."}),"\n",(0,n.jsx)(t.h4,{id:"direction",children:"Direction"}),"\n",(0,n.jsxs)(t.p,{children:["The Flex Layout will add components next to one another according to the direction chosen by the developer - either horizontal or vertical. When using he builder, utilize either the ",(0,n.jsx)(t.code,{children:"horizontal()"}),", ",(0,n.jsx)(t.code,{children:"horizontalReverse()"}),", ",(0,n.jsx)(t.code,{children:"vertical()"})," or ",(0,n.jsx)(t.code,{children:"verticalReverse()"})," methods when calling the ",(0,n.jsx)(t.code,{children:"create()"})," method on a ",(0,n.jsx)(t.code,{children:"FlexLayout"})," object to configure this layout as the object is created."]}),"\n",(0,n.jsxs)(t.p,{children:["Alternatively, use the ",(0,n.jsx)(t.code,{children:"setDirection()"})," method. The horizontal options are either ",(0,n.jsx)(t.code,{children:"FlexDirection.ROW"})," (left to right) or ",(0,n.jsx)(t.code,{children:"FlexDirection.ROW_REVERSE"})," (right to left), and the vertical options are either ",(0,n.jsx)(t.code,{children:"FlexDirection.COLUMN"})," (top to bottom) or ",(0,n.jsx)(t.code,{children:"FlexDirection.COLUMN_REVERSE"})," (bottom to top). This is done with the FlexLayout object, as opposed to the builder."]}),"\n",(0,n.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.container.Direction",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/container/Direction.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/flexstyles/container_styles.css",height:"275px"}),"\n",(0,n.jsx)(t.h4,{id:"positioning",children:"Positioning"}),"\n",(0,n.jsxs)(t.p,{children:["Components that are added horizontally can also be positioned both horizontally and vertically. Use the ",(0,n.jsx)(t.code,{children:"justify()"}),", ",(0,n.jsx)(t.code,{children:"align()"})," and ",(0,n.jsx)(t.code,{children:"contentAlign()"})," methods from the Flex Layout Builder to configure the positioning when creating a new Flex Layout."]}),"\n",(0,n.jsxs)(t.p,{children:["Alternatively, on the actual FlexLayout object you can use the ",(0,n.jsx)(t.code,{children:"setJustifyContent()"})," method to position items horizontally, and the ",(0,n.jsx)(t.code,{children:"setAlignment()"})," method to configure vertical positioning. To modify the area around components along the cross axis (y-axis for horizontal layouts), use the ",(0,n.jsx)(t.code,{children:"setAlignContent()"})," method."]}),"\n",(0,n.jsxs)(t.admonition,{type:"tip",children:[(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"setAlignment()"})," method components how items will display along the cross axis as a whole within the container, and is effective for single-line layouts."]}),(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"setAlignContent()"})," methods components the space around the cross axis, and will take effect only when a layout has multiple lines."]})]}),"\n",(0,n.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.container.Positioning",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/container/Positioning.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/flexstyles/container_styles.css",height:"375px"}),"\n",(0,n.jsx)(t.h4,{id:"wrapping",children:"Wrapping"}),"\n",(0,n.jsxs)(t.p,{children:["To further customize the Flex Layout component, you can specify the behavior of the flex layout when components that are added no longer fit within the display. To configure this using the builder, utilize the utilize the - ",(0,n.jsx)(t.code,{children:"nowrap()"})," (default), ",(0,n.jsx)(t.code,{children:"wrap()"})," and ",(0,n.jsx)(t.code,{children:"wrapReverse()"})," methods to configure wrapping."]}),"\n",(0,n.jsxs)(t.p,{children:["Alternatively, if your layout already exists, use the ",(0,n.jsx)(t.code,{children:"setWrap()"})," method to dictate how components will behave once they are no longer able to fit on a single line."]}),"\n",(0,n.jsx)(t.h4,{id:"spacing",children:"Spacing"}),"\n",(0,n.jsx)(t.p,{children:"In order to apply minimum spacing between items, you can set the gap property. It applies that spacing only between items not on the outer edges."}),"\n",(0,n.jsxs)(t.p,{children:["The gap property's behavior can be thought of as a minimum distance between - this property will only take effect if it is the largest calculated\r\nspace between items. If the space between items would otherwise be larger due to another calculated property, such as due to ",(0,n.jsx)(t.code,{children:"setAlignContent(FlexContentAlignment.SPACE_BETWEEN)"}),", then the gap property will be ignored."]}),"\n",(0,n.jsx)(t.h4,{id:"flow",children:"Flow"}),"\n",(0,n.jsxs)(t.p,{children:["Flex flow, which is a combination of both the direction and the wrap properties, can be set using the ",(0,n.jsx)(t.code,{children:"setFlow()"})," method on a Flex Layout object."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["To configure this property when creating the layout, use the proper directional and wrap methods. For example, to create a column wrap flow,\r\nuse the ",(0,n.jsx)(t.code,{children:".vertical().wrap()"})," combination."]})}),"\n",(0,n.jsx)(t.h3,{id:"container-builder",children:"Container Builder"}),"\n",(0,n.jsx)(t.p,{children:"The following demo allows you to build a container with the desired flex properties selected from the various menus. This tool can be used not only to create a visual example of the various methods, but also as a tool to create your own layouts with your desired properties. To use a layout you customize, simply copy the output code and add your desired elements for use in your program!"}),"\n",(0,n.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.container.ContainerDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/container/ContainerDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/flexstyles/container_styles.css",height:"600px"}),"\n",(0,n.jsx)(t.h3,{id:"item-properties",children:"Item Properties"}),"\n",(0,n.jsx)(t.p,{children:"Item properties will not affect any child elements within the Flex Layout, but rather the actual Layout itself. This is useful for styling a single Flex Layout element that is a child of a larger Flex Layout element independent of styles applying to all children."}),"\n",(0,n.jsx)(t.h4,{id:"order",children:"Order"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"ItemOrder"}),' property determines how components are displayed within the Flex Layout, and when used on a Flex Layout will assign an item that layout\'s specific order number. This overrides the default "source order" that is built into each item (the order in which a component is added to its parent), and means that it will be shown before items with a higher order, and after items with a lower order.']}),"\n",(0,n.jsx)(t.p,{children:"This property accepts a unitless integer value that specifies the relative order of the flex item within the container. The lower the value, the earlier the item appears in the order. For example, an item with an order value of 1 will appear before an item with an order value of 2."}),"\n",(0,n.jsx)(t.admonition,{type:"caution",children:(0,n.jsx)(t.p,{children:"It's important to note that the order property only affects the visual order of the items within the container, not their actual position in the DOM. This means that screen readers and other assistive technologies will still read the items in the order they appear in the source code, not in the visual order."})}),"\n",(0,n.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.item.Order",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/item/Order.java",height:"200px"}),"\n",(0,n.jsx)(t.h4,{id:"self-alignment",children:"Self Alignment"}),"\n",(0,n.jsxs)(t.p,{children:["Flex Layout's self-alignment refers to how a single Flex Layout object is aligned within its parent flex container along the cross axis, which is perpendicular to the main axis. The cross axis alignment is controlled by the ",(0,n.jsx)(t.code,{children:"Alignment"})," property."]}),"\n",(0,n.jsxs)(t.p,{children:["The align-self property specifies the alignment of a single flex item along the cross axis, overriding the default alignment set by the ",(0,n.jsx)(t.code,{children:"AlignContent"})," property in a Flex Layout object. This allows you to align individual Flex Layout objects differently from the others in the container."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsx)(t.p,{children:"Self alignment uses the same values as content alignment"})}),"\n",(0,n.jsx)(t.p,{children:"This property is especially useful when you need to align a specific item differently from the other items in the container. See the sample below for an example of aligning a single item:"}),"\n",(0,n.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.item.SelfAlign",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/item/SelfAlign.java",height:"350px"}),"\n",(0,n.jsx)(t.h4,{id:"flex-basis",children:"Flex Basis"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"Item Basis"})," is a property that is used in conjunction with Flex Layout's direction to set the initial size of a flex item before any remaining space is distributed."]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"Item Basis"})," property specifies the default size of a flex item along the main axis, which is either horizontal (for a Row direction) or vertical (for a Column direction). This property sets the width or height of a flex item depending on the value of the flex-direction property."]}),"\n",(0,n.jsx)(t.admonition,{type:"info",children:(0,n.jsxs)(t.p,{children:["By default, the ",(0,n.jsx)(t.code,{children:"Item Basis"})," property is set to auto, which means that the size of the item is determined by its content. However, you can also set a specific size for the item using various units such as pixels (px), ems (em), percentages (%), or any other CSS length unit."]})}),"\n",(0,n.jsxs)(t.p,{children:["For example, if you have a container with a total width of 500 pixels and three Flex Layout objects with ",(0,n.jsx)(t.code,{children:"Item Basis"})," values of 100px, 200px, and auto respectively, the first two items will be assigned their specified sizes, while the third item will expand to fill the remaining space."]}),"\n",(0,n.jsx)(t.h4,{id:"flex-grow--shrink",children:"Flex Grow / Shrink"}),"\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.code,{children:"Item Grow"})," and ",(0,n.jsx)(t.code,{children:"Item Shrink"})," are two properties that work in conjunction with each other and with the ",(0,n.jsx)(t.code,{children:"Item Basis"})," property to determine how flex items grow or shrink to fill the available space within a Flex Layout object."]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"Item Grow"})," property specifies how much the flex item can grow relative to the other items in the container. It takes a unitless value that represents a proportion of the available space that should be allocated to the item. For example, if one item has a ",(0,n.jsx)(t.code,{children:"Item Grow"})," value of 1 and another has a value of 2, the second item will grow twice as much as the first item."]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"Item Shrink"})," property, on the other hand, specifies how much the flex item can shrink relative to the other items in the container. It also takes a unitless value that represents a proportion of the available space that should be allocated to the item. For example, if one item has a ",(0,n.jsx)(t.code,{children:"Item Shrink"})," value of 1 and another has a value of 2, the second item will shrink twice as much as the first item."]}),"\n",(0,n.jsxs)(t.p,{children:["When a container has more space than is needed to accommodate its contents, flex items with a ",(0,n.jsx)(t.code,{children:"Item Grow"})," value greater than 0 will expand to fill the available space. The amount of space each item gets is determined by the ratio of its ",(0,n.jsx)(t.code,{children:"Item Grow"})," value to the total ",(0,n.jsx)(t.code,{children:"Item Grow"})," value of all items in the container."]}),"\n",(0,n.jsxs)(t.p,{children:["Similarly, when a container does not have enough space to accommodate its contents, flex items with a ",(0,n.jsx)(t.code,{children:"Item Shrink"})," value greater than 0 will shrink to fit the available space. The amount of space each item gives up is determined by the ratio of its ",(0,n.jsx)(t.code,{children:"Item Shrink"})," value to the total ",(0,n.jsx)(t.code,{children:"Item Shrink"})," value of all items in the container."]}),"\n",(0,n.jsx)(t.h2,{id:"example-form",children:"Example Form"}),"\n",(0,n.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.FlexDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/FlexDemo.java",height:"400px"})]})}function p(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(u,{...e})}):u(e)}},5162:(e,t,o)=>{o.d(t,{Z:()=>r});o(7294);var n=o(6010);const i={tabItem:"tabItem_Ymn6"};var a=o(5893);function r(e){let{children:t,hidden:o,className:r}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,n.Z)(i.tabItem,r),hidden:o,children:t})}},4866:(e,t,o)=>{o.d(t,{Z:()=>A});var n=o(7294),i=o(6010),a=o(2466),r=o(6550),s=o(469),l=o(1980),c=o(7392),h=o(12);function d(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:o}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:o,attributes:n,default:i}}=e;return{value:t,label:o,attributes:n,default:i}}))}(o);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,o])}function p(e){let{value:t,tabValues:o}=e;return o.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:o}=e;const i=(0,r.k6)(),a=function(e){let{queryString:t=!1,groupId:o}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:t,groupId:o});return[(0,l._X)(a),(0,n.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(i.location.search);t.set(a,e),i.replace({...i.location,search:t.toString()})}),[a,i])]}function x(e){const{defaultValue:t,queryString:o=!1,groupId:i}=e,a=u(e),[r,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:o}=e;if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:o}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${o.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=o.find((e=>e.default))??o[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:a}))),[c,d]=m({queryString:o,groupId:i}),[x,f]=function(e){let{groupId:t}=e;const o=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,a]=(0,h.Nk)(o);return[i,(0,n.useCallback)((e=>{o&&a.set(e)}),[o,a])]}({groupId:i}),y=(()=>{const e=c??x;return p({value:e,tabValues:a})?e:null})();(0,s.Z)((()=>{y&&l(y)}),[y]);return{selectedValue:r,selectValue:(0,n.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),f(e)}),[d,f,a]),tabValues:a}}var f=o(2389);const y={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=o(5893);function w(e){let{className:t,block:o,selectedValue:n,selectValue:r,tabValues:s}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),h=e=>{const t=e.currentTarget,o=l.indexOf(t),i=s[o].value;i!==n&&(c(t),r(i))},d=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const o=l.indexOf(e.currentTarget)+1;t=l[o]??l[0];break}case"ArrowLeft":{const o=l.indexOf(e.currentTarget)-1;t=l[o]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":o},t),children:s.map((e=>{let{value:t,label:o,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:d,onClick:h,...a,className:(0,i.Z)("tabs__item",y.tabItem,a?.className,{"tabs__item--active":n===t}),children:o??t},t)}))})}function g(e){let{lazy:t,children:o,selectedValue:i}=e;const a=(Array.isArray(o)?o:[o]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===i));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function b(e){const t=x(e);return(0,v.jsxs)("div",{className:(0,i.Z)("tabs-container",y.tabList),children:[(0,v.jsx)(w,{...e,...t}),(0,v.jsx)(g,{...e,...t})]})}function A(e){const t=(0,f.Z)();return(0,v.jsx)(b,{...e,children:d(e.children)},String(t))}},6957:(e,t,o)=>{o.d(t,{Z:()=>f});var n=o(7294),i=o(917),a=o(4866),r=o(5162),s=o(4673),l=o(1750);const c="data:image/png;base64,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",h=o.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",d="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAALyElEQVR4nO3dXahmVR3H8e+M0/FlRouiGV9GxLSkiy7MkW7MDJOCCJ1zkia66KaLLByKEqUizW6EwJjKi24yDfL9pYSEEDSlIMS3JkJrlBzURiUcdXyZF8cu9hnmpOfMec551tr//9rP9wMLQWU9/73W/p398qy9H5AkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSW1bEV1ABauBs4AzgNNm2zrgvcAa4D1xpakHe4DXgJeAF4HHgSeAh4A/z/63wRhKgNcBXwamgU8AU7HlKKk9wF+B24EbgOdjy9E5wF3AXuBtm20JbS/we+Bs1Ltz6U6HoncC2zDaA8CnUXXHAdcTP+G2Yba7gBNRFZuAncRPsm3YbSdwISrmCOCXxE+sbbLaNcDhaCxrgD8SP5m2yWz30n39mFbmr5HWAXcDp0cXoon2CPA54IXoQuaTNcDHAPdheJXDVrqvm3ZGF/JOK6MLmMcRdHcDDa+y+BhwGwmviQ+LLmAe19CtqJIyORl4P/CH6ELmyhbgC4GroouQFnAm8E/g79GFHJDpGvh44B8kv+unibcT+CiwI7oQyHUNfDWGV/m9D/hJdBEHZDkCnwvcE12ENKK36dZO/ym6kCwBfoDuGV6pFfcDn4ouIsMp9DkYXrXnbOCT0UVkCPB3oguQlumS6AKiT6HXAs8Cq4LrkJZjH7CeCX6zx7epuxj9TbrnhzcCJ+H7sCbBKrq5ngZ+Q7cP1NzHNvezWTndT72B/S3dd8uabCcAN1L3iaWJtBrYTfkB3Qd8vcftUBu+Qbdv1DjLO7LH7Ujjs9T5i3hRnxuhpnyTOvvceX1uRBbfo85ps3QoN1F+v7us1y1I4jrKDuIbeM2rxa2n/I2ta3vdgjkivwc+rXB/twDPFe5Tw/MMcGvhPkvvyyOLDPCxhfu7o3B/Gq47C/dXel8eWWSAjy7c30OF+9Nwld5XSu/LI4tcibWbsr9hNEX3cxnSYqbo9r9SdtO9Cqp3kQF+u3B/0ctC1ZZB7H8ZHmaQtEwGWGqYAZYaZoClhhlgqWEGWGqYAZYaZoClhhlgqWEGeFimgE10r5DZRre0tMYD7KXbHuBp4Gd0P+quBpTeCSbdDLCd+DCO2/bRz0+XuP+NyQEsYyWwhfjglW6PUvd1w+5/Y3IAyxhieOeGuBb3vzE5gOObIT5ktVut0+lB7H8+TtiuKeBxul+OH7J9wAeAVwr3O4j9z7vQ7Zpm+OGF7jr4yugisjLA7doYXUCPpqMLyMoAt+vM6AJ6dFx0AVl5DdyuNwh6D1OQ0vM7iP3PI3C7JvXOu+YwwO3aEV2A4hngdj0YXYDiGeB2+UsU8iZWwyZlIccB3sSah0fgdu0BLokuQrEMcNtuo3uGVurdIBaTJzDUxwlrz2/2+tJzAMsaygP9BngJvIk1LFN064YvADYAJ1H3ofg+eRMrmUH8BRywlcCviT/yegROygHMK1t4DXBCDmBOGcNrgBNyAPPJGl4DnJADmEvm8BrghBzAPLKH1wAn5ADm0EJ4DXBCDmC8VsJrgBNyAGO1FF4DnJADGKe18BrghBzAGC2G1wAn5AD2r9XwGuCEHMB+tRxeA5yQA9if1sNrgBNyAPsREd4bKvRZWvb60nMA64sK72EV+i0te33pOYB1RYaXCn2Xlr2+9BzAeqLDS4X+S8teX3oOYB0ZwkuFzygte33pOYDlZQkvFT6ntOz1pecAlpUpvFT4rNKy15eeA1hOtvBS4fNKy15feg5gGRnDS4XPLC17fek5gOPLGl4qfG5p2etLzwEcT+bwUuGzS8teX3oO4PJlDy8VPr+07PWl5wAuTwvhpUINpWWvLz0HcOlaCS8V6igte33pOYBL01J4qVBLadnrS88BHF1r4aVCPaVlry+91yk3eK/1XHufWgwv5J9fAzympyg3eE/1XHtfWg0v5J/fQQR4ZdQHAw8m7SuLlcC1wFd7/Mzrga8AbxXoy/kduE2U++v3pZ5r78MW+j3yXkfZP+jZ53cQR+BIU5Q5zfo3cHi/pVc3Q9vhhfzza4ALKLGjzvRedV2ldvxRW6lr3vlknl8DXMg4p4pbAuqtreSpZ2R4D8g6vwa4kJUsb5K3EHsTrpab6Ce8NU6b55N1fg1wYTPAdhYfqO0M77R5rj5On/sK71zZ5tcAVzBFdwp5I7AN2Dvbts3+u02z/8+QvUHd8PZx2ryQTPNrgFVFyRVMmcKbjQFWFbVOoSNOmzMzwKqixk0sw/tuBlhVlP4aydPm+RlgVVFyIYfhXZgBVjUlVjB52nxoBlhVjbOCyfAuzgCrqqwrmIbCAKsX2VYwDYUBVm8yrWAaikEEeEXUB0vBSocuJEteK0kNM8BSwwyw1DADLDXMAEsNM8BSwwyw1DADLDXMAEsNWxVdwBynABcAHwfWA+tm/7k6qJ7XgGeA52f/+TBwJ/BkUD1SOuuAHwNbKb82tVbbClw5W7vaNYi10FFWA5cCLxMfyOW2XcBVwDGFx0b9MMDLNAPsID6ApdoOYGPREVIfDPASraA76r5FfOhKt/10R2NvCrbDAC/BUcAtxAetdrsJOLLQmKkuAzyiFXQPnUeHq692Gz5n3QIDPKIriA9V3+2HJQZOVRngEczQXR9GB6rvth9vbGU3iADXPNVbA/wLOLbiZ2T2AnAq8Gp0IZpX6dAN7pU632VywwuwFvhWdBEatlp/NdbSvTHx6Er9t2IX8GG674qVi0fgQ7gYwwvdZcRF0UVouGoF2Bs4B10QXYCGq8Zh/1S6m1c66CM4Jtl4Cr2A8yv02bovRBegYaoR4A0V+mzd6dEFaJhqBPj4Cn22zjFRFTUCfFyFPlt3QnQBGqYaAZ7kxRsL8QisKmrcORvE3T2Gsx2a3yDm1wfQpYYZYKlhBlhqmAGWGmaApYYZYKlhBlhqmAGWGmaApYYZYE2iqcL97S7c38gMsCZR6YdLwt48aoA1iUo/s26ApR6Vfk9Z2FtHDbAmzYl0vxhS0hOF+xuZAdakuRo4vHCfYQGuYRC/OTNCXa1shw7aTJ3fwvpMnxtR21B2/KFshzqbqfPj8m8ysN+EHsqOP5TtmHQnUvfH5e/tb1PebVXkh0sVTNF9z7uB7m7zDOWveee6vWLfi/KdWAtrcTumgGm6HXcDcBL+ka5pL90fixejCnByh2MG+CndKaP6cTeB4a1lKNeOrWzHSmBLhXpti7ezRpif5rSy4y+mle0wvDHtvhHmpkmt7PiLaWE7ZirUaVu87QfOHmF+mtTCjj+K7NsxBTxVoU7b4u36EeanFy6lbNc0cHJ0ERPoJeCS6CIOMMDt2hhdwIT6GvB8dBEHGOB2nRldwAT6BcELN97JhRwLy74drzOwNbjJ3QN8HtgTXchcNRZy7ALWFOwv8kZWKa9EF6Cx/A34IsnCC3VOoZ+r0GfraoxJ2FsgJszDwHnAy9GFzKdGgP9Toc/W1QjwgxX61P+7BzgHeCG4jgV5BO5HjTG5o0KfOujndNe8YS+sG0WNAD9Uoc/W1RiTO4CnK/Q76V6iW+G2mYTXvH04hfiVMtlarQUXLqUs1/bTrbBat6QZGKitxE9IlvbomGO5GB9mGL/dx4DXNi/HlcRPSpZ2xXhDuSgfJ1xe2wP8joE+EjiuD9Lddo+epOj2Kv2dks0A23vYppbbm3TvsLqYbh/VIVxO/IRFtx+MPYpLMwVsAm4EttG98iV6DPpuu4H/Ak8CfwF+BVxG9+pXV64twWq6r0+iJzSqPTc7BlKzpunu7kWHqe/2FnB+gfGTwl1OfKD6bt8vMnJSAiuAG4gPVV/tVuKeoJKqOBK4mfhw1W43440SDdQK4FLq/D5NdNsPXIUvSNAE2Miw7k4/S/kfjJZSO4ruaLyT+AAut+2iO+oeXXhspGasBX4EPEZ8IEdtj83WvLbCeEhLkulu6Yfovjs9A1hPtwRxPWVfz7MUu4Bn6F5Q8CzwCHAn3buYJUmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEnA/wDL76bzm26ebQAAAABJRU5ErkJggg==";var u=o(2949),p=o(5944);function m(e){let{collapse:t,setCollapse:o}=e;const n=i.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,a=i.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,r=i.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:n,children:(0,p.tZ)("button",{css:a,onClick:()=>{o(!t)},children:t?(0,p.tZ)("img",{css:r,src:h,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function x(e){let{url:t}=e;const o=i.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,n=i.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:o,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:n,src:d})})}function f(e){let{path:t,javaC:o,javaE:c,cssURL:h,javaHighlight:d,height:f,frame:y,tabs:v}=e;const[w,g]=(0,n.useState)(""),[b,A]=(0,n.useState)(""),[j,F]=(0,n.useState)(""),[L,D]=(0,n.useState)(!(!o||!c)),[C,B]=(0,n.useState)(!1),[k,S]=(0,n.useState)({});(0,n.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{A(e);const t=new URL(c).pathname.split("/"),o=t[t.length-1];S((e=>({...e,javaFile:o})))})),o&&fetch(o).then((e=>e.text())).then((e=>{g(e)})),h&&fetch(h).then((e=>e.text())).then((e=>{F(e);const t=new URL(h).pathname.split("/"),o=t[t.length-1];S((e=>({...e,cssFile:o})))}))}),[]);const Z=i.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==y?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,E=i.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${f}; - `,T=i.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,z=i.iv` - width: 100%; - `,I=i.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${C&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:Z,children:["hidden"!=y?(0,p.BX)("div",{onMouseEnter:()=>{B(!0)},onMouseLeave:()=>B(!1),css:z,children:[(0,p.tZ)("div",{css:I,children:(0,p.tZ)(x,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:E})]}):null,(0,p.BX)(s.Z,{css:T,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[o&&c?(0,p.tZ)(m,{collapse:L,setCollapse:D}):null,h?(0,p.BX)(a.Z,{children:[(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:L?w:b})}),(0,p.tZ)(r.Z,{value:v?v[1]:"CSS",label:v?v[1]:k.cssFile,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,p.tZ)(a.Z,{children:(0,p.tZ)(r.Z,{value:v?v[0]:"Java",label:v?v[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:L?w:b})})})]})]})}},3273:(e,t,o)=>{o.d(t,{Z:()=>c});var n=o(7294),i=o(917),a=o(8230),r=o(4387),s=o(6770);var l=o(5944);function c(e){let{type:t,location:o,top:c,children:h,code:d,suffix:u}=e;const[p,m]=(0,n.useState)("");(0,n.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+o+".html"+u)}),[]);const x=i.iv` - display: inline; - - ${c&&i.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,f=i.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:f,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(s.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!d&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)("a",{href:p,target:"_blank",children:h})}),"true"!==c&&d&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:h})})})]})}},1415:(e,t,o)=>{o.d(t,{Z:()=>a});o(7294);var n=o(8397),i=o(5893);function a(e){return(0,i.jsx)(i.Fragment,{children:(0,i.jsx)(n.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/dd91dd19.84bc3127.js b/assets/js/dd91dd19.84bc3127.js new file mode 100644 index 000000000..59ff6e451 --- /dev/null +++ b/assets/js/dd91dd19.84bc3127.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[18],{6473:(e,t,o)=>{o.r(t),o.d(t,{assets:()=>h,contentTitle:()=>l,default:()=>p,frontMatter:()=>s,metadata:()=>c,toc:()=>d});var i=o(5893),n=o(1151),a=o(6957),r=o(3273);const s={sidebar_position:10,title:"FlexLayout"},l=void 0,c={id:"layouts/flex_layouts",title:"FlexLayout",description:"The DWCJ provides developers with an efficient and intuitive way to layout their various applications and components - the Flex Layout. This toolset allows for items to be displayed either vertically or horizontally.",source:"@site/docs/layouts/flex_layouts.md",sourceDirName:"layouts",slug:"/layouts/flex_layouts",permalink:"/docs/layouts/flex_layouts",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/layouts/flex_layouts.md",tags:[],version:"current",sidebarPosition:10,frontMatter:{sidebar_position:10,title:"FlexLayout"},sidebar:"documentationSidebar",previous:{title:"AppLayout",permalink:"/docs/layouts/app-layout"},next:{title:"Components",permalink:"/docs/components/home"}},h={},d=[{value:"Constructing a Flex Layout",id:"constructing-a-flex-layout",level:2},{value:"Flex Layout Properties",id:"flex-layout-properties",level:2},{value:"Container Properties",id:"container-properties",level:3},{value:"Direction",id:"direction",level:4},{value:"Positioning",id:"positioning",level:4},{value:"Wrapping",id:"wrapping",level:4},{value:"Spacing",id:"spacing",level:4},{value:"Flow",id:"flow",level:4},{value:"Container Builder",id:"container-builder",level:3},{value:"Item Properties",id:"item-properties",level:3},{value:"Order",id:"order",level:4},{value:"Self Alignment",id:"self-alignment",level:4},{value:"Flex Basis",id:"flex-basis",level:4},{value:"Flex Grow / Shrink",id:"flex-grow--shrink",level:4},{value:"Example Form",id:"example-form",level:2}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",h4:"h4",li:"li",p:"p",pre:"pre",strong:"strong",ul:"ul",...(0,n.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/layout/flexlayout/FlexLayout",top:"true"}),"\n",(0,i.jsx)(t.p,{children:"The DWCJ provides developers with an efficient and intuitive way to layout their various applications and components - the Flex Layout. This toolset allows for items to be displayed either vertically or horizontally."}),"\n",(0,i.jsx)(t.h2,{id:"constructing-a-flex-layout",children:"Constructing a Flex Layout"}),"\n",(0,i.jsx)(t.p,{children:"The FlexLayout class has three constructors and an additional construction utilizing a builder pattern:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"FlexLayout()"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"FlexLayout(AbstractComponent...)"})}),"\n",(0,i.jsx)(t.li,{children:(0,i.jsx)(t.code,{children:"FlexLayout(FlexDirection, AbstractComponent...)"})}),"\n"]}),"\n",(0,i.jsxs)(t.p,{children:["Of note, the Flex Layout comes with a builder class to help streamline and simplify the creation of a layout. ",(0,i.jsx)(t.strong,{children:"It is recommended to use the builder to quickly and efficiently configure your layout"}),", as will be shown in examples below, though methods for the Layout class are also available to customize various attributes once the object is created."]}),"\n",(0,i.jsx)(t.p,{children:"This builder follows a builder pattern, and is intended to allow for full customization of desired attributes of the layout to avoid needing to set individual attributes later on."}),"\n",(0,i.jsx)(t.p,{children:"It is also possible to use the default in conjunction with the various setter methods available. The following snippet shows how to utilize the various constructors available for the FlexLayout class:"}),"\n",(0,i.jsx)(t.pre,{children:(0,i.jsx)(t.code,{className:"language-java",children:"//Creates a default FlexLayout\r\nFlexLayout defaultLayout = new FlexLayout();\r\n\r\n//Creates a default FlexLayout which one or more existing components\r\nFlexLayout layoutWithComponent = new FlexLayout(myButton);\r\n\r\n//Creates a FlexLayout which one or more existing components and has a specified direction\r\nFlexLayout layoutWithDirection = new FlexLayout(FlexDirection.COLUMN, myButton);\r\n\r\n//Creates a FlexLayout using the various methods available in the FlexLayoutBuilder\r\nFlexLayout layoutFromBuilder = FlexLayout.create()\r\n.horizontal()\r\n.build();\n"})}),"\n",(0,i.jsx)(t.h2,{id:"flex-layout-properties",children:"Flex Layout Properties"}),"\n",(0,i.jsx)(t.p,{children:"Flex layout's properties can be grouped into two categories: properties that apply to the items within a layout, and properties that apply to the layout itself. The flex layout, or the parent element, is a box/container that can contain one or more components. Everything inside a Flex Layout is called an item or child element. The Flex Layout provides some robust alignment capabilities, which can be achieved with the help of either container or item properties."}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsxs)(t.p,{children:["The DWCJ's layout component follows the pattern of ",(0,i.jsx)(t.a,{href:"https://css-tricks.com/snippets/css/a-guide-to-flexbox/",children:"CSS's flexbox layout"}),". However, these tools are made to be utilized fully in Java, and do not require the application of CSS outside of the Java API methods provided."]})}),"\n",(0,i.jsx)(t.h3,{id:"container-properties",children:"Container Properties"}),"\n",(0,i.jsx)(t.p,{children:"Container properties will apply to all of the components within a component and not the layout itself. They will not affect the orientation or placement of the parent - only the child components within."}),"\n",(0,i.jsx)(t.h4,{id:"direction",children:"Direction"}),"\n",(0,i.jsxs)(t.p,{children:["The Flex Layout will add components next to one another according to the direction chosen by the developer - either horizontal or vertical. When using he builder, utilize either the ",(0,i.jsx)(t.code,{children:"horizontal()"}),", ",(0,i.jsx)(t.code,{children:"horizontalReverse()"}),", ",(0,i.jsx)(t.code,{children:"vertical()"})," or ",(0,i.jsx)(t.code,{children:"verticalReverse()"})," methods when calling the ",(0,i.jsx)(t.code,{children:"create()"})," method on a ",(0,i.jsx)(t.code,{children:"FlexLayout"})," object to configure this layout as the object is created."]}),"\n",(0,i.jsxs)(t.p,{children:["Alternatively, use the ",(0,i.jsx)(t.code,{children:"setDirection()"})," method. The horizontal options are either ",(0,i.jsx)(t.code,{children:"FlexDirection.ROW"})," (left to right) or ",(0,i.jsx)(t.code,{children:"FlexDirection.ROW_REVERSE"})," (right to left), and the vertical options are either ",(0,i.jsx)(t.code,{children:"FlexDirection.COLUMN"})," (top to bottom) or ",(0,i.jsx)(t.code,{children:"FlexDirection.COLUMN_REVERSE"})," (bottom to top). This is done with the FlexLayout object, as opposed to the builder."]}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.container.Direction",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/container/Direction.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/flexstyles/container_styles.css",height:"275px"}),"\n",(0,i.jsx)(t.h4,{id:"positioning",children:"Positioning"}),"\n",(0,i.jsxs)(t.p,{children:["Components that are added horizontally can also be positioned both horizontally and vertically. Use the ",(0,i.jsx)(t.code,{children:"justify()"}),", ",(0,i.jsx)(t.code,{children:"align()"})," and ",(0,i.jsx)(t.code,{children:"contentAlign()"})," methods from the Flex Layout Builder to configure the positioning when creating a new Flex Layout."]}),"\n",(0,i.jsxs)(t.p,{children:["Alternatively, on the actual FlexLayout object you can use the ",(0,i.jsx)(t.code,{children:"setJustifyContent()"})," method to position items horizontally, and the ",(0,i.jsx)(t.code,{children:"setAlignment()"})," method to configure vertical positioning. To modify the area around components along the cross axis (y-axis for horizontal layouts), use the ",(0,i.jsx)(t.code,{children:"setAlignContent()"})," method."]}),"\n",(0,i.jsxs)(t.admonition,{type:"tip",children:[(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"setAlignment()"})," method components how items will display along the cross axis as a whole within the container, and is effective for single-line layouts."]}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"setAlignContent()"})," methods components the space around the cross axis, and will take effect only when a layout has multiple lines."]})]}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.container.Positioning",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/container/Positioning.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/flexstyles/container_styles.css",height:"375px"}),"\n",(0,i.jsx)(t.h4,{id:"wrapping",children:"Wrapping"}),"\n",(0,i.jsxs)(t.p,{children:["To further customize the Flex Layout component, you can specify the behavior of the flex layout when components that are added no longer fit within the display. To configure this using the builder, utilize the utilize the - ",(0,i.jsx)(t.code,{children:"nowrap()"})," (default), ",(0,i.jsx)(t.code,{children:"wrap()"})," and ",(0,i.jsx)(t.code,{children:"wrapReverse()"})," methods to configure wrapping."]}),"\n",(0,i.jsxs)(t.p,{children:["Alternatively, if your layout already exists, use the ",(0,i.jsx)(t.code,{children:"setWrap()"})," method to dictate how components will behave once they are no longer able to fit on a single line."]}),"\n",(0,i.jsx)(t.h4,{id:"spacing",children:"Spacing"}),"\n",(0,i.jsx)(t.p,{children:"In order to apply minimum spacing between items, you can set the gap property. It applies that spacing only between items not on the outer edges."}),"\n",(0,i.jsxs)(t.p,{children:["The gap property's behavior can be thought of as a minimum distance between - this property will only take effect if it is the largest calculated\r\nspace between items. If the space between items would otherwise be larger due to another calculated property, such as due to ",(0,i.jsx)(t.code,{children:"setAlignContent(FlexContentAlignment.SPACE_BETWEEN)"}),", then the gap property will be ignored."]}),"\n",(0,i.jsx)(t.h4,{id:"flow",children:"Flow"}),"\n",(0,i.jsxs)(t.p,{children:["Flex flow, which is a combination of both the direction and the wrap properties, can be set using the ",(0,i.jsx)(t.code,{children:"setFlow()"})," method on a Flex Layout object."]}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsxs)(t.p,{children:["To configure this property when creating the layout, use the proper directional and wrap methods. For example, to create a column wrap flow,\r\nuse the ",(0,i.jsx)(t.code,{children:".vertical().wrap()"})," combination."]})}),"\n",(0,i.jsx)(t.h3,{id:"container-builder",children:"Container Builder"}),"\n",(0,i.jsx)(t.p,{children:"The following demo allows you to build a container with the desired flex properties selected from the various menus. This tool can be used not only to create a visual example of the various methods, but also as a tool to create your own layouts with your desired properties. To use a layout you customize, simply copy the output code and add your desired elements for use in your program!"}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.container.ContainerDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/container/ContainerDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/flexstyles/container_styles.css",height:"600px"}),"\n",(0,i.jsx)(t.h3,{id:"item-properties",children:"Item Properties"}),"\n",(0,i.jsx)(t.p,{children:"Item properties will not affect any child elements within the Flex Layout, but rather the actual Layout itself. This is useful for styling a single Flex Layout element that is a child of a larger Flex Layout element independent of styles applying to all children."}),"\n",(0,i.jsx)(t.h4,{id:"order",children:"Order"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"ItemOrder"}),' property determines how components are displayed within the Flex Layout, and when used on a Flex Layout will assign an item that layout\'s specific order number. This overrides the default "source order" that is built into each item (the order in which a component is added to its parent), and means that it will be shown before items with a higher order, and after items with a lower order.']}),"\n",(0,i.jsx)(t.p,{children:"This property accepts a unitless integer value that specifies the relative order of the flex item within the container. The lower the value, the earlier the item appears in the order. For example, an item with an order value of 1 will appear before an item with an order value of 2."}),"\n",(0,i.jsx)(t.admonition,{type:"caution",children:(0,i.jsx)(t.p,{children:"It's important to note that the order property only affects the visual order of the items within the container, not their actual position in the DOM. This means that screen readers and other assistive technologies will still read the items in the order they appear in the source code, not in the visual order."})}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.item.Order",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/item/Order.java",height:"200px"}),"\n",(0,i.jsx)(t.h4,{id:"self-alignment",children:"Self Alignment"}),"\n",(0,i.jsxs)(t.p,{children:["Flex Layout's self-alignment refers to how a single Flex Layout object is aligned within its parent flex container along the cross axis, which is perpendicular to the main axis. The cross axis alignment is controlled by the ",(0,i.jsx)(t.code,{children:"Alignment"})," property."]}),"\n",(0,i.jsxs)(t.p,{children:["The align-self property specifies the alignment of a single flex item along the cross axis, overriding the default alignment set by the ",(0,i.jsx)(t.code,{children:"AlignContent"})," property in a Flex Layout object. This allows you to align individual Flex Layout objects differently from the others in the container."]}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsx)(t.p,{children:"Self alignment uses the same values as content alignment"})}),"\n",(0,i.jsx)(t.p,{children:"This property is especially useful when you need to align a specific item differently from the other items in the container. See the sample below for an example of aligning a single item:"}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.item.SelfAlign",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/item/SelfAlign.java",height:"350px"}),"\n",(0,i.jsx)(t.h4,{id:"flex-basis",children:"Flex Basis"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Item Basis"})," is a property that is used in conjunction with Flex Layout's direction to set the initial size of a flex item before any remaining space is distributed."]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"Item Basis"})," property specifies the default size of a flex item along the main axis, which is either horizontal (for a Row direction) or vertical (for a Column direction). This property sets the width or height of a flex item depending on the value of the flex-direction property."]}),"\n",(0,i.jsx)(t.admonition,{type:"info",children:(0,i.jsxs)(t.p,{children:["By default, the ",(0,i.jsx)(t.code,{children:"Item Basis"})," property is set to auto, which means that the size of the item is determined by its content. However, you can also set a specific size for the item using various units such as pixels (px), ems (em), percentages (%), or any other CSS length unit."]})}),"\n",(0,i.jsxs)(t.p,{children:["For example, if you have a container with a total width of 500 pixels and three Flex Layout objects with ",(0,i.jsx)(t.code,{children:"Item Basis"})," values of 100px, 200px, and auto respectively, the first two items will be assigned their specified sizes, while the third item will expand to fill the remaining space."]}),"\n",(0,i.jsx)(t.h4,{id:"flex-grow--shrink",children:"Flex Grow / Shrink"}),"\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.code,{children:"Item Grow"})," and ",(0,i.jsx)(t.code,{children:"Item Shrink"})," are two properties that work in conjunction with each other and with the ",(0,i.jsx)(t.code,{children:"Item Basis"})," property to determine how flex items grow or shrink to fill the available space within a Flex Layout object."]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"Item Grow"})," property specifies how much the flex item can grow relative to the other items in the container. It takes a unitless value that represents a proportion of the available space that should be allocated to the item. For example, if one item has a ",(0,i.jsx)(t.code,{children:"Item Grow"})," value of 1 and another has a value of 2, the second item will grow twice as much as the first item."]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"Item Shrink"})," property, on the other hand, specifies how much the flex item can shrink relative to the other items in the container. It also takes a unitless value that represents a proportion of the available space that should be allocated to the item. For example, if one item has a ",(0,i.jsx)(t.code,{children:"Item Shrink"})," value of 1 and another has a value of 2, the second item will shrink twice as much as the first item."]}),"\n",(0,i.jsxs)(t.p,{children:["When a container has more space than is needed to accommodate its contents, flex items with a ",(0,i.jsx)(t.code,{children:"Item Grow"})," value greater than 0 will expand to fill the available space. The amount of space each item gets is determined by the ratio of its ",(0,i.jsx)(t.code,{children:"Item Grow"})," value to the total ",(0,i.jsx)(t.code,{children:"Item Grow"})," value of all items in the container."]}),"\n",(0,i.jsxs)(t.p,{children:["Similarly, when a container does not have enough space to accommodate its contents, flex items with a ",(0,i.jsx)(t.code,{children:"Item Shrink"})," value greater than 0 will shrink to fit the available space. The amount of space each item gives up is determined by the ratio of its ",(0,i.jsx)(t.code,{children:"Item Shrink"})," value to the total ",(0,i.jsx)(t.code,{children:"Item Shrink"})," value of all items in the container."]}),"\n",(0,i.jsx)(t.h2,{id:"example-form",children:"Example Form"}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=layout_demos.FlexDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/layout_demos/FlexDemo.java",height:"400px"})]})}function p(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},6031:(e,t,o)=>{var i=o(4836);t.Z=void 0;var n=i(o(4938)),a=o(5893),r=(0,n.default)((0,a.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=r},2610:(e,t,o)=>{var i=o(4836);t.Z=void 0;var n=i(o(4938)),a=o(5893),r=(0,n.default)((0,a.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=r},5162:(e,t,o)=>{o.d(t,{Z:()=>r});o(7294);var i=o(6010);const n={tabItem:"tabItem_Ymn6"};var a=o(5893);function r(e){let{children:t,hidden:o,className:r}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,i.Z)(n.tabItem,r),hidden:o,children:t})}},4866:(e,t,o)=>{o.d(t,{Z:()=>A});var i=o(7294),n=o(6010),a=o(2466),r=o(6550),s=o(469),l=o(1980),c=o(7392),h=o(12);function d(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:o}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return d(e).map((e=>{let{props:{value:t,label:o,attributes:i,default:n}}=e;return{value:t,label:o,attributes:i,default:n}}))}(o);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,o])}function p(e){let{value:t,tabValues:o}=e;return o.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:o}=e;const n=(0,r.k6)(),a=function(e){let{queryString:t=!1,groupId:o}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!o)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return o??null}({queryString:t,groupId:o});return[(0,l._X)(a),(0,i.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(n.location.search);t.set(a,e),n.replace({...n.location,search:t.toString()})}),[a,n])]}function x(e){const{defaultValue:t,queryString:o=!1,groupId:n}=e,a=u(e),[r,l]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:o}=e;if(0===o.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:o}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${o.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=o.find((e=>e.default))??o[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:a}))),[c,d]=m({queryString:o,groupId:n}),[x,f]=function(e){let{groupId:t}=e;const o=function(e){return e?`docusaurus.tab.${e}`:null}(t),[n,a]=(0,h.Nk)(o);return[n,(0,i.useCallback)((e=>{o&&a.set(e)}),[o,a])]}({groupId:n}),v=(()=>{const e=c??x;return p({value:e,tabValues:a})?e:null})();(0,s.Z)((()=>{v&&l(v)}),[v]);return{selectedValue:r,selectValue:(0,i.useCallback)((e=>{if(!p({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),d(e),f(e)}),[d,f,a]),tabValues:a}}var f=o(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=o(5893);function b(e){let{className:t,block:o,selectedValue:i,selectValue:r,tabValues:s}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),h=e=>{const t=e.currentTarget,o=l.indexOf(t),n=s[o].value;n!==i&&(c(t),r(n))},d=e=>{let t=null;switch(e.key){case"Enter":h(e);break;case"ArrowRight":{const o=l.indexOf(e.currentTarget)+1;t=l[o]??l[0];break}case"ArrowLeft":{const o=l.indexOf(e.currentTarget)-1;t=l[o]??l[l.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":o},t),children:s.map((e=>{let{value:t,label:o,attributes:a}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>l.push(e),onKeyDown:d,onClick:h,...a,className:(0,n.Z)("tabs__item",v.tabItem,a?.className,{"tabs__item--active":i===t}),children:o??t},t)}))})}function y(e){let{lazy:t,children:o,selectedValue:n}=e;const a=(Array.isArray(o)?o:[o]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===n));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==n})))})}function w(e){const t=x(e);return(0,g.jsxs)("div",{className:(0,n.Z)("tabs-container",v.tabList),children:[(0,g.jsx)(b,{...e,...t}),(0,g.jsx)(y,{...e,...t})]})}function A(e){const t=(0,f.Z)();return(0,g.jsx)(w,{...e,children:d(e.children)},String(t))}},6957:(e,t,o)=>{o.d(t,{Z:()=>f});var i=o(7294),n=o(917),a=o(4866),r=o(5162),s=o(4673),l=o(1750);const c="data:image/png;base64,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",h=o.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",d="data:image/png;base64,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";var u=o(2610),p=o(5944);function m(e){let{collapse:t,setCollapse:o}=e;const i=n.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,a=n.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,r=n.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:i,children:(0,p.tZ)("button",{css:a,onClick:()=>{o(!t)},children:t?(0,p.tZ)("img",{css:r,src:h,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:r,src:c,className:"icon-tabler-arrow-bar-down"})})})}function x(e){let{url:t}=e;const o=n.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,i=n.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:o,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:i,src:d})})}function f(e){let{path:t,javaC:o,javaE:c,cssURL:h,javaHighlight:d,height:f,frame:v,tabs:g}=e;const[b,y]=(0,i.useState)(""),[w,A]=(0,i.useState)(""),[j,F]=(0,i.useState)(""),[D,L]=(0,i.useState)(!(!o||!c)),[C,S]=(0,i.useState)(!1),[k,B]=(0,i.useState)({}),[Z,E]=(0,i.useState)(!1),[z,T]=(0,i.useState)(0),[I,O]=(0,i.useState)(0),[J,M]=(0,i.useState)(25),[N,V]=(0,i.useState)(25),[G,H]=(0,i.useState)(0),[X,W]=(0,i.useState)(!1),P=(0,i.useRef)(null),Y=(0,i.useRef)(null);(0,i.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{A(e);const t=new URL(c).pathname.split("/"),o=t[t.length-1];B((e=>({...e,javaFile:o})))})),o&&fetch(o).then((e=>e.text())).then((e=>{y(e)})),h&&fetch(h).then((e=>e.text())).then((e=>{F(e);const t=new URL(h).pathname.split("/"),o=t[t.length-1];B((e=>({...e,cssFile:o})))})),H(P.current.offsetWidth),console.log(G)}),[]);const R=()=>{E(!1),console.log("Stop Resizing")},U=e=>{if(Z){const t=e.clientX-z;I+t>G/3&&(P.current.style.width=`${I+t}px`,Y.current.style.right=(J-t<25?25:J-t)+"px",V(J-t<25?25:J-t))}},q=n.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==v?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=n.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=n.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${f||"100%"}; + pointer-events: none; + `,_=n.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${C&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=n.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=n.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=n.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,oe=n.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:q,onMouseUp:R,onMouseLeave:R,onMouseMove:U,children:["hidden"!=v?(0,p.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:R,loading:"lazy",src:t,css:{...Q,pointerEvents:Z?"none":"auto"},ref:P,onMouseMove:U}),(0,p.tZ)("div",{css:_,ref:Y,children:(0,p.tZ)(x,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),E(!0),T(e.clientX),O(P.current.offsetWidth),M(N),console.log(Y.current.right),console.log("Start Resizing")},children:(0,p.tZ)(u.Z,{})})]}):null,(0,p.BX)(s.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>W(!X),children:X?"Hide Code":"Show Code"}),children:[o&&c?(0,p.tZ)(m,{collapse:D,setCollapse:L}):null,h?(0,p.BX)(a.Z,{css:te,children:[(0,p.tZ)(r.Z,{value:g?g[0]:"Java",label:g?g[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:oe,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:D?b:w})}),(0,p.tZ)(r.Z,{value:g?g[1]:"CSS",label:g?g[1]:k.cssFile,children:(0,p.tZ)(l.Z,{css:oe,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,p.tZ)(a.Z,{css:te,children:(0,p.tZ)(r.Z,{value:g?g[0]:"Java",label:g?g[0]:k.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:oe,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:d,children:D?b:w})})})]})]})}},3273:(e,t,o)=>{o.d(t,{Z:()=>c});var i=o(7294),n=o(917),a=o(8230),r=o(4387),s=o(6031);var l=o(5944);function c(e){let{type:t,location:o,top:c,children:h,code:d,suffix:u}=e;const[p,m]=(0,i.useState)("");(0,i.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+o+".html"+u)}),[]);const x=n.iv` + display: inline; + + ${c&&n.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,f=n.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(r.Z,{css:f,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(s.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!d&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)("a",{href:p,target:"_blank",children:h})}),"true"!==c&&d&&(0,l.tZ)("div",{css:x,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:h})})})]})}},1415:(e,t,o)=>{o.d(t,{Z:()=>a});o(7294);var i=o(8397),n=o(5893);function a(e){return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(i.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/e5a16701.367eb227.js b/assets/js/e5a16701.367eb227.js deleted file mode 100644 index 5519752db..000000000 --- a/assets/js/e5a16701.367eb227.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9243],{4074:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>o,metadata:()=>d,toc:()=>h});var i=n(5893),r=n(1151),a=n(6957),s=(n(7796),n(3273)),l=n(2665);const o={sidebar_position:4,title:"NumberField",slug:"numberfield"},c=void 0,d={id:"components/fields/number-field",title:"NumberField",description:"The DateTimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/number-field.md",sourceDirName:"components/fields",slug:"/components/fields/numberfield",permalink:"/docs/components/fields/numberfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/number-field.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"NumberField",slug:"numberfield"},sidebar:"documentationSidebar",previous:{title:"DateTimeField",permalink:"/docs/components/fields/datetimefield"},next:{title:"PasswordField",permalink:"/docs/components/fields/passwordfield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Granularity",id:"granularity",level:3},{value:"Placeholder Text",id:"placeholder-text",level:3},{value:"Best Practices",id:"best-practices",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(l.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,i.jsx)(l.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/field/NumberField",top:"true"}),"\n",(0,i.jsxs)(t.admonition,{type:"success",children:[(0,i.jsx)(t.mdxAdmonitionTitle,{children:(0,i.jsx)(t.strong,{children:"Important"})}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateTimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,i.jsx)(t.strong,{children:(0,i.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"NumberField"})," component can be used to accept numerical input from the user. It ensures that only valid numeric values are entered and provides a convenient interface for inputting numbers."]}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.NumberFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/NumberFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,i.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"NumberField"})," is best used in scenarios where capturing or manipulating numerical data is crucial to the user interface or application functionality. Here are some examples of when to use the ",(0,i.jsx)(t.code,{children:"NumberField"}),":"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Numeric Input Forms"}),": When designing forms that require numeric inputs, using a ",(0,i.jsx)(t.code,{children:"NumberField"})," simplifies the input process for users. This is particularly useful for applications that collect user data or require numerical values."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Data Analysis and Calculations"}),": A ",(0,i.jsx)(t.code,{children:"NumberField"})," will be particularly valuable in applications that involve data analysis, calculations, or mathematical operations. They enable users to input or manipulate numeric values accurately."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Financial and Budgeting Applications"}),": Applications that involve financial calculations, budgeting, or tracking expenses often require precise numeric inputs. A ",(0,i.jsx)(t.code,{children:"NumberField"})," ensures accurate entry of financial figures."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Measurement and Unit Conversion"}),": In applications that deal with measurements or unit conversions, the ",(0,i.jsx)(t.code,{children:"NumberField"})," is ideal for inputting numerical values with units such as length, weight, or volume."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"NumberField"})," class has three constructors:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NumberField(String label, Double value)"}),": Creates a ",(0,i.jsx)(t.code,{children:"NumberField"})," with a given label and value."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NumberField(String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"NumberField"})," with a given label but with no pre-populated datetime."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NumberField()"}),": Creates a ",(0,i.jsx)(t.code,{children:"NumberField"})," without any provided information."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,i.jsxs)(t.p,{children:["You can use the ",(0,i.jsx)(t.code,{children:"setMax()"})," and ",(0,i.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable time range. If the value entered into the component is outside of the specified value, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,i.jsx)(t.h3,{id:"granularity",children:"Granularity"}),"\n",(0,i.jsxs)(t.p,{children:["You can use the ",(0,i.jsx)(t.code,{children:"setStep"})," method to specify the granularity that the value must adhere to when using arrow keys to modify the value. This will increment or decrement the component's value by a certain step each time. This does not apply when a user enters a value directly, but only when interacting with the ",(0,i.jsx)(t.code,{children:"NumberField"})," using the arrow keys."]}),"\n",(0,i.jsx)(t.h3,{id:"placeholder-text",children:"Placeholder Text"}),"\n",(0,i.jsxs)(t.p,{children:["You can set placeholder text for the ",(0,i.jsx)(t.code,{children:"NumberField"})," using the ",(0,i.jsx)(t.code,{children:"setPlaceholder"})," method. The placeholder text is displayed when the field is empty, helping to prompt the user to enter appropriate input into the ",(0,i.jsx)(t.code,{children:"NumberField"}),"."]}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:"If the numeric input relates to a specific unit of measurement or has a particular context, provide clear labeling or additional information to guide users and ensure accurate input."})}),"\n",(0,i.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,i.jsxs)(t.p,{children:["To ensure a seamless integration and optimal user experience, consider the following best practices when using the ",(0,i.jsx)(t.code,{children:"NumberField"}),":"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the NumberField component with accessibility in mind, adhering to accessibility standards such as proper labeling, keyboard navigation support, and compatibility with assistive technologies. Ensure that users with disabilities can interact with the NumberField effectively."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Utilize Increment/Decrement Buttons"}),": If appropriate for your application, consider utilizing increment and decrement buttons with the NumberField. This allows users to adjust the numeric value by a specific increment or decrement with a single click."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Handle Minimum and Maximum Values"}),": If your application requires limiting the numeric input range, incorporate validation and visual cues to indicate the acceptable minimum and maximum values. Prevent users from entering values outside the defined range."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var i=n(6010);const r={tabItem:"tabItem_Ymn6"};var a=n(5893);function s(e){let{children:t,hidden:n,className:s}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,i.Z)(r.tabItem,s),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var i=n(7294),r=n(6010),a=n(2466),s=n(6550),l=n(469),o=n(1980),c=n(7392),d=n(12);function u(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:r}}=e;return{value:t,label:n,attributes:i,default:r}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const r=(0,s.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,o._X)(a),(0,i.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})}),[a,r])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,a=h(e),[s,o]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:a}))),[c,u]=p({queryString:n,groupId:r}),[b,A]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,a]=(0,d.Nk)(n);return[r,(0,i.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:r}),g=(()=>{const e=c??b;return m({value:e,tabValues:a})?e:null})();(0,l.Z)((()=>{g&&o(g)}),[g]);return{selectedValue:s,selectValue:(0,i.useCallback)((e=>{if(!m({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);o(e),u(e),A(e)}),[u,A,a]),tabValues:a}}var A=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function f(e){let{className:t,block:n,selectedValue:i,selectValue:s,tabValues:l}=e;const o=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),d=e=>{const t=e.currentTarget,n=o.indexOf(t),r=l[n].value;r!==i&&(c(t),s(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=o.indexOf(e.currentTarget)+1;t=o[n]??o[0];break}case"ArrowLeft":{const n=o.indexOf(e.currentTarget)-1;t=o[n]??o[o.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:l.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>o.push(e),onKeyDown:u,onClick:d,...a,className:(0,r.Z)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:r}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===r));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function w(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,r.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(f,{...e,...t}),(0,v.jsx)(x,{...e,...t})]})}function j(e){const t=(0,A.Z)();return(0,v.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>A});var i=n(7294),r=n(917),a=n(4866),s=n(5162),l=n(4673),o=n(1750);const c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAG/ElEQVR4nO3dTW7bRhgG4Ddu4bTHa72Ir+UbNKskm/YgvYJhGF61B2gcIEDdRSVAMGxLIueHQz4PMBtDGeoj9EIfxWEmAQAAAAAAAAAAAAAAAAAAAAAAACjnMsl1ks9JbpN8343b3d+ud68BFuYqyUOSpyPjYfdaYAEuktzkeHCfj5vdvwU6mhLewxADnVxlenj3QzsNHVwmucv8AN8ned/2rQPXmR/e/fjQ+L1TiB8xxvVLwbl+LTgXcIIS7fN+3DV+7xTyrvcbYLLHJD8Vmutbkp8LzUVDAjyup8Lz+SwMyDUwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMT4Dq2tkvg1uplxVrtEljqv5Tdj6nsisgqtN4lsHeA7YrIqszZJfBjzv9Q9wzwxe49Tz2WXRFZlBK7BJ4b4l4Bnhve/dBOswildgl8SvIpyY8nHrdHgC+S/FboePexKyILUHKXwHNC3DrAJcO7H3ZFpLsvKR+mU9rplgEu1TY/H1+OHBeqK7lL4DkhbhXgWuF9il0RWYDH1PlwP+XtdrpFgGu0zYfj8ZXjQjNfU+8D/laIawe4dnifkvzz+mmFNmq10IfjpXa6ZoBrts2HQwtNdzV+xDolxLUC3Cq8T/EjFgtQ+jbSW+Owna4R4BZt8+FwG4nuSi7kOCfEpedtHd77WMjBQpRYSnnOqNHitmqb98NSShZlzsMMWxseZmBxWv74M/KY8uQVNNH6OnK08SnJD1NPLrQgxMLL4IRYeBmcEAsvg9t6iIWX4W01xMLLamwtxMLL6mzlPrH7vKzW2r+JffOyemsNsfCyGWsLsfCyOWsJsfCyWaOHWHjZvFFDLLywM9otJreK4JlRQiy88Iqlh1h44YilXhO75oUTLS3EwgtnWko7rW2GiXqHWHhhpl4hFl4opPU1sWteKKzVN7FvXqikdoiFFyqr1U5rm6GR0iEWXmisVDutbYZO5oZYeKGzi0zb2vQmwguLcZXkIceD+xCba8MiXSa5TvI5yW2S77txu/vb9e41AAAAAAAAAAAAwCK9tBTw1MX5S1oyqA51bM6pi/FPHb0W7atDHZsy9XG4U0erx+bUoY5NqnmSD0+2OtQxYh2LdpX6J3k/arY96lDH5lwmuUu7E32f5L061DFIHYt3nXYneT8+qEMdg9Rxkp4X4b90OOavFeZUx3TqGFjLNmc/7tShjkHqOMm7XgdO8pjkp8bH/Jbk58JzqmM6dczUs4V+6nDMfyvMqY7p1DFTzwD/1eGYf1eYUx3TqWOmngH+cyXHVMeyjrmWOk7SM8B/dDjm7xXmVMd06hjYWm64q0Mdm1zIkaxnyZs61LFZa1l0rg51bNJaHvtShzo2bS0PXqtDHZu1lv/6RB3qAAAAAAAAAAAAAJp7acmgpYAwgFMX7VuMDwsy9bE5j8NBZxdJPmb6o3EfI8TQxdzwCjF0cpHkt5R7SP1Tkh9bFgBbVTq8QgyNlGqbtdPQWO3wCjFUUqtt1k5DZa3DK8RQSKu2WTsNhfUOrxDDRL3aZu00zLS08AoxnGgpbbN2Gs609PAKMbxilPAKMTyz1GveY8M1MZs3aniFmM0bPbxCzGatJbxCzOasLbxCzGasNbxCzOqNdqto6nCLidVZ+zevb2JWa2vhFWJWY6vhFWKGt/XwCjHDEl4hZlDCK8QMSniFmEFt5T7v3OE+MYs0ZYvPrY6biecYqrhK+2+xEeZ8a9hknEW4THKXdh/8T0l+qDBv6+v3+yTvzz7bUNh12oc3FeZO2of4wzknGmr4kjYf9uc//tQIcNL2x7gvJ55jqKZF+/zSL7e1Apy0C/Hd0bMLlT2m7of8sG0+VDPASZt2+vH10wptfE378KbCsV5SO8T/vHJcaKZWC31swUOLACd122ktNN3V+BHrlNVKrQKc1AuxH7HorvRtpLfa5kMtA5zUaafdRqK7kgs5Tg1vCh3vnAAnZUN8Hws5WIgSSynPXeTfI8BJuXbaUkoWZc7DDFOe0OkV4GR+iD3MwOJcZFqIbzLt8bqeAU7a1wtNXCV5yPEP8kPmtZG9A7zXql5o5jL//zr9Ocltku+7cbv72/XuNXMsJcBJm3p5wbveb4DJ5obuOZ+FAbkWgYEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAjyukltzfi04Fw0J8Lj+KjjX3wXnoiEBHtefC52LhgR4XH8UnOv3gnMBJyi1K+J97BIIXZTYFdF2J9DRnF0R7RIIndklEFbALoEwOLsEAgAAAAAAAAAAAAAAAAAAAAAAAE39B2tV13Hdy+hQAAAAAElFTkSuQmCC",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAALyElEQVR4nO3dXahmVR3H8e+M0/FlRouiGV9GxLSkiy7MkW7MDJOCCJ1zkia66KaLLByKEqUizW6EwJjKi24yDfL9pYSEEDSlIMS3JkJrlBzURiUcdXyZF8cu9hnmpOfMec551tr//9rP9wMLQWU9/73W/p398qy9H5AkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSZIkSW1bEV1ABauBs4AzgNNm2zrgvcAa4D1xpakHe4DXgJeAF4HHgSeAh4A/z/63wRhKgNcBXwamgU8AU7HlKKk9wF+B24EbgOdjy9E5wF3AXuBtm20JbS/we+Bs1Ltz6U6HoncC2zDaA8CnUXXHAdcTP+G2Yba7gBNRFZuAncRPsm3YbSdwISrmCOCXxE+sbbLaNcDhaCxrgD8SP5m2yWz30n39mFbmr5HWAXcDp0cXoon2CPA54IXoQuaTNcDHAPdheJXDVrqvm3ZGF/JOK6MLmMcRdHcDDa+y+BhwGwmviQ+LLmAe19CtqJIyORl4P/CH6ELmyhbgC4GroouQFnAm8E/g79GFHJDpGvh44B8kv+unibcT+CiwI7oQyHUNfDWGV/m9D/hJdBEHZDkCnwvcE12ENKK36dZO/ym6kCwBfoDuGV6pFfcDn4ouIsMp9DkYXrXnbOCT0UVkCPB3oguQlumS6AKiT6HXAs8Cq4LrkJZjH7CeCX6zx7epuxj9TbrnhzcCJ+H7sCbBKrq5ngZ+Q7cP1NzHNvezWTndT72B/S3dd8uabCcAN1L3iaWJtBrYTfkB3Qd8vcftUBu+Qbdv1DjLO7LH7Ujjs9T5i3hRnxuhpnyTOvvceX1uRBbfo85ps3QoN1F+v7us1y1I4jrKDuIbeM2rxa2n/I2ta3vdgjkivwc+rXB/twDPFe5Tw/MMcGvhPkvvyyOLDPCxhfu7o3B/Gq47C/dXel8eWWSAjy7c30OF+9Nwld5XSu/LI4tcibWbsr9hNEX3cxnSYqbo9r9SdtO9Cqp3kQF+u3B/0ctC1ZZB7H8ZHmaQtEwGWGqYAZYaZoClhhlgqWEGWGqYAZYaZoClhhlgqWEGeFimgE10r5DZRre0tMYD7KXbHuBp4Gd0P+quBpTeCSbdDLCd+DCO2/bRz0+XuP+NyQEsYyWwhfjglW6PUvd1w+5/Y3IAyxhieOeGuBb3vzE5gOObIT5ktVut0+lB7H8+TtiuKeBxul+OH7J9wAeAVwr3O4j9z7vQ7Zpm+OGF7jr4yugisjLA7doYXUCPpqMLyMoAt+vM6AJ6dFx0AVl5DdyuNwh6D1OQ0vM7iP3PI3C7JvXOu+YwwO3aEV2A4hngdj0YXYDiGeB2+UsU8iZWwyZlIccB3sSah0fgdu0BLokuQrEMcNtuo3uGVurdIBaTJzDUxwlrz2/2+tJzAMsaygP9BngJvIk1LFN064YvADYAJ1H3ofg+eRMrmUH8BRywlcCviT/yegROygHMK1t4DXBCDmBOGcNrgBNyAPPJGl4DnJADmEvm8BrghBzAPLKH1wAn5ADm0EJ4DXBCDmC8VsJrgBNyAGO1FF4DnJADGKe18BrghBzAGC2G1wAn5AD2r9XwGuCEHMB+tRxeA5yQA9if1sNrgBNyAPsREd4bKvRZWvb60nMA64sK72EV+i0te33pOYB1RYaXCn2Xlr2+9BzAeqLDS4X+S8teX3oOYB0ZwkuFzygte33pOYDlZQkvFT6ntOz1pecAlpUpvFT4rNKy15eeA1hOtvBS4fNKy15feg5gGRnDS4XPLC17fek5gOPLGl4qfG5p2etLzwEcT+bwUuGzS8teX3oO4PJlDy8VPr+07PWl5wAuTwvhpUINpWWvLz0HcOlaCS8V6igte33pOYBL01J4qVBLadnrS88BHF1r4aVCPaVlry+91yk3eK/1XHufWgwv5J9fAzympyg3eE/1XHtfWg0v5J/fQQR4ZdQHAw8m7SuLlcC1wFd7/Mzrga8AbxXoy/kduE2U++v3pZ5r78MW+j3yXkfZP+jZ53cQR+BIU5Q5zfo3cHi/pVc3Q9vhhfzza4ALKLGjzvRedV2ldvxRW6lr3vlknl8DXMg4p4pbAuqtreSpZ2R4D8g6vwa4kJUsb5K3EHsTrpab6Ce8NU6b55N1fg1wYTPAdhYfqO0M77R5rj5On/sK71zZ5tcAVzBFdwp5I7AN2Dvbts3+u02z/8+QvUHd8PZx2ryQTPNrgFVFyRVMmcKbjQFWFbVOoSNOmzMzwKqixk0sw/tuBlhVlP4aydPm+RlgVVFyIYfhXZgBVjUlVjB52nxoBlhVjbOCyfAuzgCrqqwrmIbCAKsX2VYwDYUBVm8yrWAaikEEeEXUB0vBSocuJEteK0kNM8BSwwyw1DADLDXMAEsNM8BSwwyw1DADLDXMAEsNWxVdwBynABcAHwfWA+tm/7k6qJ7XgGeA52f/+TBwJ/BkUD1SOuuAHwNbKb82tVbbClw5W7vaNYi10FFWA5cCLxMfyOW2XcBVwDGFx0b9MMDLNAPsID6ApdoOYGPREVIfDPASraA76r5FfOhKt/10R2NvCrbDAC/BUcAtxAetdrsJOLLQmKkuAzyiFXQPnUeHq692Gz5n3QIDPKIriA9V3+2HJQZOVRngEczQXR9GB6rvth9vbGU3iADXPNVbA/wLOLbiZ2T2AnAq8Gp0IZpX6dAN7pU632VywwuwFvhWdBEatlp/NdbSvTHx6Er9t2IX8GG674qVi0fgQ7gYwwvdZcRF0UVouGoF2Bs4B10QXYCGq8Zh/1S6m1c66CM4Jtl4Cr2A8yv02bovRBegYaoR4A0V+mzd6dEFaJhqBPj4Cn22zjFRFTUCfFyFPlt3QnQBGqYaAZ7kxRsL8QisKmrcORvE3T2Gsx2a3yDm1wfQpYYZYKlhBlhqmAGWGmaApYYZYKlhBlhqmAGWGmaApYYZYE2iqcL97S7c38gMsCZR6YdLwt48aoA1iUo/s26ApR6Vfk9Z2FtHDbAmzYl0vxhS0hOF+xuZAdakuRo4vHCfYQGuYRC/OTNCXa1shw7aTJ3fwvpMnxtR21B2/KFshzqbqfPj8m8ysN+EHsqOP5TtmHQnUvfH5e/tb1PebVXkh0sVTNF9z7uB7m7zDOWveee6vWLfi/KdWAtrcTumgGm6HXcDcBL+ka5pL90fixejCnByh2MG+CndKaP6cTeB4a1lKNeOrWzHSmBLhXpti7ezRpif5rSy4y+mle0wvDHtvhHmpkmt7PiLaWE7ZirUaVu87QfOHmF+mtTCjj+K7NsxBTxVoU7b4u36EeanFy6lbNc0cHJ0ERPoJeCS6CIOMMDt2hhdwIT6GvB8dBEHGOB2nRldwAT6BcELN97JhRwLy74drzOwNbjJ3QN8HtgTXchcNRZy7ALWFOwv8kZWKa9EF6Cx/A34IsnCC3VOoZ+r0GfraoxJ2FsgJszDwHnAy9GFzKdGgP9Toc/W1QjwgxX61P+7BzgHeCG4jgV5BO5HjTG5o0KfOujndNe8YS+sG0WNAD9Uoc/W1RiTO4CnK/Q76V6iW+G2mYTXvH04hfiVMtlarQUXLqUs1/bTrbBat6QZGKitxE9IlvbomGO5GB9mGL/dx4DXNi/HlcRPSpZ2xXhDuSgfJ1xe2wP8joE+EjiuD9Lddo+epOj2Kv2dks0A23vYppbbm3TvsLqYbh/VIVxO/IRFtx+MPYpLMwVsAm4EttG98iV6DPpuu4H/Ak8CfwF+BVxG9+pXV64twWq6r0+iJzSqPTc7BlKzpunu7kWHqe/2FnB+gfGTwl1OfKD6bt8vMnJSAiuAG4gPVV/tVuKeoJKqOBK4mfhw1W43440SDdQK4FLq/D5NdNsPXIUvSNAE2Miw7k4/S/kfjJZSO4ruaLyT+AAut+2iO+oeXXhspGasBX4EPEZ8IEdtj83WvLbCeEhLkulu6Yfovjs9A1hPtwRxPWVfz7MUu4Bn6F5Q8CzwCHAn3buYJUmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEmSJEnA/wDL76bzm26ebQAAAABJRU5ErkJggg==";var h=n(2949),m=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const i=r.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,a=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,s=r.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:i,children:(0,m.tZ)("button",{css:a,onClick:()=>{n(!t)},children:t?(0,m.tZ)("img",{css:s,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:s,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,i=r.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:i,src:u})})}function A(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:A,frame:g,tabs:v}=e;const[f,x]=(0,i.useState)(""),[w,j]=(0,i.useState)(""),[y,D]=(0,i.useState)(""),[B,F]=(0,i.useState)(!(!n||!c)),[Z,k]=(0,i.useState)(!1),[N,C]=(0,i.useState)({});(0,i.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];C((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];C((e=>({...e,cssFile:n})))}))}),[]);const S=r.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,E=r.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${A}; - `,T=r.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,L=r.iv` - width: 100%; - `,M=r.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${Z&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:S,children:["hidden"!=g?(0,m.BX)("div",{onMouseEnter:()=>{k(!0)},onMouseLeave:()=>k(!1),css:L,children:[(0,m.tZ)("div",{css:M,children:(0,m.tZ)(b,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:E})]}):null,(0,m.BX)(l.Z,{css:T,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,m.tZ)(p,{collapse:B,setCollapse:F}):null,d?(0,m.BX)(a.Z,{children:[(0,m.tZ)(s.Z,{value:v?v[0]:"Java",label:v?v[0]:N.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?f:w})}),(0,m.tZ)(s.Z,{value:v?v[1]:"CSS",label:v?v[1]:N.cssFile,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(a.Z,{children:(0,m.tZ)(s.Z,{value:v?v[0]:"Java",label:v?v[0]:N.javaFile,default:!0,children:(0,m.tZ)(o.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?f:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var i=n(7294),r=n(917),a=n(8230),s=n(4387),l=n(6770);var o=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[m,p]=(0,i.useState)("");(0,i.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const b=r.iv` - display: inline; - - ${c&&r.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,A=r.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,o.BX)(o.HY,{children:["true"===c&&(0,o.tZ)("div",{css:b,children:(0,o.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,o.tZ)(s.Z,{css:A,label:"Java API",component:"a",href:m,icon:(0,o.tZ)(l.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,o.tZ)("div",{css:b,children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&u&&(0,o.tZ)("div",{css:b,children:(0,o.tZ)("code",{children:(0,o.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var i=n(8397),r=n(5893);function a(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(i.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/e5a16701.e4c9e969.js b/assets/js/e5a16701.e4c9e969.js new file mode 100644 index 000000000..b27170ef1 --- /dev/null +++ b/assets/js/e5a16701.e4c9e969.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9243],{4074:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>h});var i=n(5893),r=n(1151),a=n(6957),s=(n(7796),n(3273)),o=n(2665);const l={sidebar_position:4,title:"NumberField",slug:"numberfield"},c=void 0,d={id:"components/fields/number-field",title:"NumberField",description:"The DateTimeField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/number-field.md",sourceDirName:"components/fields",slug:"/components/fields/numberfield",permalink:"/docs/components/fields/numberfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/number-field.md",tags:[],version:"current",sidebarPosition:4,frontMatter:{sidebar_position:4,title:"NumberField",slug:"numberfield"},sidebar:"documentationSidebar",previous:{title:"DateTimeField",permalink:"/docs/components/fields/datetimefield"},next:{title:"PasswordField",permalink:"/docs/components/fields/passwordfield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Maximum and Minimum",id:"maximum-and-minimum",level:3},{value:"Granularity",id:"granularity",level:3},{value:"Placeholder Text",id:"placeholder-text",level:3},{value:"Best Practices",id:"best-practices",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(o.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,i.jsx)(o.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,i.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/field/NumberField",top:"true"}),"\n",(0,i.jsxs)(t.admonition,{type:"success",children:[(0,i.jsx)(t.mdxAdmonitionTitle,{children:(0,i.jsx)(t.strong,{children:"Important"})}),(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"DateTimeField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,i.jsx)(t.strong,{children:(0,i.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"NumberField"})," component can be used to accept numerical input from the user. It ensures that only valid numeric values are entered and provides a convenient interface for inputting numbers."]}),"\n",(0,i.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.NumberFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/NumberFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,i.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"NumberField"})," is best used in scenarios where capturing or manipulating numerical data is crucial to the user interface or application functionality. Here are some examples of when to use the ",(0,i.jsx)(t.code,{children:"NumberField"}),":"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Numeric Input Forms"}),": When designing forms that require numeric inputs, using a ",(0,i.jsx)(t.code,{children:"NumberField"})," simplifies the input process for users. This is particularly useful for applications that collect user data or require numerical values."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Data Analysis and Calculations"}),": A ",(0,i.jsx)(t.code,{children:"NumberField"})," will be particularly valuable in applications that involve data analysis, calculations, or mathematical operations. They enable users to input or manipulate numeric values accurately."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Financial and Budgeting Applications"}),": Applications that involve financial calculations, budgeting, or tracking expenses often require precise numeric inputs. A ",(0,i.jsx)(t.code,{children:"NumberField"})," ensures accurate entry of financial figures."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Measurement and Unit Conversion"}),": In applications that deal with measurements or unit conversions, the ",(0,i.jsx)(t.code,{children:"NumberField"})," is ideal for inputting numerical values with units such as length, weight, or volume."]}),"\n"]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,i.jsxs)(t.p,{children:["The ",(0,i.jsx)(t.code,{children:"NumberField"})," class has three constructors:"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NumberField(String label, Double value)"}),": Creates a ",(0,i.jsx)(t.code,{children:"NumberField"})," with a given label and value."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NumberField(String label)"}),": Creates a ",(0,i.jsx)(t.code,{children:"NumberField"})," with a given label but with no pre-populated datetime."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.code,{children:"NumberField()"}),": Creates a ",(0,i.jsx)(t.code,{children:"NumberField"})," without any provided information."]}),"\n"]}),"\n",(0,i.jsx)(t.h3,{id:"maximum-and-minimum",children:"Maximum and Minimum"}),"\n",(0,i.jsxs)(t.p,{children:["You can use the ",(0,i.jsx)(t.code,{children:"setMax()"})," and ",(0,i.jsx)(t.code,{children:"setMin()"})," methods to specify the acceptable time range. If the value entered into the component is outside of the specified value, the component fails constraint validation. Also, if there is already a maximum or minimum set, the value given to the other method must be lower or higher respectively."]}),"\n",(0,i.jsx)(t.h3,{id:"granularity",children:"Granularity"}),"\n",(0,i.jsxs)(t.p,{children:["You can use the ",(0,i.jsx)(t.code,{children:"setStep"})," method to specify the granularity that the value must adhere to when using arrow keys to modify the value. This will increment or decrement the component's value by a certain step each time. This does not apply when a user enters a value directly, but only when interacting with the ",(0,i.jsx)(t.code,{children:"NumberField"})," using the arrow keys."]}),"\n",(0,i.jsx)(t.h3,{id:"placeholder-text",children:"Placeholder Text"}),"\n",(0,i.jsxs)(t.p,{children:["You can set placeholder text for the ",(0,i.jsx)(t.code,{children:"NumberField"})," using the ",(0,i.jsx)(t.code,{children:"setPlaceholder"})," method. The placeholder text is displayed when the field is empty, helping to prompt the user to enter appropriate input into the ",(0,i.jsx)(t.code,{children:"NumberField"}),"."]}),"\n",(0,i.jsx)(t.admonition,{type:"tip",children:(0,i.jsx)(t.p,{children:"If the numeric input relates to a specific unit of measurement or has a particular context, provide clear labeling or additional information to guide users and ensure accurate input."})}),"\n",(0,i.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,i.jsxs)(t.p,{children:["To ensure a seamless integration and optimal user experience, consider the following best practices when using the ",(0,i.jsx)(t.code,{children:"NumberField"}),":"]}),"\n",(0,i.jsxs)(t.ol,{children:["\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the NumberField component with accessibility in mind, adhering to accessibility standards such as proper labeling, keyboard navigation support, and compatibility with assistive technologies. Ensure that users with disabilities can interact with the NumberField effectively."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Utilize Increment/Decrement Buttons"}),": If appropriate for your application, consider utilizing increment and decrement buttons with the NumberField. This allows users to adjust the numeric value by a specific increment or decrement with a single click."]}),"\n"]}),"\n",(0,i.jsxs)(t.li,{children:["\n",(0,i.jsxs)(t.p,{children:[(0,i.jsx)(t.strong,{children:"Handle Minimum and Maximum Values"}),": If your application requires limiting the numeric input range, incorporate validation and visual cues to indicate the acceptable minimum and maximum values. Prevent users from entering values outside the defined range."]}),"\n"]}),"\n"]})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var i=n(4836);t.Z=void 0;var r=i(n(4938)),a=n(5893),s=(0,r.default)((0,a.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=s},2610:(e,t,n)=>{var i=n(4836);t.Z=void 0;var r=i(n(4938)),a=n(5893),s=(0,r.default)((0,a.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=s},5162:(e,t,n)=>{n.d(t,{Z:()=>s});n(7294);var i=n(6010);const r={tabItem:"tabItem_Ymn6"};var a=n(5893);function s(e){let{children:t,hidden:n,className:s}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,i.Z)(r.tabItem,s),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>y});var i=n(7294),r=n(6010),a=n(2466),s=n(6550),o=n(469),l=n(1980),c=n(7392),d=n(12);function u(e){return i.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,i.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:n}=e;return(0,i.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:i,default:r}}=e;return{value:t,label:n,attributes:i,default:r}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const r=(0,s.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(a),(0,i.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})}),[a,r])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,a=h(e),[s,l]=(0,i.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const i=n.find((e=>e.default))??n[0];if(!i)throw new Error("Unexpected error: 0 tabValues");return i.value}({defaultValue:t,tabValues:a}))),[c,u]=p({queryString:n,groupId:r}),[b,A]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,a]=(0,d.Nk)(n);return[r,(0,i.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:r}),g=(()=>{const e=c??b;return m({value:e,tabValues:a})?e:null})();(0,o.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:s,selectValue:(0,i.useCallback)((e=>{if(!m({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),A(e)}),[u,A,a]),tabValues:a}}var A=n(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=n(5893);function f(e){let{className:t,block:n,selectedValue:i,selectValue:s,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),r=o[n].value;r!==i&&(c(t),s(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:i===t?0:-1,"aria-selected":i===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...a,className:(0,r.Z)("tabs__item",g.tabItem,a?.className,{"tabs__item--active":i===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:r}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===r));return e?(0,i.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,i.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function w(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,r.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(f,{...e,...t}),(0,v.jsx)(x,{...e,...t})]})}function y(e){const t=(0,A.Z)();return(0,v.jsx)(w,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>A});var i=n(7294),r=n(917),a=n(4866),s=n(5162),o=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=n(2610),m=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const i=r.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,a=r.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,s=r.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,m.tZ)("div",{css:i,children:(0,m.tZ)("button",{css:a,onClick:()=>{n(!t)},children:t?(0,m.tZ)("img",{css:s,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:s,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=r.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,i=r.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,m.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:i,src:u})})}function A(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:A,frame:g,tabs:v}=e;const[f,x]=(0,i.useState)(""),[w,y]=(0,i.useState)(""),[j,D]=(0,i.useState)(""),[Z,B]=(0,i.useState)(!(!n||!c)),[k,F]=(0,i.useState)(!1),[S,N]=(0,i.useState)({}),[C,E]=(0,i.useState)(!1),[M,T]=(0,i.useState)(0),[L,z]=(0,i.useState)(0),[V,H]=(0,i.useState)(25),[O,X]=(0,i.useState)(25),[G,Y]=(0,i.useState)(0),[J,I]=(0,i.useState)(!1),P=(0,i.useRef)(null),W=(0,i.useRef)(null);(0,i.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{y(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];N((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];N((e=>({...e,cssFile:n})))})),Y(P.current.offsetWidth),console.log(G)}),[]);const q=()=>{E(!1),console.log("Stop Resizing")},U=e=>{if(C){const t=e.clientX-M;L+t>G/3&&(P.current.style.width=`${L+t}px`,W.current.style.right=(V-t<25?25:V-t)+"px",X(V-t<25?25:V-t))}},R=r.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=r.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=r.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${A||"100%"}; + pointer-events: none; + `,_=r.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${k&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=r.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=r.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=r.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=r.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,m.BX)("div",{css:R,onMouseUp:q,onMouseLeave:q,onMouseMove:U,children:["hidden"!=g?(0,m.BX)("div",{onMouseEnter:()=>{F(!0)},onMouseLeave:()=>F(!1),css:K,children:[(0,m.tZ)("iframe",{onMouseUp:q,loading:"lazy",src:t,css:{...Q,pointerEvents:C?"none":"auto"},ref:P,onMouseMove:U}),(0,m.tZ)("div",{css:_,ref:W,children:(0,m.tZ)(b,{url:t})}),(0,m.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),E(!0),T(e.clientX),z(P.current.offsetWidth),H(O),console.log(W.current.right),console.log("Start Resizing")},children:(0,m.tZ)(h.Z,{})})]}):null,(0,m.BX)(o.Z,{css:ee,summary:(0,m.tZ)("summary",{onClick:()=>I(!J),children:J?"Hide Code":"Show Code"}),children:[n&&c?(0,m.tZ)(p,{collapse:Z,setCollapse:B}):null,d?(0,m.BX)(a.Z,{css:te,children:[(0,m.tZ)(s.Z,{value:v?v[0]:"Java",label:v?v[0]:S.javaFile,default:!0,children:(0,m.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:Z?f:w})}),(0,m.tZ)(s.Z,{value:v?v[1]:"CSS",label:v?v[1]:S.cssFile,children:(0,m.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,m.tZ)(a.Z,{css:te,children:(0,m.tZ)(s.Z,{value:v?v[0]:"Java",label:v?v[0]:S.javaFile,default:!0,children:(0,m.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:Z?f:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var i=n(7294),r=n(917),a=n(8230),s=n(4387),o=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:h}=e;const[m,p]=(0,i.useState)("");(0,i.useEffect)((()=>{h||(h=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+h)}),[]);const b=r.iv` + display: inline; + + ${c&&r.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,A=r.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(s.Z,{css:A,label:"Java API",component:"a",href:m,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var i=n(8397),r=n(5893);function a(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(i.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/e71a10cb.02128069.js b/assets/js/e71a10cb.9f647db5.js similarity index 62% rename from assets/js/e71a10cb.02128069.js rename to assets/js/e71a10cb.9f647db5.js index a661fc20d..a205dcfe7 100644 --- a/assets/js/e71a10cb.02128069.js +++ b/assets/js/e71a10cb.9f647db5.js @@ -1,16 +1,17 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[7711],{2530:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>c,contentTitle:()=>a,default:()=>v,frontMatter:()=>d,metadata:()=>r,toc:()=>l});var o=n(5893),i=n(1151),s=n(3273);const d={sidebar_position:0,title:"ModifyEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ModifyEvent"},a=void 0,r={id:"components/events/modify-event",title:"ModifyEvent",description:"An event that is fired when a component is edited. It provides information about the modified text of the component that is sent as part of the event payload.",source:"@site/docs/components/events/modify-event.md",sourceDirName:"components/events",slug:"/components/events/ModifyEvent",permalink:"/docs/components/events/ModifyEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/modify-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ModifyEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ModifyEvent"},sidebar:"documentationSidebar",previous:{title:"ListSelectEvent",permalink:"/docs/components/events/ListSelectEvent"},next:{title:"MouseEnterEvent",permalink:"/docs/components/events/MouseEnterEvent"}},c={},l=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/ModifyEvent",top:"true"}),"\n",(0,o.jsx)(t.p,{children:"An event that is fired when a component is edited. It provides information about the modified text of the component that is sent as part of the event payload."}),"\n",(0,o.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsx)(t.tbody,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"getText()"})}),(0,o.jsx)(t.td,{children:"Gets the text of the component."})]})})]}),"\n",(0,o.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"./event",children:"Event"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var o=n(7294),i=n(917),s=n(8230),d=n(4387),a=n(6770);var r=n(5944);function c(e){let{type:t,location:n,top:c,children:l,code:h,suffix:v}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const f=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[7711],{2530:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>a,default:()=>v,frontMatter:()=>d,metadata:()=>c,toc:()=>l});var o=n(5893),i=n(1151),s=n(3273);const d={sidebar_position:0,title:"ModifyEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ModifyEvent"},a=void 0,c={id:"components/events/modify-event",title:"ModifyEvent",description:"An event that is fired when a component is edited. It provides information about the modified text of the component that is sent as part of the event payload.",source:"@site/docs/components/events/modify-event.md",sourceDirName:"components/events",slug:"/components/events/ModifyEvent",permalink:"/docs/components/events/ModifyEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/modify-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ModifyEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ModifyEvent"},sidebar:"documentationSidebar",previous:{title:"ListSelectEvent",permalink:"/docs/components/events/ListSelectEvent"},next:{title:"MouseEnterEvent",permalink:"/docs/components/events/MouseEnterEvent"}},r={},l=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2}];function h(e){const t={a:"a",code:"code",h2:"h2",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(s.Z,{type:"engine",location:"org/dwcj/component/event/ModifyEvent",top:"true"}),"\n",(0,o.jsx)(t.p,{children:"An event that is fired when a component is edited. It provides information about the modified text of the component that is sent as part of the event payload."}),"\n",(0,o.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsx)(t.tbody,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"getText()"})}),(0,o.jsx)(t.td,{children:"Gets the text of the component."})]})})]}),"\n",(0,o.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,o.jsxs)(t.ul,{children:["\n",(0,o.jsx)(t.li,{children:(0,o.jsx)(t.a,{href:"./event",children:"Event"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var o=n(4836);t.Z=void 0;var i=o(n(4938)),s=n(5893),d=(0,i.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=d},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var o=n(7294),i=n(917),s=n(8230),d=n(4387),a=n(6031);var c=n(5944);function r(e){let{type:t,location:n,top:r,children:l,code:h,suffix:v}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{v||(v=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const u=i.iv` display: inline; - ${c&&i.iv` + ${r&&i.iv` width: 100%; display: flex; justify-content: flex-end; margin-top: -33px; margin-bottom: 25px; `} - `,u=i.iv` + `,f=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,r.BX)(r.HY,{children:["true"===c&&(0,r.tZ)("div",{css:f,children:(0,r.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,r.tZ)(d.Z,{css:u,label:"Java API",component:"a",href:p,icon:(0,r.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,r.tZ)("div",{css:f,children:(0,r.tZ)("a",{href:p,target:"_blank",children:l})}),"true"!==c&&h&&(0,r.tZ)("div",{css:f,children:(0,r.tZ)("code",{children:(0,r.tZ)("a",{href:p,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file + `;return(0,c.BX)(c.HY,{children:["true"===r&&(0,c.tZ)("div",{css:u,children:(0,c.tZ)(s.Z,{title:"JavaDoc",arrow:!0,children:(0,c.tZ)(d.Z,{css:f,label:"Java API",component:"a",href:p,icon:(0,c.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==r&&!h&&(0,c.tZ)("div",{css:u,children:(0,c.tZ)("a",{href:p,target:"_blank",children:l})}),"true"!==r&&h&&(0,c.tZ)("div",{css:u,children:(0,c.tZ)("code",{children:(0,c.tZ)("a",{href:p,target:"_blank",children:l})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/e97f9a74.783f4e7b.js b/assets/js/e97f9a74.783f4e7b.js deleted file mode 100644 index 3320568ce..000000000 --- a/assets/js/e97f9a74.783f4e7b.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9729],{6572:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>u});var a=n(5893),s=n(1151),r=n(6957),i=n(7796),o=n(3273);const l={sidebar_position:110,title:"Slider"},c=void 0,d={id:"components/slider",title:"Slider",description:"Upper and Lower Limit",source:"@site/docs/components/slider.md",sourceDirName:"components",slug:"/components/slider",permalink:"/docs/components/slider",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/slider.md",tags:[],version:"current",sidebarPosition:110,frontMatter:{sidebar_position:110,title:"Slider"},sidebar:"documentationSidebar",previous:{title:"RadioButtonGroup",permalink:"/docs/components/radiobuttongroup"},next:{title:"TextArea",permalink:"/docs/components/text-area"}},h={},u=[{value:"Upper and Lower Limit",id:"upper-and-lower-limit",level:3},{value:"Ticks and Labeling",id:"ticks-and-labeling",level:3},{value:"Orientation and Inversion",id:"orientation-and-inversion",level:3},{value:"Themes",id:"themes",level:3},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2}];function m(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,s.a)(),...e.components};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/slider/Slider",top:"true"}),"\n",(0,a.jsx)(t.h3,{id:"upper-and-lower-limit",children:"Upper and Lower Limit"}),"\n",(0,a.jsxs)(t.p,{children:["Use the ",(0,a.jsx)(t.code,{children:"setMinimum()"})," and ",(0,a.jsx)(t.code,{children:"setMaximum()"})," methods to determine the upper and lower bound of the slider. Each interval on the slider has a distance of 1, meaning that a slider with maximum 10 and minimum of 0 will have 10 intervals on the slider, whereas a maximum of 100 and minimum of 0 will have 100 intervals. These intervals will evenly distribute on the slider, depending on the height and width dimensions that it has been given by the developer."]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderMaxMinDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderMaxMinDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/MinMax.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/minmax_styles.css",javaHighlight:"{17,21}",height:"225px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"ticks-and-labeling",children:"Ticks and Labeling"}),"\n",(0,a.jsxs)(t.p,{children:["Slider components can be customized to show ticks, or spaces bounded by lines to represent distances. Major ticks will be larger and more noticeable than minor ticks, and both can be configured to appear at the desired intervals. It is also possible to set the slider to snap to the tick values using the ",(0,a.jsx)(t.code,{children:"setSnapToTicks()"})," method."]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderLabelDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderLabelDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Label.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/label_styles.css",javaHighlight:"{62-78}",height:"325px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.p,{children:"It is also possible to set labels on a slider. These labs may or may not correspond with ticks that have been set. To set the labels, simply create a map with key value pairs, where the keys are the integer values to be labeled, and the values are the desired label string."}),"\n",(0,a.jsx)(t.admonition,{type:"info",children:(0,a.jsx)(t.p,{children:"If tick snapping is enabled, the slider will only snap to ticked spaces specifically. If a non-ticked value has a label, it will not be snapped to by the slider."})}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderTickDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderTickDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Ticks.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/tick_styles.css",javaHighlight:"{24-31}",height:"225px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"orientation-and-inversion",children:"Orientation and Inversion"}),"\n",(0,a.jsxs)(t.p,{children:["Sliders can be oriented either horizontally or vertically by using the ",(0,a.jsx)(t.code,{children:"setOrientation()"})," method."]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderOrientationDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderOrientationDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Orientation.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/orientation_styles.css",javaHighlight:"{37}",height:"400px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.p,{children:"It is also possible to invert a slider. By default, the minimum value of a vertical slider is at the bottom and the maximum value is at the top. For a horizontal slider, the minimum value is to the left and the maximum value is to the right. The orientation reverses for inverted sliders."}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderInversionDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderInversionDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Inversion.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/inversion_styles.css",javaHighlight:"{42}",height:"200px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,a.jsxs)(t.p,{children:["The slider component comes with 6 themes built in for quick styling without the use of CSS. Theming is supported by use of a built-in enum class.\r\nShown below are sliders with each of the supported Themes applied: ",(0,a.jsx)("br",{})]}),"\n",(0,a.jsx)(r.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderThemesDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderThemesDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Themes.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/theme_styles.css",javaHighlight:"{20,25,30,35,40,45}",height:"620px"}),"\n",(0,a.jsx)("br",{}),"\n",(0,a.jsxs)(t.table,{children:[(0,a.jsx)(t.thead,{children:(0,a.jsx)(t.tr,{children:(0,a.jsx)(t.th,{children:"Slider Themes"})})}),(0,a.jsx)(t.tbody,{children:(0,a.jsx)(t.tr,{children:(0,a.jsx)(t.td,{children:(0,a.jsxs)("ul",{children:[(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"Slider.Theme.DEFAULT"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"Slider.Theme.DANGER"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"Slider.Theme.GRAY"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"Slider.Theme.INFO"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"Slider.Theme.SUCCESS"})}),(0,a.jsx)("li",{children:(0,a.jsx)(t.code,{children:"Slider.Theme.WARNING"})})]})})})})]}),"\n",(0,a.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,a.jsx)(i.Z,{tag:n(5731).iR})]})}function p(e={}){const{wrapper:t}={...(0,s.a)(),...e.components};return t?(0,a.jsx)(t,{...e,children:(0,a.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var a=n(6010);const s={tabItem:"tabItem_Ymn6"};var r=n(5893);function i(e){let{children:t,hidden:n,className:i}=e;return(0,r.jsx)("div",{role:"tabpanel",className:(0,a.Z)(s.tabItem,i),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var a=n(7294),s=n(6010),r=n(2466),i=n(6550),o=n(469),l=n(1980),c=n(7392),d=n(12);function h(e){return a.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,a.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,a.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:a,default:s}}=e;return{value:t,label:n,attributes:a,default:s}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function m(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const s=(0,i.k6)(),r=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(r),(0,a.useCallback)((e=>{if(!r)return;const t=new URLSearchParams(s.location.search);t.set(r,e),s.replace({...s.location,search:t.toString()})}),[r,s])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:s}=e,r=u(e),[i,l]=(0,a.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!m({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const a=n.find((e=>e.default))??n[0];if(!a)throw new Error("Unexpected error: 0 tabValues");return a.value}({defaultValue:t,tabValues:r}))),[c,h]=p({queryString:n,groupId:s}),[b,A]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[s,r]=(0,d.Nk)(n);return[s,(0,a.useCallback)((e=>{n&&r.set(e)}),[n,r])]}({groupId:s}),v=(()=>{const e=c??b;return m({value:e,tabValues:r})?e:null})();(0,o.Z)((()=>{v&&l(v)}),[v]);return{selectedValue:i,selectValue:(0,a.useCallback)((e=>{if(!m({value:e,tabValues:r}))throw new Error(`Can't select invalid tab value=${e}`);l(e),h(e),A(e)}),[h,A,r]),tabValues:r}}var A=n(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=n(5893);function w(e){let{className:t,block:n,selectedValue:a,selectValue:i,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,r.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),s=o[n].value;s!==a&&(c(t),i(s))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,s.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:r}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:a===t?0:-1,"aria-selected":a===t,ref:e=>l.push(e),onKeyDown:h,onClick:d,...r,className:(0,s.Z)("tabs__item",v.tabItem,r?.className,{"tabs__item--active":a===t}),children:n??t},t)}))})}function x(e){let{lazy:t,children:n,selectedValue:s}=e;const r=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=r.find((e=>e.props.value===s));return e?(0,a.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:r.map(((e,t)=>(0,a.cloneElement)(e,{key:t,hidden:e.props.value!==s})))})}function f(e){const t=b(e);return(0,g.jsxs)("div",{className:(0,s.Z)("tabs-container",v.tabList),children:[(0,g.jsx)(w,{...e,...t}),(0,g.jsx)(x,{...e,...t})]})}function j(e){const t=(0,A.Z)();return(0,g.jsx)(f,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>A});var a=n(7294),s=n(917),r=n(4866),i=n(5162),o=n(4673),l=n(1750);const c="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPAAAADwCAYAAAA+VemSAAAABmJLR0QA/wD/AP+gvaeTAAAG/ElEQVR4nO3dTW7bRhgG4Ddu4bTHa72Ir+UbNKskm/YgvYJhGF61B2gcIEDdRSVAMGxLIueHQz4PMBtDGeoj9EIfxWEmAQAAAAAAAAAAAAAAAAAAAAAAACjnMsl1ks9JbpN8343b3d+ud68BFuYqyUOSpyPjYfdaYAEuktzkeHCfj5vdvwU6mhLewxADnVxlenj3QzsNHVwmucv8AN8ned/2rQPXmR/e/fjQ+L1TiB8xxvVLwbl+LTgXcIIS7fN+3DV+7xTyrvcbYLLHJD8Vmutbkp8LzUVDAjyup8Lz+SwMyDUwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMTYBiYAMPABBgGJsAwMAGGgQkwDEyAYWACDAMT4Dq2tkvg1uplxVrtEljqv5Tdj6nsisgqtN4lsHeA7YrIqszZJfBjzv9Q9wzwxe49Tz2WXRFZlBK7BJ4b4l4Bnhve/dBOswildgl8SvIpyY8nHrdHgC+S/FboePexKyILUHKXwHNC3DrAJcO7H3ZFpLsvKR+mU9rplgEu1TY/H1+OHBeqK7lL4DkhbhXgWuF9il0RWYDH1PlwP+XtdrpFgGu0zYfj8ZXjQjNfU+8D/laIawe4dnifkvzz+mmFNmq10IfjpXa6ZoBrts2HQwtNdzV+xDolxLUC3Cq8T/EjFgtQ+jbSW+Owna4R4BZt8+FwG4nuSi7kOCfEpedtHd77WMjBQpRYSnnOqNHitmqb98NSShZlzsMMWxseZmBxWv74M/KY8uQVNNH6OnK08SnJD1NPLrQgxMLL4IRYeBmcEAsvg9t6iIWX4W01xMLLamwtxMLL6mzlPrH7vKzW2r+JffOyemsNsfCyGWsLsfCyOWsJsfCyWaOHWHjZvFFDLLywM9otJreK4JlRQiy88Iqlh1h44YilXhO75oUTLS3EwgtnWko7rW2GiXqHWHhhpl4hFl4opPU1sWteKKzVN7FvXqikdoiFFyqr1U5rm6GR0iEWXmisVDutbYZO5oZYeKGzi0zb2vQmwguLcZXkIceD+xCba8MiXSa5TvI5yW2S77txu/vb9e41AAAAAAAAAAAAwCK9tBTw1MX5S1oyqA51bM6pi/FPHb0W7atDHZsy9XG4U0erx+bUoY5NqnmSD0+2OtQxYh2LdpX6J3k/arY96lDH5lwmuUu7E32f5L061DFIHYt3nXYneT8+qEMdg9Rxkp4X4b90OOavFeZUx3TqGFjLNmc/7tShjkHqOMm7XgdO8pjkp8bH/Jbk58JzqmM6dczUs4V+6nDMfyvMqY7p1DFTzwD/1eGYf1eYUx3TqWOmngH+cyXHVMeyjrmWOk7SM8B/dDjm7xXmVMd06hjYWm64q0Mdm1zIkaxnyZs61LFZa1l0rg51bNJaHvtShzo2bS0PXqtDHZu1lv/6RB3qAAAAAAAAAAAAAJp7acmgpYAwgFMX7VuMDwsy9bE5j8NBZxdJPmb6o3EfI8TQxdzwCjF0cpHkt5R7SP1Tkh9bFgBbVTq8QgyNlGqbtdPQWO3wCjFUUqtt1k5DZa3DK8RQSKu2WTsNhfUOrxDDRL3aZu00zLS08AoxnGgpbbN2Gs609PAKMbxilPAKMTyz1GveY8M1MZs3aniFmM0bPbxCzGatJbxCzOasLbxCzGasNbxCzOqNdqto6nCLidVZ+zevb2JWa2vhFWJWY6vhFWKGt/XwCjHDEl4hZlDCK8QMSniFmEFt5T7v3OE+MYs0ZYvPrY6biecYqrhK+2+xEeZ8a9hknEW4THKXdh/8T0l+qDBv6+v3+yTvzz7bUNh12oc3FeZO2of4wzknGmr4kjYf9uc//tQIcNL2x7gvJ55jqKZF+/zSL7e1Apy0C/Hd0bMLlT2m7of8sG0+VDPASZt2+vH10wptfE378KbCsV5SO8T/vHJcaKZWC31swUOLACd122ktNN3V+BHrlNVKrQKc1AuxH7HorvRtpLfa5kMtA5zUaafdRqK7kgs5Tg1vCh3vnAAnZUN8Hws5WIgSSynPXeTfI8BJuXbaUkoWZc7DDFOe0OkV4GR+iD3MwOJcZFqIbzLt8bqeAU7a1wtNXCV5yPEP8kPmtZG9A7zXql5o5jL//zr9Ocltku+7cbv72/XuNXMsJcBJm3p5wbveb4DJ5obuOZ+FAbkWgYEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAgwDE2AYmADDwAQYBibAMDABhoEJMAxMgGFgAjyukltzfi04Fw0J8Lj+KjjX3wXnoiEBHtefC52LhgR4XH8UnOv3gnMBJyi1K+J97BIIXZTYFdF2J9DRnF0R7RIIndklEFbALoEwOLsEAgAAAAAAAAAAAAAAAAAAAAAAAE39B2tV13Hdy+hQAAAAAElFTkSuQmCC",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),m=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const a=s.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,r=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,i=s.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,m.tZ)("div",{css:a,children:(0,m.tZ)("button",{css:r,onClick:()=>{n(!t)},children:t?(0,m.tZ)("img",{css:i,src:d,className:"icon-tabler-arrow-bar-up"}):(0,m.tZ)("img",{css:i,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=s.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,a=s.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,m.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,m.tZ)("img",{css:a,src:h})})}function A(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:h,height:A,frame:v,tabs:g}=e;const[w,x]=(0,a.useState)(""),[f,j]=(0,a.useState)(""),[y,D]=(0,a.useState)(""),[S,k]=(0,a.useState)(!(!n||!c)),[C,Z]=(0,a.useState)(!1),[B,L]=(0,a.useState)({});(0,a.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];L((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{x(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{D(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];L((e=>({...e,cssFile:n})))}))}),[]);const E=s.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==v?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,T=s.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${A}; - `,J=s.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,N=s.iv` - width: 100%; - `,O=s.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${C&&"opacity: 1;"}; - - `;return(0,m.BX)("div",{css:E,children:["hidden"!=v?(0,m.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:N,children:[(0,m.tZ)("div",{css:O,children:(0,m.tZ)(b,{url:t})}),(0,m.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:T})]}):null,(0,m.BX)(o.Z,{css:J,summary:(0,m.tZ)("summary",{children:"Show Code"}),children:[n&&c?(0,m.tZ)(p,{collapse:S,setCollapse:k}):null,d?(0,m.BX)(r.Z,{children:[(0,m.tZ)(i.Z,{value:g?g[0]:"Java",label:g?g[0]:B.javaFile,default:!0,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:S?w:f})}),(0,m.tZ)(i.Z,{value:g?g[1]:"CSS",label:g?g[1]:B.cssFile,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,m.tZ)(r.Z,{children:(0,m.tZ)(i.Z,{value:g?g[0]:"Java",label:g?g[0]:B.javaFile,default:!0,children:(0,m.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:S?w:f})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var a=n(7294),s=n(917),r=n(8230),i=n(4387),o=n(6770);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:h,suffix:u}=e;const[m,p]=(0,a.useState)("");(0,a.useEffect)((()=>{u||(u=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=s.iv` - display: inline; - - ${c&&s.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,A=s.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(r.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(i.Z,{css:A,label:"Java API",component:"a",href:m,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})}),"true"!==c&&h&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:m,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>r});n(7294);var a=n(8397),s=n(5893);function r(e){return(0,s.jsx)(s.Fragment,{children:(0,s.jsx)(a.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/e97f9a74.ad6ef626.js b/assets/js/e97f9a74.ad6ef626.js new file mode 100644 index 000000000..a85226e79 --- /dev/null +++ b/assets/js/e97f9a74.ad6ef626.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[9729],{6572:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>c,default:()=>p,frontMatter:()=>l,metadata:()=>d,toc:()=>m});var s=n(5893),r=n(1151),a=n(6957),i=n(7796),o=n(3273);const l={sidebar_position:110,title:"Slider"},c=void 0,d={id:"components/slider",title:"Slider",description:"Upper and Lower Limit",source:"@site/docs/components/slider.md",sourceDirName:"components",slug:"/components/slider",permalink:"/docs/components/slider",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/slider.md",tags:[],version:"current",sidebarPosition:110,frontMatter:{sidebar_position:110,title:"Slider"},sidebar:"documentationSidebar",previous:{title:"RadioButtonGroup",permalink:"/docs/components/radiobuttongroup"},next:{title:"TextArea",permalink:"/docs/components/text-area"}},u={},m=[{value:"Upper and Lower Limit",id:"upper-and-lower-limit",level:3},{value:"Ticks and Labeling",id:"ticks-and-labeling",level:3},{value:"Orientation and Inversion",id:"orientation-and-inversion",level:3},{value:"Themes",id:"themes",level:3},{value:"Parts and CSS Properties",id:"parts-and-css-properties",level:2}];function h(e){const t={admonition:"admonition",code:"code",h2:"h2",h3:"h3",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,r.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/slider/Slider",top:"true"}),"\n",(0,s.jsx)(t.h3,{id:"upper-and-lower-limit",children:"Upper and Lower Limit"}),"\n",(0,s.jsxs)(t.p,{children:["Use the ",(0,s.jsx)(t.code,{children:"setMinimum()"})," and ",(0,s.jsx)(t.code,{children:"setMaximum()"})," methods to determine the upper and lower bound of the slider. Each interval on the slider has a distance of 1, meaning that a slider with maximum 10 and minimum of 0 will have 10 intervals on the slider, whereas a maximum of 100 and minimum of 0 will have 100 intervals. These intervals will evenly distribute on the slider, depending on the height and width dimensions that it has been given by the developer."]}),"\n",(0,s.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderMaxMinDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderMaxMinDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/MinMax.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/minmax_styles.css",javaHighlight:"{17,21}",height:"225px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.h3,{id:"ticks-and-labeling",children:"Ticks and Labeling"}),"\n",(0,s.jsxs)(t.p,{children:["Slider components can be customized to show ticks, or spaces bounded by lines to represent distances. Major ticks will be larger and more noticeable than minor ticks, and both can be configured to appear at the desired intervals. It is also possible to set the slider to snap to the tick values using the ",(0,s.jsx)(t.code,{children:"setSnapToTicks()"})," method."]}),"\n",(0,s.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderLabelDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderLabelDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Label.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/label_styles.css",javaHighlight:"{62-78}",height:"325px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.p,{children:"It is also possible to set labels on a slider. These labs may or may not correspond with ticks that have been set. To set the labels, simply create a map with key value pairs, where the keys are the integer values to be labeled, and the values are the desired label string."}),"\n",(0,s.jsx)(t.admonition,{type:"info",children:(0,s.jsx)(t.p,{children:"If tick snapping is enabled, the slider will only snap to ticked spaces specifically. If a non-ticked value has a label, it will not be snapped to by the slider."})}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderTickDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderTickDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Ticks.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/tick_styles.css",javaHighlight:"{24-31}",height:"225px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.h3,{id:"orientation-and-inversion",children:"Orientation and Inversion"}),"\n",(0,s.jsxs)(t.p,{children:["Sliders can be oriented either horizontally or vertically by using the ",(0,s.jsx)(t.code,{children:"setOrientation()"})," method."]}),"\n",(0,s.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderOrientationDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderOrientationDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Orientation.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/orientation_styles.css",javaHighlight:"{37}",height:"400px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.p,{children:"It is also possible to invert a slider. By default, the minimum value of a vertical slider is at the bottom and the maximum value is at the top. For a horizontal slider, the minimum value is to the left and the maximum value is to the right. The orientation reverses for inverted sliders."}),"\n",(0,s.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderInversionDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderInversionDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Inversion.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/inversion_styles.css",javaHighlight:"{42}",height:"200px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsx)(t.h3,{id:"themes",children:"Themes"}),"\n",(0,s.jsxs)(t.p,{children:["The slider component comes with 6 themes built in for quick styling without the use of CSS. Theming is supported by use of a built-in enum class.\r\nShown below are sliders with each of the supported Themes applied: ",(0,s.jsx)("br",{})]}),"\n",(0,s.jsx)(a.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.sliderdemos.SliderThemesDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/sliderdemos/SliderThemesDemo.java",javaC:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/code_snippets/slider/Themes.txt",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/sliderstyles/theme_styles.css",javaHighlight:"{20,25,30,35,40,45}",height:"620px"}),"\n",(0,s.jsx)("br",{}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsx)(t.tr,{children:(0,s.jsx)(t.th,{children:"Slider Themes"})})}),(0,s.jsx)(t.tbody,{children:(0,s.jsx)(t.tr,{children:(0,s.jsx)(t.td,{children:(0,s.jsxs)("ul",{children:[(0,s.jsx)("li",{children:(0,s.jsx)(t.code,{children:"Slider.Theme.DEFAULT"})}),(0,s.jsx)("li",{children:(0,s.jsx)(t.code,{children:"Slider.Theme.DANGER"})}),(0,s.jsx)("li",{children:(0,s.jsx)(t.code,{children:"Slider.Theme.GRAY"})}),(0,s.jsx)("li",{children:(0,s.jsx)(t.code,{children:"Slider.Theme.INFO"})}),(0,s.jsx)("li",{children:(0,s.jsx)(t.code,{children:"Slider.Theme.SUCCESS"})}),(0,s.jsx)("li",{children:(0,s.jsx)(t.code,{children:"Slider.Theme.WARNING"})})]})})})})]}),"\n",(0,s.jsx)(t.h2,{id:"parts-and-css-properties",children:"Parts and CSS Properties"}),"\n",(0,s.jsx)(i.Z,{tag:n(5731).iR})]})}function p(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var r=s(n(4938)),a=n(5893),i=(0,r.default)((0,a.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=i},2610:(e,t,n)=>{var s=n(4836);t.Z=void 0;var r=s(n(4938)),a=n(5893),i=(0,r.default)((0,a.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=i},5162:(e,t,n)=>{n.d(t,{Z:()=>i});n(7294);var s=n(6010);const r={tabItem:"tabItem_Ymn6"};var a=n(5893);function i(e){let{children:t,hidden:n,className:i}=e;return(0,a.jsx)("div",{role:"tabpanel",className:(0,s.Z)(r.tabItem,i),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var s=n(7294),r=n(6010),a=n(2466),i=n(6550),o=n(469),l=n(1980),c=n(7392),d=n(12);function u(e){return s.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,s.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function m(e){const{values:t,children:n}=e;return(0,s.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:n,attributes:s,default:r}}=e;return{value:t,label:n,attributes:s,default:r}}))}(n);return function(e){const t=(0,c.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function h(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function p(e){let{queryString:t=!1,groupId:n}=e;const r=(0,i.k6)(),a=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,l._X)(a),(0,s.useCallback)((e=>{if(!a)return;const t=new URLSearchParams(r.location.search);t.set(a,e),r.replace({...r.location,search:t.toString()})}),[a,r])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:r}=e,a=m(e),[i,l]=(0,s.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!h({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const s=n.find((e=>e.default))??n[0];if(!s)throw new Error("Unexpected error: 0 tabValues");return s.value}({defaultValue:t,tabValues:a}))),[c,u]=p({queryString:n,groupId:r}),[b,v]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,a]=(0,d.Nk)(n);return[r,(0,s.useCallback)((e=>{n&&a.set(e)}),[n,a])]}({groupId:r}),A=(()=>{const e=c??b;return h({value:e,tabValues:a})?e:null})();(0,o.Z)((()=>{A&&l(A)}),[A]);return{selectedValue:i,selectValue:(0,s.useCallback)((e=>{if(!h({value:e,tabValues:a}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),v(e)}),[u,v,a]),tabValues:a}}var v=n(2389);const A={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=n(5893);function x(e){let{className:t,block:n,selectedValue:s,selectValue:i,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:c}=(0,a.o5)(),d=e=>{const t=e.currentTarget,n=l.indexOf(t),r=o[n].value;r!==s&&(c(t),i(r))},u=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=l.indexOf(e.currentTarget)+1;t=l[n]??l[0];break}case"ArrowLeft":{const n=l.indexOf(e.currentTarget)-1;t=l[n]??l[l.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":n},t),children:o.map((e=>{let{value:t,label:n,attributes:a}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:s===t?0:-1,"aria-selected":s===t,ref:e=>l.push(e),onKeyDown:u,onClick:d,...a,className:(0,r.Z)("tabs__item",A.tabItem,a?.className,{"tabs__item--active":s===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:r}=e;const a=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=a.find((e=>e.props.value===r));return e?(0,s.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:a.map(((e,t)=>(0,s.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function f(e){const t=b(e);return(0,g.jsxs)("div",{className:(0,r.Z)("tabs-container",A.tabList),children:[(0,g.jsx)(x,{...e,...t}),(0,g.jsx)(w,{...e,...t})]})}function j(e){const t=(0,v.Z)();return(0,g.jsx)(f,{...e,children:u(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>v});var s=n(7294),r=n(917),a=n(4866),i=n(5162),o=n(4673),l=n(1750);const c="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var m=n(2610),h=n(5944);function p(e){let{collapse:t,setCollapse:n}=e;const s=r.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,a=r.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,i=r.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,h.tZ)("div",{css:s,children:(0,h.tZ)("button",{css:a,onClick:()=>{n(!t)},children:t?(0,h.tZ)("img",{css:i,src:d,className:"icon-tabler-arrow-bar-up"}):(0,h.tZ)("img",{css:i,src:c,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=r.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,s=r.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,h.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,h.tZ)("img",{css:s,src:u})})}function v(e){let{path:t,javaC:n,javaE:c,cssURL:d,javaHighlight:u,height:v,frame:A,tabs:g}=e;const[x,w]=(0,s.useState)(""),[f,j]=(0,s.useState)(""),[S,y]=(0,s.useState)(""),[D,k]=(0,s.useState)(!(!n||!c)),[Z,C]=(0,s.useState)(!1),[B,L]=(0,s.useState)({}),[E,T]=(0,s.useState)(!1),[J,M]=(0,s.useState)(0),[z,N]=(0,s.useState)(0),[O,H]=(0,s.useState)(25),[V,F]=(0,s.useState)(25),[X,G]=(0,s.useState)(0),[I,Y]=(0,s.useState)(!1),R=(0,s.useRef)(null),U=(0,s.useRef)(null);(0,s.useEffect)((()=>{c&&fetch(c).then((e=>e.text())).then((e=>{j(e);const t=new URL(c).pathname.split("/"),n=t[t.length-1];L((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];L((e=>({...e,cssFile:n})))})),G(R.current.offsetWidth),console.log(X)}),[]);const P=()=>{T(!1),console.log("Stop Resizing")},W=e=>{if(E){const t=e.clientX-J;z+t>X/3&&(R.current.style.width=`${z+t}px`,U.current.style.right=(O-t<25?25:O-t)+"px",F(O-t<25?25:O-t))}},q=r.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==A?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=r.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=r.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${v||"100%"}; + pointer-events: none; + `,_=r.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${Z&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=r.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=r.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=r.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=r.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,h.BX)("div",{css:q,onMouseUp:P,onMouseLeave:P,onMouseMove:W,children:["hidden"!=A?(0,h.BX)("div",{onMouseEnter:()=>{C(!0)},onMouseLeave:()=>C(!1),css:K,children:[(0,h.tZ)("iframe",{onMouseUp:P,loading:"lazy",src:t,css:{...Q,pointerEvents:E?"none":"auto"},ref:R,onMouseMove:W}),(0,h.tZ)("div",{css:_,ref:U,children:(0,h.tZ)(b,{url:t})}),(0,h.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),T(!0),M(e.clientX),N(R.current.offsetWidth),H(V),console.log(U.current.right),console.log("Start Resizing")},children:(0,h.tZ)(m.Z,{})})]}):null,(0,h.BX)(o.Z,{css:ee,summary:(0,h.tZ)("summary",{onClick:()=>Y(!I),children:I?"Hide Code":"Show Code"}),children:[n&&c?(0,h.tZ)(p,{collapse:D,setCollapse:k}):null,d?(0,h.BX)(a.Z,{css:te,children:[(0,h.tZ)(i.Z,{value:g?g[0]:"Java",label:g?g[0]:B.javaFile,default:!0,children:(0,h.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?x:f})}),(0,h.tZ)(i.Z,{value:g?g[1]:"CSS",label:g?g[1]:B.cssFile,children:(0,h.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:S})})]}):(0,h.tZ)(a.Z,{css:te,children:(0,h.tZ)(i.Z,{value:g?g[0]:"Java",label:g?g[0]:B.javaFile,default:!0,children:(0,h.tZ)(l.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:D?x:f})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>c});var s=n(7294),r=n(917),a=n(8230),i=n(4387),o=n(6031);var l=n(5944);function c(e){let{type:t,location:n,top:c,children:d,code:u,suffix:m}=e;const[h,p]=(0,s.useState)("");(0,s.useEffect)((()=>{m||(m=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+m)}),[]);const b=r.iv` + display: inline; + + ${c&&r.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,v=r.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===c&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(a.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(i.Z,{css:v,label:"Java API",component:"a",href:h,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==c&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:h,target:"_blank",children:d})}),"true"!==c&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:h,target:"_blank",children:d})})})]})}},1415:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var s=n(8397),r=n(5893);function a(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(s.Z,{...e})})}},5731:e=>{e.exports=JSON.parse('{"LN":"bbj-app-layout","zx":"bbj-button","Kx":"bbj-cedit","XZ":"bbj-checkbox","gN":"bbj-editbox","iR":"bbj-slider","wb":"bbj-list","Z":"bbj-list-button","Ct":"bbj-list-edit","ko":"bbj-progressbar","EU":"bbj-radio","dy":"bbj-drawer","Vq":"bbj-dialog","JO":"bbj-icon"}')}}]); \ No newline at end of file diff --git a/assets/js/eca5a6fe.442f7984.js b/assets/js/eca5a6fe.cc94af9a.js similarity index 80% rename from assets/js/eca5a6fe.442f7984.js rename to assets/js/eca5a6fe.cc94af9a.js index c124c4202..c439fbec1 100644 --- a/assets/js/eca5a6fe.442f7984.js +++ b/assets/js/eca5a6fe.cc94af9a.js @@ -1,4 +1,4 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1385],{9256:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>m,frontMatter:()=>o,metadata:()=>d,toc:()=>a});var s=n(5893),i=n(1151),l=n(3273);const o={sidebar_position:0,title:"ListSelectEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListSelectEvent"},c=void 0,d={id:"components/events/list-select-event",title:"ListSelectEvent",description:"This event is triggered when the user selects an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/list-select-event.md",sourceDirName:"components/events",slug:"/components/events/ListSelectEvent",permalink:"/docs/components/events/ListSelectEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-select-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListSelectEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListSelectEvent"},sidebar:"documentationSidebar",previous:{title:"ListOpenEvent",permalink:"/docs/components/events/ListOpenEvent"},next:{title:"ModifyEvent",permalink:"/docs/components/events/ModifyEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/ListSelectEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is triggered when the user selects an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListOpenEvent",children:"ListOpenEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListCloseEvent",children:"ListCloseEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ListBox",children:"ListBox"})}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),l=n(8230),o=n(4387),c=n(6770);var d=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:m}=e;const[p,v]=(0,s.useState)("");(0,s.useEffect)((()=>{m||(m=""),v("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+m)}),[]);const x=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1385],{9256:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>r,contentTitle:()=>c,default:()=>v,frontMatter:()=>o,metadata:()=>d,toc:()=>a});var s=n(5893),i=n(1151),l=n(3273);const o={sidebar_position:0,title:"ListSelectEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListSelectEvent"},c=void 0,d={id:"components/events/list-select-event",title:"ListSelectEvent",description:"This event is triggered when the user selects an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen.",source:"@site/docs/components/events/list-select-event.md",sourceDirName:"components/events",slug:"/components/events/ListSelectEvent",permalink:"/docs/components/events/ListSelectEvent",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/events/list-select-event.md",tags:[],version:"current",sidebarPosition:0,frontMatter:{sidebar_position:0,title:"ListSelectEvent",sidebar_class_name:"sidebar--item__hidden",slug:"ListSelectEvent"},sidebar:"documentationSidebar",previous:{title:"ListOpenEvent",permalink:"/docs/components/events/ListOpenEvent"},next:{title:"ModifyEvent",permalink:"/docs/components/events/ModifyEvent"}},r={},a=[{value:"Event Payload",id:"event-payload",level:2},{value:"See Also",id:"see-also",level:2},{value:"Events",id:"events",level:3},{value:"Components",id:"components",level:3}];function h(e){const t={a:"a",code:"code",h2:"h2",h3:"h3",li:"li",p:"p",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,i.a)(),...e.components};return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(l.Z,{type:"engine",location:"org/dwcj/component/event/ListSelectEvent",top:"true"}),"\n",(0,s.jsx)(t.p,{children:"This event is triggered when the user selects an item from a List-based component. It provides essential information about the selected item and allows developers to implement custom actions or responses when an item is chosen."}),"\n",(0,s.jsx)(t.h2,{id:"event-payload",children:"Event Payload"}),"\n",(0,s.jsxs)(t.table,{children:[(0,s.jsx)(t.thead,{children:(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.th,{style:{textAlign:"center"},children:"Method"}),(0,s.jsx)(t.th,{children:"Description"})]})}),(0,s.jsxs)(t.tbody,{children:[(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndex()"})}),(0,s.jsx)(t.td,{children:"Returns the selected index, or -1 if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItem()"})}),(0,s.jsx)(t.td,{children:"Returns the selected item, or null if no item is selected."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedIndices()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected indices, or an empty list if no item is selected. If the list doesn't support multiple selection, the list will contain only one item."})]}),(0,s.jsxs)(t.tr,{children:[(0,s.jsx)(t.td,{style:{textAlign:"center"},children:(0,s.jsx)(t.code,{children:"getSelectedItems()"})}),(0,s.jsx)(t.td,{children:"Returns a list of selected items. If the list doesn't support multiple selection, the list will contain only one item."})]})]})]}),"\n",(0,s.jsx)(t.h2,{id:"see-also",children:"See Also"}),"\n",(0,s.jsx)(t.h3,{id:"events",children:"Events"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./event",children:"Event"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListOpenEvent",children:"ListOpenEvent"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"./ListCloseEvent",children:"ListCloseEvent"})}),"\n"]}),"\n",(0,s.jsx)(t.h3,{id:"components",children:"Components"}),"\n",(0,s.jsxs)(t.ul,{children:["\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ChoiceBox",children:"ChoiceBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ComboBox",children:"ComboBox"})}),"\n",(0,s.jsx)(t.li,{children:(0,s.jsx)(t.a,{href:"../list-components/ListBox",children:"ListBox"})}),"\n"]})]})}function v(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,s.jsx)(t,{...e,children:(0,s.jsx)(h,{...e})}):h(e)}},6031:(e,t,n)=>{var s=n(4836);t.Z=void 0;var i=s(n(4938)),l=n(5893),o=(0,i.default)((0,l.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},3273:(e,t,n)=>{n.d(t,{Z:()=>r});var s=n(7294),i=n(917),l=n(8230),o=n(4387),c=n(6031);var d=n(5944);function r(e){let{type:t,location:n,top:r,children:a,code:h,suffix:v}=e;const[m,p]=(0,s.useState)("");(0,s.useEffect)((()=>{v||(v=""),p("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+v)}),[]);const x=i.iv` display: inline; ${r&&i.iv` @@ -10,7 +10,8 @@ `} `,u=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } - `;return(0,d.BX)(d.HY,{children:["true"===r&&(0,d.tZ)("div",{css:x,children:(0,d.tZ)(l.Z,{title:"JavaDoc",arrow:!0,children:(0,d.tZ)(o.Z,{css:u,label:"Java API",component:"a",href:p,icon:(0,d.tZ)(c.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==r&&!h&&(0,d.tZ)("div",{css:x,children:(0,d.tZ)("a",{href:p,target:"_blank",children:a})}),"true"!==r&&h&&(0,d.tZ)("div",{css:x,children:(0,d.tZ)("code",{children:(0,d.tZ)("a",{href:p,target:"_blank",children:a})})})]})}}}]); \ No newline at end of file + `;return(0,d.BX)(d.HY,{children:["true"===r&&(0,d.tZ)("div",{css:x,children:(0,d.tZ)(l.Z,{title:"JavaDoc",arrow:!0,children:(0,d.tZ)(o.Z,{css:u,label:"Java API",component:"a",href:m,icon:(0,d.tZ)(c.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==r&&!h&&(0,d.tZ)("div",{css:x,children:(0,d.tZ)("a",{href:m,target:"_blank",children:a})}),"true"!==r&&h&&(0,d.tZ)("div",{css:x,children:(0,d.tZ)("code",{children:(0,d.tZ)("a",{href:m,target:"_blank",children:a})})})]})}}}]); \ No newline at end of file diff --git a/assets/js/f3918844.37efd9d0.js b/assets/js/f3918844.37efd9d0.js deleted file mode 100644 index 97037c77d..000000000 --- a/assets/js/f3918844.37efd9d0.js +++ /dev/null @@ -1,100 +0,0 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1030],{8533:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>m,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var n=s(5893),r=s(1151),i=s(6957),a=(s(7796),s(3273)),o=s(2665);const l={sidebar_position:5,title:"PasswordField",slug:"passwordfield"},d=void 0,c={id:"components/fields/password-field",title:"PasswordField",description:"The PasswordField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/password-field.md",sourceDirName:"components/fields",slug:"/components/fields/passwordfield",permalink:"/docs/components/fields/passwordfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/password-field.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"PasswordField",slug:"passwordfield"},sidebar:"documentationSidebar",previous:{title:"NumberField",permalink:"/docs/components/fields/numberfield"},next:{title:"TextField",permalink:"/docs/components/fields/textfield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Password Visibility",id:"password-visibility",level:3},{value:"Placeholder Text",id:"placeholder-text",level:3},{value:"Best Practices",id:"best-practices",level:3}];function p(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",...(0,r.a)(),...e.components};return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(o.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,n.jsx)(o.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,n.jsx)(a.Z,{type:"engine",location:"org/dwcj/component/field/PasswordField",top:"true"}),"\n",(0,n.jsxs)(t.admonition,{type:"success",children:[(0,n.jsx)(t.mdxAdmonitionTitle,{children:(0,n.jsx)(t.strong,{children:"Important"})}),(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"PasswordField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,n.jsx)(t.strong,{children:(0,n.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"PasswordField"}),' component provides a way for the user to securely enter a password. The element is presented as a one-line plain text editor control in which the text is obscured so that it cannot be read, usually by replacing each character with a symbol such as the asterisk ("*") or a dot ("\u2022"). This character will vary depending on the user agent and operating system.']}),"\n",(0,n.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.PasswordFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/PasswordFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,n.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"PasswordField"})," is best used in scenarios where capturing or handling sensitive information, such as passwords or other confidential data, is essential to the user interface or application functionality. Here are some examples of when to use the ",(0,n.jsx)(t.code,{children:"PasswordField"}),":"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"User Authentication and Registration"}),": Password fields are crucial in applications that involve user authentication or registration processes, where secure password input is required."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Secure Form Inputs"}),": When designing forms that require input of sensitive information, such as credit card details or personal identification numbers (PINs), using a ",(0,n.jsx)(t.code,{children:"PasswordField"})," ensures the secure entry of such data."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Account Management and Profile Settings"}),": Password fields are valuable in applications that involve account management or profile settings, allowing users to change or update their passwords securely."]}),"\n"]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,n.jsxs)(t.p,{children:["The ",(0,n.jsx)(t.code,{children:"PasswordField"})," class has three constructors:"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"PasswordField(String label, String password)"}),": Creates a ",(0,n.jsx)(t.code,{children:"PasswordField"})," with a given label and password."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"PasswordField(String label)"}),": Creates a ",(0,n.jsx)(t.code,{children:"PasswordField"})," with a given label but with no pre-populated datetime."]}),"\n",(0,n.jsxs)(t.li,{children:[(0,n.jsx)(t.code,{children:"PasswordField()"}),": Creates a ",(0,n.jsx)(t.code,{children:"PasswordField"})," without any provided information."]}),"\n"]}),"\n",(0,n.jsx)(t.h3,{id:"password-visibility",children:"Password Visibility"}),"\n",(0,n.jsxs)(t.p,{children:["You can use the ",(0,n.jsx)(t.code,{children:"setPasswordReveal"})," method to control the visibility of the password reveal icon. When set to true, the password reveal icon is visible - otherwise, it is hidden. You can check whether the password reveal icon is visible using the ",(0,n.jsx)(t.code,{children:"isPasswordReveal"})," method. It returns true if the password reveal icon is visible; otherwise, it returns false."]}),"\n",(0,n.jsx)(t.h3,{id:"placeholder-text",children:"Placeholder Text"}),"\n",(0,n.jsxs)(t.p,{children:["You can set placeholder text for the ",(0,n.jsx)(t.code,{children:"PasswordField"})," using the ",(0,n.jsx)(t.code,{children:"setPlaceholder"})," method. The placeholder text is displayed when the field is empty, helping to prompt the user to enter appropriate input into the ",(0,n.jsx)(t.code,{children:"PasswordField"}),"."]}),"\n",(0,n.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,n.jsxs)(t.p,{children:["As the ",(0,n.jsx)(t.code,{children:"PasswordField"})," component is often associated with sensitive information, consider the following best practices when using the ",(0,n.jsx)(t.code,{children:"PasswordField"}),":"]}),"\n",(0,n.jsxs)(t.ol,{children:["\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Provide Password Strength Feedback"}),": Incorporate password strength indicators or feedback mechanisms to help users create strong and secure passwords. Evaluate factors such as length, complexity, and a mix of uppercase and lowercase letters, numbers, and special characters."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Ensure Secure Password Storage"}),": Implement proper security measures to handle and store passwords securely in your application. Utilize industry-standard encryption algorithms and never store passwords in plain text."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Handle Password Confirmation"}),": If your application requires users to confirm their password, consider adding a password confirmation field. This helps users avoid errors when entering their password and provides an additional layer of security."]}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Allow Password Reset"}),': If your application involves user accounts, provide an option for users to reset their password. This could be in the form of a "Forgot Password" feature that initiates a password recovery process.']}),"\n"]}),"\n",(0,n.jsxs)(t.li,{children:["\n",(0,n.jsxs)(t.p,{children:[(0,n.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the PasswordField with accessibility in mind, ensuring it meets accessibility standards such as providing proper labels, and compatibility with assistive technologies."]}),"\n"]}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,r.a)(),...e.components};return t?(0,n.jsx)(t,{...e,children:(0,n.jsx)(p,{...e})}):p(e)}},5162:(e,t,s)=>{s.d(t,{Z:()=>a});s(7294);var n=s(6010);const r={tabItem:"tabItem_Ymn6"};var i=s(5893);function a(e){let{children:t,hidden:s,className:a}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,n.Z)(r.tabItem,a),hidden:s,children:t})}},4866:(e,t,s)=>{s.d(t,{Z:()=>j});var n=s(7294),r=s(6010),i=s(2466),a=s(6550),o=s(469),l=s(1980),d=s(7392),c=s(12);function u(e){return n.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,n.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:s}=e;return(0,n.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:s,attributes:n,default:r}}=e;return{value:t,label:s,attributes:n,default:r}}))}(s);return function(e){const t=(0,d.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,s])}function p(e){let{value:t,tabValues:s}=e;return s.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:s}=e;const r=(0,a.k6)(),i=function(e){let{queryString:t=!1,groupId:s}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!s)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:t,groupId:s});return[(0,l._X)(i),(0,n.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(r.location.search);t.set(i,e),r.replace({...r.location,search:t.toString()})}),[i,r])]}function A(e){const{defaultValue:t,queryString:s=!1,groupId:r}=e,i=h(e),[a,l]=(0,n.useState)((()=>function(e){let{defaultValue:t,tabValues:s}=e;if(0===s.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:s}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${s.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const n=s.find((e=>e.default))??s[0];if(!n)throw new Error("Unexpected error: 0 tabValues");return n.value}({defaultValue:t,tabValues:i}))),[d,u]=m({queryString:s,groupId:r}),[A,w]=function(e){let{groupId:t}=e;const s=function(e){return e?`docusaurus.tab.${e}`:null}(t),[r,i]=(0,c.Nk)(s);return[r,(0,n.useCallback)((e=>{s&&i.set(e)}),[s,i])]}({groupId:r}),b=(()=>{const e=d??A;return p({value:e,tabValues:i})?e:null})();(0,o.Z)((()=>{b&&l(b)}),[b]);return{selectedValue:a,selectValue:(0,n.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),w(e)}),[u,w,i]),tabValues:i}}var w=s(2389);const b={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var g=s(5893);function v(e){let{className:t,block:s,selectedValue:n,selectValue:a,tabValues:o}=e;const l=[],{blockElementScrollPositionUntilNextRender:d}=(0,i.o5)(),c=e=>{const t=e.currentTarget,s=l.indexOf(t),r=o[s].value;r!==n&&(d(t),a(r))},u=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const s=l.indexOf(e.currentTarget)+1;t=l[s]??l[0];break}case"ArrowLeft":{const s=l.indexOf(e.currentTarget)-1;t=l[s]??l[l.length-1];break}}t?.focus()};return(0,g.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,r.Z)("tabs",{"tabs--block":s},t),children:o.map((e=>{let{value:t,label:s,attributes:i}=e;return(0,g.jsx)("li",{role:"tab",tabIndex:n===t?0:-1,"aria-selected":n===t,ref:e=>l.push(e),onKeyDown:u,onClick:c,...i,className:(0,r.Z)("tabs__item",b.tabItem,i?.className,{"tabs__item--active":n===t}),children:s??t},t)}))})}function f(e){let{lazy:t,children:s,selectedValue:r}=e;const i=(Array.isArray(s)?s:[s]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===r));return e?(0,n.cloneElement)(e,{className:"margin-top--md"}):null}return(0,g.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,n.cloneElement)(e,{key:t,hidden:e.props.value!==r})))})}function x(e){const t=A(e);return(0,g.jsxs)("div",{className:(0,r.Z)("tabs-container",b.tabList),children:[(0,g.jsx)(v,{...e,...t}),(0,g.jsx)(f,{...e,...t})]})}function j(e){const t=(0,w.Z)();return(0,g.jsx)(x,{...e,children:u(e.children)},String(t))}},6957:(e,t,s)=>{s.d(t,{Z:()=>w});var n=s(7294),r=s(917),i=s(4866),a=s(5162),o=s(4673),l=s(1750);const d="data:image/png;base64,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",c=s.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=s(2949),p=s(5944);function m(e){let{collapse:t,setCollapse:s}=e;const n=r.iv` - display: flex; - justify-content: end; - margin-bottom: -30px; - background-color: transparent; - `,i=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - margin-right: 5px; - background-color: transparent; - `,a=r.iv` - filter: invert(var(--inversion-percentage)); - `;return(0,p.tZ)("div",{css:n,children:(0,p.tZ)("button",{css:i,onClick:()=>{s(!t)},children:t?(0,p.tZ)("img",{css:a,src:c,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:a,src:d,className:"icon-tabler-arrow-bar-down"})})})}function A(e){let{url:t}=e;const s=r.iv` - position: relative; - cursor: pointer; - z-index: 10; - height: 35px; - width: 35px; - border: none; - background-color: none; - justify-self: flex-end; - /* margin-right: 5px; */ - margin-top: -5px; - margin-bottom: -20px; - background-color: transparent; - - - `,n=r.iv` - filter: invert(var(--inversion-percentage)); - ::before{ - mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ - opacity: 0.5; - } - `;return(0,p.tZ)("button",{css:s,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:n,src:u})})}function w(e){let{path:t,javaC:s,javaE:d,cssURL:c,javaHighlight:u,height:w,frame:b,tabs:g}=e;const[v,f]=(0,n.useState)(""),[x,j]=(0,n.useState)(""),[y,D]=(0,n.useState)(""),[B,Z]=(0,n.useState)(!(!s||!d)),[F,k]=(0,n.useState)(!1),[P,S]=(0,n.useState)({});(0,n.useEffect)((()=>{d&&fetch(d).then((e=>e.text())).then((e=>{j(e);const t=new URL(d).pathname.split("/"),s=t[t.length-1];S((e=>({...e,javaFile:s})))})),s&&fetch(s).then((e=>e.text())).then((e=>{f(e)})),c&&fetch(c).then((e=>e.text())).then((e=>{D(e);const t=new URL(c).pathname.split("/"),s=t[t.length-1];S((e=>({...e,cssFile:s})))}))}),[]);const C=r.iv` - display: flex; - flex-direction: column; - background-color: var(--code-display-color); - width: 100%; - margin-bottom: 16px; - padding: ${"hidden"==b?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,E=r.iv` - min-height: 100px; - height: 100%; - width: 100%; - height: ${w}; - `,L=r.iv` - border: none; - box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; - - .tabs{ - margin-top: 20px; - } - - summary{ - display: flex; - width: 100%; - justify-content: center; - margin: 0; - font-weight: bold; - ::before{ - left: auto; - margin-left: -100px; - } - } - - `,T=r.iv` - width: 100%; - `,N=r.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${F&&"opacity: 1;"}; - - `;return(0,p.BX)("div",{css:C,children:["hidden"!=b?(0,p.BX)("div",{onMouseEnter:()=>{k(!0)},onMouseLeave:()=>k(!1),css:T,children:[(0,p.tZ)("div",{css:N,children:(0,p.tZ)(A,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,h.I)().colorMode?"dark":"light"),css:E})]}):null,(0,p.BX)(o.Z,{css:L,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[s&&d?(0,p.tZ)(m,{collapse:B,setCollapse:Z}):null,c?(0,p.BX)(i.Z,{children:[(0,p.tZ)(a.Z,{value:g?g[0]:"Java",label:g?g[0]:P.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?v:x})}),(0,p.tZ)(a.Z,{value:g?g[1]:"CSS",label:g?g[1]:P.cssFile,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(i.Z,{children:(0,p.tZ)(a.Z,{value:g?g[0]:"Java",label:g?g[0]:P.javaFile,default:!0,children:(0,p.tZ)(l.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:B?v:x})})})]})]})}},3273:(e,t,s)=>{s.d(t,{Z:()=>d});var n=s(7294),r=s(917),i=s(8230),a=s(4387),o=s(6770);var l=s(5944);function d(e){let{type:t,location:s,top:d,children:c,code:u,suffix:h}=e;const[p,m]=(0,n.useState)("");(0,n.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+s+".html"+h)}),[]);const A=r.iv` - display: inline; - - ${d&&r.iv` - width: 100%; - display: flex; - justify-content: flex-end; - margin-top: -33px; - margin-bottom: 25px; - `} - `,w=r.iv` - background-color: #0063CC; - :hover{ - color: white; - } - `;return(0,l.BX)(l.HY,{children:["true"===d&&(0,l.tZ)("div",{css:A,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(a.Z,{css:w,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(o.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!u&&(0,l.tZ)("div",{css:A,children:(0,l.tZ)("a",{href:p,target:"_blank",children:c})}),"true"!==d&&u&&(0,l.tZ)("div",{css:A,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:c})})})]})}},1415:(e,t,s)=>{s.d(t,{Z:()=>i});s(7294);var n=s(8397),r=s(5893);function i(e){return(0,r.jsx)(r.Fragment,{children:(0,r.jsx)(n.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/f3918844.db23346c.js b/assets/js/f3918844.db23346c.js new file mode 100644 index 000000000..321871430 --- /dev/null +++ b/assets/js/f3918844.db23346c.js @@ -0,0 +1,146 @@ +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[1030],{8533:(e,t,s)=>{s.r(t),s.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>m,frontMatter:()=>l,metadata:()=>c,toc:()=>h});var r=s(5893),n=s(1151),i=s(6957),o=(s(7796),s(3273)),a=s(2665);const l={sidebar_position:5,title:"PasswordField",slug:"passwordfield"},d=void 0,c={id:"components/fields/password-field",title:"PasswordField",description:"The PasswordField class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the Field documentation page for an overview of Field properties, events, and other important information.",source:"@site/docs/components/fields/password-field.md",sourceDirName:"components/fields",slug:"/components/fields/passwordfield",permalink:"/docs/components/fields/passwordfield",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/fields/password-field.md",tags:[],version:"current",sidebarPosition:5,frontMatter:{sidebar_position:5,title:"PasswordField",slug:"passwordfield"},sidebar:"documentationSidebar",previous:{title:"NumberField",permalink:"/docs/components/fields/numberfield"},next:{title:"TextField",permalink:"/docs/components/fields/textfield"}},u={},h=[{value:"Usages",id:"usages",level:3},{value:"Constructors",id:"constructors",level:3},{value:"Password Visibility",id:"password-visibility",level:3},{value:"Placeholder Text",id:"placeholder-text",level:3},{value:"Best Practices",id:"best-practices",level:3}];function p(e){const t={a:"a",admonition:"admonition",code:"code",h3:"h3",li:"li",mdxAdmonitionTitle:"mdxAdmonitionTitle",ol:"ol",p:"p",strong:"strong",...(0,n.a)(),...e.components};return(0,r.jsxs)(r.Fragment,{children:[(0,r.jsx)(a.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,r.jsx)(a.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-editbox",href:"https://basishub.github.io/basis-next/#/web-components/bbj-editbox",clickable:!1,iconName:"code"}),"\n",(0,r.jsx)(o.Z,{type:"engine",location:"org/dwcj/component/field/PasswordField",top:"true"}),"\n",(0,r.jsxs)(t.admonition,{type:"success",children:[(0,r.jsx)(t.mdxAdmonitionTitle,{children:(0,r.jsx)(t.strong,{children:"Important"})}),(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"PasswordField"})," class is a Field component, and as such shares all of the commonalities belonging to a Field. Please refer to the ",(0,r.jsx)(t.strong,{children:(0,r.jsx)(t.a,{href:"/docs/components/fields",children:"Field documentation page"})})," for an overview of Field properties, events, and other important information."]})]}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"PasswordField"}),' component provides a way for the user to securely enter a password. The element is presented as a one-line plain text editor control in which the text is obscured so that it cannot be read, usually by replacing each character with a symbol such as the asterisk ("*") or a dot ("\u2022"). This character will vary depending on the user agent and operating system.']}),"\n",(0,r.jsx)(i.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.fielddemos.PasswordFieldDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/fielddemos/PasswordFieldDemo.java",javaC:"",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/fieldstyles/date_field_styles.css"}),"\n",(0,r.jsx)(t.h3,{id:"usages",children:"Usages"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"PasswordField"})," is best used in scenarios where capturing or handling sensitive information, such as passwords or other confidential data, is essential to the user interface or application functionality. Here are some examples of when to use the ",(0,r.jsx)(t.code,{children:"PasswordField"}),":"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"User Authentication and Registration"}),": Password fields are crucial in applications that involve user authentication or registration processes, where secure password input is required."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Secure Form Inputs"}),": When designing forms that require input of sensitive information, such as credit card details or personal identification numbers (PINs), using a ",(0,r.jsx)(t.code,{children:"PasswordField"})," ensures the secure entry of such data."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Account Management and Profile Settings"}),": Password fields are valuable in applications that involve account management or profile settings, allowing users to change or update their passwords securely."]}),"\n"]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"constructors",children:"Constructors"}),"\n",(0,r.jsxs)(t.p,{children:["The ",(0,r.jsx)(t.code,{children:"PasswordField"})," class has three constructors:"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"PasswordField(String label, String password)"}),": Creates a ",(0,r.jsx)(t.code,{children:"PasswordField"})," with a given label and password."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"PasswordField(String label)"}),": Creates a ",(0,r.jsx)(t.code,{children:"PasswordField"})," with a given label but with no pre-populated datetime."]}),"\n",(0,r.jsxs)(t.li,{children:[(0,r.jsx)(t.code,{children:"PasswordField()"}),": Creates a ",(0,r.jsx)(t.code,{children:"PasswordField"})," without any provided information."]}),"\n"]}),"\n",(0,r.jsx)(t.h3,{id:"password-visibility",children:"Password Visibility"}),"\n",(0,r.jsxs)(t.p,{children:["You can use the ",(0,r.jsx)(t.code,{children:"setPasswordReveal"})," method to control the visibility of the password reveal icon. When set to true, the password reveal icon is visible - otherwise, it is hidden. You can check whether the password reveal icon is visible using the ",(0,r.jsx)(t.code,{children:"isPasswordReveal"})," method. It returns true if the password reveal icon is visible; otherwise, it returns false."]}),"\n",(0,r.jsx)(t.h3,{id:"placeholder-text",children:"Placeholder Text"}),"\n",(0,r.jsxs)(t.p,{children:["You can set placeholder text for the ",(0,r.jsx)(t.code,{children:"PasswordField"})," using the ",(0,r.jsx)(t.code,{children:"setPlaceholder"})," method. The placeholder text is displayed when the field is empty, helping to prompt the user to enter appropriate input into the ",(0,r.jsx)(t.code,{children:"PasswordField"}),"."]}),"\n",(0,r.jsx)(t.h3,{id:"best-practices",children:"Best Practices"}),"\n",(0,r.jsxs)(t.p,{children:["As the ",(0,r.jsx)(t.code,{children:"PasswordField"})," component is often associated with sensitive information, consider the following best practices when using the ",(0,r.jsx)(t.code,{children:"PasswordField"}),":"]}),"\n",(0,r.jsxs)(t.ol,{children:["\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Provide Password Strength Feedback"}),": Incorporate password strength indicators or feedback mechanisms to help users create strong and secure passwords. Evaluate factors such as length, complexity, and a mix of uppercase and lowercase letters, numbers, and special characters."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Ensure Secure Password Storage"}),": Implement proper security measures to handle and store passwords securely in your application. Utilize industry-standard encryption algorithms and never store passwords in plain text."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Handle Password Confirmation"}),": If your application requires users to confirm their password, consider adding a password confirmation field. This helps users avoid errors when entering their password and provides an additional layer of security."]}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Allow Password Reset"}),': If your application involves user accounts, provide an option for users to reset their password. This could be in the form of a "Forgot Password" feature that initiates a password recovery process.']}),"\n"]}),"\n",(0,r.jsxs)(t.li,{children:["\n",(0,r.jsxs)(t.p,{children:[(0,r.jsx)(t.strong,{children:"Consider Accessibility"}),": Utilize the PasswordField with accessibility in mind, ensuring it meets accessibility standards such as providing proper labels, and compatibility with assistive technologies."]}),"\n"]}),"\n"]})]})}function m(e={}){const{wrapper:t}={...(0,n.a)(),...e.components};return t?(0,r.jsx)(t,{...e,children:(0,r.jsx)(p,{...e})}):p(e)}},6031:(e,t,s)=>{var r=s(4836);t.Z=void 0;var n=r(s(4938)),i=s(5893),o=(0,n.default)((0,i.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=o},2610:(e,t,s)=>{var r=s(4836);t.Z=void 0;var n=r(s(4938)),i=s(5893),o=(0,n.default)((0,i.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=o},5162:(e,t,s)=>{s.d(t,{Z:()=>o});s(7294);var r=s(6010);const n={tabItem:"tabItem_Ymn6"};var i=s(5893);function o(e){let{children:t,hidden:s,className:o}=e;return(0,i.jsx)("div",{role:"tabpanel",className:(0,r.Z)(n.tabItem,o),hidden:s,children:t})}},4866:(e,t,s)=>{s.d(t,{Z:()=>y});var r=s(7294),n=s(6010),i=s(2466),o=s(6550),a=s(469),l=s(1980),d=s(7392),c=s(12);function u(e){return r.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,r.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function h(e){const{values:t,children:s}=e;return(0,r.useMemo)((()=>{const e=t??function(e){return u(e).map((e=>{let{props:{value:t,label:s,attributes:r,default:n}}=e;return{value:t,label:s,attributes:r,default:n}}))}(s);return function(e){const t=(0,d.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,s])}function p(e){let{value:t,tabValues:s}=e;return s.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:s}=e;const n=(0,o.k6)(),i=function(e){let{queryString:t=!1,groupId:s}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!s)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return s??null}({queryString:t,groupId:s});return[(0,l._X)(i),(0,r.useCallback)((e=>{if(!i)return;const t=new URLSearchParams(n.location.search);t.set(i,e),n.replace({...n.location,search:t.toString()})}),[i,n])]}function b(e){const{defaultValue:t,queryString:s=!1,groupId:n}=e,i=h(e),[o,l]=(0,r.useState)((()=>function(e){let{defaultValue:t,tabValues:s}=e;if(0===s.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:s}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${s.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const r=s.find((e=>e.default))??s[0];if(!r)throw new Error("Unexpected error: 0 tabValues");return r.value}({defaultValue:t,tabValues:i}))),[d,u]=m({queryString:s,groupId:n}),[b,A]=function(e){let{groupId:t}=e;const s=function(e){return e?`docusaurus.tab.${e}`:null}(t),[n,i]=(0,c.Nk)(s);return[n,(0,r.useCallback)((e=>{s&&i.set(e)}),[s,i])]}({groupId:n}),g=(()=>{const e=d??b;return p({value:e,tabValues:i})?e:null})();(0,a.Z)((()=>{g&&l(g)}),[g]);return{selectedValue:o,selectValue:(0,r.useCallback)((e=>{if(!p({value:e,tabValues:i}))throw new Error(`Can't select invalid tab value=${e}`);l(e),u(e),A(e)}),[u,A,i]),tabValues:i}}var A=s(2389);const g={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var v=s(5893);function w(e){let{className:t,block:s,selectedValue:r,selectValue:o,tabValues:a}=e;const l=[],{blockElementScrollPositionUntilNextRender:d}=(0,i.o5)(),c=e=>{const t=e.currentTarget,s=l.indexOf(t),n=a[s].value;n!==r&&(d(t),o(n))},u=e=>{let t=null;switch(e.key){case"Enter":c(e);break;case"ArrowRight":{const s=l.indexOf(e.currentTarget)+1;t=l[s]??l[0];break}case"ArrowLeft":{const s=l.indexOf(e.currentTarget)-1;t=l[s]??l[l.length-1];break}}t?.focus()};return(0,v.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,n.Z)("tabs",{"tabs--block":s},t),children:a.map((e=>{let{value:t,label:s,attributes:i}=e;return(0,v.jsx)("li",{role:"tab",tabIndex:r===t?0:-1,"aria-selected":r===t,ref:e=>l.push(e),onKeyDown:u,onClick:c,...i,className:(0,n.Z)("tabs__item",g.tabItem,i?.className,{"tabs__item--active":r===t}),children:s??t},t)}))})}function f(e){let{lazy:t,children:s,selectedValue:n}=e;const i=(Array.isArray(s)?s:[s]).filter(Boolean);if(t){const e=i.find((e=>e.props.value===n));return e?(0,r.cloneElement)(e,{className:"margin-top--md"}):null}return(0,v.jsx)("div",{className:"margin-top--md",children:i.map(((e,t)=>(0,r.cloneElement)(e,{key:t,hidden:e.props.value!==n})))})}function x(e){const t=b(e);return(0,v.jsxs)("div",{className:(0,n.Z)("tabs-container",g.tabList),children:[(0,v.jsx)(w,{...e,...t}),(0,v.jsx)(f,{...e,...t})]})}function y(e){const t=(0,A.Z)();return(0,v.jsx)(x,{...e,children:u(e.children)},String(t))}},6957:(e,t,s)=>{s.d(t,{Z:()=>A});var r=s(7294),n=s(917),i=s(4866),o=s(5162),a=s(4673),l=s(1750);const d="data:image/png;base64,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",c=s.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",u="data:image/png;base64,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";var h=s(2610),p=s(5944);function m(e){let{collapse:t,setCollapse:s}=e;const r=n.iv` + display: flex; + justify-content: end; + align-items: flex-end; + background-color: transparent; + margin-bottom: -10px; + `,i=n.iv` + /* position: absolute; + right: 0; */ + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; + `,o=n.iv` + filter: invert(var(--inversion-percentage)); + `;return(0,p.tZ)("div",{css:r,children:(0,p.tZ)("button",{css:i,onClick:()=>{s(!t)},children:t?(0,p.tZ)("img",{css:o,src:c,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:o,src:d,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const s=n.iv` + position: relative; + cursor: pointer; + z-index: 10; + height: 35px; + width: 35px; + border: none; + background-color: none; + justify-self: flex-end; + margin-top: -5px; + margin-bottom: -20px; + background-color: transparent; + + + `,r=n.iv` + filter: invert(var(--inversion-percentage)); + ::before{ + mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ + opacity: 0.5; + } + `;return(0,p.tZ)("button",{css:s,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:r,src:u})})}function A(e){let{path:t,javaC:s,javaE:d,cssURL:c,javaHighlight:u,height:A,frame:g,tabs:v}=e;const[w,f]=(0,r.useState)(""),[x,y]=(0,r.useState)(""),[j,D]=(0,r.useState)(""),[Z,B]=(0,r.useState)(!(!s||!d)),[k,S]=(0,r.useState)(!1),[F,C]=(0,r.useState)({}),[P,E]=(0,r.useState)(!1),[L,T]=(0,r.useState)(0),[z,M]=(0,r.useState)(0),[V,N]=(0,r.useState)(25),[H,O]=(0,r.useState)(25),[X,Y]=(0,r.useState)(0),[J,G]=(0,r.useState)(!1),I=(0,r.useRef)(null),W=(0,r.useRef)(null);(0,r.useEffect)((()=>{d&&fetch(d).then((e=>e.text())).then((e=>{y(e);const t=new URL(d).pathname.split("/"),s=t[t.length-1];C((e=>({...e,javaFile:s})))})),s&&fetch(s).then((e=>e.text())).then((e=>{f(e)})),c&&fetch(c).then((e=>e.text())).then((e=>{D(e);const t=new URL(c).pathname.split("/"),s=t[t.length-1];C((e=>({...e,cssFile:s})))})),Y(I.current.offsetWidth),console.log(X)}),[]);const R=()=>{E(!1),console.log("Stop Resizing")},q=e=>{if(P){const t=e.clientX-L;z+t>X/3&&(I.current.style.width=`${z+t}px`,W.current.style.right=(V-t<25?25:V-t)+"px",O(V-t<25?25:V-t))}},U=n.iv` + display: flex; + flex-direction: column; + width: 100%; + margin-bottom: 16px; + /* padding: ${"hidden"==g?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=n.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=n.iv` + min-height: 100px; + height: 100%; + width: 100%; + height: ${A||"100%"}; + pointer-events: none; + `,_=n.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${k&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=n.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=n.iv` + box-shadow: none; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; + + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px + } + + summary{ + display: flex; + width: 100%; + justify-content: center; + margin: 10px 0; + font-weight: bold; + ::before{ + left: auto; + margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) + } + } + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=n.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } + + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,se=n.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:U,onMouseUp:R,onMouseLeave:R,onMouseMove:q,children:["hidden"!=g?(0,p.BX)("div",{onMouseEnter:()=>{S(!0)},onMouseLeave:()=>S(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:R,loading:"lazy",src:t,css:{...Q,pointerEvents:P?"none":"auto"},ref:I,onMouseMove:q}),(0,p.tZ)("div",{css:_,ref:W,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),E(!0),T(e.clientX),M(I.current.offsetWidth),N(H),console.log(W.current.right),console.log("Start Resizing")},children:(0,p.tZ)(h.Z,{})})]}):null,(0,p.BX)(a.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>G(!J),children:J?"Hide Code":"Show Code"}),children:[s&&d?(0,p.tZ)(m,{collapse:Z,setCollapse:B}):null,c?(0,p.BX)(i.Z,{css:te,children:[(0,p.tZ)(o.Z,{value:v?v[0]:"Java",label:v?v[0]:F.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:se,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:Z?w:x})}),(0,p.tZ)(o.Z,{value:v?v[1]:"CSS",label:v?v[1]:F.cssFile,children:(0,p.tZ)(l.Z,{css:se,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:j})})]}):(0,p.tZ)(i.Z,{css:te,children:(0,p.tZ)(o.Z,{value:v?v[0]:"Java",label:v?v[0]:F.javaFile,default:!0,children:(0,p.tZ)(l.Z,{css:se,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:u,children:Z?w:x})})})]})]})}},3273:(e,t,s)=>{s.d(t,{Z:()=>d});var r=s(7294),n=s(917),i=s(8230),o=s(4387),a=s(6031);var l=s(5944);function d(e){let{type:t,location:s,top:d,children:c,code:u,suffix:h}=e;const[p,m]=(0,r.useState)("");(0,r.useEffect)((()=>{h||(h=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+s+".html"+h)}),[]);const b=n.iv` + display: inline; + + ${d&&n.iv` + width: 100%; + display: flex; + justify-content: flex-end; + margin-top: -33px; + margin-bottom: 25px; + `} + `,A=n.iv` + background-color: #0063CC; + padding: 0 0 0 5px; + :hover{ + color: white; + } + `;return(0,l.BX)(l.HY,{children:["true"===d&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)(i.Z,{title:"JavaDoc",arrow:!0,children:(0,l.tZ)(o.Z,{css:A,label:"Java API",component:"a",href:p,icon:(0,l.tZ)(a.Z,{}),clickable:!0,color:"primary",target:"_blank"})})}),"true"!==d&&!u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("a",{href:p,target:"_blank",children:c})}),"true"!==d&&u&&(0,l.tZ)("div",{css:b,children:(0,l.tZ)("code",{children:(0,l.tZ)("a",{href:p,target:"_blank",children:c})})})]})}},1415:(e,t,s)=>{s.d(t,{Z:()=>i});s(7294);var r=s(8397),n=s(5893);function i(e){return(0,n.jsx)(n.Fragment,{children:(0,n.jsx)(r.Z,{...e})})}}}]); \ No newline at end of file diff --git a/assets/js/ff6d8346.02d0e713.js b/assets/js/ff6d8346.312a5462.js similarity index 59% rename from assets/js/ff6d8346.02d0e713.js rename to assets/js/ff6d8346.312a5462.js index b962185f4..3c4f634a7 100644 --- a/assets/js/ff6d8346.02d0e713.js +++ b/assets/js/ff6d8346.312a5462.js @@ -1,10 +1,12 @@ -"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2529],{353:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>l,metadata:()=>h,toc:()=>p});var o=n(5893),i=n(1151),s=n(6957),a=n(7796),r=n(3273),c=n(2665);const l={sidebar_position:100,title:"RadioButton",slug:"radiobutton"},d=void 0,h={id:"components/radio-button",title:"RadioButton",description:"The RadioButton class creates an object that can be selected or deselected, and which displays its state to the user. By convention, only one radio button in a group can be selected at a time. Radio buttons are commonly used when mutually exclusive options are available, allowing the user to choose a single option from a set of choices.",source:"@site/docs/components/radio-button.md",sourceDirName:"components",slug:"/components/radiobutton",permalink:"/docs/components/radiobutton",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/radio-button.md",tags:[],version:"current",sidebarPosition:100,frontMatter:{sidebar_position:100,title:"RadioButton",slug:"radiobutton"},sidebar:"documentationSidebar",previous:{title:"ProgressBar",permalink:"/docs/components/progress-bar"},next:{title:"RadioButtonGroup",permalink:"/docs/components/radiobuttongroup"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Text and Positioning",id:"text-and-positioning",level:2},{value:"Activation",id:"activation",level:2},{value:"Manual Activation",id:"manual-activation",level:3},{value:"Auto Activation",id:"auto-activation",level:3},{value:"Switches",id:"switches",level:2},{value:"Events",id:"events",level:2},{value:"Adding Events",id:"adding-events",level:3},{value:"Removing Events",id:"removing-events",level:3},{value:"Styling",id:"styling",level:2},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2},{value:"Dependencies",id:"dependencies-1",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(c.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-radio",href:"https://basishub.github.io/basis-next/#/dwc/BBjRadioButton",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/optioninput/RadioButton",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," class creates an object that can be selected or deselected, and which displays its state to the user. By convention, only one radio button in a group can be selected at a time. Radio buttons are commonly used when mutually exclusive options are available, allowing the user to choose a single option from a set of choices."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonGroupDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonGroupDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"200px"}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," is best used in scenarios where users need to make a single selection from a predefined set of options. Here are some examples of when to use the ",(0,o.jsx)(t.code,{children:"RadioButton"}),":"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Survey or Questionnaires"}),": Radio buttons are commonly used in surveys or questionnaires where users need to select a single response from a list of options."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Preference Settings"}),": Applications that involve preference or settings panels often use Radio buttons to allow users to choose a single option from a set of mutually exclusive choices."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Filtering or Sorting"}),": A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can be used in applications that require users to select a single filter or sorting option, such as sorting a list of items by different criteria."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," class has three constructors:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButton()"}),": Creates an empty ",(0,o.jsx)(t.code,{children:"RadioButton"})," in the unchecked state."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButton(String text)"}),": Creates a ",(0,o.jsx)(t.code,{children:"RadioButton"})," with an attached label in the unchecked state."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButton(String text, boolean checked)"})," Creates a ",(0,o.jsx)(t.code,{children:"RadioButton"})," with an attached label in either the checked or unchecked state, based on the boolean passed (",(0,o.jsx)(t.code,{children:"true"})," for checked, ",(0,o.jsx)(t.code,{children:"false"})," for unchecked)."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Here is an example of how to create a ",(0,o.jsx)(t.code,{children:"RadioButton"})," object:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:'RadioButton myRadioButton = new RadioButton("RadioButton Text");\n'})}),"\n",(0,o.jsx)(t.h2,{id:"text-and-positioning",children:"Text and Positioning"}),"\n",(0,o.jsxs)(t.p,{children:["Radio buttons can utilize the ",(0,o.jsx)(t.code,{children:"setText(String text)"})," method, which will be positioned near the radio button according to the built-in ",(0,o.jsx)(t.code,{children:"Position"}),".\r\nRadio buttons have built-in functionality to set text to be displayed either to the right or left of the component. By default, the text will be displayed to the right of the component. Positioning of the horizontal text is supported by use of the ",(0,o.jsx)(t.code,{children:"HorizontalAlignment"})," enum class. Show below are the two settings: ",(0,o.jsx)("br",{})]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonText",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonText.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"100px"}),"\n",(0,o.jsx)(t.h2,{id:"activation",children:"Activation"}),"\n",(0,o.jsxs)(t.p,{children:["Radio buttons can be controlled using two types of activation: manual activation and auto activation. These dictate when a ",(0,o.jsx)(t.code,{children:"RadioButton"})," will change its state."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonActivation",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonActivation.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"175px"}),"\n",(0,o.jsx)(t.h3,{id:"manual-activation",children:"Manual Activation"}),"\n",(0,o.jsx)(t.p,{children:"When a radio button is set to manual activation, it means that it will not be automatically checked when it gains focus.\r\nManual activation allows the user to navigate through the radio button options using the keyboard or other input methods without immediately changing the selected option."}),"\n",(0,o.jsx)(t.p,{children:"If the radio button is part of a group, selecting a different radio button within the group will automatically uncheck the previously selected radio button.\r\nManual activation provides finer control over the selection process, requiring an explicit action from the user to change the selected option."}),"\n",(0,o.jsx)(t.h3,{id:"auto-activation",children:"Auto Activation"}),"\n",(0,o.jsxs)(t.p,{children:["Automatic activation is the default state for a ",(0,o.jsx)(t.code,{children:"RadioButton"}),", and means that the button will be checked on whenever it gains focus for any reason. This means that\r\nnot only clicking, but auto-focus or tab navigation will also check the button."]}),"\n",(0,o.jsx)(t.admonition,{title:"Note",type:"tip",children:(0,o.jsxs)(t.p,{children:["The default activation value is ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.code,{children:"MANUAL"})})," activation."]})}),"\n",(0,o.jsx)(t.h2,{id:"switches",children:"Switches"}),"\n",(0,o.jsxs)(t.p,{children:["A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can also be set to display as a switch provides which provides alternative visual representation for selecting options. Normally, radio buttons are circular or rounded in shape and indicate a single choice from a group of options."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonSwitch",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonSwitch.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"120px"}),"\n",(0,o.jsxs)(t.p,{children:["A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can be transformed into a switch that resembles a toggle switch or slider using one of two methods:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"The Factory Method"}),": The RadioButton can be created using the following Factory methods:"]}),"\n"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"Switch(String text, boolean checked);\r\nSwitch(String text);\r\nSwitch();\n"})}),"\n",(0,o.jsxs)(t.p,{children:["These methods mirror a ",(0,o.jsx)(t.code,{children:"RadioButton"})," constructor, and will create the component with the switch property already toggled on."]}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Setter"}),": It is also possible to change an already existing ",(0,o.jsx)(t.code,{children:"RadioButton"})," into a switch by using the appropriate setter:"]}),"\n"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.setSwitch(true);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["When a ",(0,o.jsx)(t.code,{children:"RadioButton"})," is displayed as a switch, it typically appears as a oblong shape with an indicator that can be toggled on or off. This visual representation gives users a more intuitive and familiar interface, similar to physical switches commonly found in electronic devices."]}),"\n",(0,o.jsxs)(t.p,{children:["Setting a ",(0,o.jsx)(t.code,{children:"RadioButton"})," to display as a switch can improve user experience by providing a clear and straightforward way to select options. It can enhance the visual appeal and usability of forms, settings panels, or any other interface element that requires multiple choices."]}),"\n",(0,o.jsx)(t.admonition,{type:"info",children:(0,o.jsxs)(t.p,{children:["The behavior of the ",(0,o.jsx)(t.code,{children:"RadioButton"})," remains the same when being rendered as a Switch, meaning only one option can be selected at a time within a group. The switch-like appearance is a visual transformation which retains the functionality of a ",(0,o.jsx)(t.code,{children:"RadioButton"}),"."]})}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"BlurEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"FocusEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"CheckedEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes checked. It occurs when the user interacts with a checkbox element by clicking or tapping on it, causing the checkbox to transition from an unchecked state to a checked state."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"UncheckedEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes unchecked. It occurs when the user interacts with a checkbox element by clicking or tapping on it, causing the checkbox to transition from an checked state to a unchecked state."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"ToggleEvent"})}),(0,o.jsx)(t.td,{children:'A ToggleEvent fires a CheckBox or a similar UI element changes its state between "on" and "off" or "active" and "inactive." It represents the action of toggling a setting, feature, or state of an element such as a CheckBox or Radio Button.'})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"MouseEnterEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of an element. It occurs when the user moves the mouse pointer over the specified element, indicating that the mouse has entered its area."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"MouseExitEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of an element. It occurs when the user moves the mouse pointer out of the boundaries of the specified element, indicating that the mouse has exited its area."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"RightMouseDownEvent"})}),(0,o.jsx)(t.td,{children:"An event refers to an event that is triggered when the user presses the right mouse button while the cursor is over an element. It allows you to capture the specific action of the user's right mouse button being pressed down within the boundaries of the element."})]})]})]}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsx)(t.h3,{id:"adding-events",children:"Adding Events"}),"\n",(0,o.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.addCheckedListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,o.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.onChecked( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,o.jsx)(t.h3,{id:"removing-events",children:"Removing Events"}),"\n",(0,o.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.removeCheckedListener(listener);\n"})}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,o.jsxs)(t.p,{children:["There are five checkbox expanses that are supported which allow for quick styling without using CSS.\r\nExpanses are supported by use of the ",(0,o.jsx)(t.code,{children:"Expanse"})," enum class. Below are the expanses supported for the checkbox component: ",(0,o.jsx)("br",{})]}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsx)(t.p,{children:"These are the various parts of the shadow DOM for the component, which will be required when styling via CSS is desired."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).EU,table:"parts"}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).EU,table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).EU,table:"reflects"}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(a.Z,{tag:"bbj-radio",table:"dependencies"}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsx)(t.p,{children:"To ensure an optimal user experience when using the RadioButton component, consider the following best practices:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Clearly Label Options"}),": Provide clear and concise text for each ",(0,o.jsx)(t.code,{children:"RadioButton"})," option to accurately describe the choice. Text should be easy to understand and distinguish from one another."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Group Radio buttons"}),": Group related Radio buttons together to indicate their association. This helps users understand that only one option can be selected within a specific group. This can be done effectively using the ",(0,o.jsx)(t.a,{href:"/docs/components/radiobuttongroup",children:(0,o.jsx)(t.code,{children:"RadioButtonGroup"})})," component."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Provide Default Selection"}),": If applicable, consider providing a default selection for Radio buttons to guide users when they first encounter the options. The default selection should align with the most common or preferred choice."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"dependencies-1",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(a.Z,{tag:"bbj-drawer",table:"dependencies"})]})}function b(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},5162:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var o=n(6010);const i={tabItem:"tabItem_Ymn6"};var s=n(5893);function a(e){let{children:t,hidden:n,className:a}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,o.Z)(i.tabItem,a),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),i=n(6010),s=n(2466),a=n(6550),r=n(469),c=n(1980),l=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:i}}=e;return{value:t,label:n,attributes:o,default:i}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const i=(0,a.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(s),(0,o.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(i.location.search);t.set(s,e),i.replace({...i.location,search:t.toString()})}),[s,i])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:i}=e,s=u(e),[a,c]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:s}))),[l,h]=m({queryString:n,groupId:i}),[b,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,s]=(0,d.Nk)(n);return[i,(0,o.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:i}),v=(()=>{const e=l??b;return p({value:e,tabValues:s})?e:null})();(0,r.Z)((()=>{v&&c(v)}),[v]);return{selectedValue:a,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);c(e),h(e),g(e)}),[h,g,s]),tabValues:s}}var g=n(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=n(5893);function A(e){let{className:t,block:n,selectedValue:o,selectValue:a,tabValues:r}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),i=r[n].value;i!==o&&(l(t),a(i))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:r.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>c.push(e),onKeyDown:h,onClick:d,...s,className:(0,i.Z)("tabs__item",v.tabItem,s?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function w(e){let{lazy:t,children:n,selectedValue:i}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===i));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function f(e){const t=b(e);return(0,x.jsxs)("div",{className:(0,i.Z)("tabs-container",v.tabList),children:[(0,x.jsx)(A,{...e,...t}),(0,x.jsx)(w,{...e,...t})]})}function j(e){const t=(0,g.Z)();return(0,x.jsx)(f,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>g});var o=n(7294),i=n(917),s=n(4866),a=n(5162),r=n(4673),c=n(1750);const l="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2949),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=i.iv` +"use strict";(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[2529],{353:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>u,contentTitle:()=>d,default:()=>b,frontMatter:()=>l,metadata:()=>h,toc:()=>p});var o=n(5893),i=n(1151),s=n(6957),a=n(7796),r=n(3273),c=n(2665);const l={sidebar_position:100,title:"RadioButton",slug:"radiobutton"},d=void 0,h={id:"components/radio-button",title:"RadioButton",description:"The RadioButton class creates an object that can be selected or deselected, and which displays its state to the user. By convention, only one radio button in a group can be selected at a time. Radio buttons are commonly used when mutually exclusive options are available, allowing the user to choose a single option from a set of choices.",source:"@site/docs/components/radio-button.md",sourceDirName:"components",slug:"/components/radiobutton",permalink:"/docs/components/radiobutton",draft:!1,unlisted:!1,editUrl:"https://github.com/DwcJava/dwcjava.github.io/tree/website/docs/components/radio-button.md",tags:[],version:"current",sidebarPosition:100,frontMatter:{sidebar_position:100,title:"RadioButton",slug:"radiobutton"},sidebar:"documentationSidebar",previous:{title:"ProgressBar",permalink:"/docs/components/progress-bar"},next:{title:"RadioButtonGroup",permalink:"/docs/components/radiobuttongroup"}},u={},p=[{value:"Usages",id:"usages",level:2},{value:"Constructors",id:"constructors",level:2},{value:"Text and Positioning",id:"text-and-positioning",level:2},{value:"Activation",id:"activation",level:2},{value:"Manual Activation",id:"manual-activation",level:3},{value:"Auto Activation",id:"auto-activation",level:3},{value:"Switches",id:"switches",level:2},{value:"Events",id:"events",level:2},{value:"Adding Events",id:"adding-events",level:3},{value:"Removing Events",id:"removing-events",level:3},{value:"Styling",id:"styling",level:2},{value:"Expanses",id:"expanses",level:3},{value:"Shadow Parts",id:"shadow-parts",level:3},{value:"CSS Properties",id:"css-properties",level:3},{value:"Reflected Attributes",id:"reflected-attributes",level:3},{value:"Dependencies",id:"dependencies",level:3},{value:"Best Practices",id:"best-practices",level:2},{value:"Dependencies",id:"dependencies-1",level:3}];function m(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",h3:"h3",li:"li",ol:"ol",p:"p",pre:"pre",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",...(0,i.a)(),...e.components};return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(c.Z,{tooltipText:"This component will render with a shadow DOM, an API built into the browser that facilitates encapsulation.",label:"Shadow",component:"a",href:"../glossary#shadow-dom",target:"_blank",clickable:!0,iconName:"shadow"}),"\n",(0,o.jsx)(c.Z,{tooltipText:"The name of the web component that will render in the DOM.",label:"bbj-radio",href:"https://basishub.github.io/basis-next/#/dwc/BBjRadioButton",clickable:!1,iconName:"code"}),"\n",(0,o.jsx)(r.Z,{type:"engine",location:"org/dwcj/component/optioninput/RadioButton",top:"true"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," class creates an object that can be selected or deselected, and which displays its state to the user. By convention, only one radio button in a group can be selected at a time. Radio buttons are commonly used when mutually exclusive options are available, allowing the user to choose a single option from a set of choices."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonGroupDemo",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonGroupDemo.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"200px"}),"\n",(0,o.jsx)(t.h2,{id:"usages",children:"Usages"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," is best used in scenarios where users need to make a single selection from a predefined set of options. Here are some examples of when to use the ",(0,o.jsx)(t.code,{children:"RadioButton"}),":"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Survey or Questionnaires"}),": Radio buttons are commonly used in surveys or questionnaires where users need to select a single response from a list of options."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Preference Settings"}),": Applications that involve preference or settings panels often use Radio buttons to allow users to choose a single option from a set of mutually exclusive choices."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Filtering or Sorting"}),": A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can be used in applications that require users to select a single filter or sorting option, such as sorting a list of items by different criteria."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h2,{id:"constructors",children:"Constructors"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," class has three constructors:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButton()"}),": Creates an empty ",(0,o.jsx)(t.code,{children:"RadioButton"})," in the unchecked state."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButton(String text)"}),": Creates a ",(0,o.jsx)(t.code,{children:"RadioButton"})," with an attached label in the unchecked state."]}),"\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.code,{children:"RadioButton(String text, boolean checked)"})," Creates a ",(0,o.jsx)(t.code,{children:"RadioButton"})," with an attached label in either the checked or unchecked state, based on the boolean passed (",(0,o.jsx)(t.code,{children:"true"})," for checked, ",(0,o.jsx)(t.code,{children:"false"})," for unchecked)."]}),"\n"]}),"\n",(0,o.jsxs)(t.p,{children:["Here is an example of how to create a ",(0,o.jsx)(t.code,{children:"RadioButton"})," object:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:'RadioButton myRadioButton = new RadioButton("RadioButton Text");\n'})}),"\n",(0,o.jsx)(t.h2,{id:"text-and-positioning",children:"Text and Positioning"}),"\n",(0,o.jsxs)(t.p,{children:["Radio buttons can utilize the ",(0,o.jsx)(t.code,{children:"setText(String text)"})," method, which will be positioned near the radio button according to the built-in ",(0,o.jsx)(t.code,{children:"Position"}),".\r\nRadio buttons have built-in functionality to set text to be displayed either to the right or left of the component. By default, the text will be displayed to the right of the component. Positioning of the horizontal text is supported by use of the ",(0,o.jsx)(t.code,{children:"HorizontalAlignment"})," enum class. Show below are the two settings: ",(0,o.jsx)("br",{})]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonText",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonText.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"100px"}),"\n",(0,o.jsx)(t.h2,{id:"activation",children:"Activation"}),"\n",(0,o.jsxs)(t.p,{children:["Radio buttons can be controlled using two types of activation: manual activation and auto activation. These dictate when a ",(0,o.jsx)(t.code,{children:"RadioButton"})," will change its state."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonActivation",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonActivation.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"175px"}),"\n",(0,o.jsx)(t.h3,{id:"manual-activation",children:"Manual Activation"}),"\n",(0,o.jsx)(t.p,{children:"When a radio button is set to manual activation, it means that it will not be automatically checked when it gains focus.\r\nManual activation allows the user to navigate through the radio button options using the keyboard or other input methods without immediately changing the selected option."}),"\n",(0,o.jsx)(t.p,{children:"If the radio button is part of a group, selecting a different radio button within the group will automatically uncheck the previously selected radio button.\r\nManual activation provides finer control over the selection process, requiring an explicit action from the user to change the selected option."}),"\n",(0,o.jsx)(t.h3,{id:"auto-activation",children:"Auto Activation"}),"\n",(0,o.jsxs)(t.p,{children:["Automatic activation is the default state for a ",(0,o.jsx)(t.code,{children:"RadioButton"}),", and means that the button will be checked on whenever it gains focus for any reason. This means that\r\nnot only clicking, but auto-focus or tab navigation will also check the button."]}),"\n",(0,o.jsx)(t.admonition,{title:"Note",type:"tip",children:(0,o.jsxs)(t.p,{children:["The default activation value is ",(0,o.jsx)(t.strong,{children:(0,o.jsx)(t.code,{children:"MANUAL"})})," activation."]})}),"\n",(0,o.jsx)(t.h2,{id:"switches",children:"Switches"}),"\n",(0,o.jsxs)(t.p,{children:["A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can also be set to display as a switch provides which provides alternative visual representation for selecting options. Normally, radio buttons are circular or rounded in shape and indicate a single choice from a group of options."]}),"\n",(0,o.jsx)(s.Z,{path:"https://hot.bbx.kitchen/webapp/controlsamples?class=componentdemos.radiobuttondemos.RadioButtonSwitch",javaE:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/java/componentdemos/radiobuttondemos/RadioButtonSwitch.java",cssURL:"https://raw.githubusercontent.com/DwcJava/ControlSamples/main/src/main/resources/css/radiobuttonstyles/radiobutton_styles.css",height:"120px"}),"\n",(0,o.jsxs)(t.p,{children:["A ",(0,o.jsx)(t.code,{children:"RadioButton"})," can be transformed into a switch that resembles a toggle switch or slider using one of two methods:"]}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"The Factory Method"}),": The RadioButton can be created using the following Factory methods:"]}),"\n"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"Switch(String text, boolean checked);\r\nSwitch(String text);\r\nSwitch();\n"})}),"\n",(0,o.jsxs)(t.p,{children:["These methods mirror a ",(0,o.jsx)(t.code,{children:"RadioButton"})," constructor, and will create the component with the switch property already toggled on."]}),"\n",(0,o.jsxs)(t.ol,{start:"2",children:["\n",(0,o.jsxs)(t.li,{children:[(0,o.jsx)(t.strong,{children:"Setter"}),": It is also possible to change an already existing ",(0,o.jsx)(t.code,{children:"RadioButton"})," into a switch by using the appropriate setter:"]}),"\n"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.setSwitch(true);\n"})}),"\n",(0,o.jsxs)(t.p,{children:["When a ",(0,o.jsx)(t.code,{children:"RadioButton"})," is displayed as a switch, it typically appears as a oblong shape with an indicator that can be toggled on or off. This visual representation gives users a more intuitive and familiar interface, similar to physical switches commonly found in electronic devices."]}),"\n",(0,o.jsxs)(t.p,{children:["Setting a ",(0,o.jsx)(t.code,{children:"RadioButton"})," to display as a switch can improve user experience by providing a clear and straightforward way to select options. It can enhance the visual appeal and usability of forms, settings panels, or any other interface element that requires multiple choices."]}),"\n",(0,o.jsx)(t.admonition,{type:"info",children:(0,o.jsxs)(t.p,{children:["The behavior of the ",(0,o.jsx)(t.code,{children:"RadioButton"})," remains the same when being rendered as a Switch, meaning only one option can be selected at a time within a group. The switch-like appearance is a visual transformation which retains the functionality of a ",(0,o.jsx)(t.code,{children:"RadioButton"}),"."]})}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsx)(t.h2,{id:"events",children:"Events"}),"\n",(0,o.jsxs)(t.p,{children:["The ",(0,o.jsx)(t.code,{children:"RadioButton"})," class provides methods to add and remove event listeners for the following events:"]}),"\n",(0,o.jsxs)(t.table,{children:[(0,o.jsx)(t.thead,{children:(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.th,{style:{textAlign:"center"},children:"Events"}),(0,o.jsx)(t.th,{children:"Description"})]})}),(0,o.jsxs)(t.tbody,{children:[(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"BlurEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when an element loses focus. It occurs when the user interacts with an element, such as clicking inside an input field, and then moves the focus away from that element, typically by clicking outside of it or tabbing to another element on the page."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"FocusEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when an element gains focus, opposite of a blur event. It occurs when the user interacts with an element, typically by clicking inside an input field or navigating to it using the keyboard's tab key, causing the element to become active and ready to receive user input."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"CheckedEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes checked. It occurs when the user interacts with a checkbox element by clicking or tapping on it, causing the checkbox to transition from an unchecked state to a checked state."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"UncheckedEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the state of a component changes and becomes unchecked. It occurs when the user interacts with a checkbox element by clicking or tapping on it, causing the checkbox to transition from an checked state to a unchecked state."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"ToggleEvent"})}),(0,o.jsx)(t.td,{children:'A ToggleEvent fires a CheckBox or a similar UI element changes its state between "on" and "off" or "active" and "inactive." It represents the action of toggling a setting, feature, or state of an element such as a CheckBox or Radio Button.'})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"MouseEnterEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the mouse cursor enters the boundaries of an element. It occurs when the user moves the mouse pointer over the specified element, indicating that the mouse has entered its area."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"MouseExitEvent"})}),(0,o.jsx)(t.td,{children:"An event that is triggered when the mouse cursor exits the boundaries of an element. It occurs when the user moves the mouse pointer out of the boundaries of the specified element, indicating that the mouse has exited its area."})]}),(0,o.jsxs)(t.tr,{children:[(0,o.jsx)(t.td,{style:{textAlign:"center"},children:(0,o.jsx)(t.code,{children:"RightMouseDownEvent"})}),(0,o.jsx)(t.td,{children:"An event refers to an event that is triggered when the user presses the right mouse button while the cursor is over an element. It allows you to capture the specific action of the user's right mouse button being pressed down within the boundaries of the element."})]})]})]}),"\n",(0,o.jsx)("br",{}),"\n",(0,o.jsx)(t.h3,{id:"adding-events",children:"Adding Events"}),"\n",(0,o.jsx)(t.p,{children:"To add an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.addCheckedListener( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsxs)(t.p,{children:["Additional syntactic sugar methods, or aliases, have been added to allow for alternative addition of events by using the ",(0,o.jsx)(t.code,{children:"on"})," prefix followed by the event, such as:"]}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.onChecked( e -> {\r\n //Executed when the event fires\r\n});\n"})}),"\n",(0,o.jsx)(t.admonition,{type:"tip",children:(0,o.jsx)(t.p,{children:"Using the event payload that comes with various events to attain information reduces the number of round trips made when instead querying the component for the required information."})}),"\n",(0,o.jsx)(t.h3,{id:"removing-events",children:"Removing Events"}),"\n",(0,o.jsx)(t.p,{children:"To remove an event listener, use the appropriate method:"}),"\n",(0,o.jsx)(t.pre,{children:(0,o.jsx)(t.code,{className:"language-java",children:"myRadioButton.removeCheckedListener(listener);\n"})}),"\n",(0,o.jsx)(t.h2,{id:"styling",children:"Styling"}),"\n",(0,o.jsx)(t.h3,{id:"expanses",children:"Expanses"}),"\n",(0,o.jsxs)(t.p,{children:["There are five checkbox expanses that are supported which allow for quick styling without using CSS.\r\nExpanses are supported by use of the ",(0,o.jsx)(t.code,{children:"Expanse"})," enum class. Below are the expanses supported for the checkbox component: ",(0,o.jsx)("br",{})]}),"\n",(0,o.jsx)(t.h3,{id:"shadow-parts",children:"Shadow Parts"}),"\n",(0,o.jsx)(t.p,{children:"These are the various parts of the shadow DOM for the component, which will be required when styling via CSS is desired."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).EU,table:"parts"}),"\n",(0,o.jsx)(t.h3,{id:"css-properties",children:"CSS Properties"}),"\n",(0,o.jsx)(t.p,{children:"These are the various CSS properties that are used in the component, with a short description of their use."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).EU,table:"properties"}),"\n",(0,o.jsx)(t.h3,{id:"reflected-attributes",children:"Reflected Attributes"}),"\n",(0,o.jsx)(t.p,{children:"The reflected attributes of a component will be shown as attributes in the rendered HTML element for the component in the DOM. This means that styling can be applied using these attributes."}),"\n",(0,o.jsx)(a.Z,{tag:n(5731).EU,table:"reflects"}),"\n",(0,o.jsx)(t.h3,{id:"dependencies",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(a.Z,{tag:"bbj-radio",table:"dependencies"}),"\n",(0,o.jsx)(t.h2,{id:"best-practices",children:"Best Practices"}),"\n",(0,o.jsx)(t.p,{children:"To ensure an optimal user experience when using the RadioButton component, consider the following best practices:"}),"\n",(0,o.jsxs)(t.ol,{children:["\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Clearly Label Options"}),": Provide clear and concise text for each ",(0,o.jsx)(t.code,{children:"RadioButton"})," option to accurately describe the choice. Text should be easy to understand and distinguish from one another."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Group Radio buttons"}),": Group related Radio buttons together to indicate their association. This helps users understand that only one option can be selected within a specific group. This can be done effectively using the ",(0,o.jsx)(t.a,{href:"/docs/components/radiobuttongroup",children:(0,o.jsx)(t.code,{children:"RadioButtonGroup"})})," component."]}),"\n"]}),"\n",(0,o.jsxs)(t.li,{children:["\n",(0,o.jsxs)(t.p,{children:[(0,o.jsx)(t.strong,{children:"Provide Default Selection"}),": If applicable, consider providing a default selection for Radio buttons to guide users when they first encounter the options. The default selection should align with the most common or preferred choice."]}),"\n"]}),"\n"]}),"\n",(0,o.jsx)(t.h3,{id:"dependencies-1",children:"Dependencies"}),"\n",(0,o.jsx)(t.p,{children:"This component relies on the following components - see the related article for more detailed styling information:"}),"\n",(0,o.jsx)(a.Z,{tag:"bbj-drawer",table:"dependencies"})]})}function b(e={}){const{wrapper:t}={...(0,i.a)(),...e.components};return t?(0,o.jsx)(t,{...e,children:(0,o.jsx)(m,{...e})}):m(e)}},6031:(e,t,n)=>{var o=n(4836);t.Z=void 0;var i=o(n(4938)),s=n(5893),a=(0,i.default)((0,s.jsx)("path",{d:"m19 1-5 5v11l5-4.5V1zM1 6v14.65c0 .25.25.5.5.5.1 0 .15-.05.25-.05C3.1 20.45 5.05 20 6.5 20c1.95 0 4.05.4 5.5 1.5V6c-1.45-1.1-3.55-1.5-5.5-1.5S2.45 4.9 1 6zm22 13.5V6c-.6-.45-1.25-.75-2-1v13.5c-1.1-.35-2.3-.5-3.5-.5-1.7 0-4.15.65-5.5 1.5v2c1.35-.85 3.8-1.5 5.5-1.5 1.65 0 3.35.3 4.75 1.05.1.05.15.05.25.05.25 0 .5-.25.5-.5v-1.1z"}),"AutoStories");t.Z=a},2610:(e,t,n)=>{var o=n(4836);t.Z=void 0;var i=o(n(4938)),s=n(5893),a=(0,i.default)((0,s.jsx)("path",{d:"M11 18c0 1.1-.9 2-2 2s-2-.9-2-2 .9-2 2-2 2 .9 2 2zm-2-8c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0-6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm6 4c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2zm0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2zm0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2z"}),"DragIndicator");t.Z=a},5162:(e,t,n)=>{n.d(t,{Z:()=>a});n(7294);var o=n(6010);const i={tabItem:"tabItem_Ymn6"};var s=n(5893);function a(e){let{children:t,hidden:n,className:a}=e;return(0,s.jsx)("div",{role:"tabpanel",className:(0,o.Z)(i.tabItem,a),hidden:n,children:t})}},4866:(e,t,n)=>{n.d(t,{Z:()=>j});var o=n(7294),i=n(6010),s=n(2466),a=n(6550),r=n(469),c=n(1980),l=n(7392),d=n(12);function h(e){return o.Children.toArray(e).filter((e=>"\n"!==e)).map((e=>{if(!e||(0,o.isValidElement)(e)&&function(e){const{props:t}=e;return!!t&&"object"==typeof t&&"value"in t}(e))return e;throw new Error(`Docusaurus error: Bad child <${"string"==typeof e.type?e.type:e.type.name}>: all children of the component should be , and every should have a unique "value" prop.`)}))?.filter(Boolean)??[]}function u(e){const{values:t,children:n}=e;return(0,o.useMemo)((()=>{const e=t??function(e){return h(e).map((e=>{let{props:{value:t,label:n,attributes:o,default:i}}=e;return{value:t,label:n,attributes:o,default:i}}))}(n);return function(e){const t=(0,l.l)(e,((e,t)=>e.value===t.value));if(t.length>0)throw new Error(`Docusaurus error: Duplicate values "${t.map((e=>e.value)).join(", ")}" found in . Every value needs to be unique.`)}(e),e}),[t,n])}function p(e){let{value:t,tabValues:n}=e;return n.some((e=>e.value===t))}function m(e){let{queryString:t=!1,groupId:n}=e;const i=(0,a.k6)(),s=function(e){let{queryString:t=!1,groupId:n}=e;if("string"==typeof t)return t;if(!1===t)return null;if(!0===t&&!n)throw new Error('Docusaurus error: The component groupId prop is required if queryString=true, because this value is used as the search param name. You can also provide an explicit value such as queryString="my-search-param".');return n??null}({queryString:t,groupId:n});return[(0,c._X)(s),(0,o.useCallback)((e=>{if(!s)return;const t=new URLSearchParams(i.location.search);t.set(s,e),i.replace({...i.location,search:t.toString()})}),[s,i])]}function b(e){const{defaultValue:t,queryString:n=!1,groupId:i}=e,s=u(e),[a,c]=(0,o.useState)((()=>function(e){let{defaultValue:t,tabValues:n}=e;if(0===n.length)throw new Error("Docusaurus error: the component requires at least one children component");if(t){if(!p({value:t,tabValues:n}))throw new Error(`Docusaurus error: The has a defaultValue "${t}" but none of its children has the corresponding value. Available values are: ${n.map((e=>e.value)).join(", ")}. If you intend to show no default tab, use defaultValue={null} instead.`);return t}const o=n.find((e=>e.default))??n[0];if(!o)throw new Error("Unexpected error: 0 tabValues");return o.value}({defaultValue:t,tabValues:s}))),[l,h]=m({queryString:n,groupId:i}),[b,g]=function(e){let{groupId:t}=e;const n=function(e){return e?`docusaurus.tab.${e}`:null}(t),[i,s]=(0,d.Nk)(n);return[i,(0,o.useCallback)((e=>{n&&s.set(e)}),[n,s])]}({groupId:i}),v=(()=>{const e=l??b;return p({value:e,tabValues:s})?e:null})();(0,r.Z)((()=>{v&&c(v)}),[v]);return{selectedValue:a,selectValue:(0,o.useCallback)((e=>{if(!p({value:e,tabValues:s}))throw new Error(`Can't select invalid tab value=${e}`);c(e),h(e),g(e)}),[h,g,s]),tabValues:s}}var g=n(2389);const v={tabList:"tabList__CuJ",tabItem:"tabItem_LNqP"};var x=n(5893);function f(e){let{className:t,block:n,selectedValue:o,selectValue:a,tabValues:r}=e;const c=[],{blockElementScrollPositionUntilNextRender:l}=(0,s.o5)(),d=e=>{const t=e.currentTarget,n=c.indexOf(t),i=r[n].value;i!==o&&(l(t),a(i))},h=e=>{let t=null;switch(e.key){case"Enter":d(e);break;case"ArrowRight":{const n=c.indexOf(e.currentTarget)+1;t=c[n]??c[0];break}case"ArrowLeft":{const n=c.indexOf(e.currentTarget)-1;t=c[n]??c[c.length-1];break}}t?.focus()};return(0,x.jsx)("ul",{role:"tablist","aria-orientation":"horizontal",className:(0,i.Z)("tabs",{"tabs--block":n},t),children:r.map((e=>{let{value:t,label:n,attributes:s}=e;return(0,x.jsx)("li",{role:"tab",tabIndex:o===t?0:-1,"aria-selected":o===t,ref:e=>c.push(e),onKeyDown:h,onClick:d,...s,className:(0,i.Z)("tabs__item",v.tabItem,s?.className,{"tabs__item--active":o===t}),children:n??t},t)}))})}function A(e){let{lazy:t,children:n,selectedValue:i}=e;const s=(Array.isArray(n)?n:[n]).filter(Boolean);if(t){const e=s.find((e=>e.props.value===i));return e?(0,o.cloneElement)(e,{className:"margin-top--md"}):null}return(0,x.jsx)("div",{className:"margin-top--md",children:s.map(((e,t)=>(0,o.cloneElement)(e,{key:t,hidden:e.props.value!==i})))})}function w(e){const t=b(e);return(0,x.jsxs)("div",{className:(0,i.Z)("tabs-container",v.tabList),children:[(0,x.jsx)(f,{...e,...t}),(0,x.jsx)(A,{...e,...t})]})}function j(e){const t=(0,g.Z)();return(0,x.jsx)(w,{...e,children:h(e.children)},String(t))}},6957:(e,t,n)=>{n.d(t,{Z:()=>g});var o=n(7294),i=n(917),s=n(4866),a=n(5162),r=n(4673),c=n(1750);const l="data:image/png;base64,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",d=n.p+"assets/images/expand-ba3f00f73da43d91e5b17663c4a7d108.png",h="data:image/png;base64,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";var u=n(2610),p=n(5944);function m(e){let{collapse:t,setCollapse:n}=e;const o=i.iv` display: flex; justify-content: end; - margin-bottom: -30px; + align-items: flex-end; background-color: transparent; + margin-bottom: -10px; `,s=i.iv` - position: relative; + /* position: absolute; + right: 0; */ cursor: pointer; z-index: 10; height: 35px; @@ -12,8 +14,9 @@ border: none; background-color: none; justify-self: flex-end; - margin-right: 5px; background-color: transparent; + margin-right: 5px; + margin-bottom: -50px !important; `,a=i.iv` filter: invert(var(--inversion-percentage)); `;return(0,p.tZ)("div",{css:o,children:(0,p.tZ)("button",{css:s,onClick:()=>{n(!t)},children:t?(0,p.tZ)("img",{css:a,src:d,className:"icon-tabler-arrow-bar-up"}):(0,p.tZ)("img",{css:a,src:l,className:"icon-tabler-arrow-bar-down"})})})}function b(e){let{url:t}=e;const n=i.iv` @@ -25,7 +28,6 @@ border: none; background-color: none; justify-self: flex-end; - /* margin-right: 5px; */ margin-top: -5px; margin-bottom: -20px; background-color: transparent; @@ -37,52 +39,95 @@ mix-blend-mode: lighten; /* The blend mode determines how the overlay interacts with the image */ opacity: 0.5; } - `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:h})})}function g(e){let{path:t,javaC:n,javaE:l,cssURL:d,javaHighlight:h,height:g,frame:v,tabs:x}=e;const[A,w]=(0,o.useState)(""),[f,j]=(0,o.useState)(""),[y,B]=(0,o.useState)(""),[k,D]=(0,o.useState)(!(!n||!l)),[S,Z]=(0,o.useState)(!1),[E,R]=(0,o.useState)({});(0,o.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{j(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];R((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{w(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{B(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];R((e=>({...e,cssFile:n})))}))}),[]);const C=i.iv` + `;return(0,p.tZ)("button",{css:n,onClick:()=>{window.open(t,"_blank")},children:(0,p.tZ)("img",{css:o,src:h})})}function g(e){let{path:t,javaC:n,javaE:l,cssURL:d,javaHighlight:h,height:g,frame:v,tabs:x}=e;const[f,A]=(0,o.useState)(""),[w,j]=(0,o.useState)(""),[y,B]=(0,o.useState)(""),[k,S]=(0,o.useState)(!(!n||!l)),[D,Z]=(0,o.useState)(!1),[R,E]=(0,o.useState)({}),[C,T]=(0,o.useState)(!1),[L,M]=(0,o.useState)(0),[N,z]=(0,o.useState)(0),[O,V]=(0,o.useState)(25),[H,J]=(0,o.useState)(25),[F,G]=(0,o.useState)(0),[X,I]=(0,o.useState)(!1),P=(0,o.useRef)(null),Y=(0,o.useRef)(null);(0,o.useEffect)((()=>{l&&fetch(l).then((e=>e.text())).then((e=>{j(e);const t=new URL(l).pathname.split("/"),n=t[t.length-1];E((e=>({...e,javaFile:n})))})),n&&fetch(n).then((e=>e.text())).then((e=>{A(e)})),d&&fetch(d).then((e=>e.text())).then((e=>{B(e);const t=new URL(d).pathname.split("/"),n=t[t.length-1];E((e=>({...e,cssFile:n})))})),G(P.current.offsetWidth),console.log(F)}),[]);const U=()=>{T(!1),console.log("Stop Resizing")},q=e=>{if(C){const t=e.clientX-L;N+t>F/3&&(P.current.style.width=`${N+t}px`,Y.current.style.right=(O-t<25?25:O-t)+"px",J(O-t<25?25:O-t))}},W=i.iv` display: flex; flex-direction: column; - background-color: var(--code-display-color); width: 100%; margin-bottom: 16px; - padding: ${"hidden"==v?"0 15px 0 15px;":"7px 15px 0 15px;"}; - box-shadow: var(--ifm-global-shadow-lw); - `,T=i.iv` + /* padding: ${"hidden"==v?"0 15px 0 15px;":"7px 15px 0 15px;"}; */ + /* box-shadow: var(--ifm-global-shadow-lw); */ + background-color: var(--code-display-color-background); + `,K=i.iv` + width: 100%; + /* padding: 1em; */ + border: 1px solid var(--ifm-toc-border-color); + border-right: none; + background-color: transparent; + display: flex; + position: relative; + `,Q=i.iv` min-height: 100px; height: 100%; width: 100%; - height: ${g}; - `,L=i.iv` - border: none; + height: ${g||"100%"}; + pointer-events: none; + `,_=i.iv` + display: flex; + justify-content: flex-end; + opacity: 0; + transition: opacity 0.3s ease-in-out; + ${D&&"opacity: 1;"}; + margin: 10px 0 0 0; + position: absolute; + right: 25px; + `,$=i.iv` + display: flex; + align-items: center; + cursor: ew-resize; + border-left: 1px solid var(--ifm-toc-border-color); + border-right: 1px solid var(--ifm-toc-border-color); + background-color: var(--ifm-background-color); + `,ee=i.iv` box-shadow: none; - background-color: var(--code-display-color); - margin-bottom: 0px; - padding: 10px; + background-color: var(--ifm-background-color); + margin: 0px; + padding: 0px; + border: 1px solid var(--ifm-toc-border-color); + border-top: none; + border-radius: 0px; + position: relative; - .tabs{ - margin-top: 20px; + div{ + /* border: none; */ + border-color: var(--ifm-toc-border-color); + padding: 2px 0px 0px 0px; + margin: 0px } summary{ display: flex; width: 100%; justify-content: center; - margin: 0; + margin: 10px 0; font-weight: bold; ::before{ left: auto; margin-left: -100px; + --docusaurus-details-decoration-color: var(--ifm-color-primary) } } - - `,N=i.iv` - width: 100%; - `,M=i.iv` - display: flex; - justify-content: flex-end; - opacity: 0; - transition: opacity 0.3s ease-in-out; - ${S&&"opacity: 1;"}; + .margin-top--md{ + margin-top: 0px !important; + } + ul{ + margin: -4px 0px!important; + } + `,te=i.iv` + /* :first-child{ + margin-left: 1em; + } */ + li[aria-selected="true"]{ + border-color: var(--ifm-color-primary); + } - `;return(0,p.BX)("div",{css:C,children:["hidden"!=v?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:N,children:[(0,p.tZ)("div",{css:M,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("iframe",{loading:"lazy",src:t+"&theme="+("dark"===(0,u.I)().colorMode?"dark":"light"),css:T})]}):null,(0,p.BX)(r.Z,{css:L,summary:(0,p.tZ)("summary",{children:"Show Code"}),children:[n&&l?(0,p.tZ)(m,{collapse:k,setCollapse:D}):null,d?(0,p.BX)(s.Z,{children:[(0,p.tZ)(a.Z,{value:x?x[0]:"Java",label:x?x[0]:E.javaFile,default:!0,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?A:f})}),(0,p.tZ)(a.Z,{value:x?x[1]:"CSS",label:x?x[1]:E.cssFile,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(s.Z,{children:(0,p.tZ)(a.Z,{value:x?x[0]:"Java",label:x?x[0]:E.javaFile,default:!0,children:(0,p.tZ)(c.Z,{className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?A:f})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var o=n(7294),i=n(917),s=n(8230),a=n(4387),r=n(6770);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:h,suffix:u}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=i.iv` + .tabs__item{ + padding: 5px 20px -2px 20px; + border-radius: 0px; + } + `,ne=i.iv` + border-radius: 0px; + box-shadow: rgba(0, 0, 0, 0.06) 0px 2px 4px 0px inset; + `;return(0,p.BX)("div",{css:W,onMouseUp:U,onMouseLeave:U,onMouseMove:q,children:["hidden"!=v?(0,p.BX)("div",{onMouseEnter:()=>{Z(!0)},onMouseLeave:()=>Z(!1),css:K,children:[(0,p.tZ)("iframe",{onMouseUp:U,loading:"lazy",src:t,css:{...Q,pointerEvents:C?"none":"auto"},ref:P,onMouseMove:q}),(0,p.tZ)("div",{css:_,ref:Y,children:(0,p.tZ)(b,{url:t})}),(0,p.tZ)("div",{css:$,onMouseDown:e=>{e.preventDefault(),T(!0),M(e.clientX),z(P.current.offsetWidth),V(H),console.log(Y.current.right),console.log("Start Resizing")},children:(0,p.tZ)(u.Z,{})})]}):null,(0,p.BX)(r.Z,{css:ee,summary:(0,p.tZ)("summary",{onClick:()=>I(!X),children:X?"Hide Code":"Show Code"}),children:[n&&l?(0,p.tZ)(m,{collapse:k,setCollapse:S}):null,d?(0,p.BX)(s.Z,{css:te,children:[(0,p.tZ)(a.Z,{value:x?x[0]:"Java",label:x?x[0]:R.javaFile,default:!0,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?f:w})}),(0,p.tZ)(a.Z,{value:x?x[1]:"CSS",label:x?x[1]:R.cssFile,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"css",showLineNumbers:!0,children:y})})]}):(0,p.tZ)(s.Z,{css:te,children:(0,p.tZ)(a.Z,{value:x?x[0]:"Java",label:x?x[0]:R.javaFile,default:!0,children:(0,p.tZ)(c.Z,{css:ne,className:"codeDemoBlock",language:"java",showLineNumbers:!0,metastring:h,children:k?f:w})})})]})]})}},3273:(e,t,n)=>{n.d(t,{Z:()=>l});var o=n(7294),i=n(917),s=n(8230),a=n(4387),r=n(6031);var c=n(5944);function l(e){let{type:t,location:n,top:l,children:d,code:h,suffix:u}=e;const[p,m]=(0,o.useState)("");(0,o.useEffect)((()=>{u||(u=""),m("https://javadoc.io/doc/org.dwcj/dwcj-"+t+"/latest/"+n+".html"+u)}),[]);const b=i.iv` display: inline; ${l&&i.iv` @@ -94,6 +139,7 @@ `} `,g=i.iv` background-color: #0063CC; + padding: 0 0 0 5px; :hover{ color: white; } diff --git a/assets/js/main.ad7db456.js b/assets/js/main.8b797ebe.js similarity index 78% rename from assets/js/main.ad7db456.js rename to assets/js/main.8b797ebe.js index a6bfb4b44..7273fe137 100644 --- a/assets/js/main.ad7db456.js +++ b/assets/js/main.8b797ebe.js @@ -1,2 +1,2 @@ -/*! For license information please see main.ad7db456.js.LICENSE.txt */ -(self.webpackChunkdwcj_documentation=self.webpackChunkdwcj_documentation||[]).push([[179],{830:(e,t,n)=>{"use strict";n.d(t,{W:()=>r});var o=n(7294);function r(){return o.createElement("svg",{width:"20",height:"20",className:"DocSearch-Search-Icon",viewBox:"0 0 20 20"},o.createElement("path",{d:"M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z",stroke:"currentColor",fill:"none",fillRule:"evenodd",strokeLinecap:"round",strokeLinejoin:"round"}))}},723:(e,t,n)=>{"use strict";n.d(t,{Z:()=>p});n(7294);var o=n(8356),r=n.n(o),a=n(6887);const i={"017e1775":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(6929)]).then(n.bind(n,4826)),"@site/docs/components/drawer.md",4826],"0375db59":[()=>Promise.all([n.e(8592),n.e(2264)]).then(n.bind(n,4017)),"@site/docs/components/bbj-icon.md",4017],"0577d7e9":[()=>Promise.all([n.e(8592),n.e(2084)]).then(n.bind(n,978)),"@site/docs/components/events/click-event.md",978],"0e384e19":[()=>Promise.all([n.e(8592),n.e(9671)]).then(n.bind(n,7876)),"@site/docs/intro.md",7876],"0fb4d328":[()=>Promise.all([n.e(8592),n.e(2820)]).then(n.bind(n,6083)),"@site/docs/components/client-components/Inpute.md",6083],"104c62f0":[()=>Promise.all([n.e(8592),n.e(7637)]).then(n.bind(n,1499)),"@site/docs/components/client-components/Upload.md",1499],"14a0872a":[()=>Promise.all([n.e(8592),n.e(9608)]).then(n.bind(n,2422)),"@site/docs/components/client-components/Tab.md",2422],"14eb3368":[()=>Promise.all([n.e(532),n.e(9817)]).then(n.bind(n,4228)),"@theme/DocCategoryGeneratedIndexPage",4228],"175f4414":[()=>Promise.all([n.e(8592),n.e(2699)]).then(n.bind(n,4146)),"@site/docs/components/client-components/List-edit.md",4146],17896441:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(13),n.e(7918)]).then(n.bind(n,230)),"@theme/DocItem",230],"1a4e3797":[()=>Promise.all([n.e(532),n.e(7920)]).then(n.bind(n,6675)),"@theme/SearchPage",6675],"1dab32d6":[()=>n.e(5772).then(n.t.bind(n,8418,19)),"~docs/default/category-docs-documentationsidebar-category-layouts-e32.json",8418],"1e924268":[()=>Promise.all([n.e(8592),n.e(8614)]).then(n.bind(n,4953)),"@site/docs/installation/installation.md",4953],"1f391b9e":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(13),n.e(3085)]).then(n.bind(n,4247)),"@theme/MDXPage",4247],"20f7e9b5":[()=>Promise.all([n.e(8592),n.e(1869)]).then(n.bind(n,1828)),"@site/docs/components/client-components/Busy.md",1828],"2180a3af":[()=>Promise.all([n.e(8592),n.e(662)]).then(n.bind(n,1745)),"@site/docs/components/home.md",1745],"23e38187":[()=>Promise.all([n.e(8592),n.e(4384)]).then(n.bind(n,3299)),"@site/docs/components/events/event.md",3299],"245d481f":[()=>Promise.all([n.e(8592),n.e(4195)]).then(n.bind(n,9743)),"@site/docs/components/client-components/Spinner.md",9743],"272fe341":[()=>Promise.all([n.e(8592),n.e(815)]).then(n.bind(n,9201)),"@site/docs/getting_started/configuration.md",9201],"27a8c9d3":[()=>Promise.all([n.e(8592),n.e(994)]).then(n.bind(n,5524)),"@site/docs/components/client-components/Tree.md",5524],"2abf1b13":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(4373)]).then(n.bind(n,6672)),"@site/docs/components/list-components/list-box.md",6672],"2df7d063":[()=>Promise.all([n.e(8592),n.e(7100)]).then(n.bind(n,3343)),"@site/docs/components/events/keypress-event.md",3343],"3202e975":[()=>Promise.all([n.e(8592),n.e(3850)]).then(n.bind(n,4583)),"@site/docs/components/events/button-click-event.md",4583],"32daff60":[()=>Promise.all([n.e(8592),n.e(7956)]).then(n.bind(n,6183)),"@site/docs/installation/contributors.md",6183],"3360d290":[()=>Promise.all([n.e(8592),n.e(6088)]).then(n.bind(n,1983)),"@site/docs/components/client-components/Editbox-spinner.md",1983],"33b18326":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(8402)]).then(n.bind(n,8105)),"@site/docs/components/fields/fields.md",8105],"367e3965":[()=>Promise.all([n.e(8592),n.e(2755)]).then(n.bind(n,6940)),"@site/docs/components/client-components/Separator.md",6940],"37046ed3":[()=>Promise.all([n.e(8592),n.e(5858)]).then(n.bind(n,9936)),"@site/docs/components/client-components/Progressbar.md",9936],"393be207":[()=>Promise.all([n.e(8592),n.e(7414)]).then(n.bind(n,1181)),"@site/src/pages/markdown-page.md",1181],"3b023488":[()=>Promise.all([n.e(8592),n.e(4085)]).then(n.bind(n,8014)),"@site/docs/getting_started/Templates/app_layout.md",8014],"3d14ec9a":[()=>Promise.all([n.e(8592),n.e(1142)]).then(n.bind(n,3180)),"@site/docs/components/client-components/Tab-panel.md",3180],"3f60750a":[()=>Promise.all([n.e(8592),n.e(6811)]).then(n.bind(n,1692)),"@site/docs/components/client-components/Checkbox.md",1692],"44a2ffa8":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(8499)]).then(n.bind(n,1955)),"@site/docs/components/fields/time-field.md",1955],"47f3d74a":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(1303)]).then(n.bind(n,1214)),"@site/docs/components/fields/date-time-field.md",1214],"47feae6f":[()=>n.e(7610).then(n.t.bind(n,7085,19)),"/home/runner/work/dwcjava.github.io/dwcjava.github.io/.docusaurus/docusaurus-theme-search-algolia/default/plugin-route-context-module-100.json",7085],"48bbfb2a":[()=>Promise.all([n.e(8592),n.e(1192)]).then(n.bind(n,6455)),"@site/docs/styling/theme.md",6455],"48f5576d":[()=>Promise.all([n.e(8592),n.e(6582)]).then(n.bind(n,5931)),"@site/docs/components/client-components/App-layout.md",5931],"4a332b92":[()=>Promise.all([n.e(8592),n.e(2517)]).then(n.bind(n,2919)),"@site/docs/getting_started/architecture.md",2919],"4b46da1c":[()=>Promise.all([n.e(8592),n.e(7303)]).then(n.bind(n,2710)),"@site/docs/components/client-components/Font-chooser.md",2710],"4d281b1f":[()=>Promise.all([n.e(8592),n.e(2800)]).then(n.bind(n,2435)),"@site/docs/components/client-components/Dropdown.md",2435],"4eb8144b":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(2498)]).then(n.bind(n,8306)),"@site/docs/components/list-components/choice-box.md",8306],"548c55b7":[()=>Promise.all([n.e(8592),n.e(6389)]).then(n.bind(n,1952)),"@site/docs/components/client-components/Inputt-spinner.md",1952],"5510d6bc":[()=>Promise.all([n.e(8592),n.e(6020)]).then(n.bind(n,5006)),"@site/docs/components/events/check-event.md",5006],"559b7fc6":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(377)]).then(n.bind(n,6153)),"@site/docs/components/progress-bar.md",6153],"567b6912":[()=>Promise.all([n.e(8592),n.e(4922)]).then(n.bind(n,1330)),"@site/docs/components/client-components/Popover.md",1330],"56ad8461":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(2565)]).then(n.bind(n,61)),"@site/docs/components/label.md",61],"5e95c892":[()=>n.e(9661).then(n.bind(n,1892)),"@theme/DocsRoot",1892],"5e9f5e1a":[()=>Promise.resolve().then(n.bind(n,6809)),"@generated/docusaurus.config",6809],"60ac4983":[()=>Promise.all([n.e(8592),n.e(1226)]).then(n.bind(n,1476)),"@site/docs/components/client-components/Backdrop.md",1476],"66843aff":[()=>Promise.all([n.e(8592),n.e(7199)]).then(n.bind(n,7449)),"@site/docs/components/client-components/File-save.md",7449],"693028f3":[()=>Promise.all([n.e(8592),n.e(3779)]).then(n.bind(n,8727)),"@site/docs/components/events/blur-event.md",8727],"69802c4b":[()=>Promise.all([n.e(8592),n.e(5597)]).then(n.bind(n,6190)),"@site/docs/components/client-components/Tree-node.md",6190],"6a3d3763":[()=>Promise.all([n.e(8592),n.e(5800)]).then(n.bind(n,6524)),"@site/docs/components/client-components/Radio.md",6524],"6da97851":[()=>Promise.all([n.e(8592),n.e(9583)]).then(n.bind(n,4486)),"@site/docs/components/events/list-close-event.md",4486],"6eb7f153":[()=>Promise.all([n.e(8592),n.e(5090)]).then(n.bind(n,3713)),"@site/docs/components/client-components/Popupmenu.md",3713],"6f3f7b75":[()=>Promise.all([n.e(532),n.e(8592),n.e(9486)]).then(n.bind(n,9719)),"@site/docs/components/styles/checkbox.md",9719],"700cec1a":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(4020)]).then(n.bind(n,5338)),"@site/docs/components/radio-group.md",5338],"71b4e446":[()=>Promise.all([n.e(8592),n.e(6949)]).then(n.bind(n,8448)),"@site/docs/components/client-components/Slider.md",8448],"76eefc0f":[()=>Promise.all([n.e(8592),n.e(4718)]).then(n.bind(n,7335)),"@site/docs/components/events/list-open-event.md",7335],79697695:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(1588)]).then(n.bind(n,3751)),"@site/docs/components/fields/text-field.md",3751],"7b2f26a3":[()=>Promise.all([n.e(8592),n.e(7802)]).then(n.bind(n,9957)),"@site/src/pages/live_demo.js",9957],"7c7204eb":[()=>Promise.all([n.e(8592),n.e(3574)]).then(n.bind(n,8287)),"@site/docs/components/events/list-event.md",8287],"7dbfa287":[()=>Promise.all([n.e(8592),n.e(6094)]).then(n.bind(n,8302)),"@site/docs/components/client-components/Inputn.md",8302],"7eb55c50":[()=>Promise.all([n.e(8592),n.e(5993)]).then(n.bind(n,3471)),"@site/docs/components/client-components/Refresher.md",3471],"7f7b6a5a":[()=>Promise.all([n.e(8592),n.e(2616)]).then(n.bind(n,4519)),"@site/docs/components/events/uncheck-event.md",4519],"7f80ed3d":[()=>Promise.all([n.e(8592),n.e(9058)]).then(n.bind(n,6703)),"@site/docs/components/client-components/Editbox.md",6703],"85d08387":[()=>n.e(2163).then(n.t.bind(n,8638,19)),"~docs/default/category-docs-documentationsidebar-category-getting-started-dc6.json",8638],"87878b99":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(9047)]).then(n.bind(n,4679)),"@site/docs/components/checkbox.md",4679],"899bab7c":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(3074)]).then(n.bind(n,1172)),"@site/docs/components/list-components/combo-box.md",1172],"8cb88c1d":[()=>Promise.all([n.e(8592),n.e(4383)]).then(n.bind(n,3236)),"@site/docs/components/client-components/Drawer.md",3236],"8f54fd02":[()=>Promise.all([n.e(8592),n.e(1776)]).then(n.bind(n,4461)),"@site/docs/components/client-components/Alert.md",4461],"935f2afb":[()=>n.e(53).then(n.t.bind(n,1109,19)),"~docs/default/version-current-metadata-prop-751.json",1109],"9774bb5c":[()=>Promise.all([n.e(8592),n.e(8524)]).then(n.bind(n,6822)),"@site/docs/getting_started/creating_an_application.md",6822],"977f47c1":[()=>Promise.all([n.e(8592),n.e(7964)]).then(n.bind(n,1219)),"@site/docs/components/client-components/Inputd-spinner.md",1219],"9807f789":[()=>Promise.all([n.e(8592),n.e(1878)]).then(n.bind(n,9888)),"@site/docs/components/client-components/Infinite-scroll.md",9888],"98567d22":[()=>Promise.all([n.e(8592),n.e(1432)]).then(n.bind(n,3564)),"@site/docs/installation/github_codespaces.md",3564],"9df0fb54":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(1368)]).then(n.bind(n,3284)),"@site/docs/components/text-area.md",3284],"9eb89d33":[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(5148)]).then(n.bind(n,8051)),"@site/docs/components/button.md",8051],a113490b:[()=>Promise.all([n.e(8592),n.e(6450)]).then(n.bind(n,2033)),"@site/docs/getting_started/Templates/hello_world.md",2033],a1ac9222:[()=>Promise.all([n.e(8592),n.e(2283)]).then(n.bind(n,5553)),"@site/docs/components/client-components/List.md",5553],a2f6c742:[()=>Promise.all([n.e(8592),n.e(6558)]).then(n.bind(n,2071)),"@site/docs/components/client-components/Inputd.md",2071],a4de130a:[()=>Promise.all([n.e(8592),n.e(8045)]).then(n.bind(n,8229)),"@site/docs/components/client-components/File-chooser.md",8229],a4ec1fc0:[()=>Promise.all([n.e(8592),n.e(4125)]).then(n.bind(n,144)),"@site/docs/components/client-components/Hotkey.md",144],a74b0825:[()=>Promise.all([n.e(8592),n.e(3317)]).then(n.bind(n,8650)),"@site/docs/installation/local_install.md",8650],a7bd4aaa:[()=>n.e(8518).then(n.bind(n,8564)),"@theme/DocVersionRoot",8564],a94703ab:[()=>Promise.all([n.e(532),n.e(4368)]).then(n.bind(n,2674)),"@theme/DocRoot",2674],a980013d:[()=>Promise.all([n.e(8592),n.e(1205)]).then(n.bind(n,7750)),"@site/docs/components/events/mouse-exit-event.md",7750],a9bfb29e:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(5430)]).then(n.bind(n,7722)),"@site/docs/layouts/app-layout.md",7722],aad6d339:[()=>Promise.all([n.e(8592),n.e(8794)]).then(n.bind(n,8870)),"@site/docs/components/client-components/Color-chooser.md",8870],abb5f9c4:[()=>Promise.all([n.e(8592),n.e(3782)]).then(n.bind(n,431)),"@site/docs/components/client-components/Dialog.md",431],ac18fad6:[()=>Promise.all([n.e(8592),n.e(9666)]).then(n.bind(n,7160)),"@site/docs/components/events/focus-event.md",7160],ac555a8a:[()=>Promise.all([n.e(8592),n.e(6027)]).then(n.bind(n,760)),"@site/docs/components/client-components/Menuitem.md",760],add51b50:[()=>Promise.all([n.e(8592),n.e(4305)]).then(n.bind(n,8019)),"@site/docs/components/client-components/Alert-popover.md",8019],ae2bfb5e:[()=>Promise.all([n.e(8592),n.e(8608)]).then(n.bind(n,2323)),"@site/docs/components/client-components/Menu.md",2323],af08f1ee:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(6405)]).then(n.bind(n,6509)),"@site/docs/components/fields/date-field.md",6509],b330cd6c:[()=>Promise.all([n.e(8592),n.e(1898)]).then(n.bind(n,8020)),"@site/docs/components/client-components/Splitter.md",8020],b3adb49b:[()=>n.e(7312).then(n.t.bind(n,3769,19)),"/home/runner/work/dwcjava.github.io/dwcjava.github.io/.docusaurus/docusaurus-plugin-content-docs/default/plugin-route-context-module-100.json",3769],b512792d:[()=>Promise.all([n.e(8592),n.e(4007)]).then(n.bind(n,2084)),"@site/docs/components/client-components/Login.md",2084],b6fc7147:[()=>Promise.all([n.e(8592),n.e(5289)]).then(n.bind(n,5943)),"@site/docs/components/events/right-mouse-down-event.md",5943],b8ef75ed:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(6266)]).then(n.bind(n,7391)),"@site/docs/components/list-components/lists.md",7391],b914e798:[()=>Promise.all([n.e(8592),n.e(3150)]).then(n.bind(n,717)),"@site/docs/styling/getting_started.md",717],ba4df261:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(9580)]).then(n.bind(n,1629)),"@site/docs/components/fields/color-field.md",1629],bedc8a73:[()=>n.e(591).then(n.t.bind(n,5745,19)),"/home/runner/work/dwcjava.github.io/dwcjava.github.io/.docusaurus/docusaurus-plugin-content-pages/default/plugin-route-context-module-100.json",5745],c4ecc0ec:[()=>Promise.all([n.e(8592),n.e(8699)]).then(n.bind(n,8253)),"@site/docs/components/client-components/Tabs-list.md",8253],c4f5d8e4:[()=>Promise.all([n.e(532),n.e(8592),n.e(8660),n.e(4193)]).then(n.bind(n,3714)),"@site/src/pages/index.js",3714],c548088a:[()=>Promise.all([n.e(8592),n.e(3021)]).then(n.bind(n,2610)),"@site/docs/components/events/toggle-event.md",2610],c57ca45f:[()=>Promise.all([n.e(8592),n.e(9810)]).then(n.bind(n,4977)),"@site/docs/components/client-components/Icon-button.md",4977],c58736f6:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(1517)]).then(n.bind(n,8309)),"@site/docs/components/dialog.md",8309],c90035ea:[()=>Promise.all([n.e(8592),n.e(6628)]).then(n.bind(n,261)),"@site/docs/components/client-components/Icon.md",261],cb648109:[()=>Promise.all([n.e(8592),n.e(9635)]).then(n.bind(n,6429)),"@site/docs/components/client-components/Inputn-spinner.md",6429],dc93842a:[()=>Promise.all([n.e(8592),n.e(4751)]).then(n.bind(n,2635)),"@site/docs/components/events/mouse-enter-event.md",2635],dd91dd19:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(18)]).then(n.bind(n,6473)),"@site/docs/layouts/flex_layouts.md",6473],dee26f84:[()=>Promise.all([n.e(8592),n.e(3588)]).then(n.bind(n,2025)),"@site/docs/components/client-components/Inpute-spinner.md",2025],e2c97c51:[()=>Promise.all([n.e(8592),n.e(8730)]).then(n.bind(n,3401)),"@site/docs/components/client-components/Cedit.md",3401],e4104523:[()=>Promise.all([n.e(8592),n.e(7448)]).then(n.bind(n,4080)),"@site/docs/components/client-components/Navigator.md",4080],e5003ac9:[()=>Promise.all([n.e(8592),n.e(2115)]).then(n.bind(n,2309)),"@site/docs/components/client-components/Button.md",2309],e5a16701:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(9243)]).then(n.bind(n,4074)),"@site/docs/components/fields/number-field.md",4074],e6d01527:[()=>Promise.all([n.e(8592),n.e(2276)]).then(n.bind(n,5839)),"@site/docs/installation/docker_user.md",5839],e71a10cb:[()=>Promise.all([n.e(8592),n.e(7711)]).then(n.bind(n,2530)),"@site/docs/components/events/modify-event.md",2530],e747ec83:[()=>Promise.all([n.e(8592),n.e(2291)]).then(n.bind(n,8172)),"@site/docs/glossary.md",8172],e89ff0bb:[()=>Promise.all([n.e(8592),n.e(4418)]).then(n.bind(n,6892)),"@site/docs/components/client-components/Inputt.md",6892],e97f9a74:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(9729)]).then(n.bind(n,6572)),"@site/docs/components/slider.md",6572],e9df50f6:[()=>n.e(9234).then(n.t.bind(n,3514,19)),"~docs/default/category-docs-documentationsidebar-category-styles-1d7.json",3514],eca5a6fe:[()=>Promise.all([n.e(8592),n.e(1385)]).then(n.bind(n,9256)),"@site/docs/components/events/list-select-event.md",9256],ee6c8bca:[()=>Promise.all([n.e(8592),n.e(6918)]).then(n.bind(n,4833)),"@site/docs/components/client-components/Menubar.md",4833],f1ecfa8c:[()=>Promise.all([n.e(8592),n.e(2941)]).then(n.bind(n,7021)),"@site/docs/components/client-components/List-button.md",7021],f3918844:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(1030)]).then(n.bind(n,8533)),"@site/docs/components/fields/password-field.md",8533],ff6d8346:[()=>Promise.all([n.e(532),n.e(8592),n.e(8537),n.e(2529)]).then(n.bind(n,353)),"@site/docs/components/radio-button.md",353],ff8293ff:[()=>Promise.all([n.e(8592),n.e(2048)]).then(n.bind(n,5542)),"@site/docs/components/client-components/Toast.md",5542]};var s=n(5893);function l(e){let{error:t,retry:n,pastDelay:o}=e;return t?(0,s.jsxs)("div",{style:{textAlign:"center",color:"#fff",backgroundColor:"#fa383e",borderColor:"#fa383e",borderStyle:"solid",borderRadius:"0.25rem",borderWidth:"1px",boxSizing:"border-box",display:"block",padding:"1rem",flex:"0 0 50%",marginLeft:"25%",marginRight:"25%",marginTop:"5rem",maxWidth:"50%",width:"100%"},children:[(0,s.jsx)("p",{children:String(t)}),(0,s.jsx)("div",{children:(0,s.jsx)("button",{type:"button",onClick:n,children:"Retry"})})]}):o?(0,s.jsx)("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",height:"100vh"},children:(0,s.jsx)("svg",{id:"loader",style:{width:128,height:110,position:"absolute",top:"calc(100vh - 64%)"},viewBox:"0 0 45 45",xmlns:"http://www.w3.org/2000/svg",stroke:"#61dafb",children:(0,s.jsxs)("g",{fill:"none",fillRule:"evenodd",transform:"translate(1 1)",strokeWidth:"2",children:[(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"1.5s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"1.5s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"1.5s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsxs)("circle",{cx:"22",cy:"22",r:"6",strokeOpacity:"0",children:[(0,s.jsx)("animate",{attributeName:"r",begin:"3s",dur:"3s",values:"6;22",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-opacity",begin:"3s",dur:"3s",values:"1;0",calcMode:"linear",repeatCount:"indefinite"}),(0,s.jsx)("animate",{attributeName:"stroke-width",begin:"3s",dur:"3s",values:"2;0",calcMode:"linear",repeatCount:"indefinite"})]}),(0,s.jsx)("circle",{cx:"22",cy:"22",r:"8",children:(0,s.jsx)("animate",{attributeName:"r",begin:"0s",dur:"1.5s",values:"6;1;2;3;4;5;6",calcMode:"linear",repeatCount:"indefinite"})})]})})}):null}var c=n(9670),u=n(226);function d(e,t){if("*"===e)return r()({loading:l,loader:()=>n.e(1772).then(n.bind(n,1772)),modules:["@theme/NotFound"],webpack:()=>[1772],render(e,t){const n=e.default;return(0,s.jsx)(u.z,{value:{plugin:{name:"native",id:"default"}},children:(0,s.jsx)(n,{...t})})}});const o=a[`${e}-${t}`],d={},p=[],f=[],m=(0,c.Z)(o);return Object.entries(m).forEach((e=>{let[t,n]=e;const o=i[n];o&&(d[t]=o[0],p.push(o[1]),f.push(o[2]))})),r().Map({loading:l,loader:d,modules:p,webpack:()=>f,render(t,n){const r=JSON.parse(JSON.stringify(o));Object.entries(t).forEach((t=>{let[n,o]=t;const a=o.default;if(!a)throw new Error(`The page component at ${e} doesn't have a default export. This makes it impossible to render anything. Consider default-exporting a React component.`);"object"!=typeof a&&"function"!=typeof a||Object.keys(o).filter((e=>"default"!==e)).forEach((e=>{a[e]=o[e]}));let i=r;const s=n.split(".");s.slice(0,-1).forEach((e=>{i=i[e]})),i[s[s.length-1]]=a}));const a=r.__comp;delete r.__comp;const i=r.__context;return delete r.__context,(0,s.jsx)(u.z,{value:i,children:(0,s.jsx)(a,{...r,...n})})}})}const p=[{path:"/live_demo",component:d("/live_demo","8c1"),exact:!0},{path:"/markdown-page",component:d("/markdown-page","27e"),exact:!0},{path:"/search",component:d("/search","7ab"),exact:!0},{path:"/docs",component:d("/docs","78f"),routes:[{path:"/docs",component:d("/docs","5c2"),routes:[{path:"/docs",component:d("/docs","b28"),routes:[{path:"/docs/category/getting-started",component:d("/docs/category/getting-started","4cf"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/category/layouts",component:d("/docs/category/layouts","7a1"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/category/styles",component:d("/docs/category/styles","1c2"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/bbj-icon",component:d("/docs/components/bbj-icon","551"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/button",component:d("/docs/components/button","c2a"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/checkbox",component:d("/docs/components/checkbox","0d4"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/alert",component:d("/docs/components/client-components/alert","c17"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/alert-popover",component:d("/docs/components/client-components/alert-popover","138"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/app-layout",component:d("/docs/components/client-components/app-layout","193"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/backdrop",component:d("/docs/components/client-components/backdrop","3b6"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/busy",component:d("/docs/components/client-components/busy","a52"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/button",component:d("/docs/components/client-components/button","255"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/cedit",component:d("/docs/components/client-components/cedit","518"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/checkbox",component:d("/docs/components/client-components/checkbox","ac5"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/color-chooser",component:d("/docs/components/client-components/color-chooser","c03"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/dialog",component:d("/docs/components/client-components/dialog","c72"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/drawer",component:d("/docs/components/client-components/drawer","e37"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/dropdown",component:d("/docs/components/client-components/dropdown","7db"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/editbox",component:d("/docs/components/client-components/editbox","a98"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/editbox-spinner",component:d("/docs/components/client-components/editbox-spinner","214"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/file-chooser",component:d("/docs/components/client-components/file-chooser","25e"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/file-save",component:d("/docs/components/client-components/file-save","3d4"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/font-chooser",component:d("/docs/components/client-components/font-chooser","787"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/hotkey",component:d("/docs/components/client-components/hotkey","654"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/icon",component:d("/docs/components/client-components/icon","f01"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/icon-button",component:d("/docs/components/client-components/icon-button","bb7"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/infinite-scroll",component:d("/docs/components/client-components/infinite-scroll","60b"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inputd",component:d("/docs/components/client-components/inputd","e79"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inputd-spinner",component:d("/docs/components/client-components/inputd-spinner","354"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inpute",component:d("/docs/components/client-components/inpute","8de"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inpute-spinner",component:d("/docs/components/client-components/inpute-spinner","fe9"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inputn",component:d("/docs/components/client-components/inputn","41c"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inputn-spinner",component:d("/docs/components/client-components/inputn-spinner","231"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inputt",component:d("/docs/components/client-components/inputt","d38"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/inputt-spinner",component:d("/docs/components/client-components/inputt-spinner","a19"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/list",component:d("/docs/components/client-components/list","4f6"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/list-button",component:d("/docs/components/client-components/list-button","554"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/list-edit",component:d("/docs/components/client-components/list-edit","8b5"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/login",component:d("/docs/components/client-components/login","b47"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/menu",component:d("/docs/components/client-components/menu","41a"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/menubar",component:d("/docs/components/client-components/menubar","a37"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/menuitem",component:d("/docs/components/client-components/menuitem","003"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/navigator",component:d("/docs/components/client-components/navigator","781"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/popover",component:d("/docs/components/client-components/popover","02c"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/popupmenu",component:d("/docs/components/client-components/popupmenu","b76"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/progressbar",component:d("/docs/components/client-components/progressbar","d07"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/radio",component:d("/docs/components/client-components/radio","1af"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/refresher",component:d("/docs/components/client-components/refresher","000"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/separator",component:d("/docs/components/client-components/separator","3fb"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/slider",component:d("/docs/components/client-components/slider","330"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/spinner",component:d("/docs/components/client-components/spinner","df5"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/splitter",component:d("/docs/components/client-components/splitter","eeb"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/tab",component:d("/docs/components/client-components/tab","028"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/tab-panel",component:d("/docs/components/client-components/tab-panel","a71"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/tabs-list",component:d("/docs/components/client-components/tabs-list","38e"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/toast",component:d("/docs/components/client-components/toast","cee"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/tree",component:d("/docs/components/client-components/tree","77a"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/tree-node",component:d("/docs/components/client-components/tree-node","55d"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/client-components/upload",component:d("/docs/components/client-components/upload","1b4"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/dialog",component:d("/docs/components/dialog","2a7"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/drawer",component:d("/docs/components/drawer","aeb"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/BlurEvent",component:d("/docs/components/events/BlurEvent","cca"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ButtonClickEvent",component:d("/docs/components/events/ButtonClickEvent","b70"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/CheckEvent",component:d("/docs/components/events/CheckEvent","07a"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/event",component:d("/docs/components/events/event","f64"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/FocusEvent",component:d("/docs/components/events/FocusEvent","47f"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/KeypressEvent",component:d("/docs/components/events/KeypressEvent","577"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ListClickEvent",component:d("/docs/components/events/ListClickEvent","8af"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ListCloseEvent",component:d("/docs/components/events/ListCloseEvent","0fb"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ListEvent",component:d("/docs/components/events/ListEvent","35d"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ListOpenEvent",component:d("/docs/components/events/ListOpenEvent","afa"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ListSelectEvent",component:d("/docs/components/events/ListSelectEvent","8f4"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ModifyEvent",component:d("/docs/components/events/ModifyEvent","8f7"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/MouseEnterEvent",component:d("/docs/components/events/MouseEnterEvent","eec"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/MouseExitEvent",component:d("/docs/components/events/MouseExitEvent","228"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/RightMouseDownEvent",component:d("/docs/components/events/RightMouseDownEvent","af9"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/ToggleEvent",component:d("/docs/components/events/ToggleEvent","158"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/events/UncheckEvent",component:d("/docs/components/events/UncheckEvent","449"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields",component:d("/docs/components/fields","f0e"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields/colorfield",component:d("/docs/components/fields/colorfield","a5a"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields/datefield",component:d("/docs/components/fields/datefield","f47"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields/datetimefield",component:d("/docs/components/fields/datetimefield","030"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields/numberfield",component:d("/docs/components/fields/numberfield","990"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields/passwordfield",component:d("/docs/components/fields/passwordfield","031"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields/textfield",component:d("/docs/components/fields/textfield","545"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/fields/timefield",component:d("/docs/components/fields/timefield","916"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/home",component:d("/docs/components/home","130"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/label",component:d("/docs/components/label","f55"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/list-components/choicebox",component:d("/docs/components/list-components/choicebox","cc6"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/list-components/combobox",component:d("/docs/components/list-components/combobox","5cd"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/list-components/listbox",component:d("/docs/components/list-components/listbox","681"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/list-components/lists",component:d("/docs/components/list-components/lists","5fa"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/progress-bar",component:d("/docs/components/progress-bar","630"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/radiobutton",component:d("/docs/components/radiobutton","643"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/radiobuttongroup",component:d("/docs/components/radiobuttongroup","952"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/slider",component:d("/docs/components/slider","bff"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/styles/checkbox",component:d("/docs/components/styles/checkbox","ad1"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/components/text-area",component:d("/docs/components/text-area","404"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/getting_started/architecture",component:d("/docs/getting_started/architecture","04f"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/getting_started/configuration",component:d("/docs/getting_started/configuration","4b8"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/getting_started/creating_an_application",component:d("/docs/getting_started/creating_an_application","3f6"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/getting_started/Templates/app_layout",component:d("/docs/getting_started/Templates/app_layout","8c0"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/getting_started/Templates/hello_world",component:d("/docs/getting_started/Templates/hello_world","f15"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/glossary",component:d("/docs/glossary","e70"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/installation",component:d("/docs/installation","f8e"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/installation/contributors",component:d("/docs/installation/contributors","ee8"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/installation/docker_user",component:d("/docs/installation/docker_user","a1d"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/installation/github_codespaces",component:d("/docs/installation/github_codespaces","d35"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/installation/local_install",component:d("/docs/installation/local_install","c1a"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/intro",component:d("/docs/intro","229"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/layouts/app-layout",component:d("/docs/layouts/app-layout","f76"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/layouts/flex_layouts",component:d("/docs/layouts/flex_layouts","52a"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/styling/styling_intro",component:d("/docs/styling/styling_intro","d99"),exact:!0,sidebar:"documentationSidebar"},{path:"/docs/styling/theme",component:d("/docs/styling/theme","ac9"),exact:!0,sidebar:"documentationSidebar"}]}]}]},{path:"/",component:d("/","f66"),exact:!0},{path:"*",component:d("*")}]},8934:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,t:()=>i});var o=n(7294),r=n(5893);const a=o.createContext(!1);function i(e){let{children:t}=e;const[n,i]=(0,o.useState)(!1);return(0,o.useEffect)((()=>{i(!0)}),[]),(0,r.jsx)(a.Provider,{value:n,children:t})}},7221:(e,t,n)=>{"use strict";var o=n(7294),r=n(745),a=n(3727),i=n(405),s=n(412);const l=[n(6657),n(2497),n(3310),n(8320),n(2295)];var c=n(723),u=n(6550),d=n(8790),p=n(5893);function f(e){let{children:t}=e;return(0,p.jsx)(p.Fragment,{children:t})}var m=n(5742),h=n(2263),g=n(4996),b=n(6668),y=n(833),v=n(4711),w=n(9727),x=n(3320),k=n(8780),S=n(197);function _(){const{i18n:{currentLocale:e,defaultLocale:t,localeConfigs:n}}=(0,h.Z)(),o=(0,v.l)(),r=n[e].htmlLang,a=e=>e.replace("-","_");return(0,p.jsxs)(m.Z,{children:[Object.entries(n).map((e=>{let[t,{htmlLang:n}]=e;return(0,p.jsx)("link",{rel:"alternate",href:o.createUrl({locale:t,fullyQualified:!0}),hrefLang:n},t)})),(0,p.jsx)("link",{rel:"alternate",href:o.createUrl({locale:t,fullyQualified:!0}),hrefLang:"x-default"}),(0,p.jsx)("meta",{property:"og:locale",content:a(r)}),Object.values(n).filter((e=>r!==e.htmlLang)).map((e=>(0,p.jsx)("meta",{property:"og:locale:alternate",content:a(e.htmlLang)},`meta-og-${e.htmlLang}`)))]})}function E(e){let{permalink:t}=e;const{siteConfig:{url:n}}=(0,h.Z)(),o=function(){const{siteConfig:{url:e,baseUrl:t,trailingSlash:n}}=(0,h.Z)(),{pathname:o}=(0,u.TH)();return e+(0,k.applyTrailingSlash)((0,g.Z)(o),{trailingSlash:n,baseUrl:t})}(),r=t?`${n}${t}`:o;return(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{property:"og:url",content:r}),(0,p.jsx)("link",{rel:"canonical",href:r})]})}function C(){const{i18n:{currentLocale:e}}=(0,h.Z)(),{metadata:t,image:n}=(0,b.L)();return(0,p.jsxs)(p.Fragment,{children:[(0,p.jsxs)(m.Z,{children:[(0,p.jsx)("meta",{name:"twitter:card",content:"summary_large_image"}),(0,p.jsx)("body",{className:w.h})]}),n&&(0,p.jsx)(y.d,{image:n}),(0,p.jsx)(E,{}),(0,p.jsx)(_,{}),(0,p.jsx)(S.Z,{tag:x.HX,locale:e}),(0,p.jsx)(m.Z,{children:t.map(((e,t)=>(0,p.jsx)("meta",{...e},t)))})]})}const T=new Map;function P(e){if(T.has(e.pathname))return{...e,pathname:T.get(e.pathname)};if((0,d.f)(c.Z,e.pathname).some((e=>{let{route:t}=e;return!0===t.exact})))return T.set(e.pathname,e.pathname),e;const t=e.pathname.trim().replace(/(?:\/index)?\.html$/,"")||"/";return T.set(e.pathname,t),{...e,pathname:t}}var L=n(8934),A=n(8940),j=n(469);function N(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o{const o=t.default?.[e]??t[e];return o?.(...n)}));return()=>r.forEach((e=>e?.()))}const R=function(e){let{children:t,location:n,previousLocation:o}=e;return(0,j.Z)((()=>{o!==n&&(!function(e){let{location:t,previousLocation:n}=e;if(!n)return;const o=t.pathname===n.pathname,r=t.hash===n.hash,a=t.search===n.search;if(o&&r&&!a)return;const{hash:i}=t;if(i){const e=decodeURIComponent(i.substring(1)),t=document.getElementById(e);t?.scrollIntoView()}else window.scrollTo(0,0)}({location:n,previousLocation:o}),N("onRouteDidUpdate",{previousLocation:o,location:n}))}),[o,n]),t};function O(e){const t=Array.from(new Set([e,decodeURI(e)])).map((e=>(0,d.f)(c.Z,e))).flat();return Promise.all(t.map((e=>e.route.component.preload?.())))}class I extends o.Component{previousLocation;routeUpdateCleanupCb;constructor(e){super(e),this.previousLocation=null,this.routeUpdateCleanupCb=s.Z.canUseDOM?N("onRouteUpdate",{previousLocation:null,location:this.props.location}):()=>{},this.state={nextRouteHasLoaded:!0}}shouldComponentUpdate(e,t){if(e.location===this.props.location)return t.nextRouteHasLoaded;const n=e.location;return this.previousLocation=this.props.location,this.setState({nextRouteHasLoaded:!1}),this.routeUpdateCleanupCb=N("onRouteUpdate",{previousLocation:this.previousLocation,location:n}),O(n.pathname).then((()=>{this.routeUpdateCleanupCb(),this.setState({nextRouteHasLoaded:!0})})).catch((e=>{console.warn(e),window.location.reload()})),!1}render(){const{children:e,location:t}=this.props;return(0,p.jsx)(R,{previousLocation:this.previousLocation,location:t,children:(0,p.jsx)(u.AW,{location:t,render:()=>e})})}}const M=I,F="__docusaurus-base-url-issue-banner-container",D="__docusaurus-base-url-issue-banner",B="__docusaurus-base-url-issue-banner-suggestion-container";function z(e){return`\ndocument.addEventListener('DOMContentLoaded', function maybeInsertBanner() {\n var shouldInsert = typeof window['docusaurus'] === 'undefined';\n shouldInsert && insertBanner();\n});\n\nfunction insertBanner() {\n var bannerContainer = document.createElement('div');\n bannerContainer.id = '${F}';\n var bannerHtml = ${JSON.stringify(function(e){return`\n
\n

Your Docusaurus site did not load properly.

\n

A very common reason is a wrong site baseUrl configuration.

\n

Current configured baseUrl = ${e} ${"/"===e?" (default value)":""}

\n

We suggest trying baseUrl =

\n
\n`}(e)).replace(/{if("undefined"==typeof document)return void n();const o=document.createElement("link");o.setAttribute("rel","prefetch"),o.setAttribute("href",e),o.onload=()=>t(),o.onerror=()=>n();const r=document.getElementsByTagName("head")[0]??document.getElementsByName("script")[0]?.parentNode;r?.appendChild(o)}))}:function(e){return new Promise(((t,n)=>{const o=new XMLHttpRequest;o.open("GET",e,!0),o.withCredentials=!0,o.onload=()=>{200===o.status?t():n()},o.send(null)}))};var Y=n(9670);const Q=new Set,X=new Set,J=()=>navigator.connection?.effectiveType.includes("2g")||navigator.connection?.saveData,ee={prefetch(e){if(!(e=>!J()&&!X.has(e)&&!Q.has(e))(e))return!1;Q.add(e);const t=(0,d.f)(c.Z,e).flatMap((e=>{return t=e.route.path,Object.entries(G).filter((e=>{let[n]=e;return n.replace(/-[^-]+$/,"")===t})).flatMap((e=>{let[,t]=e;return Object.values((0,Y.Z)(t))}));var t}));return Promise.all(t.map((e=>{const t=n.gca(e);return t&&!t.includes("undefined")?K(t).catch((()=>{})):Promise.resolve()})))},preload:e=>!!(e=>!J()&&!X.has(e))(e)&&(X.add(e),O(e))},te=Object.freeze(ee),ne=Boolean(!0);if(s.Z.canUseDOM){window.docusaurus=te;const e=document.getElementById("__docusaurus"),t=(0,p.jsx)(i.B6,{children:(0,p.jsx)(a.VK,{children:(0,p.jsx)(q,{})})}),n=(e,t)=>{console.error("Docusaurus React Root onRecoverableError:",e,t)},s=()=>{if(ne)o.startTransition((()=>{r.hydrateRoot(e,t,{onRecoverableError:n})}));else{const a=r.createRoot(e,{onRecoverableError:n});o.startTransition((()=>{a.render(t)}))}};O(window.location.pathname).then(s)}},8940:(e,t,n)=>{"use strict";n.d(t,{_:()=>d,M:()=>p});var o=n(7294),r=n(6809);const a=JSON.parse('{"docusaurus-plugin-google-gtag":{"default":{"trackingID":["G-84THEWQM3G"],"anonymizeIP":true,"id":"default"}},"docusaurus-plugin-google-tag-manager":{"default":{"containerId":"GTM-NB7VHG4","id":"default"}},"docusaurus-plugin-content-docs":{"default":{"path":"/docs","versions":[{"name":"current","label":"Next","isLast":true,"path":"/docs","mainDocId":"intro","docs":[{"id":"components/bbj-icon","path":"/docs/components/bbj-icon","sidebar":"documentationSidebar"},{"id":"components/button","path":"/docs/components/button","sidebar":"documentationSidebar"},{"id":"components/checkbox","path":"/docs/components/checkbox","sidebar":"documentationSidebar"},{"id":"components/client-components/Alert","path":"/docs/components/client-components/alert","sidebar":"documentationSidebar"},{"id":"components/client-components/Alert-popover","path":"/docs/components/client-components/alert-popover","sidebar":"documentationSidebar"},{"id":"components/client-components/App-layout","path":"/docs/components/client-components/app-layout","sidebar":"documentationSidebar"},{"id":"components/client-components/Backdrop","path":"/docs/components/client-components/backdrop","sidebar":"documentationSidebar"},{"id":"components/client-components/Busy","path":"/docs/components/client-components/busy","sidebar":"documentationSidebar"},{"id":"components/client-components/Button","path":"/docs/components/client-components/button","sidebar":"documentationSidebar"},{"id":"components/client-components/Cedit","path":"/docs/components/client-components/cedit","sidebar":"documentationSidebar"},{"id":"components/client-components/Checkbox","path":"/docs/components/client-components/checkbox","sidebar":"documentationSidebar"},{"id":"components/client-components/Color-chooser","path":"/docs/components/client-components/color-chooser","sidebar":"documentationSidebar"},{"id":"components/client-components/Dialog","path":"/docs/components/client-components/dialog","sidebar":"documentationSidebar"},{"id":"components/client-components/Drawer","path":"/docs/components/client-components/drawer","sidebar":"documentationSidebar"},{"id":"components/client-components/Dropdown","path":"/docs/components/client-components/dropdown","sidebar":"documentationSidebar"},{"id":"components/client-components/Editbox","path":"/docs/components/client-components/editbox","sidebar":"documentationSidebar"},{"id":"components/client-components/Editbox-spinner","path":"/docs/components/client-components/editbox-spinner","sidebar":"documentationSidebar"},{"id":"components/client-components/File-chooser","path":"/docs/components/client-components/file-chooser","sidebar":"documentationSidebar"},{"id":"components/client-components/File-save","path":"/docs/components/client-components/file-save","sidebar":"documentationSidebar"},{"id":"components/client-components/Font-chooser","path":"/docs/components/client-components/font-chooser","sidebar":"documentationSidebar"},{"id":"components/client-components/Hotkey","path":"/docs/components/client-components/hotkey","sidebar":"documentationSidebar"},{"id":"components/client-components/Icon","path":"/docs/components/client-components/icon","sidebar":"documentationSidebar"},{"id":"components/client-components/Icon-button","path":"/docs/components/client-components/icon-button","sidebar":"documentationSidebar"},{"id":"components/client-components/Infinite-scroll","path":"/docs/components/client-components/infinite-scroll","sidebar":"documentationSidebar"},{"id":"components/client-components/Inputd","path":"/docs/components/client-components/inputd","sidebar":"documentationSidebar"},{"id":"components/client-components/Inputd-spinner","path":"/docs/components/client-components/inputd-spinner","sidebar":"documentationSidebar"},{"id":"components/client-components/Inpute","path":"/docs/components/client-components/inpute","sidebar":"documentationSidebar"},{"id":"components/client-components/Inpute-spinner","path":"/docs/components/client-components/inpute-spinner","sidebar":"documentationSidebar"},{"id":"components/client-components/Inputn","path":"/docs/components/client-components/inputn","sidebar":"documentationSidebar"},{"id":"components/client-components/Inputn-spinner","path":"/docs/components/client-components/inputn-spinner","sidebar":"documentationSidebar"},{"id":"components/client-components/Inputt","path":"/docs/components/client-components/inputt","sidebar":"documentationSidebar"},{"id":"components/client-components/Inputt-spinner","path":"/docs/components/client-components/inputt-spinner","sidebar":"documentationSidebar"},{"id":"components/client-components/List","path":"/docs/components/client-components/list","sidebar":"documentationSidebar"},{"id":"components/client-components/List-button","path":"/docs/components/client-components/list-button","sidebar":"documentationSidebar"},{"id":"components/client-components/List-edit","path":"/docs/components/client-components/list-edit","sidebar":"documentationSidebar"},{"id":"components/client-components/Login","path":"/docs/components/client-components/login","sidebar":"documentationSidebar"},{"id":"components/client-components/Menu","path":"/docs/components/client-components/menu","sidebar":"documentationSidebar"},{"id":"components/client-components/Menubar","path":"/docs/components/client-components/menubar","sidebar":"documentationSidebar"},{"id":"components/client-components/Menuitem","path":"/docs/components/client-components/menuitem","sidebar":"documentationSidebar"},{"id":"components/client-components/Navigator","path":"/docs/components/client-components/navigator","sidebar":"documentationSidebar"},{"id":"components/client-components/Popover","path":"/docs/components/client-components/popover","sidebar":"documentationSidebar"},{"id":"components/client-components/Popupmenu","path":"/docs/components/client-components/popupmenu","sidebar":"documentationSidebar"},{"id":"components/client-components/Progressbar","path":"/docs/components/client-components/progressbar","sidebar":"documentationSidebar"},{"id":"components/client-components/Radio","path":"/docs/components/client-components/radio","sidebar":"documentationSidebar"},{"id":"components/client-components/Refresher","path":"/docs/components/client-components/refresher","sidebar":"documentationSidebar"},{"id":"components/client-components/Separator","path":"/docs/components/client-components/separator","sidebar":"documentationSidebar"},{"id":"components/client-components/Slider","path":"/docs/components/client-components/slider","sidebar":"documentationSidebar"},{"id":"components/client-components/Spinner","path":"/docs/components/client-components/spinner","sidebar":"documentationSidebar"},{"id":"components/client-components/Splitter","path":"/docs/components/client-components/splitter","sidebar":"documentationSidebar"},{"id":"components/client-components/Tab","path":"/docs/components/client-components/tab","sidebar":"documentationSidebar"},{"id":"components/client-components/Tab-panel","path":"/docs/components/client-components/tab-panel","sidebar":"documentationSidebar"},{"id":"components/client-components/Tabs-list","path":"/docs/components/client-components/tabs-list","sidebar":"documentationSidebar"},{"id":"components/client-components/Toast","path":"/docs/components/client-components/toast","sidebar":"documentationSidebar"},{"id":"components/client-components/Tree","path":"/docs/components/client-components/tree","sidebar":"documentationSidebar"},{"id":"components/client-components/Tree-node","path":"/docs/components/client-components/tree-node","sidebar":"documentationSidebar"},{"id":"components/client-components/Upload","path":"/docs/components/client-components/upload","sidebar":"documentationSidebar"},{"id":"components/dialog","path":"/docs/components/dialog","sidebar":"documentationSidebar"},{"id":"components/drawer","path":"/docs/components/drawer","sidebar":"documentationSidebar"},{"id":"components/events/blur-event","path":"/docs/components/events/BlurEvent","sidebar":"documentationSidebar"},{"id":"components/events/button-click-event","path":"/docs/components/events/ButtonClickEvent","sidebar":"documentationSidebar"},{"id":"components/events/check-event","path":"/docs/components/events/CheckEvent","sidebar":"documentationSidebar"},{"id":"components/events/click-event","path":"/docs/components/events/ListClickEvent","sidebar":"documentationSidebar"},{"id":"components/events/event","path":"/docs/components/events/event","sidebar":"documentationSidebar"},{"id":"components/events/focus-event","path":"/docs/components/events/FocusEvent","sidebar":"documentationSidebar"},{"id":"components/events/keypress-event","path":"/docs/components/events/KeypressEvent","sidebar":"documentationSidebar"},{"id":"components/events/list-close-event","path":"/docs/components/events/ListCloseEvent","sidebar":"documentationSidebar"},{"id":"components/events/list-event","path":"/docs/components/events/ListEvent","sidebar":"documentationSidebar"},{"id":"components/events/list-open-event","path":"/docs/components/events/ListOpenEvent","sidebar":"documentationSidebar"},{"id":"components/events/list-select-event","path":"/docs/components/events/ListSelectEvent","sidebar":"documentationSidebar"},{"id":"components/events/modify-event","path":"/docs/components/events/ModifyEvent","sidebar":"documentationSidebar"},{"id":"components/events/mouse-enter-event","path":"/docs/components/events/MouseEnterEvent","sidebar":"documentationSidebar"},{"id":"components/events/mouse-exit-event","path":"/docs/components/events/MouseExitEvent","sidebar":"documentationSidebar"},{"id":"components/events/right-mouse-down-event","path":"/docs/components/events/RightMouseDownEvent","sidebar":"documentationSidebar"},{"id":"components/events/toggle-event","path":"/docs/components/events/ToggleEvent","sidebar":"documentationSidebar"},{"id":"components/events/uncheck-event","path":"/docs/components/events/UncheckEvent","sidebar":"documentationSidebar"},{"id":"components/fields/color-field","path":"/docs/components/fields/colorfield","sidebar":"documentationSidebar"},{"id":"components/fields/date-field","path":"/docs/components/fields/datefield","sidebar":"documentationSidebar"},{"id":"components/fields/date-time-field","path":"/docs/components/fields/datetimefield","sidebar":"documentationSidebar"},{"id":"components/fields/fields","path":"/docs/components/fields/","sidebar":"documentationSidebar"},{"id":"components/fields/number-field","path":"/docs/components/fields/numberfield","sidebar":"documentationSidebar"},{"id":"components/fields/password-field","path":"/docs/components/fields/passwordfield","sidebar":"documentationSidebar"},{"id":"components/fields/text-field","path":"/docs/components/fields/textfield","sidebar":"documentationSidebar"},{"id":"components/fields/time-field","path":"/docs/components/fields/timefield","sidebar":"documentationSidebar"},{"id":"components/home","path":"/docs/components/home","sidebar":"documentationSidebar"},{"id":"components/label","path":"/docs/components/label","sidebar":"documentationSidebar"},{"id":"components/list-components/choice-box","path":"/docs/components/list-components/choicebox","sidebar":"documentationSidebar"},{"id":"components/list-components/combo-box","path":"/docs/components/list-components/combobox","sidebar":"documentationSidebar"},{"id":"components/list-components/list-box","path":"/docs/components/list-components/listbox","sidebar":"documentationSidebar"},{"id":"components/list-components/lists","path":"/docs/components/list-components/lists","sidebar":"documentationSidebar"},{"id":"components/progress-bar","path":"/docs/components/progress-bar","sidebar":"documentationSidebar"},{"id":"components/radio-button","path":"/docs/components/radiobutton","sidebar":"documentationSidebar"},{"id":"components/radio-group","path":"/docs/components/radiobuttongroup","sidebar":"documentationSidebar"},{"id":"components/slider","path":"/docs/components/slider","sidebar":"documentationSidebar"},{"id":"components/styles/checkbox","path":"/docs/components/styles/checkbox","sidebar":"documentationSidebar"},{"id":"components/text-area","path":"/docs/components/text-area","sidebar":"documentationSidebar"},{"id":"getting_started/architecture","path":"/docs/getting_started/architecture","sidebar":"documentationSidebar"},{"id":"getting_started/configuration","path":"/docs/getting_started/configuration","sidebar":"documentationSidebar"},{"id":"getting_started/creating_an_application","path":"/docs/getting_started/creating_an_application","sidebar":"documentationSidebar"},{"id":"getting_started/Templates/app_layout","path":"/docs/getting_started/Templates/app_layout","sidebar":"documentationSidebar"},{"id":"getting_started/Templates/hello_world","path":"/docs/getting_started/Templates/hello_world","sidebar":"documentationSidebar"},{"id":"glossary","path":"/docs/glossary","sidebar":"documentationSidebar"},{"id":"installation/contributors","path":"/docs/installation/contributors","sidebar":"documentationSidebar"},{"id":"installation/docker_user","path":"/docs/installation/docker_user","sidebar":"documentationSidebar"},{"id":"installation/github_codespaces","path":"/docs/installation/github_codespaces","sidebar":"documentationSidebar"},{"id":"installation/installation","path":"/docs/installation/","sidebar":"documentationSidebar"},{"id":"installation/local_install","path":"/docs/installation/local_install","sidebar":"documentationSidebar"},{"id":"intro","path":"/docs/intro","sidebar":"documentationSidebar"},{"id":"layouts/app-layout","path":"/docs/layouts/app-layout","sidebar":"documentationSidebar"},{"id":"layouts/flex_layouts","path":"/docs/layouts/flex_layouts","sidebar":"documentationSidebar"},{"id":"styling/styling_intro","path":"/docs/styling/styling_intro","sidebar":"documentationSidebar"},{"id":"styling/theme","path":"/docs/styling/theme","sidebar":"documentationSidebar"},{"id":"/category/getting-started","path":"/docs/category/getting-started","sidebar":"documentationSidebar"},{"id":"/category/layouts","path":"/docs/category/layouts","sidebar":"documentationSidebar"},{"id":"/category/styles","path":"/docs/category/styles","sidebar":"documentationSidebar"}],"draftIds":["events"],"sidebars":{"documentationSidebar":{"link":{"path":"/docs/intro","label":"intro"}}}}],"breadcrumbs":true}}}'),i=JSON.parse('{"defaultLocale":"en","locales":["en"],"path":"i18n","currentLocale":"en","localeConfigs":{"en":{"label":"English","direction":"ltr","htmlLang":"en","calendar":"gregory","path":"en"}}}');var s=n(7529);const l=JSON.parse('{"docusaurusVersion":"3.0.0","siteVersion":"0.0.0","pluginVersions":{"docusaurus-plugin-content-docs":{"type":"package","name":"@docusaurus/plugin-content-docs","version":"3.0.0"},"docusaurus-plugin-content-blog":{"type":"package","name":"@docusaurus/plugin-content-blog","version":"3.0.0"},"docusaurus-plugin-content-pages":{"type":"package","name":"@docusaurus/plugin-content-pages","version":"3.0.0"},"docusaurus-plugin-google-gtag":{"type":"package","name":"@docusaurus/plugin-google-gtag","version":"3.0.0"},"docusaurus-plugin-google-tag-manager":{"type":"package","name":"@docusaurus/plugin-google-tag-manager","version":"3.0.0"},"docusaurus-plugin-sitemap":{"type":"package","name":"@docusaurus/plugin-sitemap","version":"3.0.0"},"docusaurus-theme-classic":{"type":"package","name":"@docusaurus/theme-classic","version":"3.0.0"},"docusaurus-theme-search-algolia":{"type":"package","name":"@docusaurus/theme-search-algolia","version":"3.0.0"}}}');var c=n(5893);const u={siteConfig:r.default,siteMetadata:l,globalData:a,i18n:i,codeTranslations:s},d=o.createContext(u);function p(e){let{children:t}=e;return(0,c.jsx)(d.Provider,{value:u,children:t})}},4763:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var o=n(7294),r=n(412),a=n(5742),i=n(8780),s=n(7452),l=n(5893);function c(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)("div",{style:{display:"flex",flexDirection:"column",justifyContent:"center",alignItems:"flex-start",minHeight:"100vh",width:"100%",maxWidth:"80ch",fontSize:"20px",margin:"0 auto",padding:"1rem"},children:[(0,l.jsx)("h1",{style:{fontSize:"3rem"},children:"This page crashed"}),(0,l.jsx)("button",{type:"button",onClick:n,style:{margin:"1rem 0",fontSize:"2rem",cursor:"pointer",borderRadius:20,padding:"1rem"},children:"Try again"}),(0,l.jsx)(u,{error:t})]})}function u(e){let{error:t}=e;const n=(0,i.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,l.jsx)("p",{style:{whiteSpace:"pre-wrap"},children:n})}function d(e){let{error:t,tryAgain:n}=e;return(0,l.jsxs)(f,{fallback:()=>(0,l.jsx)(c,{error:t,tryAgain:n}),children:[(0,l.jsx)(a.Z,{children:(0,l.jsx)("title",{children:"Page Error"})}),(0,l.jsx)(s.Z,{children:(0,l.jsx)(c,{error:t,tryAgain:n})})]})}const p=e=>(0,l.jsx)(d,{...e});class f extends o.Component{constructor(e){super(e),this.state={error:null}}componentDidCatch(e){r.Z.canUseDOM&&this.setState({error:e})}render(){const{children:e}=this.props,{error:t}=this.state;if(t){const e={error:t,tryAgain:()=>this.setState({error:null})};return(this.props.fallback??p)(e)}return e??null}}},412:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const o="undefined"!=typeof window&&"document"in window&&"createElement"in window.document,r={canUseDOM:o,canUseEventListeners:o&&("addEventListener"in window||"attachEvent"in window),canUseIntersectionObserver:o&&"IntersectionObserver"in window,canUseViewport:o&&"screen"in window}},5742:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var o=n(405),r=n(5893);function a(e){return(0,r.jsx)(o.ql,{...e})}},9960:(e,t,n)=>{"use strict";n.d(t,{Z:()=>f});var o=n(7294),r=n(3727),a=n(8780),i=n(2263),s=n(3919),l=n(412),c=n(5893);const u=o.createContext({collectLink:()=>{}});var d=n(4996);function p(e,t){let{isNavLink:n,to:p,href:f,activeClassName:m,isActive:h,"data-noBrokenLinkCheck":g,autoAddBaseUrl:b=!0,...y}=e;const{siteConfig:{trailingSlash:v,baseUrl:w}}=(0,i.Z)(),{withBaseUrl:x}=(0,d.C)(),k=(0,o.useContext)(u),S=(0,o.useRef)(null);(0,o.useImperativeHandle)(t,(()=>S.current));const _=p||f;const E=(0,s.Z)(_),C=_?.replace("pathname://","");let T=void 0!==C?(P=C,b&&(e=>e.startsWith("/"))(P)?x(P):P):void 0;var P;T&&E&&(T=(0,a.applyTrailingSlash)(T,{trailingSlash:v,baseUrl:w}));const L=(0,o.useRef)(!1),A=n?r.OL:r.rU,j=l.Z.canUseIntersectionObserver,N=(0,o.useRef)(),R=()=>{L.current||null==T||(window.docusaurus.preload(T),L.current=!0)};(0,o.useEffect)((()=>(!j&&E&&null!=T&&window.docusaurus.prefetch(T),()=>{j&&N.current&&N.current.disconnect()})),[N,T,j,E]);const O=T?.startsWith("#")??!1,I=!T||!E||O;return I||g||k.collectLink(T),I?(0,c.jsx)("a",{ref:S,href:T,..._&&!E&&{target:"_blank",rel:"noopener noreferrer"},...y}):(0,c.jsx)(A,{...y,onMouseEnter:R,onTouchStart:R,innerRef:e=>{S.current=e,j&&e&&E&&(N.current=new window.IntersectionObserver((t=>{t.forEach((t=>{e===t.target&&(t.isIntersecting||t.intersectionRatio>0)&&(N.current.unobserve(e),N.current.disconnect(),null!=T&&window.docusaurus.prefetch(T))}))})),N.current.observe(e))},to:T,...n&&{isActive:h,activeClassName:m}})}const f=o.forwardRef(p)},5999:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c,I:()=>l});var o=n(7294),r=n(5893);function a(e,t){const n=e.split(/(\{\w+\})/).map(((e,n)=>{if(n%2==1){const n=t?.[e.slice(1,-1)];if(void 0!==n)return n}return e}));return n.some((e=>(0,o.isValidElement)(e)))?n.map(((e,t)=>(0,o.isValidElement)(e)?o.cloneElement(e,{key:t}):e)).filter((e=>""!==e)):n.join("")}var i=n(7529);function s(e){let{id:t,message:n}=e;if(void 0===t&&void 0===n)throw new Error("Docusaurus translation declarations must have at least a translation id or a default translation message");return i[t??n]??n??t}function l(e,t){let{message:n,id:o}=e;return a(s({message:n,id:o}),t)}function c(e){let{children:t,id:n,values:o}=e;if(t&&"string"!=typeof t)throw console.warn("Illegal children",t),new Error("The Docusaurus component only accept simple string values");const i=s({message:t,id:n});return(0,r.jsx)(r.Fragment,{children:a(i,o)})}},9935:(e,t,n)=>{"use strict";n.d(t,{m:()=>o});const o="default"},3919:(e,t,n)=>{"use strict";function o(e){return/^(?:\w*:|\/\/)/.test(e)}function r(e){return void 0!==e&&!o(e)}n.d(t,{Z:()=>r,b:()=>o})},4996:(e,t,n)=>{"use strict";n.d(t,{C:()=>i,Z:()=>s});var o=n(7294),r=n(2263),a=n(3919);function i(){const{siteConfig:{baseUrl:e,url:t}}=(0,r.Z)(),n=(0,o.useCallback)(((n,o)=>function(e,t,n,o){let{forcePrependBaseUrl:r=!1,absolute:i=!1}=void 0===o?{}:o;if(!n||n.startsWith("#")||(0,a.b)(n))return n;if(r)return t+n.replace(/^\//,"");if(n===t.replace(/\/$/,""))return t;const s=n.startsWith(t)?n:t+n.replace(/^\//,"");return i?e+s:s}(t,e,n,o)),[t,e]);return{withBaseUrl:n}}function s(e,t){void 0===t&&(t={});const{withBaseUrl:n}=i();return n(e,t)}},2263:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var o=n(7294),r=n(8940);function a(){return(0,o.useContext)(r._)}},2389:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});var o=n(7294),r=n(8934);function a(){return(0,o.useContext)(r._)}},469:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});var o=n(7294);const r=n(412).Z.canUseDOM?o.useLayoutEffect:o.useEffect},9670:(e,t,n)=>{"use strict";n.d(t,{Z:()=>r});const o=e=>"object"==typeof e&&!!e&&Object.keys(e).length>0;function r(e){const t={};return function e(n,r){Object.entries(n).forEach((n=>{let[a,i]=n;const s=r?`${r}.${a}`:a;o(i)?e(i,s):t[s]=i}))}(e),t}},226:(e,t,n)=>{"use strict";n.d(t,{_:()=>a,z:()=>i});var o=n(7294),r=n(5893);const a=o.createContext(null);function i(e){let{children:t,value:n}=e;const i=o.useContext(a),s=(0,o.useMemo)((()=>function(e){let{parent:t,value:n}=e;if(!t){if(!n)throw new Error("Unexpected: no Docusaurus route context found");if(!("plugin"in n))throw new Error("Unexpected: Docusaurus topmost route context has no `plugin` attribute");return n}const o={...t.data,...n?.data};return{plugin:t.plugin,data:o}}({parent:i,value:n})),[i,n]);return(0,r.jsx)(a.Provider,{value:s,children:t})}},143:(e,t,n)=>{"use strict";n.d(t,{Iw:()=>b,gA:()=>f,WS:()=>m,_r:()=>d,Jo:()=>y,zh:()=>p,yW:()=>g,gB:()=>h});var o=n(6550),r=n(2263),a=n(9935);function i(e,t){void 0===t&&(t={});const n=function(){const{globalData:e}=(0,r.Z)();return e}()[e];if(!n&&t.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin.`);return n}const s=e=>e.versions.find((e=>e.isLast));function l(e,t){const n=s(e);return[...e.versions.filter((e=>e!==n)),n].find((e=>!!(0,o.LX)(t,{path:e.path,exact:!1,strict:!1})))}function c(e,t){const n=l(e,t),r=n?.docs.find((e=>!!(0,o.LX)(t,{path:e.path,exact:!0,strict:!1})));return{activeVersion:n,activeDoc:r,alternateDocVersions:r?function(t){const n={};return e.versions.forEach((e=>{e.docs.forEach((o=>{o.id===t&&(n[e.name]=o)}))})),n}(r.id):{}}}const u={},d=()=>i("docusaurus-plugin-content-docs")??u,p=e=>function(e,t,n){void 0===t&&(t=a.m),void 0===n&&(n={});const o=i(e),r=o?.[t];if(!r&&n.failfast)throw new Error(`Docusaurus plugin global data not found for "${e}" plugin with id "${t}".`);return r}("docusaurus-plugin-content-docs",e,{failfast:!0});function f(e){void 0===e&&(e={});const t=d(),{pathname:n}=(0,o.TH)();return function(e,t,n){void 0===n&&(n={});const r=Object.entries(e).sort(((e,t)=>t[1].path.localeCompare(e[1].path))).find((e=>{let[,n]=e;return!!(0,o.LX)(t,{path:n.path,exact:!1,strict:!1})})),a=r?{pluginId:r[0],pluginData:r[1]}:void 0;if(!a&&n.failfast)throw new Error(`Can't find active docs plugin for "${t}" pathname, while it was expected to be found. Maybe you tried to use a docs feature that can only be used on a docs-related page? Existing docs plugin paths are: ${Object.values(e).map((e=>e.path)).join(", ")}`);return a}(t,n,e)}function m(e){void 0===e&&(e={});const t=f(e),{pathname:n}=(0,o.TH)();if(!t)return;return{activePlugin:t,activeVersion:l(t.pluginData,n)}}function h(e){return p(e).versions}function g(e){const t=p(e);return s(t)}function b(e){const t=p(e),{pathname:n}=(0,o.TH)();return c(t,n)}function y(e){const t=p(e),{pathname:n}=(0,o.TH)();return function(e,t){const n=s(e);return{latestDocSuggestion:c(e,t).alternateDocVersions[n.name],latestVersionSuggestion:n}}(t,n)}},6657:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>o});const o={onRouteDidUpdate(e){let{location:t,previousLocation:n}=e;!n||t.pathname===n.pathname&&t.search===n.search&&t.hash===n.hash||setTimeout((()=>{window.gtag("set","page_path",t.pathname+t.search+t.hash),window.gtag("event","page_view")}))}}},8320:(e,t,n)=>{"use strict";n.r(t),n.d(t,{default:()=>a});var o=n(4865),r=n.n(o);r().configure({showSpinner:!1});const a={onRouteUpdate(e){let{location:t,previousLocation:n}=e;if(n&&t.pathname!==n.pathname){const e=window.setTimeout((()=>{r().start()}),200);return()=>window.clearTimeout(e)}},onRouteDidUpdate(){r().done()}}},3310:(e,t,n)=>{"use strict";n.r(t);var o=n(2573),r=n(6809);!function(e){const{themeConfig:{prism:t}}=r.default,{additionalLanguages:o}=t;globalThis.Prism=e,o.forEach((e=>{"php"===e&&n(6854),n(9640)(`./prism-${e}`)})),delete globalThis.Prism}(o.p1)},7955:(e,t,n)=>{"use strict";n.d(t,{Z:()=>c});n(7294);var o=n(6010),r=n(5999),a=n(6668),i=n(9960);const s={anchorWithStickyNavbar:"anchorWithStickyNavbar_LWe7",anchorWithHideOnScrollNavbar:"anchorWithHideOnScrollNavbar_WYt5"};var l=n(5893);function c(e){let{as:t,id:n,...c}=e;const{navbar:{hideOnScroll:u}}=(0,a.L)();if("h1"===t||!n)return(0,l.jsx)(t,{...c,id:void 0});const d=(0,r.I)({id:"theme.common.headingLinkTitle",message:"Direct link to {heading}",description:"Title for link to heading"},{heading:"string"==typeof c.children?c.children:n});return(0,l.jsxs)(t,{...c,className:(0,o.Z)("anchor",u?s.anchorWithHideOnScrollNavbar:s.anchorWithStickyNavbar,c.className),id:n,children:[c.children,(0,l.jsx)(i.Z,{className:"hash-link",to:`#${n}`,"aria-label":d,title:d,children:"\u200b"})]})}},9471:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);const o={iconExternalLink:"iconExternalLink_nPIU"};var r=n(5893);function a(e){let{width:t=13.5,height:n=13.5}=e;return(0,r.jsx)("svg",{width:t,height:n,"aria-hidden":"true",viewBox:"0 0 24 24",className:o.iconExternalLink,children:(0,r.jsx)("path",{fill:"currentColor",d:"M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"})})}},7452:(e,t,n)=>{"use strict";n.d(t,{Z:()=>jt});var o=n(7294),r=n(6010),a=n(4763),i=n(833),s=n(6550),l=n(5999),c=n(5936),u=n(5893);const d="__docusaurus_skipToContent_fallback";function p(e){e.setAttribute("tabindex","-1"),e.focus(),e.removeAttribute("tabindex")}function f(){const e=(0,o.useRef)(null),{action:t}=(0,s.k6)(),n=(0,o.useCallback)((e=>{e.preventDefault();const t=document.querySelector("main:first-of-type")??document.getElementById(d);t&&p(t)}),[]);return(0,c.S)((n=>{let{location:o}=n;e.current&&!o.hash&&"PUSH"===t&&p(e.current)})),{containerRef:e,onClick:n}}const m=(0,l.I)({id:"theme.common.skipToMainContent",description:"The skip to content label used for accessibility, allowing to rapidly navigate to main content with keyboard tab/enter navigation",message:"Skip to main content"});function h(e){const t=e.children??m,{containerRef:n,onClick:o}=f();return(0,u.jsx)("div",{ref:n,role:"region","aria-label":m,children:(0,u.jsx)("a",{...e,href:`#${d}`,onClick:o,children:t})})}var g=n(5281),b=n(9727);const y={skipToContent:"skipToContent_fXgn"};function v(){return(0,u.jsx)(h,{className:y.skipToContent})}var w=n(6668),x=n(9689);function k(e){let{width:t=21,height:n=21,color:o="currentColor",strokeWidth:r=1.2,className:a,...i}=e;return(0,u.jsx)("svg",{viewBox:"0 0 15 15",width:t,height:n,...i,children:(0,u.jsx)("g",{stroke:o,strokeWidth:r,children:(0,u.jsx)("path",{d:"M.75.75l13.5 13.5M14.25.75L.75 14.25"})})})}const S={closeButton:"closeButton_CVFx"};function _(e){return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.AnnouncementBar.closeButtonAriaLabel",message:"Close",description:"The ARIA label for close button of announcement bar"}),...e,className:(0,r.Z)("clean-btn close",S.closeButton,e.className),children:(0,u.jsx)(k,{width:14,height:14,strokeWidth:3.1})})}const E={content:"content_knG7"};function C(e){const{announcementBar:t}=(0,w.L)(),{content:n}=t;return(0,u.jsx)("div",{...e,className:(0,r.Z)(E.content,e.className),dangerouslySetInnerHTML:{__html:n}})}const T={announcementBar:"announcementBar_mb4j",announcementBarPlaceholder:"announcementBarPlaceholder_vyr4",announcementBarClose:"announcementBarClose_gvF7",announcementBarContent:"announcementBarContent_xLdY"};function P(){const{announcementBar:e}=(0,w.L)(),{isActive:t,close:n}=(0,x.nT)();if(!t)return null;const{backgroundColor:o,textColor:r,isCloseable:a}=e;return(0,u.jsxs)("div",{className:T.announcementBar,style:{backgroundColor:o,color:r},role:"banner",children:[a&&(0,u.jsx)("div",{className:T.announcementBarPlaceholder}),(0,u.jsx)(C,{className:T.announcementBarContent}),a&&(0,u.jsx)(_,{onClick:n,className:T.announcementBarClose})]})}var L=n(3163),A=n(2466);var j=n(902),N=n(3102);const R=o.createContext(null);function O(e){let{children:t}=e;const n=function(){const e=(0,L.e)(),t=(0,N.HY)(),[n,r]=(0,o.useState)(!1),a=null!==t.component,i=(0,j.D9)(a);return(0,o.useEffect)((()=>{a&&!i&&r(!0)}),[a,i]),(0,o.useEffect)((()=>{a?e.shown||r(!0):r(!1)}),[e.shown,a]),(0,o.useMemo)((()=>[n,r]),[n])}();return(0,u.jsx)(R.Provider,{value:n,children:t})}function I(e){if(e.component){const t=e.component;return(0,u.jsx)(t,{...e.props})}}function M(){const e=(0,o.useContext)(R);if(!e)throw new j.i6("NavbarSecondaryMenuDisplayProvider");const[t,n]=e,r=(0,o.useCallback)((()=>n(!1)),[n]),a=(0,N.HY)();return(0,o.useMemo)((()=>({shown:t,hide:r,content:I(a)})),[r,a,t])}function F(e){let{header:t,primaryMenu:n,secondaryMenu:o}=e;const{shown:a}=M();return(0,u.jsxs)("div",{className:"navbar-sidebar",children:[t,(0,u.jsxs)("div",{className:(0,r.Z)("navbar-sidebar__items",{"navbar-sidebar__items--show-secondary":a}),children:[(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:n}),(0,u.jsx)("div",{className:"navbar-sidebar__item menu",children:o})]})]})}var D=n(2949),B=n(2389);function z(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12,9c1.65,0,3,1.35,3,3s-1.35,3-3,3s-3-1.35-3-3S10.35,9,12,9 M12,7c-2.76,0-5,2.24-5,5s2.24,5,5,5s5-2.24,5-5 S14.76,7,12,7L12,7z M2,13l2,0c0.55,0,1-0.45,1-1s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S1.45,13,2,13z M20,13l2,0c0.55,0,1-0.45,1-1 s-0.45-1-1-1l-2,0c-0.55,0-1,0.45-1,1S19.45,13,20,13z M11,2v2c0,0.55,0.45,1,1,1s1-0.45,1-1V2c0-0.55-0.45-1-1-1S11,1.45,11,2z M11,20v2c0,0.55,0.45,1,1,1s1-0.45,1-1v-2c0-0.55-0.45-1-1-1C11.45,19,11,19.45,11,20z M5.99,4.58c-0.39-0.39-1.03-0.39-1.41,0 c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0s0.39-1.03,0-1.41L5.99,4.58z M18.36,16.95 c-0.39-0.39-1.03-0.39-1.41,0c-0.39,0.39-0.39,1.03,0,1.41l1.06,1.06c0.39,0.39,1.03,0.39,1.41,0c0.39-0.39,0.39-1.03,0-1.41 L18.36,16.95z M19.42,5.99c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06c-0.39,0.39-0.39,1.03,0,1.41 s1.03,0.39,1.41,0L19.42,5.99z M7.05,18.36c0.39-0.39,0.39-1.03,0-1.41c-0.39-0.39-1.03-0.39-1.41,0l-1.06,1.06 c-0.39,0.39-0.39,1.03,0,1.41s1.03,0.39,1.41,0L7.05,18.36z"})})}function $(e){return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:24,height:24,...e,children:(0,u.jsx)("path",{fill:"currentColor",d:"M9.37,5.51C9.19,6.15,9.1,6.82,9.1,7.5c0,4.08,3.32,7.4,7.4,7.4c0.68,0,1.35-0.09,1.99-0.27C17.45,17.19,14.93,19,12,19 c-3.86,0-7-3.14-7-7C5,9.07,6.81,6.55,9.37,5.51z M12,3c-4.97,0-9,4.03-9,9s4.03,9,9,9s9-4.03,9-9c0-0.46-0.04-0.92-0.1-1.36 c-0.98,1.37-2.58,2.26-4.4,2.26c-2.98,0-5.4-2.42-5.4-5.4c0-1.81,0.89-3.42,2.26-4.4C12.92,3.04,12.46,3,12,3L12,3z"})})}const U={toggle:"toggle_vylO",toggleButton:"toggleButton_gllP",darkToggleIcon:"darkToggleIcon_wfgR",lightToggleIcon:"lightToggleIcon_pyhR",toggleButtonDisabled:"toggleButtonDisabled_aARS"};function Z(e){let{className:t,buttonClassName:n,value:o,onChange:a}=e;const i=(0,B.Z)(),s=(0,l.I)({message:"Switch between dark and light mode (currently {mode})",id:"theme.colorToggle.ariaLabel",description:"The ARIA label for the navbar color mode toggle"},{mode:"dark"===o?(0,l.I)({message:"dark mode",id:"theme.colorToggle.ariaLabel.mode.dark",description:"The name for the dark color mode"}):(0,l.I)({message:"light mode",id:"theme.colorToggle.ariaLabel.mode.light",description:"The name for the light color mode"})});return(0,u.jsx)("div",{className:(0,r.Z)(U.toggle,t),children:(0,u.jsxs)("button",{className:(0,r.Z)("clean-btn",U.toggleButton,!i&&U.toggleButtonDisabled,n),type:"button",onClick:()=>a("dark"===o?"light":"dark"),disabled:!i,title:s,"aria-label":s,"aria-live":"polite",children:[(0,u.jsx)(z,{className:(0,r.Z)(U.toggleIcon,U.lightToggleIcon)}),(0,u.jsx)($,{className:(0,r.Z)(U.toggleIcon,U.darkToggleIcon)})]})})}const H=o.memo(Z),V={darkNavbarColorModeToggle:"darkNavbarColorModeToggle_X3D1"};function W(e){let{className:t}=e;const n=(0,w.L)().navbar.style,o=(0,w.L)().colorMode.disableSwitch,{colorMode:r,setColorMode:a}=(0,D.I)();return o?null:(0,u.jsx)(H,{className:t,buttonClassName:"dark"===n?V.darkNavbarColorModeToggle:void 0,value:r,onChange:a})}var q=n(1327);function G(){return(0,u.jsx)(q.Z,{className:"navbar__brand",imageClassName:"navbar__logo",titleClassName:"navbar__title text--truncate"})}function K(){const e=(0,L.e)();return(0,u.jsx)("button",{type:"button","aria-label":(0,l.I)({id:"theme.docs.sidebar.closeSidebarButtonAriaLabel",message:"Close navigation bar",description:"The ARIA label for close button of mobile sidebar"}),className:"clean-btn navbar-sidebar__close",onClick:()=>e.toggle(),children:(0,u.jsx)(k,{color:"var(--ifm-color-emphasis-600)"})})}function Y(){return(0,u.jsxs)("div",{className:"navbar-sidebar__brand",children:[(0,u.jsx)(G,{}),(0,u.jsx)(W,{className:"margin-right--md"}),(0,u.jsx)(K,{})]})}var Q=n(9960),X=n(4996),J=n(3919),ee=n(8022),te=n(9471);function ne(e){let{activeBasePath:t,activeBaseRegex:n,to:o,href:r,label:a,html:i,isDropdownLink:s,prependBaseUrlToHref:l,...c}=e;const d=(0,X.Z)(o),p=(0,X.Z)(t),f=(0,X.Z)(r,{forcePrependBaseUrl:!0}),m=a&&r&&!(0,J.Z)(r),h=i?{dangerouslySetInnerHTML:{__html:i}}:{children:(0,u.jsxs)(u.Fragment,{children:[a,m&&(0,u.jsx)(te.Z,{...s&&{width:12,height:12}})]})};return r?(0,u.jsx)(Q.Z,{href:l?f:r,...c,...h}):(0,u.jsx)(Q.Z,{to:d,isNavLink:!0,...(t||n)&&{isActive:(e,t)=>n?(0,ee.F)(n,t.pathname):t.pathname.startsWith(p)},...c,...h})}function oe(e){let{className:t,isDropdownItem:n=!1,...o}=e;const a=(0,u.jsx)(ne,{className:(0,r.Z)(n?"dropdown__link":"navbar__item navbar__link",t),isDropdownLink:n,...o});return n?(0,u.jsx)("li",{children:a}):a}function re(e){let{className:t,isDropdownItem:n,...o}=e;return(0,u.jsx)("li",{className:"menu__list-item",children:(0,u.jsx)(ne,{className:(0,r.Z)("menu__link",t),...o})})}function ae(e){let{mobile:t=!1,position:n,...o}=e;const r=t?re:oe;return(0,u.jsx)(r,{...o,activeClassName:o.activeClassName??(t?"menu__link--active":"navbar__link--active")})}var ie=n(6043),se=n(8596),le=n(2263);function ce(e,t){return e.some((e=>function(e,t){return!!(0,se.Mg)(e.to,t)||!!(0,ee.F)(e.activeBaseRegex,t)||!(!e.activeBasePath||!t.startsWith(e.activeBasePath))}(e,t)))}function ue(e){let{items:t,position:n,className:a,onClick:i,...s}=e;const l=(0,o.useRef)(null),[c,d]=(0,o.useState)(!1);return(0,o.useEffect)((()=>{const e=e=>{l.current&&!l.current.contains(e.target)&&d(!1)};return document.addEventListener("mousedown",e),document.addEventListener("touchstart",e),document.addEventListener("focusin",e),()=>{document.removeEventListener("mousedown",e),document.removeEventListener("touchstart",e),document.removeEventListener("focusin",e)}}),[l]),(0,u.jsxs)("div",{ref:l,className:(0,r.Z)("navbar__item","dropdown","dropdown--hoverable",{"dropdown--right":"right"===n,"dropdown--show":c}),children:[(0,u.jsx)(ne,{"aria-haspopup":"true","aria-expanded":c,role:"button",href:s.to?void 0:"#",className:(0,r.Z)("navbar__link",a),...s,onClick:s.to?void 0:e=>e.preventDefault(),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),d(!c))},children:s.children??s.label}),(0,u.jsx)("ul",{className:"dropdown__menu",children:t.map(((e,t)=>(0,o.createElement)(Ze,{isDropdownItem:!0,activeClassName:"dropdown__link--active",...e,key:t})))})]})}function de(e){let{items:t,className:n,position:a,onClick:i,...l}=e;const c=function(){const{siteConfig:{baseUrl:e}}=(0,le.Z)(),{pathname:t}=(0,s.TH)();return t.replace(e,"/")}(),d=ce(t,c),{collapsed:p,toggleCollapsed:f,setCollapsed:m}=(0,ie.u)({initialState:()=>!d});return(0,o.useEffect)((()=>{d&&m(!d)}),[c,d,m]),(0,u.jsxs)("li",{className:(0,r.Z)("menu__list-item",{"menu__list-item--collapsed":p}),children:[(0,u.jsx)(ne,{role:"button",className:(0,r.Z)("menu__link menu__link--sublist menu__link--sublist-caret",n),...l,onClick:e=>{e.preventDefault(),f()},children:l.children??l.label}),(0,u.jsx)(ie.z,{lazy:!0,as:"ul",className:"menu__list",collapsed:p,children:t.map(((e,t)=>(0,o.createElement)(Ze,{mobile:!0,isDropdownItem:!0,onClick:i,activeClassName:"menu__link--active",...e,key:t})))})]})}function pe(e){let{mobile:t=!1,...n}=e;const o=t?de:ue;return(0,u.jsx)(o,{...n})}var fe=n(4711);function me(e){let{width:t=20,height:n=20,...o}=e;return(0,u.jsx)("svg",{viewBox:"0 0 24 24",width:t,height:n,"aria-hidden":!0,...o,children:(0,u.jsx)("path",{fill:"currentColor",d:"M12.87 15.07l-2.54-2.51.03-.03c1.74-1.94 2.98-4.17 3.71-6.53H17V4h-7V2H8v2H1v1.99h11.17C11.5 7.92 10.44 9.75 9 11.35 8.07 10.32 7.3 9.19 6.69 8h-2c.73 1.63 1.73 3.17 2.98 4.56l-5.09 5.02L4 19l5-5 3.11 3.11.76-2.04zM18.5 10h-2L12 22h2l1.12-3h4.75L21 22h2l-4.5-12zm-2.62 7l1.62-4.33L19.12 17h-3.24z"})})}const he="iconLanguage_nlXk";function ge(){return o.createElement("svg",{width:"15",height:"15",className:"DocSearch-Control-Key-Icon"},o.createElement("path",{d:"M4.505 4.496h2M5.505 5.496v5M8.216 4.496l.055 5.993M10 7.5c.333.333.5.667.5 1v2M12.326 4.5v5.996M8.384 4.496c1.674 0 2.116 0 2.116 1.5s-.442 1.5-2.116 1.5M3.205 9.303c-.09.448-.277 1.21-1.241 1.203C1 10.5.5 9.513.5 8V7c0-1.57.5-2.5 1.464-2.494.964.006 1.134.598 1.24 1.342M12.553 10.5h1.953",strokeWidth:"1.2",stroke:"currentColor",fill:"none",strokeLinecap:"square"}))}var be=n(830),ye=["translations"];function ve(){return ve=Object.assign||function(e){for(var t=1;te.length)&&(t=e.length);for(var n=0,o=new Array(t);n=0||(r[n]=e[n]);return r}(e,t);if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0||Object.prototype.propertyIsEnumerable.call(e,n)&&(r[n]=e[n])}return r}var Se="Ctrl";var _e=o.forwardRef((function(e,t){var n=e.translations,r=void 0===n?{}:n,a=ke(e,ye),i=r.buttonText,s=void 0===i?"Search":i,l=r.buttonAriaLabel,c=void 0===l?"Search":l,u=we((0,o.useState)(null),2),d=u[0],p=u[1];return(0,o.useEffect)((function(){"undefined"!=typeof navigator&&(/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?p("\u2318"):p(Se))}),[]),o.createElement("button",ve({type:"button",className:"DocSearch DocSearch-Button","aria-label":c},a,{ref:t}),o.createElement("span",{className:"DocSearch-Button-Container"},o.createElement(be.W,null),o.createElement("span",{className:"DocSearch-Button-Placeholder"},s)),o.createElement("span",{className:"DocSearch-Button-Keys"},null!==d&&o.createElement(o.Fragment,null,o.createElement("kbd",{className:"DocSearch-Button-Key"},d===Se?o.createElement(ge,null):d),o.createElement("kbd",{className:"DocSearch-Button-Key"},"K"))))})),Ee=n(5742),Ce=n(6177),Te=n(239),Pe=n(3320);var Le=n(3935);const Ae={button:{buttonText:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"}),buttonAriaLabel:(0,l.I)({id:"theme.SearchBar.label",message:"Search",description:"The ARIA label and placeholder for search button"})},modal:{searchBox:{resetButtonTitle:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),resetButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.resetButtonTitle",message:"Clear the query",description:"The label and ARIA label for search box reset button"}),cancelButtonText:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"}),cancelButtonAriaLabel:(0,l.I)({id:"theme.SearchModal.searchBox.cancelButtonText",message:"Cancel",description:"The label and ARIA label for search box cancel button"})},startScreen:{recentSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.recentSearchesTitle",message:"Recent",description:"The title for recent searches"}),noRecentSearchesText:(0,l.I)({id:"theme.SearchModal.startScreen.noRecentSearchesText",message:"No recent searches",description:"The text when no recent searches"}),saveRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.saveRecentSearchButtonTitle",message:"Save this search",description:"The label for save recent search button"}),removeRecentSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeRecentSearchButtonTitle",message:"Remove this search from history",description:"The label for remove recent search button"}),favoriteSearchesTitle:(0,l.I)({id:"theme.SearchModal.startScreen.favoriteSearchesTitle",message:"Favorite",description:"The title for favorite searches"}),removeFavoriteSearchButtonTitle:(0,l.I)({id:"theme.SearchModal.startScreen.removeFavoriteSearchButtonTitle",message:"Remove this search from favorites",description:"The label for remove favorite search button"})},errorScreen:{titleText:(0,l.I)({id:"theme.SearchModal.errorScreen.titleText",message:"Unable to fetch results",description:"The title for error screen of search modal"}),helpText:(0,l.I)({id:"theme.SearchModal.errorScreen.helpText",message:"You might want to check your network connection.",description:"The help text for error screen of search modal"})},footer:{selectText:(0,l.I)({id:"theme.SearchModal.footer.selectText",message:"to select",description:"The explanatory text of the action for the enter key"}),selectKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.selectKeyAriaLabel",message:"Enter key",description:"The ARIA label for the Enter key button that makes the selection"}),navigateText:(0,l.I)({id:"theme.SearchModal.footer.navigateText",message:"to navigate",description:"The explanatory text of the action for the Arrow up and Arrow down key"}),navigateUpKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateUpKeyAriaLabel",message:"Arrow up",description:"The ARIA label for the Arrow up key button that makes the navigation"}),navigateDownKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.navigateDownKeyAriaLabel",message:"Arrow down",description:"The ARIA label for the Arrow down key button that makes the navigation"}),closeText:(0,l.I)({id:"theme.SearchModal.footer.closeText",message:"to close",description:"The explanatory text of the action for Escape key"}),closeKeyAriaLabel:(0,l.I)({id:"theme.SearchModal.footer.closeKeyAriaLabel",message:"Escape key",description:"The ARIA label for the Escape key button that close the modal"}),searchByText:(0,l.I)({id:"theme.SearchModal.footer.searchByText",message:"Search by",description:"The text explain that the search is making by Algolia"})},noResultsScreen:{noResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.noResultsText",message:"No results for",description:"The text explains that there are no results for the following search"}),suggestedQueryText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.suggestedQueryText",message:"Try searching for",description:"The text for the suggested query when no results are found for the following search"}),reportMissingResultsText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsText",message:"Believe this query should return results?",description:"The text for the question where the user thinks there are missing results"}),reportMissingResultsLinkText:(0,l.I)({id:"theme.SearchModal.noResultsScreen.reportMissingResultsLinkText",message:"Let us know.",description:"The text for the link to report missing results"})}},placeholder:(0,l.I)({id:"theme.SearchModal.placeholder",message:"Search docs",description:"The placeholder of the input of the DocSearch pop-up modal"})};let je=null;function Ne(e){let{hit:t,children:n}=e;return(0,u.jsx)(Q.Z,{to:t.url,children:n})}function Re(e){let{state:t,onClose:n}=e;const o=(0,Ce.M)();return(0,u.jsx)(Q.Z,{to:o(t.query),onClick:n,children:(0,u.jsx)(l.Z,{id:"theme.SearchBar.seeAll",values:{count:t.context.nbHits},children:"See all {count} results"})})}function Oe(e){let{contextualSearch:t,externalUrlRegex:r,...a}=e;const{siteMetadata:i}=(0,le.Z)(),l=(0,Te.l)(),c=function(){const{locale:e,tags:t}=(0,Pe._q)();return[`language:${e}`,t.map((e=>`docusaurus_tag:${e}`))]}(),d=a.searchParameters?.facetFilters??[],p=t?function(e,t){const n=e=>"string"==typeof e?[e]:e;return[...n(e),...n(t)]}(c,d):d,f={...a.searchParameters,facetFilters:p},m=(0,s.k6)(),h=(0,o.useRef)(null),g=(0,o.useRef)(null),[b,y]=(0,o.useState)(!1),[v,w]=(0,o.useState)(void 0),x=(0,o.useCallback)((()=>je?Promise.resolve():Promise.all([n.e(1426).then(n.bind(n,1426)),Promise.all([n.e(532),n.e(6945)]).then(n.bind(n,6945)),Promise.all([n.e(532),n.e(8894)]).then(n.bind(n,8894))]).then((e=>{let[{DocSearchModal:t}]=e;je=t}))),[]),k=(0,o.useCallback)((()=>{x().then((()=>{h.current=document.createElement("div"),document.body.insertBefore(h.current,document.body.firstChild),y(!0)}))}),[x,y]),S=(0,o.useCallback)((()=>{y(!1),h.current?.remove()}),[y]),_=(0,o.useCallback)((e=>{x().then((()=>{y(!0),w(e.key)}))}),[x,y,w]),E=(0,o.useRef)({navigate(e){let{itemUrl:t}=e;(0,ee.F)(r,t)?window.location.href=t:m.push(t)}}).current,C=(0,o.useRef)((e=>a.transformItems?a.transformItems(e):e.map((e=>({...e,url:l(e.url)}))))).current,T=(0,o.useMemo)((()=>e=>(0,u.jsx)(Re,{...e,onClose:S})),[S]),P=(0,o.useCallback)((e=>(e.addAlgoliaAgent("docusaurus",i.docusaurusVersion),e)),[i.docusaurusVersion]);return function(e){var t=e.isOpen,n=e.onOpen,r=e.onClose,a=e.onInput,i=e.searchButtonRef;o.useEffect((function(){function e(e){var o;(27===e.keyCode&&t||"k"===(null===(o=e.key)||void 0===o?void 0:o.toLowerCase())&&(e.metaKey||e.ctrlKey)||!function(e){var t=e.target,n=t.tagName;return t.isContentEditable||"INPUT"===n||"SELECT"===n||"TEXTAREA"===n}(e)&&"/"===e.key&&!t)&&(e.preventDefault(),t?r():document.body.classList.contains("DocSearch--active")||document.body.classList.contains("DocSearch--active")||n()),i&&i.current===document.activeElement&&a&&/[a-zA-Z0-9]/.test(String.fromCharCode(e.keyCode))&&a(e)}return window.addEventListener("keydown",e),function(){window.removeEventListener("keydown",e)}}),[t,n,r,a,i])}({isOpen:b,onOpen:k,onClose:S,onInput:_,searchButtonRef:g}),(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(Ee.Z,{children:(0,u.jsx)("link",{rel:"preconnect",href:`https://${a.appId}-dsn.algolia.net`,crossOrigin:"anonymous"})}),(0,u.jsx)(_e,{onTouchStart:x,onFocus:x,onMouseOver:x,onClick:k,ref:g,translations:Ae.button}),b&&je&&h.current&&(0,Le.createPortal)((0,u.jsx)(je,{onClose:S,initialScrollY:window.scrollY,initialQuery:v,navigator:E,transformItems:C,hitComponent:Ne,transformSearchClient:P,...a.searchPagePath&&{resultsFooterComponent:T},...a,searchParameters:f,placeholder:Ae.placeholder,translations:Ae.modal}),h.current)]})}function Ie(){const{siteConfig:e}=(0,le.Z)();return(0,u.jsx)(Oe,{...e.themeConfig.algolia})}const Me={navbarSearchContainer:"navbarSearchContainer_Bca1"};function Fe(e){let{children:t,className:n}=e;return(0,u.jsx)("div",{className:(0,r.Z)(n,Me.navbarSearchContainer),children:t})}var De=n(143),Be=n(3438);var ze=n(373);const $e=e=>e.docs.find((t=>t.id===e.mainDocId));const Ue={default:ae,localeDropdown:function(e){let{mobile:t,dropdownItemsBefore:n,dropdownItemsAfter:o,queryString:r="",...a}=e;const{i18n:{currentLocale:i,locales:c,localeConfigs:d}}=(0,le.Z)(),p=(0,fe.l)(),{search:f,hash:m}=(0,s.TH)(),h=[...n,...c.map((e=>{const n=`${`pathname://${p.createUrl({locale:e,fullyQualified:!1})}`}${f}${m}${r}`;return{label:d[e].label,lang:d[e].htmlLang,to:n,target:"_self",autoAddBaseUrl:!1,className:e===i?t?"menu__link--active":"dropdown__link--active":""}})),...o],g=t?(0,l.I)({message:"Languages",id:"theme.navbar.mobileLanguageDropdown.label",description:"The label for the mobile language switcher dropdown"}):d[i].label;return(0,u.jsx)(pe,{...a,mobile:t,label:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(me,{className:he}),g]}),items:h})},search:function(e){let{mobile:t,className:n}=e;return t?null:(0,u.jsx)(Fe,{className:n,children:(0,u.jsx)(Ie,{})})},dropdown:pe,html:function(e){let{value:t,className:n,mobile:o=!1,isDropdownItem:a=!1}=e;const i=a?"li":"div";return(0,u.jsx)(i,{className:(0,r.Z)({navbar__item:!o&&!a,"menu__list-item":o},n),dangerouslySetInnerHTML:{__html:t}})},doc:function(e){let{docId:t,label:n,docsPluginId:o,...r}=e;const{activeDoc:a}=(0,De.Iw)(o),i=(0,Be.vY)(t,o),s=a?.path===i?.path;return null===i||i.unlisted&&!s?null:(0,u.jsx)(ae,{exact:!0,...r,isActive:()=>s||!!a?.sidebar&&a.sidebar===i.sidebar,label:n??i.id,to:i.path})},docSidebar:function(e){let{sidebarId:t,label:n,docsPluginId:o,...r}=e;const{activeDoc:a}=(0,De.Iw)(o),i=(0,Be.oz)(t,o).link;if(!i)throw new Error(`DocSidebarNavbarItem: Sidebar with ID "${t}" doesn't have anything to be linked to.`);return(0,u.jsx)(ae,{exact:!0,...r,isActive:()=>a?.sidebar===t,label:n??i.label,to:i.path})},docsVersion:function(e){let{label:t,to:n,docsPluginId:o,...r}=e;const a=(0,Be.lO)(o)[0],i=t??a.label,s=n??(e=>e.docs.find((t=>t.id===e.mainDocId)))(a).path;return(0,u.jsx)(ae,{...r,label:i,to:s})},docsVersionDropdown:function(e){let{mobile:t,docsPluginId:n,dropdownActiveClassDisabled:o,dropdownItemsBefore:r,dropdownItemsAfter:a,...i}=e;const{search:c,hash:d}=(0,s.TH)(),p=(0,De.Iw)(n),f=(0,De.gB)(n),{savePreferredVersionName:m}=(0,ze.J)(n),h=[...r,...f.map((e=>{const t=p.alternateDocVersions[e.name]??$e(e);return{label:e.label,to:`${t.path}${c}${d}`,isActive:()=>e===p.activeVersion,onClick:()=>m(e.name)}})),...a],g=(0,Be.lO)(n)[0],b=t&&h.length>1?(0,l.I)({id:"theme.navbar.mobileVersionsDropdown.label",message:"Versions",description:"The label for the navbar versions dropdown on mobile view"}):g.label,y=t&&h.length>1?void 0:$e(g).path;return h.length<=1?(0,u.jsx)(ae,{...i,mobile:t,label:b,to:y,isActive:o?()=>!1:void 0}):(0,u.jsx)(pe,{...i,mobile:t,label:b,to:y,items:h,isActive:o?()=>!1:void 0})}};function Ze(e){let{type:t,...n}=e;const o=function(e,t){return e&&"default"!==e?e:"items"in t?"dropdown":"default"}(t,n),r=Ue[o];if(!r)throw new Error(`No NavbarItem component found for type "${t}".`);return(0,u.jsx)(r,{...n})}function He(){const e=(0,L.e)(),t=(0,w.L)().navbar.items;return(0,u.jsx)("ul",{className:"menu__list",children:t.map(((t,n)=>(0,o.createElement)(Ze,{mobile:!0,...t,onClick:()=>e.toggle(),key:n})))})}function Ve(e){return(0,u.jsx)("button",{...e,type:"button",className:"clean-btn navbar-sidebar__back",children:(0,u.jsx)(l.Z,{id:"theme.navbar.mobileSidebarSecondaryMenu.backButtonLabel",description:"The label of the back button to return to main menu, inside the mobile navbar sidebar secondary menu (notably used to display the docs sidebar)",children:"\u2190 Back to main menu"})})}function We(){const e=0===(0,w.L)().navbar.items.length,t=M();return(0,u.jsxs)(u.Fragment,{children:[!e&&(0,u.jsx)(Ve,{onClick:()=>t.hide()}),t.content]})}function qe(){const e=(0,L.e)();var t;return void 0===(t=e.shown)&&(t=!0),(0,o.useEffect)((()=>(document.body.style.overflow=t?"hidden":"visible",()=>{document.body.style.overflow="visible"})),[t]),e.shouldRender?(0,u.jsx)(F,{header:(0,u.jsx)(Y,{}),primaryMenu:(0,u.jsx)(He,{}),secondaryMenu:(0,u.jsx)(We,{})}):null}const Ge={navbarHideable:"navbarHideable_m1mJ",navbarHidden:"navbarHidden_jGov"};function Ke(e){return(0,u.jsx)("div",{role:"presentation",...e,className:(0,r.Z)("navbar-sidebar__backdrop",e.className)})}function Ye(e){let{children:t}=e;const{navbar:{hideOnScroll:n,style:a}}=(0,w.L)(),i=(0,L.e)(),{navbarRef:s,isNavbarVisible:d}=function(e){const[t,n]=(0,o.useState)(e),r=(0,o.useRef)(!1),a=(0,o.useRef)(0),i=(0,o.useCallback)((e=>{null!==e&&(a.current=e.getBoundingClientRect().height)}),[]);return(0,A.RF)(((t,o)=>{let{scrollY:i}=t;if(!e)return;if(i=s?n(!1):i+c{if(!e)return;const o=t.location.hash;if(o?document.getElementById(o.substring(1)):void 0)return r.current=!0,void n(!1);n(!0)})),{navbarRef:i,isNavbarVisible:t}}(n);return(0,u.jsxs)("nav",{ref:s,"aria-label":(0,l.I)({id:"theme.NavBar.navAriaLabel",message:"Main",description:"The ARIA label for the main navigation"}),className:(0,r.Z)("navbar","navbar--fixed-top",n&&[Ge.navbarHideable,!d&&Ge.navbarHidden],{"navbar--dark":"dark"===a,"navbar--primary":"primary"===a,"navbar-sidebar--show":i.shown}),children:[t,(0,u.jsx)(Ke,{onClick:i.toggle}),(0,u.jsx)(qe,{})]})}var Qe=n(8780);const Xe={errorBoundaryError:"errorBoundaryError_a6uf",errorBoundaryFallback:"errorBoundaryFallback_VBag"};function Je(e){return(0,u.jsx)("button",{type:"button",...e,children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.tryAgain",description:"The label of the button to try again rendering when the React error boundary captures an error",children:"Try again"})})}function et(e){let{error:t}=e;const n=(0,Qe.getErrorCausalChain)(t).map((e=>e.message)).join("\n\nCause:\n");return(0,u.jsx)("p",{className:Xe.errorBoundaryError,children:n})}class tt extends o.Component{componentDidCatch(e,t){throw this.props.onError(e,t)}render(){return this.props.children}}const nt="right";function ot(e){let{width:t=30,height:n=30,className:o,...r}=e;return(0,u.jsx)("svg",{className:o,width:t,height:n,viewBox:"0 0 30 30","aria-hidden":"true",...r,children:(0,u.jsx)("path",{stroke:"currentColor",strokeLinecap:"round",strokeMiterlimit:"10",strokeWidth:"2",d:"M4 7h22M4 15h22M4 23h22"})})}function rt(){const{toggle:e,shown:t}=(0,L.e)();return(0,u.jsx)("button",{onClick:e,"aria-label":(0,l.I)({id:"theme.docs.sidebar.toggleSidebarButtonAriaLabel",message:"Toggle navigation bar",description:"The ARIA label for hamburger menu button of mobile navigation"}),"aria-expanded":t,className:"navbar__toggle clean-btn",type:"button",children:(0,u.jsx)(ot,{})})}const at={colorModeToggle:"colorModeToggle_DEke"};function it(e){let{items:t}=e;return(0,u.jsx)(u.Fragment,{children:t.map(((e,t)=>(0,u.jsx)(tt,{onError:t=>new Error(`A theme navbar item failed to render.\nPlease double-check the following navbar item (themeConfig.navbar.items) of your Docusaurus config:\n${JSON.stringify(e,null,2)}`,{cause:t}),children:(0,u.jsx)(Ze,{...e})},t)))})}function st(e){let{left:t,right:n}=e;return(0,u.jsxs)("div",{className:"navbar__inner",children:[(0,u.jsx)("div",{className:"navbar__items",children:t}),(0,u.jsx)("div",{className:"navbar__items navbar__items--right",children:n})]})}function lt(){const e=(0,L.e)(),t=(0,w.L)().navbar.items,[n,o]=function(e){function t(e){return"left"===(e.position??nt)}return[e.filter(t),e.filter((e=>!t(e)))]}(t),r=t.find((e=>"search"===e.type));return(0,u.jsx)(st,{left:(0,u.jsxs)(u.Fragment,{children:[!e.disabled&&(0,u.jsx)(rt,{}),(0,u.jsx)(G,{}),(0,u.jsx)(it,{items:n})]}),right:(0,u.jsxs)(u.Fragment,{children:[(0,u.jsx)(it,{items:o}),(0,u.jsx)(W,{className:at.colorModeToggle}),!r&&(0,u.jsx)(Fe,{children:(0,u.jsx)(Ie,{})})]})})}function ct(){return(0,u.jsx)(Ye,{children:(0,u.jsx)(lt,{})})}function ut(e){let{item:t}=e;const{to:n,href:o,label:r,prependBaseUrlToHref:a,...i}=t,s=(0,X.Z)(n),l=(0,X.Z)(o,{forcePrependBaseUrl:!0});return(0,u.jsxs)(Q.Z,{className:"footer__link-item",...o?{href:a?l:o}:{to:s},...i,children:[r,o&&!(0,J.Z)(o)&&(0,u.jsx)(te.Z,{})]})}function dt(e){let{item:t}=e;return t.html?(0,u.jsx)("li",{className:"footer__item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)("li",{className:"footer__item",children:(0,u.jsx)(ut,{item:t})},t.href??t.to)}function pt(e){let{column:t}=e;return(0,u.jsxs)("div",{className:"col footer__col",children:[(0,u.jsx)("div",{className:"footer__title",children:t.title}),(0,u.jsx)("ul",{className:"footer__items clean-list",children:t.items.map(((e,t)=>(0,u.jsx)(dt,{item:e},t)))})]})}function ft(e){let{columns:t}=e;return(0,u.jsx)("div",{className:"row footer__links",children:t.map(((e,t)=>(0,u.jsx)(pt,{column:e},t)))})}function mt(){return(0,u.jsx)("span",{className:"footer__link-separator",children:"\xb7"})}function ht(e){let{item:t}=e;return t.html?(0,u.jsx)("span",{className:"footer__link-item",dangerouslySetInnerHTML:{__html:t.html}}):(0,u.jsx)(ut,{item:t})}function gt(e){let{links:t}=e;return(0,u.jsx)("div",{className:"footer__links text--center",children:(0,u.jsx)("div",{className:"footer__links",children:t.map(((e,n)=>(0,u.jsxs)(o.Fragment,{children:[(0,u.jsx)(ht,{item:e}),t.length!==n+1&&(0,u.jsx)(mt,{})]},n)))})})}function bt(e){let{links:t}=e;return function(e){return"title"in e[0]}(t)?(0,u.jsx)(ft,{columns:t}):(0,u.jsx)(gt,{links:t})}var yt=n(9965);const vt={footerLogoLink:"footerLogoLink_BH7S"};function wt(e){let{logo:t}=e;const{withBaseUrl:n}=(0,X.C)(),o={light:n(t.src),dark:n(t.srcDark??t.src)};return(0,u.jsx)(yt.Z,{className:(0,r.Z)("footer__logo",t.className),alt:t.alt,sources:o,width:t.width,height:t.height,style:t.style})}function xt(e){let{logo:t}=e;return t.href?(0,u.jsx)(Q.Z,{href:t.href,className:vt.footerLogoLink,target:t.target,children:(0,u.jsx)(wt,{logo:t})}):(0,u.jsx)(wt,{logo:t})}function kt(e){let{copyright:t}=e;return(0,u.jsx)("div",{className:"footer__copyright",dangerouslySetInnerHTML:{__html:t}})}function St(e){let{style:t,links:n,logo:o,copyright:a}=e;return(0,u.jsx)("footer",{className:(0,r.Z)("footer",{"footer--dark":"dark"===t}),children:(0,u.jsxs)("div",{className:"container container-fluid",children:[n,(o||a)&&(0,u.jsxs)("div",{className:"footer__bottom text--center",children:[o&&(0,u.jsx)("div",{className:"margin-bottom--sm",children:o}),a]})]})})}function _t(){const{footer:e}=(0,w.L)();if(!e)return null;const{copyright:t,links:n,logo:o,style:r}=e;return(0,u.jsx)(St,{style:r,links:n&&n.length>0&&(0,u.jsx)(bt,{links:n}),logo:o&&(0,u.jsx)(xt,{logo:o}),copyright:t&&(0,u.jsx)(kt,{copyright:t})})}const Et=o.memo(_t),Ct=(0,j.Qc)([D.S,x.pl,A.OC,ze.L5,i.VC,function(e){let{children:t}=e;return(0,u.jsx)(N.n2,{children:(0,u.jsx)(L.M,{children:(0,u.jsx)(O,{children:t})})})}]);function Tt(e){let{children:t}=e;return(0,u.jsx)(Ct,{children:t})}var Pt=n(7955);function Lt(e){let{error:t,tryAgain:n}=e;return(0,u.jsx)("main",{className:"container margin-vert--xl",children:(0,u.jsx)("div",{className:"row",children:(0,u.jsxs)("div",{className:"col col--6 col--offset-3",children:[(0,u.jsx)(Pt.Z,{as:"h1",className:"hero__title",children:(0,u.jsx)(l.Z,{id:"theme.ErrorPageContent.title",description:"The title of the fallback page when the page crashed",children:"This page crashed."})}),(0,u.jsx)("div",{className:"margin-vert--lg",children:(0,u.jsx)(Je,{onClick:n,className:"button button--primary shadow--lw"})}),(0,u.jsx)("hr",{}),(0,u.jsx)("div",{className:"margin-vert--md",children:(0,u.jsx)(et,{error:t})})]})})})}const At={mainWrapper:"mainWrapper_z2l0"};function jt(e){const{children:t,noFooter:n,wrapperClassName:o,title:s,description:l}=e;return(0,b.t)(),(0,u.jsxs)(Tt,{children:[(0,u.jsx)(i.d,{title:s,description:l}),(0,u.jsx)(v,{}),(0,u.jsx)(P,{}),(0,u.jsx)(ct,{}),(0,u.jsx)("div",{id:d,className:(0,r.Z)(g.k.wrapper.main,At.mainWrapper,o),children:(0,u.jsx)(a.Z,{fallback:e=>(0,u.jsx)(Lt,{...e}),children:t})}),!n&&(0,u.jsx)(Et,{})]})}},1327:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});n(7294);var o=n(9960),r=n(4996),a=n(2263),i=n(6668),s=n(9965),l=n(5893);function c(e){let{logo:t,alt:n,imageClassName:o}=e;const a={light:(0,r.Z)(t.src),dark:(0,r.Z)(t.srcDark||t.src)},i=(0,l.jsx)(s.Z,{className:t.className,sources:a,height:t.height,width:t.width,alt:n,style:t.style});return o?(0,l.jsx)("div",{className:o,children:i}):i}function u(e){const{siteConfig:{title:t}}=(0,a.Z)(),{navbar:{title:n,logo:s}}=(0,i.L)(),{imageClassName:u,titleClassName:d,...p}=e,f=(0,r.Z)(s?.href||"/"),m=n?"":t,h=s?.alt??m;return(0,l.jsxs)(o.Z,{to:f,...p,...s?.target&&{target:s.target},children:[s&&(0,l.jsx)(c,{logo:s,alt:h,imageClassName:u}),null!=n&&(0,l.jsx)("b",{className:d,children:n})]})}},197:(e,t,n)=>{"use strict";n.d(t,{Z:()=>a});n(7294);var o=n(5742),r=n(5893);function a(e){let{locale:t,version:n,tag:a}=e;const i=t;return(0,r.jsxs)(o.Z,{children:[t&&(0,r.jsx)("meta",{name:"docusaurus_locale",content:t}),n&&(0,r.jsx)("meta",{name:"docusaurus_version",content:n}),a&&(0,r.jsx)("meta",{name:"docusaurus_tag",content:a}),i&&(0,r.jsx)("meta",{name:"docsearch:language",content:i}),n&&(0,r.jsx)("meta",{name:"docsearch:version",content:n}),a&&(0,r.jsx)("meta",{name:"docsearch:docusaurus_tag",content:a})]})}},9965:(e,t,n)=>{"use strict";n.d(t,{Z:()=>u});var o=n(7294),r=n(6010),a=n(2389),i=n(2949);const s={themedComponent:"themedComponent_mlkZ","themedComponent--light":"themedComponent--light_NVdE","themedComponent--dark":"themedComponent--dark_xIcU"};var l=n(5893);function c(e){let{className:t,children:n}=e;const c=(0,a.Z)(),{colorMode:u}=(0,i.I)();return(0,l.jsx)(l.Fragment,{children:(c?"dark"===u?["dark"]:["light"]:["light","dark"]).map((e=>{const a=n({theme:e,className:(0,r.Z)(t,s.themedComponent,s[`themedComponent--${e}`])});return(0,l.jsx)(o.Fragment,{children:a},e)}))})}function u(e){const{sources:t,className:n,alt:o,...r}=e;return(0,l.jsx)(c,{className:n,children:e=>{let{theme:n,className:a}=e;return(0,l.jsx)("img",{src:t[n],alt:o,className:a,...r})}})}},6043:(e,t,n)=>{"use strict";n.d(t,{u:()=>c,z:()=>b});var o=n(7294),r=n(412),a=n(469),i=n(1442),s=n(5893);const l="ease-in-out";function c(e){let{initialState:t}=e;const[n,r]=(0,o.useState)(t??!1),a=(0,o.useCallback)((()=>{r((e=>!e))}),[]);return{collapsed:n,setCollapsed:r,toggleCollapsed:a}}const u={display:"none",overflow:"hidden",height:"0px"},d={display:"block",overflow:"visible",height:"auto"};function p(e,t){const n=t?u:d;e.style.display=n.display,e.style.overflow=n.overflow,e.style.height=n.height}function f(e){let{collapsibleRef:t,collapsed:n,animation:r}=e;const a=(0,o.useRef)(!1);(0,o.useEffect)((()=>{const e=t.current;function o(){const t=e.scrollHeight,n=r?.duration??function(e){if((0,i.n)())return 1;const t=e/36;return Math.round(10*(4+15*t**.25+t/5))}(t);return{transition:`height ${n}ms ${r?.easing??l}`,height:`${t}px`}}function s(){const t=o();e.style.transition=t.transition,e.style.height=t.height}if(!a.current)return p(e,n),void(a.current=!0);return e.style.willChange="height",function(){const t=requestAnimationFrame((()=>{n?(s(),requestAnimationFrame((()=>{e.style.height=u.height,e.style.overflow=u.overflow}))):(e.style.display="block",requestAnimationFrame((()=>{s()})))}));return()=>cancelAnimationFrame(t)}()}),[t,n,r])}function m(e){if(!r.Z.canUseDOM)return e?u:d}function h(e){let{as:t="div",collapsed:n,children:r,animation:a,onCollapseTransitionEnd:i,className:l,disableSSRStyle:c}=e;const u=(0,o.useRef)(null);return f({collapsibleRef:u,collapsed:n,animation:a}),(0,s.jsx)(t,{ref:u,style:c?void 0:m(n),onTransitionEnd:e=>{"height"===e.propertyName&&(p(u.current,n),i?.(n))},className:l,children:r})}function g(e){let{collapsed:t,...n}=e;const[r,i]=(0,o.useState)(!t),[l,c]=(0,o.useState)(t);return(0,a.Z)((()=>{t||i(!0)}),[t]),(0,a.Z)((()=>{r&&c(t)}),[r,t]),r?(0,s.jsx)(h,{...n,collapsed:l}):null}function b(e){let{lazy:t,...n}=e;const o=t?g:h;return(0,s.jsx)(o,{...n})}},9689:(e,t,n)=>{"use strict";n.d(t,{nT:()=>h,pl:()=>m});var o=n(7294),r=n(2389),a=n(12),i=n(902),s=n(6668),l=n(5893);const c=(0,a.WA)("docusaurus.announcement.dismiss"),u=(0,a.WA)("docusaurus.announcement.id"),d=()=>"true"===c.get(),p=e=>c.set(String(e)),f=o.createContext(null);function m(e){let{children:t}=e;const n=function(){const{announcementBar:e}=(0,s.L)(),t=(0,r.Z)(),[n,a]=(0,o.useState)((()=>!!t&&d()));(0,o.useEffect)((()=>{a(d())}),[]);const i=(0,o.useCallback)((()=>{p(!0),a(!0)}),[]);return(0,o.useEffect)((()=>{if(!e)return;const{id:t}=e;let n=u.get();"annoucement-bar"===n&&(n="announcement-bar");const o=t!==n;u.set(t),o&&p(!1),!o&&d()||a(!1)}),[e]),(0,o.useMemo)((()=>({isActive:!!e&&!n,close:i})),[e,n,i])}();return(0,l.jsx)(f.Provider,{value:n,children:t})}function h(){const e=(0,o.useContext)(f);if(!e)throw new i.i6("AnnouncementBarProvider");return e}},2949:(e,t,n)=>{"use strict";n.d(t,{I:()=>b,S:()=>g});var o=n(7294),r=n(412),a=n(902),i=n(12),s=n(6668),l=n(5893);const c=o.createContext(void 0),u="theme",d=(0,i.WA)(u),p={light:"light",dark:"dark"},f=e=>e===p.dark?p.dark:p.light,m=e=>r.Z.canUseDOM?f(document.documentElement.getAttribute("data-theme")):f(e),h=e=>{d.set(f(e))};function g(e){let{children:t}=e;const n=function(){const{colorMode:{defaultMode:e,disableSwitch:t,respectPrefersColorScheme:n}}=(0,s.L)(),[r,a]=(0,o.useState)(m(e));(0,o.useEffect)((()=>{t&&d.del()}),[t]);const i=(0,o.useCallback)((function(t,o){void 0===o&&(o={});const{persist:r=!0}=o;t?(a(t),r&&h(t)):(a(n?window.matchMedia("(prefers-color-scheme: dark)").matches?p.dark:p.light:e),d.del())}),[n,e]);(0,o.useEffect)((()=>{document.documentElement.setAttribute("data-theme",f(r))}),[r]),(0,o.useEffect)((()=>{if(t)return;const e=e=>{if(e.key!==u)return;const t=d.get();null!==t&&i(f(t))};return window.addEventListener("storage",e),()=>window.removeEventListener("storage",e)}),[t,i]);const l=(0,o.useRef)(!1);return(0,o.useEffect)((()=>{if(t&&!n)return;const e=window.matchMedia("(prefers-color-scheme: dark)"),o=()=>{window.matchMedia("print").matches||l.current?l.current=window.matchMedia("print").matches:i(null)};return e.addListener(o),()=>e.removeListener(o)}),[i,t,n]),(0,o.useMemo)((()=>({colorMode:r,setColorMode:i,get isDarkTheme(){return r===p.dark},setLightTheme(){i(p.light)},setDarkTheme(){i(p.dark)}})),[r,i])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function b(){const e=(0,o.useContext)(c);if(null==e)throw new a.i6("ColorModeProvider","Please see https://docusaurus.io/docs/api/themes/configuration#use-color-mode.");return e}},373:(e,t,n)=>{"use strict";n.d(t,{J:()=>v,L5:()=>b,Oh:()=>w});var o=n(7294),r=n(143),a=n(9935),i=n(6668),s=n(3438),l=n(902),c=n(12),u=n(5893);const d=e=>`docs-preferred-version-${e}`,p={save:(e,t,n)=>{(0,c.WA)(d(e),{persistence:t}).set(n)},read:(e,t)=>(0,c.WA)(d(e),{persistence:t}).get(),clear:(e,t)=>{(0,c.WA)(d(e),{persistence:t}).del()}},f=e=>Object.fromEntries(e.map((e=>[e,{preferredVersionName:null}])));const m=o.createContext(null);function h(){const e=(0,r._r)(),t=(0,i.L)().docs.versionPersistence,n=(0,o.useMemo)((()=>Object.keys(e)),[e]),[a,s]=(0,o.useState)((()=>f(n)));(0,o.useEffect)((()=>{s(function(e){let{pluginIds:t,versionPersistence:n,allDocsData:o}=e;function r(e){const t=p.read(e,n);return o[e].versions.some((e=>e.name===t))?{preferredVersionName:t}:(p.clear(e,n),{preferredVersionName:null})}return Object.fromEntries(t.map((e=>[e,r(e)])))}({allDocsData:e,versionPersistence:t,pluginIds:n}))}),[e,t,n]);return[a,(0,o.useMemo)((()=>({savePreferredVersion:function(e,n){p.save(e,t,n),s((t=>({...t,[e]:{preferredVersionName:n}})))}})),[t])]}function g(e){let{children:t}=e;const n=h();return(0,u.jsx)(m.Provider,{value:n,children:t})}function b(e){let{children:t}=e;return s.cE?(0,u.jsx)(g,{children:t}):(0,u.jsx)(u.Fragment,{children:t})}function y(){const e=(0,o.useContext)(m);if(!e)throw new l.i6("DocsPreferredVersionContextProvider");return e}function v(e){void 0===e&&(e=a.m);const t=(0,r.zh)(e),[n,i]=y(),{preferredVersionName:s}=n[e];return{preferredVersion:t.versions.find((e=>e.name===s))??null,savePreferredVersionName:(0,o.useCallback)((t=>{i.savePreferredVersion(e,t)}),[i,e])}}function w(){const e=(0,r._r)(),[t]=y();function n(n){const o=e[n],{preferredVersionName:r}=t[n];return o.versions.find((e=>e.name===r))??null}const o=Object.keys(e);return Object.fromEntries(o.map((e=>[e,n(e)])))}},1116:(e,t,n)=>{"use strict";n.d(t,{V:()=>c,b:()=>l});var o=n(7294),r=n(902),a=n(5893);const i=Symbol("EmptyContext"),s=o.createContext(i);function l(e){let{children:t,name:n,items:r}=e;const i=(0,o.useMemo)((()=>n&&r?{name:n,items:r}:null),[n,r]);return(0,a.jsx)(s.Provider,{value:i,children:t})}function c(){const e=(0,o.useContext)(s);if(e===i)throw new r.i6("DocsSidebarProvider");return e}},4477:(e,t,n)=>{"use strict";n.d(t,{E:()=>l,q:()=>s});var o=n(7294),r=n(902),a=n(5893);const i=o.createContext(null);function s(e){let{children:t,version:n}=e;return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,o.useContext)(i);if(null===e)throw new r.i6("DocsVersionProvider");return e}},3163:(e,t,n)=>{"use strict";n.d(t,{M:()=>p,e:()=>f});var o=n(7294),r=n(3102),a=n(7524),i=n(1980),s=n(6668),l=n(902),c=n(5893);const u=o.createContext(void 0);function d(){const e=function(){const e=(0,r.HY)(),{items:t}=(0,s.L)().navbar;return 0===t.length&&!e.component}(),t=(0,a.i)(),n=!e&&"mobile"===t,[l,c]=(0,o.useState)(!1);(0,i.Rb)((()=>{if(l)return c(!1),!1}));const u=(0,o.useCallback)((()=>{c((e=>!e))}),[]);return(0,o.useEffect)((()=>{"desktop"===t&&c(!1)}),[t]),(0,o.useMemo)((()=>({disabled:e,shouldRender:n,toggle:u,shown:l})),[e,n,u,l])}function p(e){let{children:t}=e;const n=d();return(0,c.jsx)(u.Provider,{value:n,children:t})}function f(){const e=o.useContext(u);if(void 0===e)throw new l.i6("NavbarMobileSidebarProvider");return e}},3102:(e,t,n)=>{"use strict";n.d(t,{HY:()=>l,Zo:()=>c,n2:()=>s});var o=n(7294),r=n(902),a=n(5893);const i=o.createContext(null);function s(e){let{children:t}=e;const n=(0,o.useState)({component:null,props:null});return(0,a.jsx)(i.Provider,{value:n,children:t})}function l(){const e=(0,o.useContext)(i);if(!e)throw new r.i6("NavbarSecondaryMenuContentProvider");return e[0]}function c(e){let{component:t,props:n}=e;const a=(0,o.useContext)(i);if(!a)throw new r.i6("NavbarSecondaryMenuContentProvider");const[,s]=a,l=(0,r.Ql)(n);return(0,o.useEffect)((()=>{s({component:t,props:l})}),[s,t,l]),(0,o.useEffect)((()=>()=>s({component:null,props:null})),[s]),null}},9727:(e,t,n)=>{"use strict";n.d(t,{h:()=>r,t:()=>a});var o=n(7294);const r="navigation-with-keyboard";function a(){(0,o.useEffect)((()=>{function e(e){"keydown"===e.type&&"Tab"===e.key&&document.body.classList.add(r),"mousedown"===e.type&&document.body.classList.remove(r)}return document.addEventListener("keydown",e),document.addEventListener("mousedown",e),()=>{document.body.classList.remove(r),document.removeEventListener("keydown",e),document.removeEventListener("mousedown",e)}}),[])}},6177:(e,t,n)=>{"use strict";n.d(t,{K:()=>s,M:()=>l});var o=n(7294),r=n(2263),a=n(1980);const i="q";function s(){return(0,a.Nc)(i)}function l(){const{siteConfig:{baseUrl:e,themeConfig:t}}=(0,r.Z)(),{algolia:{searchPagePath:n}}=t;return(0,o.useCallback)((t=>`${e}${n}?${i}=${encodeURIComponent(t)}`),[e,n])}},7524:(e,t,n)=>{"use strict";n.d(t,{i:()=>s});var o=n(7294),r=n(412);const a={desktop:"desktop",mobile:"mobile",ssr:"ssr"},i=996;function s(){const[e,t]=(0,o.useState)((()=>"ssr"));return(0,o.useEffect)((()=>{function e(){t(function(){if(!r.Z.canUseDOM)throw new Error("getWindowSize() should only be called after React hydration");return window.innerWidth>i?a.desktop:a.mobile}())}return e(),window.addEventListener("resize",e),()=>{window.removeEventListener("resize",e)}}),[]),e}},5281:(e,t,n)=>{"use strict";n.d(t,{k:()=>o});const o={page:{blogListPage:"blog-list-page",blogPostPage:"blog-post-page",blogTagsListPage:"blog-tags-list-page",blogTagPostListPage:"blog-tags-post-list-page",docsDocPage:"docs-doc-page",docsTagsListPage:"docs-tags-list-page",docsTagDocListPage:"docs-tags-doc-list-page",mdxPage:"mdx-page"},wrapper:{main:"main-wrapper",blogPages:"blog-wrapper",docsPages:"docs-wrapper",mdxPages:"mdx-wrapper"},common:{editThisPage:"theme-edit-this-page",lastUpdated:"theme-last-updated",backToTopButton:"theme-back-to-top-button",codeBlock:"theme-code-block",admonition:"theme-admonition",unlistedBanner:"theme-unlisted-banner",admonitionType:e=>`theme-admonition-${e}`},layout:{},docs:{docVersionBanner:"theme-doc-version-banner",docVersionBadge:"theme-doc-version-badge",docBreadcrumbs:"theme-doc-breadcrumbs",docMarkdown:"theme-doc-markdown",docTocMobile:"theme-doc-toc-mobile",docTocDesktop:"theme-doc-toc-desktop",docFooter:"theme-doc-footer",docFooterTagsRow:"theme-doc-footer-tags-row",docFooterEditMetaRow:"theme-doc-footer-edit-meta-row",docSidebarContainer:"theme-doc-sidebar-container",docSidebarMenu:"theme-doc-sidebar-menu",docSidebarItemCategory:"theme-doc-sidebar-item-category",docSidebarItemLink:"theme-doc-sidebar-item-link",docSidebarItemCategoryLevel:e=>`theme-doc-sidebar-item-category-level-${e}`,docSidebarItemLinkLevel:e=>`theme-doc-sidebar-item-link-level-${e}`},blog:{}}},1442:(e,t,n)=>{"use strict";function o(){return window.matchMedia("(prefers-reduced-motion: reduce)").matches}n.d(t,{n:()=>o})},3438:(e,t,n)=>{"use strict";n.d(t,{LM:()=>m,MN:()=>T,SN:()=>C,_F:()=>y,cE:()=>p,f:()=>w,jA:()=>h,lO:()=>S,oz:()=>_,s1:()=>k,vY:()=>E,xz:()=>f});var o=n(7294),r=n(6550),a=n(8790),i=n(143),s=n(373),l=n(4477),c=n(1116),u=n(7392),d=n(8596);const p=!!i._r;function f(e){const t=(0,l.E)();if(!e)return;const n=t.docs[e];if(!n)throw new Error(`no version doc found by id=${e}`);return n}function m(e){return"link"!==e.type||e.unlisted?"category"===e.type?function(e){if(e.href&&!e.linkUnlisted)return e.href;for(const t of e.items){const e=m(t);if(e)return e}}(e):void 0:e.href}function h(){const{pathname:e}=(0,r.TH)(),t=(0,c.V)();if(!t)throw new Error("Unexpected: cant find current sidebar in context");const n=x({sidebarItems:t.items,pathname:e,onlyCategories:!0}).slice(-1)[0];if(!n)throw new Error(`${e} is not associated with a category. useCurrentSidebarCategory() should only be used on category index pages.`);return n}const g=(e,t)=>void 0!==e&&(0,d.Mg)(e,t),b=(e,t)=>e.some((e=>y(e,t)));function y(e,t){return"link"===e.type?g(e.href,t):"category"===e.type&&(g(e.href,t)||b(e.items,t))}function v(e,t){switch(e.type){case"category":return y(e,t)||e.items.some((e=>v(e,t)));case"link":return!e.unlisted||y(e,t);default:return!1}}function w(e,t){return(0,o.useMemo)((()=>e.filter((e=>v(e,t)))),[e,t])}function x(e){let{sidebarItems:t,pathname:n,onlyCategories:o=!1}=e;const r=[];return function e(t){for(const a of t)if("category"===a.type&&((0,d.Mg)(a.href,n)||e(a.items))||"link"===a.type&&(0,d.Mg)(a.href,n)){return o&&"category"!==a.type||r.unshift(a),!0}return!1}(t),r}function k(){const e=(0,c.V)(),{pathname:t}=(0,r.TH)(),n=(0,i.gA)()?.pluginData.breadcrumbs;return!1!==n&&e?x({sidebarItems:e.items,pathname:t}):null}function S(e){const{activeVersion:t}=(0,i.Iw)(e),{preferredVersion:n}=(0,s.J)(e),r=(0,i.yW)(e);return(0,o.useMemo)((()=>(0,u.j)([t,n,r].filter(Boolean))),[t,n,r])}function _(e,t){const n=S(t);return(0,o.useMemo)((()=>{const t=n.flatMap((e=>e.sidebars?Object.entries(e.sidebars):[])),o=t.find((t=>t[0]===e));if(!o)throw new Error(`Can't find any sidebar with id "${e}" in version${n.length>1?"s":""} ${n.map((e=>e.name)).join(", ")}".\nAvailable sidebar ids are:\n- ${t.map((e=>e[0])).join("\n- ")}`);return o[1]}),[e,n])}function E(e,t){const n=S(t);return(0,o.useMemo)((()=>{const t=n.flatMap((e=>e.docs)),o=t.find((t=>t.id===e));if(!o){if(n.flatMap((e=>e.draftIds)).includes(e))return null;throw new Error(`Couldn't find any doc with id "${e}" in version${n.length>1?"s":""} "${n.map((e=>e.name)).join(", ")}".\nAvailable doc ids are:\n- ${(0,u.j)(t.map((e=>e.id))).join("\n- ")}`)}return o}),[e,n])}function C(e){let{route:t}=e;const n=(0,r.TH)(),o=(0,l.E)(),i=t.routes,s=i.find((e=>(0,r.LX)(n.pathname,e)));if(!s)return null;const c=s.sidebar,u=c?o.docsSidebars[c]:void 0;return{docElement:(0,a.H)(i),sidebarName:c,sidebarItems:u}}function T(e){return e.filter((e=>!("category"===e.type||"link"===e.type)||!!m(e)))}},2128:(e,t,n)=>{"use strict";n.d(t,{p:()=>r});var o=n(2263);function r(e){const{siteConfig:t}=(0,o.Z)(),{title:n,titleDelimiter:r}=t;return e?.trim().length?`${e.trim()} ${r} ${n}`:n}},1980:(e,t,n)=>{"use strict";n.d(t,{Nc:()=>l,Rb:()=>i,_X:()=>s});var o=n(7294),r=n(6550),a=n(902);function i(e){!function(e){const t=(0,r.k6)(),n=(0,a.zX)(e);(0,o.useEffect)((()=>t.block(((e,t)=>n(e,t)))),[t,n])}(((t,n)=>{if("POP"===n)return e(t,n)}))}function s(e){return function(e){const t=(0,r.k6)();return(0,o.useSyncExternalStore)(t.listen,(()=>e(t)),(()=>e(t)))}((t=>null===e?null:new URLSearchParams(t.location.search).get(e)))}function l(e){const t=s(e)??"",n=function(){const e=(0,r.k6)();return(0,o.useCallback)(((t,n,o)=>{const r=new URLSearchParams(e.location.search);n?r.set(t,n):r.delete(t),(o?.push?e.push:e.replace)({search:r.toString()})}),[e])}();return[t,(0,o.useCallback)(((t,o)=>{n(e,t,o)}),[n,e])]}},7392:(e,t,n)=>{"use strict";function o(e,t){return void 0===t&&(t=(e,t)=>e===t),e.filter(((n,o)=>e.findIndex((e=>t(e,n)))!==o))}function r(e){return Array.from(new Set(e))}n.d(t,{j:()=>r,l:()=>o})},833:(e,t,n)=>{"use strict";n.d(t,{FG:()=>f,d:()=>d,VC:()=>m});var o=n(7294),r=n(6010),a=n(5742),i=n(226);function s(){const e=o.useContext(i._);if(!e)throw new Error("Unexpected: no Docusaurus route context found");return e}var l=n(4996),c=n(2128),u=n(5893);function d(e){let{title:t,description:n,keywords:o,image:r,children:i}=e;const s=(0,c.p)(t),{withBaseUrl:d}=(0,l.C)(),p=r?d(r,{absolute:!0}):void 0;return(0,u.jsxs)(a.Z,{children:[t&&(0,u.jsx)("title",{children:s}),t&&(0,u.jsx)("meta",{property:"og:title",content:s}),n&&(0,u.jsx)("meta",{name:"description",content:n}),n&&(0,u.jsx)("meta",{property:"og:description",content:n}),o&&(0,u.jsx)("meta",{name:"keywords",content:Array.isArray(o)?o.join(","):o}),p&&(0,u.jsx)("meta",{property:"og:image",content:p}),p&&(0,u.jsx)("meta",{name:"twitter:image",content:p}),i]})}const p=o.createContext(void 0);function f(e){let{className:t,children:n}=e;const i=o.useContext(p),s=(0,r.Z)(i,t);return(0,u.jsxs)(p.Provider,{value:s,children:[(0,u.jsx)(a.Z,{children:(0,u.jsx)("html",{className:s})}),n]})}function m(e){let{children:t}=e;const n=s(),o=`plugin-${n.plugin.name.replace(/docusaurus-(?:plugin|theme)-(?:content-)?/gi,"")}`;const a=`plugin-id-${n.plugin.id}`;return(0,u.jsx)(f,{className:(0,r.Z)(o,a),children:t})}},902:(e,t,n)=>{"use strict";n.d(t,{D9:()=>s,Qc:()=>u,Ql:()=>c,i6:()=>l,zX:()=>i});var o=n(7294),r=n(469),a=n(5893);function i(e){const t=(0,o.useRef)(e);return(0,r.Z)((()=>{t.current=e}),[e]),(0,o.useCallback)((function(){return t.current(...arguments)}),[])}function s(e){const t=(0,o.useRef)();return(0,r.Z)((()=>{t.current=e})),t.current}class l extends Error{constructor(e,t){super(),this.name="ReactContextError",this.message=`Hook ${this.stack?.split("\n")[1]?.match(/at (?:\w+\.)?(?\w+)/)?.groups.name??""} is called outside the <${e}>. ${t??""}`}}function c(e){const t=Object.entries(e);return t.sort(((e,t)=>e[0].localeCompare(t[0]))),(0,o.useMemo)((()=>e),t.flat())}function u(e){return t=>{let{children:n}=t;return(0,a.jsx)(a.Fragment,{children:e.reduceRight(((e,t)=>(0,a.jsx)(t,{children:e})),n)})}}},8022:(e,t,n)=>{"use strict";function o(e,t){return void 0!==e&&void 0!==t&&new RegExp(e,"gi").test(t)}n.d(t,{F:()=>o})},8596:(e,t,n)=>{"use strict";n.d(t,{Mg:()=>i,Ns:()=>s});var o=n(7294),r=n(723),a=n(2263);function i(e,t){const n=e=>(!e||e.endsWith("/")?e:`${e}/`)?.toLowerCase();return n(e)===n(t)}function s(){const{baseUrl:e}=(0,a.Z)().siteConfig;return(0,o.useMemo)((()=>function(e){let{baseUrl:t,routes:n}=e;function o(e){return e.path===t&&!0===e.exact}function r(e){return e.path===t&&!e.exact}return function e(t){if(0===t.length)return;return t.find(o)||e(t.filter(r).flatMap((e=>e.routes??[])))}(n)}({routes:r.Z,baseUrl:e})),[e])}},2466:(e,t,n)=>{"use strict";n.d(t,{Ct:()=>h,OC:()=>u,RF:()=>f,o5:()=>m});var o=n(7294),r=n(412),a=n(2389),i=n(469),s=n(902),l=n(5893);const c=o.createContext(void 0);function u(e){let{children:t}=e;const n=function(){const e=(0,o.useRef)(!0);return(0,o.useMemo)((()=>({scrollEventsEnabledRef:e,enableScrollEvents:()=>{e.current=!0},disableScrollEvents:()=>{e.current=!1}})),[])}();return(0,l.jsx)(c.Provider,{value:n,children:t})}function d(){const e=(0,o.useContext)(c);if(null==e)throw new s.i6("ScrollControllerProvider");return e}const p=()=>r.Z.canUseDOM?{scrollX:window.pageXOffset,scrollY:window.pageYOffset}:null;function f(e,t){void 0===t&&(t=[]);const{scrollEventsEnabledRef:n}=d(),r=(0,o.useRef)(p()),a=(0,s.zX)(e);(0,o.useEffect)((()=>{const e=()=>{if(!n.current)return;const e=p();a(e,r.current),r.current=e},t={passive:!0};return e(),window.addEventListener("scroll",e,t),()=>window.removeEventListener("scroll",e,t)}),[a,n,...t])}function m(){const e=d(),t=function(){const e=(0,o.useRef)({elem:null,top:0}),t=(0,o.useCallback)((t=>{e.current={elem:t,top:t.getBoundingClientRect().top}}),[]),n=(0,o.useCallback)((()=>{const{current:{elem:t,top:n}}=e;if(!t)return{restored:!1};const o=t.getBoundingClientRect().top-n;return o&&window.scrollBy({left:0,top:o}),e.current={elem:null,top:0},{restored:0!==o}}),[]);return(0,o.useMemo)((()=>({save:t,restore:n})),[n,t])}(),n=(0,o.useRef)(void 0),r=(0,o.useCallback)((o=>{t.save(o),e.disableScrollEvents(),n.current=()=>{const{restored:o}=t.restore();if(n.current=void 0,o){const t=()=>{e.enableScrollEvents(),window.removeEventListener("scroll",t)};window.addEventListener("scroll",t)}else e.enableScrollEvents()}}),[e,t]);return(0,i.Z)((()=>{queueMicrotask((()=>n.current?.()))})),{blockElementScrollPositionUntilNextRender:r}}function h(){const e=(0,o.useRef)(null),t=(0,a.Z)()&&"smooth"===getComputedStyle(document.documentElement).scrollBehavior;return{startScroll:n=>{e.current=t?function(e){return window.scrollTo({top:e,behavior:"smooth"}),()=>{}}(n):function(e){let t=null;const n=document.documentElement.scrollTop>e;return function o(){const r=document.documentElement.scrollTop;(n&&r>e||!n&&rt&&cancelAnimationFrame(t)}(n)},cancelScroll:()=>e.current?.()}}},3320:(e,t,n)=>{"use strict";n.d(t,{HX:()=>i,_q:()=>l,os:()=>s});var o=n(143),r=n(2263),a=n(373);const i="default";function s(e,t){return`docs-${e}-${t}`}function l(){const{i18n:e}=(0,r.Z)(),t=(0,o._r)(),n=(0,o.WS)(),l=(0,a.Oh)();const c=[i,...Object.keys(t).map((function(e){const o=n?.activePlugin.pluginId===e?n.activeVersion:void 0,r=l[e],a=t[e].versions.find((e=>e.isLast));return s(e,(o??r??a).name)}))];return{locale:e.currentLocale,tags:c}}},12:(e,t,n)=>{"use strict";n.d(t,{Nk:()=>u,WA:()=>c});var o=n(7294);const r="localStorage";function a(e){let{key:t,oldValue:n,newValue:o,storage:r}=e;if(n===o)return;const a=document.createEvent("StorageEvent");a.initStorageEvent("storage",!1,!1,t,n,o,window.location.href,r),window.dispatchEvent(a)}function i(e){if(void 0===e&&(e=r),"undefined"==typeof window)throw new Error("Browser storage is not available on Node.js/Docusaurus SSR process.");if("none"===e)return null;try{return window[e]}catch(n){return t=n,s||(console.warn("Docusaurus browser storage is not available.\nPossible reasons: running Docusaurus in an iframe, in an incognito browser session, or using too strict browser privacy settings.",t),s=!0),null}var t}let s=!1;const l={get:()=>null,set:()=>{},del:()=>{},listen:()=>()=>{}};function c(e,t){if("undefined"==typeof window)return function(e){function t(){throw new Error(`Illegal storage API usage for storage key "${e}".\nDocusaurus storage APIs are not supposed to be called on the server-rendering process.\nPlease only call storage APIs in effects and event handlers.`)}return{get:t,set:t,del:t,listen:t}}(e);const n=i(t?.persistence);return null===n?l:{get:()=>{try{return n.getItem(e)}catch(t){return console.error(`Docusaurus storage error, can't get key=${e}`,t),null}},set:t=>{try{const o=n.getItem(e);n.setItem(e,t),a({key:e,oldValue:o,newValue:t,storage:n})}catch(o){console.error(`Docusaurus storage error, can't set ${e}=${t}`,o)}},del:()=>{try{const t=n.getItem(e);n.removeItem(e),a({key:e,oldValue:t,newValue:null,storage:n})}catch(t){console.error(`Docusaurus storage error, can't delete key=${e}`,t)}},listen:t=>{try{const o=o=>{o.storageArea===n&&o.key===e&&t(o)};return window.addEventListener("storage",o),()=>window.removeEventListener("storage",o)}catch(o){return console.error(`Docusaurus storage error, can't listen for changes of key=${e}`,o),()=>{}}}}}function u(e,t){const n=(0,o.useRef)((()=>null===e?l:c(e,t))).current(),r=(0,o.useCallback)((e=>"undefined"==typeof window?()=>{}:n.listen(e)),[n]);return[(0,o.useSyncExternalStore)(r,(()=>"undefined"==typeof window?null:n.get()),(()=>null)),n]}},4711:(e,t,n)=>{"use strict";n.d(t,{l:()=>i});var o=n(2263),r=n(6550),a=n(8780);function i(){const{siteConfig:{baseUrl:e,url:t,trailingSlash:n},i18n:{defaultLocale:i,currentLocale:s}}=(0,o.Z)(),{pathname:l}=(0,r.TH)(),c=(0,a.applyTrailingSlash)(l,{trailingSlash:n,baseUrl:e}),u=s===i?e:e.replace(`/${s}/`,"/"),d=c.replace(e,"");return{createUrl:function(e){let{locale:n,fullyQualified:o}=e;return`${o?t:""}${function(e){return e===i?`${u}`:`${u}${e}/`}(n)}${d}`}}}},5936:(e,t,n)=>{"use strict";n.d(t,{S:()=>i});var o=n(7294),r=n(6550),a=n(902);function i(e){const t=(0,r.TH)(),n=(0,a.D9)(t),i=(0,a.zX)(e);(0,o.useEffect)((()=>{n&&t!==n&&i({location:t,previousLocation:n})}),[i,t,n])}},6668:(e,t,n)=>{"use strict";n.d(t,{L:()=>r});var o=n(2263);function r(){return(0,o.Z)().siteConfig.themeConfig}},6278:(e,t,n)=>{"use strict";n.d(t,{L:()=>r});var o=n(2263);function r(){const{siteConfig:{themeConfig:e}}=(0,o.Z)();return e}},239:(e,t,n)=>{"use strict";n.d(t,{l:()=>s});var o=n(7294),r=n(8022),a=n(4996),i=n(6278);function s(){const{withBaseUrl:e}=(0,a.C)(),{algolia:{externalUrlRegex:t,replaceSearchResultPathname:n}}=(0,i.L)();return(0,o.useCallback)((o=>{const a=new URL(o);if((0,r.F)(t,a.href))return o;const i=`${a.pathname+a.hash}`;return e(function(e,t){return t?e.replaceAll(new RegExp(t.from,"g"),t.to):e}(i,n))}),[e,t,n])}},8802:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.default=function(e,t){const{trailingSlash:n,baseUrl:o}=t;if(e.startsWith("#"))return e;if(void 0===n)return e;const[r]=e.split(/[#?]/),a="/"===r||r===o?r:(i=r,n?function(e){return e.endsWith("/")?e:`${e}/`}(i):function(e){return e.endsWith("/")?e.slice(0,-1):e}(i));var i;return e.replace(r,a)}},4143:(e,t)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=void 0,t.getErrorCausalChain=function e(t){return t.cause?[t,...e(t.cause)]:[t]}},8780:function(e,t,n){"use strict";var o=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(t,"__esModule",{value:!0}),t.getErrorCausalChain=t.applyTrailingSlash=t.blogPostContainerID=void 0,t.blogPostContainerID="__blog-post-container";var r=n(8802);Object.defineProperty(t,"applyTrailingSlash",{enumerable:!0,get:function(){return o(r).default}});var a=n(4143);Object.defineProperty(t,"getErrorCausalChain",{enumerable:!0,get:function(){return a.getErrorCausalChain}})},6010:(e,t,n)=>{"use strict";function o(e){var t,n,r="";if("string"==typeof e||"number"==typeof e)r+=e;else if("object"==typeof e)if(Array.isArray(e))for(t=0;tr});const r=function(){for(var e,t,n=0,r="";n{"use strict";n.d(t,{lX:()=>w,q_:()=>C,ob:()=>f,PP:()=>P,Ep:()=>p});var o=n(7462);function r(e){return"/"===e.charAt(0)}function a(e,t){for(var n=t,o=n+1,r=e.length;o=0;p--){var f=i[p];"."===f?a(i,p):".."===f?(a(i,p),d++):d&&(a(i,p),d--)}if(!c)for(;d--;d)i.unshift("..");!c||""===i[0]||i[0]&&r(i[0])||i.unshift("");var m=i.join("/");return n&&"/"!==m.substr(-1)&&(m+="/"),m};var s=n(8776);function l(e){return"/"===e.charAt(0)?e:"/"+e}function c(e){return"/"===e.charAt(0)?e.substr(1):e}function u(e,t){return function(e,t){return 0===e.toLowerCase().indexOf(t.toLowerCase())&&-1!=="/?#".indexOf(e.charAt(t.length))}(e,t)?e.substr(t.length):e}function d(e){return"/"===e.charAt(e.length-1)?e.slice(0,-1):e}function p(e){var t=e.pathname,n=e.search,o=e.hash,r=t||"/";return n&&"?"!==n&&(r+="?"===n.charAt(0)?n:"?"+n),o&&"#"!==o&&(r+="#"===o.charAt(0)?o:"#"+o),r}function f(e,t,n,r){var a;"string"==typeof e?(a=function(e){var t=e||"/",n="",o="",r=t.indexOf("#");-1!==r&&(o=t.substr(r),t=t.substr(0,r));var a=t.indexOf("?");return-1!==a&&(n=t.substr(a),t=t.substr(0,a)),{pathname:t,search:"?"===n?"":n,hash:"#"===o?"":o}}(e),a.state=t):(void 0===(a=(0,o.Z)({},e)).pathname&&(a.pathname=""),a.search?"?"!==a.search.charAt(0)&&(a.search="?"+a.search):a.search="",a.hash?"#"!==a.hash.charAt(0)&&(a.hash="#"+a.hash):a.hash="",void 0!==t&&void 0===a.state&&(a.state=t));try{a.pathname=decodeURI(a.pathname)}catch(s){throw s instanceof URIError?new URIError('Pathname "'+a.pathname+'" could not be decoded. This is likely caused by an invalid percent-encoding.'):s}return n&&(a.key=n),r?a.pathname?"/"!==a.pathname.charAt(0)&&(a.pathname=i(a.pathname,r.pathname)):a.pathname=r.pathname:a.pathname||(a.pathname="/"),a}function m(){var e=null;var t=[];return{setPrompt:function(t){return e=t,function(){e===t&&(e=null)}},confirmTransitionTo:function(t,n,o,r){if(null!=e){var a="function"==typeof e?e(t,n):e;"string"==typeof a?"function"==typeof o?o(a,r):r(!0):r(!1!==a)}else r(!0)},appendListener:function(e){var n=!0;function o(){n&&e.apply(void 0,arguments)}return t.push(o),function(){n=!1,t=t.filter((function(e){return e!==o}))}},notifyListeners:function(){for(var e=arguments.length,n=new Array(e),o=0;ot?n.splice(t,n.length-t,r):n.push(r),d({action:o,location:r,index:t,entries:n})}}))},replace:function(e,t){var o="REPLACE",r=f(e,t,h(),w.location);u.confirmTransitionTo(r,o,n,(function(e){e&&(w.entries[w.index]=r,d({action:o,location:r}))}))},go:v,goBack:function(){v(-1)},goForward:function(){v(1)},canGo:function(e){var t=w.index+e;return t>=0&&t{"use strict";var o=n(9864),r={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},a={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},i={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},s={};function l(e){return o.isMemo(e)?i:s[e.$$typeof]||r}s[o.ForwardRef]={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},s[o.Memo]=i;var c=Object.defineProperty,u=Object.getOwnPropertyNames,d=Object.getOwnPropertySymbols,p=Object.getOwnPropertyDescriptor,f=Object.getPrototypeOf,m=Object.prototype;e.exports=function e(t,n,o){if("string"!=typeof n){if(m){var r=f(n);r&&r!==m&&e(t,r,o)}var i=u(n);d&&(i=i.concat(d(n)));for(var s=l(t),h=l(n),g=0;g{"use strict";e.exports=function(e,t,n,o,r,a,i,s){if(!e){var l;if(void 0===t)l=new Error("Minified exception occurred; use the non-minified dev environment for the full error message and additional helpful warnings.");else{var c=[n,o,r,a,i,s],u=0;(l=new Error(t.replace(/%s/g,(function(){return c[u++]})))).name="Invariant Violation"}throw l.framesToPop=1,l}}},5826:e=>{e.exports=Array.isArray||function(e){return"[object Array]"==Object.prototype.toString.call(e)}},2497:(e,t,n)=>{"use strict";n.r(t)},2295:(e,t,n)=>{"use strict";n.r(t)},4865:function(e,t,n){var o,r;o=function(){var e,t,n={version:"0.2.0"},o=n.settings={minimum:.08,easing:"ease",positionUsing:"",speed:200,trickle:!0,trickleRate:.02,trickleSpeed:800,showSpinner:!0,barSelector:'[role="bar"]',spinnerSelector:'[role="spinner"]',parent:"body",template:'
'};function r(e,t,n){return en?n:e}function a(e){return 100*(-1+e)}function i(e,t,n){var r;return(r="translate3d"===o.positionUsing?{transform:"translate3d("+a(e)+"%,0,0)"}:"translate"===o.positionUsing?{transform:"translate("+a(e)+"%,0)"}:{"margin-left":a(e)+"%"}).transition="all "+t+"ms "+n,r}n.configure=function(e){var t,n;for(t in e)void 0!==(n=e[t])&&e.hasOwnProperty(t)&&(o[t]=n);return this},n.status=null,n.set=function(e){var t=n.isStarted();e=r(e,o.minimum,1),n.status=1===e?null:e;var a=n.render(!t),c=a.querySelector(o.barSelector),u=o.speed,d=o.easing;return a.offsetWidth,s((function(t){""===o.positionUsing&&(o.positionUsing=n.getPositioningCSS()),l(c,i(e,u,d)),1===e?(l(a,{transition:"none",opacity:1}),a.offsetWidth,setTimeout((function(){l(a,{transition:"all "+u+"ms linear",opacity:0}),setTimeout((function(){n.remove(),t()}),u)}),u)):setTimeout(t,u)})),this},n.isStarted=function(){return"number"==typeof n.status},n.start=function(){n.status||n.set(0);var e=function(){setTimeout((function(){n.status&&(n.trickle(),e())}),o.trickleSpeed)};return o.trickle&&e(),this},n.done=function(e){return e||n.status?n.inc(.3+.5*Math.random()).set(1):this},n.inc=function(e){var t=n.status;return t?("number"!=typeof e&&(e=(1-t)*r(Math.random()*t,.1,.95)),t=r(t+e,0,.994),n.set(t)):n.start()},n.trickle=function(){return n.inc(Math.random()*o.trickleRate)},e=0,t=0,n.promise=function(o){return o&&"resolved"!==o.state()?(0===t&&n.start(),e++,t++,o.always((function(){0==--t?(e=0,n.done()):n.set((e-t)/e)})),this):this},n.render=function(e){if(n.isRendered())return document.getElementById("nprogress");u(document.documentElement,"nprogress-busy");var t=document.createElement("div");t.id="nprogress",t.innerHTML=o.template;var r,i=t.querySelector(o.barSelector),s=e?"-100":a(n.status||0),c=document.querySelector(o.parent);return l(i,{transition:"all 0 linear",transform:"translate3d("+s+"%,0,0)"}),o.showSpinner||(r=t.querySelector(o.spinnerSelector))&&f(r),c!=document.body&&u(c,"nprogress-custom-parent"),c.appendChild(t),t},n.remove=function(){d(document.documentElement,"nprogress-busy"),d(document.querySelector(o.parent),"nprogress-custom-parent");var e=document.getElementById("nprogress");e&&f(e)},n.isRendered=function(){return!!document.getElementById("nprogress")},n.getPositioningCSS=function(){var e=document.body.style,t="WebkitTransform"in e?"Webkit":"MozTransform"in e?"Moz":"msTransform"in e?"ms":"OTransform"in e?"O":"";return t+"Perspective"in e?"translate3d":t+"Transform"in e?"translate":"margin"};var s=function(){var e=[];function t(){var n=e.shift();n&&n(t)}return function(n){e.push(n),1==e.length&&t()}}(),l=function(){var e=["Webkit","O","Moz","ms"],t={};function n(e){return e.replace(/^-ms-/,"ms-").replace(/-([\da-z])/gi,(function(e,t){return t.toUpperCase()}))}function o(t){var n=document.body.style;if(t in n)return t;for(var o,r=e.length,a=t.charAt(0).toUpperCase()+t.slice(1);r--;)if((o=e[r]+a)in n)return o;return t}function r(e){return e=n(e),t[e]||(t[e]=o(e))}function a(e,t,n){t=r(t),e.style[t]=n}return function(e,t){var n,o,r=arguments;if(2==r.length)for(n in t)void 0!==(o=t[n])&&t.hasOwnProperty(n)&&a(e,n,o);else a(e,r[1],r[2])}}();function c(e,t){return("string"==typeof e?e:p(e)).indexOf(" "+t+" ")>=0}function u(e,t){var n=p(e),o=n+t;c(n,t)||(e.className=o.substring(1))}function d(e,t){var n,o=p(e);c(e,t)&&(n=o.replace(" "+t+" "," "),e.className=n.substring(1,n.length-1))}function p(e){return(" "+(e.className||"")+" ").replace(/\s+/gi," ")}function f(e){e&&e.parentNode&&e.parentNode.removeChild(e)}return n},void 0===(r="function"==typeof o?o.call(t,n,t,e):o)||(e.exports=r)},4779:(e,t,n)=>{var o=n(5826);e.exports=f,e.exports.parse=a,e.exports.compile=function(e,t){return s(a(e,t),t)},e.exports.tokensToFunction=s,e.exports.tokensToRegExp=p;var r=new RegExp(["(\\\\.)","([\\/.])?(?:(?:\\:(\\w+)(?:\\(((?:\\\\.|[^\\\\()])+)\\))?|\\(((?:\\\\.|[^\\\\()])+)\\))([+*?])?|(\\*))"].join("|"),"g");function a(e,t){for(var n,o=[],a=0,i=0,s="",u=t&&t.delimiter||"/";null!=(n=r.exec(e));){var d=n[0],p=n[1],f=n.index;if(s+=e.slice(i,f),i=f+d.length,p)s+=p[1];else{var m=e[i],h=n[2],g=n[3],b=n[4],y=n[5],v=n[6],w=n[7];s&&(o.push(s),s="");var x=null!=h&&null!=m&&m!==h,k="+"===v||"*"===v,S="?"===v||"*"===v,_=n[2]||u,E=b||y;o.push({name:g||a++,prefix:h||"",delimiter:_,optional:S,repeat:k,partial:x,asterisk:!!w,pattern:E?c(E):w?".*":"[^"+l(_)+"]+?"})}}return i{!function(e){var t=/\b(?:abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|exports|extends|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|module|native|new|non-sealed|null|open|opens|package|permits|private|protected|provides|public|record(?!\s*[(){}[\]<>=%~.:,;?+\-*/&|^])|requires|return|sealed|short|static|strictfp|super|switch|synchronized|this|throw|throws|to|transient|transitive|try|uses|var|void|volatile|while|with|yield)\b/,n=/(?:[a-z]\w*\s*\.\s*)*(?:[A-Z]\w*\s*\.\s*)*/.source,o={pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z](?:[\d_A-Z]*[a-z]\w*)?\b/.source),lookbehind:!0,inside:{namespace:{pattern:/^[a-z]\w*(?:\s*\.\s*[a-z]\w*)*(?:\s*\.)?/,inside:{punctuation:/\./}},punctuation:/\./}};e.languages.java=e.languages.extend("clike",{string:{pattern:/(^|[^\\])"(?:\\.|[^"\\\r\n])*"/,lookbehind:!0,greedy:!0},"class-name":[o,{pattern:RegExp(/(^|[^\w.])/.source+n+/[A-Z]\w*(?=\s+\w+\s*[;,=()]|\s*(?:\[[\s,]*\]\s*)?::\s*new\b)/.source),lookbehind:!0,inside:o.inside},{pattern:RegExp(/(\b(?:class|enum|extends|implements|instanceof|interface|new|record|throws)\s+)/.source+n+/[A-Z]\w*\b/.source),lookbehind:!0,inside:o.inside}],keyword:t,function:[e.languages.clike.function,{pattern:/(::\s*)[a-z_]\w*/,lookbehind:!0}],number:/\b0b[01][01_]*L?\b|\b0x(?:\.[\da-f_p+-]+|[\da-f_]+(?:\.[\da-f_p+-]+)?)\b|(?:\b\d[\d_]*(?:\.[\d_]*)?|\B\.\d[\d_]*)(?:e[+-]?\d[\d_]*)?[dfl]?/i,operator:{pattern:/(^|[^.])(?:<<=?|>>>?=?|->|--|\+\+|&&|\|\||::|[?:~]|[-+*/%&|^!=<>]=?)/m,lookbehind:!0},constant:/\b[A-Z][A-Z_\d]+\b/}),e.languages.insertBefore("java","string",{"triple-quoted-string":{pattern:/"""[ \t]*[\r\n](?:(?:"|"")?(?:\\.|[^"\\]))*"""/,greedy:!0,alias:"string"},char:{pattern:/'(?:\\.|[^'\\\r\n]){1,6}'/,greedy:!0}}),e.languages.insertBefore("java","class-name",{annotation:{pattern:/(^|[^.])@\w+(?:\s*\.\s*\w+)*/,lookbehind:!0,alias:"punctuation"},generics:{pattern:/<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&)|<(?:[\w\s,.?]|&(?!&))*>)*>)*>)*>/,inside:{"class-name":o,keyword:t,punctuation:/[<>(),.:]/,operator:/[?&|]/}},import:[{pattern:RegExp(/(\bimport\s+)/.source+n+/(?:[A-Z]\w*|\*)(?=\s*;)/.source),lookbehind:!0,inside:{namespace:o.inside.namespace,punctuation:/\./,operator:/\*/,"class-name":/\w+/}},{pattern:RegExp(/(\bimport\s+static\s+)/.source+n+/(?:\w+|\*)(?=\s*;)/.source),lookbehind:!0,alias:"static",inside:{namespace:o.inside.namespace,static:/\b\w+$/,punctuation:/\./,operator:/\*/,"class-name":/\w+/}}],namespace:{pattern:RegExp(/(\b(?:exports|import(?:\s+static)?|module|open|opens|package|provides|requires|to|transitive|uses|with)\s+)(?!)[a-z]\w*(?:\.[a-z]\w*)*\.?/.source.replace(//g,(function(){return t.source}))),lookbehind:!0,inside:{punctuation:/\./}}})}(Prism)},6854:()=>{!function(e){function t(e,t){return"___"+e.toUpperCase()+t+"___"}Object.defineProperties(e.languages["markup-templating"]={},{buildPlaceholders:{value:function(n,o,r,a){if(n.language===o){var i=n.tokenStack=[];n.code=n.code.replace(r,(function(e){if("function"==typeof a&&!a(e))return e;for(var r,s=i.length;-1!==n.code.indexOf(r=t(o,s));)++s;return i[s]=e,r})),n.grammar=e.languages.markup}}},tokenizePlaceholders:{value:function(n,o){if(n.language===o&&n.tokenStack){n.grammar=e.languages[o];var r=0,a=Object.keys(n.tokenStack);!function i(s){for(var l=0;l=a.length);l++){var c=s[l];if("string"==typeof c||c.content&&"string"==typeof c.content){var u=a[r],d=n.tokenStack[u],p="string"==typeof c?c:c.content,f=t(o,u),m=p.indexOf(f);if(m>-1){++r;var h=p.substring(0,m),g=new e.Token(o,e.tokenize(d,n.grammar),"language-"+o,d),b=p.substring(m+f.length),y=[];h&&y.push.apply(y,i([h])),y.push(g),b&&y.push.apply(y,i([b])),"string"==typeof c?s.splice.apply(s,[l,1].concat(y)):c.content=y}}else c.content&&i(c.content)}return s}(n.tokens)}}}})}(Prism)},9640:(e,t,n)=>{var o={"./prism-java":2503};function r(e){var t=a(e);return n(t)}function a(e){if(!n.o(o,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return o[e]}r.keys=function(){return Object.keys(o)},r.resolve=a,e.exports=r,r.id=9640},2703:(e,t,n)=>{"use strict";var o=n(414);function r(){}function a(){}a.resetWarningCache=r,e.exports=function(){function e(e,t,n,r,a,i){if(i!==o){var s=new Error("Calling PropTypes validators directly is not supported by the `prop-types` package. Use PropTypes.checkPropTypes() to call them. Read more at http://fb.me/use-check-prop-types");throw s.name="Invariant Violation",s}}function t(){return e}e.isRequired=e;var n={array:e,bigint:e,bool:e,func:e,number:e,object:e,string:e,symbol:e,any:e,arrayOf:t,element:e,elementType:e,instanceOf:t,node:e,objectOf:t,oneOf:t,oneOfType:t,shape:t,exact:t,checkPropTypes:a,resetWarningCache:r};return n.PropTypes=n,n}},5697:(e,t,n)=>{e.exports=n(2703)()},414:e=>{"use strict";e.exports="SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"},4448:(e,t,n)=>{"use strict";var o=n(7294),r=n(3840);function a(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n