@pathscale/ui 2.5.0 → 2.6.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.md +4 -5
- package/dist/components/_shared/material.css +115 -0
- package/dist/components/_shared/overlayPosition.d.ts +4 -3
- package/dist/components/accordion/Accordion.generated.d.ts +1 -1
- package/dist/components/accordion/Accordion.generated.js +146 -195
- package/dist/components/accordion/Accordion.recipe.d.ts +1 -1
- package/dist/components/address/Address.generated.d.ts +1 -1
- package/dist/components/address/Address.generated.js +79 -80
- package/dist/components/address/Address.recipe.d.ts +1 -1
- package/dist/components/alert/Alert.generated.d.ts +1 -1
- package/dist/components/alert/Alert.generated.js +71 -73
- package/dist/components/alert/Alert.recipe.d.ts +1 -1
- package/dist/components/auth-card/AuthCard.generated.d.ts +1 -1
- package/dist/components/auth-card/AuthCard.generated.js +14 -14
- package/dist/components/auth-card/AuthCard.recipe.d.ts +1 -1
- package/dist/components/auth-field-group/AuthFieldGroup.generated.d.ts +1 -1
- package/dist/components/auth-field-group/AuthFieldGroup.generated.js +3 -3
- package/dist/components/auth-field-group/AuthFieldGroup.recipe.d.ts +1 -1
- package/dist/components/auth-footer-links/AuthFooterLinks.generated.d.ts +1 -1
- package/dist/components/auth-footer-links/AuthFooterLinks.generated.js +6 -5
- package/dist/components/auth-footer-links/AuthFooterLinks.recipe.d.ts +1 -1
- package/dist/components/auth-message/AuthMessage.generated.d.ts +1 -1
- package/dist/components/auth-message/AuthMessage.generated.js +2 -2
- package/dist/components/auth-message/AuthMessage.recipe.d.ts +1 -1
- package/dist/components/auth-powered-by/AuthPoweredBy.generated.d.ts +1 -1
- package/dist/components/auth-powered-by/AuthPoweredBy.generated.js +7 -6
- package/dist/components/auth-powered-by/AuthPoweredBy.recipe.d.ts +1 -1
- package/dist/components/auth-submit-button/AuthSubmitButton.generated.d.ts +1 -1
- package/dist/components/auth-submit-button/AuthSubmitButton.generated.js +2 -2
- package/dist/components/auth-submit-button/AuthSubmitButton.recipe.d.ts +1 -1
- package/dist/components/avatar/Avatar.generated.d.ts +1 -1
- package/dist/components/avatar/Avatar.generated.js +47 -71
- package/dist/components/avatar/Avatar.recipe.d.ts +1 -1
- package/dist/components/avatar/AvatarGroup.generated.d.ts +1 -1
- package/dist/components/avatar/AvatarGroup.generated.js +9 -13
- package/dist/components/badge/Badge.generated.d.ts +1 -1
- package/dist/components/badge/Badge.generated.js +38 -58
- package/dist/components/badge/Badge.recipe.d.ts +1 -1
- package/dist/components/breadcrumb/Breadcrumb.generated.d.ts +1 -1
- package/dist/components/breadcrumb/Breadcrumb.generated.js +78 -94
- package/dist/components/breadcrumb/Breadcrumb.recipe.d.ts +1 -1
- package/dist/components/button/Button.generated.d.ts +1 -1
- package/dist/components/button/Button.generated.js +5 -5
- package/dist/components/button/Button.interactions.d.ts +2 -2
- package/dist/components/button/Button.interactions.js +1 -1
- package/dist/components/button/Button.recipe.d.ts +1 -1
- package/dist/components/button-group/ButtonGroup.generated.d.ts +1 -1
- package/dist/components/button-group/ButtonGroup.generated.js +34 -51
- package/dist/components/button-group/ButtonGroup.recipe.d.ts +1 -1
- package/dist/components/button-group/context.d.ts +1 -1
- package/dist/components/calendar/Calendar.generated.d.ts +1 -1
- package/dist/components/calendar/Calendar.generated.js +280 -301
- package/dist/components/calendar/Calendar.recipe.d.ts +1 -1
- package/dist/components/card/Card.generated.d.ts +10 -4
- package/dist/components/card/Card.generated.js +53 -51
- package/dist/components/card/Card.recipe.d.ts +4 -4
- package/dist/components/chatbubble/ChatBubble.generated.d.ts +1 -1
- package/dist/components/chatbubble/ChatBubble.generated.js +20 -27
- package/dist/components/chatbubble/ChatBubble.recipe.d.ts +1 -1
- package/dist/components/chatbubble/ChatBubbleAvatar.generated.js +5 -5
- package/dist/components/chatbubble/ChatBubbleFooter.generated.d.ts +1 -1
- package/dist/components/chatbubble/ChatBubbleFooter.generated.js +10 -14
- package/dist/components/chatbubble/ChatBubbleHeader.generated.d.ts +1 -1
- package/dist/components/chatbubble/ChatBubbleHeader.generated.js +10 -14
- package/dist/components/chatbubble/ChatBubbleMessage.generated.d.ts +1 -1
- package/dist/components/chatbubble/ChatBubbleMessage.generated.js +14 -19
- package/dist/components/chatbubble/ChatBubbleTime.generated.d.ts +1 -1
- package/dist/components/chatbubble/ChatBubbleTime.generated.js +10 -14
- package/dist/components/checkbox/Checkbox.generated.d.ts +1 -1
- package/dist/components/checkbox/Checkbox.generated.js +133 -152
- package/dist/components/checkbox/Checkbox.recipe.d.ts +1 -1
- package/dist/components/checkbox-group/CheckboxGroup.generated.d.ts +1 -1
- package/dist/components/checkbox-group/CheckboxGroup.generated.js +21 -35
- package/dist/components/checkbox-group/CheckboxGroup.recipe.d.ts +1 -1
- package/dist/components/checkbox-group/context.d.ts +1 -1
- package/dist/components/chip/Chip.generated.d.ts +1 -1
- package/dist/components/chip/Chip.generated.js +103 -119
- package/dist/components/chip/Chip.recipe.d.ts +1 -1
- package/dist/components/close-button/CloseButton.generated.d.ts +1 -1
- package/dist/components/close-button/CloseButton.generated.js +64 -78
- package/dist/components/close-button/CloseButton.recipe.d.ts +1 -1
- package/dist/components/collapsible/Collapsible.generated.d.ts +1 -1
- package/dist/components/collapsible/Collapsible.generated.js +120 -168
- package/dist/components/collapsible/Collapsible.recipe.d.ts +1 -1
- package/dist/components/color-area/ColorArea.generated.d.ts +1 -1
- package/dist/components/color-area/ColorArea.generated.js +69 -79
- package/dist/components/color-area/ColorArea.recipe.d.ts +1 -1
- package/dist/components/color-field/ColorField.generated.d.ts +1 -1
- package/dist/components/color-field/ColorField.generated.js +68 -84
- package/dist/components/color-field/ColorField.recipe.d.ts +1 -1
- package/dist/components/color-picker/ColorPicker.generated.d.ts +1 -1
- package/dist/components/color-picker/ColorPicker.generated.js +45 -69
- package/dist/components/color-picker/ColorPicker.recipe.d.ts +1 -1
- package/dist/components/color-slider/ColorSlider.generated.d.ts +1 -1
- package/dist/components/color-slider/ColorSlider.generated.js +83 -94
- package/dist/components/color-slider/ColorSlider.recipe.d.ts +1 -1
- package/dist/components/color-swatch/ColorSwatch.generated.d.ts +1 -1
- package/dist/components/color-swatch/ColorSwatch.generated.js +69 -89
- package/dist/components/color-swatch/ColorSwatch.recipe.d.ts +1 -1
- package/dist/components/color-swatch-picker/ColorSwatchPicker.generated.d.ts +3 -2
- package/dist/components/color-swatch-picker/ColorSwatchPicker.generated.js +18 -28
- package/dist/components/color-swatch-picker/ColorSwatchPicker.recipe.d.ts +1 -1
- package/dist/components/color-wheel-flower/ColorWheelFlower.generated.js +243 -250
- package/dist/components/color-wheel-flower/ColorWheelFlower.recipe.d.ts +1 -1
- package/dist/components/combo-box/ComboBox.generated.d.ts +1 -1
- package/dist/components/combo-box/ComboBox.generated.js +334 -406
- package/dist/components/combo-box/ComboBox.recipe.d.ts +1 -1
- package/dist/components/composer/Composer.generated.d.ts +1 -1
- package/dist/components/composer/Composer.generated.js +112 -112
- package/dist/components/composer/Composer.recipe.d.ts +1 -1
- package/dist/components/data-grid/DataGrid.generated.d.ts +1 -1
- package/dist/components/data-grid/DataGrid.generated.js +61 -78
- package/dist/components/data-grid/DataGrid.interactions.d.ts +1 -1
- package/dist/components/data-grid/DataGrid.recipe.d.ts +1 -1
- package/dist/components/data-grid/createDataGrid.d.ts +2 -1
- package/dist/components/data-grid/createDataGrid.js +43 -26
- package/dist/components/data-grid/index.d.ts +1 -1
- package/dist/components/date-field/DateField.generated.d.ts +1 -1
- package/dist/components/date-field/DateField.generated.js +160 -221
- package/dist/components/date-field/DateField.recipe.d.ts +1 -1
- package/dist/components/date-picker/DatePicker.generated.d.ts +1 -1
- package/dist/components/date-picker/DatePicker.generated.js +154 -174
- package/dist/components/date-picker/DatePicker.recipe.d.ts +1 -1
- package/dist/components/date-range-picker/DateRangePicker.generated.d.ts +1 -1
- package/dist/components/date-range-picker/DateRangePicker.generated.js +198 -221
- package/dist/components/date-range-picker/DateRangePicker.recipe.d.ts +1 -1
- package/dist/components/dialog/Dialog.generated.d.ts +12 -2
- package/dist/components/dialog/Dialog.generated.js +224 -320
- package/dist/components/dialog/Dialog.recipe.d.ts +1 -1
- package/dist/components/dock/Dock.generated.d.ts +1 -1
- package/dist/components/dock/Dock.generated.js +358 -391
- package/dist/components/dock/Dock.recipe.d.ts +1 -1
- package/dist/components/drawer/Drawer.context.d.ts +1 -1
- package/dist/components/drawer/Drawer.generated.d.ts +5 -2
- package/dist/components/drawer/Drawer.generated.js +280 -382
- package/dist/components/drawer/Drawer.recipe.d.ts +1 -1
- package/dist/components/dropdown/Dropdown.generated.d.ts +1 -1
- package/dist/components/dropdown/Dropdown.generated.js +146 -199
- package/dist/components/dropdown/Dropdown.recipe.d.ts +1 -1
- package/dist/components/empty/Empty.generated.d.ts +1 -1
- package/dist/components/empty/Empty.generated.js +82 -117
- package/dist/components/empty/Empty.recipe.d.ts +1 -1
- package/dist/components/fieldset/Fieldset.generated.d.ts +1 -1
- package/dist/components/fieldset/Fieldset.generated.js +64 -92
- package/dist/components/fieldset/Fieldset.recipe.d.ts +1 -1
- package/dist/components/flex/Flex.generated.d.ts +1 -1
- package/dist/components/flex/Flex.generated.js +8 -28
- package/dist/components/flex/Flex.recipe.d.ts +1 -1
- package/dist/components/footer/Footer.generated.d.ts +1 -1
- package/dist/components/footer/Footer.generated.js +16 -25
- package/dist/components/footer/Footer.recipe.d.ts +1 -1
- package/dist/components/footer/FooterTitle.generated.d.ts +1 -1
- package/dist/components/footer/FooterTitle.generated.js +16 -22
- package/dist/components/form/FieldErrorMessage.generated.d.ts +1 -1
- package/dist/components/form/FieldErrorMessage.generated.js +4 -4
- package/dist/components/form/Form.generated.d.ts +1 -1
- package/dist/components/form/Form.generated.js +30 -41
- package/dist/components/form/Form.recipe.d.ts +1 -1
- package/dist/components/form/FormField.generated.d.ts +1 -1
- package/dist/components/form/FormField.generated.js +62 -77
- package/dist/components/form/FormSubmitButton.generated.js +14 -24
- package/dist/components/glow-card/GlowCard.generated.d.ts +1 -1
- package/dist/components/glow-card/GlowCard.generated.js +27 -35
- package/dist/components/glow-card/GlowCard.recipe.d.ts +1 -1
- package/dist/components/grid/Grid.generated.d.ts +1 -1
- package/dist/components/grid/Grid.generated.js +9 -19
- package/dist/components/grid/Grid.recipe.d.ts +1 -1
- package/dist/components/header/Header.generated.d.ts +1 -1
- package/dist/components/header/Header.generated.js +19 -26
- package/dist/components/header/Header.recipe.d.ts +1 -1
- package/dist/components/icon/Icon.generated.d.ts +1 -1
- package/dist/components/icon/Icon.generated.js +10 -14
- package/dist/components/icon/Icon.recipe.d.ts +1 -1
- package/dist/components/immersive-landing/ImmersiveLanding.generated.js +57 -78
- package/dist/components/immersive-landing/ImmersiveLanding.recipe.d.ts +1 -1
- package/dist/components/immersive-landing/ImmersiveLandingArrows.generated.js +24 -29
- package/dist/components/immersive-landing/ImmersiveLandingContext.d.ts +1 -1
- package/dist/components/immersive-landing/ImmersiveLandingNavigation.generated.js +111 -122
- package/dist/components/immersive-landing/ImmersiveLandingPage.generated.js +36 -42
- package/dist/components/immersive-landing/components/CookieConsent.js +56 -36
- package/dist/components/immersive-landing/components/FirefoxPWABanner.js +15 -11
- package/dist/components/immersive-landing/components/PWAInstallPrompt.js +17 -11
- package/dist/components/immersive-landing/types.d.ts +2 -1
- package/dist/components/immersive-landing/useImmersiveLanding.js +2 -2
- package/dist/components/input/Input.generated.d.ts +2 -1
- package/dist/components/input/Input.generated.js +129 -177
- package/dist/components/input/Input.recipe.d.ts +1 -1
- package/dist/components/input-otp/InputOTP.generated.d.ts +2 -2
- package/dist/components/input-otp/InputOTP.generated.js +132 -177
- package/dist/components/input-otp/InputOTP.recipe.d.ts +1 -1
- package/dist/components/join/Join.generated.d.ts +1 -1
- package/dist/components/join/Join.generated.js +23 -33
- package/dist/components/join/Join.recipe.d.ts +1 -1
- package/dist/components/kbd/Kbd.generated.d.ts +2 -1
- package/dist/components/kbd/Kbd.generated.js +59 -82
- package/dist/components/kbd/Kbd.recipe.d.ts +1 -1
- package/dist/components/label/Label.generated.d.ts +1 -1
- package/dist/components/label/Label.generated.js +38 -50
- package/dist/components/label/Label.recipe.d.ts +1 -1
- package/dist/components/language-switcher/LanguageSwitcher.generated.js +20 -30
- package/dist/components/language-switcher/LanguageSwitcher.recipe.d.ts +1 -1
- package/dist/components/language-switcher/createI18n.d.ts +4 -3
- package/dist/components/language-switcher/createI18n.js +2 -2
- package/dist/components/link/Link.generated.d.ts +2 -1
- package/dist/components/link/Link.generated.js +77 -99
- package/dist/components/link/Link.recipe.d.ts +1 -1
- package/dist/components/list-box/ListBox.generated.d.ts +1 -1
- package/dist/components/list-box/ListBox.generated.js +30 -49
- package/dist/components/list-box/ListBox.recipe.d.ts +1 -1
- package/dist/components/list-box/ListBoxItem.generated.d.ts +1 -1
- package/dist/components/list-box/ListBoxItem.generated.js +67 -83
- package/dist/components/list-box/ListBoxSection.generated.d.ts +1 -1
- package/dist/components/list-box/ListBoxSection.generated.js +39 -48
- package/dist/components/list-box/context.d.ts +1 -1
- package/dist/components/live-chat/LiveChat.recipe.d.ts +1 -1
- package/dist/components/live-chat/LiveChatBubble.generated.d.ts +1 -1
- package/dist/components/live-chat/LiveChatBubble.generated.js +38 -53
- package/dist/components/live-chat/LiveChatPanel.generated.js +158 -176
- package/dist/components/menu/Menu.generated.d.ts +5 -2
- package/dist/components/menu/Menu.generated.js +33 -47
- package/dist/components/menu/Menu.recipe.d.ts +1 -1
- package/dist/components/menu/MenuItem.generated.d.ts +1 -1
- package/dist/components/menu/MenuItem.generated.js +95 -119
- package/dist/components/menu/MenuSection.generated.d.ts +1 -1
- package/dist/components/menu/MenuSection.generated.js +39 -48
- package/dist/components/menu/context.d.ts +1 -1
- package/dist/components/metal-border/MetalBorder.generated.d.ts +1 -1
- package/dist/components/metal-border/MetalBorder.generated.js +72 -86
- package/dist/components/metal-border/MetalBorder.recipe.d.ts +1 -1
- package/dist/components/meter/Meter.generated.d.ts +1 -1
- package/dist/components/meter/Meter.generated.js +71 -107
- package/dist/components/meter/Meter.recipe.d.ts +1 -1
- package/dist/components/navbar/Navbar.generated.d.ts +5 -2
- package/dist/components/navbar/Navbar.generated.js +14 -16
- package/dist/components/navbar/Navbar.recipe.d.ts +1 -1
- package/dist/components/navbar/NavbarRow.generated.d.ts +1 -1
- package/dist/components/navbar/NavbarRow.generated.js +21 -32
- package/dist/components/navbar/NavbarSection.generated.d.ts +1 -1
- package/dist/components/navbar/NavbarSection.generated.js +20 -28
- package/dist/components/navbar/NavbarStack.generated.d.ts +1 -1
- package/dist/components/navbar/NavbarStack.generated.js +20 -29
- package/dist/components/noise-background/NoiseBackground.generated.d.ts +1 -1
- package/dist/components/noise-background/NoiseBackground.generated.js +85 -100
- package/dist/components/noise-background/NoiseBackground.recipe.d.ts +1 -1
- package/dist/components/pagination/Pagination.generated.d.ts +1 -1
- package/dist/components/pagination/Pagination.generated.js +114 -117
- package/dist/components/pagination/Pagination.recipe.d.ts +1 -1
- package/dist/components/password-field/PasswordField.generated.d.ts +1 -1
- package/dist/components/password-field/PasswordField.generated.js +56 -58
- package/dist/components/password-field/PasswordField.interactions.d.ts +1 -1
- package/dist/components/password-field/PasswordField.interactions.js +1 -1
- package/dist/components/password-field/PasswordField.recipe.d.ts +1 -1
- package/dist/components/password-requirements/PasswordRequirements.generated.d.ts +1 -1
- package/dist/components/password-requirements/PasswordRequirements.generated.js +8 -8
- package/dist/components/password-requirements/PasswordRequirements.recipe.d.ts +1 -1
- package/dist/components/popover/Popover.generated.d.ts +5 -2
- package/dist/components/popover/Popover.generated.js +123 -170
- package/dist/components/popover/Popover.recipe.d.ts +1 -1
- package/dist/components/progress/Progress.generated.d.ts +1 -1
- package/dist/components/progress/Progress.generated.js +82 -98
- package/dist/components/progress/Progress.recipe.d.ts +1 -1
- package/dist/components/radial-progress/RadialProgress.generated.d.ts +1 -1
- package/dist/components/radial-progress/RadialProgress.generated.js +74 -89
- package/dist/components/radial-progress/RadialProgress.recipe.d.ts +1 -1
- package/dist/components/radio/Radio.generated.d.ts +1 -1
- package/dist/components/radio/Radio.generated.js +110 -126
- package/dist/components/radio/Radio.recipe.d.ts +1 -1
- package/dist/components/radio-group/RadioGroup.generated.d.ts +1 -1
- package/dist/components/radio-group/RadioGroup.generated.js +46 -61
- package/dist/components/radio-group/RadioGroup.recipe.d.ts +1 -1
- package/dist/components/radio-group/context.d.ts +1 -1
- package/dist/components/range-calendar/RangeCalendar.generated.d.ts +1 -1
- package/dist/components/range-calendar/RangeCalendar.generated.js +72 -92
- package/dist/components/range-calendar/RangeCalendar.recipe.d.ts +1 -1
- package/dist/components/scroll-area/ScrollArea.generated.d.ts +1 -1
- package/dist/components/scroll-area/ScrollArea.generated.js +37 -53
- package/dist/components/scroll-area/ScrollArea.recipe.d.ts +1 -1
- package/dist/components/select/Select.generated.d.ts +2 -1
- package/dist/components/select/Select.generated.js +326 -404
- package/dist/components/select/Select.recipe.d.ts +1 -1
- package/dist/components/separator/Separator.generated.d.ts +1 -1
- package/dist/components/separator/Separator.generated.js +33 -42
- package/dist/components/separator/Separator.recipe.d.ts +1 -1
- package/dist/components/size-picker/SizePicker.generated.js +41 -50
- package/dist/components/size-picker/SizePicker.recipe.d.ts +1 -1
- package/dist/components/skeleton/Skeleton.generated.d.ts +1 -1
- package/dist/components/skeleton/Skeleton.generated.js +8 -7
- package/dist/components/skeleton/Skeleton.recipe.d.ts +1 -1
- package/dist/components/slider/Slider.generated.d.ts +1 -1
- package/dist/components/slider/Slider.generated.js +147 -163
- package/dist/components/slider/Slider.recipe.d.ts +1 -1
- package/dist/components/spinner/Spinner.generated.d.ts +1 -1
- package/dist/components/spinner/Spinner.generated.js +9 -11
- package/dist/components/spinner/Spinner.recipe.d.ts +1 -1
- package/dist/components/status/status.d.ts +1 -1
- package/dist/components/switch/Switch.generated.d.ts +1 -1
- package/dist/components/switch/Switch.generated.js +113 -128
- package/dist/components/switch/Switch.recipe.d.ts +1 -1
- package/dist/components/table/ExpandToggle.generated.d.ts +1 -1
- package/dist/components/table/ExpandToggle.generated.js +67 -78
- package/dist/components/table/InlineConfirm.generated.js +54 -67
- package/dist/components/table/MobileListView.generated.d.ts +1 -1
- package/dist/components/table/MobileListView.generated.js +60 -73
- package/dist/components/table/SortIcon.generated.d.ts +1 -1
- package/dist/components/table/SortIcon.generated.js +46 -56
- package/dist/components/table/Table.context.d.ts +4 -3
- package/dist/components/table/Table.context.js +8 -16
- package/dist/components/table/Table.recipe.d.ts +20 -20
- package/dist/components/table/TableBody.generated.d.ts +1 -1
- package/dist/components/table/TableBody.generated.js +16 -22
- package/dist/components/table/TableCell.generated.d.ts +1 -1
- package/dist/components/table/TableCell.generated.js +16 -22
- package/dist/components/table/TableColumn.generated.d.ts +1 -1
- package/dist/components/table/TableColumn.generated.js +40 -51
- package/dist/components/table/TableColumnResizer.generated.d.ts +1 -1
- package/dist/components/table/TableColumnResizer.generated.js +23 -31
- package/dist/components/table/TableContent.generated.d.ts +1 -1
- package/dist/components/table/TableContent.generated.js +14 -20
- package/dist/components/table/TableExpandedRow.generated.d.ts +2 -2
- package/dist/components/table/TableExpandedRow.generated.js +12 -20
- package/dist/components/table/TableFooter.generated.d.ts +1 -1
- package/dist/components/table/TableFooter.generated.js +16 -22
- package/dist/components/table/TableHeader.generated.d.ts +1 -1
- package/dist/components/table/TableHeader.generated.js +16 -22
- package/dist/components/table/TableLoadMore.generated.d.ts +1 -1
- package/dist/components/table/TableLoadMore.generated.js +16 -22
- package/dist/components/table/TableLoadMoreContent.generated.d.ts +1 -1
- package/dist/components/table/TableLoadMoreContent.generated.js +16 -22
- package/dist/components/table/TablePageSize.generated.d.ts +1 -1
- package/dist/components/table/TablePageSize.generated.js +35 -46
- package/dist/components/table/TableResizableContainer.generated.d.ts +1 -1
- package/dist/components/table/TableResizableContainer.generated.js +16 -22
- package/dist/components/table/TableRoot.generated.d.ts +1 -1
- package/dist/components/table/TableRoot.generated.js +11 -16
- package/dist/components/table/TableRow.generated.d.ts +1 -1
- package/dist/components/table/TableRow.generated.js +16 -22
- package/dist/components/table/TableScrollContainer.generated.d.ts +1 -1
- package/dist/components/table/TableScrollContainer.generated.js +16 -22
- package/dist/components/table/VirtualSpacerRow.generated.d.ts +1 -1
- package/dist/components/table/VirtualSpacerRow.generated.js +23 -28
- package/dist/components/table/index.d.ts +2 -2
- package/dist/components/table/index.js +1 -1
- package/dist/components/tabs/Tabs.generated.d.ts +1 -1
- package/dist/components/tabs/Tabs.generated.js +156 -194
- package/dist/components/tabs/Tabs.recipe.d.ts +1 -1
- package/dist/components/text/Text.generated.d.ts +1 -1
- package/dist/components/text/Text.generated.js +42 -56
- package/dist/components/text/Text.recipe.d.ts +1 -1
- package/dist/components/textarea/Textarea.generated.d.ts +1 -1
- package/dist/components/textarea/Textarea.generated.js +38 -49
- package/dist/components/textarea/Textarea.recipe.d.ts +1 -1
- package/dist/components/theme-color-picker/ThemeColorPicker.generated.d.ts +1 -1
- package/dist/components/theme-color-picker/ThemeColorPicker.generated.js +36 -46
- package/dist/components/theme-color-picker/ThemeColorPicker.recipe.d.ts +1 -1
- package/dist/components/theme-color-picker/hueShift.js +8 -5
- package/dist/components/time-field/TimeField.generated.d.ts +1 -1
- package/dist/components/time-field/TimeField.generated.js +160 -221
- package/dist/components/time-field/TimeField.recipe.d.ts +1 -1
- package/dist/components/toast/Toast.generated.d.ts +2 -1
- package/dist/components/toast/Toast.generated.js +234 -306
- package/dist/components/toast/Toast.recipe.d.ts +1 -1
- package/dist/components/toolbar/Toolbar.generated.d.ts +1 -1
- package/dist/components/toolbar/Toolbar.generated.js +33 -45
- package/dist/components/toolbar/Toolbar.recipe.d.ts +1 -1
- package/dist/components/tooltip/Tooltip.generated.d.ts +1 -1
- package/dist/components/tooltip/Tooltip.generated.js +86 -125
- package/dist/components/tooltip/Tooltip.recipe.d.ts +1 -1
- package/dist/components/utils.d.ts +1 -1
- package/dist/components/utils.js +1 -1
- package/dist/components/video-preview/VideoPreview.generated.d.ts +2 -1
- package/dist/components/video-preview/VideoPreview.generated.js +28 -37
- package/dist/components/video-preview/VideoPreview.recipe.d.ts +1 -1
- package/dist/components/vocabulary.d.ts +19 -1
- package/dist/hooks/date/useCalendarNavigation.d.ts +4 -4
- package/dist/hooks/date/useCalendarState.d.ts +6 -6
- package/dist/hooks/date/useDateSelection.d.ts +2 -2
- package/dist/hooks/date/usePickerOpenState.d.ts +2 -2
- package/dist/hooks/date/usePickerOpenState.js +2 -2
- package/dist/hooks/date/useRangeSelection.d.ts +8 -8
- package/dist/hooks/form/FormContext.d.ts +1 -1
- package/dist/hooks/form/createForm.d.ts +41 -31
- package/dist/hooks/form/createForm.js +109 -84
- package/dist/hooks/form/useFieldNew.d.ts +3 -3
- package/dist/hooks/form/useFieldNew.js +6 -15
- package/dist/hooks/layout/useDesktop.d.ts +1 -1
- package/dist/hooks/layout/useDesktop.js +2 -2
- package/dist/hooks/table/index.d.ts +0 -7
- package/dist/hooks/table/index.js +0 -7
- package/dist/hooks/table/useAnchoredOverlayPosition.d.ts +3 -2
- package/dist/index.d.ts +3 -5
- package/dist/index.js +1 -2
- package/dist/layouts.manifest.json +1 -1
- package/dist/lib/layouts/index.d.ts +1 -1
- package/dist/lib/layouts/index.js +1 -1
- package/dist/lib/twMerge.d.ts +21 -0
- package/dist/lib/twMerge.js +12 -0
- package/dist/motion/solid/AnimatedCollapse.d.ts +3 -14
- package/dist/motion/solid/AnimatedCollapse.js +20 -42
- package/dist/motion/solid/MotionDiv.d.ts +2 -1
- package/dist/motion/solid/MotionDiv.js +16 -28
- package/dist/motion/solid/Presence.d.ts +3 -10
- package/dist/motion/solid/Presence.js +2 -15
- package/dist/motion/solid/collapseState.d.ts +14 -0
- package/dist/motion/solid/collapseState.js +22 -0
- package/dist/motion/solid/presenceState.d.ts +9 -0
- package/dist/motion/solid/presenceState.js +15 -0
- package/package.json +13 -33
- package/dist/hooks/table/helpers.d.ts +0 -7
- package/dist/hooks/table/helpers.js +0 -26
- package/dist/hooks/table/useTableExpansion.d.ts +0 -13
- package/dist/hooks/table/useTableExpansion.js +0 -17
- package/dist/hooks/table/useTableFiltering.d.ts +0 -30
- package/dist/hooks/table/useTableFiltering.js +0 -67
- package/dist/hooks/table/useTableModel.d.ts +0 -27
- package/dist/hooks/table/useTableModel.js +0 -56
- package/dist/hooks/table/useTablePagination.d.ts +0 -20
- package/dist/hooks/table/useTablePagination.js +0 -48
- package/dist/hooks/table/useTableSelection.d.ts +0 -14
- package/dist/hooks/table/useTableSelection.js +0 -17
- package/dist/hooks/table/useTableSorting.d.ts +0 -19
- package/dist/hooks/table/useTableSorting.js +0 -21
- package/dist/primitives/virtualizer/index.d.ts +0 -2
- package/dist/primitives/virtualizer/index.js +0 -1
- package/dist/primitives/virtualizer/useVirtualRows.d.ts +0 -18
- package/dist/primitives/virtualizer/useVirtualRows.js +0 -31
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
import { createComponent, insert, memo, mergeProps, spread, template
|
|
2
|
-
import { defineComponent } from "solid-layouts/application-boundary";
|
|
1
|
+
import { createComponent, insert, memo, mergeProps, ref, spread, template } from "@solidjs/web";
|
|
2
|
+
import { defineComponent } from "solid-layouts/solid-2/application-boundary";
|
|
3
3
|
import "./LiveChat.css";
|
|
4
|
-
import { For, Show, createEffect, createSignal,
|
|
5
|
-
import { twMerge } from "
|
|
4
|
+
import { For, Show, createEffect, createSignal, omit, onCleanup } from "solid-js";
|
|
5
|
+
import { twMerge } from "../../lib/twMerge.js";
|
|
6
6
|
import button_0 from "../button/index.js";
|
|
7
7
|
import input from "../input/index.js";
|
|
8
8
|
import { CLASSES, componentRecipe } from "./LiveChat.recipe.js";
|
|
9
|
-
var _tmpl$ = /*#__PURE__*/ template("<div>"), _tmpl$2 = /*#__PURE__*/ template('<div><div><div><svg
|
|
9
|
+
var _tmpl$ = /*#__PURE__*/ template("<div>"), _tmpl$2 = /*#__PURE__*/ template('<div><div><div><svg><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M8 12h.01M12 12h.01M16 12h.01M21 12c0 4.418-4.03 8-9 8a9.863 9.863 0 01-4.255-.949L3 20l1.395-3.72C3.512 15.042 3 13.574 3 12c0-4.418 4.03-8 9-8s9 3.582 9 8z"></path></svg><h3></h3></div><button><svg><path stroke-linecap=round stroke-linejoin=round stroke-width=2 d="M6 18L18 6M6 6l12 12"></path></svg></button></div><div><!><!></div><div><!><!>'), _tmpl$3 = /*#__PURE__*/ template("<div><div></div><div><div><p></p></div><span>"), _tmpl$4 = /*#__PURE__*/ template("<span>");
|
|
10
10
|
const getMockMessages = ()=>{
|
|
11
11
|
const salesMessages = [
|
|
12
12
|
{
|
|
@@ -65,23 +65,7 @@ const formatTime = (timestamp)=>new Intl.DateTimeFormat("en-US", {
|
|
|
65
65
|
hour12: true
|
|
66
66
|
}).format(new Date(timestamp));
|
|
67
67
|
const __solidLayoutLiveChatPanel = (_stable, p)=>{
|
|
68
|
-
const
|
|
69
|
-
"onClose",
|
|
70
|
-
"title",
|
|
71
|
-
"placeholder",
|
|
72
|
-
"closeLabel",
|
|
73
|
-
"sendLabel",
|
|
74
|
-
"emptyMessage",
|
|
75
|
-
"mockMode",
|
|
76
|
-
"messages",
|
|
77
|
-
"onSendMessage",
|
|
78
|
-
"isSending",
|
|
79
|
-
"autoScrollOnNewMessage",
|
|
80
|
-
"autoScrollBehavior",
|
|
81
|
-
"stickToBottomThreshold",
|
|
82
|
-
"class",
|
|
83
|
-
"style"
|
|
84
|
-
]);
|
|
68
|
+
const others = omit(p, "onClose", "title", "placeholder", "closeLabel", "sendLabel", "emptyMessage", "mockMode", "messages", "onSendMessage", "isSending", "autoScrollOnNewMessage", "autoScrollBehavior", "stickToBottomThreshold", "class", "style");
|
|
85
69
|
const [internalMessages, setInternalMessages] = createSignal([]);
|
|
86
70
|
const [inputValue, setInputValue] = createSignal("");
|
|
87
71
|
const [sending, setSending] = createSignal(false);
|
|
@@ -92,15 +76,15 @@ const __solidLayoutLiveChatPanel = (_stable, p)=>{
|
|
|
92
76
|
let scrollRafId;
|
|
93
77
|
let scrollRafNestedId;
|
|
94
78
|
createEffect(()=>{
|
|
95
|
-
if (
|
|
96
|
-
else if (
|
|
79
|
+
if (p.mockMode) setInternalMessages(getMockMessages());
|
|
80
|
+
else if (p.messages) setInternalMessages(p.messages);
|
|
97
81
|
});
|
|
98
82
|
createEffect(()=>{
|
|
99
|
-
if (!
|
|
83
|
+
if (!p.mockMode && p.messages) setInternalMessages(p.messages);
|
|
100
84
|
});
|
|
101
|
-
const isSending = ()=>
|
|
102
|
-
const autoScrollOnNewMessage = ()=>
|
|
103
|
-
const autoScrollBehavior = ()=>
|
|
85
|
+
const isSending = ()=>p.isSending ?? sending();
|
|
86
|
+
const autoScrollOnNewMessage = ()=>p.autoScrollOnNewMessage ?? true;
|
|
87
|
+
const autoScrollBehavior = ()=>p.autoScrollBehavior ?? "instant";
|
|
104
88
|
const scrollToBottom = ()=>{
|
|
105
89
|
if (!scrollContainer) return;
|
|
106
90
|
if ("smooth" === autoScrollBehavior()) return void scrollContainer.scrollTo({
|
|
@@ -148,7 +132,7 @@ const __solidLayoutLiveChatPanel = (_stable, p)=>{
|
|
|
148
132
|
const handleSend = async ()=>{
|
|
149
133
|
const content = inputValue().trim();
|
|
150
134
|
if (!content || isSending()) return;
|
|
151
|
-
if (
|
|
135
|
+
if (p.mockMode) {
|
|
152
136
|
const userMessage = {
|
|
153
137
|
messageId: `user-${Date.now()}`,
|
|
154
138
|
content,
|
|
@@ -172,10 +156,10 @@ const __solidLayoutLiveChatPanel = (_stable, p)=>{
|
|
|
172
156
|
agentMessage
|
|
173
157
|
]);
|
|
174
158
|
}, 1000);
|
|
175
|
-
} else if (
|
|
159
|
+
} else if (p.onSendMessage) {
|
|
176
160
|
setSending(true);
|
|
177
161
|
try {
|
|
178
|
-
const response = await
|
|
162
|
+
const response = await p.onSendMessage({
|
|
179
163
|
message: content
|
|
180
164
|
});
|
|
181
165
|
const userMessage = {
|
|
@@ -202,153 +186,151 @@ const __solidLayoutLiveChatPanel = (_stable, p)=>{
|
|
|
202
186
|
handleSend();
|
|
203
187
|
}
|
|
204
188
|
};
|
|
205
|
-
const classes = ()=>twMerge(CLASSES.panel.base,
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
}
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
189
|
+
const classes = ()=>twMerge(CLASSES.panel.base, p.class);
|
|
190
|
+
var _el$ = _tmpl$2(), _el$2 = _el$.firstChild, _el$3 = _el$2.firstChild, _el$4 = _el$3.firstChild, _el$5 = _el$4.nextSibling, _el$6 = _el$3.nextSibling, _el$7 = _el$6.firstChild, _el$8 = _el$2.nextSibling, _el$0 = _el$8.firstChild, _el$1 = _el$0.nextSibling, _el$10 = _el$8.nextSibling, _el$11 = _el$10.firstChild, _el$12 = _el$11.nextSibling;
|
|
191
|
+
spread(_el$, mergeProps(others, ()=>({
|
|
192
|
+
class: classes()
|
|
193
|
+
}), {
|
|
194
|
+
get style () {
|
|
195
|
+
return p.style;
|
|
196
|
+
}
|
|
197
|
+
}), true);
|
|
198
|
+
spread(_el$2, mergeProps(()=>({
|
|
199
|
+
class: CLASSES.panel.header
|
|
200
|
+
})), true);
|
|
201
|
+
spread(_el$3, mergeProps(()=>({
|
|
202
|
+
class: CLASSES.panel.headerTitleWrap
|
|
203
|
+
})), true);
|
|
204
|
+
spread(_el$4, mergeProps({
|
|
205
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
206
|
+
}, ()=>({
|
|
207
|
+
class: CLASSES.panel.headerIcon
|
|
208
|
+
}), {
|
|
209
|
+
fill: "none",
|
|
210
|
+
viewBox: "0 0 24 24",
|
|
211
|
+
stroke: "currentColor"
|
|
212
|
+
}), true);
|
|
213
|
+
spread(_el$5, mergeProps(()=>({
|
|
214
|
+
class: CLASSES.panel.headerTitle
|
|
215
|
+
})), true);
|
|
216
|
+
insert(_el$5, ()=>p.title ?? "Chat with us");
|
|
217
|
+
spread(_el$6, mergeProps({
|
|
218
|
+
get onClick () {
|
|
219
|
+
return p.onClose;
|
|
220
|
+
}
|
|
221
|
+
}, ()=>({
|
|
222
|
+
class: CLASSES.panel.closeButton
|
|
223
|
+
}), {
|
|
224
|
+
get ["aria-label"] () {
|
|
225
|
+
return p.closeLabel ?? "Close chat";
|
|
226
|
+
}
|
|
227
|
+
}), true);
|
|
228
|
+
spread(_el$7, mergeProps({
|
|
229
|
+
xmlns: "http://www.w3.org/2000/svg"
|
|
230
|
+
}, ()=>({
|
|
231
|
+
class: CLASSES.panel.closeIcon
|
|
232
|
+
}), {
|
|
233
|
+
fill: "none",
|
|
234
|
+
viewBox: "0 0 24 24",
|
|
235
|
+
stroke: "currentColor"
|
|
236
|
+
}), true);
|
|
237
|
+
ref(()=>(element)=>{
|
|
251
238
|
scrollContainer = element;
|
|
252
239
|
}, _el$8);
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
|
|
291
|
-
|
|
292
|
-
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
},
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
},
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
});
|
|
348
|
-
}
|
|
349
|
-
})), null);
|
|
350
|
-
return _el$;
|
|
351
|
-
})();
|
|
240
|
+
spread(_el$8, mergeProps(()=>({
|
|
241
|
+
class: CLASSES.panel.messages
|
|
242
|
+
})), true);
|
|
243
|
+
insert(_el$8, createComponent(For, {
|
|
244
|
+
get each () {
|
|
245
|
+
return internalMessages();
|
|
246
|
+
},
|
|
247
|
+
children: (message)=>{
|
|
248
|
+
const isUser = "user" === message.sender;
|
|
249
|
+
var _el$13 = _tmpl$3(), _el$14 = _el$13.firstChild, _el$15 = _el$14.nextSibling, _el$16 = _el$15.firstChild, _el$17 = _el$16.firstChild, _el$18 = _el$16.nextSibling;
|
|
250
|
+
spread(_el$13, mergeProps(()=>({
|
|
251
|
+
class: twMerge(CLASSES.panel.row, isUser ? CLASSES.panel.rowUser : CLASSES.panel.rowAgent)
|
|
252
|
+
})), true);
|
|
253
|
+
spread(_el$14, mergeProps(()=>({
|
|
254
|
+
class: twMerge(CLASSES.panel.avatar, isUser ? CLASSES.panel.avatarUser : CLASSES.panel.avatarAgent)
|
|
255
|
+
})), true);
|
|
256
|
+
insert(_el$14, isUser ? "U" : "A");
|
|
257
|
+
spread(_el$15, mergeProps(()=>({
|
|
258
|
+
class: twMerge(CLASSES.panel.messageColumn, isUser ? CLASSES.panel.messageColumnUser : CLASSES.panel.messageColumnAgent)
|
|
259
|
+
})), true);
|
|
260
|
+
spread(_el$16, mergeProps(()=>({
|
|
261
|
+
class: twMerge(CLASSES.panel.messageBubble, isUser ? CLASSES.panel.messageBubbleUser : CLASSES.panel.messageBubbleAgent)
|
|
262
|
+
})), true);
|
|
263
|
+
spread(_el$17, mergeProps(()=>({
|
|
264
|
+
class: CLASSES.panel.messageText
|
|
265
|
+
})), true);
|
|
266
|
+
insert(_el$17, ()=>message.content);
|
|
267
|
+
spread(_el$18, mergeProps(()=>({
|
|
268
|
+
class: CLASSES.panel.timestamp
|
|
269
|
+
})), true);
|
|
270
|
+
insert(_el$18, ()=>formatTime(message.timestamp));
|
|
271
|
+
return _el$13;
|
|
272
|
+
}
|
|
273
|
+
}), _el$0);
|
|
274
|
+
insert(_el$8, createComponent(Show, {
|
|
275
|
+
get when () {
|
|
276
|
+
return 0 === internalMessages().length;
|
|
277
|
+
},
|
|
278
|
+
get children () {
|
|
279
|
+
var _el$9 = _tmpl$();
|
|
280
|
+
spread(_el$9, mergeProps(()=>({
|
|
281
|
+
class: CLASSES.panel.empty
|
|
282
|
+
})), true);
|
|
283
|
+
insert(_el$9, ()=>p.emptyMessage ?? "No messages yet. Start a conversation!");
|
|
284
|
+
return _el$9;
|
|
285
|
+
}
|
|
286
|
+
}), _el$1);
|
|
287
|
+
spread(_el$10, mergeProps(()=>({
|
|
288
|
+
class: CLASSES.panel.inputArea
|
|
289
|
+
})), true);
|
|
290
|
+
insert(_el$10, createComponent(input, mergeProps({
|
|
291
|
+
type: "text",
|
|
292
|
+
get value () {
|
|
293
|
+
return inputValue();
|
|
294
|
+
},
|
|
295
|
+
onInput: (e)=>setInputValue(e.currentTarget.value),
|
|
296
|
+
onKeyPress: handleKeyPress,
|
|
297
|
+
get placeholder () {
|
|
298
|
+
return p.placeholder ?? "Message support...";
|
|
299
|
+
},
|
|
300
|
+
get disabled () {
|
|
301
|
+
return isSending();
|
|
302
|
+
}
|
|
303
|
+
}, ()=>({
|
|
304
|
+
class: CLASSES.panel.input
|
|
305
|
+
}))), _el$11);
|
|
306
|
+
insert(_el$10, createComponent(button_0, mergeProps({
|
|
307
|
+
onClick: handleSend,
|
|
308
|
+
get state () {
|
|
309
|
+
return memo(()=>!!isSending())() ? "loading" : inputValue().trim() ? "default" : "disabled";
|
|
310
|
+
}
|
|
311
|
+
}, ()=>({
|
|
312
|
+
class: CLASSES.panel.sendButton
|
|
313
|
+
}), {
|
|
314
|
+
flavor: "primary",
|
|
315
|
+
get children () {
|
|
316
|
+
return createComponent(Show, {
|
|
317
|
+
get when () {
|
|
318
|
+
return !isSending();
|
|
319
|
+
},
|
|
320
|
+
get fallback () {
|
|
321
|
+
var _el$19 = _tmpl$4();
|
|
322
|
+
spread(_el$19, mergeProps(()=>({
|
|
323
|
+
class: CLASSES.panel.spinner
|
|
324
|
+
})), false);
|
|
325
|
+
return _el$19;
|
|
326
|
+
},
|
|
327
|
+
get children () {
|
|
328
|
+
return p.sendLabel ?? "Send";
|
|
329
|
+
}
|
|
330
|
+
});
|
|
331
|
+
}
|
|
332
|
+
})), _el$12);
|
|
333
|
+
return _el$;
|
|
352
334
|
};
|
|
353
335
|
const LiveChatPanel = defineComponent({
|
|
354
336
|
recipe: componentRecipe,
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import type { Component as __LayoutComponent } from "solid-js";
|
|
2
2
|
import "./Menu.css";
|
|
3
|
-
import {
|
|
4
|
-
import
|
|
3
|
+
import type { JSX } from "@solidjs/web";
|
|
4
|
+
import "../_shared/material.css";
|
|
5
|
+
import type { Material, State, UIBaseProps } from "../vocabulary";
|
|
5
6
|
import { type MenuSelectionMode } from "./context";
|
|
6
7
|
import MenuItem, { MenuItemIndicator, MenuItemRoot } from "./MenuItem.generated";
|
|
7
8
|
import MenuSection, { MenuSectionRoot } from "./MenuSection.generated";
|
|
@@ -18,6 +19,8 @@ export type MenuRootProps<T = unknown> = Omit<JSX.HTMLAttributes<HTMLDivElement>
|
|
|
18
19
|
onAction?: (key: string) => void;
|
|
19
20
|
state?: State;
|
|
20
21
|
disabled?: boolean;
|
|
22
|
+
/** What the surface is made of. `solid` by default. */
|
|
23
|
+
material?: Material;
|
|
21
24
|
};
|
|
22
25
|
declare const MenuRoot: __LayoutComponent<MenuRootProps>;
|
|
23
26
|
declare const Menu: __LayoutComponent<MenuRootProps<unknown>> & {
|
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import { createComponent, insert, mergeProps, spread, template } from "
|
|
2
|
-
import { defineComponent } from "solid-layouts/application-boundary";
|
|
1
|
+
import { createComponent, insert, mergeProps, spread, template } from "@solidjs/web";
|
|
2
|
+
import { defineComponent } from "solid-layouts/solid-2/application-boundary";
|
|
3
3
|
import "./Menu.css";
|
|
4
|
-
import { For, createMemo, createSignal,
|
|
5
|
-
import { twMerge } from "
|
|
4
|
+
import { For, createMemo, createSignal, omit } from "solid-js";
|
|
5
|
+
import { twMerge } from "../../lib/twMerge.js";
|
|
6
|
+
import "../_shared/material.css";
|
|
6
7
|
import { CLASSES, componentRecipe } from "./Menu.recipe.js";
|
|
7
8
|
import { MenuContext } from "./context.js";
|
|
8
9
|
import MenuItem_generated, { MenuItemIndicator, MenuItemRoot } from "./MenuItem.generated.js";
|
|
@@ -26,33 +27,15 @@ const invokeEventHandler = (handler, event)=>{
|
|
|
26
27
|
if (Array.isArray(handler) && "function" == typeof handler[0]) handler[0](handler[1], event);
|
|
27
28
|
};
|
|
28
29
|
const __solidLayoutMenuRoot = (_stable, p)=>{
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
"class",
|
|
32
|
-
"dataTheme",
|
|
33
|
-
"style",
|
|
34
|
-
"items",
|
|
35
|
-
"renderEmpty",
|
|
36
|
-
"selectionMode",
|
|
37
|
-
"selectedKeys",
|
|
38
|
-
"defaultSelectedKeys",
|
|
39
|
-
"disabledKeys",
|
|
40
|
-
"disallowEmptySelection",
|
|
41
|
-
"onSelectionChange",
|
|
42
|
-
"onAction",
|
|
43
|
-
"state",
|
|
44
|
-
"disabled",
|
|
45
|
-
"role",
|
|
46
|
-
"onKeyDown"
|
|
47
|
-
]);
|
|
48
|
-
const [internalSelectedKeys, setInternalSelectedKeys] = createSignal(normalizeKeys(local.defaultSelectedKeys));
|
|
30
|
+
const others = omit(p, "children", "class", "dataTheme", "style", "items", "renderEmpty", "selectionMode", "selectedKeys", "defaultSelectedKeys", "disabledKeys", "disallowEmptySelection", "onSelectionChange", "onAction", "material", "state", "disabled", "role", "onKeyDown");
|
|
31
|
+
const [internalSelectedKeys, setInternalSelectedKeys] = createSignal(normalizeKeys(p.defaultSelectedKeys));
|
|
49
32
|
const [focusedKey, setFocusedKey] = createSignal();
|
|
50
33
|
const [registeredItems, setRegisteredItems] = createSignal([]);
|
|
51
|
-
const selectionMode = ()=>
|
|
52
|
-
const isControlled = ()=>void 0 !==
|
|
53
|
-
const isDisabled = ()=>Boolean("disabled" ===
|
|
54
|
-
const selectedKeys = createMemo(()=>isControlled() ? normalizeKeys(
|
|
55
|
-
const disabledKeys = createMemo(()=>normalizeKeys(
|
|
34
|
+
const selectionMode = ()=>p.selectionMode ?? "none";
|
|
35
|
+
const isControlled = ()=>void 0 !== p.selectedKeys;
|
|
36
|
+
const isDisabled = ()=>Boolean("disabled" === p.state) || Boolean(p.disabled);
|
|
37
|
+
const selectedKeys = createMemo(()=>isControlled() ? normalizeKeys(p.selectedKeys) : internalSelectedKeys());
|
|
38
|
+
const disabledKeys = createMemo(()=>normalizeKeys(p.disabledKeys));
|
|
56
39
|
const getEnabledItems = ()=>registeredItems().filter((item)=>!item.disabled && !disabledKeys().has(item.key) && !isDisabled());
|
|
57
40
|
const focusItem = (item)=>{
|
|
58
41
|
if (!item) return;
|
|
@@ -81,27 +64,27 @@ const __solidLayoutMenuRoot = (_stable, p)=>{
|
|
|
81
64
|
};
|
|
82
65
|
const updateSelection = (nextKeys)=>{
|
|
83
66
|
if (!isControlled()) setInternalSelectedKeys(nextKeys);
|
|
84
|
-
|
|
67
|
+
p.onSelectionChange?.(nextKeys);
|
|
85
68
|
};
|
|
86
69
|
const activateKey = (key, event)=>{
|
|
87
70
|
if (event.defaultPrevented || isDisabled()) return;
|
|
88
71
|
if (disabledKeys().has(key)) return;
|
|
89
|
-
if ("none" === selectionMode()) return void
|
|
72
|
+
if ("none" === selectionMode()) return void p.onAction?.(key);
|
|
90
73
|
const current = selectedKeys();
|
|
91
74
|
if ("single" === selectionMode()) {
|
|
92
75
|
if (!(1 === current.size && current.has(key))) updateSelection(new Set([
|
|
93
76
|
key
|
|
94
77
|
]));
|
|
95
|
-
|
|
78
|
+
p.onAction?.(key);
|
|
96
79
|
return;
|
|
97
80
|
}
|
|
98
81
|
const next = new Set(current);
|
|
99
82
|
if (next.has(key)) {
|
|
100
|
-
if (
|
|
83
|
+
if (p.disallowEmptySelection && 1 === next.size) return void p.onAction?.(key);
|
|
101
84
|
next.delete(key);
|
|
102
85
|
} else next.add(key);
|
|
103
86
|
updateSelection(next);
|
|
104
|
-
|
|
87
|
+
p.onAction?.(key);
|
|
105
88
|
};
|
|
106
89
|
const registerItem = (item)=>{
|
|
107
90
|
setRegisteredItems((current)=>sortItemsByDomOrder([
|
|
@@ -125,7 +108,7 @@ const __solidLayoutMenuRoot = (_stable, p)=>{
|
|
|
125
108
|
return -1;
|
|
126
109
|
};
|
|
127
110
|
const handleKeyDown = (event)=>{
|
|
128
|
-
invokeEventHandler(
|
|
111
|
+
invokeEventHandler(p.onKeyDown, event);
|
|
129
112
|
if (event.defaultPrevented) return;
|
|
130
113
|
if (event.target !== event.currentTarget) return;
|
|
131
114
|
if ("ArrowDown" === event.key || "ArrowRight" === event.key) {
|
|
@@ -146,15 +129,15 @@ const __solidLayoutMenuRoot = (_stable, p)=>{
|
|
|
146
129
|
}
|
|
147
130
|
};
|
|
148
131
|
const renderChildren = ()=>{
|
|
149
|
-
const isItemRenderer = "function" == typeof
|
|
150
|
-
const resolvedStaticChildren = "function" == typeof
|
|
151
|
-
if (
|
|
152
|
-
if (0 ===
|
|
132
|
+
const isItemRenderer = "function" == typeof p.children && p.children.length > 0;
|
|
133
|
+
const resolvedStaticChildren = "function" == typeof p.children ? isItemRenderer ? null : p.children() : p.children ?? null;
|
|
134
|
+
if (p.items) {
|
|
135
|
+
if (0 === p.items.length) return p.renderEmpty?.() ?? null;
|
|
153
136
|
if (isItemRenderer) {
|
|
154
|
-
const renderItem =
|
|
137
|
+
const renderItem = p.children;
|
|
155
138
|
return createComponent(For, {
|
|
156
139
|
get each () {
|
|
157
|
-
return
|
|
140
|
+
return p.items;
|
|
158
141
|
},
|
|
159
142
|
children: (item)=>renderItem(item)
|
|
160
143
|
});
|
|
@@ -162,7 +145,7 @@ const __solidLayoutMenuRoot = (_stable, p)=>{
|
|
|
162
145
|
}
|
|
163
146
|
return resolvedStaticChildren;
|
|
164
147
|
};
|
|
165
|
-
return createComponent(MenuContext
|
|
148
|
+
return createComponent(MenuContext, {
|
|
166
149
|
value: {
|
|
167
150
|
selectionMode,
|
|
168
151
|
selectedKeys,
|
|
@@ -183,14 +166,17 @@ const __solidLayoutMenuRoot = (_stable, p)=>{
|
|
|
183
166
|
var _el$ = _tmpl$();
|
|
184
167
|
spread(_el$, mergeProps(others, {
|
|
185
168
|
get role () {
|
|
186
|
-
return
|
|
169
|
+
return p.role ?? "menu";
|
|
187
170
|
},
|
|
188
171
|
get ["aria-disabled"] () {
|
|
189
172
|
return isDisabled() ? "true" : void 0;
|
|
190
173
|
},
|
|
191
174
|
"data-slot": "menu",
|
|
175
|
+
get ["data-material"] () {
|
|
176
|
+
return p.material ?? "solid";
|
|
177
|
+
},
|
|
192
178
|
get ["data-theme"] () {
|
|
193
|
-
return
|
|
179
|
+
return p.dataTheme;
|
|
194
180
|
},
|
|
195
181
|
get ["data-selection-mode"] () {
|
|
196
182
|
return selectionMode();
|
|
@@ -199,13 +185,13 @@ const __solidLayoutMenuRoot = (_stable, p)=>{
|
|
|
199
185
|
return isDisabled() ? "true" : "false";
|
|
200
186
|
}
|
|
201
187
|
}, ()=>({
|
|
202
|
-
class: twMerge(CLASSES.Root.base,
|
|
188
|
+
class: twMerge(CLASSES.Root.base, p.class)
|
|
203
189
|
}), {
|
|
204
190
|
get style () {
|
|
205
|
-
return
|
|
191
|
+
return p.style;
|
|
206
192
|
},
|
|
207
193
|
onKeyDown: handleKeyDown
|
|
208
|
-
}),
|
|
194
|
+
}), true);
|
|
209
195
|
insert(_el$, renderChildren);
|
|
210
196
|
return _el$;
|
|
211
197
|
}
|
|
@@ -18,7 +18,7 @@ export declare const CLASSES: {
|
|
|
18
18
|
readonly title: "menu-section__title";
|
|
19
19
|
};
|
|
20
20
|
};
|
|
21
|
-
export declare const componentRecipe: import("solid-layouts").Recipe<{
|
|
21
|
+
export declare const componentRecipe: import("solid-layouts/solid-2").Recipe<{
|
|
22
22
|
readonly component: "menu";
|
|
23
23
|
readonly slots: {
|
|
24
24
|
readonly heading: {};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { Component as __LayoutComponent } from "solid-js";
|
|
2
|
-
import {
|
|
2
|
+
import type { JSX } from "@solidjs/web";
|
|
3
3
|
import type { UIBaseProps, State } from "../vocabulary";
|
|
4
4
|
import { type MenuItemVariant, type MenuSelectionMode } from "./context";
|
|
5
5
|
type MenuItemRenderProps = {
|