@okta/odyssey-react-mui 1.25.0 → 1.27.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/CHANGELOG.md +17 -0
- package/dist/Autocomplete.js +30 -191
- package/dist/Autocomplete.js.map +1 -1
- package/dist/Box.js +2 -0
- package/dist/Box.js.map +1 -1
- package/dist/Card.js +1 -0
- package/dist/Card.js.map +1 -1
- package/dist/OdysseyDesignTokensContext.js +3 -2
- package/dist/OdysseyDesignTokensContext.js.map +1 -1
- package/dist/OdysseyProvider.js +9 -7
- package/dist/OdysseyProvider.js.map +1 -1
- package/dist/OdysseyThemeProvider.js +33 -13
- package/dist/OdysseyThemeProvider.js.map +1 -1
- package/dist/Pagination/Pagination.js +46 -14
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Surface.js +14 -3
- package/dist/Surface.js.map +1 -1
- package/dist/Tag.js +42 -27
- package/dist/Tag.js.map +1 -1
- package/dist/index.js +6 -7
- package/dist/index.js.map +1 -1
- package/dist/index.scss +1 -1
- package/dist/labs/AppTile.js +137 -39
- package/dist/labs/AppTile.js.map +1 -1
- package/dist/labs/DataView/CardLayoutContent.js +7 -8
- package/dist/labs/DataView/CardLayoutContent.js.map +1 -1
- package/dist/labs/DataView/DataCard.js +96 -43
- package/dist/labs/DataView/DataCard.js.map +1 -1
- package/dist/labs/DataView/DataView.js +6 -0
- package/dist/labs/DataView/DataView.js.map +1 -1
- package/dist/labs/DataView/TableLayoutContent.js +3 -2
- package/dist/labs/DataView/TableLayoutContent.js.map +1 -1
- package/dist/labs/DataView/componentTypes.js.map +1 -1
- package/dist/labs/DataView/index.js.map +1 -1
- package/dist/labs/OdysseyPickers/ComposablePicker.js +113 -0
- package/dist/labs/OdysseyPickers/ComposablePicker.js.map +1 -0
- package/dist/labs/OdysseyPickers/Picker.js +261 -0
- package/dist/labs/OdysseyPickers/Picker.js.map +1 -0
- package/dist/labs/OdysseyPickers/PickerVirtualizationListBox.js +132 -0
- package/dist/labs/OdysseyPickers/PickerVirtualizationListBox.js.map +1 -0
- package/dist/labs/OdysseyPickers/PickerWithOptionAdornment.js +291 -0
- package/dist/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -0
- package/dist/{src/createShadowDomElements.d.ts → labs/OdysseyPickers/index.js} +4 -7
- package/dist/labs/OdysseyPickers/index.js.map +1 -0
- package/dist/labs/PageTemplate.js +14 -10
- package/dist/labs/PageTemplate.js.map +1 -1
- package/dist/labs/SideNav/CollapseIcon.js +11 -25
- package/dist/labs/SideNav/CollapseIcon.js.map +1 -1
- package/dist/labs/SideNav/HandleIcon.js +32 -0
- package/dist/labs/SideNav/HandleIcon.js.map +1 -0
- package/dist/labs/{NavAccordion.js → SideNav/NavAccordion.js} +36 -8
- package/dist/labs/SideNav/NavAccordion.js.map +1 -0
- package/dist/labs/SideNav/OktaAura.js +32 -0
- package/dist/labs/SideNav/OktaAura.js.map +1 -0
- package/dist/labs/SideNav/OktaLogo.js +6 -9
- package/dist/labs/SideNav/OktaLogo.js.map +1 -1
- package/dist/labs/SideNav/SideNav.js +316 -172
- package/dist/labs/SideNav/SideNav.js.map +1 -1
- package/dist/labs/SideNav/SideNavFooterContent.js +32 -18
- package/dist/labs/SideNav/SideNavFooterContent.js.map +1 -1
- package/dist/labs/SideNav/SideNavHeader.js +48 -37
- package/dist/labs/SideNav/SideNavHeader.js.map +1 -1
- package/dist/labs/SideNav/SideNavItemContent.js +150 -68
- package/dist/labs/SideNav/SideNavItemContent.js.map +1 -1
- package/dist/labs/SideNav/SideNavItemContentContext.js +20 -0
- package/dist/labs/SideNav/SideNavItemContentContext.js.map +1 -0
- package/dist/labs/SideNav/SideNavItemLinkContent.js +15 -14
- package/dist/labs/SideNav/SideNavItemLinkContent.js.map +1 -1
- package/dist/labs/SideNav/SideNavLogo.js +42 -0
- package/dist/labs/SideNav/SideNavLogo.js.map +1 -0
- package/dist/labs/SideNav/SideNavToggleButton.js +170 -0
- package/dist/labs/SideNav/SideNavToggleButton.js.map +1 -0
- package/dist/labs/SideNav/SortableList/SortableItem.js +162 -0
- package/dist/labs/SideNav/SortableList/SortableItem.js.map +1 -0
- package/dist/labs/SideNav/SortableList/SortableList.js +118 -0
- package/dist/labs/SideNav/SortableList/SortableList.js.map +1 -0
- package/dist/labs/SideNav/SortableList/SortableOverlay.js +30 -0
- package/dist/labs/SideNav/SortableList/SortableOverlay.js.map +1 -0
- package/dist/labs/SideNav/types.js.map +1 -1
- package/dist/labs/TopNav/TopNav.js +65 -0
- package/dist/labs/TopNav/TopNav.js.map +1 -0
- package/dist/labs/TopNav/TopNavLinksList.js +38 -0
- package/dist/labs/TopNav/TopNavLinksList.js.map +1 -0
- package/dist/labs/TopNav/TopNavListItem.js +132 -0
- package/dist/labs/TopNav/TopNavListItem.js.map +1 -0
- package/dist/labs/TopNav/UserProfile.js +65 -0
- package/dist/labs/TopNav/UserProfile.js.map +1 -0
- package/dist/labs/TopNav/index.js +14 -0
- package/dist/labs/TopNav/index.js.map +1 -0
- package/dist/labs/UiShell/UiShell.js +68 -0
- package/dist/labs/UiShell/UiShell.js.map +1 -0
- package/dist/labs/UiShell/UiShellContent.js +114 -0
- package/dist/labs/UiShell/UiShellContent.js.map +1 -0
- package/dist/labs/UiShell/bufferLatest.js +37 -0
- package/dist/labs/UiShell/bufferLatest.js.map +1 -0
- package/dist/labs/UiShell/createMessageBus.js +30 -0
- package/dist/labs/UiShell/createMessageBus.js.map +1 -0
- package/dist/labs/UiShell/createStore.js +24 -0
- package/dist/labs/UiShell/createStore.js.map +1 -0
- package/dist/labs/UiShell/index.js +15 -0
- package/dist/labs/UiShell/index.js.map +1 -0
- package/dist/labs/UiShell/renderUiShell.js +78 -0
- package/dist/labs/UiShell/renderUiShell.js.map +1 -0
- package/dist/labs/UiShell/useHasUiShell.js +22 -0
- package/dist/labs/UiShell/useHasUiShell.js.map +1 -0
- package/dist/labs/UiShell/useScrollState.js +41 -0
- package/dist/labs/UiShell/useScrollState.js.map +1 -0
- package/dist/labs/index.js +5 -3
- package/dist/labs/index.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui.js +14 -1
- package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_cs.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_da.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_de.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_el.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_es.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_fi.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_fr.js +5 -3
- package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ht.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_hu.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_id.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_it.js +4 -2
- package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ja.js +9 -7
- package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ko.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ms.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_nb.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_nl_NL.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_pl.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_pt_BR.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ro.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_ru.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_sv.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_th.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_tr.js +4 -2
- package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_uk.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_vi.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_zh_CN.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui_zh_TW.js +3 -1
- package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
- package/dist/src/Autocomplete.d.ts +21 -22
- package/dist/src/Autocomplete.d.ts.map +1 -1
- package/dist/src/Box.d.ts +3 -1
- package/dist/src/Box.d.ts.map +1 -1
- package/dist/src/Card.d.ts.map +1 -1
- package/dist/src/OdysseyDesignTokensContext.d.ts +5 -4
- package/dist/src/OdysseyDesignTokensContext.d.ts.map +1 -1
- package/dist/src/OdysseyProvider.d.ts +3 -3
- package/dist/src/OdysseyProvider.d.ts.map +1 -1
- package/dist/src/OdysseyThemeProvider.d.ts +10 -12
- package/dist/src/OdysseyThemeProvider.d.ts.map +1 -1
- package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
- package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
- package/dist/src/Pagination/Pagination.d.ts +21 -7
- package/dist/src/Pagination/Pagination.d.ts.map +1 -1
- package/dist/src/Surface.d.ts.map +1 -1
- package/dist/src/Tag.d.ts +5 -2
- package/dist/src/Tag.d.ts.map +1 -1
- package/dist/src/index.d.ts +6 -7
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/labs/AppTile.d.ts +3 -1
- package/dist/src/labs/AppTile.d.ts.map +1 -1
- package/dist/src/labs/DataView/CardLayoutContent.d.ts.map +1 -1
- package/dist/src/labs/DataView/DataCard.d.ts +9 -3
- package/dist/src/labs/DataView/DataCard.d.ts.map +1 -1
- package/dist/src/labs/DataView/DataView.d.ts +1 -1
- package/dist/src/labs/DataView/DataView.d.ts.map +1 -1
- package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -1
- package/dist/src/labs/DataView/componentTypes.d.ts +4 -3
- package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -1
- package/dist/src/labs/DataView/index.d.ts +1 -0
- package/dist/src/labs/DataView/index.d.ts.map +1 -1
- package/dist/src/labs/OdysseyPickers/ComposablePicker.d.ts +33 -0
- package/dist/src/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -0
- package/dist/src/labs/OdysseyPickers/Picker.d.ts +98 -0
- package/dist/src/labs/OdysseyPickers/Picker.d.ts.map +1 -0
- package/dist/src/labs/OdysseyPickers/PickerVirtualizationListBox.d.ts +17 -0
- package/dist/src/labs/OdysseyPickers/PickerVirtualizationListBox.d.ts.map +1 -0
- package/dist/src/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts +26 -0
- package/dist/src/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts.map +1 -0
- package/dist/src/labs/OdysseyPickers/index.d.ts +15 -0
- package/dist/src/labs/OdysseyPickers/index.d.ts.map +1 -0
- package/dist/src/labs/PageTemplate.d.ts +1 -1
- package/dist/src/labs/PageTemplate.d.ts.map +1 -1
- package/dist/src/labs/SideNav/CollapseIcon.d.ts +1 -4
- package/dist/src/labs/SideNav/CollapseIcon.d.ts.map +1 -1
- package/dist/src/labs/SideNav/HandleIcon.d.ts +14 -0
- package/dist/src/labs/SideNav/HandleIcon.d.ts.map +1 -0
- package/dist/src/labs/{NavAccordion.d.ts → SideNav/NavAccordion.d.ts} +7 -7
- package/dist/src/labs/SideNav/NavAccordion.d.ts.map +1 -0
- package/dist/src/labs/SideNav/OktaAura.d.ts +14 -0
- package/dist/src/labs/SideNav/OktaAura.d.ts.map +1 -0
- package/dist/src/labs/SideNav/OktaLogo.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNav.d.ts +2 -1
- package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNavFooterContent.d.ts +1 -1
- package/dist/src/labs/SideNav/SideNavFooterContent.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNavHeader.d.ts +12 -3
- package/dist/src/labs/SideNav/SideNavHeader.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNavItemContent.d.ts +38 -3
- package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts +19 -0
- package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts.map +1 -0
- package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts +1 -1
- package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNavLogo.d.ts +15 -0
- package/dist/src/labs/SideNav/SideNavLogo.d.ts.map +1 -0
- package/dist/src/labs/SideNav/SideNavToggleButton.d.ts +38 -0
- package/dist/src/labs/SideNav/SideNavToggleButton.d.ts.map +1 -0
- package/dist/src/labs/SideNav/SortableList/SortableItem.d.ts +26 -0
- package/dist/src/labs/SideNav/SortableList/SortableItem.d.ts.map +1 -0
- package/dist/src/labs/SideNav/SortableList/SortableList.d.ts +36 -0
- package/dist/src/labs/SideNav/SortableList/SortableList.d.ts.map +1 -0
- package/dist/src/labs/SideNav/SortableList/SortableOverlay.d.ts +17 -0
- package/dist/src/labs/SideNav/SortableList/SortableOverlay.d.ts.map +1 -0
- package/dist/src/labs/SideNav/types.d.ts +79 -35
- package/dist/src/labs/SideNav/types.d.ts.map +1 -1
- package/dist/src/labs/TopNav/TopNav.d.ts +31 -0
- package/dist/src/labs/TopNav/TopNav.d.ts.map +1 -0
- package/dist/src/labs/TopNav/TopNavLinksList.d.ts +44 -0
- package/dist/src/labs/TopNav/TopNavLinksList.d.ts.map +1 -0
- package/dist/src/labs/TopNav/TopNavListItem.d.ts +42 -0
- package/dist/src/labs/TopNav/TopNavListItem.d.ts.map +1 -0
- package/dist/src/labs/TopNav/UserProfile.d.ts +29 -0
- package/dist/src/labs/TopNav/UserProfile.d.ts.map +1 -0
- package/dist/src/labs/TopNav/index.d.ts +14 -0
- package/dist/src/labs/TopNav/index.d.ts.map +1 -0
- package/dist/src/labs/UiShell/UiShell.d.ts +33 -0
- package/dist/src/labs/UiShell/UiShell.d.ts.map +1 -0
- package/dist/src/labs/UiShell/UiShellContent.d.ts +47 -0
- package/dist/src/labs/UiShell/UiShellContent.d.ts.map +1 -0
- package/dist/src/labs/UiShell/bufferLatest.d.ts +31 -0
- package/dist/src/labs/UiShell/bufferLatest.d.ts.map +1 -0
- package/dist/src/labs/UiShell/createMessageBus.d.ts +24 -0
- package/dist/src/labs/UiShell/createMessageBus.d.ts.map +1 -0
- package/dist/src/labs/UiShell/createStore.d.ts +22 -0
- package/dist/src/labs/UiShell/createStore.d.ts.map +1 -0
- package/dist/src/labs/UiShell/index.d.ts +16 -0
- package/dist/src/labs/UiShell/index.d.ts.map +1 -0
- package/dist/src/labs/UiShell/renderUiShell.d.ts +45 -0
- package/dist/src/labs/UiShell/renderUiShell.d.ts.map +1 -0
- package/dist/src/labs/UiShell/useHasUiShell.d.ts +13 -0
- package/dist/src/labs/UiShell/useHasUiShell.d.ts.map +1 -0
- package/dist/src/labs/UiShell/useScrollState.d.ts +16 -0
- package/dist/src/labs/UiShell/useScrollState.d.ts.map +1 -0
- package/dist/src/labs/index.d.ts +6 -2
- package/dist/src/labs/index.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui.d.ts +13 -0
- package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
- package/dist/src/test-selectors/querySelector.d.ts +2 -2
- package/dist/src/theme/components.d.ts +3 -1
- package/dist/src/theme/components.d.ts.map +1 -1
- package/dist/src/theme/createOdysseyMuiTheme.d.ts +2 -1
- package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
- package/dist/src/useAutocomplete.d.ts +29 -0
- package/dist/src/useAutocomplete.d.ts.map +1 -0
- package/dist/src/useContrastMode.d.ts +46 -0
- package/dist/src/useContrastMode.d.ts.map +1 -0
- package/dist/src/web-component/index.d.ts +14 -0
- package/dist/src/web-component/index.d.ts.map +1 -0
- package/dist/src/web-component/renderReactInWebComponent.d.ts +76 -0
- package/dist/src/web-component/renderReactInWebComponent.d.ts.map +1 -0
- package/dist/src/web-component/shadow-dom.d.ts +23 -0
- package/dist/src/web-component/shadow-dom.d.ts.map +1 -0
- package/dist/test-selectors/querySelector.js.map +1 -1
- package/dist/theme/components.js +36 -32
- package/dist/theme/components.js.map +1 -1
- package/dist/theme/createOdysseyMuiTheme.js +3 -2
- package/dist/theme/createOdysseyMuiTheme.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/useAutocomplete.js +105 -0
- package/dist/useAutocomplete.js.map +1 -0
- package/dist/useContrastMode.js +93 -0
- package/dist/useContrastMode.js.map +1 -0
- package/dist/web-component/index.js +14 -0
- package/dist/web-component/index.js.map +1 -0
- package/dist/web-component/renderReactInWebComponent.js +72 -0
- package/dist/web-component/renderReactInWebComponent.js.map +1 -0
- package/dist/{createShadowDomElements.js → web-component/shadow-dom.js} +10 -12
- package/dist/web-component/shadow-dom.js.map +1 -0
- package/i18n.config.json +2 -1
- package/jest.config.cjs +1 -1
- package/jest.setup.js +0 -3
- package/package.json +7 -3
- package/src/Autocomplete.tsx +40 -330
- package/src/Box.tsx +4 -2
- package/src/Card.tsx +1 -0
- package/src/OdysseyDesignTokensContext.tsx +6 -3
- package/src/OdysseyProvider.tsx +13 -8
- package/src/OdysseyThemeProvider.test.tsx +209 -0
- package/src/OdysseyThemeProvider.tsx +42 -26
- package/src/Pagination/Pagination.test.tsx +305 -0
- package/src/Pagination/Pagination.tsx +86 -38
- package/src/Surface.tsx +18 -5
- package/src/Tag.tsx +64 -39
- package/src/createUniqueAlphabeticalId.test.ts +1 -1
- package/src/createUniqueId.test.ts +1 -1
- package/src/index.ts +6 -7
- package/src/labs/AppTile.tsx +169 -40
- package/src/labs/DataView/CardLayoutContent.tsx +12 -14
- package/src/labs/DataView/DataCard.tsx +137 -69
- package/src/labs/DataView/DataView.test.tsx +6 -4
- package/src/labs/DataView/DataView.tsx +6 -0
- package/src/labs/DataView/TableLayoutContent.tsx +6 -2
- package/src/labs/DataView/componentTypes.ts +7 -3
- package/src/labs/DataView/index.tsx +1 -0
- package/src/labs/OdysseyPickers/ComposablePicker.test.tsx +29 -0
- package/src/labs/OdysseyPickers/ComposablePicker.tsx +188 -0
- package/src/labs/OdysseyPickers/Picker.tsx +381 -0
- package/src/labs/OdysseyPickers/PickerVirtualizationListBox.tsx +191 -0
- package/src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx +429 -0
- package/src/labs/OdysseyPickers/index.ts +15 -0
- package/src/labs/PageTemplate.tsx +18 -10
- package/src/labs/SideNav/CollapseIcon.tsx +14 -28
- package/src/labs/SideNav/HandleIcon.tsx +35 -0
- package/src/labs/{NavAccordion.tsx → SideNav/NavAccordion.tsx} +51 -16
- package/src/labs/SideNav/OktaAura.tsx +35 -0
- package/src/labs/SideNav/OktaLogo.tsx +5 -10
- package/src/labs/SideNav/SideNav.test.tsx +323 -0
- package/src/labs/SideNav/SideNav.tsx +405 -205
- package/src/labs/SideNav/SideNavFooterContent.tsx +36 -28
- package/src/labs/SideNav/SideNavHeader.tsx +62 -45
- package/src/labs/SideNav/SideNavItemContent.tsx +202 -69
- package/src/labs/SideNav/SideNavItemContentContext.tsx +29 -0
- package/src/labs/SideNav/SideNavItemLinkContent.tsx +18 -15
- package/src/labs/SideNav/SideNavLogo.tsx +41 -0
- package/src/labs/SideNav/SideNavToggleButton.tsx +245 -0
- package/src/labs/SideNav/SortableList/SortableItem.tsx +202 -0
- package/src/labs/SideNav/SortableList/SortableList.tsx +122 -0
- package/src/labs/SideNav/SortableList/SortableOverlay.tsx +34 -0
- package/src/labs/SideNav/types.ts +85 -36
- package/src/labs/TopNav/TopNav.tsx +95 -0
- package/src/labs/TopNav/TopNavLinksList.tsx +68 -0
- package/src/labs/TopNav/TopNavListItem.tsx +209 -0
- package/src/labs/TopNav/UserProfile.tsx +79 -0
- package/src/labs/TopNav/index.ts +14 -0
- package/src/labs/UiShell/UiShell.test.tsx +284 -0
- package/src/labs/UiShell/UiShell.tsx +109 -0
- package/src/labs/UiShell/UiShellContent.tsx +170 -0
- package/src/labs/UiShell/bufferLatest.test.ts +79 -0
- package/src/labs/UiShell/bufferLatest.ts +64 -0
- package/src/labs/UiShell/createMessageBus.test.ts +115 -0
- package/src/labs/UiShell/createMessageBus.ts +53 -0
- package/src/labs/UiShell/createStore.test.ts +103 -0
- package/src/labs/UiShell/createStore.ts +37 -0
- package/src/labs/UiShell/index.ts +17 -0
- package/src/labs/UiShell/renderUiShell.test.tsx +197 -0
- package/src/labs/UiShell/renderUiShell.tsx +132 -0
- package/src/labs/UiShell/useHasUiShell.ts +25 -0
- package/src/labs/UiShell/useScrollState.ts +56 -0
- package/src/labs/index.ts +10 -3
- package/src/properties/odyssey-react-mui.properties +14 -0
- package/src/properties/translations/odyssey-react-mui_cs.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_da.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_de.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_el.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_es.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_fi.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_fr.properties +4 -3
- package/src/properties/translations/odyssey-react-mui_ht.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_hu.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_id.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_it.properties +3 -2
- package/src/properties/translations/odyssey-react-mui_ja.properties +8 -7
- package/src/properties/translations/odyssey-react-mui_ko.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_ms.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_nb.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_nl_NL.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_pl.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_pt_BR.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_ro.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_ru.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_sv.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_th.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_tr.properties +3 -2
- package/src/properties/translations/odyssey-react-mui_uk.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_vi.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_zh_CN.properties +2 -1
- package/src/properties/translations/odyssey-react-mui_zh_TW.properties +2 -1
- package/src/properties/ts/odyssey-react-mui.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ht.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
- package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
- package/src/test-selectors/querySelector.ts +1 -1
- package/src/theme/components.tsx +50 -33
- package/src/theme/createOdysseyMuiTheme.ts +4 -3
- package/src/theme/useContrastMode.test.tsx +503 -0
- package/src/useAutocomplete.tsx +183 -0
- package/src/useContrastMode.tsx +149 -0
- package/src/web-component/index.ts +14 -0
- package/src/web-component/renderReactInWebComponent.test.tsx +156 -0
- package/src/web-component/renderReactInWebComponent.ts +153 -0
- package/src/web-component/shadow-dom.test.ts +24 -0
- package/src/{createShadowDomElements.ts → web-component/shadow-dom.ts} +15 -14
- package/dist/ContrastModeProvider.js +0 -86
- package/dist/ContrastModeProvider.js.map +0 -1
- package/dist/createShadowDomElements.js.map +0 -1
- package/dist/labs/NavAccordion.js.map +0 -1
- package/dist/labs/TopNav.js +0 -281
- package/dist/labs/TopNav.js.map +0 -1
- package/dist/src/ContrastModeProvider.d.ts +0 -34
- package/dist/src/ContrastModeProvider.d.ts.map +0 -1
- package/dist/src/createShadowDomElements.d.ts.map +0 -1
- package/dist/src/labs/NavAccordion.d.ts.map +0 -1
- package/dist/src/labs/TopNav.d.ts +0 -78
- package/dist/src/labs/TopNav.d.ts.map +0 -1
- package/src/ContrastModeProvider.tsx +0 -131
- package/src/labs/TopNav.tsx +0 -396
|
@@ -26,39 +26,49 @@ import { MenuButton } from "../../MenuButton.js";
|
|
|
26
26
|
import { ChevronDownIcon, ChevronUpIcon, MoreIcon } from "../../icons.generated/index.js";
|
|
27
27
|
import { jsx as _jsx } from "react/jsx-runtime";
|
|
28
28
|
import { jsxs as _jsxs } from "react/jsx-runtime";
|
|
29
|
-
export const
|
|
29
|
+
export const CARD_IMAGE_SIZE = "64px";
|
|
30
|
+
export const CARD_IMAGE_SIZE_COMPACT = "48px";
|
|
31
|
+
export const cardVariantValues = ["tile", "stack", "compact"];
|
|
30
32
|
const AccessoryContainer = styled("div", {
|
|
31
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
33
|
+
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "variant"
|
|
32
34
|
})(({
|
|
33
|
-
odysseyDesignTokens
|
|
35
|
+
odysseyDesignTokens,
|
|
36
|
+
variant
|
|
34
37
|
}) => ({
|
|
35
38
|
display: "flex",
|
|
36
|
-
flexDirection: "column",
|
|
39
|
+
flexDirection: variant === "compact" ? "row" : "column",
|
|
37
40
|
alignItems: "center",
|
|
38
|
-
gap: odysseyDesignTokens.Spacing2
|
|
41
|
+
gap: odysseyDesignTokens.Spacing2,
|
|
42
|
+
height: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : "auto"
|
|
39
43
|
}));
|
|
40
44
|
const ImageContainer = styled("div", {
|
|
41
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "hasMenuButtonChildren"
|
|
45
|
+
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "hasMenuButtonChildren" && prop !== "variant"
|
|
42
46
|
})(({
|
|
43
47
|
odysseyDesignTokens,
|
|
44
|
-
hasMenuButtonChildren
|
|
48
|
+
hasMenuButtonChildren,
|
|
49
|
+
variant
|
|
45
50
|
}) => ({
|
|
46
51
|
display: "flex",
|
|
47
52
|
alignItems: "flex-start",
|
|
48
|
-
|
|
49
|
-
|
|
53
|
+
height: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,
|
|
54
|
+
maxHeight: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,
|
|
55
|
+
marginBlockEnd: variant === "tile" ? odysseyDesignTokens.Spacing5 : 0,
|
|
50
56
|
paddingRight: hasMenuButtonChildren ? odysseyDesignTokens.Spacing5 : 0
|
|
51
57
|
}));
|
|
52
58
|
const MenuButtonContainer = styled("div", {
|
|
53
59
|
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
54
60
|
})(({
|
|
55
|
-
odysseyDesignTokens
|
|
61
|
+
odysseyDesignTokens,
|
|
62
|
+
variant
|
|
56
63
|
}) => ({
|
|
57
64
|
position: "absolute",
|
|
58
65
|
right: odysseyDesignTokens.Spacing3,
|
|
59
|
-
top: odysseyDesignTokens.Spacing3
|
|
66
|
+
top: odysseyDesignTokens.Spacing3,
|
|
67
|
+
height: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : "auto",
|
|
68
|
+
display: "flex",
|
|
69
|
+
alignItems: "center"
|
|
60
70
|
}));
|
|
61
|
-
const
|
|
71
|
+
const CardInnerContainer = styled("div", {
|
|
62
72
|
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
63
73
|
})(({
|
|
64
74
|
odysseyDesignTokens
|
|
@@ -66,6 +76,24 @@ const CardContentContainer = styled("div", {
|
|
|
66
76
|
display: "flex",
|
|
67
77
|
gap: odysseyDesignTokens.Spacing3
|
|
68
78
|
}));
|
|
79
|
+
const CardImageAndContentContainer = styled("div", {
|
|
80
|
+
shouldForwardProp: prop => prop !== "variant"
|
|
81
|
+
})(({
|
|
82
|
+
variant
|
|
83
|
+
}) => ({
|
|
84
|
+
display: "flex",
|
|
85
|
+
flexDirection: variant === "tile" ? "column" : "row"
|
|
86
|
+
}));
|
|
87
|
+
const CardContent = styled("div", {
|
|
88
|
+
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
89
|
+
})(({
|
|
90
|
+
odysseyDesignTokens,
|
|
91
|
+
variant
|
|
92
|
+
}) => ({
|
|
93
|
+
"& > .MuiTypography-h5": {
|
|
94
|
+
marginBlockEnd: `${variant === "compact" ? odysseyDesignTokens.Spacing1 : odysseyDesignTokens.Spacing3} !important`
|
|
95
|
+
}
|
|
96
|
+
}));
|
|
69
97
|
const CardChildrenContainer = styled("div", {
|
|
70
98
|
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
71
99
|
})(({
|
|
@@ -75,6 +103,9 @@ const CardChildrenContainer = styled("div", {
|
|
|
75
103
|
marginBlockStart: odysseyDesignTokens.Spacing3
|
|
76
104
|
}
|
|
77
105
|
}));
|
|
106
|
+
const AccessoryPlaceholder = styled(_IconButton)(() => ({
|
|
107
|
+
visibility: "hidden"
|
|
108
|
+
}));
|
|
78
109
|
const buttonProviderValue = {
|
|
79
110
|
isFullWidth: true
|
|
80
111
|
};
|
|
@@ -83,68 +114,90 @@ const DataCard = ({
|
|
|
83
114
|
button,
|
|
84
115
|
children,
|
|
85
116
|
description,
|
|
86
|
-
detailPanel,
|
|
87
117
|
image,
|
|
88
118
|
menuButtonChildren,
|
|
89
119
|
onClick,
|
|
90
120
|
overline,
|
|
91
|
-
|
|
121
|
+
renderDetailPanel,
|
|
122
|
+
row,
|
|
123
|
+
title,
|
|
124
|
+
variant = "tile"
|
|
92
125
|
}) => {
|
|
93
126
|
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
94
127
|
const {
|
|
95
128
|
t
|
|
96
129
|
} = useTranslation();
|
|
97
130
|
const [isDetailPanelOpen, setIsDetailPanelOpen] = useState(false);
|
|
98
|
-
const
|
|
99
|
-
|
|
100
|
-
|
|
131
|
+
const ExpansionToggle = useMemo(() => {
|
|
132
|
+
return renderDetailPanel?.({
|
|
133
|
+
row
|
|
134
|
+
}) ? _jsx(_Tooltip, {
|
|
101
135
|
title: isDetailPanelOpen ? t("table.rowexpansion.collapse") : t("table.rowexpansion.expand"),
|
|
102
136
|
children: _jsx(_IconButton, {
|
|
103
137
|
children: isDetailPanelOpen ? _jsx(ChevronUpIcon, {}) : _jsx(ChevronDownIcon, {}),
|
|
104
138
|
onClick: () => setIsDetailPanelOpen(!isDetailPanelOpen),
|
|
105
139
|
"aria-label": isDetailPanelOpen ? t("table.rowexpansion.collapse") : t("table.rowexpansion.expand")
|
|
106
140
|
})
|
|
107
|
-
})
|
|
108
|
-
|
|
109
|
-
|
|
141
|
+
}) : _jsx(AccessoryPlaceholder, {
|
|
142
|
+
disabled: true,
|
|
143
|
+
children: _jsx(ChevronDownIcon, {})
|
|
144
|
+
});
|
|
145
|
+
}, [isDetailPanelOpen, renderDetailPanel, row, t]);
|
|
146
|
+
const Accessory = useMemo(() => {
|
|
147
|
+
return _jsxs(AccessoryContainer, {
|
|
148
|
+
odysseyDesignTokens: odysseyDesignTokens,
|
|
149
|
+
variant: variant,
|
|
150
|
+
children: [AccessoryProp, renderDetailPanel && ExpansionToggle]
|
|
151
|
+
});
|
|
152
|
+
}, [AccessoryProp, ExpansionToggle, odysseyDesignTokens, renderDetailPanel, variant]);
|
|
153
|
+
const cardContent = useMemo(() => _jsxs(CardInnerContainer, {
|
|
110
154
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
111
|
-
children: [(AccessoryProp ||
|
|
155
|
+
children: [(AccessoryProp || renderDetailPanel) && _jsx(Box, {
|
|
112
156
|
children: Accessory
|
|
113
|
-
}), _jsxs(
|
|
157
|
+
}), _jsxs(CardImageAndContentContainer, {
|
|
158
|
+
variant: variant,
|
|
114
159
|
children: [image && _jsx(ImageContainer, {
|
|
115
160
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
116
161
|
hasMenuButtonChildren: Boolean(menuButtonChildren),
|
|
162
|
+
variant: variant,
|
|
117
163
|
children: image
|
|
118
|
-
}),
|
|
119
|
-
component: "div",
|
|
120
|
-
children: overline
|
|
121
|
-
}), title && _jsx(Heading5, {
|
|
122
|
-
component: "div",
|
|
123
|
-
children: title
|
|
124
|
-
}), description && _jsx(Paragraph, {
|
|
125
|
-
color: "textSecondary",
|
|
126
|
-
children: description
|
|
127
|
-
}), button && _jsx(_CardActions, {
|
|
128
|
-
children: _jsx(ButtonContext.Provider, {
|
|
129
|
-
value: buttonProviderValue,
|
|
130
|
-
children: button
|
|
131
|
-
})
|
|
132
|
-
}), children && _jsx(CardChildrenContainer, {
|
|
133
|
-
odysseyDesignTokens: odysseyDesignTokens,
|
|
134
|
-
children: children
|
|
135
|
-
}), detailPanel && isDetailPanelOpen && _jsx(CardChildrenContainer, {
|
|
164
|
+
}), _jsxs(CardContent, {
|
|
136
165
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
137
|
-
|
|
166
|
+
variant: variant,
|
|
167
|
+
children: [overline && _jsx(Support, {
|
|
168
|
+
component: "div",
|
|
169
|
+
children: overline
|
|
170
|
+
}), title && _jsx(Heading5, {
|
|
171
|
+
component: "div",
|
|
172
|
+
children: title
|
|
173
|
+
}), description && _jsx(Paragraph, {
|
|
174
|
+
color: "textSecondary",
|
|
175
|
+
children: description
|
|
176
|
+
}), button && _jsx(_CardActions, {
|
|
177
|
+
children: _jsx(ButtonContext.Provider, {
|
|
178
|
+
value: buttonProviderValue,
|
|
179
|
+
children: button
|
|
180
|
+
})
|
|
181
|
+
}), children && _jsx(CardChildrenContainer, {
|
|
182
|
+
odysseyDesignTokens: odysseyDesignTokens,
|
|
183
|
+
children: children
|
|
184
|
+
}), renderDetailPanel && isDetailPanelOpen && _jsx(CardChildrenContainer, {
|
|
185
|
+
odysseyDesignTokens: odysseyDesignTokens,
|
|
186
|
+
children: renderDetailPanel({
|
|
187
|
+
row
|
|
188
|
+
})
|
|
189
|
+
})]
|
|
138
190
|
})]
|
|
139
191
|
})]
|
|
140
|
-
}), [odysseyDesignTokens, AccessoryProp,
|
|
192
|
+
}), [odysseyDesignTokens, AccessoryProp, renderDetailPanel, Accessory, variant, image, menuButtonChildren, overline, title, description, button, children, isDetailPanelOpen, row]);
|
|
141
193
|
return _jsxs(_Card, {
|
|
142
|
-
className: `${onClick ? "isClickable" : ""} ${Accessory ? "hasAccessory" : ""}`,
|
|
194
|
+
className: `${onClick ? "isClickable" : ""} ${Accessory ? "hasAccessory" : ""} ods-card-${variant}`,
|
|
143
195
|
children: [onClick ? _jsx(_CardActionArea, {
|
|
144
196
|
onClick: onClick,
|
|
145
197
|
children: cardContent
|
|
146
198
|
}) : cardContent, menuButtonChildren && _jsx(MenuButtonContainer, {
|
|
147
199
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
200
|
+
variant: variant,
|
|
148
201
|
children: _jsx(MenuButton, {
|
|
149
202
|
endIcon: _jsx(MoreIcon, {}),
|
|
150
203
|
ariaLabel: t("table.moreactions.arialabel"),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCard.js","names":["memo","useMemo","useState","styled","useTranslation","Box","ButtonContext","useOdysseyDesignTokens","Heading5","Paragraph","Support","MenuButton","ChevronDownIcon","ChevronUpIcon","MoreIcon","jsx","_jsx","jsxs","_jsxs","CARD_IMAGE_HEIGHT","AccessoryContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","alignItems","gap","Spacing2","ImageContainer","hasMenuButtonChildren","maxHeight","marginBlockEnd","Spacing5","paddingRight","MenuButtonContainer","position","right","Spacing3","top","CardContentContainer","CardChildrenContainer","marginBlockStart","buttonProviderValue","isFullWidth","DataCard","Accessory","AccessoryProp","button","children","description","detailPanel","image","menuButtonChildren","onClick","overline","title","t","isDetailPanelOpen","setIsDetailPanelOpen","_Tooltip","_IconButton","cardContent","Boolean","component","color","_CardActions","Provider","value","_Card","className","_CardActionArea","endIcon","ariaLabel","buttonVariant","menuAlignment","size","tooltipText","MemoizedDataCard","displayName"],"sources":["../../../src/labs/DataView/DataCard.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n MouseEventHandler,\n ReactElement,\n memo,\n useMemo,\n ReactNode,\n useState,\n} from \"react\";\nimport {\n IconButton as MuiIconButton,\n Card as MuiCard,\n CardActions as MuiCardActions,\n CardActionArea as MuiCardActionArea,\n Tooltip as MuiTooltip,\n} from \"@mui/material\";\nimport styled from \"@emotion/styled\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Box } from \"../../Box\";\nimport { Button } from \"../../Button\";\nimport { ButtonContext } from \"../../ButtonContext\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport { Heading5, Paragraph, Support } from \"../../Typography\";\nimport { MenuButton, MenuButtonProps } from \"../../MenuButton\";\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n MoreIcon,\n} from \"../../icons.generated\";\n\nexport const CARD_IMAGE_HEIGHT = \"64px\";\n\nexport type DataCardProps = {\n children?: ReactNode;\n description?: string;\n detailPanel?: ReactNode;\n image?: ReactElement;\n overline?: string;\n title?: string;\n} & (\n | {\n Accessory?: never;\n button?: never;\n menuButtonChildren?: never;\n onClick: MouseEventHandler;\n }\n | {\n Accessory?: ReactNode;\n button?: ReactElement<typeof Button>;\n menuButtonChildren?: MenuButtonProps[\"children\"];\n onClick?: never;\n }\n);\n\nconst AccessoryContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst ImageContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasMenuButtonChildren\",\n})<{\n odysseyDesignTokens: DesignTokens;\n hasMenuButtonChildren: boolean;\n}>(({ odysseyDesignTokens, hasMenuButtonChildren }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n maxHeight: `${CARD_IMAGE_HEIGHT}`,\n marginBlockEnd: odysseyDesignTokens.Spacing5,\n paddingRight: hasMenuButtonChildren ? odysseyDesignTokens.Spacing5 : 0,\n}));\n\nconst MenuButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n position: \"absolute\",\n right: odysseyDesignTokens.Spacing3,\n top: odysseyDesignTokens.Spacing3,\n}));\n\nconst CardContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst CardChildrenContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n [\"&:not(:first-child)\"]: {\n marginBlockStart: odysseyDesignTokens.Spacing3,\n },\n}));\n\nconst buttonProviderValue = { isFullWidth: true };\n\nconst DataCard = ({\n Accessory: AccessoryProp,\n button,\n children,\n description,\n detailPanel,\n image,\n menuButtonChildren,\n onClick,\n overline,\n title,\n}: DataCardProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [isDetailPanelOpen, setIsDetailPanelOpen] = useState<boolean>(false);\n\n const Accessory = useMemo(\n () => (\n <AccessoryContainer odysseyDesignTokens={odysseyDesignTokens}>\n {AccessoryProp}\n {detailPanel && (\n <MuiTooltip\n title={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n >\n <MuiIconButton\n children={\n isDetailPanelOpen ? <ChevronUpIcon /> : <ChevronDownIcon />\n }\n onClick={() => setIsDetailPanelOpen(!isDetailPanelOpen)}\n aria-label={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n />\n </MuiTooltip>\n )}\n </AccessoryContainer>\n ),\n [AccessoryProp, detailPanel, isDetailPanelOpen, odysseyDesignTokens, t],\n );\n\n const cardContent = useMemo(\n () => (\n <CardContentContainer odysseyDesignTokens={odysseyDesignTokens}>\n {(AccessoryProp || detailPanel) && <Box>{Accessory}</Box>}\n <Box>\n {image && (\n <ImageContainer\n odysseyDesignTokens={odysseyDesignTokens}\n hasMenuButtonChildren={Boolean(menuButtonChildren)}\n >\n {image}\n </ImageContainer>\n )}\n\n {overline && <Support component=\"div\">{overline}</Support>}\n {title && <Heading5 component=\"div\">{title}</Heading5>}\n {description && (\n <Paragraph color=\"textSecondary\">{description}</Paragraph>\n )}\n\n {button && (\n <MuiCardActions>\n <ButtonContext.Provider value={buttonProviderValue}>\n {button}\n </ButtonContext.Provider>\n </MuiCardActions>\n )}\n\n {children && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {children}\n </CardChildrenContainer>\n )}\n\n {detailPanel && isDetailPanelOpen && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {detailPanel}\n </CardChildrenContainer>\n )}\n </Box>\n </CardContentContainer>\n ),\n [\n odysseyDesignTokens,\n AccessoryProp,\n detailPanel,\n Accessory,\n image,\n menuButtonChildren,\n overline,\n title,\n description,\n button,\n children,\n isDetailPanelOpen,\n ],\n );\n\n return (\n <MuiCard\n className={`${onClick ? \"isClickable\" : \"\"} ${Accessory ? \"hasAccessory\" : \"\"}`}\n >\n {onClick ? (\n <MuiCardActionArea onClick={onClick}>{cardContent}</MuiCardActionArea>\n ) : (\n cardContent\n )}\n\n {menuButtonChildren && (\n <MenuButtonContainer odysseyDesignTokens={odysseyDesignTokens}>\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n menuAlignment=\"right\"\n size=\"small\"\n tooltipText={t(\"table.actions\")}\n >\n {menuButtonChildren}\n </MenuButton>\n </MenuButtonContainer>\n )}\n </MuiCard>\n );\n};\n\nconst MemoizedDataCard = memo(DataCard);\nMemoizedDataCard.displayName = \"DataCard\";\n\nexport { MemoizedDataCard as DataCard };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataCard.js","names":["memo","useMemo","useState","styled","useTranslation","Box","ButtonContext","useOdysseyDesignTokens","Heading5","Paragraph","Support","MenuButton","ChevronDownIcon","ChevronUpIcon","MoreIcon","jsx","_jsx","jsxs","_jsxs","CARD_IMAGE_SIZE","CARD_IMAGE_SIZE_COMPACT","cardVariantValues","AccessoryContainer","shouldForwardProp","prop","odysseyDesignTokens","variant","display","flexDirection","alignItems","gap","Spacing2","height","ImageContainer","hasMenuButtonChildren","maxHeight","marginBlockEnd","Spacing5","paddingRight","MenuButtonContainer","position","right","Spacing3","top","CardInnerContainer","CardImageAndContentContainer","CardContent","Spacing1","CardChildrenContainer","marginBlockStart","AccessoryPlaceholder","_IconButton","visibility","buttonProviderValue","isFullWidth","DataCard","Accessory","AccessoryProp","button","children","description","image","menuButtonChildren","onClick","overline","renderDetailPanel","row","title","t","isDetailPanelOpen","setIsDetailPanelOpen","ExpansionToggle","_Tooltip","disabled","cardContent","Boolean","component","color","_CardActions","Provider","value","_Card","className","_CardActionArea","endIcon","ariaLabel","buttonVariant","menuAlignment","size","tooltipText","MemoizedDataCard","displayName"],"sources":["../../../src/labs/DataView/DataCard.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n MouseEventHandler,\n ReactElement,\n memo,\n useMemo,\n ReactNode,\n useState,\n} from \"react\";\nimport {\n IconButton as MuiIconButton,\n Card as MuiCard,\n CardActions as MuiCardActions,\n CardActionArea as MuiCardActionArea,\n Tooltip as MuiTooltip,\n} from \"@mui/material\";\nimport styled from \"@emotion/styled\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Box } from \"../../Box\";\nimport { Button } from \"../../Button\";\nimport { ButtonContext } from \"../../ButtonContext\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport { Heading5, Paragraph, Support } from \"../../Typography\";\nimport { MenuButton, MenuButtonProps } from \"../../MenuButton\";\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n MoreIcon,\n} from \"../../icons.generated\";\nimport { CardLayoutProps } from \"./componentTypes\";\nimport { MRT_RowData } from \"material-react-table\";\n\nexport const CARD_IMAGE_SIZE = \"64px\";\nexport const CARD_IMAGE_SIZE_COMPACT = \"48px\";\n\nexport const cardVariantValues = [\"tile\", \"stack\", \"compact\"] as const;\n\nexport type DataCardProps = {\n children?: ReactNode;\n description?: string;\n image?: ReactElement;\n overline?: string;\n renderDetailPanel?: CardLayoutProps[\"renderDetailPanel\"];\n row: MRT_RowData;\n title?: string;\n variant?: (typeof cardVariantValues)[number];\n} & (\n | {\n Accessory?: never;\n button?: never;\n menuButtonChildren?: never;\n onClick: MouseEventHandler;\n }\n | {\n Accessory?: ReactNode;\n button?: ReactElement<typeof Button>;\n menuButtonChildren?: MenuButtonProps[\"children\"];\n onClick?: never;\n }\n);\n\nconst AccessoryContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n display: \"flex\",\n flexDirection: variant === \"compact\" ? \"row\" : \"column\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n}));\n\nconst ImageContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"hasMenuButtonChildren\" &&\n prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n hasMenuButtonChildren: boolean;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, hasMenuButtonChildren, variant }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n maxHeight: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n marginBlockEnd: variant === \"tile\" ? odysseyDesignTokens.Spacing5 : 0,\n paddingRight: hasMenuButtonChildren ? odysseyDesignTokens.Spacing5 : 0,\n}));\n\nconst MenuButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n position: \"absolute\",\n right: odysseyDesignTokens.Spacing3,\n top: odysseyDesignTokens.Spacing3,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n}));\n\nconst CardInnerContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst CardImageAndContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"variant\",\n})<{ variant: (typeof cardVariantValues)[number] }>(({ variant }) => ({\n display: \"flex\",\n flexDirection: variant === \"tile\" ? \"column\" : \"row\",\n}));\n\nconst CardContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n \"& > .MuiTypography-h5\": {\n marginBlockEnd: `${variant === \"compact\" ? odysseyDesignTokens.Spacing1 : odysseyDesignTokens.Spacing3} !important`,\n },\n}));\n\nconst CardChildrenContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n [\"&:not(:first-child)\"]: {\n marginBlockStart: odysseyDesignTokens.Spacing3,\n },\n}));\n\nconst AccessoryPlaceholder = styled(MuiIconButton)(() => ({\n visibility: \"hidden\",\n}));\nconst buttonProviderValue = { isFullWidth: true };\n\nconst DataCard = ({\n Accessory: AccessoryProp,\n button,\n children,\n description,\n image,\n menuButtonChildren,\n onClick,\n overline,\n renderDetailPanel,\n row,\n title,\n variant = \"tile\",\n}: DataCardProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [isDetailPanelOpen, setIsDetailPanelOpen] = useState<boolean>(false);\n\n const ExpansionToggle = useMemo(() => {\n return renderDetailPanel?.({ row }) ? (\n <MuiTooltip\n title={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n >\n <MuiIconButton\n children={isDetailPanelOpen ? <ChevronUpIcon /> : <ChevronDownIcon />}\n onClick={() => setIsDetailPanelOpen(!isDetailPanelOpen)}\n aria-label={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n />\n </MuiTooltip>\n ) : (\n <AccessoryPlaceholder disabled>\n <ChevronDownIcon />\n </AccessoryPlaceholder>\n );\n }, [isDetailPanelOpen, renderDetailPanel, row, t]);\n\n const Accessory = useMemo(() => {\n return (\n <AccessoryContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {AccessoryProp}\n {renderDetailPanel && ExpansionToggle}\n </AccessoryContainer>\n );\n }, [\n AccessoryProp,\n ExpansionToggle,\n odysseyDesignTokens,\n renderDetailPanel,\n variant,\n ]);\n\n const cardContent = useMemo(\n () => (\n <CardInnerContainer odysseyDesignTokens={odysseyDesignTokens}>\n {(AccessoryProp || renderDetailPanel) && <Box>{Accessory}</Box>}\n <CardImageAndContentContainer variant={variant}>\n {image && (\n <ImageContainer\n odysseyDesignTokens={odysseyDesignTokens}\n hasMenuButtonChildren={Boolean(menuButtonChildren)}\n variant={variant}\n >\n {image}\n </ImageContainer>\n )}\n\n <CardContent\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {overline && <Support component=\"div\">{overline}</Support>}\n {title && <Heading5 component=\"div\">{title}</Heading5>}\n {description && (\n <Paragraph color=\"textSecondary\">{description}</Paragraph>\n )}\n\n {button && (\n <MuiCardActions>\n <ButtonContext.Provider value={buttonProviderValue}>\n {button}\n </ButtonContext.Provider>\n </MuiCardActions>\n )}\n\n {children && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {children}\n </CardChildrenContainer>\n )}\n\n {renderDetailPanel && isDetailPanelOpen && (\n <CardChildrenContainer odysseyDesignTokens={odysseyDesignTokens}>\n {renderDetailPanel({ row })}\n </CardChildrenContainer>\n )}\n </CardContent>\n </CardImageAndContentContainer>\n </CardInnerContainer>\n ),\n [\n odysseyDesignTokens,\n AccessoryProp,\n renderDetailPanel,\n Accessory,\n variant,\n image,\n menuButtonChildren,\n overline,\n title,\n description,\n button,\n children,\n isDetailPanelOpen,\n row,\n ],\n );\n\n return (\n <MuiCard\n className={`${onClick ? \"isClickable\" : \"\"} ${Accessory ? \"hasAccessory\" : \"\"} ods-card-${variant}`}\n >\n {onClick ? (\n <MuiCardActionArea onClick={onClick}>{cardContent}</MuiCardActionArea>\n ) : (\n cardContent\n )}\n\n {menuButtonChildren && (\n <MenuButtonContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n menuAlignment=\"right\"\n size=\"small\"\n tooltipText={t(\"table.actions\")}\n >\n {menuButtonChildren}\n </MenuButton>\n </MenuButtonContainer>\n )}\n </MuiCard>\n );\n};\n\nconst MemoizedDataCard = memo(DataCard);\nMemoizedDataCard.displayName = \"DataCard\";\n\nexport { MemoizedDataCard as DataCard };\n"],"mappings":"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"}
|
|
@@ -85,6 +85,9 @@ const DataView = ({
|
|
|
85
85
|
getRowId: getRowIdProp,
|
|
86
86
|
hasFilters,
|
|
87
87
|
hasPagination,
|
|
88
|
+
hasPageInput,
|
|
89
|
+
hasRowCountInput,
|
|
90
|
+
hasRowCountLabel,
|
|
88
91
|
hasSearch,
|
|
89
92
|
hasSearchSubmitButton,
|
|
90
93
|
hasRowReordering,
|
|
@@ -317,6 +320,9 @@ const DataView = ({
|
|
|
317
320
|
totalRows: totalRows
|
|
318
321
|
}), hasPagination && _jsx(Pagination, {
|
|
319
322
|
currentPageLabel: t("pagination.page"),
|
|
323
|
+
hasPageInput: hasPageInput,
|
|
324
|
+
hasRowCountInput: hasRowCountInput,
|
|
325
|
+
hasRowCountLabel: hasRowCountLabel,
|
|
320
326
|
isDisabled: isEmpty,
|
|
321
327
|
isMoreDisabled: isPaginationMoreDisabled,
|
|
322
328
|
lastRow: lastRowOnPage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataView.js","names":["memo","useEffect","useMemo","useState","useTranslation","availableLayouts","allAvailableLayouts","densityValues","Box","BulkActionsMenu","Callout","DataFilters","EmptyState","fetchData","LayoutSwitcher","MenuButton","MoreIcon","TableSettings","Pagination","usePagination","TableLayoutContent","CardLayoutContent","useFilterConversion","useRowReordering","Typography","useOdysseyDesignTokens","styled","jsx","_jsx","jsxs","_jsxs","DataViewContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","BulkActionsContainer","justifyContent","AdditionalActionsContainer","Spacing2","AdditionalActionsInner","alignItems","MetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","currentPage","emptyPlaceholder","enableVirtualization","enableVirtualizationProp","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","metaText","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","t","currentLayout","setCurrentLayout","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","shouldShowFilters","availableFilters","columns","dataQueryParams","page","sort","row","id","prev","undefined","length","prevValue","emptyState","noResultsInnerContent","description","heading","additionalActions","children","color","endIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","currentRowsCount","rowReorderingUtilities","severity","text","isDisabled","onChangeFilters","onChangeSearch","menuItems","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","displayName"],"sources":["../../../src/labs/DataView/DataView.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, useEffect, useMemo, useState } from \"react\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n availableLayouts as allAvailableLayouts,\n densityValues,\n} from \"./constants\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes\";\nimport { Box } from \"../../Box\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu\";\nimport { Callout } from \"../../Callout\";\nimport { DataFilters } from \"../DataFilters\";\nimport { EmptyState } from \"../../EmptyState\";\nimport { fetchData } from \"./fetchData\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MoreIcon } from \"../../icons.generated\";\nimport { TableSettings } from \"./TableSettings\";\nimport { Pagination, usePagination } from \"../../Pagination\";\nimport { TableLayoutContent } from \"./TableLayoutContent\";\nimport { CardLayoutContent } from \"./CardLayoutContent\";\nimport { useFilterConversion } from \"./useFilterConversion\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering\";\nimport { Typography } from \"../../Typography\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps = UniversalProps & ViewProps<DataLayout>;\n\nconst DataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst BulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst AdditionalActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst AdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst MetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = ({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\n enableVirtualization: enableVirtualizationProp,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId: getRowIdProp,\n hasFilters,\n hasPagination,\n hasSearch,\n hasSearchSubmitButton,\n hasRowReordering,\n hasRowSelection,\n initialLayout,\n isEmpty: isEmptyProp,\n isLoading: isLoadingProp,\n isNoResults: isNoResultsProp,\n isPaginationMoreDisabled,\n isRowReorderingDisabled,\n metaText,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [currentLayout, setCurrentLayout] = useState<DataLayout>(\n initialLayout ?? availableLayouts[0],\n );\n\n const [data, setData] = useState<MRT_RowData[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(isLoadingProp ?? true);\n const [isEmpty, setIsEmpty] = useState<boolean>(isEmptyProp ?? true);\n const [isNoResults, setIsNoResults] = useState<boolean>(\n isNoResultsProp ?? false,\n );\n const [errorMessage, setErrorMessage] =\n useState<UniversalProps[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n\n const [tableState, setTableState] = useState<TableState>({\n columnSorting: [],\n columnVisibility: {},\n rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0],\n });\n\n const shouldShowFilters =\n hasSearch ||\n hasFilters ||\n additionalActionButton ||\n additionalActionMenuItems;\n\n const availableFilters = useFilterConversion({\n filters: filters,\n columns: tableLayoutOptions?.columns,\n });\n\n useEffect(() => {\n if (!initialFilters && availableFilters) {\n setInitialFilters(availableFilters);\n }\n }, [availableFilters, initialFilters]);\n\n const dataQueryParams = useMemo(\n () => ({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters: availableFilters,\n sort: tableState?.columnSorting,\n }),\n [\n pagination.pageIndex,\n pagination.pageSize,\n search,\n availableFilters,\n tableState?.columnSorting,\n ],\n );\n\n const getRowId = getRowIdProp ? getRowIdProp : (row: MRT_RowData) => row.id;\n\n // Update pagination state if props change\n useEffect(() => {\n setPagination({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n }, [currentPage, resultsPerPage]);\n\n // Reset pagination if search or filters change\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: paginationType == \"loadMore\" ? resultsPerPage : prev.pageSize,\n }));\n }, [filters, paginationType, resultsPerPage, search]);\n\n // Fire onPaginationChange if pagination changes\n useEffect(() => {\n onPaginationChange?.(pagination);\n }, [onPaginationChange, pagination]);\n\n // Retrieve the data\n useEffect(() => {\n fetchData({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n // Only include setIsLoading if that's not being controlled manually\n setIsLoading: isLoadingProp ? undefined : setIsLoading,\n });\n }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);\n\n // When data is updated\n useEffect(() => {\n setIsEmpty(\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n filters === initialFilters &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n initialFilters,\n pagination,\n resultsPerPage,\n search,\n ]);\n\n // Change loading, empty and noResults state on prop change\n useEffect(() => {\n setIsLoading((prevValue) => isLoadingProp ?? prevValue);\n }, [isLoadingProp]);\n\n useEffect(() => {\n setIsEmpty((prevValue) => isEmptyProp ?? prevValue);\n }, [isEmptyProp]);\n\n useEffect(() => {\n setIsNoResults((prevValue) => isNoResultsProp ?? prevValue);\n }, [isNoResultsProp]);\n\n const emptyState = useMemo(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n if (isEmpty) {\n return emptyPlaceholder || noResultsInnerContent;\n }\n\n if (isNoResults) {\n return noResultsInnerContent;\n }\n\n return;\n }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);\n\n const additionalActions = useMemo(() => {\n return (\n (metaText ||\n (currentLayout === \"table\" && tableLayoutOptions) ||\n availableLayouts.length > 1 ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <AdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <MetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </MetaTextContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableSettings\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n />\n )}\n\n {availableLayouts.length > 1 && (\n <LayoutSwitcher\n availableLayouts={availableLayouts}\n currentLayout={currentLayout}\n setCurrentLayout={setCurrentLayout}\n />\n )}\n\n {additionalActionButton}\n\n {additionalActionMenuItems && (\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </AdditionalActionsInner>\n )\n );\n }, [\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts,\n currentLayout,\n metaText,\n odysseyDesignTokens,\n tableLayoutOptions,\n tableState,\n t,\n ]);\n\n const enableVirtualization = useMemo(\n () => enableVirtualizationProp ?? paginationType === \"loadMore\",\n [enableVirtualizationProp, paginationType],\n );\n\n const { lastRow: lastRowOnPage } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n const rowReorderingUtilities = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n return (\n <DataViewContainer odysseyDesignTokens={odysseyDesignTokens}>\n {errorMessage && (\n <Box>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n {shouldShowFilters && (\n <DataFilters\n additionalActions={additionalActions}\n filters={hasFilters ? availableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n )}\n\n {(bulkActionMenuItems || hasRowSelection) && (\n <BulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </BulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <AdditionalActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {additionalActions}\n </AdditionalActionsContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableLayoutContent\n columns={tableLayoutOptions.columns}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n enableVirtualization={enableVirtualization}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n totalRows={totalRows}\n />\n )}\n {(currentLayout === \"list\" || currentLayout === \"grid\") &&\n cardLayoutOptions && (\n <CardLayoutContent\n currentLayout={currentLayout}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n cardLayoutOptions={cardLayoutOptions}\n totalRows={totalRows}\n />\n )}\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRowOnPage}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n currentRowsCount={data.length}\n variant={paginationType}\n />\n )}\n </DataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView);\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DataView.js","names":["memo","useEffect","useMemo","useState","useTranslation","availableLayouts","allAvailableLayouts","densityValues","Box","BulkActionsMenu","Callout","DataFilters","EmptyState","fetchData","LayoutSwitcher","MenuButton","MoreIcon","TableSettings","Pagination","usePagination","TableLayoutContent","CardLayoutContent","useFilterConversion","useRowReordering","Typography","useOdysseyDesignTokens","styled","jsx","_jsx","jsxs","_jsxs","DataViewContainer","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","BulkActionsContainer","justifyContent","AdditionalActionsContainer","Spacing2","AdditionalActionsInner","alignItems","MetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","bulkActionMenuItems","currentPage","emptyPlaceholder","enableVirtualization","enableVirtualizationProp","errorMessage","errorMessageProp","filters","filtersProp","getData","getRowId","getRowIdProp","hasFilters","hasPagination","hasPageInput","hasRowCountInput","hasRowCountLabel","hasSearch","hasSearchSubmitButton","hasRowReordering","hasRowSelection","initialLayout","isEmpty","isEmptyProp","isLoading","isLoadingProp","isNoResults","isNoResultsProp","isPaginationMoreDisabled","isRowReorderingDisabled","metaText","noResultsPlaceholder","onChangeRowSelection","onReorderRows","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","t","currentLayout","setCurrentLayout","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","shouldShowFilters","availableFilters","columns","dataQueryParams","page","sort","row","id","prev","undefined","length","prevValue","emptyState","noResultsInnerContent","description","heading","additionalActions","children","color","endIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","currentRowsCount","rowReorderingUtilities","severity","text","isDisabled","onChangeFilters","onChangeSearch","menuItems","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","displayName"],"sources":["../../../src/labs/DataView/DataView.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, useEffect, useMemo, useState } from \"react\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n availableLayouts as allAvailableLayouts,\n densityValues,\n} from \"./constants\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes\";\nimport { Box } from \"../../Box\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu\";\nimport { Callout } from \"../../Callout\";\nimport { DataFilters } from \"../DataFilters\";\nimport { EmptyState } from \"../../EmptyState\";\nimport { fetchData } from \"./fetchData\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher\";\nimport { MenuButton } from \"../../MenuButton\";\nimport { MoreIcon } from \"../../icons.generated\";\nimport { TableSettings } from \"./TableSettings\";\nimport { Pagination, usePagination } from \"../../Pagination\";\nimport { TableLayoutContent } from \"./TableLayoutContent\";\nimport { CardLayoutContent } from \"./CardLayoutContent\";\nimport { useFilterConversion } from \"./useFilterConversion\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering\";\nimport { Typography } from \"../../Typography\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps = UniversalProps & ViewProps<DataLayout>;\n\nconst DataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst BulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst AdditionalActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n justifyContent: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst AdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst MetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = ({\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts = allAvailableLayouts,\n bulkActionMenuItems,\n currentPage = 1,\n emptyPlaceholder,\n enableVirtualization: enableVirtualizationProp,\n errorMessage: errorMessageProp,\n filters: filtersProp,\n getData,\n getRowId: getRowIdProp,\n hasFilters,\n hasPagination,\n hasPageInput,\n hasRowCountInput,\n hasRowCountLabel,\n hasSearch,\n hasSearchSubmitButton,\n hasRowReordering,\n hasRowSelection,\n initialLayout,\n isEmpty: isEmptyProp,\n isLoading: isLoadingProp,\n isNoResults: isNoResultsProp,\n isPaginationMoreDisabled,\n isRowReorderingDisabled,\n metaText,\n noResultsPlaceholder,\n onChangeRowSelection,\n onReorderRows,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [currentLayout, setCurrentLayout] = useState<DataLayout>(\n initialLayout ?? availableLayouts[0],\n );\n\n const [data, setData] = useState<MRT_RowData[]>([]);\n const [isLoading, setIsLoading] = useState<boolean>(isLoadingProp ?? true);\n const [isEmpty, setIsEmpty] = useState<boolean>(isEmptyProp ?? true);\n const [isNoResults, setIsNoResults] = useState<boolean>(\n isNoResultsProp ?? false,\n );\n const [errorMessage, setErrorMessage] =\n useState<UniversalProps[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<MRT_RowData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n const [pagination, setPagination] = useState({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n\n const [tableState, setTableState] = useState<TableState>({\n columnSorting: [],\n columnVisibility: {},\n rowDensity: tableLayoutOptions?.initialDensity ?? densityValues[0],\n });\n\n const shouldShowFilters =\n hasSearch ||\n hasFilters ||\n additionalActionButton ||\n additionalActionMenuItems;\n\n const availableFilters = useFilterConversion({\n filters: filters,\n columns: tableLayoutOptions?.columns,\n });\n\n useEffect(() => {\n if (!initialFilters && availableFilters) {\n setInitialFilters(availableFilters);\n }\n }, [availableFilters, initialFilters]);\n\n const dataQueryParams = useMemo(\n () => ({\n page: pagination.pageIndex,\n resultsPerPage: pagination.pageSize,\n search,\n filters: availableFilters,\n sort: tableState?.columnSorting,\n }),\n [\n pagination.pageIndex,\n pagination.pageSize,\n search,\n availableFilters,\n tableState?.columnSorting,\n ],\n );\n\n const getRowId = getRowIdProp ? getRowIdProp : (row: MRT_RowData) => row.id;\n\n // Update pagination state if props change\n useEffect(() => {\n setPagination({\n pageIndex: currentPage,\n pageSize: resultsPerPage,\n });\n }, [currentPage, resultsPerPage]);\n\n // Reset pagination if search or filters change\n useEffect(() => {\n setPagination((prev) => ({\n pageIndex: 1,\n pageSize: paginationType == \"loadMore\" ? resultsPerPage : prev.pageSize,\n }));\n }, [filters, paginationType, resultsPerPage, search]);\n\n // Fire onPaginationChange if pagination changes\n useEffect(() => {\n onPaginationChange?.(pagination);\n }, [onPaginationChange, pagination]);\n\n // Retrieve the data\n useEffect(() => {\n fetchData({\n dataQueryParams,\n errorMessageProp,\n getData,\n setData,\n setErrorMessage,\n // Only include setIsLoading if that's not being controlled manually\n setIsLoading: isLoadingProp ? undefined : setIsLoading,\n });\n }, [dataQueryParams, errorMessageProp, getData, isLoadingProp]);\n\n // When data is updated\n useEffect(() => {\n setIsEmpty(\n pagination.pageIndex === currentPage &&\n pagination.pageSize === resultsPerPage &&\n search === \"\" &&\n filters === initialFilters &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n initialFilters,\n pagination,\n resultsPerPage,\n search,\n ]);\n\n // Change loading, empty and noResults state on prop change\n useEffect(() => {\n setIsLoading((prevValue) => isLoadingProp ?? prevValue);\n }, [isLoadingProp]);\n\n useEffect(() => {\n setIsEmpty((prevValue) => isEmptyProp ?? prevValue);\n }, [isEmptyProp]);\n\n useEffect(() => {\n setIsNoResults((prevValue) => isNoResultsProp ?? prevValue);\n }, [isNoResultsProp]);\n\n const emptyState = useMemo(() => {\n const noResultsInnerContent = noResultsPlaceholder || (\n <EmptyState\n description={t(\"table.noresults.text\")}\n heading={t(\"table.noresults.heading\")}\n />\n );\n\n if (isEmpty) {\n return emptyPlaceholder || noResultsInnerContent;\n }\n\n if (isNoResults) {\n return noResultsInnerContent;\n }\n\n return;\n }, [noResultsPlaceholder, t, isEmpty, isNoResults, emptyPlaceholder]);\n\n const additionalActions = useMemo(() => {\n return (\n (metaText ||\n (currentLayout === \"table\" && tableLayoutOptions) ||\n availableLayouts.length > 1 ||\n additionalActionButton ||\n additionalActionMenuItems) && (\n <AdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <MetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </MetaTextContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableSettings\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n />\n )}\n\n {availableLayouts.length > 1 && (\n <LayoutSwitcher\n availableLayouts={availableLayouts}\n currentLayout={currentLayout}\n setCurrentLayout={setCurrentLayout}\n />\n )}\n\n {additionalActionButton}\n\n {additionalActionMenuItems && (\n <MenuButton\n endIcon={<MoreIcon />}\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"secondary\"\n menuAlignment=\"right\"\n >\n {additionalActionMenuItems}\n </MenuButton>\n )}\n </AdditionalActionsInner>\n )\n );\n }, [\n additionalActionButton,\n additionalActionMenuItems,\n availableLayouts,\n currentLayout,\n metaText,\n odysseyDesignTokens,\n tableLayoutOptions,\n tableState,\n t,\n ]);\n\n const enableVirtualization = useMemo(\n () => enableVirtualizationProp ?? paginationType === \"loadMore\",\n [enableVirtualizationProp, paginationType],\n );\n\n const { lastRow: lastRowOnPage } = usePagination({\n currentRowsCount: data.length,\n pageIndex: pagination.pageIndex,\n pageSize: pagination.pageSize,\n totalRows,\n });\n\n const rowReorderingUtilities = useRowReordering({\n totalRows,\n onReorderRows,\n data,\n setData,\n draggingRow,\n setDraggingRow,\n resultsPerPage: pagination.pageSize,\n page: pagination.pageIndex,\n });\n\n return (\n <DataViewContainer odysseyDesignTokens={odysseyDesignTokens}>\n {errorMessage && (\n <Box>\n <Callout severity=\"error\" text={errorMessage} />\n </Box>\n )}\n\n {shouldShowFilters && (\n <DataFilters\n additionalActions={additionalActions}\n filters={hasFilters ? availableFilters : undefined}\n hasSearchSubmitButton={hasSearchSubmitButton}\n isDisabled={isEmpty}\n onChangeFilters={hasFilters ? setFilters : undefined}\n onChangeSearch={hasSearch ? setSearch : undefined}\n searchDelayTime={searchDelayTime}\n />\n )}\n\n {(bulkActionMenuItems || hasRowSelection) && (\n <BulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </BulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <AdditionalActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {additionalActions}\n </AdditionalActionsContainer>\n )}\n\n {currentLayout === \"table\" && tableLayoutOptions && (\n <TableLayoutContent\n columns={tableLayoutOptions.columns}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n enableVirtualization={enableVirtualization}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n setTableState={setTableState}\n tableLayoutOptions={tableLayoutOptions}\n tableState={tableState}\n totalRows={totalRows}\n />\n )}\n {(currentLayout === \"list\" || currentLayout === \"grid\") &&\n cardLayoutOptions && (\n <CardLayoutContent\n currentLayout={currentLayout}\n data={data}\n draggingRow={draggingRow}\n emptyState={emptyState}\n getRowId={getRowId}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isEmpty={isEmpty}\n isLoading={isLoading}\n isNoResults={isNoResults}\n isRowReorderingDisabled={isRowReorderingDisabled}\n onReorderRows={onReorderRows}\n pagination={pagination}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n cardLayoutOptions={cardLayoutOptions}\n totalRows={totalRows}\n />\n )}\n\n {hasPagination && (\n <Pagination\n currentPageLabel={t(\"pagination.page\")}\n hasPageInput={hasPageInput}\n hasRowCountInput={hasRowCountInput}\n hasRowCountLabel={hasRowCountLabel}\n isDisabled={isEmpty}\n isMoreDisabled={isPaginationMoreDisabled}\n lastRow={lastRowOnPage}\n loadMoreLabel={t(\"pagination.loadmore\")}\n maxPageIndex={maxPages}\n maxPageSize={maxResultsPerPage}\n nextLabel={t(\"pagination.next\")}\n onPaginationChange={setPagination}\n pageIndex={pagination.pageIndex}\n pageSize={pagination.pageSize}\n previousLabel={t(\"pagination.previous\")}\n rowsPerPageLabel={t(\"pagination.rowsperpage\")}\n totalRows={totalRows}\n currentRowsCount={data.length}\n variant={paginationType}\n />\n )}\n </DataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView);\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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"}
|
|
@@ -141,6 +141,7 @@ const TableLayoutContent = ({
|
|
|
141
141
|
}
|
|
142
142
|
}, [data]);
|
|
143
143
|
const shouldDisplayRowActions = useMemo(() => hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionButtons || tableLayoutOptions.rowActionMenuItems ? true : false, [hasRowReordering, onReorderRows, tableLayoutOptions.rowActionButtons, tableLayoutOptions.rowActionMenuItems]);
|
|
144
|
+
const hasColumnWithGrow = columns.some(column => column.grow === true);
|
|
144
145
|
const dataTable = useMaterialReactTable({
|
|
145
146
|
data: !isEmpty && !isNoResults ? data : [],
|
|
146
147
|
columns,
|
|
@@ -163,7 +164,7 @@ const TableLayoutContent = ({
|
|
|
163
164
|
...displayColumnDefOptions,
|
|
164
165
|
"mrt-row-actions": {
|
|
165
166
|
header: "",
|
|
166
|
-
grow:
|
|
167
|
+
grow: !hasColumnWithGrow,
|
|
167
168
|
muiTableBodyCellProps: {
|
|
168
169
|
align: "right",
|
|
169
170
|
sx: {
|
|
@@ -200,7 +201,7 @@ const TableLayoutContent = ({
|
|
|
200
201
|
},
|
|
201
202
|
muiTableProps: {
|
|
202
203
|
ref: tableContentRef,
|
|
203
|
-
className: !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing ? "ods-hide-spacer-column" : ""
|
|
204
|
+
className: !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing ? hasColumnWithGrow ? "ods-hide-spacer-column" : "ods-hide-spacer-column ods-column-grow" : ""
|
|
204
205
|
},
|
|
205
206
|
muiTableContainerProps: {
|
|
206
207
|
ref: tableInnerContainerRef
|