@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
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"carousel.js","sources":["../../../../../src/components/dataDisplay/carousel/carousel.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n For,\n Show,\n children as resolveChildren,\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { Modal } from \"../../feedBack/modal\";\nimport {\n clamp,\n coordX,\n coordY,\n dragPrevent,\n getSlideIndexForMultipleParts,\n getSlideStyle,\n getSlideWidth,\n getSlidesToShow,\n getStartSlide,\n isMouseEvent,\n isTouchEvent,\n toCssLength,\n toCssNumber,\n} from \"./utils\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface CarouselProps {\n slidesToShow?: number;\n startSlide?: number;\n class?: string;\n showNavigation?: boolean;\n showArrows?: boolean;\n arrowsSize?: number;\n navigationClassName?: string;\n onSlideChange?: (slideIndex: number) => void;\n navigationDotRenderer?: (index: number, isActive: boolean, onClick: (index: number) => void) => JSX.Element;\n \"aria-label\"?: string;\n autoplay?: boolean;\n autoplayInterval?: number;\n pauseOnHover?: boolean;\n /** Height of each cell/photo. Number is treated as px. Overrides the default 205px. */\n cellHeight?: number | string;\n /** Aspect ratio of each cell/photo (e.g. 0.9 or \"16 / 9\"). Overrides the default 0.9. */\n aspectRatio?: number | string;\n /** Per-side spacing around each slide. Number is treated as px (default 4). */\n gap?: number | string;\n /** Max width of the carousel. Number is treated as px (default 412). */\n maxWidth?: number | string;\n /** Open the clicked slide in a fullscreen lightbox (arrows / swipe / Esc to navigate & close). */\n enableFullscreen?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\ntype Axis = \"x\" | \"y\" | null;\n\ninterface Motion {\n isPressed: boolean;\n startX: number;\n startY: number;\n lastX: number;\n lastT: number;\n axis: Axis;\n dragged: boolean;\n}\n\nconst TAP_THRESHOLD = 8;\nconst FLICK_VELOCITY = 0.4;\n\nconst now = (): number => (typeof performance !== \"undefined\" ? performance.now() : Date.now());\n\nexport function Carousel(props: ParentProps<CarouselProps>): JSX.Element {\n const merged = mergeProps(\n {\n slidesToShow: 3,\n startSlide: 0,\n showNavigation: true,\n arrowsSize: 30,\n \"aria-label\": \"Carousel\",\n autoplay: false,\n autoplayInterval: 4000,\n pauseOnHover: true,\n enableFullscreen: false,\n },\n props\n );\n const [local] = splitProps(merged, [\n \"slidesToShow\",\n \"startSlide\",\n \"children\",\n \"class\",\n \"showNavigation\",\n \"showArrows\",\n \"arrowsSize\",\n \"navigationClassName\",\n \"onSlideChange\",\n \"navigationDotRenderer\",\n \"aria-label\",\n \"autoplay\",\n \"autoplayInterval\",\n \"pauseOnHover\",\n \"cellHeight\",\n \"aspectRatio\",\n \"gap\",\n \"maxWidth\",\n \"enableFullscreen\",\n \"ref\",\n ]);\n\n const resolved = resolveChildren(() => local.children);\n const slides = (): unknown[] => resolved.toArray();\n const slidesCount = (): number => slides().length;\n const slidesToShow = (): number => getSlidesToShow(local.slidesToShow, slidesCount());\n const startSlide = (): number => getStartSlide(local.startSlide, slidesCount());\n const showArrows = (): boolean => !!local.showArrows && slidesCount() > 1;\n const maxShift = (): number => Math.max(0, slidesCount() - slidesToShow());\n\n const [activeSlideIndex, setActiveSlideIndex] = createSignal(startSlide());\n const [animation, setAnimation] = createSignal<boolean | undefined>(undefined);\n const [isHovered, setIsHovered] = createSignal(false);\n const [dragPx, setDragPx] = createSignal(0);\n const [isDragging, setIsDragging] = createSignal(false);\n const [fullscreenIndex, setFullscreenIndex] = createSignal<number | null>(null);\n const [fullscreenDragPx, setFullscreenDragPx] = createSignal(0);\n const [isFullscreenDragging, setIsFullscreenDragging] = createSignal(false);\n\n let rootEl: HTMLDivElement | undefined;\n let trackEl: HTMLDivElement | undefined;\n const motion: Motion = { isPressed: false, startX: 0, startY: 0, lastX: 0, lastT: 0, axis: null, dragged: false };\n let fullscreenTouchX: number | null = null;\n const slideId = createUniqueId();\n\n createEffect(() => {\n slidesToShow();\n setAnimation(false);\n });\n\n createEffect(() => {\n const start = startSlide();\n setActiveSlideIndex(start);\n local.onSlideChange?.(start);\n if (animation() !== undefined) setAnimation(true);\n });\n\n const goToSlide = (index: number): void => {\n const target = clamp(index, 0, maxShift());\n setActiveSlideIndex(target);\n setAnimation(true);\n local.onSlideChange?.(target);\n };\n\n const detachListeners = (mouse: boolean): void => {\n if (!trackEl) return;\n trackEl.removeEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener);\n trackEl.removeEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.removeEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onMove = (event: MouseEvent | TouchEvent): void => {\n if (!rootEl || !motion.isPressed) return;\n if (isTouchEvent(event) && event.touches.length > 1) {\n onEnd(event);\n return;\n }\n\n const clientX = coordX(event);\n const clientY = coordY(event);\n const shiftX = clientX - motion.startX;\n const shiftY = clientY - motion.startY;\n\n if (motion.axis === null) {\n if (Math.abs(shiftX) < TAP_THRESHOLD && Math.abs(shiftY) < TAP_THRESHOLD) return;\n motion.axis = Math.abs(shiftX) >= Math.abs(shiftY) ? \"x\" : \"y\";\n motion.dragged = true;\n if (motion.axis === \"y\") {\n onEnd(event);\n return;\n }\n if (slidesCount() > 1) setIsDragging(true);\n }\n\n if (motion.axis !== \"x\") return;\n\n event.preventDefault();\n event.stopPropagation();\n\n if (slidesCount() > 1) {\n const atStart = activeSlideIndex() <= 0;\n const atEnd = activeSlideIndex() >= maxShift();\n const offset = (atStart && shiftX > 0) || (atEnd && shiftX < 0) ? shiftX * 0.35 : shiftX;\n setDragPx(offset);\n }\n\n motion.lastX = clientX;\n motion.lastT = now();\n };\n\n const onEnd = (event: MouseEvent | TouchEvent): void => {\n if (!motion.isPressed) return;\n\n const mouse = isMouseEvent(event);\n detachListeners(mouse);\n\n const { axis, dragged, startX, lastX, lastT } = motion;\n motion.isPressed = false;\n setIsDragging(false);\n\n if (axis === \"x\" && dragged && slidesCount() > 1 && rootEl) {\n const clientX = coordX(event);\n const totalShift = clientX - startX;\n const widthPerSlide = rootEl.offsetWidth / slidesToShow();\n const velocity = lastT ? (clientX - lastX) / Math.max(1, now() - lastT) : 0;\n\n let movedSlides = widthPerSlide > 0 ? Math.round(-totalShift / widthPerSlide) : 0;\n if (movedSlides === 0 && Math.abs(velocity) > FLICK_VELOCITY) {\n movedSlides = velocity < 0 ? 1 : -1;\n }\n goToSlide(activeSlideIndex() + movedSlides);\n }\n\n setDragPx(0);\n };\n\n const onStart: JSX.EventHandler<HTMLDivElement, MouseEvent | TouchEvent> = (event) => {\n if (!trackEl) return;\n const mouse = isMouseEvent(event);\n if (mouse && (event as MouseEvent).button !== 0) return;\n event.stopPropagation();\n\n motion.isPressed = true;\n motion.startX = coordX(event);\n motion.startY = coordY(event);\n motion.lastX = motion.startX;\n motion.lastT = now();\n motion.axis = null;\n motion.dragged = false;\n\n trackEl.addEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener, { passive: false });\n trackEl.addEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.addEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onSlideClick = (index: number): void => {\n if (motion.dragged) return;\n if (local.enableFullscreen) setFullscreenIndex(index);\n };\n\n const getNextIndex = (direction: 1 | -1): number => {\n const isSingle = slidesToShow() === 1;\n const totalGroups = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const activeIndex = activeSlideIndex() + slidesToShow();\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n const nextIndex = (currentIndex + direction + totalGroups) % totalGroups;\n return isSingle ? nextIndex : nextIndex * slidesToShow();\n };\n\n const dots = (): Array<{ index: number; nextIndex: number; isActive: boolean }> => {\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const isSingle = slidesToShow() === 1;\n const count = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const result: Array<{ index: number; nextIndex: number; isActive: boolean }> = [];\n for (let index = 0; index < count; index++) {\n let nextIndex = index;\n let currentIndex = activeSlideIndex();\n if (!isSingle) {\n const isLast = index === count - 1;\n const activeIndex = activeSlideIndex() + slidesToShow();\n nextIndex = isLast ? slidesCount() - slidesToShow() : index * slidesToShow();\n currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n }\n result.push({ index, nextIndex, isActive: currentIndex === index });\n }\n return result;\n };\n\n const indent = (): number => {\n const shiftSlides = activeSlideIndex() > maxShift() ? maxShift() : activeSlideIndex();\n return getSlideWidth(slidesToShow()) * shiftSlides;\n };\n\n const rootStyle = createMemo<JSX.CSSProperties>(() => {\n const style: Record<string, string> = {};\n const cellHeightValue = toCssLength(local.cellHeight);\n const aspectRatioValue = toCssNumber(local.aspectRatio);\n const gapValue = toCssLength(local.gap);\n const maxWidthValue = toCssLength(local.maxWidth);\n if (cellHeightValue) style[\"--smwb-carousel-cell-height\"] = cellHeightValue;\n if (aspectRatioValue) style[\"--smwb-carousel-aspect-ratio\"] = aspectRatioValue;\n if (gapValue) style[\"--smwb-carousel-gap\"] = gapValue;\n if (maxWidthValue) style[\"--smwb-carousel-max-width\"] = maxWidthValue;\n return style;\n });\n\n const moveFullscreen = (direction: 1 | -1): void => {\n const prev = fullscreenIndex();\n if (prev === null) return;\n setFullscreenIndex((prev + direction + slidesCount()) % slidesCount());\n };\n\n // A DOM node can only live in one place, so the carousel's own slide nodes\n // can't be reused inside the modal — render clones of every slide into a\n // sliding track so navigation animates smoothly instead of swapping nodes.\n const fullscreenClones = createMemo<Array<Node | string>>(() =>\n slides().map((node) => {\n // `Node` is a browser global — guard it so this memo (which is evaluated\n // during render) does not throw `Node is not defined` under SSR.\n if (typeof Node !== \"undefined\" && node instanceof Node) return node.cloneNode(true);\n return node == null ? \"\" : String(node);\n })\n );\n\n // Autoplay\n createEffect(() => {\n if (!local.autoplay || slidesCount() <= 1 || (local.pauseOnHover && isHovered()) || fullscreenIndex() !== null) {\n return;\n }\n const timer = window.setInterval(() => goToSlide(getNextIndex(1)), local.autoplayInterval);\n onCleanup(() => window.clearInterval(timer));\n });\n\n // Keyboard navigation while the lightbox is open.\n createEffect(() => {\n if (fullscreenIndex() === null || slidesCount() <= 1) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"ArrowLeft\") moveFullscreen(-1);\n else if (event.key === \"ArrowRight\") moveFullscreen(1);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const onFullscreenTouchStart = (event: TouchEvent): void => {\n fullscreenTouchX = event.touches[0]?.clientX ?? null;\n };\n\n const onFullscreenTouchMove = (event: TouchEvent): void => {\n if (fullscreenTouchX === null || slidesCount() <= 1) return;\n const delta = (event.touches[0]?.clientX ?? fullscreenTouchX) - fullscreenTouchX;\n setIsFullscreenDragging(true);\n setFullscreenDragPx(delta);\n };\n\n const onFullscreenTouchEnd = (event: TouchEvent): void => {\n const startX = fullscreenTouchX;\n fullscreenTouchX = null;\n setIsFullscreenDragging(false);\n setFullscreenDragPx(0);\n if (startX === null || slidesCount() <= 1) return;\n const delta = (event.changedTouches[0]?.clientX ?? startX) - startX;\n if (Math.abs(delta) > 40) moveFullscreen(delta < 0 ? 1 : -1);\n };\n\n return (\n <div\n class={cn(\"smwb-carousel\", local.class)}\n data-testid=\"carousel\"\n ref={mergeRefs(local.ref)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label={local[\"aria-label\"]}\n style={rootStyle()}\n onMouseEnter={local.pauseOnHover ? () => setIsHovered(true) : undefined}\n onMouseLeave={local.pauseOnHover ? () => setIsHovered(false) : undefined}\n >\n <div class=\"smwb-carousel__inner\" ref={(el) => (rootEl = el)}>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_left\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_prev\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, left: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(-1))}\n />\n </Show>\n <div\n ref={(el) => (trackEl = el)}\n class=\"smwb-carousel__track\"\n onMouseDown={onStart}\n onTouchStart={onStart}\n onDragStart={dragPrevent}\n onDragEnd={dragPrevent}\n >\n <div\n class=\"smwb-carousel__layer\"\n style={{\n transform: `translateX(calc(-${indent()}% + ${dragPx()}px))`,\n transition:\n isDragging() || animation() === undefined\n ? \"none\"\n : animation()\n ? \"transform 500ms cubic-bezier(.1, 0, .25, 1)\"\n : \"none\",\n }}\n >\n <For each={slides()}>\n {(child, index) => (\n <div id={`${slideId}${index()}`} class=\"smwb-carousel__slide\" style={getSlideStyle(slidesToShow())}>\n <div\n class={cn(\n \"smwb-carousel__slide-inner\",\n local.enableFullscreen && \"smwb-carousel__slide-inner_clickable\"\n )}\n onClick={local.enableFullscreen ? () => onSlideClick(index()) : undefined}\n >\n {child as JSX.Element}\n </div>\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_right\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_next\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, right: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(1))}\n />\n </Show>\n </div>\n <Show when={local.showNavigation}>\n <div class={cn(\"smwb-carousel__navigation\", local.navigationClassName)}>\n <For each={dots()}>\n {(dot) =>\n local.navigationDotRenderer ? (\n local.navigationDotRenderer(dot.index, dot.isActive, (i) => goToSlide(i))\n ) : (\n <div\n class={cn(\"smwb-carousel__navigation__dot\", dot.isActive && \"current\")}\n onClick={() => goToSlide(dot.nextIndex)}\n />\n )\n }\n </For>\n </div>\n </Show>\n <Show when={local.enableFullscreen}>\n <Modal\n open={fullscreenIndex() !== null}\n size=\"fullscreen\"\n backdrop=\"darkBlured\"\n class=\"smwb-carousel__fullscreen\"\n onClose={() => setFullscreenIndex(null)}\n aria-label=\"Image viewer\"\n >\n <div class=\"smwb-carousel__fullscreen-content\">\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_left\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_prev\")}\n onClick={() => moveFullscreen(-1)}\n />\n </Show>\n <div\n class=\"smwb-carousel__fullscreen-stage\"\n onTouchStart={onFullscreenTouchStart}\n onTouchMove={onFullscreenTouchMove}\n onTouchEnd={onFullscreenTouchEnd}\n >\n <div\n class=\"smwb-carousel__fullscreen-track\"\n style={{\n transform: `translateX(calc(-${(fullscreenIndex() ?? 0) * 100}% + ${fullscreenDragPx()}px))`,\n transition: isFullscreenDragging() ? \"none\" : \"transform 350ms cubic-bezier(.22, .61, .36, 1)\",\n }}\n >\n <For each={fullscreenClones()}>\n {(node, index) => (\n <div class=\"smwb-carousel__fullscreen-slide\" aria-hidden={index() !== fullscreenIndex()}>\n {node as JSX.Element}\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_right\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_next\")}\n onClick={() => moveFullscreen(1)}\n />\n </Show>\n <Icon\n name=\"close\"\n size={32}\n class=\"smwb-carousel__fullscreen-close\"\n onClick={() => setFullscreenIndex(null)}\n />\n </div>\n </Modal>\n </Show>\n </div>\n );\n}\n\nexport default Carousel;\n"],"names":["TAP_THRESHOLD","FLICK_VELOCITY","now","performance","Date","Carousel","props","merged","mergeProps","slidesToShow","startSlide","showNavigation","arrowsSize","autoplay","autoplayInterval","pauseOnHover","enableFullscreen","local","splitProps","resolved","resolveChildren","children","slides","toArray","slidesCount","length","getSlidesToShow","getStartSlide","showArrows","maxShift","Math","max","activeSlideIndex","setActiveSlideIndex","createSignal","animation","setAnimation","undefined","isHovered","setIsHovered","dragPx","setDragPx","isDragging","setIsDragging","fullscreenIndex","setFullscreenIndex","fullscreenDragPx","setFullscreenDragPx","isFullscreenDragging","setIsFullscreenDragging","rootEl","trackEl","motion","isPressed","startX","startY","lastX","lastT","axis","dragged","fullscreenTouchX","slideId","createUniqueId","createEffect","start","onSlideChange","goToSlide","index","target","clamp","detachListeners","mouse","removeEventListener","onMove","onEnd","event","isTouchEvent","touches","clientX","coordX","clientY","coordY","shiftX","shiftY","abs","preventDefault","stopPropagation","atStart","atEnd","offset","isMouseEvent","totalShift","widthPerSlide","offsetWidth","velocity","movedSlides","round","onStart","button","addEventListener","passive","onSlideClick","getNextIndex","direction","isSingle","totalGroups","ceil","activeIndex","isNextDisabled","nextIndex","getSlideIndexForMultipleParts","dots","count","result","currentIndex","isLast","push","isActive","indent","shiftSlides","getSlideWidth","rootStyle","createMemo","style","cellHeightValue","toCssLength","cellHeight","aspectRatioValue","toCssNumber","aspectRatio","gapValue","gap","maxWidthValue","maxWidth","moveFullscreen","prev","fullscreenClones","map","node","Node","cloneNode","String","timer","window","setInterval","onCleanup","clearInterval","onKeyDown","key","document","onFullscreenTouchStart","onFullscreenTouchMove","delta","onFullscreenTouchEnd","changedTouches","_el$","_tmpl$3","_el$2","firstChild","_el$3","_el$4","_$addEventListener","_ref$","mergeRefs","ref","_$use","el","_$insert","_$createComponent","Show","when","Icon","name","size","cn","top","left","onClick","dragPrevent","$$touchstart","$$mousedown","For","each","child","_el$9","_tmpl$4","_el$0","_$effect","_p$","_v$8","_v$9","getSlideStyle","_v$0","e","_$setAttribute","t","_$style","a","_$className","right","_el$5","_tmpl$","dot","navigationDotRenderer","i","_el$1","$$click","navigationClassName","Modal","open","backdrop","onClose","_el$6","_tmpl$2","_el$7","_el$8","$$touchend","$$touchmove","_el$10","_tmpl$5","_v$","_v$2","_$setStyleProperty","_v$3","class","_v$4","_v$5","_v$6","_v$7","o","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"carousel.js","sources":["../../../../../src/components/dataDisplay/carousel/carousel.tsx"],"sourcesContent":["import {\n type JSX,\n type ParentProps,\n For,\n Show,\n children as resolveChildren,\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n mergeProps,\n onCleanup,\n splitProps,\n} from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { Modal } from \"../../feedBack/modal\";\nimport {\n clamp,\n coordX,\n coordY,\n dragPrevent,\n getSlideIndexForMultipleParts,\n getSlideStyle,\n getSlideWidth,\n getSlidesToShow,\n getStartSlide,\n isMouseEvent,\n isTouchEvent,\n toCssLength,\n toCssNumber,\n} from \"./utils\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface CarouselProps {\n slidesToShow?: number;\n startSlide?: number;\n class?: string;\n showNavigation?: boolean;\n showArrows?: boolean;\n arrowsSize?: number;\n navigationClassName?: string;\n onSlideChange?: (slideIndex: number) => void;\n navigationDotRenderer?: (index: number, isActive: boolean, onClick: (index: number) => void) => JSX.Element;\n \"aria-label\"?: string;\n autoplay?: boolean;\n autoplayInterval?: number;\n pauseOnHover?: boolean;\n /** Height of each cell/photo. Number is treated as px. Overrides the default 205px. */\n cellHeight?: number | string;\n /** Aspect ratio of each cell/photo (e.g. 0.9 or \"16 / 9\"). Overrides the default 0.9. */\n aspectRatio?: number | string;\n /** Per-side spacing around each slide. Number is treated as px (default 4). */\n gap?: number | string;\n /** Max width of the carousel. Number is treated as px (default 412). */\n maxWidth?: number | string;\n /** Open the clicked slide in a fullscreen lightbox (arrows / swipe / Esc to navigate & close). */\n enableFullscreen?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\ntype Axis = \"x\" | \"y\" | null;\n\ninterface Motion {\n isPressed: boolean;\n startX: number;\n startY: number;\n lastX: number;\n lastT: number;\n axis: Axis;\n dragged: boolean;\n}\n\nconst TAP_THRESHOLD = 8;\nconst FLICK_VELOCITY = 0.4;\n\nconst now = (): number => (typeof performance !== \"undefined\" ? performance.now() : Date.now());\n\nexport function Carousel(props: ParentProps<CarouselProps>): JSX.Element {\n const merged = mergeProps(\n {\n slidesToShow: 3,\n startSlide: 0,\n showNavigation: true,\n arrowsSize: 30,\n \"aria-label\": \"Carousel\",\n autoplay: false,\n autoplayInterval: 4000,\n pauseOnHover: true,\n enableFullscreen: false,\n },\n props\n );\n const [local] = splitProps(merged, [\n \"slidesToShow\",\n \"startSlide\",\n \"children\",\n \"class\",\n \"showNavigation\",\n \"showArrows\",\n \"arrowsSize\",\n \"navigationClassName\",\n \"onSlideChange\",\n \"navigationDotRenderer\",\n \"aria-label\",\n \"autoplay\",\n \"autoplayInterval\",\n \"pauseOnHover\",\n \"cellHeight\",\n \"aspectRatio\",\n \"gap\",\n \"maxWidth\",\n \"enableFullscreen\",\n \"ref\",\n ]);\n\n const resolved = resolveChildren(() => local.children);\n const slides = (): unknown[] => resolved.toArray();\n const slidesCount = (): number => slides().length;\n const slidesToShow = (): number => getSlidesToShow(local.slidesToShow, slidesCount());\n const startSlide = (): number => getStartSlide(local.startSlide, slidesCount());\n const showArrows = (): boolean => !!local.showArrows && slidesCount() > 1;\n const maxShift = (): number => Math.max(0, slidesCount() - slidesToShow());\n\n const [activeSlideIndex, setActiveSlideIndex] = createSignal(startSlide());\n const [animation, setAnimation] = createSignal<boolean | undefined>(undefined);\n const [isHovered, setIsHovered] = createSignal(false);\n const [dragPx, setDragPx] = createSignal(0);\n const [isDragging, setIsDragging] = createSignal(false);\n const [fullscreenIndex, setFullscreenIndex] = createSignal<number | null>(null);\n const [fullscreenDragPx, setFullscreenDragPx] = createSignal(0);\n const [isFullscreenDragging, setIsFullscreenDragging] = createSignal(false);\n\n let rootEl: HTMLDivElement | undefined;\n let trackEl: HTMLDivElement | undefined;\n const motion: Motion = { isPressed: false, startX: 0, startY: 0, lastX: 0, lastT: 0, axis: null, dragged: false };\n let fullscreenTouchX: number | null = null;\n const slideId = createUniqueId();\n\n createEffect(() => {\n slidesToShow();\n setAnimation(false);\n });\n\n createEffect(() => {\n const start = startSlide();\n setActiveSlideIndex(start);\n local.onSlideChange?.(start);\n if (animation() !== undefined) setAnimation(true);\n });\n\n const goToSlide = (index: number): void => {\n const target = clamp(index, 0, maxShift());\n setActiveSlideIndex(target);\n setAnimation(true);\n local.onSlideChange?.(target);\n };\n\n const detachListeners = (mouse: boolean): void => {\n if (!trackEl) return;\n trackEl.removeEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener);\n trackEl.removeEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.removeEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n const onMove = (event: MouseEvent | TouchEvent): void => {\n if (!rootEl || !motion.isPressed) return;\n if (isTouchEvent(event) && event.touches.length > 1) {\n onEnd(event);\n return;\n }\n\n const clientX = coordX(event);\n const clientY = coordY(event);\n const shiftX = clientX - motion.startX;\n const shiftY = clientY - motion.startY;\n\n if (motion.axis === null) {\n if (Math.abs(shiftX) < TAP_THRESHOLD && Math.abs(shiftY) < TAP_THRESHOLD) return;\n motion.axis = Math.abs(shiftX) >= Math.abs(shiftY) ? \"x\" : \"y\";\n motion.dragged = true;\n if (motion.axis === \"y\") {\n onEnd(event);\n return;\n }\n if (slidesCount() > 1) setIsDragging(true);\n }\n\n if (motion.axis !== \"x\") return;\n\n event.preventDefault();\n event.stopPropagation();\n\n if (slidesCount() > 1) {\n const atStart = activeSlideIndex() <= 0;\n const atEnd = activeSlideIndex() >= maxShift();\n const offset = (atStart && shiftX > 0) || (atEnd && shiftX < 0) ? shiftX * 0.35 : shiftX;\n setDragPx(offset);\n }\n\n motion.lastX = clientX;\n motion.lastT = now();\n };\n\n const onEnd = (event: MouseEvent | TouchEvent): void => {\n if (!motion.isPressed) return;\n\n const mouse = isMouseEvent(event);\n detachListeners(mouse);\n\n const { axis, dragged, startX, lastX, lastT } = motion;\n motion.isPressed = false;\n setIsDragging(false);\n\n if (axis === \"x\" && dragged && slidesCount() > 1 && rootEl) {\n const clientX = coordX(event);\n const totalShift = clientX - startX;\n const widthPerSlide = rootEl.offsetWidth / slidesToShow();\n const velocity = lastT ? (clientX - lastX) / Math.max(1, now() - lastT) : 0;\n\n let movedSlides = widthPerSlide > 0 ? Math.round(-totalShift / widthPerSlide) : 0;\n if (movedSlides === 0 && Math.abs(velocity) > FLICK_VELOCITY) {\n movedSlides = velocity < 0 ? 1 : -1;\n }\n goToSlide(activeSlideIndex() + movedSlides);\n }\n\n setDragPx(0);\n };\n\n const onStart: JSX.EventHandler<HTMLDivElement, MouseEvent | TouchEvent> = (event) => {\n if (!trackEl) return;\n const mouse = isMouseEvent(event);\n if (mouse && (event as MouseEvent).button !== 0) return;\n event.stopPropagation();\n\n motion.isPressed = true;\n motion.startX = coordX(event);\n motion.startY = coordY(event);\n motion.lastX = motion.startX;\n motion.lastT = now();\n motion.axis = null;\n motion.dragged = false;\n\n trackEl.addEventListener(mouse ? \"mousemove\" : \"touchmove\", onMove as EventListener, { passive: false });\n trackEl.addEventListener(mouse ? \"mouseup\" : \"touchend\", onEnd as EventListener);\n if (mouse) trackEl.addEventListener(\"mouseleave\", onEnd as EventListener);\n };\n\n // Solid binds event handlers once, so the hover and slide handlers are always\n // attached and check their props themselves: `pauseOnHover` and\n // `enableFullscreen` can change after the carousel renders. Leaving always\n // ends the hover, so a hover that ends while `pauseOnHover` is off does not\n // pause autoplay once it is back on.\n const onMouseEnter = (): void => {\n if (local.pauseOnHover) setIsHovered(true);\n };\n const onMouseLeave = (): void => {\n setIsHovered(false);\n };\n\n const onSlideClick = (index: number): void => {\n if (motion.dragged) return;\n if (local.enableFullscreen) setFullscreenIndex(index);\n };\n\n const getNextIndex = (direction: 1 | -1): number => {\n const isSingle = slidesToShow() === 1;\n const totalGroups = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const activeIndex = activeSlideIndex() + slidesToShow();\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n const nextIndex = (currentIndex + direction + totalGroups) % totalGroups;\n return isSingle ? nextIndex : nextIndex * slidesToShow();\n };\n\n const dots = (): Array<{ index: number; nextIndex: number; isActive: boolean }> => {\n const isNextDisabled = slidesCount() - slidesToShow() <= activeSlideIndex();\n const isSingle = slidesToShow() === 1;\n const count = isSingle ? slidesCount() : Math.ceil(slidesCount() / slidesToShow());\n const result: Array<{ index: number; nextIndex: number; isActive: boolean }> = [];\n for (let index = 0; index < count; index++) {\n let nextIndex = index;\n let currentIndex = activeSlideIndex();\n if (!isSingle) {\n const isLast = index === count - 1;\n const activeIndex = activeSlideIndex() + slidesToShow();\n nextIndex = isLast ? slidesCount() - slidesToShow() : index * slidesToShow();\n currentIndex = getSlideIndexForMultipleParts(activeIndex, slidesToShow(), slidesCount(), isNextDisabled);\n }\n result.push({ index, nextIndex, isActive: currentIndex === index });\n }\n return result;\n };\n\n const indent = (): number => {\n const shiftSlides = activeSlideIndex() > maxShift() ? maxShift() : activeSlideIndex();\n return getSlideWidth(slidesToShow()) * shiftSlides;\n };\n\n const rootStyle = createMemo<JSX.CSSProperties>(() => {\n const style: Record<string, string> = {};\n const cellHeightValue = toCssLength(local.cellHeight);\n const aspectRatioValue = toCssNumber(local.aspectRatio);\n const gapValue = toCssLength(local.gap);\n const maxWidthValue = toCssLength(local.maxWidth);\n if (cellHeightValue) style[\"--smwb-carousel-cell-height\"] = cellHeightValue;\n if (aspectRatioValue) style[\"--smwb-carousel-aspect-ratio\"] = aspectRatioValue;\n if (gapValue) style[\"--smwb-carousel-gap\"] = gapValue;\n if (maxWidthValue) style[\"--smwb-carousel-max-width\"] = maxWidthValue;\n return style;\n });\n\n const moveFullscreen = (direction: 1 | -1): void => {\n const prev = fullscreenIndex();\n if (prev === null) return;\n setFullscreenIndex((prev + direction + slidesCount()) % slidesCount());\n };\n\n // A DOM node can only live in one place, so the carousel's own slide nodes\n // can't be reused inside the modal — render clones of every slide into a\n // sliding track so navigation animates smoothly instead of swapping nodes.\n const fullscreenClones = createMemo<Array<Node | string>>(() =>\n slides().map((node) => {\n // `Node` is a browser global — guard it so this memo (which is evaluated\n // during render) does not throw `Node is not defined` under SSR.\n if (typeof Node !== \"undefined\" && node instanceof Node) return node.cloneNode(true);\n return node == null ? \"\" : String(node);\n })\n );\n\n // Autoplay\n createEffect(() => {\n if (!local.autoplay || slidesCount() <= 1 || (local.pauseOnHover && isHovered()) || fullscreenIndex() !== null) {\n return;\n }\n const timer = window.setInterval(() => goToSlide(getNextIndex(1)), local.autoplayInterval);\n onCleanup(() => window.clearInterval(timer));\n });\n\n // Keyboard navigation while the lightbox is open.\n createEffect(() => {\n if (fullscreenIndex() === null || slidesCount() <= 1) return;\n const onKeyDown = (event: KeyboardEvent): void => {\n if (event.key === \"ArrowLeft\") moveFullscreen(-1);\n else if (event.key === \"ArrowRight\") moveFullscreen(1);\n };\n document.addEventListener(\"keydown\", onKeyDown);\n onCleanup(() => document.removeEventListener(\"keydown\", onKeyDown));\n });\n\n const onFullscreenTouchStart = (event: TouchEvent): void => {\n fullscreenTouchX = event.touches[0]?.clientX ?? null;\n };\n\n const onFullscreenTouchMove = (event: TouchEvent): void => {\n if (fullscreenTouchX === null || slidesCount() <= 1) return;\n const delta = (event.touches[0]?.clientX ?? fullscreenTouchX) - fullscreenTouchX;\n setIsFullscreenDragging(true);\n setFullscreenDragPx(delta);\n };\n\n const onFullscreenTouchEnd = (event: TouchEvent): void => {\n const startX = fullscreenTouchX;\n fullscreenTouchX = null;\n setIsFullscreenDragging(false);\n setFullscreenDragPx(0);\n if (startX === null || slidesCount() <= 1) return;\n const delta = (event.changedTouches[0]?.clientX ?? startX) - startX;\n if (Math.abs(delta) > 40) moveFullscreen(delta < 0 ? 1 : -1);\n };\n\n return (\n <div\n class={cn(\"smwb-carousel\", local.class)}\n data-testid=\"carousel\"\n ref={mergeRefs(local.ref)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n aria-label={local[\"aria-label\"]}\n style={rootStyle()}\n onMouseEnter={onMouseEnter}\n onMouseLeave={onMouseLeave}\n >\n <div class=\"smwb-carousel__inner\" ref={(el) => (rootEl = el)}>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_left\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_prev\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, left: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(-1))}\n />\n </Show>\n <div\n ref={(el) => (trackEl = el)}\n class=\"smwb-carousel__track\"\n onMouseDown={onStart}\n onTouchStart={onStart}\n onDragStart={dragPrevent}\n onDragEnd={dragPrevent}\n >\n <div\n class=\"smwb-carousel__layer\"\n style={{\n transform: `translateX(calc(-${indent()}% + ${dragPx()}px))`,\n transition:\n isDragging() || animation() === undefined\n ? \"none\"\n : animation()\n ? \"transform 500ms cubic-bezier(.1, 0, .25, 1)\"\n : \"none\",\n }}\n >\n <For each={slides()}>\n {(child, index) => (\n <div id={`${slideId}${index()}`} class=\"smwb-carousel__slide\" style={getSlideStyle(slidesToShow())}>\n <div\n class={cn(\n \"smwb-carousel__slide-inner\",\n local.enableFullscreen && \"smwb-carousel__slide-inner_clickable\"\n )}\n onClick={() => onSlideClick(index())}\n >\n {child as JSX.Element}\n </div>\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={showArrows()}>\n <Icon\n name=\"chevron_right\"\n size={local.arrowsSize}\n class={cn(\"smwb-carousel__arrow\", \"smwb-carousel__arrow_next\")}\n style={{ top: `calc(50% - ${local.arrowsSize / 2}px)`, right: `${-local.arrowsSize / 2}px` }}\n onClick={() => goToSlide(getNextIndex(1))}\n />\n </Show>\n </div>\n <Show when={local.showNavigation}>\n <div class={cn(\"smwb-carousel__navigation\", local.navigationClassName)}>\n <For each={dots()}>\n {(dot) =>\n local.navigationDotRenderer ? (\n local.navigationDotRenderer(dot.index, dot.isActive, (i) => goToSlide(i))\n ) : (\n <div\n class={cn(\"smwb-carousel__navigation__dot\", dot.isActive && \"current\")}\n onClick={() => goToSlide(dot.nextIndex)}\n />\n )\n }\n </For>\n </div>\n </Show>\n <Show when={local.enableFullscreen}>\n <Modal\n open={fullscreenIndex() !== null}\n size=\"fullscreen\"\n backdrop=\"darkBlured\"\n class=\"smwb-carousel__fullscreen\"\n onClose={() => setFullscreenIndex(null)}\n aria-label=\"Image viewer\"\n >\n <div class=\"smwb-carousel__fullscreen-content\">\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_left\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_prev\")}\n onClick={() => moveFullscreen(-1)}\n />\n </Show>\n <div\n class=\"smwb-carousel__fullscreen-stage\"\n onTouchStart={onFullscreenTouchStart}\n onTouchMove={onFullscreenTouchMove}\n onTouchEnd={onFullscreenTouchEnd}\n >\n <div\n class=\"smwb-carousel__fullscreen-track\"\n style={{\n transform: `translateX(calc(-${(fullscreenIndex() ?? 0) * 100}% + ${fullscreenDragPx()}px))`,\n transition: isFullscreenDragging() ? \"none\" : \"transform 350ms cubic-bezier(.22, .61, .36, 1)\",\n }}\n >\n <For each={fullscreenClones()}>\n {(node, index) => (\n <div class=\"smwb-carousel__fullscreen-slide\" aria-hidden={index() !== fullscreenIndex()}>\n {node as JSX.Element}\n </div>\n )}\n </For>\n </div>\n </div>\n <Show when={slidesCount() > 1}>\n <Icon\n name=\"chevron_right\"\n size={40}\n class={cn(\"smwb-carousel__fullscreen-arrow\", \"smwb-carousel__fullscreen-arrow_next\")}\n onClick={() => moveFullscreen(1)}\n />\n </Show>\n <Icon\n name=\"close\"\n size={32}\n class=\"smwb-carousel__fullscreen-close\"\n onClick={() => setFullscreenIndex(null)}\n />\n </div>\n </Modal>\n </Show>\n </div>\n );\n}\n\nexport default Carousel;\n"],"names":["TAP_THRESHOLD","FLICK_VELOCITY","now","performance","Date","Carousel","props","merged","mergeProps","slidesToShow","startSlide","showNavigation","arrowsSize","autoplay","autoplayInterval","pauseOnHover","enableFullscreen","local","splitProps","resolved","resolveChildren","children","slides","toArray","slidesCount","length","getSlidesToShow","getStartSlide","showArrows","maxShift","Math","max","activeSlideIndex","setActiveSlideIndex","createSignal","animation","setAnimation","undefined","isHovered","setIsHovered","dragPx","setDragPx","isDragging","setIsDragging","fullscreenIndex","setFullscreenIndex","fullscreenDragPx","setFullscreenDragPx","isFullscreenDragging","setIsFullscreenDragging","rootEl","trackEl","motion","isPressed","startX","startY","lastX","lastT","axis","dragged","fullscreenTouchX","slideId","createUniqueId","createEffect","start","onSlideChange","goToSlide","index","target","clamp","detachListeners","mouse","removeEventListener","onMove","onEnd","event","isTouchEvent","touches","clientX","coordX","clientY","coordY","shiftX","shiftY","abs","preventDefault","stopPropagation","atStart","atEnd","offset","isMouseEvent","totalShift","widthPerSlide","offsetWidth","velocity","movedSlides","round","onStart","button","addEventListener","passive","onMouseEnter","onMouseLeave","onSlideClick","getNextIndex","direction","isSingle","totalGroups","ceil","activeIndex","isNextDisabled","nextIndex","getSlideIndexForMultipleParts","dots","count","result","currentIndex","isLast","push","isActive","indent","shiftSlides","getSlideWidth","rootStyle","createMemo","style","cellHeightValue","toCssLength","cellHeight","aspectRatioValue","toCssNumber","aspectRatio","gapValue","gap","maxWidthValue","maxWidth","moveFullscreen","prev","fullscreenClones","map","node","Node","cloneNode","String","timer","window","setInterval","onCleanup","clearInterval","onKeyDown","key","document","onFullscreenTouchStart","onFullscreenTouchMove","delta","onFullscreenTouchEnd","changedTouches","_el$","_tmpl$3","_el$2","firstChild","_el$3","_el$4","_ref$","mergeRefs","ref","_$use","el","_$insert","_$createComponent","Show","when","Icon","name","size","cn","top","left","onClick","_$addEventListener","dragPrevent","$$touchstart","$$mousedown","For","each","child","_el$9","_tmpl$4","_el$0","$$click","_$effect","_p$","_v$8","_v$9","getSlideStyle","_v$0","e","_$setAttribute","t","_$style","a","_$className","right","_el$5","_tmpl$","dot","navigationDotRenderer","i","_el$1","navigationClassName","Modal","open","backdrop","onClose","_el$6","_tmpl$2","_el$7","_el$8","$$touchend","$$touchmove","_el$10","_tmpl$5","_v$","_v$2","_$setStyleProperty","_v$3","class","_v$4","_v$5","_v$6","_v$7","o","_$delegateEvents"],"mappings":"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"}
|
|
@@ -1,20 +1,21 @@
|
|
|
1
|
-
import { insert as
|
|
2
|
-
import { mergeProps as
|
|
3
|
-
import
|
|
4
|
-
import { createControllableState as
|
|
5
|
-
import { createId as
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {
|
|
10
|
-
import {
|
|
11
|
-
import {
|
|
12
|
-
import {
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { insert as h, createComponent as r, memo as n, effect as $, className as z, template as w, mergeProps as f, spread as H } from "solid-js/web";
|
|
2
|
+
import { mergeProps as V, createMemo as a, children as K, Show as d } from "solid-js";
|
|
3
|
+
import b from "clsx";
|
|
4
|
+
import { createControllableState as C } from "../../../primitives/createControllableState.js";
|
|
5
|
+
import { createId as R } from "../../../primitives/createId.js";
|
|
6
|
+
import { Composer as X } from "../../inputs/composer/composer.js";
|
|
7
|
+
import { ChatComposer as Y } from "./chatComposer.js";
|
|
8
|
+
import { ChatHeader as j } from "./chatHeader.js";
|
|
9
|
+
import { ChatMessages as q } from "./chatMessages.js";
|
|
10
|
+
import { ChatShell as G } from "./chatShell.js";
|
|
11
|
+
import { createChatFileUpload as J } from "./useChatFileUpload.js";
|
|
12
|
+
import { CHAT_EXPAND_LAYOUTS as Q } from "./types.js";
|
|
13
|
+
import { resolveAllowedLayouts as W, pickInitialLayout as v, shouldShowChatCloseButton as Z } from "./utils.js";
|
|
14
|
+
import { FloatingButton as ee } from "../../inputs/floatingButton/floatingButton.js";
|
|
15
|
+
import { Icon as te } from "../../base/icon/icon.js";
|
|
16
|
+
var oe = /* @__PURE__ */ w("<input>"), re = /* @__PURE__ */ w("<div data-testid=chat>");
|
|
17
|
+
function ve(y) {
|
|
18
|
+
const e = V({
|
|
18
19
|
showAvatars: !1,
|
|
19
20
|
showAttachments: !1,
|
|
20
21
|
anchor: "bottom-right",
|
|
@@ -28,39 +29,43 @@ function se(C) {
|
|
|
28
29
|
embedded: !1,
|
|
29
30
|
overlayContext: !1,
|
|
30
31
|
showStatus: !1
|
|
31
|
-
},
|
|
32
|
+
}, y), i = a(() => W(e.allowedLayouts ?? Q)), [c, g] = C({
|
|
32
33
|
value: () => e.open,
|
|
33
34
|
defaultValue: e.defaultOpen,
|
|
34
35
|
onChange: e.onOpenChange
|
|
35
|
-
}), [
|
|
36
|
+
}), [s, u] = C({
|
|
36
37
|
value: () => e.layout,
|
|
37
|
-
defaultValue:
|
|
38
|
+
defaultValue: v(i(), e.defaultLayout),
|
|
38
39
|
onChange: e.onLayoutChange
|
|
39
|
-
}), l = () => e.embedded ? "fullHeight" : e.floatingTrigger ?
|
|
40
|
-
|
|
41
|
-
},
|
|
42
|
-
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
}, t =
|
|
40
|
+
}), l = () => e.embedded ? "fullHeight" : e.floatingTrigger ? c() ? s() : "closed" : s(), S = () => {
|
|
41
|
+
g(!0), s() === "closed" && u(v(i(), e.defaultLayout));
|
|
42
|
+
}, L = () => {
|
|
43
|
+
g(!1);
|
|
44
|
+
}, M = (o) => {
|
|
45
|
+
g(!0), u(o);
|
|
46
|
+
}, t = J({
|
|
46
47
|
enabled: () => e.fileUpload,
|
|
47
48
|
accept: e.fileUploadAccept,
|
|
48
49
|
maxFiles: e.fileUploadMaxFiles,
|
|
49
50
|
onUploadFiles: e.onUploadFiles,
|
|
50
51
|
disabled: () => !!e.composerDisabled
|
|
51
|
-
}),
|
|
52
|
+
}), p = R(), A = () => !!e.onSendMessage || t.enabled(), P = () => !!e.legacyComposer || t.enabled() && !e.onSendMessage, x = () => r(d, {
|
|
52
53
|
get when() {
|
|
53
54
|
return t.enabled();
|
|
54
55
|
},
|
|
55
56
|
get children() {
|
|
56
|
-
var
|
|
57
|
-
return
|
|
58
|
-
id:
|
|
57
|
+
var o = oe();
|
|
58
|
+
return H(o, f(() => t.getInputProps({
|
|
59
|
+
id: p
|
|
59
60
|
}), {
|
|
60
61
|
"data-testid": "chat-file-input"
|
|
61
|
-
}), !1, !1),
|
|
62
|
+
}), !1, !1), o;
|
|
62
63
|
}
|
|
63
|
-
}),
|
|
64
|
+
}), F = (o) => {
|
|
65
|
+
e.onSendMessage?.(o);
|
|
66
|
+
}, I = (o) => {
|
|
67
|
+
e.onUploadFiles?.(o);
|
|
68
|
+
}, _ = () => [n(x), r(Y, {
|
|
64
69
|
get onSendMessage() {
|
|
65
70
|
return e.onSendMessage;
|
|
66
71
|
},
|
|
@@ -80,51 +85,105 @@ function se(C) {
|
|
|
80
85
|
return t.enabled();
|
|
81
86
|
},
|
|
82
87
|
get attachInputId() {
|
|
83
|
-
return t.enabled() ?
|
|
88
|
+
return t.enabled() ? p : void 0;
|
|
84
89
|
},
|
|
85
90
|
get attachAriaLabel() {
|
|
86
91
|
return e.attachAriaLabel;
|
|
87
92
|
}
|
|
88
|
-
})] : void 0),
|
|
93
|
+
})], U = a(() => e.onSendMessage ? F : void 0), T = a(() => t.enabled() ? I : void 0), O = a(() => t.enabled() ? e.fileUploadAccept : void 0), B = a(() => t.enabled() ? t.maxFiles : void 0), N = a(() => t.enabled() ? t.maxFiles > 1 : void 0), D = () => r(X, f(() => e.composerProps, {
|
|
94
|
+
get class() {
|
|
95
|
+
return b("smwb-chat__composer", e.composerProps?.class);
|
|
96
|
+
},
|
|
97
|
+
get sendKey() {
|
|
98
|
+
return e.composerProps?.sendKey ?? "enter";
|
|
99
|
+
},
|
|
100
|
+
get "aria-label"() {
|
|
101
|
+
return e.composerProps?.["aria-label"] ?? (e.composerProps?.["aria-labelledby"] ? void 0 : "Message");
|
|
102
|
+
},
|
|
103
|
+
get sendLabel() {
|
|
104
|
+
return e.composerProps?.sendLabel ?? "Send message";
|
|
105
|
+
},
|
|
106
|
+
get attachLabel() {
|
|
107
|
+
return e.attachAriaLabel ?? e.composerProps?.attachLabel;
|
|
108
|
+
},
|
|
109
|
+
get placeholder() {
|
|
110
|
+
return e.composerPlaceholder;
|
|
111
|
+
},
|
|
112
|
+
get disabled() {
|
|
113
|
+
return e.composerDisabled;
|
|
114
|
+
},
|
|
115
|
+
get busy() {
|
|
116
|
+
return e.busy;
|
|
117
|
+
},
|
|
118
|
+
get onStop() {
|
|
119
|
+
return e.onStop;
|
|
120
|
+
},
|
|
121
|
+
get onSend() {
|
|
122
|
+
return U();
|
|
123
|
+
},
|
|
124
|
+
get onAttach() {
|
|
125
|
+
return T();
|
|
126
|
+
},
|
|
127
|
+
get accept() {
|
|
128
|
+
return O();
|
|
129
|
+
},
|
|
130
|
+
get maxFiles() {
|
|
131
|
+
return B();
|
|
132
|
+
},
|
|
133
|
+
get multiple() {
|
|
134
|
+
return N();
|
|
135
|
+
},
|
|
136
|
+
dropTarget: !1
|
|
137
|
+
})), E = () => e.footer ?? e.children ?? (A() ? r(d, {
|
|
138
|
+
get when() {
|
|
139
|
+
return P();
|
|
140
|
+
},
|
|
141
|
+
get fallback() {
|
|
142
|
+
return D();
|
|
143
|
+
},
|
|
144
|
+
get children() {
|
|
145
|
+
return _();
|
|
146
|
+
}
|
|
147
|
+
}) : void 0), k = () => Z({
|
|
89
148
|
floatingTrigger: e.floatingTrigger,
|
|
90
149
|
embedded: e.embedded,
|
|
91
150
|
overlayContext: e.overlayContext,
|
|
92
151
|
effectiveLayout: l(),
|
|
93
152
|
showCloseButton: e.showCloseButton
|
|
94
|
-
}),
|
|
153
|
+
}), m = K(() => e.floatingTrigger && !e.embedded && !c() ? e.triggerIcon : void 0);
|
|
95
154
|
return (() => {
|
|
96
|
-
var
|
|
97
|
-
return
|
|
155
|
+
var o = re();
|
|
156
|
+
return h(o, r(d, {
|
|
98
157
|
get when() {
|
|
99
|
-
return
|
|
158
|
+
return n(() => !!(e.floatingTrigger && !e.embedded))() && !c();
|
|
100
159
|
},
|
|
101
160
|
get children() {
|
|
102
|
-
return
|
|
161
|
+
return r(ee, {
|
|
103
162
|
class: "smwb-chat__trigger",
|
|
104
163
|
get "aria-label"() {
|
|
105
164
|
return e.triggerLabel ?? "Open chat";
|
|
106
165
|
},
|
|
107
166
|
"data-testid": "chat-trigger",
|
|
108
|
-
onClick:
|
|
167
|
+
onClick: S,
|
|
109
168
|
get children() {
|
|
110
|
-
return
|
|
169
|
+
return r(d, {
|
|
111
170
|
get when() {
|
|
112
|
-
return
|
|
171
|
+
return m();
|
|
113
172
|
},
|
|
114
173
|
get fallback() {
|
|
115
|
-
return
|
|
174
|
+
return r(te, {
|
|
116
175
|
name: "chat",
|
|
117
176
|
size: 24
|
|
118
177
|
});
|
|
119
178
|
},
|
|
120
179
|
get children() {
|
|
121
|
-
return
|
|
180
|
+
return m();
|
|
122
181
|
}
|
|
123
182
|
});
|
|
124
183
|
}
|
|
125
184
|
});
|
|
126
185
|
}
|
|
127
|
-
}), null),
|
|
186
|
+
}), null), h(o, r(G, {
|
|
128
187
|
get layout() {
|
|
129
188
|
return l();
|
|
130
189
|
},
|
|
@@ -141,13 +200,13 @@ function se(C) {
|
|
|
141
200
|
return e.overlayContext;
|
|
142
201
|
},
|
|
143
202
|
get fileDropzoneRootProps() {
|
|
144
|
-
return
|
|
203
|
+
return n(() => !!t.enabled())() ? t.getRootProps() : void 0;
|
|
145
204
|
},
|
|
146
205
|
get fileDropzoneActive() {
|
|
147
|
-
return
|
|
206
|
+
return n(() => !!t.enabled())() && t.isDragActive();
|
|
148
207
|
},
|
|
149
208
|
get header() {
|
|
150
|
-
return
|
|
209
|
+
return r(j, {
|
|
151
210
|
get title() {
|
|
152
211
|
return e.headerTitle;
|
|
153
212
|
},
|
|
@@ -158,22 +217,22 @@ function se(C) {
|
|
|
158
217
|
return e.headerActions;
|
|
159
218
|
},
|
|
160
219
|
get layout() {
|
|
161
|
-
return
|
|
220
|
+
return n(() => l() === "closed")() ? s() : l();
|
|
162
221
|
},
|
|
163
222
|
get allowedLayouts() {
|
|
164
|
-
return
|
|
223
|
+
return i();
|
|
165
224
|
},
|
|
166
|
-
onLayoutChange:
|
|
225
|
+
onLayoutChange: M,
|
|
167
226
|
get onClose() {
|
|
168
|
-
return
|
|
227
|
+
return k() ? L : void 0;
|
|
169
228
|
}
|
|
170
229
|
});
|
|
171
230
|
},
|
|
172
231
|
get footer() {
|
|
173
|
-
return
|
|
232
|
+
return E();
|
|
174
233
|
},
|
|
175
234
|
get children() {
|
|
176
|
-
return
|
|
235
|
+
return r(q, {
|
|
177
236
|
get messages() {
|
|
178
237
|
return e.messages;
|
|
179
238
|
},
|
|
@@ -212,10 +271,10 @@ function se(C) {
|
|
|
212
271
|
}
|
|
213
272
|
});
|
|
214
273
|
}
|
|
215
|
-
}), null),
|
|
274
|
+
}), null), $(() => z(o, b("smwb-chat", !e.embedded && `smwb-chat_${e.anchor}`, e.embedded && "smwb-chat_embedded", e.overlayContext && "smwb-chat_overlay-context", e.class))), o;
|
|
216
275
|
})();
|
|
217
276
|
}
|
|
218
277
|
export {
|
|
219
|
-
|
|
278
|
+
ve as Chat
|
|
220
279
|
};
|
|
221
280
|
//# sourceMappingURL=chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sources":["../../../../../src/components/dataDisplay/chat/chat.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, createMemo, mergeProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { FloatingButton } from \"../../inputs/floatingButton\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createId } from \"../../../primitives/createId\";\nimport { ChatComposer } from \"./chatComposer\";\nimport { ChatHeader } from \"./chatHeader\";\nimport { ChatMessages } from \"./chatMessages\";\nimport { ChatShell } from \"./chatShell\";\nimport { createChatFileUpload } from \"./useChatFileUpload\";\nimport {\n type ChatAnchor,\n type ChatLayoutMode,\n type ChatMessage,\n type ChatMessageRenderContext,\n type ChatThemeMode,\n CHAT_EXPAND_LAYOUTS,\n} from \"./types\";\nimport { pickInitialLayout, resolveAllowedLayouts, shouldShowChatCloseButton } from \"./utils\";\n\nexport interface ChatProps extends ParentProps, Omit<ChatMessageRenderContext, \"showAvatars\" | \"showAttachments\"> {\n class?: string | undefined;\n messages: ChatMessage[];\n showAvatars?: boolean | undefined;\n showAttachments?: boolean | undefined;\n headerTitle?: JSX.Element;\n headerSubtitle?: JSX.Element;\n headerActions?: JSX.Element;\n footer?: JSX.Element;\n anchor?: ChatAnchor | undefined;\n themeMode?: ChatThemeMode | undefined;\n allowedLayouts?: ChatLayoutMode[] | undefined;\n layout?: ChatLayoutMode | undefined;\n defaultLayout?: ChatLayoutMode | undefined;\n onLayoutChange?: ((layout: ChatLayoutMode) => void) | undefined;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n floatingTrigger?: boolean | undefined;\n triggerIcon?: JSX.Element;\n triggerLabel?: string | undefined;\n onLoadMore?: (() => void | Promise<void>) | undefined;\n hasMore?: boolean | undefined;\n onSendMessage?: ((text: string) => void | Promise<void>) | undefined;\n composerPlaceholder?: string | undefined;\n composerDisabled?: boolean | undefined;\n composerShiftEnterNewline?: boolean | undefined;\n composerCtrlEnterNewline?: boolean | undefined;\n fileUpload?: boolean | undefined;\n onUploadFiles?: ((files: File[]) => void | Promise<void>) | undefined;\n fileUploadAccept?: Record<string, string[]> | string | undefined;\n fileUploadMaxFiles?: number | undefined;\n attachAriaLabel?: string | undefined;\n loading?: boolean | undefined;\n loadingMore?: boolean | undefined;\n loadingSkeletonCount?: number | undefined;\n renderMessage?: ((message: ChatMessage, ctx: ChatMessageRenderContext) => JSX.Element) | undefined;\n embedded?: boolean | undefined;\n overlayContext?: boolean | undefined;\n showCloseButton?: boolean | undefined;\n}\n\nexport function Chat(props: ChatProps): JSX.Element {\n const p = mergeProps(\n {\n showAvatars: false,\n showAttachments: false,\n anchor: \"bottom-right\" as const,\n themeMode: \"inherit\" as const,\n defaultOpen: false,\n floatingTrigger: false,\n composerPlaceholder: \"message\",\n composerShiftEnterNewline: true,\n composerCtrlEnterNewline: true,\n fileUpload: false,\n embedded: false,\n overlayContext: false,\n showStatus: false,\n },\n props\n );\n\n const allowedLayouts = createMemo(() => resolveAllowedLayouts(p.allowedLayouts ?? CHAT_EXPAND_LAYOUTS));\n\n const [open, setOpen] = createControllableState<boolean>({\n value: () => p.open,\n defaultValue: p.defaultOpen,\n onChange: p.onOpenChange,\n });\n\n const [layout, setLayout] = createControllableState<ChatLayoutMode>({\n value: () => p.layout,\n defaultValue: pickInitialLayout(allowedLayouts(), p.defaultLayout),\n onChange: p.onLayoutChange,\n });\n\n const effectiveLayout = (): ChatLayoutMode =>\n p.embedded ? \"fullHeight\" : p.floatingTrigger ? (open() ? layout() : \"closed\") : layout();\n\n const handleOpen = (): void => {\n setOpen(true);\n if (layout() === \"closed\") {\n setLayout(pickInitialLayout(allowedLayouts(), p.defaultLayout));\n }\n };\n\n const handleClose = (): void => {\n setOpen(false);\n };\n\n const handleLayoutChange = (next: ChatLayoutMode): void => {\n setOpen(true);\n setLayout(next);\n };\n\n const fileUpload = createChatFileUpload({\n enabled: () => p.fileUpload,\n accept: p.fileUploadAccept,\n maxFiles: p.fileUploadMaxFiles,\n onUploadFiles: p.onUploadFiles,\n disabled: () => Boolean(p.composerDisabled),\n });\n\n const attachInputId = createId();\n\n const showComposer = (): boolean => Boolean(p.onSendMessage) || fileUpload.enabled();\n\n const fileInput = (): JSX.Element => (\n <Show when={fileUpload.enabled()}>\n <input {...fileUpload.getInputProps({ id: attachInputId })} data-testid=\"chat-file-input\" />\n </Show>\n );\n\n const resolvedFooter = (): JSX.Element =>\n p.footer ??\n p.children ??\n (showComposer() ? (\n <>\n {fileInput()}\n <ChatComposer\n onSendMessage={p.onSendMessage}\n placeholder={p.composerPlaceholder}\n disabled={p.composerDisabled}\n shiftEnterNewline={p.composerShiftEnterNewline}\n ctrlEnterNewline={p.composerCtrlEnterNewline}\n fileUpload={fileUpload.enabled()}\n attachInputId={fileUpload.enabled() ? attachInputId : undefined}\n attachAriaLabel={p.attachAriaLabel}\n />\n </>\n ) : undefined);\n\n const closeButtonVisible = (): boolean =>\n shouldShowChatCloseButton({\n floatingTrigger: p.floatingTrigger,\n embedded: p.embedded,\n overlayContext: p.overlayContext,\n effectiveLayout: effectiveLayout(),\n showCloseButton: p.showCloseButton,\n });\n\n // The trigger icon is read once, and only while the trigger is drawn: markup\n // passed as a prop is created anew on every read, and during hydration a copy\n // the server never rendered has no DOM node.\n const triggerIcon = children(() => (p.floatingTrigger && !p.embedded && !open() ? p.triggerIcon : undefined));\n\n return (\n <div\n class={cn(\n \"smwb-chat\",\n !p.embedded && `smwb-chat_${p.anchor}`,\n p.embedded && \"smwb-chat_embedded\",\n p.overlayContext && \"smwb-chat_overlay-context\",\n p.class\n )}\n data-testid=\"chat\"\n >\n <Show when={p.floatingTrigger && !p.embedded && !open()}>\n <FloatingButton\n class=\"smwb-chat__trigger\"\n aria-label={p.triggerLabel ?? \"Open chat\"}\n data-testid=\"chat-trigger\"\n onClick={handleOpen}\n >\n <Show when={triggerIcon()} fallback={<Icon name=\"chat\" size={24} />}>\n {triggerIcon()}\n </Show>\n </FloatingButton>\n </Show>\n <ChatShell\n layout={effectiveLayout()}\n anchor={p.anchor}\n themeMode={p.themeMode}\n embedded={p.embedded}\n overlayContext={p.overlayContext}\n fileDropzoneRootProps={fileUpload.enabled() ? fileUpload.getRootProps() : undefined}\n fileDropzoneActive={fileUpload.enabled() && fileUpload.isDragActive()}\n header={\n <ChatHeader\n title={p.headerTitle}\n subtitle={p.headerSubtitle}\n actions={p.headerActions}\n layout={effectiveLayout() === \"closed\" ? layout() : effectiveLayout()}\n allowedLayouts={allowedLayouts()}\n onLayoutChange={handleLayoutChange}\n onClose={closeButtonVisible() ? handleClose : undefined}\n />\n }\n footer={resolvedFooter()}\n >\n <ChatMessages\n messages={p.messages}\n showAvatars={p.showAvatars}\n showAttachments={p.showAttachments}\n showStatus={p.showStatus}\n statusIcons={p.statusIcons}\n renderStatus={p.renderStatus}\n onLoadMore={p.onLoadMore}\n hasMore={p.hasMore}\n loading={p.loading}\n loadingMore={p.loadingMore}\n loadingSkeletonCount={p.loadingSkeletonCount}\n renderMessage={p.renderMessage}\n />\n </ChatShell>\n </div>\n );\n}\n\nexport default Chat;\n"],"names":["Chat","props","p","mergeProps","showAvatars","showAttachments","anchor","themeMode","defaultOpen","floatingTrigger","composerPlaceholder","composerShiftEnterNewline","composerCtrlEnterNewline","fileUpload","embedded","overlayContext","showStatus","allowedLayouts","createMemo","resolveAllowedLayouts","CHAT_EXPAND_LAYOUTS","open","setOpen","createControllableState","value","defaultValue","onChange","onOpenChange","layout","setLayout","pickInitialLayout","defaultLayout","onLayoutChange","effectiveLayout","handleOpen","handleClose","handleLayoutChange","next","createChatFileUpload","enabled","accept","fileUploadAccept","maxFiles","fileUploadMaxFiles","onUploadFiles","disabled","Boolean","composerDisabled","attachInputId","createId","showComposer","onSendMessage","fileInput","_$createComponent","Show","when","children","_el$","_tmpl$","_$spread","_$mergeProps","getInputProps","id","resolvedFooter","footer","_$memo","ChatComposer","placeholder","shiftEnterNewline","ctrlEnterNewline","undefined","attachAriaLabel","closeButtonVisible","shouldShowChatCloseButton","showCloseButton","triggerIcon","_el$2","_tmpl$2","_$insert","FloatingButton","triggerLabel","onClick","fallback","Icon","name","size","ChatShell","fileDropzoneRootProps","getRootProps","fileDropzoneActive","isDragActive","header","ChatHeader","title","headerTitle","subtitle","headerSubtitle","actions","headerActions","onClose","ChatMessages","messages","statusIcons","renderStatus","onLoadMore","hasMore","loading","loadingMore","loadingSkeletonCount","renderMessage","_$effect","_$className","cn","class"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sources":["../../../../../src/components/dataDisplay/chat/chat.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, createMemo, mergeProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { FloatingButton } from \"../../inputs/floatingButton\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { createId } from \"../../../primitives/createId\";\nimport { Composer } from \"../../inputs/composer/composer\";\nimport type { ComposerProps } from \"../../inputs/composer/composer\";\nimport { ChatComposer } from \"./chatComposer\";\nimport { ChatHeader } from \"./chatHeader\";\nimport { ChatMessages } from \"./chatMessages\";\nimport { ChatShell } from \"./chatShell\";\nimport { createChatFileUpload } from \"./useChatFileUpload\";\nimport {\n type ChatAnchor,\n type ChatLayoutMode,\n type ChatMessage,\n type ChatMessageRenderContext,\n type ChatThemeMode,\n CHAT_EXPAND_LAYOUTS,\n} from \"./types\";\nimport { pickInitialLayout, resolveAllowedLayouts, shouldShowChatCloseButton } from \"./utils\";\n\n/**\n * Props for the `Composer` Chat draws as its footer. The props Chat owns itself — `onSendMessage` (the composer's\n * `onSend`), `busy`, `onStop`, `composerPlaceholder` (`placeholder`), `composerDisabled` (`disabled`), the file upload\n * props (`onAttach`, `accept`, `multiple`, `maxFiles`) and `dropTarget` (always `false`: the Chat shell is the drop\n * target) — are left out, Chat passes them and does not let a caller override them.\n */\nexport type ChatFooterComposerProps = Omit<\n ComposerProps,\n | \"onSend\"\n | \"busy\"\n | \"onStop\"\n | \"disabled\"\n | \"placeholder\"\n | \"onAttach\"\n | \"accept\"\n | \"multiple\"\n | \"maxFiles\"\n | \"dropTarget\"\n>;\n\nexport interface ChatProps extends ParentProps, Omit<ChatMessageRenderContext, \"showAvatars\" | \"showAttachments\"> {\n class?: string | undefined;\n messages: ChatMessage[];\n showAvatars?: boolean | undefined;\n showAttachments?: boolean | undefined;\n headerTitle?: JSX.Element;\n headerSubtitle?: JSX.Element;\n headerActions?: JSX.Element;\n footer?: JSX.Element;\n anchor?: ChatAnchor | undefined;\n themeMode?: ChatThemeMode | undefined;\n allowedLayouts?: ChatLayoutMode[] | undefined;\n layout?: ChatLayoutMode | undefined;\n defaultLayout?: ChatLayoutMode | undefined;\n onLayoutChange?: ((layout: ChatLayoutMode) => void) | undefined;\n open?: boolean | undefined;\n defaultOpen?: boolean | undefined;\n onOpenChange?: ((open: boolean) => void) | undefined;\n floatingTrigger?: boolean | undefined;\n triggerIcon?: JSX.Element;\n triggerLabel?: string | undefined;\n onLoadMore?: (() => void | Promise<void>) | undefined;\n hasMore?: boolean | undefined;\n onSendMessage?: ((text: string) => void | Promise<void>) | undefined;\n /**\n * The agent is replying: the composer's send button turns into Stop and calls `onStop`, the keys do not send, the\n * text stays editable. Not the same as `loading` (the message list skeleton). The default composer only.\n */\n busy?: boolean | undefined;\n /** Called when Stop is pressed while `busy` (and not `composerDisabled`). The default composer only. */\n onStop?: (() => void) | undefined;\n /**\n * More props for the built-in `Composer`: `toolbar`, `attachments`, `maxLength`, `counter`, `minRows`, `maxRows`,\n * `layout`, `sendKey` (default here `\"enter\"`), `value`/`defaultValue`/`onValueChange`, `clearOnSend`, `autofocus`,\n * `inputRef`, `aria-*`, `sendLabel`, `stopLabel`, `attachLabel`, `class`, `data-*`, … Chat's own props\n * (`onSendMessage`, `busy`, `onStop`, `composerPlaceholder`, `composerDisabled`, the file upload props) win.\n */\n composerProps?: ChatFooterComposerProps | undefined;\n /**\n * Deprecated: draws the old `ChatComposer` (Enter sends, TextField DOM, `chat-composer*` test ids) instead of the\n * built-in `Composer`. Kept for the migration and removed with `ChatComposer` in the next major; `busy`, `onStop`\n * and `composerProps` are ignored in this mode.\n *\n * @deprecated Migrate to the default `Composer`; see the README section \"Migrating from ChatComposer\".\n */\n legacyComposer?: boolean | undefined;\n composerPlaceholder?: string | undefined;\n composerDisabled?: boolean | undefined;\n /**\n * Deprecated: works with `legacyComposer` only — the built-in `Composer` always inserts a newline on Shift+Enter.\n * Pass it together with `legacyComposer` until that is removed.\n *\n * @deprecated Use `legacyComposer`; the default `Composer` has no equivalent flag.\n */\n composerShiftEnterNewline?: boolean | undefined;\n /**\n * Deprecated: works with `legacyComposer` only — with the built-in `Composer` Ctrl/⌘+Enter sends. Pass it together\n * with `legacyComposer` until that is removed.\n *\n * @deprecated Use `legacyComposer`; the default `Composer` has no equivalent flag.\n */\n composerCtrlEnterNewline?: boolean | undefined;\n fileUpload?: boolean | undefined;\n onUploadFiles?: ((files: File[]) => void | Promise<void>) | undefined;\n fileUploadAccept?: Record<string, string[]> | string | undefined;\n fileUploadMaxFiles?: number | undefined;\n attachAriaLabel?: string | undefined;\n loading?: boolean | undefined;\n loadingMore?: boolean | undefined;\n loadingSkeletonCount?: number | undefined;\n renderMessage?: ((message: ChatMessage, ctx: ChatMessageRenderContext) => JSX.Element) | undefined;\n embedded?: boolean | undefined;\n overlayContext?: boolean | undefined;\n showCloseButton?: boolean | undefined;\n}\n\nexport function Chat(props: ChatProps): JSX.Element {\n const p = mergeProps(\n {\n showAvatars: false,\n showAttachments: false,\n anchor: \"bottom-right\" as const,\n themeMode: \"inherit\" as const,\n defaultOpen: false,\n floatingTrigger: false,\n composerPlaceholder: \"message\",\n composerShiftEnterNewline: true,\n composerCtrlEnterNewline: true,\n fileUpload: false,\n embedded: false,\n overlayContext: false,\n showStatus: false,\n },\n props\n );\n\n const allowedLayouts = createMemo(() => resolveAllowedLayouts(p.allowedLayouts ?? CHAT_EXPAND_LAYOUTS));\n\n const [open, setOpen] = createControllableState<boolean>({\n value: () => p.open,\n defaultValue: p.defaultOpen,\n onChange: p.onOpenChange,\n });\n\n const [layout, setLayout] = createControllableState<ChatLayoutMode>({\n value: () => p.layout,\n defaultValue: pickInitialLayout(allowedLayouts(), p.defaultLayout),\n onChange: p.onLayoutChange,\n });\n\n const effectiveLayout = (): ChatLayoutMode =>\n p.embedded ? \"fullHeight\" : p.floatingTrigger ? (open() ? layout() : \"closed\") : layout();\n\n const handleOpen = (): void => {\n setOpen(true);\n if (layout() === \"closed\") {\n setLayout(pickInitialLayout(allowedLayouts(), p.defaultLayout));\n }\n };\n\n const handleClose = (): void => {\n setOpen(false);\n };\n\n const handleLayoutChange = (next: ChatLayoutMode): void => {\n setOpen(true);\n setLayout(next);\n };\n\n const fileUpload = createChatFileUpload({\n enabled: () => p.fileUpload,\n accept: p.fileUploadAccept,\n maxFiles: p.fileUploadMaxFiles,\n onUploadFiles: p.onUploadFiles,\n disabled: () => Boolean(p.composerDisabled),\n });\n\n const attachInputId = createId();\n\n const showComposer = (): boolean => Boolean(p.onSendMessage) || fileUpload.enabled();\n // Composer has no text-less mode, so an upload without a send handler keeps the old attach-only ChatComposer.\n const useLegacyComposer = (): boolean => Boolean(p.legacyComposer) || (fileUpload.enabled() && !p.onSendMessage);\n\n const fileInput = (): JSX.Element => (\n <Show when={fileUpload.enabled()}>\n <input {...fileUpload.getInputProps({ id: attachInputId })} data-testid=\"chat-file-input\" />\n </Show>\n );\n\n // The handlers are attached always and read the props when called: a handler that appears later still works.\n const sendText = (text: string): void => {\n void p.onSendMessage?.(text);\n };\n\n const uploadFiles = (files: File[]): void => {\n void p.onUploadFiles?.(files);\n };\n\n const legacyFooter = (): JSX.Element => (\n <>\n {fileInput()}\n <ChatComposer\n onSendMessage={p.onSendMessage}\n placeholder={p.composerPlaceholder}\n disabled={p.composerDisabled}\n shiftEnterNewline={p.composerShiftEnterNewline}\n ctrlEnterNewline={p.composerCtrlEnterNewline}\n fileUpload={fileUpload.enabled()}\n attachInputId={fileUpload.enabled() ? attachInputId : undefined}\n attachAriaLabel={p.attachAriaLabel}\n />\n </>\n );\n\n // Chat's own props are plain attributes after the spread, so they win; `dropTarget` is off because the shell\n // already takes the drops. Every prop Chat owns is omitted from `ChatFooterComposerProps`, so none of them can\n // leak back from the spread when its value is `undefined`.\n // The upload gate is resolved in memos rather than inline: a conditional prop compiles to a `memo` created\n // inside the prop getter, and Composer reads `onAttach`/`accept`/`maxFiles`/`multiple` from its pick and drop\n // handlers — outside any owner, where such a computation is never disposed.\n const composerOnSend = createMemo(() => (p.onSendMessage ? sendText : undefined));\n const composerOnAttach = createMemo(() => (fileUpload.enabled() ? uploadFiles : undefined));\n const composerAccept = createMemo(() => (fileUpload.enabled() ? p.fileUploadAccept : undefined));\n const composerMaxFiles = createMemo(() => (fileUpload.enabled() ? fileUpload.maxFiles : undefined));\n const composerMultiple = createMemo(() => (fileUpload.enabled() ? fileUpload.maxFiles > 1 : undefined));\n\n const composerFooter = (): JSX.Element => (\n <Composer\n {...p.composerProps}\n class={cn(\"smwb-chat__composer\", p.composerProps?.class)}\n sendKey={p.composerProps?.sendKey ?? \"enter\"}\n aria-label={p.composerProps?.[\"aria-label\"] ?? (p.composerProps?.[\"aria-labelledby\"] ? undefined : \"Message\")}\n sendLabel={p.composerProps?.sendLabel ?? \"Send message\"}\n attachLabel={p.attachAriaLabel ?? p.composerProps?.attachLabel}\n placeholder={p.composerPlaceholder}\n disabled={p.composerDisabled}\n busy={p.busy}\n onStop={p.onStop}\n onSend={composerOnSend()}\n onAttach={composerOnAttach()}\n accept={composerAccept()}\n maxFiles={composerMaxFiles()}\n multiple={composerMultiple()}\n dropTarget={false}\n />\n );\n\n const resolvedFooter = (): JSX.Element =>\n p.footer ??\n p.children ??\n (showComposer() ? (\n <Show when={useLegacyComposer()} fallback={composerFooter()}>\n {legacyFooter()}\n </Show>\n ) : undefined);\n\n const closeButtonVisible = (): boolean =>\n shouldShowChatCloseButton({\n floatingTrigger: p.floatingTrigger,\n embedded: p.embedded,\n overlayContext: p.overlayContext,\n effectiveLayout: effectiveLayout(),\n showCloseButton: p.showCloseButton,\n });\n\n // The trigger icon is read once, and only while the trigger is drawn: markup\n // passed as a prop is created anew on every read, and during hydration a copy\n // the server never rendered has no DOM node.\n const triggerIcon = children(() => (p.floatingTrigger && !p.embedded && !open() ? p.triggerIcon : undefined));\n\n return (\n <div\n class={cn(\n \"smwb-chat\",\n !p.embedded && `smwb-chat_${p.anchor}`,\n p.embedded && \"smwb-chat_embedded\",\n p.overlayContext && \"smwb-chat_overlay-context\",\n p.class\n )}\n data-testid=\"chat\"\n >\n <Show when={p.floatingTrigger && !p.embedded && !open()}>\n <FloatingButton\n class=\"smwb-chat__trigger\"\n aria-label={p.triggerLabel ?? \"Open chat\"}\n data-testid=\"chat-trigger\"\n onClick={handleOpen}\n >\n <Show when={triggerIcon()} fallback={<Icon name=\"chat\" size={24} />}>\n {triggerIcon()}\n </Show>\n </FloatingButton>\n </Show>\n <ChatShell\n layout={effectiveLayout()}\n anchor={p.anchor}\n themeMode={p.themeMode}\n embedded={p.embedded}\n overlayContext={p.overlayContext}\n fileDropzoneRootProps={fileUpload.enabled() ? fileUpload.getRootProps() : undefined}\n fileDropzoneActive={fileUpload.enabled() && fileUpload.isDragActive()}\n header={\n <ChatHeader\n title={p.headerTitle}\n subtitle={p.headerSubtitle}\n actions={p.headerActions}\n layout={effectiveLayout() === \"closed\" ? layout() : effectiveLayout()}\n allowedLayouts={allowedLayouts()}\n onLayoutChange={handleLayoutChange}\n onClose={closeButtonVisible() ? handleClose : undefined}\n />\n }\n footer={resolvedFooter()}\n >\n <ChatMessages\n messages={p.messages}\n showAvatars={p.showAvatars}\n showAttachments={p.showAttachments}\n showStatus={p.showStatus}\n statusIcons={p.statusIcons}\n renderStatus={p.renderStatus}\n onLoadMore={p.onLoadMore}\n hasMore={p.hasMore}\n loading={p.loading}\n loadingMore={p.loadingMore}\n loadingSkeletonCount={p.loadingSkeletonCount}\n renderMessage={p.renderMessage}\n />\n </ChatShell>\n </div>\n );\n}\n\nexport default Chat;\n"],"names":["Chat","props","p","mergeProps","showAvatars","showAttachments","anchor","themeMode","defaultOpen","floatingTrigger","composerPlaceholder","composerShiftEnterNewline","composerCtrlEnterNewline","fileUpload","embedded","overlayContext","showStatus","allowedLayouts","createMemo","resolveAllowedLayouts","CHAT_EXPAND_LAYOUTS","open","setOpen","createControllableState","value","defaultValue","onChange","onOpenChange","layout","setLayout","pickInitialLayout","defaultLayout","onLayoutChange","effectiveLayout","handleOpen","handleClose","handleLayoutChange","next","createChatFileUpload","enabled","accept","fileUploadAccept","maxFiles","fileUploadMaxFiles","onUploadFiles","disabled","Boolean","composerDisabled","attachInputId","createId","showComposer","onSendMessage","useLegacyComposer","legacyComposer","fileInput","_$createComponent","Show","when","children","_el$","_tmpl$","_$spread","_$mergeProps","getInputProps","id","sendText","text","uploadFiles","files","legacyFooter","_$memo","ChatComposer","placeholder","shiftEnterNewline","ctrlEnterNewline","undefined","attachAriaLabel","composerOnSend","composerOnAttach","composerAccept","composerMaxFiles","composerMultiple","composerFooter","Composer","composerProps","cn","class","sendKey","sendLabel","attachLabel","busy","onStop","onSend","onAttach","multiple","dropTarget","resolvedFooter","footer","fallback","closeButtonVisible","shouldShowChatCloseButton","showCloseButton","triggerIcon","_el$2","_tmpl$2","_$insert","FloatingButton","triggerLabel","onClick","Icon","name","size","ChatShell","fileDropzoneRootProps","getRootProps","fileDropzoneActive","isDragActive","header","ChatHeader","title","headerTitle","subtitle","headerSubtitle","actions","headerActions","onClose","ChatMessages","messages","statusIcons","renderStatus","onLoadMore","hasMore","loading","loadingMore","loadingSkeletonCount","renderMessage","_$effect","_$className"],"mappings":"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"}
|