@greypan/web-ui 11.2.0 → 12.0.0
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.CN.md +79 -68
- package/README.md +81 -72
- package/dist/_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js +8 -0
- package/dist/assets/menu-portal.js +3 -4
- package/dist/assets/menu-portal.js.map +1 -1
- package/dist/assets/modal-surface.js +3 -4
- package/dist/assets/modal-surface.js.map +1 -1
- package/dist/assets/overlay-motion.js +3 -4
- package/dist/assets/overlay-motion.js.map +1 -1
- package/dist/assets/scrollbar.js +5 -0
- package/dist/assets/scrollbar.js.map +1 -0
- package/dist/assets/selection-control.js +3 -4
- package/dist/assets/selection-control.js.map +1 -1
- package/dist/assets/toast-containers.js +3 -4
- package/dist/assets/toast-containers.js.map +1 -1
- package/dist/classes/glass.js +3 -4
- package/dist/classes/glass.js.map +1 -1
- package/dist/classes/glow.js +3 -4
- package/dist/classes/glow.js.map +1 -1
- package/dist/components/autocomplete/index.d.ts +485 -483
- package/dist/components/autocomplete/index.d.ts.map +1 -0
- package/dist/components/autocomplete/index.js +475 -267
- package/dist/components/autocomplete/index.js.map +1 -1
- package/dist/components/autocomplete/style.js +3 -4
- package/dist/components/autocomplete/style.js.map +1 -1
- package/dist/components/avatar/index.d.ts +26 -24
- package/dist/components/avatar/index.d.ts.map +1 -0
- package/dist/components/avatar/index.js +72 -52
- package/dist/components/avatar/index.js.map +1 -1
- package/dist/components/avatar/style.js +3 -4
- package/dist/components/avatar/style.js.map +1 -1
- package/dist/components/back-top/index.d.ts +30 -27
- package/dist/components/back-top/index.d.ts.map +1 -0
- package/dist/components/back-top/index.js +96 -62
- package/dist/components/back-top/index.js.map +1 -1
- package/dist/components/back-top/style.js +3 -4
- package/dist/components/back-top/style.js.map +1 -1
- package/dist/components/badge/index.d.ts +32 -26
- package/dist/components/badge/index.d.ts.map +1 -0
- package/dist/components/badge/index.js +116 -74
- package/dist/components/badge/index.js.map +1 -1
- package/dist/components/badge/style.js +3 -4
- package/dist/components/badge/style.js.map +1 -1
- package/dist/components/button/index.d.ts +392 -390
- package/dist/components/button/index.d.ts.map +1 -0
- package/dist/components/button/index.js +108 -74
- package/dist/components/button/index.js.map +1 -1
- package/dist/components/button/style.js +3 -4
- package/dist/components/button/style.js.map +1 -1
- package/dist/components/button-group/index.d.ts +14 -13
- package/dist/components/button-group/index.d.ts.map +1 -0
- package/dist/components/button-group/index.js +43 -33
- package/dist/components/button-group/index.js.map +1 -1
- package/dist/components/button-group/style.js +3 -4
- package/dist/components/button-group/style.js.map +1 -1
- package/dist/components/checkbox/index.d.ts +399 -397
- package/dist/components/checkbox/index.d.ts.map +1 -0
- package/dist/components/checkbox/index.js +103 -74
- package/dist/components/checkbox/index.js.map +1 -1
- package/dist/components/checkbox/style.js +3 -4
- package/dist/components/checkbox/style.js.map +1 -1
- package/dist/components/checkbox-group/index.d.ts +397 -396
- package/dist/components/checkbox-group/index.d.ts.map +1 -0
- package/dist/components/checkbox-group/index.js +92 -70
- package/dist/components/checkbox-group/index.js.map +1 -1
- package/dist/components/checkbox-group/style.js +3 -4
- package/dist/components/checkbox-group/style.js.map +1 -1
- package/dist/components/collapse/index.d.ts +72 -71
- package/dist/components/collapse/index.d.ts.map +1 -0
- package/dist/components/collapse/index.js +225 -130
- package/dist/components/collapse/index.js.map +1 -1
- package/dist/components/collapse/style.js +3 -4
- package/dist/components/collapse/style.js.map +1 -1
- package/dist/components/context-menu/index.d.ts +307 -310
- package/dist/components/context-menu/index.d.ts.map +1 -0
- package/dist/components/context-menu/index.js +685 -270
- package/dist/components/context-menu/index.js.map +1 -1
- package/dist/components/context-menu/scrim.js +3 -4
- package/dist/components/context-menu/scrim.js.map +1 -1
- package/dist/components/context-menu/style.js +3 -4
- package/dist/components/context-menu/style.js.map +1 -1
- package/dist/components/dialog/index.d.ts +87 -78
- package/dist/components/dialog/index.d.ts.map +1 -0
- package/dist/components/dialog/index.js +183 -88
- package/dist/components/dialog/index.js.map +1 -1
- package/dist/components/dialog/style.js +3 -4
- package/dist/components/dialog/style.js.map +1 -1
- package/dist/components/drawer/index.d.ts +159 -150
- package/dist/components/drawer/index.d.ts.map +1 -0
- package/dist/components/drawer/index.js +503 -242
- package/dist/components/drawer/index.js.map +1 -1
- package/dist/components/drawer/style.js +3 -4
- package/dist/components/drawer/style.js.map +1 -1
- package/dist/components/dropdown/index.d.ts +125 -124
- package/dist/components/dropdown/index.d.ts.map +1 -0
- package/dist/components/dropdown/index.js +556 -328
- package/dist/components/dropdown/index.js.map +1 -1
- package/dist/components/dropdown/style.js +3 -4
- package/dist/components/dropdown/style.js.map +1 -1
- package/dist/components/dropdown-divider/index.d.ts +7 -6
- package/dist/components/dropdown-divider/index.d.ts.map +1 -0
- package/dist/components/dropdown-divider/index.js +10 -11
- package/dist/components/dropdown-divider/index.js.map +1 -1
- package/dist/components/dropdown-divider/style.js +3 -4
- package/dist/components/dropdown-divider/style.js.map +1 -1
- package/dist/components/dropdown-header/index.d.ts +7 -6
- package/dist/components/dropdown-header/index.d.ts.map +1 -0
- package/dist/components/dropdown-header/index.js +10 -11
- package/dist/components/dropdown-header/index.js.map +1 -1
- package/dist/components/dropdown-header/style.js +3 -4
- package/dist/components/dropdown-header/style.js.map +1 -1
- package/dist/components/dropdown-item/index.d.ts +13 -11
- package/dist/components/dropdown-item/index.d.ts.map +1 -0
- package/dist/components/dropdown-item/index.js +32 -25
- package/dist/components/dropdown-item/index.js.map +1 -1
- package/dist/components/dropdown-item/style.js +3 -4
- package/dist/components/dropdown-item/style.js.map +1 -1
- package/dist/components/editable-text/index.d.ts +506 -505
- package/dist/components/editable-text/index.d.ts.map +1 -0
- package/dist/components/editable-text/index.js +281 -127
- package/dist/components/editable-text/index.js.map +1 -1
- package/dist/components/editable-text/style.js +3 -4
- package/dist/components/editable-text/style.js.map +1 -1
- package/dist/components/empty/index.d.ts +17 -15
- package/dist/components/empty/index.d.ts.map +1 -0
- package/dist/components/empty/index.js +66 -37
- package/dist/components/empty/index.js.map +1 -1
- package/dist/components/empty/style.js +3 -4
- package/dist/components/empty/style.js.map +1 -1
- package/dist/components/icon/index.d.ts +12 -11
- package/dist/components/icon/index.d.ts.map +1 -0
- package/dist/components/icon/index.js +34 -27
- package/dist/components/icon/index.js.map +1 -1
- package/dist/components/icon/style.js +3 -4
- package/dist/components/icon/style.js.map +1 -1
- package/dist/components/image-preview/index.d.ts +58 -44
- package/dist/components/image-preview/index.d.ts.map +1 -0
- package/dist/components/image-preview/index.js +536 -265
- package/dist/components/image-preview/index.js.map +1 -1
- package/dist/components/image-preview/style.js +3 -4
- package/dist/components/image-preview/style.js.map +1 -1
- package/dist/components/index.d.ts +46 -43
- package/dist/components/index.d.ts.map +1 -0
- package/dist/components/index.js +41 -41
- package/dist/components/input/index.d.ts +418 -413
- package/dist/components/input/index.d.ts.map +1 -0
- package/dist/components/input/index.js +148 -84
- package/dist/components/input/index.js.map +1 -1
- package/dist/components/input/style.js +3 -4
- package/dist/components/input/style.js.map +1 -1
- package/dist/components/input-number/index.d.ts +453 -447
- package/dist/components/input-number/index.d.ts.map +1 -0
- package/dist/components/input-number/index.js +484 -292
- package/dist/components/input-number/index.js.map +1 -1
- package/dist/components/input-number/style.js +3 -4
- package/dist/components/input-number/style.js.map +1 -1
- package/dist/components/layout/index.d.ts +110 -87
- package/dist/components/layout/index.d.ts.map +1 -0
- package/dist/components/layout/index.js +238 -144
- package/dist/components/layout/index.js.map +1 -1
- package/dist/components/layout/style.js +3 -4
- package/dist/components/layout/style.js.map +1 -1
- package/dist/components/middle-ellipsis/index.d.ts +93 -92
- package/dist/components/middle-ellipsis/index.d.ts.map +1 -0
- package/dist/components/middle-ellipsis/index.js +261 -107
- package/dist/components/middle-ellipsis/index.js.map +1 -1
- package/dist/components/middle-ellipsis/style.js +3 -4
- package/dist/components/middle-ellipsis/style.js.map +1 -1
- package/dist/components/middle-ellipsis/truncate.js +60 -30
- package/dist/components/middle-ellipsis/truncate.js.map +1 -1
- package/dist/components/option/index.d.ts +20 -18
- package/dist/components/option/index.d.ts.map +1 -0
- package/dist/components/option/index.js +53 -40
- package/dist/components/option/index.js.map +1 -1
- package/dist/components/option/style.js +3 -4
- package/dist/components/option/style.js.map +1 -1
- package/dist/components/popover/index.d.ts +69 -68
- package/dist/components/popover/index.d.ts.map +1 -0
- package/dist/components/popover/index.js +221 -104
- package/dist/components/popover/index.js.map +1 -1
- package/dist/components/popover/style.js +3 -4
- package/dist/components/popover/style.js.map +1 -1
- package/dist/components/radio/index.d.ts +396 -395
- package/dist/components/radio/index.d.ts.map +1 -0
- package/dist/components/radio/index.js +91 -62
- package/dist/components/radio/index.js.map +1 -1
- package/dist/components/radio/interaction.js +10 -11
- package/dist/components/radio/interaction.js.map +1 -1
- package/dist/components/radio/style.js +3 -4
- package/dist/components/radio/style.js.map +1 -1
- package/dist/components/radio-group/index.d.ts +417 -416
- package/dist/components/radio-group/index.d.ts.map +1 -0
- package/dist/components/radio-group/index.js +307 -207
- package/dist/components/radio-group/index.js.map +1 -1
- package/dist/components/radio-group/style.js +3 -4
- package/dist/components/radio-group/style.js.map +1 -1
- package/dist/components/segmented/index.d.ts +408 -402
- package/dist/components/segmented/index.d.ts.map +1 -0
- package/dist/components/segmented/index.js +267 -158
- package/dist/components/segmented/index.js.map +1 -1
- package/dist/components/segmented/style.js +3 -4
- package/dist/components/segmented/style.js.map +1 -1
- package/dist/components/segmented-trigger/index.d.ts +18 -17
- package/dist/components/segmented-trigger/index.d.ts.map +1 -0
- package/dist/components/segmented-trigger/index.js +45 -36
- package/dist/components/segmented-trigger/index.js.map +1 -1
- package/dist/components/segmented-trigger/style.js +3 -4
- package/dist/components/segmented-trigger/style.js.map +1 -1
- package/dist/components/select/index.d.ts +450 -448
- package/dist/components/select/index.d.ts.map +1 -0
- package/dist/components/select/index.js +342 -188
- package/dist/components/select/index.js.map +1 -1
- package/dist/components/select/style.js +3 -4
- package/dist/components/select/style.js.map +1 -1
- package/dist/components/slider/index.d.ts +428 -427
- package/dist/components/slider/index.d.ts.map +1 -0
- package/dist/components/slider/index.js +308 -216
- package/dist/components/slider/index.js.map +1 -1
- package/dist/components/slider/style.js +3 -4
- package/dist/components/slider/style.js.map +1 -1
- package/dist/components/spinner/index.d.ts +39 -38
- package/dist/components/spinner/index.d.ts.map +1 -0
- package/dist/components/spinner/index.js +118 -65
- package/dist/components/spinner/index.js.map +1 -1
- package/dist/components/spinner/style.js +3 -4
- package/dist/components/spinner/style.js.map +1 -1
- package/dist/components/svg-draw-lines/index.d.ts +40 -39
- package/dist/components/svg-draw-lines/index.d.ts.map +1 -0
- package/dist/components/svg-draw-lines/index.js +189 -106
- package/dist/components/svg-draw-lines/index.js.map +1 -1
- package/dist/components/svg-draw-lines/style.js +3 -4
- package/dist/components/svg-draw-lines/style.js.map +1 -1
- package/dist/components/switch/index.d.ts +411 -409
- package/dist/components/switch/index.d.ts.map +1 -0
- package/dist/components/switch/index.js +193 -106
- package/dist/components/switch/index.js.map +1 -1
- package/dist/components/switch/style.js +3 -4
- package/dist/components/switch/style.js.map +1 -1
- package/dist/components/textarea/index.d.ts +430 -425
- package/dist/components/textarea/index.d.ts.map +1 -0
- package/dist/components/textarea/index.js +187 -100
- package/dist/components/textarea/index.js.map +1 -1
- package/dist/components/textarea/style.js +3 -4
- package/dist/components/textarea/style.js.map +1 -1
- package/dist/components/theme/index.d.ts +45 -44
- package/dist/components/theme/index.d.ts.map +1 -0
- package/dist/components/theme/index.js +268 -161
- package/dist/components/theme/index.js.map +1 -1
- package/dist/components/theme/style.js +3 -4
- package/dist/components/theme/style.js.map +1 -1
- package/dist/components/toast/index.d.ts +4 -3
- package/dist/components/toast/index.js +3 -3
- package/dist/components/toast/manager.d.ts +9 -8
- package/dist/components/toast/manager.d.ts.map +1 -0
- package/dist/components/toast/manager.js +215 -119
- package/dist/components/toast/manager.js.map +1 -1
- package/dist/components/toast/style.js +3 -4
- package/dist/components/toast/style.js.map +1 -1
- package/dist/components/toast/toast.d.ts +75 -71
- package/dist/components/toast/toast.d.ts.map +1 -0
- package/dist/components/toast/toast.js +203 -96
- package/dist/components/toast/toast.js.map +1 -1
- package/dist/components/toast/types.d.ts +10 -9
- package/dist/components/toast/types.d.ts.map +1 -0
- package/dist/components/tooltip/index.d.ts +72 -62
- package/dist/components/tooltip/index.d.ts.map +1 -0
- package/dist/components/tooltip/index.js +251 -93
- package/dist/components/tooltip/index.js.map +1 -1
- package/dist/components/tooltip/style.js +3 -4
- package/dist/components/tooltip/style.js.map +1 -1
- package/dist/icons/generated/akar-icons-check.d.ts +5 -4
- package/dist/icons/generated/akar-icons-check.d.ts.map +1 -0
- package/dist/icons/generated/akar-icons-check.js +3 -4
- package/dist/icons/generated/akar-icons-check.js.map +1 -1
- package/dist/icons/generated/akar-icons-circle-check.d.ts +5 -4
- package/dist/icons/generated/akar-icons-circle-check.d.ts.map +1 -0
- package/dist/icons/generated/akar-icons-circle-check.js +3 -4
- package/dist/icons/generated/akar-icons-circle-check.js.map +1 -1
- package/dist/icons/generated/andrsrxn-inbox.d.ts +5 -4
- package/dist/icons/generated/andrsrxn-inbox.d.ts.map +1 -0
- package/dist/icons/generated/andrsrxn-inbox.js +3 -4
- package/dist/icons/generated/andrsrxn-inbox.js.map +1 -1
- package/dist/icons/generated/bi-check-lg.d.ts +5 -4
- package/dist/icons/generated/bi-check-lg.d.ts.map +1 -0
- package/dist/icons/generated/bi-check-lg.js +3 -4
- package/dist/icons/generated/bi-check-lg.js.map +1 -1
- package/dist/icons/generated/bi-check.d.ts +5 -4
- package/dist/icons/generated/bi-check.d.ts.map +1 -0
- package/dist/icons/generated/bi-check.js +3 -4
- package/dist/icons/generated/bi-check.js.map +1 -1
- package/dist/icons/generated/fluent-tag-search-24-regular.d.ts +5 -4
- package/dist/icons/generated/fluent-tag-search-24-regular.d.ts.map +1 -0
- package/dist/icons/generated/fluent-tag-search-24-regular.js +3 -4
- package/dist/icons/generated/fluent-tag-search-24-regular.js.map +1 -1
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-bars-arrow-down-16-solid.js.map +1 -1
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-bars-arrow-up-16-solid.js.map +1 -1
- package/dist/icons/generated/heroicons-check-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-check-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-check-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-check-16-solid.js.map +1 -1
- package/dist/icons/generated/heroicons-x-mark-16-solid.d.ts +5 -4
- package/dist/icons/generated/heroicons-x-mark-16-solid.d.ts.map +1 -0
- package/dist/icons/generated/heroicons-x-mark-16-solid.js +3 -4
- package/dist/icons/generated/heroicons-x-mark-16-solid.js.map +1 -1
- package/dist/icons/generated/jam-close-circle-f.d.ts +7 -6
- package/dist/icons/generated/jam-close-circle-f.d.ts.map +1 -0
- package/dist/icons/generated/jam-close-circle-f.js +3 -4
- package/dist/icons/generated/jam-close-circle-f.js.map +1 -1
- package/dist/icons/generated/lucide-arrow-down-to-line.d.ts +5 -4
- package/dist/icons/generated/lucide-arrow-down-to-line.d.ts.map +1 -0
- package/dist/icons/generated/lucide-arrow-down-to-line.js +3 -4
- package/dist/icons/generated/lucide-arrow-down-to-line.js.map +1 -1
- package/dist/icons/generated/lucide-arrow-up-to-line.d.ts +5 -4
- package/dist/icons/generated/lucide-arrow-up-to-line.d.ts.map +1 -0
- package/dist/icons/generated/lucide-arrow-up-to-line.js +3 -4
- package/dist/icons/generated/lucide-arrow-up-to-line.js.map +1 -1
- package/dist/icons/generated/lucide-bell.d.ts +5 -4
- package/dist/icons/generated/lucide-bell.d.ts.map +1 -0
- package/dist/icons/generated/lucide-bell.js +3 -4
- package/dist/icons/generated/lucide-bell.js.map +1 -1
- package/dist/icons/generated/lucide-check.d.ts +5 -4
- package/dist/icons/generated/lucide-check.d.ts.map +1 -0
- package/dist/icons/generated/lucide-check.js +3 -4
- package/dist/icons/generated/lucide-check.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-down.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-down.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-down.js +3 -4
- package/dist/icons/generated/lucide-chevron-down.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-left.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-left.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-left.js +3 -4
- package/dist/icons/generated/lucide-chevron-left.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-right.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-right.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-right.js +3 -4
- package/dist/icons/generated/lucide-chevron-right.js.map +1 -1
- package/dist/icons/generated/lucide-chevron-up.d.ts +5 -4
- package/dist/icons/generated/lucide-chevron-up.d.ts.map +1 -0
- package/dist/icons/generated/lucide-chevron-up.js +3 -4
- package/dist/icons/generated/lucide-chevron-up.js.map +1 -1
- package/dist/icons/generated/lucide-circle-alert.d.ts +5 -4
- package/dist/icons/generated/lucide-circle-alert.d.ts.map +1 -0
- package/dist/icons/generated/lucide-circle-alert.js +3 -4
- package/dist/icons/generated/lucide-circle-alert.js.map +1 -1
- package/dist/icons/generated/lucide-clapperboard.d.ts +5 -4
- package/dist/icons/generated/lucide-clapperboard.d.ts.map +1 -0
- package/dist/icons/generated/lucide-clapperboard.js +3 -4
- package/dist/icons/generated/lucide-clapperboard.js.map +1 -1
- package/dist/icons/generated/lucide-clipboard-paste.d.ts +5 -4
- package/dist/icons/generated/lucide-clipboard-paste.d.ts.map +1 -0
- package/dist/icons/generated/lucide-clipboard-paste.js +3 -4
- package/dist/icons/generated/lucide-clipboard-paste.js.map +1 -1
- package/dist/icons/generated/lucide-code.d.ts +5 -4
- package/dist/icons/generated/lucide-code.d.ts.map +1 -0
- package/dist/icons/generated/lucide-code.js +3 -4
- package/dist/icons/generated/lucide-code.js.map +1 -1
- package/dist/icons/generated/lucide-copy.d.ts +5 -4
- package/dist/icons/generated/lucide-copy.d.ts.map +1 -0
- package/dist/icons/generated/lucide-copy.js +3 -4
- package/dist/icons/generated/lucide-copy.js.map +1 -1
- package/dist/icons/generated/lucide-download.d.ts +5 -4
- package/dist/icons/generated/lucide-download.d.ts.map +1 -0
- package/dist/icons/generated/lucide-download.js +3 -4
- package/dist/icons/generated/lucide-download.js.map +1 -1
- package/dist/icons/generated/lucide-ellipsis-vertical.d.ts +5 -4
- package/dist/icons/generated/lucide-ellipsis-vertical.d.ts.map +1 -0
- package/dist/icons/generated/lucide-ellipsis-vertical.js +3 -4
- package/dist/icons/generated/lucide-ellipsis-vertical.js.map +1 -1
- package/dist/icons/generated/lucide-external-link.d.ts +5 -4
- package/dist/icons/generated/lucide-external-link.d.ts.map +1 -0
- package/dist/icons/generated/lucide-external-link.js +3 -4
- package/dist/icons/generated/lucide-external-link.js.map +1 -1
- package/dist/icons/generated/lucide-eye.d.ts +5 -4
- package/dist/icons/generated/lucide-eye.d.ts.map +1 -0
- package/dist/icons/generated/lucide-eye.js +3 -4
- package/dist/icons/generated/lucide-eye.js.map +1 -1
- package/dist/icons/generated/lucide-file-text.d.ts +5 -4
- package/dist/icons/generated/lucide-file-text.d.ts.map +1 -0
- package/dist/icons/generated/lucide-file-text.js +3 -4
- package/dist/icons/generated/lucide-file-text.js.map +1 -1
- package/dist/icons/generated/lucide-file.d.ts +5 -4
- package/dist/icons/generated/lucide-file.d.ts.map +1 -0
- package/dist/icons/generated/lucide-file.js +3 -4
- package/dist/icons/generated/lucide-file.js.map +1 -1
- package/dist/icons/generated/lucide-film.d.ts +5 -4
- package/dist/icons/generated/lucide-film.d.ts.map +1 -0
- package/dist/icons/generated/lucide-film.js +3 -4
- package/dist/icons/generated/lucide-film.js.map +1 -1
- package/dist/icons/generated/lucide-folder-open.d.ts +5 -4
- package/dist/icons/generated/lucide-folder-open.d.ts.map +1 -0
- package/dist/icons/generated/lucide-folder-open.js +3 -4
- package/dist/icons/generated/lucide-folder-open.js.map +1 -1
- package/dist/icons/generated/lucide-folder.d.ts +5 -4
- package/dist/icons/generated/lucide-folder.d.ts.map +1 -0
- package/dist/icons/generated/lucide-folder.js +3 -4
- package/dist/icons/generated/lucide-folder.js.map +1 -1
- package/dist/icons/generated/lucide-globe.d.ts +5 -4
- package/dist/icons/generated/lucide-globe.d.ts.map +1 -0
- package/dist/icons/generated/lucide-globe.js +3 -4
- package/dist/icons/generated/lucide-globe.js.map +1 -1
- package/dist/icons/generated/lucide-headphones.d.ts +5 -4
- package/dist/icons/generated/lucide-headphones.d.ts.map +1 -0
- package/dist/icons/generated/lucide-headphones.js +3 -4
- package/dist/icons/generated/lucide-headphones.js.map +1 -1
- package/dist/icons/generated/lucide-heart.d.ts +5 -4
- package/dist/icons/generated/lucide-heart.d.ts.map +1 -0
- package/dist/icons/generated/lucide-heart.js +3 -4
- package/dist/icons/generated/lucide-heart.js.map +1 -1
- package/dist/icons/generated/lucide-image.d.ts +5 -4
- package/dist/icons/generated/lucide-image.d.ts.map +1 -0
- package/dist/icons/generated/lucide-image.js +3 -4
- package/dist/icons/generated/lucide-image.js.map +1 -1
- package/dist/icons/generated/lucide-inbox.d.ts +5 -4
- package/dist/icons/generated/lucide-inbox.d.ts.map +1 -0
- package/dist/icons/generated/lucide-inbox.js +3 -4
- package/dist/icons/generated/lucide-inbox.js.map +1 -1
- package/dist/icons/generated/lucide-info.d.ts +5 -4
- package/dist/icons/generated/lucide-info.d.ts.map +1 -0
- package/dist/icons/generated/lucide-info.js +3 -4
- package/dist/icons/generated/lucide-info.js.map +1 -1
- package/dist/icons/generated/lucide-layout-grid.d.ts +5 -4
- package/dist/icons/generated/lucide-layout-grid.d.ts.map +1 -0
- package/dist/icons/generated/lucide-layout-grid.js +3 -4
- package/dist/icons/generated/lucide-layout-grid.js.map +1 -1
- package/dist/icons/generated/lucide-link.d.ts +5 -4
- package/dist/icons/generated/lucide-link.d.ts.map +1 -0
- package/dist/icons/generated/lucide-link.js +3 -4
- package/dist/icons/generated/lucide-link.js.map +1 -1
- package/dist/icons/generated/lucide-list-filter.d.ts +5 -4
- package/dist/icons/generated/lucide-list-filter.d.ts.map +1 -0
- package/dist/icons/generated/lucide-list-filter.js +3 -4
- package/dist/icons/generated/lucide-list-filter.js.map +1 -1
- package/dist/icons/generated/lucide-list-restart.d.ts +5 -4
- package/dist/icons/generated/lucide-list-restart.d.ts.map +1 -0
- package/dist/icons/generated/lucide-list-restart.js +3 -4
- package/dist/icons/generated/lucide-list-restart.js.map +1 -1
- package/dist/icons/generated/lucide-loader-circle.d.ts +5 -4
- package/dist/icons/generated/lucide-loader-circle.d.ts.map +1 -0
- package/dist/icons/generated/lucide-loader-circle.js +3 -4
- package/dist/icons/generated/lucide-loader-circle.js.map +1 -1
- package/dist/icons/generated/lucide-mail.d.ts +5 -4
- package/dist/icons/generated/lucide-mail.d.ts.map +1 -0
- package/dist/icons/generated/lucide-mail.js +3 -4
- package/dist/icons/generated/lucide-mail.js.map +1 -1
- package/dist/icons/generated/lucide-minus.d.ts +5 -4
- package/dist/icons/generated/lucide-minus.d.ts.map +1 -0
- package/dist/icons/generated/lucide-minus.js +3 -4
- package/dist/icons/generated/lucide-minus.js.map +1 -1
- package/dist/icons/generated/lucide-music.d.ts +5 -4
- package/dist/icons/generated/lucide-music.d.ts.map +1 -0
- package/dist/icons/generated/lucide-music.js +3 -4
- package/dist/icons/generated/lucide-music.js.map +1 -1
- package/dist/icons/generated/lucide-package.d.ts +5 -4
- package/dist/icons/generated/lucide-package.d.ts.map +1 -0
- package/dist/icons/generated/lucide-package.js +3 -4
- package/dist/icons/generated/lucide-package.js.map +1 -1
- package/dist/icons/generated/lucide-pen-line.d.ts +5 -4
- package/dist/icons/generated/lucide-pen-line.d.ts.map +1 -0
- package/dist/icons/generated/lucide-pen-line.js +3 -4
- package/dist/icons/generated/lucide-pen-line.js.map +1 -1
- package/dist/icons/generated/lucide-pencil.d.ts +5 -4
- package/dist/icons/generated/lucide-pencil.d.ts.map +1 -0
- package/dist/icons/generated/lucide-pencil.js +3 -4
- package/dist/icons/generated/lucide-pencil.js.map +1 -1
- package/dist/icons/generated/lucide-play.d.ts +5 -4
- package/dist/icons/generated/lucide-play.d.ts.map +1 -0
- package/dist/icons/generated/lucide-play.js +3 -4
- package/dist/icons/generated/lucide-play.js.map +1 -1
- package/dist/icons/generated/lucide-plus.d.ts +5 -4
- package/dist/icons/generated/lucide-plus.d.ts.map +1 -0
- package/dist/icons/generated/lucide-plus.js +3 -4
- package/dist/icons/generated/lucide-plus.js.map +1 -1
- package/dist/icons/generated/lucide-printer.d.ts +5 -4
- package/dist/icons/generated/lucide-printer.d.ts.map +1 -0
- package/dist/icons/generated/lucide-printer.js +3 -4
- package/dist/icons/generated/lucide-printer.js.map +1 -1
- package/dist/icons/generated/lucide-redo-2.d.ts +5 -4
- package/dist/icons/generated/lucide-redo-2.d.ts.map +1 -0
- package/dist/icons/generated/lucide-redo-2.js +3 -4
- package/dist/icons/generated/lucide-redo-2.js.map +1 -1
- package/dist/icons/generated/lucide-refresh-cw.d.ts +5 -4
- package/dist/icons/generated/lucide-refresh-cw.d.ts.map +1 -0
- package/dist/icons/generated/lucide-refresh-cw.js +3 -4
- package/dist/icons/generated/lucide-refresh-cw.js.map +1 -1
- package/dist/icons/generated/lucide-scissors.d.ts +5 -4
- package/dist/icons/generated/lucide-scissors.d.ts.map +1 -0
- package/dist/icons/generated/lucide-scissors.js +3 -4
- package/dist/icons/generated/lucide-scissors.js.map +1 -1
- package/dist/icons/generated/lucide-search.d.ts +5 -4
- package/dist/icons/generated/lucide-search.d.ts.map +1 -0
- package/dist/icons/generated/lucide-search.js +3 -4
- package/dist/icons/generated/lucide-search.js.map +1 -1
- package/dist/icons/generated/lucide-settings.d.ts +5 -4
- package/dist/icons/generated/lucide-settings.d.ts.map +1 -0
- package/dist/icons/generated/lucide-settings.js +3 -4
- package/dist/icons/generated/lucide-settings.js.map +1 -1
- package/dist/icons/generated/lucide-sliders-horizontal.d.ts +5 -4
- package/dist/icons/generated/lucide-sliders-horizontal.d.ts.map +1 -0
- package/dist/icons/generated/lucide-sliders-horizontal.js +3 -4
- package/dist/icons/generated/lucide-sliders-horizontal.js.map +1 -1
- package/dist/icons/generated/lucide-star.d.ts +5 -4
- package/dist/icons/generated/lucide-star.d.ts.map +1 -0
- package/dist/icons/generated/lucide-star.js +3 -4
- package/dist/icons/generated/lucide-star.js.map +1 -1
- package/dist/icons/generated/lucide-tag.d.ts +5 -4
- package/dist/icons/generated/lucide-tag.d.ts.map +1 -0
- package/dist/icons/generated/lucide-tag.js +3 -4
- package/dist/icons/generated/lucide-tag.js.map +1 -1
- package/dist/icons/generated/lucide-tags.d.ts +5 -4
- package/dist/icons/generated/lucide-tags.d.ts.map +1 -0
- package/dist/icons/generated/lucide-tags.js +3 -4
- package/dist/icons/generated/lucide-tags.js.map +1 -1
- package/dist/icons/generated/lucide-trash-2.d.ts +5 -4
- package/dist/icons/generated/lucide-trash-2.d.ts.map +1 -0
- package/dist/icons/generated/lucide-trash-2.js +3 -4
- package/dist/icons/generated/lucide-trash-2.js.map +1 -1
- package/dist/icons/generated/lucide-triangle-alert.d.ts +5 -4
- package/dist/icons/generated/lucide-triangle-alert.d.ts.map +1 -0
- package/dist/icons/generated/lucide-triangle-alert.js +3 -4
- package/dist/icons/generated/lucide-triangle-alert.js.map +1 -1
- package/dist/icons/generated/lucide-undo-2.d.ts +5 -4
- package/dist/icons/generated/lucide-undo-2.d.ts.map +1 -0
- package/dist/icons/generated/lucide-undo-2.js +3 -4
- package/dist/icons/generated/lucide-undo-2.js.map +1 -1
- package/dist/icons/generated/lucide-upload.d.ts +5 -4
- package/dist/icons/generated/lucide-upload.d.ts.map +1 -0
- package/dist/icons/generated/lucide-upload.js +3 -4
- package/dist/icons/generated/lucide-upload.js.map +1 -1
- package/dist/icons/generated/lucide-user.d.ts +5 -4
- package/dist/icons/generated/lucide-user.d.ts.map +1 -0
- package/dist/icons/generated/lucide-user.js +3 -4
- package/dist/icons/generated/lucide-user.js.map +1 -1
- package/dist/icons/generated/lucide-wrench.d.ts +5 -4
- package/dist/icons/generated/lucide-wrench.d.ts.map +1 -0
- package/dist/icons/generated/lucide-wrench.js +3 -4
- package/dist/icons/generated/lucide-wrench.js.map +1 -1
- package/dist/icons/generated/lucide-x.d.ts +5 -4
- package/dist/icons/generated/lucide-x.d.ts.map +1 -0
- package/dist/icons/generated/lucide-x.js +3 -4
- package/dist/icons/generated/lucide-x.js.map +1 -1
- package/dist/icons/generated/mdi-tag-search-outline.d.ts +5 -4
- package/dist/icons/generated/mdi-tag-search-outline.d.ts.map +1 -0
- package/dist/icons/generated/mdi-tag-search-outline.js +3 -4
- package/dist/icons/generated/mdi-tag-search-outline.js.map +1 -1
- package/dist/icons/generated/ooui-close.d.ts +5 -4
- package/dist/icons/generated/ooui-close.d.ts.map +1 -0
- package/dist/icons/generated/ooui-close.js +3 -4
- package/dist/icons/generated/ooui-close.js.map +1 -1
- package/dist/icons/generated/radix-icons-panel-left-minimized.d.ts +5 -4
- package/dist/icons/generated/radix-icons-panel-left-minimized.d.ts.map +1 -0
- package/dist/icons/generated/radix-icons-panel-left-minimized.js +3 -4
- package/dist/icons/generated/radix-icons-panel-left-minimized.js.map +1 -1
- package/dist/icons/generated/radix-icons-reset.d.ts +5 -4
- package/dist/icons/generated/radix-icons-reset.d.ts.map +1 -0
- package/dist/icons/generated/radix-icons-reset.js +3 -4
- package/dist/icons/generated/radix-icons-reset.js.map +1 -1
- package/dist/icons/generated/tabler-sort-ascending-letters.d.ts +5 -4
- package/dist/icons/generated/tabler-sort-ascending-letters.d.ts.map +1 -0
- package/dist/icons/generated/tabler-sort-ascending-letters.js +3 -4
- package/dist/icons/generated/tabler-sort-ascending-letters.js.map +1 -1
- package/dist/icons/index.d.ts +75 -74
- package/dist/icons/index.js +75 -75
- package/dist/shared/element-height/index.js +51 -25
- package/dist/shared/element-height/index.js.map +1 -1
- package/dist/shared/element-width/index.js +39 -24
- package/dist/shared/element-width/index.js.map +1 -1
- package/dist/shared/events/user-change.js +14 -8
- package/dist/shared/events/user-change.js.map +1 -1
- package/dist/shared/focus/pointer-focus.js +56 -30
- package/dist/shared/focus/pointer-focus.js.map +1 -1
- package/dist/shared/focus/tabbable.js +96 -0
- package/dist/shared/focus/tabbable.js.map +1 -0
- package/dist/shared/form-association/field-id.js +13 -6
- package/dist/shared/form-association/field-id.js.map +1 -1
- package/dist/shared/form-association/index.js +75 -42
- package/dist/shared/form-association/index.js.map +1 -1
- package/dist/shared/gesture/drag-gesture.js +239 -99
- package/dist/shared/gesture/drag-gesture.js.map +1 -1
- package/dist/shared/gesture/physics.js +49 -16
- package/dist/shared/gesture/physics.js.map +1 -1
- package/dist/shared/gesture/pinch-gesture.js +111 -60
- package/dist/shared/gesture/pinch-gesture.js.map +1 -1
- package/dist/shared/group-management/index.js +181 -84
- package/dist/shared/group-management/index.js.map +1 -1
- package/dist/shared/label-emptiness/index.js +45 -26
- package/dist/shared/label-emptiness/index.js.map +1 -1
- package/dist/shared/locale/builtin-labels.js +38 -0
- package/dist/shared/locale/builtin-labels.js.map +1 -0
- package/dist/shared/menu-behavior/index.js +113 -60
- package/dist/shared/menu-behavior/index.js.map +1 -1
- package/dist/shared/menu-portal/menu-portal.js +47 -26
- package/dist/shared/menu-portal/menu-portal.js.map +1 -1
- package/dist/shared/menu-portal/menu-tree.js +132 -75
- package/dist/shared/menu-portal/menu-tree.js.map +1 -1
- package/dist/shared/normalize/index.js +16 -7
- package/dist/shared/normalize/index.js.map +1 -1
- package/dist/shared/open-state/index.js +7 -8
- package/dist/shared/open-state/index.js.map +1 -1
- package/dist/shared/option-portal/combobox-shell.js +121 -56
- package/dist/shared/option-portal/combobox-shell.js.map +1 -1
- package/dist/shared/option-portal/index.js +65 -44
- package/dist/shared/option-portal/index.js.map +1 -1
- package/dist/shared/overlay/anchored-panel.js +75 -40
- package/dist/shared/overlay/anchored-panel.js.map +1 -1
- package/dist/shared/overlay/native-dialog-presence.js +116 -52
- package/dist/shared/overlay/native-dialog-presence.js.map +1 -1
- package/dist/shared/overlay/nested-drawer-layers.js +76 -46
- package/dist/shared/overlay/nested-drawer-layers.js.map +1 -1
- package/dist/shared/overlay/open-overlay.js +240 -136
- package/dist/shared/overlay/open-overlay.js.map +1 -1
- package/dist/shared/overlay/overlay-root.js +33 -24
- package/dist/shared/overlay/overlay-root.js.map +1 -1
- package/dist/shared/overlay/overlay.js +109 -66
- package/dist/shared/overlay/overlay.js.map +1 -1
- package/dist/shared/overlay/placement-props.js +9 -4
- package/dist/shared/overlay/placement-props.js.map +1 -1
- package/dist/shared/overlay/portal.d.ts +2 -0
- package/dist/shared/overlay/portal.d.ts.map +1 -0
- package/dist/shared/overlay/portal.js +202 -117
- package/dist/shared/overlay/portal.js.map +1 -1
- package/dist/shared/overlay/positioning-generation.js +9 -10
- package/dist/shared/overlay/positioning-generation.js.map +1 -1
- package/dist/shared/overlay/presence.js +43 -21
- package/dist/shared/overlay/presence.js.map +1 -1
- package/dist/shared/overlay/theme-overlay-scope.js +22 -19
- package/dist/shared/overlay/theme-overlay-scope.js.map +1 -1
- package/dist/shared/scroll-lock/scroll-lock.js +49 -15
- package/dist/shared/scroll-lock/scroll-lock.js.map +1 -1
- package/dist/shared/theme/duration.js +13 -6
- package/dist/shared/theme/duration.js.map +1 -1
- package/dist/shared/theme/reduced-motion.js +14 -9
- package/dist/shared/theme/reduced-motion.js.map +1 -1
- package/dist/shared/theme/root-sync.js +85 -32
- package/dist/shared/theme/root-sync.js.map +1 -1
- package/dist/shared/visible-area/index.js +81 -37
- package/dist/shared/visible-area/index.js.map +1 -1
- package/dist/types/iconify.d.ts +1 -1
- package/dist/types/iconify.js +0 -0
- package/dist/types/react.d.ts +8 -10
- package/dist/types/react.d.ts.map +1 -0
- package/dist/types/react.js +0 -0
- package/dist/types/utils.d.ts +8 -13
- package/dist/types/utils.d.ts.map +1 -0
- package/dist/types/utils.js +0 -0
- package/dist/types/vue.d.ts +9 -13
- package/dist/types/vue.d.ts.map +1 -0
- package/dist/types/vue.js +0 -0
- package/dist/vite/index.d.ts +1 -0
- package/dist/vite/index.d.ts.map +1 -0
- package/dist/vite/index.js +30 -4
- package/dist/vite/index.js.map +1 -1
- package/package.json +10 -23
- package/dist/_virtual/_@oxc-project_runtime@0.149.0/helpers/esm/decorate.js +0 -9
- package/dist/components/middle-ellipsis/truncate.d.ts +0 -62
- package/dist/components/radio/interaction.d.ts +0 -4
- package/dist/scrollbars/index.d.ts +0 -33
- package/dist/scrollbars/index.js +0 -18
- package/dist/scrollbars/index.js.map +0 -1
- package/dist/scrollbars/internal.js +0 -6
- package/dist/scrollbars/internal.js.map +0 -1
- package/dist/scrollbars/style.css +0 -10
|
@@ -1,161 +1,230 @@
|
|
|
1
|
-
import
|
|
1
|
+
import __decorate from "../../_virtual/_@oxc-project_runtime@0.155.0/helpers/esm/decorate.js";
|
|
2
2
|
import "../icon/index.js";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import { installPointerFocusSuppression
|
|
6
|
-
import { FormAssociated
|
|
7
|
-
import
|
|
8
|
-
import
|
|
9
|
-
import { dispatchOpenChangeEvent
|
|
10
|
-
import { createComboboxOpenController
|
|
11
|
-
import { defineOptionPortal
|
|
12
|
-
import { defineAnchoredPanel
|
|
13
|
-
import { defineOpenOverlay
|
|
14
|
-
import { applyOverlayVariables
|
|
15
|
-
import { defineScrollLockLease
|
|
16
|
-
import
|
|
17
|
-
import { LitElement
|
|
18
|
-
import { customElement
|
|
19
|
-
import { ifDefined
|
|
20
|
-
|
|
21
|
-
var
|
|
22
|
-
|
|
23
|
-
|
|
3
|
+
import glass_default from "../../classes/glass.js";
|
|
4
|
+
import lucide_chevron_down_default from "../../icons/generated/lucide-chevron-down.js";
|
|
5
|
+
import { installPointerFocusSuppression } from "../../shared/focus/pointer-focus.js";
|
|
6
|
+
import { FormAssociated, FormAssociationController, defineFormAssociation } from "../../shared/form-association/index.js";
|
|
7
|
+
import overlay_motion_default from "../../assets/overlay-motion.js";
|
|
8
|
+
import scrollbar_default from "../../assets/scrollbar.js";
|
|
9
|
+
import { dispatchOpenChangeEvent } from "../../shared/open-state/index.js";
|
|
10
|
+
import { createComboboxOpenController, createOptionListenerBinding, handleComboboxFocusOut, nextWrappingIndex } from "../../shared/option-portal/combobox-shell.js";
|
|
11
|
+
import { defineOptionPortal } from "../../shared/option-portal/index.js";
|
|
12
|
+
import { defineAnchoredPanel } from "../../shared/overlay/anchored-panel.js";
|
|
13
|
+
import { defineOpenOverlay } from "../../shared/overlay/open-overlay.js";
|
|
14
|
+
import { applyOverlayVariables, defineOverlayPortal } from "../../shared/overlay/portal.js";
|
|
15
|
+
import { defineScrollLockLease } from "../../shared/scroll-lock/scroll-lock.js";
|
|
16
|
+
import style_default from "./style.js";
|
|
17
|
+
import { LitElement, html, nothing, unsafeCSS } from "lit";
|
|
18
|
+
import { customElement, property, state } from "lit/decorators.js";
|
|
19
|
+
import { ifDefined } from "lit/directives/if-defined.js";
|
|
20
|
+
// src/components/select/index.ts
|
|
21
|
+
var _WebUiSelect;
|
|
22
|
+
installPointerFocusSuppression();
|
|
23
|
+
let WebUiSelect = class WebUiSelect extends FormAssociated(LitElement) {
|
|
24
24
|
static {
|
|
25
|
-
|
|
26
|
-
}
|
|
27
|
-
constructor(...
|
|
28
|
-
super(...
|
|
25
|
+
_WebUiSelect = this;
|
|
26
|
+
}
|
|
27
|
+
constructor(..._args) {
|
|
28
|
+
super(..._args);
|
|
29
|
+
this.placeholder = "";
|
|
30
|
+
this.disabled = false;
|
|
31
|
+
this.required = false;
|
|
32
|
+
this.portal = false;
|
|
33
|
+
this.noScrollLock = false;
|
|
34
|
+
this.name = "";
|
|
35
|
+
this.ariaLabel = null;
|
|
36
|
+
this._value = "";
|
|
37
|
+
this._formAssociation = defineFormAssociation({
|
|
29
38
|
host: this,
|
|
30
39
|
initialize: () => {
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
const attrValue = this.getAttribute("value");
|
|
41
|
+
if (attrValue !== null) {
|
|
42
|
+
this._value = attrValue;
|
|
43
|
+
this.toggleAttribute("data-has-value", !!attrValue);
|
|
44
|
+
}
|
|
33
45
|
},
|
|
34
46
|
getState: () => this._value,
|
|
35
|
-
setState: (
|
|
36
|
-
this.value =
|
|
47
|
+
setState: (value) => {
|
|
48
|
+
this.value = value;
|
|
37
49
|
},
|
|
38
50
|
getFormValue: () => this._value,
|
|
39
51
|
getFormState: () => this._value,
|
|
40
|
-
restoreState: (
|
|
41
|
-
typeof
|
|
52
|
+
restoreState: (state) => {
|
|
53
|
+
if (typeof state === "string") this.value = state;
|
|
42
54
|
},
|
|
43
55
|
syncValidity: () => this._syncValidity()
|
|
44
|
-
}).make()
|
|
56
|
+
}).make();
|
|
57
|
+
this._formAssociationController = new FormAssociationController(this, this._formAssociation);
|
|
58
|
+
this._isOpen = false;
|
|
59
|
+
this._activeIndex = -1;
|
|
60
|
+
this._selectedLabel = "";
|
|
61
|
+
this._hasTriggerSlot = false;
|
|
62
|
+
this._typeaheadBuffer = "";
|
|
63
|
+
this._typeaheadLastInputAt = 0;
|
|
64
|
+
this._options = [];
|
|
65
|
+
this._scrollLock = defineScrollLockLease().make();
|
|
66
|
+
this._optionPortal = defineOptionPortal().make({
|
|
45
67
|
element: this,
|
|
46
|
-
idPrefix: `web-ui-select-${++
|
|
68
|
+
idPrefix: `web-ui-select-${++_WebUiSelect._nextInstanceId}`,
|
|
47
69
|
getPortal: () => this._portal,
|
|
48
70
|
getPortalContent: () => this._portalContent,
|
|
49
71
|
isOpen: () => this.portal && this._isOpen,
|
|
50
72
|
getMigratableNodes: () => [...this.querySelectorAll("web-ui-option")],
|
|
51
73
|
hasUpdated: () => this.hasUpdated,
|
|
52
74
|
requestUpdate: () => this.requestUpdate(),
|
|
53
|
-
bindOption: (
|
|
54
|
-
unbindOption: (
|
|
75
|
+
bindOption: (option) => this._bindOption(option),
|
|
76
|
+
unbindOption: (option) => this._unbindOption(option),
|
|
55
77
|
onImmediateSync: () => {
|
|
56
|
-
this._refreshOptions()
|
|
78
|
+
this._refreshOptions();
|
|
79
|
+
this._syncSelected();
|
|
80
|
+
this._syncActiveOption();
|
|
57
81
|
}
|
|
58
|
-
})
|
|
82
|
+
});
|
|
83
|
+
this._overlay = defineOpenOverlay().make({
|
|
59
84
|
requestClose: () => this._close(),
|
|
60
85
|
isConnected: () => this.isConnected
|
|
61
|
-
})
|
|
86
|
+
});
|
|
87
|
+
this._panel = defineAnchoredPanel().make({
|
|
62
88
|
getAnchor: () => this.shadowRoot?.querySelector(".select-trigger") ?? null,
|
|
63
89
|
getLocalPanel: () => this.shadowRoot?.querySelector(".select-overlay") ?? null,
|
|
64
90
|
getPositioning: () => ({
|
|
65
91
|
placement: "bottom-start",
|
|
66
92
|
offset: 4,
|
|
67
|
-
minAnchorWidth:
|
|
93
|
+
minAnchorWidth: true,
|
|
68
94
|
strategy: this.portal ? "fixed" : "absolute"
|
|
69
95
|
}),
|
|
70
96
|
isPortal: () => this.portal,
|
|
71
97
|
createPortal: () => this._createPortal(),
|
|
72
98
|
openOverlay: this._overlay
|
|
73
|
-
})
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
99
|
+
});
|
|
100
|
+
this._onClickOutside = (e) => {
|
|
101
|
+
const isInside = e.composedPath().includes(this) || !!this._panel.getHandle()?.containsEvent(e);
|
|
102
|
+
if (this._isOpen && !isInside) this._close();
|
|
103
|
+
};
|
|
104
|
+
this._onFocusOut = () => {
|
|
105
|
+
handleComboboxFocusOut(this, () => this._panel.getHandle(), () => this._isOpen, () => this._close());
|
|
106
|
+
};
|
|
107
|
+
this._onTriggerSlotChange = (e) => {
|
|
108
|
+
const hasContent = e.target.assignedElements().length > 0;
|
|
109
|
+
if (this._hasTriggerSlot === hasContent) return;
|
|
110
|
+
this._hasTriggerSlot = hasContent;
|
|
111
|
+
this._reconfigureOverlay();
|
|
112
|
+
};
|
|
113
|
+
this._optionListeners = createOptionListenerBinding({
|
|
114
|
+
onClick: (event) => this._handleOptionClick(event),
|
|
115
|
+
onPointerOver: (event) => this._handleOptionPointerOver(event),
|
|
116
|
+
onPointerDown: (event) => this._handleOptionPointerDown(event),
|
|
85
117
|
onUpdate: () => this._onOptionUpdate()
|
|
86
|
-
})
|
|
118
|
+
});
|
|
119
|
+
this._bindOption = (option) => this._optionListeners.bind(option);
|
|
120
|
+
this._unbindOption = (option) => this._optionListeners.unbind(option);
|
|
121
|
+
this._handleOptionClick = (e) => {
|
|
87
122
|
if (!(e.currentTarget instanceof HTMLElement)) return;
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
this.
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
123
|
+
const option = e.currentTarget;
|
|
124
|
+
if (option.disabled || !this._isLive(option)) return;
|
|
125
|
+
this.value = option.value;
|
|
126
|
+
this._close();
|
|
127
|
+
this._notifyValueChange();
|
|
128
|
+
};
|
|
129
|
+
this._onOptionUpdate = () => {
|
|
130
|
+
this._syncSelected();
|
|
131
|
+
this._syncActiveOption();
|
|
132
|
+
};
|
|
133
|
+
this._handleOptionPointerOver = (e) => {
|
|
134
|
+
if (e.pointerType === "touch") return;
|
|
135
|
+
if (!this._isOpen || this._activeIndex < 0 || !(e.currentTarget instanceof HTMLElement)) return;
|
|
136
|
+
this._activeIndex = -1;
|
|
137
|
+
this._resetTypeahead();
|
|
138
|
+
this._syncActiveOption();
|
|
139
|
+
};
|
|
140
|
+
this._handleOptionPointerDown = (e) => {
|
|
95
141
|
e.preventDefault();
|
|
96
|
-
}
|
|
142
|
+
};
|
|
143
|
+
this._onSlotChange = () => {
|
|
97
144
|
this._optionPortal.scheduleRefresh();
|
|
98
|
-
}
|
|
99
|
-
|
|
145
|
+
};
|
|
146
|
+
this._onKeydown = (e) => {
|
|
147
|
+
if (this._isDisabled || e.isComposing) return;
|
|
148
|
+
switch (e.key) {
|
|
100
149
|
case "ArrowDown":
|
|
101
|
-
e.preventDefault()
|
|
150
|
+
e.preventDefault();
|
|
151
|
+
if (!this._isOpen) this._open(true);
|
|
152
|
+
else this._navigateActive(1);
|
|
102
153
|
break;
|
|
103
154
|
case "ArrowUp":
|
|
104
|
-
e.preventDefault()
|
|
155
|
+
e.preventDefault();
|
|
156
|
+
if (!this._isOpen) this._open(true);
|
|
157
|
+
else this._navigateActive(-1);
|
|
105
158
|
break;
|
|
106
159
|
case "Home":
|
|
107
160
|
if (!this._isOpen) break;
|
|
108
|
-
e.preventDefault()
|
|
161
|
+
e.preventDefault();
|
|
162
|
+
this._moveActiveToBoundary(true);
|
|
109
163
|
break;
|
|
110
164
|
case "End":
|
|
111
165
|
if (!this._isOpen) break;
|
|
112
|
-
e.preventDefault()
|
|
166
|
+
e.preventDefault();
|
|
167
|
+
this._moveActiveToBoundary(false);
|
|
113
168
|
break;
|
|
114
169
|
case "Enter":
|
|
115
|
-
|
|
116
|
-
|
|
170
|
+
e.preventDefault();
|
|
171
|
+
if (e.repeat) break;
|
|
172
|
+
if (!this._isOpen) this._open(true);
|
|
173
|
+
else if (this._activeIndex >= 0) this._selectActiveOption();
|
|
117
174
|
break;
|
|
118
175
|
case " ":
|
|
119
176
|
case "Space":
|
|
120
177
|
case "Spacebar":
|
|
121
|
-
|
|
122
|
-
|
|
178
|
+
e.preventDefault();
|
|
179
|
+
if (e.repeat) break;
|
|
180
|
+
if (!this._isOpen) this._open(true);
|
|
181
|
+
else if (this._activeIndex >= 0) this._selectActiveOption();
|
|
123
182
|
break;
|
|
124
|
-
default: this._isOpen && !e.isComposing && !e.ctrlKey && !e.metaKey && !e.altKey && Array.from(e.key).length === 1
|
|
183
|
+
default: if (this._isOpen && !e.isComposing && !e.ctrlKey && !e.metaKey && !e.altKey && Array.from(e.key).length === 1) {
|
|
184
|
+
e.preventDefault();
|
|
185
|
+
this._typeahead(e.key);
|
|
186
|
+
}
|
|
125
187
|
}
|
|
126
|
-
}
|
|
188
|
+
};
|
|
189
|
+
this._openController = createComboboxOpenController({
|
|
127
190
|
canOpen: () => !this._isDisabled,
|
|
128
191
|
getIsOpen: () => this._isOpen,
|
|
129
|
-
setIsOpen: (
|
|
130
|
-
this._isOpen =
|
|
192
|
+
setIsOpen: (open) => {
|
|
193
|
+
this._isOpen = open;
|
|
131
194
|
},
|
|
132
195
|
dispatchOpenChange: () => this._dispatchOpenChange(),
|
|
133
|
-
syncScrollLock: (
|
|
196
|
+
syncScrollLock: (open) => this._syncScrollLock(open),
|
|
134
197
|
isPortal: () => this.portal,
|
|
135
|
-
openOverlay: (
|
|
198
|
+
openOverlay: (isKeyboardNavigation) => this._openOverlay(isKeyboardNavigation),
|
|
136
199
|
closeOverlay: () => void this._closeOverlay(),
|
|
137
|
-
onOpen: (
|
|
138
|
-
this._syncSelected()
|
|
200
|
+
onOpen: (isKeyboardNavigation) => {
|
|
201
|
+
this._syncSelected();
|
|
202
|
+
if (isKeyboardNavigation) this._setInitialActiveOption();
|
|
203
|
+
else this._syncActiveOption();
|
|
139
204
|
},
|
|
140
205
|
onAfterClose: () => {
|
|
141
|
-
this._activeIndex = -1
|
|
206
|
+
this._activeIndex = -1;
|
|
207
|
+
this._options.forEach((o) => o.removeAttribute("active"));
|
|
142
208
|
}
|
|
143
209
|
});
|
|
144
210
|
}
|
|
145
211
|
static {
|
|
146
212
|
this.styles = [
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
213
|
+
unsafeCSS(glass_default),
|
|
214
|
+
unsafeCSS(overlay_motion_default),
|
|
215
|
+
unsafeCSS(scrollbar_default),
|
|
216
|
+
unsafeCSS(style_default)
|
|
151
217
|
];
|
|
152
218
|
}
|
|
153
219
|
get value() {
|
|
154
220
|
return this._value;
|
|
155
221
|
}
|
|
156
|
-
set value(
|
|
157
|
-
|
|
158
|
-
this._value =
|
|
222
|
+
set value(v) {
|
|
223
|
+
const old = this._value;
|
|
224
|
+
this._value = v;
|
|
225
|
+
this._formAssociation.sync();
|
|
226
|
+
this.toggleAttribute("data-has-value", !!v);
|
|
227
|
+
this.requestUpdate("value", old);
|
|
159
228
|
}
|
|
160
229
|
get _isDisabled() {
|
|
161
230
|
return this.disabled || this._formAssociation.isFormDisabled();
|
|
@@ -170,25 +239,47 @@ var A = class extends i(x) {
|
|
|
170
239
|
return this._isOpen;
|
|
171
240
|
}
|
|
172
241
|
connectedCallback() {
|
|
173
|
-
super.connectedCallback()
|
|
242
|
+
super.connectedCallback();
|
|
243
|
+
this._optionPortal.bindHost();
|
|
244
|
+
this.addEventListener("keydown", this._onKeydown);
|
|
245
|
+
this.addEventListener("focusout", this._onFocusOut);
|
|
246
|
+
document.addEventListener("click", this._onClickOutside);
|
|
174
247
|
}
|
|
175
248
|
disconnectedCallback() {
|
|
176
|
-
super.disconnectedCallback()
|
|
249
|
+
super.disconnectedCallback();
|
|
250
|
+
this._optionPortal.dispose();
|
|
251
|
+
this.removeEventListener("keydown", this._onKeydown);
|
|
252
|
+
this.removeEventListener("focusout", this._onFocusOut);
|
|
253
|
+
document.removeEventListener("click", this._onClickOutside);
|
|
254
|
+
this._options.forEach(this._unbindOption);
|
|
255
|
+
this._options = [];
|
|
256
|
+
this._portal = void 0;
|
|
257
|
+
this._portalContent = void 0;
|
|
258
|
+
this._close();
|
|
259
|
+
this._panel.dispose();
|
|
260
|
+
this._scrollLock.release();
|
|
177
261
|
}
|
|
178
262
|
firstUpdated() {
|
|
179
263
|
requestAnimationFrame(() => {
|
|
180
|
-
this.isConnected
|
|
264
|
+
if (this.isConnected) this._optionPortal.scheduleRefresh();
|
|
181
265
|
});
|
|
182
266
|
}
|
|
183
267
|
willUpdate() {
|
|
184
|
-
this._refreshOptions()
|
|
268
|
+
this._refreshOptions();
|
|
269
|
+
this._syncSelected();
|
|
185
270
|
}
|
|
186
|
-
updated(
|
|
187
|
-
(
|
|
271
|
+
updated(changed) {
|
|
272
|
+
if (changed.has("portal") || changed.has("overlayContainer")) requestAnimationFrame(() => this._reconfigureOverlay());
|
|
273
|
+
if (changed.has("noScrollLock")) this._syncScrollLock();
|
|
274
|
+
this._syncOpenAttribute();
|
|
275
|
+
this._syncOverlayInert();
|
|
276
|
+
this._syncValidity();
|
|
188
277
|
}
|
|
189
278
|
_syncValidity() {
|
|
190
|
-
|
|
191
|
-
|
|
279
|
+
const internals = this._formAssociation.getInternals();
|
|
280
|
+
if (!internals || typeof internals.setValidity !== "function") return;
|
|
281
|
+
if (this._isDisabled || !this.required || this.value) internals.setValidity({});
|
|
282
|
+
else internals.setValidity({ valueMissing: true }, "Select an option");
|
|
192
283
|
}
|
|
193
284
|
_syncOpenAttribute() {
|
|
194
285
|
this.toggleAttribute("open", this._isOpen);
|
|
@@ -197,121 +288,171 @@ var A = class extends i(x) {
|
|
|
197
288
|
this._panel.getHandle()?.setInert(this._isDisabled);
|
|
198
289
|
}
|
|
199
290
|
_syncSelected() {
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
291
|
+
this._options.forEach((o) => {
|
|
292
|
+
const selected = this.value !== "" && o.value === this.value;
|
|
293
|
+
o.selected = selected;
|
|
294
|
+
o.setAttribute("role", "option");
|
|
295
|
+
o.setAttribute("aria-selected", String(selected));
|
|
296
|
+
o.setAttribute("aria-disabled", String(o.disabled));
|
|
297
|
+
});
|
|
298
|
+
if (!this.value) {
|
|
204
299
|
this._selectedLabel = this.placeholder;
|
|
205
300
|
return;
|
|
206
301
|
}
|
|
207
|
-
|
|
208
|
-
this._selectedLabel =
|
|
302
|
+
const option = this._options.find((o) => o.value === this.value);
|
|
303
|
+
this._selectedLabel = option?.label || this.placeholder;
|
|
209
304
|
}
|
|
210
305
|
_refreshOptions() {
|
|
211
|
-
|
|
212
|
-
|
|
306
|
+
const activeOption = this._options[this._activeIndex];
|
|
307
|
+
const next = this._optionPortal.refresh(this._options, activeOption);
|
|
308
|
+
this._options = next.options;
|
|
309
|
+
this._activeIndex = next.activeIndex;
|
|
310
|
+
this._optionPortal.ensureOptionIds(this._options);
|
|
213
311
|
}
|
|
214
|
-
_isLive(
|
|
215
|
-
|
|
216
|
-
return
|
|
312
|
+
_isLive(option) {
|
|
313
|
+
const panel = this.portal ? this._panel.getPanel() : null;
|
|
314
|
+
return option.isConnected && (this.contains(option) || !!panel && panel.contains(option));
|
|
217
315
|
}
|
|
218
316
|
_selectActiveOption() {
|
|
219
|
-
|
|
220
|
-
|
|
317
|
+
const option = this._options[this._activeIndex];
|
|
318
|
+
if (option && this._isLive(option) && !option.disabled) {
|
|
319
|
+
this.value = option.value;
|
|
320
|
+
this._notifyValueChange();
|
|
321
|
+
}
|
|
322
|
+
this._close();
|
|
221
323
|
}
|
|
222
|
-
_moveActiveToBoundary(
|
|
324
|
+
_moveActiveToBoundary(toStart) {
|
|
223
325
|
this._resetTypeahead();
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
this.
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
326
|
+
const enabled = this._options.filter((option) => !option.disabled && this._isLive(option));
|
|
327
|
+
const option = toStart ? enabled[0] : enabled.at(-1);
|
|
328
|
+
if (!option) return;
|
|
329
|
+
this._activeIndex = this._options.indexOf(option);
|
|
330
|
+
this._syncActiveOption();
|
|
331
|
+
}
|
|
332
|
+
_typeahead(key) {
|
|
333
|
+
const enabled = this._options.filter((option) => !option.disabled && this._isLive(option));
|
|
334
|
+
if (!enabled.length) return;
|
|
335
|
+
const now = Date.now();
|
|
336
|
+
const withinSequence = now - this._typeaheadLastInputAt <= 500;
|
|
337
|
+
const query = withinSequence && Array.from(this._typeaheadBuffer).length === 1 && this._normalizeTypeaheadText(this._typeaheadBuffer) === this._normalizeTypeaheadText(key) ? key : withinSequence ? `${this._typeaheadBuffer}${key}` : key;
|
|
338
|
+
this._typeaheadBuffer = query;
|
|
339
|
+
this._typeaheadLastInputAt = now;
|
|
340
|
+
const activeOption = this._options[this._activeIndex];
|
|
341
|
+
const activeIndex = activeOption ? enabled.indexOf(activeOption) : -1;
|
|
342
|
+
const findMatch = (prefix) => {
|
|
343
|
+
const normalizedPrefix = this._normalizeTypeaheadText(prefix);
|
|
344
|
+
for (let offset = 1; offset <= enabled.length; offset++) {
|
|
345
|
+
const option = enabled[(activeIndex + offset + enabled.length) % enabled.length];
|
|
346
|
+
if (this._normalizeTypeaheadText(option.label.trimStart()).startsWith(normalizedPrefix)) return option;
|
|
237
347
|
}
|
|
238
|
-
}
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
348
|
+
};
|
|
349
|
+
const queryMatch = (query !== key && activeIndex >= 0 && activeOption && this._normalizeTypeaheadText(activeOption.label.trimStart()).startsWith(this._normalizeTypeaheadText(query)) ? activeOption : void 0) ?? findMatch(query);
|
|
350
|
+
const option = queryMatch ?? (query === key ? void 0 : findMatch(key));
|
|
351
|
+
if (!queryMatch && query !== key) this._typeaheadBuffer = key;
|
|
352
|
+
if (!option) return;
|
|
353
|
+
this._activeIndex = this._options.indexOf(option);
|
|
354
|
+
this._syncActiveOption();
|
|
355
|
+
}
|
|
356
|
+
_normalizeTypeaheadText(value) {
|
|
357
|
+
return value.toLocaleLowerCase().normalize("NFD").replace(/\p{M}/gu, "");
|
|
358
|
+
}
|
|
359
|
+
_navigateActive(delta) {
|
|
245
360
|
this._resetTypeahead();
|
|
246
|
-
|
|
247
|
-
if (!
|
|
248
|
-
|
|
249
|
-
this._activeIndex
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
this.
|
|
361
|
+
const enabled = this._options.filter((o) => !o.disabled && this._isLive(o));
|
|
362
|
+
if (!enabled.length) return;
|
|
363
|
+
const selectedOption = this._options.find((option) => option.value === this.value && !option.disabled && this._isLive(option));
|
|
364
|
+
const currentIdx = this._activeIndex >= 0 && this._isLive(this._options[this._activeIndex]) ? enabled.indexOf(this._options[this._activeIndex]) : selectedOption ? enabled.indexOf(selectedOption) : delta > 0 ? -1 : 0;
|
|
365
|
+
const nextOption = enabled[nextWrappingIndex(enabled.length, currentIdx, delta)];
|
|
366
|
+
this._activeIndex = this._options.indexOf(nextOption);
|
|
367
|
+
this._syncActiveOption();
|
|
368
|
+
}
|
|
369
|
+
_open(isKeyboardNavigation = false) {
|
|
370
|
+
this._resetTypeahead();
|
|
371
|
+
this._openController.open(isKeyboardNavigation);
|
|
253
372
|
}
|
|
254
373
|
_close() {
|
|
255
|
-
this._resetTypeahead()
|
|
374
|
+
this._resetTypeahead();
|
|
375
|
+
this._openController.close();
|
|
256
376
|
}
|
|
257
377
|
_resetTypeahead() {
|
|
258
|
-
this._typeaheadBuffer = ""
|
|
378
|
+
this._typeaheadBuffer = "";
|
|
379
|
+
this._typeaheadLastInputAt = 0;
|
|
259
380
|
}
|
|
260
381
|
_dispatchOpenChange() {
|
|
261
|
-
|
|
382
|
+
dispatchOpenChangeEvent(this, this._isOpen);
|
|
262
383
|
}
|
|
263
384
|
_setInitialActiveOption() {
|
|
264
|
-
|
|
265
|
-
|
|
385
|
+
const selectedIndex = this._options.findIndex((option) => option.value === this.value && !option.disabled && this._isLive(option));
|
|
386
|
+
const firstEnabledIndex = this._options.findIndex((option) => !option.disabled && this._isLive(option));
|
|
387
|
+
this._activeIndex = selectedIndex >= 0 ? selectedIndex : firstEnabledIndex;
|
|
388
|
+
this._syncActiveOption();
|
|
266
389
|
}
|
|
267
390
|
_syncActiveOption() {
|
|
268
|
-
this._options.forEach((
|
|
391
|
+
this._options.forEach((option, index) => option.toggleAttribute("active", index === this._activeIndex && this._isLive(option)));
|
|
269
392
|
}
|
|
270
393
|
_notifyValueChange() {
|
|
271
394
|
this.dispatchEvent(new Event("input", {
|
|
272
|
-
bubbles:
|
|
273
|
-
composed:
|
|
274
|
-
}))
|
|
275
|
-
|
|
276
|
-
|
|
395
|
+
bubbles: true,
|
|
396
|
+
composed: true
|
|
397
|
+
}));
|
|
398
|
+
this.dispatchEvent(new Event("change", {
|
|
399
|
+
bubbles: true,
|
|
400
|
+
composed: true
|
|
277
401
|
}));
|
|
278
402
|
}
|
|
279
|
-
_syncScrollLock(
|
|
280
|
-
this._scrollLock.sync(
|
|
403
|
+
_syncScrollLock(isOpen = this._isOpen) {
|
|
404
|
+
this._scrollLock.sync(isOpen && !this.noScrollLock);
|
|
281
405
|
}
|
|
282
406
|
_togglePopup() {
|
|
283
|
-
|
|
407
|
+
if (this._isDisabled) return;
|
|
408
|
+
if (this._isOpen) this._close();
|
|
409
|
+
else this._open();
|
|
284
410
|
}
|
|
285
|
-
_openOverlay(
|
|
286
|
-
this._panel.open(
|
|
411
|
+
_openOverlay(isKeyboardNavigation = false) {
|
|
412
|
+
this._panel.open(isKeyboardNavigation);
|
|
413
|
+
this._syncOverlayInert();
|
|
287
414
|
}
|
|
288
415
|
_createPortal() {
|
|
289
|
-
|
|
416
|
+
const portal = defineOverlayPortal().make({
|
|
290
417
|
container: this.overlayContainer,
|
|
291
418
|
target: this,
|
|
292
|
-
style: `${
|
|
419
|
+
style: `${glass_default}\n${overlay_motion_default}\n${scrollbar_default}\n${style_default}`,
|
|
293
420
|
className: "wui-glass select-overlay portal wui-floating-panel",
|
|
294
421
|
onContentChange: () => this._optionPortal.scheduleRefresh()
|
|
295
422
|
});
|
|
296
|
-
this._portal =
|
|
423
|
+
this._portal = portal;
|
|
424
|
+
applyOverlayVariables(portal.panel, this, [
|
|
297
425
|
"--wui-overlay-min-width",
|
|
298
426
|
"--wui-select-max-width",
|
|
299
427
|
"--wui-select-max-height"
|
|
300
|
-
])
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
428
|
+
]);
|
|
429
|
+
portal.panel.setAttribute("role", "listbox");
|
|
430
|
+
const scroll = document.createElement("div");
|
|
431
|
+
scroll.className = "select-scroll wui-scroll";
|
|
432
|
+
const content = document.createElement("div");
|
|
433
|
+
content.className = "select-content";
|
|
434
|
+
this._portalContent = content;
|
|
435
|
+
scroll.append(content);
|
|
436
|
+
portal.panel.append(scroll);
|
|
437
|
+
portal.moveContent(Array.from(this.children).filter((child) => child.slot !== "trigger"), content);
|
|
438
|
+
return portal;
|
|
305
439
|
}
|
|
306
440
|
_reconfigureOverlay() {
|
|
307
|
-
this._portal = void 0
|
|
441
|
+
this._portal = void 0;
|
|
442
|
+
this._portalContent = void 0;
|
|
443
|
+
this._panel.reconfigure(this._isOpen);
|
|
444
|
+
this._syncOverlayInert();
|
|
308
445
|
}
|
|
309
446
|
async _closeOverlay() {
|
|
310
|
-
await this._panel.close(() => this._isOpen)
|
|
447
|
+
if (await this._panel.close(() => this._isOpen)) {
|
|
448
|
+
this._portal = void 0;
|
|
449
|
+
this._portalContent = void 0;
|
|
450
|
+
}
|
|
311
451
|
}
|
|
312
452
|
render() {
|
|
313
|
-
|
|
314
|
-
|
|
453
|
+
const listboxId = `${this.localName}-listbox`;
|
|
454
|
+
const activeDescendant = !this.portal && this._isOpen && this._activeIndex >= 0 ? this._options[this._activeIndex]?.id ?? nothing : nothing;
|
|
455
|
+
return html`
|
|
315
456
|
<div class="wui-select-inner">
|
|
316
457
|
<div
|
|
317
458
|
class="wui-glass select-trigger"
|
|
@@ -321,16 +462,16 @@ var A = class extends i(x) {
|
|
|
321
462
|
role="combobox"
|
|
322
463
|
aria-expanded=${this._isOpen}
|
|
323
464
|
aria-haspopup="listbox"
|
|
324
|
-
aria-controls=${this.portal ?
|
|
465
|
+
aria-controls=${this.portal ? nothing : listboxId}
|
|
325
466
|
aria-disabled=${String(this._isDisabled)}
|
|
326
|
-
aria-activedescendant=${
|
|
327
|
-
aria-label=${
|
|
467
|
+
aria-activedescendant=${activeDescendant}
|
|
468
|
+
aria-label=${ifDefined(this.ariaLabel)}
|
|
328
469
|
>
|
|
329
470
|
<slot name="trigger" @slotchange=${this._onTriggerSlotChange}></slot>
|
|
330
|
-
${this._hasTriggerSlot ?
|
|
331
|
-
<web-ui-icon class="arrow" .icon=${
|
|
471
|
+
${!this._hasTriggerSlot ? html`<span class="label">${this._selectedLabel}</span>` : nothing}
|
|
472
|
+
<web-ui-icon class="arrow" .icon=${lucide_chevron_down_default}></web-ui-icon>
|
|
332
473
|
</div>
|
|
333
|
-
<div class="select-overlay wui-floating-panel wui-glass" hidden role="listbox" id=${
|
|
474
|
+
<div class="select-overlay wui-floating-panel wui-glass" hidden role="listbox" id=${listboxId}>
|
|
334
475
|
<div class="select-scroll wui-scroll">
|
|
335
476
|
<div class="select-content">
|
|
336
477
|
<slot @slotchange=${this._onSlotChange}></slot>
|
|
@@ -341,33 +482,46 @@ var A = class extends i(x) {
|
|
|
341
482
|
`;
|
|
342
483
|
}
|
|
343
484
|
};
|
|
344
|
-
|
|
485
|
+
__decorate([property({
|
|
345
486
|
type: String,
|
|
346
|
-
reflect:
|
|
347
|
-
})],
|
|
487
|
+
reflect: true
|
|
488
|
+
})], WebUiSelect.prototype, "placeholder", void 0);
|
|
489
|
+
__decorate([property({
|
|
348
490
|
type: Boolean,
|
|
349
|
-
reflect:
|
|
350
|
-
})],
|
|
491
|
+
reflect: true
|
|
492
|
+
})], WebUiSelect.prototype, "disabled", void 0);
|
|
493
|
+
__decorate([property({
|
|
351
494
|
type: Boolean,
|
|
352
|
-
reflect:
|
|
353
|
-
})],
|
|
495
|
+
reflect: true
|
|
496
|
+
})], WebUiSelect.prototype, "required", void 0);
|
|
497
|
+
__decorate([property({
|
|
354
498
|
type: Boolean,
|
|
355
|
-
reflect:
|
|
356
|
-
})],
|
|
499
|
+
reflect: true
|
|
500
|
+
})], WebUiSelect.prototype, "portal", void 0);
|
|
501
|
+
__decorate([property({
|
|
357
502
|
type: Boolean,
|
|
358
|
-
reflect:
|
|
503
|
+
reflect: true,
|
|
359
504
|
attribute: "no-scroll-lock"
|
|
360
|
-
})],
|
|
505
|
+
})], WebUiSelect.prototype, "noScrollLock", void 0);
|
|
506
|
+
__decorate([property({ attribute: false })], WebUiSelect.prototype, "overlayContainer", void 0);
|
|
507
|
+
__decorate([property({
|
|
361
508
|
type: String,
|
|
362
|
-
reflect:
|
|
363
|
-
})],
|
|
509
|
+
reflect: true
|
|
510
|
+
})], WebUiSelect.prototype, "name", void 0);
|
|
511
|
+
__decorate([property({
|
|
364
512
|
type: String,
|
|
365
513
|
attribute: "aria-label"
|
|
366
|
-
})],
|
|
514
|
+
})], WebUiSelect.prototype, "ariaLabel", void 0);
|
|
515
|
+
__decorate([state()], WebUiSelect.prototype, "_value", void 0);
|
|
516
|
+
__decorate([property({
|
|
367
517
|
type: String,
|
|
368
|
-
reflect:
|
|
369
|
-
})],
|
|
370
|
-
|
|
371
|
-
|
|
518
|
+
reflect: true
|
|
519
|
+
})], WebUiSelect.prototype, "value", null);
|
|
520
|
+
__decorate([state()], WebUiSelect.prototype, "_isOpen", void 0);
|
|
521
|
+
__decorate([state()], WebUiSelect.prototype, "_activeIndex", void 0);
|
|
522
|
+
__decorate([state()], WebUiSelect.prototype, "_selectedLabel", void 0);
|
|
523
|
+
__decorate([state()], WebUiSelect.prototype, "_hasTriggerSlot", void 0);
|
|
524
|
+
WebUiSelect = _WebUiSelect = __decorate([customElement("web-ui-select")], WebUiSelect);
|
|
525
|
+
export { WebUiSelect };
|
|
372
526
|
|
|
373
527
|
//# sourceMappingURL=index.js.map
|