@smwb/ui-solid 0.11.2 → 0.12.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 +63 -22
- package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -1
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
- package/dist/assets/styles/less/components/descriptionList/descriptionList.entry.css +1 -0
- package/dist/assets/styles/less/components/emptyState/emptyState.entry.css +1 -0
- package/dist/assets/styles/less/components/kanban/kanban.entry.css +1 -0
- package/dist/assets/styles/less/components/meter/meter.entry.css +1 -0
- package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -0
- package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -1
- package/dist/assets/styles/less/components/sectionHeader/sectionHeader.entry.css +1 -0
- package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
- package/dist/assets/styles/less/components/stat/stat.entry.css +1 -0
- package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -1
- 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/tabs.entry.css +1 -1
- package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
- package/dist/assets/styles/less/components/timeline/timeline.entry.css +1 -0
- package/dist/assets/styles/less/components/tooltip/tooltip.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 -0
- package/dist/components/base/icon/icon.js +4 -3
- package/dist/components/base/icon/icon.js.map +1 -1
- package/dist/components/base/ripple/ripple.js +4 -3
- package/dist/components/base/ripple/ripple.js.map +1 -1
- package/dist/components/dataDisplay/accordion/accordion.d.ts +18 -1
- package/dist/components/dataDisplay/accordion/accordion.js +91 -48
- package/dist/components/dataDisplay/accordion/accordion.js.map +1 -1
- package/dist/components/dataDisplay/assetGrid/assetGrid.js +14 -13
- package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -1
- package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
- package/dist/components/dataDisplay/avatar/avatar.js +56 -40
- package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/components/dataDisplay/badge/badge.js +24 -20
- package/dist/components/dataDisplay/badge/badge.js.map +1 -1
- package/dist/components/dataDisplay/card/card.js +24 -23
- package/dist/components/dataDisplay/card/card.js.map +1 -1
- package/dist/components/dataDisplay/carousel/carousel.js +4 -3
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/components/dataDisplay/chart/chart.d.ts +65 -0
- package/dist/components/dataDisplay/chart/chartTheme.d.ts +35 -0
- package/dist/components/dataDisplay/chart/index.d.ts +4 -0
- package/dist/components/dataDisplay/chat/chat.js +52 -51
- package/dist/components/dataDisplay/chat/chat.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatHeader.js +29 -29
- package/dist/components/dataDisplay/chat/chatHeader.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatMessageBubble.js +28 -28
- package/dist/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatShell.js +54 -51
- package/dist/components/dataDisplay/chat/chatShell.js.map +1 -1
- package/dist/components/dataDisplay/chip/chip.js +79 -70
- package/dist/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/components/dataDisplay/chipGroup/chipGroup.js +9 -8
- package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
- package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +32 -0
- package/dist/components/dataDisplay/descriptionList/descriptionList.js +60 -0
- package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
- package/dist/components/dataDisplay/descriptionList/index.d.ts +2 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +4 -3
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/components/dataDisplay/imagesList/imagesList.js +8 -7
- package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -1
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +29 -24
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
- package/dist/components/dataDisplay/kanban/index.d.ts +2 -0
- package/dist/components/dataDisplay/kanban/kanban.d.ts +42 -0
- package/dist/components/dataDisplay/kanban/kanban.js +133 -0
- package/dist/components/dataDisplay/kanban/kanban.js.map +1 -0
- package/dist/components/dataDisplay/lazyImage/lazyImage.js +30 -29
- package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
- package/dist/components/dataDisplay/list/list.js +17 -16
- package/dist/components/dataDisplay/list/list.js.map +1 -1
- package/dist/components/dataDisplay/meter/index.d.ts +2 -0
- package/dist/components/dataDisplay/meter/meter.d.ts +34 -0
- package/dist/components/dataDisplay/meter/meter.js +84 -0
- package/dist/components/dataDisplay/meter/meter.js.map +1 -0
- package/dist/components/dataDisplay/personChip/index.d.ts +2 -0
- package/dist/components/dataDisplay/personChip/personChip.d.ts +32 -0
- package/dist/components/dataDisplay/personChip/personChip.js +104 -0
- package/dist/components/dataDisplay/personChip/personChip.js.map +1 -0
- package/dist/components/dataDisplay/stat/index.d.ts +2 -0
- package/dist/components/dataDisplay/stat/stat.d.ts +33 -0
- package/dist/components/dataDisplay/stat/stat.js +101 -0
- package/dist/components/dataDisplay/stat/stat.js.map +1 -0
- package/dist/components/dataDisplay/table/table.d.ts +7 -0
- package/dist/components/dataDisplay/table/table.js +22 -21
- package/dist/components/dataDisplay/table/table.js.map +1 -1
- package/dist/components/dataDisplay/table/tableCell.d.ts +2 -0
- package/dist/components/dataDisplay/table/tableCell.js +9 -6
- package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tableHeadCell.d.ts +11 -1
- package/dist/components/dataDisplay/table/tableHeadCell.js +26 -23
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +4 -3
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js.map +1 -1
- package/dist/components/dataDisplay/thumbCard/thumbCard.js +54 -53
- package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/components/dataDisplay/timeline/index.d.ts +2 -0
- package/dist/components/dataDisplay/timeline/timeline.d.ts +38 -0
- package/dist/components/dataDisplay/timeline/timeline.js +89 -0
- package/dist/components/dataDisplay/timeline/timeline.js.map +1 -0
- package/dist/components/dataDisplay/treeView/treeView.js +4 -3
- package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/components/dataDisplay/typography/typography.d.ts +4 -0
- package/dist/components/dataDisplay/typography/typography.js +36 -22
- package/dist/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/components/feedBack/confirmDialog/confirmDialog.js +9 -8
- package/dist/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
- package/dist/components/feedBack/emptyState/emptyState.d.ts +25 -0
- package/dist/components/feedBack/emptyState/emptyState.js +86 -0
- package/dist/components/feedBack/emptyState/emptyState.js.map +1 -0
- package/dist/components/feedBack/emptyState/index.d.ts +2 -0
- package/dist/components/feedBack/message/message.js +4 -3
- package/dist/components/feedBack/message/message.js.map +1 -1
- package/dist/components/feedBack/modal/modal.js +4 -3
- package/dist/components/feedBack/modal/modal.js.map +1 -1
- package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +13 -0
- package/dist/components/feedBack/progressIndicator/progressIndicator.js +79 -46
- package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
- package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +18 -14
- package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
- package/dist/components/feedBack/skeleton/skeleton.js +4 -3
- package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/components/feedBack/snackbar/snackbar.js +18 -17
- package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
- package/dist/components/feedBack/tooltip/tooltip.js +41 -33
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/components/inputs/button/button.js +32 -30
- package/dist/components/inputs/button/button.js.map +1 -1
- package/dist/components/inputs/buttonGroups/buttonGroup.js +9 -8
- package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.js +4 -3
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/components/inputs/datePicker/dataPickerInput.js +23 -23
- package/dist/components/inputs/datePicker/dataPickerInput.js.map +1 -1
- package/dist/components/inputs/datePicker/datePicker.js +84 -83
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/components/inputs/fileDrop/fileDrop.js +4 -3
- package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -1
- package/dist/components/inputs/fileInput/fileInput.js +11 -10
- package/dist/components/inputs/fileInput/fileInput.js.map +1 -1
- package/dist/components/inputs/floatingButton/floatingButton.js +9 -8
- package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
- package/dist/components/inputs/radioButton/radioButton.js +9 -8
- package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
- package/dist/components/inputs/rating/rating.js +41 -40
- package/dist/components/inputs/rating/rating.js.map +1 -1
- package/dist/components/inputs/selectField/selectField.d.ts +2 -0
- package/dist/components/inputs/selectField/selectField.js +55 -51
- package/dist/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/components/inputs/slider/slider.js +4 -3
- package/dist/components/inputs/slider/slider.js.map +1 -1
- package/dist/components/inputs/textField/textField.js +38 -37
- package/dist/components/inputs/textField/textField.js.map +1 -1
- package/dist/components/inputs/textField/textFieldAdornment.js +9 -9
- package/dist/components/inputs/textField/textFieldAdornment.js.map +1 -1
- package/dist/components/inputs/textField/textFieldWrapper.js +41 -41
- package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/components/inputs/timePicker/timePicker.js +12 -11
- package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/components/inputs/toggle/toggle.js +4 -3
- package/dist/components/inputs/toggle/toggle.js.map +1 -1
- package/dist/components/inputs/valueSlider/valueSlider.js +26 -25
- package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
- package/dist/components/layout/appLayout/appLayout.js +39 -38
- package/dist/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/components/layout/divider/divider.js +26 -22
- package/dist/components/layout/divider/divider.js.map +1 -1
- package/dist/components/layout/floatingWindow/floatingWindow.js +74 -73
- package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
- package/dist/components/layout/grid/grid.js +10 -9
- package/dist/components/layout/grid/grid.js.map +1 -1
- package/dist/components/layout/page/page.js +4 -3
- package/dist/components/layout/page/page.js.map +1 -1
- package/dist/components/layout/pageHeader/pageHeader.js +36 -35
- package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/components/layout/screenDivider/screenDivider.js +9 -8
- package/dist/components/layout/screenDivider/screenDivider.js.map +1 -1
- package/dist/components/layout/sectionHeader/index.d.ts +2 -0
- package/dist/components/layout/sectionHeader/sectionHeader.d.ts +30 -0
- package/dist/components/layout/sectionHeader/sectionHeader.js +100 -0
- package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -0
- package/dist/components/layout/sheet/sheet.js +4 -3
- package/dist/components/layout/sheet/sheet.js.map +1 -1
- package/dist/components/layout/stack/stack.js +31 -27
- package/dist/components/layout/stack/stack.js.map +1 -1
- package/dist/components/navigation/appBar/appBar.js +24 -23
- package/dist/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/components/navigation/bottomBar/bottomBar.js +57 -56
- package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +4 -3
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/components/navigation/menu/menu.js +10 -9
- package/dist/components/navigation/menu/menu.js.map +1 -1
- package/dist/components/navigation/overflowMenu/overflowMenu.js +4 -3
- package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -1
- package/dist/components/navigation/pagination/pagination.js +14 -13
- package/dist/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/components/navigation/sidebar/sidebar.js +4 -3
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/components/navigation/stepper/stepper.d.ts +10 -2
- package/dist/components/navigation/stepper/stepper.js +63 -47
- package/dist/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/components/navigation/tabs/tab/tab.d.ts +2 -0
- package/dist/components/navigation/tabs/tab/tab.js +45 -44
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/components/navigation/tabs/tabs.d.ts +12 -0
- package/dist/components/navigation/tabs/tabs.js +142 -86
- package/dist/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/connects/rt/table/table.d.ts +2 -0
- package/dist/headless/components/dataDisplay/accordion/accordion.js +89 -47
- package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -1
- package/dist/headless/components/dataDisplay/avatar/avatar.js +54 -39
- package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/headless/components/dataDisplay/badge/badge.js +22 -19
- package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
- package/dist/headless/components/dataDisplay/card/card.js +22 -22
- package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chat.js +50 -50
- package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatHeader.js +29 -29
- package/dist/headless/components/dataDisplay/chat/chatHeader.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js +28 -28
- package/dist/headless/components/dataDisplay/chat/chatMessageBubble.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatShell.js +54 -51
- package/dist/headless/components/dataDisplay/chat/chatShell.js.map +1 -1
- package/dist/headless/components/dataDisplay/chip/chip.js +77 -69
- package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +58 -0
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +28 -24
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
- package/dist/headless/components/dataDisplay/kanban/kanban.js +131 -0
- package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -0
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +28 -28
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
- package/dist/headless/components/dataDisplay/list/list.js +15 -15
- package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
- package/dist/headless/components/dataDisplay/meter/meter.js +82 -0
- package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -0
- package/dist/headless/components/dataDisplay/personChip/personChip.js +102 -0
- package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -0
- package/dist/headless/components/dataDisplay/stat/stat.js +99 -0
- package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/table.js +20 -20
- package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableCell.js +9 -6
- package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js +26 -23
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +53 -53
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/headless/components/dataDisplay/timeline/timeline.js +87 -0
- package/dist/headless/components/dataDisplay/timeline/timeline.js.map +1 -0
- package/dist/headless/components/dataDisplay/typography/typography.js +34 -21
- package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/headless/components/feedBack/emptyState/emptyState.js +84 -0
- package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -0
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +77 -45
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
- package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +16 -13
- package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
- package/dist/headless/components/feedBack/tooltip/tooltip.js +33 -26
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/headless/components/inputs/button/button.js +33 -32
- package/dist/headless/components/inputs/button/button.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/dataPickerInput.js +23 -23
- package/dist/headless/components/inputs/datePicker/dataPickerInput.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePicker.js +79 -79
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/headless/components/inputs/rating/rating.js +39 -39
- package/dist/headless/components/inputs/rating/rating.js.map +1 -1
- package/dist/headless/components/inputs/selectField/selectField.js +61 -58
- package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/headless/components/inputs/textField/textField.js +36 -36
- package/dist/headless/components/inputs/textField/textField.js.map +1 -1
- package/dist/headless/components/inputs/textField/textFieldAdornment.js +9 -9
- package/dist/headless/components/inputs/textField/textFieldAdornment.js.map +1 -1
- package/dist/headless/components/inputs/textField/textFieldWrapper.js +41 -41
- package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/headless/components/inputs/valueSlider/valueSlider.js +24 -24
- package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
- package/dist/headless/components/layout/appLayout/appLayout.js +39 -39
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/headless/components/layout/divider/divider.js +24 -21
- package/dist/headless/components/layout/divider/divider.js.map +1 -1
- package/dist/headless/components/layout/pageHeader/pageHeader.js +34 -34
- package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js +98 -0
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -0
- package/dist/headless/components/layout/stack/stack.js +29 -26
- package/dist/headless/components/layout/stack/stack.js.map +1 -1
- package/dist/headless/components/navigation/appBar/appBar.js +22 -22
- package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +51 -51
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/headless/components/navigation/stepper/stepper.js +61 -46
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tab/tab.js +44 -44
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabs.js +140 -85
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/headless/icons/catalog.js +78 -1
- package/dist/headless/icons/catalog.js.map +1 -1
- package/dist/headless/icons/index.js +596 -574
- package/dist/headless/icons/index.js.map +1 -1
- package/dist/headless/icons/svg/accountTree.js +9 -0
- package/dist/headless/icons/svg/accountTree.js.map +1 -0
- package/dist/headless/icons/svg/callSplit.js +9 -0
- package/dist/headless/icons/svg/callSplit.js.map +1 -0
- package/dist/headless/icons/svg/deviceHub.js +8 -0
- package/dist/headless/icons/svg/deviceHub.js.map +1 -0
- package/dist/headless/icons/svg/editNote.js +9 -0
- package/dist/headless/icons/svg/editNote.js.map +1 -0
- package/dist/headless/icons/svg/filterList.js +9 -0
- package/dist/headless/icons/svg/filterList.js.map +1 -0
- package/dist/headless/icons/svg/forkRight.js +8 -0
- package/dist/headless/icons/svg/forkRight.js.map +1 -0
- package/dist/headless/icons/svg/groups.js +9 -0
- package/dist/headless/icons/svg/groups.js.map +1 -0
- package/dist/headless/icons/svg/hub.js +8 -0
- package/dist/headless/icons/svg/hub.js.map +1 -0
- package/dist/headless/icons/svg/index.js +598 -576
- package/dist/headless/icons/svg/index.js.map +1 -1
- package/dist/headless/icons/svg/lan.js +9 -0
- package/dist/headless/icons/svg/lan.js.map +1 -0
- package/dist/headless/icons/svg/personOff.js +9 -0
- package/dist/headless/icons/svg/personOff.js.map +1 -0
- package/dist/headless/icons/svg/schema.js +9 -0
- package/dist/headless/icons/svg/schema.js.map +1 -0
- package/dist/headless/index.js +281 -255
- package/dist/headless/index.js.map +1 -1
- package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx +60 -18
- package/dist/headless/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +28 -3
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/badge/badge.jsx +8 -4
- package/dist/headless/source/components/dataDisplay/badge/badge.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/card/card.jsx +4 -3
- package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chart/chart.jsx +168 -0
- package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/chart/chartTheme.js +78 -0
- package/dist/headless/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chart/index.js +9 -0
- package/dist/headless/source/components/dataDisplay/chart/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/chat/chat.jsx +4 -3
- package/dist/headless/source/components/dataDisplay/chat/chat.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
- package/dist/headless/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
- package/dist/headless/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx +30 -26
- package/dist/headless/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx +11 -6
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +42 -0
- package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/descriptionList/index.js +7 -0
- package/dist/headless/source/components/dataDisplay/descriptionList/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +10 -4
- package/dist/headless/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/kanban/index.js +8 -0
- package/dist/headless/source/components/dataDisplay/kanban/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +99 -0
- package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +4 -3
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/list/list.jsx +4 -3
- package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/meter/index.js +8 -0
- package/dist/headless/source/components/dataDisplay/meter/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/meter/meter.jsx +80 -0
- package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/personChip/index.js +8 -0
- package/dist/headless/source/components/dataDisplay/personChip/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +71 -0
- package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/stat/index.js +7 -0
- package/dist/headless/source/components/dataDisplay/stat/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/stat/stat.jsx +72 -0
- package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/table.jsx +11 -4
- package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +8 -2
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +10 -7
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/timeline/index.js +8 -0
- package/dist/headless/source/components/dataDisplay/timeline/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx +64 -0
- package/dist/headless/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx +17 -3
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +47 -0
- package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
- package/dist/headless/source/components/feedBack/emptyState/index.js +6 -0
- package/dist/headless/source/components/feedBack/emptyState/index.js.map +7 -0
- package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx +52 -10
- package/dist/headless/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +3 -2
- package/dist/headless/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +4 -2
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
- package/dist/headless/source/components/inputs/button/button.jsx +7 -3
- package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
- package/dist/headless/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +4 -6
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
- package/dist/headless/source/components/inputs/rating/rating.jsx +4 -3
- package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
- package/dist/headless/source/components/inputs/selectField/selectField.jsx +8 -2
- package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
- package/dist/headless/source/components/inputs/textField/textField.jsx +8 -6
- package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
- package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
- package/dist/headless/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +4 -3
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx +3 -2
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/headless/source/components/layout/divider/divider.jsx +10 -6
- package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +14 -10
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
- package/dist/headless/source/components/layout/sectionHeader/index.js +6 -0
- package/dist/headless/source/components/layout/sectionHeader/index.js.map +7 -0
- package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +80 -0
- package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
- package/dist/headless/source/components/layout/stack/stack.jsx +3 -2
- package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
- package/dist/headless/source/components/navigation/appBar/appBar.jsx +7 -5
- package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +4 -3
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -7
- package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +7 -5
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/tabs.jsx +84 -4
- package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
- package/dist/headless/source/connects/rt/table/table.jsx +9 -1
- package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
- package/dist/headless/source/icons/catalog.js +78 -1
- package/dist/headless/source/icons/catalog.js.map +2 -2
- package/dist/headless/source/icons/svg/accountTree.js +11 -0
- package/dist/headless/source/icons/svg/accountTree.js.map +7 -0
- package/dist/headless/source/icons/svg/callSplit.js +11 -0
- package/dist/headless/source/icons/svg/callSplit.js.map +7 -0
- package/dist/headless/source/icons/svg/deviceHub.js +10 -0
- package/dist/headless/source/icons/svg/deviceHub.js.map +7 -0
- package/dist/headless/source/icons/svg/editNote.js +11 -0
- package/dist/headless/source/icons/svg/editNote.js.map +7 -0
- package/dist/headless/source/icons/svg/filterList.js +11 -0
- package/dist/headless/source/icons/svg/filterList.js.map +7 -0
- package/dist/headless/source/icons/svg/forkRight.js +10 -0
- package/dist/headless/source/icons/svg/forkRight.js.map +7 -0
- package/dist/headless/source/icons/svg/groups.js +11 -0
- package/dist/headless/source/icons/svg/groups.js.map +7 -0
- package/dist/headless/source/icons/svg/hub.js +10 -0
- package/dist/headless/source/icons/svg/hub.js.map +7 -0
- package/dist/headless/source/icons/svg/index.js +22 -0
- package/dist/headless/source/icons/svg/index.js.map +2 -2
- package/dist/headless/source/icons/svg/lan.js +11 -0
- package/dist/headless/source/icons/svg/lan.js.map +7 -0
- package/dist/headless/source/icons/svg/personOff.js +11 -0
- package/dist/headless/source/icons/svg/personOff.js.map +7 -0
- package/dist/headless/source/icons/svg/schema.js +11 -0
- package/dist/headless/source/icons/svg/schema.js.map +7 -0
- package/dist/headless/source/index.js +33 -1
- package/dist/headless/source/index.js.map +2 -2
- package/dist/icons/catalog.d.ts +1 -1
- package/dist/icons/catalog.js +78 -1
- package/dist/icons/catalog.js.map +1 -1
- package/dist/icons/index.js +596 -574
- package/dist/icons/index.js.map +1 -1
- package/dist/icons/svg/accountTree.d.ts +4 -0
- package/dist/icons/svg/accountTree.js +9 -0
- package/dist/icons/svg/accountTree.js.map +1 -0
- package/dist/icons/svg/callSplit.d.ts +4 -0
- package/dist/icons/svg/callSplit.js +9 -0
- package/dist/icons/svg/callSplit.js.map +1 -0
- package/dist/icons/svg/deviceHub.d.ts +4 -0
- package/dist/icons/svg/deviceHub.js +8 -0
- package/dist/icons/svg/deviceHub.js.map +1 -0
- package/dist/icons/svg/editNote.d.ts +4 -0
- package/dist/icons/svg/editNote.js +9 -0
- package/dist/icons/svg/editNote.js.map +1 -0
- package/dist/icons/svg/filterList.d.ts +4 -0
- package/dist/icons/svg/filterList.js +9 -0
- package/dist/icons/svg/filterList.js.map +1 -0
- package/dist/icons/svg/forkRight.d.ts +4 -0
- package/dist/icons/svg/forkRight.js +8 -0
- package/dist/icons/svg/forkRight.js.map +1 -0
- package/dist/icons/svg/groups.d.ts +4 -0
- package/dist/icons/svg/groups.js +9 -0
- package/dist/icons/svg/groups.js.map +1 -0
- package/dist/icons/svg/hub.d.ts +4 -0
- package/dist/icons/svg/hub.js +8 -0
- package/dist/icons/svg/hub.js.map +1 -0
- package/dist/icons/svg/index.d.ts +11 -0
- package/dist/icons/svg/index.js +598 -576
- package/dist/icons/svg/index.js.map +1 -1
- package/dist/icons/svg/lan.d.ts +4 -0
- package/dist/icons/svg/lan.js +9 -0
- package/dist/icons/svg/lan.js.map +1 -0
- package/dist/icons/svg/personOff.d.ts +4 -0
- package/dist/icons/svg/personOff.js +9 -0
- package/dist/icons/svg/personOff.js.map +1 -0
- package/dist/icons/svg/schema.d.ts +4 -0
- package/dist/icons/svg/schema.js +9 -0
- package/dist/icons/svg/schema.js.map +1 -0
- package/dist/index.d.ts +21 -5
- package/dist/index.js +281 -255
- package/dist/index.js.map +1 -1
- package/dist/source/components/base/icon/icon.jsx +1 -0
- package/dist/source/components/base/icon/icon.jsx.map +1 -1
- package/dist/source/components/base/ripple/ripple.jsx +1 -0
- package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
- package/dist/source/components/dataDisplay/accordion/accordion.jsx +61 -18
- package/dist/source/components/dataDisplay/accordion/accordion.jsx.map +1 -1
- package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx +1 -0
- package/dist/source/components/dataDisplay/assetGrid/assetGrid.jsx.map +1 -1
- package/dist/source/components/dataDisplay/avatar/avatar.jsx +29 -3
- package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
- package/dist/source/components/dataDisplay/badge/badge.jsx +9 -4
- package/dist/source/components/dataDisplay/badge/badge.jsx.map +1 -1
- package/dist/source/components/dataDisplay/card/card.jsx +5 -3
- package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
- package/dist/source/components/dataDisplay/carousel/carousel.jsx +1 -0
- package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chart/chart.jsx +170 -0
- package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -0
- package/dist/source/components/dataDisplay/chart/chartTheme.js +78 -0
- package/dist/source/components/dataDisplay/chart/chartTheme.js.map +7 -0
- package/dist/source/components/dataDisplay/chart/index.js +9 -0
- package/dist/source/components/dataDisplay/chart/index.js.map +7 -0
- package/dist/source/components/dataDisplay/chat/chat.jsx +5 -3
- package/dist/source/components/dataDisplay/chat/chat.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatHeader.jsx +7 -5
- package/dist/source/components/dataDisplay/chat/chatHeader.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx +4 -3
- package/dist/source/components/dataDisplay/chat/chatMessageBubble.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatShell.jsx +30 -26
- package/dist/source/components/dataDisplay/chat/chatShell.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chip/chip.jsx +12 -6
- package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +1 -0
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
- package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +44 -0
- package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -0
- package/dist/source/components/dataDisplay/descriptionList/index.js +7 -0
- package/dist/source/components/dataDisplay/descriptionList/index.js.map +7 -0
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +1 -0
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/imagesList/imagesList.jsx +1 -0
- package/dist/source/components/dataDisplay/imagesList/imagesList.jsx.map +1 -1
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx +11 -4
- package/dist/source/components/dataDisplay/imagesList/imagesListItem/imagesListItem.jsx.map +1 -1
- package/dist/source/components/dataDisplay/kanban/index.js +8 -0
- package/dist/source/components/dataDisplay/kanban/index.js.map +7 -0
- package/dist/source/components/dataDisplay/kanban/kanban.jsx +101 -0
- package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -0
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +5 -3
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
- package/dist/source/components/dataDisplay/list/list.jsx +5 -3
- package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
- package/dist/source/components/dataDisplay/meter/index.js +8 -0
- package/dist/source/components/dataDisplay/meter/index.js.map +7 -0
- package/dist/source/components/dataDisplay/meter/meter.jsx +82 -0
- package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -0
- package/dist/source/components/dataDisplay/personChip/index.js +8 -0
- package/dist/source/components/dataDisplay/personChip/index.js.map +7 -0
- package/dist/source/components/dataDisplay/personChip/personChip.jsx +73 -0
- package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -0
- package/dist/source/components/dataDisplay/stat/index.js +7 -0
- package/dist/source/components/dataDisplay/stat/index.js.map +7 -0
- package/dist/source/components/dataDisplay/stat/stat.jsx +74 -0
- package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/table.jsx +12 -4
- package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableCell.jsx +8 -2
- package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +37 -3
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx +1 -0
- package/dist/source/components/dataDisplay/table/tablePagination/tablePagination.jsx.map +1 -1
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +11 -7
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
- package/dist/source/components/dataDisplay/timeline/index.js +8 -0
- package/dist/source/components/dataDisplay/timeline/index.js.map +7 -0
- package/dist/source/components/dataDisplay/timeline/timeline.jsx +66 -0
- package/dist/source/components/dataDisplay/timeline/timeline.jsx.map +1 -0
- package/dist/source/components/dataDisplay/treeView/treeView.jsx +1 -0
- package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
- package/dist/source/components/dataDisplay/typography/typography.jsx +18 -3
- package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
- package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx +1 -0
- package/dist/source/components/feedBack/confirmDialog/confirmDialog.jsx.map +1 -1
- package/dist/source/components/feedBack/emptyState/emptyState.jsx +49 -0
- package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -0
- package/dist/source/components/feedBack/emptyState/index.js +6 -0
- package/dist/source/components/feedBack/emptyState/index.js.map +7 -0
- package/dist/source/components/feedBack/message/message.jsx +1 -0
- package/dist/source/components/feedBack/message/message.jsx.map +1 -1
- package/dist/source/components/feedBack/modal/modal.jsx +1 -0
- package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
- package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx +53 -10
- package/dist/source/components/feedBack/progressIndicator/progressIndicator.jsx.map +1 -1
- package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx +4 -2
- package/dist/source/components/feedBack/saveAssetDialog/saveAssetDialog.jsx.map +1 -1
- package/dist/source/components/feedBack/skeleton/skeleton.jsx +1 -0
- package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
- package/dist/source/components/feedBack/snackbar/snackbar.jsx +1 -0
- package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
- package/dist/source/components/feedBack/tooltip/tooltip.jsx +5 -2
- package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
- package/dist/source/components/inputs/button/button.jsx +8 -3
- package/dist/source/components/inputs/button/button.jsx.map +1 -1
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +1 -0
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
- package/dist/source/components/inputs/checkbox/checkbox.jsx +1 -0
- package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/dataPickerInput.jsx +4 -3
- package/dist/source/components/inputs/datePicker/dataPickerInput.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePicker.jsx +5 -6
- package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
- package/dist/source/components/inputs/fileDrop/fileDrop.jsx +1 -0
- package/dist/source/components/inputs/fileDrop/fileDrop.jsx.map +1 -1
- package/dist/source/components/inputs/fileInput/fileInput.jsx +1 -0
- package/dist/source/components/inputs/fileInput/fileInput.jsx.map +1 -1
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx +1 -0
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
- package/dist/source/components/inputs/radioButton/radioButton.jsx +1 -0
- package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
- package/dist/source/components/inputs/rating/rating.jsx +5 -3
- package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
- package/dist/source/components/inputs/selectField/selectField.jsx +9 -2
- package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
- package/dist/source/components/inputs/slider/slider.jsx +1 -0
- package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textField.jsx +9 -6
- package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textFieldAdornment.jsx +4 -3
- package/dist/source/components/inputs/textField/textFieldAdornment.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx +9 -6
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
- package/dist/source/components/inputs/timePicker/timePicker.jsx +1 -0
- package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
- package/dist/source/components/inputs/toggle/toggle.jsx +1 -0
- package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx +5 -3
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
- package/dist/source/components/layout/appLayout/appLayout.jsx +4 -2
- package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/source/components/layout/divider/divider.jsx +11 -6
- package/dist/source/components/layout/divider/divider.jsx.map +1 -1
- package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +1 -0
- package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
- package/dist/source/components/layout/grid/grid.jsx +1 -0
- package/dist/source/components/layout/grid/grid.jsx.map +1 -1
- package/dist/source/components/layout/page/page.jsx +1 -0
- package/dist/source/components/layout/page/page.jsx.map +1 -1
- package/dist/source/components/layout/pageHeader/pageHeader.jsx +15 -10
- package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
- package/dist/source/components/layout/screenDivider/screenDivider.jsx +1 -0
- package/dist/source/components/layout/screenDivider/screenDivider.jsx.map +1 -1
- package/dist/source/components/layout/sectionHeader/index.js +6 -0
- package/dist/source/components/layout/sectionHeader/index.js.map +7 -0
- package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +82 -0
- package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -0
- package/dist/source/components/layout/sheet/sheet.jsx +1 -0
- package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
- package/dist/source/components/layout/stack/stack.jsx +4 -2
- package/dist/source/components/layout/stack/stack.jsx.map +1 -1
- package/dist/source/components/navigation/appBar/appBar.jsx +8 -5
- package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx +5 -3
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +1 -0
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menu.jsx +1 -0
- package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
- package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx +1 -0
- package/dist/source/components/navigation/overflowMenu/overflowMenu.jsx.map +1 -1
- package/dist/source/components/navigation/pagination/pagination.jsx +1 -0
- package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
- package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -0
- package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
- package/dist/source/components/navigation/stepper/stepper.jsx +15 -7
- package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tab/tab.jsx +8 -5
- package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tabs.jsx +85 -4
- package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
- package/dist/source/connects/rt/table/table.jsx +9 -1
- package/dist/source/connects/rt/table/table.jsx.map +1 -1
- package/dist/source/icons/catalog.js +78 -1
- package/dist/source/icons/catalog.js.map +2 -2
- package/dist/source/icons/svg/accountTree.js +11 -0
- package/dist/source/icons/svg/accountTree.js.map +7 -0
- package/dist/source/icons/svg/callSplit.js +11 -0
- package/dist/source/icons/svg/callSplit.js.map +7 -0
- package/dist/source/icons/svg/deviceHub.js +10 -0
- package/dist/source/icons/svg/deviceHub.js.map +7 -0
- package/dist/source/icons/svg/editNote.js +11 -0
- package/dist/source/icons/svg/editNote.js.map +7 -0
- package/dist/source/icons/svg/filterList.js +11 -0
- package/dist/source/icons/svg/filterList.js.map +7 -0
- package/dist/source/icons/svg/forkRight.js +10 -0
- package/dist/source/icons/svg/forkRight.js.map +7 -0
- package/dist/source/icons/svg/groups.js +11 -0
- package/dist/source/icons/svg/groups.js.map +7 -0
- package/dist/source/icons/svg/hub.js +10 -0
- package/dist/source/icons/svg/hub.js.map +7 -0
- package/dist/source/icons/svg/index.js +22 -0
- package/dist/source/icons/svg/index.js.map +2 -2
- package/dist/source/icons/svg/lan.js +11 -0
- package/dist/source/icons/svg/lan.js.map +7 -0
- package/dist/source/icons/svg/personOff.js +11 -0
- package/dist/source/icons/svg/personOff.js.map +7 -0
- package/dist/source/icons/svg/schema.js +11 -0
- package/dist/source/icons/svg/schema.js.map +7 -0
- package/dist/source/index.js +33 -1
- package/dist/source/index.js.map +2 -2
- package/package.json +79 -8
|
@@ -1,41 +1,45 @@
|
|
|
1
|
-
import { insert as
|
|
2
|
-
import '../../../assets/styles/less/components/badge/badge.entry.css';/* empty css
|
|
3
|
-
|
|
4
|
-
import u from "
|
|
5
|
-
import
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
1
|
+
import { insert as s, use as p, spread as b, mergeProps as g, createComponent as f, template as h } from "solid-js/web";
|
|
2
|
+
import '../../../assets/styles/less/components/badge/badge.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { mergeProps as u, splitProps as v, children as _, Show as w } from "solid-js";
|
|
5
|
+
import $ from "clsx";
|
|
6
|
+
import { mergeRefs as x } from "../../../primitives/mergeRefs.js";
|
|
7
|
+
var y = /* @__PURE__ */ h("<span class=smwb-badge__wrapper data-testid=badge><span>");
|
|
8
|
+
function B(i) {
|
|
9
|
+
const l = u({
|
|
9
10
|
color: "primary",
|
|
10
11
|
variant: "outside",
|
|
11
12
|
vertical: "top",
|
|
12
13
|
horizontal: "right",
|
|
13
14
|
showZero: !1
|
|
14
|
-
},
|
|
15
|
+
}, i), [e, m] = v(l, ["class", "color", "badgeContent", "variant", "vertical", "horizontal", "max", "showZero", "badgeAriaLabel", "children", "ref"]), t = _(() => e.badgeContent), c = () => t() === 0 || t() === "0", o = () => t() === void 0 || t() === null || c() && !e.showZero, d = () => {
|
|
16
|
+
const r = t();
|
|
17
|
+
return typeof r == "number" && e.max !== void 0 && r > e.max ? `${e.max}+` : r;
|
|
18
|
+
};
|
|
15
19
|
return (() => {
|
|
16
|
-
var
|
|
17
|
-
|
|
18
|
-
var
|
|
19
|
-
return typeof
|
|
20
|
+
var r = y(), a = r.firstChild;
|
|
21
|
+
s(r, () => e.children, a);
|
|
22
|
+
var n = x(e.ref);
|
|
23
|
+
return typeof n == "function" && p(n, a), b(a, g(m, {
|
|
20
24
|
get class() {
|
|
21
|
-
return
|
|
22
|
-
"smwb-badge_no-content":
|
|
25
|
+
return $("smwb-badge", `smwb-badge_${e.color}`, `smwb-badge_${e.variant}`, `smwb-badge_${e.variant}_${e.vertical}`, `smwb-badge_${e.variant}_${e.vertical}_${e.horizontal}`, e.class, {
|
|
26
|
+
"smwb-badge_no-content": o()
|
|
23
27
|
});
|
|
24
28
|
},
|
|
25
29
|
get "aria-label"() {
|
|
26
30
|
return e.badgeAriaLabel;
|
|
27
31
|
}
|
|
28
|
-
}), !1, !0),
|
|
32
|
+
}), !1, !0), s(a, f(w, {
|
|
29
33
|
get when() {
|
|
30
|
-
return !
|
|
34
|
+
return !o();
|
|
31
35
|
},
|
|
32
36
|
get children() {
|
|
33
|
-
return
|
|
37
|
+
return d();
|
|
34
38
|
}
|
|
35
|
-
})),
|
|
39
|
+
})), r;
|
|
36
40
|
})();
|
|
37
41
|
}
|
|
38
42
|
export {
|
|
39
|
-
|
|
43
|
+
B as Badge
|
|
40
44
|
};
|
|
41
45
|
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":["../../../../src/components/dataDisplay/badge/badge.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface BadgeProps extends JSX.HTMLAttributes<HTMLSpanElement> {\n badgeContent?: JSX.Element | number | string;\n color?: \"primary\" | \"success\" | \"danger\";\n variant?: \"inside\" | \"outside\";\n vertical?: \"top\" | \"bottom\";\n horizontal?: \"right\" | \"left\";\n /** Cap numeric content, rendering `{max}+` when exceeded. */\n max?: number;\n /** Render the badge even when content is 0. */\n showZero?: boolean;\n /** Accessible label for the badge value. */\n badgeAriaLabel?: string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nexport function Badge(props: ParentProps<BadgeProps>): JSX.Element {\n const merged = mergeProps(\n {\n color: \"primary\" as const,\n variant: \"outside\" as const,\n vertical: \"top\" as const,\n horizontal: \"right\" as const,\n showZero: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"color\",\n \"badgeContent\",\n \"variant\",\n \"vertical\",\n \"horizontal\",\n \"max\",\n \"showZero\",\n \"badgeAriaLabel\",\n \"children\",\n \"ref\",\n ]);\n\n const isZero = (): boolean =>
|
|
1
|
+
{"version":3,"file":"badge.js","sources":["../../../../src/components/dataDisplay/badge/badge.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface BadgeProps extends JSX.HTMLAttributes<HTMLSpanElement> {\n badgeContent?: JSX.Element | number | string;\n color?: \"primary\" | \"success\" | \"danger\";\n variant?: \"inside\" | \"outside\";\n vertical?: \"top\" | \"bottom\";\n horizontal?: \"right\" | \"left\";\n /** Cap numeric content, rendering `{max}+` when exceeded. */\n max?: number;\n /** Render the badge even when content is 0. */\n showZero?: boolean;\n /** Accessible label for the badge value. */\n badgeAriaLabel?: string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nexport function Badge(props: ParentProps<BadgeProps>): JSX.Element {\n const merged = mergeProps(\n {\n color: \"primary\" as const,\n variant: \"outside\" as const,\n vertical: \"top\" as const,\n horizontal: \"right\" as const,\n showZero: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"color\",\n \"badgeContent\",\n \"variant\",\n \"vertical\",\n \"horizontal\",\n \"max\",\n \"showZero\",\n \"badgeAriaLabel\",\n \"children\",\n \"ref\",\n ]);\n\n // Read the content once: markup passed as a prop is created anew on every\n // read, and during hydration a copy the server never rendered has no DOM node.\n const content = children(() => local.badgeContent);\n const isZero = (): boolean => content() === 0 || content() === \"0\";\n const hidden = (): boolean => content() === undefined || content() === null || (isZero() && !local.showZero);\n\n const display = (): JSX.Element => {\n const value = content();\n return typeof value === \"number\" && local.max !== undefined && value > local.max ? `${local.max}+` : value;\n };\n\n return (\n <span class=\"smwb-badge__wrapper\" data-testid=\"badge\">\n {local.children}\n <span\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\n \"smwb-badge\",\n `smwb-badge_${local.color}`,\n `smwb-badge_${local.variant}`,\n `smwb-badge_${local.variant}_${local.vertical}`,\n `smwb-badge_${local.variant}_${local.vertical}_${local.horizontal}`,\n local.class,\n { \"smwb-badge_no-content\": hidden() }\n )}\n aria-label={local.badgeAriaLabel}\n >\n <Show when={!hidden()}>{display()}</Show>\n </span>\n </span>\n );\n}\n\nexport default Badge;\n"],"names":["Badge","props","merged","mergeProps","color","variant","vertical","horizontal","showZero","local","rest","splitProps","content","children","badgeContent","isZero","hidden","undefined","display","value","max","_el$","_tmpl$","_el$2","firstChild","_$insert","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","badgeAriaLabel","_$createComponent","Show","when"],"mappings":";;;;;;;AAqBO,SAASA,EAAMC,GAA6C;AACjE,QAAMC,IAASC,EACb;AAAA,IACEC,OAAO;AAAA,IACPC,SAAS;AAAA,IACTC,UAAU;AAAA,IACVC,YAAY;AAAA,IACZC,UAAU;AAAA,EAAA,GAEZP,CACF,GACM,CAACQ,GAAOC,CAAI,IAAIC,EAAWT,GAAQ,CACvC,SACA,SACA,gBACA,WACA,YACA,cACA,OACA,YACA,kBACA,YACA,KAAK,CACN,GAIKU,IAAUC,EAAS,MAAMJ,EAAMK,YAAY,GAC3CC,IAASA,MAAeH,EAAAA,MAAc,KAAKA,QAAc,KACzDI,IAASA,MAAeJ,EAAAA,MAAcK,UAAaL,QAAc,QAASG,EAAAA,KAAY,CAACN,EAAMD,UAE7FU,IAAUA,MAAmB;AACjC,UAAMC,IAAQP,EAAAA;AACd,WAAO,OAAOO,KAAU,YAAYV,EAAMW,QAAQH,UAAaE,IAAQV,EAAMW,MAAM,GAAGX,EAAMW,GAAG,MAAMD;AAAAA,EACvG;AAEA,UAAA,MAAA;AAAA,QAAAE,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG;AAAAC,IAAAA,EAAAJ,GAAA,MAEKZ,EAAMI,UAAQU,CAAA;AAAA,QAAAG,IAGRC,EAAUlB,EAAMmB,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAH,CAAA,GAAAO,EAAAP,GAAAQ,EADrBrB,GAAI;AAAA,MAAA,IAAA,QAAA;AAAA,eAEDsB,EACL,cACA,cAAcvB,EAAML,KAAK,IACzB,cAAcK,EAAMJ,OAAO,IAC3B,cAAcI,EAAMJ,OAAO,IAAII,EAAMH,QAAQ,IAC7C,cAAcG,EAAMJ,OAAO,IAAII,EAAMH,QAAQ,IAAIG,EAAMF,UAAU,IACjEE,EAAMwB,OACN;AAAA,UAAE,yBAAyBjB,EAAAA;AAAAA,QAAO,CACpC;AAAA,MAAC;AAAA,MAAA,IAAA,eAAA;AAAA,eACWP,EAAMyB;AAAAA,MAAc;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAT,EAAAF,GAAAY,EAE/BC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE,CAACrB,EAAAA;AAAAA,MAAQ;AAAA,MAAA,IAAAH,WAAA;AAAA,eAAGK,EAAAA;AAAAA,MAAS;AAAA,IAAA,CAAA,CAAA,GAAAG;AAAAA,EAAA,GAAA;AAIzC;"}
|
|
@@ -1,22 +1,23 @@
|
|
|
1
|
-
import { use as
|
|
2
|
-
import '../../../assets/styles/less/components/card/card.entry.css';/* empty css
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { use as v, spread as g, mergeProps as _, memo as b, insert as n, createComponent as d, template as i } from "solid-js/web";
|
|
2
|
+
import '../../../assets/styles/less/components/card/card.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { mergeProps as w, splitProps as h, children as $, Show as s } from "solid-js";
|
|
5
|
+
import k from "clsx";
|
|
6
|
+
import { mergeRefs as y } from "../../../primitives/mergeRefs.js";
|
|
7
|
+
import { callHandler as c } from "../../../primitives/callHandler.js";
|
|
8
|
+
var C = /* @__PURE__ */ i("<div class=smwb-card__title>"), D = /* @__PURE__ */ i("<div class=smwb-card__footer>"), K = /* @__PURE__ */ i("<div>");
|
|
9
|
+
function q(m) {
|
|
10
|
+
const p = w({
|
|
10
11
|
variant: "elevated"
|
|
11
|
-
},
|
|
12
|
-
|
|
12
|
+
}, m), [e, u] = h(p, ["class", "variant", "children", "disabled", "title", "footer", "onClick", "onKeyDown", "ref"]), l = $(() => e.footer), t = () => !!e.onClick && !e.disabled, f = (r) => {
|
|
13
|
+
c(e.onKeyDown, r), t() && (r.key === "Enter" || r.key === " ") && (r.preventDefault(), c(e.onClick, r));
|
|
13
14
|
};
|
|
14
15
|
return (() => {
|
|
15
|
-
var r =
|
|
16
|
-
return typeof
|
|
16
|
+
var r = K(), a = y(e.ref);
|
|
17
|
+
return typeof a == "function" && v(a, r), g(r, _(u, {
|
|
17
18
|
"data-testid": "card",
|
|
18
19
|
get class() {
|
|
19
|
-
return
|
|
20
|
+
return k("smwb-card", `smwb-card_${e.variant}`, e.class, {
|
|
20
21
|
card_disabled: e.disabled,
|
|
21
22
|
"smwb-card_interactive": t()
|
|
22
23
|
});
|
|
@@ -31,29 +32,29 @@ function R(c) {
|
|
|
31
32
|
return e.disabled || void 0;
|
|
32
33
|
},
|
|
33
34
|
get onClick() {
|
|
34
|
-
return
|
|
35
|
+
return b(() => !!t())() ? e.onClick : void 0;
|
|
35
36
|
},
|
|
36
|
-
onKeyDown:
|
|
37
|
-
}), !1, !0), n(r,
|
|
37
|
+
onKeyDown: f
|
|
38
|
+
}), !1, !0), n(r, d(s, {
|
|
38
39
|
get when() {
|
|
39
40
|
return e.title;
|
|
40
41
|
},
|
|
41
42
|
get children() {
|
|
42
|
-
var o =
|
|
43
|
+
var o = C();
|
|
43
44
|
return n(o, () => e.title), o;
|
|
44
45
|
}
|
|
45
|
-
}), null), n(r, () => e.children, null), n(r,
|
|
46
|
+
}), null), n(r, () => e.children, null), n(r, d(s, {
|
|
46
47
|
get when() {
|
|
47
|
-
return
|
|
48
|
+
return l();
|
|
48
49
|
},
|
|
49
50
|
get children() {
|
|
50
|
-
var o =
|
|
51
|
-
return n(o,
|
|
51
|
+
var o = D();
|
|
52
|
+
return n(o, l), o;
|
|
52
53
|
}
|
|
53
54
|
}), null), r;
|
|
54
55
|
})();
|
|
55
56
|
}
|
|
56
57
|
export {
|
|
57
|
-
|
|
58
|
+
q as Card
|
|
58
59
|
};
|
|
59
60
|
//# sourceMappingURL=card.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../../src/components/dataDisplay/card/card.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\n\nexport interface CardProps extends JSX.HTMLAttributes<HTMLDivElement> {\n variant?: \"filled\" | \"elevated\" | \"outlined\";\n disabled?: boolean;\n title?: string;\n /** Footer slot rendered after the content. */\n footer?: JSX.Element;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function Card(props: ParentProps<CardProps>): JSX.Element {\n const merged = mergeProps({ variant: \"elevated\" as const }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"variant\",\n \"children\",\n \"disabled\",\n \"title\",\n \"footer\",\n \"onClick\",\n \"onKeyDown\",\n \"ref\",\n ]);\n\n const interactive = (): boolean => !!local.onClick && !local.disabled;\n\n const handleKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (event) => {\n callHandler(local.onKeyDown, event);\n if (interactive() && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n callHandler(local.onClick, event as unknown as MouseEvent & { currentTarget: HTMLDivElement; target: Element });\n }\n };\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"card\"\n class={cn(\"smwb-card\", `smwb-card_${local.variant}`, local.class, {\n card_disabled: local.disabled,\n \"smwb-card_interactive\": interactive(),\n })}\n role={interactive() ? \"button\" : undefined}\n tabindex={interactive() ? 0 : undefined}\n aria-disabled={local.disabled || undefined}\n onClick={interactive() ? local.onClick : undefined}\n onKeyDown={handleKeyDown}\n >\n <Show when={local.title}>\n <div class=\"smwb-card__title\">{local.title}</div>\n </Show>\n {local.children}\n <Show when={
|
|
1
|
+
{"version":3,"file":"card.js","sources":["../../../../src/components/dataDisplay/card/card.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\n\nexport interface CardProps extends JSX.HTMLAttributes<HTMLDivElement> {\n variant?: \"filled\" | \"elevated\" | \"outlined\";\n disabled?: boolean;\n title?: string;\n /** Footer slot rendered after the content. */\n footer?: JSX.Element;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function Card(props: ParentProps<CardProps>): JSX.Element {\n const merged = mergeProps({ variant: \"elevated\" as const }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"variant\",\n \"children\",\n \"disabled\",\n \"title\",\n \"footer\",\n \"onClick\",\n \"onKeyDown\",\n \"ref\",\n ]);\n\n // Read the footer once: markup passed as a prop is created anew on every read,\n // and during hydration a copy the server never rendered has no DOM node.\n const footer = children(() => local.footer);\n const interactive = (): boolean => !!local.onClick && !local.disabled;\n\n const handleKeyDown: JSX.EventHandler<HTMLDivElement, KeyboardEvent> = (event) => {\n callHandler(local.onKeyDown, event);\n if (interactive() && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n callHandler(local.onClick, event as unknown as MouseEvent & { currentTarget: HTMLDivElement; target: Element });\n }\n };\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"card\"\n class={cn(\"smwb-card\", `smwb-card_${local.variant}`, local.class, {\n card_disabled: local.disabled,\n \"smwb-card_interactive\": interactive(),\n })}\n role={interactive() ? \"button\" : undefined}\n tabindex={interactive() ? 0 : undefined}\n aria-disabled={local.disabled || undefined}\n onClick={interactive() ? local.onClick : undefined}\n onKeyDown={handleKeyDown}\n >\n <Show when={local.title}>\n <div class=\"smwb-card__title\">{local.title}</div>\n </Show>\n {local.children}\n <Show when={footer()}>\n <div class=\"smwb-card__footer\">{footer()}</div>\n </Show>\n </div>\n );\n}\n\nexport default Card;\n"],"names":["Card","props","merged","mergeProps","variant","local","rest","splitProps","footer","children","interactive","onClick","disabled","handleKeyDown","event","callHandler","onKeyDown","key","preventDefault","_el$","_tmpl$3","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","card_disabled","role","undefined","tabindex","_$memo","_$insert","_$createComponent","Show","when","title","_el$2","_tmpl$","_el$3","_tmpl$2"],"mappings":";;;;;;;;AAgBO,SAASA,EAAKC,GAA4C;AAC/D,QAAMC,IAASC,EAAW;AAAA,IAAEC,SAAS;AAAA,EAAA,GAAuBH,CAAK,GAC3D,CAACI,GAAOC,CAAI,IAAIC,EAAWL,GAAQ,CACvC,SACA,WACA,YACA,YACA,SACA,UACA,WACA,aACA,KAAK,CACN,GAIKM,IAASC,EAAS,MAAMJ,EAAMG,MAAM,GACpCE,IAAcA,MAAe,CAAC,CAACL,EAAMM,WAAW,CAACN,EAAMO,UAEvDC,IAAkEC,CAAAA,MAAU;AAChFC,IAAAA,EAAYV,EAAMW,WAAWF,CAAK,GAC9BJ,QAAkBI,EAAMG,QAAQ,WAAWH,EAAMG,QAAQ,SAC3DH,EAAMI,eAAAA,GACNH,EAAYV,EAAMM,SAASG,CAAmF;AAAA,EAElH;AAEA,UAAA,MAAA;AAAA,QAAAK,IAAAC,EAAAA,GAAAC,IAGSC,EAAUjB,EAAMkB,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBpB,GAAI;AAAA,MAAA,eAEI;AAAA,MAAM,IAAA,QAAA;AAAA,eACXqB,EAAG,aAAa,aAAatB,EAAMD,OAAO,IAAIC,EAAMuB,OAAO;AAAA,UAChEC,eAAexB,EAAMO;AAAAA,UACrB,yBAAyBF,EAAAA;AAAAA,QAAY,CACtC;AAAA,MAAC;AAAA,MAAA,IACFoB,OAAI;AAAA,eAAEpB,EAAAA,IAAgB,WAAWqB;AAAAA,MAAS;AAAA,MAAA,IAC1CC,WAAQ;AAAA,eAAEtB,EAAAA,IAAgB,IAAIqB;AAAAA,MAAS;AAAA,MAAA,IAAA,kBAAA;AAAA,eACxB1B,EAAMO,YAAYmB;AAAAA,MAAS;AAAA,MAAA,IAC1CpB,UAAO;AAAA,eAAEsB,EAAA,MAAA,CAAA,CAAAvB,GAAa,MAAGL,EAAMM,UAAUoB;AAAAA,MAAS;AAAA,MAAA,WACvClB;AAAAA,IAAAA,CAAa,GAAA,IAAA,EAAA,GAAAqB,EAAAf,GAAAgB,EAEvBC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEhC,EAAMiC;AAAAA,MAAK;AAAA,MAAA,IAAA7B,WAAA;AAAA,YAAA8B,IAAAC,EAAAA;AAAAN,eAAAA,EAAAK,GAAA,MACUlC,EAAMiC,KAAK,GAAAC;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAL,EAAAf,GAAA,MAE3Cd,EAAMI,UAAQ,IAAA,GAAAyB,EAAAf,GAAAgB,EACdC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE7B,EAAAA;AAAAA,MAAQ;AAAA,MAAA,IAAAC,WAAA;AAAA,YAAAgC,IAAAC,EAAAA;AAAAR,eAAAA,EAAAO,GACcjC,CAAM,GAAAiC;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAtB;AAAAA,EAAA,GAAA;AAI9C;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { addEventListener as k, use as Y, insert as g, createComponent as v, effect as I, setAttribute as V, style as oe, className as D, setStyleProperty as L, template as P, delegateEvents as Fe } from "solid-js/web";
|
|
2
|
-
import '../../../assets/styles/less/components/carousel/carousel.entry.css';/* empty css
|
|
2
|
+
import '../../../assets/styles/less/components/carousel/carousel.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
3
4
|
import { mergeProps as Me, splitProps as ze, children as De, createSignal as b, createUniqueId as Le, createEffect as A, createMemo as le, onCleanup as ae, Show as y, For as W } from "solid-js";
|
|
4
5
|
import p from "clsx";
|
|
5
6
|
import { toCssLength as K, toCssNumber as Ae, dragPrevent as ie, getSlideStyle as Ne, getStartSlide as He, getSlidesToShow as Re, clamp as Oe, getSlideIndexForMultipleParts as ce, coordX as q, coordY as ue, getSlideWidth as Ye, isMouseEvent as de, isTouchEvent as Ve } from "./utils.js";
|
|
@@ -8,7 +9,7 @@ import { Icon as T } from "../../base/icon/icon.js";
|
|
|
8
9
|
import { Modal as Ke } from "../../feedBack/modal/modal.js";
|
|
9
10
|
var fe = /* @__PURE__ */ P("<div>"), qe = /* @__PURE__ */ P("<div class=smwb-carousel__fullscreen-content><div class=smwb-carousel__fullscreen-stage><div class=smwb-carousel__fullscreen-track>"), Be = /* @__PURE__ */ P("<div data-testid=carousel role=region aria-roledescription=carousel><div class=smwb-carousel__inner><div class=smwb-carousel__track><div class=smwb-carousel__layer>"), Ge = /* @__PURE__ */ P("<div class=smwb-carousel__slide><div>"), Ue = /* @__PURE__ */ P("<div class=smwb-carousel__fullscreen-slide>");
|
|
10
11
|
const me = 8, je = 0.4, B = () => typeof performance < "u" ? performance.now() : Date.now();
|
|
11
|
-
function
|
|
12
|
+
function lt(he) {
|
|
12
13
|
const ve = Me({
|
|
13
14
|
slidesToShow: 3,
|
|
14
15
|
startSlide: 0,
|
|
@@ -302,6 +303,6 @@ function ot(he) {
|
|
|
302
303
|
}
|
|
303
304
|
Fe(["mousedown", "touchstart", "touchmove", "touchend", "click"]);
|
|
304
305
|
export {
|
|
305
|
-
|
|
306
|
+
lt as Carousel
|
|
306
307
|
};
|
|
307
308
|
//# sourceMappingURL=carousel.js.map
|
|
@@ -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 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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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { type JSX } from "solid-js";
|
|
2
|
+
import { type Ref } from "../../../primitives/mergeRefs";
|
|
3
|
+
import { type ChartOption, type ChartPalette } from "./chartTheme";
|
|
4
|
+
/** What an ECharts event hands its handler: the item under the pointer. */
|
|
5
|
+
export interface ChartEventParams {
|
|
6
|
+
componentType?: string;
|
|
7
|
+
seriesType?: string;
|
|
8
|
+
seriesIndex?: number;
|
|
9
|
+
seriesName?: string;
|
|
10
|
+
name?: string;
|
|
11
|
+
dataIndex?: number;
|
|
12
|
+
data?: unknown;
|
|
13
|
+
value?: unknown;
|
|
14
|
+
[key: string]: unknown;
|
|
15
|
+
}
|
|
16
|
+
/** The part of an ECharts instance the chart uses; `onReady` hands over the instance itself. */
|
|
17
|
+
export interface ChartInstance {
|
|
18
|
+
setOption(option: ChartOption, opts?: {
|
|
19
|
+
notMerge?: boolean;
|
|
20
|
+
}): void;
|
|
21
|
+
resize(): void;
|
|
22
|
+
on(eventName: string, handler: (params: ChartEventParams) => void): void;
|
|
23
|
+
dispose(): void;
|
|
24
|
+
/** ECharts 6 switches the theme in place; with ECharts 5 the chart is created anew. */
|
|
25
|
+
setTheme?(theme: object): void;
|
|
26
|
+
}
|
|
27
|
+
/** What `loader` resolves to: `echarts`, or `echarts/core` with the charts you use registered. */
|
|
28
|
+
export interface ChartModule {
|
|
29
|
+
init(dom: HTMLElement, theme?: object | string | null, opts?: {
|
|
30
|
+
renderer?: "canvas" | "svg";
|
|
31
|
+
}): ChartInstance;
|
|
32
|
+
}
|
|
33
|
+
export interface ChartProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "onClick"> {
|
|
34
|
+
/** What the chart shows: its accessible name. */
|
|
35
|
+
label: string;
|
|
36
|
+
/** The chart in words, for screen readers; it is there before the chart draws, and on the server. */
|
|
37
|
+
summary?: string;
|
|
38
|
+
/**
|
|
39
|
+
* The ECharts option, or a function of the theme's palette that returns it.
|
|
40
|
+
* It is applied whole whenever it or the theme changes.
|
|
41
|
+
*/
|
|
42
|
+
option: ChartOption | ((palette: ChartPalette) => ChartOption);
|
|
43
|
+
/** The chart's height: a number of pixels or any CSS length; 240 by default. It fills the width. */
|
|
44
|
+
height?: number | string;
|
|
45
|
+
/**
|
|
46
|
+
* Loads ECharts in the browser: `import("echarts")` by default, the whole
|
|
47
|
+
* library. For a smaller bundle pass `() => import("./my-echarts")`, a module
|
|
48
|
+
* that registers only the charts you use with `echarts/core`.
|
|
49
|
+
*/
|
|
50
|
+
loader?: () => Promise<ChartModule>;
|
|
51
|
+
/** How ECharts draws: "canvas" (default) or "svg". Read once, when the chart is created. */
|
|
52
|
+
renderer?: "canvas" | "svg";
|
|
53
|
+
/** A click on an item: a bar, a point, a node. */
|
|
54
|
+
onClick?: (params: ChartEventParams) => void;
|
|
55
|
+
/** The ECharts instance, once it has drawn — for other events and actions. Called again if a theme change re-creates it. */
|
|
56
|
+
onReady?: (chart: ChartInstance) => void;
|
|
57
|
+
ref?: Ref<HTMLDivElement>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* An ECharts chart in the theme's palette. On the server, and until ECharts
|
|
61
|
+
* loads in the browser, a skeleton of the same size stands in its place, so
|
|
62
|
+
* the page does not jump; the chart follows theme switches and its box's size.
|
|
63
|
+
*/
|
|
64
|
+
export declare function Chart(props: ChartProps): JSX.Element;
|
|
65
|
+
export default Chart;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { EChartsOption } from "echarts";
|
|
2
|
+
/** An ECharts option: what the chart shows. */
|
|
3
|
+
export type ChartOption = EChartsOption;
|
|
4
|
+
/** The theme's colours as the chart draws them. */
|
|
5
|
+
export interface ChartPalette {
|
|
6
|
+
/** The surface is dark. */
|
|
7
|
+
dark: boolean;
|
|
8
|
+
/** Text: titles, tooltips. */
|
|
9
|
+
text: string;
|
|
10
|
+
/** Secondary text: axis labels, the legend. */
|
|
11
|
+
muted: string;
|
|
12
|
+
/** Axis and grid lines. */
|
|
13
|
+
line: string;
|
|
14
|
+
/** The surface under the chart: tooltips. */
|
|
15
|
+
surface: string;
|
|
16
|
+
primary: string;
|
|
17
|
+
success: string;
|
|
18
|
+
warning: string;
|
|
19
|
+
error: string;
|
|
20
|
+
info: string;
|
|
21
|
+
/**
|
|
22
|
+
* Series colours, in order: `--smwb-chart-series-1` … `-12`. The default set
|
|
23
|
+
* stays apart with colour-vision deficiencies.
|
|
24
|
+
*/
|
|
25
|
+
series: string[];
|
|
26
|
+
/** The font of the text around the chart. */
|
|
27
|
+
fontFamily: string;
|
|
28
|
+
}
|
|
29
|
+
/** Darker than mid-grey: `#rgb`, `#rrggbb` and `rgb()`/`rgba()`; anything else counts as light. */
|
|
30
|
+
export declare function isDarkColour(colour: string): boolean;
|
|
31
|
+
/** Reads the palette from the element's computed style. */
|
|
32
|
+
export declare function readChartPalette(host: HTMLElement): ChartPalette;
|
|
33
|
+
export declare const samePalette: (a: ChartPalette, b: ChartPalette) => boolean;
|
|
34
|
+
/** An ECharts theme in the palette: series colours, text, axes, grid lines, legend, tooltip. */
|
|
35
|
+
export declare function chartTheme(palette: ChartPalette): Record<string, unknown>;
|