@okta/odyssey-react-mui 1.41.1 → 1.43.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/dist/cjs/DataTable/DataTable.cjs +67 -42
- package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
- package/dist/cjs/Drawer.cjs +16 -14
- package/dist/cjs/Drawer.cjs.map +1 -1
- package/dist/cjs/PasswordField.cjs +1 -1
- package/dist/cjs/PasswordField.cjs.map +1 -1
- package/dist/cjs/Select.cjs +35 -44
- package/dist/cjs/Select.cjs.map +1 -1
- package/dist/cjs/Status.cjs +2 -0
- package/dist/cjs/Status.cjs.map +1 -1
- package/dist/cjs/Typography.cjs +32 -8
- package/dist/cjs/Typography.cjs.map +1 -1
- package/dist/cjs/createContrastColors.cjs +6 -2
- package/dist/cjs/createContrastColors.cjs.map +1 -1
- package/dist/cjs/getLogicalBoundaries.cjs +33 -0
- package/dist/cjs/getLogicalBoundaries.cjs.map +1 -0
- package/dist/cjs/labs/DataFilters.cjs +1 -0
- package/dist/cjs/labs/DataFilters.cjs.map +1 -1
- package/dist/cjs/labs/DataView/BulkActionsMenu.cjs.map +1 -1
- package/dist/cjs/labs/DataView/CardLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DataView.cjs +10 -1
- package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
- package/dist/cjs/labs/DataView/RowActions.cjs +3 -4
- package/dist/cjs/labs/DataView/RowActions.cjs.map +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs +2 -4
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/DataView/useFilterConversion.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/Picker.cjs +17 -11
- package/dist/cjs/labs/OdysseyPickers/Picker.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +2 -1
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs +2 -3
- package/dist/cjs/labs/OdysseyPickers/SearchDropdown.cjs.map +1 -1
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs +15 -4
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs +136 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs.map +1 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs +4 -2
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_PL.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs +129 -126
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs +0 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs.map +1 -1
- package/dist/cjs/theme/components.cjs +7 -1
- package/dist/cjs/theme/components.cjs.map +1 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +0 -1
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +24 -18
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +4 -3
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +2 -0
- package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShellProvider.cjs +6 -1
- package/dist/cjs/ui-shell/UiShellProvider.cjs.map +1 -1
- package/dist/cjs/ui-shell/renderUiShell.cjs +2 -0
- package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/useElementAtContainerEdge.cjs +74 -0
- package/dist/cjs/ui-shell/useElementAtContainerEdge.cjs.map +1 -0
- package/dist/cjs/useMountLifecycleEffect.cjs +3 -3
- package/dist/cjs/useMountLifecycleEffect.cjs.map +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
- package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
- package/dist/esm/DataTable/DataTable.js +67 -40
- package/dist/esm/DataTable/DataTable.js.map +1 -1
- package/dist/esm/Drawer.js +16 -14
- package/dist/esm/Drawer.js.map +1 -1
- package/dist/esm/PasswordField.js +1 -1
- package/dist/esm/PasswordField.js.map +1 -1
- package/dist/esm/Select.js +35 -44
- package/dist/esm/Select.js.map +1 -1
- package/dist/esm/Status.js +2 -0
- package/dist/esm/Status.js.map +1 -1
- package/dist/esm/Typography.js +32 -8
- package/dist/esm/Typography.js.map +1 -1
- package/dist/esm/createContrastColors.js +6 -2
- package/dist/esm/createContrastColors.js.map +1 -1
- package/dist/esm/getLogicalBoundaries.js +26 -0
- package/dist/esm/getLogicalBoundaries.js.map +1 -0
- package/dist/esm/labs/DataFilters.js +1 -0
- package/dist/esm/labs/DataFilters.js.map +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
- package/dist/esm/labs/DataView/CardLayoutContent.js.map +1 -1
- package/dist/esm/labs/DataView/DataView.js +10 -1
- package/dist/esm/labs/DataView/DataView.js.map +1 -1
- package/dist/esm/labs/DataView/RowActions.js +2 -1
- package/dist/esm/labs/DataView/RowActions.js.map +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js +2 -4
- package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
- package/dist/esm/labs/DataView/useFilterConversion.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/ComposablePicker.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/Picker.js +19 -13
- package/dist/esm/labs/OdysseyPickers/Picker.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +2 -1
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js +2 -3
- package/dist/esm/labs/OdysseyPickers/SearchDropdown.js.map +1 -1
- package/dist/esm/labs/PageTemplate/PageTemplate.js +16 -5
- package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_da.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_de.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_el.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_es.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js +130 -0
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js.map +1 -0
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_id.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_it.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js +4 -2
- package/dist/esm/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js +129 -126
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_th.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js +0 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
- package/dist/esm/theme/components.js +7 -1
- package/dist/esm/theme/components.js.map +1 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js +0 -1
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +24 -18
- package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +4 -3
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
- package/dist/esm/ui-shell/UiShell.js +2 -0
- package/dist/esm/ui-shell/UiShell.js.map +1 -1
- package/dist/esm/ui-shell/UiShellProvider.js +6 -1
- package/dist/esm/ui-shell/UiShellProvider.js.map +1 -1
- package/dist/esm/ui-shell/renderUiShell.js +2 -0
- package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
- package/dist/esm/ui-shell/useElementAtContainerEdge.js +68 -0
- package/dist/esm/ui-shell/useElementAtContainerEdge.js.map +1 -0
- package/dist/esm/useMountLifecycleEffect.js +3 -3
- package/dist/esm/useMountLifecycleEffect.js.map +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
- package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.mjs +1 -1
- package/dist/index.scss +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/dist/types/DataTable/DataTable.d.ts +2 -2
- package/dist/types/DataTable/DataTable.d.ts.map +1 -1
- package/dist/types/Drawer.d.ts +24 -6
- package/dist/types/Drawer.d.ts.map +1 -1
- package/dist/types/OdysseyTranslationProvider.d.ts +1 -1
- package/dist/types/OdysseyTranslationProvider.d.ts.map +1 -1
- package/dist/types/PasswordField.d.ts.map +1 -1
- package/dist/types/Select.d.ts.map +1 -1
- package/dist/types/Status.d.ts +2 -2
- package/dist/types/Status.d.ts.map +1 -1
- package/dist/types/Typography.d.ts +16 -12
- package/dist/types/Typography.d.ts.map +1 -1
- package/dist/types/createContrastColors.d.ts +5 -1
- package/dist/types/createContrastColors.d.ts.map +1 -1
- package/dist/types/getLogicalBoundaries.d.ts +24 -0
- package/dist/types/getLogicalBoundaries.d.ts.map +1 -0
- package/dist/types/i18n.d.ts +6 -29
- package/dist/types/i18n.d.ts.map +1 -1
- package/dist/types/labs/DataFilters.d.ts.map +1 -1
- package/dist/types/labs/DataView/BulkActionsMenu.d.ts +1 -1
- package/dist/types/labs/DataView/BulkActionsMenu.d.ts.map +1 -1
- package/dist/types/labs/DataView/CardLayoutContent.d.ts.map +1 -1
- package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
- package/dist/types/labs/DataView/RowActions.d.ts +5 -4
- package/dist/types/labs/DataView/RowActions.d.ts.map +1 -1
- package/dist/types/labs/DataView/TableLayoutContent.d.ts +1 -1
- package/dist/types/labs/DataView/TableLayoutContent.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/ComposablePicker.d.ts +4 -1
- package/dist/types/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/Picker.d.ts +7 -7
- package/dist/types/labs/OdysseyPickers/Picker.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/SearchDropdown.d.ts.map +1 -1
- package/dist/types/labs/PageTemplate/PageTemplate.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_da.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_de.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_el.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_es.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts +130 -0
- package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts.map +1 -0
- package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_id.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_it.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts +3 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts +3 -0
- package/dist/types/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_th.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts +0 -1
- package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
- package/dist/types/theme/components.d.ts.map +1 -1
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShell.d.ts +1 -1
- package/dist/types/ui-shell/UiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/UiShellProvider.d.ts +10 -4
- package/dist/types/ui-shell/UiShellProvider.d.ts.map +1 -1
- package/dist/types/ui-shell/renderUiShell.d.ts +2 -2
- package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
- package/dist/types/ui-shell/useElementAtContainerEdge.d.ts +43 -0
- package/dist/types/ui-shell/useElementAtContainerEdge.d.ts.map +1 -0
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/package.json +9 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardLayoutContent.cjs","names":["_react","require","_styled","_interopRequireDefault","_Box","_CircularProgress","_OdysseyDesignTokensContext","_RowActions","_DataCard","_jsxRuntime","e","__esModule","default","StackContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","currentLayout","maxGridColumns","display","flexDirection","columnGap","Spacing5","gridTemplateColumns","LoadingContainer","alignItems","justifyContent","width","paddingBlock","CheckboxContainer","marginBlockStart","Spacing1","CardLayoutContent","data","emptyState","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","cardLayoutOptions","totalRows","useOdysseyDesignTokens","handleRowSelectionChange","useCallback","row","Object","fromEntries","id","entries","filter","key","concat","updateRowOrder","jsx","Box","children","CircularProgress","Fragment","length","role","map","index","overline","title","description","image","variant","button","itemProps","currentIndex","pageIndex","pageSize","DataCard","Accessory","_Checkbox2","checked","onChange","renderDetailPanel","menuButtonChildren","rowActionMenuItems","RowActions","rowIndex","undefined","MemoizedCardLayoutContent","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/CardLayoutContent.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 { Dispatch, ReactNode, SetStateAction, memo, useCallback } from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableInstance,\n} from \"material-react-table\";\n\nimport { Box } from \"../../Box.js\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport { CircularProgress } from \"../../CircularProgress.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { DataCard } from \"./DataCard.js\";\nimport {\n CardLayout,\n CardLayoutProps,\n UniversalProps,\n} from \"./componentTypes.js\";\n\nexport type CardLayoutContentProps<TData extends MRT_RowData> = {\n currentLayout: CardLayout;\n data: TData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: { pageIndex: number; pageSize: number };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n cardLayoutOptions: CardLayoutProps<TData>;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\ntype CardLayoutContentComponent = (<TData extends MRT_RowData>(\n props: CardLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StackContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"currentLayout\" &&\n prop !== \"maxGridColumns\",\n})<{\n odysseyDesignTokens: DesignTokens;\n currentLayout: CardLayout;\n maxGridColumns: number;\n}>(({ odysseyDesignTokens, currentLayout, maxGridColumns }) => ({\n display: currentLayout === \"list\" ? \"flex\" : \"grid\",\n flexDirection: \"column\",\n columnGap: odysseyDesignTokens.Spacing5,\n\n ...(currentLayout === \"grid\" && {\n [`@media (max-width: 720px)`]: {\n gridTemplateColumns: \"repeat(1, 1fr)\",\n },\n [`@media (min-width: 720px) and (max-width: 960px)`]: {\n gridTemplateColumns: \"repeat(2, 1fr)\",\n },\n [`@media (min-width: 960px)`]: {\n gridTemplateColumns: `repeat(${maxGridColumns}, 1fr)`,\n },\n }),\n}));\n\nconst LoadingContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n paddingBlock: odysseyDesignTokens.Spacing5,\n}));\n\nconst CheckboxContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n marginBlockStart: `-${odysseyDesignTokens.Spacing1}`,\n}));\n\nconst CardLayoutContent = <TData extends MRT_RowData>({\n currentLayout,\n data,\n emptyState,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n cardLayoutOptions,\n totalRows,\n}: CardLayoutContentProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const handleRowSelectionChange = useCallback(\n (row: MRT_RowData) => {\n setRowSelection((rowSelection) =>\n Object.fromEntries(\n row.id in rowSelection\n ? Object.entries(rowSelection).filter(([key]) => key !== row.id)\n : Object.entries(rowSelection).concat([[row.id, true]]),\n ),\n );\n },\n [setRowSelection],\n );\n\n const { updateRowOrder } = rowReorderingUtilities;\n\n return (\n <Box>\n {isLoading ? (\n <LoadingContainer odysseyDesignTokens={odysseyDesignTokens}>\n <CircularProgress />\n </LoadingContainer>\n ) : (\n <>\n {!data || data.length === 0 || isEmpty || isNoResults ? (\n <Box>{emptyState}</Box>\n ) : (\n <StackContainer\n odysseyDesignTokens={odysseyDesignTokens}\n currentLayout={currentLayout}\n maxGridColumns={cardLayoutOptions.maxGridColumns ?? 3}\n role=\"list\"\n >\n {data.map((row, index) => {\n const {\n overline,\n title,\n description,\n image,\n children,\n variant,\n button,\n } = cardLayoutOptions.itemProps(row);\n const currentIndex =\n index + (pagination.pageIndex - 1) * pagination.pageSize;\n\n return (\n <DataCard\n Accessory={\n hasRowSelection && (\n // Negative margin to counteract the checkbox's inbuilt spacing\n <CheckboxContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <MuiCheckbox\n checked={rowSelection[row.id as string] ?? false}\n onChange={() => handleRowSelectionChange(row)}\n />\n </CheckboxContainer>\n )\n }\n button={button}\n children={children}\n description={description}\n renderDetailPanel={cardLayoutOptions.renderDetailPanel}\n row={row}\n image={image}\n key={row.id as string}\n menuButtonChildren={\n (cardLayoutOptions.rowActionMenuItems ||\n hasRowReordering) && (\n <RowActions\n row={row as unknown as MRT_Row<MRT_RowData>} // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n rowIndex={currentIndex}\n rowActionMenuItems={\n // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n cardLayoutOptions.rowActionMenuItems as unknown as (\n row: MRT_Row<MRT_RowData>,\n ) => any // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n isRowReorderingDisabled={isRowReorderingDisabled}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows\n ? updateRowOrder\n : undefined\n }\n />\n )\n }\n overline={overline}\n title={title}\n variant={variant}\n />\n );\n })}\n </StackContainer>\n )}\n </>\n )}\n </Box>\n );\n};\n\nconst MemoizedCardLayoutContent = memo(\n CardLayoutContent,\n) as CardLayoutContentComponent;\nMemoizedCardLayoutContent.displayName = \"CardLayoutContent\";\n\nexport { MemoizedCardLayoutContent as CardLayoutContent };\n"],"mappings":";;;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AACA,IAAAC,OAAA,GAAAC,sBAAA,CAAAF,OAAA;AAQA,IAAAG,IAAA,GAAAH,OAAA;AAEA,IAAAI,iBAAA,GAAAJ,OAAA;AACA,IAAAK,2BAAA,GAAAL,OAAA;AAIA,IAAAM,WAAA,GAAAN,OAAA;AACA,IAAAO,SAAA,GAAAP,OAAA;AAAyC,IAAAQ,WAAA,GAAAR,OAAA;AAAA,SAAAE,uBAAAO,CAAA,WAAAA,CAAA,IAAAA,CAAA,CAAAC,UAAA,GAAAD,CAAA,KAAAE,OAAA,EAAAF,CAAA;AA7BzC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAsFA,MAAMG,cAAc,GAAG,IAAAC,eAAM,EAAC,KAAK,EAAE;EACnCC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAC9BA,IAAI,KAAK,eAAe,IACxBA,IAAI,KAAK;AACb,CAAC,CAAC,CAIC,CAAC;EAAEC,mBAAmB;EAAEC,aAAa;EAAEC;AAAe,CAAC,MAAM;EAC9DC,OAAO,EAAEF,aAAa,KAAK,MAAM,GAAG,MAAM,GAAG,MAAM;EACnDG,aAAa,EAAE,QAAQ;EACvBC,SAAS,EAAEL,mBAAmB,CAACM,QAAQ;EAEvC,IAAIL,aAAa,KAAK,MAAM,IAAI;IAC9B,CAAC,2BAA2B,GAAG;MAC7BM,mBAAmB,EAAE;IACvB,CAAC;IACD,CAAC,kDAAkD,GAAG;MACpDA,mBAAmB,EAAE;IACvB,CAAC;IACD,CAAC,2BAA2B,GAAG;MAC7BA,mBAAmB,EAAE,UAAUL,cAAc;IAC/C;EACF,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,MAAMM,gBAAgB,GAAG,IAAAX,eAAM,EAAC,KAAK,EAAE;EACrCC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EAC/BG,OAAO,EAAE,MAAM;EACfM,UAAU,EAAE,QAAQ;EACpBC,cAAc,EAAE,QAAQ;EACxBC,KAAK,EAAE,MAAM;EACbC,YAAY,EAAEZ,mBAAmB,CAACM;AACpC,CAAC,CAAC,CAAC;AAEH,MAAMO,iBAAiB,GAAG,IAAAhB,eAAM,EAAC,KAAK,EAAE;EACtCC,iBAAiB,EAAGC,IAAI,IAAKA,IAAI,KAAK;AACxC,CAAC,CAAC,CAEC,CAAC;EAAEC;AAAoB,CAAC,MAAM;EAC/Bc,gBAAgB,EAAE,IAAId,mBAAmB,CAACe,QAAQ;AACpD,CAAC,CAAC,CAAC;AAEH,MAAMC,iBAAiB,GAAGA,CAA4B;EACpDf,aAAa;EACbgB,IAAI;EACJC,UAAU;EACVC,gBAAgB;EAChBC,eAAe;EACfC,OAAO;EACPC,SAAS;EACTC,WAAW;EACXC,uBAAuB;EACvBC,aAAa;EACbC,UAAU;EACVC,sBAAsB;EACtBC,YAAY;EACZC,eAAe;EACfC,iBAAiB;EACjBC;AAC6B,CAAC,KAAK;EACnC,MAAM/B,mBAAmB,GAAG,IAAAgC,kDAAsB,EAAC,CAAC;EAEpD,MAAMC,wBAAwB,GAAG,IAAAC,kBAAW,EACzCC,GAAgB,IAAK;IACpBN,eAAe,CAAED,YAAY,IAC3BQ,MAAM,CAACC,WAAW,CAChBF,GAAG,CAACG,EAAE,IAAIV,YAAY,GAClBQ,MAAM,CAACG,OAAO,CAACX,YAAY,CAAC,CAACY,MAAM,CAAC,CAAC,CAACC,GAAG,CAAC,KAAKA,GAAG,KAAKN,GAAG,CAACG,EAAE,CAAC,GAC9DF,MAAM,CAACG,OAAO,CAACX,YAAY,CAAC,CAACc,MAAM,CAAC,CAAC,CAACP,GAAG,CAACG,EAAE,EAAE,IAAI,CAAC,CAAC,CAC1D,CACF,CAAC;EACH,CAAC,EACD,CAACT,eAAe,CAClB,CAAC;EAED,MAAM;IAAEc;EAAe,CAAC,GAAGhB,sBAAsB;EAEjD,OACE,IAAAnC,WAAA,CAAAoD,GAAA,EAACzD,IAAA,CAAA0D,GAAG;IAAAC,QAAA,EACDxB,SAAS,GACR,IAAA9B,WAAA,CAAAoD,GAAA,EAACpC,gBAAgB;MAACR,mBAAmB,EAAEA,mBAAoB;MAAA8C,QAAA,EACzD,IAAAtD,WAAA,CAAAoD,GAAA,EAACxD,iBAAA,CAAA2D,gBAAgB,IAAE;IAAC,CACJ,CAAC,GAEnB,IAAAvD,WAAA,CAAAoD,GAAA,EAAApD,WAAA,CAAAwD,QAAA;MAAAF,QAAA,EACG,CAAC7B,IAAI,IAAIA,IAAI,CAACgC,MAAM,KAAK,CAAC,IAAI5B,OAAO,IAAIE,WAAW,GACnD,IAAA/B,WAAA,CAAAoD,GAAA,EAACzD,IAAA,CAAA0D,GAAG;QAAAC,QAAA,EAAE5B;MAAU,CAAM,CAAC,GAEvB,IAAA1B,WAAA,CAAAoD,GAAA,EAAChD,cAAc;QACbI,mBAAmB,EAAEA,mBAAoB;QACzCC,aAAa,EAAEA,aAAc;QAC7BC,cAAc,EAAE4B,iBAAiB,CAAC5B,cAAc,IAAI,CAAE;QACtDgD,IAAI,EAAC,MAAM;QAAAJ,QAAA,EAEV7B,IAAI,CAACkC,GAAG,CAAC,CAAChB,GAAG,EAAEiB,KAAK,KAAK;UACxB,MAAM;YACJC,QAAQ;YACRC,KAAK;YACLC,WAAW;YACXC,KAAK;YACLV,QAAQ;YACRW,OAAO;YACPC;UACF,CAAC,GAAG5B,iBAAiB,CAAC6B,SAAS,CAACxB,GAAG,CAAC;UACpC,MAAMyB,YAAY,GAChBR,KAAK,GAAG,CAAC1B,UAAU,CAACmC,SAAS,GAAG,CAAC,IAAInC,UAAU,CAACoC,QAAQ;UAE1D,OACE,IAAAtE,WAAA,CAAAoD,GAAA,EAACrD,SAAA,CAAAwE,QAAQ;YACPC,SAAS,EACP5C,eAAe,IAEb,IAAA5B,WAAA,CAAAoD,GAAA,EAAC/B,iBAAiB;cAChBb,mBAAmB,EAAEA,mBAAoB;cAAA8C,QAAA,EAEzC,IAAAtD,WAAA,CAAAoD,GAAA,EAAAqB,UAAA,CAAAtE,OAAA;gBACEuE,OAAO,EAAEtC,YAAY,CAACO,GAAG,CAACG,EAAE,CAAW,IAAI,KAAM;gBACjD6B,QAAQ,EAAEA,CAAA,KAAMlC,wBAAwB,CAACE,GAAG;cAAE,CAC/C;YAAC,CACe,CAEtB;YACDuB,MAAM,EAAEA,MAAO;YACfZ,QAAQ,EAAEA,QAAS;YACnBS,WAAW,EAAEA,WAAY;YACzBa,iBAAiB,EAAEtC,iBAAiB,CAACsC,iBAAkB;YACvDjC,GAAG,EAAEA,GAAI;YACTqB,KAAK,EAAEA,KAAM;YAEba,kBAAkB,EAChB,CAACvC,iBAAiB,CAACwC,kBAAkB,IACnCnD,gBAAgB,KAChB,IAAA3B,WAAA,CAAAoD,GAAA,EAACtD,WAAA,CAAAiF,UAAU;cACTpC,GAAG,EAAEA,GAAuC;cAC5CqC,QAAQ,EAAEZ,YAAa;cACvBU,kBAAkB,EAEhBxC,iBAAiB,CAACwC,kBAGnB;cACD9C,uBAAuB,EAAEA,uBAAwB;cACjDO,SAAS,EAAEA,SAAU;cACrBY,cAAc,EACZxB,gBAAgB,IAAIM,aAAa,GAC7BkB,cAAc,GACd8B;YACL,CACF,CAEJ;YACDpB,QAAQ,EAAEA,QAAS;YACnBC,KAAK,EAAEA,KAAM;YACbG,OAAO,EAAEA;UAAQ,GAzBZtB,GAAG,CAACG,EA0BV,CAAC;QAEN,CAAC;MAAC,CACY;IACjB,CACD;EACH,CACE,CAAC;AAEV,CAAC;AAED,MAAMoC,yBAAyB,GAAAC,OAAA,CAAA3D,iBAAA,GAAG,IAAA4D,WAAI,EACpC5D,iBACF,CAA+B;AAC/B0D,yBAAyB,CAACG,WAAW,GAAG,mBAAmB","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"CardLayoutContent.cjs","names":["_react","require","_styled","_interopRequireDefault","_Box","_CircularProgress","_OdysseyDesignTokensContext","_RowActions","_DataCard","_jsxRuntime","e","__esModule","default","StackContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","currentLayout","maxGridColumns","display","flexDirection","columnGap","Spacing5","gridTemplateColumns","LoadingContainer","alignItems","justifyContent","width","paddingBlock","CheckboxContainer","marginBlockStart","Spacing1","CardLayoutContent","data","emptyState","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","cardLayoutOptions","totalRows","useOdysseyDesignTokens","handleRowSelectionChange","useCallback","row","Object","fromEntries","id","entries","filter","key","concat","updateRowOrder","jsx","Box","children","CircularProgress","Fragment","length","role","map","index","overline","title","description","image","variant","button","itemProps","currentIndex","pageIndex","pageSize","DataCard","Accessory","_Checkbox2","checked","onChange","renderDetailPanel","menuButtonChildren","rowActionMenuItems","RowActions","rowIndex","undefined","MemoizedCardLayoutContent","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/CardLayoutContent.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 { Dispatch, ReactNode, SetStateAction, memo, useCallback } from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableInstance,\n} from \"material-react-table\";\n\nimport { Box } from \"../../Box.js\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport { CircularProgress } from \"../../CircularProgress.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { DataCard } from \"./DataCard.js\";\nimport {\n CardLayout,\n CardLayoutProps,\n UniversalProps,\n} from \"./componentTypes.js\";\n\nexport type CardLayoutContentProps<TData extends MRT_RowData> = {\n currentLayout: CardLayout;\n data: TData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: { pageIndex: number; pageSize: number };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n cardLayoutOptions: CardLayoutProps<TData>;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\ntype CardLayoutContentComponent = (<TData extends MRT_RowData>(\n props: CardLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StackContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"currentLayout\" &&\n prop !== \"maxGridColumns\",\n})<{\n odysseyDesignTokens: DesignTokens;\n currentLayout: CardLayout;\n maxGridColumns: number;\n}>(({ odysseyDesignTokens, currentLayout, maxGridColumns }) => ({\n display: currentLayout === \"list\" ? \"flex\" : \"grid\",\n flexDirection: \"column\",\n columnGap: odysseyDesignTokens.Spacing5,\n\n ...(currentLayout === \"grid\" && {\n [`@media (max-width: 720px)`]: {\n gridTemplateColumns: \"repeat(1, 1fr)\",\n },\n [`@media (min-width: 720px) and (max-width: 960px)`]: {\n gridTemplateColumns: \"repeat(2, 1fr)\",\n },\n [`@media (min-width: 960px)`]: {\n gridTemplateColumns: `repeat(${maxGridColumns}, 1fr)`,\n },\n }),\n}));\n\nconst LoadingContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n width: \"100%\",\n paddingBlock: odysseyDesignTokens.Spacing5,\n}));\n\nconst CheckboxContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n marginBlockStart: `-${odysseyDesignTokens.Spacing1}`,\n}));\n\nconst CardLayoutContent = <TData extends MRT_RowData>({\n currentLayout,\n data,\n emptyState,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n cardLayoutOptions,\n totalRows,\n}: CardLayoutContentProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const handleRowSelectionChange = useCallback(\n (row: TData) => {\n setRowSelection((rowSelection) =>\n Object.fromEntries(\n row.id in rowSelection\n ? Object.entries(rowSelection).filter(([key]) => key !== row.id)\n : Object.entries(rowSelection).concat([[row.id, true]]),\n ),\n );\n },\n [setRowSelection],\n );\n\n const { updateRowOrder } = rowReorderingUtilities;\n\n return (\n <Box>\n {isLoading ? (\n <LoadingContainer odysseyDesignTokens={odysseyDesignTokens}>\n <CircularProgress />\n </LoadingContainer>\n ) : (\n <>\n {!data || data.length === 0 || isEmpty || isNoResults ? (\n <Box>{emptyState}</Box>\n ) : (\n <StackContainer\n odysseyDesignTokens={odysseyDesignTokens}\n currentLayout={currentLayout}\n maxGridColumns={cardLayoutOptions.maxGridColumns ?? 3}\n role=\"list\"\n >\n {data.map((row, index) => {\n const {\n overline,\n title,\n description,\n image,\n children,\n variant,\n button,\n } = cardLayoutOptions.itemProps(row);\n const currentIndex =\n index + (pagination.pageIndex - 1) * pagination.pageSize;\n\n return (\n <DataCard\n Accessory={\n hasRowSelection && (\n // Negative margin to counteract the checkbox's inbuilt spacing\n <CheckboxContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <MuiCheckbox\n checked={rowSelection[row.id as string] ?? false}\n onChange={() => handleRowSelectionChange(row)}\n />\n </CheckboxContainer>\n )\n }\n button={button}\n children={children}\n description={description}\n renderDetailPanel={cardLayoutOptions.renderDetailPanel}\n row={row}\n image={image}\n key={row.id as string}\n menuButtonChildren={\n (cardLayoutOptions.rowActionMenuItems ||\n hasRowReordering) && (\n <RowActions\n row={row}\n rowIndex={currentIndex}\n rowActionMenuItems={\n cardLayoutOptions.rowActionMenuItems as CardLayoutProps<MRT_RowData>[\"rowActionMenuItems\"]\n }\n isRowReorderingDisabled={isRowReorderingDisabled}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows\n ? updateRowOrder\n : undefined\n }\n />\n )\n }\n overline={overline}\n title={title}\n variant={variant}\n />\n );\n })}\n </StackContainer>\n )}\n </>\n )}\n </Box>\n );\n};\n\nconst MemoizedCardLayoutContent = memo(\n CardLayoutContent,\n) as CardLayoutContentComponent;\nMemoizedCardLayoutContent.displayName = \"CardLayoutContent\";\n\nexport { MemoizedCardLayoutContent as CardLayoutContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -25,6 +25,7 @@ var _useRowReordering = require("../../DataTable/useRowReordering.cjs");
|
|
|
25
25
|
var _Typography = require("../../Typography.cjs");
|
|
26
26
|
var _OdysseyDesignTokensContext = require("../../OdysseyDesignTokensContext.cjs");
|
|
27
27
|
var _styled = _interopRequireDefault(require("@emotion/styled"));
|
|
28
|
+
var _createUniqueId = require("../../createUniqueId.cjs");
|
|
28
29
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
29
30
|
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
30
31
|
/*!
|
|
@@ -166,7 +167,15 @@ const DataView = ({
|
|
|
166
167
|
filters: availableFilters,
|
|
167
168
|
sort: tableState?.columnSorting
|
|
168
169
|
}), [pagination.pageIndex, pagination.pageSize, search, availableFilters, tableState?.columnSorting]);
|
|
169
|
-
const getRowId = (0, _react.useCallback)(
|
|
170
|
+
const getRowId = (0, _react.useCallback)((row, index, parentRow) => {
|
|
171
|
+
if (getRowIdProp) {
|
|
172
|
+
return getRowIdProp(row, index, parentRow);
|
|
173
|
+
}
|
|
174
|
+
if (row.id) {
|
|
175
|
+
return row.id;
|
|
176
|
+
}
|
|
177
|
+
return (0, _createUniqueId.createUniqueId)();
|
|
178
|
+
}, [getRowIdProp]);
|
|
170
179
|
(0, _react.useEffect)(() => {
|
|
171
180
|
setPagination({
|
|
172
181
|
pageIndex: currentPage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataView.cjs","names":["_react","require","_reactI18next","_constants","_Box","_BulkActionsMenu","_Callout","_DataFilters","_EmptyState","_fetchData","_LayoutSwitcher","_index","_index2","_TableSettings","_index3","_TableLayoutContent","_CardLayoutContent","_useFilterConversion","_useRowReordering","_Typography","_OdysseyDesignTokensContext","_styled","_interopRequireDefault","_jsxRuntime","e","__esModule","default","StyledDataViewContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","StyledBulkActionsContainer","justifyContent","StyledAdditionalActionsContainer","Spacing2","StyledAdditionalActionsInner","alignItems","StyledMetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","availableLayouts","allAvailableLayouts","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","onRowSelectionChange","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","useOdysseyDesignTokens","t","useTranslation","currentLayout","setCurrentLayout","useState","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","useEffect","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","densityValues","shouldShowFilters","availableFilters","useFilterConversion","columns","dataQueryParams","useMemo","page","sort","useCallback","originalRow","id","prev","fetchData","undefined","length","prevValue","emptyState","noResultsInnerContent","jsx","EmptyState","description","heading","additionalActions","jsxs","children","Typography","color","TableSettings","LayoutSwitcher","MenuButton","endIcon","MoreIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","usePagination","currentRowsCount","rowReorderingUtilities","useRowReordering","Box","Callout","severity","text","DataFilters","isDisabled","onChangeFilters","onChangeSearch","BulkActionsMenu","menuItems","TableLayoutContent","CardLayoutContent","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","exports","memo","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, useCallback, 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.js\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes.js\";\nimport { Box } from \"../../Box.js\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu.js\";\nimport { Callout } from \"../../Callout.js\";\nimport { DataFilters } from \"../DataFilters.js\";\nimport { EmptyState } from \"../../EmptyState.js\";\nimport { fetchData } from \"./fetchData.js\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher.js\";\nimport { MenuButton } from \"../../Buttons/index.js\";\nimport { MoreIcon } from \"../../icons.generated/index.js\";\nimport { TableSettings } from \"./TableSettings.js\";\nimport { Pagination, usePagination } from \"../../Pagination/index.js\";\nimport { TableLayoutContent } from \"./TableLayoutContent.js\";\nimport { CardLayoutContent } from \"./CardLayoutContent.js\";\nimport { useFilterConversion } from \"./useFilterConversion.js\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering.js\";\nimport { Typography } from \"../../Typography.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport styled from \"@emotion/styled\";\n\nexport type DataViewProps<TData extends MRT_RowData> = UniversalProps<TData> &\n ViewProps<TData, DataLayout>;\ntype DataViewComponent = (<TData extends MRT_RowData>(\n props: DataViewProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StyledDataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst StyledBulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst StyledAdditionalActionsContainer = 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 StyledAdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledMetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = <TData extends MRT_RowData>({\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 onRowSelectionChange,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps<TData>) => {\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<TData[]>([]);\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<TData>[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\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 = useCallback<Required<DataViewProps<TData>>[\"getRowId\"]>(\n (originalRow) => originalRow.id as string,\n [],\n );\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 (!hasFilters || filters === initialFilters) &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n hasFilters,\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 <StyledAdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <StyledMetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </StyledMetaTextContainer>\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 </StyledAdditionalActionsInner>\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 <StyledDataViewContainer 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 <StyledBulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </StyledBulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <StyledAdditionalActionsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {additionalActions}\n </StyledAdditionalActionsContainer>\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={getRowIdProp || 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={getRowIdProp || 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 </StyledDataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView) as DataViewComponent;\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DataView.cjs","names":["_react","require","_reactI18next","_constants","_Box","_BulkActionsMenu","_Callout","_DataFilters","_EmptyState","_fetchData","_LayoutSwitcher","_index","_index2","_TableSettings","_index3","_TableLayoutContent","_CardLayoutContent","_useFilterConversion","_useRowReordering","_Typography","_OdysseyDesignTokensContext","_styled","_interopRequireDefault","_createUniqueId","_jsxRuntime","e","__esModule","default","StyledDataViewContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","flexDirection","gap","Spacing4","StyledBulkActionsContainer","justifyContent","StyledAdditionalActionsContainer","Spacing2","StyledAdditionalActionsInner","alignItems","StyledMetaTextContainer","marginInlineEnd","DataView","additionalActionButton","additionalActionMenuItems","availableLayouts","allAvailableLayouts","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","onRowSelectionChange","paginationType","resultsPerPage","searchDelayTime","cardLayoutOptions","tableLayoutOptions","totalRows","maxPages","maxResultsPerPage","onPaginationChange","useOdysseyDesignTokens","t","useTranslation","currentLayout","setCurrentLayout","useState","data","setData","setIsLoading","setIsEmpty","setIsNoResults","setErrorMessage","search","setSearch","initialFilters","setInitialFilters","setFilters","draggingRow","setDraggingRow","rowSelection","setRowSelection","useEffect","pagination","setPagination","pageIndex","pageSize","tableState","setTableState","columnSorting","columnVisibility","rowDensity","initialDensity","densityValues","shouldShowFilters","availableFilters","useFilterConversion","columns","dataQueryParams","useMemo","page","sort","useCallback","row","index","parentRow","id","createUniqueId","prev","fetchData","undefined","length","prevValue","emptyState","noResultsInnerContent","jsx","EmptyState","description","heading","additionalActions","jsxs","children","Typography","color","TableSettings","LayoutSwitcher","MenuButton","endIcon","MoreIcon","ariaLabel","buttonVariant","menuAlignment","lastRow","lastRowOnPage","usePagination","currentRowsCount","rowReorderingUtilities","useRowReordering","Box","Callout","severity","text","DataFilters","isDisabled","onChangeFilters","onChangeSearch","BulkActionsMenu","menuItems","TableLayoutContent","CardLayoutContent","Pagination","currentPageLabel","isMoreDisabled","loadMoreLabel","maxPageIndex","maxPageSize","nextLabel","previousLabel","rowsPerPageLabel","variant","MemoizedDataView","exports","memo","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, useCallback, 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.js\";\nimport {\n DataLayout,\n UniversalProps,\n ViewProps,\n TableState,\n} from \"./componentTypes.js\";\nimport { Box } from \"../../Box.js\";\nimport { BulkActionsMenu } from \"./BulkActionsMenu.js\";\nimport { Callout } from \"../../Callout.js\";\nimport { DataFilters } from \"../DataFilters.js\";\nimport { EmptyState } from \"../../EmptyState.js\";\nimport { fetchData } from \"./fetchData.js\";\nimport { LayoutSwitcher } from \"./LayoutSwitcher.js\";\nimport { MenuButton } from \"../../Buttons/index.js\";\nimport { MoreIcon } from \"../../icons.generated/index.js\";\nimport { TableSettings } from \"./TableSettings.js\";\nimport { Pagination, usePagination } from \"../../Pagination/index.js\";\nimport { TableLayoutContent } from \"./TableLayoutContent.js\";\nimport { CardLayoutContent } from \"./CardLayoutContent.js\";\nimport { useFilterConversion } from \"./useFilterConversion.js\";\nimport { useRowReordering } from \"../../DataTable/useRowReordering.js\";\nimport { Typography } from \"../../Typography.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport styled from \"@emotion/styled\";\nimport { createUniqueId } from \"../../createUniqueId.js\";\n\nexport type DataViewProps<TData extends MRT_RowData> = UniversalProps<TData> &\n ViewProps<TData, DataLayout>;\ntype DataViewComponent = (<TData extends MRT_RowData>(\n props: DataViewProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StyledDataViewContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing4,\n}));\n\nconst StyledBulkActionsContainer = styled(\"div\")(() => ({\n display: \"flex\",\n justifyContent: \"space-between\",\n}));\n\nconst StyledAdditionalActionsContainer = 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 StyledAdditionalActionsInner = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledMetaTextContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n}));\n\nconst DataView = <TData extends MRT_RowData>({\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 onRowSelectionChange,\n paginationType = \"paged\",\n resultsPerPage = 20,\n searchDelayTime,\n cardLayoutOptions,\n tableLayoutOptions,\n totalRows,\n maxPages,\n maxResultsPerPage,\n onPaginationChange,\n}: DataViewProps<TData>) => {\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<TData[]>([]);\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<TData>[\"errorMessage\"]>(errorMessageProp);\n\n const [search, setSearch] = useState<string>(\"\");\n\n const [initialFilters, setInitialFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n const [filters, setFilters] =\n useState<UniversalProps<TData>[\"filters\"]>(filtersProp);\n\n const [draggingRow, setDraggingRow] = useState<MRT_Row<TData> | null>();\n\n const [rowSelection, setRowSelection] = useState<MRT_RowSelectionState>({});\n\n useEffect(() => {\n onChangeRowSelection?.(rowSelection);\n }, [rowSelection, onChangeRowSelection]);\n\n useEffect(() => {\n onRowSelectionChange?.(rowSelection);\n }, [rowSelection, onRowSelectionChange]);\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 = useCallback<Required<UniversalProps<TData>>[\"getRowId\"]>(\n (row, index, parentRow) => {\n if (getRowIdProp) {\n return getRowIdProp(row, index, parentRow);\n }\n if (row.id) {\n return row.id as string;\n }\n return createUniqueId();\n },\n [getRowIdProp],\n );\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 (!hasFilters || filters === initialFilters) &&\n data.length === 0,\n );\n }, [\n currentPage,\n data,\n filters,\n hasFilters,\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 <StyledAdditionalActionsInner odysseyDesignTokens={odysseyDesignTokens}>\n {metaText && (\n <StyledMetaTextContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Typography color=\"textSecondary\">{metaText}</Typography>\n </StyledMetaTextContainer>\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 </StyledAdditionalActionsInner>\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 <StyledDataViewContainer 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 <StyledBulkActionsContainer>\n <BulkActionsMenu\n data={data}\n menuItems={bulkActionMenuItems}\n rowSelection={rowSelection}\n setRowSelection={setRowSelection}\n />\n {!shouldShowFilters && additionalActions}\n </StyledBulkActionsContainer>\n )}\n\n {!shouldShowFilters &&\n !bulkActionMenuItems &&\n !hasRowSelection &&\n additionalActions && (\n <StyledAdditionalActionsContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {additionalActions}\n </StyledAdditionalActionsContainer>\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={getRowIdProp || 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={getRowIdProp || 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 </StyledDataViewContainer>\n );\n};\n\nconst MemoizedDataView = memo(DataView) as DataViewComponent;\nMemoizedDataView.displayName = \"DataView\";\n\nexport { MemoizedDataView as DataView };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -19,11 +19,9 @@ var _jsxRuntime = require("react/jsx-runtime");
|
|
|
19
19
|
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
20
20
|
*
|
|
21
21
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
22
|
-
*/
|
|
23
|
-
|
|
24
|
-
const RowActions = ({
|
|
22
|
+
*/const RowActions = ({
|
|
25
23
|
isRowReorderingDisabled,
|
|
26
|
-
row,
|
|
24
|
+
row: incomingRow,
|
|
27
25
|
rowActionMenuItems,
|
|
28
26
|
rowIndex,
|
|
29
27
|
totalRows,
|
|
@@ -32,6 +30,7 @@ const RowActions = ({
|
|
|
32
30
|
const {
|
|
33
31
|
t
|
|
34
32
|
} = (0, _reactI18next.useTranslation)();
|
|
33
|
+
const row = incomingRow.original ? incomingRow.original : incomingRow;
|
|
35
34
|
const handleToFrontClick = (0, _react.useCallback)(() => {
|
|
36
35
|
if (updateRowOrder) {
|
|
37
36
|
updateRowOrder({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RowActions.cjs","names":["_react","require","_reactI18next","_index","_index2","_jsxRuntime","RowActions","isRowReorderingDisabled","row","rowActionMenuItems","rowIndex","totalRows","updateRowOrder","t","useTranslation","handleToFrontClick","useCallback","rowId","id","newRowIndex","handleForwardClick","Math","max","handleBackwardClick","handleToBackClick","jsxs","Fragment","children","jsx","MenuItem","isDisabled","onClick","ArrowTopIcon","ArrowUpIcon","ArrowDownIcon","ArrowBottomIcon","MemoizedRowActions","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/RowActions.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-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 { Fragment, ReactElement, memo, useCallback } from \"react\";\nimport { MRT_Row, MRT_RowData } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUpIcon,\n} from \"../../icons.generated/index.js\";\nimport { Button, MenuButtonProps, MenuItem } from \"../../Buttons/index.js\";\nimport { DataTableProps } from \"./DataTable.js\";\n\nexport type RowActionsProps<TData extends MRT_RowData> = {\n isRowReorderingDisabled?: boolean;\n row:
|
|
1
|
+
{"version":3,"file":"RowActions.cjs","names":["_react","require","_reactI18next","_index","_index2","_jsxRuntime","RowActions","isRowReorderingDisabled","row","incomingRow","rowActionMenuItems","rowIndex","totalRows","updateRowOrder","t","useTranslation","original","handleToFrontClick","useCallback","rowId","id","newRowIndex","handleForwardClick","Math","max","handleBackwardClick","handleToBackClick","jsxs","Fragment","children","jsx","MenuItem","isDisabled","onClick","ArrowTopIcon","ArrowUpIcon","ArrowDownIcon","ArrowBottomIcon","MemoizedRowActions","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/RowActions.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-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 { Fragment, ReactElement, memo, useCallback } from \"react\";\nimport { MRT_Row, MRT_RowData } from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowBottomIcon,\n ArrowDownIcon,\n ArrowTopIcon,\n ArrowUpIcon,\n} from \"../../icons.generated/index.js\";\nimport { Button, MenuButtonProps, MenuItem } from \"../../Buttons/index.js\";\nimport { DataTableProps } from \"./DataTable.js\";\n\n// Rows coming from TableLayoutContent will be in the MRT-expected row format,\n// while rows coming from CardLayoutContent will be pure data\ntype RowOrTableRow<TData extends MRT_RowData> = MRT_Row<TData> | TData;\n\nexport type RowActionsProps<TData extends MRT_RowData> = {\n isRowReorderingDisabled?: boolean;\n row: RowOrTableRow<TData>;\n rowActionButtons?: (\n row?: TData,\n ) => ReactElement<typeof Button> | ReactElement<typeof Fragment>;\n rowActionMenuItems?: (row: TData) => MenuButtonProps[\"children\"];\n rowIndex: number;\n totalRows?: DataTableProps<TData>[\"totalRows\"];\n updateRowOrder?: ({\n newRowIndex,\n rowId,\n }: {\n newRowIndex: number;\n rowId: string;\n }) => void;\n};\n\nconst RowActions = <TData extends MRT_RowData>({\n isRowReorderingDisabled,\n row: incomingRow,\n rowActionMenuItems,\n rowIndex,\n totalRows,\n updateRowOrder,\n}: RowActionsProps<TData>) => {\n const { t } = useTranslation();\n\n const row = (\n incomingRow.original ? incomingRow.original : incomingRow\n ) as TData & { id: string };\n\n const handleToFrontClick = useCallback(() => {\n if (updateRowOrder) {\n updateRowOrder({ rowId: row.id, newRowIndex: 0 });\n }\n }, [row.id, updateRowOrder]);\n\n const handleForwardClick = useCallback(() => {\n if (updateRowOrder) {\n updateRowOrder({ rowId: row.id, newRowIndex: Math.max(0, rowIndex - 1) });\n }\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleBackwardClick = useCallback(() => {\n if (updateRowOrder) {\n updateRowOrder({ rowId: row.id, newRowIndex: rowIndex + 1 });\n }\n }, [row.id, rowIndex, updateRowOrder]);\n\n const handleToBackClick = useCallback(() => {\n if (updateRowOrder) {\n updateRowOrder({\n rowId: row.id,\n newRowIndex: totalRows ? totalRows - 1 : rowIndex,\n });\n }\n }, [row.id, rowIndex, totalRows, updateRowOrder]);\n\n return (\n <>\n {rowActionMenuItems && rowActionMenuItems(row)}\n {rowActionMenuItems && updateRowOrder && <hr />}\n {updateRowOrder && (\n <>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleToFrontClick}\n >\n <ArrowTopIcon /> {t(\"table.reorder.tofront\")}\n </MenuItem>\n <MenuItem\n isDisabled={rowIndex <= 0 || isRowReorderingDisabled}\n onClick={handleForwardClick}\n >\n <ArrowUpIcon /> {t(\"table.reorder.forward\")}\n </MenuItem>\n <MenuItem\n isDisabled={\n (totalRows ? rowIndex >= totalRows - 1 : false) ||\n isRowReorderingDisabled\n }\n onClick={handleBackwardClick}\n >\n <ArrowDownIcon /> {t(\"table.reorder.backward\")}\n </MenuItem>\n {totalRows && (\n <MenuItem\n isDisabled={rowIndex >= totalRows - 1 || isRowReorderingDisabled}\n onClick={handleToBackClick}\n >\n <ArrowBottomIcon /> {t(\"table.reorder.toback\")}\n </MenuItem>\n )}\n </>\n )}\n </>\n );\n};\n\nconst MemoizedRowActions = memo(RowActions);\nMemoizedRowActions.displayName = \"RowActions\";\n\nexport { MemoizedRowActions as RowActions };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -109,7 +109,7 @@ const TableLayoutContent = ({
|
|
|
109
109
|
}) => {
|
|
110
110
|
const currentIndex = row.index + (pagination.pageIndex - 1) * pagination.pageSize;
|
|
111
111
|
return (0, _jsxRuntime.jsxs)(RowActionsContainer, {
|
|
112
|
-
children: [tableLayoutOptions.rowActionButtons?.(row), (tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (0, _jsxRuntime.jsx)(_index2.MenuButton, {
|
|
112
|
+
children: [tableLayoutOptions.rowActionButtons?.(row.original), (tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (0, _jsxRuntime.jsx)(_index2.MenuButton, {
|
|
113
113
|
ariaLabel: t("table.moreactions.arialabel"),
|
|
114
114
|
buttonVariant: "floating",
|
|
115
115
|
endIcon: (0, _jsxRuntime.jsx)(_index.MoreIcon, {}),
|
|
@@ -188,9 +188,7 @@ const TableLayoutContent = ({
|
|
|
188
188
|
display: "flex",
|
|
189
189
|
visibility: "hidden"
|
|
190
190
|
},
|
|
191
|
-
children: [tableLayoutOptions.rowActionButtons && tableLayoutOptions.rowActionButtons({
|
|
192
|
-
id: null
|
|
193
|
-
}), (hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionMenuItems) && (0, _jsxRuntime.jsx)(_Box.Box, {
|
|
191
|
+
children: [tableLayoutOptions.rowActionButtons && tableLayoutOptions.rowActionButtons(), (hasRowReordering === true && onReorderRows || tableLayoutOptions.rowActionMenuItems) && (0, _jsxRuntime.jsx)(_Box.Box, {
|
|
194
192
|
children: (0, _jsxRuntime.jsx)(_index2.Button, {
|
|
195
193
|
endIcon: (0, _jsxRuntime.jsx)(_index.MoreIcon, {}),
|
|
196
194
|
size: "small",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TableLayoutContent.cjs","names":["_react","require","_styled","_interopRequireDefault","_materialReactTable","_reactI18next","_index","_Box","_index2","_tableConstants","_RowActions","_OdysseyDesignTokensContext","_useScrollIndication","_jsxRuntime","e","__esModule","default","TextWrapper","styled","whiteSpace","textOverflow","overflow","RowActionsContainer","display","TableLayoutContent","columns","data","draggingRow","emptyState","enableVirtualization","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","useState","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","shouldUpdateScroll","useRef","tableOuterContainerRef","tableInnerContainerRef","tableContentRef","useScrollIndication","tableInnerContainer","current","tableOuterContainer","odysseyDesignTokens","useOdysseyDesignTokens","t","useTranslation","columnIds","useMemo","map","column","accessorKey","columnOrder","filter","id","rowDensityClassName","rowDensity","defaultCell","useCallback","cell","value","getValue","hasTextWrapping","columnDef","enableWrapping","jsx","children","draggableTableBodyRowClassName","dragHandleStyles","dragHandleText","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","renderRowActions","row","currentIndex","index","pageIndex","pageSize","jsxs","rowActionButtons","rowActionMenuItems","MenuButton","ariaLabel","buttonVariant","endIcon","MoreIcon","menuAlignment","size","RowActions","rowIndex","undefined","innerWidthStyle","width","emptyStateContainer","Box","sx","useEffect","scrollTo","clientHeight","shouldDisplayRowActions","hasColumnWithGrow","some","grow","dataTable","useMaterialReactTable","state","sorting","columnSorting","columnVisibility","icons","ArrowDownwardIcon","ArrowDownIcon","DragHandleIcon","DragIndicatorIcon","SyncAltIcon","ArrowUnsortedIcon","ExpandMoreIcon","ChevronDownIcon","dataTableImmutableSettings","displayColumnDefOptions","header","muiTableBodyCellProps","align","className","muiTableHeadCellProps","visibility","Button","variant","isDisabled","muiTableProps","ref","hasColumnResizing","muiTableContainerProps","muiTableBodyProps","tabIndex","height","enableColumnResizing","defaultColumn","Cell","enableRowActions","enableRowOrdering","Boolean","enableRowDragging","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","HueNeutralWhite","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","disabled","renderDetailPanel","enableRowVirtualization","currentColumn","find","sortedColumn","getIsResizing","enableSorting","hasSorting","onSortingChange","sortingUpdater","newSortVal","prevState","enableRowSelection","onRowSelectionChange","renderEmptyRowsFallback","localization","collapse","collapseAll","expand","expandAll","ScrollableTableContainer","isScrollableEnd","isScrollableStart","MRT_TableContainer","MemoizedTableLayoutContent","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/TableLayoutContent.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 SetStateAction,\n memo,\n useCallback,\n useMemo,\n useRef,\n useState,\n ReactNode,\n Dispatch,\n ReactElement,\n useEffect,\n} from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../../icons.generated/index.js\";\nimport { Box } from \"../../Box.js\";\nimport { Button, MenuButton } from \"../../Buttons/index.js\";\nimport {\n TableLayoutProps,\n TableState,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataTableCell } from \"./dataTypes.js\";\nimport {\n dataTableImmutableSettings,\n displayColumnDefOptions,\n ScrollableTableContainer,\n} from \"./tableConstants.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext.js\";\nimport { useScrollIndication } from \"../../DataTable/useScrollIndication.js\";\n\nconst TextWrapper = styled(\"div\")({\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n});\n\nconst RowActionsContainer = styled(\"div\")({\n display: \"flex\",\n});\n\nexport type TableLayoutContentProps<TData extends MRT_RowData> = {\n columns: TableLayoutProps<TData>[\"columns\"];\n data: MRT_RowData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n enableVirtualization?: boolean;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps<TData>;\n tableState: TableState;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\n\ntype TableLayoutContentComponent = (<TData extends MRT_RowData>(\n props: TableLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst TableLayoutContent = <TData extends MRT_RowData>({\n columns,\n data,\n draggingRow,\n emptyState,\n enableVirtualization,\n getRowId,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n setTableState,\n tableLayoutOptions,\n tableState,\n totalRows,\n}: TableLayoutContentProps<TData>) => {\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const shouldUpdateScroll = useRef<boolean>(false);\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n useScrollIndication({\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n tableInnerContainer: tableInnerContainerRef.current,\n tableOuterContainer: tableOuterContainerRef.current,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey) ?? [];\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...(columnIds?.filter((id): id is string => typeof id === \"string\") ||\n []),\n \"mrt-row-actions\",\n ],\n [columnIds],\n );\n\n const rowDensityClassName = useMemo(() => {\n return tableState.rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : tableState.rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [tableState]);\n\n const defaultCell = useCallback<\n ({ cell }: { cell: DataTableCell<TData, unknown> }) => ReactElement | string\n >(({ cell }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;\n }, []);\n\n const {\n draggableTableBodyRowClassName,\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = rowReorderingUtilities;\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<TData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <RowActionsContainer>\n {tableLayoutOptions.rowActionButtons?.(row)}\n {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={\n row as unknown as MRT_Row<MRT_RowData> // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n }\n rowActionMenuItems={\n // TODO: FIX THIS! The types are wrong. `row` is incorrectly set in `RowActions` to not be TData.\n tableLayoutOptions.rowActionMenuItems as unknown as (\n row: MRT_Row<MRT_RowData>,\n ) => any // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n </MenuButton>\n )}\n </RowActionsContainer>\n );\n },\n [\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n pagination.pageIndex,\n pagination.pageSize,\n t,\n tableLayoutOptions,\n totalRows,\n updateRowOrder,\n ],\n );\n\n const innerWidthStyle = useMemo(\n () => ({ width: tableInnerContainerWidth }),\n [tableInnerContainerWidth],\n );\n\n const emptyStateContainer = useCallback(\n () => <Box sx={innerWidthStyle}>{emptyState}</Box>,\n [innerWidthStyle, emptyState],\n );\n\n // Scroll to the bottom as soon as data loads after clicking the\n // loadMore pagination button\n useEffect(() => {\n if (enableVirtualization) {\n shouldUpdateScroll.current = true;\n }\n }, [enableVirtualization, pagination]);\n\n useEffect(() => {\n if (\n shouldUpdateScroll.current &&\n tableContentRef.current &&\n typeof tableInnerContainerRef.current?.scrollTo !== \"undefined\"\n ) {\n tableInnerContainerRef.current?.scrollTo(\n 0,\n tableContentRef.current.clientHeight,\n );\n shouldUpdateScroll.current = false;\n }\n }, [data]);\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n [\n hasRowReordering,\n onReorderRows,\n tableLayoutOptions.rowActionButtons,\n tableLayoutOptions.rowActionMenuItems,\n ],\n );\n\n const hasColumnWithGrow = columns.some((column) => column.grow === true);\n\n const dataTable = useMaterialReactTable<TData>({\n data: (!isEmpty && !isNoResults ? data : []) as TData[],\n columns,\n getRowId,\n state: {\n sorting: tableState.columnSorting,\n columnVisibility: tableState.columnVisibility,\n isLoading,\n rowSelection,\n columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n ...dataTableImmutableSettings,\n displayColumnDefOptions: {\n ...(displayColumnDefOptions satisfies Partial<\n MRT_TableOptions<MRT_RowData>[\"displayColumnDefOptions\"]\n >),\n \"mrt-row-actions\": {\n header: \"\",\n grow: !hasColumnWithGrow,\n muiTableBodyCellProps: {\n align: \"right\" as const,\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\" as const,\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {tableLayoutOptions.rowActionButtons &&\n // @ts-expect-error TODO: This type is wrong and needs to be fixed\n tableLayoutOptions.rowActionButtons({ id: null })}\n {((hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionMenuItems) && (\n <Box>\n <Button\n endIcon={<MoreIcon />}\n size=\"small\"\n variant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n isDisabled\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n },\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n muiTableBodyProps: () => ({\n className: rowDensityClassName,\n tabIndex: 0,\n /**\n * This is a fix for an issue related to the empty state creating a\n * vertical scrollbar when virtualization is enabled. The root cause\n * is tablebody having height: 0 when virtualization is enabled and there\n * being no data\n * https://okta.slack.com/archives/C7T2H3KNJ/p1742842106148929\n */\n sx:\n isEmpty || isNoResults\n ? {\n height: \"unset\",\n }\n : undefined,\n }),\n enableColumnResizing: tableLayoutOptions.hasColumnResizing,\n defaultColumn: {\n Cell: defaultCell,\n },\n enableRowActions:\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n renderRowActions: ({ row }) => renderRowActions({ row }),\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps: ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: isDetailPanel\n ? {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,\n },\n }\n : {},\n }),\n muiRowDragHandleProps: ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n disabled: isRowReorderingDisabled,\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n renderDetailPanel: tableLayoutOptions.renderDetailPanel,\n enableRowVirtualization: enableVirtualization,\n muiTableHeadCellProps: ({ column: currentColumn }) => ({\n className: tableState.columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n muiTableBodyCellProps: ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n }),\n enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise\n onSortingChange: (sortingUpdater) => {\n const newSortVal =\n typeof sortingUpdater === \"function\"\n ? sortingUpdater(tableState.columnSorting)\n : tableState.columnSorting;\n setTableState((prevState) => ({\n ...prevState,\n columnSorting: newSortVal,\n }));\n },\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n renderEmptyRowsFallback: emptyStateContainer,\n localization: {\n collapse: t(\"table.rowexpansion.collapse\"),\n collapseAll: t(\"table.rowexpansion.collapseall\"),\n expand: t(\"table.rowexpansion.expand\"),\n expandAll: t(\"table.rowexpansion.expandall\"),\n },\n });\n\n return (\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n );\n};\n\nconst MemoizedTableLayoutContent = memo(\n TableLayoutContent,\n) as TableLayoutContentComponent;\nMemoizedTableLayoutContent.displayName = \"TableLayoutContent\";\n\nexport { MemoizedTableLayoutContent as TableLayoutContent };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"TableLayoutContent.cjs","names":["_react","require","_styled","_interopRequireDefault","_materialReactTable","_reactI18next","_index","_Box","_index2","_tableConstants","_RowActions","_OdysseyDesignTokensContext","_useScrollIndication","_jsxRuntime","e","__esModule","default","TextWrapper","styled","whiteSpace","textOverflow","overflow","RowActionsContainer","display","TableLayoutContent","columns","data","draggingRow","emptyState","enableVirtualization","getRowId","hasRowReordering","hasRowSelection","isEmpty","isLoading","isNoResults","isRowReorderingDisabled","onReorderRows","pagination","rowReorderingUtilities","rowSelection","setRowSelection","setTableState","tableLayoutOptions","tableState","totalRows","isTableContainerScrolledToStart","setIsTableContainerScrolledToStart","useState","isTableContainerScrolledToEnd","setIsTableContainerScrolledToEnd","tableInnerContainerWidth","setTableInnerContainerWidth","shouldUpdateScroll","useRef","tableOuterContainerRef","tableInnerContainerRef","tableContentRef","useScrollIndication","tableInnerContainer","current","tableOuterContainer","odysseyDesignTokens","useOdysseyDesignTokens","t","useTranslation","columnIds","useMemo","map","column","accessorKey","columnOrder","filter","id","rowDensityClassName","rowDensity","defaultCell","useCallback","cell","value","getValue","hasTextWrapping","columnDef","enableWrapping","jsx","children","draggableTableBodyRowClassName","dragHandleStyles","dragHandleText","handleDragHandleKeyDown","handleDragHandleOnDragCapture","handleDragHandleOnDragEnd","resetDraggingAndHoveredRow","updateRowOrder","renderRowActions","row","currentIndex","index","pageIndex","pageSize","jsxs","rowActionButtons","original","rowActionMenuItems","MenuButton","ariaLabel","buttonVariant","endIcon","MoreIcon","menuAlignment","size","RowActions","rowIndex","undefined","innerWidthStyle","width","emptyStateContainer","Box","sx","useEffect","scrollTo","clientHeight","shouldDisplayRowActions","hasColumnWithGrow","some","grow","dataTable","useMaterialReactTable","state","sorting","columnSorting","columnVisibility","icons","ArrowDownwardIcon","ArrowDownIcon","DragHandleIcon","DragIndicatorIcon","SyncAltIcon","ArrowUnsortedIcon","ExpandMoreIcon","ChevronDownIcon","dataTableImmutableSettings","displayColumnDefOptions","header","muiTableBodyCellProps","align","className","muiTableHeadCellProps","visibility","Button","variant","isDisabled","muiTableProps","ref","hasColumnResizing","muiTableContainerProps","muiTableBodyProps","tabIndex","height","enableColumnResizing","defaultColumn","Cell","enableRowActions","enableRowOrdering","Boolean","enableRowDragging","muiDetailPanelProps","paddingBlock","getIsExpanded","Spacing3","muiTableBodyRowProps","table","isDetailPanel","currentRowId","draggingRowId","hoveredRowId","getState","hoveredRow","border","backgroundColor","HueNeutralWhite","muiRowDragHandleProps","onKeyDown","event","onBlur","onDragEnd","onDragCapture","disabled","renderDetailPanel","enableRowVirtualization","currentColumn","find","sortedColumn","getIsResizing","enableSorting","hasSorting","onSortingChange","sortingUpdater","newSortVal","prevState","enableRowSelection","onRowSelectionChange","renderEmptyRowsFallback","localization","collapse","collapseAll","expand","expandAll","ScrollableTableContainer","isScrollableEnd","isScrollableStart","MRT_TableContainer","MemoizedTableLayoutContent","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/TableLayoutContent.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 SetStateAction,\n memo,\n useCallback,\n useMemo,\n useRef,\n useState,\n ReactNode,\n Dispatch,\n ReactElement,\n useEffect,\n} from \"react\";\nimport styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableContainer,\n MRT_TableInstance,\n MRT_TableOptions,\n useMaterialReactTable,\n} from \"material-react-table\";\nimport { useTranslation } from \"react-i18next\";\n\nimport {\n ArrowDownIcon,\n ArrowUnsortedIcon,\n ChevronDownIcon,\n DragIndicatorIcon,\n MoreIcon,\n} from \"../../icons.generated/index.js\";\nimport { Box } from \"../../Box.js\";\nimport { Button, MenuButton } from \"../../Buttons/index.js\";\nimport {\n TableLayoutProps,\n TableState,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataTableCell } from \"./dataTypes.js\";\nimport {\n dataTableImmutableSettings,\n displayColumnDefOptions,\n ScrollableTableContainer,\n} from \"./tableConstants.js\";\nimport { RowActions } from \"./RowActions.js\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext.js\";\nimport { useScrollIndication } from \"../../DataTable/useScrollIndication.js\";\n\nconst TextWrapper = styled(\"div\")({\n whiteSpace: \"nowrap\",\n textOverflow: \"ellipsis\",\n overflow: \"hidden\",\n});\n\nconst RowActionsContainer = styled(\"div\")({\n display: \"flex\",\n});\n\nexport type TableLayoutContentProps<TData extends MRT_RowData> = {\n columns: TableLayoutProps<TData>[\"columns\"];\n data: TData[];\n draggingRow?: MRT_Row<TData> | null;\n emptyState: ReactNode;\n enableVirtualization?: boolean;\n getRowId: UniversalProps<TData>[\"getRowId\"];\n hasRowReordering: UniversalProps<TData>[\"hasRowReordering\"];\n hasRowSelection: UniversalProps<TData>[\"hasRowSelection\"];\n isEmpty?: boolean;\n isLoading: boolean;\n isNoResults?: boolean;\n isRowReorderingDisabled?: boolean;\n onReorderRows: UniversalProps<TData>[\"onReorderRows\"];\n pagination: {\n pageIndex: number;\n pageSize: number;\n };\n rowReorderingUtilities: {\n dragHandleStyles: CSSObject;\n dragHandleText: {\n title: string;\n \"aria-label\": string;\n };\n draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n table: MRT_TableInstance<TData>;\n row: MRT_Row<TData>;\n event: React.KeyboardEvent<HTMLButtonElement>;\n }) => void;\n handleDragHandleOnDragCapture: (table: MRT_TableInstance<TData>) => void;\n handleDragHandleOnDragEnd: (table: MRT_TableInstance<TData>) => void;\n resetDraggingAndHoveredRow: (table: MRT_TableInstance<TData>) => void;\n updateRowOrder: ({\n rowId,\n newRowIndex,\n }: {\n rowId: string;\n newRowIndex: number;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n setTableState: Dispatch<SetStateAction<TableState>>;\n tableLayoutOptions: TableLayoutProps<TData>;\n tableState: TableState;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\n\ntype TableLayoutContentComponent = (<TData extends MRT_RowData>(\n props: TableLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst TableLayoutContent = <TData extends MRT_RowData>({\n columns,\n data,\n draggingRow,\n emptyState,\n enableVirtualization,\n getRowId,\n hasRowReordering,\n hasRowSelection,\n isEmpty,\n isLoading,\n isNoResults,\n isRowReorderingDisabled,\n onReorderRows,\n pagination,\n rowReorderingUtilities,\n rowSelection,\n setRowSelection,\n setTableState,\n tableLayoutOptions,\n tableState,\n totalRows,\n}: TableLayoutContentProps<TData>) => {\n const [isTableContainerScrolledToStart, setIsTableContainerScrolledToStart] =\n useState(true);\n const [isTableContainerScrolledToEnd, setIsTableContainerScrolledToEnd] =\n useState(true);\n const [tableInnerContainerWidth, setTableInnerContainerWidth] =\n useState<string>(\"100%\");\n const shouldUpdateScroll = useRef<boolean>(false);\n const tableOuterContainerRef = useRef<HTMLDivElement>(null);\n const tableInnerContainerRef = useRef<HTMLDivElement>(null);\n const tableContentRef = useRef<HTMLTableElement>(null);\n\n useScrollIndication({\n setIsTableContainerScrolledToEnd: setIsTableContainerScrolledToEnd,\n setIsTableContainerScrolledToStart: setIsTableContainerScrolledToStart,\n setTableInnerContainerWidth: setTableInnerContainerWidth,\n tableInnerContainer: tableInnerContainerRef.current,\n tableOuterContainer: tableOuterContainerRef.current,\n });\n\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const columnIds = useMemo(() => {\n return columns.map((column) => column.accessorKey) ?? [];\n }, [columns]);\n\n const columnOrder = useMemo(\n () => [\n \"mrt-row-drag\",\n \"mrt-row-select\",\n \"mrt-row-expand\",\n ...(columnIds?.filter((id): id is string => typeof id === \"string\") ||\n []),\n \"mrt-row-actions\",\n ],\n [columnIds],\n );\n\n const rowDensityClassName = useMemo(() => {\n return tableState.rowDensity === \"spacious\"\n ? \"MuiTableBody-spacious\"\n : tableState.rowDensity === \"compact\"\n ? \"MuiTableBody-compact\"\n : \"MuiTableBody-default\";\n }, [tableState]);\n\n const defaultCell = useCallback<\n ({ cell }: { cell: DataTableCell<TData, unknown> }) => ReactElement | string\n >(({ cell }) => {\n const value = cell.getValue<string>();\n const hasTextWrapping =\n cell.column.columnDef.hasTextWrapping ||\n cell.column.columnDef.enableWrapping;\n return hasTextWrapping ? value : <TextWrapper>{value}</TextWrapper>;\n }, []);\n\n const {\n draggableTableBodyRowClassName,\n dragHandleStyles,\n dragHandleText,\n handleDragHandleKeyDown,\n handleDragHandleOnDragCapture,\n handleDragHandleOnDragEnd,\n resetDraggingAndHoveredRow,\n updateRowOrder,\n } = rowReorderingUtilities;\n\n const renderRowActions = useCallback(\n ({ row }: { row: MRT_Row<TData> }) => {\n const currentIndex =\n row.index + (pagination.pageIndex - 1) * pagination.pageSize;\n return (\n <RowActionsContainer>\n {tableLayoutOptions.rowActionButtons?.(row.original)}\n {(tableLayoutOptions.rowActionMenuItems || hasRowReordering) && (\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n >\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={row}\n rowActionMenuItems={\n tableLayoutOptions.rowActionMenuItems as TableLayoutProps<MRT_RowData>[\"rowActionMenuItems\"]\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows ? updateRowOrder : undefined\n }\n />\n </MenuButton>\n )}\n </RowActionsContainer>\n );\n },\n [\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n pagination.pageIndex,\n pagination.pageSize,\n t,\n tableLayoutOptions,\n totalRows,\n updateRowOrder,\n ],\n );\n\n const innerWidthStyle = useMemo(\n () => ({ width: tableInnerContainerWidth }),\n [tableInnerContainerWidth],\n );\n\n const emptyStateContainer = useCallback(\n () => <Box sx={innerWidthStyle}>{emptyState}</Box>,\n [innerWidthStyle, emptyState],\n );\n\n // Scroll to the bottom as soon as data loads after clicking the\n // loadMore pagination button\n useEffect(() => {\n if (enableVirtualization) {\n shouldUpdateScroll.current = true;\n }\n }, [enableVirtualization, pagination]);\n\n useEffect(() => {\n if (\n shouldUpdateScroll.current &&\n tableContentRef.current &&\n typeof tableInnerContainerRef.current?.scrollTo !== \"undefined\"\n ) {\n tableInnerContainerRef.current?.scrollTo(\n 0,\n tableContentRef.current.clientHeight,\n );\n shouldUpdateScroll.current = false;\n }\n }, [data]);\n\n const shouldDisplayRowActions = useMemo(\n () =>\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n [\n hasRowReordering,\n onReorderRows,\n tableLayoutOptions.rowActionButtons,\n tableLayoutOptions.rowActionMenuItems,\n ],\n );\n\n const hasColumnWithGrow = columns.some((column) => column.grow === true);\n\n const dataTable = useMaterialReactTable<TData>({\n data: !isEmpty && !isNoResults ? data : [],\n columns,\n getRowId,\n state: {\n sorting: tableState.columnSorting,\n columnVisibility: tableState.columnVisibility,\n isLoading,\n rowSelection,\n columnOrder,\n },\n icons: {\n ArrowDownwardIcon: ArrowDownIcon,\n DragHandleIcon: DragIndicatorIcon,\n SyncAltIcon: ArrowUnsortedIcon,\n ExpandMoreIcon: ChevronDownIcon,\n },\n ...dataTableImmutableSettings,\n displayColumnDefOptions: {\n ...(displayColumnDefOptions satisfies Partial<\n MRT_TableOptions<MRT_RowData>[\"displayColumnDefOptions\"]\n >),\n \"mrt-row-actions\": {\n header: \"\",\n grow: !hasColumnWithGrow,\n muiTableBodyCellProps: {\n align: \"right\" as const,\n sx: {\n overflow: \"visible\",\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n },\n muiTableHeadCellProps: {\n align: \"right\" as const,\n sx: {\n width: \"unset\",\n },\n className: \"ods-actions-cell\",\n children: (\n <Box sx={{ display: \"flex\", visibility: \"hidden\" }}>\n {tableLayoutOptions.rowActionButtons &&\n tableLayoutOptions.rowActionButtons()}\n {((hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionMenuItems) && (\n <Box>\n <Button\n endIcon={<MoreIcon />}\n size=\"small\"\n variant=\"floating\"\n ariaLabel={t(\"table.moreactions.arialabel\")}\n isDisabled\n />\n </Box>\n )}\n </Box>\n ),\n },\n },\n },\n muiTableProps: {\n ref: tableContentRef,\n className:\n !shouldDisplayRowActions && tableLayoutOptions.hasColumnResizing\n ? hasColumnWithGrow\n ? \"ods-hide-spacer-column\"\n : \"ods-hide-spacer-column ods-column-grow\"\n : \"\",\n },\n muiTableContainerProps: {\n ref: tableInnerContainerRef,\n },\n muiTableBodyProps: () => ({\n className: rowDensityClassName,\n tabIndex: 0,\n /**\n * This is a fix for an issue related to the empty state creating a\n * vertical scrollbar when virtualization is enabled. The root cause\n * is tablebody having height: 0 when virtualization is enabled and there\n * being no data\n * https://okta.slack.com/archives/C7T2H3KNJ/p1742842106148929\n */\n sx:\n isEmpty || isNoResults\n ? {\n height: \"unset\",\n }\n : undefined,\n }),\n enableColumnResizing: tableLayoutOptions.hasColumnResizing,\n defaultColumn: {\n Cell: defaultCell,\n },\n enableRowActions:\n (hasRowReordering === true && onReorderRows) ||\n tableLayoutOptions.rowActionButtons ||\n tableLayoutOptions.rowActionMenuItems\n ? true\n : false,\n renderRowActions: ({ row }) => renderRowActions({ row }),\n enableRowOrdering: hasRowReordering && Boolean(onReorderRows),\n enableRowDragging: hasRowReordering && Boolean(onReorderRows),\n muiDetailPanelProps: ({ row }) => ({\n sx: {\n paddingBlock: row.getIsExpanded()\n ? `${odysseyDesignTokens.Spacing3} !important`\n : undefined,\n },\n }),\n muiTableBodyRowProps: ({ table, row, isDetailPanel }) => ({\n className: draggableTableBodyRowClassName({\n currentRowId: row.id,\n draggingRowId: draggingRow?.id,\n hoveredRowId: table.getState().hoveredRow?.id,\n }),\n sx: isDetailPanel\n ? {\n paddingBlock: \"0 !important\",\n border: 0,\n [\"&:hover\"]: {\n backgroundColor: `${odysseyDesignTokens.HueNeutralWhite} !important`,\n },\n }\n : {},\n }),\n muiRowDragHandleProps: ({ table, row }) => ({\n onKeyDown: (event) => handleDragHandleKeyDown({ table, row, event }),\n onBlur: () => resetDraggingAndHoveredRow(table),\n onDragEnd: () => handleDragHandleOnDragEnd(table),\n onDragCapture: () => handleDragHandleOnDragCapture(table),\n disabled: isRowReorderingDisabled,\n sx: dragHandleStyles,\n ...dragHandleText,\n }),\n renderDetailPanel: tableLayoutOptions.renderDetailPanel,\n enableRowVirtualization: enableVirtualization,\n muiTableHeadCellProps: ({ column: currentColumn }) => ({\n className: tableState.columnSorting.find(\n (sortedColumn) => sortedColumn.id === currentColumn.id,\n )\n ? \"isSorted\"\n : \"isUnsorted\",\n }),\n muiTableBodyCellProps: ({ column }) => ({\n className: column.getIsResizing() ? \"isResizing\" : \"\",\n }),\n enableSorting: tableLayoutOptions.hasSorting === true, // I don't know why this needs to be true, but it still works if undefined otherwise\n onSortingChange: (sortingUpdater) => {\n const newSortVal =\n typeof sortingUpdater === \"function\"\n ? sortingUpdater(tableState.columnSorting)\n : tableState.columnSorting;\n setTableState((prevState) => ({\n ...prevState,\n columnSorting: newSortVal,\n }));\n },\n enableRowSelection: hasRowSelection,\n onRowSelectionChange: setRowSelection,\n renderEmptyRowsFallback: emptyStateContainer,\n localization: {\n collapse: t(\"table.rowexpansion.collapse\"),\n collapseAll: t(\"table.rowexpansion.collapseall\"),\n expand: t(\"table.rowexpansion.expand\"),\n expandAll: t(\"table.rowexpansion.expandall\"),\n },\n });\n\n return (\n <ScrollableTableContainer\n isScrollableEnd={!isTableContainerScrolledToEnd}\n isScrollableStart={!isTableContainerScrolledToStart}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={tableOuterContainerRef}\n >\n <MRT_TableContainer table={dataTable} />\n </ScrollableTableContainer>\n );\n};\n\nconst MemoizedTableLayoutContent = memo(\n TableLayoutContent,\n) as TableLayoutContentComponent;\nMemoizedTableLayoutContent.displayName = \"TableLayoutContent\";\n\nexport { MemoizedTableLayoutContent as TableLayoutContent };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useFilterConversion.cjs","names":["_react","require","useFilterConversion","columns","filters","convertFilterSelectOptions","useCallback","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","id","header","variant","filterVariant","filterSelectOptions","dataTableFilters","useMemo","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat","exports"],"sources":["../../../../src/labs/DataView/useFilterConversion.ts"],"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 { useCallback, useMemo } from \"react\";\nimport { MRT_RowData } from \"material-react-table\";\n\nimport { DataFilter } from \"../DataFilters.js\";\nimport { DataTableColumn } from \"../../DataTable/index.js\";\nimport { UniversalProps, TableLayoutProps } from \"./componentTypes.js\";\n\ntype FilterConversionType<TData extends MRT_RowData> = {\n columns?: TableLayoutProps<TData>[\"columns\"];\n filters?: UniversalProps<TData>[\"filters\"];\n};\n\nexport const useFilterConversion = <TData extends MRT_RowData>({\n columns,\n filters,\n}: FilterConversionType<TData>) => {\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<
|
|
1
|
+
{"version":3,"file":"useFilterConversion.cjs","names":["_react","require","useFilterConversion","columns","filters","convertFilterSelectOptions","useCallback","options","map","option","label","value","convertColumnToFilter","column","enableColumnFilter","accessorKey","id","header","variant","filterVariant","filterSelectOptions","dataTableFilters","useMemo","providedFilters","reduce","accumulator","item","foundColumn","find","filter","concat","exports"],"sources":["../../../../src/labs/DataView/useFilterConversion.ts"],"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 { useCallback, useMemo } from \"react\";\nimport { MRT_RowData } from \"material-react-table\";\n\nimport { DataFilter } from \"../DataFilters.js\";\nimport { DataTableColumn } from \"../../DataTable/index.js\";\nimport { UniversalProps, TableLayoutProps } from \"./componentTypes.js\";\n\ntype FilterConversionType<TData extends MRT_RowData> = {\n columns?: TableLayoutProps<TData>[\"columns\"];\n filters?: UniversalProps<TData>[\"filters\"];\n};\n\nexport const useFilterConversion = <TData extends MRT_RowData>({\n columns,\n filters,\n}: FilterConversionType<TData>) => {\n const convertFilterSelectOptions = useCallback(\n (options: DataTableColumn<TData>[\"filterSelectOptions\"]) =>\n options?.map((option) =>\n typeof option === \"string\"\n ? {\n label: option,\n value: option,\n }\n : {\n // If the option isn't a string, it must have value and/or option defined\n // If either is undefined, use the other\n label: (option.label ?? option.value) as string,\n value: (option.value ?? option.label) as string,\n },\n ),\n [],\n );\n\n const convertColumnToFilter = useCallback(\n (column: DataTableColumn<TData>) =>\n column.enableColumnFilter !== false && column.accessorKey\n ? {\n id: column.accessorKey,\n label: column.header,\n variant: column.filterVariant,\n options: convertFilterSelectOptions(column.filterSelectOptions),\n }\n : null,\n [convertFilterSelectOptions],\n );\n\n const dataTableFilters = useMemo(() => {\n // Filters may be manually set via the `filters` variable;\n // If not, they may be inferred from `columns`\n const providedFilters = filters || columns || [];\n\n return providedFilters.reduce<DataFilter[]>((accumulator, item) => {\n if (typeof item === \"string\") {\n const foundColumn = columns?.find(\n (column) => column.accessorKey === item,\n );\n const filter = foundColumn && convertColumnToFilter(foundColumn);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"accessorKey\" in item) {\n const filter = convertColumnToFilter(item);\n return filter ? accumulator.concat(filter) : accumulator;\n }\n\n if (\"label\" in item) {\n return accumulator.concat(item);\n }\n\n return accumulator;\n }, []);\n }, [columns, convertColumnToFilter, filters]);\n\n return dataTableFilters;\n};\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AAZA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAcO,MAAMC,mBAAmB,GAAGA,CAA4B;EAC7DC,OAAO;EACPC;AAC2B,CAAC,KAAK;EACjC,MAAMC,0BAA0B,GAAG,IAAAC,kBAAW,EAC3CC,OAAsD,IACrDA,OAAO,EAAEC,GAAG,CAAEC,MAAM,IAClB,OAAOA,MAAM,KAAK,QAAQ,GACtB;IACEC,KAAK,EAAED,MAAM;IACbE,KAAK,EAAEF;EACT,CAAC,GACD;IAGEC,KAAK,EAAGD,MAAM,CAACC,KAAK,IAAID,MAAM,CAACE,KAAgB;IAC/CA,KAAK,EAAGF,MAAM,CAACE,KAAK,IAAIF,MAAM,CAACC;EACjC,CACN,CAAC,EACH,EACF,CAAC;EAED,MAAME,qBAAqB,GAAG,IAAAN,kBAAW,EACtCO,MAA8B,IAC7BA,MAAM,CAACC,kBAAkB,KAAK,KAAK,IAAID,MAAM,CAACE,WAAW,GACrD;IACEC,EAAE,EAAEH,MAAM,CAACE,WAAW;IACtBL,KAAK,EAAEG,MAAM,CAACI,MAAM;IACpBC,OAAO,EAAEL,MAAM,CAACM,aAAa;IAC7BZ,OAAO,EAAEF,0BAA0B,CAACQ,MAAM,CAACO,mBAAmB;EAChE,CAAC,GACD,IAAI,EACV,CAACf,0BAA0B,CAC7B,CAAC;EAED,MAAMgB,gBAAgB,GAAG,IAAAC,cAAO,EAAC,MAAM;IAGrC,MAAMC,eAAe,GAAGnB,OAAO,IAAID,OAAO,IAAI,EAAE;IAEhD,OAAOoB,eAAe,CAACC,MAAM,CAAe,CAACC,WAAW,EAAEC,IAAI,KAAK;MACjE,IAAI,OAAOA,IAAI,KAAK,QAAQ,EAAE;QAC5B,MAAMC,WAAW,GAAGxB,OAAO,EAAEyB,IAAI,CAC9Bf,MAAM,IAAKA,MAAM,CAACE,WAAW,KAAKW,IACrC,CAAC;QACD,MAAMG,MAAM,GAAGF,WAAW,IAAIf,qBAAqB,CAACe,WAAW,CAAC;QAChE,OAAOE,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,aAAa,IAAIC,IAAI,EAAE;QACzB,MAAMG,MAAM,GAAGjB,qBAAqB,CAACc,IAAI,CAAC;QAC1C,OAAOG,MAAM,GAAGJ,WAAW,CAACK,MAAM,CAACD,MAAM,CAAC,GAAGJ,WAAW;MAC1D;MAEA,IAAI,OAAO,IAAIC,IAAI,EAAE;QACnB,OAAOD,WAAW,CAACK,MAAM,CAACJ,IAAI,CAAC;MACjC;MAEA,OAAOD,WAAW;IACpB,CAAC,EAAE,EAAE,CAAC;EACR,CAAC,EAAE,CAACtB,OAAO,EAAES,qBAAqB,EAAER,OAAO,CAAC,CAAC;EAE7C,OAAOiB,gBAAgB;AACzB,CAAC;AAACU,OAAA,CAAA7B,mBAAA,GAAAA,mBAAA","ignoreList":[]}
|