@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,194 +1,188 @@
|
|
|
1
|
-
import { jsxs as
|
|
1
|
+
import { jsxs as v, jsx as o, Fragment as se } from "react/jsx-runtime";
|
|
2
2
|
import '../../../assets/styles/less/connects/rt/table.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
3
|
/* empty css */
|
|
4
|
-
import
|
|
5
|
-
import { getCoreRowModel as
|
|
6
|
-
import { getColumnName as g, getDefaultColumnSizingState as
|
|
7
|
-
import { ProgressIndicator as
|
|
8
|
-
import
|
|
9
|
-
import { DraggableColumnHeaderWrapper as
|
|
4
|
+
import M, { useState as z, useEffect as re } from "react";
|
|
5
|
+
import { getCoreRowModel as me, getPaginationRowModel as ce, getSortedRowModel as ge, getExpandedRowModel as fe, useReactTable as de, flexRender as T } from "@tanstack/react-table";
|
|
6
|
+
import { getColumnName as g, getDefaultColumnSizingState as ue, columnSizingStateReducer as pe } from "./utils.js";
|
|
7
|
+
import { ProgressIndicator as Se } from "../../../components/feedBack/progressIndicator/progressIndicator.js";
|
|
8
|
+
import ze from "../../../components/feedBack/message/message.js";
|
|
9
|
+
import { DraggableColumnHeaderWrapper as he } from "./draggableHeader.js";
|
|
10
10
|
import be from "../../../components/dataDisplay/table/table.js";
|
|
11
|
-
import
|
|
11
|
+
import Ce from "../../../components/dataDisplay/table/tableHead.js";
|
|
12
12
|
import d from "../../../components/dataDisplay/table/tableRow.js";
|
|
13
|
-
import
|
|
13
|
+
import xe from "../../../components/dataDisplay/table/tableHeadCell.js";
|
|
14
14
|
import Re from "../../../components/dataDisplay/table/tableBody.js";
|
|
15
|
-
import
|
|
15
|
+
import h from "../../../components/dataDisplay/table/tableCell.js";
|
|
16
16
|
const He = ({
|
|
17
|
-
data:
|
|
17
|
+
data: b,
|
|
18
18
|
columns: i,
|
|
19
|
-
withPagination:
|
|
20
|
-
isInfinite:
|
|
21
|
-
limit:
|
|
22
|
-
limitOptions:
|
|
23
|
-
dense:
|
|
24
|
-
sortable:
|
|
25
|
-
expandable:
|
|
26
|
-
draggableColumns:
|
|
27
|
-
columnResizeMode:
|
|
28
|
-
enableColumnResizing:
|
|
29
|
-
onColumnSizingChange:
|
|
30
|
-
onColumnOrderChange:
|
|
31
|
-
getRowCanExpand:
|
|
32
|
-
renderSubComponent:
|
|
33
|
-
cellAlign:
|
|
34
|
-
isLoading:
|
|
35
|
-
onNextPage:
|
|
36
|
-
onPrevPage:
|
|
37
|
-
error:
|
|
38
|
-
onHeadCellClick:
|
|
39
|
-
headerCellInnerRenderer:
|
|
19
|
+
withPagination: I,
|
|
20
|
+
isInfinite: w,
|
|
21
|
+
limit: N = 5,
|
|
22
|
+
limitOptions: J = [5, 10, 15],
|
|
23
|
+
dense: K,
|
|
24
|
+
sortable: E,
|
|
25
|
+
expandable: L,
|
|
26
|
+
draggableColumns: Q,
|
|
27
|
+
columnResizeMode: U = "onChange",
|
|
28
|
+
enableColumnResizing: V,
|
|
29
|
+
onColumnSizingChange: O,
|
|
30
|
+
onColumnOrderChange: X,
|
|
31
|
+
getRowCanExpand: Y,
|
|
32
|
+
renderSubComponent: W,
|
|
33
|
+
cellAlign: y,
|
|
34
|
+
isLoading: j = !1,
|
|
35
|
+
onNextPage: C,
|
|
36
|
+
onPrevPage: x,
|
|
37
|
+
error: P,
|
|
38
|
+
onHeadCellClick: R,
|
|
39
|
+
headerCellInnerRenderer: F,
|
|
40
40
|
onBodyRowClick: u,
|
|
41
|
-
...
|
|
41
|
+
...D
|
|
42
42
|
}) => {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
43
|
+
var q;
|
|
44
|
+
const [Z, B] = z([]), [k, H] = M.useState(
|
|
45
|
+
i.map((t) => g(t))
|
|
46
|
+
), [f, ee] = z(null), [r, $] = z(ue(i)), [A, te] = z({
|
|
46
47
|
startOffset: null,
|
|
47
48
|
startSize: null,
|
|
48
49
|
deltaOffset: null,
|
|
49
50
|
deltaPercentage: null,
|
|
50
51
|
isResizingColumn: !1,
|
|
51
52
|
columnSizingStart: []
|
|
52
|
-
})
|
|
53
|
+
});
|
|
53
54
|
re(() => {
|
|
54
55
|
if (f) {
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
i.map((
|
|
58
|
-
size:
|
|
56
|
+
const t = (f == null ? void 0 : f.offsetWidth) || 0, e = i.filter((n) => n.size), s = t - i.reduce((n, S) => n + (S.size || 0), 0), l = i.length - e.length, a = l ? s / l : 10;
|
|
57
|
+
$(
|
|
58
|
+
i.map((n) => ({
|
|
59
|
+
size: n.size ? n.size : a,
|
|
59
60
|
// eslint-disable-next-line @typescript-eslint/no-non-null-assertion
|
|
60
|
-
name: g(
|
|
61
|
-
})).reduce(
|
|
62
|
-
),
|
|
61
|
+
name: g(n)
|
|
62
|
+
})).reduce(pe, {})
|
|
63
|
+
), H(i.map((n) => g(n)));
|
|
63
64
|
}
|
|
64
65
|
}, [f, i]);
|
|
65
66
|
const m = {
|
|
66
|
-
data:
|
|
67
|
+
data: b,
|
|
67
68
|
columns: i,
|
|
68
|
-
state: { sorting:
|
|
69
|
-
initialState: { pagination: { pageIndex: 0, pageSize:
|
|
70
|
-
manualPagination:
|
|
71
|
-
columnResizeMode:
|
|
72
|
-
onColumnOrderChange:
|
|
73
|
-
getCoreRowModel:
|
|
74
|
-
onColumnSizingChange: (
|
|
75
|
-
const e = typeof
|
|
76
|
-
Object.keys(e).forEach((
|
|
77
|
-
e[
|
|
69
|
+
state: { sorting: Z, columnSizing: r, columnSizingInfo: A, columnOrder: k },
|
|
70
|
+
initialState: { pagination: { pageIndex: 0, pageSize: N } },
|
|
71
|
+
manualPagination: w,
|
|
72
|
+
columnResizeMode: U,
|
|
73
|
+
onColumnOrderChange: H,
|
|
74
|
+
getCoreRowModel: me(),
|
|
75
|
+
onColumnSizingChange: (t) => {
|
|
76
|
+
const e = typeof t == "function" ? t(r) : t, s = {};
|
|
77
|
+
Object.keys(e).forEach((n) => {
|
|
78
|
+
e[n] !== r[n] && (s[n] = e[n]);
|
|
78
79
|
});
|
|
79
|
-
const l = Object.keys(
|
|
80
|
+
const l = Object.keys(s)[0], a = i.findIndex((n) => g(n) === l);
|
|
80
81
|
if (a >= 0 && a < i.length - 1) {
|
|
81
|
-
const
|
|
82
|
-
e[
|
|
82
|
+
const n = g(i[a + 1]);
|
|
83
|
+
e[n] = r[n] - (e[l] - r[l]);
|
|
83
84
|
} else if (a === i.length - 1) {
|
|
84
|
-
const
|
|
85
|
-
e[
|
|
85
|
+
const n = g(i[a - 1]);
|
|
86
|
+
e[n] = r[n] - (e[l] - r[l]);
|
|
86
87
|
}
|
|
87
|
-
|
|
88
|
+
$(e), O && setTimeout(() => O(r, e));
|
|
88
89
|
},
|
|
89
|
-
onColumnSizingInfoChange: (
|
|
90
|
-
|
|
90
|
+
onColumnSizingInfoChange: (t) => {
|
|
91
|
+
te(typeof t == "function" ? t(A) : t);
|
|
91
92
|
}
|
|
92
93
|
};
|
|
93
|
-
m.enableColumnResizing = !!
|
|
94
|
-
const c =
|
|
94
|
+
m.enableColumnResizing = !!V, I && (m.getPaginationRowModel = ce()), E && (m.getSortedRowModel = ge(), m.onSortingChange = B), L && (m.getRowCanExpand = Y, m.getExpandedRowModel = fe());
|
|
95
|
+
const c = de({
|
|
95
96
|
...m
|
|
96
|
-
}),
|
|
97
|
-
c.nextPage(),
|
|
98
|
-
},
|
|
99
|
-
c.previousPage(),
|
|
100
|
-
},
|
|
101
|
-
u == null || u(
|
|
97
|
+
}), ne = () => {
|
|
98
|
+
c.nextPage(), C == null || C();
|
|
99
|
+
}, oe = () => {
|
|
100
|
+
c.previousPage(), x == null || x();
|
|
101
|
+
}, ie = (t) => (e) => {
|
|
102
|
+
u == null || u(t, e);
|
|
102
103
|
}, {
|
|
103
|
-
pagination: { pageIndex:
|
|
104
|
+
pagination: { pageIndex: le, pageSize: ae }
|
|
104
105
|
} = c.getState();
|
|
105
|
-
let
|
|
106
|
-
return
|
|
107
|
-
limit:
|
|
108
|
-
page:
|
|
109
|
-
limitOptions:
|
|
110
|
-
onNext:
|
|
111
|
-
onPrev:
|
|
106
|
+
let p;
|
|
107
|
+
return I && (p = {
|
|
108
|
+
limit: ae,
|
|
109
|
+
page: le + 1,
|
|
110
|
+
limitOptions: J,
|
|
111
|
+
onNext: ne,
|
|
112
|
+
onPrev: oe,
|
|
112
113
|
onLimitChange: c.setPageSize,
|
|
113
|
-
...
|
|
114
|
-
}), /* @__PURE__ */
|
|
114
|
+
...w ? { hasNextPage: b.length >= N } : { totalCount: b.length }
|
|
115
|
+
}), /* @__PURE__ */ v(
|
|
115
116
|
be,
|
|
116
117
|
{
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
ref:
|
|
118
|
+
dense: K,
|
|
119
|
+
isLoading: j,
|
|
120
|
+
...D,
|
|
121
|
+
paginationSettings: p != null ? p : D.paginationSettings,
|
|
122
|
+
hovered: (q = D.hovered) != null ? q : !!u,
|
|
123
|
+
ref: ee,
|
|
123
124
|
children: [
|
|
124
|
-
/* @__PURE__ */ o(
|
|
125
|
-
var
|
|
126
|
-
const
|
|
125
|
+
/* @__PURE__ */ o(Ce, { children: c.getHeaderGroups().map((t) => /* @__PURE__ */ o(d, { children: t.headers.map((e) => {
|
|
126
|
+
var S, G;
|
|
127
|
+
const s = !!E && e.column.getCanSort(), l = e.getResizeHandler(), a = e.isPlaceholder || (S = e.column.columnDef.meta) == null ? void 0 : S.headerActions, n = e.column.getCanResize() ? /* @__PURE__ */ o(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
onMouseDown: (_) => {
|
|
131
|
+
_.preventDefault(), _.stopPropagation(), l(_);
|
|
132
|
+
},
|
|
133
|
+
onTouchStart: l,
|
|
134
|
+
className: `smwb-rt-table--resizer ${e.column.getIsResizing() ? "smwb-rt-table--isResizing" : ""}`
|
|
135
|
+
}
|
|
136
|
+
) : null;
|
|
127
137
|
return /* @__PURE__ */ o(
|
|
128
|
-
|
|
138
|
+
xe,
|
|
129
139
|
{
|
|
130
|
-
cellAlign:
|
|
131
|
-
sortable:
|
|
140
|
+
cellAlign: y,
|
|
141
|
+
sortable: s,
|
|
132
142
|
sortDirection: e.column.getIsSorted(),
|
|
133
|
-
onSort: () =>
|
|
134
|
-
R.current || e.column.toggleSorting();
|
|
135
|
-
},
|
|
143
|
+
onSort: () => e.column.toggleSorting(),
|
|
136
144
|
onClick: () => {
|
|
137
|
-
|
|
145
|
+
R == null || R(e.column.columnDef);
|
|
138
146
|
},
|
|
139
147
|
style: {
|
|
140
|
-
cursor:
|
|
148
|
+
cursor: s ? "pointer" : "default",
|
|
141
149
|
width: e.getSize()
|
|
142
150
|
},
|
|
151
|
+
actions: a || n ? /* @__PURE__ */ v(se, { children: [
|
|
152
|
+
a ? T(a, e.getContext()) : null,
|
|
153
|
+
n
|
|
154
|
+
] }) : void 0,
|
|
143
155
|
children: /* @__PURE__ */ o(
|
|
144
|
-
|
|
156
|
+
he,
|
|
145
157
|
{
|
|
146
|
-
draggableColumn:
|
|
158
|
+
draggableColumn: Q && ((G = e.column.columnDef.meta) == null ? void 0 : G.draggableColumn),
|
|
147
159
|
table: c,
|
|
148
|
-
onColumnOrderChange:
|
|
160
|
+
onColumnOrderChange: X,
|
|
149
161
|
header: e,
|
|
150
|
-
children: /* @__PURE__ */
|
|
151
|
-
/* @__PURE__ */ o("div", { children: e.isPlaceholder ? null : W ? D.cloneElement(W, { header: e }) : F(e.column.columnDef.header, e.getContext()) }),
|
|
152
|
-
e.column.getCanResize() && /* @__PURE__ */ o(
|
|
153
|
-
"div",
|
|
154
|
-
{
|
|
155
|
-
onMouseDown: (t) => {
|
|
156
|
-
t.preventDefault(), t.stopPropagation(), R.current = !0, document.addEventListener(
|
|
157
|
-
"mouseup",
|
|
158
|
-
() => setTimeout(() => {
|
|
159
|
-
R.current = !1;
|
|
160
|
-
}),
|
|
161
|
-
{ once: !0 }
|
|
162
|
-
), l(t);
|
|
163
|
-
},
|
|
164
|
-
onTouchStart: e.getResizeHandler(),
|
|
165
|
-
className: `smwb-rt-table--resizer ${e.column.getIsResizing() ? "smwb-rt-table--isResizing" : ""}`
|
|
166
|
-
}
|
|
167
|
-
)
|
|
168
|
-
] })
|
|
162
|
+
children: /* @__PURE__ */ o("div", { children: e.isPlaceholder ? null : F ? M.cloneElement(F, { header: e }) : T(e.column.columnDef.header, e.getContext()) })
|
|
169
163
|
},
|
|
170
164
|
e.id
|
|
171
165
|
)
|
|
172
166
|
},
|
|
173
167
|
e.id
|
|
174
168
|
);
|
|
175
|
-
}) },
|
|
176
|
-
/* @__PURE__ */ o(Re, { children:
|
|
177
|
-
/* @__PURE__ */ o(d, { onClick:
|
|
178
|
-
var
|
|
169
|
+
}) }, t.id)) }),
|
|
170
|
+
/* @__PURE__ */ o(Re, { children: j ? /* @__PURE__ */ o(d, { className: "smwb-table__loader__row", children: /* @__PURE__ */ o(h, { className: "smwb-table__loader", children: /* @__PURE__ */ o(Se, { variant: "circular", type: "indeterminate" }) }) }) : P ? /* @__PURE__ */ o(d, { className: "smwb-table__loader__row", children: /* @__PURE__ */ o(h, { className: "smwb-table__loader", children: /* @__PURE__ */ o(ze, { variant: "filled", type: "error", children: P }) }) }) : c.getRowModel().rows.map((t) => /* @__PURE__ */ v(M.Fragment, { children: [
|
|
171
|
+
/* @__PURE__ */ o(d, { onClick: ie(t), children: t.getVisibleCells().map((e) => {
|
|
172
|
+
var s, l, a;
|
|
179
173
|
return /* @__PURE__ */ o(
|
|
180
|
-
|
|
174
|
+
h,
|
|
181
175
|
{
|
|
182
|
-
cellAlign:
|
|
183
|
-
label: (l = (
|
|
176
|
+
cellAlign: y,
|
|
177
|
+
label: ((l = (s = e.column.columnDef.meta) == null ? void 0 : s.label) != null ? l : typeof e.column.columnDef.header == "string" ? e.column.columnDef.header : void 0) || !1,
|
|
184
178
|
...(a = e.column.columnDef.meta) == null ? void 0 : a.cellProps,
|
|
185
|
-
children:
|
|
179
|
+
children: T(e.column.columnDef.cell, e.getContext())
|
|
186
180
|
},
|
|
187
181
|
e.id
|
|
188
182
|
);
|
|
189
|
-
}) },
|
|
190
|
-
|
|
191
|
-
] },
|
|
183
|
+
}) }, t.id),
|
|
184
|
+
t.getIsExpanded() && W && /* @__PURE__ */ o(d, { children: /* @__PURE__ */ o(h, { colSpan: t.getVisibleCells().length, children: W({ row: t }) }) }, `${t.id}_expand`)
|
|
185
|
+
] }, t.id)) })
|
|
192
186
|
]
|
|
193
187
|
}
|
|
194
188
|
);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../../src/connects/rt/table/table.tsx"],"sourcesContent":["import React, { TdHTMLAttributes, useState, useEffect, useRef } from \"react\";\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n ColumnDef,\n getPaginationRowModel,\n getExpandedRowModel,\n TableOptions,\n SortingState,\n getSortedRowModel,\n RowData,\n Row,\n ColumnResizeMode,\n ColumnSizingState,\n ColumnSizingInfoState,\n ColumnOrderState,\n} from \"@tanstack/react-table\";\n\nimport { getColumnName, getDefaultColumnSizingState, columnSizingStateReducer } from \"./utils\";\n\ndeclare module \"@tanstack/table-core\" {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n interface ColumnMeta<TData extends RowData, TValue> {\n cellProps?: TdHTMLAttributes<HTMLTableCellElement>;\n draggableColumn?: boolean;\n /** The column's name on each cell when rows stack as cards (`stackBelow`); a string `header` is used by default. */\n label?: string;\n }\n}\n\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeadCell,\n TableRow,\n TableProps as SMWBTableProps,\n} from \"../../../components/dataDisplay/table\";\nimport { TablePaginationProps } from \"../../../components/dataDisplay/table\";\nimport ProgressIndicator from \"../../../components/feedBack/progressIndicator/progressIndicator\";\nimport Message from \"../../../components/feedBack/message/message\";\nimport { DraggableColumnHeaderWrapper } from \"./draggableHeader\";\n\nexport type TableProps<TData extends RowData, TValue = unknown> = SMWBTableProps & {\n withPagination?: boolean;\n isInfinite?: boolean;\n dense?: boolean;\n limit?: number;\n limitOptions?: number[];\n sortable?: boolean;\n expandable?: boolean;\n draggableColumns?: boolean;\n enableColumnResizing?: boolean;\n onColumnSizingChange?: (oldValue: ColumnSizingState, newValue: ColumnSizingState) => void;\n onColumnOrderChange?: (oldValue: ColumnOrderState, newValue: ColumnOrderState) => void;\n getRowCanExpand?: (row: Row<TData>) => boolean;\n renderSubComponent?: (props: { row: Row<TData> }) => React.ReactElement;\n cellAlign?: \"left\" | \"right\" | \"center\";\n isLoading?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n error?: string;\n onHeadCellClick?: (colDef?: ColumnDef<TData, TValue>) => void;\n headerCellInnerRenderer?: React.ReactElement;\n onBodyRowClick?: (row: Row<TData>, event: React.MouseEvent<HTMLTableRowElement>) => void;\n data: TData[];\n columns: ColumnDef<TData, TValue>[];\n columnResizeMode?: ColumnResizeMode;\n};\n\nexport const TableWrapper = <TData extends RowData, TValue = unknown>({\n data,\n columns,\n withPagination,\n isInfinite,\n limit = 5,\n limitOptions = [5, 10, 15],\n dense,\n sortable,\n expandable,\n draggableColumns,\n columnResizeMode = \"onChange\",\n enableColumnResizing,\n onColumnSizingChange,\n onColumnOrderChange,\n getRowCanExpand,\n renderSubComponent,\n cellAlign,\n isLoading = false,\n onNextPage,\n onPrevPage,\n error,\n onHeadCellClick,\n headerCellInnerRenderer,\n onBodyRowClick,\n ...props\n}: TableProps<TData, TValue>) => {\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnOrder, setColumnOrder] = React.useState<ColumnOrderState>(\n columns.map((column) => getColumnName(column))\n );\n const [tableRef, setTableRef] = useState<HTMLDivElement | null>(null);\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>(getDefaultColumnSizingState(columns));\n const [columnSizingInfo, setColumnSizingInfo] = useState<ColumnSizingInfoState>({\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n });\n // TableHeadCell renders its children inside its sort control, so the column\n // resizer sits there too, and the click that ends a press on it would sort.\n // That click lands on the resizer or, once the column stops at its minimum\n // width and the pointer moves on over the header, on the sort control itself\n // (the nearest common ancestor of press and release). The flag is up from the\n // press until the release has been handled; sorting skips clicks meanwhile.\n const resizePressed = useRef(false);\n useEffect(() => {\n if (tableRef) {\n const totalSize: number = tableRef?.offsetWidth || 0;\n const columnWithSize = columns.filter((el) => el.size);\n const totalSizeWithoutConst = totalSize - columns.reduce((sum, el) => sum + (el.size || 0), 0);\n const columnCountWithoutConstSize = columns.length - columnWithSize.length;\n const avgSize = columnCountWithoutConstSize ? totalSizeWithoutConst / columnCountWithoutConstSize : 10;\n setColumnSizing(\n columns\n .map((el) => ({\n size: el.size ? el.size : avgSize,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: getColumnName(el),\n }))\n .reduce(columnSizingStateReducer, {})\n );\n setColumnOrder(columns.map((column) => getColumnName(column)));\n }\n }, [tableRef, columns]);\n\n const options: TableOptions<TData> = {\n data,\n columns,\n state: { sorting, columnSizing, columnSizingInfo, columnOrder },\n initialState: { pagination: { pageIndex: 0, pageSize: limit } },\n manualPagination: isInfinite,\n columnResizeMode,\n onColumnOrderChange: setColumnOrder,\n getCoreRowModel: getCoreRowModel(),\n onColumnSizingChange: (updater) => {\n const newValue = typeof updater === \"function\" ? updater(columnSizing) : updater;\n const diff: ColumnSizingState = {};\n Object.keys(newValue).forEach((newValueColumn) => {\n if (newValue[newValueColumn] !== columnSizing[newValueColumn]) {\n diff[newValueColumn] = newValue[newValueColumn];\n }\n });\n // Алгоритм не учитывает, что колонки могут меняться местами и что может измениться сразу несколько колонок\n // двигаем соседнюю колонку на столько же, на сколько изменили ширину текущей\n const diffColumnName = Object.keys(diff)[0];\n const columnIndex = columns.findIndex((el) => getColumnName(el) === diffColumnName);\n if (columnIndex >= 0 && columnIndex < columns.length - 1) {\n const rightColumnName = getColumnName(columns[columnIndex + 1]);\n newValue[rightColumnName] =\n columnSizing[rightColumnName] - (newValue[diffColumnName] - columnSizing[diffColumnName]);\n } else if (columnIndex === columns.length - 1) {\n const leftColumnName = getColumnName(columns[columnIndex - 1]);\n newValue[leftColumnName] =\n columnSizing[leftColumnName] - (newValue[diffColumnName] - columnSizing[diffColumnName]);\n }\n setColumnSizing(newValue);\n if (onColumnSizingChange) {\n setTimeout(() => onColumnSizingChange(columnSizing, newValue));\n }\n },\n onColumnSizingInfoChange: (updater) => {\n setColumnSizingInfo(typeof updater === \"function\" ? updater(columnSizingInfo) : updater);\n },\n };\n\n options.enableColumnResizing = !!enableColumnResizing;\n\n if (withPagination) {\n options.getPaginationRowModel = getPaginationRowModel();\n }\n if (sortable) {\n options.getSortedRowModel = getSortedRowModel();\n options.onSortingChange = setSorting;\n }\n if (expandable) {\n options.getRowCanExpand = getRowCanExpand;\n options.getExpandedRowModel = getExpandedRowModel();\n }\n\n const table = useReactTable({\n ...options,\n });\n\n const handleNextPage = () => {\n table.nextPage();\n onNextPage?.();\n };\n\n const handlePrevPage = () => {\n table.previousPage();\n onPrevPage?.();\n };\n\n const handleBodyRowClick = (row: Row<TData>) => (event: React.MouseEvent<HTMLTableRowElement>) => {\n onBodyRowClick?.(row, event);\n };\n\n const {\n pagination: { pageIndex: page, pageSize },\n } = table.getState();\n\n let paginationSettings: TablePaginationProps | undefined = undefined;\n if (withPagination) {\n paginationSettings = {\n limit: pageSize,\n page: page + 1,\n limitOptions,\n onNext: handleNextPage,\n onPrev: handlePrevPage,\n onLimitChange: table.setPageSize,\n ...(isInfinite ? { hasNextPage: data.length >= limit } : { totalCount: data.length }),\n };\n }\n\n return (\n <Table\n paginationSettings={paginationSettings}\n dense={dense}\n isLoading={isLoading}\n hovered={!!onBodyRowClick}\n {...props}\n ref={setTableRef}\n >\n <TableHead>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const canSort = !!sortable && header.column.getCanSort();\n const resizeHandler = header.getResizeHandler();\n return (\n <TableHeadCell\n key={header.id}\n cellAlign={cellAlign}\n sortable={canSort}\n sortDirection={header.column.getIsSorted()}\n onSort={() => {\n if (!resizePressed.current) header.column.toggleSorting();\n }}\n onClick={() => {\n onHeadCellClick?.(header.column.columnDef);\n }}\n style={{\n cursor: canSort ? \"pointer\" : \"default\",\n width: header.getSize(),\n }}\n >\n <DraggableColumnHeaderWrapper<TData>\n key={header.id}\n draggableColumn={draggableColumns && header.column.columnDef.meta?.draggableColumn}\n table={table}\n onColumnOrderChange={onColumnOrderChange}\n // https://github.com/TanStack/table/issues/4241\n header={header}\n >\n <>\n <div>\n {header.isPlaceholder\n ? null\n : headerCellInnerRenderer\n ? React.cloneElement(headerCellInnerRenderer, { header })\n : flexRender(header.column.columnDef.header, header.getContext())}\n </div>\n {header.column.getCanResize() && (\n <div\n {...{\n onMouseDown: (e) => {\n e.preventDefault();\n e.stopPropagation();\n resizePressed.current = true;\n // Cleared a task later: the click, if any, follows the mouseup in the same task.\n document.addEventListener(\n \"mouseup\",\n () =>\n setTimeout(() => {\n resizePressed.current = false;\n }),\n { once: true }\n );\n resizeHandler(e);\n },\n onTouchStart: header.getResizeHandler(),\n className: `smwb-rt-table--resizer ${\n header.column.getIsResizing() ? \"smwb-rt-table--isResizing\" : \"\"\n }`,\n }}\n />\n )}\n </>\n </DraggableColumnHeaderWrapper>\n </TableHeadCell>\n );\n })}\n </TableRow>\n ))}\n </TableHead>\n <TableBody>\n {isLoading ? (\n <TableRow className=\"smwb-table__loader__row\">\n <TableCell className=\"smwb-table__loader\">\n <ProgressIndicator variant=\"circular\" type=\"indeterminate\" />\n </TableCell>\n </TableRow>\n ) : error ? (\n <TableRow className=\"smwb-table__loader__row\">\n <TableCell className=\"smwb-table__loader\">\n <Message variant=\"filled\" type=\"error\">\n {error}\n </Message>\n </TableCell>\n </TableRow>\n ) : (\n table.getRowModel().rows.map((row) => (\n <React.Fragment key={row.id}>\n <TableRow key={row.id} onClick={handleBodyRowClick(row)}>\n {row.getVisibleCells().map((cell) => {\n return (\n <TableCell\n key={cell.id}\n cellAlign={cellAlign}\n label={\n cell.column.columnDef.meta?.label ??\n (typeof cell.column.columnDef.header === \"string\" ? cell.column.columnDef.header : undefined)\n }\n {...cell.column.columnDef.meta?.cellProps}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n );\n })}\n </TableRow>\n {row.getIsExpanded() && renderSubComponent && (\n <TableRow key={`${row.id}_expand`}>\n <TableCell colSpan={row.getVisibleCells().length}>{renderSubComponent({ row })}</TableCell>\n </TableRow>\n )}\n </React.Fragment>\n ))\n )}\n </TableBody>\n </Table>\n );\n};\n\nexport default TableWrapper;\n"],"names":["TableWrapper","data","columns","withPagination","isInfinite","limit","limitOptions","dense","sortable","expandable","draggableColumns","columnResizeMode","enableColumnResizing","onColumnSizingChange","onColumnOrderChange","getRowCanExpand","renderSubComponent","cellAlign","isLoading","onNextPage","onPrevPage","error","onHeadCellClick","headerCellInnerRenderer","onBodyRowClick","props","sorting","setSorting","useState","columnOrder","setColumnOrder","React","column","getColumnName","tableRef","setTableRef","columnSizing","setColumnSizing","getDefaultColumnSizingState","columnSizingInfo","setColumnSizingInfo","resizePressed","useRef","useEffect","totalSize","columnWithSize","el","totalSizeWithoutConst","sum","columnCountWithoutConstSize","avgSize","columnSizingStateReducer","options","getCoreRowModel","updater","newValue","diff","newValueColumn","diffColumnName","columnIndex","rightColumnName","leftColumnName","getPaginationRowModel","getSortedRowModel","getExpandedRowModel","table","useReactTable","handleNextPage","handlePrevPage","handleBodyRowClick","row","event","page","pageSize","paginationSettings","jsxs","Table","jsx","TableHead","headerGroup","TableRow","header","canSort","resizeHandler","TableHeadCell","DraggableColumnHeaderWrapper","_a","Fragment","flexRender","e","TableBody","TableCell","ProgressIndicator","Message","cell","_b","_c"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table.js","sources":["../../../../src/connects/rt/table/table.tsx"],"sourcesContent":["import React, { TdHTMLAttributes, useState, useEffect } from \"react\";\nimport {\n flexRender,\n getCoreRowModel,\n useReactTable,\n ColumnDef,\n getPaginationRowModel,\n getExpandedRowModel,\n TableOptions,\n SortingState,\n getSortedRowModel,\n RowData,\n Row,\n ColumnResizeMode,\n ColumnSizingState,\n ColumnSizingInfoState,\n ColumnOrderState,\n HeaderContext,\n Renderable,\n} from \"@tanstack/react-table\";\n\nimport { getColumnName, getDefaultColumnSizingState, columnSizingStateReducer } from \"./utils\";\n\ndeclare module \"@tanstack/table-core\" {\n interface ColumnMeta<TData extends RowData, TValue> {\n cellProps?: TdHTMLAttributes<HTMLTableCellElement>;\n draggableColumn?: boolean;\n /** The column's name on each cell when rows stack as cards (`stackBelow`); a string `header` is used by default. */\n label?: string;\n /**\n * The column's controls in its head cell, such as a filter field or a menu\n * button. They go to the cell's `actions`, after the sort control and\n * outside it, so they stay out of its accessible name, while `header` is\n * drawn inside it. Whatever `flexRender` takes: a node, or a component that\n * gets the header context (`{ column, header, table }`), as `header` does.\n */\n headerActions?: Renderable<HeaderContext<TData, TValue>>;\n }\n}\n\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeadCell,\n TableRow,\n TableProps as SMWBTableProps,\n} from \"../../../components/dataDisplay/table\";\nimport { TablePaginationProps } from \"../../../components/dataDisplay/table\";\nimport ProgressIndicator from \"../../../components/feedBack/progressIndicator/progressIndicator\";\nimport Message from \"../../../components/feedBack/message/message\";\nimport { DraggableColumnHeaderWrapper } from \"./draggableHeader\";\n\nexport type TableProps<TData extends RowData, TValue = unknown> = SMWBTableProps & {\n withPagination?: boolean;\n isInfinite?: boolean;\n dense?: boolean;\n limit?: number;\n limitOptions?: number[];\n sortable?: boolean;\n expandable?: boolean;\n draggableColumns?: boolean;\n enableColumnResizing?: boolean;\n onColumnSizingChange?: (oldValue: ColumnSizingState, newValue: ColumnSizingState) => void;\n onColumnOrderChange?: (oldValue: ColumnOrderState, newValue: ColumnOrderState) => void;\n getRowCanExpand?: (row: Row<TData>) => boolean;\n renderSubComponent?: (props: { row: Row<TData> }) => React.ReactElement;\n cellAlign?: \"left\" | \"right\" | \"center\";\n isLoading?: boolean;\n onNextPage?: () => void;\n onPrevPage?: () => void;\n error?: string;\n onHeadCellClick?: (colDef?: ColumnDef<TData, TValue>) => void;\n headerCellInnerRenderer?: React.ReactElement;\n onBodyRowClick?: (row: Row<TData>, event: React.MouseEvent<HTMLTableRowElement>) => void;\n data: TData[];\n /**\n * TanStack column definitions. A column's `meta` may add `headerActions`\n * (controls drawn beside the sort control in its head cell), `label` (its\n * name on stacked rows), `cellProps` (attributes of its body cells) and\n * `draggableColumn`.\n */\n columns: ColumnDef<TData, TValue>[];\n columnResizeMode?: ColumnResizeMode;\n};\n\nexport const TableWrapper = <TData extends RowData, TValue = unknown>({\n data,\n columns,\n withPagination,\n isInfinite,\n limit = 5,\n limitOptions = [5, 10, 15],\n dense,\n sortable,\n expandable,\n draggableColumns,\n columnResizeMode = \"onChange\",\n enableColumnResizing,\n onColumnSizingChange,\n onColumnOrderChange,\n getRowCanExpand,\n renderSubComponent,\n cellAlign,\n isLoading = false,\n onNextPage,\n onPrevPage,\n error,\n onHeadCellClick,\n headerCellInnerRenderer,\n onBodyRowClick,\n ...props\n}: TableProps<TData, TValue>) => {\n const [sorting, setSorting] = useState<SortingState>([]);\n const [columnOrder, setColumnOrder] = React.useState<ColumnOrderState>(\n columns.map((column) => getColumnName(column))\n );\n const [tableRef, setTableRef] = useState<HTMLDivElement | null>(null);\n const [columnSizing, setColumnSizing] = useState<ColumnSizingState>(getDefaultColumnSizingState(columns));\n const [columnSizingInfo, setColumnSizingInfo] = useState<ColumnSizingInfoState>({\n startOffset: null,\n startSize: null,\n deltaOffset: null,\n deltaPercentage: null,\n isResizingColumn: false,\n columnSizingStart: [],\n });\n useEffect(() => {\n if (tableRef) {\n const totalSize: number = tableRef?.offsetWidth || 0;\n const columnWithSize = columns.filter((el) => el.size);\n const totalSizeWithoutConst = totalSize - columns.reduce((sum, el) => sum + (el.size || 0), 0);\n const columnCountWithoutConstSize = columns.length - columnWithSize.length;\n const avgSize = columnCountWithoutConstSize ? totalSizeWithoutConst / columnCountWithoutConstSize : 10;\n setColumnSizing(\n columns\n .map((el) => ({\n size: el.size ? el.size : avgSize,\n // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n name: getColumnName(el),\n }))\n .reduce(columnSizingStateReducer, {})\n );\n setColumnOrder(columns.map((column) => getColumnName(column)));\n }\n }, [tableRef, columns]);\n\n const options: TableOptions<TData> = {\n data,\n columns,\n state: { sorting, columnSizing, columnSizingInfo, columnOrder },\n initialState: { pagination: { pageIndex: 0, pageSize: limit } },\n manualPagination: isInfinite,\n columnResizeMode,\n onColumnOrderChange: setColumnOrder,\n getCoreRowModel: getCoreRowModel(),\n onColumnSizingChange: (updater) => {\n const newValue = typeof updater === \"function\" ? updater(columnSizing) : updater;\n const diff: ColumnSizingState = {};\n Object.keys(newValue).forEach((newValueColumn) => {\n if (newValue[newValueColumn] !== columnSizing[newValueColumn]) {\n diff[newValueColumn] = newValue[newValueColumn];\n }\n });\n // Алгоритм не учитывает, что колонки могут меняться местами и что может измениться сразу несколько колонок\n // двигаем соседнюю колонку на столько же, на сколько изменили ширину текущей\n const diffColumnName = Object.keys(diff)[0];\n const columnIndex = columns.findIndex((el) => getColumnName(el) === diffColumnName);\n if (columnIndex >= 0 && columnIndex < columns.length - 1) {\n const rightColumnName = getColumnName(columns[columnIndex + 1]);\n newValue[rightColumnName] =\n columnSizing[rightColumnName] - (newValue[diffColumnName] - columnSizing[diffColumnName]);\n } else if (columnIndex === columns.length - 1) {\n const leftColumnName = getColumnName(columns[columnIndex - 1]);\n newValue[leftColumnName] =\n columnSizing[leftColumnName] - (newValue[diffColumnName] - columnSizing[diffColumnName]);\n }\n setColumnSizing(newValue);\n if (onColumnSizingChange) {\n setTimeout(() => onColumnSizingChange(columnSizing, newValue));\n }\n },\n onColumnSizingInfoChange: (updater) => {\n setColumnSizingInfo(typeof updater === \"function\" ? updater(columnSizingInfo) : updater);\n },\n };\n\n options.enableColumnResizing = !!enableColumnResizing;\n\n if (withPagination) {\n options.getPaginationRowModel = getPaginationRowModel();\n }\n if (sortable) {\n options.getSortedRowModel = getSortedRowModel();\n options.onSortingChange = setSorting;\n }\n if (expandable) {\n options.getRowCanExpand = getRowCanExpand;\n options.getExpandedRowModel = getExpandedRowModel();\n }\n\n const table = useReactTable({\n ...options,\n });\n\n const handleNextPage = () => {\n table.nextPage();\n onNextPage?.();\n };\n\n const handlePrevPage = () => {\n table.previousPage();\n onPrevPage?.();\n };\n\n const handleBodyRowClick = (row: Row<TData>) => (event: React.MouseEvent<HTMLTableRowElement>) => {\n onBodyRowClick?.(row, event);\n };\n\n const {\n pagination: { pageIndex: page, pageSize },\n } = table.getState();\n\n let paginationSettings: TablePaginationProps | undefined = undefined;\n if (withPagination) {\n paginationSettings = {\n limit: pageSize,\n page: page + 1,\n limitOptions,\n onNext: handleNextPage,\n onPrev: handlePrevPage,\n onLimitChange: table.setPageSize,\n ...(isInfinite ? { hasNextPage: data.length >= limit } : { totalCount: data.length }),\n };\n }\n\n return (\n <Table\n dense={dense}\n isLoading={isLoading}\n {...props}\n // While the table paginates, its pagination wins over the caller's\n // paginationSettings; otherwise the caller's stays. `hovered` is a\n // default: the caller's wins, and an explicit undefined keeps it.\n paginationSettings={paginationSettings ?? props.paginationSettings}\n hovered={props.hovered ?? !!onBodyRowClick}\n ref={setTableRef}\n >\n <TableHead>\n {table.getHeaderGroups().map((headerGroup) => (\n <TableRow key={headerGroup.id}>\n {headerGroup.headers.map((header) => {\n const canSort = !!sortable && header.column.getCanSort();\n const resizeHandler = header.getResizeHandler();\n const headerActions = header.isPlaceholder ? undefined : header.column.columnDef.meta?.headerActions;\n // The resizer is one of the cell's actions, outside the sort\n // control. The click that ends a press on it goes to the nearest\n // element holding both the press and the release: the resizer, the\n // head cell or an element above it, never the sort control.\n const resizer = header.column.getCanResize() ? (\n <div\n onMouseDown={(e) => {\n e.preventDefault();\n e.stopPropagation();\n resizeHandler(e);\n }}\n onTouchStart={resizeHandler}\n className={`smwb-rt-table--resizer ${\n header.column.getIsResizing() ? \"smwb-rt-table--isResizing\" : \"\"\n }`}\n />\n ) : null;\n return (\n <TableHeadCell\n key={header.id}\n cellAlign={cellAlign}\n sortable={canSort}\n sortDirection={header.column.getIsSorted()}\n onSort={() => header.column.toggleSorting()}\n onClick={() => {\n onHeadCellClick?.(header.column.columnDef);\n }}\n style={{\n cursor: canSort ? \"pointer\" : \"default\",\n width: header.getSize(),\n }}\n actions={\n headerActions || resizer ? (\n <>\n {headerActions ? flexRender(headerActions, header.getContext()) : null}\n {resizer}\n </>\n ) : undefined\n }\n >\n <DraggableColumnHeaderWrapper<TData>\n key={header.id}\n draggableColumn={draggableColumns && header.column.columnDef.meta?.draggableColumn}\n table={table}\n onColumnOrderChange={onColumnOrderChange}\n // https://github.com/TanStack/table/issues/4241\n header={header}\n >\n <div>\n {header.isPlaceholder\n ? null\n : headerCellInnerRenderer\n ? React.cloneElement(headerCellInnerRenderer, { header })\n : flexRender(header.column.columnDef.header, header.getContext())}\n </div>\n </DraggableColumnHeaderWrapper>\n </TableHeadCell>\n );\n })}\n </TableRow>\n ))}\n </TableHead>\n <TableBody>\n {isLoading ? (\n <TableRow className=\"smwb-table__loader__row\">\n <TableCell className=\"smwb-table__loader\">\n <ProgressIndicator variant=\"circular\" type=\"indeterminate\" />\n </TableCell>\n </TableRow>\n ) : error ? (\n <TableRow className=\"smwb-table__loader__row\">\n <TableCell className=\"smwb-table__loader\">\n <Message variant=\"filled\" type=\"error\">\n {error}\n </Message>\n </TableCell>\n </TableRow>\n ) : (\n table.getRowModel().rows.map((row) => (\n <React.Fragment key={row.id}>\n <TableRow key={row.id} onClick={handleBodyRowClick(row)}>\n {row.getVisibleCells().map((cell) => {\n return (\n <TableCell\n key={cell.id}\n cellAlign={cellAlign}\n // Without meta.label or a string header, or with an empty\n // one, the cell stays unlabelled, as in Solid: it takes no\n // label from the head cell's content, which may be a control.\n label={\n (cell.column.columnDef.meta?.label ??\n (typeof cell.column.columnDef.header === \"string\"\n ? cell.column.columnDef.header\n : undefined)) ||\n false\n }\n {...cell.column.columnDef.meta?.cellProps}\n >\n {flexRender(cell.column.columnDef.cell, cell.getContext())}\n </TableCell>\n );\n })}\n </TableRow>\n {row.getIsExpanded() && renderSubComponent && (\n <TableRow key={`${row.id}_expand`}>\n <TableCell colSpan={row.getVisibleCells().length}>{renderSubComponent({ row })}</TableCell>\n </TableRow>\n )}\n </React.Fragment>\n ))\n )}\n </TableBody>\n </Table>\n );\n};\n\nexport default TableWrapper;\n"],"names":["TableWrapper","data","columns","withPagination","isInfinite","limit","limitOptions","dense","sortable","expandable","draggableColumns","columnResizeMode","enableColumnResizing","onColumnSizingChange","onColumnOrderChange","getRowCanExpand","renderSubComponent","cellAlign","isLoading","onNextPage","onPrevPage","error","onHeadCellClick","headerCellInnerRenderer","onBodyRowClick","props","sorting","setSorting","useState","columnOrder","setColumnOrder","React","column","getColumnName","tableRef","setTableRef","columnSizing","setColumnSizing","getDefaultColumnSizingState","columnSizingInfo","setColumnSizingInfo","useEffect","totalSize","columnWithSize","el","totalSizeWithoutConst","sum","columnCountWithoutConstSize","avgSize","columnSizingStateReducer","options","getCoreRowModel","updater","newValue","diff","newValueColumn","diffColumnName","columnIndex","rightColumnName","leftColumnName","getPaginationRowModel","getSortedRowModel","getExpandedRowModel","table","useReactTable","handleNextPage","handlePrevPage","handleBodyRowClick","row","event","page","pageSize","paginationSettings","jsxs","Table","_a","jsx","TableHead","headerGroup","TableRow","header","canSort","resizeHandler","headerActions","resizer","e","TableHeadCell","Fragment","flexRender","DraggableColumnHeaderWrapper","_b","TableBody","TableCell","ProgressIndicator","Message","cell","_c"],"mappings":"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"}
|
|
@@ -1,60 +1,72 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import
|
|
4
|
-
import { getIcon as
|
|
5
|
-
import { getIconConfig as
|
|
6
|
-
import { subscribeIcons as
|
|
7
|
-
import { useIconSource as
|
|
8
|
-
const
|
|
9
|
-
function
|
|
10
|
-
!
|
|
1
|
+
import { jsx as c } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as N, useSyncExternalStore as O } from "react";
|
|
3
|
+
import R from "clsx";
|
|
4
|
+
import { getIcon as j } from "../../../icons/registry.js";
|
|
5
|
+
import { getIconConfig as B } from "../../../icons/config.js";
|
|
6
|
+
import { subscribeIcons as E } from "../../../icons/store.js";
|
|
7
|
+
import { useIconSource as T } from "./iconProvider.js";
|
|
8
|
+
const z = ["primary", "secondary", "error", "success", "warning", "info", "disabled"], S = /* @__PURE__ */ new Set();
|
|
9
|
+
function A(r) {
|
|
10
|
+
!B().warnOnMissing || S.has(r) || (S.add(r), console.warn(
|
|
11
11
|
`[smwb] Icon "${r}" is not registered. Register it (import { ${r} } from "@smwb/ui-react/icons") or use source="auto" to fall back to Material Symbols.`
|
|
12
12
|
));
|
|
13
13
|
}
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
const q = N(function({
|
|
15
|
+
className: I,
|
|
16
|
+
weight: d = 400,
|
|
17
|
+
fill: _ = 0,
|
|
18
|
+
size: n = 20,
|
|
19
|
+
grade: v = 100,
|
|
20
|
+
name: o,
|
|
21
|
+
color: i = "inherit",
|
|
22
|
+
title: a,
|
|
23
|
+
source: x,
|
|
24
|
+
"data-testid": M = "icon",
|
|
25
|
+
...e
|
|
26
|
+
}, $) {
|
|
27
|
+
var w, h, y;
|
|
28
|
+
const u = T(x), g = typeof o == "string" ? o : null, m = () => {
|
|
29
|
+
var p;
|
|
30
|
+
return g === null ? null : (p = j(g)) != null ? p : null;
|
|
31
|
+
}, k = O(E, m, m), t = typeof o == "object" ? o : k, f = typeof o == "string" ? o : o.name, s = u === "google" ? "google" : t ? "smwb" : u === "smwb" ? "missing" : "google";
|
|
32
|
+
s === "missing" && A(f);
|
|
33
|
+
const b = !(a || e["aria-label"] || e["aria-labelledby"]), L = i && z.includes(i) ? `smwb-icon_color-${i}` : null, l = typeof n == "number" ? `${n}px` : n, C = Math.round(Math.min(3, Math.max(1, d / 200)) * 100) / 100;
|
|
34
|
+
return /* @__PURE__ */ c(
|
|
23
35
|
"span",
|
|
24
36
|
{
|
|
25
|
-
...
|
|
26
|
-
ref:
|
|
27
|
-
"data-testid":
|
|
28
|
-
"data-icon-source":
|
|
29
|
-
role:
|
|
30
|
-
"aria-hidden":
|
|
31
|
-
"aria-label":
|
|
32
|
-
title:
|
|
37
|
+
...e,
|
|
38
|
+
ref: $,
|
|
39
|
+
"data-testid": M,
|
|
40
|
+
"data-icon-source": s,
|
|
41
|
+
role: (w = e.role) != null ? w : b ? void 0 : "img",
|
|
42
|
+
"aria-hidden": b ? !0 : e["aria-hidden"],
|
|
43
|
+
"aria-label": a || e["aria-label"],
|
|
44
|
+
title: a,
|
|
33
45
|
style: {
|
|
34
|
-
...
|
|
35
|
-
...
|
|
46
|
+
...e.style,
|
|
47
|
+
...s === "google" ? { fontVariationSettings: `'FILL' ${_}, 'wght' ${d}, 'GRAD' ${v}, 'opsz' 48` } : null
|
|
36
48
|
},
|
|
37
|
-
className:
|
|
38
|
-
children:
|
|
49
|
+
className: R("smwb-icon__wrapper", L, I),
|
|
50
|
+
children: s === "google" ? /* @__PURE__ */ c("span", { className: "material-symbols-outlined", style: { fontSize: l }, children: f }) : /* @__PURE__ */ c(
|
|
39
51
|
"svg",
|
|
40
52
|
{
|
|
41
53
|
className: "smwb-icon__svg",
|
|
42
|
-
viewBox: (
|
|
43
|
-
style: { width:
|
|
54
|
+
viewBox: (h = t == null ? void 0 : t.viewBox) != null ? h : "0 0 24 24",
|
|
55
|
+
style: { width: l, height: l },
|
|
44
56
|
fill: "none",
|
|
45
57
|
stroke: "currentColor",
|
|
46
|
-
strokeWidth:
|
|
58
|
+
strokeWidth: C,
|
|
47
59
|
strokeLinecap: "round",
|
|
48
60
|
strokeLinejoin: "round",
|
|
49
61
|
"aria-hidden": "true",
|
|
50
|
-
dangerouslySetInnerHTML: { __html: (
|
|
62
|
+
dangerouslySetInnerHTML: { __html: (y = t == null ? void 0 : t.body) != null ? y : "" }
|
|
51
63
|
}
|
|
52
64
|
)
|
|
53
65
|
}
|
|
54
66
|
);
|
|
55
67
|
});
|
|
56
68
|
export {
|
|
57
|
-
|
|
58
|
-
|
|
69
|
+
q as Icon,
|
|
70
|
+
q as default
|
|
59
71
|
};
|
|
60
72
|
//# sourceMappingURL=icon.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon.js","sources":["../../../../../src/components/base/icon/icon.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, useSyncExternalStore } from \"react\";\nimport cn from \"clsx\";\nimport { getIcon } from \"../../../icons/registry\";\nimport { getIconConfig } from \"../../../icons/config\";\nimport { subscribeIcons } from \"../../../icons/store\";\nimport type { IconDefinition, IconSource } from \"../../../icons/types\";\nimport { useIconSource } from \"./iconProvider\";\n\nexport type IconColor = \"inherit\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\" | \"disabled\";\n\nconst COLOR_TOKENS = [\"primary\", \"secondary\", \"error\", \"success\", \"warning\", \"info\", \"disabled\"];\n\nconst warned = new Set<string>();\n\nfunction warnMissing(name: string): void {\n if (!getIconConfig().warnOnMissing || warned.has(name)) return;\n warned.add(name);\n // eslint-disable-next-line no-console -- a missing icon is silent otherwise\n console.warn(\n `[smwb] Icon \"${name}\" is not registered. Register it (import { ${name} } from \"@smwb/ui-react/icons\") ` +\n `or use source=\"auto\" to fall back to Material Symbols.`\n );\n}\n\nexport interface IconProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Icon name — the Google Material Symbols name, e.g. `\"arrow_right_alt\"`.\n * Lookup is forgiving: `arrowRightAlt` and `arrow-right-alt` resolve too, as\n * do an icon's aliases.\n *\n * An {@link IconDefinition} may be passed instead, which skips the registry\n * entirely and is the most bundle-friendly form:\n *\n * ```tsx\n * import { arrowRightAlt } from \"@smwb/ui-react/icons\";\n * <Icon name={arrowRightAlt} />\n * ```\n */\n name: string | IconDefinition;\n className?: string;\n /**\n * Material Symbols weight axis (100-700). For the smwb SVG set it maps to the\n * stroke width: 400 → 2px, 700 → 3px, 100 → 1px.\n */\n weight?: number;\n /** Material Symbols FILL axis. Not used by the smwb SVG set (it is a contour set). */\n fill?: 0 | 1;\n /** Pixel number or any CSS length (e.g. \"1.5rem\"). */\n size?: number | string;\n /** Material Symbols GRAD axis. Not used by the smwb SVG set. */\n grade?: number;\n /**\n * Semantic color token; `inherit` (default) keeps the text color.\n * Any string is accepted for backward compatibility, but only known\n * {@link IconColor} tokens emit a color class.\n */\n color?: IconColor | (string & {});\n /**\n * Accessible name.
|
|
1
|
+
{"version":3,"file":"icon.js","sources":["../../../../../src/components/base/icon/icon.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, useSyncExternalStore } from \"react\";\nimport cn from \"clsx\";\nimport { getIcon } from \"../../../icons/registry\";\nimport { getIconConfig } from \"../../../icons/config\";\nimport { subscribeIcons } from \"../../../icons/store\";\nimport type { IconDefinition, IconSource } from \"../../../icons/types\";\nimport { useIconSource } from \"./iconProvider\";\n\nexport type IconColor = \"inherit\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\" | \"disabled\";\n\nconst COLOR_TOKENS = [\"primary\", \"secondary\", \"error\", \"success\", \"warning\", \"info\", \"disabled\"];\n\nconst warned = new Set<string>();\n\nfunction warnMissing(name: string): void {\n if (!getIconConfig().warnOnMissing || warned.has(name)) return;\n warned.add(name);\n // eslint-disable-next-line no-console -- a missing icon is silent otherwise\n console.warn(\n `[smwb] Icon \"${name}\" is not registered. Register it (import { ${name} } from \"@smwb/ui-react/icons\") ` +\n `or use source=\"auto\" to fall back to Material Symbols.`\n );\n}\n\nexport interface IconProps extends HTMLAttributes<HTMLSpanElement> {\n /**\n * Icon name — the Google Material Symbols name, e.g. `\"arrow_right_alt\"`.\n * Lookup is forgiving: `arrowRightAlt` and `arrow-right-alt` resolve too, as\n * do an icon's aliases.\n *\n * An {@link IconDefinition} may be passed instead, which skips the registry\n * entirely and is the most bundle-friendly form:\n *\n * ```tsx\n * import { arrowRightAlt } from \"@smwb/ui-react/icons\";\n * <Icon name={arrowRightAlt} />\n * ```\n */\n name: string | IconDefinition;\n className?: string;\n /**\n * Material Symbols weight axis (100-700). For the smwb SVG set it maps to the\n * stroke width: 400 → 2px, 700 → 3px, 100 → 1px.\n */\n weight?: number;\n /** Material Symbols FILL axis. Not used by the smwb SVG set (it is a contour set). */\n fill?: 0 | 1;\n /** Pixel number or any CSS length (e.g. \"1.5rem\"). */\n size?: number | string;\n /** Material Symbols GRAD axis. Not used by the smwb SVG set. */\n grade?: number;\n /**\n * Semantic color token; `inherit` (default) keeps the text color.\n * Any string is accepted for backward compatibility, but only known\n * {@link IconColor} tokens emit a color class.\n */\n color?: IconColor | (string & {});\n /**\n * Accessible name, also shown as a tooltip. A non-empty `title`,\n * `aria-label` or `aria-labelledby` names the icon: it is exposed as\n * `role=\"img\"`, or with the `role` you pass. Without any of them the icon is\n * decorative and `aria-hidden`.\n */\n title?: string;\n /** Overrides the icon source for this icon only. See {@link IconSource}. */\n source?: IconSource;\n /** Test id of the root `<span>`; `icon` unless given. */\n \"data-testid\"?: string;\n}\n\nexport const Icon = forwardRef<HTMLSpanElement, IconProps>(function Icon(\n {\n className,\n weight = 400,\n fill = 0,\n size = 20,\n grade = 100,\n name,\n color = \"inherit\",\n title,\n source,\n \"data-testid\": dataTestId = \"icon\",\n ...props\n },\n ref\n) {\n const resolvedSource = useIconSource(source);\n const lookup = typeof name === \"string\" ? name : null;\n // Subscribing keeps late registrations (lazy chunks, Storybook HMR) from\n // leaving a mounted icon blank. getIcon returns the same object for the same\n // registration, so the snapshot is stable.\n const getSnapshot = () => (lookup === null ? null : (getIcon(lookup) ?? null));\n const registered = useSyncExternalStore(subscribeIcons, getSnapshot, getSnapshot);\n const definition = typeof name === \"object\" ? name : registered;\n const glyph = typeof name === \"string\" ? name : name.name;\n\n const mode =\n resolvedSource === \"google\" ? \"google\" : definition ? \"smwb\" : resolvedSource === \"smwb\" ? \"missing\" : \"google\";\n if (mode === \"missing\") warnMissing(glyph);\n\n const decorative = !(title || props[\"aria-label\"] || props[\"aria-labelledby\"]);\n const colorClass = color && COLOR_TOKENS.includes(color) ? `smwb-icon_color-${color}` : null;\n const cssSize = typeof size === \"number\" ? `${size}px` : size;\n const strokeWidth = Math.round(Math.min(3, Math.max(1, weight / 200)) * 100) / 100;\n\n return (\n <span\n {...props}\n ref={ref}\n data-testid={dataTestId}\n data-icon-source={mode}\n // An unnamed icon is hidden over the caller's aria-hidden. A named one is\n // an image unless the caller gives it a role, and a title names it over\n // the caller's aria-label.\n role={props.role ?? (decorative ? undefined : \"img\")}\n aria-hidden={decorative ? true : props[\"aria-hidden\"]}\n aria-label={title || props[\"aria-label\"]}\n title={title}\n style={{\n ...props.style,\n ...(mode === \"google\"\n ? { fontVariationSettings: `'FILL' ${fill}, 'wght' ${weight}, 'GRAD' ${grade}, 'opsz' 48` }\n : null),\n }}\n className={cn(\"smwb-icon__wrapper\", colorClass, className)}\n >\n {mode === \"google\" ? (\n <span className=\"material-symbols-outlined\" style={{ fontSize: cssSize }}>\n {glyph}\n </span>\n ) : (\n <svg\n className=\"smwb-icon__svg\"\n viewBox={definition?.viewBox ?? \"0 0 24 24\"}\n style={{ width: cssSize, height: cssSize }}\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth={strokeWidth}\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n aria-hidden=\"true\"\n dangerouslySetInnerHTML={{ __html: definition?.body ?? \"\" }}\n />\n )}\n </span>\n );\n});\n\nexport default Icon;\n"],"names":["COLOR_TOKENS","warned","warnMissing","name","getIconConfig","Icon","forwardRef","className","weight","fill","size","grade","color","title","source","dataTestId","props","ref","resolvedSource","useIconSource","lookup","getSnapshot","_a","getIcon","registered","useSyncExternalStore","subscribeIcons","definition","glyph","mode","decorative","colorClass","cssSize","strokeWidth","jsx","cn","_b","_c"],"mappings":";;;;;;;AAUA,MAAMA,IAAe,CAAC,WAAW,aAAa,SAAS,WAAW,WAAW,QAAQ,UAAU,GAEzFC,wBAAa,IAAA;AAEnB,SAASC,EAAYC,GAAoB;AACvC,EAAI,CAACC,EAAA,EAAgB,iBAAiBH,EAAO,IAAIE,CAAI,MACrDF,EAAO,IAAIE,CAAI,GAEf,QAAQ;AAAA,IACN,gBAAgBA,CAAI,8CAA8CA,CAAI;AAAA,EAAA;AAG1E;AAgDO,MAAME,IAAOC,EAAuC,SACzD;AAAA,EACE,WAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,MAAAC,IAAO;AAAA,EACP,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,MAAAR;AAAA,EACA,OAAAS,IAAQ;AAAA,EACR,OAAAC;AAAA,EACA,QAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GACAC,GACA;;AACA,QAAMC,IAAiBC,EAAcL,CAAM,GACrCM,IAAS,OAAOjB,KAAS,WAAWA,IAAO,MAI3CkB,IAAc,MAAA;;AAAO,WAAAD,MAAW,OAAO,QAAQE,IAAAC,EAAQH,CAAM,MAAd,OAAAE,IAAmB;AAAA,KAClEE,IAAaC,EAAqBC,GAAgBL,GAAaA,CAAW,GAC1EM,IAAa,OAAOxB,KAAS,WAAWA,IAAOqB,GAC/CI,IAAQ,OAAOzB,KAAS,WAAWA,IAAOA,EAAK,MAE/C0B,IACJX,MAAmB,WAAW,WAAWS,IAAa,SAAST,MAAmB,SAAS,YAAY;AACzG,EAAIW,MAAS,aAAW3B,EAAY0B,CAAK;AAEzC,QAAME,IAAa,EAAEjB,KAASG,EAAM,YAAY,KAAKA,EAAM,iBAAiB,IACtEe,IAAanB,KAASZ,EAAa,SAASY,CAAK,IAAI,mBAAmBA,CAAK,KAAK,MAClFoB,IAAU,OAAOtB,KAAS,WAAW,GAAGA,CAAI,OAAOA,GACnDuB,IAAc,KAAK,MAAM,KAAK,IAAI,GAAG,KAAK,IAAI,GAAGzB,IAAS,GAAG,CAAC,IAAI,GAAG,IAAI;AAE/E,SACE,gBAAA0B;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGlB;AAAA,MACJ,KAAAC;AAAA,MACA,eAAaF;AAAA,MACb,oBAAkBc;AAAA,MAIlB,OAAMP,IAAAN,EAAM,SAAN,OAAAM,IAAeQ,IAAa,SAAY;AAAA,MAC9C,eAAaA,IAAa,KAAOd,EAAM,aAAa;AAAA,MACpD,cAAYH,KAASG,EAAM,YAAY;AAAA,MACvC,OAAAH;AAAA,MACA,OAAO;AAAA,QACL,GAAGG,EAAM;AAAA,QACT,GAAIa,MAAS,WACT,EAAE,uBAAuB,UAAUpB,CAAI,YAAYD,CAAM,YAAYG,CAAK,cAAA,IAC1E;AAAA,MAAA;AAAA,MAEN,WAAWwB,EAAG,sBAAsBJ,GAAYxB,CAAS;AAAA,MAExD,UAAAsB,MAAS,WACR,gBAAAK,EAAC,QAAA,EAAK,WAAU,6BAA4B,OAAO,EAAE,UAAUF,EAAA,GAC5D,UAAAJ,EAAA,CACH,IAEA,gBAAAM;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAU;AAAA,UACV,UAASE,IAAAT,KAAA,gBAAAA,EAAY,YAAZ,OAAAS,IAAuB;AAAA,UAChC,OAAO,EAAE,OAAOJ,GAAS,QAAQA,EAAA;AAAA,UACjC,MAAK;AAAA,UACL,QAAO;AAAA,UACP,aAAAC;AAAA,UACA,eAAc;AAAA,UACd,gBAAe;AAAA,UACf,eAAY;AAAA,UACZ,yBAAyB,EAAE,SAAQI,IAAAV,KAAA,gBAAAA,EAAY,SAAZ,OAAAU,IAAoB,GAAA;AAAA,QAAG;AAAA,MAAA;AAAA,IAC5D;AAAA,EAAA;AAIR,CAAC;"}
|