@smwb/ui-react 2.6.3 → 2.8.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 +4 -2
- package/AI_THEMING.md +17 -1
- package/README.md +111 -35
- package/dist/assets/styles/less/components/accordion/accordion.entry.css +1 -1
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
- package/dist/assets/styles/less/components/card/card.entry.css +1 -1
- package/dist/assets/styles/less/components/chart/chart.entry.css +1 -0
- 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/descriptionList/descriptionList.entry.css +1 -0
- package/dist/assets/styles/less/components/emptyState/emptyState.entry.css +1 -0
- package/dist/assets/styles/less/components/kanban/kanban.entry.css +1 -0
- package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
- package/dist/assets/styles/less/components/meter/meter.entry.css +1 -0
- package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -0
- package/dist/assets/styles/less/components/progressIndicator/progressIndicator.entry.css +1 -1
- package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
- package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
- package/dist/assets/styles/less/components/sectionHeader/sectionHeader.entry.css +1 -0
- package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
- package/dist/assets/styles/less/components/stat/stat.entry.css +1 -0
- package/dist/assets/styles/less/components/stepper/stepper.entry.css +1 -1
- package/dist/assets/styles/less/components/table/table.entry.css +1 -1
- package/dist/assets/styles/less/components/tabs/tab/tab.entry.css +1 -1
- package/dist/assets/styles/less/components/tabs/tabs.entry.css +1 -1
- package/dist/assets/styles/less/components/textField/textField.entry.css +1 -1
- package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
- package/dist/assets/styles/less/components/timeline/timeline.entry.css +1 -0
- package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
- package/dist/assets/styles/less/components/tooltip/tooltip.entry.css +1 -1
- package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
- package/dist/assets/styles/less/connects/rt/table.entry.css +1 -0
- package/dist/assets/styles/less/tokens.entry.css +1 -0
- package/dist/chart.d.ts +2 -0
- package/dist/chart.js +8 -0
- package/dist/chart.js.map +1 -0
- package/dist/components/base/icon/icon.d.ts +6 -2
- package/dist/components/base/icon/icon.js +51 -38
- 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 +42 -26
- package/dist/components/base/ripple/ripple.js.map +1 -1
- package/dist/components/dataDisplay/accordion/accordion.d.ts +18 -1
- package/dist/components/dataDisplay/accordion/accordion.js +77 -54
- package/dist/components/dataDisplay/accordion/accordion.js.map +1 -1
- package/dist/components/dataDisplay/assetGrid/assetGrid.js +15 -14
- package/dist/components/dataDisplay/assetGrid/assetGrid.js.map +1 -1
- package/dist/components/dataDisplay/avatar/avatar.d.ts +8 -0
- package/dist/components/dataDisplay/avatar/avatar.js +66 -38
- package/dist/components/dataDisplay/avatar/avatar.js.map +1 -1
- package/dist/components/dataDisplay/badge/badge.js +41 -31
- 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 +51 -23
- package/dist/components/dataDisplay/card/card.js.map +1 -1
- package/dist/components/dataDisplay/carousel/carousel.js +80 -79
- package/dist/components/dataDisplay/carousel/carousel.js.map +1 -1
- package/dist/components/dataDisplay/chart/chart.d.ts +67 -0
- package/dist/components/dataDisplay/chart/chart.js +146 -0
- package/dist/components/dataDisplay/chart/chart.js.map +1 -0
- package/dist/components/dataDisplay/chart/chartTheme.d.ts +35 -0
- package/dist/components/dataDisplay/chart/chartTheme.js +74 -0
- package/dist/components/dataDisplay/chart/chartTheme.js.map +1 -0
- package/dist/components/dataDisplay/chart/index.d.ts +4 -0
- package/dist/components/dataDisplay/chat/chat.js +5 -4
- package/dist/components/dataDisplay/chat/chat.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/chip/chip.d.ts +31 -0
- package/dist/components/dataDisplay/chip/chip.js +112 -84
- package/dist/components/dataDisplay/chip/chip.js.map +1 -1
- package/dist/components/dataDisplay/chipGroup/chipGroup.js +37 -32
- package/dist/components/dataDisplay/chipGroup/chipGroup.js.map +1 -1
- package/dist/components/dataDisplay/descriptionList/descriptionList.d.ts +45 -0
- package/dist/components/dataDisplay/descriptionList/descriptionList.js +43 -0
- package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -0
- package/dist/components/dataDisplay/descriptionList/index.d.ts +2 -0
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js +145 -99
- package/dist/components/dataDisplay/expansionPanel/expansionPanel.js.map +1 -1
- package/dist/components/dataDisplay/imagesList/imagesList.js +11 -10
- package/dist/components/dataDisplay/imagesList/imagesList.js.map +1 -1
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js +31 -24
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.d.ts +1 -1
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +16 -13
- package/dist/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
- package/dist/components/dataDisplay/kanban/index.d.ts +2 -0
- package/dist/components/dataDisplay/kanban/kanban.d.ts +53 -0
- package/dist/components/dataDisplay/kanban/kanban.js +74 -0
- package/dist/components/dataDisplay/kanban/kanban.js.map +1 -0
- package/dist/components/dataDisplay/lazyImage/lazyImage.js +33 -31
- 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 +17 -15
- package/dist/components/dataDisplay/list/list.js.map +1 -1
- package/dist/components/dataDisplay/meter/index.d.ts +2 -0
- package/dist/components/dataDisplay/meter/meter.d.ts +35 -0
- package/dist/components/dataDisplay/meter/meter.js +63 -0
- package/dist/components/dataDisplay/meter/meter.js.map +1 -0
- package/dist/components/dataDisplay/personChip/index.d.ts +2 -0
- package/dist/components/dataDisplay/personChip/personChip.d.ts +33 -0
- package/dist/components/dataDisplay/personChip/personChip.js +73 -0
- package/dist/components/dataDisplay/personChip/personChip.js.map +1 -0
- package/dist/components/dataDisplay/stat/index.d.ts +2 -0
- package/dist/components/dataDisplay/stat/stat.d.ts +38 -0
- package/dist/components/dataDisplay/stat/stat.js +60 -0
- package/dist/components/dataDisplay/stat/stat.js.map +1 -0
- package/dist/components/dataDisplay/table/table.d.ts +22 -0
- package/dist/components/dataDisplay/table/table.js +42 -32
- 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 +11 -1
- package/dist/components/dataDisplay/table/tableCell.js +20 -4
- 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 +34 -3
- package/dist/components/dataDisplay/table/tableHeadCell.js +61 -36
- package/dist/components/dataDisplay/table/tableHeadCell.js.map +1 -1
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.js +10 -9
- package/dist/components/dataDisplay/table/tablePagination/tablePagination.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 +81 -60
- package/dist/components/dataDisplay/thumbCard/thumbCard.js.map +1 -1
- package/dist/components/dataDisplay/timeline/index.d.ts +2 -0
- package/dist/components/dataDisplay/timeline/timeline.d.ts +43 -0
- package/dist/components/dataDisplay/timeline/timeline.js +44 -0
- package/dist/components/dataDisplay/timeline/timeline.js.map +1 -0
- package/dist/components/dataDisplay/treeView/treeView.d.ts +2 -0
- package/dist/components/dataDisplay/treeView/treeView.js +26 -24
- package/dist/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/components/dataDisplay/typography/typography.d.ts +4 -0
- package/dist/components/dataDisplay/typography/typography.js +41 -23
- package/dist/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/components/feedBack/confirmDialog/confirmDialog.js +14 -13
- package/dist/components/feedBack/confirmDialog/confirmDialog.js.map +1 -1
- package/dist/components/feedBack/emptyState/emptyState.d.ts +28 -0
- package/dist/components/feedBack/emptyState/emptyState.js +37 -0
- package/dist/components/feedBack/emptyState/emptyState.js.map +1 -0
- package/dist/components/feedBack/emptyState/index.d.ts +2 -0
- package/dist/components/feedBack/message/message.d.ts +2 -0
- package/dist/components/feedBack/message/message.js +33 -21
- package/dist/components/feedBack/message/message.js.map +1 -1
- package/dist/components/feedBack/modal/modal.js +44 -43
- package/dist/components/feedBack/modal/modal.js.map +1 -1
- package/dist/components/feedBack/progressIndicator/progressIndicator.d.ts +14 -1
- package/dist/components/feedBack/progressIndicator/progressIndicator.js +72 -40
- package/dist/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
- package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js +32 -31
- package/dist/components/feedBack/saveAssetDialog/saveAssetDialog.js.map +1 -1
- package/dist/components/feedBack/skeleton/skeleton.d.ts +10 -2
- package/dist/components/feedBack/skeleton/skeleton.js +40 -36
- package/dist/components/feedBack/skeleton/skeleton.js.map +1 -1
- package/dist/components/feedBack/snackbar/snackbar.js +110 -108
- 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 +77 -49
- package/dist/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/components/inputs/button/button.d.ts +2 -0
- package/dist/components/inputs/button/button.js +67 -62
- 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 +42 -37
- 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 +86 -60
- package/dist/components/inputs/checkbox/checkbox.js.map +1 -1
- package/dist/components/inputs/datePicker/datePicker.js +179 -170
- 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 +165 -157
- package/dist/components/inputs/dateTimePicker/dateTimePicker.js.map +1 -1
- package/dist/components/inputs/fileDrop/fileDrop.js +13 -12
- package/dist/components/inputs/fileDrop/fileDrop.js.map +1 -1
- package/dist/components/inputs/fileInput/fileInput.js +4 -3
- package/dist/components/inputs/fileInput/fileInput.js.map +1 -1
- package/dist/components/inputs/floatingButton/floatingButton.js +34 -31
- 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 +79 -59
- 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 +87 -71
- 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 +265 -109
- 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 +33 -1
- package/dist/components/inputs/selectField/selectField.js +365 -214
- 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 +332 -262
- 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 -99
- 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/textField/utils.d.ts +1 -1
- package/dist/components/inputs/timePicker/timePicker.js +94 -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 +81 -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 +24 -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 +35 -33
- 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 +24 -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 +147 -140
- 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 +50 -34
- 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 +18 -9
- 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 -12
- package/dist/components/layout/pageHeader/pageHeader.js.map +1 -1
- package/dist/components/layout/screenDivider/screenDivider.js +19 -18
- package/dist/components/layout/screenDivider/screenDivider.js.map +1 -1
- package/dist/components/layout/sectionHeader/index.d.ts +2 -0
- package/dist/components/layout/sectionHeader/sectionHeader.d.ts +33 -0
- package/dist/components/layout/sectionHeader/sectionHeader.js +77 -0
- package/dist/components/layout/sectionHeader/sectionHeader.js.map +1 -0
- package/dist/components/layout/sheet/sheet.d.ts +2 -0
- package/dist/components/layout/sheet/sheet.js +82 -80
- 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 +33 -20
- package/dist/components/layout/stack/stack.js.map +1 -1
- package/dist/components/navigation/appBar/appBar.d.ts +2 -0
- package/dist/components/navigation/appBar/appBar.js +20 -18
- package/dist/components/navigation/appBar/appBar.js.map +1 -1
- package/dist/components/navigation/bottomBar/bottomBar.js +83 -78
- 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 +31 -28
- package/dist/components/navigation/breadcrumbs/breadcrumbs.js.map +1 -1
- package/dist/components/navigation/menu/menu.d.ts +12 -0
- package/dist/components/navigation/menu/menu.js +6 -5
- 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/overflowMenu/overflowMenu.js +16 -15
- package/dist/components/navigation/overflowMenu/overflowMenu.js.map +1 -1
- package/dist/components/navigation/pagination/pagination.d.ts +2 -0
- package/dist/components/navigation/pagination/pagination.js +53 -50
- package/dist/components/navigation/pagination/pagination.js.map +1 -1
- package/dist/components/navigation/sidebar/sidebar.js +46 -44
- package/dist/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/components/navigation/stepper/stepper.d.ts +12 -2
- package/dist/components/navigation/stepper/stepper.js +43 -31
- package/dist/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/components/navigation/tabs/tab/tab.d.ts +2 -0
- package/dist/components/navigation/tabs/tab/tab.js +44 -41
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/components/navigation/tabs/tabs.d.ts +18 -0
- package/dist/components/navigation/tabs/tabs.js +139 -87
- package/dist/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/connects/rt/table/draggableHeader.d.ts +1 -1
- package/dist/connects/rt/table/draggableHeader.js.map +1 -0
- package/dist/connects/rt/table/headerCellRenderer.d.ts +9 -0
- package/dist/connects/rt/table/headerCellRenderer.js +51 -0
- package/dist/connects/rt/table/headerCellRenderer.js.map +1 -0
- package/dist/connects/rt/table/table.d.ts +17 -1
- package/dist/connects/rt/table/table.js +194 -0
- package/dist/connects/rt/table/table.js.map +1 -0
- package/dist/connects/rt/table/utils.js.map +1 -0
- 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/accordion/accordion.js +76 -54
- package/dist/headless/components/dataDisplay/accordion/accordion.js.map +1 -1
- package/dist/headless/components/dataDisplay/avatar/avatar.js +62 -35
- 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/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/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/descriptionList/descriptionList.js +41 -0
- package/dist/headless/components/dataDisplay/descriptionList/descriptionList.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/imagesList/imagesListItem/imagesListItem.js +29 -23
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItem.js.map +1 -1
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js +16 -13
- package/dist/headless/components/dataDisplay/imagesList/imagesListItem/imagesListItemModal.js.map +1 -1
- package/dist/headless/components/dataDisplay/kanban/kanban.js +72 -0
- package/dist/headless/components/dataDisplay/kanban/kanban.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/meter/meter.js +61 -0
- package/dist/headless/components/dataDisplay/meter/meter.js.map +1 -0
- package/dist/headless/components/dataDisplay/personChip/personChip.js +71 -0
- package/dist/headless/components/dataDisplay/personChip/personChip.js.map +1 -0
- package/dist/headless/components/dataDisplay/stat/stat.js +58 -0
- package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -0
- package/dist/headless/components/dataDisplay/table/table.js +40 -31
- 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 -4
- 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 +61 -36
- 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/timeline/timeline.js +42 -0
- package/dist/headless/components/dataDisplay/timeline/timeline.js.map +1 -0
- package/dist/headless/components/dataDisplay/treeView/treeView.js +24 -23
- package/dist/headless/components/dataDisplay/treeView/treeView.js.map +1 -1
- package/dist/headless/components/dataDisplay/typography/typography.js +39 -22
- package/dist/headless/components/dataDisplay/typography/typography.js.map +1 -1
- package/dist/headless/components/feedBack/emptyState/emptyState.js +35 -0
- package/dist/headless/components/feedBack/emptyState/emptyState.js.map +1 -0
- 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 +44 -44
- package/dist/headless/components/feedBack/modal/modal.js.map +1 -1
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js +70 -39
- package/dist/headless/components/feedBack/progressIndicator/progressIndicator.js.map +1 -1
- package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.js +30 -30
- package/dist/headless/components/feedBack/saveAssetDialog/saveAssetDialog.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 +75 -48
- package/dist/headless/components/feedBack/tooltip/tooltip.js.map +1 -1
- package/dist/headless/components/inputs/button/button.js +62 -58
- 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/datePicker/datePicker.js +177 -169
- 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 +165 -157
- 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 +265 -109
- 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 +360 -210
- 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 +92 -84
- 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 +75 -0
- package/dist/headless/components/layout/sectionHeader/sectionHeader.js.map +1 -0
- package/dist/headless/components/layout/sheet/sheet.js +80 -79
- 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/navigation/appBar/appBar.js +15 -14
- 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/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 +29 -28
- package/dist/headless/components/navigation/sidebar/sidebar.js.map +1 -1
- package/dist/headless/components/navigation/stepper/stepper.js +41 -30
- package/dist/headless/components/navigation/stepper/stepper.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tab/tab.js +41 -39
- package/dist/headless/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/headless/components/navigation/tabs/tabs.js +137 -86
- package/dist/headless/components/navigation/tabs/tabs.js.map +1 -1
- package/dist/headless/hooks/useDismissOnEscape.js +16 -0
- package/dist/headless/hooks/useDismissOnEscape.js.map +1 -0
- package/dist/headless/hooks/useFocusTrap.js +1 -0
- 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/useSafeLayoutEffect.js +4 -2
- package/dist/headless/hooks/useSafeLayoutEffect.js.map +1 -1
- package/dist/headless/icons/catalog.js +78 -1
- package/dist/headless/icons/catalog.js.map +1 -1
- package/dist/headless/icons/index.js +596 -574
- package/dist/headless/icons/index.js.map +1 -1
- package/dist/headless/icons/svg/accountTree.js +9 -0
- package/dist/headless/icons/svg/accountTree.js.map +1 -0
- package/dist/headless/icons/svg/callSplit.js +9 -0
- package/dist/headless/icons/svg/callSplit.js.map +1 -0
- package/dist/headless/icons/svg/deviceHub.js +8 -0
- package/dist/headless/icons/svg/deviceHub.js.map +1 -0
- package/dist/headless/icons/svg/editNote.js +9 -0
- package/dist/headless/icons/svg/editNote.js.map +1 -0
- package/dist/headless/icons/svg/filterList.js +9 -0
- package/dist/headless/icons/svg/filterList.js.map +1 -0
- package/dist/headless/icons/svg/forkRight.js +8 -0
- package/dist/headless/icons/svg/forkRight.js.map +1 -0
- package/dist/headless/icons/svg/groups.js +9 -0
- package/dist/headless/icons/svg/groups.js.map +1 -0
- package/dist/headless/icons/svg/hub.js +8 -0
- package/dist/headless/icons/svg/hub.js.map +1 -0
- package/dist/headless/icons/svg/index.js +598 -576
- package/dist/headless/icons/svg/index.js.map +1 -1
- package/dist/headless/icons/svg/lan.js +9 -0
- package/dist/headless/icons/svg/lan.js.map +1 -0
- package/dist/headless/icons/svg/personOff.js +9 -0
- package/dist/headless/icons/svg/personOff.js.map +1 -0
- package/dist/headless/icons/svg/schema.js +9 -0
- package/dist/headless/icons/svg/schema.js.map +1 -0
- package/dist/headless/index.js +209 -183
- 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/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/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 +2 -0
- package/dist/hooks/useFocusTrap.js +1 -0
- 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/useSafeLayoutEffect.d.ts +7 -1
- package/dist/hooks/useSafeLayoutEffect.js +4 -2
- package/dist/hooks/useSafeLayoutEffect.js.map +1 -1
- package/dist/icons/catalog.d.ts +1 -1
- package/dist/icons/catalog.js +78 -1
- package/dist/icons/catalog.js.map +1 -1
- package/dist/icons/index.js +596 -574
- package/dist/icons/index.js.map +1 -1
- package/dist/icons/svg/accountTree.d.ts +4 -0
- package/dist/icons/svg/accountTree.js +9 -0
- package/dist/icons/svg/accountTree.js.map +1 -0
- package/dist/icons/svg/callSplit.d.ts +4 -0
- package/dist/icons/svg/callSplit.js +9 -0
- package/dist/icons/svg/callSplit.js.map +1 -0
- package/dist/icons/svg/deviceHub.d.ts +4 -0
- package/dist/icons/svg/deviceHub.js +8 -0
- package/dist/icons/svg/deviceHub.js.map +1 -0
- package/dist/icons/svg/editNote.d.ts +4 -0
- package/dist/icons/svg/editNote.js +9 -0
- package/dist/icons/svg/editNote.js.map +1 -0
- package/dist/icons/svg/filterList.d.ts +4 -0
- package/dist/icons/svg/filterList.js +9 -0
- package/dist/icons/svg/filterList.js.map +1 -0
- package/dist/icons/svg/forkRight.d.ts +4 -0
- package/dist/icons/svg/forkRight.js +8 -0
- package/dist/icons/svg/forkRight.js.map +1 -0
- package/dist/icons/svg/groups.d.ts +4 -0
- package/dist/icons/svg/groups.js +9 -0
- package/dist/icons/svg/groups.js.map +1 -0
- package/dist/icons/svg/hub.d.ts +4 -0
- package/dist/icons/svg/hub.js +8 -0
- package/dist/icons/svg/hub.js.map +1 -0
- package/dist/icons/svg/index.d.ts +11 -0
- package/dist/icons/svg/index.js +598 -576
- package/dist/icons/svg/index.js.map +1 -1
- package/dist/icons/svg/lan.d.ts +4 -0
- package/dist/icons/svg/lan.js +9 -0
- package/dist/icons/svg/lan.js.map +1 -0
- package/dist/icons/svg/personOff.d.ts +4 -0
- package/dist/icons/svg/personOff.js +9 -0
- package/dist/icons/svg/personOff.js.map +1 -0
- package/dist/icons/svg/schema.d.ts +4 -0
- package/dist/icons/svg/schema.js +9 -0
- package/dist/icons/svg/schema.js.map +1 -0
- package/dist/icons.cjs +1 -1
- package/dist/icons.cjs.map +1 -1
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +16 -0
- package/dist/index.js +209 -183
- 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/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/package.json +18 -7
- package/dist/react-table/components/base/icon/icon.js +0 -60
- package/dist/react-table/components/base/icon/icon.js.map +0 -1
- package/dist/react-table/components/base/icon/iconProvider.js +0 -15
- package/dist/react-table/components/base/icon/iconProvider.js.map +0 -1
- package/dist/react-table/components/dataDisplay/table/table.js +0 -37
- package/dist/react-table/components/dataDisplay/table/table.js.map +0 -1
- package/dist/react-table/components/dataDisplay/table/tableBody.js +0 -7
- package/dist/react-table/components/dataDisplay/table/tableBody.js.map +0 -1
- package/dist/react-table/components/dataDisplay/table/tableCell.js +0 -7
- package/dist/react-table/components/dataDisplay/table/tableCell.js.map +0 -1
- package/dist/react-table/components/dataDisplay/table/tableHead.js +0 -7
- package/dist/react-table/components/dataDisplay/table/tableHead.js.map +0 -1
- package/dist/react-table/components/dataDisplay/table/tableHeadCell.js +0 -48
- package/dist/react-table/components/dataDisplay/table/tableHeadCell.js.map +0 -1
- package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js +0 -40
- package/dist/react-table/components/dataDisplay/table/tablePagination/tablePagination.js.map +0 -1
- package/dist/react-table/components/dataDisplay/table/tableRow.js +0 -20
- package/dist/react-table/components/dataDisplay/table/tableRow.js.map +0 -1
- package/dist/react-table/components/feedBack/message/message.js +0 -31
- package/dist/react-table/components/feedBack/message/message.js.map +0 -1
- package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js +0 -51
- package/dist/react-table/components/feedBack/progressIndicator/progressIndicator.js.map +0 -1
- package/dist/react-table/components/inputs/textField/textField.js +0 -125
- package/dist/react-table/components/inputs/textField/textField.js.map +0 -1
- package/dist/react-table/components/inputs/textField/textFieldAdornment.js +0 -25
- package/dist/react-table/components/inputs/textField/textFieldAdornment.js.map +0 -1
- package/dist/react-table/components/inputs/textField/textFieldWrapper.js +0 -50
- package/dist/react-table/components/inputs/textField/textFieldWrapper.js.map +0 -1
- package/dist/react-table/components/inputs/textField/utils.js +0 -11
- package/dist/react-table/components/inputs/textField/utils.js.map +0 -1
- package/dist/react-table/connects/rt/table/draggableHeader.js.map +0 -1
- package/dist/react-table/connects/rt/table/headerCellRenderer.js +0 -14
- package/dist/react-table/connects/rt/table/headerCellRenderer.js.map +0 -1
- package/dist/react-table/connects/rt/table/table.js +0 -180
- package/dist/react-table/connects/rt/table/table.js.map +0 -1
- package/dist/react-table/connects/rt/table/utils.js.map +0 -1
- package/dist/react-table/hooks/useForkRef.js +0 -13
- package/dist/react-table/hooks/useForkRef.js.map +0 -1
- package/dist/react-table/hooks/useSafeLayoutEffect.js +0 -6
- package/dist/react-table/hooks/useSafeLayoutEffect.js.map +0 -1
- package/dist/react-table/icons/config.js +0 -9
- package/dist/react-table/icons/config.js.map +0 -1
- package/dist/react-table/icons/registry.js +0 -12
- package/dist/react-table/icons/registry.js.map +0 -1
- package/dist/react-table/icons/store.js +0 -10
- package/dist/react-table/icons/store.js.map +0 -1
- package/dist/react-table/utils/setRef.js +0 -7
- package/dist/react-table/utils/setRef.js.map +0 -1
- package/dist/storybook/storyPlay.d.ts +0 -28
- /package/dist/{react-table/connects → connects}/rt/table/draggableHeader.js +0 -0
- /package/dist/{react-table/connects → connects}/rt/table/utils.js +0 -0
- /package/dist/{react-table/react-table.js → react-table.js} +0 -0
- /package/dist/{react-table/react-table.js.map → react-table.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pagination.js","sources":["../../../../../src/components/navigation/pagination/pagination.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, KeyboardEvent, useRef } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\n\nexport type PaginationColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, \"onChange\"> {\n className?: string;\n /** Total number of pages. */\n count: number;\n /** Current page (1-based). */\n page: number;\n /** Pages shown on each side of the current page. */\n siblingCount?: number;\n /** Pages always shown at the start and end. */\n boundaryCount?: number;\n size?: \"small\" | \"medium\";\n /** Item style. */\n variant?: \"filled\" | \"outlined\";\n /** Item shape. */\n shape?: \"rounded\" | \"circular\";\n color?: PaginationColor;\n disabled?: boolean;\n showFirstButton?: boolean;\n showLastButton?: boolean;\n hidePrevButton?: boolean;\n hideNextButton?: boolean;\n onChange?: (page: number) => void;\n}\n\ntype PaginationItem = number | \"start-ellipsis\" | \"end-ellipsis\";\n\nconst range = (start: number, end: number): number[] =>\n Array.from({ length: Math.max(end - start + 1, 0) }, (_, i) => start + i);\n\nconst buildItems = (count: number, page: number, siblingCount: number, boundaryCount: number): PaginationItem[] => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : count - 1\n );\n\n return [\n ...startPages,\n ...(siblingsStart > boundaryCount + 2\n ? ([\"start-ellipsis\"] as PaginationItem[])\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n ...range(siblingsStart, siblingsEnd),\n ...(siblingsEnd < count - boundaryCount - 1\n ? ([\"end-ellipsis\"] as PaginationItem[])\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n ...endPages,\n ];\n};\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(function Pagination(\n {\n className,\n count,\n page,\n siblingCount = 1,\n boundaryCount = 1,\n size = \"medium\",\n variant = \"filled\",\n shape = \"circular\",\n color = \"default\",\n disabled = false,\n showFirstButton = false,\n showLastButton = false,\n hidePrevButton = false,\n hideNextButton = false,\n onChange,\n ...props\n },\n ref\n) {\n const navRef = useRef<HTMLElement>(null);\n const mergedRef = useForkRef<HTMLElement>(ref, navRef);\n\n const go = (target: number) => {\n if (disabled || target === page || target < 1 || target > count) {\n return;\n }\n onChange?.(target);\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLUListElement>) => {\n if (![\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(e.key)) {\n return;\n }\n const buttons = Array.from(\n navRef.current?.querySelectorAll<HTMLButtonElement>(\"button.smwb-pagination__item:not(:disabled)\") ?? []\n );\n if (buttons.length === 0) {\n return;\n }\n const current = buttons.indexOf(document.activeElement as HTMLButtonElement);\n let next = current;\n if (e.key === \"ArrowRight\") next = Math.min(current + 1, buttons.length - 1);\n else if (e.key === \"ArrowLeft\") next = Math.max(current - 1, 0);\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = buttons.length - 1;\n e.preventDefault();\n buttons[next]?.focus();\n };\n\n const items = buildItems(count, page, siblingCount, boundaryCount);\n\n const navButton = (key: string, label: string, target: number, iconName: string, hidden?: boolean) =>\n hidden ? null : (\n <li key={key}>\n <button\n type=\"button\"\n className=\"smwb-pagination__item smwb-pagination__nav\"\n aria-label={label}\n disabled={disabled || target < 1 || target > count}\n onClick={() => go(target)}\n >\n <Icon name={iconName} size={size === \"small\" ? 16 : 18} />\n </button>\n </li>\n );\n\n return (\n <nav\n {...props}\n ref={mergedRef}\n data-testid=\"pagination\"\n aria-label=\"pagination\"\n className={cn(\n \"smwb-pagination\",\n `smwb-pagination_${size}`,\n `smwb-pagination_${variant}`,\n `smwb-pagination_shape-${shape}`,\n color !== \"default\" && `smwb-pagination_color-${color}`,\n { \"smwb-pagination_disabled\": disabled },\n className\n )}\n >\n <ul className=\"smwb-pagination__list\" onKeyDown={onKeyDown}>\n {navButton(\"first\", \"First page\", 1, \"first_page\", !showFirstButton)}\n {navButton(\"prev\", \"Previous page\", page - 1, \"chevron_left\", hidePrevButton)}\n {items.map((item, index) =>\n typeof item === \"number\" ? (\n <li key={item}>\n <button\n type=\"button\"\n className={cn(\"smwb-pagination__item\", { \"smwb-pagination__item_selected\": item === page })}\n aria-current={item === page ? \"page\" : undefined}\n disabled={disabled}\n onClick={() => go(item)}\n >\n {item}\n </button>\n </li>\n ) : (\n <li key={`${item}-${index}`} className=\"smwb-pagination__ellipsis\" aria-hidden=\"true\">\n …\n </li>\n )\n )}\n {navButton(\"next\", \"Next page\", page + 1, \"chevron_right\", hideNextButton)}\n {navButton(\"last\", \"Last page\", count, \"last_page\", !showLastButton)}\n </ul>\n </nav>\n );\n});\n\nexport default Pagination;\n"],"names":["range","start","end","_","i","buildItems","count","page","siblingCount","boundaryCount","startPages","endPages","siblingsStart","siblingsEnd","Pagination","forwardRef","className","size","variant","shape","color","disabled","showFirstButton","showLastButton","hidePrevButton","hideNextButton","onChange","props","ref","navRef","useRef","mergedRef","useForkRef","go","target","onKeyDown","e","buttons","_b","_a","current","next","_c","items","navButton","key","label","iconName","hidden","jsx","Icon","cn","jsxs","item","index"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"pagination.js","sources":["../../../../../src/components/navigation/pagination/pagination.tsx"],"sourcesContent":["import { forwardRef, HTMLAttributes, KeyboardEvent, useRef } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\n\nexport type PaginationColor = \"default\" | \"primary\" | \"secondary\" | \"error\" | \"success\" | \"warning\" | \"info\";\n\nexport interface PaginationProps extends Omit<HTMLAttributes<HTMLElement>, \"onChange\"> {\n className?: string;\n /** Total number of pages. */\n count: number;\n /** Current page (1-based). */\n page: number;\n /** Pages shown on each side of the current page. */\n siblingCount?: number;\n /** Pages always shown at the start and end. */\n boundaryCount?: number;\n size?: \"small\" | \"medium\";\n /** Item style. */\n variant?: \"filled\" | \"outlined\";\n /** Item shape. */\n shape?: \"rounded\" | \"circular\";\n color?: PaginationColor;\n disabled?: boolean;\n showFirstButton?: boolean;\n showLastButton?: boolean;\n hidePrevButton?: boolean;\n hideNextButton?: boolean;\n onChange?: (page: number) => void;\n /** Test id of the root `<nav>`; `pagination` unless given. */\n \"data-testid\"?: string;\n}\n\ntype PaginationItem = number | \"start-ellipsis\" | \"end-ellipsis\";\n\nconst range = (start: number, end: number): number[] =>\n Array.from({ length: Math.max(end - start + 1, 0) }, (_, i) => start + i);\n\nconst buildItems = (count: number, page: number, siblingCount: number, boundaryCount: number): PaginationItem[] => {\n const startPages = range(1, Math.min(boundaryCount, count));\n const endPages = range(Math.max(count - boundaryCount + 1, boundaryCount + 1), count);\n\n const siblingsStart = Math.max(\n Math.min(page - siblingCount, count - boundaryCount - siblingCount * 2 - 1),\n boundaryCount + 2\n );\n const siblingsEnd = Math.min(\n Math.max(page + siblingCount, boundaryCount + siblingCount * 2 + 2),\n endPages.length > 0 ? endPages[0] - 2 : count - 1\n );\n\n return [\n ...startPages,\n ...(siblingsStart > boundaryCount + 2\n ? ([\"start-ellipsis\"] as PaginationItem[])\n : boundaryCount + 1 < count - boundaryCount\n ? [boundaryCount + 1]\n : []),\n ...range(siblingsStart, siblingsEnd),\n ...(siblingsEnd < count - boundaryCount - 1\n ? ([\"end-ellipsis\"] as PaginationItem[])\n : count - boundaryCount > boundaryCount\n ? [count - boundaryCount]\n : []),\n ...endPages,\n ];\n};\n\nexport const Pagination = forwardRef<HTMLElement, PaginationProps>(function Pagination(\n {\n className,\n count,\n page,\n siblingCount = 1,\n boundaryCount = 1,\n size = \"medium\",\n variant = \"filled\",\n shape = \"circular\",\n color = \"default\",\n disabled = false,\n showFirstButton = false,\n showLastButton = false,\n hidePrevButton = false,\n hideNextButton = false,\n onChange,\n \"data-testid\": dataTestId = \"pagination\",\n ...props\n },\n ref\n) {\n const navRef = useRef<HTMLElement>(null);\n const mergedRef = useForkRef<HTMLElement>(ref, navRef);\n\n const go = (target: number) => {\n if (disabled || target === page || target < 1 || target > count) {\n return;\n }\n onChange?.(target);\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLUListElement>) => {\n if (![\"ArrowLeft\", \"ArrowRight\", \"Home\", \"End\"].includes(e.key)) {\n return;\n }\n const buttons = Array.from(\n navRef.current?.querySelectorAll<HTMLButtonElement>(\"button.smwb-pagination__item:not(:disabled)\") ?? []\n );\n if (buttons.length === 0) {\n return;\n }\n const current = buttons.indexOf(document.activeElement as HTMLButtonElement);\n let next = current;\n if (e.key === \"ArrowRight\") next = Math.min(current + 1, buttons.length - 1);\n else if (e.key === \"ArrowLeft\") next = Math.max(current - 1, 0);\n else if (e.key === \"Home\") next = 0;\n else if (e.key === \"End\") next = buttons.length - 1;\n e.preventDefault();\n buttons[next]?.focus();\n };\n\n const items = buildItems(count, page, siblingCount, boundaryCount);\n\n const navButton = (key: string, label: string, target: number, iconName: string, hidden?: boolean) =>\n hidden ? null : (\n <li key={key}>\n <button\n type=\"button\"\n className=\"smwb-pagination__item smwb-pagination__nav\"\n aria-label={label}\n disabled={disabled || target < 1 || target > count}\n onClick={() => go(target)}\n >\n <Icon name={iconName} size={size === \"small\" ? 16 : 18} />\n </button>\n </li>\n );\n\n return (\n <nav\n {...props}\n ref={mergedRef}\n data-testid={dataTestId}\n // A default the caller's own replaces, to name it in their language; an\n // explicit undefined keeps it.\n aria-label={props[\"aria-label\"] ?? \"pagination\"}\n className={cn(\n \"smwb-pagination\",\n `smwb-pagination_${size}`,\n `smwb-pagination_${variant}`,\n `smwb-pagination_shape-${shape}`,\n color !== \"default\" && `smwb-pagination_color-${color}`,\n { \"smwb-pagination_disabled\": disabled },\n className\n )}\n >\n <ul className=\"smwb-pagination__list\" onKeyDown={onKeyDown}>\n {navButton(\"first\", \"First page\", 1, \"first_page\", !showFirstButton)}\n {navButton(\"prev\", \"Previous page\", page - 1, \"chevron_left\", hidePrevButton)}\n {items.map((item, index) =>\n typeof item === \"number\" ? (\n <li key={item}>\n <button\n type=\"button\"\n className={cn(\"smwb-pagination__item\", { \"smwb-pagination__item_selected\": item === page })}\n aria-current={item === page ? \"page\" : undefined}\n disabled={disabled}\n onClick={() => go(item)}\n >\n {item}\n </button>\n </li>\n ) : (\n <li key={`${item}-${index}`} className=\"smwb-pagination__ellipsis\" aria-hidden=\"true\">\n …\n </li>\n )\n )}\n {navButton(\"next\", \"Next page\", page + 1, \"chevron_right\", hideNextButton)}\n {navButton(\"last\", \"Last page\", count, \"last_page\", !showLastButton)}\n </ul>\n </nav>\n );\n});\n\nexport default Pagination;\n"],"names":["range","start","end","_","i","buildItems","count","page","siblingCount","boundaryCount","startPages","endPages","siblingsStart","siblingsEnd","Pagination","forwardRef","className","size","variant","shape","color","disabled","showFirstButton","showLastButton","hidePrevButton","hideNextButton","onChange","dataTestId","props","ref","navRef","useRef","mergedRef","useForkRef","go","target","onKeyDown","e","buttons","_b","_a","current","next","_c","items","navButton","key","label","iconName","hidden","jsx","Icon","cn","jsxs","item","index"],"mappings":"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"}
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { Ripple as
|
|
5
|
-
import { Icon as
|
|
6
|
-
import { useControllableState as
|
|
7
|
-
const
|
|
1
|
+
import { jsxs as S, jsx as e } from "react/jsx-runtime";
|
|
2
|
+
import V, { forwardRef as g, useState as x } from "react";
|
|
3
|
+
import k from "clsx";
|
|
4
|
+
import { Ripple as z } from "../../base/ripple/ripple.js";
|
|
5
|
+
import { Icon as $ } from "../../base/icon/icon.js";
|
|
6
|
+
import { useControllableState as q } from "../../../hooks/useControllableState.js";
|
|
7
|
+
const M = g(function({
|
|
8
8
|
className: o,
|
|
9
9
|
variant: d = "default",
|
|
10
10
|
menuItems: s,
|
|
@@ -16,23 +16,24 @@ const L = V(function({
|
|
|
16
16
|
defaultCollapsed: p = !1,
|
|
17
17
|
onCollapsedChange: _,
|
|
18
18
|
collapseToggleAriaLabel: v = "Toggle navigation",
|
|
19
|
-
...
|
|
19
|
+
...u
|
|
20
20
|
}, r) {
|
|
21
|
-
|
|
21
|
+
var N;
|
|
22
|
+
const i = f !== void 0, [y, C] = x(t), E = i ? f : y, [c, T] = q({
|
|
22
23
|
value: m,
|
|
23
24
|
defaultValue: p,
|
|
24
25
|
onChange: _
|
|
25
26
|
}), h = l && c ? "compactMini" : d;
|
|
26
|
-
return /* @__PURE__ */
|
|
27
|
+
return /* @__PURE__ */ S(
|
|
27
28
|
"aside",
|
|
28
29
|
{
|
|
29
30
|
ref: r,
|
|
30
|
-
className:
|
|
31
|
+
className: k("smwb-sidebar", o, `smwb-${h}`, {
|
|
31
32
|
"smwb-sidebar_collapsible": l,
|
|
32
33
|
"smwb-sidebar_collapsed": l && c
|
|
33
34
|
}),
|
|
34
|
-
|
|
35
|
-
|
|
35
|
+
...u,
|
|
36
|
+
role: (N = u.role) != null ? N : "menubar",
|
|
36
37
|
children: [
|
|
37
38
|
l && /* @__PURE__ */ e("div", { className: "smwb-sidebar__collapse", children: /* @__PURE__ */ e(
|
|
38
39
|
"button",
|
|
@@ -41,18 +42,18 @@ const L = V(function({
|
|
|
41
42
|
className: "smwb-sidebar__collapse-btn",
|
|
42
43
|
"aria-label": v,
|
|
43
44
|
"aria-expanded": !c,
|
|
44
|
-
onClick: () =>
|
|
45
|
-
children: /* @__PURE__ */ e(
|
|
45
|
+
onClick: () => T(!c),
|
|
46
|
+
children: /* @__PURE__ */ e($, { name: c ? "chevron_right" : "chevron_left", size: 20 })
|
|
46
47
|
}
|
|
47
48
|
) }),
|
|
48
49
|
/* @__PURE__ */ e("nav", { className: "smwb-sidebar__nav", children: s && (s == null ? void 0 : s.map((a, b) => /* @__PURE__ */ e(
|
|
49
|
-
|
|
50
|
+
B,
|
|
50
51
|
{
|
|
51
52
|
as: a.as,
|
|
52
|
-
isActive:
|
|
53
|
-
onClick: (
|
|
54
|
-
var
|
|
55
|
-
i ||
|
|
53
|
+
isActive: E === b,
|
|
54
|
+
onClick: (j) => {
|
|
55
|
+
var R;
|
|
56
|
+
i || C(b), n == null || n(b), (R = a.onClick) == null || R.call(a, j);
|
|
56
57
|
},
|
|
57
58
|
icon: a.icon,
|
|
58
59
|
title: a.title,
|
|
@@ -65,8 +66,8 @@ const L = V(function({
|
|
|
65
66
|
}
|
|
66
67
|
);
|
|
67
68
|
});
|
|
68
|
-
function
|
|
69
|
-
isActive:
|
|
69
|
+
function B({
|
|
70
|
+
isActive: w,
|
|
70
71
|
icon: o,
|
|
71
72
|
title: d,
|
|
72
73
|
as: s = "div",
|
|
@@ -75,18 +76,18 @@ function q({
|
|
|
75
76
|
variant: n,
|
|
76
77
|
...l
|
|
77
78
|
}) {
|
|
78
|
-
const m =
|
|
79
|
+
const m = V.useRef(null), p = (r) => {
|
|
79
80
|
t == null || t(r);
|
|
80
81
|
}, _ = (r) => {
|
|
81
82
|
var i;
|
|
82
83
|
(i = m.current) == null || i.onRipple(r);
|
|
83
|
-
}, v = /* @__PURE__ */ e(
|
|
84
|
-
return /* @__PURE__ */
|
|
84
|
+
}, v = /* @__PURE__ */ e(z, { actionRef: m });
|
|
85
|
+
return /* @__PURE__ */ S(
|
|
85
86
|
s,
|
|
86
87
|
{
|
|
87
88
|
href: f,
|
|
88
89
|
role: "menuitem",
|
|
89
|
-
className:
|
|
90
|
+
className: k("sidebar__nav__item", "smwb-nav-item", n, { active: w }),
|
|
90
91
|
onMouseDown: p,
|
|
91
92
|
onPointerDown: _,
|
|
92
93
|
...l,
|
|
@@ -99,7 +100,7 @@ function q({
|
|
|
99
100
|
);
|
|
100
101
|
}
|
|
101
102
|
export {
|
|
102
|
-
|
|
103
|
-
|
|
103
|
+
M as Sidebar,
|
|
104
|
+
M as default
|
|
104
105
|
};
|
|
105
106
|
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../../../src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["import React, { forwardRef, useState } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport Icon from \"../../base/icon/icon\";\nimport { useControllableState } from \"../../../hooks/useControllableState\";\n\nexport interface SidebarProps extends React.HTMLAttributes<HTMLElement> {\n className?: string;\n variant?: \"compact\" | \"default\" | \"compactMini\";\n menuItems?: MenuItemProps[];\n /** Controlled index of the active menu item. */\n activeItem?: number | null;\n /** Default active index (uncontrolled). */\n defaultActiveItem?: number | null;\n /** Called with the index of the activated item. */\n onActiveItemChange?: (index: number) => void;\n /** Render a built-in toggle that collapses the rail to an icon-only mini rail. */\n collapsible?: boolean;\n /** Controlled collapsed state. */\n collapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onCollapsedChange?: (collapsed: boolean) => void;\n /** Accessible label for the built-in collapse toggle. */\n collapseToggleAriaLabel?: string;\n}\n\nexport const Sidebar = forwardRef<HTMLElement, SidebarProps>(function Sidebar(\n {\n className,\n variant = \"default\",\n menuItems,\n activeItem: activeItemProp,\n defaultActiveItem = null,\n onActiveItemChange,\n collapsible = false,\n collapsed: collapsedProp,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseToggleAriaLabel = \"Toggle navigation\",\n ...rest\n },\n ref\n) {\n const isControlled = activeItemProp !== undefined;\n const [activeItemState, setActiveItemState] = useState<number | null>(defaultActiveItem);\n const activeItem = isControlled ? activeItemProp : activeItemState;\n\n const [collapsed, setCollapsed] = useControllableState<boolean>({\n value: collapsedProp,\n defaultValue: defaultCollapsed,\n onChange: onCollapsedChange,\n });\n\n // When collapsed the rail always shows the icon-only mini variant,\n // otherwise it honours the requested variant.\n const effectiveVariant = collapsible && collapsed ? \"compactMini\" : variant;\n\n return (\n <aside\n ref={ref}\n className={cn(\"smwb-sidebar\", className, `smwb-${effectiveVariant}`, {\n \"smwb-sidebar_collapsible\": collapsible,\n \"smwb-sidebar_collapsed\": collapsible && collapsed,\n })}\n role
|
|
1
|
+
{"version":3,"file":"sidebar.js","sources":["../../../../../src/components/navigation/sidebar/sidebar.tsx"],"sourcesContent":["import React, { forwardRef, useState } from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport Icon from \"../../base/icon/icon\";\nimport { useControllableState } from \"../../../hooks/useControllableState\";\n\nexport interface SidebarProps extends React.HTMLAttributes<HTMLElement> {\n className?: string;\n variant?: \"compact\" | \"default\" | \"compactMini\";\n menuItems?: MenuItemProps[];\n /** Controlled index of the active menu item. */\n activeItem?: number | null;\n /** Default active index (uncontrolled). */\n defaultActiveItem?: number | null;\n /** Called with the index of the activated item. */\n onActiveItemChange?: (index: number) => void;\n /** Render a built-in toggle that collapses the rail to an icon-only mini rail. */\n collapsible?: boolean;\n /** Controlled collapsed state. */\n collapsed?: boolean;\n /** Initial collapsed state (uncontrolled). */\n defaultCollapsed?: boolean;\n /** Called whenever the collapsed state changes. */\n onCollapsedChange?: (collapsed: boolean) => void;\n /** Accessible label for the built-in collapse toggle. */\n collapseToggleAriaLabel?: string;\n}\n\nexport const Sidebar = forwardRef<HTMLElement, SidebarProps>(function Sidebar(\n {\n className,\n variant = \"default\",\n menuItems,\n activeItem: activeItemProp,\n defaultActiveItem = null,\n onActiveItemChange,\n collapsible = false,\n collapsed: collapsedProp,\n defaultCollapsed = false,\n onCollapsedChange,\n collapseToggleAriaLabel = \"Toggle navigation\",\n ...rest\n },\n ref\n) {\n const isControlled = activeItemProp !== undefined;\n const [activeItemState, setActiveItemState] = useState<number | null>(defaultActiveItem);\n const activeItem = isControlled ? activeItemProp : activeItemState;\n\n const [collapsed, setCollapsed] = useControllableState<boolean>({\n value: collapsedProp,\n defaultValue: defaultCollapsed,\n onChange: onCollapsedChange,\n });\n\n // When collapsed the rail always shows the icon-only mini variant,\n // otherwise it honours the requested variant.\n const effectiveVariant = collapsible && collapsed ? \"compactMini\" : variant;\n\n return (\n <aside\n ref={ref}\n className={cn(\"smwb-sidebar\", className, `smwb-${effectiveVariant}`, {\n \"smwb-sidebar_collapsible\": collapsible,\n \"smwb-sidebar_collapsed\": collapsible && collapsed,\n })}\n {...rest}\n // A default: the caller's own wins, and an explicit undefined keeps it.\n role={rest.role ?? \"menubar\"}\n >\n {collapsible && (\n <div className=\"smwb-sidebar__collapse\">\n <button\n type=\"button\"\n className=\"smwb-sidebar__collapse-btn\"\n aria-label={collapseToggleAriaLabel}\n aria-expanded={!collapsed}\n onClick={() => setCollapsed(!collapsed)}\n >\n <Icon name={collapsed ? \"chevron_right\" : \"chevron_left\"} size={20} />\n </button>\n </div>\n )}\n <nav className=\"smwb-sidebar__nav\">\n {menuItems &&\n menuItems?.map((item, idx) => (\n <MenuItem\n key={idx}\n as={item.as}\n isActive={activeItem === idx}\n onClick={(e) => {\n if (!isControlled) {\n setActiveItemState(idx);\n }\n onActiveItemChange?.(idx);\n item.onClick?.(e);\n }}\n icon={item.icon}\n title={item.title}\n href={item.href}\n variant={effectiveVariant}\n />\n ))}\n </nav>\n </aside>\n );\n});\n\nexport default Sidebar;\n\nexport interface MenuItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title: string;\n isActive?: boolean;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n as?: React.ElementType;\n href?: string;\n variant?: \"compact\" | \"default\" | \"compactMini\";\n}\n\nfunction MenuItem({\n isActive,\n icon,\n title,\n as = \"div\",\n href,\n onMouseDown: onMouseDownProp,\n variant,\n ...rest\n}: MenuItemProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseDownProp?.(event);\n };\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n rippleRef.current?.onRipple(event);\n };\n\n const rippleElement = <Ripple actionRef={rippleRef} />;\n\n const ElementType = as;\n\n return (\n <ElementType\n href={href}\n role=\"menuitem\"\n className={cn(\"sidebar__nav__item\", \"smwb-nav-item\", variant, { active: isActive })}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {icon && <span className=\"smwb-nav-item__icon\">{icon}</span>}\n {title && <span className=\"smwb-nav-item__title\">{title}</span>}\n {rippleElement}\n </ElementType>\n );\n}\n"],"names":["Sidebar","forwardRef","className","variant","menuItems","activeItemProp","defaultActiveItem","onActiveItemChange","collapsible","collapsedProp","defaultCollapsed","onCollapsedChange","collapseToggleAriaLabel","rest","ref","isControlled","activeItemState","setActiveItemState","useState","activeItem","collapsed","setCollapsed","useControllableState","effectiveVariant","jsxs","cn","_a","jsx","Icon","item","idx","MenuItem","e","isActive","icon","title","as","href","onMouseDownProp","rippleRef","React","onMouseDown","event","onPointerDown","rippleElement","Ripple"],"mappings":"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"}
|
|
@@ -1,57 +1,68 @@
|
|
|
1
|
-
import { jsx as s, jsxs as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import
|
|
4
|
-
import { Icon as
|
|
5
|
-
const
|
|
6
|
-
|
|
1
|
+
import { jsx as s, jsxs as i } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as z, Fragment as D } from "react";
|
|
3
|
+
import h from "clsx";
|
|
4
|
+
import { Icon as j } from "../../base/icon/icon.js";
|
|
5
|
+
const A = 12, B = z(function({
|
|
6
|
+
className: u,
|
|
7
|
+
steps: p,
|
|
8
|
+
activeStep: m,
|
|
9
|
+
orientation: l = "horizontal",
|
|
10
|
+
alternativeLabel: v = !1,
|
|
11
|
+
onStepClick: a,
|
|
12
|
+
"data-testid": f = "stepper",
|
|
13
|
+
...n
|
|
14
|
+
}, N) {
|
|
15
|
+
const o = l === "auto", c = /* @__PURE__ */ s(
|
|
7
16
|
"div",
|
|
8
17
|
{
|
|
9
|
-
...
|
|
10
|
-
ref:
|
|
11
|
-
"data-testid":
|
|
12
|
-
|
|
18
|
+
...n,
|
|
19
|
+
ref: N,
|
|
20
|
+
"data-testid": f,
|
|
21
|
+
"data-steps": o ? String(Math.min(p.length, A)) : n["data-steps"],
|
|
22
|
+
className: h(
|
|
13
23
|
"smwb-stepper",
|
|
14
|
-
`smwb-stepper_${l}`,
|
|
15
|
-
{ "smwb-stepper_alt-label":
|
|
16
|
-
|
|
24
|
+
o ? "smwb-stepper_horizontal smwb-stepper_auto" : `smwb-stepper_${l}`,
|
|
25
|
+
{ "smwb-stepper_alt-label": v && l !== "vertical" },
|
|
26
|
+
u
|
|
17
27
|
),
|
|
18
|
-
children:
|
|
19
|
-
var
|
|
20
|
-
const
|
|
21
|
-
t && (
|
|
28
|
+
children: p.map((e, r) => {
|
|
29
|
+
var w;
|
|
30
|
+
const _ = r < m, b = r === m, g = r === p.length - 1, t = !!a && !e.disabled, y = (d) => {
|
|
31
|
+
t && (d.key === "Enter" || d.key === " ") && (d.preventDefault(), a == null || a(r));
|
|
22
32
|
};
|
|
23
|
-
return /* @__PURE__ */
|
|
24
|
-
/* @__PURE__ */
|
|
33
|
+
return /* @__PURE__ */ i(D, { children: [
|
|
34
|
+
/* @__PURE__ */ i(
|
|
25
35
|
"div",
|
|
26
36
|
{
|
|
27
|
-
className:
|
|
28
|
-
"smwb-stepper__step_active":
|
|
29
|
-
"smwb-stepper__step_completed":
|
|
37
|
+
className: h("smwb-stepper__step", {
|
|
38
|
+
"smwb-stepper__step_active": b,
|
|
39
|
+
"smwb-stepper__step_completed": _,
|
|
30
40
|
"smwb-stepper__step_error": e.error,
|
|
31
41
|
"smwb-stepper__step_disabled": e.disabled,
|
|
32
42
|
"smwb-stepper__step_clickable": t
|
|
33
43
|
}),
|
|
34
|
-
"aria-current":
|
|
44
|
+
"aria-current": b ? "step" : void 0,
|
|
35
45
|
"aria-disabled": e.disabled || void 0,
|
|
36
46
|
role: t ? "button" : void 0,
|
|
37
47
|
tabIndex: t ? 0 : void 0,
|
|
38
|
-
onClick: t ? () =>
|
|
39
|
-
onKeyDown: t ?
|
|
48
|
+
onClick: t ? () => a == null ? void 0 : a(r) : void 0,
|
|
49
|
+
onKeyDown: t ? y : void 0,
|
|
40
50
|
children: [
|
|
41
|
-
/* @__PURE__ */ s("div", { className: "smwb-stepper__icon", "aria-hidden": "true", children: (
|
|
42
|
-
/* @__PURE__ */
|
|
51
|
+
/* @__PURE__ */ s("div", { className: "smwb-stepper__icon", "aria-hidden": "true", children: (w = e.icon) != null ? w : _ ? /* @__PURE__ */ s(j, { name: "check", size: 16 }) : /* @__PURE__ */ s("span", { children: r + 1 }) }),
|
|
52
|
+
/* @__PURE__ */ i("div", { className: "smwb-stepper__text", children: [
|
|
43
53
|
/* @__PURE__ */ s("span", { className: "smwb-stepper__label", children: e.label }),
|
|
44
54
|
e.optional ? /* @__PURE__ */ s("span", { className: "smwb-stepper__optional", children: e.optional }) : null,
|
|
45
|
-
e.description
|
|
55
|
+
e.description ? /* @__PURE__ */ s("span", { className: "smwb-stepper__description", children: e.description }) : null
|
|
46
56
|
] })
|
|
47
57
|
]
|
|
48
58
|
}
|
|
49
59
|
),
|
|
50
|
-
|
|
51
|
-
] },
|
|
60
|
+
g ? null : /* @__PURE__ */ s("div", { className: "smwb-stepper__connector", "aria-hidden": "true" })
|
|
61
|
+
] }, r);
|
|
52
62
|
})
|
|
53
63
|
}
|
|
54
64
|
);
|
|
65
|
+
return o ? /* @__PURE__ */ s("div", { className: "smwb-stepper-auto", children: c }) : c;
|
|
55
66
|
});
|
|
56
67
|
export {
|
|
57
68
|
B as Stepper,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"stepper.js","sources":["../../../../../src/components/navigation/stepper/stepper.tsx"],"sourcesContent":["import { forwardRef, Fragment, HTMLAttributes, KeyboardEvent, ReactNode } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\n\nexport interface StepItem {\n label: ReactNode;\n description?: ReactNode;\n optional?: ReactNode;\n /** Marks the step as errored. */\n error?: boolean;\n /** Disables interaction with the step. */\n disabled?: boolean;\n /** Custom icon overriding the default number/check. */\n icon?: ReactNode;\n}\n\nexport interface StepperProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n steps: StepItem[];\n /** Index of the active (current) step. */\n activeStep: number;\n orientation?:
|
|
1
|
+
{"version":3,"file":"stepper.js","sources":["../../../../../src/components/navigation/stepper/stepper.tsx"],"sourcesContent":["import { forwardRef, Fragment, HTMLAttributes, KeyboardEvent, ReactNode } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\n\nexport interface StepItem {\n label: ReactNode;\n /** Longer text under the label, in every orientation. */\n description?: ReactNode;\n optional?: ReactNode;\n /** Marks the step as errored. */\n error?: boolean;\n /** Disables interaction with the step. */\n disabled?: boolean;\n /** Custom icon overriding the default number/check. */\n icon?: ReactNode;\n}\n\n/**\n * `auto` lays the steps out in a row while the stepper's container is wide\n * enough for them — about 8rem per step, a theme variable — and in a column when\n * it is not. It is a CSS container query, so the server renders the same markup\n * and nothing changes on hydration.\n */\nexport type StepperOrientation = \"horizontal\" | \"vertical\" | \"auto\";\n\ntype DataAttributes = Record<`data-${string}`, unknown>;\n\nexport interface StepperProps extends HTMLAttributes<HTMLDivElement> {\n className?: string;\n steps: StepItem[];\n /** Index of the active (current) step. */\n activeStep: number;\n orientation?: StepperOrientation;\n /** Place the label under the icon (in a row: horizontal, or auto while wide). */\n alternativeLabel?: boolean;\n /** Makes steps clickable; receives the clicked step index. */\n onStepClick?: (index: number) => void;\n /** Test id of the stepper `<div>`; `stepper` unless given. */\n \"data-testid\"?: string;\n}\n\n/** Step counts with their own `auto` breakpoint; longer steppers use the last one. */\nconst AUTO_MAX_STEPS = 12;\n\nexport const Stepper = forwardRef<HTMLDivElement, StepperProps>(function Stepper(\n {\n className,\n steps,\n activeStep,\n orientation = \"horizontal\",\n alternativeLabel = false,\n onStepClick,\n \"data-testid\": dataTestId = \"stepper\",\n ...props\n },\n ref\n) {\n const auto = orientation === \"auto\";\n const stepper = (\n <div\n {...props}\n ref={ref}\n data-testid={dataTestId}\n // The auto layout's step count wins; without it, the caller's data-steps stays.\n data-steps={auto ? String(Math.min(steps.length, AUTO_MAX_STEPS)) : (props as DataAttributes)[\"data-steps\"]}\n className={cn(\n \"smwb-stepper\",\n auto ? \"smwb-stepper_horizontal smwb-stepper_auto\" : `smwb-stepper_${orientation}`,\n { \"smwb-stepper_alt-label\": alternativeLabel && orientation !== \"vertical\" },\n className\n )}\n >\n {steps.map((step, index) => {\n const completed = index < activeStep;\n const active = index === activeStep;\n const isLast = index === steps.length - 1;\n const clickable = Boolean(onStepClick) && !step.disabled;\n\n const onStepKeyDown = (event: KeyboardEvent<HTMLDivElement>) => {\n if (clickable && (event.key === \"Enter\" || event.key === \" \")) {\n event.preventDefault();\n onStepClick?.(index);\n }\n };\n\n return (\n <Fragment key={index}>\n <div\n className={cn(\"smwb-stepper__step\", {\n \"smwb-stepper__step_active\": active,\n \"smwb-stepper__step_completed\": completed,\n \"smwb-stepper__step_error\": step.error,\n \"smwb-stepper__step_disabled\": step.disabled,\n \"smwb-stepper__step_clickable\": clickable,\n })}\n aria-current={active ? \"step\" : undefined}\n aria-disabled={step.disabled || undefined}\n role={clickable ? \"button\" : undefined}\n tabIndex={clickable ? 0 : undefined}\n onClick={clickable ? () => onStepClick?.(index) : undefined}\n onKeyDown={clickable ? onStepKeyDown : undefined}\n >\n <div className=\"smwb-stepper__icon\" aria-hidden=\"true\">\n {step.icon ?? (completed ? <Icon name=\"check\" size={16} /> : <span>{index + 1}</span>)}\n </div>\n <div className=\"smwb-stepper__text\">\n <span className=\"smwb-stepper__label\">{step.label}</span>\n {step.optional ? <span className=\"smwb-stepper__optional\">{step.optional}</span> : null}\n {step.description ? <span className=\"smwb-stepper__description\">{step.description}</span> : null}\n </div>\n </div>\n {!isLast ? <div className=\"smwb-stepper__connector\" aria-hidden=\"true\" /> : null}\n </Fragment>\n );\n })}\n </div>\n );\n\n // `auto` needs a query container around the stepper: its own flex direction is\n // what the container query switches.\n return auto ? <div className=\"smwb-stepper-auto\">{stepper}</div> : stepper;\n});\n\nexport default Stepper;\n"],"names":["AUTO_MAX_STEPS","Stepper","forwardRef","className","steps","activeStep","orientation","alternativeLabel","onStepClick","dataTestId","props","ref","auto","stepper","jsx","cn","step","index","completed","active","isLast","clickable","onStepKeyDown","event","Fragment","jsxs","_a","Icon"],"mappings":";;;;AA0CA,MAAMA,IAAiB,IAEVC,IAAUC,EAAyC,SAC9D;AAAA,EACE,WAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,kBAAAC,IAAmB;AAAA,EACnB,aAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GACAC,GACA;AACA,QAAMC,IAAON,MAAgB,QACvBO,IACJ,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGJ;AAAA,MACJ,KAAAC;AAAA,MACA,eAAaF;AAAA,MAEb,cAAYG,IAAO,OAAO,KAAK,IAAIR,EAAM,QAAQJ,CAAc,CAAC,IAAKU,EAAyB,YAAY;AAAA,MAC1G,WAAWK;AAAA,QACT;AAAA,QACAH,IAAO,8CAA8C,gBAAgBN,CAAW;AAAA,QAChF,EAAE,0BAA0BC,KAAoBD,MAAgB,WAAA;AAAA,QAChEH;AAAA,MAAA;AAAA,MAGD,UAAAC,EAAM,IAAI,CAACY,GAAMC,MAAU;;AAC1B,cAAMC,IAAYD,IAAQZ,GACpBc,IAASF,MAAUZ,GACnBe,IAASH,MAAUb,EAAM,SAAS,GAClCiB,IAAY,EAAQb,KAAgB,CAACQ,EAAK,UAE1CM,IAAgB,CAACC,MAAyC;AAC9D,UAAIF,MAAcE,EAAM,QAAQ,WAAWA,EAAM,QAAQ,SACvDA,EAAM,eAAA,GACNf,KAAA,QAAAA,EAAcS;AAAA,QAElB;AAEA,iCACGO,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAC;AAAA,YAAC;AAAA,YAAA;AAAA,cACC,WAAWV,EAAG,sBAAsB;AAAA,gBAClC,6BAA6BI;AAAA,gBAC7B,gCAAgCD;AAAA,gBAChC,4BAA4BF,EAAK;AAAA,gBACjC,+BAA+BA,EAAK;AAAA,gBACpC,gCAAgCK;AAAA,cAAA,CACjC;AAAA,cACD,gBAAcF,IAAS,SAAS;AAAA,cAChC,iBAAeH,EAAK,YAAY;AAAA,cAChC,MAAMK,IAAY,WAAW;AAAA,cAC7B,UAAUA,IAAY,IAAI;AAAA,cAC1B,SAASA,IAAY,MAAMb,KAAA,gBAAAA,EAAcS,KAAS;AAAA,cAClD,WAAWI,IAAYC,IAAgB;AAAA,cAEvC,UAAA;AAAA,gBAAA,gBAAAR,EAAC,SAAI,WAAU,sBAAqB,eAAY,QAC7C,WAAAY,IAAAV,EAAK,SAAL,OAAAU,IAAcR,IAAY,gBAAAJ,EAACa,KAAK,MAAK,SAAQ,MAAM,GAAA,CAAI,sBAAM,QAAA,EAAM,UAAAV,IAAQ,GAAE,EAAA,CAChF;AAAA,gBACA,gBAAAQ,EAAC,OAAA,EAAI,WAAU,sBACb,UAAA;AAAA,kBAAA,gBAAAX,EAAC,QAAA,EAAK,WAAU,uBAAuB,UAAAE,EAAK,OAAM;AAAA,kBACjDA,EAAK,WAAW,gBAAAF,EAAC,QAAA,EAAK,WAAU,0BAA0B,UAAAE,EAAK,UAAS,IAAU;AAAA,kBAClFA,EAAK,cAAc,gBAAAF,EAAC,QAAA,EAAK,WAAU,6BAA6B,UAAAE,EAAK,aAAY,IAAU;AAAA,gBAAA,EAAA,CAC9F;AAAA,cAAA;AAAA,YAAA;AAAA,UAAA;AAAA,UAEAI,IAA0E,OAAjE,gBAAAN,EAAC,OAAA,EAAI,WAAU,2BAA0B,eAAY,QAAO;AAAA,QAAK,EAAA,GAzB/DG,CA0Bf;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EAAA;AAML,SAAOL,IAAO,gBAAAE,EAAC,OAAA,EAAI,WAAU,qBAAqB,aAAQ,IAASD;AACrE,CAAC;"}
|
|
@@ -1,53 +1,55 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { Ripple as
|
|
5
|
-
const
|
|
1
|
+
import { jsxs as f, jsx as l } from "react/jsx-runtime";
|
|
2
|
+
import p from "react";
|
|
3
|
+
import j from "clsx";
|
|
4
|
+
import { Ripple as k } from "../../../base/ripple/ripple.js";
|
|
5
|
+
const g = p.forwardRef(function(w, u) {
|
|
6
6
|
const {
|
|
7
|
-
className:
|
|
7
|
+
className: R,
|
|
8
8
|
label: o,
|
|
9
|
-
isActive:
|
|
10
|
-
contentRef:
|
|
11
|
-
icon:
|
|
12
|
-
stacked:
|
|
13
|
-
tag:
|
|
14
|
-
disabled:
|
|
15
|
-
onMouseDown:
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
}, x = (
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
"smwb-tab--
|
|
9
|
+
isActive: e = !1,
|
|
10
|
+
contentRef: _,
|
|
11
|
+
icon: i,
|
|
12
|
+
stacked: h = !1,
|
|
13
|
+
tag: s,
|
|
14
|
+
disabled: t,
|
|
15
|
+
onMouseDown: n,
|
|
16
|
+
// The tab sets this on its root too; its own handler calls the caller's first.
|
|
17
|
+
onPointerDown: c,
|
|
18
|
+
...b
|
|
19
|
+
} = w, r = p.useRef(null), x = (a) => {
|
|
20
|
+
n == null || n(a);
|
|
21
|
+
}, N = (a) => {
|
|
22
|
+
var m;
|
|
23
|
+
c == null || c(a), (m = r.current) == null || m.onRipple(a);
|
|
24
|
+
}, d = s != null ? s : s || "button", T = j("smwb-tab", R, {
|
|
25
|
+
"smwb-tab--active": e,
|
|
26
|
+
"smwb-tab--stacked": h,
|
|
27
|
+
"smwb-tab--disabled": t
|
|
26
28
|
});
|
|
27
|
-
return /* @__PURE__ */
|
|
28
|
-
|
|
29
|
+
return /* @__PURE__ */ f(
|
|
30
|
+
d,
|
|
29
31
|
{
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
...b,
|
|
33
|
+
ref: u,
|
|
34
|
+
className: T,
|
|
35
|
+
onMouseDown: x,
|
|
36
|
+
onPointerDown: N,
|
|
34
37
|
role: "tab",
|
|
35
|
-
"aria-selected":
|
|
36
|
-
"aria-disabled":
|
|
37
|
-
tabIndex:
|
|
38
|
-
disabled:
|
|
39
|
-
..._,
|
|
38
|
+
"aria-selected": e,
|
|
39
|
+
"aria-disabled": t || b["aria-disabled"],
|
|
40
|
+
tabIndex: e ? 0 : -1,
|
|
41
|
+
disabled: d === "button" ? t : void 0,
|
|
40
42
|
children: [
|
|
41
|
-
/* @__PURE__ */
|
|
42
|
-
|
|
43
|
-
o && /* @__PURE__ */
|
|
43
|
+
/* @__PURE__ */ f("span", { className: "smwb-tab__content", ref: _, children: [
|
|
44
|
+
i && /* @__PURE__ */ l("span", { className: "smwb-tab__icon", children: i }),
|
|
45
|
+
o && /* @__PURE__ */ l("span", { className: "smwb-tab__text-label", children: o })
|
|
44
46
|
] }),
|
|
45
|
-
/* @__PURE__ */
|
|
47
|
+
/* @__PURE__ */ l(k, { actionRef: r, classes: { child: "tab__ripple-child" } })
|
|
46
48
|
]
|
|
47
49
|
}
|
|
48
50
|
);
|
|
49
51
|
});
|
|
50
52
|
export {
|
|
51
|
-
|
|
53
|
+
g as Tab
|
|
52
54
|
};
|
|
53
55
|
//# sourceMappingURL=tab.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tab.js","sources":["../../../../../../src/components/navigation/tabs/tab/tab.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../../base/ripple/ripple\";\n\nexport interface TabProps extends React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n label?: string | React.ReactNode;\n isActive?: boolean;\n contentRef?: React.Ref<unknown>;\n icon?: React.ReactNode;\n stacked?: boolean;\n tag?: React.ElementType;\n disabled?: boolean;\n}\n\nexport const Tab = React.forwardRef<HTMLButtonElement | HTMLAnchorElement, TabProps>(function Tab(props, ref) {\n const {\n className,\n label,\n isActive = false,\n contentRef,\n icon,\n stacked = false,\n tag,\n disabled,\n onMouseDown: onMouseDownProp,\n ...rest\n } = props;\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n onMouseDownProp?.(event);\n };\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n rippleRef.current?.onRipple(event);\n };\n\n const Tag = tag ?? (tag || \"button\");\n const classes = cn(\"smwb-tab\", className, {\n \"smwb-tab--active\": isActive,\n \"smwb-tab--stacked\": stacked,\n \"smwb-tab--disabled\": disabled,\n });\n\n return (\n <Tag\n ref={ref}\n className={classes}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n role={\"tab\"}\n aria-selected={isActive}\n aria-disabled={disabled ||
|
|
1
|
+
{"version":3,"file":"tab.js","sources":["../../../../../../src/components/navigation/tabs/tab/tab.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../../base/ripple/ripple\";\n\nexport interface TabProps extends React.HTMLAttributes<HTMLButtonElement | HTMLAnchorElement> {\n label?: string | React.ReactNode;\n isActive?: boolean;\n contentRef?: React.Ref<unknown>;\n icon?: React.ReactNode;\n stacked?: boolean;\n tag?: React.ElementType;\n /** With `tag=\"a\"`: where the link goes, so the tab stays a real link. */\n href?: string;\n disabled?: boolean;\n}\n\nexport const Tab = React.forwardRef<HTMLButtonElement | HTMLAnchorElement, TabProps>(function Tab(props, ref) {\n const {\n className,\n label,\n isActive = false,\n contentRef,\n icon,\n stacked = false,\n tag,\n disabled,\n onMouseDown: onMouseDownProp,\n // The tab sets this on its root too; its own handler calls the caller's first.\n onPointerDown: onPointerDownProp,\n ...rest\n } = props;\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n onMouseDownProp?.(event);\n };\n\n // Ripple on pointerdown so it fires for touch and pen, not just mouse.\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement | HTMLAnchorElement>) => {\n onPointerDownProp?.(event);\n rippleRef.current?.onRipple(event);\n };\n\n const Tag = tag ?? (tag || \"button\");\n const classes = cn(\"smwb-tab\", className, {\n \"smwb-tab--active\": isActive,\n \"smwb-tab--stacked\": stacked,\n \"smwb-tab--disabled\": disabled,\n });\n\n return (\n <Tag\n {...rest}\n ref={ref}\n className={classes}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n // The role, the selection and the roving tabIndex belong to the tab list:\n // they win over the caller's. A tab that is not disabled keeps the\n // caller's aria-disabled.\n role={\"tab\"}\n aria-selected={isActive}\n aria-disabled={disabled || rest[\"aria-disabled\"]}\n tabIndex={isActive ? 0 : -1}\n disabled={Tag === \"button\" ? disabled : undefined}\n >\n <span className=\"smwb-tab__content\" ref={contentRef as React.Ref<HTMLSpanElement>}>\n {icon && <span className=\"smwb-tab__icon\">{icon}</span>}\n {label && <span className=\"smwb-tab__text-label\">{label}</span>}\n </span>\n <Ripple actionRef={rippleRef} classes={{ child: \"tab__ripple-child\" }} />\n </Tag>\n );\n});\n"],"names":["Tab","React","props","ref","className","label","isActive","contentRef","icon","stacked","tag","disabled","onMouseDownProp","onPointerDownProp","rest","rippleRef","onMouseDown","event","onPointerDown","_a","Tag","classes","cn","jsxs","jsx","Ripple"],"mappings":";;;;AAgBO,MAAMA,IAAMC,EAAM,WAA4D,SAAaC,GAAOC,GAAK;AAC5G,QAAM;AAAA,IACJ,WAAAC;AAAA,IACA,OAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,YAAAC;AAAA,IACA,MAAAC;AAAA,IACA,SAAAC,IAAU;AAAA,IACV,KAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAaC;AAAA;AAAA,IAEb,eAAeC;AAAA,IACf,GAAGC;AAAA,EAAA,IACDZ,GACEa,IAAYd,EAAM,OAAyB,IAAI,GAE/Ce,IAAc,CAACC,MAAmE;AACtF,IAAAL,KAAA,QAAAA,EAAkBK;AAAA,EACpB,GAGMC,IAAgB,CAACD,MAAqE;;AAC1F,IAAAJ,KAAA,QAAAA,EAAoBI,KACpBE,IAAAJ,EAAU,YAAV,QAAAI,EAAmB,SAASF;AAAA,EAC9B,GAEMG,IAAMV,KAAA,OAAAA,IAAQA,KAAO,UACrBW,IAAUC,EAAG,YAAYlB,GAAW;AAAA,IACxC,oBAAoBE;AAAA,IACpB,qBAAqBG;AAAA,IACrB,sBAAsBE;AAAA,EAAA,CACvB;AAED,SACE,gBAAAY;AAAA,IAACH;AAAA,IAAA;AAAA,MACE,GAAGN;AAAA,MACJ,KAAAX;AAAA,MACA,WAAWkB;AAAA,MACX,aAAAL;AAAA,MACA,eAAAE;AAAA,MAIA,MAAM;AAAA,MACN,iBAAeZ;AAAA,MACf,iBAAeK,KAAYG,EAAK,eAAe;AAAA,MAC/C,UAAUR,IAAW,IAAI;AAAA,MACzB,UAAUc,MAAQ,WAAWT,IAAW;AAAA,MAExC,UAAA;AAAA,QAAA,gBAAAY,EAAC,QAAA,EAAK,WAAU,qBAAoB,KAAKhB,GACtC,UAAA;AAAA,UAAAC,KAAQ,gBAAAgB,EAAC,QAAA,EAAK,WAAU,kBAAkB,UAAAhB,GAAK;AAAA,UAC/CH,KAAS,gBAAAmB,EAAC,QAAA,EAAK,WAAU,wBAAwB,UAAAnB,EAAA,CAAM;AAAA,QAAA,GAC1D;AAAA,QACA,gBAAAmB,EAACC,KAAO,WAAWV,GAAW,SAAS,EAAE,OAAO,sBAAoB,CAAG;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAG7E,CAAC;"}
|