@smwb/ui-solid 0.12.1 → 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/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/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/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/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":"kanban.js","sources":["../../../../src/components/dataDisplay/kanban/kanban.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, createUniqueId, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface KanbanProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * The narrowest a column gets before the board scrolls sideways: a number of\n * pixels or any CSS length. 15.5rem by default.\n */\n columnWidth?: number | string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanColumnProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n /** The column's name: text or a badge. It names the column for assistive technology. */\n title: JSX.Element;\n /** How many cards the column holds (it may show fewer), beside the title. Nothing is shown for null. */\n count?: number | string | null;\n /** The column's colour, a stripe along its top: any CSS colour. */\n accent?: string;\n /** Shown in place of the cards when there are none, e.g. \"Empty\". */\n empty?: JSX.Element;\n /** Under the cards, e.g. a link to the rest as a list. */\n footer?: JSX.Element;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanCardProps extends Omit<JSX.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** The card's title, clamped to `titleLines` lines. */\n title?: JSX.Element;\n /** Makes the title a link, and the whole card open it. */\n href?: string;\n /** Lines the title is clamped to: 3 by default. */\n titleLines?: number;\n ref?: Ref<HTMLLIElement>;\n}\n\ntype Style = JSX.CSSProperties | string | undefined;\n\nconst styleObject = (style: Style): JSX.CSSProperties => (typeof style === \"object\" && style ? style : {});\n\nconst cssLength = (value: number | string | undefined): string | undefined =>\n typeof value === \"number\" ? `${value}px` : value;\n\nconst present = (value: unknown): boolean =>\n value !== undefined && value !== null && value !== false && value !== true && value !== \"\";\n\n/** A board: KanbanColumn children side by side, scrolling sideways when they do not fit. */\nexport function Kanban(props: ParentProps<KanbanProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"style\", \"columnWidth\", \"children\", \"ref\"]);\n return (\n <div\n data-testid=\"kanban\"\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban\", local.class)}\n style={{ ...styleObject(local.style), \"--smwb-kanban-column-width\": cssLength(local.columnWidth) }}\n >\n {local.children}\n </div>\n );\n}\n\n/** A column of the board: its title and count, then its KanbanCard children, or `empty` when it has none. */\nexport function KanbanColumn(props: ParentProps<KanbanColumnProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"class\",\n \"style\",\n \"title\",\n \"count\",\n \"accent\",\n \"empty\",\n \"footer\",\n \"children\",\n \"ref\",\n ]);\n const titleId = `${createUniqueId()}-title`;\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration the copy made for a <Show> test has no server DOM node.\n const cards = children(() => local.children);\n const empty = children(() => local.empty);\n const footer = children(() => local.footer);\n const hasCards = (): boolean => cards.toArray().some(present);\n\n return (\n <div\n data-testid=\"kanban-column\"\n role=\"group\"\n aria-labelledby={titleId}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__column\", local.class)}\n style={{ ...styleObject(local.style), \"--smwb-kanban-accent\": local.accent }}\n >\n <div class=\"smwb-kanban__column-header\">\n <div class=\"smwb-kanban__column-title\" id={titleId}>\n {local.title}\n </div>\n <Show when={local.count !== undefined && local.count !== null}>\n <span class=\"smwb-kanban__count\">{local.count}</span>\n </Show>\n </div>\n <Show\n when={hasCards()}\n fallback={\n <Show when={present(empty())}>\n <div class=\"smwb-kanban__empty\">{empty()}</div>\n </Show>\n }\n >\n <ul class=\"smwb-kanban__cards\" role=\"list\">\n {cards()}\n </ul>\n </Show>\n <Show when={present(footer())}>\n <div class=\"smwb-kanban__column-footer\">{footer()}</div>\n </Show>\n </div>\n );\n}\n\n/**\n * A card on the board: its title (a link with `href`, and then the whole card\n * opens it) and the children under it.\n */\nexport function KanbanCard(props: ParentProps<KanbanCardProps>): JSX.Element {\n const merged = mergeProps({ titleLines: 3 }, props);\n const [local, rest] = splitProps(merged, [\"class\", \"style\", \"title\", \"href\", \"titleLines\", \"children\", \"ref\"]);\n\n const title = children(() => local.title);\n const body = children(() => local.children);\n\n return (\n <li\n data-testid=\"kanban-card\"\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__card\", { \"smwb-kanban__card_link\": Boolean(local.href) }, local.class)}\n style={{ ...styleObject(local.style), \"--smwb-kanban-title-lines\": String(local.titleLines) }}\n >\n <Show when={present(title())}>\n <Show when={local.href} fallback={<div class=\"smwb-kanban__card-title\">{title()}</div>}>\n {(href) => (\n <a class=\"smwb-kanban__card-title\" href={href()}>\n {title()}\n </a>\n )}\n </Show>\n </Show>\n <Show when={present(body())}>\n <div class=\"smwb-kanban__card-body\">{body()}</div>\n </Show>\n </li>\n );\n}\n\nexport default Kanban;\n"],"names":["styleObject","style","cssLength","value","present","Kanban","props","local","rest","splitProps","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","columnWidth","_$insert","children","KanbanColumn","titleId","createUniqueId","cards","empty","footer","hasCards","toArray","some","_el$2","_tmpl$5","_el$3","firstChild","_el$4","_ref$2","_$setAttribute","accent","title","_$createComponent","Show","when","_$memo","count","undefined","_el$5","_tmpl$2","fallback","_el$8","_tmpl$6","_el$6","_tmpl$3","_el$7","_tmpl$4","KanbanCard","merged","mergeProps","titleLines","body","_el$9","_tmpl$8","_ref$3","Boolean","href","String","_el$1","_tmpl$9","_el$10","_tmpl$0","_$effect","_el$0","_tmpl$7"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"kanban.js","sources":["../../../../src/components/dataDisplay/kanban/kanban.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, createUniqueId, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { mergeStyle } from \"../../../primitives/mergeStyle\";\n\nexport interface KanbanProps extends JSX.HTMLAttributes<HTMLDivElement> {\n /**\n * The narrowest a column gets before the board scrolls sideways: a number of\n * pixels or any CSS length. 15.5rem by default.\n */\n columnWidth?: number | string;\n /** Test id of the root `<div>`; `kanban` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanColumnProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"title\"> {\n /** The column's name: text or a badge. It names the column for assistive technology. */\n title: JSX.Element;\n /** How many cards the column holds (it may show fewer), beside the title. Nothing is shown for null. */\n count?: number | string | null;\n /** The column's colour, a stripe along its top: any CSS colour. */\n accent?: string;\n /** Shown in place of the cards when there are none, e.g. \"Empty\". */\n empty?: JSX.Element;\n /** Under the cards, e.g. a link to the rest as a list. */\n footer?: JSX.Element;\n /** Test id of the column's `<div>`; `kanban-column` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport interface KanbanCardProps extends Omit<JSX.HTMLAttributes<HTMLLIElement>, \"title\"> {\n /** The card's title, clamped to `titleLines` lines. */\n title?: JSX.Element;\n /** Makes the title a link, and the whole card open it. */\n href?: string;\n /** Lines the title is clamped to: 3 by default. */\n titleLines?: number;\n /** Test id of the card's `<li>`; `kanban-card` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLLIElement>;\n}\n\nconst cssLength = (value: number | string | undefined): string | undefined =>\n typeof value === \"number\" ? `${value}px` : value;\n\nconst present = (value: unknown): boolean =>\n value !== undefined && value !== null && value !== false && value !== true && value !== \"\";\n\n/** A board: KanbanColumn children side by side, scrolling sideways when they do not fit. */\nexport function Kanban(props: ParentProps<KanbanProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"style\", \"columnWidth\", \"children\", \"ref\", \"data-testid\"]);\n return (\n <div\n data-testid={local[\"data-testid\"] ?? \"kanban\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban\", local.class)}\n style={mergeStyle(local.style, { \"--smwb-kanban-column-width\": cssLength(local.columnWidth) })}\n >\n {local.children}\n </div>\n );\n}\n\n/** A column of the board: its title and count, then its KanbanCard children, or `empty` when it has none. */\nexport function KanbanColumn(props: ParentProps<KanbanColumnProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\n \"class\",\n \"style\",\n \"title\",\n \"count\",\n \"accent\",\n \"empty\",\n \"footer\",\n \"children\",\n \"ref\",\n \"data-testid\",\n ]);\n const titleId = `${createUniqueId()}-title`;\n\n // Read each slot once: markup passed as a prop is created anew on every read,\n // and during hydration the copy made for a <Show> test has no server DOM node.\n const cards = children(() => local.children);\n const empty = children(() => local.empty);\n const footer = children(() => local.footer);\n const hasCards = (): boolean => cards.toArray().some(present);\n\n return (\n <div\n data-testid={local[\"data-testid\"] ?? \"kanban-column\"}\n role=\"group\"\n aria-labelledby={titleId}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__column\", local.class)}\n style={mergeStyle(local.style, { \"--smwb-kanban-accent\": local.accent })}\n >\n <div class=\"smwb-kanban__column-header\">\n <div class=\"smwb-kanban__column-title\" id={titleId}>\n {local.title}\n </div>\n <Show when={local.count !== undefined && local.count !== null}>\n <span class=\"smwb-kanban__count\">{local.count}</span>\n </Show>\n </div>\n <Show\n when={hasCards()}\n fallback={\n <Show when={present(empty())}>\n <div class=\"smwb-kanban__empty\">{empty()}</div>\n </Show>\n }\n >\n <ul class=\"smwb-kanban__cards\" role=\"list\">\n {cards()}\n </ul>\n </Show>\n <Show when={present(footer())}>\n <div class=\"smwb-kanban__column-footer\">{footer()}</div>\n </Show>\n </div>\n );\n}\n\n/**\n * A card on the board: its title (a link with `href`, and then the whole card\n * opens it) and the children under it.\n */\nexport function KanbanCard(props: ParentProps<KanbanCardProps>): JSX.Element {\n const merged = mergeProps({ titleLines: 3 }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"style\",\n \"title\",\n \"href\",\n \"titleLines\",\n \"children\",\n \"ref\",\n \"data-testid\",\n ]);\n\n const title = children(() => local.title);\n const body = children(() => local.children);\n\n return (\n <li\n data-testid={local[\"data-testid\"] ?? \"kanban-card\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n class={cn(\"smwb-kanban__card\", { \"smwb-kanban__card_link\": Boolean(local.href) }, local.class)}\n style={mergeStyle(local.style, { \"--smwb-kanban-title-lines\": String(local.titleLines) })}\n >\n <Show when={present(title())}>\n <Show when={local.href} fallback={<div class=\"smwb-kanban__card-title\">{title()}</div>}>\n {(href) => (\n <a class=\"smwb-kanban__card-title\" href={href()}>\n {title()}\n </a>\n )}\n </Show>\n </Show>\n <Show when={present(body())}>\n <div class=\"smwb-kanban__card-body\">{body()}</div>\n </Show>\n </li>\n );\n}\n\nexport default Kanban;\n"],"names":["cssLength","value","present","Kanban","props","local","rest","splitProps","_el$","_tmpl$","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","cn","class","style","mergeStyle","columnWidth","_$insert","children","KanbanColumn","titleId","createUniqueId","cards","empty","footer","hasCards","toArray","some","_el$2","_tmpl$5","_el$3","firstChild","_el$4","_ref$2","_$setAttribute","accent","title","_$createComponent","Show","when","_$memo","count","undefined","_el$5","_tmpl$2","fallback","_el$8","_tmpl$6","_el$6","_tmpl$3","_el$7","_tmpl$4","KanbanCard","merged","mergeProps","titleLines","body","_el$9","_tmpl$8","_ref$3","Boolean","href","String","_el$1","_tmpl$9","_el$10","_tmpl$0","_$effect","_el$0","_tmpl$7"],"mappings":"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"}
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
import { insert as l, createComponent as
|
|
1
|
+
import { insert as l, createComponent as p, use as $, spread as k, mergeProps as E, effect as I, className as P, style as R, template as i } from "solid-js/web";
|
|
2
2
|
import '../../../assets/styles/less/components/lazyImage/lazyImage.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { mergeProps as S, splitProps as C, createSignal as
|
|
4
|
+
import { mergeProps as S, splitProps as C, createSignal as d, onMount as F, children as O, Show as v, onCleanup as x } from "solid-js";
|
|
5
5
|
import L from "clsx";
|
|
6
6
|
import { mergeRefs as M } from "../../../primitives/mergeRefs.js";
|
|
7
7
|
var N = /* @__PURE__ */ i("<span class=smwb-lazy-image__fallback>"), V = /* @__PURE__ */ i("<img>", !0, !1, !1), j = /* @__PURE__ */ i("<span>");
|
|
8
|
-
function J(
|
|
8
|
+
function J(y) {
|
|
9
9
|
const c = S({
|
|
10
10
|
lazy: !0
|
|
11
|
-
},
|
|
11
|
+
}, y), [r, m] = C(c, ["src", "alt", "fallback", "lazy", "aspectRatio", "class", "onError", "ref"]), [b, z] = d(!1), [f, g] = d(!c.lazy);
|
|
12
12
|
let a;
|
|
13
13
|
F(() => {
|
|
14
|
-
if (!r.lazy ||
|
|
14
|
+
if (!r.lazy || f() || !a) return;
|
|
15
15
|
if (typeof IntersectionObserver > "u") {
|
|
16
|
-
|
|
16
|
+
g(!0);
|
|
17
17
|
return;
|
|
18
18
|
}
|
|
19
19
|
const t = new IntersectionObserver((e) => {
|
|
20
|
-
e.some((s) => s.isIntersecting) && (
|
|
20
|
+
e.some((s) => s.isIntersecting) && (g(!0), t.disconnect());
|
|
21
21
|
});
|
|
22
22
|
t.observe(a), x(() => t.disconnect());
|
|
23
23
|
});
|
|
24
24
|
const w = (t) => {
|
|
25
25
|
z(!0), r.onError?.(t);
|
|
26
|
-
}, n = () => b() || !r.src, _ = () =>
|
|
26
|
+
}, n = () => b() || !r.src, _ = () => f() ? r.src : void 0, u = O(() => n() ? r.fallback : void 0), h = () => r.aspectRatio != null ? {
|
|
27
27
|
"aspect-ratio": String(r.aspectRatio)
|
|
28
28
|
} : void 0;
|
|
29
29
|
return (() => {
|
|
30
30
|
var t = j();
|
|
31
|
-
return l(t,
|
|
31
|
+
return l(t, p(v, {
|
|
32
32
|
get when() {
|
|
33
33
|
return u();
|
|
34
34
|
},
|
|
@@ -36,13 +36,13 @@ function J(v) {
|
|
|
36
36
|
var e = N();
|
|
37
37
|
return l(e, u), e;
|
|
38
38
|
}
|
|
39
|
-
}), null), l(t,
|
|
39
|
+
}), null), l(t, p(v, {
|
|
40
40
|
get when() {
|
|
41
41
|
return !n();
|
|
42
42
|
},
|
|
43
43
|
get children() {
|
|
44
44
|
var e = V(), s = M(r.ref, (o) => a = o);
|
|
45
|
-
return typeof s == "function" && $(s, e), k(e, E(
|
|
45
|
+
return typeof s == "function" && $(s, e), k(e, E(m, {
|
|
46
46
|
class: "smwb-lazy-image__img",
|
|
47
47
|
get src() {
|
|
48
48
|
return _();
|
|
@@ -53,7 +53,9 @@ function J(v) {
|
|
|
53
53
|
get loading() {
|
|
54
54
|
return r.lazy ? "lazy" : void 0;
|
|
55
55
|
},
|
|
56
|
-
decoding
|
|
56
|
+
get decoding() {
|
|
57
|
+
return m.decoding ?? "async";
|
|
58
|
+
},
|
|
57
59
|
onError: w
|
|
58
60
|
}), !1, !1), e;
|
|
59
61
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lazyImage.js","sources":["../../../../src/components/dataDisplay/lazyImage/lazyImage.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface LazyImageProps extends Omit<JSX.ImgHTMLAttributes<HTMLImageElement>, \"onError\"> {\n /** Image URL. When absent (or after a load error) the `fallback` is shown. */\n src?: string | undefined;\n alt?: string | undefined;\n /** Rendered in place of the image when it is missing or fails to load. */\n fallback?: JSX.Element | undefined;\n /** Defer loading until the image scrolls into view (IntersectionObserver). Default true. */\n lazy?: boolean;\n /** CSS `aspect-ratio` for the wrapper (e.g. `1`, `\"4 / 3\"`) to reserve space before load. */\n aspectRatio?: string | number;\n /** Fires on a load error (after the fallback is swapped in). */\n onError?: (event: Event) => void;\n ref?: Ref<HTMLImageElement>;\n}\n\n/**\n * An `<img>` with a built-in `onError` fallback and optional in-viewport lazy\n * loading — the `<img decoding=async onError=…>` + `<Show>` dance hand-rolled in\n * every gallery, in one primitive. SSR-safe: renders the image markup on the\n * server; the IntersectionObserver only runs after mount on the client.\n */\nexport function LazyImage(props: LazyImageProps): JSX.Element {\n const merged = mergeProps({ lazy: true }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"alt\",\n \"fallback\",\n \"lazy\",\n \"aspectRatio\",\n \"class\",\n \"onError\",\n \"ref\",\n ]);\n\n const [failed, setFailed] = createSignal(false);\n // When lazy, hold the real src back until the element scrolls into view.\n const [visible, setVisible] = createSignal(!merged.lazy);\n let imgEl: HTMLImageElement | undefined;\n\n onMount(() => {\n if (!local.lazy || visible() || !imgEl) return;\n if (typeof IntersectionObserver === \"undefined\") {\n setVisible(true);\n return;\n }\n const io = new IntersectionObserver((entries) => {\n if (entries.some((entry) => entry.isIntersecting)) {\n setVisible(true);\n io.disconnect();\n }\n });\n io.observe(imgEl);\n onCleanup(() => io.disconnect());\n });\n\n const onError = (event: Event): void => {\n setFailed(true);\n local.onError?.(event);\n };\n\n const showFallback = (): boolean => failed() || !local.src;\n const resolvedSrc = (): string | undefined => (visible() ? local.src : undefined);\n // Read the fallback once, and only while it is drawn: markup passed as a prop\n // is created anew on every read, and during hydration a copy the server never\n // rendered has no DOM node.\n const fallback = children(() => (showFallback() ? local.fallback : undefined));\n const style = (): JSX.CSSProperties | undefined =>\n local.aspectRatio != null ? { \"aspect-ratio\": String(local.aspectRatio) } : undefined;\n\n return (\n <span class={cn(\"smwb-lazy-image\", local.class, { \"smwb-lazy-image--empty\": showFallback() })} style={style()}>\n <Show when={fallback()}>\n <span class=\"smwb-lazy-image__fallback\">{fallback()}</span>\n </Show>\n <Show when={!showFallback()}>\n <img\n {...rest}\n ref={mergeRefs(local.ref, (el) => (imgEl = el as HTMLImageElement))}\n class=\"smwb-lazy-image__img\"\n src={resolvedSrc()}\n alt={local.alt ?? \"\"}\n loading={local.lazy ? \"lazy\" : undefined}\n decoding
|
|
1
|
+
{"version":3,"file":"lazyImage.js","sources":["../../../../src/components/dataDisplay/lazyImage/lazyImage.tsx"],"sourcesContent":["import { type JSX, Show, children, createSignal, mergeProps, onCleanup, onMount, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface LazyImageProps extends Omit<JSX.ImgHTMLAttributes<HTMLImageElement>, \"onError\"> {\n /** Image URL. When absent (or after a load error) the `fallback` is shown. */\n src?: string | undefined;\n alt?: string | undefined;\n /** Rendered in place of the image when it is missing or fails to load. */\n fallback?: JSX.Element | undefined;\n /** Defer loading until the image scrolls into view (IntersectionObserver). Default true. */\n lazy?: boolean;\n /** CSS `aspect-ratio` for the wrapper (e.g. `1`, `\"4 / 3\"`) to reserve space before load. */\n aspectRatio?: string | number;\n /** Fires on a load error (after the fallback is swapped in). */\n onError?: (event: Event) => void;\n ref?: Ref<HTMLImageElement>;\n}\n\n/**\n * An `<img>` with a built-in `onError` fallback and optional in-viewport lazy\n * loading — the `<img decoding=async onError=…>` + `<Show>` dance hand-rolled in\n * every gallery, in one primitive. SSR-safe: renders the image markup on the\n * server; the IntersectionObserver only runs after mount on the client.\n */\nexport function LazyImage(props: LazyImageProps): JSX.Element {\n const merged = mergeProps({ lazy: true }, props);\n const [local, rest] = splitProps(merged, [\n \"src\",\n \"alt\",\n \"fallback\",\n \"lazy\",\n \"aspectRatio\",\n \"class\",\n \"onError\",\n \"ref\",\n ]);\n\n const [failed, setFailed] = createSignal(false);\n // When lazy, hold the real src back until the element scrolls into view.\n const [visible, setVisible] = createSignal(!merged.lazy);\n let imgEl: HTMLImageElement | undefined;\n\n onMount(() => {\n if (!local.lazy || visible() || !imgEl) return;\n if (typeof IntersectionObserver === \"undefined\") {\n setVisible(true);\n return;\n }\n const io = new IntersectionObserver((entries) => {\n if (entries.some((entry) => entry.isIntersecting)) {\n setVisible(true);\n io.disconnect();\n }\n });\n io.observe(imgEl);\n onCleanup(() => io.disconnect());\n });\n\n const onError = (event: Event): void => {\n setFailed(true);\n local.onError?.(event);\n };\n\n const showFallback = (): boolean => failed() || !local.src;\n const resolvedSrc = (): string | undefined => (visible() ? local.src : undefined);\n // Read the fallback once, and only while it is drawn: markup passed as a prop\n // is created anew on every read, and during hydration a copy the server never\n // rendered has no DOM node.\n const fallback = children(() => (showFallback() ? local.fallback : undefined));\n const style = (): JSX.CSSProperties | undefined =>\n local.aspectRatio != null ? { \"aspect-ratio\": String(local.aspectRatio) } : undefined;\n\n return (\n <span class={cn(\"smwb-lazy-image\", local.class, { \"smwb-lazy-image--empty\": showFallback() })} style={style()}>\n <Show when={fallback()}>\n <span class=\"smwb-lazy-image__fallback\">{fallback()}</span>\n </Show>\n <Show when={!showFallback()}>\n <img\n {...rest}\n ref={mergeRefs(local.ref, (el) => (imgEl = el as HTMLImageElement))}\n class=\"smwb-lazy-image__img\"\n src={resolvedSrc()}\n alt={local.alt ?? \"\"}\n // `lazy` wins over the caller's loading; without it (undefined), the\n // caller's stays. decoding=\"async\" is a default: the caller's wins,\n // and an explicit undefined keeps it.\n loading={local.lazy ? \"lazy\" : undefined}\n decoding={rest.decoding ?? \"async\"}\n onError={onError}\n />\n </Show>\n </span>\n );\n}\n\nexport default LazyImage;\n"],"names":["LazyImage","props","merged","mergeProps","lazy","local","rest","splitProps","failed","setFailed","createSignal","visible","setVisible","imgEl","onMount","IntersectionObserver","io","entries","some","entry","isIntersecting","disconnect","observe","onCleanup","onError","event","showFallback","src","resolvedSrc","undefined","fallback","children","style","aspectRatio","String","_el$","_tmpl$3","_$insert","_$createComponent","Show","when","_el$2","_tmpl$","_el$3","_tmpl$2","_ref$","mergeRefs","ref","el","_$use","_$spread","_$mergeProps","alt","loading","decoding","_$effect","_p$","_v$","cn","class","_v$2","e","_$className","t","_$style"],"mappings":"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"}
|
|
@@ -5,6 +5,8 @@ export interface ListProps extends JSX.HTMLAttributes<HTMLUListElement> {
|
|
|
5
5
|
dense?: boolean;
|
|
6
6
|
/** Section subheader rendered before the items. */
|
|
7
7
|
subheader?: JSX.Element;
|
|
8
|
+
/** Test id of the root `<ul>`; `list` unless given. */
|
|
9
|
+
"data-testid"?: string | undefined;
|
|
8
10
|
ref?: Ref<HTMLUListElement>;
|
|
9
11
|
}
|
|
10
12
|
export declare function List(props: ParentProps<ListProps>): JSX.Element;
|
|
@@ -1,29 +1,33 @@
|
|
|
1
|
-
import { use as m, spread as
|
|
1
|
+
import { use as m, spread as d, mergeProps as u, insert as t, createComponent as p, template as o } from "solid-js/web";
|
|
2
2
|
import '../../../assets/styles/less/components/list/list.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { splitProps as
|
|
4
|
+
import { splitProps as c, children as f, Show as h } from "solid-js";
|
|
5
5
|
import _ from "clsx";
|
|
6
6
|
import { mergeRefs as b } from "../../../primitives/mergeRefs.js";
|
|
7
7
|
var g = /* @__PURE__ */ o("<li class=smwb-list__subheader>"), w = /* @__PURE__ */ o("<ul>");
|
|
8
|
-
function L(
|
|
9
|
-
const [e,
|
|
8
|
+
function L(a) {
|
|
9
|
+
const [e, s] = c(a, ["class", "dense", "subheader", "children", "ref", "data-testid"]), l = f(() => e.subheader);
|
|
10
10
|
return (() => {
|
|
11
|
-
var r = w(),
|
|
12
|
-
return typeof
|
|
13
|
-
"data-testid"
|
|
14
|
-
|
|
11
|
+
var r = w(), n = b(e.ref);
|
|
12
|
+
return typeof n == "function" && m(n, r), d(r, u(s, {
|
|
13
|
+
get "data-testid"() {
|
|
14
|
+
return e["data-testid"] ?? "list";
|
|
15
|
+
},
|
|
16
|
+
get role() {
|
|
17
|
+
return s.role ?? "list";
|
|
18
|
+
},
|
|
15
19
|
get class() {
|
|
16
20
|
return _("smwb-list", {
|
|
17
21
|
"smwb-list_dense": e.dense
|
|
18
22
|
}, e.class);
|
|
19
23
|
}
|
|
20
|
-
}), !1, !0), t(r,
|
|
24
|
+
}), !1, !0), t(r, p(h, {
|
|
21
25
|
get when() {
|
|
22
|
-
return
|
|
26
|
+
return l();
|
|
23
27
|
},
|
|
24
28
|
get children() {
|
|
25
|
-
var
|
|
26
|
-
return t(
|
|
29
|
+
var i = g();
|
|
30
|
+
return t(i, l), i;
|
|
27
31
|
}
|
|
28
32
|
}), null), t(r, () => e.children, null), r;
|
|
29
33
|
})();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sources":["../../../../src/components/dataDisplay/list/list.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ListProps extends JSX.HTMLAttributes<HTMLUListElement> {\n /** Compact vertical rhythm. */\n dense?: boolean;\n /** Section subheader rendered before the items. */\n subheader?: JSX.Element;\n ref?: Ref<HTMLUListElement>;\n}\n\nexport function List(props: ParentProps<ListProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"dense\", \"subheader\", \"children\", \"ref\"]);\n // Read the subheader once: markup passed as a prop is created anew on every\n // read, and during hydration a copy the server never rendered has no DOM node.\n const subheader = children(() => local.subheader);\n return (\n <ul\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid
|
|
1
|
+
{"version":3,"file":"list.js","sources":["../../../../src/components/dataDisplay/list/list.tsx"],"sourcesContent":["import { type JSX, type ParentProps, Show, children, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport interface ListProps extends JSX.HTMLAttributes<HTMLUListElement> {\n /** Compact vertical rhythm. */\n dense?: boolean;\n /** Section subheader rendered before the items. */\n subheader?: JSX.Element;\n /** Test id of the root `<ul>`; `list` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLUListElement>;\n}\n\nexport function List(props: ParentProps<ListProps>): JSX.Element {\n const [local, rest] = splitProps(props, [\"class\", \"dense\", \"subheader\", \"children\", \"ref\", \"data-testid\"]);\n // Read the subheader once: markup passed as a prop is created anew on every\n // read, and during hydration a copy the server never rendered has no DOM node.\n const subheader = children(() => local.subheader);\n return (\n <ul\n {...rest}\n ref={mergeRefs(local.ref)}\n data-testid={local[\"data-testid\"] ?? \"list\"}\n // A default: the caller's own wins, and an explicit undefined keeps it.\n role={rest.role ?? \"list\"}\n class={cn(\"smwb-list\", { \"smwb-list_dense\": local.dense }, local.class)}\n >\n <Show when={subheader()}>\n <li class=\"smwb-list__subheader\">{subheader()}</li>\n </Show>\n {local.children}\n </ul>\n );\n}\n\nexport default List;\n"],"names":["List","props","local","rest","splitProps","subheader","children","_el$","_tmpl$2","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","role","cn","dense","class","_$insert","_$createComponent","Show","when","_el$2","_tmpl$"],"mappings":";;;;;;;AAgBO,SAASA,EAAKC,GAA4C;AAC/D,QAAM,CAACC,GAAOC,CAAI,IAAIC,EAAWH,GAAO,CAAC,SAAS,SAAS,aAAa,YAAY,OAAO,aAAa,CAAC,GAGnGI,IAAYC,EAAS,MAAMJ,EAAMG,SAAS;AAChD,UAAA,MAAA;AAAA,QAAAE,IAAAC,EAAAA,GAAAC,IAGSC,EAAUR,EAAMS,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAF,CAAA,GAAAM,EAAAN,GAAAO,EADrBX,GAAI;AAAA,MAAA,IAAA,gBAAA;AAAA,eAEKD,EAAM,aAAa,KAAK;AAAA,MAAM;AAAA,MAAA,IAE3Ca,OAAI;AAAA,eAAEZ,EAAKY,QAAQ;AAAA,MAAM;AAAA,MAAA,IAAA,QAAA;AAAA,eAClBC,EAAG,aAAa;AAAA,UAAE,mBAAmBd,EAAMe;AAAAA,QAAAA,GAASf,EAAMgB,KAAK;AAAA,MAAC;AAAA,IAAA,CAAA,GAAA,IAAA,EAAA,GAAAC,EAAAZ,GAAAa,EAEtEC,GAAI;AAAA,MAAA,IAACC,OAAI;AAAA,eAAEjB,EAAAA;AAAAA,MAAW;AAAA,MAAA,IAAAC,WAAA;AAAA,YAAAiB,IAAAC,EAAAA;AAAAL,eAAAA,EAAAI,GACalB,CAAS,GAAAkB;AAAAA,MAAA;AAAA,IAAA,CAAA,GAAA,IAAA,GAAAJ,EAAAZ,GAAA,MAE5CL,EAAMI,UAAQ,IAAA,GAAAC;AAAAA,EAAA,GAAA;AAGrB;"}
|
|
@@ -1,35 +1,37 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { use as p, insert as s, effect as u, setAttribute as l, className as y, template as C, delegateEvents as $ } from "solid-js/web";
|
|
2
2
|
import { splitProps as A } from "solid-js";
|
|
3
|
-
import
|
|
4
|
-
import { mergeRefs as
|
|
5
|
-
import { callHandler as
|
|
6
|
-
var h = /* @__PURE__ */
|
|
7
|
-
function
|
|
8
|
-
const [e] = A(
|
|
3
|
+
import g from "clsx";
|
|
4
|
+
import { mergeRefs as x } from "../../../primitives/mergeRefs.js";
|
|
5
|
+
import { callHandler as b } from "../../../primitives/callHandler.js";
|
|
6
|
+
var h = /* @__PURE__ */ C("<li role=listitem data-testid=list-item><span class=smwb-list__item__start></span><span class=smwb-list__item__main></span><span class=smwb-list__item__end>");
|
|
7
|
+
function K(f) {
|
|
8
|
+
const [e] = A(f, ["class", "children", "disabled", "selected", "dense", "divider", "startAdornment", "endAdornment", "onClick", "ref"]), d = () => !!e.onClick && !e.disabled, v = (t) => {
|
|
9
|
+
e.disabled || b(e.onClick, t);
|
|
10
|
+
}, k = (t) => {
|
|
11
|
+
d() && (t.key === "Enter" || t.key === " ") && (t.preventDefault(), b(e.onClick, t));
|
|
12
|
+
};
|
|
9
13
|
return (() => {
|
|
10
|
-
var
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return typeof a == "function" && k(a, i), s(r, () => e.startAdornment), s(n, () => e.children), s(f, () => e.endAdornment), u((t) => {
|
|
16
|
-
var o = l() ? 0 : void 0, m = e.disabled || void 0, c = e.selected || void 0, _ = C("smwb-list__item", e.class, {
|
|
14
|
+
var t = h(), n = t.firstChild, r = n.nextSibling, w = r.nextSibling;
|
|
15
|
+
t.$$keydown = k, t.$$click = v;
|
|
16
|
+
var a = x(e.ref);
|
|
17
|
+
return typeof a == "function" && p(a, t), s(n, () => e.startAdornment), s(r, () => e.children), s(w, () => e.endAdornment), u((i) => {
|
|
18
|
+
var o = d() ? 0 : void 0, m = e.disabled || void 0, c = e.selected || void 0, _ = g("smwb-list__item", e.class, {
|
|
17
19
|
"smwb-disabled": e.disabled,
|
|
18
20
|
"smwb-selected": e.selected,
|
|
19
21
|
"smwb-list__item_dense": e.dense,
|
|
20
22
|
"smwb-list__item_divider": e.divider
|
|
21
23
|
});
|
|
22
|
-
return o !==
|
|
24
|
+
return o !== i.e && l(t, "tabindex", i.e = o), m !== i.t && l(t, "aria-disabled", i.t = m), c !== i.a && l(t, "aria-selected", i.a = c), _ !== i.o && y(t, i.o = _), i;
|
|
23
25
|
}, {
|
|
24
26
|
e: void 0,
|
|
25
27
|
t: void 0,
|
|
26
28
|
a: void 0,
|
|
27
29
|
o: void 0
|
|
28
|
-
}),
|
|
30
|
+
}), t;
|
|
29
31
|
})();
|
|
30
32
|
}
|
|
31
|
-
|
|
33
|
+
$(["click", "keydown"]);
|
|
32
34
|
export {
|
|
33
|
-
|
|
35
|
+
K as ListItem
|
|
34
36
|
};
|
|
35
37
|
//# sourceMappingURL=listItem.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listItem.js","sources":["../../../../src/components/dataDisplay/list/listItem.tsx"],"sourcesContent":["import { type JSX, type ParentProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\n\nexport interface ListItemProps {\n disabled?: boolean;\n class?: string;\n selected?: boolean;\n /** Compact row. */\n dense?: boolean;\n /** Render a bottom divider. */\n divider?: boolean;\n startAdornment?: JSX.Element;\n endAdornment?: JSX.Element;\n onClick?: JSX.EventHandlerUnion<HTMLLIElement, MouseEvent>;\n ref?: Ref<HTMLLIElement>;\n}\n\nexport function ListItem(props: ParentProps<ListItemProps>): JSX.Element {\n const [local] = splitProps(props, [\n \"class\",\n \"children\",\n \"disabled\",\n \"selected\",\n \"dense\",\n \"divider\",\n \"startAdornment\",\n \"endAdornment\",\n \"onClick\",\n \"ref\",\n ]);\n\n const interactive = (): boolean => !!local.onClick && !local.disabled;\n\n
|
|
1
|
+
{"version":3,"file":"listItem.js","sources":["../../../../src/components/dataDisplay/list/listItem.tsx"],"sourcesContent":["import { type JSX, type ParentProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\nimport { callHandler } from \"../../../primitives/callHandler\";\n\nexport interface ListItemProps {\n disabled?: boolean;\n class?: string;\n selected?: boolean;\n /** Compact row. */\n dense?: boolean;\n /** Render a bottom divider. */\n divider?: boolean;\n startAdornment?: JSX.Element;\n endAdornment?: JSX.Element;\n onClick?: JSX.EventHandlerUnion<HTMLLIElement, MouseEvent>;\n ref?: Ref<HTMLLIElement>;\n}\n\nexport function ListItem(props: ParentProps<ListItemProps>): JSX.Element {\n const [local] = splitProps(props, [\n \"class\",\n \"children\",\n \"disabled\",\n \"selected\",\n \"dense\",\n \"divider\",\n \"startAdornment\",\n \"endAdornment\",\n \"onClick\",\n \"ref\",\n ]);\n\n const interactive = (): boolean => !!local.onClick && !local.disabled;\n\n // Solid binds event handlers once, so both are always attached and read the\n // props themselves: an item can be disabled, or get another onClick, after it\n // renders.\n const onClick: JSX.EventHandler<HTMLLIElement, MouseEvent> = (event) => {\n if (!local.disabled) callHandler(local.onClick, event);\n };\n const onKeyDown: JSX.EventHandler<HTMLLIElement, KeyboardEvent> = (event) => {\n if (interactive() && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n callHandler(local.onClick, event as unknown as MouseEvent & { currentTarget: HTMLLIElement; target: Element });\n }\n };\n\n return (\n <li\n ref={mergeRefs(local.ref)}\n role=\"listitem\"\n tabindex={interactive() ? 0 : undefined}\n aria-disabled={local.disabled || undefined}\n aria-selected={local.selected || undefined}\n onClick={onClick}\n onKeyDown={onKeyDown}\n class={cn(\"smwb-list__item\", local.class, {\n \"smwb-disabled\": local.disabled,\n \"smwb-selected\": local.selected,\n \"smwb-list__item_dense\": local.dense,\n \"smwb-list__item_divider\": local.divider,\n })}\n data-testid=\"list-item\"\n >\n <span class=\"smwb-list__item__start\">{local.startAdornment}</span>\n <span class=\"smwb-list__item__main\">{local.children}</span>\n <span class=\"smwb-list__item__end\">{local.endAdornment}</span>\n </li>\n );\n}\n\nexport default ListItem;\n"],"names":["ListItem","props","local","splitProps","interactive","onClick","disabled","event","callHandler","onKeyDown","key","preventDefault","_el$","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","$$keydown","$$click","_ref$","mergeRefs","ref","_$use","_$insert","startAdornment","children","endAdornment","_$effect","_p$","_v$","undefined","_v$2","_v$3","selected","_v$4","cn","class","dense","divider","e","_$setAttribute","t","a","o","_$className","_$delegateEvents"],"mappings":";;;;;;AAmBO,SAASA,EAASC,GAAgD;AACvE,QAAM,CAACC,CAAK,IAAIC,EAAWF,GAAO,CAChC,SACA,YACA,YACA,YACA,SACA,WACA,kBACA,gBACA,WACA,KAAK,CACN,GAEKG,IAAcA,MAAe,CAAC,CAACF,EAAMG,WAAW,CAACH,EAAMI,UAKvDD,IAAwDE,CAAAA,MAAU;AACtE,IAAKL,EAAMI,YAAUE,EAAYN,EAAMG,SAASE,CAAK;AAAA,EACvD,GACME,IAA6DF,CAAAA,MAAU;AAC3E,IAAIH,QAAkBG,EAAMG,QAAQ,WAAWH,EAAMG,QAAQ,SAC3DH,EAAMI,eAAAA,GACNH,EAAYN,EAAMG,SAASE,CAAkF;AAAA,EAEjH;AAEA,UAAA,MAAA;AAAA,QAAAK,IAAAC,KAAAC,IAAAF,EAAAG,YAAAC,IAAAF,EAAAG,aAAAC,IAAAF,EAAAC;AAAAL,IAAAA,EAAAO,YAQeV,GAASG,EAAAQ,UADXf;AAAO,QAAAgB,IALXC,EAAUpB,EAAMqB,GAAG;AAAC,kBAAAF,KAAA,cAAAG,EAAAH,GAAAT,CAAA,GAAAa,EAAAX,GAAA,MAeaZ,EAAMwB,cAAc,GAAAD,EAAAT,GAAA,MACrBd,EAAMyB,QAAQ,GAAAF,EAAAP,GAAA,MACfhB,EAAM0B,YAAY,GAAAC,EAAAC,CAAAA,MAAA;AAAA,UAAAC,IAf5C3B,MAAgB,IAAI4B,QAASC,IACxB/B,EAAMI,YAAY0B,QAASE,IAC3BhC,EAAMiC,YAAYH,QAASI,IAGnCC,EAAG,mBAAmBnC,EAAMoC,OAAO;AAAA,QACxC,iBAAiBpC,EAAMI;AAAAA,QACvB,iBAAiBJ,EAAMiC;AAAAA,QACvB,yBAAyBjC,EAAMqC;AAAAA,QAC/B,2BAA2BrC,EAAMsC;AAAAA,MAAAA,CAClC;AAACT,aAAAA,MAAAD,EAAAW,KAAAC,EAAA9B,GAAA,YAAAkB,EAAAW,IAAAV,CAAA,GAAAE,MAAAH,EAAAa,KAAAD,EAAA9B,GAAA,iBAAAkB,EAAAa,IAAAV,CAAA,GAAAC,MAAAJ,EAAAc,KAAAF,EAAA9B,GAAA,iBAAAkB,EAAAc,IAAAV,CAAA,GAAAE,MAAAN,EAAAe,KAAAC,EAAAlC,GAAAkB,EAAAe,IAAAT,CAAA,GAAAN;AAAAA,IAAA,GAAA;AAAA,MAAAW,GAAAT;AAAAA,MAAAW,GAAAX;AAAAA,MAAAY,GAAAZ;AAAAA,MAAAa,GAAAb;AAAAA,IAAAA,CAAA,GAAApB;AAAAA,EAAA,GAAA;AAQR;AAEwBmC,EAAA,CAAA,SAAA,SAAA,CAAA;"}
|
|
@@ -25,6 +25,8 @@ export interface MeterProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, "ro
|
|
|
25
25
|
color?: MeterColor;
|
|
26
26
|
/** The bar only; the text stays available to assistive technology. */
|
|
27
27
|
hideText?: boolean;
|
|
28
|
+
/** Test id of the root `<div>`; `meter` unless given. */
|
|
29
|
+
"data-testid"?: string | undefined;
|
|
28
30
|
ref?: Ref<HTMLDivElement>;
|
|
29
31
|
}
|
|
30
32
|
/** The colour for a share of the whole: the last threshold (by `from`) the share reaches. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { use as $, spread as g, mergeProps as w, insert as
|
|
1
|
+
import { use as $, spread as g, mergeProps as w, insert as a, createComponent as d, effect as y, setStyleProperty as L, template as s } from "solid-js/web";
|
|
2
2
|
import '../../../assets/styles/less/components/meter/meter.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { mergeProps as S, splitProps as T, children as C, Show as
|
|
4
|
+
import { mergeProps as S, splitProps as T, children as C, Show as _ } from "solid-js";
|
|
5
5
|
import P from "clsx";
|
|
6
6
|
import { mergeRefs as E } from "../../../primitives/mergeRefs.js";
|
|
7
7
|
var M = /* @__PURE__ */ s("<span class=smwb-meter__text aria-hidden=true>"), R = /* @__PURE__ */ s("<div><span class=smwb-meter__track aria-hidden=true><span class=smwb-meter__fill>"), k = /* @__PURE__ */ s("<b class=smwb-meter__value>"), D = /* @__PURE__ */ s("<span class=smwb-meter__of> <!> ");
|
|
@@ -13,22 +13,22 @@ const H = [{
|
|
|
13
13
|
color: "success"
|
|
14
14
|
}];
|
|
15
15
|
function A(n, m) {
|
|
16
|
-
let e = "neutral",
|
|
16
|
+
let e = "neutral", o = -1 / 0;
|
|
17
17
|
for (const t of m)
|
|
18
|
-
n >= t.from && t.from >=
|
|
18
|
+
n >= t.from && t.from >= o && (e = t.color, o = t.from);
|
|
19
19
|
return e;
|
|
20
20
|
}
|
|
21
21
|
function z(n) {
|
|
22
22
|
const m = S({
|
|
23
23
|
ofLabel: "of",
|
|
24
24
|
thresholds: H
|
|
25
|
-
}, n), [e,
|
|
25
|
+
}, n), [e, o] = T(m, ["class", "value", "max", "label", "text", "ofLabel", "thresholds", "color", "hideText", "ref", "data-testid"]), t = () => e.max > 0 ? Math.min(1, Math.max(0, e.value / e.max)) : 0, p = () => e.color ?? A(t(), e.thresholds), c = C(() => e.text), h = () => {
|
|
26
26
|
const r = c();
|
|
27
27
|
return typeof r == "function" ? r(e.value, e.max) : r;
|
|
28
28
|
};
|
|
29
29
|
return (() => {
|
|
30
30
|
var r = R(), b = r.firstChild, v = b.firstChild, u = E(e.ref);
|
|
31
|
-
return typeof u == "function" && $(u, r), g(r, w(
|
|
31
|
+
return typeof u == "function" && $(u, r), g(r, w(o, {
|
|
32
32
|
role: "meter",
|
|
33
33
|
get "aria-label"() {
|
|
34
34
|
return e.label;
|
|
@@ -43,33 +43,35 @@ function z(n) {
|
|
|
43
43
|
get "aria-valuetext"() {
|
|
44
44
|
return `${e.value} ${e.ofLabel} ${e.max}`;
|
|
45
45
|
},
|
|
46
|
-
"data-testid"
|
|
46
|
+
get "data-testid"() {
|
|
47
|
+
return e["data-testid"] ?? "meter";
|
|
48
|
+
},
|
|
47
49
|
get class() {
|
|
48
|
-
return P("smwb-meter", `smwb-meter_color-${
|
|
50
|
+
return P("smwb-meter", `smwb-meter_color-${p()}`, {
|
|
49
51
|
"smwb-meter_bar-only": e.hideText
|
|
50
52
|
}, e.class);
|
|
51
53
|
}
|
|
52
|
-
}), !1, !0),
|
|
54
|
+
}), !1, !0), a(r, d(_, {
|
|
53
55
|
get when() {
|
|
54
56
|
return !e.hideText;
|
|
55
57
|
},
|
|
56
58
|
get children() {
|
|
57
59
|
var i = M();
|
|
58
|
-
return
|
|
60
|
+
return a(i, d(_, {
|
|
59
61
|
get when() {
|
|
60
62
|
return c() !== void 0;
|
|
61
63
|
},
|
|
62
64
|
get fallback() {
|
|
63
65
|
return [(() => {
|
|
64
66
|
var l = k();
|
|
65
|
-
return
|
|
67
|
+
return a(l, () => e.value), l;
|
|
66
68
|
})(), (() => {
|
|
67
69
|
var l = D(), x = l.firstChild, f = x.nextSibling;
|
|
68
|
-
return f.nextSibling,
|
|
70
|
+
return f.nextSibling, a(l, () => e.ofLabel, f), a(l, () => e.max, null), l;
|
|
69
71
|
})()];
|
|
70
72
|
},
|
|
71
73
|
get children() {
|
|
72
|
-
return
|
|
74
|
+
return h();
|
|
73
75
|
}
|
|
74
76
|
})), i;
|
|
75
77
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"meter.js","sources":["../../../../src/components/dataDisplay/meter/meter.tsx"],"sourcesContent":["import { type JSX, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type MeterColor = \"neutral\" | \"primary\" | \"info\" | \"success\" | \"warning\" | \"error\";\n\n/** From this share of `max` (0–1) on, the meter takes `color`. */\nexport interface MeterThreshold {\n from: number;\n color: MeterColor;\n}\n\n/** Info while under way, success when complete. */\nexport const DEFAULT_METER_THRESHOLDS: readonly MeterThreshold[] = [\n { from: 0, color: \"info\" },\n { from: 1, color: \"success\" },\n];\n\nexport interface MeterProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"role\"> {\n /** How many are done (X of Y). */\n value: number;\n /** How many there are in all (X of Y). */\n max: number;\n /** What is measured — the accessible name, e.g. \"Requirements accepted\". */\n label: string;\n /** Visible text instead of \"X of Y\": markup, or a function of (value, max). */\n text?: JSX.Element | ((value: number, max: number) => JSX.Element);\n /** The word between the figures in the default text and in aria-valuetext. */\n ofLabel?: string;\n /** Colour by share of `max`: the last threshold the share reaches wins. */\n thresholds?: readonly MeterThreshold[];\n /** A fixed colour, instead of the thresholds. */\n color?: MeterColor;\n /** The bar only; the text stays available to assistive technology. */\n hideText?: boolean;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** The colour for a share of the whole: the last threshold (by `from`) the share reaches. */\nexport function meterColor(share: number, thresholds: readonly MeterThreshold[]): MeterColor {\n let color: MeterColor = \"neutral\";\n let from = -Infinity;\n for (const threshold of thresholds) {\n if (share >= threshold.from && threshold.from >= from) {\n color = threshold.color;\n from = threshold.from;\n }\n }\n return color;\n}\n\n/** A share of a whole, \"X of Y\": a bar and the figures beside it, coloured by thresholds. */\nexport function Meter(props: MeterProps): JSX.Element {\n const merged = mergeProps({ ofLabel: \"of\", thresholds: DEFAULT_METER_THRESHOLDS }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"value\",\n \"max\",\n \"label\",\n \"text\",\n \"ofLabel\",\n \"thresholds\",\n \"color\",\n \"hideText\",\n \"ref\",\n ]);\n\n const share = (): number => (local.max > 0 ? Math.min(1, Math.max(0, local.value / local.max)) : 0);\n const color = (): MeterColor => local.color ?? meterColor(share(), local.thresholds);\n // Read the text once: markup passed as a prop is created anew on every read,\n // and during hydration a copy made only to test it has no server DOM node. A\n // function of (value, max) is kept as it is and called where the text renders.\n const custom = children(() => local.text as JSX.Element);\n const text = (): JSX.Element => {\n const resolved = custom() as JSX.Element | ((value: number, max: number) => JSX.Element);\n return typeof resolved === \"function\" ? resolved(local.value, local.max) : resolved;\n };\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n role=\"meter\"\n aria-label={local.label}\n aria-valuenow={local.value}\n aria-valuemin={0}\n aria-valuemax={local.max}\n aria-valuetext={`${local.value} ${local.ofLabel} ${local.max}`}\n data-testid
|
|
1
|
+
{"version":3,"file":"meter.js","sources":["../../../../src/components/dataDisplay/meter/meter.tsx"],"sourcesContent":["import { type JSX, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport cn from \"clsx\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\nexport type MeterColor = \"neutral\" | \"primary\" | \"info\" | \"success\" | \"warning\" | \"error\";\n\n/** From this share of `max` (0–1) on, the meter takes `color`. */\nexport interface MeterThreshold {\n from: number;\n color: MeterColor;\n}\n\n/** Info while under way, success when complete. */\nexport const DEFAULT_METER_THRESHOLDS: readonly MeterThreshold[] = [\n { from: 0, color: \"info\" },\n { from: 1, color: \"success\" },\n];\n\nexport interface MeterProps extends Omit<JSX.HTMLAttributes<HTMLDivElement>, \"role\"> {\n /** How many are done (X of Y). */\n value: number;\n /** How many there are in all (X of Y). */\n max: number;\n /** What is measured — the accessible name, e.g. \"Requirements accepted\". */\n label: string;\n /** Visible text instead of \"X of Y\": markup, or a function of (value, max). */\n text?: JSX.Element | ((value: number, max: number) => JSX.Element);\n /** The word between the figures in the default text and in aria-valuetext. */\n ofLabel?: string;\n /** Colour by share of `max`: the last threshold the share reaches wins. */\n thresholds?: readonly MeterThreshold[];\n /** A fixed colour, instead of the thresholds. */\n color?: MeterColor;\n /** The bar only; the text stays available to assistive technology. */\n hideText?: boolean;\n /** Test id of the root `<div>`; `meter` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLDivElement>;\n}\n\n/** The colour for a share of the whole: the last threshold (by `from`) the share reaches. */\nexport function meterColor(share: number, thresholds: readonly MeterThreshold[]): MeterColor {\n let color: MeterColor = \"neutral\";\n let from = -Infinity;\n for (const threshold of thresholds) {\n if (share >= threshold.from && threshold.from >= from) {\n color = threshold.color;\n from = threshold.from;\n }\n }\n return color;\n}\n\n/** A share of a whole, \"X of Y\": a bar and the figures beside it, coloured by thresholds. */\nexport function Meter(props: MeterProps): JSX.Element {\n const merged = mergeProps({ ofLabel: \"of\", thresholds: DEFAULT_METER_THRESHOLDS }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"value\",\n \"max\",\n \"label\",\n \"text\",\n \"ofLabel\",\n \"thresholds\",\n \"color\",\n \"hideText\",\n \"ref\",\n \"data-testid\",\n ]);\n\n const share = (): number => (local.max > 0 ? Math.min(1, Math.max(0, local.value / local.max)) : 0);\n const color = (): MeterColor => local.color ?? meterColor(share(), local.thresholds);\n // Read the text once: markup passed as a prop is created anew on every read,\n // and during hydration a copy made only to test it has no server DOM node. A\n // function of (value, max) is kept as it is and called where the text renders.\n const custom = children(() => local.text as JSX.Element);\n const text = (): JSX.Element => {\n const resolved = custom() as JSX.Element | ((value: number, max: number) => JSX.Element);\n return typeof resolved === \"function\" ? resolved(local.value, local.max) : resolved;\n };\n\n return (\n <div\n {...rest}\n ref={mergeRefs(local.ref)}\n role=\"meter\"\n aria-label={local.label}\n aria-valuenow={local.value}\n aria-valuemin={0}\n aria-valuemax={local.max}\n aria-valuetext={`${local.value} ${local.ofLabel} ${local.max}`}\n data-testid={local[\"data-testid\"] ?? \"meter\"}\n class={cn(\"smwb-meter\", `smwb-meter_color-${color()}`, { \"smwb-meter_bar-only\": local.hideText }, local.class)}\n >\n <span class=\"smwb-meter__track\" aria-hidden=\"true\">\n <span class=\"smwb-meter__fill\" style={{ width: `${share() * 100}%` }} />\n </span>\n <Show when={!local.hideText}>\n <span class=\"smwb-meter__text\" aria-hidden=\"true\">\n <Show\n when={custom() !== undefined}\n fallback={\n <>\n <b class=\"smwb-meter__value\">{local.value}</b>\n <span class=\"smwb-meter__of\">\n {\" \"}\n {local.ofLabel} {local.max}\n </span>\n </>\n }\n >\n {text()}\n </Show>\n </span>\n </Show>\n </div>\n );\n}\n\nexport default Meter;\n"],"names":["DEFAULT_METER_THRESHOLDS","from","color","meterColor","share","thresholds","threshold","Meter","props","merged","mergeProps","ofLabel","local","rest","splitProps","max","Math","min","value","custom","children","text","resolved","_el$","_tmpl$2","_el$2","firstChild","_el$3","_ref$","mergeRefs","ref","_$use","_$spread","_$mergeProps","label","cn","hideText","class","_$insert","_$createComponent","Show","when","_el$4","_tmpl$","undefined","fallback","_el$5","_tmpl$3","_el$6","_tmpl$4","_el$7","_el$9","nextSibling","_$effect","_$p","_$setStyleProperty"],"mappings":"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"}
|
|
@@ -25,6 +25,8 @@ export interface PersonChipProps extends Omit<JSX.HTMLAttributes<HTMLElement>, "
|
|
|
25
25
|
color?: string;
|
|
26
26
|
/** A second line under the name: a role, a date. */
|
|
27
27
|
meta?: JSX.Element;
|
|
28
|
+
/** Test id of the root; `person-chip` unless given. */
|
|
29
|
+
"data-testid"?: string | undefined;
|
|
28
30
|
ref?: Ref<HTMLElement>;
|
|
29
31
|
}
|
|
30
32
|
/** A person: avatar and name, a link to their card when `href` is set. */
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { createComponent as o, Dynamic as l, mergeProps as h, memo as m, insert as
|
|
1
|
+
import { createComponent as o, Dynamic as l, mergeProps as h, memo as m, insert as s, template as i } from "solid-js/web";
|
|
2
2
|
import '../../../assets/styles/less/components/personChip/personChip.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { mergeProps as
|
|
4
|
+
import { mergeProps as u, splitProps as f, Show as p, children as g } from "solid-js";
|
|
5
5
|
import d from "clsx";
|
|
6
6
|
import { mergeRefs as _ } from "../../../primitives/mergeRefs.js";
|
|
7
7
|
import { Avatar as v } from "../avatar/avatar.js";
|
|
@@ -19,29 +19,29 @@ function C(t) {
|
|
|
19
19
|
const r = g(() => t.meta);
|
|
20
20
|
return (() => {
|
|
21
21
|
var e = b(), n = e.firstChild;
|
|
22
|
-
return
|
|
22
|
+
return s(n, () => t.name), s(e, o(p, {
|
|
23
23
|
get when() {
|
|
24
24
|
return r();
|
|
25
25
|
},
|
|
26
26
|
get children() {
|
|
27
|
-
var
|
|
28
|
-
return a
|
|
27
|
+
var a = w();
|
|
28
|
+
return s(a, r), a;
|
|
29
29
|
}
|
|
30
30
|
}), null), e;
|
|
31
31
|
})();
|
|
32
32
|
}
|
|
33
33
|
function D(t) {
|
|
34
|
-
const r =
|
|
34
|
+
const r = u({
|
|
35
35
|
size: 24
|
|
36
|
-
}, t), [e, n] =
|
|
36
|
+
}, t), [e, n] = f(r, ["class", "name", "src", "href", "compact", "size", "colorSeed", "color", "meta", "ref", "data-testid"]);
|
|
37
37
|
return o(l, h({
|
|
38
38
|
get component() {
|
|
39
39
|
return e.href ? "a" : "span";
|
|
40
40
|
}
|
|
41
41
|
}, n, {
|
|
42
|
-
ref(
|
|
42
|
+
ref(a) {
|
|
43
43
|
var c = _(e.ref);
|
|
44
|
-
typeof c == "function" && c(
|
|
44
|
+
typeof c == "function" && c(a);
|
|
45
45
|
},
|
|
46
46
|
get href() {
|
|
47
47
|
return e.href;
|
|
@@ -55,7 +55,9 @@ function D(t) {
|
|
|
55
55
|
get "aria-label"() {
|
|
56
56
|
return m(() => !!e.compact)() ? e.name : void 0;
|
|
57
57
|
},
|
|
58
|
-
"data-testid"
|
|
58
|
+
get "data-testid"() {
|
|
59
|
+
return e["data-testid"] ?? "person-chip";
|
|
60
|
+
},
|
|
59
61
|
get class() {
|
|
60
62
|
return d("smwb-person-chip", {
|
|
61
63
|
"smwb-person-chip_link": !!e.href,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"personChip.js","sources":["../../../../src/components/dataDisplay/personChip/personChip.tsx"],"sourcesContent":["import { type JSX, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Avatar, type AvatarSize } from \"../avatar\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\n/** Up to two initials from a name: \"Anna Petrova\" → \"AP\", \"anna\" → \"A\". */\nexport function initialsOf(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean);\n const first = (word: string | undefined): string => (word ? (Array.from(word)[0] ?? \"\") : \"\");\n return (first(words[0]) + (words.length > 1 ? first(words[words.length - 1]) : \"\")).toUpperCase();\n}\n\n/**\n * A steady background colour for a person's avatar, derived from a seed (an id\n * or the name): the same person always gets the same colour, on the server too.\n */\nexport function avatarColor(seed: string): string {\n let hash = 0;\n for (const char of seed) hash = (hash * 31 + (char.codePointAt(0) ?? 0)) >>> 0;\n return `hsl(${hash % 360} 42% 42%)`;\n}\n\nexport interface PersonChipProps extends Omit<JSX.HTMLAttributes<HTMLElement>, \"title\"> {\n /** The person's name: shown beside the avatar, and the source of its initials. */\n name: string;\n /** Avatar image; initials on a colour without it or when it fails. */\n src?: string;\n /** Link to the person's card. */\n href?: string;\n /** The avatar only; the name becomes its tooltip and accessible name. */\n compact?: boolean;\n /** Avatar size: a preset or pixels. 24px by default. */\n size?: AvatarSize | number;\n /** Seed for the avatar colour (an id); the name by default. */\n colorSeed?: string;\n /** A fixed avatar colour instead of the derived one. */\n color?: string;\n /** A second line under the name: a role, a date. */\n meta?: JSX.Element;\n ref?: Ref<HTMLElement>;\n}\n\n/** The name and the meta line. Meta is read here, where it renders: markup\n * created and not rendered (a compact chip) would have no server node. */\nfunction PersonText(props: { name: string; meta: JSX.Element }): JSX.Element {\n const meta = children(() => props.meta);\n return (\n <span class=\"smwb-person-chip__text\">\n <span class=\"smwb-person-chip__name\">{props.name}</span>\n <Show when={meta()}>\n <span class=\"smwb-person-chip__meta\">{meta()}</span>\n </Show>\n </span>\n );\n}\n\n/** A person: avatar and name, a link to their card when `href` is set. */\nexport function PersonChip(props: PersonChipProps): JSX.Element {\n const merged = mergeProps({ size: 24 as AvatarSize | number }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"name\",\n \"src\",\n \"href\",\n \"compact\",\n \"size\",\n \"colorSeed\",\n \"color\",\n \"meta\",\n \"ref\",\n ]);\n\n return (\n <Dynamic\n component={local.href ? \"a\" : \"span\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n href={local.href}\n title={local.compact ? local.name : undefined}\n role={local.compact && !local.href ? \"img\" : undefined}\n aria-label={local.compact ? local.name : undefined}\n data-testid
|
|
1
|
+
{"version":3,"file":"personChip.js","sources":["../../../../src/components/dataDisplay/personChip/personChip.tsx"],"sourcesContent":["import { type JSX, Show, children, mergeProps, splitProps } from \"solid-js\";\nimport { Dynamic } from \"solid-js/web\";\nimport cn from \"clsx\";\nimport { Avatar, type AvatarSize } from \"../avatar\";\nimport { mergeRefs, type Ref } from \"../../../primitives/mergeRefs\";\n\n/** Up to two initials from a name: \"Anna Petrova\" → \"AP\", \"anna\" → \"A\". */\nexport function initialsOf(name: string): string {\n const words = name.trim().split(/\\s+/).filter(Boolean);\n const first = (word: string | undefined): string => (word ? (Array.from(word)[0] ?? \"\") : \"\");\n return (first(words[0]) + (words.length > 1 ? first(words[words.length - 1]) : \"\")).toUpperCase();\n}\n\n/**\n * A steady background colour for a person's avatar, derived from a seed (an id\n * or the name): the same person always gets the same colour, on the server too.\n */\nexport function avatarColor(seed: string): string {\n let hash = 0;\n for (const char of seed) hash = (hash * 31 + (char.codePointAt(0) ?? 0)) >>> 0;\n return `hsl(${hash % 360} 42% 42%)`;\n}\n\nexport interface PersonChipProps extends Omit<JSX.HTMLAttributes<HTMLElement>, \"title\"> {\n /** The person's name: shown beside the avatar, and the source of its initials. */\n name: string;\n /** Avatar image; initials on a colour without it or when it fails. */\n src?: string;\n /** Link to the person's card. */\n href?: string;\n /** The avatar only; the name becomes its tooltip and accessible name. */\n compact?: boolean;\n /** Avatar size: a preset or pixels. 24px by default. */\n size?: AvatarSize | number;\n /** Seed for the avatar colour (an id); the name by default. */\n colorSeed?: string;\n /** A fixed avatar colour instead of the derived one. */\n color?: string;\n /** A second line under the name: a role, a date. */\n meta?: JSX.Element;\n /** Test id of the root; `person-chip` unless given. */\n \"data-testid\"?: string | undefined;\n ref?: Ref<HTMLElement>;\n}\n\n/** The name and the meta line. Meta is read here, where it renders: markup\n * created and not rendered (a compact chip) would have no server node. */\nfunction PersonText(props: { name: string; meta: JSX.Element }): JSX.Element {\n const meta = children(() => props.meta);\n return (\n <span class=\"smwb-person-chip__text\">\n <span class=\"smwb-person-chip__name\">{props.name}</span>\n <Show when={meta()}>\n <span class=\"smwb-person-chip__meta\">{meta()}</span>\n </Show>\n </span>\n );\n}\n\n/** A person: avatar and name, a link to their card when `href` is set. */\nexport function PersonChip(props: PersonChipProps): JSX.Element {\n const merged = mergeProps({ size: 24 as AvatarSize | number }, props);\n const [local, rest] = splitProps(merged, [\n \"class\",\n \"name\",\n \"src\",\n \"href\",\n \"compact\",\n \"size\",\n \"colorSeed\",\n \"color\",\n \"meta\",\n \"ref\",\n \"data-testid\",\n ]);\n\n return (\n <Dynamic\n component={local.href ? \"a\" : \"span\"}\n {...rest}\n ref={mergeRefs(local.ref)}\n href={local.href}\n title={local.compact ? local.name : undefined}\n role={local.compact && !local.href ? \"img\" : undefined}\n aria-label={local.compact ? local.name : undefined}\n data-testid={local[\"data-testid\"] ?? \"person-chip\"}\n class={cn(\"smwb-person-chip\", { \"smwb-person-chip_link\": !!local.href, \"smwb-person-chip_compact\": local.compact }, local.class)}\n >\n <Avatar\n class=\"smwb-person-chip__avatar\"\n size={local.size}\n src={local.src}\n color={local.color ?? avatarColor(local.colorSeed ?? local.name)}\n aria-hidden=\"true\"\n >\n {initialsOf(local.name)}\n </Avatar>\n <Show when={!local.compact}>\n <PersonText name={local.name} meta={local.meta} />\n </Show>\n </Dynamic>\n );\n}\n\nexport default PersonChip;\n"],"names":["initialsOf","name","words","trim","split","filter","Boolean","first","word","Array","from","length","toUpperCase","avatarColor","seed","hash","char","codePointAt","PersonText","props","meta","children","_el$","_tmpl$2","_el$2","firstChild","_$insert","_$createComponent","Show","when","_el$3","_tmpl$","PersonChip","merged","mergeProps","size","local","rest","splitProps","Dynamic","_$mergeProps","component","href","ref","r$","_ref$","mergeRefs","title","_$memo","compact","undefined","role","cn","class","Avatar","src","color","colorSeed"],"mappings":"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"}
|
|
@@ -16,6 +16,8 @@ export interface StatProps extends JSX.HTMLAttributes<HTMLElement> {
|
|
|
16
16
|
variant?: "tile" | "plain";
|
|
17
17
|
/** Make the whole stat a link to what the figure is made of. */
|
|
18
18
|
href?: string;
|
|
19
|
+
/** Test id of the root; `stat` unless given. */
|
|
20
|
+
"data-testid"?: string | undefined;
|
|
19
21
|
ref?: Ref<HTMLElement>;
|
|
20
22
|
}
|
|
21
23
|
/**
|