@smwb/ui-solid 0.12.0 → 0.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +74 -0
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
- package/dist/assets/styles/less/components/card/card.entry.css +1 -1
- package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
- package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
- package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
- package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
- package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
- package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
- package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
- package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
- package/dist/assets/styles/less/components/table/table.entry.css +1 -1
- package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
- package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
- package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
- package/dist/components/base/animateHeight/animateHeight.js +41 -42
- package/dist/components/base/animateHeight/animateHeight.js.map +1 -1
- package/dist/components/base/icon/icon.d.ts +6 -2
- package/dist/components/base/icon/icon.js +41 -41
- package/dist/components/base/icon/icon.js.map +1 -1
- package/dist/components/base/ripple/ripple.d.ts +3 -0
- package/dist/components/base/ripple/ripple.js +46 -34
- package/dist/components/base/ripple/ripple.js.map +1 -1
- package/dist/components/dataDisplay/avatar/avatar.d.ts +4 -0
- package/dist/components/dataDisplay/avatar/avatar.js +37 -33
- package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/components/dataDisplay/card/card.d.ts +32 -1
- package/dist/components/dataDisplay/card/card.js +47 -34
- package/dist/components/dataDisplay/card/card.js.map +1 -1
- package/dist/components/dataDisplay/carousel/carousel.js +92 -88
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
- package/dist/components/dataDisplay/chat/chatIconButton.js +23 -13
- package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatLayout.d.ts +2 -0
- package/dist/components/dataDisplay/chat/chatLayout.js +33 -29
- package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +2 -0
- package/dist/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
- package/dist/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
- package/dist/components/dataDisplay/chip/chip.d.ts +32 -0
- package/dist/components/dataDisplay/chip/chip.js +104 -63
- package/dist/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/components/dataDisplay/chipGroup/chipGroup.js +44 -39
- package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
- package/dist/components/dataDisplay/dagView/dagLayout.d.ts +74 -0
- package/dist/components/dataDisplay/dagView/dagLayout.js +284 -0
- package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
- package/dist/components/dataDisplay/dagView/dagView.d.ts +151 -0
- package/dist/components/dataDisplay/dagView/dagView.js +488 -0
- package/dist/components/dataDisplay/dagView/dagView.js.map +1 -0
- package/dist/components/dataDisplay/dagView/index.d.ts +4 -0
- package/dist/components/dataDisplay/dagView/panZoom.d.ts +75 -0
- package/dist/components/dataDisplay/dagView/panZoom.js +161 -0
- package/dist/components/dataDisplay/dagView/panZoom.js.map +1 -0
- package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +11 -3
- package/dist/components/dataDisplay/descriptionList/descriptionList.js +20 -24
- package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/components/dataDisplay/kanban/kanban.d.ts +6 -0
- package/dist/components/dataDisplay/kanban/kanban.js +71 -61
- package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
- package/dist/components/dataDisplay/lazyImage/lazyImage.js +14 -12
- package/dist/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
- package/dist/components/dataDisplay/list/list.d.ts +2 -0
- package/dist/components/dataDisplay/list/list.js +16 -12
- package/dist/components/dataDisplay/list/list.js.map +1 -1
- package/dist/components/dataDisplay/list/listItem.js +20 -18
- package/dist/components/dataDisplay/list/listItem.js.map +1 -1
- package/dist/components/dataDisplay/meter/meter.d.ts +2 -0
- package/dist/components/dataDisplay/meter/meter.js +15 -13
- package/dist/components/dataDisplay/meter/meter.js.map +1 -1
- package/dist/components/dataDisplay/personChip/personChip.d.ts +2 -0
- package/dist/components/dataDisplay/personChip/personChip.js +12 -10
- package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
- package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
- package/dist/components/dataDisplay/stat/stat.js +41 -43
- package/dist/components/dataDisplay/stat/stat.js.map +1 -1
- package/dist/components/dataDisplay/table/table.d.ts +10 -1
- package/dist/components/dataDisplay/table/table.js +46 -22
- package/dist/components/dataDisplay/table/table.js.map +1 -1
- package/dist/components/dataDisplay/table/tableBody.js +25 -12
- package/dist/components/dataDisplay/table/tableBody.js.map +1 -1
- package/dist/components/dataDisplay/table/tableCell.d.ts +10 -2
- package/dist/components/dataDisplay/table/tableCell.js +15 -14
- package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tableColumns.d.ts +146 -0
- package/dist/components/dataDisplay/table/tableColumns.js +254 -0
- package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
- package/dist/components/dataDisplay/table/tableEntities.d.ts +4 -0
- package/dist/components/dataDisplay/table/tableEntities.js +6 -0
- package/dist/components/dataDisplay/table/tableEntities.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHead.js +29 -11
- package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
- package/dist/components/dataDisplay/table/tableHeadCell.d.ts +23 -1
- package/dist/components/dataDisplay/table/tableHeadCell.js +51 -26
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tableHtmlText.d.ts +8 -0
- package/dist/components/dataDisplay/table/tableHtmlText.js +121 -0
- package/dist/components/dataDisplay/table/tableHtmlText.js.map +1 -0
- package/dist/components/dataDisplay/table/tableRow.d.ts +2 -0
- package/dist/components/dataDisplay/table/tableRow.js +28 -13
- package/dist/components/dataDisplay/table/tableRow.js.map +1 -1
- package/dist/components/dataDisplay/thumbCard/thumbCard.d.ts +44 -3
- package/dist/components/dataDisplay/thumbCard/thumbCard.js +86 -58
- package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/components/dataDisplay/treeView/treeView.d.ts +2 -0
- package/dist/components/dataDisplay/treeView/treeView.js +4 -2
- package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/components/dataDisplay/typography/typography.js +22 -26
- package/dist/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
- package/dist/components/feedBack/emptyState/emptyState.js +20 -16
- package/dist/components/feedBack/emptyState/emptyState.js.map +1 -1
- package/dist/components/feedBack/message/message.d.ts +2 -0
- package/dist/components/feedBack/message/message.js +17 -13
- package/dist/components/feedBack/message/message.js.map +1 -1
- package/dist/components/feedBack/modal/modal.js +20 -16
- package/dist/components/feedBack/modal/modal.js.map +1 -1
- package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
- package/dist/components/feedBack/skeleton/skeleton.js +43 -35
- package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/components/feedBack/snackbar/snackbar.js +24 -20
- package/dist/components/feedBack/snackbar/snackbar.js.map +1 -1
- package/dist/components/feedBack/tooltip/tooltip.d.ts +9 -1
- package/dist/components/feedBack/tooltip/tooltip.js +65 -41
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/components/inputs/button/button.d.ts +2 -0
- package/dist/components/inputs/button/button.js +48 -20
- package/dist/components/inputs/button/button.js.map +1 -1
- package/dist/components/inputs/buttonGroups/buttonGroup.d.ts +2 -0
- package/dist/components/inputs/buttonGroups/buttonGroup.js +14 -10
- package/dist/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
- package/dist/components/inputs/checkbox/checkbox.d.ts +10 -0
- package/dist/components/inputs/checkbox/checkbox.js +59 -36
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/components/inputs/datePicker/datePicker.js +108 -97
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerActionLabel.js +19 -17
- package/dist/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerDay.js +41 -25
- package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerIconButton.js +24 -14
- package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/components/inputs/floatingButton/floatingButton.js +26 -16
- package/dist/components/inputs/floatingButton/floatingButton.js.map +1 -1
- package/dist/components/inputs/radioButton/radioButton.d.ts +9 -0
- package/dist/components/inputs/radioButton/radioButton.js +48 -34
- package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
- package/dist/components/inputs/rating/rating.d.ts +9 -0
- package/dist/components/inputs/rating/rating.js +74 -53
- package/dist/components/inputs/rating/rating.js.map +1 -1
- package/dist/components/inputs/selectField/dropdownMenu.d.ts +21 -1
- package/dist/components/inputs/selectField/dropdownMenu.js +268 -143
- package/dist/components/inputs/selectField/dropdownMenu.js.map +1 -1
- package/dist/components/inputs/selectField/optionNavigation.d.ts +17 -0
- package/dist/components/inputs/selectField/optionNavigation.js +37 -0
- package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
- package/dist/components/inputs/selectField/selectField.d.ts +32 -1
- package/dist/components/inputs/selectField/selectField.js +297 -126
- package/dist/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/components/inputs/slider/slider.d.ts +25 -3
- package/dist/components/inputs/slider/slider.js +320 -197
- package/dist/components/inputs/slider/slider.js.map +1 -1
- package/dist/components/inputs/textField/textField.d.ts +9 -1
- package/dist/components/inputs/textField/textField.js +104 -51
- package/dist/components/inputs/textField/textField.js.map +1 -1
- package/dist/components/inputs/textField/textFieldWrapper.d.ts +14 -0
- package/dist/components/inputs/textField/textFieldWrapper.js +52 -45
- package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/components/inputs/timePicker/timePicker.js +73 -62
- package/dist/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/components/inputs/toggle/toggle.d.ts +4 -0
- package/dist/components/inputs/toggle/toggle.js +43 -31
- package/dist/components/inputs/toggle/toggle.js.map +1 -1
- package/dist/components/inputs/valueSlider/valueSlider.d.ts +12 -0
- package/dist/components/inputs/valueSlider/valueSlider.js +32 -27
- package/dist/components/inputs/valueSlider/valueSlider.js.map +1 -1
- package/dist/components/layout/appLayout/appLayout.d.ts +2 -0
- package/dist/components/layout/appLayout/appLayout.js +32 -30
- package/dist/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/components/layout/divider/divider.d.ts +2 -0
- package/dist/components/layout/divider/divider.js +22 -20
- package/dist/components/layout/divider/divider.js.map +1 -1
- package/dist/components/layout/floatingWindow/floatingWindow.d.ts +2 -0
- package/dist/components/layout/floatingWindow/floatingWindow.js +171 -168
- package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
- package/dist/components/layout/grid/grid.d.ts +8 -0
- package/dist/components/layout/grid/grid.js +52 -44
- package/dist/components/layout/grid/grid.js.map +1 -1
- package/dist/components/layout/page/page.d.ts +2 -0
- package/dist/components/layout/page/page.js +14 -12
- package/dist/components/layout/page/page.js.map +1 -1
- package/dist/components/layout/pageHeader/pageHeader.d.ts +2 -0
- package/dist/components/layout/pageHeader/pageHeader.js +23 -21
- package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/components/layout/sectionHeader/sectionHeader.d.ts +2 -0
- package/dist/components/layout/sectionHeader/sectionHeader.js +38 -36
- package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
- package/dist/components/layout/sheet/sheet.d.ts +2 -0
- package/dist/components/layout/sheet/sheet.js +50 -48
- package/dist/components/layout/sheet/sheet.js.map +1 -1
- package/dist/components/layout/stack/stack.d.ts +2 -0
- package/dist/components/layout/stack/stack.js +26 -24
- package/dist/components/layout/stack/stack.js.map +1 -1
- package/dist/components/navigation/appBar/appBar.d.ts +2 -0
- package/dist/components/navigation/appBar/appBar.js +18 -16
- package/dist/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/components/navigation/bottomBar/bottomBar.js +125 -120
- package/dist/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/components/navigation/breadcrumbs/breadcrumbs.d.ts +2 -0
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js +18 -14
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/components/navigation/menu/menu.d.ts +6 -0
- package/dist/components/navigation/menu/menu.js.map +1 -1
- package/dist/components/navigation/menu/menuComponent.js +12 -23
- package/dist/components/navigation/menu/menuComponent.js.map +1 -1
- package/dist/components/navigation/menu/menuContext.d.ts +2 -0
- package/dist/components/navigation/menu/menuContext.js.map +1 -1
- package/dist/components/navigation/menu/menuFloating.js +54 -46
- package/dist/components/navigation/menu/menuFloating.js.map +1 -1
- package/dist/components/navigation/menu/menuItem.d.ts +4 -0
- package/dist/components/navigation/menu/menuItem.js +58 -33
- package/dist/components/navigation/menu/menuItem.js.map +1 -1
- package/dist/components/navigation/menu/menuList.d.ts +4 -0
- package/dist/components/navigation/menu/menuList.js +34 -16
- package/dist/components/navigation/menu/menuList.js.map +1 -1
- package/dist/components/navigation/menu/menuSubmenu.d.ts +8 -1
- package/dist/components/navigation/menu/menuSubmenu.js +58 -38
- package/dist/components/navigation/menu/menuSubmenu.js.map +1 -1
- package/dist/components/navigation/pagination/pagination.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination.js +28 -24
- package/dist/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/components/navigation/sidebar/sidebar.js +27 -25
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/components/navigation/stepper/stepper.d.ts +2 -0
- package/dist/components/navigation/stepper/stepper.js +46 -42
- package/dist/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/components/navigation/tabs/tab/tab.js +46 -35
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/components/navigation/tabs/tabs.d.ts +7 -0
- package/dist/components/navigation/tabs/tabs.js +90 -75
- package/dist/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/components/navigation/tabs/tabsContext.d.ts +6 -4
- package/dist/components/navigation/tabs/tabsContext.js.map +1 -1
- package/dist/connects/rt/table/table.d.ts +16 -1
- package/dist/headless/components/base/animateHeight/animateHeight.js +41 -42
- package/dist/headless/components/base/animateHeight/animateHeight.js.map +1 -1
- package/dist/headless/components/base/icon/icon.js +40 -40
- package/dist/headless/components/base/icon/icon.js.map +1 -1
- package/dist/headless/components/base/ripple/ripple.js +46 -34
- package/dist/headless/components/base/ripple/ripple.js.map +1 -1
- package/dist/headless/components/dataDisplay/avatar/avatar.js +37 -33
- package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/headless/components/dataDisplay/card/card.js +44 -31
- package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
- package/dist/headless/components/dataDisplay/carousel/carousel.js +102 -98
- package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js +23 -13
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatLayout.js +33 -29
- package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js +19 -17
- package/dist/headless/components/dataDisplay/chat/chatOverlayLayout.js.map +1 -1
- package/dist/headless/components/dataDisplay/chip/chip.js +104 -63
- package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +44 -39
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
- package/dist/headless/components/dataDisplay/dagView/dagLayout.js +284 -0
- package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
- package/dist/headless/components/dataDisplay/dagView/dagView.js +486 -0
- package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
- package/dist/headless/components/dataDisplay/dagView/panZoom.js +161 -0
- package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js +15 -19
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +114 -81
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/headless/components/dataDisplay/kanban/kanban.js +71 -61
- package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +14 -12
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
- package/dist/headless/components/dataDisplay/list/list.js +16 -12
- package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
- package/dist/headless/components/dataDisplay/list/listItem.js +20 -18
- package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
- package/dist/headless/components/dataDisplay/meter/meter.js +14 -12
- package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
- package/dist/headless/components/dataDisplay/personChip/personChip.js +12 -10
- package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
- package/dist/headless/components/dataDisplay/stat/stat.js +43 -45
- package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/table.js +47 -23
- package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableBody.js +25 -12
- package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableCell.js +15 -14
- package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableColumns.js +254 -0
- package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableEntities.js +6 -0
- package/dist/headless/components/dataDisplay/table/tableEntities.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js +29 -11
- package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js +51 -26
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableHtmlText.js +121 -0
- package/dist/headless/components/dataDisplay/table/tableHtmlText.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableRow.js +28 -13
- package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +86 -58
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/headless/components/dataDisplay/treeView/treeView.js +4 -2
- package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/headless/components/dataDisplay/typography/typography.js +21 -25
- package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/headless/components/feedBack/emptyState/emptyState.js +9 -5
- package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
- package/dist/headless/components/feedBack/message/message.js +17 -13
- package/dist/headless/components/feedBack/message/message.js.map +1 -1
- package/dist/headless/components/feedBack/modal/modal.js +20 -16
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
- package/dist/headless/components/feedBack/skeleton/skeleton.js +43 -35
- package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/headless/components/feedBack/snackbar/snackbar.js +30 -26
- package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
- package/dist/headless/components/feedBack/tooltip/tooltip.js +63 -39
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/headless/components/inputs/button/button.js +51 -23
- package/dist/headless/components/inputs/button/button.js.map +1 -1
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +22 -18
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
- package/dist/headless/components/inputs/checkbox/checkbox.js +59 -36
- package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePicker.js +106 -95
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js +19 -17
- package/dist/headless/components/inputs/datePicker/datePickerActionLabel.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerDay.js +41 -25
- package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +24 -14
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +90 -79
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/headless/components/inputs/floatingButton/floatingButton.js +25 -15
- package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
- package/dist/headless/components/inputs/radioButton/radioButton.js +48 -34
- package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
- package/dist/headless/components/inputs/rating/rating.js +74 -53
- package/dist/headless/components/inputs/rating/rating.js.map +1 -1
- package/dist/headless/components/inputs/selectField/dropdownMenu.js +268 -143
- package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
- package/dist/headless/components/inputs/selectField/optionNavigation.js +37 -0
- package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
- package/dist/headless/components/inputs/selectField/selectField.js +297 -126
- package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/headless/components/inputs/slider/slider.js +320 -197
- package/dist/headless/components/inputs/slider/slider.js.map +1 -1
- package/dist/headless/components/inputs/textField/textField.js +104 -51
- package/dist/headless/components/inputs/textField/textField.js.map +1 -1
- package/dist/headless/components/inputs/textField/textFieldWrapper.js +52 -45
- package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/headless/components/inputs/timePicker/timePicker.js +74 -63
- package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/headless/components/inputs/toggle/toggle.js +42 -30
- package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
- package/dist/headless/components/inputs/valueSlider/valueSlider.js +33 -28
- package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
- package/dist/headless/components/layout/appLayout/appLayout.js +29 -27
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/headless/components/layout/divider/divider.js +19 -17
- package/dist/headless/components/layout/divider/divider.js.map +1 -1
- package/dist/headless/components/layout/floatingWindow/floatingWindow.js +185 -182
- package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
- package/dist/headless/components/layout/grid/grid.js +54 -46
- package/dist/headless/components/layout/grid/grid.js.map +1 -1
- package/dist/headless/components/layout/page/page.js +12 -10
- package/dist/headless/components/layout/page/page.js.map +1 -1
- package/dist/headless/components/layout/pageHeader/pageHeader.js +22 -20
- package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js +39 -37
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
- package/dist/headless/components/layout/sheet/sheet.js +50 -48
- package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
- package/dist/headless/components/layout/stack/stack.js +23 -21
- package/dist/headless/components/layout/stack/stack.js.map +1 -1
- package/dist/headless/components/navigation/appBar/appBar.js +15 -13
- package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +125 -120
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +13 -9
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/headless/components/navigation/menu/menu.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuComponent.js +12 -23
- package/dist/headless/components/navigation/menu/menuComponent.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuFloating.js +54 -46
- package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuItem.js +58 -33
- package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuList.js +34 -16
- package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuSubmenu.js +58 -38
- package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
- package/dist/headless/components/navigation/pagination/pagination.js +23 -19
- package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/headless/components/navigation/sidebar/sidebar.js +14 -12
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/headless/components/navigation/stepper/stepper.js +38 -34
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tab/tab.js +48 -37
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabs.js +91 -76
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -1
- package/dist/headless/index.js +224 -220
- 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/primitives/createDismissOnEscape.js +14 -0
- package/dist/headless/primitives/createDismissOnEscape.js.map +1 -0
- package/dist/headless/primitives/createFocusTrap.js +1 -0
- package/dist/headless/primitives/createFocusTrap.js.map +1 -1
- package/dist/headless/primitives/createHelperText.js +14 -0
- package/dist/headless/primitives/createHelperText.js.map +1 -0
- package/dist/headless/primitives/mergeStyle.js +9 -0
- package/dist/headless/primitives/mergeStyle.js.map +1 -0
- package/dist/headless/primitives/overlayLayer.js +14 -7
- package/dist/headless/primitives/overlayLayer.js.map +1 -1
- package/dist/headless/source/components/base/animateHeight/animateHeight.jsx +7 -11
- package/dist/headless/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
- package/dist/headless/source/components/base/icon/icon.jsx +10 -12
- package/dist/headless/source/components/base/icon/icon.jsx.map +1 -1
- package/dist/headless/source/components/base/ripple/ripple.jsx +16 -4
- package/dist/headless/source/components/base/ripple/ripple.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx +14 -7
- package/dist/headless/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/card/card.jsx +31 -12
- package/dist/headless/source/components/dataDisplay/card/card.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx +9 -3
- package/dist/headless/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chart/chart.jsx +5 -4
- package/dist/headless/source/components/dataDisplay/chart/chart.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
- package/dist/headless/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
- package/dist/headless/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
- package/dist/headless/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx +55 -19
- package/dist/headless/source/components/dataDisplay/chip/chip.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
- package/dist/headless/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js +383 -0
- package/dist/headless/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx +639 -0
- package/dist/headless/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/dagView/index.js +10 -0
- package/dist/headless/source/components/dataDisplay/dagView/index.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/dagView/panZoom.js +247 -0
- package/dist/headless/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
- package/dist/headless/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
- package/dist/headless/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx +20 -10
- package/dist/headless/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
- package/dist/headless/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/list/list.jsx +3 -3
- package/dist/headless/source/components/dataDisplay/list/list.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/list/listItem.jsx +11 -10
- package/dist/headless/source/components/dataDisplay/list/listItem.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/meter/meter.jsx +3 -2
- package/dist/headless/source/components/dataDisplay/meter/meter.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx +3 -2
- package/dist/headless/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/stat/stat.jsx +7 -8
- package/dist/headless/source/components/dataDisplay/stat/stat.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/table.jsx +18 -1
- package/dist/headless/source/components/dataDisplay/table/table.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableBody.jsx +6 -1
- package/dist/headless/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx +13 -4
- package/dist/headless/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx +311 -0
- package/dist/headless/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
- package/dist/headless/source/components/dataDisplay/table/tableEntities.js +7 -0
- package/dist/headless/source/components/dataDisplay/table/tableEntities.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/table/tableHead.jsx +14 -1
- package/dist/headless/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
- package/dist/headless/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js +140 -0
- package/dist/headless/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
- package/dist/headless/source/components/dataDisplay/table/tableRow.jsx +11 -5
- package/dist/headless/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
- package/dist/headless/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx +9 -2
- package/dist/headless/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx +2 -6
- package/dist/headless/source/components/dataDisplay/typography/typography.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx +12 -2
- package/dist/headless/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/message/message.jsx +5 -4
- package/dist/headless/source/components/feedBack/message/message.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/modal/modal.jsx +5 -2
- package/dist/headless/source/components/feedBack/modal/modal.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx +12 -5
- package/dist/headless/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx +3 -3
- package/dist/headless/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx +52 -5
- package/dist/headless/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
- package/dist/headless/source/components/inputs/button/button.jsx +8 -3
- package/dist/headless/source/components/inputs/button/button.jsx.map +1 -1
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
- package/dist/headless/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
- package/dist/headless/source/components/inputs/checkbox/checkbox.jsx +27 -4
- package/dist/headless/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx +13 -0
- package/dist/headless/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
- package/dist/headless/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
- package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
- package/dist/headless/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
- package/dist/headless/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
- package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
- package/dist/headless/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
- package/dist/headless/source/components/inputs/radioButton/radioButton.jsx +16 -4
- package/dist/headless/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
- package/dist/headless/source/components/inputs/rating/rating.jsx +49 -20
- package/dist/headless/source/components/inputs/rating/rating.jsx.map +1 -1
- package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
- package/dist/headless/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
- package/dist/headless/source/components/inputs/selectField/optionNavigation.js +51 -0
- package/dist/headless/source/components/inputs/selectField/optionNavigation.js.map +7 -0
- package/dist/headless/source/components/inputs/selectField/selectField.jsx +318 -92
- package/dist/headless/source/components/inputs/selectField/selectField.jsx.map +1 -1
- package/dist/headless/source/components/inputs/slider/slider.jsx +89 -18
- package/dist/headless/source/components/inputs/slider/slider.jsx.map +1 -1
- package/dist/headless/source/components/inputs/textField/textField.jsx +47 -9
- package/dist/headless/source/components/inputs/textField/textField.jsx.map +1 -1
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
- package/dist/headless/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
- package/dist/headless/source/components/inputs/timePicker/timePicker.jsx +13 -0
- package/dist/headless/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
- package/dist/headless/source/components/inputs/toggle/toggle.jsx +14 -2
- package/dist/headless/source/components/inputs/toggle/toggle.jsx.map +1 -1
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
- package/dist/headless/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx +8 -6
- package/dist/headless/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/headless/source/components/layout/divider/divider.jsx +6 -5
- package/dist/headless/source/components/layout/divider/divider.jsx.map +1 -1
- package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
- package/dist/headless/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
- package/dist/headless/source/components/layout/grid/grid.jsx +20 -8
- package/dist/headless/source/components/layout/grid/grid.jsx.map +1 -1
- package/dist/headless/source/components/layout/page/page.jsx +10 -2
- package/dist/headless/source/components/layout/page/page.jsx.map +1 -1
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx +3 -2
- package/dist/headless/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
- package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
- package/dist/headless/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
- package/dist/headless/source/components/layout/sheet/sheet.jsx +6 -8
- package/dist/headless/source/components/layout/sheet/sheet.jsx.map +1 -1
- package/dist/headless/source/components/layout/stack/stack.jsx +15 -11
- package/dist/headless/source/components/layout/stack/stack.jsx.map +1 -1
- package/dist/headless/source/components/navigation/appBar/appBar.jsx +3 -2
- package/dist/headless/source/components/navigation/appBar/appBar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
- package/dist/headless/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
- package/dist/headless/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menu.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuComponent.jsx +3 -4
- package/dist/headless/source/components/navigation/menu/menuComponent.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuContext.js.map +2 -2
- package/dist/headless/source/components/navigation/menu/menuFloating.jsx +26 -4
- package/dist/headless/source/components/navigation/menu/menuFloating.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuItem.jsx +22 -2
- package/dist/headless/source/components/navigation/menu/menuItem.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuList.jsx +19 -7
- package/dist/headless/source/components/navigation/menu/menuList.jsx.map +1 -1
- package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx +36 -4
- package/dist/headless/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
- package/dist/headless/source/components/navigation/pagination/pagination.jsx +4 -3
- package/dist/headless/source/components/navigation/pagination/pagination.jsx.map +1 -1
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx +1 -1
- package/dist/headless/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
- package/dist/headless/source/components/navigation/stepper/stepper.jsx +14 -9
- package/dist/headless/source/components/navigation/stepper/stepper.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx +12 -16
- package/dist/headless/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/tabs.jsx +34 -10
- package/dist/headless/source/components/navigation/tabs/tabs.jsx.map +1 -1
- package/dist/headless/source/components/navigation/tabs/tabsContext.js.map +2 -2
- package/dist/headless/source/connects/rt/table/table.jsx +7 -2
- package/dist/headless/source/connects/rt/table/table.jsx.map +1 -1
- package/dist/headless/source/index.js +3 -0
- 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/headless/source/primitives/createDismissOnEscape.js +17 -0
- package/dist/headless/source/primitives/createDismissOnEscape.js.map +7 -0
- package/dist/headless/source/primitives/createFocusTrap.js +1 -0
- package/dist/headless/source/primitives/createFocusTrap.js.map +2 -2
- package/dist/headless/source/primitives/createHelperText.js +16 -0
- package/dist/headless/source/primitives/createHelperText.js.map +7 -0
- package/dist/headless/source/primitives/mergeStyle.js +15 -0
- package/dist/headless/source/primitives/mergeStyle.js.map +7 -0
- package/dist/headless/source/primitives/overlayLayer.js +10 -2
- package/dist/headless/source/primitives/overlayLayer.js.map +2 -2
- package/dist/headless/source/utils/controlProps.js +22 -0
- package/dist/headless/source/utils/controlProps.js.map +7 -0
- package/dist/headless/source/utils/ownClick.js +41 -0
- package/dist/headless/source/utils/ownClick.js.map +7 -0
- package/dist/headless/utils/controlProps.js +20 -0
- package/dist/headless/utils/controlProps.js.map +1 -0
- package/dist/headless/utils/ownClick.js +39 -0
- package/dist/headless/utils/ownClick.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +224 -220
- 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/primitives/createDismissOnEscape.d.ts +12 -0
- package/dist/primitives/createDismissOnEscape.js +14 -0
- package/dist/primitives/createDismissOnEscape.js.map +1 -0
- package/dist/primitives/createFocusTrap.d.ts +2 -0
- package/dist/primitives/createFocusTrap.js +1 -0
- package/dist/primitives/createFocusTrap.js.map +1 -1
- package/dist/primitives/createHelperText.d.ts +26 -0
- package/dist/primitives/createHelperText.js +14 -0
- package/dist/primitives/createHelperText.js.map +1 -0
- package/dist/primitives/mergeStyle.d.ts +19 -0
- package/dist/primitives/mergeStyle.js +9 -0
- package/dist/primitives/mergeStyle.js.map +1 -0
- package/dist/primitives/overlayLayer.d.ts +15 -3
- package/dist/primitives/overlayLayer.js +14 -7
- package/dist/primitives/overlayLayer.js.map +1 -1
- package/dist/source/components/base/animateHeight/animateHeight.jsx +7 -11
- package/dist/source/components/base/animateHeight/animateHeight.jsx.map +1 -1
- package/dist/source/components/base/icon/icon.jsx +10 -12
- package/dist/source/components/base/icon/icon.jsx.map +1 -1
- package/dist/source/components/base/ripple/ripple.jsx +16 -4
- package/dist/source/components/base/ripple/ripple.jsx.map +1 -1
- package/dist/source/components/dataDisplay/avatar/avatar.jsx +14 -7
- package/dist/source/components/dataDisplay/avatar/avatar.jsx.map +1 -1
- package/dist/source/components/dataDisplay/card/card.jsx +31 -12
- package/dist/source/components/dataDisplay/card/card.jsx.map +1 -1
- package/dist/source/components/dataDisplay/carousel/carousel.jsx +9 -3
- package/dist/source/components/dataDisplay/carousel/carousel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chart/chart.jsx +5 -4
- package/dist/source/components/dataDisplay/chart/chart.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatIconButton.jsx +13 -3
- package/dist/source/components/dataDisplay/chat/chatIconButton.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatLayout.jsx +6 -7
- package/dist/source/components/dataDisplay/chat/chatLayout.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx +5 -6
- package/dist/source/components/dataDisplay/chat/chatOverlayLayout.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chip/chip.jsx +55 -19
- package/dist/source/components/dataDisplay/chip/chip.jsx.map +1 -1
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx +14 -11
- package/dist/source/components/dataDisplay/chipGroup/chipGroup.jsx.map +1 -1
- package/dist/source/components/dataDisplay/dagView/dagLayout.js +383 -0
- package/dist/source/components/dataDisplay/dagView/dagLayout.js.map +7 -0
- package/dist/source/components/dataDisplay/dagView/dagView.jsx +641 -0
- package/dist/source/components/dataDisplay/dagView/dagView.jsx.map +1 -0
- package/dist/source/components/dataDisplay/dagView/index.js +10 -0
- package/dist/source/components/dataDisplay/dagView/index.js.map +7 -0
- package/dist/source/components/dataDisplay/dagView/panZoom.js +247 -0
- package/dist/source/components/dataDisplay/dagView/panZoom.js.map +7 -0
- package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx +4 -6
- package/dist/source/components/dataDisplay/descriptionList/descriptionList.jsx.map +1 -1
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx +83 -9
- package/dist/source/components/dataDisplay/expansionPanel/expansionPanel.jsx.map +1 -1
- package/dist/source/components/dataDisplay/kanban/kanban.jsx +20 -10
- package/dist/source/components/dataDisplay/kanban/kanban.jsx.map +1 -1
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx +1 -1
- package/dist/source/components/dataDisplay/lazyImage/lazyImage.jsx.map +1 -1
- package/dist/source/components/dataDisplay/list/list.jsx +3 -3
- package/dist/source/components/dataDisplay/list/list.jsx.map +1 -1
- package/dist/source/components/dataDisplay/list/listItem.jsx +11 -10
- package/dist/source/components/dataDisplay/list/listItem.jsx.map +1 -1
- package/dist/source/components/dataDisplay/meter/meter.jsx +3 -2
- package/dist/source/components/dataDisplay/meter/meter.jsx.map +1 -1
- package/dist/source/components/dataDisplay/personChip/personChip.jsx +3 -2
- package/dist/source/components/dataDisplay/personChip/personChip.jsx.map +1 -1
- package/dist/source/components/dataDisplay/stat/stat.jsx +7 -8
- package/dist/source/components/dataDisplay/stat/stat.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/table.jsx +18 -1
- package/dist/source/components/dataDisplay/table/table.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableBody.jsx +6 -1
- package/dist/source/components/dataDisplay/table/tableBody.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableCell.jsx +13 -4
- package/dist/source/components/dataDisplay/table/tableCell.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableColumns.jsx +311 -0
- package/dist/source/components/dataDisplay/table/tableColumns.jsx.map +1 -0
- package/dist/source/components/dataDisplay/table/tableEntities.js +7 -0
- package/dist/source/components/dataDisplay/table/tableEntities.js.map +7 -0
- package/dist/source/components/dataDisplay/table/tableHead.jsx +14 -1
- package/dist/source/components/dataDisplay/table/tableHead.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx +51 -33
- package/dist/source/components/dataDisplay/table/tableHeadCell.jsx.map +1 -1
- package/dist/source/components/dataDisplay/table/tableHtmlText.js +140 -0
- package/dist/source/components/dataDisplay/table/tableHtmlText.js.map +7 -0
- package/dist/source/components/dataDisplay/table/tableRow.jsx +11 -5
- package/dist/source/components/dataDisplay/table/tableRow.jsx.map +1 -1
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx +48 -19
- package/dist/source/components/dataDisplay/thumbCard/thumbCard.jsx.map +1 -1
- package/dist/source/components/dataDisplay/treeView/treeView.jsx +9 -2
- package/dist/source/components/dataDisplay/treeView/treeView.jsx.map +1 -1
- package/dist/source/components/dataDisplay/typography/typography.jsx +2 -6
- package/dist/source/components/dataDisplay/typography/typography.jsx.map +1 -1
- package/dist/source/components/feedBack/emptyState/emptyState.jsx +12 -2
- package/dist/source/components/feedBack/emptyState/emptyState.jsx.map +1 -1
- package/dist/source/components/feedBack/message/message.jsx +5 -4
- package/dist/source/components/feedBack/message/message.jsx.map +1 -1
- package/dist/source/components/feedBack/modal/modal.jsx +5 -2
- package/dist/source/components/feedBack/modal/modal.jsx.map +1 -1
- package/dist/source/components/feedBack/skeleton/skeleton.jsx +12 -5
- package/dist/source/components/feedBack/skeleton/skeleton.jsx.map +1 -1
- package/dist/source/components/feedBack/snackbar/snackbar.jsx +3 -3
- package/dist/source/components/feedBack/snackbar/snackbar.jsx.map +1 -1
- package/dist/source/components/feedBack/tooltip/tooltip.jsx +52 -5
- package/dist/source/components/feedBack/tooltip/tooltip.jsx.map +1 -1
- package/dist/source/components/inputs/button/button.jsx +8 -3
- package/dist/source/components/inputs/button/button.jsx.map +1 -1
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx +4 -3
- package/dist/source/components/inputs/buttonGroups/buttonGroup.jsx.map +1 -1
- package/dist/source/components/inputs/checkbox/checkbox.jsx +27 -4
- package/dist/source/components/inputs/checkbox/checkbox.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePicker.jsx +13 -0
- package/dist/source/components/inputs/datePicker/datePicker.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx +4 -1
- package/dist/source/components/inputs/datePicker/datePickerActionLabel.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePickerDay.jsx +12 -12
- package/dist/source/components/inputs/datePicker/datePickerDay.jsx.map +1 -1
- package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx +13 -3
- package/dist/source/components/inputs/datePicker/datePickerIconButton.jsx.map +1 -1
- package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx +13 -0
- package/dist/source/components/inputs/dateTimePicker/dateTimePicker.jsx.map +1 -1
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx +12 -1
- package/dist/source/components/inputs/floatingButton/floatingButton.jsx.map +1 -1
- package/dist/source/components/inputs/radioButton/radioButton.jsx +16 -4
- package/dist/source/components/inputs/radioButton/radioButton.jsx.map +1 -1
- package/dist/source/components/inputs/rating/rating.jsx +49 -20
- package/dist/source/components/inputs/rating/rating.jsx.map +1 -1
- package/dist/source/components/inputs/selectField/dropdownMenu.jsx +222 -61
- package/dist/source/components/inputs/selectField/dropdownMenu.jsx.map +1 -1
- package/dist/source/components/inputs/selectField/optionNavigation.js +51 -0
- package/dist/source/components/inputs/selectField/optionNavigation.js.map +7 -0
- package/dist/source/components/inputs/selectField/selectField.jsx +318 -92
- package/dist/source/components/inputs/selectField/selectField.jsx.map +1 -1
- package/dist/source/components/inputs/slider/slider.jsx +89 -18
- package/dist/source/components/inputs/slider/slider.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textField.jsx +47 -9
- package/dist/source/components/inputs/textField/textField.jsx.map +1 -1
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx +20 -6
- package/dist/source/components/inputs/textField/textFieldWrapper.jsx.map +1 -1
- package/dist/source/components/inputs/timePicker/timePicker.jsx +13 -0
- package/dist/source/components/inputs/timePicker/timePicker.jsx.map +1 -1
- package/dist/source/components/inputs/toggle/toggle.jsx +14 -2
- package/dist/source/components/inputs/toggle/toggle.jsx.map +1 -1
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx +7 -2
- package/dist/source/components/inputs/valueSlider/valueSlider.jsx.map +1 -1
- package/dist/source/components/layout/appLayout/appLayout.jsx +8 -6
- package/dist/source/components/layout/appLayout/appLayout.jsx.map +1 -1
- package/dist/source/components/layout/divider/divider.jsx +6 -5
- package/dist/source/components/layout/divider/divider.jsx.map +1 -1
- package/dist/source/components/layout/floatingWindow/floatingWindow.jsx +17 -11
- package/dist/source/components/layout/floatingWindow/floatingWindow.jsx.map +1 -1
- package/dist/source/components/layout/grid/grid.jsx +20 -8
- package/dist/source/components/layout/grid/grid.jsx.map +1 -1
- package/dist/source/components/layout/page/page.jsx +10 -2
- package/dist/source/components/layout/page/page.jsx.map +1 -1
- package/dist/source/components/layout/pageHeader/pageHeader.jsx +3 -2
- package/dist/source/components/layout/pageHeader/pageHeader.jsx.map +1 -1
- package/dist/source/components/layout/sectionHeader/sectionHeader.jsx +5 -5
- package/dist/source/components/layout/sectionHeader/sectionHeader.jsx.map +1 -1
- package/dist/source/components/layout/sheet/sheet.jsx +6 -8
- package/dist/source/components/layout/sheet/sheet.jsx.map +1 -1
- package/dist/source/components/layout/stack/stack.jsx +15 -11
- package/dist/source/components/layout/stack/stack.jsx.map +1 -1
- package/dist/source/components/navigation/appBar/appBar.jsx +3 -2
- package/dist/source/components/navigation/appBar/appBar.jsx.map +1 -1
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx +48 -40
- package/dist/source/components/navigation/bottomBar/bottomBar.jsx.map +1 -1
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx +9 -2
- package/dist/source/components/navigation/breadcrumbs/breadcrumbs.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menu.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuComponent.jsx +3 -4
- package/dist/source/components/navigation/menu/menuComponent.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuContext.js.map +2 -2
- package/dist/source/components/navigation/menu/menuFloating.jsx +26 -4
- package/dist/source/components/navigation/menu/menuFloating.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuItem.jsx +22 -2
- package/dist/source/components/navigation/menu/menuItem.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuList.jsx +19 -7
- package/dist/source/components/navigation/menu/menuList.jsx.map +1 -1
- package/dist/source/components/navigation/menu/menuSubmenu.jsx +36 -4
- package/dist/source/components/navigation/menu/menuSubmenu.jsx.map +1 -1
- package/dist/source/components/navigation/pagination/pagination.jsx +4 -3
- package/dist/source/components/navigation/pagination/pagination.jsx.map +1 -1
- package/dist/source/components/navigation/sidebar/sidebar.jsx +1 -1
- package/dist/source/components/navigation/sidebar/sidebar.jsx.map +1 -1
- package/dist/source/components/navigation/stepper/stepper.jsx +14 -9
- package/dist/source/components/navigation/stepper/stepper.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tab/tab.jsx +12 -16
- package/dist/source/components/navigation/tabs/tab/tab.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tabs.jsx +34 -10
- package/dist/source/components/navigation/tabs/tabs.jsx.map +1 -1
- package/dist/source/components/navigation/tabs/tabsContext.js.map +2 -2
- package/dist/source/connects/rt/table/table.jsx +7 -2
- package/dist/source/connects/rt/table/table.jsx.map +1 -1
- package/dist/source/index.js +3 -0
- 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/dist/source/primitives/createDismissOnEscape.js +17 -0
- package/dist/source/primitives/createDismissOnEscape.js.map +7 -0
- package/dist/source/primitives/createFocusTrap.js +1 -0
- package/dist/source/primitives/createFocusTrap.js.map +2 -2
- package/dist/source/primitives/createHelperText.js +16 -0
- package/dist/source/primitives/createHelperText.js.map +7 -0
- package/dist/source/primitives/mergeStyle.js +15 -0
- package/dist/source/primitives/mergeStyle.js.map +7 -0
- package/dist/source/primitives/overlayLayer.js +10 -2
- package/dist/source/primitives/overlayLayer.js.map +2 -2
- package/dist/source/utils/controlProps.js +22 -0
- package/dist/source/utils/controlProps.js.map +7 -0
- package/dist/source/utils/ownClick.js +41 -0
- package/dist/source/utils/ownClick.js.map +7 -0
- package/dist/utils/controlProps.d.ts +17 -0
- package/dist/utils/controlProps.js +20 -0
- package/dist/utils/controlProps.js.map +1 -0
- package/dist/utils/ownClick.d.ts +16 -0
- package/dist/utils/ownClick.js +39 -0
- package/dist/utils/ownClick.js.map +1 -0
- package/package.json +9 -3
|
@@ -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 /** 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
|
+
{"version":3,"file":"selectField.js","sources":["../../../../src/components/inputs/selectField/selectField.tsx"],"sourcesContent":["import { type JSX, For, Show, createEffect, createMemo, createSignal, onCleanup, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { DropdownMenu, type DropdownItem, type DropdownItemProps, dropdownOptionId } from \"./dropdownMenu\";\nimport { firstOption, lastOption, matchOption, moveOption } from \"./optionNavigation\";\nimport { Chip } from \"../../dataDisplay/chip\";\nimport { TextFieldWrapper } from \"../textField\";\nimport { createHelperText } from \"../../../primitives/createHelperText\";\nimport { Icon } from \"../../base/icon\";\nimport type { MenuItemProps } from \"../../navigation/menu\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { createId } from \"../../../primitives/createId\";\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 /**\n * The selected value, or the values of a `multiple` field. Any value but\n * `undefined` makes the field controlled: it shows this value and nothing\n * else, and a pick, a chip delete or a clear only asks for a change through\n * `onChange`. `null` means nothing is selected. While `value` is `undefined`,\n * the field keeps its own value, starting from `defaultValue`.\n */\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 /**\n * A search box for the options: `true` puts it in the field, where it takes\n * the focus and is the combobox; `\"menu\"` puts it at the top of the menu,\n * which moves the focus into it when it opens.\n */\n search?: true | false | \"menu\";\n chips?: boolean;\n isFocused?: boolean;\n error?: boolean;\n items: DropdownItem[];\n /**\n * Visible label, drawn above the field (an `inline` field draws none). It\n * names the combobox, whose value is the selected text: \"Country\", \"Russia\".\n * With `chips` the chips' texts follow it in the name: \"Labels Backend Docs\".\n */\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 /**\n * Draws an option in place of the default one. It gets the option's props\n * and returns its `<li>`: pass `id`, `role`, `aria-selected`, `aria-disabled`,\n * `class` and `onClick` on to it, so the option can be reached from the\n * keyboard, read out and picked.\n */\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 /**\n * Accessible name of the combobox. Replaces the name the visible `label`\n * gives it; a field without a drawn label needs it.\n */\n \"aria-label\"?: string | undefined;\n /**\n * Id of the control, the part of the field that holds the selected text. It is\n * the combobox, unless `search` puts a search box in it: then the box is.\n */\n id?: string;\n ref?: Ref<HTMLSpanElement>;\n}\n\nfunction stopEvent(event: Event): void {\n event.preventDefault();\n event.stopPropagation();\n}\n\n// The items whose text holds the search text, in any case. The text is taken\n// literally: \"C++\" or \"(\" searches for those characters.\nfunction filterItems(items: DropdownItem[], searchText: string): DropdownItem[] {\n if (!searchText) return items;\n const pattern = new RegExp(searchText.replace(/[.*+?^${}()|[\\]\\\\]/g, \"\\\\$&\"), \"i\");\n return items.filter((el) => el.text.search(pattern) !== -1);\n}\n\n// A key that types a character: type-ahead in the options.\nfunction isPrintableKey(event: KeyboardEvent): boolean {\n return event.key.length === 1 && event.key !== \" \" && !event.altKey && !event.ctrlKey && !event.metaKey;\n}\n\n// Keys come to the combobox: the control, the search box in the field, or the\n// search box in the menu. The two search boxes keep the keys that edit text.\ntype ComboboxKind = \"control\" | \"search\" | \"menuSearch\";\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 helper = createHelperText(() => local.helperText, { inline: () => local.inline });\n const [isOpen, setIsOpen] = createSignal(false);\n const [valueState, setValueState] = createSignal<SelectValue | undefined>(local.defaultValue);\n const [searchValue, setSearchValue] = createSignal(\"\");\n // The option the keyboard is on (aria-activedescendant), by index in the\n // options drawn; it shows once a key moves it, not on a pointer's open.\n const [activeIndex, setActiveIndex] = createSignal(-1);\n const [showActive, setShowActive] = createSignal(false);\n const typeaheadState: { text: string; timer?: ReturnType<typeof setTimeout> } = { text: \"\" };\n onCleanup(() => clearTimeout(typeaheadState.timer));\n\n // Controlled while the parent passes a `value` other than `undefined` (`null`\n // is \"nothing selected\"), checked on every read as in `createControllableState`.\n const isControlled = (): boolean => local.value !== undefined;\n let anchorEl: HTMLSpanElement | undefined;\n let controlEl: HTMLSpanElement | undefined;\n let searchWrapperEl: HTMLSpanElement | undefined;\n let searchInputEl: HTMLInputElement | undefined;\n let menuEl: HTMLDivElement | undefined;\n let menuSearchInputEl: HTMLInputElement | undefined;\n\n const value = (): SelectValue | undefined => (isControlled() ? local.value : valueState());\n const isFocused = (): boolean => !!local.isFocused || isOpen();\n\n // The combobox is named by the label, and its value is the selected text it\n // holds. Chips sit beside the control with their delete buttons, so their\n // labels follow the label in the name (\"Labels Backend Docs\"). With neither a\n // drawn label nor chips, the selected text names it, as before it was a\n // combobox. A caller's aria-label replaces all of these: on one element\n // aria-labelledby would win over it.\n const baseId = createId();\n const labelId = `${baseId}-label`;\n const valueId = `${baseId}-value`;\n const listboxId = `${baseId}-listbox`;\n const valueIds = (): string[] => (local.chips ? selectedItems().map((_, index) => `${valueId}-${index}`) : [valueId]);\n const controlLabelledBy = (): string | undefined => {\n if (local[\"aria-label\"]) return undefined;\n const chipIds = local.chips ? valueIds() : [];\n if (local.label && !local.inline) return [labelId, ...chipIds].join(\" \");\n if (chipIds.length > 0) return chipIds.join(\" \");\n return !local.chips && selectedItems().length > 0 ? valueId : undefined;\n };\n // A search box in the field is a combobox whose value is the typed text, so\n // the selected text follows the label in its name.\n const labelledBy = (): string | undefined => {\n if (local[\"aria-label\"]) return undefined;\n if (local.label && !local.inline) return [labelId, ...valueIds()].join(\" \");\n return local.chips && valueIds().length > 0 ? valueIds().join(\" \") : undefined;\n };\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 // The search input takes the keyboard focus, so it is the field's only tab\n // stop. A focusable span before it would take Shift+Tab from the input and\n // hand the focus straight back to the input.\n const hasSearchInput = (): boolean => local.search === true && !local.readOnly;\n\n // The options as drawn: the items the search text keeps (all of them when\n // the caller searches itself), then the create option.\n const displayedItems = createMemo(() => (local.onSearch ? local.items : filterItems(local.items, searchValue())));\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 closeMenu();\n },\n };\n }\n return undefined;\n };\n\n const createIndex = (): number => (createOption() ? displayedItems().length : -1);\n const optionCount = (): number => displayedItems().length + (createOption() ? 1 : 0);\n // A loading menu shows no items, only the create option.\n const isOptionEnabled = (index: number): boolean =>\n index >= 0 &&\n (index === createIndex() ||\n (!local.isLoading && index < displayedItems().length && !displayedItems()[index]?.disabled));\n const currentActive = (): number => (isOpen() && isOptionEnabled(activeIndex()) ? activeIndex() : -1);\n const activeDescendant = (): string | undefined =>\n showActive() && currentActive() >= 0 ? dropdownOptionId(listboxId, currentActive()) : undefined;\n\n const isItemSelected = (item: DropdownItem): boolean => {\n const v = value();\n return Array.isArray(v) ? v.includes(item.value) : v != null && v !== \"\" && v === item.value;\n };\n\n // The keyboard starts on the selected option (the first one of several), or\n // on the first option.\n const initialActive = (): number => {\n const selected = displayedItems().findIndex(isItemSelected);\n return isOptionEnabled(selected) ? selected : firstOption(optionCount(), isOptionEnabled);\n };\n\n // A pointer's open marks no option: the keyboard's active option starts on\n // the selected one, unshown, or with nothing selected on none, so the first\n // ArrowDown reaches the first option.\n const pointerActive = (): number => {\n const selected = displayedItems().findIndex(isItemSelected);\n return isOptionEnabled(selected) ? selected : -1;\n };\n\n const openMenu = (active: number, byKeyboard: boolean): void => {\n setActiveIndex(active);\n setShowActive(byKeyboard);\n setIsOpen(true);\n };\n\n // A menu that had the focus (its search box) hands it back to the control;\n // one closed by a press elsewhere leaves the focus where the press put it.\n const closeMenu = (): void => {\n if (menuEl?.contains(menuEl.ownerDocument.activeElement)) controlEl?.focus();\n setIsOpen(false);\n setActiveIndex(-1);\n setShowActive(false);\n };\n\n const updateValue = (event: SelectEvent, next: SelectValue | undefined): void => {\n local.onChange?.(event, { ...props, value: next, name: local.name || undefined });\n // The field's own value changes only while it is uncontrolled, as in\n // `createControllableState`: a parent that stops passing `value` gets back\n // the field's `defaultValue`, or the picks made before it passed one.\n if (!isControlled()) setValueState(next);\n };\n\n // Always attached and checks the props itself. Solid binds event handlers\n // once, and TextFieldWrapper builds the field in a tracked scope (it inserts\n // its children), so choosing the handler by `disabled` or `readOnly` there\n // would rebuild the field whenever one of them changes.\n const onMouseDown: JSX.EventHandler<HTMLSpanElement, MouseEvent> = (event) => {\n if (local.disabled || local.readOnly || event.button !== 0) return;\n event.preventDefault();\n controlEl?.focus();\n if (isOpen()) closeMenu();\n else openMenu(pointerActive(), false);\n };\n\n const onFocus = (): void => {\n if (hasSearchInput()) searchInputEl?.focus();\n };\n\n // Picks an item: `multiple` toggles it; a single select takes it, and a click\n // on the selected item clears the value (`toggleOff`), where a key keeps it.\n const chooseItem = (event: SelectEvent, item: DropdownItem, toggleOff: boolean): 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 if (value() === item.value && !toggleOff) return;\n next = value() === item.value ? \"\" : item.value;\n }\n if (searchValue()) setSearchValue(\"\");\n updateValue(event, next);\n };\n\n const onItemClick = (event: SelectEvent, item: DropdownItem): void => {\n chooseItem(event, item, true);\n if (local.multiple) {\n // The search text goes with the pick, so the item's place is in all items.\n setActiveIndex(local.items.indexOf(item));\n } else {\n closeMenu();\n controlEl?.focus();\n }\n };\n\n // Enter, Space, Tab or Alt+ArrowUp on the active option, once it shows: an\n // option a key has not marked yet (after a pointer's open) is not picked.\n const chooseActive = (event: SelectEvent): void => {\n if (!showActive()) return;\n const active = currentActive();\n if (active >= 0 && active === createIndex()) {\n createOption()?.onCreate(event);\n } else {\n const item = displayedItems()[active];\n if (!item) return;\n const searching = !!searchValue();\n chooseItem(event, item, false);\n if (local.multiple) setActiveIndex(searching ? local.items.indexOf(item) : active);\n else closeMenu();\n }\n };\n\n const moveActive = (event: KeyboardEvent, index: number): void => {\n event.preventDefault();\n if (index >= 0) setActiveIndex(index);\n setShowActive(true);\n };\n\n // Type-ahead: letters typed in quick succession make a prefix to look for.\n const typeahead = (key: string): number => {\n clearTimeout(typeaheadState.timer);\n typeaheadState.text += key;\n typeaheadState.timer = setTimeout(() => {\n typeaheadState.text = \"\";\n }, 500);\n const texts = displayedItems().map((item) => item.text);\n return matchOption(texts, isOptionEnabled, typeaheadState.text, currentActive());\n };\n\n // The combobox's keys (WAI-ARIA combobox pattern): arrows, Home, End and the\n // page keys move the active option and open a closed menu; Enter and Space\n // pick it; Tab picks it in a single select and moves on; Escape closes.\n // The search boxes leave Space, Home, End and typing to the text.\n const onComboboxKeyDown = (\n event: KeyboardEvent & { currentTarget: Element; target: Element },\n kind: ComboboxKind\n ): void => {\n const { key } = event;\n if (local.disabled || local.readOnly || event.ctrlKey || event.metaKey) return;\n const isControl = kind === \"control\";\n const count = optionCount();\n\n if (!isOpen()) {\n if (key === \"ArrowDown\" || key === \"ArrowUp\" || key === \"Enter\" || (isControl && key === \" \")) {\n event.preventDefault();\n openMenu(initialActive(), true);\n } else if (isControl && (key === \"Home\" || key === \"End\")) {\n event.preventDefault();\n openMenu(key === \"Home\" ? firstOption(count, isOptionEnabled) : lastOption(count, isOptionEnabled), true);\n } else if (isControl && !local.search && isPrintableKey(event)) {\n event.preventDefault();\n const match = typeahead(key);\n openMenu(match >= 0 ? match : initialActive(), true);\n }\n return;\n }\n\n if (key === \"ArrowDown\") {\n moveActive(event, event.altKey ? currentActive() : moveOption(count, isOptionEnabled, currentActive(), 1));\n } else if (key === \"ArrowUp\" && event.altKey) {\n event.preventDefault();\n if (!local.multiple) chooseActive(event);\n closeMenu();\n } else if (key === \"ArrowUp\") {\n moveActive(event, moveOption(count, isOptionEnabled, currentActive(), -1));\n } else if (key === \"PageDown\" || key === \"PageUp\") {\n moveActive(event, moveOption(count, isOptionEnabled, currentActive(), key === \"PageDown\" ? 10 : -10));\n } else if (isControl && (key === \"Home\" || key === \"End\")) {\n moveActive(event, key === \"Home\" ? firstOption(count, isOptionEnabled) : lastOption(count, isOptionEnabled));\n } else if (key === \"Enter\" || (isControl && key === \" \")) {\n event.preventDefault();\n // After a pointer's open the first press shows the active option, the\n // next one picks it.\n const active = currentActive();\n chooseActive(event);\n setShowActive(true);\n if (!local.multiple && active < 0 && isControl) closeMenu();\n } else if (key === \"Escape\") {\n // Handled: the overlays around the field leave this press alone.\n event.preventDefault();\n closeMenu();\n } else if (key === \"Tab\") {\n // The search box in the menu goes with it: the focus goes back to the\n // control, which Tab then leaves as usual.\n if (kind === \"menuSearch\") event.preventDefault();\n else if (isControl && !local.multiple) chooseActive(event);\n closeMenu();\n } else if (isControl && !local.search && isPrintableKey(event)) {\n moveActive(event, typeahead(key));\n }\n };\n\n // Keys pressed on a button inside (a chip's delete button) bubble up here\n // too. Only the control's own keys work the menu: preventing the default\n // of theirs would cancel the button's activation.\n const onKeyDown: JSX.EventHandler<HTMLSpanElement, KeyboardEvent> = (event) => {\n if (event.target !== event.currentTarget || hasSearchInput()) return;\n onComboboxKeyDown(event, \"control\");\n };\n\n // A read-only field opens no menu: one that was open when the field became\n // read-only closes, so none of its options can be picked.\n createEffect(() => {\n if (local.readOnly && isOpen()) setIsOpen(false);\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 // A disabled field has no menu: one that was open when the field got\n // disabled closes, so none of its options can be picked.\n createEffect(() => {\n if (local.disabled && isOpen()) setIsOpen(false);\n });\n\n // The search box in the menu takes the focus when the menu opens. The menu\n // mounts its content in an effect of its own, after this one.\n createEffect(() => {\n if (isOpen() && local.search === \"menu\") queueMicrotask(() => menuSearchInputEl?.focus());\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 onSearchInputChange = (event: SearchEvent): void => {\n const text = event.currentTarget.value;\n setSearchValue(text);\n local.onSearch?.(event);\n // The keyboard moves on to the first option the text keeps, so Enter picks\n // it; items the caller searches for itself are not here yet.\n const kept = filterItems(local.items, text);\n const canCreate = local.creatable && text && !local.items.some((i) => i.text.toLowerCase() === text.toLowerCase());\n const count = local.onSearch ? 0 : kept.length + (canCreate ? 1 : 0);\n setActiveIndex(firstOption(count, (index) => index >= kept.length || !kept[index]?.disabled));\n setShowActive(true);\n if (!isOpen()) setIsOpen(true);\n };\n\n // A delete or clear button goes away with what it removes. When it had the\n // focus (a key press: a click leaves the focus where it was), the control\n // takes the focus over, so it does not drop to the page. Read before the\n // update, which removes the button at once.\n const hasFocus = (event: SelectEvent): boolean =>\n event.currentTarget.contains(event.currentTarget.ownerDocument.activeElement);\n\n const onDeleteChip = (currentValue: string | number | undefined | null) => (event: SelectEvent): void => {\n const current = value();\n if (Array.isArray(current)) {\n const refocus = hasFocus(event);\n updateValue(event, current.filter((v) => currentValue !== v));\n if (refocus) controlEl?.focus();\n }\n };\n\n const onResetSelected: JSX.EventHandler<HTMLButtonElement, MouseEvent> = (event) => {\n const refocus = hasFocus(event);\n updateValue(event, []);\n if (refocus) controlEl?.focus();\n };\n\n return (\n <>\n <TextFieldWrapper\n labelId={labelId}\n label={local.label}\n helperText={helper.text()}\n helperTextId={helper.id}\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 {/* The field: a press anywhere in it opens the menu, which lines up\n under it. The control, the part that is the combobox, sits inside,\n with the chips and the clear button beside it: nested in it, they\n would be read into its name. */}\n <span\n ref={(el) => (anchorEl = el)}\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 onMouseDown={onMouseDown}\n >\n <span class=\"smwb-select-field__search-wrapper\" ref={(el) => (searchWrapperEl = el)}>\n <Show when={local.chips}>\n <span class=\"smwb-select-field__values\">\n <For each={selectedItems()}>\n {(item, index) => (\n <Chip\n label={item.text}\n labelId={`${valueId}-${index()}`}\n deleteAriaLabel={`Remove ${item.text}`}\n size={local.size === \"small\" ? \"small\" : \"medium\"}\n // A read-only field shows its chips without delete buttons: Chip draws\n // one only when it gets onDelete. The cast just drops undefined, which\n // ChipProps leaves out under exactOptionalPropertyTypes; a conditional\n // spread would type-check but rebuild the chips whenever readOnly changes.\n onDelete={\n (local.readOnly ? undefined : onDeleteChip(item.value)) as ReturnType<typeof onDeleteChip>\n }\n onDeleteMouseDown={stopEvent}\n disabled={!!local.disabled}\n />\n )}\n </For>\n </span>\n </Show>\n {/* The combobox, unless the search box in it takes that part. */}\n <span\n ref={mergeRefs(local.ref, (el) => (controlEl = el as HTMLSpanElement))}\n id={local.id}\n class=\"smwb-select-field__control\"\n tabindex={local.disabled ? undefined : hasSearchInput() ? -1 : 0}\n role={hasSearchInput() ? undefined : \"combobox\"}\n aria-labelledby={hasSearchInput() ? undefined : controlLabelledBy()}\n aria-haspopup={hasSearchInput() ? undefined : \"listbox\"}\n aria-expanded={hasSearchInput() ? undefined : isOpen()}\n aria-controls={hasSearchInput() || !isOpen() ? undefined : listboxId}\n aria-activedescendant={hasSearchInput() || local.search === \"menu\" ? undefined : activeDescendant()}\n aria-disabled={hasSearchInput() ? undefined : local.disabled || undefined}\n aria-readonly={hasSearchInput() ? undefined : local.readOnly || undefined}\n aria-describedby={hasSearchInput() ? undefined : helper.describedBy()}\n aria-label={hasSearchInput() ? undefined : local[\"aria-label\"]}\n onFocus={onFocus}\n onKeyDown={onKeyDown}\n data-testid=\"select-field\"\n >\n <Show when={!local.chips}>\n <span id={valueId} class=\"smwb-select-field__values\">\n {selectedItems()\n .map((el) => el.text)\n .join(\", \")}\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 disabled={local.disabled}\n value={searchValue()}\n role=\"combobox\"\n aria-haspopup=\"listbox\"\n aria-expanded={isOpen()}\n aria-controls={isOpen() ? listboxId : undefined}\n aria-autocomplete=\"list\"\n aria-activedescendant={activeDescendant()}\n autocomplete=\"off\"\n aria-label={local[\"aria-label\"]}\n aria-labelledby={labelledBy()}\n aria-describedby={helper.describedBy()}\n onInput={onSearchInputChange}\n onMouseDown={(event) => {\n event.stopPropagation();\n if (!isOpen()) openMenu(pointerActive(), false);\n }}\n onKeyDown={(event) => {\n onComboboxKeyDown(event, \"search\");\n // Typed keys must not reach the span.\n if (event.key !== \"Escape\") event.stopPropagation();\n }}\n data-testid=\"search-input\"\n />\n </span>\n </Show>\n </span>\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 !local.readOnly\n }\n >\n <button\n type=\"button\"\n class=\"smwb-select-field__clear\"\n aria-label=\"Clear selection\"\n onClick={onResetSelected}\n onMouseDown={stopEvent}\n >\n <Icon name=\"close\" size={20} class={cn(\"smwb-select-field__icon\", \"smwb-select-field__icon--close\")} />\n </button>\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 menuRef={(el) => (menuEl = el)}\n menuMaxHeight={local.menuMaxHeight}\n menuMiddleware={local.menuMiddleware}\n search={local.search === \"menu\"}\n onSearchInputChange={onSearchInputChange}\n searchInputRef={(el) => (menuSearchInputEl = el)}\n searchInputProps={{\n role: \"combobox\",\n \"aria-haspopup\": \"listbox\",\n get \"aria-expanded\"() {\n return isOpen();\n },\n get \"aria-controls\"() {\n return isOpen() ? listboxId : undefined;\n },\n \"aria-autocomplete\": \"list\",\n get \"aria-activedescendant\"() {\n return activeDescendant();\n },\n get \"aria-labelledby\"() {\n return controlLabelledBy();\n },\n get \"aria-label\"() {\n return local[\"aria-label\"];\n },\n onKeyDown: (event) => onComboboxKeyDown(event, \"menuSearch\"),\n }}\n optionRenderer={local.optionRenderer}\n items={displayedItems()}\n searchValue={searchValue()}\n isOpen={isOpen()}\n onClose={closeMenu}\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 listboxId={listboxId}\n labelledBy={local[\"aria-label\"] ? undefined : local.label && !local.inline ? labelId : controlLabelledBy()}\n label={local[\"aria-label\"]}\n multiple={local.multiple}\n activeIndex={currentActive()}\n showActive={showActive()}\n />\n </>\n );\n}\n\nexport default SelectField;\n"],"names":["stopEvent","event","preventDefault","stopPropagation","filterItems","items","searchText","pattern","RegExp","replace","filter","el","text","search","isPrintableKey","key","length","altKey","ctrlKey","metaKey","SelectField","props","local","splitProps","variant","helper","createHelperText","helperText","inline","isOpen","setIsOpen","createSignal","valueState","setValueState","defaultValue","searchValue","setSearchValue","activeIndex","setActiveIndex","showActive","setShowActive","typeaheadState","onCleanup","clearTimeout","timer","isControlled","value","undefined","anchorEl","controlEl","searchWrapperEl","searchInputEl","menuEl","menuSearchInputEl","isFocused","baseId","createId","labelId","valueId","listboxId","valueIds","chips","selectedItems","map","_","index","controlLabelledBy","chipIds","label","join","labelledBy","createMemo","v","Array","isArray","item","includes","find","i","hasSearchInput","readOnly","displayedItems","onSearch","createOption","sv","creatable","some","toLowerCase","onCreate","closeMenu","createIndex","optionCount","isOptionEnabled","isLoading","disabled","currentActive","activeDescendant","dropdownOptionId","isItemSelected","initialActive","selected","findIndex","firstOption","pointerActive","openMenu","active","byKeyboard","contains","ownerDocument","activeElement","focus","updateValue","next","onChange","name","onMouseDown","button","onFocus","chooseItem","toggleOff","multiple","current","Boolean","slice","idx","push","splice","onItemClick","indexOf","chooseActive","searching","moveActive","typeahead","setTimeout","texts","matchOption","onComboboxKeyDown","kind","isControl","count","lastOption","match","moveOption","onKeyDown","target","currentTarget","createEffect","resetSearch","queueMicrotask","scrollLeft","scrollWidth","onSearchInputChange","kept","canCreate","hasFocus","onDeleteChip","currentValue","refocus","onResetSelected","_$createComponent","TextFieldWrapper","helperTextId","id","cn","class","size","error","fullWidth","isFilledState","children","_el$","_tmpl$4","_el$2","firstChild","_el$4","_el$9","nextSibling","$$mousedown","_$use","_$insert","Show","when","_el$3","_tmpl$","For","each","Chip","deleteAriaLabel","onDelete","onDeleteMouseDown","$$keydown","addEventListener","_ref$","mergeRefs","ref","_el$5","_$setAttribute","_$memo","_el$6","_tmpl$2","_el$7","_el$8","$$input","_$effect","_p$","_v$","_v$2","_v$3","_v$4","_v$5","_v$6","_v$7","describedBy","e","t","a","o","n","s","clearable","_el$0","_tmpl$3","$$click","Icon","endAdornment","hideSelectArrowIcon","_v$8","_v$9","_v$0","_v$1","_v$10","_v$11","_v$12","_v$13","_v$14","_v$15","_v$16","_v$17","_v$18","_$className","h","r","d","l","u","c","DropdownMenu","anchorElement","menuRef","menuMaxHeight","menuMiddleware","searchInputRef","searchInputProps","role","optionRenderer","onClose","menuNoItemsMessage","container","menuContainer","virtualized","itemHeight","_$delegateEvents"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ export interface SliderMark {
|
|
|
6
6
|
label?: JSX.Element;
|
|
7
7
|
}
|
|
8
8
|
export interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, "onChange"> {
|
|
9
|
-
value?: SliderValue;
|
|
9
|
+
value?: SliderValue | undefined;
|
|
10
10
|
onChange?: (event: Event, value: SliderValue, data: SliderProps) => void;
|
|
11
11
|
min?: number;
|
|
12
12
|
max?: number;
|
|
@@ -15,9 +15,19 @@ export interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, "
|
|
|
15
15
|
defaultValue?: SliderValue;
|
|
16
16
|
disabled?: boolean;
|
|
17
17
|
variant?: "continuous" | "discrete";
|
|
18
|
+
/**
|
|
19
|
+
* Draws a number field beside the slider for typing the value; a single
|
|
20
|
+
* `discrete` slider only. The field is named as the slider is (see `label`
|
|
21
|
+
* and `aria-label`).
|
|
22
|
+
*/
|
|
18
23
|
valueField?: boolean;
|
|
19
24
|
withTicks?: boolean;
|
|
20
|
-
|
|
25
|
+
/**
|
|
26
|
+
* Visible label, drawn above the slider. It names the slider; each thumb of a
|
|
27
|
+
* range adds its own word: with `label="Price"` they read "Price minimum" and
|
|
28
|
+
* "Price maximum".
|
|
29
|
+
*/
|
|
30
|
+
label?: string | undefined;
|
|
21
31
|
helperText?: JSX.Element;
|
|
22
32
|
error?: boolean;
|
|
23
33
|
size?: "small" | "medium" | "large";
|
|
@@ -26,7 +36,19 @@ export interface SliderProps extends Omit<JSX.HTMLAttributes<HTMLSpanElement>, "
|
|
|
26
36
|
range?: boolean;
|
|
27
37
|
orientation?: "horizontal" | "vertical";
|
|
28
38
|
marks?: boolean | SliderMark[];
|
|
29
|
-
|
|
39
|
+
/**
|
|
40
|
+
* Accessible name of the slider. Replaces the name the visible `label` gives
|
|
41
|
+
* it; a slider without a label needs it or `aria-labelledby`. Each thumb of a
|
|
42
|
+
* range adds its own word, as with `label`.
|
|
43
|
+
*/
|
|
44
|
+
"aria-label"?: string | undefined;
|
|
45
|
+
/**
|
|
46
|
+
* Ids of the elements whose text names the slider. It goes on the range input,
|
|
47
|
+
* not the root, and replaces the name the visible `label` gives it; as on any
|
|
48
|
+
* element, it also wins over `aria-label`. Each thumb of a range adds its own
|
|
49
|
+
* word, as with `label`.
|
|
50
|
+
*/
|
|
51
|
+
"aria-labelledby"?: string | undefined;
|
|
30
52
|
getAriaValueText?: (value: number) => string;
|
|
31
53
|
ref?: Ref<HTMLSpanElement>;
|
|
32
54
|
}
|