@clickhouse/click-ui 0.6.1 → 0.6.2-rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -0
- package/dist/cjs/click-ui.css +398 -0
- package/dist/cjs/components/AutoComplete/index.cjs +4 -1
- package/dist/cjs/components/AutoComplete/index.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/ButtonGroup.css +37 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs +8 -0
- package/dist/cjs/components/ButtonGroup/ButtonGroup.module.css.cjs.map +1 -1
- package/dist/cjs/components/ButtonGroup/index.cjs +21 -2
- package/dist/cjs/components/ButtonGroup/index.cjs.map +1 -1
- package/dist/cjs/components/CardPrimary/CardPrimaryTopBadge.cjs +1 -0
- package/dist/cjs/components/Collapsible/IconWrapper.cjs +1 -0
- package/dist/cjs/components/ContextMenu/index.cjs +4 -1
- package/dist/cjs/components/ContextMenu/index.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs +1 -1
- package/dist/cjs/components/DatePicker/Common.cjs.map +1 -1
- package/dist/cjs/components/DatePicker/index.cjs +4 -1
- package/dist/cjs/components/DatePicker/index.cjs.map +1 -1
- package/dist/cjs/components/Dialog/Dialog.css +97 -0
- package/dist/cjs/components/Dialog/Dialog.module.css.cjs +27 -0
- package/dist/cjs/components/Dialog/Dialog.module.css.cjs.map +1 -0
- package/dist/cjs/components/Dialog/index.cjs +29 -71
- package/dist/cjs/components/Dialog/index.cjs.map +1 -1
- package/dist/cjs/components/Dropdown/index.cjs +4 -1
- package/dist/cjs/components/Dropdown/index.cjs.map +1 -1
- package/dist/cjs/components/Flyout/index.cjs +23 -19
- package/dist/cjs/components/Flyout/index.cjs.map +1 -1
- package/dist/cjs/components/HoverCard/index.cjs +3 -1
- package/dist/cjs/components/HoverCard/index.cjs.map +1 -1
- package/dist/cjs/components/Icon/SvgImageElement.cjs +1 -0
- package/dist/cjs/components/MultiAccordion/MultiAccordion.css +200 -0
- package/dist/cjs/components/MultiAccordion/MultiAccordion.module.css.cjs +42 -0
- package/dist/cjs/components/MultiAccordion/MultiAccordion.module.css.cjs.map +1 -0
- package/dist/cjs/components/MultiAccordion/index.cjs +102 -92
- package/dist/cjs/components/MultiAccordion/index.cjs.map +1 -1
- package/dist/cjs/components/Popover/index.cjs +3 -1
- package/dist/cjs/components/Popover/index.cjs.map +1 -1
- package/dist/cjs/components/Select/common/InternalSelect.cjs +3 -1
- package/dist/cjs/components/Select/common/InternalSelect.cjs.map +1 -1
- package/dist/cjs/components/Tabs/Tabs.css +54 -0
- package/dist/cjs/components/Tabs/Tabs.module.css.cjs +20 -0
- package/dist/cjs/components/Tabs/Tabs.module.css.cjs.map +1 -0
- package/dist/cjs/components/Tabs/index.cjs +45 -20
- package/dist/cjs/components/Tabs/index.cjs.map +1 -1
- package/dist/cjs/components/Tooltip/index.cjs +4 -1
- package/dist/cjs/components/Tooltip/index.cjs.map +1 -1
- package/dist/cjs/index.cjs +5 -0
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/providers/PortalContext.cjs +19 -0
- package/dist/cjs/providers/PortalContext.cjs.map +1 -0
- package/dist/cjs/providers/PortalProvider.cjs +16 -0
- package/dist/cjs/providers/PortalProvider.cjs.map +1 -0
- package/dist/cjs/theme/styles/tokens-dark.css +5 -0
- package/dist/cjs/theme/styles/tokens-light.css +5 -0
- package/dist/cjs/theme/tokens/variables.dark.cjs +15 -0
- package/dist/cjs/theme/tokens/variables.dark.cjs.map +1 -1
- package/dist/cjs/theme/tokens/variables.light.cjs +15 -0
- package/dist/cjs/theme/tokens/variables.light.cjs.map +1 -1
- package/dist/esm/click-ui.css +398 -0
- package/dist/esm/components/AutoComplete/index.js +4 -1
- package/dist/esm/components/AutoComplete/index.js.map +1 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.css +37 -0
- package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js +7 -1
- package/dist/esm/components/ButtonGroup/ButtonGroup.module.css.js.map +1 -1
- package/dist/esm/components/ButtonGroup/index.js +21 -2
- package/dist/esm/components/ButtonGroup/index.js.map +1 -1
- package/dist/esm/components/CardPrimary/CardPrimaryTopBadge.js +1 -0
- package/dist/esm/components/Collapsible/IconWrapper.js +1 -0
- package/dist/esm/components/ContextMenu/index.js +4 -1
- package/dist/esm/components/ContextMenu/index.js.map +1 -1
- package/dist/esm/components/DatePicker/Common.js +1 -1
- package/dist/esm/components/DatePicker/Common.js.map +1 -1
- package/dist/esm/components/DatePicker/index.js +4 -1
- package/dist/esm/components/DatePicker/index.js.map +1 -1
- package/dist/esm/components/Dialog/Dialog.css +97 -0
- package/dist/esm/components/Dialog/Dialog.module.css.js +18 -0
- package/dist/esm/components/Dialog/Dialog.module.css.js.map +1 -0
- package/dist/esm/components/Dialog/index.js +29 -71
- package/dist/esm/components/Dialog/index.js.map +1 -1
- package/dist/esm/components/Dropdown/index.js +4 -1
- package/dist/esm/components/Dropdown/index.js.map +1 -1
- package/dist/esm/components/Flyout/index.js +23 -19
- package/dist/esm/components/Flyout/index.js.map +1 -1
- package/dist/esm/components/HoverCard/index.js +3 -1
- package/dist/esm/components/HoverCard/index.js.map +1 -1
- package/dist/esm/components/Icon/SvgImageElement.js +1 -0
- package/dist/esm/components/MultiAccordion/MultiAccordion.css +200 -0
- package/dist/esm/components/MultiAccordion/MultiAccordion.module.css.js +38 -0
- package/dist/esm/components/MultiAccordion/MultiAccordion.module.css.js.map +1 -0
- package/dist/esm/components/MultiAccordion/index.js +102 -92
- package/dist/esm/components/MultiAccordion/index.js.map +1 -1
- package/dist/esm/components/Popover/index.js +3 -1
- package/dist/esm/components/Popover/index.js.map +1 -1
- package/dist/esm/components/Select/common/InternalSelect.js +3 -1
- package/dist/esm/components/Select/common/InternalSelect.js.map +1 -1
- package/dist/esm/components/Tabs/Tabs.css +54 -0
- package/dist/esm/components/Tabs/Tabs.module.css.js +14 -0
- package/dist/esm/components/Tabs/Tabs.module.css.js.map +1 -0
- package/dist/esm/components/Tabs/index.js +45 -20
- package/dist/esm/components/Tabs/index.js.map +1 -1
- package/dist/esm/components/Tooltip/index.js +4 -1
- package/dist/esm/components/Tooltip/index.js.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/providers/PortalContext.js +13 -0
- package/dist/esm/providers/PortalContext.js.map +1 -0
- package/dist/esm/providers/PortalProvider.js +12 -0
- package/dist/esm/providers/PortalProvider.js.map +1 -0
- package/dist/esm/theme/styles/tokens-dark.css +5 -0
- package/dist/esm/theme/styles/tokens-light.css +5 -0
- package/dist/esm/theme/tokens/variables.dark.js +15 -0
- package/dist/esm/theme/tokens/variables.dark.js.map +1 -1
- package/dist/esm/theme/tokens/variables.light.js +15 -0
- package/dist/esm/theme/tokens/variables.light.js.map +1 -1
- package/dist/types/components/AutoComplete/AutoComplete.d.ts +2 -1
- package/dist/types/components/ButtonGroup/ButtonGroup.types.d.ts +5 -0
- package/dist/types/components/ButtonGroup/index.d.ts +1 -1
- package/dist/types/components/ContextMenu/ContextMenu.d.ts +3 -1
- package/dist/types/components/DatePicker/DatePicker.d.ts +2 -1
- package/dist/types/components/Dialog/Dialog.d.ts +2 -2
- package/dist/types/components/Dropdown/Dropdown.d.ts +3 -1
- package/dist/types/components/Flyout/Flyout.d.ts +1 -1
- package/dist/types/components/Flyout/Flyout.types.d.ts +2 -0
- package/dist/types/components/MultiAccordion/MultiAccordion.d.ts +2 -2
- package/dist/types/components/Tabs/Tabs.d.ts +11 -21
- package/dist/types/components/Tooltip/Tooltip.d.ts +2 -10
- package/dist/types/components/Tooltip/Tooltip.types.d.ts +1 -0
- package/dist/types/index.d.ts +2 -1
- package/dist/types/providers/PortalContext.d.ts +4 -0
- package/dist/types/providers/PortalProvider.d.ts +7 -0
- package/dist/types/providers/index.d.ts +4 -0
- package/dist/types/theme/theme.core.d.ts +30 -0
- package/dist/types/theme/tokens/variables.dark.d.ts +15 -0
- package/dist/types/theme/tokens/variables.light.d.ts +15 -0
- package/package.json +2 -3
package/dist/esm/click-ui.css
CHANGED
|
@@ -623,6 +623,60 @@
|
|
|
623
623
|
color: var(--click-button-iconButton-color-disabled-text-default);
|
|
624
624
|
cursor: not-allowed;
|
|
625
625
|
}
|
|
626
|
+
.tabs__trigger__JHqK4 {
|
|
627
|
+
padding: var(--click-tabs-space-y) var(--click-tabs-space-x);
|
|
628
|
+
border: none;
|
|
629
|
+
border-bottom: 2px solid var(--click-tabs-basic-color-stroke-default);
|
|
630
|
+
background-color: var(--click-tabs-basic-color-background-default);
|
|
631
|
+
color: var(--click-tabs-basic-color-text-default);
|
|
632
|
+
font: var(--click-tabs-typography-label-default);
|
|
633
|
+
cursor: pointer;
|
|
634
|
+
border-top-left-radius: var(--click-tabs-radii-all);
|
|
635
|
+
border-top-right-radius: var(--click-tabs-radii-all);
|
|
636
|
+
}
|
|
637
|
+
|
|
638
|
+
.tabs__trigger__JHqK4[data-state='active'] {
|
|
639
|
+
border-bottom: 2px solid var(--click-tabs-basic-color-stroke-active);
|
|
640
|
+
color: var(--click-tabs-basic-color-text-active);
|
|
641
|
+
font: var(--click-tabs-typography-label-active);
|
|
642
|
+
}
|
|
643
|
+
|
|
644
|
+
.tabs__trigger__JHqK4:hover {
|
|
645
|
+
border-bottom: 2px solid var(--click-tabs-basic-color-stroke-hover);
|
|
646
|
+
background-color: var(--click-tabs-basic-color-background-hover);
|
|
647
|
+
color: var(--click-tabs-basic-color-text-hover);
|
|
648
|
+
font: var(--click-tabs-typography-label-hover);
|
|
649
|
+
}
|
|
650
|
+
|
|
651
|
+
.tabs__trigger__JHqK4:hover[data-state='active'] {
|
|
652
|
+
border-bottom: 2px solid var(--click-tabs-basic-color-stroke-active);
|
|
653
|
+
font: var(--click-tabs-typography-label-active);
|
|
654
|
+
}
|
|
655
|
+
|
|
656
|
+
/* stylelint-disable-next-line block-no-empty -- base element required by BEM */
|
|
657
|
+
.tabs__content__O9Cub {
|
|
658
|
+
}
|
|
659
|
+
|
|
660
|
+
.tabs__triggers-list__9Hz3q {
|
|
661
|
+
display: flex;
|
|
662
|
+
border-bottom: 1px solid var(--click-global-color-stroke-default);
|
|
663
|
+
}
|
|
664
|
+
|
|
665
|
+
.full-width-tabs__VaUSf {
|
|
666
|
+
width: 100%;
|
|
667
|
+
}
|
|
668
|
+
|
|
669
|
+
/* stylelint-disable-next-line block-no-empty -- base element required by BEM */
|
|
670
|
+
.full-width-tabs__trigger__LA8iG {
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
.full-width-tabs__trigger_width_stretched__Q31k- {
|
|
674
|
+
flex: 1 1 auto;
|
|
675
|
+
}
|
|
676
|
+
|
|
677
|
+
.full-width-tabs__trigger_width_fixed__U9z-W {
|
|
678
|
+
width: var(--full-width-tabs-trigger-width);
|
|
679
|
+
}
|
|
626
680
|
.buttongroup__9IkOe {
|
|
627
681
|
display: inline-flex;
|
|
628
682
|
box-sizing: border-box;
|
|
@@ -676,6 +730,43 @@
|
|
|
676
730
|
border-radius: var(--click-button-group-radii-button-borderless-all);
|
|
677
731
|
}
|
|
678
732
|
|
|
733
|
+
.button_icon-only_default__1hthE {
|
|
734
|
+
padding: var(--click-button-group-space-icon-default-y)
|
|
735
|
+
var(--click-button-group-space-icon-default-x);
|
|
736
|
+
border: 1px solid var(--click-button-group-color-stroke-default);
|
|
737
|
+
}
|
|
738
|
+
|
|
739
|
+
.button_icon-only_default__1hthE:hover {
|
|
740
|
+
border-color: var(--click-button-group-color-stroke-hover);
|
|
741
|
+
}
|
|
742
|
+
|
|
743
|
+
.button_icon-only_default__1hthE[aria-pressed='true'] {
|
|
744
|
+
border-color: var(--click-button-group-color-stroke-active);
|
|
745
|
+
}
|
|
746
|
+
|
|
747
|
+
.button_icon-only_default__1hthE:disabled {
|
|
748
|
+
border-color: var(--click-button-group-color-stroke-disabled);
|
|
749
|
+
}
|
|
750
|
+
|
|
751
|
+
.button_icon-only_default__1hthE[aria-pressed='true']:disabled {
|
|
752
|
+
border-color: var(--click-button-group-color-stroke-disabled-active);
|
|
753
|
+
}
|
|
754
|
+
|
|
755
|
+
.button_icon-only_borderless__04LpP {
|
|
756
|
+
padding: var(--click-button-group-space-icon-borderless-y)
|
|
757
|
+
var(--click-button-group-space-icon-borderless-x);
|
|
758
|
+
}
|
|
759
|
+
|
|
760
|
+
.button__icon__HLIjg {
|
|
761
|
+
display: flex;
|
|
762
|
+
justify-content: center;
|
|
763
|
+
align-items: center;
|
|
764
|
+
}
|
|
765
|
+
|
|
766
|
+
.button__icon_height_line__fURvB {
|
|
767
|
+
height: 1lh;
|
|
768
|
+
}
|
|
769
|
+
|
|
679
770
|
.button_fillwidth__lqIVG {
|
|
680
771
|
flex: 1;
|
|
681
772
|
}
|
|
@@ -2306,6 +2397,103 @@ div:active + .topbadge__E79OZ {
|
|
|
2306
2397
|
cursor: not-allowed;
|
|
2307
2398
|
}
|
|
2308
2399
|
/* stylelint-enable no-descending-specificity */
|
|
2400
|
+
/* stylelint-disable custom-property-pattern -- design tokens use camelCase (e.g. opaqueBackground) */
|
|
2401
|
+
.trigger__bbzuV {
|
|
2402
|
+
/* stylelint-disable-next-line plugin/no-unsupported-browser-features -- `fit-content`
|
|
2403
|
+
keyword on `width` is widely supported on evergreen browsers; the original
|
|
2404
|
+
rule used the same value. */
|
|
2405
|
+
width: fit-content;
|
|
2406
|
+
border: none;
|
|
2407
|
+
background: transparent;
|
|
2408
|
+
cursor: pointer;
|
|
2409
|
+
}
|
|
2410
|
+
|
|
2411
|
+
@keyframes overlay-show__YkYqH {
|
|
2412
|
+
0% {
|
|
2413
|
+
opacity: 0;
|
|
2414
|
+
}
|
|
2415
|
+
|
|
2416
|
+
100% {
|
|
2417
|
+
opacity: 1;
|
|
2418
|
+
}
|
|
2419
|
+
}
|
|
2420
|
+
|
|
2421
|
+
@keyframes content-show__V3LjD {
|
|
2422
|
+
0% {
|
|
2423
|
+
opacity: 0;
|
|
2424
|
+
transform: translate(-50%, -48%) scale(0.96);
|
|
2425
|
+
}
|
|
2426
|
+
|
|
2427
|
+
100% {
|
|
2428
|
+
opacity: 1;
|
|
2429
|
+
transform: translate(-50%, -50%) scale(1);
|
|
2430
|
+
}
|
|
2431
|
+
}
|
|
2432
|
+
|
|
2433
|
+
.overlay__6zjBZ {
|
|
2434
|
+
position: fixed;
|
|
2435
|
+
inset: 0;
|
|
2436
|
+
background-color: var(--click-dialog-color-opaqueBackground-default);
|
|
2437
|
+
animation: overlay-show__YkYqH 150ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
2438
|
+
}
|
|
2439
|
+
|
|
2440
|
+
.content__eXA1D {
|
|
2441
|
+
position: fixed;
|
|
2442
|
+
top: 50%;
|
|
2443
|
+
left: 50%;
|
|
2444
|
+
width: 75%;
|
|
2445
|
+
max-width: 670px;
|
|
2446
|
+
max-height: 75%;
|
|
2447
|
+
overflow: auto;
|
|
2448
|
+
border: 1px solid var(--click-global-color-stroke-default);
|
|
2449
|
+
border-radius: var(--click-dialog-radii-all);
|
|
2450
|
+
background: var(--click-dialog-color-background-default);
|
|
2451
|
+
outline: none;
|
|
2452
|
+
box-shadow: var(--click-dialog-shadow-default);
|
|
2453
|
+
transform: translate(-50%, -50%);
|
|
2454
|
+
animation: content-show__V3LjD 150ms cubic-bezier(0.16, 1, 0.3, 1);
|
|
2455
|
+
padding-block: var(--click-dialog-space-y);
|
|
2456
|
+
padding-inline: var(--click-dialog-space-x);
|
|
2457
|
+
}
|
|
2458
|
+
|
|
2459
|
+
.content_reduce-padding__DYRs6 {
|
|
2460
|
+
padding-block: var(--sizes-4);
|
|
2461
|
+
padding-inline: var(--sizes-4);
|
|
2462
|
+
}
|
|
2463
|
+
|
|
2464
|
+
/* stylelint-disable-next-line media-feature-range-notation -- prefix notation
|
|
2465
|
+
required for browser compatibility per .browserslistrc */
|
|
2466
|
+
@media (max-width: 640px) {
|
|
2467
|
+
.content__eXA1D {
|
|
2468
|
+
width: 100%;
|
|
2469
|
+
max-height: 100%;
|
|
2470
|
+
border-radius: 0;
|
|
2471
|
+
}
|
|
2472
|
+
}
|
|
2473
|
+
|
|
2474
|
+
.title-area__cF92Z {
|
|
2475
|
+
display: flex;
|
|
2476
|
+
min-height: var(--sizes-9); /* 32px */
|
|
2477
|
+
justify-content: space-between;
|
|
2478
|
+
align-items: center;
|
|
2479
|
+
}
|
|
2480
|
+
|
|
2481
|
+
.title-area_only-close__PFiEJ {
|
|
2482
|
+
justify-content: flex-end;
|
|
2483
|
+
}
|
|
2484
|
+
|
|
2485
|
+
.title__glVA6 {
|
|
2486
|
+
margin: 0;
|
|
2487
|
+
padding: 0;
|
|
2488
|
+
font: var(--click-dialog-typography-title-default);
|
|
2489
|
+
}
|
|
2490
|
+
|
|
2491
|
+
.description__6Bsa9 {
|
|
2492
|
+
margin: 0;
|
|
2493
|
+
padding: 0;
|
|
2494
|
+
color: var(--click-dialog-color-description-default);
|
|
2495
|
+
font: var(--click-dialog-typography-description-default);
|
|
2496
|
+
}
|
|
2309
2497
|
.progressbar__21KMf {
|
|
2310
2498
|
display: flex;
|
|
2311
2499
|
min-height: 2px;
|
|
@@ -2575,6 +2763,206 @@ div:active + .topbadge__E79OZ {
|
|
|
2575
2763
|
width: var(--click-link-icon-size-md-width);
|
|
2576
2764
|
height: var(--click-link-icon-size-md-height);
|
|
2577
2765
|
}
|
|
2766
|
+
.multi-accordion__ntYTM {
|
|
2767
|
+
display: flex;
|
|
2768
|
+
flex-direction: column;
|
|
2769
|
+
justify-content: start;
|
|
2770
|
+
align-items: start;
|
|
2771
|
+
gap: var(--multi-accordion-gap);
|
|
2772
|
+
}
|
|
2773
|
+
|
|
2774
|
+
.multi-accordion_fill-width__Rnqso {
|
|
2775
|
+
width: 100%;
|
|
2776
|
+
}
|
|
2777
|
+
|
|
2778
|
+
.multi-accordion_gap_none__NrRxK {
|
|
2779
|
+
--multi-accordion-gap: var(--click-container-gap-none);
|
|
2780
|
+
}
|
|
2781
|
+
|
|
2782
|
+
.multi-accordion_gap_xxs__1FSFF {
|
|
2783
|
+
--multi-accordion-gap: var(--click-container-gap-xxs);
|
|
2784
|
+
}
|
|
2785
|
+
|
|
2786
|
+
.multi-accordion_gap_xs__oHQut {
|
|
2787
|
+
--multi-accordion-gap: var(--click-container-gap-xs);
|
|
2788
|
+
}
|
|
2789
|
+
|
|
2790
|
+
.multi-accordion_gap_sm__hxMme {
|
|
2791
|
+
--multi-accordion-gap: var(--click-container-gap-sm);
|
|
2792
|
+
}
|
|
2793
|
+
|
|
2794
|
+
.multi-accordion_gap_md__epg85 {
|
|
2795
|
+
--multi-accordion-gap: var(--click-container-gap-md);
|
|
2796
|
+
}
|
|
2797
|
+
|
|
2798
|
+
.multi-accordion_gap_lg__iYlYQ {
|
|
2799
|
+
--multi-accordion-gap: var(--click-container-gap-lg);
|
|
2800
|
+
}
|
|
2801
|
+
|
|
2802
|
+
.multi-accordion_gap_xl__1uarr {
|
|
2803
|
+
--multi-accordion-gap: var(--click-container-gap-xl);
|
|
2804
|
+
}
|
|
2805
|
+
|
|
2806
|
+
.multi-accordion_gap_xxl__m9X9V {
|
|
2807
|
+
--multi-accordion-gap: var(--click-container-gap-xxl);
|
|
2808
|
+
}
|
|
2809
|
+
|
|
2810
|
+
.multi-accordion__item__RHKu8 {
|
|
2811
|
+
border: 1px solid var(--click-global-color-stroke-default);
|
|
2812
|
+
border-radius: var(--border-radii-1);
|
|
2813
|
+
background-color: var(--click-global-color-background-default);
|
|
2814
|
+
}
|
|
2815
|
+
|
|
2816
|
+
.multi-accordion__item_no-border__ZtqMX {
|
|
2817
|
+
border: none;
|
|
2818
|
+
}
|
|
2819
|
+
|
|
2820
|
+
.multi-accordion__item_fill-width__zyq4f {
|
|
2821
|
+
width: 100%;
|
|
2822
|
+
}
|
|
2823
|
+
|
|
2824
|
+
.multi-accordion__trigger__etXVq {
|
|
2825
|
+
display: flex;
|
|
2826
|
+
width: 100%;
|
|
2827
|
+
padding: var(--multi-accordion-trigger-padding);
|
|
2828
|
+
align-items: center;
|
|
2829
|
+
gap: var(--multi-accordion-trigger-gap);
|
|
2830
|
+
border: none;
|
|
2831
|
+
border-radius: inherit;
|
|
2832
|
+
background-color: transparent;
|
|
2833
|
+
color: var(--multi-accordion-label-default);
|
|
2834
|
+
font: var(--multi-accordion-font-default);
|
|
2835
|
+
}
|
|
2836
|
+
|
|
2837
|
+
.multi-accordion__trigger__etXVq:active {
|
|
2838
|
+
color: var(--multi-accordion-label-active);
|
|
2839
|
+
font: var(--multi-accordion-font-active);
|
|
2840
|
+
}
|
|
2841
|
+
|
|
2842
|
+
.multi-accordion__trigger__etXVq:hover {
|
|
2843
|
+
background: var(--click-global-color-stroke-default);
|
|
2844
|
+
color: var(--multi-accordion-label-hover);
|
|
2845
|
+
font: var(--multi-accordion-font-hover);
|
|
2846
|
+
cursor: pointer;
|
|
2847
|
+
}
|
|
2848
|
+
|
|
2849
|
+
.multi-accordion__trigger__etXVq [data-icon='accordion-status'] {
|
|
2850
|
+
color: var(--global-color-stroke-intense);
|
|
2851
|
+
}
|
|
2852
|
+
|
|
2853
|
+
.multi-accordion__trigger__etXVq[data-state='open'] {
|
|
2854
|
+
border-bottom-left-radius: 0;
|
|
2855
|
+
border-bottom-right-radius: 0;
|
|
2856
|
+
}
|
|
2857
|
+
|
|
2858
|
+
.multi-accordion__trigger__etXVq[data-state='open'] [data-icon='accordion-status'] {
|
|
2859
|
+
color: var(--global-color-accent-default);
|
|
2860
|
+
}
|
|
2861
|
+
|
|
2862
|
+
.multi-accordion__trigger_size_none__o4eWF {
|
|
2863
|
+
--multi-accordion-trigger-padding: var(--click-container-space-none);
|
|
2864
|
+
--multi-accordion-trigger-gap: var(--click-accordion-sm-space-gap);
|
|
2865
|
+
}
|
|
2866
|
+
|
|
2867
|
+
.multi-accordion__trigger_size_sm__80VXp {
|
|
2868
|
+
--multi-accordion-trigger-padding: var(--click-container-space-sm);
|
|
2869
|
+
--multi-accordion-trigger-gap: var(--click-accordion-sm-space-gap);
|
|
2870
|
+
}
|
|
2871
|
+
|
|
2872
|
+
.multi-accordion__trigger_size_md__uAE8q {
|
|
2873
|
+
--multi-accordion-trigger-padding: var(--click-container-space-md);
|
|
2874
|
+
--multi-accordion-trigger-gap: var(--click-accordion-md-space-gap);
|
|
2875
|
+
}
|
|
2876
|
+
|
|
2877
|
+
.multi-accordion__trigger_size_lg__VHN7C {
|
|
2878
|
+
--multi-accordion-trigger-padding: var(--click-container-space-lg);
|
|
2879
|
+
--multi-accordion-trigger-gap: var(--click-accordion-lg-space-gap);
|
|
2880
|
+
}
|
|
2881
|
+
|
|
2882
|
+
.multi-accordion__trigger_font_sm__xnOLy {
|
|
2883
|
+
--multi-accordion-font-default: var(--click-accordion-sm-typography-label-default);
|
|
2884
|
+
--multi-accordion-font-hover: var(--click-accordion-sm-typography-label-hover);
|
|
2885
|
+
--multi-accordion-font-active: var(--click-accordion-sm-typography-label-active);
|
|
2886
|
+
}
|
|
2887
|
+
|
|
2888
|
+
.multi-accordion__trigger_font_md__hTIA8 {
|
|
2889
|
+
--multi-accordion-font-default: var(--click-accordion-md-typography-label-default);
|
|
2890
|
+
--multi-accordion-font-hover: var(--click-accordion-md-typography-label-hover);
|
|
2891
|
+
--multi-accordion-font-active: var(--click-accordion-md-typography-label-active);
|
|
2892
|
+
}
|
|
2893
|
+
|
|
2894
|
+
.multi-accordion__trigger_font_lg__yMSpQ {
|
|
2895
|
+
--multi-accordion-font-default: var(--click-accordion-lg-typography-label-default);
|
|
2896
|
+
--multi-accordion-font-hover: var(--click-accordion-lg-typography-label-hover);
|
|
2897
|
+
--multi-accordion-font-active: var(--click-accordion-lg-typography-label-active);
|
|
2898
|
+
}
|
|
2899
|
+
|
|
2900
|
+
.multi-accordion__trigger_color_default__X7f4v {
|
|
2901
|
+
--multi-accordion-label-default: var(--click-accordion-color-default-label-default);
|
|
2902
|
+
--multi-accordion-label-hover: var(--click-accordion-color-default-label-hover);
|
|
2903
|
+
--multi-accordion-label-active: var(--click-accordion-color-default-label-active);
|
|
2904
|
+
}
|
|
2905
|
+
|
|
2906
|
+
.multi-accordion__trigger_color_link__hXDgW {
|
|
2907
|
+
--multi-accordion-label-default: var(--click-accordion-color-link-label-default);
|
|
2908
|
+
--multi-accordion-label-hover: var(--click-accordion-color-link-label-hover);
|
|
2909
|
+
--multi-accordion-label-active: var(--click-accordion-color-link-label-active);
|
|
2910
|
+
}
|
|
2911
|
+
|
|
2912
|
+
.multi-accordion__icon-wrapper__uhWrs {
|
|
2913
|
+
display: flex;
|
|
2914
|
+
justify-content: center;
|
|
2915
|
+
align-items: center;
|
|
2916
|
+
transition: transform 200ms cubic-bezier(0.87, 0, 0.13, 1);
|
|
2917
|
+
}
|
|
2918
|
+
|
|
2919
|
+
.multi-accordion__trigger__etXVq[data-state='open'] .multi-accordion__icon-wrapper__uhWrs {
|
|
2920
|
+
transform: rotate(90deg);
|
|
2921
|
+
}
|
|
2922
|
+
|
|
2923
|
+
.multi-accordion__icons-wrapper__67uu- {
|
|
2924
|
+
display: flex;
|
|
2925
|
+
justify-content: center;
|
|
2926
|
+
align-items: center;
|
|
2927
|
+
}
|
|
2928
|
+
|
|
2929
|
+
.multi-accordion__content__Gz0po {
|
|
2930
|
+
padding: var(--multi-accordion-content-padding);
|
|
2931
|
+
padding-top: 0;
|
|
2932
|
+
}
|
|
2933
|
+
|
|
2934
|
+
.multi-accordion__content_padding_none__GgbED {
|
|
2935
|
+
--multi-accordion-content-padding: var(--click-container-space-none);
|
|
2936
|
+
}
|
|
2937
|
+
|
|
2938
|
+
.multi-accordion__content_padding_sm__nmI7q {
|
|
2939
|
+
--multi-accordion-content-padding: var(--click-container-space-sm);
|
|
2940
|
+
}
|
|
2941
|
+
|
|
2942
|
+
.multi-accordion__content_padding_md__XD2Ki {
|
|
2943
|
+
--multi-accordion-content-padding: var(--click-container-space-md);
|
|
2944
|
+
}
|
|
2945
|
+
|
|
2946
|
+
.multi-accordion__content_padding_lg__W-njL {
|
|
2947
|
+
--multi-accordion-content-padding: var(--click-container-space-lg);
|
|
2948
|
+
}
|
|
2949
|
+
|
|
2950
|
+
.multi-accordion__title__kLWyH {
|
|
2951
|
+
overflow: hidden;
|
|
2952
|
+
}
|
|
2953
|
+
|
|
2954
|
+
/* stylelint-disable-next-line block-no-empty -- base element required by BEM */
|
|
2955
|
+
.multi-accordion__status-icon__MNVgx {
|
|
2956
|
+
}
|
|
2957
|
+
|
|
2958
|
+
.multi-accordion__status-icon_completed__z5-XJ svg path {
|
|
2959
|
+
fill: var(--global-color-accent-default) !important;
|
|
2960
|
+
stroke: var(--global-color-background-default) !important;
|
|
2961
|
+
}
|
|
2962
|
+
|
|
2963
|
+
.multi-accordion__status-icon_completed__z5-XJ svg path:first-of-type {
|
|
2964
|
+
stroke: var(--global-color-accent-default) !important;
|
|
2965
|
+
}
|
|
2578
2966
|
.collapsible__8jmKP {
|
|
2579
2967
|
width: 100%;
|
|
2580
2968
|
}
|
|
@@ -3332,6 +3720,11 @@ div:active + .topbadge__E79OZ {
|
|
|
3332
3720
|
--click-button-group-space-button-default-x: 0.75rem;
|
|
3333
3721
|
--click-button-group-space-button-borderless-y: 5.5px;
|
|
3334
3722
|
--click-button-group-space-button-borderless-x: 1rem;
|
|
3723
|
+
--click-button-group-space-icon-default-y: 3px;
|
|
3724
|
+
--click-button-group-space-icon-default-x: 1rem;
|
|
3725
|
+
--click-button-group-space-icon-borderless-y: 5.5px;
|
|
3726
|
+
--click-button-group-space-icon-borderless-x: 1rem;
|
|
3727
|
+
--click-button-group-icon-size-all: 1rem;
|
|
3335
3728
|
--click-button-group-color-background-default: rgba(0, 0, 0, 0);
|
|
3336
3729
|
--click-button-group-color-background-hover: #f6f7fa;
|
|
3337
3730
|
--click-button-group-color-background-active: lch(95.274 1.5364 271.98);
|
|
@@ -5129,6 +5522,11 @@ div:active + .topbadge__E79OZ {
|
|
|
5129
5522
|
--click-button-group-space-button-default-x: 0.75rem;
|
|
5130
5523
|
--click-button-group-space-button-borderless-y: 5.5px;
|
|
5131
5524
|
--click-button-group-space-button-borderless-x: 1rem;
|
|
5525
|
+
--click-button-group-space-icon-default-y: 3px;
|
|
5526
|
+
--click-button-group-space-icon-default-x: 1rem;
|
|
5527
|
+
--click-button-group-space-icon-borderless-y: 5.5px;
|
|
5528
|
+
--click-button-group-space-icon-borderless-x: 1rem;
|
|
5529
|
+
--click-button-group-icon-size-all: 1rem;
|
|
5132
5530
|
--click-button-group-color-background-default: rgba(0, 0, 0, 0);
|
|
5133
5531
|
--click-button-group-color-background-hover: #282828;
|
|
5134
5532
|
--click-button-group-color-background-active: #414141;
|
|
@@ -6,6 +6,7 @@ import { GenericMenuItem } from '../GenericMenu/index.js';
|
|
|
6
6
|
import { IconWrapper } from '../IconWrapper/index.js';
|
|
7
7
|
import { getTextFromNodes } from '../../lib/getTextFromNodes.js';
|
|
8
8
|
import { mergeRefs } from '../../utils/mergeRefs.js';
|
|
9
|
+
import { useResolvedPortalContainer } from '../../providers/PortalContext.js';
|
|
9
10
|
import { useSearch, useOption } from './useOption.js';
|
|
10
11
|
import { OptionContext } from './OptionContext.js';
|
|
11
12
|
import { SearchField } from '../SearchField/index.js';
|
|
@@ -110,12 +111,14 @@ const AutoComplete = ({
|
|
|
110
111
|
disabled,
|
|
111
112
|
value = "",
|
|
112
113
|
placeholder = "Search",
|
|
114
|
+
container,
|
|
113
115
|
...props
|
|
114
116
|
}) => {
|
|
115
117
|
const defaultId = useId();
|
|
116
118
|
const [search, setSearch] = useState("");
|
|
117
119
|
const [open, setOpen] = useState(false);
|
|
118
120
|
const inputRef = useRef(null);
|
|
121
|
+
const portalContainer = useResolvedPortalContainer(container);
|
|
119
122
|
const [highlighted, setHighlighted] = useState();
|
|
120
123
|
const visibleList = useRef([]);
|
|
121
124
|
const navigatable = useRef([]);
|
|
@@ -283,7 +286,7 @@ const AutoComplete = ({
|
|
|
283
286
|
};
|
|
284
287
|
return /* @__PURE__ */ jsxs(SelectPopoverRoot, { open, onOpenChange, children: [
|
|
285
288
|
/* @__PURE__ */ jsx(Trigger, { asChild: true, disabled, "data-testid": "autocomplete-trigger", children: /* @__PURE__ */ jsx("div", { onClick: onTriggerClick, children: /* @__PURE__ */ jsx(SearchField, { ref: inputRef, value: search, onChange: onUpdateSearch, onKeyDown, disabled, placeholder, ...props }) }) }),
|
|
286
|
-
/* @__PURE__ */ jsx(Portal, { children: /* @__PURE__ */ jsx(PopoverContent, { sideOffset: 5, onFocus, onCloseAutoFocus: () => {
|
|
289
|
+
/* @__PURE__ */ jsx(Portal, { container: portalContainer, children: /* @__PURE__ */ jsx(PopoverContent, { sideOffset: 5, onFocus, onCloseAutoFocus: () => {
|
|
287
290
|
onUpdateSearch("");
|
|
288
291
|
inputRef.current?.focus();
|
|
289
292
|
}, onOpenAutoFocus: (e) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/AutoComplete/AutoComplete.tsx"],"sourcesContent":["import {\n Children,\n FunctionComponent,\n HTMLAttributes,\n KeyboardEventHandler,\n MouseEventHandler,\n ReactNode,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Portal, PopoverProps, Content, Root, Trigger } from '@radix-ui/react-popover';\nimport { styled } from 'styled-components';\n\nimport { HorizontalDirection } from '@/types';\nimport { SearchField } from '@/components/SearchField';\nimport { Separator } from '@/components/Separator';\nimport { Icon, type ImageName } from '@/components/Icon';\nimport { GenericMenuItem } from '@/components/GenericMenu';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { getTextFromNodes } from '@/lib/getTextFromNodes';\nimport { mergeRefs } from '@/utils/mergeRefs';\n\nimport { useOption, useSearch } from './useOption';\nimport { OptionContext } from './OptionContext';\n\ntype DivProps = HTMLAttributes<HTMLDivElement>;\ninterface SelectItemComponentProps extends Omit<\n DivProps,\n 'disabled' | 'onSelect' | 'value' | 'children'\n> {\n separator?: boolean;\n disabled?: boolean;\n onSelect?: (value: string) => void;\n value: string;\n icon?: ImageName;\n iconDir?: HorizontalDirection;\n}\n\ntype SelectItemChildren = {\n children: ReactNode;\n label?: never;\n};\n\ntype SelectItemLabel = {\n children?: never;\n label: ReactNode;\n};\nexport interface SelectGroupProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'heading'\n> {\n heading: ReactNode;\n value?: never;\n onSelect?: never;\n}\nexport interface SelectOptionItem extends Omit<SelectItemProps, 'children' | 'label'> {\n heading?: never;\n label: ReactNode;\n [key: `data-${string}`]: string;\n}\n\ninterface SelectGroupOptionItem extends Omit<SelectGroupProps, 'children' | 'label'> {\n options: SelectOptionItem[];\n label?: never;\n [key: `data-${string}`]: string;\n}\n\nexport type AutoCompleteOptionListItem = SelectGroupOptionItem | SelectOptionItem;\n\nexport type SelectItemProps = SelectItemComponentProps &\n (SelectItemChildren | SelectItemLabel);\ntype SelectOptionType = {\n options: AutoCompleteOptionListItem[];\n children?: never;\n};\n\ntype SelectChildrenType = {\n children: ReactNode;\n options?: never;\n};\n\ntype SelectOptionProp = SelectOptionType | SelectChildrenType;\n\ninterface Props\n extends PopoverProps, Omit<DivProps, 'onChange' | 'dir' | 'onSelect' | 'children'> {\n onSelect?: (value: string) => void;\n value?: string;\n placeholder?: string;\n onOpenChange?: (open: boolean) => void;\n label?: ReactNode;\n error?: ReactNode;\n disabled?: boolean;\n dir?: 'start' | 'end';\n orientation?: 'horizontal' | 'vertical';\n allowCreateOption?: boolean;\n}\ntype SelectItemObject = {\n disabled?: boolean;\n value: string;\n title: string;\n heading?: string;\n};\n\nexport type AutoCompleteProps = (SelectOptionType & Props) | (SelectChildrenType & Props);\n\nexport const SelectPopoverRoot = styled(Root)`\n width: 100%;\n ${({ theme }) => `\n border: 1px solid ${theme.click.genericMenu.item.color.default.stroke.default};\n background: ${theme.click.genericMenu.item.color.default.background.default};\n box-shadow: 0px 1px 3px 0px rgba(16, 24, 40, 0.1),\n 0px 1px 2px 0px rgba(16, 24, 40, 0.06);\n border-radius: 0.25rem;\n `}\n overflow: hidden;\n display: flex;\n padding: 0.5rem 0rem;\n align-items: flex-start;\n gap: 0.625rem;\n`;\n\nconst PopoverContent = styled(Content)`\n width: var(--radix-popover-trigger-width);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 5px;\n`;\nconst SelectGroupContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n width: -webkit-fill-available;\n width: fill-available;\n width: stretch;\n overflow: hidden;\n background: transparent;\n &[aria-selected] {\n outline: none;\n }\n\n ${({ theme }) => `\n font: ${theme.click.genericMenu.item.typography.sectionHeader.default};\n color: ${theme.click.genericMenu.item.color.default.text.muted};\n `};\n &[hidden] {\n display: none;\n }\n`;\n\nconst SelectGroupName = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n ${({ theme }) => `\n font: ${theme.click.genericMenu.item.typography.sectionHeader.default};\n color: ${theme.click.genericMenu.item.color.default.text.muted};\n padding: ${theme.click.genericMenu.sectionHeader.space.top} ${theme.click.genericMenu.item.space.x} ${theme.click.genericMenu.sectionHeader.space.bottom};\n gap: ${theme.click.genericMenu.item.space.gap};\n border-bottom: 1px solid ${theme.click.genericMenu.item.color.default.stroke.default};\n `}\n`;\n\nconst SelectGroupContent = styled.div`\n width: inherit;\n`;\n\nconst SelectListContent = styled.div`\n width: inherit;\n overflow: overlay;\n flex: 1;\n`;\n\ntype CallbackProps = SelectItemObject & {\n nodeProps: SelectItemProps;\n};\n\nconst childrenToComboboxItemArray = (\n children: ReactNode,\n callback: (props: CallbackProps) => void,\n heading?: string\n): SelectItemObject[] => {\n return Children.toArray(children).flatMap(child => {\n if (isValidElement(child) && child && typeof child === 'object') {\n const type = child.type as FunctionComponent;\n if (type.displayName === 'AutoComplete.Group') {\n const groupChildren = child.props.children;\n return childrenToComboboxItemArray(\n groupChildren,\n callback,\n getTextFromNodes(child.props.heading).toLowerCase()\n );\n } else if (type.displayName === 'AutoComplete.Item') {\n const title = getTextFromNodes(child).toLowerCase();\n const value = child.props.value;\n const disabled = child.props.disabled;\n callback({\n disabled,\n value,\n title,\n heading,\n nodeProps: child.props,\n });\n return {\n disabled,\n value,\n title,\n heading,\n };\n } else if ('props' in child && child.props.children) {\n return childrenToComboboxItemArray(child.props.children, callback, heading);\n }\n }\n return [];\n });\n};\nconst SelectNoDataContainer = styled.div`\n border: none;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: left;\n cursor: default;\n &[hidden='true'] {\n display: none;\n }\n ${({ theme }) => `\n font: ${theme.click.genericMenu.button.typography.label.default}\n padding: ${theme.click.genericMenu.button.space.y} ${theme.click.genericMenu.item.space.x};\n background: ${theme.click.genericMenu.button.color.background.default};\n color: ${theme.click.genericMenu.button.color.label.default};\n `}\n`;\n\nconst SelectList = styled.div`\n display: flex;\n flex-direction: column;\n width: inherit;\n max-height: var(--radix-popover-content-available-height);\n ${({ theme }) => `\n border: 1px solid ${theme.click.genericMenu.item.color.default.stroke.default};\n background: ${theme.click.genericMenu.item.color.default.background.default};\n box-shadow: ${theme.click.genericMenu.panel.shadow.default};\n border-radius: 0.25rem;\n `}\n`;\n\nexport const AutoComplete = ({\n onSelect: onSelectProp,\n options,\n children,\n onOpenChange: onOpenChangeProp,\n disabled,\n value = '',\n placeholder = 'Search',\n ...props\n}: AutoCompleteProps) => {\n const defaultId = useId();\n const [search, setSearch] = useState('');\n const [open, setOpen] = useState(false);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const [highlighted, setHighlighted] = useState<string | undefined>();\n const visibleList = useRef<string[]>([]);\n const navigatable = useRef<string[]>([]);\n const valueNode = useRef<Map<string, SelectItemProps>>(new Map());\n const [list, setList] = useState<SelectItemObject[]>([]);\n const updateElements = useCallback(\n ({ disabled, value, title, heading, nodeProps }: CallbackProps) => {\n if (title.includes(search) || heading?.includes(search)) {\n visibleList.current.push(value);\n if (!disabled) {\n navigatable.current.push(value);\n }\n }\n valueNode.current.set(value, nodeProps);\n },\n [search]\n );\n\n const onFocus = () => {\n inputRef.current?.focus();\n };\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n const newOpen = open && !disabled;\n setOpen(newOpen);\n if (typeof onOpenChangeProp === 'function') {\n onOpenChangeProp(newOpen);\n }\n },\n [disabled, onOpenChangeProp]\n );\n\n const onSelect = useCallback(\n (value: string) => {\n onOpenChange(false);\n if (typeof onSelectProp === 'function') {\n onSelectProp(value);\n }\n },\n [onSelectProp, onOpenChange]\n );\n\n const onUpdateSearch = useCallback(\n (search: string) => {\n setSearch(search);\n let hasHighlightedValue = false;\n const visibleItemsList: string[] = [];\n const navigatableList: string[] = [];\n const searchLowerCase = search.toLowerCase();\n list.forEach(item => {\n if (\n item.title.includes(searchLowerCase) ||\n item.heading?.includes(searchLowerCase)\n ) {\n if (item.value === highlighted) {\n hasHighlightedValue = true;\n }\n visibleItemsList.push(item.value);\n if (!item.disabled) {\n navigatableList.push(item.value);\n }\n }\n });\n navigatable.current = navigatableList;\n visibleList.current = visibleItemsList;\n if (!hasHighlightedValue) {\n setHighlighted(navigatableList[0] ?? null);\n }\n },\n [highlighted, list]\n );\n\n const updateList = useCallback(\n (children?: ReactNode, options?: AutoCompleteOptionListItem[]) => {\n const lowerCasedSearch = search.toLowerCase();\n if (options) {\n setList(\n options.flatMap(option => {\n if ('options' in option) {\n const heading = getTextFromNodes(option.heading).toLowerCase();\n return (option.options ?? []).map(item => {\n valueNode.current.set(item.value, item);\n const title = getTextFromNodes(item.label).toLowerCase();\n if (\n title.includes(lowerCasedSearch) ||\n heading?.includes(lowerCasedSearch)\n ) {\n visibleList.current.push(item.value);\n if (!disabled) {\n navigatable.current.push(item.value);\n }\n }\n return {\n heading,\n disabled: item.disabled,\n value: item.value,\n title,\n };\n });\n } else {\n valueNode.current.set(option.value, option);\n const title = getTextFromNodes(option.label).toLowerCase();\n if (title.includes(lowerCasedSearch)) {\n visibleList.current.push(option.value);\n if (!disabled) {\n navigatable.current.push(option.value);\n }\n }\n return {\n disabled: option.disabled,\n value: option.value,\n title: getTextFromNodes(option.label),\n };\n }\n })\n );\n } else if (children) {\n setList(childrenToComboboxItemArray(children, updateElements));\n }\n },\n [disabled, search, updateElements]\n );\n\n useEffect(() => {\n updateList(children, options);\n }, [children, options, updateList]);\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = e => {\n if (!e.defaultPrevented) {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (highlighted) {\n onSelect(highlighted);\n }\n } else if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key)) {\n e.preventDefault();\n let nextHighlightedValue = highlighted;\n const highlightedIndex = navigatable.current.findIndex(\n value => value === highlighted\n );\n if (e.key === 'ArrowUp') {\n if (highlightedIndex === 0) {\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex - 1];\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (highlightedIndex === navigatable.current.length - 1) {\n nextHighlightedValue = navigatable.current[0];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex + 1];\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else if (e.key === 'Home') {\n nextHighlightedValue = navigatable.current[0];\n e.preventDefault();\n }\n setHighlighted(nextHighlightedValue);\n }\n }\n };\n const isHidden = useCallback(\n (value?: string) => {\n return !visibleList.current.includes(value ?? '');\n },\n [visibleList]\n );\n\n const optionContextValue = useMemo(() => {\n return {\n search,\n updateHighlighted: setHighlighted,\n highlighted,\n isHidden,\n onSelect,\n selectedValue: value,\n };\n }, [search, highlighted, isHidden, onSelect, value]);\n\n const conditionalProps: Partial<SelectOptionProp> = {};\n if (options) {\n conditionalProps.options = options;\n } else {\n conditionalProps.children = children;\n }\n\n const onTriggerClick: MouseEventHandler<HTMLDivElement> = e => {\n if (open) {\n e.preventDefault();\n inputRef.current?.focus();\n }\n };\n\n const onFocusOutside = (\n e: CustomEvent<{\n originalEvent: FocusEvent;\n }>\n ) => {\n const contentElement = (e.target as HTMLElement)?.closest('[aria-haspopup=dialog]');\n const triggerElement = (e.target as HTMLElement)?.closest(\n '[data-radix-popper-content-wrapper]'\n );\n\n if (contentElement || triggerElement) {\n e.preventDefault();\n }\n };\n\n return (\n <SelectPopoverRoot\n open={open}\n onOpenChange={onOpenChange}\n >\n <Trigger\n asChild\n disabled={disabled}\n data-testid=\"autocomplete-trigger\"\n >\n <div onClick={onTriggerClick}>\n <SearchField\n ref={inputRef}\n value={search}\n onChange={onUpdateSearch}\n onKeyDown={onKeyDown}\n disabled={disabled}\n placeholder={placeholder}\n {...props}\n />\n </div>\n </Trigger>\n <Portal>\n <PopoverContent\n sideOffset={5}\n onFocus={onFocus}\n onCloseAutoFocus={() => {\n onUpdateSearch('');\n inputRef.current?.focus();\n }}\n onOpenAutoFocus={e => {\n e.preventDefault();\n setHighlighted(visibleList.current[0]);\n inputRef.current?.focus();\n }}\n align=\"start\"\n onPointerDownOutside={() => {\n onOpenChange(false);\n }}\n onFocusOutside={onFocusOutside}\n >\n <SelectList>\n <SelectListContent>\n <OptionContext.Provider value={optionContextValue}>\n {options && options.length > 0\n ? options.map((optionProps, index) => {\n if ('options' in optionProps) {\n const { options: itemList = [], ...groupProps } = optionProps;\n return (\n <Group\n key={`autocomplete-${defaultId}-group-${index}`}\n {...groupProps}\n >\n {itemList.map(\n ({ label, ...itemProps }, itemIndex: number) => (\n <Item\n key={`autocomplete-${defaultId}-group-${index}-item-${itemIndex}`}\n {...itemProps}\n >\n {label}\n </Item>\n )\n )}\n </Group>\n );\n } else {\n return (\n <Item\n key={`autocomplete-${defaultId}-item-${index}`}\n {...optionProps}\n />\n );\n }\n })\n : children}\n </OptionContext.Provider>\n </SelectListContent>\n {visibleList.current.length === 0 && (\n <SelectNoDataContainer {...props}>\n No Options found{search.length > 0 ? ` for \"${search}\" ` : ''}\n </SelectNoDataContainer>\n )}\n </SelectList>\n </PopoverContent>\n </Portal>\n </SelectPopoverRoot>\n );\n};\n\nexport const Group = forwardRef<HTMLDivElement, SelectGroupProps>(\n ({ children, heading, ...props }, forwardedRef) => {\n useSearch();\n return (\n <SelectGroupContainer\n {...props}\n ref={mergeRefs([\n forwardedRef,\n node => {\n const hidden = node?.querySelectorAll('[cui-autocomplete-item]').length === 0;\n if (hidden) {\n node?.setAttribute('hidden', '');\n } else {\n node?.removeAttribute('hidden');\n }\n node?.setAttribute('aria-hidden', hidden.toString());\n },\n ])}\n >\n <SelectGroupName>{heading}</SelectGroupName>\n <SelectGroupContent>{children}</SelectGroupContent>\n </SelectGroupContainer>\n );\n }\n);\n\nGroup.displayName = 'AutoComplete.Group';\n\nconst CheckIcon = styled.svg<{ $showCheck: boolean }>`\n opacity: ${({ $showCheck }) => ($showCheck ? 1 : 0)};\n`;\n\nexport const Item = forwardRef<HTMLDivElement, SelectItemProps>(\n (\n {\n disabled = false,\n children,\n label,\n separator,\n onSelect: onSelectProp,\n value = '',\n icon,\n iconDir,\n onMouseOver: onMouseOverProp,\n ...props\n },\n forwardedRef\n ) => {\n const { highlighted, updateHighlighted, isHidden, selectedValue, onSelect } =\n useOption();\n const onSelectValue = () => {\n if (!disabled) {\n onSelect(value);\n if (typeof onSelectProp == 'function') {\n onSelectProp(value);\n }\n }\n };\n const onMouseOver: MouseEventHandler<HTMLDivElement> = e => {\n if (onMouseOverProp) {\n onMouseOverProp(e);\n }\n if (!disabled) {\n updateHighlighted(value);\n }\n };\n\n if (isHidden(value)) {\n return null;\n }\n const isChecked = selectedValue === value;\n\n return (\n <>\n <GenericMenuItem\n {...props}\n data-value={value}\n onClick={onSelectValue}\n onMouseOver={onMouseOver}\n ref={forwardedRef}\n data-state={isChecked ? 'checked' : 'unchecked'}\n data-disabled={disabled ? true : undefined}\n data-highlighted={highlighted == value ? 'true' : undefined}\n cui-autocomplete-item=\"\"\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label ?? children}\n </IconWrapper>\n <CheckIcon\n as={Icon}\n name=\"check\"\n size=\"sm\"\n $showCheck={isChecked}\n />\n </GenericMenuItem>\n {separator && <Separator size=\"sm\" />}\n </>\n );\n }\n);\n\nItem.displayName = 'AutoComplete.Item';\n\nAutoComplete.Group = Group;\nAutoComplete.Item = Item;\n"],"names":["SelectPopoverRoot","styled","Root","withConfig","componentId","theme","click","genericMenu","item","color","default","stroke","background","PopoverContent","Content","SelectGroupContainer","div","typography","sectionHeader","text","muted","SelectGroupName","space","top","x","bottom","gap","SelectGroupContent","SelectListContent","childrenToComboboxItemArray","children","callback","heading","Children","toArray","flatMap","child","isValidElement","type","displayName","groupChildren","props","getTextFromNodes","toLowerCase","title","value","disabled","nodeProps","SelectNoDataContainer","button","label","y","SelectList","panel","shadow","AutoComplete","onSelect","onSelectProp","options","onOpenChange","onOpenChangeProp","placeholder","defaultId","useId","search","setSearch","useState","open","setOpen","inputRef","useRef","highlighted","setHighlighted","visibleList","navigatable","valueNode","Map","list","setList","updateElements","useCallback","includes","current","push","set","onFocus","focus","newOpen","onUpdateSearch","hasHighlightedValue","visibleItemsList","navigatableList","searchLowerCase","forEach","updateList","lowerCasedSearch","option","map","useEffect","onKeyDown","e","defaultPrevented","key","preventDefault","nextHighlightedValue","highlightedIndex","findIndex","length","isHidden","optionContextValue","useMemo","updateHighlighted","selectedValue","onTriggerClick","onFocusOutside","contentElement","target","closest","triggerElement","optionProps","index","itemList","groupProps","itemProps","itemIndex","Group","forwardRef","forwardedRef","useSearch","mergeRefs","node","hidden","querySelectorAll","setAttribute","removeAttribute","toString","CheckIcon","svg","$showCheck","Item","separator","icon","iconDir","onMouseOver","onMouseOverProp","useOption","onSelectValue","isChecked","undefined","Icon"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/AutoComplete/AutoComplete.tsx"],"sourcesContent":["import {\n Children,\n FunctionComponent,\n HTMLAttributes,\n KeyboardEventHandler,\n MouseEventHandler,\n ReactNode,\n forwardRef,\n isValidElement,\n useCallback,\n useEffect,\n useId,\n useMemo,\n useRef,\n useState,\n} from 'react';\nimport { Portal, PopoverProps, Content, Root, Trigger } from '@radix-ui/react-popover';\nimport { styled } from 'styled-components';\n\nimport { HorizontalDirection } from '@/types';\nimport { SearchField } from '@/components/SearchField';\nimport { Separator } from '@/components/Separator';\nimport { Icon, type ImageName } from '@/components/Icon';\nimport { GenericMenuItem } from '@/components/GenericMenu';\nimport { IconWrapper } from '@/components/IconWrapper';\nimport { getTextFromNodes } from '@/lib/getTextFromNodes';\nimport { mergeRefs } from '@/utils/mergeRefs';\nimport { useResolvedPortalContainer } from '@/providers/PortalContext';\n\nimport { useOption, useSearch } from './useOption';\nimport { OptionContext } from './OptionContext';\n\ntype DivProps = HTMLAttributes<HTMLDivElement>;\ninterface SelectItemComponentProps extends Omit<\n DivProps,\n 'disabled' | 'onSelect' | 'value' | 'children'\n> {\n separator?: boolean;\n disabled?: boolean;\n onSelect?: (value: string) => void;\n value: string;\n icon?: ImageName;\n iconDir?: HorizontalDirection;\n}\n\ntype SelectItemChildren = {\n children: ReactNode;\n label?: never;\n};\n\ntype SelectItemLabel = {\n children?: never;\n label: ReactNode;\n};\nexport interface SelectGroupProps extends Omit<\n HTMLAttributes<HTMLDivElement>,\n 'heading'\n> {\n heading: ReactNode;\n value?: never;\n onSelect?: never;\n}\nexport interface SelectOptionItem extends Omit<SelectItemProps, 'children' | 'label'> {\n heading?: never;\n label: ReactNode;\n [key: `data-${string}`]: string;\n}\n\ninterface SelectGroupOptionItem extends Omit<SelectGroupProps, 'children' | 'label'> {\n options: SelectOptionItem[];\n label?: never;\n [key: `data-${string}`]: string;\n}\n\nexport type AutoCompleteOptionListItem = SelectGroupOptionItem | SelectOptionItem;\n\nexport type SelectItemProps = SelectItemComponentProps &\n (SelectItemChildren | SelectItemLabel);\ntype SelectOptionType = {\n options: AutoCompleteOptionListItem[];\n children?: never;\n};\n\ntype SelectChildrenType = {\n children: ReactNode;\n options?: never;\n};\n\ntype SelectOptionProp = SelectOptionType | SelectChildrenType;\n\ninterface Props\n extends PopoverProps, Omit<DivProps, 'onChange' | 'dir' | 'onSelect' | 'children'> {\n onSelect?: (value: string) => void;\n value?: string;\n placeholder?: string;\n onOpenChange?: (open: boolean) => void;\n label?: ReactNode;\n container?: HTMLElement | null;\n error?: ReactNode;\n disabled?: boolean;\n dir?: 'start' | 'end';\n orientation?: 'horizontal' | 'vertical';\n allowCreateOption?: boolean;\n}\ntype SelectItemObject = {\n disabled?: boolean;\n value: string;\n title: string;\n heading?: string;\n};\n\nexport type AutoCompleteProps = (SelectOptionType & Props) | (SelectChildrenType & Props);\n\nexport const SelectPopoverRoot = styled(Root)`\n width: 100%;\n ${({ theme }) => `\n border: 1px solid ${theme.click.genericMenu.item.color.default.stroke.default};\n background: ${theme.click.genericMenu.item.color.default.background.default};\n box-shadow: 0px 1px 3px 0px rgba(16, 24, 40, 0.1),\n 0px 1px 2px 0px rgba(16, 24, 40, 0.06);\n border-radius: 0.25rem;\n `}\n overflow: hidden;\n display: flex;\n padding: 0.5rem 0rem;\n align-items: flex-start;\n gap: 0.625rem;\n`;\n\nconst PopoverContent = styled(Content)`\n width: var(--radix-popover-trigger-width);\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: 5px;\n`;\nconst SelectGroupContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n justify-content: center;\n width: -webkit-fill-available;\n width: fill-available;\n width: stretch;\n overflow: hidden;\n background: transparent;\n &[aria-selected] {\n outline: none;\n }\n\n ${({ theme }) => `\n font: ${theme.click.genericMenu.item.typography.sectionHeader.default};\n color: ${theme.click.genericMenu.item.color.default.text.muted};\n `};\n &[hidden] {\n display: none;\n }\n`;\n\nconst SelectGroupName = styled.div`\n display: flex;\n width: 100%;\n flex-direction: column;\n overflow: hidden;\n white-space: nowrap;\n text-overflow: ellipsis;\n ${({ theme }) => `\n font: ${theme.click.genericMenu.item.typography.sectionHeader.default};\n color: ${theme.click.genericMenu.item.color.default.text.muted};\n padding: ${theme.click.genericMenu.sectionHeader.space.top} ${theme.click.genericMenu.item.space.x} ${theme.click.genericMenu.sectionHeader.space.bottom};\n gap: ${theme.click.genericMenu.item.space.gap};\n border-bottom: 1px solid ${theme.click.genericMenu.item.color.default.stroke.default};\n `}\n`;\n\nconst SelectGroupContent = styled.div`\n width: inherit;\n`;\n\nconst SelectListContent = styled.div`\n width: inherit;\n overflow: overlay;\n flex: 1;\n`;\n\ntype CallbackProps = SelectItemObject & {\n nodeProps: SelectItemProps;\n};\n\nconst childrenToComboboxItemArray = (\n children: ReactNode,\n callback: (props: CallbackProps) => void,\n heading?: string\n): SelectItemObject[] => {\n return Children.toArray(children).flatMap(child => {\n if (isValidElement(child) && child && typeof child === 'object') {\n const type = child.type as FunctionComponent;\n if (type.displayName === 'AutoComplete.Group') {\n const groupChildren = child.props.children;\n return childrenToComboboxItemArray(\n groupChildren,\n callback,\n getTextFromNodes(child.props.heading).toLowerCase()\n );\n } else if (type.displayName === 'AutoComplete.Item') {\n const title = getTextFromNodes(child).toLowerCase();\n const value = child.props.value;\n const disabled = child.props.disabled;\n callback({\n disabled,\n value,\n title,\n heading,\n nodeProps: child.props,\n });\n return {\n disabled,\n value,\n title,\n heading,\n };\n } else if ('props' in child && child.props.children) {\n return childrenToComboboxItemArray(child.props.children, callback, heading);\n }\n }\n return [];\n });\n};\nconst SelectNoDataContainer = styled.div`\n border: none;\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n text-align: left;\n cursor: default;\n &[hidden='true'] {\n display: none;\n }\n ${({ theme }) => `\n font: ${theme.click.genericMenu.button.typography.label.default}\n padding: ${theme.click.genericMenu.button.space.y} ${theme.click.genericMenu.item.space.x};\n background: ${theme.click.genericMenu.button.color.background.default};\n color: ${theme.click.genericMenu.button.color.label.default};\n `}\n`;\n\nconst SelectList = styled.div`\n display: flex;\n flex-direction: column;\n width: inherit;\n max-height: var(--radix-popover-content-available-height);\n ${({ theme }) => `\n border: 1px solid ${theme.click.genericMenu.item.color.default.stroke.default};\n background: ${theme.click.genericMenu.item.color.default.background.default};\n box-shadow: ${theme.click.genericMenu.panel.shadow.default};\n border-radius: 0.25rem;\n `}\n`;\n\nexport const AutoComplete = ({\n onSelect: onSelectProp,\n options,\n children,\n onOpenChange: onOpenChangeProp,\n disabled,\n value = '',\n placeholder = 'Search',\n container,\n ...props\n}: AutoCompleteProps) => {\n const defaultId = useId();\n const [search, setSearch] = useState('');\n const [open, setOpen] = useState(false);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const portalContainer = useResolvedPortalContainer(container);\n const [highlighted, setHighlighted] = useState<string | undefined>();\n const visibleList = useRef<string[]>([]);\n const navigatable = useRef<string[]>([]);\n const valueNode = useRef<Map<string, SelectItemProps>>(new Map());\n const [list, setList] = useState<SelectItemObject[]>([]);\n const updateElements = useCallback(\n ({ disabled, value, title, heading, nodeProps }: CallbackProps) => {\n if (title.includes(search) || heading?.includes(search)) {\n visibleList.current.push(value);\n if (!disabled) {\n navigatable.current.push(value);\n }\n }\n valueNode.current.set(value, nodeProps);\n },\n [search]\n );\n\n const onFocus = () => {\n inputRef.current?.focus();\n };\n\n const onOpenChange = useCallback(\n (open: boolean) => {\n const newOpen = open && !disabled;\n setOpen(newOpen);\n if (typeof onOpenChangeProp === 'function') {\n onOpenChangeProp(newOpen);\n }\n },\n [disabled, onOpenChangeProp]\n );\n\n const onSelect = useCallback(\n (value: string) => {\n onOpenChange(false);\n if (typeof onSelectProp === 'function') {\n onSelectProp(value);\n }\n },\n [onSelectProp, onOpenChange]\n );\n\n const onUpdateSearch = useCallback(\n (search: string) => {\n setSearch(search);\n let hasHighlightedValue = false;\n const visibleItemsList: string[] = [];\n const navigatableList: string[] = [];\n const searchLowerCase = search.toLowerCase();\n list.forEach(item => {\n if (\n item.title.includes(searchLowerCase) ||\n item.heading?.includes(searchLowerCase)\n ) {\n if (item.value === highlighted) {\n hasHighlightedValue = true;\n }\n visibleItemsList.push(item.value);\n if (!item.disabled) {\n navigatableList.push(item.value);\n }\n }\n });\n navigatable.current = navigatableList;\n visibleList.current = visibleItemsList;\n if (!hasHighlightedValue) {\n setHighlighted(navigatableList[0] ?? null);\n }\n },\n [highlighted, list]\n );\n\n const updateList = useCallback(\n (children?: ReactNode, options?: AutoCompleteOptionListItem[]) => {\n const lowerCasedSearch = search.toLowerCase();\n if (options) {\n setList(\n options.flatMap(option => {\n if ('options' in option) {\n const heading = getTextFromNodes(option.heading).toLowerCase();\n return (option.options ?? []).map(item => {\n valueNode.current.set(item.value, item);\n const title = getTextFromNodes(item.label).toLowerCase();\n if (\n title.includes(lowerCasedSearch) ||\n heading?.includes(lowerCasedSearch)\n ) {\n visibleList.current.push(item.value);\n if (!disabled) {\n navigatable.current.push(item.value);\n }\n }\n return {\n heading,\n disabled: item.disabled,\n value: item.value,\n title,\n };\n });\n } else {\n valueNode.current.set(option.value, option);\n const title = getTextFromNodes(option.label).toLowerCase();\n if (title.includes(lowerCasedSearch)) {\n visibleList.current.push(option.value);\n if (!disabled) {\n navigatable.current.push(option.value);\n }\n }\n return {\n disabled: option.disabled,\n value: option.value,\n title: getTextFromNodes(option.label),\n };\n }\n })\n );\n } else if (children) {\n setList(childrenToComboboxItemArray(children, updateElements));\n }\n },\n [disabled, search, updateElements]\n );\n\n useEffect(() => {\n updateList(children, options);\n }, [children, options, updateList]);\n\n const onKeyDown: KeyboardEventHandler<HTMLInputElement> = e => {\n if (!e.defaultPrevented) {\n if (e.key === 'Enter') {\n e.preventDefault();\n if (highlighted) {\n onSelect(highlighted);\n }\n } else if (['ArrowUp', 'ArrowDown', 'Home', 'End'].includes(e.key)) {\n e.preventDefault();\n let nextHighlightedValue = highlighted;\n const highlightedIndex = navigatable.current.findIndex(\n value => value === highlighted\n );\n if (e.key === 'ArrowUp') {\n if (highlightedIndex === 0) {\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex - 1];\n }\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n if (highlightedIndex === navigatable.current.length - 1) {\n nextHighlightedValue = navigatable.current[0];\n } else {\n nextHighlightedValue = navigatable.current[highlightedIndex + 1];\n }\n } else if (e.key === 'End') {\n e.preventDefault();\n nextHighlightedValue = navigatable.current[navigatable.current.length - 1];\n } else if (e.key === 'Home') {\n nextHighlightedValue = navigatable.current[0];\n e.preventDefault();\n }\n setHighlighted(nextHighlightedValue);\n }\n }\n };\n const isHidden = useCallback(\n (value?: string) => {\n return !visibleList.current.includes(value ?? '');\n },\n [visibleList]\n );\n\n const optionContextValue = useMemo(() => {\n return {\n search,\n updateHighlighted: setHighlighted,\n highlighted,\n isHidden,\n onSelect,\n selectedValue: value,\n };\n }, [search, highlighted, isHidden, onSelect, value]);\n\n const conditionalProps: Partial<SelectOptionProp> = {};\n if (options) {\n conditionalProps.options = options;\n } else {\n conditionalProps.children = children;\n }\n\n const onTriggerClick: MouseEventHandler<HTMLDivElement> = e => {\n if (open) {\n e.preventDefault();\n inputRef.current?.focus();\n }\n };\n\n const onFocusOutside = (\n e: CustomEvent<{\n originalEvent: FocusEvent;\n }>\n ) => {\n const contentElement = (e.target as HTMLElement)?.closest('[aria-haspopup=dialog]');\n const triggerElement = (e.target as HTMLElement)?.closest(\n '[data-radix-popper-content-wrapper]'\n );\n\n if (contentElement || triggerElement) {\n e.preventDefault();\n }\n };\n\n return (\n <SelectPopoverRoot\n open={open}\n onOpenChange={onOpenChange}\n >\n <Trigger\n asChild\n disabled={disabled}\n data-testid=\"autocomplete-trigger\"\n >\n <div onClick={onTriggerClick}>\n <SearchField\n ref={inputRef}\n value={search}\n onChange={onUpdateSearch}\n onKeyDown={onKeyDown}\n disabled={disabled}\n placeholder={placeholder}\n {...props}\n />\n </div>\n </Trigger>\n <Portal container={portalContainer}>\n <PopoverContent\n sideOffset={5}\n onFocus={onFocus}\n onCloseAutoFocus={() => {\n onUpdateSearch('');\n inputRef.current?.focus();\n }}\n onOpenAutoFocus={e => {\n e.preventDefault();\n setHighlighted(visibleList.current[0]);\n inputRef.current?.focus();\n }}\n align=\"start\"\n onPointerDownOutside={() => {\n onOpenChange(false);\n }}\n onFocusOutside={onFocusOutside}\n >\n <SelectList>\n <SelectListContent>\n <OptionContext.Provider value={optionContextValue}>\n {options && options.length > 0\n ? options.map((optionProps, index) => {\n if ('options' in optionProps) {\n const { options: itemList = [], ...groupProps } = optionProps;\n return (\n <Group\n key={`autocomplete-${defaultId}-group-${index}`}\n {...groupProps}\n >\n {itemList.map(\n ({ label, ...itemProps }, itemIndex: number) => (\n <Item\n key={`autocomplete-${defaultId}-group-${index}-item-${itemIndex}`}\n {...itemProps}\n >\n {label}\n </Item>\n )\n )}\n </Group>\n );\n } else {\n return (\n <Item\n key={`autocomplete-${defaultId}-item-${index}`}\n {...optionProps}\n />\n );\n }\n })\n : children}\n </OptionContext.Provider>\n </SelectListContent>\n {visibleList.current.length === 0 && (\n <SelectNoDataContainer {...props}>\n No Options found{search.length > 0 ? ` for \"${search}\" ` : ''}\n </SelectNoDataContainer>\n )}\n </SelectList>\n </PopoverContent>\n </Portal>\n </SelectPopoverRoot>\n );\n};\n\nexport const Group = forwardRef<HTMLDivElement, SelectGroupProps>(\n ({ children, heading, ...props }, forwardedRef) => {\n useSearch();\n return (\n <SelectGroupContainer\n {...props}\n ref={mergeRefs([\n forwardedRef,\n node => {\n const hidden = node?.querySelectorAll('[cui-autocomplete-item]').length === 0;\n if (hidden) {\n node?.setAttribute('hidden', '');\n } else {\n node?.removeAttribute('hidden');\n }\n node?.setAttribute('aria-hidden', hidden.toString());\n },\n ])}\n >\n <SelectGroupName>{heading}</SelectGroupName>\n <SelectGroupContent>{children}</SelectGroupContent>\n </SelectGroupContainer>\n );\n }\n);\n\nGroup.displayName = 'AutoComplete.Group';\n\nconst CheckIcon = styled.svg<{ $showCheck: boolean }>`\n opacity: ${({ $showCheck }) => ($showCheck ? 1 : 0)};\n`;\n\nexport const Item = forwardRef<HTMLDivElement, SelectItemProps>(\n (\n {\n disabled = false,\n children,\n label,\n separator,\n onSelect: onSelectProp,\n value = '',\n icon,\n iconDir,\n onMouseOver: onMouseOverProp,\n ...props\n },\n forwardedRef\n ) => {\n const { highlighted, updateHighlighted, isHidden, selectedValue, onSelect } =\n useOption();\n const onSelectValue = () => {\n if (!disabled) {\n onSelect(value);\n if (typeof onSelectProp == 'function') {\n onSelectProp(value);\n }\n }\n };\n const onMouseOver: MouseEventHandler<HTMLDivElement> = e => {\n if (onMouseOverProp) {\n onMouseOverProp(e);\n }\n if (!disabled) {\n updateHighlighted(value);\n }\n };\n\n if (isHidden(value)) {\n return null;\n }\n const isChecked = selectedValue === value;\n\n return (\n <>\n <GenericMenuItem\n {...props}\n data-value={value}\n onClick={onSelectValue}\n onMouseOver={onMouseOver}\n ref={forwardedRef}\n data-state={isChecked ? 'checked' : 'unchecked'}\n data-disabled={disabled ? true : undefined}\n data-highlighted={highlighted == value ? 'true' : undefined}\n cui-autocomplete-item=\"\"\n >\n <IconWrapper\n icon={icon}\n iconDir={iconDir}\n >\n {label ?? children}\n </IconWrapper>\n <CheckIcon\n as={Icon}\n name=\"check\"\n size=\"sm\"\n $showCheck={isChecked}\n />\n </GenericMenuItem>\n {separator && <Separator size=\"sm\" />}\n </>\n );\n }\n);\n\nItem.displayName = 'AutoComplete.Item';\n\nAutoComplete.Group = Group;\nAutoComplete.Item = Item;\n"],"names":["SelectPopoverRoot","styled","Root","withConfig","componentId","theme","click","genericMenu","item","color","default","stroke","background","PopoverContent","Content","SelectGroupContainer","div","typography","sectionHeader","text","muted","SelectGroupName","space","top","x","bottom","gap","SelectGroupContent","SelectListContent","childrenToComboboxItemArray","children","callback","heading","Children","toArray","flatMap","child","isValidElement","type","displayName","groupChildren","props","getTextFromNodes","toLowerCase","title","value","disabled","nodeProps","SelectNoDataContainer","button","label","y","SelectList","panel","shadow","AutoComplete","onSelect","onSelectProp","options","onOpenChange","onOpenChangeProp","placeholder","container","defaultId","useId","search","setSearch","useState","open","setOpen","inputRef","useRef","portalContainer","useResolvedPortalContainer","highlighted","setHighlighted","visibleList","navigatable","valueNode","Map","list","setList","updateElements","useCallback","includes","current","push","set","onFocus","focus","newOpen","onUpdateSearch","hasHighlightedValue","visibleItemsList","navigatableList","searchLowerCase","forEach","updateList","lowerCasedSearch","option","map","useEffect","onKeyDown","e","defaultPrevented","key","preventDefault","nextHighlightedValue","highlightedIndex","findIndex","length","isHidden","optionContextValue","useMemo","updateHighlighted","selectedValue","onTriggerClick","onFocusOutside","contentElement","target","closest","triggerElement","optionProps","index","itemList","groupProps","itemProps","itemIndex","Group","forwardRef","forwardedRef","useSearch","mergeRefs","node","hidden","querySelectorAll","setAttribute","removeAttribute","toString","CheckIcon","svg","$showCheck","Item","separator","icon","iconDir","onMouseOver","onMouseOverProp","useOption","onSelectValue","isChecked","undefined","Icon"],"mappings":";;;;;;;;;;;;;;;AAiHO,MAAMA,iBAAAA,GAAoBC,MAAAA,CAAOC,IAAI,CAAA,CAACC,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,aAAA,EAAA,wFAAA,GAEzC,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAM;AAAA,sBAAA,EACKA,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,KAAKC,KAAAA,CAAMC,OAAAA,CAAQC,OAAOD,OAAO,CAAA;AAAA,gBAAA,EAC/DL,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,KAAKC,KAAAA,CAAMC,OAAAA,CAAQE,WAAWF,OAAO,CAAA;AAAA;AAAA;AAAA;AAAA,EAAA,CAI5E;AAQH,MAAMG,cAAAA,GAAiBZ,MAAAA,CAAOa,OAAO,CAAA,CAACX,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,6GAAA,CAAA,CAAA;AAOtC,MAAMW,oBAAAA,GAAuBd,MAAAA,CAAOe,GAAAA,CAAGb,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,yNAAA,EAAA,2BAAA,GAcnC,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAM;AAAA,UAAA,EACPA,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,IAAAA,CAAKS,UAAAA,CAAWC,cAAcR,OAAO,CAAA;AAAA,WAAA,EAC5DL,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,KAAKC,KAAAA,CAAMC,OAAAA,CAAQS,KAAKC,KAAK,CAAA;AAAA,EAAA,CAC/D,CAAA;AAMH,MAAMC,eAAAA,GAAkBpB,MAAAA,CAAOe,GAAAA,CAAGb,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,0GAAA,EAAA,EAAA,GAO9B,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAM;AAAA,WAAA,EACNA,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,IAAAA,CAAKS,UAAAA,CAAWC,cAAcR,OAAO,CAAA;AAAA,YAAA,EAC5DL,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,KAAKC,KAAAA,CAAMC,OAAAA,CAAQS,KAAKC,KAAK,CAAA;AAAA,cAAA,EACnDf,MAAMC,KAAAA,CAAMC,WAAAA,CAAYW,cAAcI,KAAAA,CAAMC,GAAG,IAAIlB,KAAAA,CAAMC,KAAAA,CAAMC,YAAYC,IAAAA,CAAKc,KAAAA,CAAME,CAAC,CAAA,CAAA,EAAInB,KAAAA,CAAMC,MAAMC,WAAAA,CAAYW,aAAAA,CAAcI,MAAMG,MAAM,CAAA;AAAA,UAAA,EACjJpB,KAAAA,CAAMC,KAAAA,CAAMC,WAAAA,CAAYC,IAAAA,CAAKc,MAAMI,GAAG,CAAA;AAAA,8BAAA,EAClBrB,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,KAAKC,KAAAA,CAAMC,OAAAA,CAAQC,OAAOD,OAAO,CAAA;AAAA,GAAA,CACrF,CAAA;AAGJ,MAAMiB,kBAAAA,GAAqB1B,MAAAA,CAAOe,GAAAA,CAAGb,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,gBAAA,CAAA,CAAA;AAIrC,MAAMwB,iBAAAA,GAAoB3B,MAAAA,CAAOe,GAAAA,CAAGb,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,wCAAA,CAAA,CAAA;AAUpC,MAAMyB,2BAAAA,GAA8BA,CAClCC,QAAAA,EACAC,QAAAA,EACAC,OAAAA,KACuB;AACvB,EAAA,OAAOC,QAAAA,CAASC,OAAAA,CAAQJ,QAAQ,CAAA,CAAEK,QAAQC,CAAAA,KAAAA,KAAS;AACjD,IAAA,IAAIC,eAAeD,KAAK,CAAA,IAAKA,KAAAA,IAAS,OAAOA,UAAU,QAAA,EAAU;AAC/D,MAAA,MAAME,OAAOF,KAAAA,CAAME,IAAAA;AACnB,MAAA,IAAIA,IAAAA,CAAKC,gBAAgB,oBAAA,EAAsB;AAC7C,QAAA,MAAMC,aAAAA,GAAgBJ,MAAMK,KAAAA,CAAMX,QAAAA;AAClC,QAAA,OAAOD,2BAAAA,CACLW,eACAT,QAAAA,EACAW,gBAAAA,CAAiBN,MAAMK,KAAAA,CAAMT,OAAO,CAAA,CAAEW,WAAAA,EACxC,CAAA;AAAA,MACF,CAAA,MAAA,IAAWL,IAAAA,CAAKC,WAAAA,KAAgB,mBAAA,EAAqB;AACnD,QAAA,MAAMK,KAAAA,GAAQF,gBAAAA,CAAiBN,KAAK,CAAA,CAAEO,WAAAA,EAAY;AAClD,QAAA,MAAME,KAAAA,GAAQT,MAAMK,KAAAA,CAAMI,KAAAA;AAC1B,QAAA,MAAMC,QAAAA,GAAWV,MAAMK,KAAAA,CAAMK,QAAAA;AAC7Bf,QAAAA,QAAAA,CAAS;AAAA,UACPe,QAAAA;AAAAA,UACAD,KAAAA;AAAAA,UACAD,KAAAA;AAAAA,UACAZ,OAAAA;AAAAA,UACAe,WAAWX,KAAAA,CAAMK;AAAAA,SAClB,CAAA;AACD,QAAA,OAAO;AAAA,UACLK,QAAAA;AAAAA,UACAD,KAAAA;AAAAA,UACAD,KAAAA;AAAAA,UACAZ;AAAAA,SACF;AAAA,MACF,CAAA,MAAA,IAAW,OAAA,IAAWI,KAAAA,IAASA,KAAAA,CAAMK,MAAMX,QAAAA,EAAU;AACnD,QAAA,OAAOD,2BAAAA,CAA4BO,KAAAA,CAAMK,KAAAA,CAAMX,QAAAA,EAAUC,UAAUC,OAAO,CAAA;AAAA,MAC5E;AAAA,IACF;AACA,IAAA,OAAO,EAAA;AAAA,EACT,CAAC,CAAA;AACH,CAAA;AACA,MAAMgB,qBAAAA,GAAwB/C,MAAAA,CAAOe,GAAAA,CAAGb,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,oJAAA,EAAA,EAAA,GAWpC,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAM;AAAA,UAAA,EACPA,MAAMC,KAAAA,CAAMC,WAAAA,CAAY0C,MAAAA,CAAOhC,UAAAA,CAAWiC,MAAMxC,OAAO;AAAA,aAAA,EACpDL,KAAAA,CAAMC,KAAAA,CAAMC,WAAAA,CAAY0C,MAAAA,CAAO3B,KAAAA,CAAM6B,CAAC,CAAA,CAAA,EAAI9C,KAAAA,CAAMC,KAAAA,CAAMC,WAAAA,CAAYC,IAAAA,CAAKc,KAAAA,CAAME,CAAC,CAAA;AAAA,gBAAA,EAC3EnB,MAAMC,KAAAA,CAAMC,WAAAA,CAAY0C,MAAAA,CAAOxC,KAAAA,CAAMG,WAAWF,OAAO,CAAA;AAAA,WAAA,EAC5DL,MAAMC,KAAAA,CAAMC,WAAAA,CAAY0C,MAAAA,CAAOxC,KAAAA,CAAMyC,MAAMxC,OAAO,CAAA;AAAA,EAAA,CAC5D,CAAA;AAGH,MAAM0C,UAAAA,GAAanD,MAAAA,CAAOe,GAAAA,CAAGb,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,4GAAA,EAAA,EAAA,GAKzB,CAAC;AAAA,EAAEC;AAAM,CAAA,KAAM;AAAA,sBAAA,EACKA,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,KAAKC,KAAAA,CAAMC,OAAAA,CAAQC,OAAOD,OAAO,CAAA;AAAA,gBAAA,EAC/DL,MAAMC,KAAAA,CAAMC,WAAAA,CAAYC,KAAKC,KAAAA,CAAMC,OAAAA,CAAQE,WAAWF,OAAO,CAAA;AAAA,gBAAA,EAC7DL,KAAAA,CAAMC,KAAAA,CAAMC,WAAAA,CAAY8C,KAAAA,CAAMC,OAAO5C,OAAO,CAAA;AAAA;AAAA,EAAA,CAE3D,CAAA;AAGI,MAAM6C,eAAeA,CAAC;AAAA,EAC3BC,QAAAA,EAAUC,YAAAA;AAAAA,EACVC,OAAAA;AAAAA,EACA5B,QAAAA;AAAAA,EACA6B,YAAAA,EAAcC,gBAAAA;AAAAA,EACdd,QAAAA;AAAAA,EACAD,KAAAA,GAAQ,EAAA;AAAA,EACRgB,WAAAA,GAAc,QAAA;AAAA,EACdC,SAAAA;AAAAA,EACA,GAAGrB;AACc,CAAA,KAAM;AACvB,EAAA,MAAMsB,YAAYC,KAAAA,EAAM;AACxB,EAAA,MAAM,CAACC,MAAAA,EAAQC,SAAS,CAAA,GAAIC,SAAS,EAAE,CAAA;AACvC,EAAA,MAAM,CAACC,IAAAA,EAAMC,OAAO,CAAA,GAAIF,SAAS,KAAK,CAAA;AAEtC,EAAA,MAAMG,QAAAA,GAAWC,OAAyB,IAAI,CAAA;AAC9C,EAAA,MAAMC,eAAAA,GAAkBC,2BAA2BX,SAAS,CAAA;AAC5D,EAAA,MAAM,CAACY,WAAAA,EAAaC,cAAc,CAAA,GAAIR,QAAAA,EAA6B;AACnE,EAAA,MAAMS,WAAAA,GAAcL,MAAAA,CAAiB,EAAE,CAAA;AACvC,EAAA,MAAMM,WAAAA,GAAcN,MAAAA,CAAiB,EAAE,CAAA;AACvC,EAAA,MAAMO,SAAAA,GAAYP,MAAAA,iBAAqC,IAAIQ,GAAAA,EAAK,CAAA;AAChE,EAAA,MAAM,CAACC,IAAAA,EAAMC,OAAO,CAAA,GAAId,QAAAA,CAA6B,EAAE,CAAA;AACvD,EAAA,MAAMe,cAAAA,GAAiBC,YACrB,CAAC;AAAA,IAAErC,QAAAA,EAAAA,SAAAA;AAAAA,IAAUD,KAAAA,EAAAA,MAAAA;AAAAA,IAAOD,KAAAA;AAAAA,IAAOZ,OAAAA;AAAAA,IAASe;AAAAA,GAAyB,KAAM;AACjE,IAAA,IAAIH,MAAMwC,QAAAA,CAASnB,MAAM,KAAKjC,OAAAA,EAASoD,QAAAA,CAASnB,MAAM,CAAA,EAAG;AACvDW,MAAAA,WAAAA,CAAYS,OAAAA,CAAQC,KAAKzC,MAAK,CAAA;AAC9B,MAAA,IAAI,CAACC,SAAAA,EAAU;AACb+B,QAAAA,WAAAA,CAAYQ,OAAAA,CAAQC,KAAKzC,MAAK,CAAA;AAAA,MAChC;AAAA,IACF;AACAiC,IAAAA,SAAAA,CAAUO,OAAAA,CAAQE,GAAAA,CAAI1C,MAAAA,EAAOE,SAAS,CAAA;AAAA,EACxC,CAAA,EACA,CAACkB,MAAM,CACT,CAAA;AAEA,EAAA,MAAMuB,UAAUA,MAAM;AACpBlB,IAAAA,QAAAA,CAASe,SAASI,KAAAA,EAAM;AAAA,EAC1B,CAAA;AAEA,EAAA,MAAM9B,YAAAA,GAAewB,WAAAA,CACnB,CAACf,KAAAA,KAAkB;AACjB,IAAA,MAAMsB,OAAAA,GAAUtB,SAAQ,CAACtB,QAAAA;AACzBuB,IAAAA,OAAAA,CAAQqB,OAAO,CAAA;AACf,IAAA,IAAI,OAAO9B,qBAAqB,UAAA,EAAY;AAC1CA,MAAAA,gBAAAA,CAAiB8B,OAAO,CAAA;AAAA,IAC1B;AAAA,EACF,CAAA,EACA,CAAC5C,QAAAA,EAAUc,gBAAgB,CAC7B,CAAA;AAEA,EAAA,MAAMJ,QAAAA,GAAW2B,WAAAA,CACf,CAACtC,MAAAA,KAAkB;AACjBc,IAAAA,YAAAA,CAAa,KAAK,CAAA;AAClB,IAAA,IAAI,OAAOF,iBAAiB,UAAA,EAAY;AACtCA,MAAAA,YAAAA,CAAaZ,MAAK,CAAA;AAAA,IACpB;AAAA,EACF,CAAA,EACA,CAACY,YAAAA,EAAcE,YAAY,CAC7B,CAAA;AAEA,EAAA,MAAMgC,cAAAA,GAAiBR,WAAAA,CACrB,CAAClB,OAAAA,KAAmB;AAClBC,IAAAA,SAAAA,CAAUD,OAAM,CAAA;AAChB,IAAA,IAAI2B,mBAAAA,GAAsB,KAAA;AAC1B,IAAA,MAAMC,mBAA6B,EAAA;AACnC,IAAA,MAAMC,kBAA4B,EAAA;AAClC,IAAA,MAAMC,eAAAA,GAAkB9B,QAAOtB,WAAAA,EAAY;AAC3CqC,IAAAA,IAAAA,CAAKgB,QAAQxF,CAAAA,IAAAA,KAAQ;AACnB,MAAA,IACEA,IAAAA,CAAKoC,MAAMwC,QAAAA,CAASW,eAAe,KACnCvF,IAAAA,CAAKwB,OAAAA,EAASoD,QAAAA,CAASW,eAAe,CAAA,EACtC;AACA,QAAA,IAAIvF,IAAAA,CAAKqC,UAAU6B,WAAAA,EAAa;AAC9BkB,UAAAA,mBAAAA,GAAsB,IAAA;AAAA,QACxB;AACAC,QAAAA,gBAAAA,CAAiBP,IAAAA,CAAK9E,KAAKqC,KAAK,CAAA;AAChC,QAAA,IAAI,CAACrC,KAAKsC,QAAAA,EAAU;AAClBgD,UAAAA,eAAAA,CAAgBR,IAAAA,CAAK9E,KAAKqC,KAAK,CAAA;AAAA,QACjC;AAAA,MACF;AAAA,IACF,CAAC,CAAA;AACDgC,IAAAA,WAAAA,CAAYQ,OAAAA,GAAUS,eAAAA;AACtBlB,IAAAA,WAAAA,CAAYS,OAAAA,GAAUQ,gBAAAA;AACtB,IAAA,IAAI,CAACD,mBAAAA,EAAqB;AACxBjB,MAAAA,cAAAA,CAAemB,eAAAA,CAAgB,CAAC,CAAA,IAAK,IAAI,CAAA;AAAA,IAC3C;AAAA,EACF,CAAA,EACA,CAACpB,WAAAA,EAAaM,IAAI,CACpB,CAAA;AAEA,EAAA,MAAMiB,UAAAA,GAAad,WAAAA,CACjB,CAACrD,SAAAA,EAAsB4B,QAAAA,KAA2C;AAChE,IAAA,MAAMwC,gBAAAA,GAAmBjC,OAAOtB,WAAAA,EAAY;AAC5C,IAAA,IAAIe,QAAAA,EAAS;AACXuB,MAAAA,OAAAA,CACEvB,QAAAA,CAAQvB,QAAQgE,CAAAA,MAAAA,KAAU;AACxB,QAAA,IAAI,aAAaA,MAAAA,EAAQ;AACvB,UAAA,MAAMnE,OAAAA,GAAUU,gBAAAA,CAAiByD,MAAAA,CAAOnE,OAAO,EAAEW,WAAAA,EAAY;AAC7D,UAAA,OAAA,CAAQwD,MAAAA,CAAOzC,OAAAA,IAAW,IAAI0C,IAAI5F,CAAAA,IAAAA,KAAQ;AACxCsE,YAAAA,SAAAA,CAAUO,OAAAA,CAAQE,GAAAA,CAAI/E,IAAAA,CAAKqC,KAAAA,EAAOrC,IAAI,CAAA;AACtC,YAAA,MAAMoC,KAAAA,GAAQF,gBAAAA,CAAiBlC,IAAAA,CAAK0C,KAAK,EAAEP,WAAAA,EAAY;AACvD,YAAA,IACEC,MAAMwC,QAAAA,CAASc,gBAAgB,KAC/BlE,OAAAA,EAASoD,QAAAA,CAASc,gBAAgB,CAAA,EAClC;AACAtB,cAAAA,WAAAA,CAAYS,OAAAA,CAAQC,IAAAA,CAAK9E,IAAAA,CAAKqC,KAAK,CAAA;AACnC,cAAA,IAAI,CAACC,QAAAA,EAAU;AACb+B,gBAAAA,WAAAA,CAAYQ,OAAAA,CAAQC,IAAAA,CAAK9E,IAAAA,CAAKqC,KAAK,CAAA;AAAA,cACrC;AAAA,YACF;AACA,YAAA,OAAO;AAAA,cACLb,OAAAA;AAAAA,cACAc,UAAUtC,IAAAA,CAAKsC,QAAAA;AAAAA,cACfD,OAAOrC,IAAAA,CAAKqC,KAAAA;AAAAA,cACZD;AAAAA,aACF;AAAA,UACF,CAAC,CAAA;AAAA,QACH,CAAA,MAAO;AACLkC,UAAAA,SAAAA,CAAUO,OAAAA,CAAQE,GAAAA,CAAIY,MAAAA,CAAOtD,KAAAA,EAAOsD,MAAM,CAAA;AAC1C,UAAA,MAAMvD,KAAAA,GAAQF,gBAAAA,CAAiByD,MAAAA,CAAOjD,KAAK,EAAEP,WAAAA,EAAY;AACzD,UAAA,IAAIC,KAAAA,CAAMwC,QAAAA,CAASc,gBAAgB,CAAA,EAAG;AACpCtB,YAAAA,WAAAA,CAAYS,OAAAA,CAAQC,IAAAA,CAAKa,MAAAA,CAAOtD,KAAK,CAAA;AACrC,YAAA,IAAI,CAACC,QAAAA,EAAU;AACb+B,cAAAA,WAAAA,CAAYQ,OAAAA,CAAQC,IAAAA,CAAKa,MAAAA,CAAOtD,KAAK,CAAA;AAAA,YACvC;AAAA,UACF;AACA,UAAA,OAAO;AAAA,YACLC,UAAUqD,MAAAA,CAAOrD,QAAAA;AAAAA,YACjBD,OAAOsD,MAAAA,CAAOtD,KAAAA;AAAAA,YACdD,KAAAA,EAAOF,gBAAAA,CAAiByD,MAAAA,CAAOjD,KAAK;AAAA,WACtC;AAAA,QACF;AAAA,MACF,CAAC,CACH,CAAA;AAAA,IACF,WAAWpB,SAAAA,EAAU;AACnBmD,MAAAA,OAAAA,CAAQpD,2BAAAA,CAA4BC,SAAAA,EAAUoD,cAAc,CAAC,CAAA;AAAA,IAC/D;AAAA,EACF,CAAA,EACA,CAACpC,QAAAA,EAAUmB,MAAAA,EAAQiB,cAAc,CACnC,CAAA;AAEAmB,EAAAA,SAAAA,CAAU,MAAM;AACdJ,IAAAA,UAAAA,CAAWnE,UAAU4B,OAAO,CAAA;AAAA,EAC9B,CAAA,EAAG,CAAC5B,QAAAA,EAAU4B,OAAAA,EAASuC,UAAU,CAAC,CAAA;AAElC,EAAA,MAAMK,YAAoDC,CAAAA,CAAAA,KAAK;AAC7D,IAAA,IAAI,CAACA,EAAEC,gBAAAA,EAAkB;AACvB,MAAA,IAAID,CAAAA,CAAEE,QAAQ,OAAA,EAAS;AACrBF,QAAAA,CAAAA,CAAEG,cAAAA,EAAe;AACjB,QAAA,IAAIhC,WAAAA,EAAa;AACflB,UAAAA,QAAAA,CAASkB,WAAW,CAAA;AAAA,QACtB;AAAA,MACF,CAAA,MAAA,IAAW,CAAC,SAAA,EAAW,WAAA,EAAa,MAAA,EAAQ,KAAK,CAAA,CAAEU,QAAAA,CAASmB,CAAAA,CAAEE,GAAG,CAAA,EAAG;AAClEF,QAAAA,CAAAA,CAAEG,cAAAA,EAAe;AACjB,QAAA,IAAIC,oBAAAA,GAAuBjC,WAAAA;AAC3B,QAAA,MAAMkC,mBAAmB/B,WAAAA,CAAYQ,OAAAA,CAAQwB,UAC3ChE,CAAAA,MAAAA,KAASA,WAAU6B,WACrB,CAAA;AACA,QAAA,IAAI6B,CAAAA,CAAEE,QAAQ,SAAA,EAAW;AACvB,UAAA,IAAIG,qBAAqB,CAAA,EAAG;AAC1BD,YAAAA,oBAAAA,GAAuB9B,WAAAA,CAAYQ,OAAAA,CAAQR,WAAAA,CAAYQ,OAAAA,CAAQyB,SAAS,CAAC,CAAA;AAAA,UAC3E,CAAA,MAAO;AACLH,YAAAA,oBAAAA,GAAuB9B,WAAAA,CAAYQ,OAAAA,CAAQuB,gBAAAA,GAAmB,CAAC,CAAA;AAAA,UACjE;AAAA,QACF,CAAA,MAAA,IAAWL,CAAAA,CAAEE,GAAAA,KAAQ,WAAA,EAAa;AAChCF,UAAAA,CAAAA,CAAEG,cAAAA,EAAe;AACjB,UAAA,IAAIE,gBAAAA,KAAqB/B,WAAAA,CAAYQ,OAAAA,CAAQyB,MAAAA,GAAS,CAAA,EAAG;AACvDH,YAAAA,oBAAAA,GAAuB9B,WAAAA,CAAYQ,QAAQ,CAAC,CAAA;AAAA,UAC9C,CAAA,MAAO;AACLsB,YAAAA,oBAAAA,GAAuB9B,WAAAA,CAAYQ,OAAAA,CAAQuB,gBAAAA,GAAmB,CAAC,CAAA;AAAA,UACjE;AAAA,QACF,CAAA,MAAA,IAAWL,CAAAA,CAAEE,GAAAA,KAAQ,KAAA,EAAO;AAC1BF,UAAAA,CAAAA,CAAEG,cAAAA,EAAe;AACjBC,UAAAA,oBAAAA,GAAuB9B,WAAAA,CAAYQ,OAAAA,CAAQR,WAAAA,CAAYQ,OAAAA,CAAQyB,SAAS,CAAC,CAAA;AAAA,QAC3E,CAAA,MAAA,IAAWP,CAAAA,CAAEE,GAAAA,KAAQ,MAAA,EAAQ;AAC3BE,UAAAA,oBAAAA,GAAuB9B,WAAAA,CAAYQ,QAAQ,CAAC,CAAA;AAC5CkB,UAAAA,CAAAA,CAAEG,cAAAA,EAAe;AAAA,QACnB;AACA/B,QAAAA,cAAAA,CAAegC,oBAAoB,CAAA;AAAA,MACrC;AAAA,IACF;AAAA,EACF,CAAA;AACA,EAAA,MAAMI,QAAAA,GAAW5B,WAAAA,CACf,CAACtC,MAAAA,KAAmB;AAClB,IAAA,OAAO,CAAC+B,WAAAA,CAAYS,OAAAA,CAAQD,QAAAA,CAASvC,UAAS,EAAE,CAAA;AAAA,EAClD,CAAA,EACA,CAAC+B,WAAW,CACd,CAAA;AAEA,EAAA,MAAMoC,kBAAAA,GAAqBC,QAAQ,MAAM;AACvC,IAAA,OAAO;AAAA,MACLhD,MAAAA;AAAAA,MACAiD,iBAAAA,EAAmBvC,cAAAA;AAAAA,MACnBD,WAAAA;AAAAA,MACAqC,QAAAA;AAAAA,MACAvD,QAAAA;AAAAA,MACA2D,aAAAA,EAAetE;AAAAA,KACjB;AAAA,EACF,GAAG,CAACoB,MAAAA,EAAQS,aAAaqC,QAAAA,EAAUvD,QAAAA,EAAUX,KAAK,CAAC,CAAA;AASnD,EAAA,MAAMuE,iBAAoDb,CAAAA,CAAAA,KAAK;AAC7D,IAAA,IAAInC,IAAAA,EAAM;AACRmC,MAAAA,CAAAA,CAAEG,cAAAA,EAAe;AACjBpC,MAAAA,QAAAA,CAASe,SAASI,KAAAA,EAAM;AAAA,IAC1B;AAAA,EACF,CAAA;AAEA,EAAA,MAAM4B,cAAAA,GAAiBA,CACrBd,CAAAA,KAGG;AACH,IAAA,MAAMe,cAAAA,GAAkBf,CAAAA,CAAEgB,MAAAA,EAAwBC,OAAAA,CAAQ,wBAAwB,CAAA;AAClF,IAAA,MAAMC,cAAAA,GAAkBlB,CAAAA,CAAEgB,MAAAA,EAAwBC,OAAAA,CAChD,qCACF,CAAA;AAEA,IAAA,IAAIF,kBAAkBG,cAAAA,EAAgB;AACpClB,MAAAA,CAAAA,CAAEG,cAAAA,EAAe;AAAA,IACnB;AAAA,EACF,CAAA;AAEA,EAAA,uBACE,IAAA,CAAC,iBAAA,EAAA,EACC,IAAA,EACA,YAAA,EAEA,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,OAAA,EAAA,EACC,OAAA,EAAO,IAAA,EACP,QAAA,EACA,aAAA,EAAY,wBAEZ,QAAA,kBAAA,GAAA,CAAC,KAAA,EAAA,EAAI,OAAA,EAASU,cAAAA,EACZ,QAAA,kBAAA,GAAA,CAAC,WAAA,EAAA,EACC,KAAK9C,QAAAA,EACL,KAAA,EAAOL,MAAAA,EACP,QAAA,EAAU0B,cAAAA,EACV,SAAA,EACA,UACA,WAAA,EACA,GAAIlD,KAAAA,EAAM,CAAA,EAEd,CAAA,EACF,CAAA;AAAA,oBACA,GAAA,CAAC,MAAA,EAAA,EAAO,SAAA,EAAW+B,eAAAA,EACjB,QAAA,kBAAA,GAAA,CAAC,kBACC,UAAA,EAAY,CAAA,EACZ,OAAA,EACA,gBAAA,EAAkB,MAAM;AACtBmB,MAAAA,cAAAA,CAAe,EAAE,CAAA;AACjBrB,MAAAA,QAAAA,CAASe,SAASI,KAAAA,EAAM;AAAA,IAC1B,CAAA,EACA,iBAAiBc,CAAAA,CAAAA,KAAK;AACpBA,MAAAA,CAAAA,CAAEG,cAAAA,EAAe;AACjB/B,MAAAA,cAAAA,CAAeC,WAAAA,CAAYS,OAAAA,CAAQ,CAAC,CAAC,CAAA;AACrCf,MAAAA,QAAAA,CAASe,SAASI,KAAAA,EAAM;AAAA,IAC1B,CAAA,EACA,KAAA,EAAM,OAAA,EACN,oBAAA,EAAsB,MAAM;AAC1B9B,MAAAA,YAAAA,CAAa,KAAK,CAAA;AAAA,IACpB,CAAA,EACA,cAAA,EAEA,QAAA,kBAAA,IAAA,CAAC,UAAA,EAAA,EACC,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,iBAAA,EAAA,EACC,QAAA,kBAAA,GAAA,CAAC,aAAA,CAAc,QAAA,EAAd,EAAuB,KAAA,EAAOqD,kBAAAA,EAC5BtD,QAAAA,EAAAA,OAAAA,IAAWA,OAAAA,CAAQoD,SAAS,CAAA,GACzBpD,OAAAA,CAAQ0C,GAAAA,CAAI,CAACsB,aAAaC,KAAAA,KAAU;AAClC,QAAA,IAAI,aAAaD,WAAAA,EAAa;AAC5B,UAAA,MAAM;AAAA,YAAEhE,OAAAA,EAASkE,WAAW,EAAA;AAAA,YAAI,GAAGC;AAAAA,WAAW,GAAIH,WAAAA;AAClD,UAAA,2BACG,KAAA,EAAA,EAEC,GAAIG,UAAAA,EAEHD,QAAAA,EAAAA,QAAAA,CAASxB,IACR,CAAC;AAAA,YAAElD,KAAAA;AAAAA,YAAO,GAAG4E;AAAAA,WAAU,EAAGC,8BACxB,GAAA,CAAC,IAAA,EAAA,EAEC,GAAID,SAAAA,EAEH5E,QAAAA,EAAAA,KAAAA,EAAAA,EAHI,gBAAgBa,SAAS,CAAA,OAAA,EAAU4D,KAAK,CAAA,MAAA,EAASI,SAAS,EAIjE,CAEJ,CAAA,EAAA,EAZK,gBAAgBhE,SAAS,CAAA,OAAA,EAAU4D,KAAK,CAAA,CAa/C,CAAA;AAAA,QAEJ,CAAA,MAAO;AACL,UAAA,uBACE,GAAA,CAAC,QAEC,GAAID,WAAAA,EAAAA,EADC,gBAAgB3D,SAAS,CAAA,MAAA,EAAS4D,KAAK,CAAA,CAC5B,CAAA;AAAA,QAGtB;AAAA,MACF,CAAC,CAAA,GACD7F,QAAAA,EACN,CAAA,EACF,CAAA;AAAA,MACC8C,YAAYS,OAAAA,CAAQyB,MAAAA,KAAW,qBAC9B,IAAA,CAAC,qBAAA,EAAA,EAAsB,GAAIrE,KAAAA,EAAM,QAAA,EAAA;AAAA,QAAA,kBAAA;AAAA,QACdwB,MAAAA,CAAO6C,MAAAA,GAAS,CAAA,GAAI,CAAA,MAAA,EAAS7C,MAAM,CAAA,EAAA,CAAA,GAAO;AAAA,OAAA,EAC7D;AAAA,KAAA,EAEJ,GACF,CAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AAEO,MAAM+D,KAAAA,GAAQC,WACnB,CAAC;AAAA,EAAEnG,QAAAA;AAAAA,EAAUE,OAAAA;AAAAA,EAAS,GAAGS;AAAM,CAAA,EAAGyF,YAAAA,KAAiB;AACjDC,EAAAA,SAAAA,EAAU;AACV,EAAA,uBACE,IAAA,CAAC,wBACC,GAAI1F,KAAAA,EACJ,KAAK2F,SAAAA,CAAU,CACbF,cACAG,CAAAA,IAAAA,KAAQ;AACN,IAAA,MAAMC,MAAAA,GAASD,IAAAA,EAAME,gBAAAA,CAAiB,yBAAyB,EAAEzB,MAAAA,KAAW,CAAA;AAC5E,IAAA,IAAIwB,MAAAA,EAAQ;AACVD,MAAAA,IAAAA,EAAMG,YAAAA,CAAa,UAAU,EAAE,CAAA;AAAA,IACjC,CAAA,MAAO;AACLH,MAAAA,IAAAA,EAAMI,gBAAgB,QAAQ,CAAA;AAAA,IAChC;AACAJ,IAAAA,IAAAA,EAAMG,YAAAA,CAAa,aAAA,EAAeF,MAAAA,CAAOI,QAAAA,EAAU,CAAA;AAAA,EACrD,CAAC,CACF,CAAA,EAED,QAAA,EAAA;AAAA,oBAAA,GAAA,CAAC,mBAAiB1G,QAAAA,EAAAA,OAAAA,EAAQ,CAAA;AAAA,oBAC1B,GAAA,CAAC,sBAAoBF,QAAAA,EAAS;AAAA,GAAA,EAChC,CAAA;AAEJ,CACF;AAEAkG,KAAAA,CAAMzF,WAAAA,GAAc,oBAAA;AAEpB,MAAMoG,SAAAA,GAAY1I,MAAAA,CAAO2I,GAAAA,CAAGzI,UAAAA,CAAA;AAAA,EAAAC,WAAAA,EAAA;AAAA,CAAA,CAAA,CAAA,CAAA,UAAA,EAAA,GAAA,GACf,CAAC;AAAA,EAAEyI;AAAW,CAAA,KAAOA,UAAAA,GAAa,IAAI,CAAE,CAAA;AAG9C,MAAMC,IAAAA,GAAOb,WAClB,CACE;AAAA,EACEnF,QAAAA,GAAW,KAAA;AAAA,EACXhB,QAAAA;AAAAA,EACAoB,KAAAA;AAAAA,EACA6F,SAAAA;AAAAA,EACAvF,QAAAA,EAAUC,YAAAA;AAAAA,EACVZ,KAAAA,GAAQ,EAAA;AAAA,EACRmG,IAAAA;AAAAA,EACAC,OAAAA;AAAAA,EACAC,WAAAA,EAAaC,eAAAA;AAAAA,EACb,GAAG1G;AACL,CAAA,EACAyF,YAAAA,KACG;AACH,EAAA,MAAM;AAAA,IAAExD,WAAAA;AAAAA,IAAawC,iBAAAA;AAAAA,IAAmBH,QAAAA;AAAAA,IAAUI,aAAAA;AAAAA,IAAe3D;AAAAA,MAC/D4F,SAAAA,EAAU;AACZ,EAAA,MAAMC,gBAAgBA,MAAM;AAC1B,IAAA,IAAI,CAACvG,QAAAA,EAAU;AACbU,MAAAA,QAAAA,CAASX,KAAK,CAAA;AACd,MAAA,IAAI,OAAOY,gBAAgB,UAAA,EAAY;AACrCA,QAAAA,YAAAA,CAAaZ,KAAK,CAAA;AAAA,MACpB;AAAA,IACF;AAAA,EACF,CAAA;AACA,EAAA,MAAMqG,cAAiD3C,CAAAA,CAAAA,KAAK;AAC1D,IAAA,IAAI4C,eAAAA,EAAiB;AACnBA,MAAAA,eAAAA,CAAgB5C,CAAC,CAAA;AAAA,IACnB;AACA,IAAA,IAAI,CAACzD,QAAAA,EAAU;AACboE,MAAAA,iBAAAA,CAAkBrE,KAAK,CAAA;AAAA,IACzB;AAAA,EACF,CAAA;AAEA,EAAA,IAAIkE,QAAAA,CAASlE,KAAK,CAAA,EAAG;AACnB,IAAA,OAAO,IAAA;AAAA,EACT;AACA,EAAA,MAAMyG,YAAYnC,aAAAA,KAAkBtE,KAAAA;AAEpC,EAAA,uBACE,IAAA,CAAA,QAAA,EAAA,EACE,QAAA,EAAA;AAAA,oBAAA,IAAA,CAAC,eAAA,EAAA,EACC,GAAIJ,KAAAA,EACJ,YAAA,EAAYI,KAAAA,EACZ,SAASwG,aAAAA,EACT,WAAA,EACA,GAAA,EAAKnB,YAAAA,EACL,YAAA,EAAYoB,SAAAA,GAAY,YAAY,WAAA,EACpC,eAAA,EAAexG,QAAAA,GAAW,IAAA,GAAOyG,MAAAA,EACjC,kBAAA,EAAkB7E,eAAe7B,KAAAA,GAAQ,MAAA,GAAS0G,MAAAA,EAClD,uBAAA,EAAsB,EAAA,EAEtB,QAAA,EAAA;AAAA,sBAAA,GAAA,CAAC,WAAA,EAAA,EACC,IAAA,EACA,OAAA,EAECrG,QAAAA,EAAAA,KAAAA,IAASpB,QAAAA,EACZ,CAAA;AAAA,sBACA,GAAA,CAAC,aACC,EAAA,EAAI0H,QAAAA,EACJ,MAAK,OAAA,EACL,IAAA,EAAK,IAAA,EACL,UAAA,EAAYF,SAAAA,EAAU;AAAA,KAAA,EAE1B,CAAA;AAAA,IACCP,SAAAA,oBAAa,GAAA,CAAC,SAAA,EAAA,EAAU,IAAA,EAAK,IAAA,EAAI;AAAA,GAAA,EACpC,CAAA;AAEJ,CACF;AAEAD,IAAAA,CAAKvG,WAAAA,GAAc,mBAAA;AAEnBgB,YAAAA,CAAayE,KAAAA,GAAQA,KAAAA;AACrBzE,YAAAA,CAAauF,IAAAA,GAAOA,IAAAA;;;;"}
|