@smwb/ui-solid 0.11.2 → 0.12.1
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/primitives/createCssTransition.js +31 -28
- package/dist/headless/primitives/createCssTransition.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/headless/source/primitives/createCssTransition.js +10 -1
- package/dist/headless/source/primitives/createCssTransition.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/primitives/createCssTransition.d.ts +6 -0
- package/dist/primitives/createCssTransition.js +31 -28
- package/dist/primitives/createCssTransition.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/dist/source/primitives/createCssTransition.js +10 -1
- package/dist/source/primitives/createCssTransition.js.map +2 -2
- package/package.json +79 -8
|
@@ -1,26 +1,27 @@
|
|
|
1
|
-
import { createComponent as i, addEventListener as Y, use as
|
|
2
|
-
import '../../../assets/styles/less/components/selectField/selectField.entry.css';/* empty css
|
|
3
|
-
|
|
4
|
-
import
|
|
1
|
+
import { createComponent as i, addEventListener as Y, use as A, insert as m, effect as L, memo as k, setAttribute as v, className as Z, template as M, delegateEvents as ee } from "solid-js/web";
|
|
2
|
+
import '../../../assets/styles/less/components/selectField/selectField.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { splitProps as te, createSignal as $, createMemo as re, createEffect as V, Show as x, For as ne } from "solid-js";
|
|
5
|
+
import y from "clsx";
|
|
5
6
|
import { DropdownMenu as le } from "./dropdownMenu.js";
|
|
6
|
-
import { mergeRefs as
|
|
7
|
-
import { TextFieldWrapper as
|
|
7
|
+
import { mergeRefs as se } from "../../../primitives/mergeRefs.js";
|
|
8
|
+
import { TextFieldWrapper as ae } from "../textField/textFieldWrapper.js";
|
|
8
9
|
import { Chip as ie } from "../../dataDisplay/chip/chip.js";
|
|
9
|
-
import { Icon as
|
|
10
|
-
var
|
|
11
|
-
function
|
|
10
|
+
import { Icon as H } from "../../base/icon/icon.js";
|
|
11
|
+
var R = /* @__PURE__ */ M("<span class=smwb-select-field__values>"), oe = /* @__PURE__ */ M("<span class=smwb-select-field__search><span class=smwb-select-field__search-text></span><input class=smwb-select-field__search-input type=text data-testid=search-input>"), ue = /* @__PURE__ */ M("<span role=button aria-haspopup=listbox data-testid=select-field><span class=smwb-select-field__search-wrapper></span><span class=smwb-select-field__actions>");
|
|
12
|
+
function W(p) {
|
|
12
13
|
p.preventDefault(), p.stopPropagation();
|
|
13
14
|
}
|
|
14
|
-
function
|
|
15
|
-
const [e] = te(p, ["class", "value", "defaultValue", "onChange", "disabled", "readOnly", "name", "multiple", "menuMaxHeight", "menuMiddleware", "menuNoItemsMessage", "menuContainer", "search", "chips", "isFocused", "error", "items", "label", "variant", "fullWidth", "helperText", "onSearch", "resetSearch", "isLoading", "inline", "endAdornment", "hideSelectArrowIcon", "optionRenderer", "clearable", "creatable", "onCreate", "virtualized", "itemHeight", "aria-label", "id", "ref"]), I = () => e.variant ?? "outlined", [o, f] =
|
|
15
|
+
function _e(p) {
|
|
16
|
+
const [e] = te(p, ["class", "value", "defaultValue", "onChange", "disabled", "readOnly", "name", "multiple", "menuMaxHeight", "menuMiddleware", "menuNoItemsMessage", "menuContainer", "search", "chips", "isFocused", "error", "items", "label", "variant", "size", "fullWidth", "helperText", "onSearch", "resetSearch", "isLoading", "inline", "endAdornment", "hideSelectArrowIcon", "optionRenderer", "clearable", "creatable", "onCreate", "virtualized", "itemHeight", "aria-label", "id", "ref"]), I = () => e.variant ?? "outlined", [o, f] = $(!1), [T, N] = $(e.defaultValue), [h, b] = $(""), P = e.value != null;
|
|
16
17
|
let g, w, D;
|
|
17
|
-
const u = () => P ? e.value :
|
|
18
|
+
const u = () => P ? e.value : T(), C = () => !!e.isFocused || o(), _ = re(() => {
|
|
18
19
|
const t = u();
|
|
19
20
|
if (Array.isArray(t)) return e.items.filter((l) => t.includes(l.value));
|
|
20
21
|
if (t == null || t === "") return [];
|
|
21
22
|
const n = e.items.find((l) => l.value === t);
|
|
22
23
|
return n ? [n] : [];
|
|
23
|
-
}),
|
|
24
|
+
}), S = (t, n) => {
|
|
24
25
|
e.onChange?.(t, {
|
|
25
26
|
...p,
|
|
26
27
|
value: n,
|
|
@@ -35,9 +36,9 @@ function we(p) {
|
|
|
35
36
|
}, U = (t) => {
|
|
36
37
|
!e.readOnly && [" ", "ArrowUp", "ArrowDown", "Enter"].includes(t.key) && (t.preventDefault(), f(!o()));
|
|
37
38
|
};
|
|
38
|
-
|
|
39
|
-
(!
|
|
40
|
-
}),
|
|
39
|
+
V(() => {
|
|
40
|
+
(!C() || e.search === "menu" && !o()) && (b(""), e.resetSearch?.());
|
|
41
|
+
}), V(() => {
|
|
41
42
|
u(), w && (w.scrollLeft = w.scrollWidth);
|
|
42
43
|
});
|
|
43
44
|
const q = (t, n) => {
|
|
@@ -45,18 +46,18 @@ function we(p) {
|
|
|
45
46
|
if (e.multiple) {
|
|
46
47
|
const c = u();
|
|
47
48
|
l = (Array.isArray(c) ? c : [c].filter(Boolean)).slice();
|
|
48
|
-
const
|
|
49
|
-
|
|
49
|
+
const s = l.findIndex((a) => a === n.value);
|
|
50
|
+
s === -1 ? l.push(n.value) : l.splice(s, 1);
|
|
50
51
|
} else
|
|
51
52
|
l = u() === n.value ? "" : n.value;
|
|
52
|
-
h() && b(""), e.multiple || (f(!1), g?.focus()),
|
|
53
|
-
},
|
|
53
|
+
h() && b(""), e.multiple || (f(!1), g?.focus()), S(t, l);
|
|
54
|
+
}, z = (t) => {
|
|
54
55
|
b(t.currentTarget.value), e.onSearch?.(t), o() || f(!0);
|
|
55
56
|
}, G = (t) => (n) => {
|
|
56
57
|
const l = u();
|
|
57
|
-
Array.isArray(l) &&
|
|
58
|
+
Array.isArray(l) && S(n, l.filter((c) => t !== c));
|
|
58
59
|
}, J = (t) => {
|
|
59
|
-
|
|
60
|
+
S(t, []);
|
|
60
61
|
}, Q = () => {
|
|
61
62
|
if (e.onSearch) return e.items;
|
|
62
63
|
const t = h();
|
|
@@ -71,7 +72,7 @@ function we(p) {
|
|
|
71
72
|
}
|
|
72
73
|
};
|
|
73
74
|
};
|
|
74
|
-
return [i(
|
|
75
|
+
return [i(ae, {
|
|
75
76
|
get label() {
|
|
76
77
|
return e.label;
|
|
77
78
|
},
|
|
@@ -85,7 +86,7 @@ function we(p) {
|
|
|
85
86
|
return e.disabled;
|
|
86
87
|
},
|
|
87
88
|
get class() {
|
|
88
|
-
return e.class;
|
|
89
|
+
return y(e.class, e.size && e.size !== "medium" && `smwb-text-field_size-${e.size}`);
|
|
89
90
|
},
|
|
90
91
|
get error() {
|
|
91
92
|
return e.error;
|
|
@@ -97,7 +98,7 @@ function we(p) {
|
|
|
97
98
|
return !!_().length || !!h();
|
|
98
99
|
},
|
|
99
100
|
get isFocused() {
|
|
100
|
-
return
|
|
101
|
+
return C();
|
|
101
102
|
},
|
|
102
103
|
get inline() {
|
|
103
104
|
return e.inline;
|
|
@@ -105,56 +106,59 @@ function we(p) {
|
|
|
105
106
|
get children() {
|
|
106
107
|
var t = ue(), n = t.firstChild, l = n.nextSibling;
|
|
107
108
|
t.$$keydown = U, t.addEventListener("focus", K), Y(t, "mousedown", e.disabled || e.readOnly ? void 0 : j, !0);
|
|
108
|
-
var c =
|
|
109
|
-
return typeof c == "function" &&
|
|
109
|
+
var c = se(e.ref, (r) => g = r);
|
|
110
|
+
return typeof c == "function" && A(c, t), A((r) => w = r, n), m(n, i(x, {
|
|
110
111
|
get when() {
|
|
111
112
|
return e.chips;
|
|
112
113
|
},
|
|
113
114
|
get fallback() {
|
|
114
115
|
return (() => {
|
|
115
|
-
var r =
|
|
116
|
-
return m(r, () => _().map((
|
|
116
|
+
var r = R();
|
|
117
|
+
return m(r, () => _().map((s) => s.text).join(", ")), r;
|
|
117
118
|
})();
|
|
118
119
|
},
|
|
119
120
|
get children() {
|
|
120
|
-
var r =
|
|
121
|
+
var r = R();
|
|
121
122
|
return m(r, i(ne, {
|
|
122
123
|
get each() {
|
|
123
124
|
return _();
|
|
124
125
|
},
|
|
125
|
-
children: (
|
|
126
|
+
children: (s) => i(ie, {
|
|
126
127
|
get label() {
|
|
127
|
-
return
|
|
128
|
+
return s.text;
|
|
129
|
+
},
|
|
130
|
+
get size() {
|
|
131
|
+
return e.size === "small" ? "small" : "medium";
|
|
128
132
|
},
|
|
129
133
|
get onDelete() {
|
|
130
|
-
return G(
|
|
134
|
+
return G(s.value);
|
|
131
135
|
},
|
|
132
|
-
onDeleteMouseDown:
|
|
136
|
+
onDeleteMouseDown: W
|
|
133
137
|
})
|
|
134
138
|
})), r;
|
|
135
139
|
}
|
|
136
140
|
}), null), m(n, i(x, {
|
|
137
141
|
get when() {
|
|
138
|
-
return
|
|
142
|
+
return k(() => !!(e.search && typeof e.search == "boolean"))() && !e.readOnly;
|
|
139
143
|
},
|
|
140
144
|
get children() {
|
|
141
|
-
var r = oe(),
|
|
142
|
-
return m(
|
|
145
|
+
var r = oe(), s = r.firstChild, a = s.nextSibling;
|
|
146
|
+
return m(s, h), a.$$keydown = (d) => d.stopPropagation(), a.$$mousedown = (d) => {
|
|
143
147
|
d.stopPropagation(), f(!0);
|
|
144
|
-
},
|
|
148
|
+
}, a.$$input = z, A((d) => D = d, a), L(() => a.value = h()), r;
|
|
145
149
|
}
|
|
146
150
|
}), null), m(l, i(x, {
|
|
147
151
|
get when() {
|
|
148
|
-
return
|
|
152
|
+
return k(() => !!(Array.isArray(u()) && u().length > 0 || e.clearable && _().length > 0))() && !e.disabled;
|
|
149
153
|
},
|
|
150
154
|
get children() {
|
|
151
|
-
return i(
|
|
155
|
+
return i(H, {
|
|
152
156
|
name: "close",
|
|
153
157
|
size: 20,
|
|
154
158
|
onClick: J,
|
|
155
|
-
onMouseDown:
|
|
159
|
+
onMouseDown: W,
|
|
156
160
|
get class() {
|
|
157
|
-
return
|
|
161
|
+
return y("smwb-select-field__icon", "smwb-select-field__icon--close");
|
|
158
162
|
},
|
|
159
163
|
"aria-label": "Clear selection",
|
|
160
164
|
role: "button"
|
|
@@ -165,25 +169,25 @@ function we(p) {
|
|
|
165
169
|
return !e.hideSelectArrowIcon;
|
|
166
170
|
},
|
|
167
171
|
get children() {
|
|
168
|
-
return i(
|
|
172
|
+
return i(H, {
|
|
169
173
|
name: "arrow_drop_down",
|
|
170
174
|
get class() {
|
|
171
|
-
return
|
|
175
|
+
return y("smwb-select-field__icon", "smwb-select-field__icon--arrow", {
|
|
172
176
|
"smwb-select-field__icon--opened": o(),
|
|
173
|
-
"smwb-select-field__icon--focused":
|
|
177
|
+
"smwb-select-field__icon--focused": C(),
|
|
174
178
|
"smwb-select-field__icon--error": e.error
|
|
175
179
|
});
|
|
176
180
|
}
|
|
177
181
|
});
|
|
178
182
|
}
|
|
179
|
-
}), null),
|
|
180
|
-
var
|
|
183
|
+
}), null), L((r) => {
|
|
184
|
+
var s = e.id, a = y("smwb-select-field", e.class, {
|
|
181
185
|
"smwb-select-field--filled": I() === "filled" && e.label,
|
|
182
186
|
"smwb-select-field--disabled": e.disabled,
|
|
183
187
|
"smwb-select-field--search": e.search,
|
|
184
188
|
"smwb-select-field--inline": e.inline
|
|
185
|
-
}), d = e.disabled ? void 0 : 0,
|
|
186
|
-
return
|
|
189
|
+
}), d = e.disabled ? void 0 : 0, E = o(), F = e.disabled || void 0, O = e["aria-label"];
|
|
190
|
+
return s !== r.e && v(t, "id", r.e = s), a !== r.t && Z(t, r.t = a), d !== r.a && v(t, "tabindex", r.a = d), E !== r.o && v(t, "aria-expanded", r.o = E), F !== r.i && v(t, "aria-disabled", r.i = F), O !== r.n && v(t, "aria-label", r.n = O), r;
|
|
187
191
|
}, {
|
|
188
192
|
e: void 0,
|
|
189
193
|
t: void 0,
|
|
@@ -204,7 +208,7 @@ function we(p) {
|
|
|
204
208
|
get search() {
|
|
205
209
|
return e.search === "menu";
|
|
206
210
|
},
|
|
207
|
-
onSearchInputChange:
|
|
211
|
+
onSearchInputChange: z,
|
|
208
212
|
get optionRenderer() {
|
|
209
213
|
return e.optionRenderer;
|
|
210
214
|
},
|
|
@@ -244,6 +248,6 @@ function we(p) {
|
|
|
244
248
|
}
|
|
245
249
|
ee(["mousedown", "keydown", "input"]);
|
|
246
250
|
export {
|
|
247
|
-
|
|
251
|
+
_e as SelectField
|
|
248
252
|
};
|
|
249
253
|
//# sourceMappingURL=selectField.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"selectField.js","sources":["../../../../src/components/inputs/selectField/selectField.tsx"],"sourcesContent":["import { type JSX, For, Show, createEffect, createMemo, createSignal, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { DropdownMenu, type DropdownItem, type DropdownItemProps } from \"./dropdownMenu\";\nimport { Chip } from \"../../dataDisplay/chip\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { Icon } from \"../../base/icon\";\nimport type { MenuItemProps } from \"../../navigation/menu\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\ntype SelectEvent = Event & { currentTarget: Element; target: Element };\ntype SearchEvent = Event & { currentTarget: HTMLInputElement };\ntype SelectValue = null | string | number | (string | number | undefined | null)[];\n\nexport type OnSelectChange = (e: SelectEvent, data: SelectFieldProps) => void;\n\nexport interface SelectFieldProps {\n class?: string;\n value?: SelectValue | undefined;\n defaultValue?: null | string | number | (string | number)[];\n onChange?: OnSelectChange;\n disabled?: boolean;\n readOnly?: boolean;\n name?: string | undefined;\n multiple?: boolean;\n menuMaxHeight?: number;\n menuMiddleware?: DropdownItemProps[\"menuMiddleware\"];\n menuNoItemsMessage?: JSX.Element;\n menuContainer?: HTMLElement;\n search?: true | false | \"menu\";\n chips?: boolean;\n isFocused?: boolean;\n error?: boolean;\n items: DropdownItem[];\n label?: string;\n variant?: \"outlined\" | \"filled\";\n fullWidth?: boolean;\n helperText?: JSX.Element;\n onSearch?: (e: SearchEvent) => void;\n isLoading?: boolean;\n resetSearch?: () => void;\n inline?: boolean;\n endAdornment?: JSX.Element;\n hideSelectArrowIcon?: boolean;\n optionRenderer?: (args: MenuItemProps) => JSX.Element;\n clearable?: boolean;\n creatable?: boolean;\n onCreate?: (inputValue: string, event: SelectEvent) => void;\n virtualized?: boolean;\n itemHeight?: number;\n \"aria-label\"?: string;\n id?: string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nexport function SelectField(props: SelectFieldProps): JSX.Element {\n const [local] = splitProps(props, [\n \"class\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"disabled\",\n \"readOnly\",\n \"name\",\n \"multiple\",\n \"menuMaxHeight\",\n \"menuMiddleware\",\n \"menuNoItemsMessage\",\n \"menuContainer\",\n \"search\",\n \"chips\",\n \"isFocused\",\n \"error\",\n \"items\",\n \"label\",\n \"variant\",\n \"fullWidth\",\n \"helperText\",\n \"onSearch\",\n \"resetSearch\",\n \"isLoading\",\n \"inline\",\n \"endAdornment\",\n \"hideSelectArrowIcon\",\n \"optionRenderer\",\n \"clearable\",\n \"creatable\",\n \"onCreate\",\n \"virtualized\",\n \"itemHeight\",\n \"aria-label\",\n \"id\",\n \"ref\",\n ]);\n\n const variant = (): \"outlined\" | \"filled\" => local.variant ?? \"outlined\";\n const [isOpen, setIsOpen] = createSignal(false);\n const [valueState, setValueState] = createSignal<SelectValue | undefined>(local.defaultValue);\n const [searchValue, setSearchValue] = createSignal(\"\");\n\n const isControlled = local.value != null;\n let anchorEl: HTMLSpanElement | undefined;\n let searchWrapperEl: HTMLSpanElement | undefined;\n let searchInputEl: HTMLInputElement | undefined;\n\n const value = (): SelectValue | undefined => (isControlled ? local.value : valueState());\n const isFocused = (): boolean => !!local.isFocused || isOpen();\n\n // Selection is derived from the current value — no effect-driven sync.\n const selectedItems = createMemo<DropdownItem[]>(() => {\n const v = value();\n if (Array.isArray(v)) return local.items.filter((item) => v.includes(item.value));\n if (v === undefined || v === null || v === \"\") return [];\n const item = local.items.find((i) => i.value === v);\n return item ? [item] : [];\n });\n\n const updateValue = (event: SelectEvent, next: SelectValue | undefined): void => {\n local.onChange?.(event, { ...props, value: next, name: local.name || undefined });\n setValueState(next);\n };\n\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (event.button !== 0) return;\n event.preventDefault();\n anchorEl?.focus();\n setIsOpen(!isOpen());\n };\n\n const onClose = (): void => {\n setIsOpen(false);\n anchorEl?.focus();\n };\n\n const onFocus = (): void => {\n if (local.search === true) searchInputEl?.focus();\n };\n\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!local.readOnly && [\" \", \"ArrowUp\", \"ArrowDown\", \"Enter\"].includes(event.key)) {\n event.preventDefault();\n setIsOpen(!isOpen());\n }\n };\n\n // Reset search text when the field loses focus / menu closes.\n createEffect(() => {\n if (!isFocused() || (local.search === \"menu\" && !isOpen())) {\n setSearchValue(\"\");\n local.resetSearch?.();\n }\n });\n\n // Keep the multi-value scroller pinned to the end.\n createEffect(() => {\n value();\n if (searchWrapperEl) searchWrapperEl.scrollLeft = searchWrapperEl.scrollWidth;\n });\n\n const onItemClick = (event: SelectEvent, item: DropdownItem): void => {\n let next: SelectValue | undefined;\n if (local.multiple) {\n const current = value();\n const valueArray = (Array.isArray(current) ? current : [current].filter(Boolean)) as Array<string | number | undefined | null>;\n next = valueArray.slice();\n const idx = next.findIndex((el) => el === item.value);\n if (idx === -1) next.push(item.value);\n else next.splice(idx, 1);\n } else {\n next = value() === item.value ? \"\" : item.value;\n }\n if (searchValue()) setSearchValue(\"\");\n if (!local.multiple) {\n setIsOpen(false);\n anchorEl?.focus();\n }\n updateValue(event, next);\n };\n\n const onSearchInputChange = (event: SearchEvent): void => {\n setSearchValue(event.currentTarget.value);\n local.onSearch?.(event);\n if (!isOpen()) setIsOpen(true);\n };\n\n const onDeleteChip = (currentValue: string | number | undefined | null) => (event: SelectEvent): void => {\n const current = value();\n if (Array.isArray(current)) {\n updateValue(event, current.filter((v) => currentValue !== v));\n }\n };\n\n const onResetSelected: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n updateValue(event, []);\n };\n\n const filteredItems = (): DropdownItem[] => {\n if (local.onSearch) return local.items;\n const sv = searchValue();\n if (sv) return local.items.filter((el) => el.text.search(new RegExp(sv, \"i\")) !== -1);\n return local.items;\n };\n\n const createOption = (): DropdownItemProps[\"createOption\"] => {\n const sv = searchValue();\n if (local.creatable && sv && !local.items.some((i) => i.text.toLowerCase() === sv.toLowerCase())) {\n return {\n text: `Создать \"${sv}\"`,\n onCreate: (event) => {\n local.onCreate?.(sv, event);\n setSearchValue(\"\");\n setIsOpen(false);\n },\n };\n }\n return undefined;\n };\n\n return (\n <>\n <TextFieldWrapper\n label={local.label}\n helperText={local.helperText}\n variant={variant()}\n disabled={local.disabled}\n class={local.class}\n error={local.error}\n fullWidth={local.fullWidth}\n isFilledState={!!selectedItems().length || !!searchValue()}\n isFocused={isFocused()}\n inline={local.inline}\n >\n <span\n ref={mergeRefs(local.ref, (el) => (anchorEl = el as HTMLSpanElement))}\n id={local.id}\n class={cn(\"smwb-select-field\", local.class, {\n \"smwb-select-field--filled\": variant() === \"filled\" && local.label,\n \"smwb-select-field--disabled\": local.disabled,\n \"smwb-select-field--search\": local.search,\n \"smwb-select-field--inline\": local.inline,\n })}\n tabindex={local.disabled ? undefined : 0}\n role=\"button\"\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen()}\n aria-disabled={local.disabled || undefined}\n aria-label={local[\"aria-label\"]}\n onMouseDown={local.disabled || local.readOnly ? undefined : onMouseDown}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n data-testid=\"select-field\"\n >\n <span class=\"smwb-select-field__search-wrapper\" ref={(el) => (searchWrapperEl = el)}>\n <Show\n when={local.chips}\n fallback={<span class=\"smwb-select-field__values\">{selectedItems().map((el) => el.text).join(\", \")}</span>}\n >\n <span class=\"smwb-select-field__values\">\n <For each={selectedItems()}>\n {(item) => (\n <Chip label={item.text} onDelete={onDeleteChip(item.value)} onDeleteMouseDown={stopEvent} />\n )}\n </For>\n </span>\n </Show>\n <Show when={local.search && typeof local.search === \"boolean\" && !local.readOnly}>\n <span class=\"smwb-select-field__search\">\n <span class=\"smwb-select-field__search-text\">{searchValue()}</span>\n <input\n class=\"smwb-select-field__search-input\"\n ref={(el) => (searchInputEl = el)}\n type=\"text\"\n value={searchValue()}\n onInput={onSearchInputChange}\n onMouseDown={(event) => {\n event.stopPropagation();\n setIsOpen(true);\n }}\n onKeyDown={(event) => event.stopPropagation()}\n data-testid=\"search-input\"\n />\n </span>\n </Show>\n </span>\n <span class=\"smwb-select-field__actions\">\n <Show\n when={\n ((Array.isArray(value()) && (value() as unknown[]).length > 0) ||\n (local.clearable && selectedItems().length > 0)) &&\n !local.disabled\n }\n >\n <Icon\n name=\"close\"\n size={20}\n onClick={onResetSelected}\n onMouseDown={stopEvent}\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--close\")}\n aria-label=\"Clear selection\"\n role=\"button\"\n />\n </Show>\n {local.endAdornment}\n <Show when={!local.hideSelectArrowIcon}>\n <Icon\n name=\"arrow_drop_down\"\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--arrow\", {\n \"smwb-select-field__icon--opened\": isOpen(),\n \"smwb-select-field__icon--focused\": isFocused(),\n \"smwb-select-field__icon--error\": local.error,\n })}\n />\n </Show>\n </span>\n </span>\n </TextFieldWrapper>\n <DropdownMenu\n anchorElement={() => anchorEl ?? null}\n menuMaxHeight={local.menuMaxHeight}\n menuMiddleware={local.menuMiddleware}\n search={local.search === \"menu\"}\n onSearchInputChange={onSearchInputChange}\n optionRenderer={local.optionRenderer}\n items={filteredItems()}\n searchValue={searchValue()}\n isOpen={isOpen()}\n onClose={onClose}\n onItemClick={onItemClick}\n value={value()}\n isLoading={local.isLoading}\n menuNoItemsMessage={local.menuNoItemsMessage}\n container={local.menuContainer}\n virtualized={local.virtualized}\n itemHeight={local.itemHeight}\n createOption={createOption()}\n />\n </>\n );\n}\n\nexport default SelectField;\n"],"names":["stopEvent","event","preventDefault","stopPropagation","SelectField","props","local","splitProps","variant","isOpen","setIsOpen","createSignal","valueState","setValueState","defaultValue","searchValue","setSearchValue","isControlled","value","anchorEl","searchWrapperEl","searchInputEl","isFocused","selectedItems","createMemo","v","Array","isArray","items","filter","item","includes","find","i","updateValue","next","onChange","name","undefined","onMouseDown","button","focus","onClose","onFocus","search","onKeyDown","readOnly","key","createEffect","resetSearch","scrollLeft","scrollWidth","onItemClick","multiple","current","Boolean","slice","idx","findIndex","el","push","splice","onSearchInputChange","currentTarget","onSearch","onDeleteChip","currentValue","onResetSelected","filteredItems","sv","text","RegExp","createOption","creatable","some","toLowerCase","onCreate","_$createComponent","TextFieldWrapper","label","helperText","disabled","class","error","fullWidth","isFilledState","length","inline","children","_el$","_tmpl$3","_el$2","firstChild","_el$7","nextSibling","$$keydown","addEventListener","_$addEventListener","_ref$","mergeRefs","ref","_$use","_$insert","Show","when","chips","fallback","_el$8","_tmpl$","map","join","_el$3","For","each","Chip","onDelete","onDeleteMouseDown","_$memo","_el$4","_tmpl$2","_el$5","_el$6","$$mousedown","$$input","_$effect","clearable","Icon","size","onClick","cn","role","endAdornment","hideSelectArrowIcon","_p$","_v$","id","_v$2","_v$3","_v$4","_v$5","_v$6","e","_$setAttribute","t","_$className","a","o","n","DropdownMenu","anchorElement","menuMaxHeight","menuMiddleware","optionRenderer","isLoading","menuNoItemsMessage","container","menuContainer","virtualized","itemHeight","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"selectField.js","sources":["../../../../src/components/inputs/selectField/selectField.tsx"],"sourcesContent":["import { type JSX, For, Show, createEffect, createMemo, createSignal, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { DropdownMenu, type DropdownItem, type DropdownItemProps } from \"./dropdownMenu\";\nimport { Chip } from \"../../dataDisplay/chip\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { Icon } from \"../../base/icon\";\nimport type { MenuItemProps } from \"../../navigation/menu\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\ntype SelectEvent = Event & { currentTarget: Element; target: Element };\ntype SearchEvent = Event & { currentTarget: HTMLInputElement };\ntype SelectValue = null | string | number | (string | number | undefined | null)[];\n\nexport type OnSelectChange = (e: SelectEvent, data: SelectFieldProps) => void;\n\nexport interface SelectFieldProps {\n class?: string;\n value?: SelectValue | undefined;\n defaultValue?: null | string | number | (string | number)[];\n onChange?: OnSelectChange;\n disabled?: boolean;\n readOnly?: boolean;\n name?: string | undefined;\n multiple?: boolean;\n menuMaxHeight?: number;\n menuMiddleware?: DropdownItemProps[\"menuMiddleware\"];\n menuNoItemsMessage?: JSX.Element;\n menuContainer?: HTMLElement;\n search?: true | false | \"menu\";\n chips?: boolean;\n isFocused?: boolean;\n error?: boolean;\n items: DropdownItem[];\n label?: string;\n variant?: \"outlined\" | \"filled\";\n /** Height of the field, as for TextField: `small` (40px, for toolbars), `medium` (default) or `large`. */\n size?: \"small\" | \"medium\" | \"large\";\n fullWidth?: boolean;\n helperText?: JSX.Element;\n onSearch?: (e: SearchEvent) => void;\n isLoading?: boolean;\n resetSearch?: () => void;\n inline?: boolean;\n endAdornment?: JSX.Element;\n hideSelectArrowIcon?: boolean;\n optionRenderer?: (args: MenuItemProps) => JSX.Element;\n clearable?: boolean;\n creatable?: boolean;\n onCreate?: (inputValue: string, event: SelectEvent) => void;\n virtualized?: boolean;\n itemHeight?: number;\n \"aria-label\"?: string;\n id?: string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\nexport function SelectField(props: SelectFieldProps): JSX.Element {\n const [local] = splitProps(props, [\n \"class\",\n \"value\",\n \"defaultValue\",\n \"onChange\",\n \"disabled\",\n \"readOnly\",\n \"name\",\n \"multiple\",\n \"menuMaxHeight\",\n \"menuMiddleware\",\n \"menuNoItemsMessage\",\n \"menuContainer\",\n \"search\",\n \"chips\",\n \"isFocused\",\n \"error\",\n \"items\",\n \"label\",\n \"variant\",\n \"size\",\n \"fullWidth\",\n \"helperText\",\n \"onSearch\",\n \"resetSearch\",\n \"isLoading\",\n \"inline\",\n \"endAdornment\",\n \"hideSelectArrowIcon\",\n \"optionRenderer\",\n \"clearable\",\n \"creatable\",\n \"onCreate\",\n \"virtualized\",\n \"itemHeight\",\n \"aria-label\",\n \"id\",\n \"ref\",\n ]);\n\n const variant = (): \"outlined\" | \"filled\" => local.variant ?? \"outlined\";\n const [isOpen, setIsOpen] = createSignal(false);\n const [valueState, setValueState] = createSignal<SelectValue | undefined>(local.defaultValue);\n const [searchValue, setSearchValue] = createSignal(\"\");\n\n const isControlled = local.value != null;\n let anchorEl: HTMLSpanElement | undefined;\n let searchWrapperEl: HTMLSpanElement | undefined;\n let searchInputEl: HTMLInputElement | undefined;\n\n const value = (): SelectValue | undefined => (isControlled ? local.value : valueState());\n const isFocused = (): boolean => !!local.isFocused || isOpen();\n\n // Selection is derived from the current value — no effect-driven sync.\n const selectedItems = createMemo<DropdownItem[]>(() => {\n const v = value();\n if (Array.isArray(v)) return local.items.filter((item) => v.includes(item.value));\n if (v === undefined || v === null || v === \"\") return [];\n const item = local.items.find((i) => i.value === v);\n return item ? [item] : [];\n });\n\n const updateValue = (event: SelectEvent, next: SelectValue | undefined): void => {\n local.onChange?.(event, { ...props, value: next, name: local.name || undefined });\n setValueState(next);\n };\n\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (event.button !== 0) return;\n event.preventDefault();\n anchorEl?.focus();\n setIsOpen(!isOpen());\n };\n\n const onClose = (): void => {\n setIsOpen(false);\n anchorEl?.focus();\n };\n\n const onFocus = (): void => {\n if (local.search === true) searchInputEl?.focus();\n };\n\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!local.readOnly && [\" \", \"ArrowUp\", \"ArrowDown\", \"Enter\"].includes(event.key)) {\n event.preventDefault();\n setIsOpen(!isOpen());\n }\n };\n\n // Reset search text when the field loses focus / menu closes.\n createEffect(() => {\n if (!isFocused() || (local.search === \"menu\" && !isOpen())) {\n setSearchValue(\"\");\n local.resetSearch?.();\n }\n });\n\n // Keep the multi-value scroller pinned to the end.\n createEffect(() => {\n value();\n if (searchWrapperEl) searchWrapperEl.scrollLeft = searchWrapperEl.scrollWidth;\n });\n\n const onItemClick = (event: SelectEvent, item: DropdownItem): void => {\n let next: SelectValue | undefined;\n if (local.multiple) {\n const current = value();\n const valueArray = (Array.isArray(current) ? current : [current].filter(Boolean)) as Array<string | number | undefined | null>;\n next = valueArray.slice();\n const idx = next.findIndex((el) => el === item.value);\n if (idx === -1) next.push(item.value);\n else next.splice(idx, 1);\n } else {\n next = value() === item.value ? \"\" : item.value;\n }\n if (searchValue()) setSearchValue(\"\");\n if (!local.multiple) {\n setIsOpen(false);\n anchorEl?.focus();\n }\n updateValue(event, next);\n };\n\n const onSearchInputChange = (event: SearchEvent): void => {\n setSearchValue(event.currentTarget.value);\n local.onSearch?.(event);\n if (!isOpen()) setIsOpen(true);\n };\n\n const onDeleteChip = (currentValue: string | number | undefined | null) => (event: SelectEvent): void => {\n const current = value();\n if (Array.isArray(current)) {\n updateValue(event, current.filter((v) => currentValue !== v));\n }\n };\n\n const onResetSelected: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n updateValue(event, []);\n };\n\n const filteredItems = (): DropdownItem[] => {\n if (local.onSearch) return local.items;\n const sv = searchValue();\n if (sv) return local.items.filter((el) => el.text.search(new RegExp(sv, \"i\")) !== -1);\n return local.items;\n };\n\n const createOption = (): DropdownItemProps[\"createOption\"] => {\n const sv = searchValue();\n if (local.creatable && sv && !local.items.some((i) => i.text.toLowerCase() === sv.toLowerCase())) {\n return {\n text: `Создать \"${sv}\"`,\n onCreate: (event) => {\n local.onCreate?.(sv, event);\n setSearchValue(\"\");\n setIsOpen(false);\n },\n };\n }\n return undefined;\n };\n\n return (\n <>\n <TextFieldWrapper\n label={local.label}\n helperText={local.helperText}\n variant={variant()}\n disabled={local.disabled}\n class={cn(local.class, local.size && local.size !== \"medium\" && `smwb-text-field_size-${local.size}`)}\n error={local.error}\n fullWidth={local.fullWidth}\n isFilledState={!!selectedItems().length || !!searchValue()}\n isFocused={isFocused()}\n inline={local.inline}\n >\n <span\n ref={mergeRefs(local.ref, (el) => (anchorEl = el as HTMLSpanElement))}\n id={local.id}\n class={cn(\"smwb-select-field\", local.class, {\n \"smwb-select-field--filled\": variant() === \"filled\" && local.label,\n \"smwb-select-field--disabled\": local.disabled,\n \"smwb-select-field--search\": local.search,\n \"smwb-select-field--inline\": local.inline,\n })}\n tabindex={local.disabled ? undefined : 0}\n role=\"button\"\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen()}\n aria-disabled={local.disabled || undefined}\n aria-label={local[\"aria-label\"]}\n onMouseDown={local.disabled || local.readOnly ? undefined : onMouseDown}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n data-testid=\"select-field\"\n >\n <span class=\"smwb-select-field__search-wrapper\" ref={(el) => (searchWrapperEl = el)}>\n <Show\n when={local.chips}\n fallback={<span class=\"smwb-select-field__values\">{selectedItems().map((el) => el.text).join(\", \")}</span>}\n >\n <span class=\"smwb-select-field__values\">\n <For each={selectedItems()}>\n {(item) => (\n <Chip\n label={item.text}\n size={local.size === \"small\" ? \"small\" : \"medium\"}\n onDelete={onDeleteChip(item.value)}\n onDeleteMouseDown={stopEvent}\n />\n )}\n </For>\n </span>\n </Show>\n <Show when={local.search && typeof local.search === \"boolean\" && !local.readOnly}>\n <span class=\"smwb-select-field__search\">\n <span class=\"smwb-select-field__search-text\">{searchValue()}</span>\n <input\n class=\"smwb-select-field__search-input\"\n ref={(el) => (searchInputEl = el)}\n type=\"text\"\n value={searchValue()}\n onInput={onSearchInputChange}\n onMouseDown={(event) => {\n event.stopPropagation();\n setIsOpen(true);\n }}\n onKeyDown={(event) => event.stopPropagation()}\n data-testid=\"search-input\"\n />\n </span>\n </Show>\n </span>\n <span class=\"smwb-select-field__actions\">\n <Show\n when={\n ((Array.isArray(value()) && (value() as unknown[]).length > 0) ||\n (local.clearable && selectedItems().length > 0)) &&\n !local.disabled\n }\n >\n <Icon\n name=\"close\"\n size={20}\n onClick={onResetSelected}\n onMouseDown={stopEvent}\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--close\")}\n aria-label=\"Clear selection\"\n role=\"button\"\n />\n </Show>\n {local.endAdornment}\n <Show when={!local.hideSelectArrowIcon}>\n <Icon\n name=\"arrow_drop_down\"\n class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--arrow\", {\n \"smwb-select-field__icon--opened\": isOpen(),\n \"smwb-select-field__icon--focused\": isFocused(),\n \"smwb-select-field__icon--error\": local.error,\n })}\n />\n </Show>\n </span>\n </span>\n </TextFieldWrapper>\n <DropdownMenu\n anchorElement={() => anchorEl ?? null}\n menuMaxHeight={local.menuMaxHeight}\n menuMiddleware={local.menuMiddleware}\n search={local.search === \"menu\"}\n onSearchInputChange={onSearchInputChange}\n optionRenderer={local.optionRenderer}\n items={filteredItems()}\n searchValue={searchValue()}\n isOpen={isOpen()}\n onClose={onClose}\n onItemClick={onItemClick}\n value={value()}\n isLoading={local.isLoading}\n menuNoItemsMessage={local.menuNoItemsMessage}\n container={local.menuContainer}\n virtualized={local.virtualized}\n itemHeight={local.itemHeight}\n createOption={createOption()}\n />\n </>\n );\n}\n\nexport default SelectField;\n"],"names":["stopEvent","event","preventDefault","stopPropagation","SelectField","props","local","splitProps","variant","isOpen","setIsOpen","createSignal","valueState","setValueState","defaultValue","searchValue","setSearchValue","isControlled","value","anchorEl","searchWrapperEl","searchInputEl","isFocused","selectedItems","createMemo","v","Array","isArray","items","filter","item","includes","find","i","updateValue","next","onChange","name","undefined","onMouseDown","button","focus","onClose","onFocus","search","onKeyDown","readOnly","key","createEffect","resetSearch","scrollLeft","scrollWidth","onItemClick","multiple","current","Boolean","slice","idx","findIndex","el","push","splice","onSearchInputChange","currentTarget","onSearch","onDeleteChip","currentValue","onResetSelected","filteredItems","sv","text","RegExp","createOption","creatable","some","toLowerCase","onCreate","_$createComponent","TextFieldWrapper","label","helperText","disabled","cn","class","size","error","fullWidth","isFilledState","length","inline","children","_el$","_tmpl$3","_el$2","firstChild","_el$7","nextSibling","$$keydown","addEventListener","_$addEventListener","_ref$","mergeRefs","ref","_$use","_$insert","Show","when","chips","fallback","_el$8","_tmpl$","map","join","_el$3","For","each","Chip","onDelete","onDeleteMouseDown","_$memo","_el$4","_tmpl$2","_el$5","_el$6","$$mousedown","$$input","_$effect","clearable","Icon","onClick","role","endAdornment","hideSelectArrowIcon","_p$","_v$","id","_v$2","_v$3","_v$4","_v$5","_v$6","e","_$setAttribute","t","_$className","a","o","n","DropdownMenu","anchorElement","menuMaxHeight","menuMiddleware","optionRenderer","isLoading","menuNoItemsMessage","container","menuContainer","virtualized","itemHeight","_$delegateEvents"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { createComponent as c, use as ce, spread as ve, mergeProps as he, insert as x, effect as R, style as K, addEventListener as Te, setAttribute as l, className as be, setStyleProperty as Me, memo as Ve, isServer as fe, template as V, delegateEvents as Ce } from "solid-js/web";
|
|
2
|
-
import '../../../assets/styles/less/components/slider/slider.entry.css';/* empty css
|
|
2
|
+
import '../../../assets/styles/less/components/slider/slider.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
3
4
|
import { Show as P, mergeProps as ge, splitProps as we, createSignal as Z, onMount as xe, onCleanup as re, For as ne } from "solid-js";
|
|
4
5
|
import ie from "clsx";
|
|
5
6
|
import { toPercent as M, coordY as _e, rescale as se, coordX as pe } from "./utils.js";
|
|
@@ -339,7 +340,7 @@ function Ye(v) {
|
|
|
339
340
|
}
|
|
340
341
|
});
|
|
341
342
|
}
|
|
342
|
-
function
|
|
343
|
+
function Je(v) {
|
|
343
344
|
const C = v.range === !0 || Array.isArray(v.value) || Array.isArray(v.defaultValue);
|
|
344
345
|
return c(P, {
|
|
345
346
|
when: C,
|
|
@@ -353,6 +354,6 @@ function Ge(v) {
|
|
|
353
354
|
}
|
|
354
355
|
Ce(["mousedown", "keydown"]);
|
|
355
356
|
export {
|
|
356
|
-
|
|
357
|
+
Je as Slider
|
|
357
358
|
};
|
|
358
359
|
//# sourceMappingURL=slider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"slider.js","sources":["../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue;\n onChange?: (event: Event, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n valueField?: boolean;\n withTicks?: boolean;\n label?: string;\n helperText?: JSX.Element;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n marks?: boolean | SliderMark[];\n \"aria-label\"?: string;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction resolveMarks(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n ]);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n const isControlled = local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n ]);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const isControlled = typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n value={value()}\n onChange={(event) => updateValue(+event.currentTarget.value, event)}\n variant=\"filled\"\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","isVertical","normalize","arr","lo","hi","isControlled","undefined","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","isServer","document","removeEventListener","onMouseDown","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","idx","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","label","helperText","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$5","_el$9","_$addEventListener","_$setAttribute","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","getAriaValueText","_v$13","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","pct","ticks","fill","_el$0","_tmpl$8","_el$1","_el$12","_el$13","_el$14","_el$16","_ref$2","$$keydown","tabindex","withTicks","_el$10","_tmpl$6","_tmpl$9","_$setStyleProperty","_el$11","_el$18","_el$19","_el$15","_tmpl$7","_$memo","valueField","TextField","type","currentTarget","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"slider.js","sources":["../../../../src/components/inputs/slider/slider.tsx"],"sourcesContent":["import { type JSX, For, Show, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { rescale, toPercent, coordX, coordY } from \"./utils\";\nimport { TextField, TextFieldWrapper } from \"../textField\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type SliderValue = number | [number, number];\n\nexport interface SliderMark {\n value: number;\n label?: JSX.Element;\n}\n\nexport interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, \"onChange\"> {\n value?: SliderValue;\n onChange?: (event: Event, value: SliderValue, data: SliderProps) => void;\n min?: number;\n max?: number;\n step?: number;\n name?: string;\n defaultValue?: SliderValue;\n disabled?: boolean;\n variant?: \"continuous\" | \"discrete\";\n valueField?: boolean;\n withTicks?: boolean;\n label?: string;\n helperText?: JSX.Element;\n error?: boolean;\n size?: \"small\" | \"medium\" | \"large\";\n color?: \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n /** Enables a two-thumb range slider (value becomes `[number, number]`). */\n range?: boolean;\n orientation?: \"horizontal\" | \"vertical\";\n marks?: boolean | SliderMark[];\n \"aria-label\"?: string;\n getAriaValueText?: (value: number) => string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction resolveMarks(marks: boolean | SliderMark[] | undefined, min: number, max: number, step?: number): SliderMark[] {\n if (!marks) return [];\n if (Array.isArray(marks)) return marks;\n const s = step && step > 0 ? step : (max - min) / 10;\n const result: SliderMark[] = [];\n for (let v = min; v <= max + 1e-9; v += s) {\n result.push({ value: Math.round(v * 1e6) / 1e6 });\n }\n return result;\n}\n\nfunction RangeSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n { min: 0, max: 100, disabled: false, size: \"medium\" as const, color: \"primary\" as const, orientation: \"horizontal\" as const },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"getAriaValueText\",\n \"aria-label\",\n \"range\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"ref\",\n ]);\n\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const normalize = (v: SliderValue | undefined): [number, number] => {\n const arr = Array.isArray(v) ? v : [local.min, local.max];\n const lo = Math.min(arr[0] ?? local.min, arr[1] ?? local.max);\n const hi = Math.max(arr[0] ?? local.min, arr[1] ?? local.max);\n return [lo, hi];\n };\n\n const isControlled = local.value !== undefined;\n const [valueState, setValueState] = createSignal<[number, number]>(normalize(local.defaultValue));\n const value = (): [number, number] => (isControlled ? normalize(local.value) : valueState());\n\n let containerEl: HTMLSpanElement | undefined;\n let activeThumb: 0 | 1 = 0;\n let isPressed = false;\n\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n\n const positionToValue = (event: MouseEvent | TouchEvent): number => {\n const rect = containerEl?.getBoundingClientRect();\n if (!rect) return local.min;\n if (isVertical()) {\n const y = coordY(event) - rect.top;\n return rescale(rect.height - y, [0, rect.height], [local.min, local.max], { step: local.step });\n }\n const x = coordX(event) - rect.left;\n return rescale(x, [0, rect.width], [local.min, local.max], { step: local.step });\n };\n\n const commit = (next: [number, number], event: Event): void => {\n const lo = Math.min(next[0], next[1]);\n const hi = Math.max(next[0], next[1]);\n const clamped: [number, number] = [Math.max(local.min, lo), Math.min(local.max, hi)];\n if (!isControlled) setValueState(clamped);\n local.onChange?.(event, clamped, props);\n };\n\n const moveThumb = (raw: number, event: Event): void => {\n const current = value();\n const next: [number, number] = [current[0], current[1]];\n next[activeThumb] = Math.max(local.min, Math.min(local.max, raw));\n commit(next, event);\n };\n\n const pickThumb = (raw: number): void => {\n const current = value();\n activeThumb = Math.abs(raw - current[0]) <= Math.abs(raw - current[1]) ? 0 : 1;\n };\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed) return;\n event.preventDefault();\n moveThumb(positionToValue(event), event);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled) return;\n const raw = positionToValue(event);\n pickThumb(raw);\n isPressed = true;\n moveThumb(raw, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(onMouseEnd);\n\n const onThumbKeyDown = (idx: 0 | 1): JSX.EventHandler<HTMLInputElement, KeyboardEvent> => (event) => {\n if (local.disabled) return;\n const delta = local.step && local.step > 0 ? local.step : 1;\n const current = value();\n let next: number | null = null;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") next = current[idx] - delta;\n else if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") next = current[idx] + delta;\n else if (event.key === \"Home\") next = local.min;\n else if (event.key === \"End\") next = local.max;\n if (next !== null) {\n event.preventDefault();\n activeThumb = idx;\n moveThumb(next, event);\n }\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", \"smwb-slider--range\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))} onMouseDown={onMouseDown} class={classes()} {...rest}>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span\n class=\"smwb-slider__track\"\n style={(() => {\n const p0 = toPercent(value()[0], local.min, local.max);\n const p1 = toPercent(value()[1], local.min, local.max);\n const startPct = `${Math.min(p0, p1)}%`;\n const spanPct = `${Math.abs(p1 - p0)}%`;\n return isVertical() ? { bottom: startPct, height: spanPct } : { left: startPct, width: spanPct };\n })()}\n />\n <For each={[0, 1] as const}>\n {(idx) => (\n <span\n class={cn(\"smwb-slider__thumb\", `smwb-slider__thumb--${idx === 0 ? \"start\" : \"end\"}`)}\n style={isVertical() ? { bottom: `${toPercent(value()[idx], local.min, local.max)}%` } : { left: `${toPercent(value()[idx], local.min, local.max)}%` }}\n >\n <input\n data-testid={`slider-input-${idx}`}\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n step={local.step}\n name={local.name ? `${local.name}[${idx}]` : undefined}\n value={value()[idx]}\n disabled={local.disabled}\n onChange={() => undefined}\n onKeyDown={onThumbKeyDown(idx)}\n tabindex={local.disabled ? -1 : 0}\n aria-label={local[\"aria-label\"] ? `${local[\"aria-label\"]} ${idx === 0 ? \"minimum\" : \"maximum\"}` : undefined}\n aria-orientation={local.orientation}\n aria-valuenow={value()[idx]}\n aria-valuemin={idx === 0 ? local.min : value()[0]}\n aria-valuemax={idx === 0 ? value()[1] : local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()[idx]) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n )}\n </For>\n </span>\n </div>\n </TextFieldWrapper>\n );\n}\n\nfunction SingleSlider(props: SliderProps): JSX.Element {\n const merged = mergeProps(\n {\n min: 0,\n max: 100,\n disabled: false,\n variant: \"continuous\" as const,\n size: \"medium\" as const,\n color: \"primary\" as const,\n orientation: \"horizontal\" as const,\n },\n props\n );\n const [local, rest] = splitProps(merged, [\n \"defaultValue\",\n \"value\",\n \"onChange\",\n \"min\",\n \"max\",\n \"name\",\n \"disabled\",\n \"class\",\n \"step\",\n \"variant\",\n \"valueField\",\n \"withTicks\",\n \"label\",\n \"helperText\",\n \"error\",\n \"size\",\n \"color\",\n \"orientation\",\n \"marks\",\n \"range\",\n \"getAriaValueText\",\n \"aria-label\",\n \"ref\",\n ]);\n\n const singleDefault = typeof local.defaultValue === \"number\" ? local.defaultValue : undefined;\n const singleValue = (): number | undefined => (typeof local.value === \"number\" ? local.value : undefined);\n const isVertical = (): boolean => local.orientation === \"vertical\";\n const isControlled = typeof local.value === \"number\";\n const isDiscrete = (): boolean => local.variant === \"discrete\";\n\n const [valueState, setValueState] = createSignal<number>(singleDefault ?? local.min);\n const [isDragging, setIsDragging] = createSignal(false);\n const [isActive, setIsActive] = createSignal(false);\n const [isFocused, setIsFocused] = createSignal(false);\n\n let containerEl: HTMLSpanElement | undefined;\n let isPressed = false;\n const value = (): number => (isControlled ? (singleValue() as number) : valueState());\n\n const updateValue = (next: number, event: Event): void => {\n if (next < local.min || next > local.max) return;\n if (!isControlled) setValueState(next);\n local.onChange?.(event, next, props);\n };\n\n const offsetToValue = (absolute: number, containerSize: number): number =>\n rescale(absolute, [0, containerSize], [local.min, local.max], { step: local.step });\n\n const onMouseMove = (event: MouseEvent | TouchEvent): void => {\n if (!isPressed || !containerEl) return;\n const rect = containerEl.getBoundingClientRect();\n const clientX = coordX(event);\n const clientY = coordY(event);\n const absolute = isVertical() ? rect.height - (clientY - rect.top) : clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n if (value() === next) return;\n if (!isDragging()) setIsDragging(true);\n updateValue(next, event);\n };\n const removeListeners = (): void => {\n // Registered as a body-scope onCleanup, which Solid also runs when the SSR\n // root is disposed — guard the document access so it never runs server-side.\n if (isServer) return;\n document.removeEventListener(\"mousemove\", onMouseMove);\n document.removeEventListener(\"mouseup\", onMouseEnd);\n document.removeEventListener(\"touchmove\", onMouseMove);\n document.removeEventListener(\"touchend\", onMouseEnd);\n };\n const onMouseEnd = (): void => {\n isPressed = false;\n if (isDragging()) setIsDragging(false);\n if (isActive()) setIsActive(false);\n removeListeners();\n };\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || event.button !== 0 || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const absolute = isVertical() ? rect.height - (event.clientY - rect.top) : event.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"mousemove\", onMouseMove);\n document.addEventListener(\"mouseup\", onMouseEnd);\n };\n const onTouchStartNative = (event: TouchEvent): void => {\n if (local.disabled || !containerEl) return;\n isPressed = true;\n const rect = containerEl.getBoundingClientRect();\n const touch = event.changedTouches?.[0];\n if (!touch) return;\n const absolute = isVertical() ? rect.height - (touch.clientY - rect.top) : touch.clientX - rect.left;\n const next = offsetToValue(absolute, isVertical() ? rect.height : rect.width);\n if (!isActive()) setIsActive(true);\n updateValue(next, event);\n document.addEventListener(\"touchmove\", onMouseMove);\n document.addEventListener(\"touchend\", onMouseEnd);\n };\n\n onMount(() => {\n if (!containerEl) return;\n containerEl.addEventListener(\"touchstart\", onTouchStartNative);\n onCleanup(() => containerEl?.removeEventListener(\"touchstart\", onTouchStartNative));\n });\n onCleanup(removeListeners);\n\n const handleArrows: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (!isFocused() || local.disabled) return;\n if (event.key === \"ArrowLeft\" || event.key === \"ArrowDown\") updateValue(value() - (local.step || 1), event);\n if (event.key === \"ArrowRight\" || event.key === \"ArrowUp\") updateValue(value() + (local.step || 1), event);\n };\n\n const classes = (): string =>\n cn(\"smwb-slider\", local.class, {\n \"smwb-slider--disabled\": local.disabled,\n \"smwb-slider--dragging\": isDragging(),\n \"smwb-slider--discrete\": isDiscrete(),\n \"smwb-slider--vertical\": isVertical(),\n }, local.size !== \"medium\" && `smwb-slider_size-${local.size}`, local.color !== \"primary\" && `smwb-slider_color-${local.color}`);\n\n const pct = (): string => `${toPercent(value(), local.min, local.max)}%`;\n const markList = (): SliderMark[] => resolveMarks(local.marks, local.min, local.max, local.step);\n const ticks = (): number[] => Array(Math.round(local.max / (local.step || 1)) + 1).fill(1) as number[];\n\n return (\n <TextFieldWrapper label={local.label} helperText={local.helperText} disabled={local.disabled} error={local.error} fullWidth shrink>\n <div class=\"smwb-slider__container\">\n <span\n onKeyDown={handleArrows}\n ref={mergeRefs(local.ref, (el) => (containerEl = el as HTMLSpanElement))}\n onMouseDown={onMouseDown}\n class={classes()}\n tabindex={local.disabled ? -1 : 0}\n onFocus={() => setIsFocused(true)}\n onBlur={() => setIsFocused(false)}\n {...rest}\n >\n <Show when={local.withTicks}>\n <span class=\"smwb-slider__ticks\" style={{ gap: `${local.step}` }}>\n <For each={ticks()}>{() => <span class=\"smwb-slider__tick\" />}</For>\n </span>\n </Show>\n <Show when={markList().length > 0}>\n <span class=\"smwb-slider__marks\" aria-hidden=\"true\">\n <For each={markList()}>\n {(m) => (\n <span class=\"smwb-slider__mark\" style={isVertical() ? { bottom: `${toPercent(m.value, local.min, local.max)}%` } : { left: `${toPercent(m.value, local.min, local.max)}%` }}>\n <Show when={m.label != null}>\n <span class=\"smwb-slider__mark-label\">{m.label}</span>\n </Show>\n </span>\n )}\n </For>\n </span>\n </Show>\n <span class=\"smwb-slider__rail\" />\n <span class=\"smwb-slider__track\" style={isVertical() ? { height: pct() } : { width: pct() }} />\n <span\n class={cn(\"smwb-slider__thumb\", { \"smwb-slider__thumb--active\": isActive(), \"smwb-slider__thumb--discrete\": isDiscrete() })}\n style={isVertical() ? { bottom: pct() } : { left: pct() }}\n >\n <Show when={isDiscrete()}>\n <span class=\"smwb-slider__thumb-tooltip\">{Math.round(value())}</span>\n </Show>\n <input\n data-testid=\"slider-input\"\n class=\"smwb-slider__input\"\n type=\"range\"\n min={local.min}\n max={local.max}\n name={local.name}\n value={value()}\n readonly\n aria-label={local[\"aria-label\"]}\n aria-orientation={local.orientation}\n aria-valuenow={value()}\n aria-valuemin={local.min}\n aria-valuemax={local.max}\n aria-valuetext={local.getAriaValueText ? local.getAriaValueText(value()) : undefined}\n aria-disabled={local.disabled || undefined}\n />\n </span>\n </span>\n <Show when={local.valueField && isDiscrete()}>\n <TextField\n type=\"number\"\n value={value()}\n onChange={(event) => updateValue(+event.currentTarget.value, event)}\n variant=\"filled\"\n />\n </Show>\n </div>\n </TextFieldWrapper>\n );\n}\n\nexport function Slider(props: SliderProps): JSX.Element {\n const isRangeMode = props.range === true || Array.isArray(props.value) || Array.isArray(props.defaultValue);\n return (\n <Show when={isRangeMode} fallback={<SingleSlider {...props} />}>\n <RangeSlider {...props} />\n </Show>\n );\n}\n\nexport default Slider;\n"],"names":["resolveMarks","marks","min","max","step","Array","isArray","s","result","v","push","value","Math","round","RangeSlider","props","merged","mergeProps","disabled","size","color","orientation","local","rest","splitProps","isVertical","normalize","arr","lo","hi","isControlled","undefined","valueState","setValueState","createSignal","defaultValue","containerEl","activeThumb","isPressed","markList","positionToValue","event","rect","getBoundingClientRect","y","coordY","top","rescale","height","x","coordX","left","width","commit","next","clamped","onChange","moveThumb","raw","current","pickThumb","abs","onMouseMove","preventDefault","onMouseEnd","isServer","document","removeEventListener","onMouseDown","button","addEventListener","onTouchStartNative","onMount","onCleanup","onThumbKeyDown","idx","delta","key","classes","cn","class","_$createComponent","TextFieldWrapper","label","helperText","error","fullWidth","shrink","children","_el$","_tmpl$2","_el$2","firstChild","_el$4","_el$5","nextSibling","$$mousedown","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","_$insert","Show","when","length","_el$3","_tmpl$","For","each","m","_el$6","_tmpl$4","_el$7","_tmpl$3","_$effect","_$p","_$style","bottom","toPercent","_el$8","_tmpl$5","_el$9","_$addEventListener","_$setAttribute","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","name","_v$7","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","getAriaValueText","_v$13","e","_$className","t","a","o","i","n","h","r","d","l","u","c","w","p0","p1","startPct","spanPct","SingleSlider","variant","singleDefault","singleValue","isDiscrete","isDragging","setIsDragging","isActive","setIsActive","isFocused","setIsFocused","updateValue","offsetToValue","absolute","containerSize","clientX","clientY","removeListeners","touch","changedTouches","handleArrows","pct","ticks","fill","_el$0","_tmpl$8","_el$1","_el$12","_el$13","_el$14","_el$16","_ref$2","$$keydown","tabindex","withTicks","_el$10","_tmpl$6","_tmpl$9","_$setStyleProperty","_el$11","_el$18","_el$19","_el$15","_tmpl$7","_$memo","valueField","TextField","type","currentTarget","_v$14","_v$15","_v$16","_v$17","_v$18","_v$19","_v$20","_v$21","_v$22","_v$23","_v$24","_v$25","_v$26","Slider","isRangeMode","range","fallback","_$delegateEvents"],"mappings":"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"}
|