@pathscale/ui 1.2.6 → 1.2.8
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/LICENSE +22 -22
- package/README.md +59 -59
- package/dist/components/_shared/index.js +1 -3
- package/dist/components/_shared/overlayPosition.js +6 -6
- package/dist/components/accordion/Accordion.css +158 -158
- package/dist/components/accordion/Accordion.js +46 -45
- package/dist/components/accordion/index.js +3 -9
- package/dist/components/alert/Alert.css +116 -116
- package/dist/components/alert/Alert.js +34 -33
- package/dist/components/alert/index.js +1 -8
- package/dist/components/auth-card/AuthCard.js +21 -21
- package/dist/components/auth-card/index.js +1 -3
- package/dist/components/auth-error-message/AuthErrorMessage.js +10 -10
- package/dist/components/auth-error-message/index.js +1 -3
- package/dist/components/auth-field-group/AuthFieldGroup.js +9 -9
- package/dist/components/auth-field-group/index.js +1 -3
- package/dist/components/auth-footer-links/AuthFooterLinks.js +21 -21
- package/dist/components/auth-footer-links/index.js +1 -3
- package/dist/components/auth-form/AuthForm.js +11 -11
- package/dist/components/auth-form/index.js +1 -3
- package/dist/components/auth-powered-by/AuthPoweredBy.js +15 -15
- package/dist/components/auth-powered-by/index.js +1 -3
- package/dist/components/auth-submit-button/AuthSubmitButton.js +10 -10
- package/dist/components/auth-submit-button/index.js +1 -3
- package/dist/components/auth-success-message/AuthSuccessMessage.js +12 -12
- package/dist/components/auth-success-message/index.js +1 -3
- package/dist/components/avatar/Avatar.css +124 -124
- package/dist/components/avatar/Avatar.js +28 -27
- package/dist/components/avatar/AvatarGroup.js +11 -11
- package/dist/components/avatar/index.js +1 -6
- package/dist/components/badge/Badge.css +164 -164
- package/dist/components/badge/Badge.js +19 -19
- package/dist/components/badge/index.js +7 -9
- package/dist/components/breadcrumbs/Breadcrumbs.css +63 -63
- package/dist/components/breadcrumbs/Breadcrumbs.js +27 -26
- package/dist/components/breadcrumbs/index.js +1 -5
- package/dist/components/button/Button.css +194 -194
- package/dist/components/button/Button.js +23 -23
- package/dist/components/button/index.js +1 -3
- package/dist/components/button-group/ButtonGroup.css +117 -117
- package/dist/components/button-group/ButtonGroup.js +16 -15
- package/dist/components/button-group/context.js +2 -2
- package/dist/components/button-group/index.js +3 -6
- package/dist/components/calendar/Calendar.css +258 -258
- package/dist/components/calendar/Calendar.js +88 -88
- package/dist/components/calendar/index.js +1 -3
- package/dist/components/card/Card.css +110 -110
- package/dist/components/card/Card.js +23 -22
- package/dist/components/card/index.js +3 -8
- package/dist/components/chatbubble/ChatBubble.css +164 -164
- package/dist/components/chatbubble/ChatBubble.js +20 -20
- package/dist/components/chatbubble/ChatBubbleAvatar.js +9 -9
- package/dist/components/chatbubble/ChatBubbleFooter.js +9 -9
- package/dist/components/chatbubble/ChatBubbleHeader.js +11 -11
- package/dist/components/chatbubble/ChatBubbleMessage.js +12 -12
- package/dist/components/chatbubble/ChatBubbleTime.js +9 -9
- package/dist/components/chatbubble/index.js +1 -3
- package/dist/components/checkbox/Checkbox.css +183 -183
- package/dist/components/checkbox/Checkbox.js +32 -32
- package/dist/components/checkbox/index.js +1 -3
- package/dist/components/checkbox-group/CheckboxGroup.css +10 -10
- package/dist/components/checkbox-group/CheckboxGroup.js +14 -14
- package/dist/components/checkbox-group/context.js +2 -2
- package/dist/components/checkbox-group/index.js +4 -4
- package/dist/components/chip/Chip.css +197 -197
- package/dist/components/chip/Chip.js +32 -32
- package/dist/components/chip/index.js +6 -7
- package/dist/components/close-button/CloseButton.css +81 -81
- package/dist/components/close-button/CloseButton.js +22 -22
- package/dist/components/close-button/index.js +1 -3
- package/dist/components/color-area/ColorArea.css +54 -54
- package/dist/components/color-area/ColorArea.js +16 -16
- package/dist/components/color-area/index.js +3 -3
- package/dist/components/color-field/ColorField.css +88 -88
- package/dist/components/color-field/ColorField.js +21 -21
- package/dist/components/color-field/index.js +3 -3
- package/dist/components/color-picker/ColorPicker.css +28 -28
- package/dist/components/color-picker/ColorPicker.js +46 -45
- package/dist/components/color-picker/index.js +3 -8
- package/dist/components/color-slider/ColorSlider.css +57 -57
- package/dist/components/color-slider/ColorSlider.js +19 -19
- package/dist/components/color-slider/index.js +3 -3
- package/dist/components/color-swatch/ColorSwatch.css +84 -84
- package/dist/components/color-swatch/ColorSwatch.js +12 -12
- package/dist/components/color-swatch/index.js +3 -3
- package/dist/components/color-swatch-picker/ColorSwatchPicker.css +12 -12
- package/dist/components/color-swatch-picker/ColorSwatchPicker.js +16 -15
- package/dist/components/color-swatch-picker/index.js +1 -5
- package/dist/components/color-wheel-flower/ColorWheelFlower.css +147 -147
- package/dist/components/color-wheel-flower/ColorWheelFlower.js +84 -84
- package/dist/components/color-wheel-flower/colorWheelFlowerContext.js +3 -3
- package/dist/components/color-wheel-flower/index.js +2 -6
- package/dist/components/combo-box/ComboBox.css +344 -344
- package/dist/components/combo-box/ComboBox.js +92 -91
- package/dist/components/combo-box/index.js +3 -10
- package/dist/components/date-field/DateField.css +215 -215
- package/dist/components/date-field/DateField.js +45 -44
- package/dist/components/date-field/index.js +3 -11
- package/dist/components/date-picker/DatePicker.css +143 -143
- package/dist/components/date-picker/DatePicker.js +38 -38
- package/dist/components/date-picker/index.js +1 -3
- package/dist/components/date-range-picker/DateRangePicker.css +149 -149
- package/dist/components/date-range-picker/DateRangePicker.js +53 -53
- package/dist/components/date-range-picker/index.js +1 -3
- package/dist/components/description/Description.css +10 -10
- package/dist/components/description/Description.js +11 -10
- package/dist/components/description/index.js +3 -5
- package/dist/components/disclosure/Disclosure.css +84 -84
- package/dist/components/disclosure/Disclosure.js +44 -43
- package/dist/components/disclosure/index.js +4 -9
- package/dist/components/disclosure-group/DisclosureGroup.css +9 -9
- package/dist/components/disclosure-group/DisclosureGroup.js +15 -14
- package/dist/components/disclosure-group/index.js +5 -6
- package/dist/components/disclosure-group/useDisclosureGroupNavigation.js +4 -4
- package/dist/components/drawer/Drawer.context.js +3 -3
- package/dist/components/drawer/Drawer.css +463 -463
- package/dist/components/drawer/Drawer.js +109 -108
- package/dist/components/drawer/index.js +1 -15
- package/dist/components/dropdown/Dropdown.css +211 -211
- package/dist/components/dropdown/Dropdown.js +68 -67
- package/dist/components/dropdown/index.js +3 -4
- package/dist/components/empty-state/EmptyState.css +39 -39
- package/dist/components/empty-state/EmptyState.js +27 -26
- package/dist/components/empty-state/index.js +1 -8
- package/dist/components/error-message/ErrorMessage.css +20 -20
- package/dist/components/error-message/ErrorMessage.js +13 -12
- package/dist/components/error-message/index.js +1 -5
- package/dist/components/field-error/FieldError.css +27 -27
- package/dist/components/field-error/FieldError.js +18 -17
- package/dist/components/field-error/index.js +1 -5
- package/dist/components/fieldset/Fieldset.css +30 -30
- package/dist/components/fieldset/Fieldset.js +23 -22
- package/dist/components/fieldset/index.js +3 -8
- package/dist/components/flex/Flex.css +5 -5
- package/dist/components/flex/Flex.js +14 -14
- package/dist/components/flex/index.js +1 -3
- package/dist/components/floating-dock/FloatingDock.css +208 -208
- package/dist/components/floating-dock/FloatingDock.js +78 -78
- package/dist/components/floating-dock/index.js +1 -3
- package/dist/components/footer/Footer.js +12 -12
- package/dist/components/footer/FooterTitle.js +9 -9
- package/dist/components/footer/footer.css +51 -51
- package/dist/components/footer/index.js +1 -3
- package/dist/components/form/FieldErrorMessage.js +10 -9
- package/dist/components/form/Form.css +5 -5
- package/dist/components/form/Form.js +18 -17
- package/dist/components/form/FormField.js +21 -20
- package/dist/components/form/FormSubmitButton.js +12 -11
- package/dist/components/form/index.js +6 -12
- package/dist/components/glass-panel/GlassPanel.classes.d.ts +3 -0
- package/dist/components/glass-panel/GlassPanel.classes.js +3 -0
- package/dist/components/glass-panel/GlassPanel.css +359 -282
- package/dist/components/glass-panel/GlassPanel.d.ts +3 -0
- package/dist/components/glass-panel/GlassPanel.js +30 -27
- package/dist/components/glass-panel/index.js +1 -3
- package/dist/components/glow-card/GlowCard.css +100 -100
- package/dist/components/glow-card/GlowCard.js +11 -11
- package/dist/components/glow-card/index.js +1 -3
- package/dist/components/grid/Grid.css +5 -5
- package/dist/components/grid/Grid.js +15 -15
- package/dist/components/grid/index.js +1 -3
- package/dist/components/header/Header.css +13 -13
- package/dist/components/header/Header.js +11 -10
- package/dist/components/header/index.js +3 -5
- package/dist/components/icon/Icon.css +10 -10
- package/dist/components/icon/Icon.js +9 -9
- package/dist/components/icon/index.js +1 -3
- package/dist/components/immersive-landing/ImmersiveLanding.css +565 -565
- package/dist/components/immersive-landing/ImmersiveLanding.js +45 -45
- package/dist/components/immersive-landing/ImmersiveLandingArrows.js +18 -18
- package/dist/components/immersive-landing/ImmersiveLandingContext.js +3 -3
- package/dist/components/immersive-landing/ImmersiveLandingNavigation.js +34 -34
- package/dist/components/immersive-landing/ImmersiveLandingPage.js +16 -16
- package/dist/components/immersive-landing/components/CookieConsent.js +71 -71
- package/dist/components/immersive-landing/components/FirefoxPWABanner.js +42 -42
- package/dist/components/immersive-landing/components/PWAInstallPrompt.js +40 -40
- package/dist/components/immersive-landing/index.js +6 -14
- package/dist/components/immersive-landing/useImmersiveLanding.js +8 -8
- package/dist/components/input/Input.css +155 -155
- package/dist/components/input/Input.js +46 -46
- package/dist/components/input/index.js +3 -3
- package/dist/components/input-group/InputGroup.css +172 -172
- package/dist/components/input-group/InputGroup.js +32 -31
- package/dist/components/input-group/index.js +3 -9
- package/dist/components/input-otp/InputOTP.css +170 -170
- package/dist/components/input-otp/InputOTP.js +52 -51
- package/dist/components/input-otp/index.js +1 -11
- package/dist/components/join/Join.js +15 -15
- package/dist/components/join/index.js +1 -3
- package/dist/components/kbd/Kbd.css +60 -60
- package/dist/components/kbd/Kbd.js +39 -38
- package/dist/components/kbd/index.js +1 -8
- package/dist/components/label/Label.css +30 -30
- package/dist/components/label/Label.js +11 -10
- package/dist/components/label/index.js +3 -5
- package/dist/components/language-switcher/LanguageSwitcher.css +56 -56
- package/dist/components/language-switcher/LanguageSwitcher.js +24 -24
- package/dist/components/language-switcher/createI18n.js +10 -10
- package/dist/components/language-switcher/index.js +2 -8
- package/dist/components/link/Link.css +131 -131
- package/dist/components/link/Link.js +21 -20
- package/dist/components/link/index.js +1 -5
- package/dist/components/list-box/ListBox.css +148 -148
- package/dist/components/list-box/ListBox.js +19 -18
- package/dist/components/list-box/ListBoxItem.js +31 -30
- package/dist/components/list-box/ListBoxSection.js +15 -14
- package/dist/components/list-box/context.js +2 -2
- package/dist/components/list-box/index.js +11 -16
- package/dist/components/live-chat/LiveChat.css +324 -324
- package/dist/components/live-chat/LiveChatBubble.js +28 -28
- package/dist/components/live-chat/LiveChatPanel.js +67 -67
- package/dist/components/live-chat/index.js +2 -5
- package/dist/components/menu/Menu.css +199 -199
- package/dist/components/menu/Menu.js +24 -28
- package/dist/components/menu/MenuItem.js +37 -36
- package/dist/components/menu/MenuSection.js +15 -14
- package/dist/components/menu/context.js +2 -2
- package/dist/components/menu/index.js +4 -12
- package/dist/components/meter/Meter.css +89 -89
- package/dist/components/meter/Meter.js +35 -34
- package/dist/components/meter/index.js +1 -8
- package/dist/components/modal/Modal.css +320 -320
- package/dist/components/modal/Modal.js +79 -78
- package/dist/components/modal/index.js +1 -13
- package/dist/components/navbar/Navbar.classes.d.ts +9 -0
- package/dist/components/navbar/Navbar.classes.js +9 -0
- package/dist/components/navbar/Navbar.css +110 -110
- package/dist/components/navbar/Navbar.js +16 -16
- package/dist/components/navbar/NavbarRow.js +11 -11
- package/dist/components/navbar/NavbarSection.js +10 -10
- package/dist/components/navbar/NavbarStack.js +11 -11
- package/dist/components/navbar/index.js +1 -3
- package/dist/components/noise-background/NoiseBackground.css +66 -66
- package/dist/components/noise-background/NoiseBackground.js +33 -33
- package/dist/components/noise-background/index.js +1 -3
- package/dist/components/number-field/NumberField.css +198 -198
- package/dist/components/number-field/NumberField.js +43 -42
- package/dist/components/number-field/index.js +1 -9
- package/dist/components/pagination/Pagination.css +121 -121
- package/dist/components/pagination/Pagination.js +32 -32
- package/dist/components/pagination/index.js +1 -3
- package/dist/components/password-field/PasswordField.js +18 -17
- package/dist/components/password-field/index.js +1 -3
- package/dist/components/password-requirements/PasswordRequirements.js +22 -22
- package/dist/components/password-requirements/index.js +1 -3
- package/dist/components/password-rules/index.js +1 -4
- package/dist/components/popover/Popover.css +117 -117
- package/dist/components/popover/Popover.js +52 -51
- package/dist/components/popover/index.js +4 -9
- package/dist/components/progress-bar/ProgressBar.css +104 -104
- package/dist/components/progress-bar/ProgressBar.js +28 -28
- package/dist/components/progress-bar/index.js +1 -3
- package/dist/components/progress-circle/ProgressCircle.css +82 -82
- package/dist/components/progress-circle/ProgressCircle.js +30 -30
- package/dist/components/progress-circle/index.js +1 -3
- package/dist/components/radio/Radio.css +129 -129
- package/dist/components/radio/Radio.js +28 -28
- package/dist/components/radio/index.js +1 -3
- package/dist/components/radio-group/RadioGroup.css +58 -58
- package/dist/components/radio-group/RadioGroup.js +31 -31
- package/dist/components/radio-group/context.js +2 -2
- package/dist/components/radio-group/index.js +4 -4
- package/dist/components/range-calendar/RangeCalendar.css +51 -51
- package/dist/components/range-calendar/RangeCalendar.js +18 -18
- package/dist/components/range-calendar/index.js +1 -3
- package/dist/components/scroll-shadow/ScrollShadow.css +93 -93
- package/dist/components/scroll-shadow/ScrollShadow.js +17 -17
- package/dist/components/scroll-shadow/index.js +1 -3
- package/dist/components/scroll-shadow/useScrollShadow.js +4 -4
- package/dist/components/search-field/SearchField.css +183 -183
- package/dist/components/search-field/SearchField.js +42 -41
- package/dist/components/search-field/index.js +1 -9
- package/dist/components/select/Select.css +284 -284
- package/dist/components/select/Select.js +130 -130
- package/dist/components/select/index.js +1 -3
- package/dist/components/separator/Separator.css +35 -35
- package/dist/components/separator/Separator.js +12 -11
- package/dist/components/separator/index.js +1 -4
- package/dist/components/size-picker/SizePicker.js +17 -17
- package/dist/components/size-picker/index.js +2 -6
- package/dist/components/size-picker/sizeStore.js +5 -5
- package/dist/components/skeleton/Skeleton.css +95 -95
- package/dist/components/skeleton/Skeleton.js +9 -9
- package/dist/components/skeleton/index.js +1 -3
- package/dist/components/slider/Slider.css +122 -122
- package/dist/components/slider/Slider.js +27 -27
- package/dist/components/slider/index.js +1 -3
- package/dist/components/spinner/Spinner.css +131 -131
- package/dist/components/spinner/Spinner.js +17 -17
- package/dist/components/spinner/index.js +1 -5
- package/dist/components/surface/Surface.css +37 -37
- package/dist/components/surface/Surface.js +11 -10
- package/dist/components/surface/index.js +1 -4
- package/dist/components/table/ExpandToggle.js +14 -14
- package/dist/components/table/InlineConfirm.js +12 -12
- package/dist/components/table/MobileListView.js +24 -24
- package/dist/components/table/SortIcon.js +11 -11
- package/dist/components/table/Table.css +426 -426
- package/dist/components/table/Table.js +82 -81
- package/dist/components/table/VirtualSpacerRow.js +9 -9
- package/dist/components/table/index.js +7 -38
- package/dist/components/tabs/Tabs.css +203 -203
- package/dist/components/tabs/Tabs.js +62 -61
- package/dist/components/tabs/index.js +1 -4
- package/dist/components/tag/Tag.css +121 -121
- package/dist/components/tag/Tag.js +41 -40
- package/dist/components/tag/index.js +3 -6
- package/dist/components/tag-group/TagGroup.css +22 -22
- package/dist/components/tag-group/TagGroup.js +24 -23
- package/dist/components/tag-group/context.js +2 -2
- package/dist/components/tag-group/index.js +1 -6
- package/dist/components/text/Text.css +66 -66
- package/dist/components/text/Text.js +11 -10
- package/dist/components/text/index.js +1 -5
- package/dist/components/text-area/TextArea.css +95 -95
- package/dist/components/text-area/TextArea.js +14 -13
- package/dist/components/text-area/index.js +1 -5
- package/dist/components/text-field/TextField.css +33 -33
- package/dist/components/text-field/TextField.js +14 -13
- package/dist/components/text-field/index.js +3 -7
- package/dist/components/textarea/Textarea.js +10 -11
- package/dist/components/textarea/index.js +1 -6
- package/dist/components/theme-color-picker/ThemeColorPicker.js +52 -52
- package/dist/components/theme-color-picker/hueShift.js +8 -8
- package/dist/components/theme-color-picker/index.js +2 -7
- package/dist/components/time-field/TimeField.css +215 -215
- package/dist/components/time-field/TimeField.js +43 -42
- package/dist/components/time-field/index.js +3 -11
- package/dist/components/toast/Toast.css +344 -344
- package/dist/components/toast/Toast.js +101 -100
- package/dist/components/toast/index.js +1 -19
- package/dist/components/toggle/Toggle.css +237 -237
- package/dist/components/toggle/Toggle.js +31 -31
- package/dist/components/toggle/index.js +1 -3
- package/dist/components/toolbar/Toolbar.css +55 -55
- package/dist/components/toolbar/Toolbar.js +12 -11
- package/dist/components/toolbar/index.js +1 -5
- package/dist/components/tooltip/Tooltip.css +153 -153
- package/dist/components/tooltip/Tooltip.js +40 -39
- package/dist/components/tooltip/index.js +1 -7
- package/dist/components/utils.js +6 -7
- package/dist/components/video-preview/VideoPreview.js +14 -13
- package/dist/components/video-preview/index.js +1 -3
- package/dist/hooks/date/useCalendarNavigation.js +18 -18
- package/dist/hooks/date/useCalendarState.js +19 -19
- package/dist/hooks/date/useDateSelection.js +7 -7
- package/dist/hooks/date/usePickerOpenState.js +8 -8
- package/dist/hooks/date/useRangeSelection.js +16 -16
- package/dist/hooks/form/FormContext.js +3 -3
- package/dist/hooks/form/createForm.js +4 -4
- package/dist/hooks/form/index.js +4 -10
- package/dist/hooks/form/useFieldNew.js +10 -10
- package/dist/hooks/layout/index.js +1 -3
- package/dist/hooks/layout/useDesktop.js +4 -4
- package/dist/hooks/table/index.js +8 -18
- package/dist/hooks/table/useAnchoredOverlayPosition.js +5 -5
- package/dist/hooks/table/useTableExpansion.js +4 -4
- package/dist/hooks/table/useTableFiltering.js +8 -8
- package/dist/hooks/table/useTableModel.js +10 -10
- package/dist/hooks/table/useTablePagination.js +4 -4
- package/dist/hooks/table/useTableSelection.js +4 -4
- package/dist/hooks/table/useTableSorting.js +6 -6
- package/dist/index.css +74 -74
- package/dist/index.js +108 -398
- package/dist/lib/refs/index.js +1 -3
- package/dist/lib/refs/mergeRefs.js +2 -2
- package/dist/lib/style/index.js +1 -4
- package/dist/lib/tag/createIsButton.js +4 -4
- package/dist/lib/tag/createTagName.js +2 -2
- package/dist/lib/tag/index.js +2 -7
- package/dist/motion/engine.js +4 -4
- package/dist/motion/index.js +10 -39
- package/dist/motion/popmotion.js +2 -2
- package/dist/motion/presets.js +4 -4
- package/dist/motion/route.js +7 -7
- package/dist/motion/solid/AnimatedCollapse.js +27 -26
- package/dist/motion/solid/MotionDiv.js +17 -16
- package/dist/motion/solid/Presence.js +13 -12
- package/dist/motion/solid/index.js +3 -10
- package/dist/motion/system.js +9 -9
- package/dist/primitives/streaming/index.js +2 -5
- package/dist/primitives/streaming/useStreamingBuffer.js +2 -2
- package/dist/primitives/streaming/useStreamingSubscription.js +7 -7
- package/dist/primitives/virtualizer/index.js +1 -3
- package/dist/primitives/virtualizer/useVirtualRows.js +7 -7
- package/dist/purge-manifest.json +15350 -15141
- package/dist/styles/base/index.css +43 -43
- package/dist/styles/icons/generated-icons.css +1 -173
- package/dist/styles/themes/dark.css +141 -141
- package/dist/styles/themes/light.css +143 -143
- package/package.json +31 -31
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { createComponent, insert, mergeProps, spread, template } from "solid-js/web";
|
|
2
2
|
import "./ListBox.css";
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
7
|
-
var _tmpl$ = /*#__PURE__*/
|
|
3
|
+
import { For, createMemo, createSignal, splitProps } from "solid-js";
|
|
4
|
+
import { twMerge } from "tailwind-merge";
|
|
5
|
+
import { CLASSES } from "./ListBox.classes.js";
|
|
6
|
+
import { ListBoxContext } from "./context.js";
|
|
7
|
+
var _tmpl$ = /*#__PURE__*/ template("<div>");
|
|
8
8
|
const normalizeKeys = (keys)=>{
|
|
9
9
|
if (!keys) return new Set();
|
|
10
10
|
return new Set(Array.from(keys, (key)=>String(key)));
|
|
@@ -23,7 +23,7 @@ const invokeEventHandler = (handler, event)=>{
|
|
|
23
23
|
if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
|
|
24
24
|
};
|
|
25
25
|
const ListBoxRoot = (props)=>{
|
|
26
|
-
const [local, others] =
|
|
26
|
+
const [local, others] = splitProps(props, [
|
|
27
27
|
"children",
|
|
28
28
|
"class",
|
|
29
29
|
"className",
|
|
@@ -44,15 +44,15 @@ const ListBoxRoot = (props)=>{
|
|
|
44
44
|
"role",
|
|
45
45
|
"onKeyDown"
|
|
46
46
|
]);
|
|
47
|
-
const [internalSelectedKeys, setInternalSelectedKeys] =
|
|
48
|
-
const [focusedKey, setFocusedKey] =
|
|
49
|
-
const [registeredItems, setRegisteredItems] =
|
|
47
|
+
const [internalSelectedKeys, setInternalSelectedKeys] = createSignal(normalizeKeys(local.defaultSelectedKeys));
|
|
48
|
+
const [focusedKey, setFocusedKey] = createSignal();
|
|
49
|
+
const [registeredItems, setRegisteredItems] = createSignal([]);
|
|
50
50
|
const variant = ()=>local.variant ?? "default";
|
|
51
51
|
const selectionMode = ()=>local.selectionMode ?? "none";
|
|
52
52
|
const isControlled = ()=>void 0 !== local.selectedKeys;
|
|
53
53
|
const isDisabled = ()=>Boolean(local.isDisabled) || Boolean(local.disabled);
|
|
54
|
-
const selectedKeys =
|
|
55
|
-
const disabledKeys =
|
|
54
|
+
const selectedKeys = createMemo(()=>isControlled() ? normalizeKeys(local.selectedKeys) : internalSelectedKeys());
|
|
55
|
+
const disabledKeys = createMemo(()=>normalizeKeys(local.disabledKeys));
|
|
56
56
|
const getEnabledItems = ()=>registeredItems().filter((item)=>!item.disabled && !disabledKeys().has(item.key) && !isDisabled());
|
|
57
57
|
const focusItem = (item)=>{
|
|
58
58
|
if (!item) return;
|
|
@@ -154,7 +154,7 @@ const ListBoxRoot = (props)=>{
|
|
|
154
154
|
if (0 === local.items.length) return local.renderEmptyState?.() ?? null;
|
|
155
155
|
if (isItemRenderer) {
|
|
156
156
|
const renderItem = local.children;
|
|
157
|
-
return
|
|
157
|
+
return createComponent(For, {
|
|
158
158
|
get each () {
|
|
159
159
|
return local.items;
|
|
160
160
|
},
|
|
@@ -164,7 +164,7 @@ const ListBoxRoot = (props)=>{
|
|
|
164
164
|
}
|
|
165
165
|
return resolvedStaticChildren;
|
|
166
166
|
};
|
|
167
|
-
return
|
|
167
|
+
return createComponent(ListBoxContext.Provider, {
|
|
168
168
|
value: {
|
|
169
169
|
variant,
|
|
170
170
|
selectionMode,
|
|
@@ -184,7 +184,7 @@ const ListBoxRoot = (props)=>{
|
|
|
184
184
|
},
|
|
185
185
|
get children () {
|
|
186
186
|
var _el$ = _tmpl$();
|
|
187
|
-
|
|
187
|
+
spread(_el$, mergeProps(others, {
|
|
188
188
|
get role () {
|
|
189
189
|
return local.role ?? "listbox";
|
|
190
190
|
},
|
|
@@ -205,17 +205,18 @@ const ListBoxRoot = (props)=>{
|
|
|
205
205
|
return isDisabled() ? "true" : "false";
|
|
206
206
|
},
|
|
207
207
|
get ["class"] () {
|
|
208
|
-
return
|
|
208
|
+
return twMerge(CLASSES.Root.base, CLASSES.Root.variant[variant()], local.class, local.className);
|
|
209
209
|
},
|
|
210
210
|
get style () {
|
|
211
211
|
return local.style;
|
|
212
212
|
},
|
|
213
213
|
onKeyDown: handleKeyDown
|
|
214
214
|
}), false, true);
|
|
215
|
-
|
|
215
|
+
insert(_el$, renderChildren);
|
|
216
216
|
return _el$;
|
|
217
217
|
}
|
|
218
218
|
});
|
|
219
219
|
};
|
|
220
220
|
const ListBox = ListBoxRoot;
|
|
221
|
-
export
|
|
221
|
+
export default ListBox;
|
|
222
|
+
export { ListBoxRoot };
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
var _tmpl$ = /*#__PURE__*/
|
|
1
|
+
import { createComponent, effect, insert, memo, mergeProps, setAttribute, spread, template, use } from "solid-js/web";
|
|
2
|
+
import { createContext, createEffect, createMemo, createUniqueId, onCleanup, splitProps, useContext } from "solid-js";
|
|
3
|
+
import { twMerge } from "tailwind-merge";
|
|
4
|
+
import { ListBoxContext } from "./context.js";
|
|
5
|
+
import { CLASSES } from "./ListBox.classes.js";
|
|
6
|
+
var _tmpl$ = /*#__PURE__*/ template("<div>"), _tmpl$2 = /*#__PURE__*/ template("<span>"), _tmpl$3 = /*#__PURE__*/ template('<svg aria-hidden=true data-slot=listbox-item-indicator--checkmark fill=none role=presentation stroke=currentColor stroke-dasharray=22 stroke-linecap=round stroke-linejoin=round stroke-width=2 viewBox="0 0 17 18"><polyline points="1 9 7 14 15 4">');
|
|
7
7
|
const invokeEventHandler = (handler, event)=>{
|
|
8
8
|
if ("function" == typeof handler) return void handler(event);
|
|
9
9
|
if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
|
|
@@ -15,11 +15,11 @@ const extractTextValue = (nodes)=>{
|
|
|
15
15
|
if ("number" == typeof node) return String(node);
|
|
16
16
|
}
|
|
17
17
|
};
|
|
18
|
-
const ListBoxItemContext =
|
|
18
|
+
const ListBoxItemContext = createContext();
|
|
19
19
|
const ListBoxItemRoot = (props)=>{
|
|
20
|
-
const listBox =
|
|
21
|
-
const fallbackKey =
|
|
22
|
-
const [local, others] =
|
|
20
|
+
const listBox = useContext(ListBoxContext);
|
|
21
|
+
const fallbackKey = createUniqueId();
|
|
22
|
+
const [local, others] = splitProps(props, [
|
|
23
23
|
"children",
|
|
24
24
|
"class",
|
|
25
25
|
"className",
|
|
@@ -39,7 +39,7 @@ const ListBoxItemRoot = (props)=>{
|
|
|
39
39
|
"role"
|
|
40
40
|
]);
|
|
41
41
|
let itemRef;
|
|
42
|
-
const key =
|
|
42
|
+
const key = createMemo(()=>{
|
|
43
43
|
if (null != local.id) return String(local.id);
|
|
44
44
|
if (local.textValue) return toSlug(local.textValue);
|
|
45
45
|
const staticChildren = "function" == typeof local.children ? [] : [
|
|
@@ -54,7 +54,7 @@ const ListBoxItemRoot = (props)=>{
|
|
|
54
54
|
const isSelected = ()=>listBox?.isSelected(key()) ?? false;
|
|
55
55
|
const isFocused = ()=>listBox?.focusedKey() === key();
|
|
56
56
|
const isDisabled = ()=>listBox?.isItemDisabled(key(), Boolean(local.isDisabled) || Boolean(local.disabled)) ?? (Boolean(local.isDisabled) || Boolean(local.disabled));
|
|
57
|
-
const renderState =
|
|
57
|
+
const renderState = createMemo(()=>({
|
|
58
58
|
isSelected: isSelected(),
|
|
59
59
|
isFocused: isFocused(),
|
|
60
60
|
isDisabled: isDisabled()
|
|
@@ -107,7 +107,7 @@ const ListBoxItemRoot = (props)=>{
|
|
|
107
107
|
if (event.defaultPrevented) return;
|
|
108
108
|
if (listBox?.focusedKey() === key()) listBox.setFocusedKey(void 0);
|
|
109
109
|
};
|
|
110
|
-
|
|
110
|
+
createEffect(()=>{
|
|
111
111
|
if (!listBox || !itemRef) return;
|
|
112
112
|
listBox.registerItem({
|
|
113
113
|
key: key(),
|
|
@@ -115,21 +115,21 @@ const ListBoxItemRoot = (props)=>{
|
|
|
115
115
|
ref: itemRef
|
|
116
116
|
});
|
|
117
117
|
});
|
|
118
|
-
|
|
118
|
+
onCleanup(()=>{
|
|
119
119
|
if (!listBox) return;
|
|
120
120
|
listBox.unregisterItem(key());
|
|
121
121
|
});
|
|
122
|
-
return
|
|
122
|
+
return createComponent(ListBoxItemContext.Provider, {
|
|
123
123
|
value: {
|
|
124
124
|
renderState
|
|
125
125
|
},
|
|
126
126
|
get children () {
|
|
127
127
|
var _el$ = _tmpl$();
|
|
128
|
-
|
|
128
|
+
use((node)=>{
|
|
129
129
|
itemRef = node;
|
|
130
130
|
if ("function" == typeof local.ref) local.ref(node);
|
|
131
131
|
}, _el$);
|
|
132
|
-
|
|
132
|
+
spread(_el$, mergeProps(others, {
|
|
133
133
|
get role () {
|
|
134
134
|
return local.role ?? "option";
|
|
135
135
|
},
|
|
@@ -137,7 +137,7 @@ const ListBoxItemRoot = (props)=>{
|
|
|
137
137
|
return resolvedTabIndex();
|
|
138
138
|
},
|
|
139
139
|
get ["aria-selected"] () {
|
|
140
|
-
return
|
|
140
|
+
return memo(()=>!!isSelectable())() ? isSelected() ? "true" : "false" : void 0;
|
|
141
141
|
},
|
|
142
142
|
get ["aria-disabled"] () {
|
|
143
143
|
return isDisabled() ? "true" : void 0;
|
|
@@ -159,7 +159,7 @@ const ListBoxItemRoot = (props)=>{
|
|
|
159
159
|
return key();
|
|
160
160
|
}
|
|
161
161
|
}, ()=>({
|
|
162
|
-
class:
|
|
162
|
+
class: twMerge(CLASSES.Item.base, CLASSES.Item.variant[variant()], local.class, local.className)
|
|
163
163
|
}), {
|
|
164
164
|
get style () {
|
|
165
165
|
return local.style;
|
|
@@ -169,8 +169,8 @@ const ListBoxItemRoot = (props)=>{
|
|
|
169
169
|
onFocus: handleFocus,
|
|
170
170
|
onBlur: handleBlur
|
|
171
171
|
}), false, true);
|
|
172
|
-
|
|
173
|
-
var _c$ =
|
|
172
|
+
insert(_el$, (()=>{
|
|
173
|
+
var _c$ = memo(()=>"function" == typeof local.children);
|
|
174
174
|
return ()=>_c$() ? local.children(renderState()) : local.children;
|
|
175
175
|
})());
|
|
176
176
|
return _el$;
|
|
@@ -178,8 +178,8 @@ const ListBoxItemRoot = (props)=>{
|
|
|
178
178
|
});
|
|
179
179
|
};
|
|
180
180
|
const ListBoxItemIndicator = (props)=>{
|
|
181
|
-
const context =
|
|
182
|
-
const [local, others] =
|
|
181
|
+
const context = useContext(ListBoxItemContext);
|
|
182
|
+
const [local, others] = splitProps(props, [
|
|
183
183
|
"children",
|
|
184
184
|
"class",
|
|
185
185
|
"className",
|
|
@@ -193,7 +193,7 @@ const ListBoxItemIndicator = (props)=>{
|
|
|
193
193
|
};
|
|
194
194
|
return (()=>{
|
|
195
195
|
var _el$2 = _tmpl$2();
|
|
196
|
-
|
|
196
|
+
spread(_el$2, mergeProps(others, {
|
|
197
197
|
"aria-hidden": "true",
|
|
198
198
|
"data-slot": "listbox-item-indicator",
|
|
199
199
|
get ["data-theme"] () {
|
|
@@ -203,17 +203,17 @@ const ListBoxItemIndicator = (props)=>{
|
|
|
203
203
|
return renderState().isSelected ? "true" : void 0;
|
|
204
204
|
}
|
|
205
205
|
}, ()=>({
|
|
206
|
-
class:
|
|
206
|
+
class: twMerge(CLASSES.ItemIndicator.base, local.class, local.className)
|
|
207
207
|
}), {
|
|
208
208
|
get style () {
|
|
209
209
|
return local.style;
|
|
210
210
|
}
|
|
211
211
|
}), false, true);
|
|
212
|
-
|
|
213
|
-
var _c$2 =
|
|
214
|
-
return ()=>_c$2() ? local.children(renderState()) :
|
|
212
|
+
insert(_el$2, (()=>{
|
|
213
|
+
var _c$2 = memo(()=>"function" == typeof local.children);
|
|
214
|
+
return ()=>_c$2() ? local.children(renderState()) : memo(()=>!!local.children)() ? local.children : (()=>{
|
|
215
215
|
var _el$3 = _tmpl$3();
|
|
216
|
-
|
|
216
|
+
effect(()=>setAttribute(_el$3, "stroke-dashoffset", String(renderState().isSelected ? 44 : 66)));
|
|
217
217
|
return _el$3;
|
|
218
218
|
})();
|
|
219
219
|
})());
|
|
@@ -225,4 +225,5 @@ const ListBoxItem = Object.assign(ListBoxItemRoot, {
|
|
|
225
225
|
Indicator: ListBoxItemIndicator
|
|
226
226
|
});
|
|
227
227
|
const list_box_ListBoxItem = ListBoxItem;
|
|
228
|
-
export
|
|
228
|
+
export default list_box_ListBoxItem;
|
|
229
|
+
export { ListBoxItem, ListBoxItemIndicator, ListBoxItemRoot };
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import
|
|
5
|
-
var _tmpl$ = /*#__PURE__*/
|
|
1
|
+
import { createComponent, insert, mergeProps, spread, template } from "solid-js/web";
|
|
2
|
+
import { Show, splitProps } from "solid-js";
|
|
3
|
+
import { twMerge } from "tailwind-merge";
|
|
4
|
+
import { CLASSES } from "./ListBox.classes.js";
|
|
5
|
+
var _tmpl$ = /*#__PURE__*/ template("<span>"), _tmpl$2 = /*#__PURE__*/ template("<div>");
|
|
6
6
|
const ListBoxSectionRoot = (props)=>{
|
|
7
|
-
const [local, others] =
|
|
7
|
+
const [local, others] = splitProps(props, [
|
|
8
8
|
"children",
|
|
9
9
|
"class",
|
|
10
10
|
"className",
|
|
@@ -15,7 +15,7 @@ const ListBoxSectionRoot = (props)=>{
|
|
|
15
15
|
]);
|
|
16
16
|
return (()=>{
|
|
17
17
|
var _el$ = _tmpl$2();
|
|
18
|
-
|
|
18
|
+
spread(_el$, mergeProps(others, {
|
|
19
19
|
get role () {
|
|
20
20
|
return local.role ?? "group";
|
|
21
21
|
},
|
|
@@ -24,31 +24,32 @@ const ListBoxSectionRoot = (props)=>{
|
|
|
24
24
|
return local.dataTheme;
|
|
25
25
|
}
|
|
26
26
|
}, ()=>({
|
|
27
|
-
class:
|
|
27
|
+
class: twMerge(CLASSES.Section.base, local.class, local.className)
|
|
28
28
|
}), {
|
|
29
29
|
get style () {
|
|
30
30
|
return local.style;
|
|
31
31
|
}
|
|
32
32
|
}), false, true);
|
|
33
|
-
|
|
33
|
+
insert(_el$, createComponent(Show, {
|
|
34
34
|
get when () {
|
|
35
35
|
return local.title;
|
|
36
36
|
},
|
|
37
37
|
get children () {
|
|
38
38
|
var _el$2 = _tmpl$();
|
|
39
|
-
|
|
40
|
-
class:
|
|
39
|
+
spread(_el$2, mergeProps(()=>({
|
|
40
|
+
class: CLASSES.Section.title
|
|
41
41
|
}), {
|
|
42
42
|
"data-slot": "heading"
|
|
43
43
|
}), false, true);
|
|
44
|
-
|
|
44
|
+
insert(_el$2, ()=>local.title);
|
|
45
45
|
return _el$2;
|
|
46
46
|
}
|
|
47
47
|
}), null);
|
|
48
|
-
|
|
48
|
+
insert(_el$, ()=>local.children, null);
|
|
49
49
|
return _el$;
|
|
50
50
|
})();
|
|
51
51
|
};
|
|
52
52
|
const ListBoxSection = ListBoxSectionRoot;
|
|
53
53
|
const list_box_ListBoxSection = ListBoxSection;
|
|
54
|
-
export
|
|
54
|
+
export default list_box_ListBoxSection;
|
|
55
|
+
export { ListBoxSection, ListBoxSectionRoot };
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import
|
|
2
|
-
const ListBoxContext =
|
|
1
|
+
import { createContext } from "solid-js";
|
|
2
|
+
const ListBoxContext = createContext();
|
|
3
3
|
export { ListBoxContext };
|
|
@@ -1,17 +1,12 @@
|
|
|
1
|
-
import
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
const
|
|
5
|
-
Root:
|
|
6
|
-
Item:
|
|
7
|
-
ItemIndicator:
|
|
8
|
-
Section:
|
|
1
|
+
import ListBox from "./ListBox.js";
|
|
2
|
+
import ListBoxItem, { ListBoxItemIndicator, ListBoxItemRoot } from "./ListBoxItem.js";
|
|
3
|
+
import ListBoxSection, { ListBoxSectionRoot } from "./ListBoxSection.js";
|
|
4
|
+
const list_box_ListBox = Object.assign(ListBox, {
|
|
5
|
+
Root: ListBox,
|
|
6
|
+
Item: ListBoxItem,
|
|
7
|
+
ItemIndicator: ListBoxItemIndicator,
|
|
8
|
+
Section: ListBoxSection
|
|
9
9
|
});
|
|
10
|
-
const list_box =
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
var __webpack_exports__ListBoxItemRoot = __WEBPACK_EXTERNAL_MODULE__ListBoxItem_js_66ab68ed__.ListBoxItemRoot;
|
|
14
|
-
var __webpack_exports__ListBoxRoot = __WEBPACK_EXTERNAL_MODULE__ListBox_js_d763b220__["default"];
|
|
15
|
-
var __webpack_exports__ListBoxSection = __WEBPACK_EXTERNAL_MODULE__ListBoxSection_js_b3bb3271__["default"];
|
|
16
|
-
var __webpack_exports__ListBoxSectionRoot = __WEBPACK_EXTERNAL_MODULE__ListBoxSection_js_b3bb3271__.ListBoxSectionRoot;
|
|
17
|
-
export { ListBox, list_box as default, __webpack_exports__ListBoxItem as ListBoxItem, __webpack_exports__ListBoxItemIndicator as ListBoxItemIndicator, __webpack_exports__ListBoxItemRoot as ListBoxItemRoot, __webpack_exports__ListBoxRoot as ListBoxRoot, __webpack_exports__ListBoxSection as ListBoxSection, __webpack_exports__ListBoxSectionRoot as ListBoxSectionRoot };
|
|
10
|
+
const list_box = list_box_ListBox;
|
|
11
|
+
export default list_box;
|
|
12
|
+
export { ListBox as ListBoxRoot, ListBoxItem, ListBoxItemIndicator, ListBoxItemRoot, ListBoxSection, ListBoxSectionRoot, list_box_ListBox as ListBox };
|