@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,13 +1,14 @@
|
|
|
1
|
-
import { createComponent as o, mergeProps as
|
|
2
|
-
import '../../../assets/styles/less/components/menu/menu.entry.css';/* empty css
|
|
3
|
-
|
|
1
|
+
import { createComponent as o, mergeProps as a } from "solid-js/web";
|
|
2
|
+
import '../../../assets/styles/less/components/menu/menu.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { mergeProps as p, splitProps as f } from "solid-js";
|
|
4
5
|
import { MenuContext as l } from "./menuContext.js";
|
|
5
6
|
import { MenuComponent as c } from "./menuComponent.js";
|
|
6
|
-
function
|
|
7
|
-
const s =
|
|
7
|
+
function h(i) {
|
|
8
|
+
const s = p({
|
|
8
9
|
dense: !1,
|
|
9
10
|
variant: "floating"
|
|
10
|
-
}, i), [e, r] =
|
|
11
|
+
}, i), [e, r] = f(s, ["dense", "variant", "children", "ref"]), m = {
|
|
11
12
|
get dense() {
|
|
12
13
|
return e.dense;
|
|
13
14
|
},
|
|
@@ -17,9 +18,9 @@ function P(i) {
|
|
|
17
18
|
onClose: () => r.onClose?.()
|
|
18
19
|
};
|
|
19
20
|
return o(l.Provider, {
|
|
20
|
-
value:
|
|
21
|
+
value: m,
|
|
21
22
|
get children() {
|
|
22
|
-
return o(c,
|
|
23
|
+
return o(c, a({
|
|
23
24
|
ref(n) {
|
|
24
25
|
var t = e.ref;
|
|
25
26
|
typeof t == "function" ? t(n) : e.ref = n;
|
|
@@ -33,6 +34,6 @@ function P(i) {
|
|
|
33
34
|
});
|
|
34
35
|
}
|
|
35
36
|
export {
|
|
36
|
-
|
|
37
|
+
h as Menu
|
|
37
38
|
};
|
|
38
39
|
//# sourceMappingURL=menu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sources":["../../../../src/components/navigation/menu/menu.tsx"],"sourcesContent":["import { type JSX, type ParentProps, mergeProps, splitProps } from \"solid-js\";\nimport { MenuContext } from \"./menuContext\";\nimport { MenuComponent } from \"./menuComponent\";\nimport type { MenuFloatingProps } from \"./menuFloating\";\n\nexport type MenuProps = MenuFloatingProps & {\n variant?: \"static\" | \"floating\";\n dense?: boolean;\n};\n\nexport function Menu(props: ParentProps<MenuProps>): JSX.Element {\n const merged = mergeProps({ dense: false, variant: \"floating\" as const }, props);\n const [local, rest] = splitProps(merged, [\"dense\", \"variant\", \"children\", \"ref\"]);\n\n const value = {\n get dense() {\n return local.dense;\n },\n get variant() {\n return local.variant;\n },\n onClose: () => rest.onClose?.(),\n };\n\n return (\n <MenuContext.Provider value={value}>\n <MenuComponent ref={local.ref} {...rest}>\n {local.children}\n </MenuComponent>\n </MenuContext.Provider>\n );\n}\n\nexport default Menu;\n"],"names":["Menu","props","merged","mergeProps","dense","variant","local","rest","splitProps","value","onClose","_$createComponent","MenuContext","Provider","children","MenuComponent","_$mergeProps","ref","r$","_ref$"],"mappings":"
|
|
1
|
+
{"version":3,"file":"menu.js","sources":["../../../../src/components/navigation/menu/menu.tsx"],"sourcesContent":["import { type JSX, type ParentProps, mergeProps, splitProps } from \"solid-js\";\nimport { MenuContext } from \"./menuContext\";\nimport { MenuComponent } from \"./menuComponent\";\nimport type { MenuFloatingProps } from \"./menuFloating\";\n\nexport type MenuProps = MenuFloatingProps & {\n variant?: \"static\" | \"floating\";\n dense?: boolean;\n};\n\nexport function Menu(props: ParentProps<MenuProps>): JSX.Element {\n const merged = mergeProps({ dense: false, variant: \"floating\" as const }, props);\n const [local, rest] = splitProps(merged, [\"dense\", \"variant\", \"children\", \"ref\"]);\n\n const value = {\n get dense() {\n return local.dense;\n },\n get variant() {\n return local.variant;\n },\n onClose: () => rest.onClose?.(),\n };\n\n return (\n <MenuContext.Provider value={value}>\n <MenuComponent ref={local.ref} {...rest}>\n {local.children}\n </MenuComponent>\n </MenuContext.Provider>\n );\n}\n\nexport default Menu;\n"],"names":["Menu","props","merged","mergeProps","dense","variant","local","rest","splitProps","value","onClose","_$createComponent","MenuContext","Provider","children","MenuComponent","_$mergeProps","ref","r$","_ref$"],"mappings":";;;;;;AAYO,SAASA,EAAKC,GAA4C;AAC/D,QAAMC,IAASC,EAAW;AAAA,IAAEC,OAAO;AAAA,IAAOC,SAAS;AAAA,EAAA,GAAuBJ,CAAK,GACzE,CAACK,GAAOC,CAAI,IAAIC,EAAWN,GAAQ,CAAC,SAAS,WAAW,YAAY,KAAK,CAAC,GAE1EO,IAAQ;AAAA,IACZ,IAAIL,QAAQ;AACV,aAAOE,EAAMF;AAAAA,IACf;AAAA,IACA,IAAIC,UAAU;AACZ,aAAOC,EAAMD;AAAAA,IACf;AAAA,IACAK,SAASA,MAAMH,EAAKG,UAAAA;AAAAA,EAAU;AAGhC,SAAAC,EACGC,EAAYC,UAAQ;AAAA,IAACJ,OAAAA;AAAAA,IAAY,IAAAK,WAAA;AAAA,aAAAH,EAC/BI,GAAaC,EAAA;AAAA,QAAAC,IAAAC,GAAA;AAAA,cAAAC,IAAMb,EAAMW;AAAG,iBAAAE,KAAA,aAAAA,EAAAD,CAAA,IAATZ,EAAMW,MAAGC;AAAAA,QAAA;AAAA,MAAA,GAAMX,GAAI;AAAA,QAAA,IAAAO,WAAA;AAAA,iBACpCR,EAAMQ;AAAAA,QAAQ;AAAA,MAAA,CAAA,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA;AAIvB;"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { insert as a, createComponent as t, mergeProps as b, memo as s, effect as h, className as v, template as w } from "solid-js/web";
|
|
2
|
-
import '../../../assets/styles/less/components/overflowMenu/overflowMenu.entry.css';/* empty css
|
|
2
|
+
import '../../../assets/styles/less/components/overflowMenu/overflowMenu.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
3
4
|
import { mergeProps as C, splitProps as _, createSignal as c, For as M, Show as P } from "solid-js";
|
|
4
5
|
import i from "clsx";
|
|
5
6
|
import { Button as k } from "../../inputs/button/button.js";
|
|
@@ -7,7 +8,7 @@ import { Menu as I } from "../menu/menu.js";
|
|
|
7
8
|
import { MenuItem as O } from "../menu/menuItem.js";
|
|
8
9
|
import { Icon as S } from "../../base/icon/icon.js";
|
|
9
10
|
var $ = /* @__PURE__ */ w("<span>");
|
|
10
|
-
function
|
|
11
|
+
function q(m) {
|
|
11
12
|
const p = C({
|
|
12
13
|
icon: "more_vert"
|
|
13
14
|
}, m), [r] = _(p, ["items", "icon", "placement", "aria-label", "disabled", "class"]), [u, g] = c(null), [d, o] = c(!1), l = () => {
|
|
@@ -83,6 +84,6 @@ function j(m) {
|
|
|
83
84
|
})();
|
|
84
85
|
}
|
|
85
86
|
export {
|
|
86
|
-
|
|
87
|
+
q as OverflowMenu
|
|
87
88
|
};
|
|
88
89
|
//# sourceMappingURL=overflowMenu.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"overflowMenu.js","sources":["../../../../src/components/navigation/overflowMenu/overflowMenu.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport type { Placement } from \"@floating-ui/dom\";\nimport cn from \"clsx\";\nimport { Button } from \"../../inputs/button\";\nimport { Icon } from \"../../base/icon\";\nimport { Menu, MenuItem } from \"../menu\";\n\nexport interface OverflowMenuItem {\n id: string;\n label: string;\n icon?: JSX.Element | string;\n danger?: boolean;\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nexport interface OverflowMenuProps {\n items: OverflowMenuItem[];\n /** Trigger icon name (default `more_vert`). */\n icon?: string;\n placement?: Placement;\n \"aria-label\"?: string;\n disabled?: boolean;\n class?: string;\n}\n\n/**\n * A one-shot kebab / overflow menu: a trigger icon button wired to a floating\n * `Menu` over an `items` array, with open/close state baked in. The card 3-dot\n * menu every app hand-builds (button + absolutely-positioned surface + open\n * state) collapses to passing an items list.\n */\nexport function OverflowMenu(props: OverflowMenuProps): JSX.Element {\n const merged = mergeProps({ icon: \"more_vert\" }, props);\n const [local] = splitProps(merged, [\"items\", \"icon\", \"placement\", \"aria-label\", \"disabled\", \"class\"]);\n\n const [anchor, setAnchor] = createSignal<HTMLElement | null>(null);\n const [open, setOpen] = createSignal(false);\n const close = (): void => {\n setOpen(false);\n };\n\n const onItemClick = (item: OverflowMenuItem): void => {\n if (item.disabled) return;\n item.onSelect?.();\n close();\n };\n\n return (\n <span class={cn(\"smwb-overflow-menu\", local.class)}>\n <Button\n ref={(el) => {\n setAnchor(el as HTMLElement);\n }}\n variant=\"text\"\n size=\"small\"\n icon={local.icon}\n aria-label={local[\"aria-label\"] ?? \"More actions\"}\n aria-haspopup=\"menu\"\n disabled={!!local.disabled}\n onClick={() => {\n setOpen((value) => !value);\n }}\n />\n <Menu\n isOpen={open()}\n onClose={close}\n anchorElement={anchor()}\n {...(local.placement ? { placement: local.placement } : {})}\n >\n <For each={local.items}>\n {(item) => (\n <MenuItem\n class={cn({ \"smwb-overflow-menu__item--danger\": item.danger })}\n disabled={item.disabled}\n onClick={() => onItemClick(item)}\n >\n <Show when={item.icon}>\n {typeof item.icon === \"string\" ? <Icon name={item.icon} /> : (item.icon as JSX.Element)}\n </Show>\n {item.label}\n </MenuItem>\n )}\n </For>\n </Menu>\n </span>\n );\n}\n\nexport default OverflowMenu;\n"],"names":["OverflowMenu","props","merged","mergeProps","icon","local","splitProps","anchor","setAnchor","createSignal","open","setOpen","close","onItemClick","item","disabled","onSelect","_el$","_tmpl$","_$insert","_$createComponent","Button","ref","el","variant","size","onClick","value","Menu","_$mergeProps","isOpen","onClose","anchorElement","placement","children","For","each","items","MenuItem","cn","danger","Show","when","_$memo","Icon","name","label","_$effect","_$className","class"],"mappings":"
|
|
1
|
+
{"version":3,"file":"overflowMenu.js","sources":["../../../../src/components/navigation/overflowMenu/overflowMenu.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, splitProps } from \"solid-js\";\nimport type { Placement } from \"@floating-ui/dom\";\nimport cn from \"clsx\";\nimport { Button } from \"../../inputs/button\";\nimport { Icon } from \"../../base/icon\";\nimport { Menu, MenuItem } from \"../menu\";\n\nexport interface OverflowMenuItem {\n id: string;\n label: string;\n icon?: JSX.Element | string;\n danger?: boolean;\n disabled?: boolean;\n onSelect?: () => void;\n}\n\nexport interface OverflowMenuProps {\n items: OverflowMenuItem[];\n /** Trigger icon name (default `more_vert`). */\n icon?: string;\n placement?: Placement;\n \"aria-label\"?: string;\n disabled?: boolean;\n class?: string;\n}\n\n/**\n * A one-shot kebab / overflow menu: a trigger icon button wired to a floating\n * `Menu` over an `items` array, with open/close state baked in. The card 3-dot\n * menu every app hand-builds (button + absolutely-positioned surface + open\n * state) collapses to passing an items list.\n */\nexport function OverflowMenu(props: OverflowMenuProps): JSX.Element {\n const merged = mergeProps({ icon: \"more_vert\" }, props);\n const [local] = splitProps(merged, [\"items\", \"icon\", \"placement\", \"aria-label\", \"disabled\", \"class\"]);\n\n const [anchor, setAnchor] = createSignal<HTMLElement | null>(null);\n const [open, setOpen] = createSignal(false);\n const close = (): void => {\n setOpen(false);\n };\n\n const onItemClick = (item: OverflowMenuItem): void => {\n if (item.disabled) return;\n item.onSelect?.();\n close();\n };\n\n return (\n <span class={cn(\"smwb-overflow-menu\", local.class)}>\n <Button\n ref={(el) => {\n setAnchor(el as HTMLElement);\n }}\n variant=\"text\"\n size=\"small\"\n icon={local.icon}\n aria-label={local[\"aria-label\"] ?? \"More actions\"}\n aria-haspopup=\"menu\"\n disabled={!!local.disabled}\n onClick={() => {\n setOpen((value) => !value);\n }}\n />\n <Menu\n isOpen={open()}\n onClose={close}\n anchorElement={anchor()}\n {...(local.placement ? { placement: local.placement } : {})}\n >\n <For each={local.items}>\n {(item) => (\n <MenuItem\n class={cn({ \"smwb-overflow-menu__item--danger\": item.danger })}\n disabled={item.disabled}\n onClick={() => onItemClick(item)}\n >\n <Show when={item.icon}>\n {typeof item.icon === \"string\" ? <Icon name={item.icon} /> : (item.icon as JSX.Element)}\n </Show>\n {item.label}\n </MenuItem>\n )}\n </For>\n </Menu>\n </span>\n );\n}\n\nexport default OverflowMenu;\n"],"names":["OverflowMenu","props","merged","mergeProps","icon","local","splitProps","anchor","setAnchor","createSignal","open","setOpen","close","onItemClick","item","disabled","onSelect","_el$","_tmpl$","_$insert","_$createComponent","Button","ref","el","variant","size","onClick","value","Menu","_$mergeProps","isOpen","onClose","anchorElement","placement","children","For","each","items","MenuItem","cn","danger","Show","when","_$memo","Icon","name","label","_$effect","_$className","class"],"mappings":";;;;;;;;;;AAkCO,SAASA,EAAaC,GAAuC;AAClE,QAAMC,IAASC,EAAW;AAAA,IAAEC,MAAM;AAAA,EAAA,GAAeH,CAAK,GAChD,CAACI,CAAK,IAAIC,EAAWJ,GAAQ,CAAC,SAAS,QAAQ,aAAa,cAAc,YAAY,OAAO,CAAC,GAE9F,CAACK,GAAQC,CAAS,IAAIC,EAAiC,IAAI,GAC3D,CAACC,GAAMC,CAAO,IAAIF,EAAa,EAAK,GACpCG,IAAQA,MAAY;AACxBD,IAAAA,EAAQ,EAAK;AAAA,EACf,GAEME,IAAcA,CAACC,MAAiC;AACpD,IAAIA,EAAKC,aACTD,EAAKE,WAAAA,GACLJ,EAAAA;AAAAA,EACF;AAEA,UAAA,MAAA;AAAA,QAAAK,IAAAC,EAAAA;AAAAC,WAAAA,EAAAF,GAAAG,EAEKC,GAAM;AAAA,MAAAC,KACCC,CAAAA,MAAO;AACXf,QAAAA,EAAUe,CAAiB;AAAA,MAC7B;AAAA,MACAC,SAAO;AAAA,MACPC,MAAI;AAAA,MAAA,IACJrB,OAAI;AAAA,eAAEC,EAAMD;AAAAA,MAAI;AAAA,MAAA,IAAA,eAAA;AAAA,eACJC,EAAM,YAAY,KAAK;AAAA,MAAc;AAAA,MAAA,iBAAA;AAAA,MAAA,IAEjDU,WAAQ;AAAA,eAAE,CAAC,CAACV,EAAMU;AAAAA,MAAQ;AAAA,MAC1BW,SAASA,MAAM;AACbf,QAAAA,EAASgB,CAAAA,MAAU,CAACA,CAAK;AAAA,MAC3B;AAAA,IAAA,CAAC,GAAA,IAAA,GAAAR,EAAAF,GAAAG,EAEFQ,GAAIC,EAAA;AAAA,MAAA,IACHC,SAAM;AAAA,eAAEpB,EAAAA;AAAAA,MAAM;AAAA,MACdqB,SAASnB;AAAAA,MAAK,IACdoB,gBAAa;AAAA,eAAEzB,EAAAA;AAAAA,MAAQ;AAAA,IAAA,GAAA,MAClBF,EAAM4B,YAAY;AAAA,MAAEA,WAAW5B,EAAM4B;AAAAA,IAAAA,IAAc,IAAE;AAAA,MAAA,IAAAC,WAAA;AAAA,eAAAd,EAEzDe,GAAG;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAE/B,EAAMgC;AAAAA,UAAK;AAAA,UAAAH,UAClBpB,CAAAA,MAAIM,EACHkB,GAAQ;AAAA,YAAA,IAAA,QAAA;AAAA,qBACAC,EAAG;AAAA,gBAAE,oCAAoCzB,EAAK0B;AAAAA,cAAAA,CAAQ;AAAA,YAAC;AAAA,YAAA,IAC9DzB,WAAQ;AAAA,qBAAED,EAAKC;AAAAA,YAAQ;AAAA,YACvBW,SAASA,MAAMb,EAAYC,CAAI;AAAA,YAAC,IAAAoB,WAAA;AAAA,qBAAA,CAAAd,EAE/BqB,GAAI;AAAA,gBAAA,IAACC,OAAI;AAAA,yBAAE5B,EAAKV;AAAAA,gBAAI;AAAA,gBAAA,IAAA8B,WAAA;AAAA,yBAClBS,EAAA,MAAA,OAAO7B,EAAKV,QAAS,QAAQ,EAAA,IAAAgB,EAAIwB,GAAI;AAAA,oBAAA,IAACC,OAAI;AAAA,6BAAE/B,EAAKV;AAAAA,oBAAI;AAAA,kBAAA,CAAA,IAAQU,EAAKV;AAAAA,gBAAoB;AAAA,cAAA,CAAA,GAAAuC,EAAA,MAExF7B,EAAKgC,KAAK,CAAA;AAAA,YAAA;AAAA,UAAA,CAAA;AAAA,QAAA,CAEd;AAAA,MAAA;AAAA,IAAA,CAAA,CAAA,GAAA,IAAA,GAAAC,EAAA,MAAAC,EAAA/B,GAjCMsB,EAAG,sBAAsBlC,EAAM4C,KAAK,CAAC,CAAA,GAAAhC;AAAAA,EAAA,GAAA;AAsCtD;"}
|
|
@@ -1,18 +1,19 @@
|
|
|
1
1
|
import { use as A, spread as E, mergeProps as L, insert as m, createComponent as _, effect as x, className as y, setAttribute as k, template as w, delegateEvents as z } from "solid-js/web";
|
|
2
|
-
import '../../../assets/styles/less/components/pagination/pagination.entry.css';/* empty css
|
|
2
|
+
import '../../../assets/styles/less/components/pagination/pagination.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
3
4
|
import { mergeProps as F, splitProps as N, For as R, Show as P } from "solid-js";
|
|
4
5
|
import M from "clsx";
|
|
5
6
|
import { mergeRefs as S } from "../../../primitives/mergeRefs.js";
|
|
6
7
|
import { Icon as D } from "../../base/icon/icon.js";
|
|
7
8
|
var H = /* @__PURE__ */ w('<li><button type=button class="smwb-pagination__item smwb-pagination__nav">'), I = /* @__PURE__ */ w("<nav><ul class=smwb-pagination__list>"), q = /* @__PURE__ */ w("<li><button type=button>"), K = /* @__PURE__ */ w("<li class=smwb-pagination__ellipsis aria-hidden=true>…");
|
|
8
|
-
const b = (n,
|
|
9
|
-
length: Math.max(
|
|
10
|
-
}, (e, t) => n + t), O = (n,
|
|
11
|
-
const d = b(1, Math.min(t, n)),
|
|
12
|
-
return [...d, ...h > t + 2 ? ["start-ellipsis"] : t + 1 < n - t ? [t + 1] : [], ...b(h, f), ...f < n - t - 1 ? ["end-ellipsis"] : n - t > t ? [n - t] : [], ...
|
|
9
|
+
const b = (n, p) => Array.from({
|
|
10
|
+
length: Math.max(p - n + 1, 0)
|
|
11
|
+
}, (e, t) => n + t), O = (n, p, e, t) => {
|
|
12
|
+
const d = b(1, Math.min(t, n)), c = b(Math.max(n - t + 1, t + 1), n), h = Math.max(Math.min(p - e, n - t - e * 2 - 1), t + 2), f = Math.min(Math.max(p + e, t + e * 2 + 2), c.length > 0 ? c[0] - 2 : n - 1);
|
|
13
|
+
return [...d, ...h > t + 2 ? ["start-ellipsis"] : t + 1 < n - t ? [t + 1] : [], ...b(h, f), ...f < n - t - 1 ? ["end-ellipsis"] : n - t > t ? [n - t] : [], ...c];
|
|
13
14
|
};
|
|
14
|
-
function
|
|
15
|
-
const
|
|
15
|
+
function W(n) {
|
|
16
|
+
const p = F({
|
|
16
17
|
siblingCount: 1,
|
|
17
18
|
boundaryCount: 1,
|
|
18
19
|
size: "medium",
|
|
@@ -24,9 +25,9 @@ function V(n) {
|
|
|
24
25
|
showLastButton: !1,
|
|
25
26
|
hidePrevButton: !1,
|
|
26
27
|
hideNextButton: !1
|
|
27
|
-
}, n), [e, t] = N(
|
|
28
|
+
}, n), [e, t] = N(p, ["class", "count", "page", "siblingCount", "boundaryCount", "size", "variant", "shape", "color", "disabled", "showFirstButton", "showLastButton", "hidePrevButton", "hideNextButton", "onChange", "ref"]);
|
|
28
29
|
let d;
|
|
29
|
-
const
|
|
30
|
+
const c = (a) => {
|
|
30
31
|
e.disabled || a === e.page || a < 1 || a > e.count || e.onChange?.(a);
|
|
31
32
|
}, h = (a) => {
|
|
32
33
|
if (!["ArrowLeft", "ArrowRight", "Home", "End"].includes(a.key)) return;
|
|
@@ -39,7 +40,7 @@ function V(n) {
|
|
|
39
40
|
when: !s,
|
|
40
41
|
get children() {
|
|
41
42
|
var g = H(), l = g.firstChild;
|
|
42
|
-
return l.$$click = () =>
|
|
43
|
+
return l.$$click = () => c(i), k(l, "aria-label", a), m(l, _(D, {
|
|
43
44
|
name: r,
|
|
44
45
|
get size() {
|
|
45
46
|
return e.size === "small" ? 16 : 18;
|
|
@@ -68,7 +69,7 @@ function V(n) {
|
|
|
68
69
|
},
|
|
69
70
|
get children() {
|
|
70
71
|
var g = q(), l = g.firstChild;
|
|
71
|
-
return l.$$click = () =>
|
|
72
|
+
return l.$$click = () => c(s), m(l, s), x((o) => {
|
|
72
73
|
var v = M("smwb-pagination__item", {
|
|
73
74
|
"smwb-pagination__item_selected": s === e.page
|
|
74
75
|
}), $ = s === e.page ? "page" : void 0, B = e.disabled;
|
|
@@ -85,6 +86,6 @@ function V(n) {
|
|
|
85
86
|
}
|
|
86
87
|
z(["click", "keydown"]);
|
|
87
88
|
export {
|
|
88
|
-
|
|
89
|
+
W as Pagination
|
|
89
90
|
};
|
|
90
91
|
//# sourceMappingURL=pagination.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sources":["../../../../src/components/navigation/pagination/pagination.tsx"],"sourcesContent":["import { type JSX, For, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type PaginationColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface PaginationProps extends Omit<JSX.HTMLAttributes<HTMLElement>, \"onChange\"> {\n /** Total number of pages. */\n count: number;\n /** Current page (1-based). */\n page: number;\n /** Pages shown on each side of the current page. */\n siblingCount?: number;\n /** Pages always shown at the start and end. */\n boundaryCount?: number;\n size?: \"small\" | \"medium\";\n /** Item style. */\n variant?: \"filled\" | \"outlined\";\n /** Item shape. */\n shape?: \"rounded\" | \"circular\";\n color?: PaginationColor;\n disabled?: boolean;\n showFirstButton?: boolean;\n showLastButton?: boolean;\n hidePrevButton?: boolean;\n hideNextButton?: boolean;\n onChange?: (page: number) => void;\n ref?: Ref<HTMLElement>;\n}\n\ntype PaginationItem = number | \"start-ellipsis\" | \"end-ellipsis\";\n\nconst range = (start: number, end: number): number[] =>\n Array.from({ length: Math.max(end - start + 1, 0) }, (_, i) => start + i);\n\nconst buildItems = (count: number, page: number, siblingCount: number, boundaryCount: number): PaginationItem[] => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0]! - 2 : count - 1\n );\n\n return [\n ...startPages,\n ...(siblingsStart > boundaryCount + 2\n ? ([\"start-ellipsis\"] as PaginationItem[])\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n ...range(siblingsStart, siblingsEnd),\n ...(siblingsEnd < count - boundaryCount - 1\n ? ([\"end-ellipsis\"] as PaginationItem[])\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n ...endPages,\n ];\n};\n\nexport function Pagination(props: PaginationProps): JSX.Element {\n const merged = mergeProps(\n {\n siblingCount: 1,\n boundaryCount: 1,\n size: \"medium\" as const,\n variant: \"filled\" as const,\n shape: \"circular\" as const,\n color: \"default\" as PaginationColor,\n disabled: false,\n showFirstButton: false,\n showLastButton: false,\n hidePrevButton: false,\n hideNextButton: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"count\",\n \"page\",\n \"siblingCount\",\n \"boundaryCount\",\n \"size\",\n \"variant\",\n \"shape\",\n \"color\",\n \"disabled\",\n \"showFirstButton\",\n \"showLastButton\",\n \"hidePrevButton\",\n \"hideNextButton\",\n \"onChange\",\n \"ref\",\n ]);\n\n let navEl: HTMLElement | undefined;\n\n const go = (target: number): void => {\n if (local.disabled || target === local.page || target < 1 || target > local.count) return;\n local.onChange?.(target);\n };\n\n const onKeyDown: JSX.EventHandler<HTMLUListElement, KeyboardEvent> = (event) => {\n if (![\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(event.key)) return;\n const buttons = Array.from(\n navEl?.querySelectorAll<HTMLButtonElement>(\"button.smwb-pagination__item:not(:disabled)\") ?? []\n );\n if (buttons.length === 0) return;\n const current = buttons.indexOf(document.activeElement as HTMLButtonElement);\n let next = current;\n if (event.key === \"ArrowRight\") next = Math.min(current + 1, buttons.length - 1);\n else if (event.key === \"ArrowLeft\") next = Math.max(current - 1, 0);\n else if (event.key === \"Home\") next = 0;\n else if (event.key === \"End\") next = buttons.length - 1;\n event.preventDefault();\n buttons[next]?.focus();\n };\n\n const items = (): PaginationItem[] => buildItems(local.count, local.page, local.siblingCount, local.boundaryCount);\n\n const navButton = (label: string, target: number, iconName: string, hidden?: boolean): JSX.Element => (\n <Show when={!hidden}>\n <li>\n <button\n type=\"button\"\n class=\"smwb-pagination__item smwb-pagination__nav\"\n aria-label={label}\n disabled={local.disabled || target < 1 || target > local.count}\n onClick={() => go(target)}\n >\n <Icon name={iconName} size={local.size === \"small\" ? 16 : 18} />\n </button>\n </li>\n </Show>\n );\n\n return (\n <nav\n {...rest}\n ref={mergeRefs(local.ref, (el) => (navEl = el))}\n data-testid=\"pagination\"\n aria-label=\"pagination\"\n class={cn(\n \"smwb-pagination\",\n `smwb-pagination_${local.size}`,\n `smwb-pagination_${local.variant}`,\n `smwb-pagination_shape-${local.shape}`,\n local.color !== \"default\" && `smwb-pagination_color-${local.color}`,\n { \"smwb-pagination_disabled\": local.disabled },\n local.class\n )}\n >\n <ul class=\"smwb-pagination__list\" onKeyDown={onKeyDown}>\n {navButton(\"First page\", 1, \"first_page\", !local.showFirstButton)}\n {navButton(\"Previous page\", local.page - 1, \"chevron_left\", local.hidePrevButton)}\n <For each={items()}>\n {(item) => (\n <Show\n when={typeof item === \"number\"}\n fallback={\n <li class=\"smwb-pagination__ellipsis\" aria-hidden=\"true\">\n …\n </li>\n }\n >\n <li>\n <button\n type=\"button\"\n class={cn(\"smwb-pagination__item\", { \"smwb-pagination__item_selected\": item === local.page })}\n aria-current={item === local.page ? \"page\" : undefined}\n disabled={local.disabled}\n onClick={() => go(item as number)}\n >\n {item}\n </button>\n </li>\n </Show>\n )}\n </For>\n {navButton(\"Next page\", local.page + 1, \"chevron_right\", local.hideNextButton)}\n {navButton(\"Last page\", local.count, \"last_page\", !local.showLastButton)}\n </ul>\n </nav>\n );\n}\n\nexport default Pagination;\n"],"names":["range","start","end","Array","from","length","Math","max","_","i","buildItems","count","page","siblingCount","boundaryCount","startPages","min","endPages","siblingsStart","siblingsEnd","Pagination","props","merged","mergeProps","size","variant","shape","color","disabled","showFirstButton","showLastButton","hidePrevButton","hideNextButton","local","rest","splitProps","navEl","go","target","onChange","onKeyDown","event","includes","key","buttons","querySelectorAll","current","indexOf","document","activeElement","next","preventDefault","focus","items","navButton","label","iconName","hidden","_$createComponent","Show","when","children","_el$","_tmpl$","_el$2","firstChild","$$click","_$setAttribute","_$insert","Icon","name","_$effect","_el$3","_tmpl$2","_el$4","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","cn","class","$$keydown","For","each","item","fallback","_tmpl$4","_el$5","_tmpl$3","_el$6","_p$","_v$","_v$2","undefined","_v$3","e","_$className","t","a","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":["../../../../src/components/navigation/pagination/pagination.tsx"],"sourcesContent":["import { type JSX, For, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type PaginationColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface PaginationProps extends Omit<JSX.HTMLAttributes<HTMLElement>, \"onChange\"> {\n /** Total number of pages. */\n count: number;\n /** Current page (1-based). */\n page: number;\n /** Pages shown on each side of the current page. */\n siblingCount?: number;\n /** Pages always shown at the start and end. */\n boundaryCount?: number;\n size?: \"small\" | \"medium\";\n /** Item style. */\n variant?: \"filled\" | \"outlined\";\n /** Item shape. */\n shape?: \"rounded\" | \"circular\";\n color?: PaginationColor;\n disabled?: boolean;\n showFirstButton?: boolean;\n showLastButton?: boolean;\n hidePrevButton?: boolean;\n hideNextButton?: boolean;\n onChange?: (page: number) => void;\n ref?: Ref<HTMLElement>;\n}\n\ntype PaginationItem = number | \"start-ellipsis\" | \"end-ellipsis\";\n\nconst range = (start: number, end: number): number[] =>\n Array.from({ length: Math.max(end - start + 1, 0) }, (_, i) => start + i);\n\nconst buildItems = (count: number, page: number, siblingCount: number, boundaryCount: number): PaginationItem[] => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0]! - 2 : count - 1\n );\n\n return [\n ...startPages,\n ...(siblingsStart > boundaryCount + 2\n ? ([\"start-ellipsis\"] as PaginationItem[])\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n ...range(siblingsStart, siblingsEnd),\n ...(siblingsEnd < count - boundaryCount - 1\n ? ([\"end-ellipsis\"] as PaginationItem[])\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n ...endPages,\n ];\n};\n\nexport function Pagination(props: PaginationProps): JSX.Element {\n const merged = mergeProps(\n {\n siblingCount: 1,\n boundaryCount: 1,\n size: \"medium\" as const,\n variant: \"filled\" as const,\n shape: \"circular\" as const,\n color: \"default\" as PaginationColor,\n disabled: false,\n showFirstButton: false,\n showLastButton: false,\n hidePrevButton: false,\n hideNextButton: false,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"count\",\n \"page\",\n \"siblingCount\",\n \"boundaryCount\",\n \"size\",\n \"variant\",\n \"shape\",\n \"color\",\n \"disabled\",\n \"showFirstButton\",\n \"showLastButton\",\n \"hidePrevButton\",\n \"hideNextButton\",\n \"onChange\",\n \"ref\",\n ]);\n\n let navEl: HTMLElement | undefined;\n\n const go = (target: number): void => {\n if (local.disabled || target === local.page || target < 1 || target > local.count) return;\n local.onChange?.(target);\n };\n\n const onKeyDown: JSX.EventHandler<HTMLUListElement, KeyboardEvent> = (event) => {\n if (![\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(event.key)) return;\n const buttons = Array.from(\n navEl?.querySelectorAll<HTMLButtonElement>(\"button.smwb-pagination__item:not(:disabled)\") ?? []\n );\n if (buttons.length === 0) return;\n const current = buttons.indexOf(document.activeElement as HTMLButtonElement);\n let next = current;\n if (event.key === \"ArrowRight\") next = Math.min(current + 1, buttons.length - 1);\n else if (event.key === \"ArrowLeft\") next = Math.max(current - 1, 0);\n else if (event.key === \"Home\") next = 0;\n else if (event.key === \"End\") next = buttons.length - 1;\n event.preventDefault();\n buttons[next]?.focus();\n };\n\n const items = (): PaginationItem[] => buildItems(local.count, local.page, local.siblingCount, local.boundaryCount);\n\n const navButton = (label: string, target: number, iconName: string, hidden?: boolean): JSX.Element => (\n <Show when={!hidden}>\n <li>\n <button\n type=\"button\"\n class=\"smwb-pagination__item smwb-pagination__nav\"\n aria-label={label}\n disabled={local.disabled || target < 1 || target > local.count}\n onClick={() => go(target)}\n >\n <Icon name={iconName} size={local.size === \"small\" ? 16 : 18} />\n </button>\n </li>\n </Show>\n );\n\n return (\n <nav\n {...rest}\n ref={mergeRefs(local.ref, (el) => (navEl = el))}\n data-testid=\"pagination\"\n aria-label=\"pagination\"\n class={cn(\n \"smwb-pagination\",\n `smwb-pagination_${local.size}`,\n `smwb-pagination_${local.variant}`,\n `smwb-pagination_shape-${local.shape}`,\n local.color !== \"default\" && `smwb-pagination_color-${local.color}`,\n { \"smwb-pagination_disabled\": local.disabled },\n local.class\n )}\n >\n <ul class=\"smwb-pagination__list\" onKeyDown={onKeyDown}>\n {navButton(\"First page\", 1, \"first_page\", !local.showFirstButton)}\n {navButton(\"Previous page\", local.page - 1, \"chevron_left\", local.hidePrevButton)}\n <For each={items()}>\n {(item) => (\n <Show\n when={typeof item === \"number\"}\n fallback={\n <li class=\"smwb-pagination__ellipsis\" aria-hidden=\"true\">\n …\n </li>\n }\n >\n <li>\n <button\n type=\"button\"\n class={cn(\"smwb-pagination__item\", { \"smwb-pagination__item_selected\": item === local.page })}\n aria-current={item === local.page ? \"page\" : undefined}\n disabled={local.disabled}\n onClick={() => go(item as number)}\n >\n {item}\n </button>\n </li>\n </Show>\n )}\n </For>\n {navButton(\"Next page\", local.page + 1, \"chevron_right\", local.hideNextButton)}\n {navButton(\"Last page\", local.count, \"last_page\", !local.showLastButton)}\n </ul>\n </nav>\n );\n}\n\nexport default Pagination;\n"],"names":["range","start","end","Array","from","length","Math","max","_","i","buildItems","count","page","siblingCount","boundaryCount","startPages","min","endPages","siblingsStart","siblingsEnd","Pagination","props","merged","mergeProps","size","variant","shape","color","disabled","showFirstButton","showLastButton","hidePrevButton","hideNextButton","local","rest","splitProps","navEl","go","target","onChange","onKeyDown","event","includes","key","buttons","querySelectorAll","current","indexOf","document","activeElement","next","preventDefault","focus","items","navButton","label","iconName","hidden","_$createComponent","Show","when","children","_el$","_tmpl$","_el$2","firstChild","$$click","_$setAttribute","_$insert","Icon","name","_$effect","_el$3","_tmpl$2","_el$4","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","cn","class","$$keydown","For","each","item","fallback","_tmpl$4","_el$5","_tmpl$3","_el$6","_p$","_v$","_v$2","undefined","_v$3","e","_$className","t","a","_$delegateEvents"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { use as k, spread as y, mergeProps as A, insert as s, createComponent as n, effect as R, setAttribute as C, template as p, Dynamic as T, delegateEvents as D } from "solid-js/web";
|
|
2
|
-
import '../../../assets/styles/less/components/sidebar/sidebar.entry.css';/* empty css
|
|
2
|
+
import '../../../assets/styles/less/components/sidebar/sidebar.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
3
4
|
import { mergeProps as L, splitProps as I, Show as v, For as S, children as V } from "solid-js";
|
|
4
5
|
import $ from "clsx";
|
|
5
6
|
import { createControllableState as w } from "../../../primitives/createControllableState.js";
|
|
@@ -51,7 +52,7 @@ function x(u) {
|
|
|
51
52
|
}
|
|
52
53
|
}));
|
|
53
54
|
}
|
|
54
|
-
function
|
|
55
|
+
function X(u) {
|
|
55
56
|
const r = L({
|
|
56
57
|
variant: "default",
|
|
57
58
|
defaultActiveItem: null,
|
|
@@ -130,6 +131,6 @@ function W(u) {
|
|
|
130
131
|
}
|
|
131
132
|
D(["click"]);
|
|
132
133
|
export {
|
|
133
|
-
|
|
134
|
+
X as Sidebar
|
|
134
135
|
};
|
|
135
136
|
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../../src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["import { type JSX, For, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SidebarVariant = \"compact\" | \"default\" | \"compactMini\";\n\nexport interface SidebarMenuItemProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: JSX.Element;\n title: string;\n isActive?: boolean;\n onClick?: JSX.EventHandlerUnion<HTMLDivElement, MouseEvent>;\n as?: string | undefined;\n href?: string | undefined;\n variant?: SidebarVariant | undefined;\n}\n\nexport interface SidebarProps extends JSX.HTMLAttributes<HTMLElement> {\n variant?: SidebarVariant;\n menuItems?: SidebarMenuItemProps[];\n /** Controlled index of the active menu item. */\n activeItem?: number | null;\n /** Default active index (uncontrolled). */\n defaultActiveItem?: number | null;\n /** Called with the index of the activated item. */\n onActiveItemChange?: (index: number) => void;\n /** Render a built-in toggle that collapses the rail to an icon-only mini rail. */\n collapsible?: boolean;\n /** Controlled collapsed state. */\n collapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onCollapsedChange?: (collapsed: boolean) => void;\n /** Accessible label for the built-in collapse toggle. */\n collapseToggleAriaLabel?: string;\n ref?: Ref<HTMLElement>;\n}\n\nfunction NavItem(props: SidebarMenuItemProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"isActive\", \"icon\", \"title\", \"as\", \"href\", \"variant\"]);\n let rippleActions: RippleActionsRef | undefined;\n\n // Resolve the icon in THIS item's context. A pre-created element passed via\n // menuItems is keyed at the consumer's position but rendered here, so under\n // SSR the hydration walk can't find it; children() realigns the key sequence.\n const icon = children(() => local.icon);\n\n const onPointerDown = (event: PointerEvent): void => {\n rippleActions?.onRipple(event);\n };\n\n return (\n <Dynamic\n component={local.as ?? \"div\"}\n href={local.href}\n role=\"menuitem\"\n class={cn(\"sidebar__nav__item\", \"smwb-nav-item\", local.variant, { active: local.isActive })}\n onPointerDown={onPointerDown}\n {...rest}\n >\n <Show when={icon()}>\n <span class=\"smwb-nav-item__icon\">{icon()}</span>\n </Show>\n <Show when={local.title}>\n <span class=\"smwb-nav-item__title\">{local.title}</span>\n </Show>\n <Ripple actionRef={(actions) => (rippleActions = actions)} />\n </Dynamic>\n );\n}\n\nexport function Sidebar(props: SidebarProps): JSX.Element {\n const merged = mergeProps(\n {\n variant: \"default\" as SidebarVariant,\n defaultActiveItem: null as number | null,\n collapsible: false,\n defaultCollapsed: false,\n collapseToggleAriaLabel: \"Toggle navigation\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"variant\",\n \"menuItems\",\n \"activeItem\",\n \"defaultActiveItem\",\n \"onActiveItemChange\",\n \"collapsible\",\n \"collapsed\",\n \"defaultCollapsed\",\n \"onCollapsedChange\",\n \"collapseToggleAriaLabel\",\n \"ref\",\n ]);\n\n const [activeItem, setActiveItem] = createControllableState<number | null>({\n value: () => local.activeItem,\n defaultValue: local.defaultActiveItem,\n onChange: (next) => {\n if (next !== null) local.onActiveItemChange?.(next);\n },\n });\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.collapsed,\n defaultValue: local.defaultCollapsed,\n onChange: (next) => local.onCollapsedChange?.(next),\n });\n\n // When collapsed the rail always shows the icon-only mini variant.\n const effectiveVariant = (): SidebarVariant => (local.collapsible && collapsed() ? \"compactMini\" : local.variant);\n\n return (\n <aside\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-sidebar\", local.class, `smwb-${effectiveVariant()}`, {\n \"smwb-sidebar_collapsible\": local.collapsible,\n \"smwb-sidebar_collapsed\": local.collapsible && collapsed(),\n })}\n role=\"menubar\"\n >\n <Show when={local.collapsible}>\n <div class=\"smwb-sidebar__collapse\">\n <button\n type=\"button\"\n class=\"smwb-sidebar__collapse-btn\"\n aria-label={local.collapseToggleAriaLabel}\n aria-expanded={!collapsed()}\n onClick={() => setCollapsed(!collapsed())}\n >\n <Icon name={collapsed() ? \"chevron_right\" : \"chevron_left\"} size={20} />\n </button>\n </div>\n </Show>\n <nav class=\"smwb-sidebar__nav\">\n <For each={local.menuItems ?? []}>\n {(item, idx) => (\n <NavItem\n as={item.as}\n isActive={activeItem() === idx()}\n onClick={(event) => {\n setActiveItem(idx());\n if (typeof item.onClick === \"function\") item.onClick(event);\n }}\n icon={item.icon}\n title={item.title}\n href={item.href}\n variant={effectiveVariant()}\n />\n )}\n </For>\n </nav>\n </aside>\n );\n}\n\nexport default Sidebar;\n"],"names":["NavItem","props","local","rest","splitProps","rippleActions","icon","children","_$createComponent","Dynamic","_$mergeProps","component","as","href","role","cn","variant","active","isActive","onPointerDown","event","onRipple","Show","when","_el$","_tmpl$","_$insert","title","_el$2","_tmpl$2","Ripple","actionRef","actions","Sidebar","merged","mergeProps","defaultActiveItem","collapsible","defaultCollapsed","collapseToggleAriaLabel","activeItem","setActiveItem","createControllableState","value","defaultValue","onChange","next","onActiveItemChange","collapsed","setCollapsed","onCollapsedChange","effectiveVariant","_el$3","_tmpl$4","_el$6","firstChild","_ref$","mergeRefs","ref","_$use","_$spread","class","_el$4","_tmpl$3","_el$5","$$click","Icon","name","size","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","undefined","For","each","menuItems","item","idx","onClick","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"sidebar.js","sources":["../../../../src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["import { type JSX, For, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Ripple, type RippleActionsRef } from \"../../base/ripple\";\nimport { Icon } from \"../../base/icon\";\nimport { createControllableState } from \"../../../primitives/createControllableState\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SidebarVariant = \"compact\" | \"default\" | \"compactMini\";\n\nexport interface SidebarMenuItemProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: JSX.Element;\n title: string;\n isActive?: boolean;\n onClick?: JSX.EventHandlerUnion<HTMLDivElement, MouseEvent>;\n as?: string | undefined;\n href?: string | undefined;\n variant?: SidebarVariant | undefined;\n}\n\nexport interface SidebarProps extends JSX.HTMLAttributes<HTMLElement> {\n variant?: SidebarVariant;\n menuItems?: SidebarMenuItemProps[];\n /** Controlled index of the active menu item. */\n activeItem?: number | null;\n /** Default active index (uncontrolled). */\n defaultActiveItem?: number | null;\n /** Called with the index of the activated item. */\n onActiveItemChange?: (index: number) => void;\n /** Render a built-in toggle that collapses the rail to an icon-only mini rail. */\n collapsible?: boolean;\n /** Controlled collapsed state. */\n collapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onCollapsedChange?: (collapsed: boolean) => void;\n /** Accessible label for the built-in collapse toggle. */\n collapseToggleAriaLabel?: string;\n ref?: Ref<HTMLElement>;\n}\n\nfunction NavItem(props: SidebarMenuItemProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"isActive\", \"icon\", \"title\", \"as\", \"href\", \"variant\"]);\n let rippleActions: RippleActionsRef | undefined;\n\n // Resolve the icon in THIS item's context. A pre-created element passed via\n // menuItems is keyed at the consumer's position but rendered here, so under\n // SSR the hydration walk can't find it; children() realigns the key sequence.\n const icon = children(() => local.icon);\n\n const onPointerDown = (event: PointerEvent): void => {\n rippleActions?.onRipple(event);\n };\n\n return (\n <Dynamic\n component={local.as ?? \"div\"}\n href={local.href}\n role=\"menuitem\"\n class={cn(\"sidebar__nav__item\", \"smwb-nav-item\", local.variant, { active: local.isActive })}\n onPointerDown={onPointerDown}\n {...rest}\n >\n <Show when={icon()}>\n <span class=\"smwb-nav-item__icon\">{icon()}</span>\n </Show>\n <Show when={local.title}>\n <span class=\"smwb-nav-item__title\">{local.title}</span>\n </Show>\n <Ripple actionRef={(actions) => (rippleActions = actions)} />\n </Dynamic>\n );\n}\n\nexport function Sidebar(props: SidebarProps): JSX.Element {\n const merged = mergeProps(\n {\n variant: \"default\" as SidebarVariant,\n defaultActiveItem: null as number | null,\n collapsible: false,\n defaultCollapsed: false,\n collapseToggleAriaLabel: \"Toggle navigation\",\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"variant\",\n \"menuItems\",\n \"activeItem\",\n \"defaultActiveItem\",\n \"onActiveItemChange\",\n \"collapsible\",\n \"collapsed\",\n \"defaultCollapsed\",\n \"onCollapsedChange\",\n \"collapseToggleAriaLabel\",\n \"ref\",\n ]);\n\n const [activeItem, setActiveItem] = createControllableState<number | null>({\n value: () => local.activeItem,\n defaultValue: local.defaultActiveItem,\n onChange: (next) => {\n if (next !== null) local.onActiveItemChange?.(next);\n },\n });\n\n const [collapsed, setCollapsed] = createControllableState<boolean>({\n value: () => local.collapsed,\n defaultValue: local.defaultCollapsed,\n onChange: (next) => local.onCollapsedChange?.(next),\n });\n\n // When collapsed the rail always shows the icon-only mini variant.\n const effectiveVariant = (): SidebarVariant => (local.collapsible && collapsed() ? \"compactMini\" : local.variant);\n\n return (\n <aside\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-sidebar\", local.class, `smwb-${effectiveVariant()}`, {\n \"smwb-sidebar_collapsible\": local.collapsible,\n \"smwb-sidebar_collapsed\": local.collapsible && collapsed(),\n })}\n role=\"menubar\"\n >\n <Show when={local.collapsible}>\n <div class=\"smwb-sidebar__collapse\">\n <button\n type=\"button\"\n class=\"smwb-sidebar__collapse-btn\"\n aria-label={local.collapseToggleAriaLabel}\n aria-expanded={!collapsed()}\n onClick={() => setCollapsed(!collapsed())}\n >\n <Icon name={collapsed() ? \"chevron_right\" : \"chevron_left\"} size={20} />\n </button>\n </div>\n </Show>\n <nav class=\"smwb-sidebar__nav\">\n <For each={local.menuItems ?? []}>\n {(item, idx) => (\n <NavItem\n as={item.as}\n isActive={activeItem() === idx()}\n onClick={(event) => {\n setActiveItem(idx());\n if (typeof item.onClick === \"function\") item.onClick(event);\n }}\n icon={item.icon}\n title={item.title}\n href={item.href}\n variant={effectiveVariant()}\n />\n )}\n </For>\n </nav>\n </aside>\n );\n}\n\nexport default Sidebar;\n"],"names":["NavItem","props","local","rest","splitProps","rippleActions","icon","children","_$createComponent","Dynamic","_$mergeProps","component","as","href","role","cn","variant","active","isActive","onPointerDown","event","onRipple","Show","when","_el$","_tmpl$","_$insert","title","_el$2","_tmpl$2","Ripple","actionRef","actions","Sidebar","merged","mergeProps","defaultActiveItem","collapsible","defaultCollapsed","collapseToggleAriaLabel","activeItem","setActiveItem","createControllableState","value","defaultValue","onChange","next","onActiveItemChange","collapsed","setCollapsed","onCollapsedChange","effectiveVariant","_el$3","_tmpl$4","_el$6","firstChild","_ref$","mergeRefs","ref","_$use","_$spread","class","_el$4","_tmpl$3","_el$5","$$click","Icon","name","size","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","undefined","For","each","menuItems","item","idx","onClick","_$delegateEvents"],"mappings":";;;;;;;;;;AA4CA,SAASA,EAAQC,GAA0C;AACzD,QAAM,CAACC,GAAOC,CAAI,IAAIC,EAAWH,GAAO,CAAC,YAAY,QAAQ,SAAS,MAAM,QAAQ,SAAS,CAAC;AAC9F,MAAII;AAKJ,QAAMC,IAAOC,EAAS,MAAML,EAAMI,IAAI;AAMtC,SAAAE,EACGC,GAAOC,EAAA;AAAA,IAAA,IACNC,YAAS;AAAA,aAAET,EAAMU,MAAM;AAAA,IAAK;AAAA,IAAA,IAC5BC,OAAI;AAAA,aAAEX,EAAMW;AAAAA,IAAI;AAAA,IAChBC,MAAI;AAAA,IAAA,IAAA,QAAA;AAAA,aACGC,EAAG,sBAAsB,iBAAiBb,EAAMc,SAAS;AAAA,QAAEC,QAAQf,EAAMgB;AAAAA,MAAAA,CAAU;AAAA,IAAC;AAAA,IAC3FC,eAVkBA,CAACC,MAA8B;AACnDf,MAAAA,GAAegB,SAASD,CAAK;AAAA,IAC/B;AAAA,EAQID,GACIhB,GAAI;AAAA,IAAA,IAAAI,WAAA;AAAA,aAAA,CAAAC,EAEPc,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAEjB,EAAAA;AAAAA,QAAM;AAAA,QAAA,IAAAC,WAAA;AAAA,cAAAiB,IAAAC,EAAAA;AAAAC,iBAAAA,EAAAF,GACmBlB,CAAI,GAAAkB;AAAAA,QAAA;AAAA,MAAA,CAAA,GAAAhB,EAExCc,GAAI;AAAA,QAAA,IAACC,OAAI;AAAA,iBAAErB,EAAMyB;AAAAA,QAAK;AAAA,QAAA,IAAApB,WAAA;AAAA,cAAAqB,IAAAC,EAAAA;AAAAH,iBAAAA,EAAAE,GAAA,MACe1B,EAAMyB,KAAK,GAAAC;AAAAA,QAAA;AAAA,MAAA,CAAA,GAAApB,EAEhDsB,GAAM;AAAA,QAACC,WAAYC,OAAa3B,IAAgB2B;AAAAA,MAAAA,CAAQ,CAAA;AAAA,IAAA;AAAA,EAAA,CAAA,CAAA;AAG/D;AAEO,SAASC,EAAQhC,GAAkC;AACxD,QAAMiC,IAASC,EACb;AAAA,IACEnB,SAAS;AAAA,IACToB,mBAAmB;AAAA,IACnBC,aAAa;AAAA,IACbC,kBAAkB;AAAA,IAClBC,yBAAyB;AAAA,EAAA,GAE3BtC,CACF,GACM,CAACC,GAAOC,CAAI,IAAIC,EAAW8B,GAAQ,CACvC,SACA,WACA,aACA,cACA,qBACA,sBACA,eACA,aACA,oBACA,qBACA,2BACA,KAAK,CACN,GAEK,CAACM,GAAYC,CAAa,IAAIC,EAAuC;AAAA,IACzEC,OAAOA,MAAMzC,EAAMsC;AAAAA,IACnBI,cAAc1C,EAAMkC;AAAAA,IACpBS,UAAWC,CAAAA,MAAS;AAClB,MAAIA,MAAS,QAAM5C,EAAM6C,qBAAqBD,CAAI;AAAA,IACpD;AAAA,EAAA,CACD,GAEK,CAACE,GAAWC,CAAY,IAAIP,EAAiC;AAAA,IACjEC,OAAOA,MAAMzC,EAAM8C;AAAAA,IACnBJ,cAAc1C,EAAMoC;AAAAA,IACpBO,UAAWC,CAAAA,MAAS5C,EAAMgD,oBAAoBJ,CAAI;AAAA,EAAA,CACnD,GAGKK,IAAmBA,MAAuBjD,EAAMmC,eAAeW,MAAc,gBAAgB9C,EAAMc;AAEzG,UAAA,MAAA;AAAA,QAAAoC,IAAAC,EAAAA,GAAAC,IAAAF,EAAAG,YAAAC,IAGSC,EAAUvD,EAAMwD,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAJ,CAAA,GAAAQ,EAAAR,GAAA1C,EADrBP,GAAI;AAAA,MAAA,IAAA,QAAA;AAAA,eAEDY,EAAG,gBAAgBb,EAAM2D,OAAO,QAAQV,EAAAA,CAAkB,IAAI;AAAA,UACnE,4BAA4BjD,EAAMmC;AAAAA,UAClC,0BAA0BnC,EAAMmC,eAAeW,EAAAA;AAAAA,QAAU,CAC1D;AAAA,MAAC;AAAA,MAAA,MACG;AAAA,IAAA,CAAS,GAAA,IAAA,EAAA,GAAAtB,EAAA0B,GAAA5C,EAEbc,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAErB,EAAMmC;AAAAA,MAAW;AAAA,MAAA,IAAA9B,WAAA;AAAA,YAAAuD,IAAAC,EAAAA,GAAAC,IAAAF,EAAAP;AAAAS,eAAAA,EAAAC,UAOd,MAAMhB,EAAa,CAACD,GAAW,GAACtB,EAAAsC,GAAAxD,EAExC0D,GAAI;AAAA,UAAA,IAACC,OAAI;AAAA,mBAAEnB,EAAAA,IAAc,kBAAkB;AAAA,UAAc;AAAA,UAAEoB,MAAM;AAAA,QAAA,CAAE,CAAA,GAAAC,EAAAC,CAAAA,MAAA;AAAA,cAAAC,IAJxDrE,EAAMqC,yBAAuBiC,IAC1B,CAACxB,EAAAA;AAAWuB,iBAAAA,MAAAD,EAAAG,KAAAC,EAAAV,GAAA,cAAAM,EAAAG,IAAAF,CAAA,GAAAC,MAAAF,EAAAK,KAAAD,EAAAV,GAAA,iBAAAM,EAAAK,IAAAH,CAAA,GAAAF;AAAAA,QAAA,GAAA;AAAA,UAAAG,GAAAG;AAAAA,UAAAD,GAAAC;AAAAA,QAAAA,CAAA,GAAAd;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAAR,CAAA,GAAA5B,EAAA4B,GAAA9C,EAQ9BqE,GAAG;AAAA,MAAA,IAACC,OAAI;AAAA,eAAE5E,EAAM6E,aAAa,CAAA;AAAA,MAAE;AAAA,MAAAxE,UAC7BA,CAACyE,GAAMC,MAAGzE,EACRR,GAAO;AAAA,QAAA,IACNY,KAAE;AAAA,iBAAEoE,EAAKpE;AAAAA,QAAE;AAAA,QAAA,IACXM,WAAQ;AAAA,iBAAEsB,EAAAA,MAAiByC,EAAAA;AAAAA,QAAK;AAAA,QAChCC,SAAU9D,CAAAA,MAAU;AAClBqB,UAAAA,EAAcwC,GAAK,GACf,OAAOD,EAAKE,WAAY,cAAYF,EAAKE,QAAQ9D,CAAK;AAAA,QAC5D;AAAA,QAAC,IACDd,OAAI;AAAA,iBAAE0E,EAAK1E;AAAAA,QAAI;AAAA,QAAA,IACfqB,QAAK;AAAA,iBAAEqD,EAAKrD;AAAAA,QAAK;AAAA,QAAA,IACjBd,OAAI;AAAA,iBAAEmE,EAAKnE;AAAAA,QAAI;AAAA,QAAA,IACfG,UAAO;AAAA,iBAAEmC,EAAAA;AAAAA,QAAkB;AAAA,MAAA,CAAA;AAAA,IAAA,CAE9B,CAAA,GAAAC;AAAAA,EAAA,GAAA;AAKX;AAEuB+B,EAAA,CAAA,OAAA,CAAA;"}
|
|
@@ -2,6 +2,7 @@ import { type JSX } from "solid-js";
|
|
|
2
2
|
import { type Ref } from "../../../primitives/mergeRefs";
|
|
3
3
|
export interface StepItem {
|
|
4
4
|
label: JSX.Element;
|
|
5
|
+
/** Longer text under the label, in every orientation. */
|
|
5
6
|
description?: JSX.Element;
|
|
6
7
|
optional?: JSX.Element;
|
|
7
8
|
/** Marks the step as errored. */
|
|
@@ -11,12 +12,19 @@ export interface StepItem {
|
|
|
11
12
|
/** Custom icon overriding the default number/check. */
|
|
12
13
|
icon?: JSX.Element;
|
|
13
14
|
}
|
|
15
|
+
/**
|
|
16
|
+
* `auto` lays the steps out in a row while the stepper's container is wide
|
|
17
|
+
* enough for them — about 8rem per step, a theme variable — and in a column when
|
|
18
|
+
* it is not. It is a CSS container query, so the server renders the same markup
|
|
19
|
+
* and nothing changes on hydration.
|
|
20
|
+
*/
|
|
21
|
+
export type StepperOrientation = "horizontal" | "vertical" | "auto";
|
|
14
22
|
export interface StepperProps extends JSX.HTMLAttributes<HTMLDivElement> {
|
|
15
23
|
steps: StepItem[];
|
|
16
24
|
/** Index of the active (current) step. */
|
|
17
25
|
activeStep: number;
|
|
18
|
-
orientation?:
|
|
19
|
-
/** Place the label under the icon (horizontal
|
|
26
|
+
orientation?: StepperOrientation;
|
|
27
|
+
/** Place the label under the icon (in a row: horizontal, or auto while wide). */
|
|
20
28
|
alternativeLabel?: boolean;
|
|
21
29
|
/** Makes steps clickable; receives the clicked step index. */
|
|
22
30
|
onStepClick?: (index: number) => void;
|
|
@@ -1,96 +1,112 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import '../../../assets/styles/less/components/stepper/stepper.entry.css';/* empty css
|
|
3
|
-
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import {
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
import { createComponent as n, insert as a, template as o, use as B, spread as D, mergeProps as F, memo as y, addEventListener as L, effect as I, className as N, setAttribute as d, delegateEvents as O } from "solid-js/web";
|
|
2
|
+
import '../../../assets/styles/less/components/stepper/stepper.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { mergeProps as R, splitProps as U, createMemo as X, Show as c, For as j } from "solid-js";
|
|
5
|
+
import P from "clsx";
|
|
6
|
+
import { mergeRefs as q } from "../../../primitives/mergeRefs.js";
|
|
7
|
+
import { Icon as G } from "../../base/icon/icon.js";
|
|
8
|
+
var H = /* @__PURE__ */ o("<div>"), J = /* @__PURE__ */ o("<span class=smwb-stepper__optional>"), K = /* @__PURE__ */ o("<span class=smwb-stepper__description>"), Q = /* @__PURE__ */ o("<div><div class=smwb-stepper__icon aria-hidden=true></div><div class=smwb-stepper__text><span class=smwb-stepper__label>"), V = /* @__PURE__ */ o("<div class=smwb-stepper__connector aria-hidden=true>"), W = /* @__PURE__ */ o("<span>"), Y = /* @__PURE__ */ o("<div class=smwb-stepper-auto>");
|
|
9
|
+
const Z = 12;
|
|
10
|
+
function ne(E) {
|
|
11
|
+
const z = R({
|
|
10
12
|
orientation: "horizontal",
|
|
11
13
|
alternativeLabel: !1
|
|
12
|
-
},
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return typeof _ == "function" && A(_, p), B(p, D(P, {
|
|
14
|
+
}, E), [t, A] = U(z, ["class", "steps", "activeStep", "orientation", "alternativeLabel", "onStepClick", "ref"]), m = X(() => t.steps), _ = () => t.orientation === "auto", u = () => (() => {
|
|
15
|
+
var i = H(), b = q(t.ref);
|
|
16
|
+
return typeof b == "function" && B(b, i), D(i, F(A, {
|
|
16
17
|
"data-testid": "stepper",
|
|
18
|
+
get "data-steps"() {
|
|
19
|
+
return y(() => !!_())() ? String(Math.min(m().length, Z)) : void 0;
|
|
20
|
+
},
|
|
17
21
|
get class() {
|
|
18
|
-
return
|
|
19
|
-
"smwb-stepper_alt-label": t.alternativeLabel && t.orientation
|
|
22
|
+
return P("smwb-stepper", _() ? "smwb-stepper_horizontal smwb-stepper_auto" : `smwb-stepper_${t.orientation}`, {
|
|
23
|
+
"smwb-stepper_alt-label": t.alternativeLabel && t.orientation !== "vertical"
|
|
20
24
|
}, t.class);
|
|
21
25
|
}
|
|
22
|
-
}), !1, !0),
|
|
26
|
+
}), !1, !0), a(i, n(j, {
|
|
23
27
|
get each() {
|
|
24
|
-
return
|
|
28
|
+
return m();
|
|
25
29
|
},
|
|
26
|
-
children: (r,
|
|
27
|
-
const
|
|
30
|
+
children: (r, l) => {
|
|
31
|
+
const w = () => l() < t.activeStep, g = () => l() === t.activeStep, M = () => l() === m().length - 1, p = () => !!t.onStepClick && !r.disabled;
|
|
28
32
|
return [(() => {
|
|
29
|
-
var
|
|
30
|
-
return
|
|
31
|
-
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), t.onStepClick?.(
|
|
32
|
-
} : void 0, !0),
|
|
33
|
+
var s = Q(), h = s.firstChild, v = h.nextSibling, T = v.firstChild;
|
|
34
|
+
return L(s, "keydown", p() ? (e) => {
|
|
35
|
+
(e.key === "Enter" || e.key === " ") && (e.preventDefault(), t.onStepClick?.(l()));
|
|
36
|
+
} : void 0, !0), L(s, "click", p() ? () => t.onStepClick?.(l()) : void 0, !0), a(h, n(c, {
|
|
33
37
|
get when() {
|
|
34
38
|
return r.icon;
|
|
35
39
|
},
|
|
36
40
|
get fallback() {
|
|
37
|
-
return
|
|
41
|
+
return y(() => !!w())() ? n(G, {
|
|
38
42
|
name: "check",
|
|
39
43
|
size: 16
|
|
40
44
|
}) : (() => {
|
|
41
|
-
var e =
|
|
42
|
-
return
|
|
45
|
+
var e = W();
|
|
46
|
+
return a(e, () => l() + 1), e;
|
|
43
47
|
})();
|
|
44
48
|
},
|
|
45
49
|
get children() {
|
|
46
50
|
return r.icon;
|
|
47
51
|
}
|
|
48
|
-
})),
|
|
52
|
+
})), a(T, () => r.label), a(v, n(c, {
|
|
49
53
|
get when() {
|
|
50
54
|
return r.optional;
|
|
51
55
|
},
|
|
52
56
|
get children() {
|
|
53
|
-
var e =
|
|
54
|
-
return
|
|
57
|
+
var e = J();
|
|
58
|
+
return a(e, () => r.optional), e;
|
|
55
59
|
}
|
|
56
|
-
}), null),
|
|
60
|
+
}), null), a(v, n(c, {
|
|
57
61
|
get when() {
|
|
58
|
-
return
|
|
62
|
+
return r.description;
|
|
59
63
|
},
|
|
60
64
|
get children() {
|
|
61
|
-
var e =
|
|
62
|
-
return
|
|
65
|
+
var e = K();
|
|
66
|
+
return a(e, () => r.description), e;
|
|
63
67
|
}
|
|
64
|
-
}), null),
|
|
65
|
-
var
|
|
66
|
-
"smwb-stepper__step_active":
|
|
67
|
-
"smwb-stepper__step_completed":
|
|
68
|
+
}), null), I((e) => {
|
|
69
|
+
var f = P("smwb-stepper__step", {
|
|
70
|
+
"smwb-stepper__step_active": g(),
|
|
71
|
+
"smwb-stepper__step_completed": w(),
|
|
68
72
|
"smwb-stepper__step_error": r.error,
|
|
69
73
|
"smwb-stepper__step_disabled": r.disabled,
|
|
70
|
-
"smwb-stepper__step_clickable":
|
|
71
|
-
}),
|
|
72
|
-
return
|
|
74
|
+
"smwb-stepper__step_clickable": p()
|
|
75
|
+
}), k = g() ? "step" : void 0, $ = r.disabled || void 0, S = p() ? "button" : void 0, C = p() ? 0 : void 0;
|
|
76
|
+
return f !== e.e && N(s, e.e = f), k !== e.t && d(s, "aria-current", e.t = k), $ !== e.a && d(s, "aria-disabled", e.a = $), S !== e.o && d(s, "role", e.o = S), C !== e.i && d(s, "tabindex", e.i = C), e;
|
|
73
77
|
}, {
|
|
74
78
|
e: void 0,
|
|
75
79
|
t: void 0,
|
|
76
80
|
a: void 0,
|
|
77
81
|
o: void 0,
|
|
78
82
|
i: void 0
|
|
79
|
-
}),
|
|
80
|
-
})(),
|
|
83
|
+
}), s;
|
|
84
|
+
})(), n(c, {
|
|
81
85
|
get when() {
|
|
82
|
-
return !
|
|
86
|
+
return !M();
|
|
83
87
|
},
|
|
84
88
|
get children() {
|
|
85
|
-
return
|
|
89
|
+
return V();
|
|
86
90
|
}
|
|
87
91
|
})];
|
|
88
92
|
}
|
|
89
|
-
})),
|
|
93
|
+
})), i;
|
|
90
94
|
})();
|
|
95
|
+
return n(c, {
|
|
96
|
+
get when() {
|
|
97
|
+
return _();
|
|
98
|
+
},
|
|
99
|
+
get fallback() {
|
|
100
|
+
return u();
|
|
101
|
+
},
|
|
102
|
+
get children() {
|
|
103
|
+
var i = Y();
|
|
104
|
+
return a(i, u), i;
|
|
105
|
+
}
|
|
106
|
+
});
|
|
91
107
|
}
|
|
92
|
-
|
|
108
|
+
O(["click", "keydown"]);
|
|
93
109
|
export {
|
|
94
|
-
|
|
110
|
+
ne as Stepper
|
|
95
111
|
};
|
|
96
112
|
//# sourceMappingURL=stepper.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.js","sources":["../../../../src/components/navigation/stepper/stepper.tsx"],"sourcesContent":["import { type JSX, For, Show, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface StepItem {\n label: JSX.Element;\n description?: JSX.Element;\n optional?: JSX.Element;\n /** Marks the step as errored. */\n error?: boolean;\n /** Disables interaction with the step. */\n disabled?: boolean;\n /** Custom icon overriding the default number/check. */\n icon?: JSX.Element;\n}\n\nexport interface StepperProps extends JSX.HTMLAttributes<HTMLDivElement> {\n steps: StepItem[];\n /** Index of the active (current) step. */\n activeStep: number;\n orientation?: \"horizontal\" | \"vertical\";\n /** Place the label under the icon (horizontal only). */\n alternativeLabel?: boolean;\n /** Makes steps clickable; receives the clicked step index. */\n onStepClick?: (index: number) => void;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport function Stepper(props: StepperProps): JSX.Element {\n const merged = mergeProps({ orientation: \"horizontal\" as const, alternativeLabel: false }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"steps\",\n \"activeStep\",\n \"orientation\",\n \"alternativeLabel\",\n \"onStepClick\",\n \"ref\",\n ]);\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"stepper\"\n class={cn(\n \"smwb-stepper\",\n `smwb-stepper_${local.orientation}`,\n { \"smwb-stepper_alt-label\": local.alternativeLabel && local.orientation === \"horizontal\" },\n local.class\n )}\n >\n <For each={local.steps}>\n {(step, index) => {\n const completed = (): boolean => index() < local.activeStep;\n const active = (): boolean => index() === local.activeStep;\n const isLast = (): boolean => index() === local.steps.length - 1;\n const clickable = (): boolean => Boolean(local.onStepClick) && !step.disabled;\n\n return (\n <>\n <div\n class={cn(\"smwb-stepper__step\", {\n \"smwb-stepper__step_active\": active(),\n \"smwb-stepper__step_completed\": completed(),\n \"smwb-stepper__step_error\": step.error,\n \"smwb-stepper__step_disabled\": step.disabled,\n \"smwb-stepper__step_clickable\": clickable(),\n })}\n aria-current={active() ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n role={clickable() ? \"button\" : undefined}\n tabindex={clickable() ? 0 : undefined}\n onClick={clickable() ? () => local.onStepClick?.(index()) : undefined}\n onKeyDown={\n clickable()\n ? (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n local.onStepClick?.(index());\n }\n }\n : undefined\n }\n >\n <div class=\"smwb-stepper__icon\" aria-hidden=\"true\">\n <Show when={step.icon} fallback={completed() ? <Icon name=\"check\" size={16} /> : <span>{index() + 1}</span>}>\n {step.icon}\n </Show>\n </div>\n <div class=\"smwb-stepper__text\">\n <span class=\"smwb-stepper__label\">{step.label}</span>\n <Show when={step.optional}>\n <span class=\"smwb-stepper__optional\">{step.optional}</span>\n </Show>\n <Show when={step.description && local.orientation === \"vertical\"}>\n <span class=\"smwb-stepper__description\">{step.description}</span>\n </Show>\n </div>\n </div>\n <Show when={!isLast()}>\n <div class=\"smwb-stepper__connector\" aria-hidden=\"true\" />\n </Show>\n </>\n );\n }}\n </For>\n </div>\n );\n}\n\nexport default Stepper;\n"],"names":["Stepper","props","merged","mergeProps","orientation","alternativeLabel","local","rest","splitProps","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","_$insert","_$createComponent","For","each","steps","children","step","index","completed","activeStep","active","isLast","length","clickable","Boolean","onStepClick","disabled","_el$2","_tmpl$4","_el$3","firstChild","_el$4","nextSibling","_el$5","_$addEventListener","event","key","preventDefault","undefined","Show","when","icon","fallback","_$memo","Icon","name","size","_el$9","_tmpl$6","label","optional","_el$6","_tmpl$2","description","_el$7","_tmpl$3","_$effect","_p$","_v$","error","_v$2","_v$3","_v$4","_v$5","e","_$className","t","_$setAttribute","a","o","i","_tmpl$5","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"stepper.js","sources":["../../../../src/components/navigation/stepper/stepper.tsx"],"sourcesContent":["import { type JSX, For, Show, createMemo, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { Icon } from \"../../base/icon\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface StepItem {\n label: JSX.Element;\n /** Longer text under the label, in every orientation. */\n description?: JSX.Element;\n optional?: JSX.Element;\n /** Marks the step as errored. */\n error?: boolean;\n /** Disables interaction with the step. */\n disabled?: boolean;\n /** Custom icon overriding the default number/check. */\n icon?: JSX.Element;\n}\n\n/**\n * `auto` lays the steps out in a row while the stepper's container is wide\n * enough for them — about 8rem per step, a theme variable — and in a column when\n * it is not. It is a CSS container query, so the server renders the same markup\n * and nothing changes on hydration.\n */\nexport type StepperOrientation = \"horizontal\" | \"vertical\" | \"auto\";\n\nexport interface StepperProps extends JSX.HTMLAttributes<HTMLDivElement> {\n steps: StepItem[];\n /** Index of the active (current) step. */\n activeStep: number;\n orientation?: StepperOrientation;\n /** Place the label under the icon (in a row: horizontal, or auto while wide). */\n alternativeLabel?: boolean;\n /** Makes steps clickable; receives the clicked step index. */\n onStepClick?: (index: number) => void;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** Step counts with their own `auto` breakpoint; longer steppers use the last one. */\nconst AUTO_MAX_STEPS = 12;\n\nexport function Stepper(props: StepperProps): JSX.Element {\n const merged = mergeProps({ orientation: \"horizontal\" as StepperOrientation, alternativeLabel: false }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"steps\",\n \"activeStep\",\n \"orientation\",\n \"alternativeLabel\",\n \"onStepClick\",\n \"ref\",\n ]);\n\n // Read the steps once. An inline array is re-evaluated on every read, creating\n // the markup in it (icons, labels, descriptions) again; during hydration a copy\n // that is not the rendered one has no server DOM node to adopt.\n const steps = createMemo(() => local.steps);\n const auto = (): boolean => local.orientation === \"auto\";\n\n const stepper = (): JSX.Element => (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid=\"stepper\"\n data-steps={auto() ? String(Math.min(steps().length, AUTO_MAX_STEPS)) : undefined}\n class={cn(\n \"smwb-stepper\",\n auto() ? \"smwb-stepper_horizontal smwb-stepper_auto\" : `smwb-stepper_${local.orientation}`,\n { \"smwb-stepper_alt-label\": local.alternativeLabel && local.orientation !== \"vertical\" },\n local.class\n )}\n >\n <For each={steps()}>\n {(step, index) => {\n const completed = (): boolean => index() < local.activeStep;\n const active = (): boolean => index() === local.activeStep;\n const isLast = (): boolean => index() === steps().length - 1;\n const clickable = (): boolean => Boolean(local.onStepClick) && !step.disabled;\n\n return (\n <>\n <div\n class={cn(\"smwb-stepper__step\", {\n \"smwb-stepper__step_active\": active(),\n \"smwb-stepper__step_completed\": completed(),\n \"smwb-stepper__step_error\": step.error,\n \"smwb-stepper__step_disabled\": step.disabled,\n \"smwb-stepper__step_clickable\": clickable(),\n })}\n aria-current={active() ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n role={clickable() ? \"button\" : undefined}\n tabindex={clickable() ? 0 : undefined}\n onClick={clickable() ? () => local.onStepClick?.(index()) : undefined}\n onKeyDown={\n clickable()\n ? (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n local.onStepClick?.(index());\n }\n }\n : undefined\n }\n >\n <div class=\"smwb-stepper__icon\" aria-hidden=\"true\">\n <Show when={step.icon} fallback={completed() ? <Icon name=\"check\" size={16} /> : <span>{index() + 1}</span>}>\n {step.icon}\n </Show>\n </div>\n <div class=\"smwb-stepper__text\">\n <span class=\"smwb-stepper__label\">{step.label}</span>\n <Show when={step.optional}>\n <span class=\"smwb-stepper__optional\">{step.optional}</span>\n </Show>\n <Show when={step.description}>\n <span class=\"smwb-stepper__description\">{step.description}</span>\n </Show>\n </div>\n </div>\n <Show when={!isLast()}>\n <div class=\"smwb-stepper__connector\" aria-hidden=\"true\" />\n </Show>\n </>\n );\n }}\n </For>\n </div>\n );\n\n // `auto` needs a query container around the stepper: its own flex direction is\n // what the container query switches.\n return (\n <Show when={auto()} fallback={stepper()}>\n <div class=\"smwb-stepper-auto\">{stepper()}</div>\n </Show>\n );\n}\n\nexport default Stepper;\n"],"names":["AUTO_MAX_STEPS","Stepper","props","merged","mergeProps","orientation","alternativeLabel","local","rest","splitProps","steps","createMemo","auto","stepper","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","_$memo","String","Math","min","length","undefined","cn","class","_$insert","_$createComponent","For","each","children","step","index","completed","activeStep","active","isLast","clickable","Boolean","onStepClick","disabled","_el$2","_tmpl$4","_el$3","firstChild","_el$4","nextSibling","_el$5","_$addEventListener","event","key","preventDefault","Show","when","icon","fallback","Icon","name","size","_el$9","_tmpl$6","label","optional","_el$6","_tmpl$2","description","_el$7","_tmpl$3","_$effect","_p$","_v$","error","_v$2","_v$3","_v$4","_v$5","e","_$className","t","_$setAttribute","a","o","i","_tmpl$5","_el$0","_tmpl$7","_$delegateEvents"],"mappings":"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"}
|
|
@@ -7,6 +7,8 @@ export interface TabProps extends JSX.HTMLAttributes<HTMLButtonElement | HTMLAnc
|
|
|
7
7
|
icon?: JSX.Element;
|
|
8
8
|
stacked?: boolean;
|
|
9
9
|
tag?: string;
|
|
10
|
+
/** With `tag="a"`: where the link goes, so the tab stays a real link. */
|
|
11
|
+
href?: string;
|
|
10
12
|
disabled?: boolean;
|
|
11
13
|
ref?: Ref<HTMLButtonElement | HTMLAnchorElement>;
|
|
12
14
|
}
|