@okta/odyssey-react-mui 1.27.1 → 1.29.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +25 -0
- package/dist/Breadcrumbs.js +1 -0
- package/dist/Breadcrumbs.js.map +1 -1
- package/dist/{Button.js → Buttons/BaseButton.js} +11 -10
- package/dist/Buttons/BaseButton.js.map +1 -0
- package/dist/{MenuButton.js → Buttons/BaseMenuButton.js} +30 -10
- package/dist/Buttons/BaseMenuButton.js.map +1 -0
- package/dist/Buttons/Button.js +24 -0
- package/dist/Buttons/Button.js.map +1 -0
- package/dist/Buttons/ButtonContext.js.map +1 -0
- package/dist/Buttons/MenuButton.js +25 -0
- package/dist/Buttons/MenuButton.js.map +1 -0
- package/dist/Buttons/MenuContext.js.map +1 -0
- package/dist/{MenuItem.js → Buttons/MenuItem.js} +1 -0
- package/dist/Buttons/MenuItem.js.map +1 -0
- package/dist/Buttons/index.js +18 -0
- package/dist/{labs/UiShell → Buttons}/index.js.map +1 -1
- package/dist/Card.js +1 -2
- package/dist/Card.js.map +1 -1
- package/dist/Checkbox.js +62 -35
- package/dist/Checkbox.js.map +1 -1
- package/dist/DataTable/DataTable.js +1 -2
- package/dist/DataTable/DataTable.js.map +1 -1
- package/dist/DataTable/DataTableRowActions.js +1 -2
- package/dist/DataTable/DataTableRowActions.js.map +1 -1
- package/dist/DataTable/DataTableSettings.js +1 -2
- package/dist/DataTable/DataTableSettings.js.map +1 -1
- package/dist/DataTable/reorderDataRowsLocally.js.map +1 -1
- package/dist/DataTable/useRowReordering.js.map +1 -1
- package/dist/Dialog.js +1 -1
- package/dist/Dialog.js.map +1 -1
- package/dist/Drawer.js +1 -1
- package/dist/Drawer.js.map +1 -1
- package/dist/FileUploader/FileUploader.js +1 -1
- package/dist/FileUploader/FileUploader.js.map +1 -1
- package/dist/Form.js.map +1 -1
- package/dist/HtmlProps.js.map +1 -1
- package/dist/Pagination/Pagination.js +3 -2
- package/dist/Pagination/Pagination.js.map +1 -1
- package/dist/Radio.js +65 -38
- package/dist/Radio.js.map +1 -1
- package/dist/Toast.js +1 -1
- package/dist/Toast.js.map +1 -1
- package/dist/Typography.js +20 -0
- package/dist/Typography.js.map +1 -1
- package/dist/index.js +1 -3
- package/dist/index.js.map +1 -1
- package/dist/index.scss +1 -1
- package/dist/labs/AppSwitcher/AppSwitcher.js +76 -0
- package/dist/labs/AppSwitcher/AppSwitcher.js.map +1 -0
- package/dist/labs/AppSwitcher/AppSwitcherApp.js +112 -0
- package/dist/labs/AppSwitcher/AppSwitcherApp.js.map +1 -0
- package/dist/labs/{SideNav → AppSwitcher}/OktaAura.js +16 -3
- package/dist/labs/AppSwitcher/OktaAura.js.map +1 -0
- package/dist/{src/labs/UiShell/useHasUiShell.d.ts → labs/AppSwitcher/index.js} +2 -2
- package/dist/labs/AppSwitcher/index.js.map +1 -0
- package/dist/labs/AppTile.js +102 -65
- package/dist/labs/AppTile.js.map +1 -1
- package/dist/labs/DataFilters.js +10 -6
- package/dist/labs/DataFilters.js.map +1 -1
- package/dist/labs/DataTable.js +7 -7
- package/dist/labs/DataTable.js.map +1 -1
- package/dist/labs/DataTablePagination.js +1 -1
- package/dist/labs/DataTablePagination.js.map +1 -1
- package/dist/labs/DataView/BulkActionsMenu.js +1 -2
- package/dist/labs/DataView/BulkActionsMenu.js.map +1 -1
- package/dist/labs/DataView/CardLayoutContent.js +6 -5
- package/dist/labs/DataView/CardLayoutContent.js.map +1 -1
- package/dist/labs/DataView/DataCard.js +54 -42
- package/dist/labs/DataView/DataCard.js.map +1 -1
- package/dist/labs/DataView/DataTable.js.map +1 -1
- package/dist/labs/DataView/DataView.js +3 -3
- package/dist/labs/DataView/DataView.js.map +1 -1
- package/dist/labs/DataView/DetailPanel.js.map +1 -1
- package/dist/labs/DataView/LayoutSwitcher.js +1 -2
- package/dist/labs/DataView/LayoutSwitcher.js.map +1 -1
- package/dist/labs/DataView/RowActions.js +1 -1
- package/dist/labs/DataView/RowActions.js.map +1 -1
- package/dist/labs/DataView/TableLayoutContent.js +2 -3
- package/dist/labs/DataView/TableLayoutContent.js.map +1 -1
- package/dist/labs/DataView/TableSettings.js +1 -2
- package/dist/labs/DataView/TableSettings.js.map +1 -1
- package/dist/labs/DataView/componentTypes.js.map +1 -1
- package/dist/labs/DataView/dataTypes.js.map +1 -1
- package/dist/labs/DataView/fetchData.js.map +1 -1
- package/dist/labs/DataView/testSupportData.js +201 -0
- package/dist/labs/DataView/testSupportData.js.map +1 -0
- package/dist/labs/DataView/useFilterConversion.js.map +1 -1
- package/dist/labs/{DateField.js → DatePickers/DateField.js} +1 -1
- package/dist/labs/DatePickers/DateField.js.map +1 -0
- package/dist/labs/DatePickers/DateFieldActionBar.js +56 -0
- package/dist/labs/DatePickers/DateFieldActionBar.js.map +1 -0
- package/dist/labs/DatePickers/DateFieldLocalizationProvider.js +32 -0
- package/dist/labs/DatePickers/DateFieldLocalizationProvider.js.map +1 -0
- package/dist/labs/{DatePicker.js → DatePickers/DatePicker.js} +30 -73
- package/dist/labs/DatePickers/DatePicker.js.map +1 -0
- package/dist/labs/DatePickers/DatePicker.types.d.js.map +1 -0
- package/dist/labs/DatePickers/DateTimeField.js +166 -0
- package/dist/labs/DatePickers/DateTimeField.js.map +1 -0
- package/dist/labs/DatePickers/DateTimePicker.js +233 -0
- package/dist/labs/DatePickers/DateTimePicker.js.map +1 -0
- package/dist/labs/{datePickerTheme.js → DatePickers/datePickerTheme.js} +2 -2
- package/dist/labs/DatePickers/datePickerTheme.js.map +1 -0
- package/dist/labs/DatePickers/dateTimePickerTheme.js +230 -0
- package/dist/labs/DatePickers/dateTimePickerTheme.js.map +1 -0
- package/dist/labs/DatePickers/index.js +15 -0
- package/dist/labs/DatePickers/index.js.map +1 -0
- package/dist/labs/DatePickers/useDateFieldsTranslations.js.map +1 -0
- package/dist/labs/{useOdysseyDateFields.js → DatePickers/useOdysseyDateFields.js} +36 -3
- package/dist/labs/DatePickers/useOdysseyDateFields.js.map +1 -0
- package/dist/labs/PageTemplate.js +1 -1
- package/dist/labs/PageTemplate.js.map +1 -1
- package/dist/labs/SideNav/SideNav.js +45 -38
- package/dist/labs/SideNav/SideNav.js.map +1 -1
- package/dist/labs/SideNav/SideNavHeader.js +6 -4
- package/dist/labs/SideNav/SideNavHeader.js.map +1 -1
- package/dist/labs/SideNav/SideNavItemContent.js +11 -11
- package/dist/labs/SideNav/SideNavItemContent.js.map +1 -1
- package/dist/labs/SideNav/SideNavToggleButton.js +1 -1
- package/dist/labs/SideNav/SideNavToggleButton.js.map +1 -1
- package/dist/labs/SideNav/types.js.map +1 -1
- package/dist/labs/TimeZonePicker.js.map +1 -1
- package/dist/labs/TopNav/UserProfile.js +16 -3
- package/dist/labs/TopNav/UserProfile.js.map +1 -1
- package/dist/labs/TopNav/UserProfileMenuButton.js +41 -0
- package/dist/labs/TopNav/UserProfileMenuButton.js.map +1 -0
- package/dist/labs/TopNav/index.js +1 -0
- package/dist/labs/TopNav/index.js.map +1 -1
- package/dist/labs/index.js +2 -3
- package/dist/labs/index.js.map +1 -1
- package/dist/properties/ts/odyssey-react-mui.js +2 -0
- package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
- package/dist/src/Breadcrumbs.d.ts.map +1 -1
- package/dist/src/{Button.d.ts → Buttons/BaseButton.d.ts} +12 -34
- package/dist/src/Buttons/BaseButton.d.ts.map +1 -0
- package/dist/src/{MenuButton.d.ts → Buttons/BaseMenuButton.d.ts} +37 -14
- package/dist/src/Buttons/BaseMenuButton.d.ts.map +1 -0
- package/dist/src/Buttons/Button.d.ts +16 -0
- package/dist/src/Buttons/Button.d.ts.map +1 -0
- package/dist/src/Buttons/ButtonContext.d.ts.map +1 -0
- package/dist/src/Buttons/MenuButton.d.ts +17 -0
- package/dist/src/Buttons/MenuButton.d.ts.map +1 -0
- package/dist/src/Buttons/MenuContext.d.ts.map +1 -0
- package/dist/src/{MenuItem.d.ts → Buttons/MenuItem.d.ts} +1 -1
- package/dist/src/Buttons/MenuItem.d.ts.map +1 -0
- package/dist/src/Buttons/index.d.ts +18 -0
- package/dist/src/Buttons/index.d.ts.map +1 -0
- package/dist/src/Card.d.ts +1 -2
- package/dist/src/Card.d.ts.map +1 -1
- package/dist/src/Checkbox.d.ts.map +1 -1
- package/dist/src/DataTable/DataTable.d.ts +1 -1
- package/dist/src/DataTable/DataTable.d.ts.map +1 -1
- package/dist/src/DataTable/DataTableRowActions.d.ts +1 -2
- package/dist/src/DataTable/DataTableRowActions.d.ts.map +1 -1
- package/dist/src/DataTable/DataTableSettings.d.ts.map +1 -1
- package/dist/src/DataTable/reorderDataRowsLocally.d.ts +3 -3
- package/dist/src/DataTable/reorderDataRowsLocally.d.ts.map +1 -1
- package/dist/src/DataTable/useRowReordering.d.ts +10 -10
- package/dist/src/DataTable/useRowReordering.d.ts.map +1 -1
- package/dist/src/Dialog.d.ts +1 -1
- package/dist/src/Dialog.d.ts.map +1 -1
- package/dist/src/Drawer.d.ts +1 -1
- package/dist/src/Drawer.d.ts.map +1 -1
- package/dist/src/Form.d.ts +1 -1
- package/dist/src/Form.d.ts.map +1 -1
- package/dist/src/HtmlProps.d.ts +27 -0
- package/dist/src/HtmlProps.d.ts.map +1 -1
- package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
- package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
- package/dist/src/Radio.d.ts +1 -1
- package/dist/src/Radio.d.ts.map +1 -1
- package/dist/src/Typography.d.ts +11 -11
- package/dist/src/Typography.d.ts.map +1 -1
- package/dist/src/index.d.ts +1 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/labs/AppSwitcher/AppSwitcher.d.ts +20 -0
- package/dist/src/labs/AppSwitcher/AppSwitcher.d.ts.map +1 -0
- package/dist/src/labs/AppSwitcher/AppSwitcherApp.d.ts +24 -0
- package/dist/src/labs/AppSwitcher/AppSwitcherApp.d.ts.map +1 -0
- package/dist/src/labs/AppSwitcher/OktaAura.d.ts.map +1 -0
- package/dist/src/labs/AppSwitcher/index.d.ts +13 -0
- package/dist/src/labs/AppSwitcher/index.d.ts.map +1 -0
- package/dist/src/labs/AppTile.d.ts +6 -4
- package/dist/src/labs/AppTile.d.ts.map +1 -1
- package/dist/src/labs/DataFilters.d.ts.map +1 -1
- package/dist/src/labs/DataTable.d.ts +12 -12
- package/dist/src/labs/DataTable.d.ts.map +1 -1
- package/dist/src/labs/DataView/BulkActionsMenu.d.ts +3 -3
- package/dist/src/labs/DataView/BulkActionsMenu.d.ts.map +1 -1
- package/dist/src/labs/DataView/CardLayoutContent.d.ts +18 -15
- package/dist/src/labs/DataView/CardLayoutContent.d.ts.map +1 -1
- package/dist/src/labs/DataView/DataCard.d.ts +8 -6
- package/dist/src/labs/DataView/DataCard.d.ts.map +1 -1
- package/dist/src/labs/DataView/DataTable.d.ts +6 -2
- package/dist/src/labs/DataView/DataTable.d.ts.map +1 -1
- package/dist/src/labs/DataView/DataView.d.ts +6 -2
- package/dist/src/labs/DataView/DataView.d.ts.map +1 -1
- package/dist/src/labs/DataView/DetailPanel.d.ts +5 -5
- package/dist/src/labs/DataView/DetailPanel.d.ts.map +1 -1
- package/dist/src/labs/DataView/LayoutSwitcher.d.ts.map +1 -1
- package/dist/src/labs/DataView/RowActions.d.ts +4 -5
- package/dist/src/labs/DataView/RowActions.d.ts.map +1 -1
- package/dist/src/labs/DataView/TableLayoutContent.d.ts +18 -15
- package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -1
- package/dist/src/labs/DataView/TableSettings.d.ts +7 -3
- package/dist/src/labs/DataView/TableSettings.d.ts.map +1 -1
- package/dist/src/labs/DataView/componentTypes.d.ts +17 -17
- package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -1
- package/dist/src/labs/DataView/dataTypes.d.ts +6 -6
- package/dist/src/labs/DataView/dataTypes.d.ts.map +1 -1
- package/dist/src/labs/DataView/fetchData.d.ts +6 -6
- package/dist/src/labs/DataView/fetchData.d.ts.map +1 -1
- package/dist/src/labs/DataView/testSupportData.d.ts +33 -0
- package/dist/src/labs/DataView/testSupportData.d.ts.map +1 -0
- package/dist/src/labs/DataView/useFilterConversion.d.ts +5 -4
- package/dist/src/labs/DataView/useFilterConversion.d.ts.map +1 -1
- package/dist/src/labs/{DateField.d.ts → DatePickers/DateField.d.ts} +1 -1
- package/dist/src/labs/DatePickers/DateField.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/DateFieldActionBar.d.ts +15 -0
- package/dist/src/labs/DatePickers/DateFieldActionBar.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/DateFieldLocalizationProvider.d.ts +20 -0
- package/dist/src/labs/DatePickers/DateFieldLocalizationProvider.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/DatePicker.d.ts +17 -0
- package/dist/src/labs/DatePickers/DatePicker.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/DateTimeField.d.ts +20 -0
- package/dist/src/labs/DatePickers/DateTimeField.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/DateTimePicker.d.ts +17 -0
- package/dist/src/labs/DatePickers/DateTimePicker.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/datePickerTheme.d.ts +22 -0
- package/dist/src/labs/DatePickers/datePickerTheme.d.ts.map +1 -0
- package/dist/src/labs/{datePickerTheme.d.ts → DatePickers/dateTimePickerTheme.d.ts} +2 -2
- package/dist/src/labs/DatePickers/dateTimePickerTheme.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/index.d.ts +15 -0
- package/dist/src/labs/DatePickers/index.d.ts.map +1 -0
- package/dist/src/labs/DatePickers/useDateFieldsTranslations.d.ts.map +1 -0
- package/dist/src/labs/{useOdysseyDateFields.d.ts → DatePickers/useOdysseyDateFields.d.ts} +49 -6
- package/dist/src/labs/DatePickers/useOdysseyDateFields.d.ts.map +1 -0
- package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNavHeader.d.ts.map +1 -1
- package/dist/src/labs/SideNav/SideNavItemContent.d.ts +1 -1
- package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -1
- package/dist/src/labs/SideNav/types.d.ts +2 -2
- package/dist/src/labs/SideNav/types.d.ts.map +1 -1
- package/dist/src/labs/TimeZonePicker.d.ts +4 -1
- package/dist/src/labs/TimeZonePicker.d.ts.map +1 -1
- package/dist/src/labs/TopNav/UserProfile.d.ts +5 -1
- package/dist/src/labs/TopNav/UserProfile.d.ts.map +1 -1
- package/dist/src/labs/TopNav/UserProfileMenuButton.d.ts +17 -0
- package/dist/src/labs/TopNav/UserProfileMenuButton.d.ts.map +1 -0
- package/dist/src/labs/TopNav/index.d.ts +1 -0
- package/dist/src/labs/TopNav/index.d.ts.map +1 -1
- package/dist/src/labs/index.d.ts +2 -3
- package/dist/src/labs/index.d.ts.map +1 -1
- package/dist/src/properties/ts/odyssey-react-mui.d.ts +2 -0
- package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
- package/dist/src/theme/components.d.ts.map +1 -1
- package/dist/src/theme/mixins.d.ts.map +1 -1
- package/dist/src/theme/mixins.types.d.ts +2 -0
- package/dist/src/theme/mixins.types.d.ts.map +1 -1
- package/dist/src/{labs → ui-shell}/UiShell/UiShell.d.ts +2 -2
- package/dist/src/ui-shell/UiShell/UiShell.d.ts.map +1 -0
- package/dist/src/ui-shell/UiShell/UiShellContent.d.ts +68 -0
- package/dist/src/ui-shell/UiShell/UiShellContent.d.ts.map +1 -0
- package/dist/src/ui-shell/UiShell/bufferLatest.d.ts.map +1 -0
- package/dist/src/ui-shell/UiShell/createMessageBus.d.ts.map +1 -0
- package/dist/src/ui-shell/UiShell/createStore.d.ts.map +1 -0
- package/dist/src/ui-shell/UiShell/index.d.ts.map +1 -0
- package/dist/src/{labs → ui-shell}/UiShell/renderUiShell.d.ts +3 -4
- package/dist/src/ui-shell/UiShell/renderUiShell.d.ts.map +1 -0
- package/dist/src/ui-shell/UiShell/useHasUiShell.d.ts +14 -0
- package/dist/src/ui-shell/UiShell/useHasUiShell.d.ts.map +1 -0
- package/dist/src/ui-shell/UiShell/useScrollState.d.ts.map +1 -0
- package/dist/src/ui-shell/index.d.ts +14 -0
- package/dist/src/ui-shell/index.d.ts.map +1 -0
- package/dist/src/{web-component → ui-shell}/renderReactInWebComponent.d.ts +1 -21
- package/dist/src/ui-shell/renderReactInWebComponent.d.ts.map +1 -0
- package/dist/src/web-component/index.d.ts +0 -1
- package/dist/src/web-component/index.d.ts.map +1 -1
- package/dist/src/web-component/shadow-dom.d.ts +23 -2
- package/dist/src/web-component/shadow-dom.d.ts.map +1 -1
- package/dist/theme/components.js +62 -30
- package/dist/theme/components.js.map +1 -1
- package/dist/theme/mixins.js +2 -1
- package/dist/theme/mixins.js.map +1 -1
- package/dist/theme/mixins.types.js.map +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/{labs → ui-shell}/UiShell/UiShell.js +8 -5
- package/dist/ui-shell/UiShell/UiShell.js.map +1 -0
- package/dist/{labs → ui-shell}/UiShell/UiShellContent.js +64 -16
- package/dist/ui-shell/UiShell/UiShellContent.js.map +1 -0
- package/dist/ui-shell/UiShell/bufferLatest.js.map +1 -0
- package/dist/ui-shell/UiShell/createMessageBus.js.map +1 -0
- package/dist/ui-shell/UiShell/createStore.js.map +1 -0
- package/dist/ui-shell/UiShell/index.js.map +1 -0
- package/dist/{labs → ui-shell}/UiShell/renderUiShell.js +8 -2
- package/dist/ui-shell/UiShell/renderUiShell.js.map +1 -0
- package/dist/{labs → ui-shell}/UiShell/useHasUiShell.js +1 -1
- package/dist/ui-shell/UiShell/useHasUiShell.js.map +1 -0
- package/dist/ui-shell/UiShell/useScrollState.js.map +1 -0
- package/dist/ui-shell/index.js +14 -0
- package/dist/ui-shell/index.js.map +1 -0
- package/dist/{web-component → ui-shell}/renderReactInWebComponent.js +1 -12
- package/dist/ui-shell/renderReactInWebComponent.js.map +1 -0
- package/dist/web-component/index.js +0 -1
- package/dist/web-component/index.js.map +1 -1
- package/dist/web-component/shadow-dom.js +12 -2
- package/dist/web-component/shadow-dom.js.map +1 -1
- package/package.json +10 -3
- package/src/Breadcrumbs.tsx +5 -1
- package/src/{Button.tsx → Buttons/BaseButton.tsx} +48 -68
- package/src/{MenuButton.tsx → Buttons/BaseMenuButton.tsx} +94 -32
- package/src/Buttons/Button.tsx +30 -0
- package/src/Buttons/MenuButton.tsx +35 -0
- package/src/{MenuItem.tsx → Buttons/MenuItem.tsx} +2 -1
- package/src/Buttons/index.ts +22 -0
- package/src/Card.tsx +1 -3
- package/src/Checkbox.tsx +86 -44
- package/src/DataTable/DataTable.tsx +1 -2
- package/src/DataTable/DataTableRowActions.tsx +1 -3
- package/src/DataTable/DataTableSettings.tsx +1 -2
- package/src/DataTable/reorderDataRowsLocally.tsx +3 -3
- package/src/DataTable/useRowReordering.tsx +16 -23
- package/src/Dialog.tsx +1 -1
- package/src/Drawer.tsx +1 -1
- package/src/FileUploader/FileUploader.tsx +1 -1
- package/src/Form.tsx +1 -1
- package/src/HtmlProps.ts +27 -0
- package/src/Pagination/Pagination.test.tsx +58 -36
- package/src/Pagination/Pagination.tsx +3 -3
- package/src/Radio.tsx +78 -39
- package/src/Toast.tsx +1 -1
- package/src/Typography.tsx +26 -1
- package/src/index.ts +1 -3
- package/src/labs/AppSwitcher/AppSwitcher.tsx +94 -0
- package/src/labs/AppSwitcher/AppSwitcherApp.tsx +146 -0
- package/src/labs/{SideNav → AppSwitcher}/OktaAura.tsx +19 -4
- package/src/labs/AppSwitcher/index.ts +13 -0
- package/src/labs/AppTile.tsx +171 -85
- package/src/labs/DataFilters.tsx +8 -4
- package/src/labs/DataTable.tsx +42 -34
- package/src/labs/DataTablePagination.tsx +1 -1
- package/src/labs/DataView/BulkActionsMenu.tsx +5 -6
- package/src/labs/DataView/CardLayoutContent.tsx +34 -28
- package/src/labs/DataView/DataCard.tsx +69 -37
- package/src/labs/DataView/DataTable.tsx +11 -4
- package/src/labs/DataView/DataView.test.tsx +1012 -87
- package/src/labs/DataView/DataView.tsx +19 -12
- package/src/labs/DataView/DetailPanel.tsx +4 -4
- package/src/labs/DataView/LayoutSwitcher.tsx +1 -2
- package/src/labs/DataView/RowActions.tsx +5 -7
- package/src/labs/DataView/TableLayoutContent.tsx +31 -26
- package/src/labs/DataView/TableSettings.tsx +13 -8
- package/src/labs/DataView/componentTypes.ts +17 -17
- package/src/labs/DataView/dataTypes.ts +14 -8
- package/src/labs/DataView/fetchData.ts +9 -7
- package/src/labs/DataView/testSupportData.tsx +301 -0
- package/src/labs/DataView/useFilterConversion.ts +8 -8
- package/src/labs/{DateField.tsx → DatePickers/DateField.tsx} +2 -2
- package/src/labs/DatePickers/DateFieldActionBar.tsx +65 -0
- package/src/labs/DatePickers/DateFieldLocalizationProvider.tsx +46 -0
- package/src/labs/{DatePicker.tsx → DatePickers/DatePicker.tsx} +31 -136
- package/src/labs/DatePickers/DateTimeField.tsx +271 -0
- package/src/labs/DatePickers/DateTimePicker.test.tsx +66 -0
- package/src/labs/DatePickers/DateTimePicker.tsx +303 -0
- package/src/labs/{datePickerTheme.tsx → DatePickers/datePickerTheme.tsx} +2 -2
- package/src/labs/DatePickers/dateTimePickerTheme.ts +213 -0
- package/src/labs/DatePickers/index.ts +15 -0
- package/src/labs/{useOdysseyDateFields.ts → DatePickers/useOdysseyDateFields.ts} +112 -10
- package/src/labs/PageTemplate.tsx +1 -1
- package/src/labs/SideNav/SideNav.tsx +48 -43
- package/src/labs/SideNav/SideNavHeader.tsx +6 -4
- package/src/labs/SideNav/SideNavItemContent.tsx +21 -18
- package/src/labs/SideNav/SideNavToggleButton.tsx +1 -1
- package/src/labs/SideNav/types.ts +2 -2
- package/src/labs/TimeZonePicker.tsx +5 -1
- package/src/labs/TopNav/UserProfile.tsx +26 -2
- package/src/labs/TopNav/UserProfileMenuButton.tsx +57 -0
- package/src/labs/TopNav/index.ts +1 -0
- package/src/labs/index.ts +3 -3
- package/src/properties/odyssey-react-mui.properties +2 -0
- package/src/properties/ts/odyssey-react-mui.ts +1 -1
- package/src/theme/components.tsx +69 -31
- package/src/theme/mixins.ts +1 -0
- package/src/theme/mixins.types.ts +2 -0
- package/src/{labs → ui-shell}/UiShell/UiShell.test.tsx +23 -38
- package/src/{labs → ui-shell}/UiShell/UiShell.tsx +17 -6
- package/src/ui-shell/UiShell/UiShellContent.tsx +268 -0
- package/src/{labs → ui-shell}/UiShell/renderUiShell.test.tsx +1 -1
- package/src/{labs → ui-shell}/UiShell/renderUiShell.tsx +14 -4
- package/src/{labs → ui-shell}/UiShell/useHasUiShell.ts +1 -1
- package/src/ui-shell/index.ts +14 -0
- package/src/{web-component → ui-shell}/renderReactInWebComponent.test.tsx +1 -1
- package/src/{web-component → ui-shell}/renderReactInWebComponent.ts +4 -35
- package/src/web-component/index.ts +0 -1
- package/src/web-component/shadow-dom.ts +36 -3
- package/dist/Button.js.map +0 -1
- package/dist/ButtonContext.js.map +0 -1
- package/dist/MenuButton.js.map +0 -1
- package/dist/MenuContext.js.map +0 -1
- package/dist/MenuItem.js.map +0 -1
- package/dist/labs/DateField.js.map +0 -1
- package/dist/labs/DatePicker.js.map +0 -1
- package/dist/labs/DatePicker.types.d.js.map +0 -1
- package/dist/labs/SideNav/OktaAura.js.map +0 -1
- package/dist/labs/UiShell/UiShell.js.map +0 -1
- package/dist/labs/UiShell/UiShellContent.js.map +0 -1
- package/dist/labs/UiShell/bufferLatest.js.map +0 -1
- package/dist/labs/UiShell/createMessageBus.js.map +0 -1
- package/dist/labs/UiShell/createStore.js.map +0 -1
- package/dist/labs/UiShell/renderUiShell.js.map +0 -1
- package/dist/labs/UiShell/useHasUiShell.js.map +0 -1
- package/dist/labs/UiShell/useScrollState.js.map +0 -1
- package/dist/labs/datePickerTheme.js.map +0 -1
- package/dist/labs/useDateFieldsTranslations.js.map +0 -1
- package/dist/labs/useOdysseyDateFields.js.map +0 -1
- package/dist/src/Button.d.ts.map +0 -1
- package/dist/src/ButtonContext.d.ts.map +0 -1
- package/dist/src/MenuButton.d.ts.map +0 -1
- package/dist/src/MenuContext.d.ts.map +0 -1
- package/dist/src/MenuItem.d.ts.map +0 -1
- package/dist/src/labs/DateField.d.ts.map +0 -1
- package/dist/src/labs/DatePicker.d.ts +0 -47
- package/dist/src/labs/DatePicker.d.ts.map +0 -1
- package/dist/src/labs/SideNav/OktaAura.d.ts.map +0 -1
- package/dist/src/labs/UiShell/UiShell.d.ts.map +0 -1
- package/dist/src/labs/UiShell/UiShellContent.d.ts +0 -47
- package/dist/src/labs/UiShell/UiShellContent.d.ts.map +0 -1
- package/dist/src/labs/UiShell/bufferLatest.d.ts.map +0 -1
- package/dist/src/labs/UiShell/createMessageBus.d.ts.map +0 -1
- package/dist/src/labs/UiShell/createStore.d.ts.map +0 -1
- package/dist/src/labs/UiShell/index.d.ts.map +0 -1
- package/dist/src/labs/UiShell/renderUiShell.d.ts.map +0 -1
- package/dist/src/labs/UiShell/useHasUiShell.d.ts.map +0 -1
- package/dist/src/labs/UiShell/useScrollState.d.ts.map +0 -1
- package/dist/src/labs/datePickerTheme.d.ts.map +0 -1
- package/dist/src/labs/useDateFieldsTranslations.d.ts.map +0 -1
- package/dist/src/labs/useOdysseyDateFields.d.ts.map +0 -1
- package/dist/src/web-component/renderReactInWebComponent.d.ts.map +0 -1
- package/dist/web-component/renderReactInWebComponent.js.map +0 -1
- package/src/labs/UiShell/UiShellContent.tsx +0 -170
- /package/dist/{ButtonContext.js → Buttons/ButtonContext.js} +0 -0
- /package/dist/{MenuContext.js → Buttons/MenuContext.js} +0 -0
- /package/dist/labs/{DatePicker.types.d.js → DatePickers/DatePicker.types.d.js} +0 -0
- /package/dist/labs/{useDateFieldsTranslations.js → DatePickers/useDateFieldsTranslations.js} +0 -0
- /package/dist/src/{ButtonContext.d.ts → Buttons/ButtonContext.d.ts} +0 -0
- /package/dist/src/{MenuContext.d.ts → Buttons/MenuContext.d.ts} +0 -0
- /package/dist/src/labs/{SideNav → AppSwitcher}/OktaAura.d.ts +0 -0
- /package/dist/src/labs/{useDateFieldsTranslations.d.ts → DatePickers/useDateFieldsTranslations.d.ts} +0 -0
- /package/dist/src/{labs → ui-shell}/UiShell/bufferLatest.d.ts +0 -0
- /package/dist/src/{labs → ui-shell}/UiShell/createMessageBus.d.ts +0 -0
- /package/dist/src/{labs → ui-shell}/UiShell/createStore.d.ts +0 -0
- /package/dist/src/{labs → ui-shell}/UiShell/index.d.ts +0 -0
- /package/dist/src/{labs → ui-shell}/UiShell/useScrollState.d.ts +0 -0
- /package/dist/{labs → ui-shell}/UiShell/bufferLatest.js +0 -0
- /package/dist/{labs → ui-shell}/UiShell/createMessageBus.js +0 -0
- /package/dist/{labs → ui-shell}/UiShell/createStore.js +0 -0
- /package/dist/{labs → ui-shell}/UiShell/index.js +0 -0
- /package/dist/{labs → ui-shell}/UiShell/useScrollState.js +0 -0
- /package/src/{ButtonContext.tsx → Buttons/ButtonContext.tsx} +0 -0
- /package/src/{MenuContext.ts → Buttons/MenuContext.ts} +0 -0
- /package/src/labs/{DatePicker.types.d.ts → DatePickers/DatePicker.types.d.ts} +0 -0
- /package/src/labs/{useDateFieldsTranslations.ts → DatePickers/useDateFieldsTranslations.ts} +0 -0
- /package/src/{labs → ui-shell}/UiShell/bufferLatest.test.ts +0 -0
- /package/src/{labs → ui-shell}/UiShell/bufferLatest.ts +0 -0
- /package/src/{labs → ui-shell}/UiShell/createMessageBus.test.ts +0 -0
- /package/src/{labs → ui-shell}/UiShell/createMessageBus.ts +0 -0
- /package/src/{labs → ui-shell}/UiShell/createStore.test.ts +0 -0
- /package/src/{labs → ui-shell}/UiShell/createStore.ts +0 -0
- /package/src/{labs → ui-shell}/UiShell/index.ts +0 -0
- /package/src/{labs → ui-shell}/UiShell/useScrollState.ts +0 -0
|
@@ -16,21 +16,22 @@ import {
|
|
|
16
16
|
HTMLAttributes,
|
|
17
17
|
memo,
|
|
18
18
|
ReactElement,
|
|
19
|
+
ReactNode,
|
|
19
20
|
useCallback,
|
|
20
21
|
useImperativeHandle,
|
|
21
22
|
useMemo,
|
|
22
23
|
useRef,
|
|
23
24
|
} from "react";
|
|
24
25
|
|
|
25
|
-
import { useButton } from "
|
|
26
|
-
import type { HtmlProps } from "
|
|
27
|
-
import { FocusHandle } from "
|
|
26
|
+
import { useButton } from "../Buttons";
|
|
27
|
+
import type { HtmlProps } from "../HtmlProps";
|
|
28
|
+
import { FocusHandle } from "../inputUtils";
|
|
28
29
|
import {
|
|
29
30
|
MuiPropsContext,
|
|
30
31
|
MuiPropsContextType,
|
|
31
32
|
useMuiProps,
|
|
32
|
-
} from "
|
|
33
|
-
import { Tooltip } from "
|
|
33
|
+
} from "../MuiPropsContext";
|
|
34
|
+
import { Tooltip } from "../Tooltip";
|
|
34
35
|
|
|
35
36
|
export const buttonSizeValues = ["small", "medium", "large"] as const;
|
|
36
37
|
export const buttonTypeValues = ["button", "submit", "reset"] as const;
|
|
@@ -43,7 +44,7 @@ export const buttonVariantValues = [
|
|
|
43
44
|
"floatingAction",
|
|
44
45
|
] as const;
|
|
45
46
|
|
|
46
|
-
export type
|
|
47
|
+
export type BaseButtonProps = {
|
|
47
48
|
/**
|
|
48
49
|
* The ref forwarded to the Button
|
|
49
50
|
*/
|
|
@@ -85,64 +86,41 @@ export type ButtonProps = {
|
|
|
85
86
|
* The click event handler for the Button
|
|
86
87
|
*/
|
|
87
88
|
onClick?: MuiButtonProps["onClick"];
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
endIcon: ReactElement;
|
|
122
|
-
/**
|
|
123
|
-
* The text content of the Button
|
|
124
|
-
*/
|
|
125
|
-
label?: never;
|
|
126
|
-
/**
|
|
127
|
-
* The icon element to display at the start of the Button
|
|
128
|
-
*/
|
|
129
|
-
startIcon?: ReactElement;
|
|
130
|
-
}
|
|
131
|
-
) &
|
|
132
|
-
Pick<
|
|
133
|
-
HtmlProps,
|
|
134
|
-
| "ariaControls"
|
|
135
|
-
| "ariaDescribedBy"
|
|
136
|
-
| "ariaExpanded"
|
|
137
|
-
| "ariaHasPopup"
|
|
138
|
-
| "ariaLabel"
|
|
139
|
-
| "ariaLabelledBy"
|
|
140
|
-
| "tabIndex"
|
|
141
|
-
| "testId"
|
|
142
|
-
| "translate"
|
|
143
|
-
>;
|
|
89
|
+
/**
|
|
90
|
+
* The contents of the button. Only available internal to Odyssey here in BaseButton. If set, label is ignored.
|
|
91
|
+
*/
|
|
92
|
+
children?: ReactNode;
|
|
93
|
+
/**
|
|
94
|
+
* The icon element to display at the end of the Button
|
|
95
|
+
*/
|
|
96
|
+
endIcon?: ReactElement;
|
|
97
|
+
/**
|
|
98
|
+
* The text content of the Button
|
|
99
|
+
*/
|
|
100
|
+
label?: string;
|
|
101
|
+
/**
|
|
102
|
+
* The icon element to display at the start of the Button
|
|
103
|
+
*/
|
|
104
|
+
startIcon?: ReactElement;
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
// These are split and exported separately from the above because wrappers of this (e.g. Button) will
|
|
108
|
+
// want to omit children, which they cannot do from the combined union type. Instead, they should
|
|
109
|
+
// omit from BaseButtonProps, then union with the AdditionalBaseButtonProps (as seen in Button)
|
|
110
|
+
export type AdditionalBaseButtonProps = Pick<
|
|
111
|
+
HtmlProps,
|
|
112
|
+
| "ariaControls"
|
|
113
|
+
| "ariaDescribedBy"
|
|
114
|
+
| "ariaExpanded"
|
|
115
|
+
| "ariaHasPopup"
|
|
116
|
+
| "ariaLabel"
|
|
117
|
+
| "ariaLabelledBy"
|
|
118
|
+
| "tabIndex"
|
|
119
|
+
| "testId"
|
|
120
|
+
| "translate"
|
|
121
|
+
>;
|
|
144
122
|
|
|
145
|
-
const
|
|
123
|
+
const BaseButton = ({
|
|
146
124
|
ariaControls,
|
|
147
125
|
ariaDescribedBy,
|
|
148
126
|
ariaExpanded,
|
|
@@ -156,6 +134,7 @@ const Button = ({
|
|
|
156
134
|
isDisabled,
|
|
157
135
|
isFullWidth: isFullWidthProp,
|
|
158
136
|
label = "",
|
|
137
|
+
children,
|
|
159
138
|
onClick,
|
|
160
139
|
size = "medium",
|
|
161
140
|
startIcon,
|
|
@@ -165,7 +144,7 @@ const Button = ({
|
|
|
165
144
|
translate,
|
|
166
145
|
type = "button",
|
|
167
146
|
variant: variantProp,
|
|
168
|
-
}:
|
|
147
|
+
}: BaseButtonProps & AdditionalBaseButtonProps) => {
|
|
169
148
|
const muiProps = useMuiProps();
|
|
170
149
|
|
|
171
150
|
// We're deprecating the "tertiary" variant, so map it to
|
|
@@ -225,7 +204,7 @@ const Button = ({
|
|
|
225
204
|
type={type}
|
|
226
205
|
variant={variant}
|
|
227
206
|
>
|
|
228
|
-
{label}
|
|
207
|
+
{children ?? label}
|
|
229
208
|
</MuiButton>
|
|
230
209
|
);
|
|
231
210
|
},
|
|
@@ -242,6 +221,7 @@ const Button = ({
|
|
|
242
221
|
isDisabled,
|
|
243
222
|
isFullWidth,
|
|
244
223
|
label,
|
|
224
|
+
children,
|
|
245
225
|
onClick,
|
|
246
226
|
size,
|
|
247
227
|
startIcon,
|
|
@@ -264,7 +244,7 @@ const Button = ({
|
|
|
264
244
|
return renderButton(muiProps);
|
|
265
245
|
};
|
|
266
246
|
|
|
267
|
-
const
|
|
268
|
-
|
|
247
|
+
const MemoizedBaseButton = memo(BaseButton);
|
|
248
|
+
MemoizedBaseButton.displayName = "BaseButton";
|
|
269
249
|
|
|
270
|
-
export {
|
|
250
|
+
export { MemoizedBaseButton as BaseButton };
|
|
@@ -18,18 +18,28 @@ import {
|
|
|
18
18
|
useState,
|
|
19
19
|
ReactNode,
|
|
20
20
|
} from "react";
|
|
21
|
-
import {
|
|
21
|
+
import {
|
|
22
|
+
Menu as MuiMenu,
|
|
23
|
+
Popover as MuiPopover,
|
|
24
|
+
PopoverOrigin,
|
|
25
|
+
} from "@mui/material";
|
|
22
26
|
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
27
|
+
import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext";
|
|
28
|
+
import { Box, buttonSizeValues, buttonVariantValues, useUniqueId } from "..";
|
|
29
|
+
import { BaseButton } from "./BaseButton";
|
|
30
|
+
import { ChevronDownIcon, MoreIcon } from "../icons.generated";
|
|
31
|
+
import { FieldComponentProps } from "../FieldComponentProps";
|
|
26
32
|
import { MenuContext, MenuContextType } from "./MenuContext";
|
|
27
|
-
import { NullElement } from "
|
|
28
|
-
import type { HtmlProps } from "
|
|
33
|
+
import { NullElement } from "../NullElement";
|
|
34
|
+
import type { HtmlProps } from "../HtmlProps";
|
|
29
35
|
|
|
30
36
|
export const menuAlignmentValues = ["left", "right"] as const;
|
|
31
37
|
|
|
32
|
-
export type
|
|
38
|
+
export type BaseMenuButtonProps = {
|
|
39
|
+
/**
|
|
40
|
+
* The button children for the triggering Button. Only available internal to Odyssey here in BaseMenuButton. If set, buttonLabel is ignored.
|
|
41
|
+
*/
|
|
42
|
+
buttonChildren?: ReactNode;
|
|
33
43
|
/**
|
|
34
44
|
* The label on the triggering Button
|
|
35
45
|
*/
|
|
@@ -38,14 +48,14 @@ export type MenuButtonProps = {
|
|
|
38
48
|
* The variant of the triggering Button
|
|
39
49
|
*/
|
|
40
50
|
buttonVariant?: (typeof buttonVariantValues)[number];
|
|
41
|
-
/**
|
|
42
|
-
* The <MenuItem> components within the Menu.
|
|
43
|
-
*/
|
|
44
|
-
children: ReactNode | NullElement;
|
|
45
51
|
/**
|
|
46
52
|
* The end Icon on the trigggering Button
|
|
47
53
|
*/
|
|
48
54
|
endIcon?: ReactElement;
|
|
55
|
+
/**
|
|
56
|
+
* Whether to omit the endIcon if not set (rather than use a default value for it based on overflow)
|
|
57
|
+
*/
|
|
58
|
+
omitEndIcon?: boolean;
|
|
49
59
|
/**
|
|
50
60
|
* The id of the Button
|
|
51
61
|
*/
|
|
@@ -71,7 +81,12 @@ export type MenuButtonProps = {
|
|
|
71
81
|
* The tooltip text for the Button if it's icon-only
|
|
72
82
|
*/
|
|
73
83
|
tooltipText?: string;
|
|
74
|
-
}
|
|
84
|
+
};
|
|
85
|
+
|
|
86
|
+
// These are split and exported separately from the above because wrappers of this (e.g. MenuButton) will
|
|
87
|
+
// want to omit buttonChildren, which they cannot do from the combined union type. Instead, they should
|
|
88
|
+
// omit from BaseMenuButtonProps, then union with the AdditionalBaseMenuButtonProps (as seen in MenuButton)
|
|
89
|
+
export type AdditionalBaseMenuButtonProps = Pick<
|
|
75
90
|
HtmlProps,
|
|
76
91
|
"ariaDescribedBy" | "ariaLabel" | "ariaLabelledBy" | "testId" | "translate"
|
|
77
92
|
> &
|
|
@@ -86,26 +101,52 @@ export type MenuButtonProps = {
|
|
|
86
101
|
Partial<Pick<HtmlProps, "ariaLabelledBy">> & {
|
|
87
102
|
buttonLabel?: undefined | "";
|
|
88
103
|
})
|
|
104
|
+
) &
|
|
105
|
+
(
|
|
106
|
+
| {
|
|
107
|
+
/**
|
|
108
|
+
* The <MenuItem> components within the Menu.
|
|
109
|
+
*/
|
|
110
|
+
children: ReactNode | NullElement;
|
|
111
|
+
/**
|
|
112
|
+
* popoverConten is disallowed if children are present
|
|
113
|
+
*/
|
|
114
|
+
popoverContent?: never;
|
|
115
|
+
}
|
|
116
|
+
| {
|
|
117
|
+
/**
|
|
118
|
+
* children is disallowed if popoverContent is present
|
|
119
|
+
*/
|
|
120
|
+
children?: never;
|
|
121
|
+
/**
|
|
122
|
+
* The content for the popover that is triggered on click.
|
|
123
|
+
*/
|
|
124
|
+
popoverContent: ReactNode | NullElement;
|
|
125
|
+
}
|
|
89
126
|
);
|
|
90
127
|
|
|
91
|
-
const
|
|
128
|
+
const BaseMenuButton = ({
|
|
92
129
|
ariaLabel,
|
|
93
130
|
ariaLabelledBy,
|
|
94
131
|
ariaDescribedBy,
|
|
132
|
+
buttonChildren,
|
|
95
133
|
buttonLabel = "",
|
|
96
134
|
buttonVariant = "secondary",
|
|
97
135
|
children,
|
|
136
|
+
popoverContent,
|
|
98
137
|
shouldCloseOnSelect = true,
|
|
99
138
|
endIcon: endIconProp,
|
|
100
139
|
id: idOverride,
|
|
101
140
|
isDisabled,
|
|
102
141
|
isOverflow,
|
|
103
142
|
menuAlignment = "left",
|
|
143
|
+
omitEndIcon = false,
|
|
104
144
|
size,
|
|
105
145
|
testId,
|
|
106
146
|
tooltipText,
|
|
107
147
|
translate,
|
|
108
|
-
}:
|
|
148
|
+
}: BaseMenuButtonProps & AdditionalBaseMenuButtonProps) => {
|
|
149
|
+
const odysseyDesignTokens = useOdysseyDesignTokens();
|
|
109
150
|
const [anchorEl, setAnchorEl] = useState<null | HTMLElement>(null);
|
|
110
151
|
|
|
111
152
|
const isOpen = Boolean(anchorEl);
|
|
@@ -134,7 +175,7 @@ const MenuButton = ({
|
|
|
134
175
|
[closeMenu, openMenu, shouldCloseOnSelect],
|
|
135
176
|
);
|
|
136
177
|
|
|
137
|
-
const endIcon = endIconProp ? (
|
|
178
|
+
const endIcon = omitEndIcon ? undefined : endIconProp ? (
|
|
138
179
|
endIconProp
|
|
139
180
|
) : isOverflow ? (
|
|
140
181
|
<MoreIcon />
|
|
@@ -162,7 +203,7 @@ const MenuButton = ({
|
|
|
162
203
|
|
|
163
204
|
return (
|
|
164
205
|
<div>
|
|
165
|
-
<
|
|
206
|
+
<BaseButton
|
|
166
207
|
ariaControls={isOpen ? `${uniqueId}-menu` : undefined}
|
|
167
208
|
ariaExpanded={isOpen ? "true" : undefined}
|
|
168
209
|
ariaHasPopup="true"
|
|
@@ -174,6 +215,7 @@ const MenuButton = ({
|
|
|
174
215
|
id={`${uniqueId}-button`}
|
|
175
216
|
isDisabled={isDisabled}
|
|
176
217
|
label={buttonLabel}
|
|
218
|
+
children={buttonChildren}
|
|
177
219
|
onClick={openMenu}
|
|
178
220
|
size={size}
|
|
179
221
|
tooltipText={tooltipText}
|
|
@@ -181,24 +223,44 @@ const MenuButton = ({
|
|
|
181
223
|
variant={buttonVariant}
|
|
182
224
|
/>
|
|
183
225
|
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
{
|
|
195
|
-
|
|
196
|
-
|
|
226
|
+
{children && (
|
|
227
|
+
<MuiMenu
|
|
228
|
+
anchorOrigin={anchorOrigin}
|
|
229
|
+
transformOrigin={transformOrigin}
|
|
230
|
+
anchorEl={anchorEl}
|
|
231
|
+
id={`${uniqueId}-menu`}
|
|
232
|
+
MenuListProps={menuListProps}
|
|
233
|
+
onClose={closeMenu}
|
|
234
|
+
open={isOpen}
|
|
235
|
+
>
|
|
236
|
+
<MenuContext.Provider value={providerValue}>
|
|
237
|
+
{children}
|
|
238
|
+
</MenuContext.Provider>
|
|
239
|
+
</MuiMenu>
|
|
240
|
+
)}
|
|
241
|
+
|
|
242
|
+
{popoverContent && (
|
|
243
|
+
<MuiPopover
|
|
244
|
+
open={isOpen}
|
|
245
|
+
anchorEl={anchorEl}
|
|
246
|
+
onClose={closeMenu}
|
|
247
|
+
anchorOrigin={anchorOrigin}
|
|
248
|
+
transformOrigin={transformOrigin}
|
|
249
|
+
>
|
|
250
|
+
<Box
|
|
251
|
+
sx={{
|
|
252
|
+
padding: odysseyDesignTokens.Spacing4,
|
|
253
|
+
}}
|
|
254
|
+
>
|
|
255
|
+
{popoverContent}
|
|
256
|
+
</Box>
|
|
257
|
+
</MuiPopover>
|
|
258
|
+
)}
|
|
197
259
|
</div>
|
|
198
260
|
);
|
|
199
261
|
};
|
|
200
262
|
|
|
201
|
-
const
|
|
202
|
-
|
|
263
|
+
const MemoizedBaseMenuButton = memo(BaseMenuButton);
|
|
264
|
+
MemoizedBaseMenuButton.displayName = "BaseMenuButton";
|
|
203
265
|
|
|
204
|
-
export {
|
|
266
|
+
export { MemoizedBaseMenuButton as BaseMenuButton };
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { memo } from "react";
|
|
14
|
+
import {
|
|
15
|
+
AdditionalBaseButtonProps,
|
|
16
|
+
BaseButton,
|
|
17
|
+
BaseButtonProps,
|
|
18
|
+
} from "./BaseButton";
|
|
19
|
+
|
|
20
|
+
export type ButtonProps = Omit<BaseButtonProps, "children"> &
|
|
21
|
+
AdditionalBaseButtonProps;
|
|
22
|
+
|
|
23
|
+
const Button = (props: ButtonProps) => {
|
|
24
|
+
return <BaseButton {...props} />;
|
|
25
|
+
};
|
|
26
|
+
|
|
27
|
+
const MemoizedButton = memo(Button);
|
|
28
|
+
MemoizedButton.displayName = "Button";
|
|
29
|
+
|
|
30
|
+
export { MemoizedButton as Button };
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { memo } from "react";
|
|
14
|
+
import {
|
|
15
|
+
AdditionalBaseMenuButtonProps,
|
|
16
|
+
BaseMenuButton,
|
|
17
|
+
BaseMenuButtonProps,
|
|
18
|
+
} from "./BaseMenuButton";
|
|
19
|
+
|
|
20
|
+
export const menuAlignmentValues = ["left", "right"] as const;
|
|
21
|
+
|
|
22
|
+
export type MenuButtonProps = Omit<
|
|
23
|
+
BaseMenuButtonProps,
|
|
24
|
+
"buttonChildren" | "omitEndIcon"
|
|
25
|
+
> &
|
|
26
|
+
AdditionalBaseMenuButtonProps;
|
|
27
|
+
|
|
28
|
+
const MenuButton = (props: MenuButtonProps) => {
|
|
29
|
+
return <BaseMenuButton {...props} />;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
const MemoizedMenuButton = memo(MenuButton);
|
|
33
|
+
MemoizedMenuButton.displayName = "MenuButton";
|
|
34
|
+
|
|
35
|
+
export { MemoizedMenuButton as MenuButton };
|
|
@@ -18,7 +18,7 @@ import { menuItemClasses } from "@mui/material/MenuItem";
|
|
|
18
18
|
import { memo, useCallback, useContext, type ReactNode } from "react";
|
|
19
19
|
|
|
20
20
|
import { MenuContext } from "./MenuContext";
|
|
21
|
-
import type { HtmlProps } from "
|
|
21
|
+
import type { HtmlProps } from "../HtmlProps";
|
|
22
22
|
|
|
23
23
|
export type MenuItemProps = {
|
|
24
24
|
/**
|
|
@@ -77,6 +77,7 @@ const MenuItem = ({
|
|
|
77
77
|
|
|
78
78
|
return (
|
|
79
79
|
<MuiMenuItem
|
|
80
|
+
aria-current={isSelected}
|
|
80
81
|
/* eslint-disable-next-line jsx-a11y/no-autofocus */
|
|
81
82
|
autoFocus={hasInitialFocus}
|
|
82
83
|
className={
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
export {
|
|
14
|
+
buttonSizeValues,
|
|
15
|
+
buttonTypeValues,
|
|
16
|
+
buttonVariantValues,
|
|
17
|
+
} from "./BaseButton";
|
|
18
|
+
export * from "./Button";
|
|
19
|
+
export * from "./ButtonContext";
|
|
20
|
+
export { menuAlignmentValues } from "./BaseMenuButton";
|
|
21
|
+
export * from "./MenuButton";
|
|
22
|
+
export * from "./MenuItem";
|
package/src/Card.tsx
CHANGED
|
@@ -24,10 +24,8 @@ import {
|
|
|
24
24
|
} from "@mui/material";
|
|
25
25
|
import styled from "@emotion/styled";
|
|
26
26
|
|
|
27
|
-
import { Button } from "./
|
|
28
|
-
import { ButtonContext } from "./ButtonContext";
|
|
27
|
+
import { Button, ButtonContext, MenuButton, MenuButtonProps } from "./Buttons";
|
|
29
28
|
import { MoreIcon } from "./icons.generated";
|
|
30
|
-
import { MenuButton, MenuButtonProps } from "./MenuButton";
|
|
31
29
|
import {
|
|
32
30
|
DesignTokens,
|
|
33
31
|
useOdysseyDesignTokens,
|