@smwb/ui-react 2.7.0 → 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/README.md +27 -0
- package/dist/assets/styles/less/components/avatar/avatar.entry.css +1 -1
- package/dist/assets/styles/less/components/card/card.entry.css +1 -1
- package/dist/assets/styles/less/components/checkbox/checkbox.entry.css +1 -1
- package/dist/assets/styles/less/components/chip/chip.entry.css +1 -1
- package/dist/assets/styles/less/components/menu/menu.entry.css +1 -1
- package/dist/assets/styles/less/components/personChip/personChip.entry.css +1 -1
- package/dist/assets/styles/less/components/radioButton/radioButton.entry.css +1 -1
- package/dist/assets/styles/less/components/rating/rating.entry.css +1 -1
- package/dist/assets/styles/less/components/selectField/selectField.entry.css +1 -1
- package/dist/assets/styles/less/components/table/table.entry.css +1 -1
- package/dist/assets/styles/less/components/thumbCard/thumbCard.entry.css +1 -1
- package/dist/assets/styles/less/components/toggle/toggle.entry.css +1 -1
- package/dist/assets/styles/less/components/typography/typography.entry.css +1 -1
- package/dist/assets/styles/less/connects/rt/table.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/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 +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/descriptionList/descriptionList.d.ts +11 -3
- package/dist/components/dataDisplay/descriptionList/descriptionList.js.map +1 -1
- 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/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/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/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/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 +2 -0
- package/dist/components/dataDisplay/treeView/treeView.js +24 -23
- 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 +40 -40
- 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 +2 -0
- package/dist/components/inputs/button/button.js +62 -58
- 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/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 +2 -0
- package/dist/components/layout/sheet/sheet.js +80 -79
- 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/navigation/appBar/appBar.d.ts +2 -0
- package/dist/components/navigation/appBar/appBar.js +24 -23
- 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/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.js +39 -38
- 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/tab/tab.js +42 -40
- package/dist/components/navigation/tabs/tab/tab.js.map +1 -1
- package/dist/components/navigation/tabs/tabs.d.ts +6 -0
- package/dist/components/navigation/tabs/tabs.js +83 -86
- package/dist/components/navigation/tabs/tabs.js.map +1 -1
- 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/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.map +1 -1
- 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/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 +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/stat/stat.js +27 -15
- package/dist/headless/components/dataDisplay/stat/stat.js.map +1 -1
- 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 +24 -23
- 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 +44 -44
- 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 +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 +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 +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 +42 -33
- 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 +95 -98
- 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/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/index.cjs +2 -2
- package/dist/index.cjs.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 +2 -2
|
@@ -1,105 +1,109 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { Icon as
|
|
5
|
-
import { Ripple as
|
|
6
|
-
import { Menu as
|
|
7
|
-
import { MenuItem as
|
|
8
|
-
import { MenuItemIcon as
|
|
9
|
-
import { MenuItemText as
|
|
10
|
-
const
|
|
11
|
-
className:
|
|
1
|
+
import { jsxs as b, jsx as t } from "react/jsx-runtime";
|
|
2
|
+
import G, { forwardRef as S, useState as O, useMemo as A } from "react";
|
|
3
|
+
import j from "clsx";
|
|
4
|
+
import { Icon as H } from "../../base/icon/icon.js";
|
|
5
|
+
import { Ripple as J } from "../../base/ripple/ripple.js";
|
|
6
|
+
import { Menu as K } from "../menu/menu.js";
|
|
7
|
+
import { MenuItem as L } from "../menu/menuItem.js";
|
|
8
|
+
import { MenuItemIcon as Q } from "../menu/menuItemIcon.js";
|
|
9
|
+
import { MenuItemText as U } from "../menu/menuItemText.js";
|
|
10
|
+
const te = S(function({
|
|
11
|
+
className: v,
|
|
12
12
|
menuItems: r = [],
|
|
13
13
|
visibleCount: i = 4,
|
|
14
14
|
activeItem: m,
|
|
15
|
-
defaultActiveItem:
|
|
15
|
+
defaultActiveItem: d = null,
|
|
16
16
|
onActiveItemChange: s,
|
|
17
|
-
overflowMenuAriaLabel:
|
|
18
|
-
...
|
|
19
|
-
},
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
overflowMenuAriaLabel: h = "More navigation",
|
|
18
|
+
...f
|
|
19
|
+
}, p) {
|
|
20
|
+
var x;
|
|
21
|
+
const u = m !== void 0, [w, I] = O(d), n = u ? m : w, [c, R] = O(!1), [g, k] = O(null), l = Math.max(0, i), z = A(() => r.slice(0, l), [r, l]), B = A(() => r.slice(l), [r, l]), _ = B.length > 0, C = _ && n !== null && n >= l, M = (e) => {
|
|
22
|
+
u || I(e), s == null || s(e);
|
|
23
|
+
}, V = (e, o) => (a) => {
|
|
23
24
|
M(e), o == null || o(a);
|
|
24
|
-
},
|
|
25
|
+
}, q = () => {
|
|
25
26
|
R((e) => !e);
|
|
26
27
|
}, N = () => {
|
|
27
28
|
R(!1);
|
|
28
29
|
};
|
|
29
|
-
return
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
)),
|
|
43
|
-
_ && /* @__PURE__ */ t(
|
|
44
|
-
A,
|
|
45
|
-
{
|
|
46
|
-
ref: g,
|
|
47
|
-
isActive: z,
|
|
48
|
-
onClick: V,
|
|
49
|
-
icon: /* @__PURE__ */ t(G, { name: "menu", size: 24 }),
|
|
50
|
-
"aria-label": d,
|
|
51
|
-
"aria-haspopup": "menu",
|
|
52
|
-
"aria-expanded": c
|
|
53
|
-
}
|
|
54
|
-
)
|
|
55
|
-
] }),
|
|
56
|
-
_ && /* @__PURE__ */ t(J, { isOpen: c, onClose: N, anchorElement: y, placement: "top", dense: !0, children: B.map((e, o) => {
|
|
57
|
-
const a = l + o;
|
|
58
|
-
return /* @__PURE__ */ u(
|
|
59
|
-
K,
|
|
60
|
-
{
|
|
61
|
-
selected: n === a,
|
|
62
|
-
href: e.href,
|
|
63
|
-
onClick: (q) => {
|
|
64
|
-
var x;
|
|
65
|
-
M(a), (x = e.onClick) == null || x.call(e, q), N();
|
|
30
|
+
return (
|
|
31
|
+
// role="navigation" is a default: the caller's own wins, and an explicit undefined keeps it.
|
|
32
|
+
/* @__PURE__ */ b("nav", { ref: p, className: j("smwb-bottom-bar", v), ...f, role: (x = f.role) != null ? x : "navigation", children: [
|
|
33
|
+
/* @__PURE__ */ b("div", { className: "smwb-bottom-bar__nav", role: "menubar", children: [
|
|
34
|
+
z.map((e, o) => /* @__PURE__ */ t(
|
|
35
|
+
E,
|
|
36
|
+
{
|
|
37
|
+
as: e.as,
|
|
38
|
+
isActive: n === o,
|
|
39
|
+
onClick: V(o, e.onClick),
|
|
40
|
+
icon: e.icon,
|
|
41
|
+
title: e.title,
|
|
42
|
+
href: e.href
|
|
66
43
|
},
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
44
|
+
o
|
|
45
|
+
)),
|
|
46
|
+
_ && /* @__PURE__ */ t(
|
|
47
|
+
E,
|
|
48
|
+
{
|
|
49
|
+
ref: k,
|
|
50
|
+
isActive: C,
|
|
51
|
+
onClick: q,
|
|
52
|
+
icon: /* @__PURE__ */ t(H, { name: "menu", size: 24 }),
|
|
53
|
+
"aria-label": h,
|
|
54
|
+
"aria-haspopup": "menu",
|
|
55
|
+
"aria-expanded": c
|
|
56
|
+
}
|
|
57
|
+
)
|
|
58
|
+
] }),
|
|
59
|
+
_ && /* @__PURE__ */ t(K, { isOpen: c, onClose: N, anchorElement: g, placement: "top", dense: !0, children: B.map((e, o) => {
|
|
60
|
+
const a = l + o;
|
|
61
|
+
return /* @__PURE__ */ b(
|
|
62
|
+
L,
|
|
63
|
+
{
|
|
64
|
+
selected: n === a,
|
|
65
|
+
href: e.href,
|
|
66
|
+
onClick: (F) => {
|
|
67
|
+
var T;
|
|
68
|
+
M(a), (T = e.onClick) == null || T.call(e, F), N();
|
|
69
|
+
},
|
|
70
|
+
children: [
|
|
71
|
+
e.icon ? /* @__PURE__ */ t(Q, { children: e.icon }) : null,
|
|
72
|
+
/* @__PURE__ */ t(U, { inset: !e.icon, children: e.title })
|
|
73
|
+
]
|
|
74
|
+
},
|
|
75
|
+
a
|
|
76
|
+
);
|
|
77
|
+
}) })
|
|
78
|
+
] })
|
|
79
|
+
);
|
|
80
|
+
}), E = S(function({ isActive: v, icon: r, title: i, as: m = "div", href: d, onMouseDown: s, ...h }, f) {
|
|
81
|
+
const p = G.useRef(null), u = (n) => {
|
|
78
82
|
s == null || s(n);
|
|
79
83
|
}, w = (n) => {
|
|
80
84
|
var c;
|
|
81
|
-
(c =
|
|
85
|
+
(c = p.current) == null || c.onRipple(n);
|
|
82
86
|
};
|
|
83
|
-
return /* @__PURE__ */
|
|
87
|
+
return /* @__PURE__ */ b(
|
|
84
88
|
m,
|
|
85
89
|
{
|
|
86
|
-
ref:
|
|
87
|
-
href:
|
|
90
|
+
ref: f,
|
|
91
|
+
href: d,
|
|
88
92
|
role: "menuitem",
|
|
89
|
-
className:
|
|
90
|
-
onMouseDown:
|
|
93
|
+
className: j("smwb-bottom-bar__item", { "smwb-bottom-bar__item_active": v }),
|
|
94
|
+
onMouseDown: u,
|
|
91
95
|
onPointerDown: w,
|
|
92
|
-
...
|
|
96
|
+
...h,
|
|
93
97
|
children: [
|
|
94
98
|
r && /* @__PURE__ */ t("span", { className: "smwb-bottom-bar__item-icon", children: r }),
|
|
95
99
|
i ? /* @__PURE__ */ t("span", { className: "smwb-bottom-bar__item-title", children: i }) : null,
|
|
96
|
-
/* @__PURE__ */ t(
|
|
100
|
+
/* @__PURE__ */ t(J, { actionRef: p })
|
|
97
101
|
]
|
|
98
102
|
}
|
|
99
103
|
);
|
|
100
104
|
});
|
|
101
105
|
export {
|
|
102
|
-
|
|
103
|
-
|
|
106
|
+
te as BottomBar,
|
|
107
|
+
te as default
|
|
104
108
|
};
|
|
105
109
|
//# sourceMappingURL=bottomBar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bottomBar.js","sources":["../../../../../src/components/navigation/bottomBar/bottomBar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useState } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport { Menu, MenuItem, MenuItemIcon, MenuItemText } from \"../menu\";\nimport type { MenuItemProps as SidebarMenuItemProps } from \"../sidebar/sidebar\";\n\nexport interface BottomBarProps extends React.HTMLAttributes<HTMLElement> {\n className?: string;\n menuItems?: SidebarMenuItemProps[];\n visibleCount?: number;\n activeItem?: number | null;\n defaultActiveItem?: number | null;\n onActiveItemChange?: (index: number) => void;\n overflowMenuAriaLabel?: string;\n}\n\nexport type BottomBarMenuItemProps = SidebarMenuItemProps;\n\nexport const BottomBar = forwardRef<HTMLElement, BottomBarProps>(function BottomBar(\n {\n className,\n menuItems = [],\n visibleCount = 4,\n activeItem: activeItemProp,\n defaultActiveItem = null,\n onActiveItemChange,\n overflowMenuAriaLabel = \"More 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 [overflowOpen, setOverflowOpen] = useState(false);\n const [overflowAnchor, setOverflowAnchor] = useState<HTMLElement | null>(null);\n\n const safeVisibleCount = Math.max(0, visibleCount);\n const visibleItems = useMemo(() => menuItems.slice(0, safeVisibleCount), [menuItems, safeVisibleCount]);\n const overflowItems = useMemo(() => menuItems.slice(safeVisibleCount), [menuItems, safeVisibleCount]);\n const hasOverflow = overflowItems.length > 0;\n const overflowActive = hasOverflow && activeItem !== null && activeItem >= safeVisibleCount;\n\n const setActive = (index: number) => {\n if (!isControlled) {\n setActiveItemState(index);\n }\n onActiveItemChange?.(index);\n };\n\n const activateItem = (index: number, onClick?: React.MouseEventHandler<HTMLDivElement>) => {\n return (event: React.MouseEvent<HTMLDivElement>) => {\n setActive(index);\n onClick?.(event);\n };\n };\n\n const onOverflowToggle = () => {\n setOverflowOpen((prev) => !prev);\n };\n\n const onOverflowClose = () => {\n setOverflowOpen(false);\n };\n\n return (\n <nav ref={ref} className={cn(\"smwb-bottom-bar\", className)} role
|
|
1
|
+
{"version":3,"file":"bottomBar.js","sources":["../../../../../src/components/navigation/bottomBar/bottomBar.tsx"],"sourcesContent":["import React, { forwardRef, useMemo, useState } from \"react\";\nimport cn from \"clsx\";\nimport Icon from \"../../base/icon/icon\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\nimport { Menu, MenuItem, MenuItemIcon, MenuItemText } from \"../menu\";\nimport type { MenuItemProps as SidebarMenuItemProps } from \"../sidebar/sidebar\";\n\nexport interface BottomBarProps extends React.HTMLAttributes<HTMLElement> {\n className?: string;\n menuItems?: SidebarMenuItemProps[];\n visibleCount?: number;\n activeItem?: number | null;\n defaultActiveItem?: number | null;\n onActiveItemChange?: (index: number) => void;\n overflowMenuAriaLabel?: string;\n}\n\nexport type BottomBarMenuItemProps = SidebarMenuItemProps;\n\nexport const BottomBar = forwardRef<HTMLElement, BottomBarProps>(function BottomBar(\n {\n className,\n menuItems = [],\n visibleCount = 4,\n activeItem: activeItemProp,\n defaultActiveItem = null,\n onActiveItemChange,\n overflowMenuAriaLabel = \"More 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 [overflowOpen, setOverflowOpen] = useState(false);\n const [overflowAnchor, setOverflowAnchor] = useState<HTMLElement | null>(null);\n\n const safeVisibleCount = Math.max(0, visibleCount);\n const visibleItems = useMemo(() => menuItems.slice(0, safeVisibleCount), [menuItems, safeVisibleCount]);\n const overflowItems = useMemo(() => menuItems.slice(safeVisibleCount), [menuItems, safeVisibleCount]);\n const hasOverflow = overflowItems.length > 0;\n const overflowActive = hasOverflow && activeItem !== null && activeItem >= safeVisibleCount;\n\n const setActive = (index: number) => {\n if (!isControlled) {\n setActiveItemState(index);\n }\n onActiveItemChange?.(index);\n };\n\n const activateItem = (index: number, onClick?: React.MouseEventHandler<HTMLDivElement>) => {\n return (event: React.MouseEvent<HTMLDivElement>) => {\n setActive(index);\n onClick?.(event);\n };\n };\n\n const onOverflowToggle = () => {\n setOverflowOpen((prev) => !prev);\n };\n\n const onOverflowClose = () => {\n setOverflowOpen(false);\n };\n\n return (\n // role=\"navigation\" is a default: the caller's own wins, and an explicit undefined keeps it.\n <nav ref={ref} className={cn(\"smwb-bottom-bar\", className)} {...rest} role={rest.role ?? \"navigation\"}>\n <div className=\"smwb-bottom-bar__nav\" role=\"menubar\">\n {visibleItems.map((item, idx) => (\n <BarItem\n key={idx}\n as={item.as}\n isActive={activeItem === idx}\n onClick={activateItem(idx, item.onClick)}\n icon={item.icon}\n title={item.title}\n href={item.href}\n />\n ))}\n {hasOverflow && (\n <BarItem\n ref={setOverflowAnchor}\n isActive={overflowActive}\n onClick={onOverflowToggle}\n icon={<Icon name=\"menu\" size={24} />}\n aria-label={overflowMenuAriaLabel}\n aria-haspopup=\"menu\"\n aria-expanded={overflowOpen}\n />\n )}\n </div>\n {hasOverflow && (\n <Menu isOpen={overflowOpen} onClose={onOverflowClose} anchorElement={overflowAnchor} placement=\"top\" dense>\n {overflowItems.map((item, idx) => {\n const itemIndex = safeVisibleCount + idx;\n\n return (\n <MenuItem\n key={itemIndex}\n selected={activeItem === itemIndex}\n href={item.href}\n onClick={(event) => {\n setActive(itemIndex);\n item.onClick?.(event as unknown as React.MouseEvent<HTMLDivElement>);\n onOverflowClose();\n }}\n >\n {item.icon ? <MenuItemIcon>{item.icon}</MenuItemIcon> : null}\n <MenuItemText inset={!item.icon}>{item.title}</MenuItemText>\n </MenuItem>\n );\n })}\n </Menu>\n )}\n </nav>\n );\n});\n\nexport default BottomBar;\n\ninterface BarItemProps extends Omit<React.HTMLAttributes<HTMLDivElement>, \"title\"> {\n icon?: React.ReactNode;\n title?: string;\n isActive?: boolean;\n as?: React.ElementType;\n href?: string;\n}\n\nconst BarItem = forwardRef<HTMLDivElement, BarItemProps>(function BarItem(\n { isActive, icon, title, as = \"div\", href, onMouseDown: onMouseDownProp, ...rest },\n ref\n) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLDivElement>) => {\n onMouseDownProp?.(event);\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLDivElement>) => {\n rippleRef.current?.onRipple(event);\n };\n\n const ElementType = as;\n\n return (\n <ElementType\n ref={ref}\n href={href}\n role=\"menuitem\"\n className={cn(\"smwb-bottom-bar__item\", { \"smwb-bottom-bar__item_active\": isActive })}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {icon && <span className=\"smwb-bottom-bar__item-icon\">{icon}</span>}\n {title ? <span className=\"smwb-bottom-bar__item-title\">{title}</span> : null}\n <Ripple actionRef={rippleRef} />\n </ElementType>\n );\n});\n"],"names":["BottomBar","forwardRef","className","menuItems","visibleCount","activeItemProp","defaultActiveItem","onActiveItemChange","overflowMenuAriaLabel","rest","ref","isControlled","activeItemState","setActiveItemState","useState","activeItem","overflowOpen","setOverflowOpen","overflowAnchor","setOverflowAnchor","safeVisibleCount","visibleItems","useMemo","overflowItems","hasOverflow","overflowActive","setActive","index","activateItem","onClick","event","onOverflowToggle","prev","onOverflowClose","jsxs","cn","_a","item","idx","jsx","BarItem","Icon","Menu","itemIndex","MenuItem","MenuItemIcon","MenuItemText","isActive","icon","title","as","href","onMouseDownProp","rippleRef","React","onMouseDown","onPointerDown","Ripple"],"mappings":"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"}
|
|
@@ -1,52 +1,54 @@
|
|
|
1
|
-
import { jsx as
|
|
2
|
-
import { forwardRef as
|
|
3
|
-
import
|
|
4
|
-
const
|
|
5
|
-
className:
|
|
6
|
-
separator:
|
|
7
|
-
maxItems:
|
|
1
|
+
import { jsx as a, jsxs as y } from "react/jsx-runtime";
|
|
2
|
+
import { forwardRef as S, useState as k, Children as B, isValidElement as C, Fragment as F } from "react";
|
|
3
|
+
import I from "clsx";
|
|
4
|
+
const A = S(function({
|
|
5
|
+
className: i,
|
|
6
|
+
separator: u = "/",
|
|
7
|
+
maxItems: o = 8,
|
|
8
8
|
itemsBeforeCollapse: s = 1,
|
|
9
9
|
itemsAfterCollapse: t = 1,
|
|
10
10
|
expanded: l,
|
|
11
|
-
onExpand:
|
|
12
|
-
expandLabel:
|
|
13
|
-
children:
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
11
|
+
onExpand: r,
|
|
12
|
+
expandLabel: h = "Show path",
|
|
13
|
+
children: f,
|
|
14
|
+
"data-testid": w = "breadcrumbs",
|
|
15
|
+
...c
|
|
16
|
+
}, _) {
|
|
17
|
+
var b;
|
|
18
|
+
const d = l !== void 0, [p, g] = k(!1), N = d ? !!l : p, e = B.toArray(f).filter(C), x = !N && e.length > o && s + t < e.length, j = () => {
|
|
19
|
+
r == null || r(), d || g(!0);
|
|
20
|
+
}, n = x ? [
|
|
19
21
|
...e.slice(0, s),
|
|
20
|
-
/* @__PURE__ */
|
|
22
|
+
/* @__PURE__ */ a(
|
|
21
23
|
"button",
|
|
22
24
|
{
|
|
23
25
|
type: "button",
|
|
24
26
|
className: "smwb-breadcrumbs__expand",
|
|
25
|
-
"aria-label":
|
|
26
|
-
onClick:
|
|
27
|
+
"aria-label": h,
|
|
28
|
+
onClick: j,
|
|
27
29
|
children: "…"
|
|
28
30
|
},
|
|
29
31
|
"smwb-breadcrumbs-expand"
|
|
30
32
|
),
|
|
31
33
|
...e.slice(e.length - t)
|
|
32
34
|
] : e;
|
|
33
|
-
return /* @__PURE__ */
|
|
35
|
+
return /* @__PURE__ */ a(
|
|
34
36
|
"nav",
|
|
35
37
|
{
|
|
36
|
-
...
|
|
37
|
-
ref:
|
|
38
|
-
"data-testid":
|
|
39
|
-
"aria-label": "breadcrumb",
|
|
40
|
-
className:
|
|
41
|
-
children: /* @__PURE__ */
|
|
42
|
-
/* @__PURE__ */
|
|
43
|
-
|
|
44
|
-
] },
|
|
38
|
+
...c,
|
|
39
|
+
ref: _,
|
|
40
|
+
"data-testid": w,
|
|
41
|
+
"aria-label": (b = c["aria-label"]) != null ? b : "breadcrumb",
|
|
42
|
+
className: I("smwb-breadcrumbs", i),
|
|
43
|
+
children: /* @__PURE__ */ a("ol", { className: "smwb-breadcrumbs__list", children: n.map((v, m) => /* @__PURE__ */ y(F, { children: [
|
|
44
|
+
/* @__PURE__ */ a("li", { className: "smwb-breadcrumbs__item", children: v }),
|
|
45
|
+
m < n.length - 1 ? /* @__PURE__ */ a("li", { className: "smwb-breadcrumbs__separator", "aria-hidden": "true", children: u }) : null
|
|
46
|
+
] }, m)) })
|
|
45
47
|
}
|
|
46
48
|
);
|
|
47
49
|
});
|
|
48
50
|
export {
|
|
49
|
-
|
|
50
|
-
|
|
51
|
+
A as Breadcrumbs,
|
|
52
|
+
A as default
|
|
51
53
|
};
|
|
52
54
|
//# sourceMappingURL=breadcrumbs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.js","sources":["../../../../../src/components/navigation/breadcrumbs/breadcrumbs.tsx"],"sourcesContent":["import {\n Children,\n forwardRef,\n Fragment,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n useState,\n} from \"react\";\nimport cn from \"clsx\";\n\nexport interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {\n className?: string;\n /** Node placed between every crumb. */\n separator?: ReactNode;\n /** Collapse the middle of the trail when there are more than `maxItems` crumbs. */\n maxItems?: number;\n /** How many leading crumbs to keep when collapsed. */\n itemsBeforeCollapse?: number;\n /** How many trailing crumbs to keep when collapsed. */\n itemsAfterCollapse?: number;\n /** Controlled expanded state. */\n expanded?: boolean;\n /** Fired when the user activates the expand control. */\n onExpand?: () => void;\n /** Accessible label for the expand button. */\n expandLabel?: string;\n}\n\nexport const Breadcrumbs = forwardRef<HTMLElement, PropsWithChildren<BreadcrumbsProps>>(function Breadcrumbs(\n {\n className,\n separator = \"/\",\n maxItems = 8,\n itemsBeforeCollapse = 1,\n itemsAfterCollapse = 1,\n expanded: expandedProp,\n onExpand,\n expandLabel = \"Show path\",\n children,\n ...props\n },\n ref\n) {\n const isControlled = expandedProp !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(false);\n const expanded = isControlled ? !!expandedProp : internalExpanded;\n const crumbs = Children.toArray(children).filter(isValidElement);\n\n const collapsed = !expanded && crumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse < crumbs.length;\n\n const handleExpand = () => {\n onExpand?.();\n if (!isControlled) {\n setInternalExpanded(true);\n }\n };\n\n const rendered: ReactNode[] = collapsed\n ? [\n ...crumbs.slice(0, itemsBeforeCollapse),\n <button\n key=\"smwb-breadcrumbs-expand\"\n type=\"button\"\n className=\"smwb-breadcrumbs__expand\"\n aria-label={expandLabel}\n onClick={handleExpand}\n >\n …\n </button>,\n ...crumbs.slice(crumbs.length - itemsAfterCollapse),\n ]\n : crumbs;\n\n return (\n <nav\n {...props}\n ref={ref}\n data-testid
|
|
1
|
+
{"version":3,"file":"breadcrumbs.js","sources":["../../../../../src/components/navigation/breadcrumbs/breadcrumbs.tsx"],"sourcesContent":["import {\n Children,\n forwardRef,\n Fragment,\n HTMLAttributes,\n isValidElement,\n PropsWithChildren,\n ReactNode,\n useState,\n} from \"react\";\nimport cn from \"clsx\";\n\nexport interface BreadcrumbsProps extends HTMLAttributes<HTMLElement> {\n className?: string;\n /** Node placed between every crumb. */\n separator?: ReactNode;\n /** Collapse the middle of the trail when there are more than `maxItems` crumbs. */\n maxItems?: number;\n /** How many leading crumbs to keep when collapsed. */\n itemsBeforeCollapse?: number;\n /** How many trailing crumbs to keep when collapsed. */\n itemsAfterCollapse?: number;\n /** Controlled expanded state. */\n expanded?: boolean;\n /** Fired when the user activates the expand control. */\n onExpand?: () => void;\n /** Accessible label for the expand button. */\n expandLabel?: string;\n /** Test id of the root `<nav>`; `breadcrumbs` unless given. */\n \"data-testid\"?: string;\n}\n\nexport const Breadcrumbs = forwardRef<HTMLElement, PropsWithChildren<BreadcrumbsProps>>(function Breadcrumbs(\n {\n className,\n separator = \"/\",\n maxItems = 8,\n itemsBeforeCollapse = 1,\n itemsAfterCollapse = 1,\n expanded: expandedProp,\n onExpand,\n expandLabel = \"Show path\",\n children,\n \"data-testid\": dataTestId = \"breadcrumbs\",\n ...props\n },\n ref\n) {\n const isControlled = expandedProp !== undefined;\n const [internalExpanded, setInternalExpanded] = useState(false);\n const expanded = isControlled ? !!expandedProp : internalExpanded;\n const crumbs = Children.toArray(children).filter(isValidElement);\n\n const collapsed = !expanded && crumbs.length > maxItems && itemsBeforeCollapse + itemsAfterCollapse < crumbs.length;\n\n const handleExpand = () => {\n onExpand?.();\n if (!isControlled) {\n setInternalExpanded(true);\n }\n };\n\n const rendered: ReactNode[] = collapsed\n ? [\n ...crumbs.slice(0, itemsBeforeCollapse),\n <button\n key=\"smwb-breadcrumbs-expand\"\n type=\"button\"\n className=\"smwb-breadcrumbs__expand\"\n aria-label={expandLabel}\n onClick={handleExpand}\n >\n …\n </button>,\n ...crumbs.slice(crumbs.length - itemsAfterCollapse),\n ]\n : crumbs;\n\n return (\n <nav\n {...props}\n ref={ref}\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\"] ?? \"breadcrumb\"}\n className={cn(\"smwb-breadcrumbs\", className)}\n >\n <ol className=\"smwb-breadcrumbs__list\">\n {rendered.map((crumb, index) => (\n <Fragment key={index}>\n <li className=\"smwb-breadcrumbs__item\">{crumb}</li>\n {index < rendered.length - 1 ? (\n <li className=\"smwb-breadcrumbs__separator\" aria-hidden=\"true\">\n {separator}\n </li>\n ) : null}\n </Fragment>\n ))}\n </ol>\n </nav>\n );\n});\n\nexport default Breadcrumbs;\n"],"names":["Breadcrumbs","forwardRef","className","separator","maxItems","itemsBeforeCollapse","itemsAfterCollapse","expandedProp","onExpand","expandLabel","children","dataTestId","props","ref","isControlled","internalExpanded","setInternalExpanded","useState","expanded","crumbs","Children","isValidElement","collapsed","handleExpand","rendered","jsx","_a","cn","crumb","index","jsxs","Fragment"],"mappings":";;;AAgCO,MAAMA,IAAcC,EAA6D,SACtF;AAAA,EACE,WAAAC;AAAA,EACA,WAAAC,IAAY;AAAA,EACZ,UAAAC,IAAW;AAAA,EACX,qBAAAC,IAAsB;AAAA,EACtB,oBAAAC,IAAqB;AAAA,EACrB,UAAUC;AAAA,EACV,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,UAAAC;AAAA,EACA,eAAeC,IAAa;AAAA,EAC5B,GAAGC;AACL,GACAC,GACA;;AACA,QAAMC,IAAeP,MAAiB,QAChC,CAACQ,GAAkBC,CAAmB,IAAIC,EAAS,EAAK,GACxDC,IAAWJ,IAAe,CAAC,CAACP,IAAeQ,GAC3CI,IAASC,EAAS,QAAQV,CAAQ,EAAE,OAAOW,CAAc,GAEzDC,IAAY,CAACJ,KAAYC,EAAO,SAASf,KAAYC,IAAsBC,IAAqBa,EAAO,QAEvGI,IAAe,MAAM;AACzB,IAAAf,KAAA,QAAAA,KACKM,KACHE,EAAoB,EAAI;AAAA,EAE5B,GAEMQ,IAAwBF,IAC1B;AAAA,IACE,GAAGH,EAAO,MAAM,GAAGd,CAAmB;AAAA,IACtC,gBAAAoB;AAAA,MAAC;AAAA,MAAA;AAAA,QAEC,MAAK;AAAA,QACL,WAAU;AAAA,QACV,cAAYhB;AAAA,QACZ,SAASc;AAAA,QACV,UAAA;AAAA,MAAA;AAAA,MALK;AAAA,IAAA;AAAA,IAQN,GAAGJ,EAAO,MAAMA,EAAO,SAASb,CAAkB;AAAA,EAAA,IAEpDa;AAEJ,SACE,gBAAAM;AAAA,IAAC;AAAA,IAAA;AAAA,MACE,GAAGb;AAAA,MACJ,KAAAC;AAAA,MACA,eAAaF;AAAA,MAGb,eAAYe,IAAAd,EAAM,YAAY,MAAlB,OAAAc,IAAuB;AAAA,MACnC,WAAWC,EAAG,oBAAoBzB,CAAS;AAAA,MAE3C,UAAA,gBAAAuB,EAAC,MAAA,EAAG,WAAU,0BACX,UAAAD,EAAS,IAAI,CAACI,GAAOC,MACpB,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,QAAA,gBAAAN,EAAC,MAAA,EAAG,WAAU,0BAA0B,UAAAG,GAAM;AAAA,QAC7CC,IAAQL,EAAS,SAAS,IACzB,gBAAAC,EAAC,MAAA,EAAG,WAAU,+BAA8B,eAAY,QACrD,UAAAtB,EAAA,CACH,IACE;AAAA,MAAA,EAAA,GANS0B,CAOf,CACD,EAAA,CACH;AAAA,IAAA;AAAA,EAAA;AAGN,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sources":["../../../../../src/components/navigation/menu/menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { MenuContext } from \"./menuContext\";\nimport { MenuComponent } from \"./menuComponent\";\nimport { MenuFloatingProps } from \"./menuFloating\";\n\nexport type MenuProps = MenuFloatingProps &\n React.HTMLAttributes<HTMLElement> & {\n variant?: \"static\" | \"floating\";\n dense?: boolean;\n };\n\nexport const Menu = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(props, ref) {\n const { dense = false, variant = \"floating\", onClose: onCloseProp, ...rest } = props;\n\n const onClose = () => {\n onCloseProp?.();\n };\n\n return (\n <MenuContext.Provider value={{ dense, variant, onClose }}>\n <MenuComponent ref={ref} onClose={onCloseProp} {...rest} />\n </MenuContext.Provider>\n );\n});\n"],"names":["Menu","React","props","ref","dense","variant","onCloseProp","rest","onClose","MenuContext","MenuComponent"],"mappings":";;;;
|
|
1
|
+
{"version":3,"file":"menu.js","sources":["../../../../../src/components/navigation/menu/menu.tsx"],"sourcesContent":["import React from \"react\";\nimport { MenuContext } from \"./menuContext\";\nimport { MenuComponent } from \"./menuComponent\";\nimport { MenuFloatingProps } from \"./menuFloating\";\n\nexport type MenuProps = MenuFloatingProps &\n React.HTMLAttributes<HTMLElement> & {\n variant?: \"static\" | \"floating\";\n dense?: boolean;\n /**\n * Role of the list inside the menu, `menu` by default. A component that draws\n * a list of its own on the menu's surface sets `presentation`: SelectField's\n * options are a `listbox` inside it.\n */\n listRole?: React.AriaRole;\n };\n\nexport const Menu = React.forwardRef<HTMLDivElement, MenuProps>(function Menu(props, ref) {\n const { dense = false, variant = \"floating\", onClose: onCloseProp, ...rest } = props;\n\n const onClose = () => {\n onCloseProp?.();\n };\n\n return (\n <MenuContext.Provider value={{ dense, variant, onClose }}>\n <MenuComponent ref={ref} onClose={onCloseProp} {...rest} />\n </MenuContext.Provider>\n );\n});\n"],"names":["Menu","React","props","ref","dense","variant","onCloseProp","rest","onClose","MenuContext","MenuComponent"],"mappings":";;;;AAiBO,MAAMA,IAAOC,EAAM,WAAsC,SAAcC,GAAOC,GAAK;AACxF,QAAM,EAAE,OAAAC,IAAQ,IAAO,SAAAC,IAAU,YAAY,SAASC,GAAa,GAAGC,EAAA,IAASL,GAEzEM,IAAU,MAAM;AACpB,IAAAF,KAAA,QAAAA;AAAA,EACF;AAEA,2BACGG,EAAY,UAAZ,EAAqB,OAAO,EAAE,OAAAL,GAAO,SAAAC,GAAS,SAAAG,EAAA,GAC7C,4BAACE,GAAA,EAAc,KAAAP,GAAU,SAASG,GAAc,GAAGC,GAAM,GAC3D;AAEJ,CAAC;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuContext.js","sources":["../../../../../src/components/navigation/menu/menuContext.ts"],"sourcesContent":["import React from \"react\";\n\nexport interface MenuContextValue {\n dense: boolean;\n variant: \"static\" | \"floating\";\n onClose: () => void;\n}\n\nexport const MenuContext = React.createContext<MenuContextValue>({\n dense: false,\n variant: \"floating\",\n onClose: () => null,\n});\n\nexport function useMenuContext() {\n return React.useContext(MenuContext);\n}\n"],"names":["MenuContext","React","useMenuContext"],"mappings":";
|
|
1
|
+
{"version":3,"file":"menuContext.js","sources":["../../../../../src/components/navigation/menu/menuContext.ts"],"sourcesContent":["import React from \"react\";\n\nexport interface MenuContextValue {\n dense: boolean;\n variant: \"static\" | \"floating\";\n onClose: () => void;\n /** A submenu's own list: ArrowLeft in it closes the submenu (onClose). */\n submenu?: boolean;\n}\n\nexport const MenuContext = React.createContext<MenuContextValue>({\n dense: false,\n variant: \"floating\",\n onClose: () => null,\n});\n\nexport function useMenuContext() {\n return React.useContext(MenuContext);\n}\n"],"names":["MenuContext","React","useMenuContext"],"mappings":";AAUO,MAAMA,IAAcC,EAAM,cAAgC;AAAA,EAC/D,OAAO;AAAA,EACP,SAAS;AAAA,EACT,SAAS,MAAM;AACjB,CAAC;AAEM,SAASC,IAAiB;AAC/B,SAAOD,EAAM,WAAWD,CAAW;AACrC;"}
|
|
@@ -1,50 +1,62 @@
|
|
|
1
1
|
import { jsx as l } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { useFloating as
|
|
4
|
-
import
|
|
5
|
-
import { useForkRef as
|
|
6
|
-
import { resolvePlacement as
|
|
7
|
-
import { MenuList as
|
|
8
|
-
import { ClickAwayListener as
|
|
9
|
-
function
|
|
10
|
-
return
|
|
2
|
+
import r from "react";
|
|
3
|
+
import { useFloating as R, autoUpdate as x } from "@floating-ui/react";
|
|
4
|
+
import A from "react-transition-group/Transition";
|
|
5
|
+
import { useForkRef as L } from "../../../hooks/useForkRef.js";
|
|
6
|
+
import { resolvePlacement as S, buildFloatingMiddleware as b } from "../../../utils/floating.js";
|
|
7
|
+
import { MenuList as E } from "./menuList.js";
|
|
8
|
+
import { ClickAwayListener as B } from "../../clickAwayListener/clickAwayListener.js";
|
|
9
|
+
function C(s, a) {
|
|
10
|
+
return b(s, a);
|
|
11
11
|
}
|
|
12
|
-
const
|
|
13
|
-
transition: `opacity ${
|
|
12
|
+
const D = (s) => ({
|
|
13
|
+
transition: `opacity ${s}ms ease-in-out`,
|
|
14
14
|
opacity: 0
|
|
15
|
-
}),
|
|
15
|
+
}), O = {
|
|
16
16
|
entering: { opacity: 1 },
|
|
17
17
|
entered: { opacity: 1 },
|
|
18
18
|
exiting: { opacity: 0 }
|
|
19
|
-
}, G =
|
|
20
|
-
const { anchorElement: e, isOpen:
|
|
21
|
-
open: !!
|
|
22
|
-
placement:
|
|
23
|
-
whileElementsMounted:
|
|
19
|
+
}, G = r.forwardRef(function(a, d) {
|
|
20
|
+
const { anchorElement: e, isOpen: o, onClose: i, placement: m = "bottom-start", middleware: p, style: y, ...w } = a, [c, g] = r.useState(null), u = r.useRef(null), f = S(m), { refs: v, floatingStyles: M } = R({
|
|
21
|
+
open: !!o,
|
|
22
|
+
placement: f.placement,
|
|
23
|
+
whileElementsMounted: x,
|
|
24
24
|
elements: { reference: e != null ? e : null },
|
|
25
|
-
middleware:
|
|
26
|
-
}),
|
|
27
|
-
|
|
25
|
+
middleware: C(f, p)
|
|
26
|
+
}), k = L(d, u, g, v.setFloating);
|
|
27
|
+
r.useEffect(() => {
|
|
28
|
+
if (!o || !i || !e)
|
|
28
29
|
return;
|
|
29
|
-
const
|
|
30
|
-
|
|
30
|
+
const t = (n) => {
|
|
31
|
+
n.key === "Escape" && !n.defaultPrevented && (n.preventDefault(), i());
|
|
32
|
+
};
|
|
33
|
+
return e.addEventListener("keydown", t), () => e.removeEventListener("keydown", t);
|
|
34
|
+
}, [o, i, e]), r.useEffect(() => {
|
|
35
|
+
var t, n;
|
|
36
|
+
!o && ((t = u.current) != null && t.contains(document.activeElement)) && ((n = e == null ? void 0 : e.focus) == null || n.call(e));
|
|
37
|
+
}, [o, e]);
|
|
38
|
+
const F = (t) => {
|
|
39
|
+
if (!o || !i || !c)
|
|
40
|
+
return;
|
|
41
|
+
const n = t.target;
|
|
42
|
+
c.contains(n) || e != null && e.contains(n) || i == null || i();
|
|
31
43
|
};
|
|
32
|
-
return /* @__PURE__ */ l(
|
|
33
|
-
|
|
44
|
+
return /* @__PURE__ */ l(A, { nodeRef: u, in: !!o, timeout: 150, unmountOnExit: !0, children: (t) => /* @__PURE__ */ l(B, { onClickAway: F, children: /* @__PURE__ */ l(
|
|
45
|
+
E,
|
|
34
46
|
{
|
|
35
|
-
ref:
|
|
47
|
+
ref: k,
|
|
36
48
|
style: {
|
|
37
|
-
...
|
|
49
|
+
...M,
|
|
38
50
|
...y,
|
|
39
|
-
...
|
|
40
|
-
...
|
|
51
|
+
...D(150),
|
|
52
|
+
...O[t]
|
|
41
53
|
},
|
|
42
|
-
...
|
|
54
|
+
...w
|
|
43
55
|
}
|
|
44
56
|
) }) });
|
|
45
57
|
});
|
|
46
58
|
export {
|
|
47
59
|
G as MenuFloating,
|
|
48
|
-
|
|
60
|
+
C as buildMenuFloatingMiddleware
|
|
49
61
|
};
|
|
50
62
|
//# sourceMappingURL=menuFloating.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"menuFloating.js","sources":["../../../../../src/components/navigation/menu/menuFloating.tsx"],"sourcesContent":["import React from \"react\";\nimport { autoUpdate, Middleware, useFloating } from \"@floating-ui/react\";\nimport Transition, { TransitionStatus } from \"react-transition-group/Transition\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { buildFloatingMiddleware, Placement, resolvePlacement, type ResolvedPlacement } from \"../../../utils/floating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { MenuList } from \"./menuList\";\n\nexport function buildMenuFloatingMiddleware(resolved: ResolvedPlacement, custom?: Middleware[]): Middleware[] {\n return buildFloatingMiddleware(resolved, custom);\n}\n\nconst defaultStyle = (duration: number): React.CSSProperties => ({\n transition: `opacity ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n} as Record<TransitionStatus, React.CSSProperties>;\n\nexport interface MenuFloatingProps extends React.HTMLAttributes<HTMLDivElement> {\n anchorElement?: Element | null;\n isOpen?: boolean;\n onClose?: () => void;\n placement?: Placement;\n middleware?: Middleware[];\n}\n\nexport const MenuFloating = React.forwardRef<HTMLDivElement, MenuFloatingProps>(function MenuFloating(props, ref) {\n const { anchorElement, isOpen, onClose, placement = \"bottom-start\", middleware, style, ...rest } = props;\n const [menuElement, setMenuElement] = React.useState<HTMLElement | null>(null);\n const nodeRef = React.useRef<HTMLElement>(null);\n\n const resolved = resolvePlacement(placement);\n const { refs, floatingStyles } = useFloating({\n open: Boolean(isOpen),\n placement: resolved.placement,\n whileElementsMounted: autoUpdate,\n elements: { reference: anchorElement ?? null },\n middleware: buildMenuFloatingMiddleware(resolved, middleware),\n });\n\n const menuRef = useForkRef(ref, nodeRef, setMenuElement, refs.setFloating);\n\n const onAwayClick = (event: MouseEvent | TouchEvent) => {\n if (!isOpen || !onClose || !menuElement) {\n return;\n }\n\n const target = event.target as HTMLElement;\n\n if (menuElement.contains(target) || (anchorElement as HTMLElement | null)?.contains(target)) {\n return undefined;\n }\n\n onClose?.();\n };\n\n return (\n <Transition nodeRef={nodeRef} in={Boolean(isOpen)} timeout={150} unmountOnExit>\n {(state) => (\n <ClickAwayListener onClickAway={onAwayClick}>\n <MenuList\n ref={menuRef}\n style={{\n ...floatingStyles,\n ...style,\n ...defaultStyle(150),\n ...transitionStyles[state],\n }}\n {...rest}\n />\n </ClickAwayListener>\n )}\n </Transition>\n );\n});\n"],"names":["buildMenuFloatingMiddleware","resolved","custom","buildFloatingMiddleware","defaultStyle","duration","transitionStyles","MenuFloating","React","props","ref","anchorElement","isOpen","onClose","placement","middleware","style","rest","menuElement","setMenuElement","nodeRef","resolvePlacement","refs","floatingStyles","useFloating","autoUpdate","menuRef","useForkRef","
|
|
1
|
+
{"version":3,"file":"menuFloating.js","sources":["../../../../../src/components/navigation/menu/menuFloating.tsx"],"sourcesContent":["import React from \"react\";\nimport { autoUpdate, Middleware, useFloating } from \"@floating-ui/react\";\nimport Transition, { TransitionStatus } from \"react-transition-group/Transition\";\nimport { useForkRef } from \"../../../hooks/useForkRef\";\nimport { buildFloatingMiddleware, Placement, resolvePlacement, type ResolvedPlacement } from \"../../../utils/floating\";\nimport { ClickAwayListener } from \"../../clickAwayListener\";\nimport { MenuList } from \"./menuList\";\n\nexport function buildMenuFloatingMiddleware(resolved: ResolvedPlacement, custom?: Middleware[]): Middleware[] {\n return buildFloatingMiddleware(resolved, custom);\n}\n\nconst defaultStyle = (duration: number): React.CSSProperties => ({\n transition: `opacity ${duration}ms ease-in-out`,\n opacity: 0,\n});\n\nconst transitionStyles = {\n entering: { opacity: 1 },\n entered: { opacity: 1 },\n exiting: { opacity: 0 },\n} as Record<TransitionStatus, React.CSSProperties>;\n\nexport interface MenuFloatingProps extends React.HTMLAttributes<HTMLDivElement> {\n anchorElement?: Element | null;\n isOpen?: boolean;\n onClose?: () => void;\n placement?: Placement;\n middleware?: Middleware[];\n}\n\nexport const MenuFloating = React.forwardRef<HTMLDivElement, MenuFloatingProps>(function MenuFloating(props, ref) {\n const { anchorElement, isOpen, onClose, placement = \"bottom-start\", middleware, style, ...rest } = props;\n const [menuElement, setMenuElement] = React.useState<HTMLElement | null>(null);\n const nodeRef = React.useRef<HTMLElement>(null);\n\n const resolved = resolvePlacement(placement);\n const { refs, floatingStyles } = useFloating({\n open: Boolean(isOpen),\n placement: resolved.placement,\n whileElementsMounted: autoUpdate,\n elements: { reference: anchorElement ?? null },\n middleware: buildMenuFloatingMiddleware(resolved, middleware),\n });\n\n const menuRef = useForkRef(ref, nodeRef, setMenuElement, refs.setFloating);\n\n // While the menu is open, Escape on its anchor (focus left on the button that opened\n // it, or on a submenu's row) closes it, marked as handled like an Escape in the list.\n React.useEffect(() => {\n if (!isOpen || !onClose || !anchorElement) {\n return undefined;\n }\n const onAnchorKeyDown = (event: Event) => {\n if ((event as KeyboardEvent).key === \"Escape\" && !event.defaultPrevented) {\n event.preventDefault();\n onClose();\n }\n };\n anchorElement.addEventListener(\"keydown\", onAnchorKeyDown);\n return () => anchorElement.removeEventListener(\"keydown\", onAnchorKeyDown);\n }, [isOpen, onClose, anchorElement]);\n\n // A menu that closes while it holds focus (on Escape, on a chosen item) hands focus\n // back to its anchor, the button or submenu row it opened from. Otherwise focus falls\n // to <body> when the items unmount, out of a FloatingWindow or Modal around the menu,\n // and the next Escape does not reach them.\n React.useEffect(() => {\n if (!isOpen && nodeRef.current?.contains(document.activeElement)) {\n (anchorElement as HTMLElement | null | undefined)?.focus?.();\n }\n }, [isOpen, anchorElement]);\n\n const onAwayClick = (event: MouseEvent | TouchEvent) => {\n if (!isOpen || !onClose || !menuElement) {\n return;\n }\n\n const target = event.target as HTMLElement;\n\n if (menuElement.contains(target) || (anchorElement as HTMLElement | null)?.contains(target)) {\n return undefined;\n }\n\n onClose?.();\n };\n\n return (\n <Transition nodeRef={nodeRef} in={Boolean(isOpen)} timeout={150} unmountOnExit>\n {(state) => (\n <ClickAwayListener onClickAway={onAwayClick}>\n <MenuList\n ref={menuRef}\n style={{\n ...floatingStyles,\n ...style,\n ...defaultStyle(150),\n ...transitionStyles[state],\n }}\n {...rest}\n />\n </ClickAwayListener>\n )}\n </Transition>\n );\n});\n"],"names":["buildMenuFloatingMiddleware","resolved","custom","buildFloatingMiddleware","defaultStyle","duration","transitionStyles","MenuFloating","React","props","ref","anchorElement","isOpen","onClose","placement","middleware","style","rest","menuElement","setMenuElement","nodeRef","resolvePlacement","refs","floatingStyles","useFloating","autoUpdate","menuRef","useForkRef","onAnchorKeyDown","event","_a","_b","onAwayClick","target","Transition","state","jsx","ClickAwayListener","MenuList"],"mappings":";;;;;;;;AAQO,SAASA,EAA4BC,GAA6BC,GAAqC;AAC5G,SAAOC,EAAwBF,GAAUC,CAAM;AACjD;AAEA,MAAME,IAAe,CAACC,OAA2C;AAAA,EAC/D,YAAY,WAAWA,CAAQ;AAAA,EAC/B,SAAS;AACX,IAEMC,IAAmB;AAAA,EACvB,UAAU,EAAE,SAAS,EAAA;AAAA,EACrB,SAAS,EAAE,SAAS,EAAA;AAAA,EACpB,SAAS,EAAE,SAAS,EAAA;AACtB,GAUaC,IAAeC,EAAM,WAA8C,SAAsBC,GAAOC,GAAK;AAChH,QAAM,EAAE,eAAAC,GAAe,QAAAC,GAAQ,SAAAC,GAAS,WAAAC,IAAY,gBAAgB,YAAAC,GAAY,OAAAC,GAAO,GAAGC,EAAA,IAASR,GAC7F,CAACS,GAAaC,CAAc,IAAIX,EAAM,SAA6B,IAAI,GACvEY,IAAUZ,EAAM,OAAoB,IAAI,GAExCP,IAAWoB,EAAiBP,CAAS,GACrC,EAAE,MAAAQ,GAAM,gBAAAC,EAAA,IAAmBC,EAAY;AAAA,IAC3C,MAAM,EAAQZ;AAAA,IACd,WAAWX,EAAS;AAAA,IACpB,sBAAsBwB;AAAA,IACtB,UAAU,EAAE,WAAWd,KAAA,OAAAA,IAAiB,KAAA;AAAA,IACxC,YAAYX,EAA4BC,GAAUc,CAAU;AAAA,EAAA,CAC7D,GAEKW,IAAUC,EAAWjB,GAAKU,GAASD,GAAgBG,EAAK,WAAW;AAIzE,EAAAd,EAAM,UAAU,MAAM;AACpB,QAAI,CAACI,KAAU,CAACC,KAAW,CAACF;AAC1B;AAEF,UAAMiB,IAAkB,CAACC,MAAiB;AACxC,MAAKA,EAAwB,QAAQ,YAAY,CAACA,EAAM,qBACtDA,EAAM,eAAA,GACNhB,EAAA;AAAA,IAEJ;AACA,WAAAF,EAAc,iBAAiB,WAAWiB,CAAe,GAClD,MAAMjB,EAAc,oBAAoB,WAAWiB,CAAe;AAAA,EAC3E,GAAG,CAAChB,GAAQC,GAASF,CAAa,CAAC,GAMnCH,EAAM,UAAU,MAAM;;AACpB,IAAI,CAACI,OAAUkB,IAAAV,EAAQ,YAAR,QAAAU,EAAiB,SAAS,SAAS,qBAC/CC,IAAApB,KAAA,gBAAAA,EAAkD,UAAlD,QAAAoB,EAAA,KAAApB;AAAA,EAEL,GAAG,CAACC,GAAQD,CAAa,CAAC;AAE1B,QAAMqB,IAAc,CAACH,MAAmC;AACtD,QAAI,CAACjB,KAAU,CAACC,KAAW,CAACK;AAC1B;AAGF,UAAMe,IAASJ,EAAM;AAErB,IAAIX,EAAY,SAASe,CAAM,KAAMtB,KAAA,QAAAA,EAAsC,SAASsB,MAIpFpB,KAAA,QAAAA;AAAA,EACF;AAEA,2BACGqB,GAAA,EAAW,SAAAd,GAAkB,IAAI,EAAQR,GAAS,SAAS,KAAK,eAAa,IAC3E,UAAA,CAACuB,MACA,gBAAAC,EAACC,GAAA,EAAkB,aAAaL,GAC9B,UAAA,gBAAAI;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,KAAKZ;AAAA,MACL,OAAO;AAAA,QACL,GAAGH;AAAA,QACH,GAAGP;AAAA,QACH,GAAGZ,EAAa,GAAG;AAAA,QACnB,GAAGE,EAAiB6B,CAAK;AAAA,MAAA;AAAA,MAE1B,GAAGlB;AAAA,IAAA;AAAA,EAAA,GAER,EAAA,CAEJ;AAEJ,CAAC;"}
|