@okta/odyssey-react-mui 1.44.0 → 1.47.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/Autocomplete.cjs +3 -33
- package/dist/cjs/Autocomplete.cjs.map +1 -1
- package/dist/cjs/Banner.cjs +2 -2
- package/dist/cjs/Banner.cjs.map +1 -1
- package/dist/cjs/Breadcrumbs.cjs +2 -2
- package/dist/cjs/Breadcrumbs.cjs.map +1 -1
- package/dist/cjs/Buttons/BaseButton.cjs.map +1 -1
- package/dist/cjs/Callout.cjs +3 -27
- package/dist/cjs/Callout.cjs.map +1 -1
- package/dist/cjs/Card.cjs +280 -63
- package/dist/cjs/Card.cjs.map +1 -1
- package/dist/cjs/Checkbox.cjs +14 -12
- package/dist/cjs/Checkbox.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTable.cjs +2 -2
- package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTableRowActions.cjs +6 -6
- package/dist/cjs/DataTable/DataTableRowActions.cjs.map +1 -1
- package/dist/cjs/DataTable/DataTableSettings.cjs +2 -2
- package/dist/cjs/DataTable/DataTableSettings.cjs.map +1 -1
- package/dist/cjs/DataTable/useRowReordering.cjs +2 -2
- package/dist/cjs/DataTable/useRowReordering.cjs.map +1 -1
- package/dist/cjs/DatePickers/DateField.cjs +2 -2
- package/dist/cjs/DatePickers/DateField.cjs.map +1 -1
- package/dist/cjs/DatePickers/DateFieldActionBar.cjs +2 -2
- package/dist/cjs/DatePickers/DateFieldActionBar.cjs.map +1 -1
- package/dist/cjs/DatePickers/DatePicker.cjs +2 -2
- package/dist/cjs/DatePickers/DatePicker.cjs.map +1 -1
- package/dist/cjs/DatePickers/useDateFieldsTranslations.cjs +2 -2
- package/dist/cjs/DatePickers/useDateFieldsTranslations.cjs.map +1 -1
- package/dist/cjs/DatePickers/useOdysseyDateFields.cjs +2 -2
- package/dist/cjs/DatePickers/useOdysseyDateFields.cjs.map +1 -1
- package/dist/cjs/Dialog.cjs +34 -31
- package/dist/cjs/Dialog.cjs.map +1 -1
- package/dist/cjs/Drawer.cjs +8 -4
- package/dist/cjs/Drawer.cjs.map +1 -1
- package/dist/cjs/Field.cjs +2 -2
- package/dist/cjs/Field.cjs.map +1 -1
- package/dist/cjs/FieldError.cjs +2 -2
- package/dist/cjs/FieldError.cjs.map +1 -1
- package/dist/cjs/FieldLabel.cjs +2 -2
- package/dist/cjs/FieldLabel.cjs.map +1 -1
- package/dist/cjs/FileUploader/FileUploadPreview.cjs +2 -2
- package/dist/cjs/FileUploader/FileUploadPreview.cjs.map +1 -1
- package/dist/cjs/FileUploader/FileUploader.cjs +2 -2
- package/dist/cjs/FileUploader/FileUploader.cjs.map +1 -1
- package/dist/cjs/FullScreenOverlay.cjs +40 -0
- package/dist/cjs/FullScreenOverlay.cjs.map +1 -0
- package/dist/cjs/FullScreenOverlayContext.cjs +72 -0
- package/dist/cjs/FullScreenOverlayContext.cjs.map +1 -0
- package/dist/cjs/OdysseyCacheProvider.cjs +12 -17
- package/dist/cjs/OdysseyCacheProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyProvider.cjs +18 -10
- package/dist/cjs/OdysseyProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyThemeProvider.cjs +27 -16
- package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
- package/dist/cjs/OdysseyThemeProviderPropsContext.cjs +44 -0
- package/dist/cjs/OdysseyThemeProviderPropsContext.cjs.map +1 -0
- package/dist/cjs/Pagination/Pagination.cjs +2 -3
- package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
- package/dist/cjs/Pagination/usePagination.cjs +2 -2
- package/dist/cjs/Pagination/usePagination.cjs.map +1 -1
- package/dist/cjs/PasswordField.cjs +2 -2
- package/dist/cjs/PasswordField.cjs.map +1 -1
- package/dist/cjs/Radio.cjs +22 -20
- package/dist/cjs/Radio.cjs.map +1 -1
- package/dist/cjs/SearchField.cjs +2 -2
- package/dist/cjs/SearchField.cjs.map +1 -1
- package/dist/cjs/Select.cjs +1 -37
- package/dist/cjs/Select.cjs.map +1 -1
- package/dist/cjs/Surface.cjs +3 -3
- package/dist/cjs/Surface.cjs.map +1 -1
- package/dist/cjs/Switch.cjs +2 -2
- package/dist/cjs/Switch.cjs.map +1 -1
- package/dist/cjs/Tabs.cjs +1 -21
- package/dist/cjs/Tabs.cjs.map +1 -1
- package/dist/cjs/Tag.cjs +2 -2
- package/dist/cjs/Tag.cjs.map +1 -1
- package/dist/cjs/TextField.cjs +1 -26
- package/dist/cjs/TextField.cjs.map +1 -1
- package/dist/cjs/Toast.cjs +2 -2
- package/dist/cjs/Toast.cjs.map +1 -1
- package/dist/cjs/__internal.cjs +149 -0
- package/dist/cjs/__internal.cjs.map +1 -0
- package/dist/cjs/i18n.generated/i18n.cjs +35 -0
- package/dist/cjs/i18n.generated/i18n.cjs.map +1 -0
- package/dist/cjs/i18n.generated/i18n.resources.cjs +81 -0
- package/dist/cjs/i18n.generated/i18n.resources.cjs.map +1 -0
- package/dist/{esm/shadow-dom/index.js → cjs/i18n.generated/i18n.types.cjs} +9 -4
- package/dist/cjs/i18n.generated/i18n.types.cjs.map +1 -0
- package/dist/cjs/index.cjs +49 -30
- package/dist/cjs/index.cjs.map +1 -1
- package/dist/cjs/labs/DataFilters.cjs +4 -4
- package/dist/cjs/labs/DataFilters.cjs.map +1 -1
- package/dist/cjs/labs/DataTable.cjs +2 -2
- package/dist/cjs/labs/DataTable.cjs.map +1 -1
- package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +2 -2
- package/dist/cjs/labs/DataView/BulkActionsMenu.cjs.map +1 -1
- package/dist/cjs/labs/DataView/CardLayoutContent.cjs +60 -44
- package/dist/cjs/labs/DataView/CardLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DataCard.cjs +52 -181
- package/dist/cjs/labs/DataView/DataCard.cjs.map +1 -1
- package/dist/cjs/labs/DataView/DataView.cjs +2 -2
- package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
- package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +2 -2
- package/dist/cjs/labs/DataView/LayoutSwitcher.cjs.map +1 -1
- package/dist/cjs/labs/DataView/RowActions.cjs +2 -2
- package/dist/cjs/labs/DataView/RowActions.cjs.map +1 -1
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs +2 -2
- package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
- package/dist/cjs/labs/DataView/TableSettings.cjs +2 -2
- package/dist/cjs/labs/DataView/TableSettings.cjs.map +1 -1
- package/dist/cjs/labs/DataView/componentTypes.cjs.map +1 -1
- package/dist/cjs/labs/DataView/fetchData.cjs +2 -2
- package/dist/cjs/labs/DataView/fetchData.cjs.map +1 -1
- package/dist/cjs/labs/DatePickers/DateTimeField.cjs +2 -2
- package/dist/cjs/labs/DatePickers/DateTimeField.cjs.map +1 -1
- package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +2 -2
- package/dist/cjs/labs/DatePickers/DateTimePicker.cjs.map +1 -1
- package/dist/cjs/labs/DatePickers/dateTimePickerTheme.cjs +3 -3
- package/dist/cjs/labs/DatePickers/dateTimePickerTheme.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs +2 -2
- package/dist/cjs/labs/OdysseyPickers/ComposablePicker.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +4 -0
- package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs.map +1 -1
- package/dist/cjs/labs/OdysseyPickers/index.cjs.map +1 -1
- package/dist/cjs/labs/PageTemplate/Layout.cjs +2 -2
- package/dist/cjs/labs/PageTemplate/Layout.cjs.map +1 -1
- package/dist/cjs/labs/PageTemplate/PageTemplate.cjs.map +1 -1
- package/dist/cjs/labs/PaginatedTable.cjs +4 -4
- package/dist/cjs/labs/PaginatedTable.cjs.map +1 -1
- package/dist/cjs/labs/StaticTable.cjs +2 -2
- package/dist/cjs/labs/StaticTable.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +8 -2
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +7 -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 +7 -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.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ok_SK.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs +7 -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 +7 -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 +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +7 -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 +7 -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 +7 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_TW.cjs.map +1 -1
- package/dist/cjs/test-selectors/AutocompleteTestSelector.cjs +49 -0
- package/dist/cjs/test-selectors/AutocompleteTestSelector.cjs.map +1 -0
- package/dist/cjs/test-selectors/CalloutTestSelector.cjs +43 -0
- package/dist/cjs/test-selectors/CalloutTestSelector.cjs.map +1 -0
- package/dist/cjs/test-selectors/SelectTestSelector.cjs +55 -0
- package/dist/cjs/test-selectors/SelectTestSelector.cjs.map +1 -0
- package/dist/cjs/{OdysseyTranslationProvider.types.cjs → test-selectors/TabsTestSelector.cjs} +23 -4
- package/dist/cjs/test-selectors/TabsTestSelector.cjs.map +1 -0
- package/dist/cjs/test-selectors/TextFieldTestSelector.cjs +44 -0
- package/dist/cjs/test-selectors/TextFieldTestSelector.cjs.map +1 -0
- package/dist/cjs/test-selectors/index.cjs +11 -0
- package/dist/cjs/test-selectors/index.cjs.map +1 -1
- package/dist/cjs/test-selectors/queryOdysseySelector.cjs +10 -10
- package/dist/cjs/test-selectors/queryOdysseySelector.cjs.map +1 -1
- package/dist/cjs/theme/components.cjs +5 -9
- package/dist/cjs/theme/components.cjs.map +1 -1
- package/dist/cjs/tools/addSpecificity.cjs.map +1 -0
- package/dist/cjs/tools/bufferLatest.cjs.map +1 -0
- package/dist/cjs/tools/createMessageBus.cjs.map +1 -0
- package/dist/cjs/tools/createStore.cjs.map +1 -0
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs +2 -12
- package/dist/cjs/ui-shell/NarrowUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +20 -15
- package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs +137 -136
- package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs +2 -2
- package/dist/cjs/ui-shell/SideNav/SideNavFooterContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs +7 -4
- package/dist/cjs/ui-shell/SideNav/SideNavItemContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemContentContext.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs +3 -4
- package/dist/cjs/ui-shell/SideNav/SideNavItemLinkContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs +47 -0
- package/dist/cjs/ui-shell/SideNav/SideNavSortableList.cjs.map +1 -0
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs +2 -2
- package/dist/cjs/ui-shell/SideNav/SideNavToggleButton.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SortableList/SortableItem.cjs +2 -2
- package/dist/cjs/ui-shell/SideNav/SortableList/SortableItem.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/SortableList/SortableList.cjs +2 -2
- package/dist/cjs/ui-shell/SideNav/SortableList/SortableList.cjs.map +1 -1
- package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShell.cjs +4 -4
- package/dist/cjs/ui-shell/UiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/UiShellProvider.cjs +1 -1
- package/dist/cjs/ui-shell/UiShellProvider.cjs.map +1 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs +2 -1
- package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
- package/dist/cjs/ui-shell/renderUiShell.cjs +2 -2
- package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
- package/dist/cjs/ui-shell/uiShellContentTypes.cjs +2 -1
- package/dist/cjs/ui-shell/uiShellContentTypes.cjs.map +1 -1
- package/dist/cjs/{shadow-dom/shadow-dom.cjs → web-component/createShadowDomElements.cjs} +8 -3
- package/dist/cjs/web-component/createShadowDomElements.cjs.map +1 -0
- package/dist/cjs/web-component/index.cjs +33 -0
- package/dist/cjs/web-component/index.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/cjs/web-component/removeGlobalStylesFromShadowDom.cjs +35 -0
- package/dist/cjs/web-component/removeGlobalStylesFromShadowDom.cjs.map +1 -0
- package/dist/cjs/web-component/renderReactInWebComponent.cjs +5 -9
- package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
- package/dist/esm/Autocomplete.js +1 -31
- package/dist/esm/Autocomplete.js.map +1 -1
- package/dist/esm/Banner.js +1 -1
- package/dist/esm/Banner.js.map +1 -1
- package/dist/esm/Breadcrumbs.js +1 -1
- package/dist/esm/Breadcrumbs.js.map +1 -1
- package/dist/esm/Buttons/BaseButton.js.map +1 -1
- package/dist/esm/Callout.js +1 -25
- package/dist/esm/Callout.js.map +1 -1
- package/dist/esm/Card.js +281 -63
- package/dist/esm/Card.js.map +1 -1
- package/dist/esm/Checkbox.js +13 -11
- package/dist/esm/Checkbox.js.map +1 -1
- package/dist/esm/DataTable/DataTable.js +1 -1
- package/dist/esm/DataTable/DataTable.js.map +1 -1
- package/dist/esm/DataTable/DataTableRowActions.js +1 -1
- package/dist/esm/DataTable/DataTableRowActions.js.map +1 -1
- package/dist/esm/DataTable/DataTableSettings.js +1 -1
- package/dist/esm/DataTable/DataTableSettings.js.map +1 -1
- package/dist/esm/DataTable/useRowReordering.js +1 -1
- package/dist/esm/DataTable/useRowReordering.js.map +1 -1
- package/dist/esm/DatePickers/DateField.js +1 -1
- package/dist/esm/DatePickers/DateField.js.map +1 -1
- package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
- package/dist/esm/DatePickers/DateFieldActionBar.js.map +1 -1
- package/dist/esm/DatePickers/DatePicker.js +1 -1
- package/dist/esm/DatePickers/DatePicker.js.map +1 -1
- package/dist/esm/DatePickers/useDateFieldsTranslations.js +1 -1
- package/dist/esm/DatePickers/useDateFieldsTranslations.js.map +1 -1
- package/dist/esm/DatePickers/useOdysseyDateFields.js +1 -1
- package/dist/esm/DatePickers/useOdysseyDateFields.js.map +1 -1
- package/dist/esm/Dialog.js +33 -30
- package/dist/esm/Dialog.js.map +1 -1
- package/dist/esm/Drawer.js +7 -3
- package/dist/esm/Drawer.js.map +1 -1
- package/dist/esm/Field.js +1 -1
- package/dist/esm/Field.js.map +1 -1
- package/dist/esm/FieldError.js +1 -1
- package/dist/esm/FieldError.js.map +1 -1
- package/dist/esm/FieldLabel.js +1 -1
- package/dist/esm/FieldLabel.js.map +1 -1
- package/dist/esm/FileUploader/FileUploadPreview.js +1 -1
- package/dist/esm/FileUploader/FileUploadPreview.js.map +1 -1
- package/dist/esm/FileUploader/FileUploader.js +1 -1
- package/dist/esm/FileUploader/FileUploader.js.map +1 -1
- package/dist/esm/FullScreenOverlay.js +35 -0
- package/dist/esm/FullScreenOverlay.js.map +1 -0
- package/dist/esm/FullScreenOverlayContext.js +66 -0
- package/dist/esm/FullScreenOverlayContext.js.map +1 -0
- package/dist/esm/OdysseyCacheProvider.js +12 -17
- package/dist/esm/OdysseyCacheProvider.js.map +1 -1
- package/dist/esm/OdysseyProvider.js +18 -10
- package/dist/esm/OdysseyProvider.js.map +1 -1
- package/dist/esm/OdysseyThemeProvider.js +27 -16
- package/dist/esm/OdysseyThemeProvider.js.map +1 -1
- package/dist/esm/OdysseyThemeProviderPropsContext.js +38 -0
- package/dist/esm/OdysseyThemeProviderPropsContext.js.map +1 -0
- package/dist/esm/Pagination/Pagination.js +1 -2
- package/dist/esm/Pagination/Pagination.js.map +1 -1
- package/dist/esm/Pagination/usePagination.js +1 -1
- package/dist/esm/Pagination/usePagination.js.map +1 -1
- package/dist/esm/PasswordField.js +1 -1
- package/dist/esm/PasswordField.js.map +1 -1
- package/dist/esm/Radio.js +22 -20
- package/dist/esm/Radio.js.map +1 -1
- package/dist/esm/SearchField.js +1 -1
- package/dist/esm/SearchField.js.map +1 -1
- package/dist/esm/Select.js +0 -36
- package/dist/esm/Select.js.map +1 -1
- package/dist/esm/Surface.js +3 -3
- package/dist/esm/Surface.js.map +1 -1
- package/dist/esm/Switch.js +1 -1
- package/dist/esm/Switch.js.map +1 -1
- package/dist/esm/Tabs.js +0 -20
- package/dist/esm/Tabs.js.map +1 -1
- package/dist/esm/Tag.js +1 -1
- package/dist/esm/Tag.js.map +1 -1
- package/dist/esm/TextField.js +0 -25
- package/dist/esm/TextField.js.map +1 -1
- package/dist/esm/Toast.js +1 -1
- package/dist/esm/Toast.js.map +1 -1
- package/dist/esm/__internal.js +24 -0
- package/dist/esm/__internal.js.map +1 -0
- package/dist/esm/i18n.generated/i18n.js +25 -0
- package/dist/esm/i18n.generated/i18n.js.map +1 -0
- package/dist/esm/i18n.generated/i18n.resources.js +75 -0
- package/dist/esm/i18n.generated/i18n.resources.js.map +1 -0
- package/dist/{types/shadow-dom/index.d.ts → esm/i18n.generated/i18n.types.js} +3 -3
- package/dist/esm/i18n.generated/i18n.types.js.map +1 -0
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/labs/DataFilters.js +1 -1
- package/dist/esm/labs/DataFilters.js.map +1 -1
- package/dist/esm/labs/DataTable.js +1 -1
- package/dist/esm/labs/DataTable.js.map +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
- package/dist/esm/labs/DataView/CardLayoutContent.js +61 -45
- package/dist/esm/labs/DataView/CardLayoutContent.js.map +1 -1
- package/dist/esm/labs/DataView/DataCard.js +51 -180
- package/dist/esm/labs/DataView/DataCard.js.map +1 -1
- package/dist/esm/labs/DataView/DataView.js +1 -1
- package/dist/esm/labs/DataView/DataView.js.map +1 -1
- package/dist/esm/labs/DataView/LayoutSwitcher.js +1 -1
- package/dist/esm/labs/DataView/LayoutSwitcher.js.map +1 -1
- package/dist/esm/labs/DataView/RowActions.js +1 -1
- package/dist/esm/labs/DataView/RowActions.js.map +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js +1 -1
- package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
- package/dist/esm/labs/DataView/TableSettings.js +1 -1
- package/dist/esm/labs/DataView/TableSettings.js.map +1 -1
- package/dist/esm/labs/DataView/componentTypes.js.map +1 -1
- package/dist/esm/labs/DataView/fetchData.js +2 -2
- package/dist/esm/labs/DataView/fetchData.js.map +1 -1
- package/dist/esm/labs/DatePickers/DateTimeField.js +1 -1
- package/dist/esm/labs/DatePickers/DateTimeField.js.map +1 -1
- package/dist/esm/labs/DatePickers/DateTimePicker.js +1 -1
- package/dist/esm/labs/DatePickers/DateTimePicker.js.map +1 -1
- package/dist/esm/labs/DatePickers/dateTimePickerTheme.js +3 -3
- package/dist/esm/labs/DatePickers/dateTimePickerTheme.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/ComposablePicker.js +1 -1
- package/dist/esm/labs/OdysseyPickers/ComposablePicker.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +4 -0
- package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -1
- package/dist/esm/labs/OdysseyPickers/index.js.map +1 -1
- package/dist/esm/labs/PageTemplate/Layout.js +2 -2
- package/dist/esm/labs/PageTemplate/Layout.js.map +1 -1
- package/dist/esm/labs/PageTemplate/PageTemplate.js.map +1 -1
- package/dist/esm/labs/PaginatedTable.js +1 -1
- package/dist/esm/labs/PaginatedTable.js.map +1 -1
- package/dist/esm/labs/StaticTable.js +1 -1
- package/dist/esm/labs/StaticTable.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_da.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_de.js +8 -2
- package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_el.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_es.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_id.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_it.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js +7 -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 +7 -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.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js +7 -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 +7 -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 +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_th.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js +7 -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 +7 -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 +7 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
- package/dist/esm/test-selectors/AutocompleteTestSelector.js +43 -0
- package/dist/esm/test-selectors/AutocompleteTestSelector.js.map +1 -0
- package/dist/esm/test-selectors/CalloutTestSelector.js +37 -0
- package/dist/esm/test-selectors/CalloutTestSelector.js.map +1 -0
- package/dist/esm/test-selectors/SelectTestSelector.js +49 -0
- package/dist/esm/test-selectors/SelectTestSelector.js.map +1 -0
- package/dist/esm/test-selectors/TabsTestSelector.js +33 -0
- package/dist/esm/test-selectors/TabsTestSelector.js.map +1 -0
- package/dist/esm/test-selectors/TextFieldTestSelector.js +38 -0
- package/dist/esm/test-selectors/TextFieldTestSelector.js.map +1 -0
- package/dist/esm/test-selectors/index.js +1 -0
- package/dist/esm/test-selectors/index.js.map +1 -1
- package/dist/esm/test-selectors/queryOdysseySelector.js +5 -5
- package/dist/esm/test-selectors/queryOdysseySelector.js.map +1 -1
- package/dist/esm/theme/components.js +5 -9
- package/dist/esm/theme/components.js.map +1 -1
- package/dist/esm/tools/addSpecificity.js.map +1 -0
- package/dist/esm/tools/bufferLatest.js.map +1 -0
- package/dist/esm/tools/createMessageBus.js.map +1 -0
- package/dist/esm/tools/createStore.js.map +1 -0
- package/dist/esm/ui-shell/NarrowUiShellContent.js +3 -13
- package/dist/esm/ui-shell/NarrowUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/NavAccordion.js +20 -15
- package/dist/esm/ui-shell/SideNav/NavAccordion.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNav.js +136 -135
- package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavFooterContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js +7 -4
- package/dist/esm/ui-shell/SideNav/SideNavItemContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemContentContext.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js +3 -4
- package/dist/esm/ui-shell/SideNav/SideNavItemLinkContent.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavSortableList.js +42 -0
- package/dist/esm/ui-shell/SideNav/SideNavSortableList.js.map +1 -0
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js +1 -1
- package/dist/esm/ui-shell/SideNav/SideNavToggleButton.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SortableList/SortableItem.js +1 -1
- package/dist/esm/ui-shell/SideNav/SortableList/SortableItem.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/SortableList/SortableList.js +1 -1
- package/dist/esm/ui-shell/SideNav/SortableList/SortableList.js.map +1 -1
- package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
- package/dist/esm/ui-shell/UiShell.js +4 -4
- package/dist/esm/ui-shell/UiShell.js.map +1 -1
- package/dist/esm/ui-shell/UiShellProvider.js +1 -1
- package/dist/esm/ui-shell/UiShellProvider.js.map +1 -1
- package/dist/esm/ui-shell/WideUiShellContent.js +2 -1
- package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
- package/dist/esm/ui-shell/renderUiShell.js +2 -2
- package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
- package/dist/esm/ui-shell/uiShellContentTypes.js +1 -0
- package/dist/esm/ui-shell/uiShellContentTypes.js.map +1 -1
- package/dist/esm/{shadow-dom/shadow-dom.js → web-component/createShadowDomElements.js} +8 -3
- package/dist/esm/web-component/createShadowDomElements.js.map +1 -0
- package/dist/esm/web-component/index.js +3 -0
- package/dist/esm/web-component/index.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/esm/web-component/removeGlobalStylesFromShadowDom.js +28 -0
- package/dist/esm/web-component/removeGlobalStylesFromShadowDom.js.map +1 -0
- package/dist/esm/web-component/renderReactInWebComponent.js +5 -9
- package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/types/Autocomplete.d.ts +0 -30
- package/dist/types/Autocomplete.d.ts.map +1 -1
- package/dist/types/Banner.d.ts.map +1 -1
- package/dist/types/Breadcrumbs.d.ts.map +1 -1
- package/dist/types/Buttons/BaseButton.d.ts +2 -2
- package/dist/types/Buttons/BaseButton.d.ts.map +1 -1
- package/dist/types/Callout.d.ts +0 -24
- package/dist/types/Callout.d.ts.map +1 -1
- package/dist/types/Card.d.ts +17 -6
- package/dist/types/Card.d.ts.map +1 -1
- package/dist/types/Checkbox.d.ts.map +1 -1
- package/dist/types/DataTable/DataTable.d.ts.map +1 -1
- package/dist/types/DataTable/DataTableRowActions.d.ts.map +1 -1
- package/dist/types/DatePickers/DatePicker.d.ts.map +1 -1
- package/dist/types/DatePickers/useDateFieldsTranslations.d.ts.map +1 -1
- package/dist/types/DatePickers/useOdysseyDateFields.d.ts.map +1 -1
- package/dist/types/Dialog.d.ts.map +1 -1
- package/dist/types/Drawer.d.ts.map +1 -1
- package/dist/types/Field.d.ts.map +1 -1
- package/dist/types/FieldError.d.ts.map +1 -1
- package/dist/types/FieldLabel.d.ts.map +1 -1
- package/dist/types/FileUploader/FileUploader.d.ts.map +1 -1
- package/dist/types/FullScreenOverlay.d.ts +19 -0
- package/dist/types/FullScreenOverlay.d.ts.map +1 -0
- package/dist/types/FullScreenOverlayContext.d.ts +31 -0
- package/dist/types/FullScreenOverlayContext.d.ts.map +1 -0
- package/dist/types/NativeSelect.d.ts +1 -1
- package/dist/types/OdysseyCacheProvider.d.ts +10 -3
- package/dist/types/OdysseyCacheProvider.d.ts.map +1 -1
- package/dist/types/OdysseyProvider.d.ts +8 -8
- package/dist/types/OdysseyProvider.d.ts.map +1 -1
- package/dist/types/OdysseyThemeProvider.d.ts +7 -16
- package/dist/types/OdysseyThemeProvider.d.ts.map +1 -1
- package/dist/types/OdysseyThemeProviderPropsContext.d.ts +27 -0
- package/dist/types/OdysseyThemeProviderPropsContext.d.ts.map +1 -0
- package/dist/types/Pagination/Pagination.d.ts +0 -1
- package/dist/types/Pagination/Pagination.d.ts.map +1 -1
- package/dist/types/Pagination/usePagination.d.ts.map +1 -1
- package/dist/types/PasswordField.d.ts.map +1 -1
- package/dist/types/Radio.d.ts.map +1 -1
- package/dist/types/SearchField.d.ts.map +1 -1
- package/dist/types/Select.d.ts +0 -36
- package/dist/types/Select.d.ts.map +1 -1
- package/dist/types/Surface.d.ts.map +1 -1
- package/dist/types/Switch.d.ts.map +1 -1
- package/dist/types/Tabs.d.ts +0 -20
- package/dist/types/Tabs.d.ts.map +1 -1
- package/dist/types/Tag.d.ts.map +1 -1
- package/dist/types/TextField.d.ts +0 -25
- package/dist/types/TextField.d.ts.map +1 -1
- package/dist/types/Toast.d.ts.map +1 -1
- package/dist/types/__internal.d.ts +30 -0
- package/dist/types/__internal.d.ts.map +1 -0
- package/dist/types/i18n.generated/i18n.d.ts +285 -0
- package/dist/types/i18n.generated/i18n.d.ts.map +1 -0
- package/dist/types/i18n.generated/i18n.resources.d.ts +4199 -0
- package/dist/types/{i18n.d.ts.map → i18n.generated/i18n.resources.d.ts.map} +1 -1
- package/dist/types/i18n.generated/i18n.types.d.ts +30 -0
- package/dist/types/i18n.generated/i18n.types.d.ts.map +1 -0
- package/dist/types/index.d.ts +4 -3
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/labs/DataTable.d.ts.map +1 -1
- package/dist/types/labs/DataView/CardLayoutContent.d.ts.map +1 -1
- package/dist/types/labs/DataView/DataCard.d.ts +14 -30
- package/dist/types/labs/DataView/DataCard.d.ts.map +1 -1
- package/dist/types/labs/DataView/RowActions.d.ts.map +1 -1
- package/dist/types/labs/DataView/componentTypes.d.ts +1 -1
- package/dist/types/labs/DataView/componentTypes.d.ts.map +1 -1
- package/dist/types/labs/DataView/fetchData.d.ts.map +1 -1
- package/dist/types/labs/DatePickers/DateTimePicker.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts.map +1 -1
- package/dist/types/labs/OdysseyPickers/index.d.ts +1 -2
- package/dist/types/labs/OdysseyPickers/index.d.ts.map +1 -1
- package/dist/types/labs/PageTemplate/PageTemplate.d.ts.map +1 -1
- package/dist/types/labs/PaginatedTable.d.ts.map +1 -1
- package/dist/types/labs/StaticTable.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui.d.ts +133 -133
- package/dist/types/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_cs.d.ts +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- package/dist/types/properties/ts/odyssey-react-mui_eu.d.ts.map +1 -1
- package/dist/types/properties/ts/odyssey-react-mui_fi.d.ts +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -133
- 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 +133 -133
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- 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 +133 -127
- package/dist/types/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
- package/dist/types/test-selectors/AutocompleteTestSelector.d.ts +42 -0
- package/dist/types/test-selectors/AutocompleteTestSelector.d.ts.map +1 -0
- package/dist/types/test-selectors/CalloutTestSelector.d.ts +36 -0
- package/dist/types/test-selectors/CalloutTestSelector.d.ts.map +1 -0
- package/dist/types/test-selectors/SelectTestSelector.d.ts +48 -0
- package/dist/types/test-selectors/SelectTestSelector.d.ts.map +1 -0
- package/dist/types/test-selectors/TabsTestSelector.d.ts +32 -0
- package/dist/types/test-selectors/TabsTestSelector.d.ts.map +1 -0
- package/dist/types/test-selectors/TextFieldTestSelector.d.ts +37 -0
- package/dist/types/test-selectors/TextFieldTestSelector.d.ts.map +1 -0
- package/dist/types/test-selectors/index.d.ts +1 -0
- package/dist/types/test-selectors/index.d.ts.map +1 -1
- package/dist/types/test-selectors/queryOdysseySelector.d.ts.map +1 -1
- package/dist/types/theme/components.d.ts.map +1 -1
- package/dist/types/tools/addSpecificity.d.ts.map +1 -0
- package/dist/types/tools/bufferLatest.d.ts.map +1 -0
- package/dist/types/tools/createMessageBus.d.ts.map +1 -0
- package/dist/types/tools/createStore.d.ts.map +1 -0
- package/dist/types/ui-shell/NarrowUiShellContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/NavAccordion.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNav.d.ts +1 -1
- package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavFooterContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts +2 -1
- package/dist/types/ui-shell/SideNav/SideNavItemContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemContentContext.d.ts +1 -0
- package/dist/types/ui-shell/SideNav/SideNavItemContentContext.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
- package/dist/types/ui-shell/SideNav/SideNavSortableList.d.ts +41 -0
- package/dist/types/ui-shell/SideNav/SideNavSortableList.d.ts.map +1 -0
- package/dist/types/ui-shell/SideNav/types.d.ts +13 -2
- package/dist/types/ui-shell/SideNav/types.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 +1 -1
- package/dist/types/ui-shell/UiShellProvider.d.ts.map +1 -1
- package/dist/types/ui-shell/WideUiShellContent.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/uiShellContentTypes.d.ts +4 -1
- package/dist/types/ui-shell/uiShellContentTypes.d.ts.map +1 -1
- package/dist/types/{shadow-dom/shadow-dom.d.ts → web-component/createShadowDomElements.d.ts} +6 -4
- package/dist/types/web-component/createShadowDomElements.d.ts.map +1 -0
- package/dist/types/web-component/index.d.ts +3 -0
- package/dist/types/web-component/index.d.ts.map +1 -1
- package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
- package/dist/types/web-component/removeGlobalStylesFromShadowDom.d.ts +18 -0
- package/dist/types/web-component/removeGlobalStylesFromShadowDom.d.ts.map +1 -0
- package/dist/types/web-component/renderReactInWebComponent.d.ts +1 -1
- package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
- package/package.json +26 -17
- package/dist/cjs/@types/i18next.d.cjs +0 -4
- package/dist/cjs/@types/i18next.d.cjs.map +0 -1
- package/dist/cjs/@types/properties.d.cjs +0 -2
- package/dist/cjs/@types/properties.d.cjs.map +0 -1
- package/dist/cjs/OdysseyTranslationProvider.cjs +0 -55
- package/dist/cjs/OdysseyTranslationProvider.cjs.map +0 -1
- package/dist/cjs/OdysseyTranslationProvider.types.cjs.map +0 -1
- package/dist/cjs/addSpecificity.cjs.map +0 -1
- package/dist/cjs/i18n.cjs +0 -113
- package/dist/cjs/i18n.cjs.map +0 -1
- package/dist/cjs/shadow-dom/index.cjs +0 -17
- package/dist/cjs/shadow-dom/index.cjs.map +0 -1
- package/dist/cjs/shadow-dom/shadow-dom.cjs.map +0 -1
- package/dist/cjs/ui-shell/bufferLatest.cjs.map +0 -1
- package/dist/cjs/ui-shell/createMessageBus.cjs.map +0 -1
- package/dist/cjs/ui-shell/createStore.cjs.map +0 -1
- package/dist/esm/@types/i18next.d.js +0 -14
- package/dist/esm/@types/i18next.d.js.map +0 -1
- package/dist/esm/@types/properties.d.js +0 -2
- package/dist/esm/@types/properties.d.js.map +0 -1
- package/dist/esm/OdysseyTranslationProvider.js +0 -48
- package/dist/esm/OdysseyTranslationProvider.js.map +0 -1
- package/dist/esm/OdysseyTranslationProvider.types.js +0 -14
- package/dist/esm/OdysseyTranslationProvider.types.js.map +0 -1
- package/dist/esm/addSpecificity.js.map +0 -1
- package/dist/esm/i18n.js +0 -100
- package/dist/esm/i18n.js.map +0 -1
- package/dist/esm/shadow-dom/index.js.map +0 -1
- package/dist/esm/shadow-dom/shadow-dom.js.map +0 -1
- package/dist/esm/ui-shell/bufferLatest.js.map +0 -1
- package/dist/esm/ui-shell/createMessageBus.js.map +0 -1
- package/dist/esm/ui-shell/createStore.js.map +0 -1
- package/dist/types/OdysseyTranslationProvider.d.ts +0 -24
- package/dist/types/OdysseyTranslationProvider.d.ts.map +0 -1
- package/dist/types/OdysseyTranslationProvider.types.d.ts +0 -14
- package/dist/types/OdysseyTranslationProvider.types.d.ts.map +0 -1
- package/dist/types/addSpecificity.d.ts.map +0 -1
- package/dist/types/i18n.d.ts +0 -3910
- package/dist/types/shadow-dom/index.d.ts.map +0 -1
- package/dist/types/shadow-dom/shadow-dom.d.ts.map +0 -1
- package/dist/types/ui-shell/bufferLatest.d.ts.map +0 -1
- package/dist/types/ui-shell/createMessageBus.d.ts.map +0 -1
- package/dist/types/ui-shell/createStore.d.ts.map +0 -1
- /package/dist/cjs/{addSpecificity.cjs → tools/addSpecificity.cjs} +0 -0
- /package/dist/cjs/{ui-shell → tools}/bufferLatest.cjs +0 -0
- /package/dist/cjs/{ui-shell → tools}/createMessageBus.cjs +0 -0
- /package/dist/cjs/{ui-shell → tools}/createStore.cjs +0 -0
- /package/dist/esm/{addSpecificity.js → tools/addSpecificity.js} +0 -0
- /package/dist/esm/{ui-shell → tools}/bufferLatest.js +0 -0
- /package/dist/esm/{ui-shell → tools}/createMessageBus.js +0 -0
- /package/dist/esm/{ui-shell → tools}/createStore.js +0 -0
- /package/dist/types/{addSpecificity.d.ts → tools/addSpecificity.d.ts} +0 -0
- /package/dist/types/{ui-shell → tools}/bufferLatest.d.ts +0 -0
- /package/dist/types/{ui-shell → tools}/createMessageBus.d.ts +0 -0
- /package/dist/types/{ui-shell → tools}/createStore.d.ts +0 -0
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
import _Checkbox from "@mui/material/Checkbox";
|
|
2
1
|
/*!
|
|
3
2
|
* Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
4
3
|
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
@@ -12,7 +11,7 @@ import _Checkbox from "@mui/material/Checkbox";
|
|
|
12
11
|
*/
|
|
13
12
|
|
|
14
13
|
import styled from "@emotion/styled";
|
|
15
|
-
import { memo, useCallback } from "react";
|
|
14
|
+
import { memo, useCallback, useMemo } from "react";
|
|
16
15
|
import { Box } from "../../Box.js";
|
|
17
16
|
import { CircularProgress } from "../../CircularProgress.js";
|
|
18
17
|
import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
|
|
@@ -52,13 +51,55 @@ const LoadingContainer = styled("div", {
|
|
|
52
51
|
width: "100%",
|
|
53
52
|
paddingBlock: odysseyDesignTokens.Spacing5
|
|
54
53
|
}));
|
|
55
|
-
const
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
54
|
+
const RowDataCard = ({
|
|
55
|
+
cardLayoutOptions,
|
|
56
|
+
currentIndex,
|
|
57
|
+
handleRowSelectionChange,
|
|
58
|
+
hasRowReordering,
|
|
59
|
+
hasRowSelection,
|
|
60
|
+
isRowReorderingDisabled,
|
|
61
|
+
onReorderRows,
|
|
62
|
+
row,
|
|
63
|
+
rowReorderingUtilities,
|
|
64
|
+
rowSelection,
|
|
65
|
+
totalRows
|
|
66
|
+
}) => {
|
|
67
|
+
const {
|
|
68
|
+
overline,
|
|
69
|
+
title,
|
|
70
|
+
description,
|
|
71
|
+
image,
|
|
72
|
+
children,
|
|
73
|
+
variant
|
|
74
|
+
} = cardLayoutOptions.itemProps(row);
|
|
75
|
+
const onSelectionChange = useCallback(() => handleRowSelectionChange(row), [handleRowSelectionChange, row]);
|
|
76
|
+
const detailPanel = useMemo(() => cardLayoutOptions.renderDetailPanel?.({
|
|
77
|
+
row
|
|
78
|
+
}), [cardLayoutOptions, row]);
|
|
79
|
+
const menuButtonChildren = useMemo(() => cardLayoutOptions.rowActionMenuItems || hasRowReordering ? _jsx(RowActions, {
|
|
80
|
+
isRowReorderingDisabled: isRowReorderingDisabled,
|
|
81
|
+
row: row,
|
|
82
|
+
rowActionMenuItems: cardLayoutOptions.rowActionMenuItems,
|
|
83
|
+
rowIndex: currentIndex,
|
|
84
|
+
totalRows: totalRows,
|
|
85
|
+
updateRowOrder: hasRowReordering && onReorderRows ? rowReorderingUtilities.updateRowOrder : undefined
|
|
86
|
+
}) : null, [cardLayoutOptions.rowActionMenuItems, currentIndex, hasRowReordering, isRowReorderingDisabled, onReorderRows, row, rowReorderingUtilities, totalRows]);
|
|
87
|
+
return _jsx(DataCard, {
|
|
88
|
+
children: children,
|
|
89
|
+
description: description,
|
|
90
|
+
detailPanel: detailPanel,
|
|
91
|
+
hasSelection: hasRowSelection,
|
|
92
|
+
image: image,
|
|
93
|
+
isSelected: rowSelection[row.id] ?? false,
|
|
94
|
+
menuButtonChildren: menuButtonChildren,
|
|
95
|
+
onSelectionChange: onSelectionChange,
|
|
96
|
+
overline: overline,
|
|
97
|
+
title: title,
|
|
98
|
+
variant: variant
|
|
99
|
+
}, row.id);
|
|
100
|
+
};
|
|
101
|
+
const MemoizedRowDataCard = memo(RowDataCard);
|
|
102
|
+
MemoizedRowDataCard.displayName = "RowDataCard";
|
|
62
103
|
const CardLayoutContent = ({
|
|
63
104
|
currentLayout,
|
|
64
105
|
data,
|
|
@@ -81,9 +122,6 @@ const CardLayoutContent = ({
|
|
|
81
122
|
const handleRowSelectionChange = useCallback(row => {
|
|
82
123
|
setRowSelection(rowSelection => Object.fromEntries(row.id in rowSelection ? Object.entries(rowSelection).filter(([key]) => key !== row.id) : Object.entries(rowSelection).concat([[row.id, true]])));
|
|
83
124
|
}, [setRowSelection]);
|
|
84
|
-
const {
|
|
85
|
-
updateRowOrder
|
|
86
|
-
} = rowReorderingUtilities;
|
|
87
125
|
return _jsx(Box, {
|
|
88
126
|
children: isLoading ? _jsx(LoadingContainer, {
|
|
89
127
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
@@ -97,41 +135,19 @@ const CardLayoutContent = ({
|
|
|
97
135
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
98
136
|
role: "list",
|
|
99
137
|
children: data.map((row, index) => {
|
|
100
|
-
const {
|
|
101
|
-
overline,
|
|
102
|
-
title,
|
|
103
|
-
description,
|
|
104
|
-
image,
|
|
105
|
-
children,
|
|
106
|
-
variant,
|
|
107
|
-
button
|
|
108
|
-
} = cardLayoutOptions.itemProps(row);
|
|
109
138
|
const currentIndex = index + (pagination.pageIndex - 1) * pagination.pageSize;
|
|
110
|
-
return _jsx(
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
button: button,
|
|
119
|
-
children: children,
|
|
120
|
-
description: description,
|
|
121
|
-
image: image,
|
|
122
|
-
menuButtonChildren: (cardLayoutOptions.rowActionMenuItems || hasRowReordering) && _jsx(RowActions, {
|
|
123
|
-
isRowReorderingDisabled: isRowReorderingDisabled,
|
|
124
|
-
row: row,
|
|
125
|
-
rowActionMenuItems: cardLayoutOptions.rowActionMenuItems,
|
|
126
|
-
rowIndex: currentIndex,
|
|
127
|
-
totalRows: totalRows,
|
|
128
|
-
updateRowOrder: hasRowReordering && onReorderRows ? updateRowOrder : undefined
|
|
129
|
-
}),
|
|
130
|
-
overline: overline,
|
|
131
|
-
renderDetailPanel: cardLayoutOptions.renderDetailPanel,
|
|
139
|
+
return _jsx(MemoizedRowDataCard, {
|
|
140
|
+
cardLayoutOptions: cardLayoutOptions,
|
|
141
|
+
currentIndex: currentIndex,
|
|
142
|
+
handleRowSelectionChange: handleRowSelectionChange,
|
|
143
|
+
hasRowReordering: hasRowReordering,
|
|
144
|
+
hasRowSelection: hasRowSelection,
|
|
145
|
+
isRowReorderingDisabled: isRowReorderingDisabled,
|
|
146
|
+
onReorderRows: onReorderRows,
|
|
132
147
|
row: row,
|
|
133
|
-
|
|
134
|
-
|
|
148
|
+
rowReorderingUtilities: rowReorderingUtilities,
|
|
149
|
+
rowSelection: rowSelection,
|
|
150
|
+
totalRows: totalRows
|
|
135
151
|
}, row.id);
|
|
136
152
|
})
|
|
137
153
|
})
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CardLayoutContent.js","names":["styled","memo","useCallback","Box","CircularProgress","useOdysseyDesignTokens","DataCard","RowActions","jsx","_jsx","Fragment","_Fragment","StackContainer","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","handleRowSelectionChange","row","Object","fromEntries","id","entries","filter","key","concat","updateRowOrder","children","length","role","map","index","overline","title","description","image","variant","button","itemProps","currentIndex","pageIndex","pageSize","Accessory","_Checkbox","checked","onChange","menuButtonChildren","rowActionMenuItems","rowIndex","undefined","renderDetailPanel","MemoizedCardLayoutContent","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 styled, { CSSObject } from \"@emotion/styled\";\nimport { Checkbox as MuiCheckbox } from \"@mui/material\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableInstance,\n} from \"material-react-table\";\nimport { Dispatch, memo, ReactNode, SetStateAction, useCallback } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { CircularProgress } from \"../../CircularProgress.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport {\n CardLayout,\n CardLayoutProps,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataCard } from \"./DataCard.js\";\nimport { RowActions } from \"./RowActions.js\";\n\nexport type CardLayoutContentProps<TData extends MRT_RowData> = {\n cardLayoutOptions: CardLayoutProps<TData>;\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 draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n dragHandleStyles: CSSObject;\n dragHandleText: {\n \"aria-label\": string;\n title: string;\n };\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n event: React.KeyboardEvent<HTMLButtonElement>;\n row: MRT_Row<TData>;\n table: MRT_TableInstance<TData>;\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 newRowIndex: number;\n rowId: string;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\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 currentLayout: CardLayout;\n maxGridColumns: number;\n odysseyDesignTokens: DesignTokens;\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 currentLayout={currentLayout}\n maxGridColumns={cardLayoutOptions.maxGridColumns ?? 3}\n odysseyDesignTokens={odysseyDesignTokens}\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 image={image}\n key={row.id as string}\n menuButtonChildren={\n (cardLayoutOptions.rowActionMenuItems ||\n hasRowReordering) && (\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={row}\n rowActionMenuItems={\n cardLayoutOptions.rowActionMenuItems as CardLayoutProps<MRT_RowData>[\"rowActionMenuItems\"]\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows\n ? updateRowOrder\n : undefined\n }\n />\n )\n }\n overline={overline}\n renderDetailPanel={cardLayoutOptions.renderDetailPanel}\n row={row}\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":[]}
|
|
1
|
+
{"version":3,"file":"CardLayoutContent.js","names":["styled","memo","useCallback","useMemo","Box","CircularProgress","useOdysseyDesignTokens","DataCard","RowActions","jsx","_jsx","Fragment","_Fragment","StackContainer","shouldForwardProp","prop","odysseyDesignTokens","currentLayout","maxGridColumns","display","flexDirection","columnGap","Spacing5","gridTemplateColumns","LoadingContainer","alignItems","justifyContent","width","paddingBlock","RowDataCard","cardLayoutOptions","currentIndex","handleRowSelectionChange","hasRowReordering","hasRowSelection","isRowReorderingDisabled","onReorderRows","row","rowReorderingUtilities","rowSelection","totalRows","overline","title","description","image","children","variant","itemProps","onSelectionChange","detailPanel","renderDetailPanel","menuButtonChildren","rowActionMenuItems","rowIndex","updateRowOrder","undefined","hasSelection","isSelected","id","MemoizedRowDataCard","displayName","CardLayoutContent","data","emptyState","isEmpty","isLoading","isNoResults","pagination","setRowSelection","Object","fromEntries","entries","filter","key","concat","length","role","map","index","pageIndex","pageSize","MemoizedCardLayoutContent"],"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 styled, { CSSObject } from \"@emotion/styled\";\nimport {\n MRT_Row,\n MRT_RowData,\n MRT_RowSelectionState,\n MRT_TableInstance,\n} from \"material-react-table\";\nimport {\n Dispatch,\n memo,\n ReactNode,\n SetStateAction,\n useCallback,\n useMemo,\n} from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { CircularProgress } from \"../../CircularProgress.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport {\n CardLayout,\n CardLayoutProps,\n UniversalProps,\n} from \"./componentTypes.js\";\nimport { DataCard } from \"./DataCard.js\";\nimport { RowActions } from \"./RowActions.js\";\n\nexport type CardLayoutContentProps<TData extends MRT_RowData> = {\n cardLayoutOptions: CardLayoutProps<TData>;\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 draggableTableBodyRowClassName: ({\n currentRowId,\n draggingRowId,\n hoveredRowId,\n }: {\n currentRowId: string;\n draggingRowId?: string;\n hoveredRowId?: string;\n }) => string | undefined;\n dragHandleStyles: CSSObject;\n dragHandleText: {\n \"aria-label\": string;\n title: string;\n };\n handleDragHandleKeyDown: ({\n table,\n row,\n event,\n }: {\n event: React.KeyboardEvent<HTMLButtonElement>;\n row: MRT_Row<TData>;\n table: MRT_TableInstance<TData>;\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 newRowIndex: number;\n rowId: string;\n }) => void;\n };\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n totalRows: UniversalProps<TData>[\"totalRows\"];\n};\ntype CardLayoutContentComponent = (<TData extends MRT_RowData>(\n props: CardLayoutContentProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\ntype RowDataCardProps<TData extends MRT_RowData> = {\n currentIndex: number;\n handleRowSelectionChange: (row: TData) => void;\n row: TData;\n} & Pick<\n CardLayoutContentProps<TData>,\n | \"cardLayoutOptions\"\n | \"hasRowReordering\"\n | \"hasRowSelection\"\n | \"isRowReorderingDisabled\"\n | \"onReorderRows\"\n | \"rowReorderingUtilities\"\n | \"rowSelection\"\n | \"totalRows\"\n>;\ntype RowDataCardComponent = (<TData extends MRT_RowData>(\n props: RowDataCardProps<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 currentLayout: CardLayout;\n maxGridColumns: number;\n odysseyDesignTokens: DesignTokens;\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 RowDataCard = <TData extends MRT_RowData>({\n cardLayoutOptions,\n currentIndex,\n handleRowSelectionChange,\n hasRowReordering,\n hasRowSelection,\n isRowReorderingDisabled,\n onReorderRows,\n row,\n rowReorderingUtilities,\n rowSelection,\n totalRows,\n}: RowDataCardProps<TData>) => {\n const { overline, title, description, image, children, variant } =\n cardLayoutOptions.itemProps(row);\n\n const onSelectionChange = useCallback(\n () => handleRowSelectionChange(row),\n [handleRowSelectionChange, row],\n );\n\n const detailPanel = useMemo(\n () => cardLayoutOptions.renderDetailPanel?.({ row }),\n [cardLayoutOptions, row],\n );\n\n const menuButtonChildren = useMemo(\n () =>\n cardLayoutOptions.rowActionMenuItems || hasRowReordering ? (\n <RowActions\n isRowReorderingDisabled={isRowReorderingDisabled}\n row={row}\n rowActionMenuItems={\n cardLayoutOptions.rowActionMenuItems as CardLayoutProps<MRT_RowData>[\"rowActionMenuItems\"]\n }\n rowIndex={currentIndex}\n totalRows={totalRows}\n updateRowOrder={\n hasRowReordering && onReorderRows\n ? rowReorderingUtilities.updateRowOrder\n : undefined\n }\n />\n ) : null,\n [\n cardLayoutOptions.rowActionMenuItems,\n currentIndex,\n hasRowReordering,\n isRowReorderingDisabled,\n onReorderRows,\n row,\n rowReorderingUtilities,\n totalRows,\n ],\n );\n\n return (\n <DataCard\n children={children}\n description={description}\n detailPanel={detailPanel}\n hasSelection={hasRowSelection}\n image={image}\n isSelected={rowSelection[row.id as number] ?? false}\n key={row.id as string}\n menuButtonChildren={menuButtonChildren}\n onSelectionChange={onSelectionChange}\n overline={overline}\n title={title}\n variant={variant}\n />\n );\n};\n\nconst MemoizedRowDataCard = memo(RowDataCard) as RowDataCardComponent;\nMemoizedRowDataCard.displayName = \"RowDataCard\";\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 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 currentLayout={currentLayout}\n maxGridColumns={cardLayoutOptions.maxGridColumns ?? 3}\n odysseyDesignTokens={odysseyDesignTokens}\n role=\"list\"\n >\n {data.map((row, index) => {\n const currentIndex =\n index + (pagination.pageIndex - 1) * pagination.pageSize;\n\n return (\n <MemoizedRowDataCard\n cardLayoutOptions={cardLayoutOptions}\n currentIndex={currentIndex}\n handleRowSelectionChange={handleRowSelectionChange}\n hasRowReordering={hasRowReordering}\n hasRowSelection={hasRowSelection}\n isRowReorderingDisabled={isRowReorderingDisabled}\n key={row.id as string}\n onReorderRows={onReorderRows}\n row={row}\n rowReorderingUtilities={rowReorderingUtilities}\n rowSelection={rowSelection}\n totalRows={totalRows}\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":[]}
|
|
@@ -1,7 +1,5 @@
|
|
|
1
|
-
import _Card from "@mui/material/Card";
|
|
2
|
-
import _CardActionArea from "@mui/material/CardActionArea";
|
|
3
|
-
import _CardActions from "@mui/material/CardActions";
|
|
4
1
|
import _Tooltip from "@mui/material/Tooltip";
|
|
2
|
+
import _Checkbox from "@mui/material/Checkbox";
|
|
5
3
|
import _IconButton from "@mui/material/IconButton";
|
|
6
4
|
/*!
|
|
7
5
|
* Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
@@ -16,209 +14,82 @@ import _IconButton from "@mui/material/IconButton";
|
|
|
16
14
|
*/
|
|
17
15
|
|
|
18
16
|
import styled from "@emotion/styled";
|
|
19
|
-
import { memo, useMemo, useState } from "react";
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
17
|
+
import { memo, useId, useMemo, useState } from "react";
|
|
18
|
+
import { Card } from "../../Card.js";
|
|
19
|
+
import { useTranslation } from "../../i18n.generated/i18n.js";
|
|
20
|
+
import { ChevronDownIcon } from "../../icons.generated/ChevronDown.js";
|
|
21
|
+
import { ChevronUpIcon } from "../../icons.generated/ChevronUp.js";
|
|
24
22
|
import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
|
|
25
|
-
import {
|
|
26
|
-
|
|
27
|
-
export const CARD_IMAGE_SIZE = "64px";
|
|
28
|
-
export const CARD_IMAGE_SIZE_COMPACT = "48px";
|
|
29
|
-
export const cardVariantValues = ["tile", "stack", "compact"];
|
|
30
|
-
const StyledAccessoryContainer = styled("div", {
|
|
31
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "variant"
|
|
32
|
-
})(({
|
|
33
|
-
odysseyDesignTokens,
|
|
34
|
-
variant
|
|
35
|
-
}) => ({
|
|
36
|
-
display: "flex",
|
|
37
|
-
flexDirection: variant === "compact" ? "row" : "column",
|
|
38
|
-
alignItems: "center",
|
|
39
|
-
gap: odysseyDesignTokens.Spacing2,
|
|
40
|
-
height: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : "auto"
|
|
41
|
-
}));
|
|
42
|
-
const StyledImageContainer = styled("div", {
|
|
43
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "hasMenuButtonChildren" && prop !== "variant"
|
|
44
|
-
})(({
|
|
45
|
-
odysseyDesignTokens,
|
|
46
|
-
hasMenuButtonChildren,
|
|
47
|
-
variant
|
|
48
|
-
}) => ({
|
|
49
|
-
display: "flex",
|
|
50
|
-
alignItems: "flex-start",
|
|
51
|
-
height: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,
|
|
52
|
-
maxHeight: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,
|
|
53
|
-
marginBlockEnd: variant === "tile" ? odysseyDesignTokens.Spacing5 : 0,
|
|
54
|
-
paddingRight: hasMenuButtonChildren ? odysseyDesignTokens.Spacing5 : 0
|
|
55
|
-
}));
|
|
56
|
-
const StyledMenuButtonContainer = styled("div", {
|
|
57
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
58
|
-
})(({
|
|
59
|
-
odysseyDesignTokens,
|
|
60
|
-
variant
|
|
61
|
-
}) => ({
|
|
62
|
-
position: "absolute",
|
|
63
|
-
right: odysseyDesignTokens.Spacing3,
|
|
64
|
-
top: variant === "compact" ? odysseyDesignTokens.Spacing4 : odysseyDesignTokens.Spacing3,
|
|
65
|
-
height: variant === "compact" ? CARD_IMAGE_SIZE_COMPACT : "auto",
|
|
66
|
-
display: "flex",
|
|
67
|
-
alignItems: "center"
|
|
68
|
-
}));
|
|
69
|
-
const StyledCardInnerContainer = styled("div", {
|
|
23
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
24
|
+
const CheckboxContainer = styled("div", {
|
|
70
25
|
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
71
26
|
})(({
|
|
72
27
|
odysseyDesignTokens
|
|
73
28
|
}) => ({
|
|
74
|
-
|
|
75
|
-
gap: odysseyDesignTokens.Spacing3
|
|
76
|
-
}));
|
|
77
|
-
const StyledCardImageAndContentContainer = styled("div", {
|
|
78
|
-
shouldForwardProp: prop => prop !== "variant" && prop !== "centerContent"
|
|
79
|
-
})(({
|
|
80
|
-
variant,
|
|
81
|
-
centerContent
|
|
82
|
-
}) => ({
|
|
83
|
-
display: "flex",
|
|
84
|
-
flexDirection: variant === "tile" ? "column" : "row",
|
|
85
|
-
alignItems: centerContent ? "center" : "flex-start"
|
|
29
|
+
marginBlockStart: `-${odysseyDesignTokens.Spacing1}`
|
|
86
30
|
}));
|
|
87
|
-
const
|
|
88
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "variant"
|
|
89
|
-
})(({
|
|
90
|
-
odysseyDesignTokens,
|
|
91
|
-
variant
|
|
92
|
-
}) => ({
|
|
93
|
-
"& > .MuiTypography-h5:not(:last-child)": {
|
|
94
|
-
marginBlockEnd: `${variant === "compact" ? odysseyDesignTokens.Spacing1 : odysseyDesignTokens.Spacing3} !important`
|
|
95
|
-
},
|
|
96
|
-
"& > *:last-child": {
|
|
97
|
-
marginBlockEnd: 0
|
|
98
|
-
}
|
|
99
|
-
}));
|
|
100
|
-
const StyledCardChildrenContainer = styled("div", {
|
|
101
|
-
shouldForwardProp: prop => prop !== "odysseyDesignTokens"
|
|
102
|
-
})(({
|
|
103
|
-
odysseyDesignTokens
|
|
104
|
-
}) => ({
|
|
105
|
-
["&:not(:first-child)"]: {
|
|
106
|
-
marginBlockStart: odysseyDesignTokens.Spacing3
|
|
107
|
-
}
|
|
108
|
-
}));
|
|
109
|
-
const StyledAccessoryPlaceholder = styled(_IconButton)({
|
|
31
|
+
const AccessoryPlaceholder = styled(_IconButton)(() => ({
|
|
110
32
|
visibility: "hidden"
|
|
111
|
-
});
|
|
112
|
-
const buttonProviderValue = {
|
|
113
|
-
isFullWidth: true
|
|
114
|
-
};
|
|
33
|
+
}));
|
|
115
34
|
const DataCard = ({
|
|
116
|
-
Accessory: AccessoryProp,
|
|
117
|
-
button,
|
|
118
35
|
children,
|
|
119
36
|
description,
|
|
37
|
+
detailPanel,
|
|
38
|
+
hasSelection,
|
|
120
39
|
image,
|
|
121
|
-
|
|
122
|
-
|
|
40
|
+
isSelected,
|
|
41
|
+
onSelectionChange,
|
|
123
42
|
overline,
|
|
124
|
-
renderDetailPanel,
|
|
125
|
-
row,
|
|
126
43
|
title,
|
|
127
|
-
variant
|
|
44
|
+
variant,
|
|
45
|
+
menuButtonChildren
|
|
128
46
|
}) => {
|
|
129
47
|
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
130
48
|
const {
|
|
131
49
|
t
|
|
132
50
|
} = useTranslation();
|
|
133
|
-
const
|
|
51
|
+
const titleId = useId();
|
|
52
|
+
const [isExpanded, setIsExpanded] = useState(false);
|
|
53
|
+
const SelectionCheckbox = useMemo(() => _jsx(CheckboxContainer, {
|
|
54
|
+
odysseyDesignTokens: odysseyDesignTokens,
|
|
55
|
+
children: _jsx(_Checkbox, {
|
|
56
|
+
checked: isSelected,
|
|
57
|
+
inputProps: {
|
|
58
|
+
"aria-labelledby": titleId
|
|
59
|
+
},
|
|
60
|
+
onChange: onSelectionChange
|
|
61
|
+
})
|
|
62
|
+
}), [isSelected, odysseyDesignTokens, onSelectionChange, titleId]);
|
|
134
63
|
const ExpansionToggle = useMemo(() => {
|
|
135
|
-
return
|
|
136
|
-
|
|
137
|
-
}) ? _jsx(_Tooltip, {
|
|
138
|
-
title: isDetailPanelOpen ? t("table.rowexpansion.collapse") : t("table.rowexpansion.expand"),
|
|
64
|
+
return detailPanel ? _jsx(_Tooltip, {
|
|
65
|
+
title: isExpanded ? t("table.rowexpansion.collapse") : t("table.rowexpansion.expand"),
|
|
139
66
|
children: _jsx(_IconButton, {
|
|
140
|
-
"aria-label":
|
|
141
|
-
children:
|
|
142
|
-
onClick: () =>
|
|
67
|
+
"aria-label": isExpanded ? t("table.rowexpansion.collapse") : t("table.rowexpansion.expand"),
|
|
68
|
+
children: isExpanded ? _jsx(ChevronUpIcon, {}) : _jsx(ChevronDownIcon, {}),
|
|
69
|
+
onClick: () => setIsExpanded(!isExpanded)
|
|
143
70
|
})
|
|
144
|
-
}) : _jsx(
|
|
71
|
+
}) : _jsx(AccessoryPlaceholder, {
|
|
145
72
|
disabled: true,
|
|
146
73
|
children: _jsx(ChevronDownIcon, {})
|
|
147
74
|
});
|
|
148
|
-
}, [
|
|
75
|
+
}, [isExpanded, detailPanel, t]);
|
|
149
76
|
const Accessory = useMemo(() => {
|
|
150
|
-
return _jsxs(
|
|
151
|
-
|
|
152
|
-
variant: variant,
|
|
153
|
-
children: [AccessoryProp, renderDetailPanel && ExpansionToggle]
|
|
154
|
-
});
|
|
155
|
-
}, [AccessoryProp, ExpansionToggle, odysseyDesignTokens, renderDetailPanel, variant]);
|
|
156
|
-
const cardContent = useMemo(() => {
|
|
157
|
-
const countDefinedProps = props => {
|
|
158
|
-
return props.filter(prop => prop !== undefined).length;
|
|
159
|
-
};
|
|
160
|
-
const shouldCenterContent = variant === "compact" && (!renderDetailPanel || !isDetailPanelOpen) && countDefinedProps([title, description, overline, button, children]) <= 2;
|
|
161
|
-
return _jsxs(StyledCardInnerContainer, {
|
|
162
|
-
odysseyDesignTokens: odysseyDesignTokens,
|
|
163
|
-
children: [(AccessoryProp || renderDetailPanel) && _jsx(Box, {
|
|
164
|
-
children: Accessory
|
|
165
|
-
}), _jsxs(StyledCardImageAndContentContainer, {
|
|
166
|
-
centerContent: shouldCenterContent,
|
|
167
|
-
variant: variant,
|
|
168
|
-
children: [image && _jsx(StyledImageContainer, {
|
|
169
|
-
hasMenuButtonChildren: Boolean(menuButtonChildren),
|
|
170
|
-
odysseyDesignTokens: odysseyDesignTokens,
|
|
171
|
-
variant: variant,
|
|
172
|
-
children: image
|
|
173
|
-
}), _jsxs(StyledCardContent, {
|
|
174
|
-
odysseyDesignTokens: odysseyDesignTokens,
|
|
175
|
-
variant: variant,
|
|
176
|
-
children: [overline && _jsx(Support, {
|
|
177
|
-
component: "div",
|
|
178
|
-
children: overline
|
|
179
|
-
}), title && _jsx(Heading5, {
|
|
180
|
-
component: "div",
|
|
181
|
-
children: title
|
|
182
|
-
}), description && _jsx(Paragraph, {
|
|
183
|
-
color: "textSecondary",
|
|
184
|
-
children: description
|
|
185
|
-
}), button && _jsx(_CardActions, {
|
|
186
|
-
children: _jsx(ButtonContext.Provider, {
|
|
187
|
-
value: buttonProviderValue,
|
|
188
|
-
children: button
|
|
189
|
-
})
|
|
190
|
-
}), children && _jsx(StyledCardChildrenContainer, {
|
|
191
|
-
odysseyDesignTokens: odysseyDesignTokens,
|
|
192
|
-
children: children
|
|
193
|
-
}), renderDetailPanel && isDetailPanelOpen && _jsx(StyledCardChildrenContainer, {
|
|
194
|
-
odysseyDesignTokens: odysseyDesignTokens,
|
|
195
|
-
children: renderDetailPanel({
|
|
196
|
-
row
|
|
197
|
-
})
|
|
198
|
-
})]
|
|
199
|
-
})]
|
|
200
|
-
})]
|
|
77
|
+
return _jsxs(_Fragment, {
|
|
78
|
+
children: [hasSelection && SelectionCheckbox, ExpansionToggle]
|
|
201
79
|
});
|
|
202
|
-
}, [
|
|
203
|
-
return
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
children:
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
endIcon: _jsx(MoreIcon, {}),
|
|
216
|
-
menuAlignment: "right",
|
|
217
|
-
size: "small",
|
|
218
|
-
tooltipText: t("table.actions"),
|
|
219
|
-
children: menuButtonChildren
|
|
220
|
-
})
|
|
221
|
-
})]
|
|
80
|
+
}, [ExpansionToggle, SelectionCheckbox, hasSelection]);
|
|
81
|
+
return _jsx(Card, {
|
|
82
|
+
__role: "listitem",
|
|
83
|
+
accessory: Accessory,
|
|
84
|
+
children: children,
|
|
85
|
+
description: description,
|
|
86
|
+
detailPanel: isExpanded && detailPanel,
|
|
87
|
+
image: image,
|
|
88
|
+
menuButtonChildren: menuButtonChildren,
|
|
89
|
+
overline: overline,
|
|
90
|
+
title: title,
|
|
91
|
+
titleId: titleId,
|
|
92
|
+
variant: variant
|
|
222
93
|
});
|
|
223
94
|
};
|
|
224
95
|
const MemoizedDataCard = memo(DataCard);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DataCard.js","names":["styled","memo","useMemo","useState","useTranslation","Box","ButtonContext","MenuButton","ChevronDownIcon","ChevronUpIcon","MoreIcon","useOdysseyDesignTokens","Heading5","Paragraph","Support","jsx","_jsx","jsxs","_jsxs","CARD_IMAGE_SIZE","CARD_IMAGE_SIZE_COMPACT","cardVariantValues","StyledAccessoryContainer","shouldForwardProp","prop","odysseyDesignTokens","variant","display","flexDirection","alignItems","gap","Spacing2","height","StyledImageContainer","hasMenuButtonChildren","maxHeight","marginBlockEnd","Spacing5","paddingRight","StyledMenuButtonContainer","position","right","Spacing3","top","Spacing4","StyledCardInnerContainer","StyledCardImageAndContentContainer","centerContent","StyledCardContent","Spacing1","StyledCardChildrenContainer","marginBlockStart","StyledAccessoryPlaceholder","_IconButton","visibility","buttonProviderValue","isFullWidth","DataCard","Accessory","AccessoryProp","button","children","description","image","menuButtonChildren","onClick","overline","renderDetailPanel","row","title","t","isDetailPanelOpen","setIsDetailPanelOpen","ExpansionToggle","_Tooltip","disabled","cardContent","countDefinedProps","props","filter","undefined","length","shouldCenterContent","Boolean","component","color","_CardActions","Provider","value","_Card","className","role","_CardActionArea","ariaLabel","buttonVariant","endIcon","menuAlignment","size","tooltipText","MemoizedDataCard","displayName"],"sources":["../../../../src/labs/DataView/DataCard.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n Card as MuiCard,\n CardActionArea as MuiCardActionArea,\n CardActions as MuiCardActions,\n IconButton as MuiIconButton,\n Tooltip as MuiTooltip,\n} from \"@mui/material\";\nimport { MRT_RowData } from \"material-react-table\";\nimport {\n memo,\n MouseEventHandler,\n ReactElement,\n ReactNode,\n useMemo,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Box } from \"../../Box.js\";\nimport {\n Button,\n ButtonContext,\n MenuButton,\n MenuButtonProps,\n} from \"../../Buttons/index.js\";\nimport {\n ChevronDownIcon,\n ChevronUpIcon,\n MoreIcon,\n} from \"../../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { Heading5, Paragraph, Support } from \"../../Typography.js\";\nimport { CardLayoutProps } from \"./componentTypes.js\";\n\nexport const CARD_IMAGE_SIZE = \"64px\";\nexport const CARD_IMAGE_SIZE_COMPACT = \"48px\";\n\nexport const cardVariantValues = [\"tile\", \"stack\", \"compact\"] as const;\n\nexport type DataCardProps<TData extends MRT_RowData> = {\n children?: ReactNode;\n description?: string;\n image?: ReactElement;\n overline?: string;\n renderDetailPanel?: CardLayoutProps<TData>[\"renderDetailPanel\"];\n row: TData;\n title?: string;\n variant?: (typeof cardVariantValues)[number];\n} & (\n | {\n Accessory?: never;\n button?: never;\n menuButtonChildren?: never;\n onClick: MouseEventHandler;\n }\n | {\n Accessory?: ReactNode;\n button?: ReactElement<typeof Button>;\n menuButtonChildren?: MenuButtonProps[\"children\"];\n onClick?: never;\n }\n);\n\ntype DataCardComponent = (<TData extends MRT_RowData>(\n props: DataCardProps<TData>,\n) => JSX.Element) & {\n displayName?: string;\n};\n\nconst StyledAccessoryContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n display: \"flex\",\n flexDirection: variant === \"compact\" ? \"row\" : \"column\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n}));\n\nconst StyledImageContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"hasMenuButtonChildren\" &&\n prop !== \"variant\",\n})<{\n hasMenuButtonChildren: boolean;\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, hasMenuButtonChildren, variant }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n maxHeight: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : CARD_IMAGE_SIZE,\n marginBlockEnd: variant === \"tile\" ? odysseyDesignTokens.Spacing5 : 0,\n paddingRight: hasMenuButtonChildren ? odysseyDesignTokens.Spacing5 : 0,\n}));\n\nconst StyledMenuButtonContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n position: \"absolute\",\n right: odysseyDesignTokens.Spacing3,\n top:\n variant === \"compact\"\n ? odysseyDesignTokens.Spacing4\n : odysseyDesignTokens.Spacing3,\n height: variant === \"compact\" ? CARD_IMAGE_SIZE_COMPACT : \"auto\",\n display: \"flex\",\n alignItems: \"center\",\n}));\n\nconst StyledCardInnerContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing3,\n}));\n\nconst StyledCardImageAndContentContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"variant\" && prop !== \"centerContent\",\n})<{ centerContent: boolean; variant: (typeof cardVariantValues)[number] }>(\n ({ variant, centerContent }) => ({\n display: \"flex\",\n flexDirection: variant === \"tile\" ? \"column\" : \"row\",\n alignItems: centerContent ? \"center\" : \"flex-start\",\n }),\n);\n\nconst StyledCardContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"variant\",\n})<{\n odysseyDesignTokens: DesignTokens;\n variant: (typeof cardVariantValues)[number];\n}>(({ odysseyDesignTokens, variant }) => ({\n \"& > .MuiTypography-h5:not(:last-child)\": {\n marginBlockEnd: `${variant === \"compact\" ? odysseyDesignTokens.Spacing1 : odysseyDesignTokens.Spacing3} !important`,\n },\n \"& > *:last-child\": {\n marginBlockEnd: 0,\n },\n}));\n\nconst StyledCardChildrenContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n [\"&:not(:first-child)\"]: {\n marginBlockStart: odysseyDesignTokens.Spacing3,\n },\n}));\n\nconst StyledAccessoryPlaceholder = styled(MuiIconButton)({\n visibility: \"hidden\",\n});\n\nconst buttonProviderValue = { isFullWidth: true };\n\nconst DataCard: DataCardComponent = <TData extends MRT_RowData>({\n Accessory: AccessoryProp,\n button,\n children,\n description,\n image,\n menuButtonChildren,\n onClick,\n overline,\n renderDetailPanel,\n row,\n title,\n variant = \"tile\",\n}: DataCardProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [isDetailPanelOpen, setIsDetailPanelOpen] = useState<boolean>(false);\n\n const ExpansionToggle = useMemo(() => {\n return renderDetailPanel?.({ row }) ? (\n <MuiTooltip\n title={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n >\n <MuiIconButton\n aria-label={\n isDetailPanelOpen\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n children={isDetailPanelOpen ? <ChevronUpIcon /> : <ChevronDownIcon />}\n onClick={() => setIsDetailPanelOpen(!isDetailPanelOpen)}\n />\n </MuiTooltip>\n ) : (\n <StyledAccessoryPlaceholder disabled>\n <ChevronDownIcon />\n </StyledAccessoryPlaceholder>\n );\n }, [isDetailPanelOpen, renderDetailPanel, row, t]);\n\n const Accessory = useMemo(() => {\n return (\n <StyledAccessoryContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {AccessoryProp}\n {renderDetailPanel && ExpansionToggle}\n </StyledAccessoryContainer>\n );\n }, [\n AccessoryProp,\n ExpansionToggle,\n odysseyDesignTokens,\n renderDetailPanel,\n variant,\n ]);\n\n const cardContent = useMemo(() => {\n const countDefinedProps = (\n props: Array<string | ReactNode | undefined>,\n ) => {\n return props.filter((prop) => prop !== undefined).length;\n };\n\n const shouldCenterContent =\n variant === \"compact\" &&\n (!renderDetailPanel || !isDetailPanelOpen) &&\n countDefinedProps([title, description, overline, button, children]) <= 2;\n\n return (\n <StyledCardInnerContainer odysseyDesignTokens={odysseyDesignTokens}>\n {(AccessoryProp || renderDetailPanel) && <Box>{Accessory}</Box>}\n <StyledCardImageAndContentContainer\n centerContent={shouldCenterContent}\n variant={variant}\n >\n {image && (\n <StyledImageContainer\n hasMenuButtonChildren={Boolean(menuButtonChildren)}\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {image}\n </StyledImageContainer>\n )}\n\n <StyledCardContent\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n {overline && <Support component=\"div\">{overline}</Support>}\n {title && <Heading5 component=\"div\">{title}</Heading5>}\n {description && (\n <Paragraph color=\"textSecondary\">{description}</Paragraph>\n )}\n\n {button && (\n <MuiCardActions>\n <ButtonContext.Provider value={buttonProviderValue}>\n {button}\n </ButtonContext.Provider>\n </MuiCardActions>\n )}\n\n {children && (\n <StyledCardChildrenContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {children}\n </StyledCardChildrenContainer>\n )}\n\n {renderDetailPanel && isDetailPanelOpen && (\n <StyledCardChildrenContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {renderDetailPanel({ row })}\n </StyledCardChildrenContainer>\n )}\n </StyledCardContent>\n </StyledCardImageAndContentContainer>\n </StyledCardInnerContainer>\n );\n }, [\n odysseyDesignTokens,\n AccessoryProp,\n renderDetailPanel,\n Accessory,\n variant,\n image,\n menuButtonChildren,\n overline,\n title,\n description,\n button,\n children,\n isDetailPanelOpen,\n row,\n ]);\n\n return (\n <MuiCard\n className={`${onClick ? \"isClickable\" : \"\"} ${Accessory ? \"hasAccessory\" : \"\"} ods-card-${variant}`}\n role=\"listitem\"\n >\n {onClick ? (\n <MuiCardActionArea onClick={onClick}>{cardContent}</MuiCardActionArea>\n ) : (\n cardContent\n )}\n\n {menuButtonChildren && (\n <StyledMenuButtonContainer\n odysseyDesignTokens={odysseyDesignTokens}\n variant={variant}\n >\n <MenuButton\n ariaLabel={t(\"table.moreactions.arialabel\")}\n buttonVariant=\"floating\"\n endIcon={<MoreIcon />}\n menuAlignment=\"right\"\n size=\"small\"\n tooltipText={t(\"table.actions\")}\n >\n {menuButtonChildren}\n </MenuButton>\n </StyledMenuButtonContainer>\n )}\n </MuiCard>\n );\n};\n\nconst MemoizedDataCard = memo(DataCard) as DataCardComponent;\nMemoizedDataCard.displayName = \"DataCard\";\n\nexport { MemoizedDataCard as DataCard };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"DataCard.js","names":["styled","memo","useId","useMemo","useState","Card","useTranslation","ChevronDownIcon","ChevronUpIcon","useOdysseyDesignTokens","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","CheckboxContainer","shouldForwardProp","prop","odysseyDesignTokens","marginBlockStart","Spacing1","AccessoryPlaceholder","_IconButton","visibility","DataCard","children","description","detailPanel","hasSelection","image","isSelected","onSelectionChange","overline","title","variant","menuButtonChildren","t","titleId","isExpanded","setIsExpanded","SelectionCheckbox","_Checkbox","checked","inputProps","onChange","ExpansionToggle","_Tooltip","onClick","disabled","Accessory","__role","accessory","MemoizedDataCard","displayName"],"sources":["../../../../src/labs/DataView/DataCard.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n Checkbox as MuiCheckbox,\n IconButton as MuiIconButton,\n Tooltip as MuiTooltip,\n} from \"@mui/material\";\nimport { memo, useId, useMemo, useState } from \"react\";\n\nimport { Card, CardProps } from \"../../Card.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { ChevronDownIcon } from \"../../icons.generated/ChevronDown.js\";\nimport { ChevronUpIcon } from \"../../icons.generated/ChevronUp.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\n\nexport type DataCardProps = {\n children?: CardProps[\"children\"];\n description?: CardProps[\"description\"];\n detailPanel?: CardProps[\"detailPanel\"];\n hasSelection?: boolean;\n image?: CardProps[\"image\"];\n isSelected?: boolean;\n menuButtonChildren?: CardProps[\"menuButtonChildren\"];\n onSelectionChange?: () => void;\n overline?: CardProps[\"overline\"];\n title?: CardProps[\"title\"];\n variant?: CardProps[\"variant\"];\n};\n\nconst CheckboxContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n marginBlockStart: `-${odysseyDesignTokens.Spacing1}`,\n}));\n\nconst AccessoryPlaceholder = styled(MuiIconButton)(() => ({\n visibility: \"hidden\" as const,\n}));\n\nconst DataCard = ({\n children,\n description,\n detailPanel,\n hasSelection,\n image,\n isSelected,\n onSelectionChange,\n overline,\n title,\n variant,\n menuButtonChildren,\n}: DataCardProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const titleId = useId();\n\n const [isExpanded, setIsExpanded] = useState<boolean>(false);\n\n const SelectionCheckbox = useMemo(\n () => (\n <CheckboxContainer odysseyDesignTokens={odysseyDesignTokens}>\n <MuiCheckbox\n checked={isSelected}\n inputProps={{\n \"aria-labelledby\": titleId,\n }}\n onChange={onSelectionChange}\n />\n </CheckboxContainer>\n ),\n [isSelected, odysseyDesignTokens, onSelectionChange, titleId],\n );\n\n const ExpansionToggle = useMemo(() => {\n return detailPanel ? (\n <MuiTooltip\n title={\n isExpanded\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n >\n <MuiIconButton\n aria-label={\n isExpanded\n ? t(\"table.rowexpansion.collapse\")\n : t(\"table.rowexpansion.expand\")\n }\n children={isExpanded ? <ChevronUpIcon /> : <ChevronDownIcon />}\n onClick={() => setIsExpanded(!isExpanded)}\n />\n </MuiTooltip>\n ) : (\n <AccessoryPlaceholder disabled>\n <ChevronDownIcon />\n </AccessoryPlaceholder>\n );\n }, [isExpanded, detailPanel, t]);\n\n const Accessory = useMemo(() => {\n return (\n <>\n {hasSelection && SelectionCheckbox}\n {ExpansionToggle}\n </>\n );\n }, [ExpansionToggle, SelectionCheckbox, hasSelection]);\n\n return (\n <Card\n __role=\"listitem\"\n accessory={Accessory}\n children={children}\n description={description}\n detailPanel={isExpanded && detailPanel}\n image={image}\n menuButtonChildren={menuButtonChildren}\n overline={overline}\n title={title}\n titleId={titleId}\n variant={variant}\n />\n );\n};\n\nconst MemoizedDataCard = memo(DataCard);\nMemoizedDataCard.displayName = \"DataCard\";\n\nexport { MemoizedDataCard as DataCard };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,13 +12,13 @@
|
|
|
12
12
|
|
|
13
13
|
import styled from "@emotion/styled";
|
|
14
14
|
import { memo, useCallback, useEffect, useMemo, useState } from "react";
|
|
15
|
-
import { useTranslation } from "react-i18next";
|
|
16
15
|
import { Box } from "../../Box.js";
|
|
17
16
|
import { MenuButton } from "../../Buttons/index.js";
|
|
18
17
|
import { Callout } from "../../Callout.js";
|
|
19
18
|
import { createUniqueId } from "../../createUniqueId.js";
|
|
20
19
|
import { useRowReordering } from "../../DataTable/useRowReordering.js";
|
|
21
20
|
import { EmptyState } from "../../EmptyState.js";
|
|
21
|
+
import { useTranslation } from "../../i18n.generated/i18n.js";
|
|
22
22
|
import { MoreIcon } from "../../icons.generated/index.js";
|
|
23
23
|
import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
|
|
24
24
|
import { Pagination, usePagination } from "../../Pagination/index.js";
|