@smwb/ui-solid 0.12.1 → 0.14.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 +638 -0
- package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
- package/dist/assets/styles/less/components/button/button.entry.css +1 -1
- package/dist/assets/styles/less/components/card/card.entry.css +1 -1
- package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
- package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
- package/dist/assets/styles/less/components/commandPalette/commandPalette.entry.css +1 -0
- package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
- package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
- package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
- package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
- package/dist/assets/styles/less/components/list/list.entry.css +1 -1
- package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
- package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
- package/dist/assets/styles/less/components/qrCode/qrCode.entry.css +1 -0
- package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
- package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
- package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
- package/dist/assets/styles/less/components/sidebar/sidebar.entry.css +1 -1
- package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
- package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
- package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
- package/dist/assets/styles/less/components/table/table.entry.css +1 -1
- package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
- package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
- package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
- package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
- package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
- package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
- package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
- package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
- package/dist/assets/styles/less/tokens.entry.css +1 -1
- package/dist/components/base/animateHeight/animateHeight.js +41 -42
- package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
- package/dist/components/base/icon/icon.d.ts +6 -2
- package/dist/components/base/icon/icon.js +41 -41
- package/dist/components/base/icon/icon.js.map +1 -1
- package/dist/components/base/ripple/ripple.d.ts +3 -0
- package/dist/components/base/ripple/ripple.js +46 -34
- package/dist/components/base/ripple/ripple.js.map +1 -1
- package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
- package/dist/components/dataDisplay/avatar/avatar.js +37 -33
- package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/components/dataDisplay/card/card.d.ts +32 -1
- package/dist/components/dataDisplay/card/card.js +47 -34
- package/dist/components/dataDisplay/card/card.js.map +1 -1
- package/dist/components/dataDisplay/carousel/carousel.js +92 -88
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
- package/dist/components/dataDisplay/chat/chat.d.ts +42 -0
- package/dist/components/dataDisplay/chat/chat.js +116 -57
- package/dist/components/dataDisplay/chat/chat.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
- package/dist/components/dataDisplay/chat/chatComposer.js +21 -19
- package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
- package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
- package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
- package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
- package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
- package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
- package/dist/components/dataDisplay/chat/index.d.ts +1 -1
- package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
- package/dist/components/dataDisplay/chat/utils.js.map +1 -1
- package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
- package/dist/components/dataDisplay/chip/chip.js +104 -63
- package/dist/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
- package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
- package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
- package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
- package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
- package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
- package/dist/components/dataDisplay/dagView/dagView.js +503 -0
- package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
- package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
- package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
- package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
- package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
- package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
- package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
- package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
- package/dist/components/dataDisplay/diffStat/diffStat.d.ts +55 -0
- package/dist/components/dataDisplay/diffStat/diffStat.js +70 -0
- package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
- package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
- package/dist/components/dataDisplay/kanban/kanban.js +71 -61
- package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
- package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
- package/dist/components/dataDisplay/kbd/kbd.d.ts +41 -0
- package/dist/components/dataDisplay/kbd/kbd.js +47 -0
- package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
- package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
- package/dist/components/dataDisplay/kbd/kbdKeys.js +70 -0
- package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
- package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
- package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
- package/dist/components/dataDisplay/list/list.d.ts +2 -0
- package/dist/components/dataDisplay/list/list.js +16 -12
- package/dist/components/dataDisplay/list/list.js.map +1 -1
- package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
- package/dist/components/dataDisplay/list/listItem.js +58 -19
- package/dist/components/dataDisplay/list/listItem.js.map +1 -1
- package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
- package/dist/components/dataDisplay/meter/meter.js +15 -13
- package/dist/components/dataDisplay/meter/meter.js.map +1 -1
- package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
- package/dist/components/dataDisplay/personChip/personChip.js +12 -10
- package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
- package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
- package/dist/components/dataDisplay/qrCode/qrCode.d.ts +30 -0
- package/dist/components/dataDisplay/qrCode/qrCode.js +88 -0
- package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
- package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
- package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
- package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
- package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
- package/dist/components/dataDisplay/stat/stat.js +41 -43
- package/dist/components/dataDisplay/stat/stat.js.map +1 -1
- package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
- package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
- package/dist/components/dataDisplay/statusDot/statusDot.js +31 -0
- package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
- package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
- package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +75 -0
- package/dist/components/dataDisplay/swimlanes/swimlanes.js +361 -0
- package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
- package/dist/components/dataDisplay/table/table.d.ts +10 -1
- package/dist/components/dataDisplay/table/table.js +46 -22
- package/dist/components/dataDisplay/table/table.js.map +1 -1
- package/dist/components/dataDisplay/table/tableBody.js +25 -12
- package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
- package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
- package/dist/components/dataDisplay/table/tableCell.js +15 -14
- package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
- package/dist/components/dataDisplay/table/tableColumns.js +254 -0
- package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
- package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
- package/dist/components/dataDisplay/table/tableEntities.js +6 -0
- package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHead.js +29 -11
- package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
- package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
- package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
- package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
- package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
- package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
- package/dist/components/dataDisplay/table/tableRow.js +28 -13
- package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
- package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
- package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
- package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/components/dataDisplay/treeView/treeView.d.ts +22 -0
- package/dist/components/dataDisplay/treeView/treeView.js +164 -96
- package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/components/dataDisplay/typography/typography.js +22 -26
- package/dist/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
- package/dist/components/feedBack/emptyState/emptyState.js +20 -16
- package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
- package/dist/components/feedBack/message/message.d.ts +2 -0
- package/dist/components/feedBack/message/message.js +17 -13
- package/dist/components/feedBack/message/message.js.map +1 -1
- package/dist/components/feedBack/modal/modal.d.ts +9 -0
- package/dist/components/feedBack/modal/modal.js +71 -53
- package/dist/components/feedBack/modal/modal.js.map +1 -1
- package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
- package/dist/components/feedBack/skeleton/skeleton.js +43 -35
- package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/components/feedBack/snackbar/snackbar.js +24 -20
- package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
- package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
- package/dist/components/feedBack/tooltip/tooltip.js +65 -41
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/components/inputs/button/button.d.ts +14 -0
- package/dist/components/inputs/button/button.js +71 -36
- package/dist/components/inputs/button/button.js.map +1 -1
- package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
- package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
- package/dist/components/inputs/checkbox/checkbox.js +59 -36
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/components/inputs/composer/composer.d.ts +148 -0
- package/dist/components/inputs/composer/composer.js +276 -0
- package/dist/components/inputs/composer/composer.js.map +1 -0
- package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
- package/dist/components/inputs/composer/composerFiles.js +18 -0
- package/dist/components/inputs/composer/composerFiles.js.map +1 -0
- package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
- package/dist/components/inputs/composer/composerKeys.js +7 -0
- package/dist/components/inputs/composer/composerKeys.js.map +1 -0
- package/dist/components/inputs/composer/index.d.ts +3 -0
- package/dist/components/inputs/datePicker/datePicker.js +108 -97
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
- package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
- package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
- package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
- package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
- package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
- package/dist/components/inputs/radioButton/radioButton.js +48 -34
- package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
- package/dist/components/inputs/rating/rating.d.ts +9 -0
- package/dist/components/inputs/rating/rating.js +74 -53
- package/dist/components/inputs/rating/rating.js.map +1 -1
- package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
- package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
- package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
- package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
- package/dist/components/inputs/selectField/optionNavigation.js +37 -0
- package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
- package/dist/components/inputs/selectField/selectField.d.ts +32 -1
- package/dist/components/inputs/selectField/selectField.js +297 -126
- package/dist/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/components/inputs/slider/slider.d.ts +25 -3
- package/dist/components/inputs/slider/slider.js +320 -197
- package/dist/components/inputs/slider/slider.js.map +1 -1
- package/dist/components/inputs/textField/textField.d.ts +9 -1
- package/dist/components/inputs/textField/textField.js +104 -51
- package/dist/components/inputs/textField/textField.js.map +1 -1
- package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
- package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
- package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/components/inputs/timePicker/timePicker.js +73 -62
- package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/components/inputs/toggle/toggle.d.ts +4 -0
- package/dist/components/inputs/toggle/toggle.js +43 -31
- package/dist/components/inputs/toggle/toggle.js.map +1 -1
- package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
- package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
- package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
- package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
- package/dist/components/layout/appLayout/appLayout.js +32 -30
- package/dist/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/components/layout/divider/divider.d.ts +2 -0
- package/dist/components/layout/divider/divider.js +22 -20
- package/dist/components/layout/divider/divider.js.map +1 -1
- package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
- package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
- package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
- package/dist/components/layout/grid/grid.d.ts +8 -0
- package/dist/components/layout/grid/grid.js +52 -44
- package/dist/components/layout/grid/grid.js.map +1 -1
- package/dist/components/layout/page/page.d.ts +2 -0
- package/dist/components/layout/page/page.js +14 -12
- package/dist/components/layout/page/page.js.map +1 -1
- package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
- package/dist/components/layout/pageHeader/pageHeader.js +23 -21
- package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
- package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
- package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
- package/dist/components/layout/sheet/sheet.d.ts +14 -0
- package/dist/components/layout/sheet/sheet.js +92 -76
- package/dist/components/layout/sheet/sheet.js.map +1 -1
- package/dist/components/layout/stack/stack.d.ts +2 -0
- package/dist/components/layout/stack/stack.js +26 -24
- package/dist/components/layout/stack/stack.js.map +1 -1
- package/dist/components/layout/tabGroups/index.d.ts +4 -0
- package/dist/components/layout/tabGroups/tabGroups.d.ts +102 -0
- package/dist/components/layout/tabGroups/tabGroups.js +895 -0
- package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
- package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
- package/dist/components/layout/tabGroups/tabGroupsFocus.js +192 -0
- package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
- package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
- package/dist/components/layout/tabGroups/tabGroupsLayout.js +480 -0
- package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
- package/dist/components/navigation/appBar/appBar.d.ts +24 -0
- package/dist/components/navigation/appBar/appBar.js +68 -28
- package/dist/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
- package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/components/navigation/commandPalette/commandPalette.d.ts +126 -0
- package/dist/components/navigation/commandPalette/commandPalette.js +457 -0
- package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
- package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
- package/dist/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
- package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
- package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
- package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
- package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
- package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
- package/dist/components/navigation/commandPalette/index.d.ts +6 -0
- package/dist/components/navigation/menu/menu.d.ts +6 -0
- package/dist/components/navigation/menu/menu.js.map +1 -1
- package/dist/components/navigation/menu/menuComponent.js +12 -23
- package/dist/components/navigation/menu/menuComponent.js.map +1 -1
- package/dist/components/navigation/menu/menuContext.d.ts +2 -0
- package/dist/components/navigation/menu/menuContext.js.map +1 -1
- package/dist/components/navigation/menu/menuFloating.js +54 -46
- package/dist/components/navigation/menu/menuFloating.js.map +1 -1
- package/dist/components/navigation/menu/menuItem.d.ts +4 -0
- package/dist/components/navigation/menu/menuItem.js +58 -33
- package/dist/components/navigation/menu/menuItem.js.map +1 -1
- package/dist/components/navigation/menu/menuList.d.ts +4 -0
- package/dist/components/navigation/menu/menuList.js +34 -16
- package/dist/components/navigation/menu/menuList.js.map +1 -1
- package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
- package/dist/components/navigation/menu/menuSubmenu.js +58 -38
- package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
- package/dist/components/navigation/pagination/pagination.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination.js +28 -24
- package/dist/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
- package/dist/components/navigation/sidebar/sidebar.js +37 -33
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/components/navigation/stepper/stepper.d.ts +2 -0
- package/dist/components/navigation/stepper/stepper.js +46 -42
- package/dist/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/components/navigation/tabs/index.d.ts +3 -1
- package/dist/components/navigation/tabs/tab/tab.d.ts +89 -2
- package/dist/components/navigation/tabs/tab/tab.js +174 -43
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +20 -0
- package/dist/components/navigation/tabs/tabPanel/tabPanel.js +34 -0
- package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +79 -2
- package/dist/components/navigation/tabs/tabs.js +389 -147
- package/dist/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
- package/dist/components/navigation/tabs/tabs.utils.js +11 -0
- package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
- package/dist/components/navigation/tabs/tabsContext.d.ts +36 -4
- package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
- package/dist/connects/rt/table/table.d.ts +16 -1
- package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
- package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
- package/dist/headless/components/base/icon/icon.js +40 -40
- package/dist/headless/components/base/icon/icon.js.map +1 -1
- package/dist/headless/components/base/ripple/ripple.js +46 -34
- package/dist/headless/components/base/ripple/ripple.js.map +1 -1
- package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
- package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/headless/components/dataDisplay/card/card.js +44 -31
- package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
- package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
- package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chat.js +116 -57
- package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatComposer.js +21 -19
- package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
- package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
- package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
- package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
- package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
- package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
- package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
- package/dist/headless/components/dataDisplay/dagView/dagView.js +501 -0
- package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
- package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
- package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
- package/dist/headless/components/dataDisplay/diffStat/diffStat.js +68 -0
- package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
- package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
- package/dist/headless/components/dataDisplay/kbd/kbd.js +45 -0
- package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
- package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +70 -0
- package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
- package/dist/headless/components/dataDisplay/list/list.js +16 -12
- package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
- package/dist/headless/components/dataDisplay/list/listItem.js +58 -19
- package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
- package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
- package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
- package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
- package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
- package/dist/headless/components/dataDisplay/qrCode/qrCode.js +86 -0
- package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
- package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
- package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
- package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
- package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
- package/dist/headless/components/dataDisplay/statusDot/statusDot.js +29 -0
- package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
- package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +359 -0
- package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/table.js +47 -23
- package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
- package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
- package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
- package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
- package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
- package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
- package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
- package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/headless/components/dataDisplay/treeView/treeView.js +164 -96
- package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
- package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
- package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
- package/dist/headless/components/feedBack/message/message.js +17 -13
- package/dist/headless/components/feedBack/message/message.js.map +1 -1
- package/dist/headless/components/feedBack/modal/modal.js +71 -53
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
- package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
- package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
- package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
- package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/headless/components/inputs/button/button.js +71 -36
- package/dist/headless/components/inputs/button/button.js.map +1 -1
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
- package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
- package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/headless/components/inputs/composer/composer.js +274 -0
- package/dist/headless/components/inputs/composer/composer.js.map +1 -0
- package/dist/headless/components/inputs/composer/composerFiles.js +18 -0
- package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
- package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
- package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
- package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
- package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
- package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
- package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
- package/dist/headless/components/inputs/rating/rating.js +74 -53
- package/dist/headless/components/inputs/rating/rating.js.map +1 -1
- package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
- package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
- package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
- package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
- package/dist/headless/components/inputs/selectField/selectField.js +297 -126
- package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/headless/components/inputs/slider/slider.js +320 -197
- package/dist/headless/components/inputs/slider/slider.js.map +1 -1
- package/dist/headless/components/inputs/textField/textField.js +104 -51
- package/dist/headless/components/inputs/textField/textField.js.map +1 -1
- package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
- package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
- package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/headless/components/inputs/toggle/toggle.js +42 -30
- package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
- package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
- package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
- package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/headless/components/layout/divider/divider.js +19 -17
- package/dist/headless/components/layout/divider/divider.js.map +1 -1
- package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
- package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
- package/dist/headless/components/layout/grid/grid.js +54 -46
- package/dist/headless/components/layout/grid/grid.js.map +1 -1
- package/dist/headless/components/layout/page/page.js +12 -10
- package/dist/headless/components/layout/page/page.js.map +1 -1
- package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
- package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
- package/dist/headless/components/layout/sheet/sheet.js +101 -85
- package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
- package/dist/headless/components/layout/stack/stack.js +23 -21
- package/dist/headless/components/layout/stack/stack.js.map +1 -1
- package/dist/headless/components/layout/tabGroups/tabGroups.js +893 -0
- package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +192 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +480 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
- package/dist/headless/components/navigation/appBar/appBar.js +68 -28
- package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/headless/components/navigation/commandPalette/commandPalette.js +455 -0
- package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +15 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
- package/dist/headless/components/navigation/menu/menu.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
- package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
- package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuItem.js +58 -33
- package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuList.js +34 -16
- package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
- package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
- package/dist/headless/components/navigation/pagination/pagination.js +23 -19
- package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/headless/components/navigation/sidebar/sidebar.js +39 -35
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/headless/components/navigation/stepper/stepper.js +38 -34
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tab/tab.js +175 -44
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +32 -0
- package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabs.js +389 -147
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
- package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
- package/dist/headless/index.js +405 -363
- package/dist/headless/index.js.map +1 -1
- package/dist/headless/primitives/createDismissOnEscape.js +14 -0
- package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
- package/dist/headless/primitives/createFocusTrap.js +17 -16
- package/dist/headless/primitives/createFocusTrap.js.map +1 -1
- package/dist/headless/primitives/createHelperText.js +14 -0
- package/dist/headless/primitives/createHelperText.js.map +1 -0
- package/dist/headless/primitives/createKeyboardShortcut.js +16 -0
- package/dist/headless/primitives/createKeyboardShortcut.js.map +1 -0
- package/dist/headless/primitives/mergeStyle.js +9 -0
- package/dist/headless/primitives/mergeStyle.js.map +1 -0
- package/dist/headless/primitives/overlayLayer.js +14 -7
- package/dist/headless/primitives/overlayLayer.js.map +1 -1
- package/dist/headless/primitives/restoreFocus.js +10 -0
- package/dist/headless/primitives/restoreFocus.js.map +1 -0
- package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
- package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
- package/dist/headless/source/components/base/icon/icon.jsx +10 -12
- package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
- package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
- package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
- package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
- package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
- package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chat.jsx +38 -4
- package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
- package/dist/headless/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
- package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
- package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
- package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/index.js.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/utils.js.map +2 -2
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
- package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
- package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +648 -0
- package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
- package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
- package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
- package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx +76 -0
- package/dist/headless/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/diffStat/index.js +19 -0
- package/dist/headless/source/components/dataDisplay/diffStat/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
- package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
- package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/kbd/index.js +9 -0
- package/dist/headless/source/components/dataDisplay/kbd/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx +48 -0
- package/dist/headless/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
- package/dist/headless/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
- package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/list/listItem.jsx +47 -16
- package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
- package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
- package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/qrCode/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/qrCode/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx +94 -0
- package/dist/headless/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
- package/dist/headless/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
- package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/statusDot/index.js +6 -0
- package/dist/headless/source/components/dataDisplay/statusDot/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx +28 -0
- package/dist/headless/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/swimlanes/index.js +15 -0
- package/dist/headless/source/components/dataDisplay/swimlanes/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx +450 -0
- package/dist/headless/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
- package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
- package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
- package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
- package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
- package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
- package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
- package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +127 -39
- package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
- package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
- package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/modal/modal.jsx +39 -6
- package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
- package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
- package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
- package/dist/headless/source/components/inputs/button/button.jsx +14 -5
- package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
- package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
- package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
- package/dist/headless/source/components/inputs/composer/composer.jsx +319 -0
- package/dist/headless/source/components/inputs/composer/composer.jsx.map +1 -0
- package/dist/headless/source/components/inputs/composer/composerFiles.js +27 -0
- package/dist/headless/source/components/inputs/composer/composerFiles.js.map +7 -0
- package/dist/headless/source/components/inputs/composer/composerKeys.js +11 -0
- package/dist/headless/source/components/inputs/composer/composerKeys.js.map +7 -0
- package/dist/headless/source/components/inputs/composer/index.js +5 -0
- package/dist/headless/source/components/inputs/composer/index.js.map +7 -0
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
- package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
- package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
- package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
- package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
- package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
- package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
- package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
- package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
- package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
- package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
- package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
- package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
- package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
- package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
- package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
- package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
- package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
- package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
- package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
- package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
- package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
- package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
- package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
- package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
- package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
- package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
- package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
- package/dist/headless/source/components/layout/page/page.jsx +10 -2
- package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
- package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
- package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
- package/dist/headless/source/components/layout/sheet/sheet.jsx +39 -19
- package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
- package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
- package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
- package/dist/headless/source/components/layout/tabGroups/index.js +8 -0
- package/dist/headless/source/components/layout/tabGroups/index.js.map +7 -0
- package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx +1117 -0
- package/dist/headless/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
- package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
- package/dist/headless/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
- package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
- package/dist/headless/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
- package/dist/headless/source/components/navigation/appBar/appBar.jsx +30 -5
- package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
- package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
- package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx +506 -0
- package/dist/headless/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
- package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
- package/dist/headless/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
- package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
- package/dist/headless/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
- package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
- package/dist/headless/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
- package/dist/headless/source/components/navigation/commandPalette/index.js +11 -0
- package/dist/headless/source/components/navigation/commandPalette/index.js.map +7 -0
- package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
- package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
- package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
- package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
- package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
- package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
- package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
- package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
- package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +6 -3
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
- package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/index.js +2 -0
- package/dist/headless/source/components/navigation/tabs/index.js.map +2 -2
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +144 -21
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx +28 -0
- package/dist/headless/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
- package/dist/headless/source/components/navigation/tabs/tabs.jsx +392 -20
- package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/tabs.utils.js +18 -0
- package/dist/headless/source/components/navigation/tabs/tabs.utils.js.map +7 -0
- package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
- package/dist/headless/source/connects/rt/table/table.jsx +7 -2
- package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
- package/dist/headless/source/index.js +44 -1
- package/dist/headless/source/index.js.map +2 -2
- package/dist/headless/source/primitives/createDismissOnEscape.js +17 -0
- package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
- package/dist/headless/source/primitives/createFocusTrap.js +9 -3
- package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
- package/dist/headless/source/primitives/createHelperText.js +16 -0
- package/dist/headless/source/primitives/createHelperText.js.map +7 -0
- package/dist/headless/source/primitives/createKeyboardShortcut.js +23 -0
- package/dist/headless/source/primitives/createKeyboardShortcut.js.map +7 -0
- package/dist/headless/source/primitives/mergeStyle.js +15 -0
- package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
- package/dist/headless/source/primitives/overlayLayer.js +10 -2
- package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
- package/dist/headless/source/primitives/restoreFocus.js +14 -0
- package/dist/headless/source/primitives/restoreFocus.js.map +7 -0
- package/dist/headless/source/utils/controlProps.js +22 -0
- package/dist/headless/source/utils/controlProps.js.map +7 -0
- package/dist/headless/source/utils/keyboardShortcut.js +74 -0
- package/dist/headless/source/utils/keyboardShortcut.js.map +7 -0
- package/dist/headless/source/utils/linkAttrs.js +16 -0
- package/dist/headless/source/utils/linkAttrs.js.map +7 -0
- package/dist/headless/source/utils/ownClick.js +41 -0
- package/dist/headless/source/utils/ownClick.js.map +7 -0
- package/dist/headless/utils/controlProps.js +20 -0
- package/dist/headless/utils/controlProps.js.map +1 -0
- package/dist/headless/utils/keyboardShortcut.js +48 -0
- package/dist/headless/utils/keyboardShortcut.js.map +1 -0
- package/dist/headless/utils/linkAttrs.js +13 -0
- package/dist/headless/utils/linkAttrs.js.map +1 -0
- package/dist/headless/utils/ownClick.js +39 -0
- package/dist/headless/utils/ownClick.js.map +1 -0
- package/dist/index.d.ts +26 -3
- package/dist/index.js +405 -363
- package/dist/index.js.map +1 -1
- package/dist/primitives/createDismissOnEscape.d.ts +12 -0
- package/dist/primitives/createDismissOnEscape.js +14 -0
- package/dist/primitives/createDismissOnEscape.js.map +1 -0
- package/dist/primitives/createFocusTrap.d.ts +7 -0
- package/dist/primitives/createFocusTrap.js +17 -16
- package/dist/primitives/createFocusTrap.js.map +1 -1
- package/dist/primitives/createHelperText.d.ts +26 -0
- package/dist/primitives/createHelperText.js +14 -0
- package/dist/primitives/createHelperText.js.map +1 -0
- package/dist/primitives/createKeyboardShortcut.d.ts +23 -0
- package/dist/primitives/createKeyboardShortcut.js +16 -0
- package/dist/primitives/createKeyboardShortcut.js.map +1 -0
- package/dist/primitives/mergeStyle.d.ts +19 -0
- package/dist/primitives/mergeStyle.js +9 -0
- package/dist/primitives/mergeStyle.js.map +1 -0
- package/dist/primitives/overlayLayer.d.ts +15 -3
- package/dist/primitives/overlayLayer.js +14 -7
- package/dist/primitives/overlayLayer.js.map +1 -1
- package/dist/primitives/restoreFocus.d.ts +8 -0
- package/dist/primitives/restoreFocus.js +10 -0
- package/dist/primitives/restoreFocus.js.map +1 -0
- package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
- package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
- package/dist/source/components/base/icon/icon.jsx +10 -12
- package/dist/source/components/base/icon/icon.jsx.map +1 -1
- package/dist/source/components/base/ripple/ripple.jsx +16 -4
- package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
- package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
- package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
- package/dist/source/components/dataDisplay/card/card.jsx +31 -12
- package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
- package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
- package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
- package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chat.jsx +38 -4
- package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatComposer.jsx +1 -0
- package/dist/source/components/dataDisplay/chat/chatComposer.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
- package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
- package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
- package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/index.js.map +1 -1
- package/dist/source/components/dataDisplay/chat/utils.js.map +2 -2
- package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
- package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
- package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
- package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
- package/dist/source/components/dataDisplay/dagView/dagView.jsx +650 -0
- package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
- package/dist/source/components/dataDisplay/dagView/index.js +10 -0
- package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
- package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
- package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
- package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
- package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
- package/dist/source/components/dataDisplay/diffStat/diffStat.jsx +78 -0
- package/dist/source/components/dataDisplay/diffStat/diffStat.jsx.map +1 -0
- package/dist/source/components/dataDisplay/diffStat/index.js +19 -0
- package/dist/source/components/dataDisplay/diffStat/index.js.map +7 -0
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
- package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
- package/dist/source/components/dataDisplay/kbd/index.js +9 -0
- package/dist/source/components/dataDisplay/kbd/index.js.map +7 -0
- package/dist/source/components/dataDisplay/kbd/kbd.jsx +50 -0
- package/dist/source/components/dataDisplay/kbd/kbd.jsx.map +1 -0
- package/dist/source/components/dataDisplay/kbd/kbdKeys.js +79 -0
- package/dist/source/components/dataDisplay/kbd/kbdKeys.js.map +7 -0
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
- package/dist/source/components/dataDisplay/list/list.jsx +3 -3
- package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
- package/dist/source/components/dataDisplay/list/listItem.jsx +47 -16
- package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
- package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
- package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
- package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
- package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
- package/dist/source/components/dataDisplay/qrCode/index.js +6 -0
- package/dist/source/components/dataDisplay/qrCode/index.js.map +7 -0
- package/dist/source/components/dataDisplay/qrCode/qrCode.jsx +96 -0
- package/dist/source/components/dataDisplay/qrCode/qrCode.jsx.map +1 -0
- package/dist/source/components/dataDisplay/qrCode/qrCodePath.js +24 -0
- package/dist/source/components/dataDisplay/qrCode/qrCodePath.js.map +7 -0
- package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
- package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
- package/dist/source/components/dataDisplay/statusDot/index.js +6 -0
- package/dist/source/components/dataDisplay/statusDot/index.js.map +7 -0
- package/dist/source/components/dataDisplay/statusDot/statusDot.jsx +30 -0
- package/dist/source/components/dataDisplay/statusDot/statusDot.jsx.map +1 -0
- package/dist/source/components/dataDisplay/swimlanes/index.js +15 -0
- package/dist/source/components/dataDisplay/swimlanes/index.js.map +7 -0
- package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx +452 -0
- package/dist/source/components/dataDisplay/swimlanes/swimlanes.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/table.jsx +18 -1
- package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
- package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
- package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
- package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
- package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
- package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
- package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
- package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
- package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
- package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
- package/dist/source/components/dataDisplay/treeView/treeView.jsx +127 -39
- package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
- package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
- package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
- package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
- package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
- package/dist/source/components/feedBack/message/message.jsx +5 -4
- package/dist/source/components/feedBack/message/message.jsx.map +1 -1
- package/dist/source/components/feedBack/modal/modal.jsx +39 -6
- package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
- package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
- package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
- package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
- package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
- package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
- package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
- package/dist/source/components/inputs/button/button.jsx +14 -5
- package/dist/source/components/inputs/button/button.jsx.map +1 -1
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
- package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
- package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
- package/dist/source/components/inputs/composer/composer.jsx +321 -0
- package/dist/source/components/inputs/composer/composer.jsx.map +1 -0
- package/dist/source/components/inputs/composer/composerFiles.js +27 -0
- package/dist/source/components/inputs/composer/composerFiles.js.map +7 -0
- package/dist/source/components/inputs/composer/composerKeys.js +11 -0
- package/dist/source/components/inputs/composer/composerKeys.js.map +7 -0
- package/dist/source/components/inputs/composer/index.js +5 -0
- package/dist/source/components/inputs/composer/index.js.map +7 -0
- package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
- package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
- package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
- package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
- package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
- package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
- package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
- package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
- package/dist/source/components/inputs/rating/rating.jsx +49 -20
- package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
- package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
- package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
- package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
- package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
- package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
- package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
- package/dist/source/components/inputs/slider/slider.jsx +89 -18
- package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textField.jsx +47 -9
- package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
- package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
- package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
- package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
- package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
- package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
- package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/source/components/layout/divider/divider.jsx +6 -5
- package/dist/source/components/layout/divider/divider.jsx.map +1 -1
- package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
- package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
- package/dist/source/components/layout/grid/grid.jsx +20 -8
- package/dist/source/components/layout/grid/grid.jsx.map +1 -1
- package/dist/source/components/layout/page/page.jsx +10 -2
- package/dist/source/components/layout/page/page.jsx.map +1 -1
- package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
- package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
- package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
- package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
- package/dist/source/components/layout/sheet/sheet.jsx +39 -19
- package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
- package/dist/source/components/layout/stack/stack.jsx +15 -11
- package/dist/source/components/layout/stack/stack.jsx.map +1 -1
- package/dist/source/components/layout/tabGroups/index.js +8 -0
- package/dist/source/components/layout/tabGroups/index.js.map +7 -0
- package/dist/source/components/layout/tabGroups/tabGroups.jsx +1119 -0
- package/dist/source/components/layout/tabGroups/tabGroups.jsx.map +1 -0
- package/dist/source/components/layout/tabGroups/tabGroupsFocus.js +222 -0
- package/dist/source/components/layout/tabGroups/tabGroupsFocus.js.map +7 -0
- package/dist/source/components/layout/tabGroups/tabGroupsLayout.js +629 -0
- package/dist/source/components/layout/tabGroups/tabGroupsLayout.js.map +7 -0
- package/dist/source/components/navigation/appBar/appBar.jsx +30 -5
- package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
- package/dist/source/components/navigation/commandPalette/commandPalette.jsx +508 -0
- package/dist/source/components/navigation/commandPalette/commandPalette.jsx.map +1 -0
- package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
- package/dist/source/components/navigation/commandPalette/commandPaletteFilter.js.map +7 -0
- package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js +54 -0
- package/dist/source/components/navigation/commandPalette/commandPaletteNavigation.js.map +7 -0
- package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js +1 -0
- package/dist/source/components/navigation/commandPalette/commandPaletteTypes.js.map +7 -0
- package/dist/source/components/navigation/commandPalette/index.js +11 -0
- package/dist/source/components/navigation/commandPalette/index.js.map +7 -0
- package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
- package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
- package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
- package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
- package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuList.jsx +19 -7
- package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
- package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
- package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
- package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
- package/dist/source/components/navigation/sidebar/sidebar.jsx +6 -3
- package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
- package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
- package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/index.js +2 -0
- package/dist/source/components/navigation/tabs/index.js.map +2 -2
- package/dist/source/components/navigation/tabs/tab/tab.jsx +144 -21
- package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx +30 -0
- package/dist/source/components/navigation/tabs/tabPanel/tabPanel.jsx.map +1 -0
- package/dist/source/components/navigation/tabs/tabs.jsx +392 -20
- package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tabs.utils.js +18 -0
- package/dist/source/components/navigation/tabs/tabs.utils.js.map +7 -0
- package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
- package/dist/source/connects/rt/table/table.jsx +7 -2
- package/dist/source/connects/rt/table/table.jsx.map +1 -1
- package/dist/source/index.js +44 -1
- package/dist/source/index.js.map +2 -2
- package/dist/source/primitives/createDismissOnEscape.js +17 -0
- package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
- package/dist/source/primitives/createFocusTrap.js +9 -3
- package/dist/source/primitives/createFocusTrap.js.map +2 -2
- package/dist/source/primitives/createHelperText.js +16 -0
- package/dist/source/primitives/createHelperText.js.map +7 -0
- package/dist/source/primitives/createKeyboardShortcut.js +23 -0
- package/dist/source/primitives/createKeyboardShortcut.js.map +7 -0
- package/dist/source/primitives/mergeStyle.js +15 -0
- package/dist/source/primitives/mergeStyle.js.map +7 -0
- package/dist/source/primitives/overlayLayer.js +10 -2
- package/dist/source/primitives/overlayLayer.js.map +2 -2
- package/dist/source/primitives/restoreFocus.js +14 -0
- package/dist/source/primitives/restoreFocus.js.map +7 -0
- package/dist/source/utils/controlProps.js +22 -0
- package/dist/source/utils/controlProps.js.map +7 -0
- package/dist/source/utils/keyboardShortcut.js +74 -0
- package/dist/source/utils/keyboardShortcut.js.map +7 -0
- package/dist/source/utils/linkAttrs.js +16 -0
- package/dist/source/utils/linkAttrs.js.map +7 -0
- package/dist/source/utils/ownClick.js +41 -0
- package/dist/source/utils/ownClick.js.map +7 -0
- package/dist/utils/controlProps.d.ts +17 -0
- package/dist/utils/controlProps.js +20 -0
- package/dist/utils/controlProps.js.map +1 -0
- package/dist/utils/keyboardShortcut.d.ts +12 -0
- package/dist/utils/keyboardShortcut.js +48 -0
- package/dist/utils/keyboardShortcut.js.map +1 -0
- package/dist/utils/linkAttrs.d.ts +13 -0
- package/dist/utils/linkAttrs.js +13 -0
- package/dist/utils/linkAttrs.js.map +1 -0
- package/dist/utils/ownClick.d.ts +16 -0
- package/dist/utils/ownClick.js +39 -0
- package/dist/utils/ownClick.js.map +1 -0
- package/package.json +72 -3
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composer.js","sources":["../../../../../src/components/inputs/composer/composer.tsx"],"sourcesContent":["import {\n type JSX,\n Show,\n children,\n createEffect,\n createSignal,\n mergeProps,\n onMount,\n splitProps,\n untrack,\n} from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { callHandler } from \"../../../primitives/callHandler\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createDropzone } from \"../../../primitives/createDropzone\";\nimport { createId } from \"../../../primitives/createId\";\nimport { mergeRefs } from \"../../../primitives/mergeRefs\";\nimport { filterAttachedFiles, isFileDrag } from \"./composerFiles\";\nimport { resolveComposerKeyAction } from \"./composerKeys\";\nimport type { ComposerSendKey } from \"./composerKeys\";\n\n/** Where the toolbar and the action sit: under the field (`stacked`) or in one row with it (`inline`). */\nexport type ComposerLayout = \"stacked\" | \"inline\";\n\ntype TextareaKeyEvent = KeyboardEvent & { currentTarget: HTMLTextAreaElement; target: Element };\ntype TextareaFocusEvent = FocusEvent & { currentTarget: HTMLTextAreaElement; target: Element };\ntype RootDragEvent = DragEvent & { currentTarget: HTMLDivElement; target: Element };\n\nexport interface ComposerProps extends Omit<\n JSX.HTMLAttributes<HTMLDivElement>,\n \"onChange\" | \"defaultValue\" | \"onKeyDown\" | \"onFocus\" | \"onBlur\" | \"children\"\n> {\n /**\n * Controlled text. The composer is controlled while this is not `undefined` (checked reactively); a parent that\n * ignores `onValueChange` keeps the field showing this value.\n */\n value?: string | undefined;\n /** Initial text while uncontrolled. Defaults to an empty string. */\n defaultValue?: string | undefined;\n /** Called on every text change: typing, a newline, and the clear after a send. Called in both modes. */\n onValueChange?: ((value: string) => void) | undefined;\n /**\n * Called with the trimmed text when the user sends it: the send key (see `sendKey`) or a click on the action\n * button. Nothing is called while sending is not allowed: no `onSend`, an empty or whitespace-only text, `disabled`,\n * `readOnly`, `busy`, or a text over `maxLength`. Async work is shown with `busy`; the return value is ignored.\n */\n onSend?: ((text: string) => void) | undefined;\n /**\n * Which Enter sends. `\"modEnter\"` (default): Ctrl/⌘+Enter sends and Enter inserts a newline. `\"enter\"`: Enter sends,\n * Shift+Enter inserts a newline, Ctrl/⌘+Enter sends too. An Enter that commits an IME composition never sends.\n */\n sendKey?: ComposerSendKey | undefined;\n /**\n * Clear the text after `onSend`: the composer's own state while uncontrolled, `onValueChange(\"\")` while controlled.\n * Defaults to `true`.\n */\n clearOnSend?: boolean | undefined;\n /**\n * The agent is working: the action button turns into Stop and calls `onStop`, and the keys and the button do not\n * send. The text stays editable. The composer never changes `busy` itself, the parent owns it.\n */\n busy?: boolean | undefined;\n /**\n * Called when Stop is pressed (click, Enter or Space on the button) while `busy` and not `disabled`. Without it the\n * Stop button does nothing, so pass it whenever `busy` can be set.\n */\n onStop?: (() => void) | undefined;\n /** Placeholder of the textarea. It is not a name for the field, set `aria-label` or `aria-labelledby` as well. */\n placeholder?: string | undefined;\n /**\n * Hard limit on the text (the native `maxlength` of the textarea, counted in UTF-16 units, so an emoji is 2).\n * Turns the counter on.\n */\n maxLength?: number | undefined;\n /** Show the counter (`n / maxLength`, or `n` without `maxLength`). Defaults to `true` when `maxLength` is set. */\n counter?: boolean | undefined;\n /**\n * Text for the polite status region that announces how many characters are left. It is spoken only near the limit\n * (within the larger of 10 characters and 10% of `maxLength`) and when the text is over it, with a negative\n * `remaining`. Defaults to \"N characters left\" / \"N characters over the limit\".\n */\n counterAnnouncement?: ((remaining: number, maxLength: number) => string) | undefined;\n /** Height of the empty field in rows, and the `rows` of the textarea. Defaults to `1`. */\n minRows?: number | undefined;\n /** Rows the field grows to before it scrolls. Clamped to at least `minRows`. Defaults to `8`. */\n maxRows?: number | undefined;\n /**\n * `\"stacked\"` (default): the field on top, a bar under it with the attach button, the toolbar, the counter and the\n * action. `\"inline\"`: the attach button, the field, the counter and the action in one row, the toolbar (if any)\n * in a row under it.\n */\n layout?: ComposerLayout | undefined;\n /**\n * Slot under the field for chips and selectors (agent, model, mode, …). Drawn in every state. It is a plain `div`,\n * not `role=\"toolbar\"`: the content brings its own keyboard handling and disabled state.\n */\n toolbar?: JSX.Element;\n /**\n * Slot above the field for the app's file chips. The composer keeps no file state: the app lists what `onAttach`\n * gave it here.\n */\n attachments?: JSX.Element;\n /**\n * Turns on the attach button, the hidden file input and the drop target (the whole composer). Called with the files\n * of a pick or a drop that are left after `accept`, `multiple` and `maxFiles`, never with an empty list. Only a drag\n * of files is taken: dragged text or a link still goes into the field.\n */\n onAttach?: ((files: File[]) => void) | undefined;\n /**\n * Accepted file types, as a record of mime type to extensions or a raw `accept` string (`image/*`, `.pdf`, an exact\n * mime type). It sets the picker's filter, and the files of a pick or a drop that do not match are left out.\n */\n accept?: Record<string, string[]> | string | undefined;\n /** Allow several files per pick or drop. When `false` the picker takes one and a drop keeps the first. Defaults to `true`. */\n multiple?: boolean | undefined;\n /** Files beyond this number are dropped from a pick or a drop (counted after `accept`). */\n maxFiles?: number | undefined;\n /**\n * Whether `onAttach` also makes the composer a drop target for files. Set `false` when a parent already takes drops\n * (a chat panel): the attach button and the picker stay, and a drop on the composer bubbles to the parent untouched.\n * Defaults to `true`.\n */\n dropTarget?: boolean | undefined;\n /**\n * Disables the textarea, the attach button, the action button and the drop target. Toolbar content is the app's to\n * disable.\n */\n disabled?: boolean | undefined;\n /** The textarea is `readonly`: sending is unavailable, Stop still works. */\n readOnly?: boolean | undefined;\n /** Focus the textarea on mount. */\n autofocus?: boolean | undefined;\n /** Name of the textarea. */\n name?: string | undefined;\n /** Id of the textarea (the root keeps no id). Generated when not given. */\n id?: string | undefined;\n /** Accessible name of the textarea. Set this or `aria-labelledby`: a placeholder is not a name. */\n \"aria-label\"?: string | undefined;\n /** Id(s) of the element(s) that name the textarea. */\n \"aria-labelledby\"?: string | undefined;\n /** Id(s) that describe the textarea. They come first, the counter's id is appended. */\n \"aria-describedby\"?: string | undefined;\n /** Key handler of the textarea. It runs before the composer's own; if it calls `preventDefault()`, the composer does nothing for that key. */\n onKeyDown?: JSX.EventHandlerUnion<HTMLTextAreaElement, KeyboardEvent> | undefined;\n /** Focus handler of the textarea. */\n onFocus?: JSX.EventHandlerUnion<HTMLTextAreaElement, FocusEvent> | undefined;\n /** Blur handler of the textarea. */\n onBlur?: JSX.EventHandlerUnion<HTMLTextAreaElement, FocusEvent> | undefined;\n /** Ref of the textarea (the root takes the component's own `ref`). */\n inputRef?: ((el: HTMLTextAreaElement) => void) | undefined;\n /** Accessible name of the action button while it sends. Defaults to \"Send\". */\n sendLabel?: string | undefined;\n /** Accessible name of the action button while `busy`. Defaults to \"Stop\". */\n stopLabel?: string | undefined;\n /** Accessible name of the attach button. Defaults to \"Attach file\". */\n attachLabel?: string | undefined;\n /**\n * Class name(s) for the root `<div>`. `style`, `ref`, `data-*` attributes and every other HTML attribute or event\n * handler go to the root too; the root's drag handlers run after yours.\n */\n class?: string | undefined;\n /** Test id of the root `<div>`. Defaults to `composer`; the parts inside have their own (`composer-input`, `composer-action`, …). */\n \"data-testid\"?: string | undefined;\n}\n\nconst defaultCounterAnnouncement = (remaining: number): string =>\n remaining >= 0 ? `${remaining} characters left` : `${-remaining} characters over the limit`;\n\nfunction stopMouseDown(event: MouseEvent): void {\n // Keeps the focus in the textarea when the action button is clicked with a mouse.\n event.preventDefault();\n}\n\n// Whether a resolved slot draws anything.\nfunction isDrawn(resolved: unknown): boolean {\n if (Array.isArray(resolved)) return resolved.some(isDrawn);\n return resolved != null && typeof resolved !== \"boolean\" && resolved !== \"\";\n}\n\n/**\n * A task input: a multi-line field that grows from `minRows` to `maxRows`, a `toolbar` slot under it for chip\n * selectors, a send button that becomes Stop while `busy`, keyboard send (Ctrl/⌘+Enter by default), an optional\n * attach button and drop target, and a character counter.\n *\n * ```tsx\n * <Composer aria-label=\"Task for the agent\" onSend={(text) => run(text)} busy={running()} onStop={cancel} />\n * ```\n */\nexport function Composer(props: ComposerProps): JSX.Element {\n const merged = mergeProps(\n {\n sendKey: \"modEnter\" as ComposerSendKey,\n clearOnSend: true,\n busy: false,\n counterAnnouncement: defaultCounterAnnouncement as (remaining: number, maxLength: number) => string,\n minRows: 1,\n maxRows: 8,\n layout: \"stacked\" as ComposerLayout,\n multiple: true,\n disabled: false,\n readOnly: false,\n sendLabel: \"Send\",\n stopLabel: \"Stop\",\n attachLabel: \"Attach file\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"value\",\n \"defaultValue\",\n \"onValueChange\",\n \"onSend\",\n \"sendKey\",\n \"clearOnSend\",\n \"busy\",\n \"onStop\",\n \"placeholder\",\n \"maxLength\",\n \"counter\",\n \"counterAnnouncement\",\n \"minRows\",\n \"maxRows\",\n \"layout\",\n \"toolbar\",\n \"attachments\",\n \"onAttach\",\n \"accept\",\n \"multiple\",\n \"maxFiles\",\n \"dropTarget\",\n \"disabled\",\n \"readOnly\",\n \"autofocus\",\n \"name\",\n \"id\",\n \"aria-label\",\n \"aria-labelledby\",\n \"aria-describedby\",\n \"onKeyDown\",\n \"onFocus\",\n \"onBlur\",\n \"inputRef\",\n \"sendLabel\",\n \"stopLabel\",\n \"attachLabel\",\n \"class\",\n \"data-testid\",\n \"ref\",\n // The root sets these too; its own handlers call the caller's first.\n \"onDragOver\",\n \"onDragLeave\",\n \"onDrop\",\n ]);\n\n const [text, setText] = createControllableState<string>({\n value: () => local.value,\n defaultValue: untrack(() => local.defaultValue) ?? \"\",\n onChange: (next) => local.onValueChange?.(next),\n });\n const [focused, setFocused] = createSignal(false);\n // Generated once; a caller's id, which may come and go, takes precedence.\n const generatedId = createId(undefined, \"smwb-composer\");\n const textareaId = (): string => local.id ?? generatedId;\n const counterId = (): string => `${textareaId()}-counter`;\n let textareaEl: HTMLTextAreaElement | undefined;\n\n const dropzone = createDropzone({\n get accept() {\n return local.accept;\n },\n get multiple() {\n return local.multiple;\n },\n get disabled() {\n return local.disabled;\n },\n // `maxFiles` is not passed on: the cut has to come after `accept`, see `filterAttachedFiles`.\n onDrop: (files) => {\n const attached = filterAttachedFiles(files, {\n accept: local.accept,\n multiple: local.multiple,\n maxFiles: local.maxFiles,\n });\n if (attached.length > 0) local.onAttach?.(attached);\n },\n });\n const attachable = (): boolean => local.onAttach !== undefined;\n // `dropTarget={false}` keeps the attach button and the picker but hands drops to a parent that owns the target.\n // Compared to `false` and not falsy-checked: an explicit `undefined` must keep the default `true`.\n const dropping = (): boolean => attachable() && local.dropTarget !== false;\n const inputProps = () => dropzone.getInputProps();\n\n const showCounter = (): boolean => local.counter ?? local.maxLength !== undefined;\n const overLimit = (): boolean => local.maxLength !== undefined && text().length > local.maxLength;\n const canSend = (): boolean =>\n !!local.onSend && text().trim() !== \"\" && !local.disabled && !local.readOnly && !local.busy && !overLimit();\n\n const status = (): string => {\n const max = local.maxLength;\n if (!showCounter() || max === undefined) return \"\";\n const remaining = max - text().length;\n return remaining <= Math.max(10, Math.ceil(max * 0.1)) ? local.counterAnnouncement(remaining, max) : \"\";\n };\n\n // The text is the textarea's child, not a `value` binding: on the server a\n // `value` prints as an attribute browsers ignore, and hydration skips the\n // property write, so the field would come up empty. Later changes are written\n // to the element directly (a property write is not gated by hydration).\n // The server parser drops the first line feed after `<textarea>`, so a text that starts with one gets a second.\n const initialText = untrack(text);\n const serverText = isServer && initialText.startsWith(\"\\n\") ? `\\n${initialText}` : initialText;\n createEffect(() => {\n const next = text();\n if (textareaEl && textareaEl.value !== next) textareaEl.value = next;\n });\n\n const send = (): void => {\n if (!canSend()) return;\n local.onSend?.(text().trim());\n if (local.clearOnSend) setText(\"\");\n };\n\n const onInput = (event: InputEvent & { currentTarget: HTMLTextAreaElement }): void => {\n const el = event.currentTarget;\n setText(el.value);\n // A controlled parent that ignores the edit keeps its text, as in React.\n if (el.value !== text()) el.value = text();\n };\n\n const onKeyDown = (event: TextareaKeyEvent): void => {\n callHandler(local.onKeyDown, event);\n if (event.defaultPrevented) return;\n const action = resolveComposerKeyAction(event, local.sendKey);\n if (action === \"native\") return;\n event.preventDefault();\n send();\n };\n\n const onFocus = (event: TextareaFocusEvent): void => {\n callHandler(local.onFocus, event);\n setFocused(true);\n };\n\n const onBlur = (event: TextareaFocusEvent): void => {\n callHandler(local.onBlur, event);\n setFocused(false);\n };\n\n // One button in both states: its handler reads `busy` when pressed.\n const onActionClick = (event: MouseEvent): void => {\n // The second click of a double-click lands on the node the first one turned into the other action (Send into\n // Stop once the parent sets `busy`). It is not a new press: keyboard activation has `detail` 0, a click 1.\n if (event.detail > 1) return;\n if (local.busy) {\n if (!local.disabled) local.onStop?.();\n return;\n }\n send();\n };\n\n // The drop target works only with `onAttach` unless `dropTarget` is off; the caller's handlers always run, first.\n const onDragOver = (event: RootDragEvent): void => {\n callHandler(local.onDragOver, event);\n // Only a drag of files is the dropzone's. Text or a link keeps its default: the textarea inserts it.\n if (dropping() && isFileDrag(event.dataTransfer)) dropzone.getRootProps().onDragOver(event);\n };\n const onDragLeave = (event: RootDragEvent): void => {\n callHandler(local.onDragLeave, event);\n if (!dropping()) return;\n // A leave onto a descendant is not a leave: it would flicker the drag-active state over the toolbar chips.\n if (event.relatedTarget instanceof Node && event.currentTarget.contains(event.relatedTarget)) return;\n dropzone.getRootProps().onDragLeave();\n };\n const onDrop = (event: RootDragEvent): void => {\n callHandler(local.onDrop, event);\n if (dropping() && isFileDrag(event.dataTransfer)) dropzone.getRootProps().onDrop(event);\n };\n\n const onFileChange = (event: Event & { currentTarget: HTMLInputElement; target: Element }): void => {\n inputProps().onChange(event);\n // Lets the same file be picked again.\n event.currentTarget.value = \"\";\n };\n\n // `autofocus` alone is not \"focus on mount\": Chromium ignores it on an element inserted after the page already has\n // a focused element (a composer opened in a panel, or after a route change). The attribute stays for the server HTML.\n onMount(() => {\n if (local.autofocus) textareaEl?.focus();\n });\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n const toolbar = children(() => local.toolbar);\n const attachments = children(() => local.attachments);\n\n const describedBy = (): string | undefined =>\n [local[\"aria-describedby\"], showCounter() ? counterId() : undefined].filter(Boolean).join(\" \") || undefined;\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\n \"smwb-composer\",\n `smwb-composer_${local.layout}`,\n focused() && \"smwb-composer_focused\",\n local.busy && \"smwb-composer_busy\",\n local.disabled && \"smwb-composer_disabled\",\n dropping() && dropzone.isDragActive() && \"smwb-composer_drag-active\",\n overLimit() && \"smwb-composer_over-limit\",\n local.class\n )}\n data-testid={local[\"data-testid\"] ?? \"composer\"}\n onDragOver={onDragOver}\n onDragLeave={onDragLeave}\n onDrop={onDrop}\n >\n <Show when={isDrawn(attachments())}>\n <div class=\"smwb-composer__attachments\" data-testid=\"composer-attachments\">\n {attachments()}\n </div>\n </Show>\n <div\n class=\"smwb-composer__field\"\n data-value={text()}\n style={{\n \"--smwb-composer-min-rows\": String(local.minRows),\n \"--smwb-composer-max-rows\": String(Math.max(local.maxRows, local.minRows)),\n }}\n >\n <textarea\n ref={mergeRefs(local.inputRef, (el) => (textareaEl = el))}\n class=\"smwb-composer__input\"\n id={textareaId()}\n name={local.name}\n rows={local.minRows}\n placeholder={local.placeholder}\n maxlength={local.maxLength}\n disabled={local.disabled}\n readonly={local.readOnly}\n autofocus={local.autofocus}\n aria-label={local[\"aria-label\"]}\n aria-labelledby={local[\"aria-labelledby\"]}\n aria-describedby={describedBy()}\n aria-invalid={overLimit() || undefined}\n data-testid=\"composer-input\"\n onInput={onInput}\n onKeyDown={onKeyDown}\n onFocus={onFocus}\n onBlur={onBlur}\n >\n {serverText}\n </textarea>\n </div>\n <Show when={attachable()}>\n <button\n type=\"button\"\n class=\"smwb-composer__icon-button smwb-composer__attach\"\n aria-label={local.attachLabel}\n disabled={local.disabled}\n data-testid=\"composer-attach\"\n onClick={() => dropzone.open()}\n >\n <Icon name=\"attach_file\" size={20} />\n </button>\n </Show>\n <Show when={isDrawn(toolbar())}>\n <div class=\"smwb-composer__toolbar\" data-testid=\"composer-toolbar\">\n {toolbar()}\n </div>\n </Show>\n <Show when={showCounter()}>\n <span\n id={counterId()}\n class={cn(\"smwb-composer__counter\", overLimit() && \"smwb-composer__counter_error\")}\n data-testid=\"composer-counter\"\n >\n {local.maxLength !== undefined ? `${text().length} / ${local.maxLength}` : text().length}\n </span>\n </Show>\n <button\n type=\"button\"\n class={cn(\"smwb-composer__icon-button\", \"smwb-composer__action\", local.busy && \"smwb-composer__action_stop\")}\n aria-label={local.busy ? local.stopLabel : local.sendLabel}\n aria-disabled={!local.busy && !canSend() ? \"true\" : undefined}\n disabled={local.disabled}\n data-action={local.busy ? \"stop\" : \"send\"}\n data-testid=\"composer-action\"\n onMouseDown={stopMouseDown}\n onClick={onActionClick}\n >\n <Icon name={local.busy ? \"stop\" : \"send\"} size={20} />\n </button>\n <Show when={showCounter()}>\n <span class=\"smwb-composer__status\" role=\"status\" data-testid=\"composer-status\">\n {status()}\n </span>\n </Show>\n <Show when={attachable()}>\n <input\n ref={dropzone.inputRef}\n type=\"file\"\n multiple={inputProps().multiple}\n accept={inputProps().accept}\n disabled={inputProps().disabled}\n style={{ display: \"none\" }}\n data-testid=\"composer-file-input\"\n onChange={onFileChange}\n />\n </Show>\n </div>\n );\n}\n\nexport default Composer;\n"],"names":["defaultCounterAnnouncement","remaining","stopMouseDown","event","preventDefault","isDrawn","resolved","Array","isArray","some","Composer","props","merged","mergeProps","sendKey","clearOnSend","busy","counterAnnouncement","minRows","maxRows","layout","multiple","disabled","readOnly","sendLabel","stopLabel","attachLabel","local","rest","splitProps","text","setText","createControllableState","value","defaultValue","untrack","onChange","next","onValueChange","focused","setFocused","createSignal","generatedId","createId","undefined","textareaId","id","counterId","textareaEl","dropzone","createDropzone","accept","onDrop","files","attached","filterAttachedFiles","maxFiles","length","onAttach","attachable","dropping","dropTarget","inputProps","getInputProps","showCounter","counter","maxLength","overLimit","canSend","onSend","trim","status","max","Math","ceil","initialText","serverText","isServer","startsWith","createEffect","send","onInput","el","currentTarget","onKeyDown","callHandler","defaultPrevented","resolveComposerKeyAction","onFocus","onBlur","onActionClick","detail","onStop","onDragOver","isFileDrag","dataTransfer","getRootProps","onDragLeave","relatedTarget","Node","contains","onFileChange","onMount","autofocus","focus","toolbar","children","attachments","describedBy","filter","Boolean","join","_el$","_tmpl$7","_el$3","firstChild","_el$4","_el$8","nextSibling","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","isDragActive","class","_$insert","_$createComponent","Show","when","_el$2","_tmpl$","addEventListener","$$keydown","$$input","_ref$2","inputRef","_el$5","_tmpl$2","$$click","open","Icon","name","size","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","_el$6","_tmpl$3","_el$7","_tmpl$4","_c$","_$memo","_v$3","_v$4","_$className","$$mousedown","_el$9","_tmpl$5","_el$0","_tmpl$6","_ref$3","_v$5","_v$6","_v$7","a","_v$8","_v$9","String","_v$0","_v$1","_v$10","_v$11","_v$12","placeholder","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_$setStyleProperty","o","i","n","s","h","r","d","l","u","c","w","m","f","y","g","p","b","_$delegateEvents"],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
function f(e) {
|
|
2
|
+
return e ? Array.from(e.types ?? []).includes("Files") ? !0 : (e.files?.length ?? 0) > 0 : !1;
|
|
3
|
+
}
|
|
4
|
+
function u(e) {
|
|
5
|
+
return e ? (typeof e == "string" ? e.split(",") : Object.entries(e).flatMap(([r, s]) => [r, ...s])).map((r) => r.trim().toLowerCase()).filter(Boolean) : [];
|
|
6
|
+
}
|
|
7
|
+
function a(e, t) {
|
|
8
|
+
return t === "*/*" ? !0 : t.startsWith(".") ? e.name.toLowerCase().endsWith(t) : t.endsWith("/*") ? e.type.toLowerCase().startsWith(t.slice(0, -1)) : e.type.toLowerCase() === t;
|
|
9
|
+
}
|
|
10
|
+
function o(e, t) {
|
|
11
|
+
const r = u(t.accept), s = r.length === 0 ? e : e.filter((n) => r.some((l) => a(n, l))), i = t.multiple === !1 ? 1 : t.maxFiles && t.maxFiles > 0 ? t.maxFiles : void 0;
|
|
12
|
+
return i === void 0 ? s : s.slice(0, i);
|
|
13
|
+
}
|
|
14
|
+
export {
|
|
15
|
+
o as filterAttachedFiles,
|
|
16
|
+
f as isFileDrag
|
|
17
|
+
};
|
|
18
|
+
//# sourceMappingURL=composerFiles.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composerFiles.js","sources":["../../../../../src/components/inputs/composer/composerFiles.ts"],"sourcesContent":["/** Accepted file types as `Composer` takes them: a record of mime type to extensions, or a raw `accept` string. */\nexport type ComposerAccept = Record<string, string[]> | string;\n\n/** The part of a `DataTransfer` the drag guard reads. */\nexport interface ComposerDragData {\n types?: ArrayLike<string> | null | undefined;\n files?: ArrayLike<unknown> | null | undefined;\n}\n\n/** The options that decide which of the picked or dropped files `Composer` passes on. */\nexport interface ComposerFileOptions {\n accept?: ComposerAccept | undefined;\n multiple?: boolean | undefined;\n maxFiles?: number | undefined;\n}\n\n/**\n * Whether a drag carries files. A text or link drag does not and stays with the browser (the textarea inserts it).\n * `dragover` exposes only `types`, and Firefox gives a `DOMStringList` there, hence `Array.from`; a `drop` has the\n * file list as well.\n */\nexport function isFileDrag(data: ComposerDragData | null | undefined): boolean {\n if (!data) return false;\n if (Array.from(data.types ?? []).includes(\"Files\")) return true;\n return (data.files?.length ?? 0) > 0;\n}\n\nfunction acceptTokens(accept: ComposerAccept | undefined): string[] {\n if (!accept) return [];\n const tokens =\n typeof accept === \"string\" ? accept.split(\",\") : Object.entries(accept).flatMap(([mime, exts]) => [mime, ...exts]);\n return tokens.map((token) => token.trim().toLowerCase()).filter(Boolean);\n}\n\n// The same three forms as the `accept` attribute: `.ext`, `type/*` and an exact mime type.\nfunction matchesToken(file: File, token: string): boolean {\n if (token === \"*/*\") return true;\n if (token.startsWith(\".\")) return file.name.toLowerCase().endsWith(token);\n if (token.endsWith(\"/*\")) return file.type.toLowerCase().startsWith(token.slice(0, -1));\n return file.type.toLowerCase() === token;\n}\n\n/**\n * The files of a pick or a drop that `Composer` passes to `onAttach`: those that match `accept` (a drop is not\n * filtered by the browser, and the picker's \"All files\" choice lifts its filter), cut to one file when `multiple` is\n * `false`, then to `maxFiles`. The cut comes last, so the files it drops are the ones past the limit, not the ones\n * `accept` would have refused anyway.\n */\nexport function filterAttachedFiles(files: File[], options: ComposerFileOptions): File[] {\n const tokens = acceptTokens(options.accept);\n const accepted =\n tokens.length === 0 ? files : files.filter((file) => tokens.some((token) => matchesToken(file, token)));\n const limit =\n options.multiple === false ? 1 : options.maxFiles && options.maxFiles > 0 ? options.maxFiles : undefined;\n return limit === undefined ? accepted : accepted.slice(0, limit);\n}\n"],"names":["isFileDrag","data","acceptTokens","accept","mime","exts","token","matchesToken","file","filterAttachedFiles","files","options","tokens","accepted","limit"],"mappings":"AAqBO,SAASA,EAAWC,GAAoD;AAC7E,SAAKA,IACD,MAAM,KAAKA,EAAK,SAAS,CAAA,CAAE,EAAE,SAAS,OAAO,IAAU,MACnDA,EAAK,OAAO,UAAU,KAAK,IAFjB;AAGpB;AAEA,SAASC,EAAaC,GAA8C;AAClE,SAAKA,KAEH,OAAOA,KAAW,WAAWA,EAAO,MAAM,GAAG,IAAI,OAAO,QAAQA,CAAM,EAAE,QAAQ,CAAC,CAACC,GAAMC,CAAI,MAAM,CAACD,GAAM,GAAGC,CAAI,CAAC,GACrG,IAAI,CAACC,MAAUA,EAAM,KAAA,EAAO,YAAA,CAAa,EAAE,OAAO,OAAO,IAHnD,CAAA;AAItB;AAGA,SAASC,EAAaC,GAAYF,GAAwB;AACxD,SAAIA,MAAU,QAAc,KACxBA,EAAM,WAAW,GAAG,IAAUE,EAAK,KAAK,YAAA,EAAc,SAASF,CAAK,IACpEA,EAAM,SAAS,IAAI,IAAUE,EAAK,KAAK,YAAA,EAAc,WAAWF,EAAM,MAAM,GAAG,EAAE,CAAC,IAC/EE,EAAK,KAAK,YAAA,MAAkBF;AACrC;AAQO,SAASG,EAAoBC,GAAeC,GAAsC;AACvF,QAAMC,IAASV,EAAaS,EAAQ,MAAM,GACpCE,IACJD,EAAO,WAAW,IAAIF,IAAQA,EAAM,OAAO,CAACF,MAASI,EAAO,KAAK,CAACN,MAAUC,EAAaC,GAAMF,CAAK,CAAC,CAAC,GAClGQ,IACJH,EAAQ,aAAa,KAAQ,IAAIA,EAAQ,YAAYA,EAAQ,WAAW,IAAIA,EAAQ,WAAW;AACjG,SAAOG,MAAU,SAAYD,IAAWA,EAAS,MAAM,GAAGC,CAAK;AACjE;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
function i(r, e) {
|
|
2
|
+
return r.isComposing || r.keyCode === 229 || r.key !== "Enter" || r.altKey || r.shiftKey ? "native" : r.ctrlKey || r.metaKey || e === "enter" ? "send" : "native";
|
|
3
|
+
}
|
|
4
|
+
export {
|
|
5
|
+
i as resolveComposerKeyAction
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=composerKeys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"composerKeys.js","sources":["../../../../../src/components/inputs/composer/composerKeys.ts"],"sourcesContent":["/** Which Enter sends in a `Composer`: `\"modEnter\"` is Ctrl/⌘+Enter, `\"enter\"` is a plain Enter. */\nexport type ComposerSendKey = \"modEnter\" | \"enter\";\n\n/**\n * What the composer does with a key press in its textarea:\n * - `\"send\"`: prevent the default and send, if sending is allowed;\n * - `\"native\"`: leave the key to the browser (a newline, IME commit, …).\n */\nexport type ComposerKeyAction = \"send\" | \"native\";\n\n/** The part of a keyboard event the key map reads. */\nexport interface ComposerKeyEvent {\n key: string;\n shiftKey: boolean;\n ctrlKey: boolean;\n metaKey: boolean;\n altKey: boolean;\n /** Set by Chromium and Firefox while an IME composition is open. */\n isComposing?: boolean | undefined;\n /** Safari reports the commit Enter of a composition as keyCode 229 with `isComposing` false. */\n keyCode?: number | undefined;\n}\n\n/**\n * The composer's keyboard map (Escape and every other key stay native).\n *\n * - IME composition: always native, so an Enter that commits a CJK candidate is not a send.\n * - Ctrl/⌘+Enter (no Shift, no Alt): send in both modes.\n * - Enter alone: send with `sendKey=\"enter\"`, a native newline with `\"modEnter\"`.\n * - Shift+Enter and every other combination: native.\n */\nexport function resolveComposerKeyAction(event: ComposerKeyEvent, sendKey: ComposerSendKey): ComposerKeyAction {\n if (event.isComposing || event.keyCode === 229) return \"native\";\n if (event.key !== \"Enter\") return \"native\";\n if (event.altKey || event.shiftKey) return \"native\";\n\n if (event.ctrlKey || event.metaKey) return \"send\";\n return sendKey === \"enter\" ? \"send\" : \"native\";\n}\n"],"names":["resolveComposerKeyAction","event","sendKey"],"mappings":"AA+BO,SAASA,EAAyBC,GAAyBC,GAA6C;AAG7G,SAFID,EAAM,eAAeA,EAAM,YAAY,OACvCA,EAAM,QAAQ,WACdA,EAAM,UAAUA,EAAM,WAAiB,WAEvCA,EAAM,WAAWA,EAAM,WACpBC,MAAY,UADwB,SACL;AACxC;"}
|
|
@@ -1,95 +1,106 @@
|
|
|
1
|
-
import { createComponent as a, mergeProps as
|
|
2
|
-
import { splitProps as
|
|
3
|
-
import { buildFloatingMiddleware as
|
|
4
|
-
import { createFloating as
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
1
|
+
import { createComponent as a, mergeProps as $, Portal as ie, use as le, insert as x, effect as se, style as ce, setAttribute as de, isServer as ue, template as ge } from "solid-js/web";
|
|
2
|
+
import { splitProps as me, children as fe, createSignal as d, createEffect as k, createMemo as he, onCleanup as B, Show as v } from "solid-js";
|
|
3
|
+
import { buildFloatingMiddleware as ve, resolvePlacement as pe } from "../../../utils/floating.js";
|
|
4
|
+
import { createFloating as be } from "../../../primitives/createFloating.js";
|
|
5
|
+
import { isTopOverlayLayer as we } from "../../../primitives/overlayLayer.js";
|
|
6
|
+
import { DataPickerHeader as ye } from "./dataPickerHeader.js";
|
|
7
|
+
import { DataPickerDays as De } from "./dataPickerDays.js";
|
|
7
8
|
import { DatePickerList as Y } from "./datePickerList.js";
|
|
8
|
-
import { DataPickerInput as
|
|
9
|
-
import { DatePickerIconButton as
|
|
10
|
-
import { OpenView as
|
|
11
|
-
import { isValidDate as
|
|
12
|
-
import { mergeRefs as
|
|
13
|
-
import { TextField as
|
|
14
|
-
import { Icon as
|
|
15
|
-
import { ClickAwayListener as
|
|
16
|
-
var
|
|
9
|
+
import { DataPickerInput as Ce } from "./dataPickerInput.js";
|
|
10
|
+
import { DatePickerIconButton as ke } from "./datePickerIconButton.js";
|
|
11
|
+
import { OpenView as i } from "./openView.js";
|
|
12
|
+
import { isValidDate as V, getMonths as Ve, getYears as Oe, getDisplayDate as q, setYear as Pe, setMonth as Se } from "./dateUtils.js";
|
|
13
|
+
import { mergeRefs as z } from "../../../primitives/mergeRefs.js";
|
|
14
|
+
import { TextField as Fe } from "../textField/textField.js";
|
|
15
|
+
import { Icon as Me } from "../../base/icon/icon.js";
|
|
16
|
+
import { ClickAwayListener as Ae } from "../../clickAwayListener/clickAwayListener.js";
|
|
17
|
+
var Ee = /* @__PURE__ */ ge('<div class=smwb-date-picker data-testid=date-picker data-smwb-overlay-layer role=dialog aria-modal=false style="transition:opacity 150ms ease-in-out"><div class=smwb-date-picker__inner><div class=smwb-date-picker__body>');
|
|
17
18
|
const Ie = 150;
|
|
18
|
-
function
|
|
19
|
-
const [e,
|
|
20
|
-
let
|
|
21
|
-
const
|
|
22
|
-
placement: () =>
|
|
23
|
-
middleware: () =>
|
|
19
|
+
function Qe(O) {
|
|
20
|
+
const [e, P] = me(O, ["value", "onChange", "showDaysOutsideMonth", "disablePast", "disableFuture", "weekStartsOn", "placement", "disabled", "disableCalendar", "calendarAriaLabel", "minDate", "maxDate", "isDateDisabled", "locale", "format", "range", "rangeValue", "onRangeChange", "calendarIcon", "onBlur", "ref"]), S = fe(() => e.range && !e.disableCalendar ? e.calendarIcon : void 0), p = () => e.value === void 0 ? void 0 : new Date(e.value), F = () => e.rangeValue !== void 0, [H, K] = d([void 0, void 0]), s = () => F() && e.rangeValue ? e.rangeValue : H(), M = p(), [c, m] = d(V(M) ? M : /* @__PURE__ */ new Date()), [f, h] = d(i.days), [j, u] = d(!1);
|
|
21
|
+
let b, w;
|
|
22
|
+
const A = () => pe(e.placement ?? "bottom-start"), y = be({
|
|
23
|
+
placement: () => A().placement,
|
|
24
|
+
middleware: () => ve(A())
|
|
24
25
|
});
|
|
25
|
-
|
|
26
|
+
k(() => {
|
|
26
27
|
if (e.disabled) return;
|
|
27
|
-
const t =
|
|
28
|
-
|
|
28
|
+
const t = p();
|
|
29
|
+
m(V(t) ? t : /* @__PURE__ */ new Date());
|
|
29
30
|
});
|
|
30
31
|
const G = () => e.weekStartsOn ?? 1, J = (t) => {
|
|
31
|
-
|
|
32
|
-
}, K = () => {
|
|
33
|
-
m(g() === o.months ? o.days : o.months);
|
|
32
|
+
m(t);
|
|
34
33
|
}, N = () => {
|
|
35
|
-
|
|
36
|
-
}, Q = (
|
|
37
|
-
|
|
34
|
+
h(f() === i.months ? i.days : i.months);
|
|
35
|
+
}, Q = () => {
|
|
36
|
+
h(f() === i.years ? i.days : i.years);
|
|
38
37
|
}, U = (t) => {
|
|
39
|
-
|
|
40
|
-
}, W = (t
|
|
38
|
+
m(Se(c(), t)), h(i.days);
|
|
39
|
+
}, W = (t) => {
|
|
40
|
+
m(Pe(c(), t)), h(i.days);
|
|
41
|
+
}, X = (t, n) => {
|
|
41
42
|
if (e.range) {
|
|
42
43
|
if (!n) return;
|
|
43
|
-
const [
|
|
44
|
+
const [o, l] = s();
|
|
44
45
|
let r;
|
|
45
|
-
!
|
|
46
|
+
!o || o && l ? r = [n, void 0] : r = V(o) && n.getTime() < o.getTime() ? [n, o] : [o, n], F() || K(r), e.onRangeChange?.(r), r[0] && r[1] && u(!1);
|
|
46
47
|
return;
|
|
47
48
|
}
|
|
48
|
-
e.onChange?.(t, n,
|
|
49
|
-
},
|
|
50
|
-
e.disabled ||
|
|
51
|
-
},
|
|
49
|
+
e.onChange?.(t, n, O), u(!1);
|
|
50
|
+
}, E = () => {
|
|
51
|
+
e.disabled || u((t) => !t);
|
|
52
|
+
}, Z = (t) => {
|
|
52
53
|
const n = t.target;
|
|
53
|
-
|
|
54
|
-
},
|
|
55
|
-
let
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}),
|
|
59
|
-
|
|
54
|
+
w?.contains(n) || b?.contains(n) || u(!1);
|
|
55
|
+
}, ee = he(() => Ve(e.locale)), te = Oe((/* @__PURE__ */ new Date()).getFullYear(), 100), D = () => j() && !e.disabled && !e.disableCalendar, [I, L] = d(D()), [ne, _] = d(!1);
|
|
56
|
+
let C, g;
|
|
57
|
+
k(() => {
|
|
58
|
+
D() ? (g !== void 0 && clearTimeout(g), L(!0), C = requestAnimationFrame(() => _(!0))) : (_(!1), I() && (g = setTimeout(() => L(!1), Ie)));
|
|
59
|
+
}), B(() => {
|
|
60
|
+
C !== void 0 && cancelAnimationFrame(C), g !== void 0 && clearTimeout(g);
|
|
61
|
+
}), k(() => {
|
|
62
|
+
if (!D()) return;
|
|
63
|
+
const t = (n) => {
|
|
64
|
+
const o = w;
|
|
65
|
+
if (n.key !== "Escape" || !o || !we(o)) return;
|
|
66
|
+
u(!1);
|
|
67
|
+
const l = document.activeElement;
|
|
68
|
+
(!l || l === document.body || o.contains(l)) && b?.focus();
|
|
69
|
+
};
|
|
70
|
+
document.addEventListener("keydown", t), B(() => document.removeEventListener("keydown", t));
|
|
60
71
|
});
|
|
61
72
|
const re = () => {
|
|
62
|
-
switch (
|
|
63
|
-
case
|
|
73
|
+
switch (f()) {
|
|
74
|
+
case i.months:
|
|
64
75
|
return a(Y, {
|
|
65
76
|
get value() {
|
|
66
|
-
return
|
|
77
|
+
return c().getMonth();
|
|
67
78
|
},
|
|
68
79
|
get items() {
|
|
69
|
-
return
|
|
80
|
+
return ee();
|
|
70
81
|
},
|
|
71
|
-
onChange:
|
|
82
|
+
onChange: U
|
|
72
83
|
});
|
|
73
|
-
case
|
|
84
|
+
case i.years:
|
|
74
85
|
return a(Y, {
|
|
75
86
|
get value() {
|
|
76
|
-
return
|
|
87
|
+
return c().getFullYear();
|
|
77
88
|
},
|
|
78
|
-
items:
|
|
79
|
-
onChange:
|
|
89
|
+
items: te,
|
|
90
|
+
onChange: W
|
|
80
91
|
});
|
|
81
92
|
default:
|
|
82
|
-
return a(
|
|
93
|
+
return a(De, {
|
|
83
94
|
get viewValue() {
|
|
84
|
-
return
|
|
95
|
+
return c();
|
|
85
96
|
},
|
|
86
97
|
get value() {
|
|
87
|
-
return
|
|
98
|
+
return p();
|
|
88
99
|
},
|
|
89
100
|
get showDaysOutsideMonth() {
|
|
90
101
|
return e.showDaysOutsideMonth;
|
|
91
102
|
},
|
|
92
|
-
onChange:
|
|
103
|
+
onChange: X,
|
|
93
104
|
get disablePast() {
|
|
94
105
|
return e.disablePast;
|
|
95
106
|
},
|
|
@@ -115,21 +126,21 @@ function Ke(D) {
|
|
|
115
126
|
return e.range;
|
|
116
127
|
},
|
|
117
128
|
get rangeStart() {
|
|
118
|
-
return
|
|
129
|
+
return s()[0];
|
|
119
130
|
},
|
|
120
131
|
get rangeEnd() {
|
|
121
|
-
return
|
|
132
|
+
return s()[1];
|
|
122
133
|
}
|
|
123
134
|
});
|
|
124
135
|
}
|
|
125
|
-
}, ae = () => e.range && (
|
|
126
|
-
return [a(
|
|
136
|
+
}, ae = () => e.range && (s()[0] || s()[1]) ? `${q(s()[0], e.format)} – ${q(s()[1], e.format)}` : "", R = z(e.ref, y.setReference, (t) => b = t);
|
|
137
|
+
return [a(v, {
|
|
127
138
|
get when() {
|
|
128
139
|
return e.range;
|
|
129
140
|
},
|
|
130
141
|
get fallback() {
|
|
131
|
-
return a(
|
|
132
|
-
ref:
|
|
142
|
+
return a(Ce, $({
|
|
143
|
+
ref: R,
|
|
133
144
|
get value() {
|
|
134
145
|
return e.value;
|
|
135
146
|
},
|
|
@@ -139,7 +150,7 @@ function Ke(D) {
|
|
|
139
150
|
get onBlur() {
|
|
140
151
|
return e.onBlur;
|
|
141
152
|
},
|
|
142
|
-
onToggle:
|
|
153
|
+
onToggle: E,
|
|
143
154
|
get disabled() {
|
|
144
155
|
return e.disabled;
|
|
145
156
|
},
|
|
@@ -152,11 +163,11 @@ function Ke(D) {
|
|
|
152
163
|
get calendarIcon() {
|
|
153
164
|
return e.calendarIcon;
|
|
154
165
|
}
|
|
155
|
-
},
|
|
166
|
+
}, P));
|
|
156
167
|
},
|
|
157
168
|
get children() {
|
|
158
|
-
return a(
|
|
159
|
-
ref:
|
|
169
|
+
return a(Fe, $({
|
|
170
|
+
ref: R,
|
|
160
171
|
get value() {
|
|
161
172
|
return ae();
|
|
162
173
|
},
|
|
@@ -170,25 +181,25 @@ function Ke(D) {
|
|
|
170
181
|
placeholder: `${e.format} – ${e.format}`
|
|
171
182
|
} : {}, {
|
|
172
183
|
get endAdornment() {
|
|
173
|
-
return a(
|
|
184
|
+
return a(v, {
|
|
174
185
|
get when() {
|
|
175
186
|
return !e.disableCalendar;
|
|
176
187
|
},
|
|
177
188
|
get children() {
|
|
178
|
-
return a(
|
|
189
|
+
return a(ke, {
|
|
179
190
|
edge: "end",
|
|
180
|
-
onClick:
|
|
191
|
+
onClick: E,
|
|
181
192
|
get disabled() {
|
|
182
193
|
return !!e.disabled;
|
|
183
194
|
},
|
|
184
195
|
"data-testid": "date-picker-icon-button",
|
|
185
196
|
get children() {
|
|
186
|
-
return a(
|
|
197
|
+
return a(v, {
|
|
187
198
|
get when() {
|
|
188
|
-
return
|
|
199
|
+
return S();
|
|
189
200
|
},
|
|
190
201
|
get fallback() {
|
|
191
|
-
return a(
|
|
202
|
+
return a(Me, {
|
|
192
203
|
name: "calendar_today",
|
|
193
204
|
fill: 1,
|
|
194
205
|
weight: 500,
|
|
@@ -196,7 +207,7 @@ function Ke(D) {
|
|
|
196
207
|
});
|
|
197
208
|
},
|
|
198
209
|
get children() {
|
|
199
|
-
return
|
|
210
|
+
return S();
|
|
200
211
|
}
|
|
201
212
|
});
|
|
202
213
|
}
|
|
@@ -204,41 +215,41 @@ function Ke(D) {
|
|
|
204
215
|
}
|
|
205
216
|
});
|
|
206
217
|
}
|
|
207
|
-
},
|
|
218
|
+
}, P));
|
|
208
219
|
}
|
|
209
|
-
}), a(
|
|
220
|
+
}), a(v, {
|
|
210
221
|
get when() {
|
|
211
222
|
return I();
|
|
212
223
|
},
|
|
213
224
|
get children() {
|
|
214
|
-
return a(
|
|
225
|
+
return a(ie, {
|
|
215
226
|
get mount() {
|
|
216
|
-
return
|
|
227
|
+
return ue ? void 0 : document.body;
|
|
217
228
|
},
|
|
218
229
|
get children() {
|
|
219
|
-
return a(
|
|
220
|
-
onClickAway:
|
|
230
|
+
return a(Ae, {
|
|
231
|
+
onClickAway: Z,
|
|
221
232
|
get children() {
|
|
222
|
-
var t =
|
|
223
|
-
return typeof
|
|
233
|
+
var t = Ee(), n = t.firstChild, o = n.firstChild, l = z(y.setFloating, (r) => w = r);
|
|
234
|
+
return typeof l == "function" && le(l, t), x(n, a(ye, {
|
|
224
235
|
get viewValue() {
|
|
225
|
-
return
|
|
236
|
+
return c();
|
|
226
237
|
},
|
|
227
238
|
get locale() {
|
|
228
239
|
return e.locale;
|
|
229
240
|
},
|
|
230
241
|
get openView() {
|
|
231
|
-
return
|
|
242
|
+
return f();
|
|
232
243
|
},
|
|
233
244
|
onChange: J,
|
|
234
|
-
onMonthLabelClick:
|
|
235
|
-
onYearLabelClick:
|
|
236
|
-
}),
|
|
237
|
-
var
|
|
238
|
-
...
|
|
239
|
-
opacity:
|
|
240
|
-
},
|
|
241
|
-
return r.e =
|
|
245
|
+
onMonthLabelClick: N,
|
|
246
|
+
onYearLabelClick: Q
|
|
247
|
+
}), o), x(o, re), se((r) => {
|
|
248
|
+
var oe = {
|
|
249
|
+
...y.floatingStyles(),
|
|
250
|
+
opacity: ne() ? 1 : 0
|
|
251
|
+
}, T = e.calendarAriaLabel ?? "Choose date";
|
|
252
|
+
return r.e = ce(t, oe, r.e), T !== r.t && de(t, "aria-label", r.t = T), r;
|
|
242
253
|
}, {
|
|
243
254
|
e: void 0,
|
|
244
255
|
t: void 0
|
|
@@ -251,7 +262,7 @@ function Ke(D) {
|
|
|
251
262
|
})];
|
|
252
263
|
}
|
|
253
264
|
export {
|
|
254
|
-
|
|
255
|
-
|
|
265
|
+
Qe as DatePicker,
|
|
266
|
+
i as OpenView
|
|
256
267
|
};
|
|
257
268
|
//# sourceMappingURL=datePicker.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"datePicker.js","sources":["../../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, children, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n // The range field draws the calendar icon itself, unless the calendar is off:\n // read it once, and only then (the single field hands it to its input).\n const rangeIcon = children(() => (local.range && !local.disableCalendar ? local.calendarIcon : undefined));\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show when={rangeIcon()} fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}>\n {rangeIcon()}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n data-smwb-overlay-layer\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","rangeIcon","children","range","disableCalendar","calendarIcon","undefined","value","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","isServer","document","body","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":";;;;;;;;;;;;;;;;AA4DA,MAAMA,KAAU;AAET,SAASC,GAAWC,GAAqC;AAC9D,QAAM,CAACC,GAAOC,CAAI,IAAIC,GAAWH,GAAO,CACtC,SACA,YACA,wBACA,eACA,iBACA,gBACA,aACA,YACA,mBACA,qBACA,WACA,WACA,kBACA,UACA,UACA,SACA,cACA,iBACA,gBACA,UACA,KAAK,CACN,GAIKI,IAAYC,GAAS,MAAOJ,EAAMK,SAAS,CAACL,EAAMM,kBAAkBN,EAAMO,eAAeC,MAAU,GAEnGC,IAAQA,MAAyBT,EAAMS,UAAUD,SAAYA,SAAY,IAAIE,KAAKV,EAAMS,KAAK,GAC7FE,IAAoBA,MAAeX,EAAMY,eAAeJ,QACxD,CAACK,GAAYC,CAAa,IAAIC,EAAmD,CAACP,QAAWA,MAAS,CAAC,GACvGQ,IAAeA,MACnBL,OAAuBX,EAAMY,aAAaZ,EAAMY,aAAaC,EAAAA,GAEzDI,IAAeR,EAAAA,GACf,CAACS,GAAWC,CAAY,IAAIJ,EAAmBK,EAAYH,CAAY,IAAIA,IAAe,oBAAIP,MAAM,GACpG,CAACW,GAAUC,CAAW,IAAIP,EAAuBQ,EAASC,IAAI,GAC9D,CAACC,GAAQC,CAAS,IAAIX,EAAa,EAAK;AAE9C,MAAIY,GACAC;AAEJ,QAAMC,IAAWA,MAA2CC,GAAiB9B,EAAM+B,aAAa,cAAc,GACxGC,IAAWC,GAAe;AAAA,IAC9BF,WAAWA,MAAMF,EAAAA,EAAWE;AAAAA,IAC5BG,YAAYA,MAAMC,GAAwBN,EAAAA,CAAU;AAAA,EAAA,CACrD;AAEDO,EAAAA,EAAa,MAAM;AACjB,QAAIpC,EAAMqC,SAAU;AACpB,UAAMC,IAAI7B,EAAAA;AACVU,IAAAA,EAAaC,EAAYkB,CAAC,IAAIA,IAAI,oBAAI5B,MAAM;AAAA,EAC9C,CAAC;AAED,QAAM6B,IAAeA,MAAiBvC,EAAMuC,gBAAgB,GAEtDC,IAAoBA,CAACF,MAAkB;AAC3CnB,IAAAA,EAAamB,CAAC;AAAA,EAChB,GAEMG,IAAoBA,MAAY;AACpCnB,IAAAA,EAAYD,QAAeE,EAASmB,SAASnB,EAASC,OAAOD,EAASmB,MAAM;AAAA,EAC9E,GAEMC,IAAmBA,MAAY;AACnCrB,IAAAA,EAAYD,QAAeE,EAASqB,QAAQrB,EAASC,OAAOD,EAASqB,KAAK;AAAA,EAC5E,GAEMC,IAAgBA,CAACC,MAAwB;AAC7C3B,IAAAA,EAAa4B,GAAS7B,EAAAA,GAAa4B,CAAK,CAAC,GACzCxB,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEMwB,IAAeA,CAACC,MAAuB;AAC3C9B,IAAAA,EAAa+B,GAAQhC,EAAAA,GAAa+B,CAAI,CAAC,GACvC3B,EAAYC,EAASC,IAAI;AAAA,EAC3B,GAEM2B,IAAWA,CAACC,GAAeC,MAAsB;AACrD,QAAIrD,EAAMK,OAAO;AACf,UAAI,CAACgD,EAAM;AACX,YAAM,CAACC,GAAOC,CAAG,IAAIvC,EAAAA;AACrB,UAAIwC;AACJ,MAAI,CAACF,KAAUA,KAASC,IACtBC,IAAO,CAACH,GAAM7C,MAAS,IAEvBgD,IAAOpC,EAAYkC,CAAK,KAAKD,EAAKI,YAAYH,EAAMG,QAAAA,IAAY,CAACJ,GAAMC,CAAK,IAAI,CAACA,GAAOD,CAAI,GAEzF1C,EAAAA,KAAqBG,EAAc0C,CAAI,GAC5CxD,EAAM0D,gBAAgBF,CAAI,GACtBA,EAAK,CAAC,KAAKA,EAAK,CAAC,OAAa,EAAK;AACvC;AAAA,IACF;AACAxD,IAAAA,EAAMmD,WAAWC,GAAOC,GAAMtD,CAAK,GACnC2B,EAAU,EAAK;AAAA,EACjB,GAEMiC,IAAWA,MAAY;AAC3B,IAAK3D,EAAMqC,YAAUX,EAAWkC,CAAAA,MAAS,CAACA,CAAI;AAAA,EAChD,GAEMC,IAAcA,CAACT,MAAyC;AAC5D,UAAMU,IAASV,EAAMU;AACrB,IAAIlC,GAAYmC,SAASD,CAAM,KAAKnC,GAAUoC,SAASD,CAAM,KAC7DpC,EAAU,EAAK;AAAA,EACjB,GAEMgB,IAASsB,GAAW,MAAMC,GAAUjE,EAAMkE,MAAM,CAAC,GACjDtB,KAAQuB,IAAS,oBAAIzD,QAAO0D,YAAAA,GAAe,GAAG,GAE9CC,IAAaA,MAAe5C,EAAAA,KAAY,CAACzB,EAAMqC,YAAY,CAACrC,EAAMM,iBAClE,CAACgE,GAASC,CAAU,IAAIxD,EAAasD,GAAY,GACjD,CAACG,IAAOC,CAAQ,IAAI1D,EAAa,EAAK;AAC5C,MAAI2D,GACAC;AAEJvC,EAAAA,EAAa,MAAM;AACjB,IAAIiC,OACEM,MAAUnE,UAAWoE,aAAaD,CAAK,GAC3CJ,EAAW,EAAI,GACfG,IAAMG,sBAAsB,MAAMJ,EAAS,EAAI,CAAC,MAEhDA,EAAS,EAAK,GACVH,EAAAA,MAAWK,IAAQG,WAAW,MAAMP,EAAW,EAAK,GAAG1E,EAAO;AAAA,EAEtE,CAAC,GACDkF,GAAU,MAAM;AACd,IAAIL,MAAQlE,UAAWwE,qBAAqBN,CAAG,GAC3CC,MAAUnE,UAAWoE,aAAaD,CAAK;AAAA,EAC7C,CAAC;AAED,QAAMM,KAAOA,MAAmB;AAC9B,YAAQ5D,KAAS;AAAA,MACf,KAAKE,EAASmB;AACZ,eAAAwC,EAAQC,GAAc;AAAA,UAAA,IAAC1E,QAAK;AAAA,mBAAES,EAAAA,EAAYkE,SAAAA;AAAAA,UAAU;AAAA,UAAA,IAAEC,QAAK;AAAA,mBAAE3C,EAAAA;AAAAA,UAAQ;AAAA,UAAES,UAAUN;AAAAA,QAAAA,CAAa;AAAA,MAChG,KAAKtB,EAASqB;AACZ,eAAAsC,EAAQC,GAAc;AAAA,UAAA,IAAC1E,QAAK;AAAA,mBAAES,EAAAA,EAAYkD,YAAAA;AAAAA,UAAa;AAAA,UAAEiB,OAAOzC;AAAAA,UAAOO,UAAUH;AAAAA,QAAAA,CAAY;AAAA,MAC/F;AACE,eAAAkC,EACGI,IAAc;AAAA,UAAA,IACbpE,YAAS;AAAA,mBAAEA,EAAAA;AAAAA,UAAW;AAAA,UAAA,IACtBT,QAAK;AAAA,mBAAEA,EAAAA;AAAAA,UAAO;AAAA,UAAA,IACd8E,uBAAoB;AAAA,mBAAEvF,EAAMuF;AAAAA,UAAoB;AAAA,UAChDpC,UAAAA;AAAAA,UAAkB,IAClBqC,cAAW;AAAA,mBAAExF,EAAMwF;AAAAA,UAAW;AAAA,UAAA,IAC9BC,gBAAa;AAAA,mBAAEzF,EAAMyF;AAAAA,UAAa;AAAA,UAAA,IAClClD,eAAY;AAAA,mBAAEA,EAAAA;AAAAA,UAAc;AAAA,UAAA,IAC5BmD,UAAO;AAAA,mBAAE1F,EAAM0F;AAAAA,UAAO;AAAA,UAAA,IACtBC,UAAO;AAAA,mBAAE3F,EAAM2F;AAAAA,UAAO;AAAA,UAAA,IACtBC,iBAAc;AAAA,mBAAE5F,EAAM4F;AAAAA,UAAc;AAAA,UAAA,IACpC1B,SAAM;AAAA,mBAAElE,EAAMkE;AAAAA,UAAM;AAAA,UAAA,IACpB7D,QAAK;AAAA,mBAAEL,EAAMK;AAAAA,UAAK;AAAA,UAAA,IAClBwF,aAAU;AAAA,mBAAE7E,EAAAA,EAAe,CAAC;AAAA,UAAC;AAAA,UAAA,IAC7B8E,WAAQ;AAAA,mBAAE9E,EAAAA,EAAe,CAAC;AAAA,UAAC;AAAA,QAAA,CAAA;AAAA,IAAA;AAAA,EAIrC,GAEM+E,KAAeA,MACnB/F,EAAMK,UAAUW,EAAAA,EAAe,CAAC,KAAKA,EAAAA,EAAe,CAAC,KACjD,GAAGgF,EAAehF,IAAe,CAAC,GAAGhB,EAAMiG,MAAM,CAAC,MAAMD,EAAehF,EAAAA,EAAe,CAAC,GAAGhB,EAAMiG,MAAM,CAAC,KACvG,IAEAC,IAAYC,EAAUnG,EAAMoG,KAAKpE,EAASqE,cAAeC,CAAAA,MAAQ3E,IAAW2E,CAAkB;AAEpG,SAAA,CAAApB,EAEKqB,GAAI;AAAA,IAAA,IACHC,OAAI;AAAA,aAAExG,EAAMK;AAAAA,IAAK;AAAA,IAAA,IACjBoG,WAAQ;AAAA,aAAAvB,EACLwB,IAAeC,EAAA;AAAA,QAAAP,KACTF;AAAAA,QAAS,IACdzF,QAAK;AAAA,iBAAET,EAAMS;AAAAA,QAAK;AAAA,QAAA,IAClB0C,WAAQ;AAAA,iBAAEnD,EAAMmD;AAAAA,QAAQ;AAAA,QAAA,IACxByD,SAAM;AAAA,iBAAE5G,EAAM4G;AAAAA,QAAM;AAAA,QACpBjD,UAAAA;AAAAA,QAAkB,IAClBtB,WAAQ;AAAA,iBAAErC,EAAMqC;AAAAA,QAAQ;AAAA,QAAA,IACxB/B,kBAAe;AAAA,iBAAEN,EAAMM;AAAAA,QAAe;AAAA,QAAA,IACtC2F,SAAM;AAAA,iBAAEjG,EAAMiG;AAAAA,QAAM;AAAA,QAAA,IACpB1F,eAAY;AAAA,iBAAEP,EAAMO;AAAAA,QAAY;AAAA,MAAA,GAC5BN,CAAI,CAAA;AAAA,IAAA;AAAA,IAAA,IAAAG,WAAA;AAAA,aAAA8E,EAIX2B,IAASF,EAAA;AAAA,QAAAP,KACHF;AAAAA,QAAS,IACdzF,QAAK;AAAA,iBAAEsF,GAAAA;AAAAA,QAAc;AAAA,QACrBe,UAAQ;AAAA,QACR3D,UAAUA,MAAAA;AAAAA;AAAAA,QAAe,IACzBd,WAAQ;AAAA,iBAAE0E,EAAQ/G,EAAMqC;AAAAA,QAAS;AAAA,MAAA,GAAA,MAC5BrC,EAAMiG,SAAS;AAAA,QAAEe,aAAa,GAAGhH,EAAMiG,MAAM,MAAMjG,EAAMiG,MAAM;AAAA,MAAA,IAAO,IAAE;AAAA,QAAA,IAC7EgB,eAAY;AAAA,iBAAA/B,EACTqB,GAAI;AAAA,YAAA,IAACC,OAAI;AAAA,qBAAE,CAACxG,EAAMM;AAAAA,YAAe;AAAA,YAAA,IAAAF,WAAA;AAAA,qBAAA8E,EAC/BgC,IAAoB;AAAA,gBACnBC,MAAI;AAAA,gBACJC,SAASzD;AAAAA,gBAAQ,IACjBtB,WAAQ;AAAA,yBAAE0E,EAAQ/G,EAAMqC;AAAAA,gBAAS;AAAA,gBAAA,eAAA;AAAA,gBAAA,IAAAjC,WAAA;AAAA,yBAAA8E,EAGhCqB,GAAI;AAAA,oBAAA,IAACC,OAAI;AAAA,6BAAErG,EAAAA;AAAAA,oBAAW;AAAA,oBAAA,IAAEsG,WAAQ;AAAA,6BAAAvB,EAAGmC,IAAI;AAAA,wBAACC,MAAI;AAAA,wBAAkBC,MAAM;AAAA,wBAAGC,QAAQ;AAAA,wBAAKC,MAAM;AAAA,sBAAA,CAAE;AAAA,oBAAA;AAAA,oBAAA,IAAArH,WAAA;AAAA,6BAC1FD,EAAAA;AAAAA,oBAAW;AAAA,kBAAA,CAAA;AAAA,gBAAA;AAAA,cAAA,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,GAKhBF,CAAI,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,GAAAiF,EAGXqB,GAAI;AAAA,IAAA,IAACC,OAAI;AAAA,aAAElC,EAAAA;AAAAA,IAAS;AAAA,IAAA,IAAAlE,WAAA;AAAA,aAAA8E,EAClBwC,IAAM;AAAA,QAAA,IAACC,QAAK;AAAA,iBAAGC,KAAWpH,SAAYqH,SAASC;AAAAA,QAAa;AAAA,QAAA,IAAA1H,WAAA;AAAA,iBAAA8E,EAC1D6C,IAAiB;AAAA,YAAClE,aAAAA;AAAAA,YAAwB,IAAAzD,WAAA;AAAA,kBAAA4H,IAAAC,GAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAC,YAAAE,IAElClC,EAAUnE,EAASsG,aAAchC,CAAAA,MAAQ1E,IAAa0E,CAAkB;AAAC,4BAAA+B,KAAA,cAAAE,GAAAF,GAAAL,CAAA,GAAAQ,EAAAN,GAAAhD,EAc3EuD,IAAgB;AAAA,gBAAA,IACfvH,YAAS;AAAA,yBAAEA,EAAAA;AAAAA,gBAAW;AAAA,gBAAA,IACtBgD,SAAM;AAAA,yBAAElE,EAAMkE;AAAAA,gBAAM;AAAA,gBAAA,IACpB7C,WAAQ;AAAA,yBAAEA,EAAAA;AAAAA,gBAAU;AAAA,gBACpB8B,UAAUX;AAAAA,gBACVC,mBAAAA;AAAAA,gBACAE,kBAAAA;AAAAA,cAAAA,CAAkC,GAAAyF,CAAA,GAAAI,EAAAJ,GAECnD,EAAI,GAAAyD,GAAAC,CAAAA,MAAA;AAAA,oBAAAC,KApBpC;AAAA,kBACL,GAAG5G,EAAS6G,eAAAA;AAAAA,kBAEZC,SAAStE,GAAAA,IAAU,IAAI;AAAA,gBAAA,GACxBuE,IAKW/I,EAAMgJ,qBAAqB;AAAaL,uBAAAA,EAAAM,IAAAC,GAAAlB,GAAAY,IAAAD,EAAAM,CAAA,GAAAF,MAAAJ,EAAAQ,KAAAC,GAAApB,GAAA,cAAAW,EAAAQ,IAAAJ,CAAA,GAAAJ;AAAAA,cAAA,GAAA;AAAA,gBAAAM,GAAAzI;AAAAA,gBAAA2I,GAAA3I;AAAAA,cAAAA,CAAA,GAAAwH;AAAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA;AAAA,MAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAmBlE;"}
|
|
1
|
+
{"version":3,"file":"datePicker.js","sources":["../../../../../src/components/inputs/datePicker/datePicker.tsx"],"sourcesContent":["import { type JSX, Show, children, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport { Portal, isServer } from \"solid-js/web\";\nimport { buildFloatingMiddleware, type Placement, resolvePlacement } from \"../../../utils/floating\";\nimport { createFloating } from \"../../../primitives/createFloating\";\nimport { isTopOverlayLayer } from \"../../../primitives/overlayLayer\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { TextField, type TextFieldProps } from \"../textField\";\nimport { DataPickerHeader } from \"./dataPickerHeader\";\nimport { DataPickerDays } from \"./dataPickerDays\";\nimport { DatePickerList } from \"./datePickerList\";\nimport { DataPickerInput } from \"./dataPickerInput\";\nimport { DatePickerIconButton } from \"./datePickerIconButton\";\nimport { OpenView } from \"./openView\";\nimport {\n type WeekStart,\n getDisplayDate,\n getMonths,\n getYears,\n isValidDate,\n setMonth,\n setYear,\n} from \"./dateUtils\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport { OpenView } from \"./openView\";\n\nexport interface DatePickerProps\n extends Omit<TextFieldProps, \"onBlur\" | \"onChange\" | \"value\" | \"defaultValue\" | \"ref\" | \"onToggle\"> {\n showDaysOutsideMonth?: boolean | undefined;\n disablePast?: boolean | undefined;\n disableFuture?: boolean | undefined;\n /** Earliest selectable date (inclusive). */\n minDate?: Date | undefined;\n /** Latest selectable date (inclusive). */\n maxDate?: Date | undefined;\n /** Predicate to disable arbitrary days. */\n isDateDisabled?: ((day: Date) => boolean) | undefined;\n weekStartsOn?: WeekStart | undefined;\n /** BCP-47 locale for calendar labels (day/month/year names). */\n locale?: string | undefined;\n /** Input format pattern with tokens dd, MM, yyyy, e.g. \"dd/MM/yyyy\". */\n format?: string | undefined;\n /** Enables date-range selection. */\n range?: boolean | undefined;\n /** Controlled range value `[start, end]`. */\n rangeValue?: [Date | undefined, Date | undefined] | undefined;\n /** Called when the range changes. */\n onRangeChange?: ((range: [Date | undefined, Date | undefined]) => void) | undefined;\n placement?: Placement | undefined;\n disableCalendar?: boolean | undefined;\n label?: string | undefined;\n /** Accessible label for the calendar popup dialog. */\n calendarAriaLabel?: string | undefined;\n value?: Date | string | undefined;\n calendarIcon?: JSX.Element;\n onChange?: ((event?: Event, value?: Date, data?: DatePickerProps) => void) | undefined;\n onBlur?: ((event?: FocusEvent, value?: Date, data?: DatePickerProps) => void) | undefined;\n ref?: Ref<HTMLInputElement>;\n}\n\nconst FADE_MS = 150;\n\nexport function DatePicker(props: DatePickerProps): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"value\",\n \"onChange\",\n \"showDaysOutsideMonth\",\n \"disablePast\",\n \"disableFuture\",\n \"weekStartsOn\",\n \"placement\",\n \"disabled\",\n \"disableCalendar\",\n \"calendarAriaLabel\",\n \"minDate\",\n \"maxDate\",\n \"isDateDisabled\",\n \"locale\",\n \"format\",\n \"range\",\n \"rangeValue\",\n \"onRangeChange\",\n \"calendarIcon\",\n \"onBlur\",\n \"ref\",\n ]);\n\n // The range field draws the calendar icon itself, unless the calendar is off:\n // read it once, and only then (the single field hands it to its input).\n const rangeIcon = children(() => (local.range && !local.disableCalendar ? local.calendarIcon : undefined));\n\n const value = (): Date | undefined => (local.value === undefined ? undefined : new Date(local.value));\n const isRangeControlled = (): boolean => local.rangeValue !== undefined;\n const [rangeState, setRangeState] = createSignal<[Date | undefined, Date | undefined]>([undefined, undefined]);\n const currentRange = (): [Date | undefined, Date | undefined] =>\n isRangeControlled() && local.rangeValue ? local.rangeValue : rangeState();\n\n const initialValue = value();\n const [viewValue, setViewValue] = createSignal<Date>(isValidDate(initialValue) ? initialValue : new Date());\n const [openView, setOpenView] = createSignal<OpenView>(OpenView.days);\n const [isOpen, setIsOpen] = createSignal(false);\n\n let anchorEl: HTMLElement | undefined;\n let calendarEl: HTMLElement | undefined;\n\n const resolved = (): ReturnType<typeof resolvePlacement> => resolvePlacement(local.placement ?? \"bottom-start\");\n const floating = createFloating({\n placement: () => resolved().placement,\n middleware: () => buildFloatingMiddleware(resolved()),\n });\n\n createEffect(() => {\n if (local.disabled) return;\n const v = value();\n setViewValue(isValidDate(v) ? v : new Date());\n });\n\n const weekStartsOn = (): WeekStart => local.weekStartsOn ?? 1;\n\n const onViewValueChange = (v: Date): void => {\n setViewValue(v);\n };\n\n const onMonthLabelClick = (): void => {\n setOpenView(openView() === OpenView.months ? OpenView.days : OpenView.months);\n };\n\n const onYearLabelClick = (): void => {\n setOpenView(openView() === OpenView.years ? OpenView.days : OpenView.years);\n };\n\n const onMonthChange = (month: number): void => {\n setViewValue(setMonth(viewValue(), month));\n setOpenView(OpenView.days);\n };\n\n const onYearChange = (year: number): void => {\n setViewValue(setYear(viewValue(), year));\n setOpenView(OpenView.days);\n };\n\n const onChange = (event?: Event, date?: Date): void => {\n if (local.range) {\n if (!date) return;\n const [start, end] = currentRange();\n let next: [Date | undefined, Date | undefined];\n if (!start || (start && end)) {\n next = [date, undefined];\n } else {\n next = isValidDate(start) && date.getTime() < start.getTime() ? [date, start] : [start, date];\n }\n if (!isRangeControlled()) setRangeState(next);\n local.onRangeChange?.(next);\n if (next[0] && next[1]) setIsOpen(false);\n return;\n }\n local.onChange?.(event, date, props);\n setIsOpen(false);\n };\n\n const onToggle = (): void => {\n if (!local.disabled) setIsOpen((prev) => !prev);\n };\n\n const onClickAway = (event: MouseEvent | TouchEvent): void => {\n const target = event.target as HTMLElement;\n if (calendarEl?.contains(target) || anchorEl?.contains(target)) return;\n setIsOpen(false);\n };\n\n const months = createMemo(() => getMonths(local.locale));\n const years = getYears(new Date().getFullYear(), 100);\n\n const shouldOpen = (): boolean => isOpen() && !local.disabled && !local.disableCalendar;\n const [mounted, setMounted] = createSignal(shouldOpen());\n const [shown, setShown] = createSignal(false);\n let raf: number | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n\n createEffect(() => {\n if (shouldOpen()) {\n if (timer !== undefined) clearTimeout(timer);\n setMounted(true);\n raf = requestAnimationFrame(() => setShown(true));\n } else {\n setShown(false);\n if (mounted()) timer = setTimeout(() => setMounted(false), FADE_MS);\n }\n });\n onCleanup(() => {\n if (raf !== undefined) cancelAnimationFrame(raf);\n if (timer !== undefined) clearTimeout(timer);\n });\n\n // Escape closes the panel while it is the topmost overlay layer, so the next one\n // reaches a Modal or Sheet around the picker. Focus left in the panel (or on\n // <body> after a click there) goes back to the input rather than being lost.\n createEffect(() => {\n if (!shouldOpen()) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n const panel = calendarEl;\n if (event.key !== \"Escape\" || !panel || !isTopOverlayLayer(panel)) return;\n setIsOpen(false);\n const active = document.activeElement;\n if (!active || active === document.body || panel.contains(active)) anchorEl?.focus();\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const view = (): JSX.Element => {\n switch (openView()) {\n case OpenView.months:\n return <DatePickerList value={viewValue().getMonth()} items={months()} onChange={onMonthChange} />;\n case OpenView.years:\n return <DatePickerList value={viewValue().getFullYear()} items={years} onChange={onYearChange} />;\n default:\n return (\n <DataPickerDays\n viewValue={viewValue()}\n value={value()}\n showDaysOutsideMonth={local.showDaysOutsideMonth}\n onChange={onChange}\n disablePast={local.disablePast}\n disableFuture={local.disableFuture}\n weekStartsOn={weekStartsOn()}\n minDate={local.minDate}\n maxDate={local.maxDate}\n isDateDisabled={local.isDateDisabled}\n locale={local.locale}\n range={local.range}\n rangeStart={currentRange()[0]}\n rangeEnd={currentRange()[1]}\n />\n );\n }\n };\n\n const rangeDisplay = (): string =>\n local.range && (currentRange()[0] || currentRange()[1])\n ? `${getDisplayDate(currentRange()[0], local.format)} – ${getDisplayDate(currentRange()[1], local.format)}`\n : \"\";\n\n const anchorRef = mergeRefs(local.ref, floating.setReference, (el) => (anchorEl = el as HTMLElement));\n\n return (\n <>\n <Show\n when={local.range}\n fallback={\n <DataPickerInput\n ref={anchorRef}\n value={local.value}\n onChange={local.onChange}\n onBlur={local.onBlur}\n onToggle={onToggle}\n disabled={local.disabled}\n disableCalendar={local.disableCalendar}\n format={local.format}\n calendarIcon={local.calendarIcon}\n {...rest}\n />\n }\n >\n <TextField\n ref={anchorRef}\n value={rangeDisplay()}\n readOnly\n onChange={() => undefined}\n disabled={Boolean(local.disabled)}\n {...(local.format ? { placeholder: `${local.format} – ${local.format}` } : {})}\n endAdornment={\n <Show when={!local.disableCalendar}>\n <DatePickerIconButton\n edge=\"end\"\n onClick={onToggle}\n disabled={Boolean(local.disabled)}\n data-testid=\"date-picker-icon-button\"\n >\n <Show when={rangeIcon()} fallback={<Icon name=\"calendar_today\" fill={1} weight={500} size={24} />}>\n {rangeIcon()}\n </Show>\n </DatePickerIconButton>\n </Show>\n }\n {...rest}\n />\n </Show>\n <Show when={mounted()}>\n <Portal mount={(isServer ? undefined : document.body) as Node}>\n <ClickAwayListener onClickAway={onClickAway}>\n <div\n ref={mergeRefs(floating.setFloating, (el) => (calendarEl = el as HTMLElement))}\n class=\"smwb-date-picker\"\n style={{\n ...floating.floatingStyles(),\n transition: `opacity ${FADE_MS}ms ease-in-out`,\n opacity: shown() ? 1 : 0,\n }}\n data-testid=\"date-picker\"\n data-smwb-overlay-layer\n role=\"dialog\"\n aria-modal=\"false\"\n aria-label={local.calendarAriaLabel ?? \"Choose date\"}\n >\n <div class=\"smwb-date-picker__inner\">\n <DataPickerHeader\n viewValue={viewValue()}\n locale={local.locale}\n openView={openView()}\n onChange={onViewValueChange}\n onMonthLabelClick={onMonthLabelClick}\n onYearLabelClick={onYearLabelClick}\n />\n <div class=\"smwb-date-picker__body\">{view()}</div>\n </div>\n </div>\n </ClickAwayListener>\n </Portal>\n </Show>\n </>\n );\n}\n\nexport default DatePicker;\n"],"names":["FADE_MS","DatePicker","props","local","rest","splitProps","rangeIcon","children","range","disableCalendar","calendarIcon","undefined","value","Date","isRangeControlled","rangeValue","rangeState","setRangeState","createSignal","currentRange","initialValue","viewValue","setViewValue","isValidDate","openView","setOpenView","OpenView","days","isOpen","setIsOpen","anchorEl","calendarEl","resolved","resolvePlacement","placement","floating","createFloating","middleware","buildFloatingMiddleware","createEffect","disabled","v","weekStartsOn","onViewValueChange","onMonthLabelClick","months","onYearLabelClick","years","onMonthChange","month","setMonth","onYearChange","year","setYear","onChange","event","date","start","end","next","getTime","onRangeChange","onToggle","prev","onClickAway","target","contains","createMemo","getMonths","locale","getYears","getFullYear","shouldOpen","mounted","setMounted","shown","setShown","raf","timer","clearTimeout","requestAnimationFrame","setTimeout","onCleanup","cancelAnimationFrame","onKeyDown","panel","key","isTopOverlayLayer","active","document","activeElement","body","focus","addEventListener","removeEventListener","view","_$createComponent","DatePickerList","getMonth","items","DataPickerDays","showDaysOutsideMonth","disablePast","disableFuture","minDate","maxDate","isDateDisabled","rangeStart","rangeEnd","rangeDisplay","getDisplayDate","format","anchorRef","mergeRefs","ref","setReference","el","Show","when","fallback","DataPickerInput","_$mergeProps","onBlur","TextField","readOnly","Boolean","placeholder","endAdornment","DatePickerIconButton","edge","onClick","Icon","name","fill","weight","size","Portal","mount","isServer","ClickAwayListener","_el$","_tmpl$","_el$2","firstChild","_el$3","_ref$","setFloating","_$use","_$insert","DataPickerHeader","_$effect","_p$","_v$","floatingStyles","opacity","_v$2","calendarAriaLabel","e","_$style","t","_$setAttribute"],"mappings":"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"}
|