@smwb/ui-react 2.7.0 → 2.9.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/AI_LESS_OVERRIDES.md +84 -21
- package/AI_THEMING.md +72 -28
- package/README.md +681 -0
- package/dist/assets/styles/less/components/appBar/appBar.entry.css +1 -1
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
- package/dist/assets/styles/less/components/button/button.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/commandPalette/commandPalette.entry.css +1 -0
- package/dist/assets/styles/less/components/composer/composer.entry.css +1 -0
- package/dist/assets/styles/less/components/dagView/dagView.entry.css +1 -0
- package/dist/assets/styles/less/components/diffStat/diffStat.entry.css +1 -0
- package/dist/assets/styles/less/components/kbd/kbd.entry.css +1 -0
- package/dist/assets/styles/less/components/list/list.entry.css +1 -1
- 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/qrCode/qrCode.entry.css +1 -0
- 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/sidebar/sidebar.entry.css +1 -1
- package/dist/assets/styles/less/components/statusDot/statusDot.entry.css +1 -0
- package/dist/assets/styles/less/components/swimlanes/swimlanes.entry.css +1 -0
- package/dist/assets/styles/less/components/tabGroups/tabGroups.entry.css +1 -0
- package/dist/assets/styles/less/components/table/table.entry.css +1 -1
- package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
- package/dist/assets/styles/less/components/tabs/tabPanel/tabPanel.entry.css +1 -0
- package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
- package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
- package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
- package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
- package/dist/assets/styles/less/components/treeView/treeView.entry.css +1 -1
- package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
- package/dist/assets/styles/less/connects/rt/table.entry.css +1 -1
- package/dist/assets/styles/less/tokens.entry.css +1 -1
- package/dist/components/base/icon/icon.d.ts +6 -2
- package/dist/components/base/icon/icon.js +49 -37
- 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 +38 -23
- 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 +50 -37
- package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/components/dataDisplay/badge/badge.js +37 -28
- package/dist/components/dataDisplay/badge/badge.js.map +1 -1
- package/dist/components/dataDisplay/card/card.d.ts +30 -2
- package/dist/components/dataDisplay/card/card.js +50 -23
- package/dist/components/dataDisplay/card/card.js.map +1 -1
- package/dist/components/dataDisplay/carousel/carousel.js +70 -70
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/components/dataDisplay/chart/chart.d.ts +2 -0
- package/dist/components/dataDisplay/chart/chart.js +66 -53
- package/dist/components/dataDisplay/chart/chart.js.map +1 -1
- package/dist/components/dataDisplay/chat/chat.d.ts +43 -1
- package/dist/components/dataDisplay/chat/chat.js +179 -150
- package/dist/components/dataDisplay/chat/chat.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatComposer.d.ts +17 -0
- package/dist/components/dataDisplay/chat/chatComposer.js +31 -29
- package/dist/components/dataDisplay/chat/chatComposer.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatIconButton.d.ts +1 -1
- package/dist/components/dataDisplay/chat/chatIconButton.js +30 -26
- package/dist/components/dataDisplay/chat/chatIconButton.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatLayout.d.ts +3 -1
- package/dist/components/dataDisplay/chat/chatLayout.js +56 -55
- package/dist/components/dataDisplay/chat/chatLayout.js.map +1 -1
- package/dist/components/dataDisplay/chat/chatOverlayLayout.d.ts +3 -1
- package/dist/components/dataDisplay/chat/index.d.ts +1 -1
- package/dist/components/dataDisplay/chat/utils.d.ts +14 -0
- package/dist/components/dataDisplay/chat/utils.js.map +1 -1
- package/dist/components/dataDisplay/chip/chip.d.ts +31 -0
- package/dist/components/dataDisplay/chip/chip.js +110 -83
- package/dist/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/components/dataDisplay/chipGroup/chipGroup.js +34 -30
- 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 +289 -0
- package/dist/components/dataDisplay/dagView/dagLayout.js.map +1 -0
- package/dist/components/dataDisplay/dagView/dagView.d.ts +157 -0
- package/dist/components/dataDisplay/dagView/dagView.js +543 -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 +171 -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.map +1 -1
- package/dist/components/dataDisplay/diffStat/diffStat.d.ts +54 -0
- package/dist/components/dataDisplay/diffStat/diffStat.js +63 -0
- package/dist/components/dataDisplay/diffStat/diffStat.js.map +1 -0
- package/dist/components/dataDisplay/diffStat/index.d.ts +2 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
- 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 +46 -35
- package/dist/components/dataDisplay/kanban/kanban.js.map +1 -1
- package/dist/components/dataDisplay/kbd/index.d.ts +4 -0
- package/dist/components/dataDisplay/kbd/kbd.d.ts +40 -0
- package/dist/components/dataDisplay/kbd/kbd.js +27 -0
- package/dist/components/dataDisplay/kbd/kbd.js.map +1 -0
- package/dist/components/dataDisplay/kbd/kbdKeys.d.ts +18 -0
- package/dist/components/dataDisplay/kbd/kbdKeys.js +72 -0
- package/dist/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
- package/dist/components/dataDisplay/lazyImage/lazyImage.js +31 -30
- 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 +15 -14
- package/dist/components/dataDisplay/list/list.js.map +1 -1
- package/dist/components/dataDisplay/list/listItem.d.ts +34 -0
- package/dist/components/dataDisplay/list/listItem.js +47 -24
- 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 +24 -23
- 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 +39 -27
- package/dist/components/dataDisplay/personChip/personChip.js.map +1 -1
- package/dist/components/dataDisplay/qrCode/index.d.ts +2 -0
- package/dist/components/dataDisplay/qrCode/qrCode.d.ts +28 -0
- package/dist/components/dataDisplay/qrCode/qrCode.js +78 -0
- package/dist/components/dataDisplay/qrCode/qrCode.js.map +1 -0
- package/dist/components/dataDisplay/qrCode/qrCodePath.d.ts +7 -0
- package/dist/components/dataDisplay/qrCode/qrCodePath.js +20 -0
- package/dist/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
- package/dist/components/dataDisplay/stat/stat.d.ts +2 -0
- package/dist/components/dataDisplay/stat/stat.js +25 -13
- package/dist/components/dataDisplay/stat/stat.js.map +1 -1
- package/dist/components/dataDisplay/statusDot/index.d.ts +2 -0
- package/dist/components/dataDisplay/statusDot/statusDot.d.ts +35 -0
- package/dist/components/dataDisplay/statusDot/statusDot.js +30 -0
- package/dist/components/dataDisplay/statusDot/statusDot.js.map +1 -0
- package/dist/components/dataDisplay/swimlanes/index.d.ts +2 -0
- package/dist/components/dataDisplay/swimlanes/swimlanes.d.ts +53 -0
- package/dist/components/dataDisplay/swimlanes/swimlanes.js +357 -0
- package/dist/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
- package/dist/components/dataDisplay/table/table.d.ts +16 -1
- package/dist/components/dataDisplay/table/table.js +40 -36
- package/dist/components/dataDisplay/table/table.js.map +1 -1
- package/dist/components/dataDisplay/table/tableBody.js +10 -4
- 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 +20 -13
- package/dist/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tableColumns.d.ts +83 -0
- package/dist/components/dataDisplay/table/tableColumns.js +112 -0
- package/dist/components/dataDisplay/table/tableColumns.js.map +1 -0
- package/dist/components/dataDisplay/table/tableHead.js +9 -3
- package/dist/components/dataDisplay/table/tableHead.js.map +1 -1
- package/dist/components/dataDisplay/table/tableHeadCell.d.ts +24 -3
- package/dist/components/dataDisplay/table/tableHeadCell.js +60 -65
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tableRow.d.ts +3 -1
- package/dist/components/dataDisplay/table/tableRow.js +28 -16
- 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 +79 -59
- package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/components/dataDisplay/treeView/treeView.d.ts +19 -1
- package/dist/components/dataDisplay/treeView/treeView.js +113 -91
- package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/components/feedBack/emptyState/emptyState.d.ts +2 -0
- package/dist/components/feedBack/emptyState/emptyState.js +22 -12
- 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 +30 -19
- package/dist/components/feedBack/message/message.js.map +1 -1
- package/dist/components/feedBack/modal/modal.js +84 -63
- 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 +37 -34
- package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/components/feedBack/snackbar/snackbar.js +104 -103
- 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 +67 -47
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/components/inputs/button/button.d.ts +15 -1
- package/dist/components/inputs/button/button.js +73 -63
- 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 +40 -36
- 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 +84 -59
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/components/inputs/composer/composer.d.ts +149 -0
- package/dist/components/inputs/composer/composer.js +219 -0
- package/dist/components/inputs/composer/composer.js.map +1 -0
- package/dist/components/inputs/composer/composerFiles.d.ts +26 -0
- package/dist/components/inputs/composer/composerFiles.js +19 -0
- package/dist/components/inputs/composer/composerFiles.js.map +1 -0
- package/dist/components/inputs/composer/composerKeys.d.ts +29 -0
- package/dist/components/inputs/composer/composerKeys.js +7 -0
- package/dist/components/inputs/composer/composerKeys.js.map +1 -0
- package/dist/components/inputs/composer/index.d.ts +3 -0
- package/dist/components/inputs/datePicker/datePicker.js +170 -164
- package/dist/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerDay.d.ts +1 -1
- package/dist/components/inputs/datePicker/datePickerDay.js +52 -44
- package/dist/components/inputs/datePicker/datePickerDay.js.map +1 -1
- package/dist/components/inputs/datePicker/datePickerIconButton.d.ts +1 -1
- package/dist/components/inputs/datePicker/datePickerIconButton.js +32 -28
- package/dist/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/components/inputs/floatingButton/floatingButton.js +32 -30
- 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 +77 -58
- package/dist/components/inputs/radioButton/radioButton.js.map +1 -1
- package/dist/components/inputs/rating/rating.d.ts +8 -0
- package/dist/components/inputs/rating/rating.js +85 -70
- package/dist/components/inputs/rating/rating.js.map +1 -1
- package/dist/components/inputs/selectField/dropdownMenu.d.ts +20 -1
- package/dist/components/inputs/selectField/dropdownMenu.js +266 -113
- 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 +38 -0
- package/dist/components/inputs/selectField/optionNavigation.js.map +1 -0
- package/dist/components/inputs/selectField/selectField.d.ts +31 -1
- package/dist/components/inputs/selectField/selectField.js +358 -218
- package/dist/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/components/inputs/slider/slider.d.ts +22 -1
- package/dist/components/inputs/slider/slider.js +330 -261
- package/dist/components/inputs/slider/slider.js.map +1 -1
- package/dist/components/inputs/textField/textField.d.ts +7 -0
- package/dist/components/inputs/textField/textField.js +118 -100
- package/dist/components/inputs/textField/textField.js.map +1 -1
- package/dist/components/inputs/textField/textFieldWrapper.d.ts +15 -1
- package/dist/components/inputs/textField/textFieldWrapper.js +45 -34
- package/dist/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/components/inputs/timePicker/timePicker.js +91 -85
- 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 +80 -61
- 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 +23 -22
- 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 +25 -24
- 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 +23 -22
- 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 +145 -139
- package/dist/components/layout/floatingWindow/floatingWindow.js.map +1 -1
- package/dist/components/layout/grid/grid.d.ts +12 -1
- package/dist/components/layout/grid/grid.js +51 -36
- 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 +16 -8
- 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 +22 -13
- 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 +37 -27
- package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -1
- package/dist/components/layout/sheet/sheet.d.ts +14 -0
- package/dist/components/layout/sheet/sheet.js +148 -132
- 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 +29 -17
- package/dist/components/layout/stack/stack.js.map +1 -1
- package/dist/components/layout/tabGroups/index.d.ts +4 -0
- package/dist/components/layout/tabGroups/tabGroups.d.ts +94 -0
- package/dist/components/layout/tabGroups/tabGroups.js +783 -0
- package/dist/components/layout/tabGroups/tabGroups.js.map +1 -0
- package/dist/components/layout/tabGroups/tabGroupsFocus.d.ts +55 -0
- package/dist/components/layout/tabGroups/tabGroupsFocus.js +199 -0
- package/dist/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
- package/dist/components/layout/tabGroups/tabGroupsLayout.d.ts +250 -0
- package/dist/components/layout/tabGroups/tabGroupsLayout.js +497 -0
- package/dist/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
- package/dist/components/navigation/appBar/appBar.d.ts +24 -0
- package/dist/components/navigation/appBar/appBar.js +39 -33
- package/dist/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/components/navigation/bottomBar/bottomBar.js +81 -77
- 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 +29 -27
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/components/navigation/commandPalette/commandPalette.d.ts +111 -0
- package/dist/components/navigation/commandPalette/commandPalette.js +337 -0
- package/dist/components/navigation/commandPalette/commandPalette.js.map +1 -0
- package/dist/components/navigation/commandPalette/commandPaletteFilter.d.ts +11 -0
- package/dist/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
- package/dist/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
- package/dist/components/navigation/commandPalette/commandPaletteNavigation.d.ts +13 -0
- package/dist/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
- package/dist/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
- package/dist/components/navigation/commandPalette/commandPaletteTypes.d.ts +39 -0
- package/dist/components/navigation/commandPalette/index.d.ts +4 -0
- package/dist/components/navigation/menu/menu.d.ts +12 -0
- package/dist/components/navigation/menu/menu.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 +42 -30
- 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 +60 -48
- package/dist/components/navigation/menu/menuItem.js.map +1 -1
- package/dist/components/navigation/menu/menuList.d.ts +5 -1
- package/dist/components/navigation/menu/menuList.js +30 -19
- package/dist/components/navigation/menu/menuList.js.map +1 -1
- package/dist/components/navigation/menu/menuSubmenu.js +53 -40
- 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 +51 -49
- package/dist/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/components/navigation/sidebar/sidebar.d.ts +10 -0
- package/dist/components/navigation/sidebar/sidebar.js +65 -62
- 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 +37 -28
- package/dist/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/components/navigation/tabs/index.d.ts +3 -1
- package/dist/components/navigation/tabs/tab/tab.d.ts +88 -1
- package/dist/components/navigation/tabs/tab/tab.js +116 -35
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/components/navigation/tabs/tabPanel/tabPanel.d.ts +19 -0
- package/dist/components/navigation/tabs/tabPanel/tabPanel.js +27 -0
- package/dist/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
- package/dist/components/navigation/tabs/tabs.d.ts +80 -4
- package/dist/components/navigation/tabs/tabs.js +369 -148
- package/dist/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/components/navigation/tabs/tabs.utils.d.ts +20 -0
- package/dist/components/navigation/tabs/tabs.utils.js +11 -0
- package/dist/components/navigation/tabs/tabs.utils.js.map +1 -0
- package/dist/components/navigation/tabs/tabsContext.d.ts +11 -0
- package/dist/components/navigation/tabs/tabsContext.js +6 -0
- package/dist/components/navigation/tabs/tabsContext.js.map +1 -0
- package/dist/connects/rt/table/headerCellRenderer.d.ts +4 -1
- package/dist/connects/rt/table/headerCellRenderer.js +45 -15
- package/dist/connects/rt/table/headerCellRenderer.js.map +1 -1
- package/dist/connects/rt/table/table.d.ts +15 -1
- package/dist/connects/rt/table/table.js +125 -131
- package/dist/connects/rt/table/table.js.map +1 -1
- package/dist/headless/components/base/icon/icon.js +49 -37
- package/dist/headless/components/base/icon/icon.js.map +1 -1
- package/dist/headless/components/base/ripple/ripple.js +42 -27
- package/dist/headless/components/base/ripple/ripple.js.map +1 -1
- package/dist/headless/components/dataDisplay/avatar/avatar.js +51 -38
- package/dist/headless/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/headless/components/dataDisplay/badge/badge.js +37 -28
- package/dist/headless/components/dataDisplay/badge/badge.js.map +1 -1
- package/dist/headless/components/dataDisplay/card/card.js +50 -23
- package/dist/headless/components/dataDisplay/card/card.js.map +1 -1
- package/dist/headless/components/dataDisplay/carousel/carousel.js +55 -55
- package/dist/headless/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chat.js +179 -150
- package/dist/headless/components/dataDisplay/chat/chat.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatComposer.js +31 -29
- package/dist/headless/components/dataDisplay/chat/chatComposer.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js +30 -26
- package/dist/headless/components/dataDisplay/chat/chatIconButton.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/chatLayout.js +56 -55
- package/dist/headless/components/dataDisplay/chat/chatLayout.js.map +1 -1
- package/dist/headless/components/dataDisplay/chat/utils.js.map +1 -1
- package/dist/headless/components/dataDisplay/chip/chip.js +108 -81
- package/dist/headless/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js +35 -31
- package/dist/headless/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
- package/dist/headless/components/dataDisplay/dagView/dagLayout.js +289 -0
- package/dist/headless/components/dataDisplay/dagView/dagLayout.js.map +1 -0
- package/dist/headless/components/dataDisplay/dagView/dagView.js +541 -0
- package/dist/headless/components/dataDisplay/dagView/dagView.js.map +1 -0
- package/dist/headless/components/dataDisplay/dagView/panZoom.js +171 -0
- package/dist/headless/components/dataDisplay/dagView/panZoom.js.map +1 -0
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
- package/dist/headless/components/dataDisplay/diffStat/diffStat.js +61 -0
- package/dist/headless/components/dataDisplay/diffStat/diffStat.js.map +1 -0
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js +143 -98
- package/dist/headless/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/headless/components/dataDisplay/kanban/kanban.js +45 -34
- package/dist/headless/components/dataDisplay/kanban/kanban.js.map +1 -1
- package/dist/headless/components/dataDisplay/kbd/kbd.js +25 -0
- package/dist/headless/components/dataDisplay/kbd/kbd.js.map +1 -0
- package/dist/headless/components/dataDisplay/kbd/kbdKeys.js +72 -0
- package/dist/headless/components/dataDisplay/kbd/kbdKeys.js.map +1 -0
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js +30 -29
- package/dist/headless/components/dataDisplay/lazyImage/lazyImage.js.map +1 -1
- package/dist/headless/components/dataDisplay/list/list.js +15 -14
- package/dist/headless/components/dataDisplay/list/list.js.map +1 -1
- package/dist/headless/components/dataDisplay/list/listItem.js +47 -24
- package/dist/headless/components/dataDisplay/list/listItem.js.map +1 -1
- package/dist/headless/components/dataDisplay/meter/meter.js +19 -18
- package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -1
- package/dist/headless/components/dataDisplay/personChip/personChip.js +39 -27
- package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -1
- package/dist/headless/components/dataDisplay/qrCode/qrCode.js +76 -0
- package/dist/headless/components/dataDisplay/qrCode/qrCode.js.map +1 -0
- package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js +20 -0
- package/dist/headless/components/dataDisplay/qrCode/qrCodePath.js.map +1 -0
- package/dist/headless/components/dataDisplay/stat/stat.js +27 -15
- package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
- package/dist/headless/components/dataDisplay/statusDot/statusDot.js +28 -0
- package/dist/headless/components/dataDisplay/statusDot/statusDot.js.map +1 -0
- package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js +355 -0
- package/dist/headless/components/dataDisplay/swimlanes/swimlanes.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/table.js +40 -36
- package/dist/headless/components/dataDisplay/table/table.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableBody.js +10 -4
- package/dist/headless/components/dataDisplay/table/tableBody.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableCell.js +20 -13
- package/dist/headless/components/dataDisplay/table/tableCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableColumns.js +112 -0
- package/dist/headless/components/dataDisplay/table/tableColumns.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/tableHead.js +9 -3
- package/dist/headless/components/dataDisplay/table/tableHead.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js +60 -65
- package/dist/headless/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/headless/components/dataDisplay/table/tableRow.js +28 -16
- package/dist/headless/components/dataDisplay/table/tableRow.js.map +1 -1
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js +78 -58
- package/dist/headless/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/headless/components/dataDisplay/treeView/treeView.js +113 -91
- package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/headless/components/feedBack/emptyState/emptyState.js +21 -11
- package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -1
- package/dist/headless/components/feedBack/message/message.js +31 -20
- package/dist/headless/components/feedBack/message/message.js.map +1 -1
- package/dist/headless/components/feedBack/modal/modal.js +84 -63
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
- package/dist/headless/components/feedBack/skeleton/skeleton.js +38 -35
- package/dist/headless/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/headless/components/feedBack/snackbar/snackbar.js +108 -107
- package/dist/headless/components/feedBack/snackbar/snackbar.js.map +1 -1
- package/dist/headless/components/feedBack/tooltip/tooltip.js +67 -47
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/headless/components/inputs/button/button.js +73 -63
- package/dist/headless/components/inputs/button/button.js.map +1 -1
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js +40 -36
- package/dist/headless/components/inputs/buttonGroups/buttonGroup.js.map +1 -1
- package/dist/headless/components/inputs/checkbox/checkbox.js +85 -60
- package/dist/headless/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/headless/components/inputs/composer/composer.js +217 -0
- package/dist/headless/components/inputs/composer/composer.js.map +1 -0
- package/dist/headless/components/inputs/composer/composerFiles.js +19 -0
- package/dist/headless/components/inputs/composer/composerFiles.js.map +1 -0
- package/dist/headless/components/inputs/composer/composerKeys.js +7 -0
- package/dist/headless/components/inputs/composer/composerKeys.js.map +1 -0
- package/dist/headless/components/inputs/datePicker/datePicker.js +170 -164
- package/dist/headless/components/inputs/datePicker/datePicker.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerDay.js +52 -44
- package/dist/headless/components/inputs/datePicker/datePickerDay.js.map +1 -1
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js +32 -28
- package/dist/headless/components/inputs/datePicker/datePickerIconButton.js.map +1 -1
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js +160 -154
- package/dist/headless/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/headless/components/inputs/floatingButton/floatingButton.js +32 -30
- package/dist/headless/components/inputs/floatingButton/floatingButton.js.map +1 -1
- package/dist/headless/components/inputs/radioButton/radioButton.js +77 -58
- package/dist/headless/components/inputs/radioButton/radioButton.js.map +1 -1
- package/dist/headless/components/inputs/rating/rating.js +85 -70
- package/dist/headless/components/inputs/rating/rating.js.map +1 -1
- package/dist/headless/components/inputs/selectField/dropdownMenu.js +266 -113
- package/dist/headless/components/inputs/selectField/dropdownMenu.js.map +1 -1
- package/dist/headless/components/inputs/selectField/optionNavigation.js +38 -0
- package/dist/headless/components/inputs/selectField/optionNavigation.js.map +1 -0
- package/dist/headless/components/inputs/selectField/selectField.js +358 -218
- package/dist/headless/components/inputs/selectField/selectField.js.map +1 -1
- package/dist/headless/components/inputs/slider/slider.js +330 -261
- package/dist/headless/components/inputs/slider/slider.js.map +1 -1
- package/dist/headless/components/inputs/textField/textField.js +118 -100
- package/dist/headless/components/inputs/textField/textField.js.map +1 -1
- package/dist/headless/components/inputs/textField/textFieldWrapper.js +45 -34
- package/dist/headless/components/inputs/textField/textFieldWrapper.js.map +1 -1
- package/dist/headless/components/inputs/timePicker/timePicker.js +91 -85
- package/dist/headless/components/inputs/timePicker/timePicker.js.map +1 -1
- package/dist/headless/components/inputs/toggle/toggle.js +79 -60
- package/dist/headless/components/inputs/toggle/toggle.js.map +1 -1
- package/dist/headless/components/inputs/valueSlider/valueSlider.js +25 -24
- package/dist/headless/components/inputs/valueSlider/valueSlider.js.map +1 -1
- package/dist/headless/components/layout/appLayout/appLayout.js +27 -26
- package/dist/headless/components/layout/appLayout/appLayout.js.map +1 -1
- package/dist/headless/components/layout/divider/divider.js +18 -17
- package/dist/headless/components/layout/divider/divider.js.map +1 -1
- package/dist/headless/components/layout/floatingWindow/floatingWindow.js +145 -139
- package/dist/headless/components/layout/floatingWindow/floatingWindow.js.map +1 -1
- package/dist/headless/components/layout/grid/grid.js +48 -33
- package/dist/headless/components/layout/grid/grid.js.map +1 -1
- package/dist/headless/components/layout/page/page.js +15 -7
- package/dist/headless/components/layout/page/page.js.map +1 -1
- package/dist/headless/components/layout/pageHeader/pageHeader.js +20 -11
- package/dist/headless/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js +36 -26
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -1
- package/dist/headless/components/layout/sheet/sheet.js +156 -140
- package/dist/headless/components/layout/sheet/sheet.js.map +1 -1
- package/dist/headless/components/layout/stack/stack.js +29 -17
- package/dist/headless/components/layout/stack/stack.js.map +1 -1
- package/dist/headless/components/layout/tabGroups/tabGroups.js +781 -0
- package/dist/headless/components/layout/tabGroups/tabGroups.js.map +1 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js +199 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsFocus.js.map +1 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js +497 -0
- package/dist/headless/components/layout/tabGroups/tabGroupsLayout.js.map +1 -0
- package/dist/headless/components/navigation/appBar/appBar.js +35 -29
- package/dist/headless/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/headless/components/navigation/bottomBar/bottomBar.js +81 -77
- package/dist/headless/components/navigation/bottomBar/bottomBar.js.map +1 -1
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js +32 -30
- package/dist/headless/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/headless/components/navigation/commandPalette/commandPalette.js +335 -0
- package/dist/headless/components/navigation/commandPalette/commandPalette.js.map +1 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js +16 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteFilter.js.map +1 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js +38 -0
- package/dist/headless/components/navigation/commandPalette/commandPaletteNavigation.js.map +1 -0
- package/dist/headless/components/navigation/menu/menu.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuContext.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuFloating.js +42 -30
- package/dist/headless/components/navigation/menu/menuFloating.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuItem.js +60 -48
- package/dist/headless/components/navigation/menu/menuItem.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuList.js +30 -19
- package/dist/headless/components/navigation/menu/menuList.js.map +1 -1
- package/dist/headless/components/navigation/menu/menuSubmenu.js +53 -40
- package/dist/headless/components/navigation/menu/menuSubmenu.js.map +1 -1
- package/dist/headless/components/navigation/pagination/pagination.js +51 -49
- package/dist/headless/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/headless/components/navigation/sidebar/sidebar.js +55 -52
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/headless/components/navigation/stepper/stepper.js +42 -33
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tab/tab.js +117 -36
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js +25 -0
- package/dist/headless/components/navigation/tabs/tabPanel/tabPanel.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabs.js +362 -141
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabs.utils.js +11 -0
- package/dist/headless/components/navigation/tabs/tabs.utils.js.map +1 -0
- package/dist/headless/components/navigation/tabs/tabsContext.js +6 -0
- package/dist/headless/components/navigation/tabs/tabsContext.js.map +1 -0
- package/dist/headless/hooks/useDismissOnEscape.js +16 -0
- package/dist/headless/hooks/useDismissOnEscape.js.map +1 -0
- package/dist/headless/hooks/useFocusTrap.js +24 -20
- package/dist/headless/hooks/useFocusTrap.js.map +1 -1
- package/dist/headless/hooks/useHelperText.js +13 -0
- package/dist/headless/hooks/useHelperText.js.map +1 -0
- package/dist/headless/hooks/useKeyboardShortcut.js +19 -0
- package/dist/headless/hooks/useKeyboardShortcut.js.map +1 -0
- package/dist/headless/index.js +360 -316
- package/dist/headless/index.js.map +1 -1
- package/dist/headless/utils/controlProps.js +14 -0
- package/dist/headless/utils/controlProps.js.map +1 -0
- package/dist/headless/utils/keyboardShortcut.js +49 -0
- package/dist/headless/utils/keyboardShortcut.js.map +1 -0
- package/dist/headless/utils/linkAttrs.js +13 -0
- package/dist/headless/utils/linkAttrs.js.map +1 -0
- package/dist/headless/utils/overlayLayer.js +14 -7
- package/dist/headless/utils/overlayLayer.js.map +1 -1
- package/dist/headless/utils/ownClick.js +40 -0
- package/dist/headless/utils/ownClick.js.map +1 -0
- package/dist/headless/utils/readOnlyToggle.js +14 -0
- package/dist/headless/utils/readOnlyToggle.js.map +1 -0
- package/dist/headless/utils/restoreFocus.js +10 -0
- package/dist/headless/utils/restoreFocus.js.map +1 -0
- package/dist/hooks/useDismissOnEscape.d.ts +11 -0
- package/dist/hooks/useDismissOnEscape.js +16 -0
- package/dist/hooks/useDismissOnEscape.js.map +1 -0
- package/dist/hooks/useFocusTrap.d.ts +8 -1
- package/dist/hooks/useFocusTrap.js +24 -20
- package/dist/hooks/useFocusTrap.js.map +1 -1
- package/dist/hooks/useHelperText.d.ts +21 -0
- package/dist/hooks/useHelperText.js +13 -0
- package/dist/hooks/useHelperText.js.map +1 -0
- package/dist/hooks/useKeyboardShortcut.d.ts +30 -0
- package/dist/hooks/useKeyboardShortcut.js +19 -0
- package/dist/hooks/useKeyboardShortcut.js.map +1 -0
- package/dist/index.cjs +3 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +24 -3
- package/dist/index.js +360 -316
- package/dist/index.js.map +1 -1
- package/dist/utils/controlProps.d.ts +16 -0
- package/dist/utils/controlProps.js +14 -0
- package/dist/utils/controlProps.js.map +1 -0
- package/dist/utils/keyboardShortcut.d.ts +12 -0
- package/dist/utils/keyboardShortcut.js +49 -0
- package/dist/utils/keyboardShortcut.js.map +1 -0
- package/dist/utils/linkAttrs.d.ts +13 -0
- package/dist/utils/linkAttrs.js +13 -0
- package/dist/utils/linkAttrs.js.map +1 -0
- package/dist/utils/overlayLayer.d.ts +15 -3
- package/dist/utils/overlayLayer.js +14 -7
- package/dist/utils/overlayLayer.js.map +1 -1
- package/dist/utils/ownClick.d.ts +16 -0
- package/dist/utils/ownClick.js +40 -0
- package/dist/utils/ownClick.js.map +1 -0
- package/dist/utils/readOnlyToggle.d.ts +15 -0
- package/dist/utils/readOnlyToggle.js +14 -0
- package/dist/utils/readOnlyToggle.js.map +1 -0
- package/dist/utils/restoreFocus.d.ts +8 -0
- package/dist/utils/restoreFocus.js +10 -0
- package/dist/utils/restoreFocus.js.map +1 -0
- package/package.json +5 -3
|
@@ -1,20 +1,32 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as n } from "react/jsx-runtime";
|
|
2
|
+
import { useContext as r } from "react";
|
|
2
3
|
import w from "clsx";
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
4
|
+
import { TableLabelsContext as c, TableRowPlaceContext as _, useCellPlaces as u, withColumns as f } from "./tableColumns.js";
|
|
5
|
+
const k = ({
|
|
6
|
+
children: e,
|
|
7
|
+
className: l,
|
|
8
|
+
selected: t,
|
|
9
|
+
expanded: a,
|
|
10
|
+
"data-testid": s = "table-row",
|
|
11
|
+
...o
|
|
12
|
+
}) => {
|
|
13
|
+
const m = r(c) != null, i = r(_), b = u();
|
|
14
|
+
return /* @__PURE__ */ n(
|
|
15
|
+
"tr",
|
|
16
|
+
{
|
|
17
|
+
"data-testid": s,
|
|
18
|
+
className: w("smwb-table__row", l, {
|
|
19
|
+
"smwb-table__row_selected": t,
|
|
20
|
+
"smwb-table__row_expanded": a
|
|
21
|
+
}),
|
|
22
|
+
...o,
|
|
23
|
+
"aria-selected": t != null ? t : o["aria-selected"],
|
|
24
|
+
"aria-expanded": a != null ? a : o["aria-expanded"],
|
|
25
|
+
children: f(e, m, i, b)
|
|
26
|
+
}
|
|
27
|
+
);
|
|
28
|
+
};
|
|
17
29
|
export {
|
|
18
|
-
|
|
30
|
+
k as default
|
|
19
31
|
};
|
|
20
32
|
//# sourceMappingURL=tableRow.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tableRow.js","sources":["../../../../src/components/dataDisplay/table/tableRow.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren } from \"react\";\nimport cn from \"clsx\";\n\nexport interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n /** Marks the row as selected (adds aria-selected + styling). */\n selected?: boolean;\n /** Reflects expandable-row state (adds aria-expanded + styling). */\n expanded?: boolean;\n}\n\nconst TableRow = ({
|
|
1
|
+
{"version":3,"file":"tableRow.js","sources":["../../../../src/components/dataDisplay/table/tableRow.tsx"],"sourcesContent":["import React, { HTMLAttributes, PropsWithChildren, useContext } from \"react\";\nimport cn from \"clsx\";\nimport { TableLabelsContext, TableRowPlaceContext, useCellPlaces, withColumns } from \"./tableColumns\";\n\nexport interface TableRowProps extends HTMLAttributes<HTMLTableRowElement> {\n className?: string;\n /** Marks the row as selected (adds aria-selected + styling). */\n selected?: boolean;\n /** Reflects expandable-row state (adds aria-expanded + styling). */\n expanded?: boolean;\n /** Test id of the `<tr>`; `table-row` unless given. */\n \"data-testid\"?: string;\n}\n\nconst TableRow = ({\n children,\n className,\n selected,\n expanded,\n \"data-testid\": dataTestId = \"table-row\",\n ...props\n}: PropsWithChildren<TableRowProps>) => {\n // In a stacked table each cell learns its column, by which a body cell finds\n // its label in the head.\n const stacked = useContext(TableLabelsContext) != null;\n const place = useContext(TableRowPlaceContext);\n const keep = useCellPlaces();\n return (\n <tr\n data-testid={dataTestId}\n className={cn(\"smwb-table__row\", className, {\n \"smwb-table__row_selected\": selected,\n \"smwb-table__row_expanded\": expanded,\n })}\n {...props}\n // `selected` and `expanded` win over the caller's aria-selected and\n // aria-expanded; without them, the caller's stay.\n aria-selected={selected ?? props[\"aria-selected\"]}\n aria-expanded={expanded ?? props[\"aria-expanded\"]}\n >\n {withColumns(children, stacked, place, keep)}\n </tr>\n );\n};\nexport default TableRow;\n"],"names":["TableRow","children","className","selected","expanded","dataTestId","props","stacked","useContext","TableLabelsContext","place","TableRowPlaceContext","keep","useCellPlaces","jsx","cn","withColumns"],"mappings":";;;;AAcA,MAAMA,IAAW,CAAC;AAAA,EAChB,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,MAAwC;AAGtC,QAAMC,IAAUC,EAAWC,CAAkB,KAAK,MAC5CC,IAAQF,EAAWG,CAAoB,GACvCC,IAAOC,EAAA;AACb,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,eAAaT;AAAA,MACb,WAAWU,EAAG,mBAAmBb,GAAW;AAAA,QAC1C,4BAA4BC;AAAA,QAC5B,4BAA4BC;AAAA,MAAA,CAC7B;AAAA,MACA,GAAGE;AAAA,MAGJ,iBAAeH,KAAA,OAAAA,IAAYG,EAAM,eAAe;AAAA,MAChD,iBAAeF,KAAA,OAAAA,IAAYE,EAAM,eAAe;AAAA,MAE/C,UAAAU,EAAYf,GAAUM,GAASG,GAAOE,CAAI;AAAA,IAAA;AAAA,EAAA;AAGjD;"}
|
|
@@ -1,20 +1,57 @@
|
|
|
1
1
|
import React from "react";
|
|
2
2
|
export interface ThumbCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, "onSelect"> {
|
|
3
|
+
/**
|
|
4
|
+
* Class name(s) for the root `<div>`, the card's box. `style`, `id`, `data-*`, `aria-hidden`, `ref` and event
|
|
5
|
+
* handlers go to the root too, but `role`, `tabIndex`, `onFocus`, `onBlur` and the other `aria-*` attributes go to
|
|
6
|
+
* the card's content, `.smwb-thumb-card__content` (the image and the caption): that is the card's button when it has
|
|
7
|
+
* `onSelect`, and the element to focus.
|
|
8
|
+
*/
|
|
9
|
+
className?: string;
|
|
3
10
|
/** Thumbnail URL; falls back to `fallback` when missing / failed. */
|
|
4
11
|
src?: string;
|
|
12
|
+
/**
|
|
13
|
+
* Text under the image. With `onSelect` it is part of the card's button and names it, so keep controls out of it:
|
|
14
|
+
* they go in `topStart` / `topEnd`.
|
|
15
|
+
*/
|
|
5
16
|
caption?: React.ReactNode;
|
|
17
|
+
/** Outlines the image; with `onSelect`, the card's button is also `aria-pressed="true"`. */
|
|
6
18
|
selected?: boolean;
|
|
7
|
-
/**
|
|
19
|
+
/**
|
|
20
|
+
* Makes the card selectable: its content (the image and the caption) becomes a toggle button with `aria-pressed`,
|
|
21
|
+
* selected by a click and by Enter / Space. The corner slots are not part of that button but its siblings, laid over
|
|
22
|
+
* the image, so their controls keep their own names, clicks and keys.
|
|
23
|
+
*
|
|
24
|
+
* A click selects the card unless it lands in a control in a slot (button, link, input, anything focusable) or in a
|
|
25
|
+
* portal opened from the card. Slot content that is not a control keeps its click from selecting the card by calling
|
|
26
|
+
* `preventDefault()` on it.
|
|
27
|
+
*/
|
|
8
28
|
onSelect?: () => void;
|
|
29
|
+
/**
|
|
30
|
+
* Runs on each click on the card, before `onSelect`, but not while the card is `disabled`.
|
|
31
|
+
* A click on a control in a slot runs it too, without selecting the card.
|
|
32
|
+
* Enter / Space select the card without a click, so they call only `onSelect`.
|
|
33
|
+
*/
|
|
34
|
+
onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;
|
|
9
35
|
/** Shown in place of the image when `src` is missing / fails. */
|
|
10
36
|
fallback?: React.ReactNode;
|
|
11
37
|
/** A larger preview shown in a floating popup after a hover delay. */
|
|
12
38
|
hoverPreview?: React.ReactNode | string;
|
|
13
|
-
/**
|
|
39
|
+
/**
|
|
40
|
+
* Top-left overlay slot (e.g. a favourite star). It sits over the image, outside the card's button, so controls here
|
|
41
|
+
* keep their own names, clicks and keys; see `onSelect`.
|
|
42
|
+
*/
|
|
14
43
|
topStart?: React.ReactNode;
|
|
15
|
-
/**
|
|
44
|
+
/**
|
|
45
|
+
* Top-right overlay slot (e.g. a kebab menu). It sits over the image, outside the card's button, so controls here
|
|
46
|
+
* keep their own names, clicks and keys; see `onSelect`.
|
|
47
|
+
*/
|
|
16
48
|
topEnd?: React.ReactNode;
|
|
17
49
|
lazy?: boolean;
|
|
50
|
+
/**
|
|
51
|
+
* Dims the card and ignores clicks on it: neither `onClick` nor `onSelect` runs.
|
|
52
|
+
* Keys do not select it either, and there is no hover preview. With `onSelect`
|
|
53
|
+
* the card is still a button, `aria-disabled` and out of the tab order.
|
|
54
|
+
*/
|
|
18
55
|
disabled?: boolean;
|
|
19
56
|
/** Delay (ms) before the hover preview appears. Default 350. */
|
|
20
57
|
hoverDelay?: number;
|
|
@@ -24,6 +61,10 @@ export interface ThumbCardProps extends Omit<React.HTMLAttributes<HTMLDivElement
|
|
|
24
61
|
* load, keyboard/`aria-pressed` selection, corner action slots, and a delayed
|
|
25
62
|
* floating hover-preview. The generic gallery-card behaviour every app rebuilds
|
|
26
63
|
* on top of the primitives. SSR-safe — the hover preview is client-only.
|
|
64
|
+
*
|
|
65
|
+
* The root is a box around the card's content (the image and the caption, the
|
|
66
|
+
* card's button when it is selectable) and the corner slots, which are laid
|
|
67
|
+
* over the image beside that button rather than inside it.
|
|
27
68
|
*/
|
|
28
69
|
export declare const ThumbCard: React.ForwardRefExoticComponent<ThumbCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
29
70
|
export default ThumbCard;
|
|
@@ -1,73 +1,93 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as C, jsx as s } from "react/jsx-runtime";
|
|
2
2
|
import '../../../assets/styles/less/components/thumbCard/thumbCard.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { forwardRef as
|
|
5
|
-
import { createPortal as
|
|
6
|
-
import
|
|
7
|
-
import { useForkRef as
|
|
8
|
-
import {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
4
|
+
import { forwardRef as J, useRef as w, useState as L, useEffect as Q } from "react";
|
|
5
|
+
import { createPortal as U } from "react-dom";
|
|
6
|
+
import V from "clsx";
|
|
7
|
+
import { useForkRef as W } from "../../../hooks/useForkRef.js";
|
|
8
|
+
import { isOwnClick as X } from "../../../utils/ownClick.js";
|
|
9
|
+
import { splitControlProps as Y } from "../../../utils/controlProps.js";
|
|
10
|
+
import { LazyImage as Z } from "../lazyImage/lazyImage.js";
|
|
11
|
+
const at = J(function({
|
|
12
|
+
src: I,
|
|
13
|
+
caption: g,
|
|
14
|
+
selected: c,
|
|
13
15
|
onSelect: r,
|
|
14
|
-
fallback:
|
|
15
|
-
hoverPreview:
|
|
16
|
-
topStart:
|
|
17
|
-
topEnd:
|
|
18
|
-
lazy:
|
|
19
|
-
disabled:
|
|
20
|
-
hoverDelay:
|
|
21
|
-
className:
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
},
|
|
33
|
-
|
|
16
|
+
fallback: j,
|
|
17
|
+
hoverPreview: u,
|
|
18
|
+
topStart: p,
|
|
19
|
+
topEnd: x,
|
|
20
|
+
lazy: k = !0,
|
|
21
|
+
disabled: m,
|
|
22
|
+
hoverDelay: v = 350,
|
|
23
|
+
className: z,
|
|
24
|
+
// The card sets these on its root too; its own handlers call the caller's.
|
|
25
|
+
onClick: l,
|
|
26
|
+
onKeyDown: d,
|
|
27
|
+
onMouseEnter: f,
|
|
28
|
+
onMouseLeave: e,
|
|
29
|
+
...B
|
|
30
|
+
}, F) {
|
|
31
|
+
var y;
|
|
32
|
+
const [i, O] = Y(B), N = w(null), b = w(null), q = W(F, N), [o, R] = L(null), n = w(null), h = () => {
|
|
33
|
+
n.current && (clearTimeout(n.current), n.current = null);
|
|
34
|
+
}, A = (t) => {
|
|
35
|
+
f == null || f(t), !(u == null || m) && (h(), n.current = setTimeout(() => {
|
|
36
|
+
var T;
|
|
37
|
+
const a = (T = N.current) == null ? void 0 : T.getBoundingClientRect();
|
|
38
|
+
a && R({ top: a.top, left: a.right + 8 });
|
|
39
|
+
}, v));
|
|
40
|
+
}, E = (t) => {
|
|
41
|
+
e == null || e(t), h(), R(null);
|
|
34
42
|
};
|
|
35
|
-
|
|
36
|
-
const
|
|
37
|
-
|
|
43
|
+
Q(() => h, []);
|
|
44
|
+
const _ = !!r && !m, G = (t) => {
|
|
45
|
+
if (m) return;
|
|
46
|
+
const a = X(t, b.current);
|
|
47
|
+
l == null || l(t), a && (r == null || r());
|
|
48
|
+
}, H = (t) => {
|
|
49
|
+
d == null || d(t), !(!_ || t.target !== b.current) && (t.key === "Enter" || t.key === " ") && (t.preventDefault(), r == null || r());
|
|
38
50
|
};
|
|
39
|
-
return /* @__PURE__ */
|
|
51
|
+
return /* @__PURE__ */ C(
|
|
40
52
|
"div",
|
|
41
53
|
{
|
|
42
|
-
...
|
|
43
|
-
ref:
|
|
44
|
-
className:
|
|
45
|
-
"smwb-thumb-card--selected":
|
|
46
|
-
"smwb-thumb-card--disabled":
|
|
47
|
-
"smwb-thumb-card--interactive":
|
|
54
|
+
...O,
|
|
55
|
+
ref: q,
|
|
56
|
+
className: V("smwb-thumb-card", z, {
|
|
57
|
+
"smwb-thumb-card--selected": c,
|
|
58
|
+
"smwb-thumb-card--disabled": m,
|
|
59
|
+
"smwb-thumb-card--interactive": _
|
|
48
60
|
}),
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
onClick: m ? () => r == null ? void 0 : r() : void 0,
|
|
54
|
-
onKeyDown: E,
|
|
55
|
-
onMouseEnter: k,
|
|
56
|
-
onMouseLeave: C,
|
|
61
|
+
onClick: G,
|
|
62
|
+
onKeyDown: H,
|
|
63
|
+
onMouseEnter: A,
|
|
64
|
+
onMouseLeave: E,
|
|
57
65
|
children: [
|
|
58
|
-
/* @__PURE__ */
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
66
|
+
/* @__PURE__ */ C(
|
|
67
|
+
"div",
|
|
68
|
+
{
|
|
69
|
+
...i,
|
|
70
|
+
ref: b,
|
|
71
|
+
className: "smwb-thumb-card__content",
|
|
72
|
+
role: r ? "button" : i.role,
|
|
73
|
+
tabIndex: (y = i.tabIndex) != null ? y : _ ? 0 : void 0,
|
|
74
|
+
"aria-pressed": r ? c != null ? c : !1 : i["aria-pressed"],
|
|
75
|
+
"aria-disabled": m || i["aria-disabled"],
|
|
76
|
+
children: [
|
|
77
|
+
/* @__PURE__ */ s("div", { className: "smwb-thumb-card__media", children: /* @__PURE__ */ s(Z, { src: I, lazy: k, fallback: j }) }),
|
|
78
|
+
g ? /* @__PURE__ */ s("div", { className: "smwb-thumb-card__caption", children: g }) : null
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
),
|
|
82
|
+
p ? /* @__PURE__ */ s("div", { className: "smwb-thumb-card__slot smwb-thumb-card__slot--start", children: p }) : null,
|
|
83
|
+
x ? /* @__PURE__ */ s("div", { className: "smwb-thumb-card__slot smwb-thumb-card__slot--end", children: x }) : null,
|
|
84
|
+
o && typeof document != "undefined" ? U(
|
|
65
85
|
/* @__PURE__ */ s(
|
|
66
86
|
"div",
|
|
67
87
|
{
|
|
68
88
|
className: "smwb-thumb-card__preview",
|
|
69
|
-
style: { position: "fixed", top:
|
|
70
|
-
children: typeof
|
|
89
|
+
style: { position: "fixed", top: o.top, left: o.left },
|
|
90
|
+
children: typeof u == "string" ? /* @__PURE__ */ s("img", { src: u, alt: "" }) : u
|
|
71
91
|
}
|
|
72
92
|
),
|
|
73
93
|
document.body
|
|
@@ -77,7 +97,7 @@ const U = L(function({
|
|
|
77
97
|
);
|
|
78
98
|
});
|
|
79
99
|
export {
|
|
80
|
-
|
|
81
|
-
|
|
100
|
+
at as ThumbCard,
|
|
101
|
+
at as default
|
|
82
102
|
};
|
|
83
103
|
//# sourceMappingURL=thumbCard.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"thumbCard.js","sources":["../../../../src/components/dataDisplay/thumbCard/thumbCard.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport cn from \"clsx\";\nimport { LazyImage } from \"../lazyImage\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\n\nexport interface ThumbCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /** Thumbnail URL; falls back to `fallback` when missing / failed. */\n src?: string;\n caption?: React.ReactNode;\n selected?: boolean;\n /** Makes the card a selectable button (keyboard + `aria-pressed`). */\n onSelect?: () => void;\n /** Shown in place of the image when `src` is missing / fails. */\n fallback?: React.ReactNode;\n /** A larger preview shown in a floating popup after a hover delay. */\n hoverPreview?: React.ReactNode | string;\n /** Top-left overlay slot (e.g. a favourite star). */\n topStart?: React.ReactNode;\n /** Top-right overlay slot (e.g. a kebab menu). */\n topEnd?: React.ReactNode;\n lazy?: boolean;\n disabled?: boolean;\n /** Delay (ms) before the hover preview appears. Default 350. */\n hoverDelay?: number;\n}\n\n/**\n * A selectable gallery card: image with an `onError` fallback + optional lazy\n * load, keyboard/`aria-pressed` selection, corner action slots, and a delayed\n * floating hover-preview. The generic gallery-card behaviour every app rebuilds\n * on top of the primitives. SSR-safe — the hover preview is client-only.\n */\nexport const ThumbCard = forwardRef<HTMLDivElement, ThumbCardProps>(function ThumbCard(\n {\n src,\n caption,\n selected,\n onSelect,\n fallback,\n hoverPreview,\n topStart,\n topEnd,\n lazy = true,\n disabled,\n hoverDelay = 350,\n className,\n ...rest\n },\n ref\n) {\n const cardRef = useRef<HTMLDivElement | null>(null);\n const setRefs = useForkRef(ref, cardRef);\n const [preview, setPreview] = useState<{ top: number; left: number } | null>(null);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const clearTimer = (): void => {\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = null;\n }\n };\n const onEnter = (): void => {\n if (hoverPreview == null || disabled) return;\n clearTimer();\n timer.current = setTimeout(() => {\n const rect = cardRef.current?.getBoundingClientRect();\n if (rect) setPreview({ top: rect.top, left: rect.right + 8 });\n }, hoverDelay);\n };\n const onLeave = (): void => {\n clearTimer();\n setPreview(null);\n };\n useEffect(() => clearTimer, []);\n\n const interactive = !!onSelect && !disabled;\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n if (interactive && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n onSelect?.();\n }\n };\n\n return (\n <div\n {...rest}\n ref={setRefs}\n className={cn(\"smwb-thumb-card\", className, {\n \"smwb-thumb-card--selected\": selected,\n \"smwb-thumb-card--disabled\": disabled,\n \"smwb-thumb-card--interactive\": interactive,\n })}\n role={interactive ? \"button\" : undefined}\n tabIndex={interactive ? 0 : undefined}\n aria-pressed={onSelect ? (selected ?? false) : undefined}\n aria-disabled={disabled || undefined}\n onClick={interactive ? () => onSelect?.() : undefined}\n onKeyDown={onKeyDown}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n >\n <div className=\"smwb-thumb-card__media\">\n <LazyImage src={src} lazy={lazy} fallback={fallback} />\n {topStart ? <div className=\"smwb-thumb-card__slot smwb-thumb-card__slot--start\">{topStart}</div> : null}\n {topEnd ? <div className=\"smwb-thumb-card__slot smwb-thumb-card__slot--end\">{topEnd}</div> : null}\n </div>\n {caption ? <div className=\"smwb-thumb-card__caption\">{caption}</div> : null}\n {preview && typeof document !== \"undefined\"\n ? createPortal(\n <div\n className=\"smwb-thumb-card__preview\"\n style={{ position: \"fixed\", top: preview.top, left: preview.left }}\n >\n {typeof hoverPreview === \"string\" ? <img src={hoverPreview} alt=\"\" /> : hoverPreview}\n </div>,\n document.body\n )\n : null}\n </div>\n );\n});\n\nexport default ThumbCard;\n"],"names":["ThumbCard","forwardRef","src","caption","selected","onSelect","fallback","hoverPreview","topStart","topEnd","lazy","disabled","hoverDelay","className","rest","ref","cardRef","useRef","setRefs","useForkRef","preview","setPreview","useState","timer","clearTimer","onEnter","rect","_a","onLeave","useEffect","interactive","onKeyDown","event","jsxs","cn","jsx","LazyImage","createPortal"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"thumbCard.js","sources":["../../../../src/components/dataDisplay/thumbCard/thumbCard.tsx"],"sourcesContent":["import React, { forwardRef, useEffect, useRef, useState } from \"react\";\nimport { createPortal } from \"react-dom\";\nimport cn from \"clsx\";\nimport { LazyImage } from \"../lazyImage\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { isOwnClick } from \"../../../utils/ownClick\";\nimport { splitControlProps } from \"../../../utils/controlProps\";\n\nexport interface ThumbCardProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"onSelect\"> {\n /**\n * Class name(s) for the root `<div>`, the card's box. `style`, `id`, `data-*`, `aria-hidden`, `ref` and event\n * handlers go to the root too, but `role`, `tabIndex`, `onFocus`, `onBlur` and the other `aria-*` attributes go to\n * the card's content, `.smwb-thumb-card__content` (the image and the caption): that is the card's button when it has\n * `onSelect`, and the element to focus.\n */\n className?: string;\n /** Thumbnail URL; falls back to `fallback` when missing / failed. */\n src?: string;\n /**\n * Text under the image. With `onSelect` it is part of the card's button and names it, so keep controls out of it:\n * they go in `topStart` / `topEnd`.\n */\n caption?: React.ReactNode;\n /** Outlines the image; with `onSelect`, the card's button is also `aria-pressed=\"true\"`. */\n selected?: boolean;\n /**\n * Makes the card selectable: its content (the image and the caption) becomes a toggle button with `aria-pressed`,\n * selected by a click and by Enter / Space. The corner slots are not part of that button but its siblings, laid over\n * the image, so their controls keep their own names, clicks and keys.\n *\n * A click selects the card unless it lands in a control in a slot (button, link, input, anything focusable) or in a\n * portal opened from the card. Slot content that is not a control keeps its click from selecting the card by calling\n * `preventDefault()` on it.\n */\n onSelect?: () => void;\n /**\n * Runs on each click on the card, before `onSelect`, but not while the card is `disabled`.\n * A click on a control in a slot runs it too, without selecting the card.\n * Enter / Space select the card without a click, so they call only `onSelect`.\n */\n onClick?: React.MouseEventHandler<HTMLDivElement> | undefined;\n /** Shown in place of the image when `src` is missing / fails. */\n fallback?: React.ReactNode;\n /** A larger preview shown in a floating popup after a hover delay. */\n hoverPreview?: React.ReactNode | string;\n /**\n * Top-left overlay slot (e.g. a favourite star). It sits over the image, outside the card's button, so controls here\n * keep their own names, clicks and keys; see `onSelect`.\n */\n topStart?: React.ReactNode;\n /**\n * Top-right overlay slot (e.g. a kebab menu). It sits over the image, outside the card's button, so controls here\n * keep their own names, clicks and keys; see `onSelect`.\n */\n topEnd?: React.ReactNode;\n lazy?: boolean;\n /**\n * Dims the card and ignores clicks on it: neither `onClick` nor `onSelect` runs.\n * Keys do not select it either, and there is no hover preview. With `onSelect`\n * the card is still a button, `aria-disabled` and out of the tab order.\n */\n disabled?: boolean;\n /** Delay (ms) before the hover preview appears. Default 350. */\n hoverDelay?: number;\n}\n\n/**\n * A selectable gallery card: image with an `onError` fallback + optional lazy\n * load, keyboard/`aria-pressed` selection, corner action slots, and a delayed\n * floating hover-preview. The generic gallery-card behaviour every app rebuilds\n * on top of the primitives. SSR-safe — the hover preview is client-only.\n *\n * The root is a box around the card's content (the image and the caption, the\n * card's button when it is selectable) and the corner slots, which are laid\n * over the image beside that button rather than inside it.\n */\nexport const ThumbCard = forwardRef<HTMLDivElement, ThumbCardProps>(function ThumbCard(\n {\n src,\n caption,\n selected,\n onSelect,\n fallback,\n hoverPreview,\n topStart,\n topEnd,\n lazy = true,\n disabled,\n hoverDelay = 350,\n className,\n // The card sets these on its root too; its own handlers call the caller's.\n onClick: onClickProp,\n onKeyDown: onKeyDownProp,\n onMouseEnter: onMouseEnterProp,\n onMouseLeave: onMouseLeaveProp,\n ...rest\n },\n ref\n) {\n // What the card is to the keyboard and to assistive tech goes to its\n // content, the element that is its button; the rest stays on the root.\n const [control, box] = splitControlProps(rest);\n const cardRef = useRef<HTMLDivElement | null>(null);\n const contentRef = useRef<HTMLDivElement | null>(null);\n const setRefs = useForkRef(ref, cardRef);\n const [preview, setPreview] = useState<{ top: number; left: number } | null>(null);\n const timer = useRef<ReturnType<typeof setTimeout> | null>(null);\n\n const clearTimer = (): void => {\n if (timer.current) {\n clearTimeout(timer.current);\n timer.current = null;\n }\n };\n const onEnter = (event: React.MouseEvent<HTMLDivElement>): void => {\n onMouseEnterProp?.(event);\n if (hoverPreview == null || disabled) return;\n clearTimer();\n timer.current = setTimeout(() => {\n const rect = cardRef.current?.getBoundingClientRect();\n if (rect) setPreview({ top: rect.top, left: rect.right + 8 });\n }, hoverDelay);\n };\n const onLeave = (event: React.MouseEvent<HTMLDivElement>): void => {\n onMouseLeaveProp?.(event);\n clearTimer();\n setPreview(null);\n };\n useEffect(() => clearTimer, []);\n\n const interactive = !!onSelect && !disabled;\n // A disabled card ignores clicks, the caller's onClick included: it says\n // aria-disabled, and its styles turn pointer events off. The caller's onClick\n // sees every other click, those in the slots too, but only clicks on the\n // card's content and on what is not a control in a slot select it: not one\n // on a control in a slot, nor one in a portal opened from the card. That is\n // settled before onClick runs, so what onClick does to the event or the DOM\n // does not change it.\n const onClick = (event: React.MouseEvent<HTMLDivElement>): void => {\n if (disabled) return;\n const selects = isOwnClick(event, contentRef.current);\n onClickProp?.(event);\n if (selects) onSelect?.();\n };\n // Keys pressed on a control in a slot bubble up here too; only the keys of\n // the card's button select it.\n const onKeyDown = (event: React.KeyboardEvent<HTMLDivElement>): void => {\n onKeyDownProp?.(event);\n if (!interactive || event.target !== contentRef.current) return;\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n onSelect?.();\n }\n };\n\n return (\n <div\n {...box}\n ref={setRefs}\n className={cn(\"smwb-thumb-card\", className, {\n \"smwb-thumb-card--selected\": selected,\n \"smwb-thumb-card--disabled\": disabled,\n \"smwb-thumb-card--interactive\": interactive,\n })}\n onClick={onClick}\n onKeyDown={onKeyDown}\n onMouseEnter={onEnter}\n onMouseLeave={onLeave}\n >\n <div\n {...control}\n ref={contentRef}\n className=\"smwb-thumb-card__content\"\n // With onSelect the content is the card's button and says whether it is\n // pressed, and a disabled card says so: these win over the caller's, and\n // where the card sets none, the caller's stay. Its tabIndex is a\n // default: the caller's wins, e.g. for roving focus.\n role={onSelect ? \"button\" : control.role}\n tabIndex={control.tabIndex ?? (interactive ? 0 : undefined)}\n aria-pressed={onSelect ? (selected ?? false) : control[\"aria-pressed\"]}\n aria-disabled={disabled || control[\"aria-disabled\"]}\n >\n <div className=\"smwb-thumb-card__media\">\n <LazyImage src={src} lazy={lazy} fallback={fallback} />\n </div>\n {caption ? <div className=\"smwb-thumb-card__caption\">{caption}</div> : null}\n </div>\n {/* Beside the button, not in it: controls here keep their names and input. */}\n {topStart ? <div className=\"smwb-thumb-card__slot smwb-thumb-card__slot--start\">{topStart}</div> : null}\n {topEnd ? <div className=\"smwb-thumb-card__slot smwb-thumb-card__slot--end\">{topEnd}</div> : null}\n {preview && typeof document !== \"undefined\"\n ? createPortal(\n <div\n className=\"smwb-thumb-card__preview\"\n style={{ position: \"fixed\", top: preview.top, left: preview.left }}\n >\n {typeof hoverPreview === \"string\" ? <img src={hoverPreview} alt=\"\" /> : hoverPreview}\n </div>,\n document.body\n )\n : null}\n </div>\n );\n});\n\nexport default ThumbCard;\n"],"names":["ThumbCard","forwardRef","src","caption","selected","onSelect","fallback","hoverPreview","topStart","topEnd","lazy","disabled","hoverDelay","className","onClickProp","onKeyDownProp","onMouseEnterProp","onMouseLeaveProp","rest","ref","control","box","splitControlProps","cardRef","useRef","contentRef","setRefs","useForkRef","preview","setPreview","useState","timer","clearTimer","onEnter","event","rect","_a","onLeave","useEffect","interactive","onClick","selects","isOwnClick","onKeyDown","jsxs","cn","jsx","LazyImage","createPortal"],"mappings":"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"}
|
|
@@ -29,14 +29,32 @@ export interface TreeViewProps extends Omit<React.HTMLAttributes<HTMLDivElement>
|
|
|
29
29
|
id: string;
|
|
30
30
|
selected: boolean;
|
|
31
31
|
}) => void;
|
|
32
|
-
/**
|
|
32
|
+
/**
|
|
33
|
+
* Enables row selection: a click, Enter or Space on a row toggles its selection. The chevron and the
|
|
34
|
+
* Left/Right keys never change it.
|
|
35
|
+
*/
|
|
33
36
|
selectable?: boolean;
|
|
34
37
|
/** Renders a checkbox per node bound to selection. */
|
|
35
38
|
checkboxes?: boolean;
|
|
39
|
+
/**
|
|
40
|
+
* Whether a click, Enter or Space on a row also expands or collapses its children. The chevron and the
|
|
41
|
+
* Right/Left keys always do. Defaults to `true` while the tree is not `selectable` (a row has nothing else to
|
|
42
|
+
* do) and to `false` otherwise, so that selecting a row leaves it open or closed.
|
|
43
|
+
*/
|
|
44
|
+
toggleOnRowClick?: boolean;
|
|
36
45
|
/** Custom node renderer. */
|
|
37
46
|
renderLabel?: (item: ITreeNodeItem, nodeId: string) => ReactNode;
|
|
47
|
+
/**
|
|
48
|
+
* Per-node actions (buttons, a menu trigger), drawn at the end of the row. They sit beside the row's
|
|
49
|
+
* button, not inside it, so they take their own clicks, Enter and Space, focus and accessible names.
|
|
50
|
+
*/
|
|
51
|
+
renderActions?: (item: ITreeNodeItem, nodeId: string) => ReactNode;
|
|
52
|
+
/** Text shown while `loadChildren` is pending; "Loading…" unless given. */
|
|
53
|
+
loadingText?: string;
|
|
38
54
|
/** Lazily resolves children the first time a node is expanded. */
|
|
39
55
|
loadChildren?: (item: ITreeNodeItem, nodeId: string) => Promise<ITreeNodeItem[]>;
|
|
56
|
+
/** Test id of the root `<div>`; `tree-view` unless given. */
|
|
57
|
+
"data-testid"?: string;
|
|
40
58
|
}
|
|
41
59
|
export declare const TreeView: React.ForwardRefExoticComponent<TreeViewProps & React.RefAttributes<HTMLDivElement>>;
|
|
42
60
|
export default TreeView;
|
|
@@ -1,120 +1,142 @@
|
|
|
1
|
-
import { jsx as
|
|
1
|
+
import { jsx as r, jsxs as y } from "react/jsx-runtime";
|
|
2
2
|
import '../../../assets/styles/less/components/treeView/treeView.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { forwardRef as
|
|
5
|
-
import
|
|
6
|
-
import { Icon as
|
|
7
|
-
import { useControllableState as
|
|
8
|
-
|
|
9
|
-
|
|
4
|
+
import { forwardRef as le, useState as q, useRef as ne, useMemo as ie } from "react";
|
|
5
|
+
import A from "clsx";
|
|
6
|
+
import { Icon as u } from "../../base/icon/icon.js";
|
|
7
|
+
import { useControllableState as B } from "../../../hooks/useControllableState.js";
|
|
8
|
+
import { useId as oe } from "../../../hooks/useId.js";
|
|
9
|
+
import { isOwnClick as de } from "../../../utils/ownClick.js";
|
|
10
|
+
const Ne = le(function({
|
|
11
|
+
className: F,
|
|
10
12
|
listIcon: k = "draft",
|
|
11
|
-
nodeIcon:
|
|
13
|
+
nodeIcon: o = { closed: "folder", opened: "folder_open" },
|
|
12
14
|
data: x = [],
|
|
13
|
-
expanded:
|
|
14
|
-
defaultExpanded:
|
|
15
|
-
onExpandedChange:
|
|
16
|
-
selected:
|
|
17
|
-
defaultSelected:
|
|
18
|
-
onSelectedChange:
|
|
19
|
-
selectable:
|
|
20
|
-
checkboxes:
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
15
|
+
expanded: G,
|
|
16
|
+
defaultExpanded: H = [],
|
|
17
|
+
onExpandedChange: J,
|
|
18
|
+
selected: P,
|
|
19
|
+
defaultSelected: Q = [],
|
|
20
|
+
onSelectedChange: _,
|
|
21
|
+
selectable: c = !1,
|
|
22
|
+
checkboxes: m = !1,
|
|
23
|
+
toggleOnRowClick: $ = !c,
|
|
24
|
+
renderLabel: h,
|
|
25
|
+
renderActions: p,
|
|
26
|
+
loadingText: z = "Loading…",
|
|
27
|
+
loadChildren: w,
|
|
28
|
+
"data-testid": U = "tree-view",
|
|
29
|
+
...W
|
|
30
|
+
}, X) {
|
|
31
|
+
const [f, Y] = q({}), [L, R] = q([]), V = oe(), [C, E] = B({
|
|
32
|
+
value: G,
|
|
33
|
+
defaultValue: H,
|
|
34
|
+
onChange: J
|
|
35
|
+
}), g = ne(), [b, Z] = B({
|
|
26
36
|
value: P,
|
|
27
|
-
defaultValue:
|
|
28
|
-
onChange:
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
defaultValue: F,
|
|
32
|
-
onChange: (e) => {
|
|
33
|
-
const t = p.current;
|
|
34
|
-
p.current = void 0, d == null || d(e, t);
|
|
37
|
+
defaultValue: Q,
|
|
38
|
+
onChange: (s) => {
|
|
39
|
+
const t = g.current;
|
|
40
|
+
g.current = void 0, _ == null || _(s, t);
|
|
35
41
|
}
|
|
36
|
-
}),
|
|
37
|
-
|
|
38
|
-
},
|
|
39
|
-
|
|
40
|
-
const l =
|
|
41
|
-
return t && !l ? [...
|
|
42
|
+
}), I = (s) => {
|
|
43
|
+
E((t) => t.includes(s) ? t.filter((e) => e !== s) : [...t, s]);
|
|
44
|
+
}, T = (s, t) => {
|
|
45
|
+
E((e) => {
|
|
46
|
+
const l = e.includes(s);
|
|
47
|
+
return t && !l ? [...e, s] : !t && l ? e.filter((i) => i !== s) : e;
|
|
42
48
|
});
|
|
43
|
-
},
|
|
44
|
-
|
|
45
|
-
},
|
|
46
|
-
!
|
|
47
|
-
|
|
49
|
+
}, j = (s) => {
|
|
50
|
+
g.current = { id: s, selected: !b.includes(s) }, Z((t) => t.includes(s) ? t.filter((e) => e !== s) : [...t, s]);
|
|
51
|
+
}, D = (s, t) => {
|
|
52
|
+
!w || f[t] || s.children && s.children.length > 0 || (R((e) => e.includes(t) ? e : [...e, t]), w(s, t).then((e) => {
|
|
53
|
+
Y((l) => ({ ...l, [t]: e }));
|
|
48
54
|
}).finally(() => {
|
|
49
|
-
|
|
55
|
+
R((e) => e.filter((l) => l !== t));
|
|
50
56
|
}));
|
|
51
|
-
},
|
|
52
|
-
var
|
|
53
|
-
const
|
|
54
|
-
|
|
55
|
-
},
|
|
56
|
-
|
|
57
|
+
}, O = (s, t) => {
|
|
58
|
+
var M, S;
|
|
59
|
+
const e = (M = s.id) != null ? M : t, l = `${V}-${e}`, i = (S = s.children) != null ? S : f[e], se = !!w && (s.hasChildren || !!f[e]), n = !!i && i.length > 0 || se, d = C.includes(e), N = b.includes(e), te = L.includes(e), v = () => {
|
|
60
|
+
d || D(s, e), I(e);
|
|
61
|
+
}, K = () => {
|
|
62
|
+
$ && n && v(), c && j(e);
|
|
63
|
+
}, re = (a) => {
|
|
64
|
+
a.target === a.currentTarget && (a.key === "Enter" || a.key === " " ? (a.preventDefault(), K()) : a.key === "ArrowRight" && n ? (D(s, e), T(e, !0)) : a.key === "ArrowLeft" && n && T(e, !1));
|
|
57
65
|
};
|
|
58
|
-
return /* @__PURE__ */
|
|
66
|
+
return /* @__PURE__ */ y(
|
|
59
67
|
"div",
|
|
60
68
|
{
|
|
61
|
-
className:
|
|
69
|
+
className: A("smwb-tree__node", { "smwb-tree__node_selected": N }),
|
|
62
70
|
role: "treeitem",
|
|
63
|
-
"aria-
|
|
64
|
-
"aria-
|
|
71
|
+
"aria-labelledby": l,
|
|
72
|
+
"aria-expanded": n ? d : void 0,
|
|
73
|
+
"aria-selected": c || m ? N : void 0,
|
|
65
74
|
children: [
|
|
66
|
-
/* @__PURE__ */
|
|
67
|
-
"span",
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
75
|
+
/* @__PURE__ */ y("div", { className: "smwb-tree__node__row", children: [
|
|
76
|
+
/* @__PURE__ */ r("span", { className: "smwb-tree__node__toggle", "aria-hidden": "true", onClick: n ? v : void 0, children: n && /* @__PURE__ */ r(u, { name: d ? "expand_more" : "chevron_right", size: 20 }) }),
|
|
77
|
+
m && /* @__PURE__ */ r(
|
|
78
|
+
"input",
|
|
79
|
+
{
|
|
80
|
+
type: "checkbox",
|
|
81
|
+
className: "smwb-tree__node__checkbox",
|
|
82
|
+
checked: N,
|
|
83
|
+
onChange: () => j(e),
|
|
84
|
+
"aria-label": s.label
|
|
85
|
+
}
|
|
86
|
+
),
|
|
87
|
+
/* @__PURE__ */ r(
|
|
88
|
+
"span",
|
|
89
|
+
{
|
|
90
|
+
className: "smwb-tree__node__content",
|
|
91
|
+
onClick: (a) => {
|
|
92
|
+
de(a) && K();
|
|
93
|
+
},
|
|
94
|
+
onKeyDown: re,
|
|
95
|
+
tabIndex: 0,
|
|
96
|
+
role: "button",
|
|
97
|
+
children: /* @__PURE__ */ y("span", { className: "smwb-tree__node__label", id: l, children: [
|
|
98
|
+
n && d ? /* @__PURE__ */ r(u, { name: o == null ? void 0 : o.opened, fill: 1, size: 20 }) : n ? /* @__PURE__ */ r(u, { name: o == null ? void 0 : o.closed, fill: 1, size: 20 }) : /* @__PURE__ */ r(u, { name: k, size: 20 }),
|
|
99
|
+
h ? h(s, e) : s.label
|
|
89
100
|
] })
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
101
|
+
}
|
|
102
|
+
),
|
|
103
|
+
p && /* @__PURE__ */ r("span", { className: "smwb-tree__node__actions", children: p(s, e) })
|
|
104
|
+
] }),
|
|
105
|
+
n && d && /* @__PURE__ */ r("div", { role: "group", children: te && !i ? /* @__PURE__ */ r("div", { className: "smwb-tree__node__loading", role: "status", children: z }) : i == null ? void 0 : i.map((a, ae) => O(a, `${t}.${ae}`)) })
|
|
94
106
|
]
|
|
95
107
|
},
|
|
96
|
-
|
|
108
|
+
e
|
|
97
109
|
);
|
|
98
|
-
},
|
|
99
|
-
() => x.map((
|
|
110
|
+
}, ee = ie(
|
|
111
|
+
() => x.map((s, t) => {
|
|
112
|
+
var e;
|
|
113
|
+
return (
|
|
114
|
+
// Keyed by node id, not position: a node that moves or gains a sibling keeps its DOM and focus.
|
|
115
|
+
/* @__PURE__ */ r("div", { className: "smwb-tree__wrapper", role: "presentation", children: O(s, `${t}`) }, (e = s.id) != null ? e : `${t}`)
|
|
116
|
+
);
|
|
117
|
+
}),
|
|
100
118
|
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
101
119
|
[
|
|
102
120
|
x,
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
k,
|
|
108
|
-
a,
|
|
121
|
+
V,
|
|
122
|
+
C,
|
|
123
|
+
b,
|
|
124
|
+
c,
|
|
109
125
|
m,
|
|
126
|
+
$,
|
|
127
|
+
k,
|
|
110
128
|
o,
|
|
111
|
-
|
|
129
|
+
h,
|
|
130
|
+
p,
|
|
131
|
+
z,
|
|
132
|
+
f,
|
|
133
|
+
L
|
|
112
134
|
]
|
|
113
135
|
);
|
|
114
|
-
return /* @__PURE__ */
|
|
136
|
+
return /* @__PURE__ */ r("div", { "data-testid": U, ...W, ref: X, role: "tree", className: A("smwb-tree", F), children: ee });
|
|
115
137
|
});
|
|
116
138
|
export {
|
|
117
|
-
|
|
118
|
-
|
|
139
|
+
Ne as TreeView,
|
|
140
|
+
Ne as default
|
|
119
141
|
};
|
|
120
142
|
//# sourceMappingURL=treeView.js.map
|