@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
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
import { jsxs as Q, jsx as C } from "react/jsx-runtime";
|
|
2
|
+
import '../../../assets/styles/less/components/chart/chart.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
4
|
+
import U, { useRef as y, useState as q, useEffect as z } from "react";
|
|
5
|
+
import V from "clsx";
|
|
6
|
+
import { readChartPalette as B, samePalette as _, chartTheme as H } from "./chartTheme.js";
|
|
7
|
+
import { Skeleton as X } from "../../feedBack/skeleton/skeleton.js";
|
|
8
|
+
const Y = (u) => typeof u == "number" ? `${u}px` : u, Z = () => import("echarts"), tt = (u) => {
|
|
9
|
+
try {
|
|
10
|
+
return JSON.stringify(u, (k, h) => typeof h == "function" ? String(h) : h);
|
|
11
|
+
} catch {
|
|
12
|
+
return null;
|
|
13
|
+
}
|
|
14
|
+
}, it = U.forwardRef(function({
|
|
15
|
+
className: k,
|
|
16
|
+
style: h,
|
|
17
|
+
label: J,
|
|
18
|
+
summary: x,
|
|
19
|
+
option: g,
|
|
20
|
+
height: W = 240,
|
|
21
|
+
loader: E,
|
|
22
|
+
renderer: F = "canvas",
|
|
23
|
+
onClick: N,
|
|
24
|
+
onReady: S,
|
|
25
|
+
"data-testid": $ = "chart",
|
|
26
|
+
...D
|
|
27
|
+
}, p) {
|
|
28
|
+
const A = y(null), w = y(null), [f, M] = q(null), [b, L] = q(!1), l = y({
|
|
29
|
+
module: null,
|
|
30
|
+
instance: null,
|
|
31
|
+
themed: null,
|
|
32
|
+
announced: null,
|
|
33
|
+
drawn: null,
|
|
34
|
+
pending: !1
|
|
35
|
+
}), s = y({ option: g, palette: f, loader: E, renderer: F, onClick: N, onReady: S });
|
|
36
|
+
s.current = { option: g, palette: f, loader: E, renderer: F, onClick: N, onReady: S };
|
|
37
|
+
const G = (t) => {
|
|
38
|
+
A.current = t, typeof p == "function" ? p(t) : p && (p.current = t);
|
|
39
|
+
}, R = () => {
|
|
40
|
+
const t = w.current;
|
|
41
|
+
return !!(t && t.clientWidth > 0 && t.clientHeight > 0);
|
|
42
|
+
}, O = (t, n) => {
|
|
43
|
+
const e = t.init(w.current, H(n), { renderer: s.current.renderer });
|
|
44
|
+
return e.on("click", (a) => {
|
|
45
|
+
var c, o;
|
|
46
|
+
return (o = (c = s.current).onClick) == null ? void 0 : o.call(c, a);
|
|
47
|
+
}), l.current.themed = n, l.current.drawn = null, e;
|
|
48
|
+
}, P = () => {
|
|
49
|
+
const t = l.current, n = s.current.palette;
|
|
50
|
+
if (!t.instance || !n) return;
|
|
51
|
+
if (!R()) {
|
|
52
|
+
t.pending = !0;
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
const e = s.current.option, a = typeof e == "function" ? e(n) : e, c = tt(a);
|
|
56
|
+
if (!(!t.pending && c !== null && c === t.drawn)) {
|
|
57
|
+
t.pending = !1;
|
|
58
|
+
try {
|
|
59
|
+
t.instance.setOption(a, { notMerge: !0 }), t.drawn = c;
|
|
60
|
+
} catch (o) {
|
|
61
|
+
t.drawn = null, console.error("[smwb] Chart: the option did not draw.", o);
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
}, I = (t) => {
|
|
65
|
+
const n = l.current;
|
|
66
|
+
if (!(!n.instance || !n.module || n.themed && _(n.themed, t)))
|
|
67
|
+
if (typeof n.instance.setTheme == "function") {
|
|
68
|
+
try {
|
|
69
|
+
n.instance.setTheme(H(t));
|
|
70
|
+
} catch (e) {
|
|
71
|
+
console.error("[smwb] Chart: the theme did not apply.", e);
|
|
72
|
+
}
|
|
73
|
+
n.themed = t, n.drawn = null;
|
|
74
|
+
} else
|
|
75
|
+
n.instance.dispose(), n.instance = O(n.module, t);
|
|
76
|
+
};
|
|
77
|
+
return z(() => {
|
|
78
|
+
var j;
|
|
79
|
+
const t = A.current, n = w.current, e = l.current;
|
|
80
|
+
let a = !1;
|
|
81
|
+
const c = () => {
|
|
82
|
+
const r = B(t);
|
|
83
|
+
M((i) => i && _(i, r) ? i : r);
|
|
84
|
+
};
|
|
85
|
+
c();
|
|
86
|
+
const o = new MutationObserver(() => requestAnimationFrame(c));
|
|
87
|
+
o.observe(document.documentElement, {
|
|
88
|
+
attributes: !0,
|
|
89
|
+
attributeFilter: ["data-theme", "class", "style"]
|
|
90
|
+
});
|
|
91
|
+
const d = typeof window.matchMedia == "function" ? window.matchMedia("(prefers-color-scheme: dark)") : void 0;
|
|
92
|
+
d == null || d.addEventListener("change", c);
|
|
93
|
+
const T = () => {
|
|
94
|
+
if (a || e.instance || !e.module || !R()) return;
|
|
95
|
+
const r = B(t);
|
|
96
|
+
M((i) => i && _(i, r) ? i : r), e.instance = O(e.module, r), L(!0);
|
|
97
|
+
}, K = () => {
|
|
98
|
+
if (R()) {
|
|
99
|
+
if (!e.instance) {
|
|
100
|
+
T();
|
|
101
|
+
return;
|
|
102
|
+
}
|
|
103
|
+
try {
|
|
104
|
+
e.instance.resize();
|
|
105
|
+
} catch {
|
|
106
|
+
}
|
|
107
|
+
e.pending && P();
|
|
108
|
+
}
|
|
109
|
+
};
|
|
110
|
+
let v = 0;
|
|
111
|
+
const m = typeof ResizeObserver == "function" ? new ResizeObserver(() => {
|
|
112
|
+
cancelAnimationFrame(v), v = requestAnimationFrame(K);
|
|
113
|
+
}) : void 0;
|
|
114
|
+
return m == null || m.observe(n), ((j = s.current.loader) != null ? j : Z)().then(
|
|
115
|
+
(r) => {
|
|
116
|
+
e.module = r, T();
|
|
117
|
+
},
|
|
118
|
+
(r) => console.error("[smwb] Chart: ECharts did not load.", r)
|
|
119
|
+
), () => {
|
|
120
|
+
var r;
|
|
121
|
+
a = !0, o.disconnect(), d == null || d.removeEventListener("change", c), m == null || m.disconnect(), cancelAnimationFrame(v), (r = e.instance) == null || r.dispose(), e.instance = null, e.announced = null, e.drawn = null, L(!1);
|
|
122
|
+
};
|
|
123
|
+
}, []), z(() => {
|
|
124
|
+
var n, e;
|
|
125
|
+
const t = l.current;
|
|
126
|
+
!b || !f || !t.instance || (I(f), P(), t.instance && t.announced !== t.instance && (t.announced = t.instance, (e = (n = s.current).onReady) == null || e.call(n, t.instance)));
|
|
127
|
+
}, [b, f, g]), /* @__PURE__ */ Q(
|
|
128
|
+
"div",
|
|
129
|
+
{
|
|
130
|
+
"data-testid": $,
|
|
131
|
+
...D,
|
|
132
|
+
ref: G,
|
|
133
|
+
className: V("smwb-chart", k),
|
|
134
|
+
style: { ...h, height: Y(W) },
|
|
135
|
+
children: [
|
|
136
|
+
/* @__PURE__ */ C("div", { ref: w, className: "smwb-chart__canvas", role: "img", "aria-label": J }),
|
|
137
|
+
b ? null : /* @__PURE__ */ C(X, { className: "smwb-chart__skeleton", variant: "rounded", width: "100%", height: "100%" }),
|
|
138
|
+
x ? /* @__PURE__ */ C("p", { className: "smwb-chart__summary", children: x }) : null
|
|
139
|
+
]
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
});
|
|
143
|
+
export {
|
|
144
|
+
it as Chart
|
|
145
|
+
};
|
|
146
|
+
//# sourceMappingURL=chart.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chart.js","sources":["../../../../src/components/dataDisplay/chart/chart.tsx"],"sourcesContent":["import React, { HTMLAttributes, useEffect, useRef, useState } from \"react\";\nimport cn from \"clsx\";\nimport { Skeleton } from \"../../feedBack/skeleton\";\nimport { type ChartOption, type ChartPalette, chartTheme, readChartPalette, samePalette } from \"./chartTheme\";\n\n/** What an ECharts event hands its handler: the item under the pointer. */\nexport interface ChartEventParams {\n componentType?: string;\n seriesType?: string;\n seriesIndex?: number;\n seriesName?: string;\n name?: string;\n dataIndex?: number;\n data?: unknown;\n value?: unknown;\n [key: string]: unknown;\n}\n\n/** The part of an ECharts instance the chart uses; `onReady` hands over the instance itself. */\nexport interface ChartInstance {\n setOption(option: ChartOption, opts?: { notMerge?: boolean }): void;\n resize(): void;\n on(eventName: string, handler: (params: ChartEventParams) => void): void;\n dispose(): void;\n /** ECharts 6 switches the theme in place; with ECharts 5 the chart is created anew. */\n setTheme?(theme: object): void;\n}\n\n/** What `loader` resolves to: `echarts`, or `echarts/core` with the charts you use registered. */\nexport interface ChartModule {\n init(dom: HTMLElement, theme?: object | string | null, opts?: { renderer?: \"canvas\" | \"svg\" }): ChartInstance;\n}\n\nexport interface ChartProps extends Omit<HTMLAttributes<HTMLDivElement>, \"onClick\"> {\n className?: string;\n /** What the chart shows: its accessible name. */\n label: string;\n /** The chart in words, for screen readers; it is there before the chart draws, and on the server. */\n summary?: string;\n /**\n * The ECharts option, or a function of the theme's palette that returns it.\n * It is applied whole whenever it or the theme changes; an equal option\n * passed again (an inline object on a re-render) does not redraw.\n */\n option: ChartOption | ((palette: ChartPalette) => ChartOption);\n /** The chart's height: a number of pixels or any CSS length; 240 by default. It fills the width. */\n height?: number | string;\n /**\n * Loads ECharts in the browser: `import(\"echarts\")` by default, the whole\n * library. For a smaller bundle pass `() => import(\"./my-echarts\")`, a module\n * that registers only the charts you use with `echarts/core`.\n */\n loader?: () => Promise<ChartModule>;\n /** How ECharts draws: \"canvas\" (default) or \"svg\". Read once, when the chart is created. */\n renderer?: \"canvas\" | \"svg\";\n /** A click on an item: a bar, a point, a node. */\n onClick?: (params: ChartEventParams) => void;\n /** The ECharts instance, once it has drawn — for other events and actions. Called again if a theme change re-creates it. */\n onReady?: (chart: ChartInstance) => void;\n /** Test id of the root `<div>`; `chart` unless given. */\n \"data-testid\"?: string;\n}\n\ninterface ChartState {\n module: ChartModule | null;\n instance: ChartInstance | null;\n themed: ChartPalette | null;\n announced: ChartInstance | null;\n /** The option last drawn, serialised; null forces the next draw. */\n drawn: string | null;\n pending: boolean;\n}\n\nconst cssLength = (value: number | string): string => (typeof value === \"number\" ? `${value}px` : value);\n\nconst loadECharts = (): Promise<ChartModule> => import(\"echarts\") as unknown as Promise<ChartModule>;\n\n// Functions (formatters) count by their source, so a changed formatter redraws.\nconst serialise = (option: ChartOption): string | null => {\n try {\n return JSON.stringify(option, (_key, value: unknown) => (typeof value === \"function\" ? String(value) : value));\n } catch {\n return null;\n }\n};\n\n/**\n * An ECharts chart in the theme's palette. On the server, and until ECharts\n * loads in the browser, a skeleton of the same size stands in its place, so\n * the page does not jump; the chart follows theme switches and its box's size.\n */\nexport const Chart = React.forwardRef<HTMLDivElement, ChartProps>(function Chart(\n {\n className,\n style,\n label,\n summary,\n option,\n height = 240,\n loader,\n renderer = \"canvas\",\n onClick,\n onReady,\n \"data-testid\": dataTestId = \"chart\",\n ...rest\n },\n ref\n) {\n const rootRef = useRef<HTMLDivElement | null>(null);\n const canvasRef = useRef<HTMLDivElement>(null);\n const [palette, setPalette] = useState<ChartPalette | null>(null);\n const [ready, setReady] = useState(false);\n const state = useRef<ChartState>({\n module: null,\n instance: null,\n themed: null,\n announced: null,\n drawn: null,\n pending: false,\n });\n const latest = useRef({ option, palette, loader, renderer, onClick, onReady });\n latest.current = { option, palette, loader, renderer, onClick, onReady };\n\n const setRoot = (element: HTMLDivElement | null): void => {\n rootRef.current = element;\n if (typeof ref === \"function\") ref(element);\n else if (ref) ref.current = element;\n };\n\n const hasSize = (): boolean => {\n const canvas = canvasRef.current;\n return Boolean(canvas && canvas.clientWidth > 0 && canvas.clientHeight > 0);\n };\n\n const create = (loaded: ChartModule, colours: ChartPalette): ChartInstance => {\n const created = loaded.init(canvasRef.current!, chartTheme(colours), { renderer: latest.current.renderer });\n created.on(\"click\", (params) => latest.current.onClick?.(params));\n state.current.themed = colours;\n state.current.drawn = null;\n return created;\n };\n\n // Not at zero size (a hidden tab, a collapsed panel): there the graph of\n // ECharts 6.1 inverts a degenerate matrix and throws. The option waits for\n // the chart to get a size, and a failed redraw is caught up on the next one.\n const draw = (): void => {\n const current = state.current;\n const colours = latest.current.palette;\n if (!current.instance || !colours) return;\n if (!hasSize()) {\n current.pending = true;\n return;\n }\n const source = latest.current.option;\n const next = typeof source === \"function\" ? source(colours) : source;\n const key = serialise(next);\n if (!current.pending && key !== null && key === current.drawn) return;\n current.pending = false;\n try {\n current.instance.setOption(next, { notMerge: true });\n current.drawn = key;\n } catch (error) {\n current.drawn = null;\n console.error(\"[smwb] Chart: the option did not draw.\", error);\n }\n };\n\n const retheme = (colours: ChartPalette): void => {\n const current = state.current;\n if (!current.instance || !current.module || (current.themed && samePalette(current.themed, colours))) return;\n if (typeof current.instance.setTheme === \"function\") {\n try {\n current.instance.setTheme(chartTheme(colours));\n } catch (error) {\n console.error(\"[smwb] Chart: the theme did not apply.\", error);\n }\n current.themed = colours;\n current.drawn = null;\n } else {\n current.instance.dispose();\n current.instance = create(current.module, colours);\n }\n };\n\n useEffect(() => {\n const root = rootRef.current!;\n const canvas = canvasRef.current!;\n const current = state.current;\n let disposed = false;\n\n const refresh = (): void => {\n const next = readChartPalette(root);\n setPalette((previous) => (previous && samePalette(previous, next) ? previous : next));\n };\n refresh();\n\n // The theme switches by an attribute on <html> (data-theme, a class) or\n // with the system setting.\n const themeObserver = new MutationObserver(() => requestAnimationFrame(refresh));\n themeObserver.observe(document.documentElement, {\n attributes: true,\n attributeFilter: [\"data-theme\", \"class\", \"style\"],\n });\n const media =\n typeof window.matchMedia === \"function\" ? window.matchMedia(\"(prefers-color-scheme: dark)\") : undefined;\n media?.addEventListener(\"change\", refresh);\n\n // The palette is read again here, not taken from mount: a theme set after\n // the chart mounted (a parent's effect runs after this one) would otherwise\n // show for a frame in the old colours.\n const start = (): void => {\n if (disposed || current.instance || !current.module || !hasSize()) return;\n const colours = readChartPalette(root);\n setPalette((previous) => (previous && samePalette(previous, colours) ? previous : colours));\n current.instance = create(current.module, colours);\n setReady(true);\n };\n\n const onResize = (): void => {\n if (!hasSize()) return;\n if (!current.instance) {\n start();\n return;\n }\n try {\n current.instance.resize();\n } catch {\n // It catches up on the next resize.\n }\n if (current.pending) draw();\n };\n // In the next frame, not in the observer's callback: drawing there resizes\n // what it observes, and the browser reports a ResizeObserver loop.\n let frame = 0;\n const resizeObserver =\n typeof ResizeObserver === \"function\"\n ? new ResizeObserver(() => {\n cancelAnimationFrame(frame);\n frame = requestAnimationFrame(onResize);\n })\n : undefined;\n resizeObserver?.observe(canvas);\n\n (latest.current.loader ?? loadECharts)().then(\n (loaded) => {\n current.module = loaded;\n start();\n },\n (error: unknown) => console.error(\"[smwb] Chart: ECharts did not load.\", error)\n );\n\n return () => {\n disposed = true;\n themeObserver.disconnect();\n media?.removeEventListener(\"change\", refresh);\n resizeObserver?.disconnect();\n cancelAnimationFrame(frame);\n current.instance?.dispose();\n current.instance = null;\n current.announced = null;\n current.drawn = null;\n // Effects that run again with the state kept (fast refresh, a hidden\n // <Activity>) create a new chart, and it must draw.\n setReady(false);\n };\n // The chart is set up once; later props are read through `latest`.\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n useEffect(() => {\n const current = state.current;\n if (!ready || !palette || !current.instance) return;\n retheme(palette);\n draw();\n if (current.instance && current.announced !== current.instance) {\n current.announced = current.instance;\n latest.current.onReady?.(current.instance);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ready, palette, option]);\n\n return (\n <div\n data-testid={dataTestId}\n {...rest}\n ref={setRoot}\n className={cn(\"smwb-chart\", className)}\n style={{ ...style, height: cssLength(height) }}\n >\n <div ref={canvasRef} className=\"smwb-chart__canvas\" role=\"img\" aria-label={label} />\n {!ready ? <Skeleton className=\"smwb-chart__skeleton\" variant=\"rounded\" width=\"100%\" height=\"100%\" /> : null}\n {summary ? <p className=\"smwb-chart__summary\">{summary}</p> : null}\n </div>\n );\n});\n\nexport default Chart;\n"],"names":["cssLength","value","loadECharts","serialise","option","_key","Chart","React","className","style","label","summary","height","loader","renderer","onClick","onReady","dataTestId","rest","ref","rootRef","useRef","canvasRef","palette","setPalette","useState","ready","setReady","state","latest","setRoot","element","hasSize","canvas","create","loaded","colours","created","chartTheme","params","_b","_a","draw","current","source","next","key","error","retheme","samePalette","useEffect","root","disposed","refresh","readChartPalette","previous","themeObserver","media","start","onResize","frame","resizeObserver","jsxs","cn","jsx","Skeleton"],"mappings":"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"}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import type { EChartsOption } from "echarts";
|
|
2
|
+
/** An ECharts option: what the chart shows. */
|
|
3
|
+
export type ChartOption = EChartsOption;
|
|
4
|
+
/** The theme's colours as the chart draws them. */
|
|
5
|
+
export interface ChartPalette {
|
|
6
|
+
/** The surface is dark. */
|
|
7
|
+
dark: boolean;
|
|
8
|
+
/** Text: titles, tooltips. */
|
|
9
|
+
text: string;
|
|
10
|
+
/** Secondary text: axis labels, the legend. */
|
|
11
|
+
muted: string;
|
|
12
|
+
/** Axis and grid lines. */
|
|
13
|
+
line: string;
|
|
14
|
+
/** The surface under the chart: tooltips. */
|
|
15
|
+
surface: string;
|
|
16
|
+
primary: string;
|
|
17
|
+
success: string;
|
|
18
|
+
warning: string;
|
|
19
|
+
error: string;
|
|
20
|
+
info: string;
|
|
21
|
+
/**
|
|
22
|
+
* Series colours, in order: `--smwb-chart-series-1` … `-12`. The default set
|
|
23
|
+
* stays apart with colour-vision deficiencies.
|
|
24
|
+
*/
|
|
25
|
+
series: string[];
|
|
26
|
+
/** The font of the text around the chart. */
|
|
27
|
+
fontFamily: string;
|
|
28
|
+
}
|
|
29
|
+
/** Darker than mid-grey: `#rgb`, `#rrggbb` and `rgb()`/`rgba()`; anything else counts as light. */
|
|
30
|
+
export declare function isDarkColour(colour: string): boolean;
|
|
31
|
+
/** Reads the palette from the element's computed style. */
|
|
32
|
+
export declare function readChartPalette(host: HTMLElement): ChartPalette;
|
|
33
|
+
export declare const samePalette: (a: ChartPalette, b: ChartPalette) => boolean;
|
|
34
|
+
/** An ECharts theme in the palette: series colours, text, axes, grid lines, legend, tooltip. */
|
|
35
|
+
export declare function chartTheme(palette: ChartPalette): Record<string, unknown>;
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
const l = ["#0072b2", "#e69f00", "#009e73", "#cc79a7", "#56b4e9", "#d55e00", "#7a7a7a"];
|
|
2
|
+
function u(r) {
|
|
3
|
+
let o = null;
|
|
4
|
+
const e = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(r.trim());
|
|
5
|
+
if (e)
|
|
6
|
+
o = (e[1].length === 3 ? [...e[1]].map((t) => t + t) : e[1].match(/../g)).map((t) => parseInt(t, 16));
|
|
7
|
+
else {
|
|
8
|
+
const i = /^rgba?\(\s*([\d.]+)[\s,]+([\d.]+)[\s,]+([\d.]+)/i.exec(r.trim());
|
|
9
|
+
i && (o = [Number(i[1]), Number(i[2]), Number(i[3])]);
|
|
10
|
+
}
|
|
11
|
+
if (!o) return !1;
|
|
12
|
+
const [n, c, s] = o.map((i) => {
|
|
13
|
+
const t = i / 255;
|
|
14
|
+
return t <= 0.03928 ? t / 12.92 : ((t + 0.055) / 1.055) ** 2.4;
|
|
15
|
+
});
|
|
16
|
+
return 0.2126 * n + 0.7152 * c + 0.0722 * s < 0.2;
|
|
17
|
+
}
|
|
18
|
+
function a(r) {
|
|
19
|
+
const o = getComputedStyle(r), e = (s, i) => o.getPropertyValue(s).trim() || i, n = [];
|
|
20
|
+
for (let s = 1; s <= 12; s += 1) {
|
|
21
|
+
const i = o.getPropertyValue(`--smwb-chart-series-${s}`).trim();
|
|
22
|
+
i && n.push(i);
|
|
23
|
+
}
|
|
24
|
+
const c = e("--smui-surfaceBackground", "#ffffff");
|
|
25
|
+
return {
|
|
26
|
+
dark: u(c),
|
|
27
|
+
text: e("--smui-onSurfaceColor", "#1c1b1f"),
|
|
28
|
+
muted: e("--smui-onSurfaceVariant", "#49454e"),
|
|
29
|
+
line: e("--smui-dividerColor", "rgba(0, 0, 0, 0.12)"),
|
|
30
|
+
surface: c,
|
|
31
|
+
primary: e("--smui-primaryColor", "#6750a4"),
|
|
32
|
+
success: e("--smui-successColor", "#2e7d32"),
|
|
33
|
+
warning: e("--smui-warningColor", "#ed6c02"),
|
|
34
|
+
error: e("--smui-errorColor", "#d32f2f"),
|
|
35
|
+
info: e("--smui-infoColor", "#0288d1"),
|
|
36
|
+
series: n.length > 0 ? n : l,
|
|
37
|
+
fontFamily: o.fontFamily || "sans-serif"
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
const m = (r, o) => JSON.stringify(r) === JSON.stringify(o);
|
|
41
|
+
function f(r) {
|
|
42
|
+
const o = {
|
|
43
|
+
axisLine: { lineStyle: { color: r.line } },
|
|
44
|
+
axisTick: { lineStyle: { color: r.line } },
|
|
45
|
+
axisLabel: { color: r.muted },
|
|
46
|
+
splitLine: { lineStyle: { color: [r.line] } },
|
|
47
|
+
nameTextStyle: { color: r.muted }
|
|
48
|
+
};
|
|
49
|
+
return {
|
|
50
|
+
darkMode: r.dark,
|
|
51
|
+
color: r.series,
|
|
52
|
+
backgroundColor: "transparent",
|
|
53
|
+
textStyle: { color: r.text, fontFamily: r.fontFamily },
|
|
54
|
+
title: { textStyle: { color: r.text }, subtextStyle: { color: r.muted } },
|
|
55
|
+
legend: { textStyle: { color: r.muted }, pageTextStyle: { color: r.muted } },
|
|
56
|
+
tooltip: {
|
|
57
|
+
backgroundColor: r.surface,
|
|
58
|
+
borderColor: r.line,
|
|
59
|
+
textStyle: { color: r.text }
|
|
60
|
+
},
|
|
61
|
+
categoryAxis: o,
|
|
62
|
+
valueAxis: o,
|
|
63
|
+
logAxis: o,
|
|
64
|
+
timeAxis: o,
|
|
65
|
+
dataZoom: { textStyle: { color: r.muted }, borderColor: r.line }
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
export {
|
|
69
|
+
f as chartTheme,
|
|
70
|
+
u as isDarkColour,
|
|
71
|
+
a as readChartPalette,
|
|
72
|
+
m as samePalette
|
|
73
|
+
};
|
|
74
|
+
//# sourceMappingURL=chartTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chartTheme.js","sources":["../../../../src/components/dataDisplay/chart/chartTheme.ts"],"sourcesContent":["// The chart's colours come from the theme's CSS variables, read as computed\n// values — a canvas needs colours, not var() references — and turned into an\n// ECharts theme: axes, grid lines, legend and tooltip in the page's palette.\n\nimport type { EChartsOption } from \"echarts\";\n\n/** An ECharts option: what the chart shows. */\nexport type ChartOption = EChartsOption;\n\n/** The theme's colours as the chart draws them. */\nexport interface ChartPalette {\n /** The surface is dark. */\n dark: boolean;\n /** Text: titles, tooltips. */\n text: string;\n /** Secondary text: axis labels, the legend. */\n muted: string;\n /** Axis and grid lines. */\n line: string;\n /** The surface under the chart: tooltips. */\n surface: string;\n primary: string;\n success: string;\n warning: string;\n error: string;\n info: string;\n /**\n * Series colours, in order: `--smwb-chart-series-1` … `-12`. The default set\n * stays apart with colour-vision deficiencies.\n */\n series: string[];\n /** The font of the text around the chart. */\n fontFamily: string;\n}\n\nconst MAX_SERIES = 12;\nconst FALLBACK_SERIES = [\"#0072b2\", \"#e69f00\", \"#009e73\", \"#cc79a7\", \"#56b4e9\", \"#d55e00\", \"#7a7a7a\"];\n\n/** Darker than mid-grey: `#rgb`, `#rrggbb` and `rgb()`/`rgba()`; anything else counts as light. */\nexport function isDarkColour(colour: string): boolean {\n let rgb: number[] | null = null;\n const hex = /^#([0-9a-f]{3}|[0-9a-f]{6})$/i.exec(colour.trim());\n if (hex) {\n const digits = hex[1].length === 3 ? [...hex[1]].map((d) => d + d) : hex[1].match(/../g)!;\n rgb = digits.map((pair) => parseInt(pair, 16));\n } else {\n const fn = /^rgba?\\(\\s*([\\d.]+)[\\s,]+([\\d.]+)[\\s,]+([\\d.]+)/i.exec(colour.trim());\n if (fn) rgb = [Number(fn[1]), Number(fn[2]), Number(fn[3])];\n }\n if (!rgb) return false;\n const [r, g, b] = rgb.map((channel) => {\n const c = channel / 255;\n return c <= 0.03928 ? c / 12.92 : ((c + 0.055) / 1.055) ** 2.4;\n }) as [number, number, number];\n return 0.2126 * r + 0.7152 * g + 0.0722 * b < 0.2;\n}\n\n/** Reads the palette from the element's computed style. */\nexport function readChartPalette(host: HTMLElement): ChartPalette {\n const css = getComputedStyle(host);\n const value = (name: string, fallback: string): string => css.getPropertyValue(name).trim() || fallback;\n const series: string[] = [];\n for (let index = 1; index <= MAX_SERIES; index += 1) {\n const colour = css.getPropertyValue(`--smwb-chart-series-${index}`).trim();\n if (colour) series.push(colour);\n }\n const surface = value(\"--smui-surfaceBackground\", \"#ffffff\");\n return {\n dark: isDarkColour(surface),\n text: value(\"--smui-onSurfaceColor\", \"#1c1b1f\"),\n muted: value(\"--smui-onSurfaceVariant\", \"#49454e\"),\n line: value(\"--smui-dividerColor\", \"rgba(0, 0, 0, 0.12)\"),\n surface,\n primary: value(\"--smui-primaryColor\", \"#6750a4\"),\n success: value(\"--smui-successColor\", \"#2e7d32\"),\n warning: value(\"--smui-warningColor\", \"#ed6c02\"),\n error: value(\"--smui-errorColor\", \"#d32f2f\"),\n info: value(\"--smui-infoColor\", \"#0288d1\"),\n series: series.length > 0 ? series : FALLBACK_SERIES,\n fontFamily: css.fontFamily || \"sans-serif\",\n };\n}\n\nexport const samePalette = (a: ChartPalette, b: ChartPalette): boolean => JSON.stringify(a) === JSON.stringify(b);\n\n/** An ECharts theme in the palette: series colours, text, axes, grid lines, legend, tooltip. */\nexport function chartTheme(palette: ChartPalette): Record<string, unknown> {\n const axis = {\n axisLine: { lineStyle: { color: palette.line } },\n axisTick: { lineStyle: { color: palette.line } },\n axisLabel: { color: palette.muted },\n splitLine: { lineStyle: { color: [palette.line] } },\n nameTextStyle: { color: palette.muted },\n };\n return {\n darkMode: palette.dark,\n color: palette.series,\n backgroundColor: \"transparent\",\n textStyle: { color: palette.text, fontFamily: palette.fontFamily },\n title: { textStyle: { color: palette.text }, subtextStyle: { color: palette.muted } },\n legend: { textStyle: { color: palette.muted }, pageTextStyle: { color: palette.muted } },\n tooltip: {\n backgroundColor: palette.surface,\n borderColor: palette.line,\n textStyle: { color: palette.text },\n },\n categoryAxis: axis,\n valueAxis: axis,\n logAxis: axis,\n timeAxis: axis,\n dataZoom: { textStyle: { color: palette.muted }, borderColor: palette.line },\n };\n}\n"],"names":["FALLBACK_SERIES","isDarkColour","colour","rgb","hex","d","pair","fn","r","g","b","channel","c","readChartPalette","host","css","value","name","fallback","series","index","surface","samePalette","a","chartTheme","palette","axis"],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { jsx as t, jsxs as y, Fragment as dt } from "react/jsx-runtime";
|
|
2
|
-
import '../../../assets/styles/less/components/chat/chat.entry.css';/* empty css
|
|
2
|
+
import '../../../assets/styles/less/components/chat/chat.entry.css';import '../../../assets/styles/less/tokens.entry.css';/* empty css */
|
|
3
|
+
/* empty css */
|
|
3
4
|
import { useMemo as Ct, useId as vt } from "react";
|
|
4
5
|
import wt from "clsx";
|
|
5
6
|
import { FloatingButton as _t } from "../../inputs/floatingButton/floatingButton.js";
|
|
@@ -12,7 +13,7 @@ import { ChatShell as Ft } from "./chatShell.js";
|
|
|
12
13
|
import It from "./useChatFileUpload.js";
|
|
13
14
|
import { CHAT_EXPAND_LAYOUTS as Nt } from "./types.js";
|
|
14
15
|
import { resolveAllowedLayouts as Et, pickInitialLayout as B, shouldShowChatCloseButton as Ot } from "./utils.js";
|
|
15
|
-
function
|
|
16
|
+
function Jt({
|
|
16
17
|
className: F,
|
|
17
18
|
messages: I,
|
|
18
19
|
showAvatars: N = !1,
|
|
@@ -177,7 +178,7 @@ function Gt({
|
|
|
177
178
|
);
|
|
178
179
|
}
|
|
179
180
|
export {
|
|
180
|
-
|
|
181
|
-
|
|
181
|
+
Jt as Chat,
|
|
182
|
+
Jt as default
|
|
182
183
|
};
|
|
183
184
|
//# sourceMappingURL=chat.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat.js","sources":["../../../../src/components/dataDisplay/chat/chat.tsx"],"sourcesContent":["import React, { PropsWithChildren, ReactNode, useId, useMemo } from \"react\";\nimport cn from \"clsx\";\nimport type { Accept } from \"./useChatFileUpload\";\nimport { FloatingButton } from \"../../inputs/floatingButton/floatingButton\";\nimport Icon from \"../../base/icon/icon\";\nimport { useControllableState } from \"../../../hooks/useControllableState\";\nimport ChatComposer from \"./chatComposer\";\nimport ChatHeader from \"./chatHeader\";\nimport ChatMessages, { ChatMessagesProps } from \"./chatMessages\";\nimport ChatShell from \"./chatShell\";\nimport useChatFileUpload from \"./useChatFileUpload\";\nimport {\n ChatAnchor,\n ChatLayoutMode,\n ChatMessage,\n ChatMessageRenderContext,\n ChatThemeMode,\n CHAT_EXPAND_LAYOUTS,\n} from \"./types\";\nimport { pickInitialLayout, resolveAllowedLayouts, shouldShowChatCloseButton } from \"./utils\";\n\nexport interface ChatProps\n extends PropsWithChildren, Omit<ChatMessageRenderContext, \"showAvatars\" | \"showAttachments\"> {\n className?: string;\n messages: ChatMessage[];\n showAvatars?: boolean;\n showAttachments?: boolean;\n headerTitle?: ReactNode;\n headerSubtitle?: ReactNode;\n headerActions?: ReactNode;\n footer?: ReactNode;\n anchor?: ChatAnchor;\n themeMode?: ChatThemeMode;\n allowedLayouts?: ChatLayoutMode[];\n layout?: ChatLayoutMode;\n defaultLayout?: ChatLayoutMode;\n onLayoutChange?: (layout: ChatLayoutMode) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n floatingTrigger?: boolean;\n triggerIcon?: ReactNode;\n triggerLabel?: string;\n onLoadMore?: () => void | Promise<void>;\n hasMore?: boolean;\n onSendMessage?: (text: string) => void | Promise<void>;\n composerPlaceholder?: string;\n composerDisabled?: boolean;\n composerShiftEnterNewline?: boolean;\n composerCtrlEnterNewline?: boolean;\n fileUpload?: boolean;\n onUploadFiles?: (files: File[]) => void | Promise<void>;\n fileUploadAccept?: Accept;\n fileUploadMaxFiles?: number;\n attachAriaLabel?: string;\n loading?: boolean;\n loadingMore?: boolean;\n loadingSkeletonCount?: number;\n renderMessage?: ChatMessagesProps[\"renderMessage\"];\n embedded?: boolean;\n overlayContext?: boolean;\n showStatus?: boolean;\n statusIcons?: ChatMessageRenderContext[\"statusIcons\"];\n renderStatus?: ChatMessageRenderContext[\"renderStatus\"];\n showCloseButton?: boolean;\n}\n\nexport function Chat({\n className,\n messages,\n showAvatars = false,\n showAttachments = false,\n headerTitle,\n headerSubtitle,\n headerActions,\n footer,\n children,\n anchor = \"bottom-right\",\n themeMode = \"inherit\",\n allowedLayouts: allowedLayoutsProp,\n layout: layoutProp,\n defaultLayout,\n onLayoutChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n floatingTrigger = false,\n triggerIcon,\n triggerLabel,\n onLoadMore,\n hasMore,\n onSendMessage,\n composerPlaceholder = \"message\",\n composerDisabled,\n composerShiftEnterNewline = true,\n composerCtrlEnterNewline = true,\n fileUpload = false,\n onUploadFiles,\n fileUploadAccept,\n fileUploadMaxFiles,\n attachAriaLabel,\n loading,\n loadingMore,\n loadingSkeletonCount,\n renderMessage,\n embedded = false,\n overlayContext = false,\n showStatus = false,\n statusIcons,\n renderStatus,\n showCloseButton,\n}: ChatProps) {\n const allowedLayouts = useMemo(\n () => resolveAllowedLayouts(allowedLayoutsProp ?? CHAT_EXPAND_LAYOUTS),\n [allowedLayoutsProp]\n );\n\n const [open, setOpen] = useControllableState<boolean>({\n value: openProp,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n });\n\n const [layout, setLayout] = useControllableState<ChatLayoutMode>({\n value: layoutProp,\n defaultValue: pickInitialLayout(allowedLayouts, defaultLayout),\n onChange: onLayoutChange,\n });\n\n const effectiveLayout: ChatLayoutMode = embedded\n ? \"fullHeight\"\n : floatingTrigger\n ? open\n ? layout\n : \"closed\"\n : layout;\n\n const handleOpen = () => {\n setOpen(true);\n if (layout === \"closed\") {\n setLayout(pickInitialLayout(allowedLayouts, defaultLayout));\n }\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleLayoutChange = (next: ChatLayoutMode) => {\n setOpen(true);\n setLayout(next);\n };\n\n const {\n enabled: fileUploadEnabled,\n getRootProps,\n getInputProps,\n isDragActive,\n } = useChatFileUpload({\n enabled: fileUpload,\n accept: fileUploadAccept,\n maxFiles: fileUploadMaxFiles,\n onUploadFiles,\n disabled: composerDisabled,\n });\n\n const attachInputId = useId();\n\n const showComposer = Boolean(onSendMessage) || fileUploadEnabled;\n\n const fileInput = fileUploadEnabled ? (\n <input {...getInputProps({ id: attachInputId })} data-testid=\"chat-file-input\" />\n ) : null;\n\n const resolvedFooter =\n footer ??\n children ??\n (showComposer ? (\n <>\n {fileInput}\n <ChatComposer\n onSendMessage={onSendMessage}\n placeholder={composerPlaceholder}\n disabled={composerDisabled}\n shiftEnterNewline={composerShiftEnterNewline}\n ctrlEnterNewline={composerCtrlEnterNewline}\n fileUpload={fileUploadEnabled}\n attachInputId={fileUploadEnabled ? attachInputId : undefined}\n attachAriaLabel={attachAriaLabel}\n />\n </>\n ) : undefined);\n\n const chatMessages = (\n <ChatMessages\n messages={messages}\n showAvatars={showAvatars}\n showAttachments={showAttachments}\n showStatus={showStatus}\n statusIcons={statusIcons}\n renderStatus={renderStatus}\n onLoadMore={onLoadMore}\n hasMore={hasMore}\n loading={loading}\n loadingMore={loadingMore}\n loadingSkeletonCount={loadingSkeletonCount}\n renderMessage={renderMessage}\n />\n );\n\n const chatBody = chatMessages;\n\n const fileDropzoneRootProps = fileUploadEnabled ? getRootProps() : undefined;\n\n const closeButtonVisible = shouldShowChatCloseButton({\n floatingTrigger,\n embedded,\n overlayContext,\n effectiveLayout,\n showCloseButton,\n });\n\n return (\n <div\n className={cn(\n \"smwb-chat\",\n !embedded && `smwb-chat_${anchor}`,\n embedded && \"smwb-chat_embedded\",\n overlayContext && \"smwb-chat_overlay-context\",\n className\n )}\n data-testid=\"chat\"\n >\n {floatingTrigger && !embedded && !open ? (\n <FloatingButton\n className=\"smwb-chat__trigger\"\n aria-label={triggerLabel ?? \"Open chat\"}\n data-testid=\"chat-trigger\"\n onClick={handleOpen}\n >\n {triggerIcon ?? <Icon name=\"chat\" size={24} />}\n </FloatingButton>\n ) : null}\n <ChatShell\n layout={effectiveLayout}\n anchor={anchor}\n themeMode={themeMode}\n embedded={embedded}\n overlayContext={overlayContext}\n fileDropzoneRootProps={fileDropzoneRootProps}\n fileDropzoneActive={fileUploadEnabled && isDragActive}\n header={\n <ChatHeader\n title={headerTitle}\n subtitle={headerSubtitle}\n actions={headerActions}\n layout={effectiveLayout === \"closed\" ? layout : effectiveLayout}\n allowedLayouts={allowedLayouts}\n onLayoutChange={handleLayoutChange}\n onClose={closeButtonVisible ? handleClose : undefined}\n />\n }\n footer={resolvedFooter}\n >\n {chatBody}\n </ChatShell>\n </div>\n );\n}\n\nexport default Chat;\n"],"names":["Chat","className","messages","showAvatars","showAttachments","headerTitle","headerSubtitle","headerActions","footer","children","anchor","themeMode","allowedLayoutsProp","layoutProp","defaultLayout","onLayoutChange","openProp","defaultOpen","onOpenChange","floatingTrigger","triggerIcon","triggerLabel","onLoadMore","hasMore","onSendMessage","composerPlaceholder","composerDisabled","composerShiftEnterNewline","composerCtrlEnterNewline","fileUpload","onUploadFiles","fileUploadAccept","fileUploadMaxFiles","attachAriaLabel","loading","loadingMore","loadingSkeletonCount","renderMessage","embedded","overlayContext","showStatus","statusIcons","renderStatus","showCloseButton","allowedLayouts","useMemo","resolveAllowedLayouts","CHAT_EXPAND_LAYOUTS","open","setOpen","useControllableState","layout","setLayout","pickInitialLayout","effectiveLayout","handleOpen","handleClose","handleLayoutChange","next","fileUploadEnabled","getRootProps","getInputProps","isDragActive","useChatFileUpload","attachInputId","useId","showComposer","fileInput","jsx","resolvedFooter","_a","jsxs","Fragment","ChatComposer","chatBody","ChatMessages","fileDropzoneRootProps","closeButtonVisible","shouldShowChatCloseButton","cn","FloatingButton","Icon","ChatShell","ChatHeader"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"chat.js","sources":["../../../../src/components/dataDisplay/chat/chat.tsx"],"sourcesContent":["import React, { PropsWithChildren, ReactNode, useId, useMemo } from \"react\";\nimport cn from \"clsx\";\nimport type { Accept } from \"./useChatFileUpload\";\nimport { FloatingButton } from \"../../inputs/floatingButton/floatingButton\";\nimport Icon from \"../../base/icon/icon\";\nimport { useControllableState } from \"../../../hooks/useControllableState\";\nimport ChatComposer from \"./chatComposer\";\nimport ChatHeader from \"./chatHeader\";\nimport ChatMessages, { ChatMessagesProps } from \"./chatMessages\";\nimport ChatShell from \"./chatShell\";\nimport useChatFileUpload from \"./useChatFileUpload\";\nimport {\n ChatAnchor,\n ChatLayoutMode,\n ChatMessage,\n ChatMessageRenderContext,\n ChatThemeMode,\n CHAT_EXPAND_LAYOUTS,\n} from \"./types\";\nimport { pickInitialLayout, resolveAllowedLayouts, shouldShowChatCloseButton } from \"./utils\";\n\nexport interface ChatProps\n extends PropsWithChildren, Omit<ChatMessageRenderContext, \"showAvatars\" | \"showAttachments\"> {\n className?: string;\n messages: ChatMessage[];\n showAvatars?: boolean;\n showAttachments?: boolean;\n headerTitle?: ReactNode;\n headerSubtitle?: ReactNode;\n headerActions?: ReactNode;\n footer?: ReactNode;\n anchor?: ChatAnchor;\n themeMode?: ChatThemeMode;\n allowedLayouts?: ChatLayoutMode[];\n layout?: ChatLayoutMode;\n defaultLayout?: ChatLayoutMode;\n onLayoutChange?: (layout: ChatLayoutMode) => void;\n open?: boolean;\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n floatingTrigger?: boolean;\n triggerIcon?: ReactNode;\n triggerLabel?: string;\n onLoadMore?: () => void | Promise<void>;\n hasMore?: boolean;\n onSendMessage?: (text: string) => void | Promise<void>;\n composerPlaceholder?: string;\n composerDisabled?: boolean;\n composerShiftEnterNewline?: boolean;\n composerCtrlEnterNewline?: boolean;\n fileUpload?: boolean;\n onUploadFiles?: (files: File[]) => void | Promise<void>;\n fileUploadAccept?: Accept;\n fileUploadMaxFiles?: number;\n attachAriaLabel?: string;\n loading?: boolean;\n loadingMore?: boolean;\n loadingSkeletonCount?: number;\n renderMessage?: ChatMessagesProps[\"renderMessage\"];\n embedded?: boolean;\n overlayContext?: boolean;\n showStatus?: boolean;\n statusIcons?: ChatMessageRenderContext[\"statusIcons\"];\n renderStatus?: ChatMessageRenderContext[\"renderStatus\"];\n showCloseButton?: boolean;\n}\n\nexport function Chat({\n className,\n messages,\n showAvatars = false,\n showAttachments = false,\n headerTitle,\n headerSubtitle,\n headerActions,\n footer,\n children,\n anchor = \"bottom-right\",\n themeMode = \"inherit\",\n allowedLayouts: allowedLayoutsProp,\n layout: layoutProp,\n defaultLayout,\n onLayoutChange,\n open: openProp,\n defaultOpen = false,\n onOpenChange,\n floatingTrigger = false,\n triggerIcon,\n triggerLabel,\n onLoadMore,\n hasMore,\n onSendMessage,\n composerPlaceholder = \"message\",\n composerDisabled,\n composerShiftEnterNewline = true,\n composerCtrlEnterNewline = true,\n fileUpload = false,\n onUploadFiles,\n fileUploadAccept,\n fileUploadMaxFiles,\n attachAriaLabel,\n loading,\n loadingMore,\n loadingSkeletonCount,\n renderMessage,\n embedded = false,\n overlayContext = false,\n showStatus = false,\n statusIcons,\n renderStatus,\n showCloseButton,\n}: ChatProps) {\n const allowedLayouts = useMemo(\n () => resolveAllowedLayouts(allowedLayoutsProp ?? CHAT_EXPAND_LAYOUTS),\n [allowedLayoutsProp]\n );\n\n const [open, setOpen] = useControllableState<boolean>({\n value: openProp,\n defaultValue: defaultOpen,\n onChange: onOpenChange,\n });\n\n const [layout, setLayout] = useControllableState<ChatLayoutMode>({\n value: layoutProp,\n defaultValue: pickInitialLayout(allowedLayouts, defaultLayout),\n onChange: onLayoutChange,\n });\n\n const effectiveLayout: ChatLayoutMode = embedded\n ? \"fullHeight\"\n : floatingTrigger\n ? open\n ? layout\n : \"closed\"\n : layout;\n\n const handleOpen = () => {\n setOpen(true);\n if (layout === \"closed\") {\n setLayout(pickInitialLayout(allowedLayouts, defaultLayout));\n }\n };\n\n const handleClose = () => {\n setOpen(false);\n };\n\n const handleLayoutChange = (next: ChatLayoutMode) => {\n setOpen(true);\n setLayout(next);\n };\n\n const {\n enabled: fileUploadEnabled,\n getRootProps,\n getInputProps,\n isDragActive,\n } = useChatFileUpload({\n enabled: fileUpload,\n accept: fileUploadAccept,\n maxFiles: fileUploadMaxFiles,\n onUploadFiles,\n disabled: composerDisabled,\n });\n\n const attachInputId = useId();\n\n const showComposer = Boolean(onSendMessage) || fileUploadEnabled;\n\n const fileInput = fileUploadEnabled ? (\n <input {...getInputProps({ id: attachInputId })} data-testid=\"chat-file-input\" />\n ) : null;\n\n const resolvedFooter =\n footer ??\n children ??\n (showComposer ? (\n <>\n {fileInput}\n <ChatComposer\n onSendMessage={onSendMessage}\n placeholder={composerPlaceholder}\n disabled={composerDisabled}\n shiftEnterNewline={composerShiftEnterNewline}\n ctrlEnterNewline={composerCtrlEnterNewline}\n fileUpload={fileUploadEnabled}\n attachInputId={fileUploadEnabled ? attachInputId : undefined}\n attachAriaLabel={attachAriaLabel}\n />\n </>\n ) : undefined);\n\n const chatMessages = (\n <ChatMessages\n messages={messages}\n showAvatars={showAvatars}\n showAttachments={showAttachments}\n showStatus={showStatus}\n statusIcons={statusIcons}\n renderStatus={renderStatus}\n onLoadMore={onLoadMore}\n hasMore={hasMore}\n loading={loading}\n loadingMore={loadingMore}\n loadingSkeletonCount={loadingSkeletonCount}\n renderMessage={renderMessage}\n />\n );\n\n const chatBody = chatMessages;\n\n const fileDropzoneRootProps = fileUploadEnabled ? getRootProps() : undefined;\n\n const closeButtonVisible = shouldShowChatCloseButton({\n floatingTrigger,\n embedded,\n overlayContext,\n effectiveLayout,\n showCloseButton,\n });\n\n return (\n <div\n className={cn(\n \"smwb-chat\",\n !embedded && `smwb-chat_${anchor}`,\n embedded && \"smwb-chat_embedded\",\n overlayContext && \"smwb-chat_overlay-context\",\n className\n )}\n data-testid=\"chat\"\n >\n {floatingTrigger && !embedded && !open ? (\n <FloatingButton\n className=\"smwb-chat__trigger\"\n aria-label={triggerLabel ?? \"Open chat\"}\n data-testid=\"chat-trigger\"\n onClick={handleOpen}\n >\n {triggerIcon ?? <Icon name=\"chat\" size={24} />}\n </FloatingButton>\n ) : null}\n <ChatShell\n layout={effectiveLayout}\n anchor={anchor}\n themeMode={themeMode}\n embedded={embedded}\n overlayContext={overlayContext}\n fileDropzoneRootProps={fileDropzoneRootProps}\n fileDropzoneActive={fileUploadEnabled && isDragActive}\n header={\n <ChatHeader\n title={headerTitle}\n subtitle={headerSubtitle}\n actions={headerActions}\n layout={effectiveLayout === \"closed\" ? layout : effectiveLayout}\n allowedLayouts={allowedLayouts}\n onLayoutChange={handleLayoutChange}\n onClose={closeButtonVisible ? handleClose : undefined}\n />\n }\n footer={resolvedFooter}\n >\n {chatBody}\n </ChatShell>\n </div>\n );\n}\n\nexport default Chat;\n"],"names":["Chat","className","messages","showAvatars","showAttachments","headerTitle","headerSubtitle","headerActions","footer","children","anchor","themeMode","allowedLayoutsProp","layoutProp","defaultLayout","onLayoutChange","openProp","defaultOpen","onOpenChange","floatingTrigger","triggerIcon","triggerLabel","onLoadMore","hasMore","onSendMessage","composerPlaceholder","composerDisabled","composerShiftEnterNewline","composerCtrlEnterNewline","fileUpload","onUploadFiles","fileUploadAccept","fileUploadMaxFiles","attachAriaLabel","loading","loadingMore","loadingSkeletonCount","renderMessage","embedded","overlayContext","showStatus","statusIcons","renderStatus","showCloseButton","allowedLayouts","useMemo","resolveAllowedLayouts","CHAT_EXPAND_LAYOUTS","open","setOpen","useControllableState","layout","setLayout","pickInitialLayout","effectiveLayout","handleOpen","handleClose","handleLayoutChange","next","fileUploadEnabled","getRootProps","getInputProps","isDragActive","useChatFileUpload","attachInputId","useId","showComposer","fileInput","jsx","resolvedFooter","_a","jsxs","Fragment","ChatComposer","chatBody","ChatMessages","fileDropzoneRootProps","closeButtonVisible","shouldShowChatCloseButton","cn","FloatingButton","Icon","ChatShell","ChatHeader"],"mappings":";;;;;;;;;;;;;;;AAqEO,SAASA,GAAK;AAAA,EACnB,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,iBAAAC,IAAkB;AAAA,EAClB,aAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AAAA,EACA,QAAAC,IAAS;AAAA,EACT,WAAAC,IAAY;AAAA,EACZ,gBAAgBC;AAAA,EAChB,QAAQC;AAAA,EACR,eAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,MAAMC;AAAA,EACN,aAAAC,IAAc;AAAA,EACd,cAAAC;AAAA,EACA,iBAAAC,IAAkB;AAAA,EAClB,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,YAAAC;AAAA,EACA,SAAAC;AAAA,EACA,eAAAC;AAAA,EACA,qBAAAC,IAAsB;AAAA,EACtB,kBAAAC;AAAA,EACA,2BAAAC,IAA4B;AAAA,EAC5B,0BAAAC,IAA2B;AAAA,EAC3B,YAAAC,IAAa;AAAA,EACb,eAAAC;AAAA,EACA,kBAAAC;AAAA,EACA,oBAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,SAAAC;AAAA,EACA,aAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,gBAAAC,IAAiB;AAAA,EACjB,YAAAC,IAAa;AAAA,EACb,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,iBAAAC;AACF,GAAc;;AACZ,QAAMC,IAAiBC;AAAA,IACrB,MAAMC,GAAsBlC,KAAA,OAAAA,IAAsBmC,EAAmB;AAAA,IACrE,CAACnC,CAAkB;AAAA,EAAA,GAGf,CAACoC,GAAMC,CAAO,IAAIC,EAA8B;AAAA,IACpD,OAAOlC;AAAA,IACP,cAAcC;AAAA,IACd,UAAUC;AAAA,EAAA,CACX,GAEK,CAACiC,GAAQC,CAAS,IAAIF,EAAqC;AAAA,IAC/D,OAAOrC;AAAA,IACP,cAAcwC,EAAkBT,GAAgB9B,CAAa;AAAA,IAC7D,UAAUC;AAAA,EAAA,CACX,GAEKuC,IAAkChB,IACpC,eACAnB,IACE6B,IACEG,IACA,WACFA,GAEAI,KAAa,MAAM;AACvB,IAAAN,EAAQ,EAAI,GACRE,MAAW,YACbC,EAAUC,EAAkBT,GAAgB9B,CAAa,CAAC;AAAA,EAE9D,GAEM0C,KAAc,MAAM;AACxB,IAAAP,EAAQ,EAAK;AAAA,EACf,GAEMQ,KAAqB,CAACC,OAAyB;AACnD,IAAAT,EAAQ,EAAI,GACZG,EAAUM,EAAI;AAAA,EAChB,GAEM;AAAA,IACJ,SAASC;AAAA,IACT,cAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,EAAA,IACEC,GAAkB;AAAA,IACpB,SAASlC;AAAA,IACT,QAAQE;AAAA,IACR,UAAUC;AAAA,IACV,eAAAF;AAAA,IACA,UAAUJ;AAAA,EAAA,CACX,GAEKsC,IAAgBC,GAAA,GAEhBC,KAAe,EAAQ1C,KAAkBmC,GAEzCQ,KAAYR,IAChB,gBAAAS,EAAC,SAAA,EAAO,GAAGP,GAAc,EAAE,IAAIG,EAAA,CAAe,GAAG,eAAY,mBAAkB,IAC7E,MAEEK,MACJC,IAAA9D,KAAA,OAAAA,IACAC,MADA,OAAA6D,IAECJ,KACC,gBAAAK,EAAAC,IAAA,EACG,UAAA;AAAA,IAAAL;AAAA,IACD,gBAAAC;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,eAAAjD;AAAA,QACA,aAAaC;AAAA,QACb,UAAUC;AAAA,QACV,mBAAmBC;AAAA,QACnB,kBAAkBC;AAAA,QAClB,YAAY+B;AAAA,QACZ,eAAeA,IAAoBK,IAAgB;AAAA,QACnD,iBAAA/B;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,EAAA,CACF,IACE,QAmBAyC,KAhBJ,gBAAAN;AAAA,IAACO;AAAA,IAAA;AAAA,MACC,UAAAzE;AAAA,MACA,aAAAC;AAAA,MACA,iBAAAC;AAAA,MACA,YAAAoC;AAAA,MACA,aAAAC;AAAA,MACA,cAAAC;AAAA,MACA,YAAApB;AAAA,MACA,SAAAC;AAAA,MACA,SAAAW;AAAA,MACA,aAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,eAAAC;AAAA,IAAA;AAAA,EAAA,GAMEuC,KAAwBjB,IAAoBC,GAAA,IAAiB,QAE7DiB,KAAqBC,GAA0B;AAAA,IACnD,iBAAA3D;AAAA,IACA,UAAAmB;AAAA,IACA,gBAAAC;AAAA,IACA,iBAAAe;AAAA,IACA,iBAAAX;AAAA,EAAA,CACD;AAED,SACE,gBAAA4B;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWQ;AAAA,QACT;AAAA,QACA,CAACzC,KAAY,aAAa5B,CAAM;AAAA,QAChC4B,KAAY;AAAA,QACZC,KAAkB;AAAA,QAClBtC;AAAA,MAAA;AAAA,MAEF,eAAY;AAAA,MAEX,UAAA;AAAA,QAAAkB,KAAmB,CAACmB,KAAY,CAACU,IAChC,gBAAAoB;AAAA,UAACY;AAAA,UAAA;AAAA,YACC,WAAU;AAAA,YACV,cAAY3D,KAAA,OAAAA,IAAgB;AAAA,YAC5B,eAAY;AAAA,YACZ,SAASkC;AAAA,YAER,0BAAe,gBAAAa,EAACa,IAAA,EAAK,MAAK,QAAO,MAAM,GAAA,CAAI;AAAA,UAAA;AAAA,QAAA,IAE5C;AAAA,QACJ,gBAAAb;AAAA,UAACc;AAAA,UAAA;AAAA,YACC,QAAQ5B;AAAA,YACR,QAAA5C;AAAA,YACA,WAAAC;AAAA,YACA,UAAA2B;AAAA,YACA,gBAAAC;AAAA,YACA,uBAAAqC;AAAA,YACA,oBAAoBjB,KAAqBG;AAAA,YACzC,QACE,gBAAAM;AAAA,cAACe;AAAA,cAAA;AAAA,gBACC,OAAO9E;AAAA,gBACP,UAAUC;AAAA,gBACV,SAASC;AAAA,gBACT,QAAQ+C,MAAoB,WAAWH,IAASG;AAAA,gBAChD,gBAAAV;AAAA,gBACA,gBAAgBa;AAAA,gBAChB,SAASoB,KAAqBrB,KAAc;AAAA,cAAA;AAAA,YAAA;AAAA,YAGhD,QAAQa;AAAA,YAEP,UAAAK;AAAA,UAAA;AAAA,QAAA;AAAA,MACH;AAAA,IAAA;AAAA,EAAA;AAGN;"}
|
|
@@ -4,5 +4,5 @@ export interface ChatIconButtonProps extends React.ButtonHTMLAttributes<HTMLButt
|
|
|
4
4
|
edge?: "start" | "end";
|
|
5
5
|
color?: "default" | "primary";
|
|
6
6
|
}
|
|
7
|
-
export declare function ChatIconButton({ className, children, disabled, edge, color, onMouseDown: onMouseDownProp, ...rest }: ChatIconButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function ChatIconButton({ className, children, disabled, edge, color, onMouseDown: onMouseDownProp, onPointerDown: onPointerDownProp, type, ...rest }: ChatIconButtonProps): import("react/jsx-runtime").JSX.Element;
|
|
8
8
|
export default ChatIconButton;
|
|
@@ -1,47 +1,51 @@
|
|
|
1
|
-
import { jsxs as
|
|
2
|
-
import
|
|
3
|
-
import
|
|
4
|
-
import { Ripple as
|
|
5
|
-
function
|
|
1
|
+
import { jsxs as h, jsx as R } from "react/jsx-runtime";
|
|
2
|
+
import p from "react";
|
|
3
|
+
import _ from "clsx";
|
|
4
|
+
import { Ripple as x } from "../../base/ripple/ripple.js";
|
|
5
|
+
function w({
|
|
6
6
|
className: i,
|
|
7
|
-
children:
|
|
7
|
+
children: r,
|
|
8
8
|
disabled: t,
|
|
9
|
-
edge:
|
|
10
|
-
color:
|
|
9
|
+
edge: a,
|
|
10
|
+
color: s = "default",
|
|
11
11
|
onMouseDown: n,
|
|
12
|
-
|
|
12
|
+
// The button sets this on its root too; its own handler calls the caller's first.
|
|
13
|
+
onPointerDown: m,
|
|
14
|
+
// A default: the caller's type wins.
|
|
15
|
+
type: f = "button",
|
|
16
|
+
...b
|
|
13
17
|
}) {
|
|
14
|
-
const
|
|
18
|
+
const u = p.useRef(null), l = (c) => {
|
|
15
19
|
n == null || n(c);
|
|
16
|
-
},
|
|
17
|
-
var
|
|
18
|
-
t || (
|
|
20
|
+
}, o = (c) => {
|
|
21
|
+
var e;
|
|
22
|
+
m == null || m(c), t || (e = u.current) == null || e.onRipple(c);
|
|
19
23
|
};
|
|
20
|
-
return /* @__PURE__ */
|
|
24
|
+
return /* @__PURE__ */ h(
|
|
21
25
|
"button",
|
|
22
26
|
{
|
|
23
|
-
type:
|
|
24
|
-
className:
|
|
27
|
+
type: f,
|
|
28
|
+
className: _(
|
|
25
29
|
"smwb-chat-icon-button",
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
30
|
+
a === "start" && "smwb-chat-icon-button_edge-start",
|
|
31
|
+
a === "end" && "smwb-chat-icon-button_edge-end",
|
|
32
|
+
s === "primary" && "smwb-chat-icon-button_primary",
|
|
29
33
|
t && "smwb-chat-icon-button_disabled",
|
|
30
34
|
i
|
|
31
35
|
),
|
|
32
36
|
disabled: t,
|
|
33
|
-
onMouseDown:
|
|
34
|
-
onPointerDown:
|
|
35
|
-
...
|
|
37
|
+
onMouseDown: l,
|
|
38
|
+
onPointerDown: o,
|
|
39
|
+
...b,
|
|
36
40
|
children: [
|
|
37
|
-
|
|
38
|
-
t ? null : /* @__PURE__ */
|
|
41
|
+
r,
|
|
42
|
+
t ? null : /* @__PURE__ */ R(x, { actionRef: u, center: !0 })
|
|
39
43
|
]
|
|
40
44
|
}
|
|
41
45
|
);
|
|
42
46
|
}
|
|
43
47
|
export {
|
|
44
|
-
|
|
45
|
-
|
|
48
|
+
w as ChatIconButton,
|
|
49
|
+
w as default
|
|
46
50
|
};
|
|
47
51
|
//# sourceMappingURL=chatIconButton.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chatIconButton.js","sources":["../../../../src/components/dataDisplay/chat/chatIconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\nexport interface ChatIconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n edge?: \"start\" | \"end\";\n color?: \"default\" | \"primary\";\n}\n\nexport function ChatIconButton({\n className,\n children,\n disabled,\n edge,\n color = \"default\",\n onMouseDown: onMouseDownProp,\n ...rest\n}: ChatIconButtonProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement>) => {\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n };\n\n return (\n <button\n type
|
|
1
|
+
{"version":3,"file":"chatIconButton.js","sources":["../../../../src/components/dataDisplay/chat/chatIconButton.tsx"],"sourcesContent":["import React from \"react\";\nimport cn from \"clsx\";\nimport { Ripple, RippleActionsRef } from \"../../base/ripple/ripple\";\n\nexport interface ChatIconButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n className?: string;\n edge?: \"start\" | \"end\";\n color?: \"default\" | \"primary\";\n}\n\nexport function ChatIconButton({\n className,\n children,\n disabled,\n edge,\n color = \"default\",\n onMouseDown: onMouseDownProp,\n // The button sets this on its root too; its own handler calls the caller's first.\n onPointerDown: onPointerDownProp,\n // A default: the caller's type wins.\n type = \"button\",\n ...rest\n}: ChatIconButtonProps) {\n const rippleRef = React.useRef<RippleActionsRef>(null);\n\n const onMouseDown = (event: React.MouseEvent<HTMLButtonElement>) => {\n onMouseDownProp?.(event);\n };\n\n const onPointerDown = (event: React.PointerEvent<HTMLButtonElement>) => {\n onPointerDownProp?.(event);\n if (!disabled) {\n rippleRef.current?.onRipple(event);\n }\n };\n\n return (\n <button\n type={type}\n className={cn(\n \"smwb-chat-icon-button\",\n edge === \"start\" && \"smwb-chat-icon-button_edge-start\",\n edge === \"end\" && \"smwb-chat-icon-button_edge-end\",\n color === \"primary\" && \"smwb-chat-icon-button_primary\",\n disabled && \"smwb-chat-icon-button_disabled\",\n className\n )}\n disabled={disabled}\n onMouseDown={onMouseDown}\n onPointerDown={onPointerDown}\n {...rest}\n >\n {children}\n {!disabled ? <Ripple actionRef={rippleRef} center /> : null}\n </button>\n );\n}\n\nexport default ChatIconButton;\n"],"names":["ChatIconButton","className","children","disabled","edge","color","onMouseDownProp","onPointerDownProp","type","rest","rippleRef","React","onMouseDown","event","onPointerDown","_a","jsxs","cn","jsx","Ripple"],"mappings":";;;;AAUO,SAASA,EAAe;AAAA,EAC7B,WAAAC;AAAA,EACA,UAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EACR,aAAaC;AAAA;AAAA,EAEb,eAAeC;AAAA;AAAA,EAEf,MAAAC,IAAO;AAAA,EACP,GAAGC;AACL,GAAwB;AACtB,QAAMC,IAAYC,EAAM,OAAyB,IAAI,GAE/CC,IAAc,CAACC,MAA+C;AAClE,IAAAP,KAAA,QAAAA,EAAkBO;AAAA,EACpB,GAEMC,IAAgB,CAACD,MAAiD;;AACtE,IAAAN,KAAA,QAAAA,EAAoBM,IACfV,MACHY,IAAAL,EAAU,YAAV,QAAAK,EAAmB,SAASF;AAAA,EAEhC;AAEA,SACE,gBAAAG;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,MAAAR;AAAA,MACA,WAAWS;AAAA,QACT;AAAA,QACAb,MAAS,WAAW;AAAA,QACpBA,MAAS,SAAS;AAAA,QAClBC,MAAU,aAAa;AAAA,QACvBF,KAAY;AAAA,QACZF;AAAA,MAAA;AAAA,MAEF,UAAAE;AAAA,MACA,aAAAS;AAAA,MACA,eAAAE;AAAA,MACC,GAAGL;AAAA,MAEH,UAAA;AAAA,QAAAP;AAAA,QACCC,IAAqD,OAA1C,gBAAAe,EAACC,GAAA,EAAO,WAAWT,GAAW,QAAM,IAAC;AAAA,MAAK;AAAA,IAAA;AAAA,EAAA;AAG7D;"}
|
|
@@ -15,6 +15,8 @@ export interface ChatLayoutProps extends PropsWithChildren, HTMLAttributes<HTMLD
|
|
|
15
15
|
expandAriaLabel?: string;
|
|
16
16
|
floatingAnchor?: ChatAnchor;
|
|
17
17
|
chat: ChatLayoutChatProps;
|
|
18
|
+
/** Test id of the root `<div>`; `chat-layout` unless given. */
|
|
19
|
+
"data-testid"?: string;
|
|
18
20
|
}
|
|
19
|
-
export declare function ChatLayout({ className, contentClassName, chatClassName, side, chatWidth, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, collapseAriaLabel, expandAriaLabel, floatingAnchor, chat, children, style, ...rest }: ChatLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
21
|
+
export declare function ChatLayout({ className, contentClassName, chatClassName, side, chatWidth, collapsed: collapsedProp, defaultCollapsed, onCollapsedChange, collapseAriaLabel, expandAriaLabel, floatingAnchor, chat, children, style, "data-testid": dataTestId, ...rest }: ChatLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
20
22
|
export default ChatLayout;
|