@okta/odyssey-react-mui 1.45.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/Callout.cjs +3 -27
- package/dist/cjs/Callout.cjs.map +1 -1
- package/dist/cjs/Card.cjs +2 -2
- 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/DataCard.cjs +2 -2
- 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/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/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/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 +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_cs.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_da.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs +6 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_de.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_el.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_es.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_eu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_fi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_fr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ht.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_hu.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_id.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_it.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ja.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ko.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ms.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_nb.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_nl_NL.cjs +5 -0
- 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 +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_pl.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_pt_BR.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ro.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_ru.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_sv.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_th.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_tr.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_uk.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs +5 -0
- package/dist/cjs/properties/ts/odyssey-react-mui_vi.cjs.map +1 -1
- package/dist/cjs/properties/ts/odyssey-react-mui_zh_CN.cjs +5 -0
- 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 +5 -0
- 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 -5
- package/dist/cjs/theme/components.cjs.map +1 -1
- 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/WideUiShellContent.cjs +2 -1
- package/dist/cjs/ui-shell/WideUiShellContent.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/Callout.js +1 -25
- package/dist/esm/Callout.js.map +1 -1
- package/dist/esm/Card.js +1 -1
- 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/{assets/uiShellSharedConstants-DD9UP82e.js → esm/i18n.generated/i18n.types.js} +3 -1
- 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/DataCard.js +1 -1
- 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/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/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/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 +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_cs.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_da.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_da.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_de.js +6 -1
- package/dist/esm/properties/ts/odyssey-react-mui_de.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_el.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_el.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_es.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_es.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_eu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_fi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_fr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ht.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_hu.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_id.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_id.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_it.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_it.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ja.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ko.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ms.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_nb.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_nl_NL.js +5 -0
- 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 +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_pl.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ro.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_ru.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_sv.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_th.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_th.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_tr.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_uk.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js +5 -0
- package/dist/esm/properties/ts/odyssey-react-mui_vi.js.map +1 -1
- package/dist/esm/properties/ts/odyssey-react-mui_zh_CN.js +5 -0
- 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 +5 -0
- 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/{types/shadow-dom/index.d.ts → esm/test-selectors/TabsTestSelector.js} +22 -2
- 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 -5
- package/dist/esm/theme/components.js.map +1 -1
- 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/WideUiShellContent.js +2 -1
- package/dist/esm/ui-shell/WideUiShellContent.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/Callout.d.ts +0 -24
- package/dist/types/Callout.d.ts.map +1 -1
- 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/DataCard.d.ts.map +1 -1
- package/dist/types/labs/DataView/RowActions.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/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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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 -128
- 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/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.map +1 -1
- package/dist/types/ui-shell/WideUiShellContent.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/{assets/useMountLifecycleEffect-CjsUCFhB.js → types/web-component/removeGlobalStylesFromShadowDom.d.ts} +9 -2
- 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 +24 -15
- package/dist/appswitcher/admin-app-default.svg +0 -6
- package/dist/appswitcher/admin-app-selected.svg +0 -6
- package/dist/appswitcher/aerial-default.svg +0 -7
- package/dist/appswitcher/aerial-selected.svg +0 -7
- package/dist/appswitcher/okta-dashboard-default.svg +0 -7
- package/dist/appswitcher/okta-dashboard-selected.svg +0 -7
- package/dist/appswitcher/privileged-access-default.svg +0 -4
- package/dist/appswitcher/privileged-access-selected.svg +0 -4
- package/dist/appswitcher/workflows-default.svg +0 -5
- package/dist/appswitcher/workflows-selected.svg +0 -5
- package/dist/assets/Accordion-DLG6nIhh.js +0 -1
- package/dist/assets/Accordion.stories-VjVp52QD.js +0 -85
- package/dist/assets/AccordionSummary-xCoGLMoL.js +0 -1
- package/dist/assets/AlertTitle-DlG4YQWR.js +0 -1
- package/dist/assets/AppSwitcher-D7UlQ3S8.js +0 -21
- package/dist/assets/AppSwitcher.stories-Dv0DHDxk.js +0 -100
- package/dist/assets/AppTile _labs_.stories-CgXIqWmJ.js +0 -136
- package/dist/assets/ArrowDropDown-bSngWMh1.js +0 -1
- package/dist/assets/ArrowRight-DCIAiEpA.js +0 -1
- package/dist/assets/Autocomplete-MfScEzbR.js +0 -1
- package/dist/assets/Autocomplete-UE4wqxn0.js +0 -1
- package/dist/assets/Autocomplete.stories-CCtQosYH.js +0 -316
- package/dist/assets/Badge-DL9N0uiE.js +0 -11
- package/dist/assets/Banner-C66lWD3c.js +0 -1
- package/dist/assets/Banner.stories-D6KqnSl2.js +0 -74
- package/dist/assets/BaseButton-B5c4cgt8.js +0 -11
- package/dist/assets/BaseMenuButton-DbGGXXbP.js +0 -1
- package/dist/assets/Box-BCBP3C7Q.js +0 -1
- package/dist/assets/Box-BXOPvc0Q.js +0 -1
- package/dist/assets/Box-C2ekHaOu.js +0 -1
- package/dist/assets/Box-C_Qfmw-_.js +0 -11
- package/dist/assets/Box.stories-uaYeF2xg.js +0 -38
- package/dist/assets/Breadcrumbs-Qzfi3j0j.js +0 -6
- package/dist/assets/Breadcrumbs.stories-CHIGnsjh.js +0 -79
- package/dist/assets/Bug-m6zinguF.js +0 -1
- package/dist/assets/Button-BOzIr8Jh.js +0 -11
- package/dist/assets/Button-BqwcAVQ-.js +0 -1
- package/dist/assets/Button-Cf49fWiK.js +0 -31
- package/dist/assets/Button.stories-Db-QptTh.js +0 -271
- package/dist/assets/ButtonBase-BqXVk-1q.js +0 -74
- package/dist/assets/Calendar-CuqjwSb0.js +0 -1
- package/dist/assets/Callout-CaNoXhaj.js +0 -1
- package/dist/assets/Callout.stories-D2csAs8g.js +0 -105
- package/dist/assets/Card-B5eIV1vH.js +0 -1
- package/dist/assets/Card-Bfg-qZM7.js +0 -8
- package/dist/assets/Card.stories-BTaeWH4V.js +0 -129
- package/dist/assets/CardActionArea-yvoWcAsF.js +0 -1
- package/dist/assets/Check-BmyOKfcL.js +0 -1
- package/dist/assets/Checkbox-BTj1hXUa.js +0 -1
- package/dist/assets/Checkbox-luq82K1t.js +0 -1
- package/dist/assets/Checkbox.stories-ChhXQBH_.js +0 -96
- package/dist/assets/CheckboxGroup-Cgc2chES.js +0 -1
- package/dist/assets/CheckboxGroup.stories-DpGwHWla.js +0 -81
- package/dist/assets/ChevronDown-BnAWuc8V.js +0 -1
- package/dist/assets/ChevronRight-BB0bQIRj.js +0 -1
- package/dist/assets/ChevronUp-B9JV-jmd.js +0 -1
- package/dist/assets/Chip-BOK8DR8m.js +0 -1
- package/dist/assets/CircularProgress-DNk4kmx6.js +0 -28
- package/dist/assets/CircularProgress-Ur28_31H.js +0 -1
- package/dist/assets/CircularProgress.stories-gv9B0XLW.js +0 -44
- package/dist/assets/Clock-Byj5V_49.js +0 -1
- package/dist/assets/Close-DA7fBExu.js +0 -1
- package/dist/assets/Close-DA_Sph0R.js +0 -1
- package/dist/assets/CloseCircleFilled-D2aBlgBe.js +0 -1
- package/dist/assets/Code Styling Guidelines-CAzyRuHZ.js +0 -14
- package/dist/assets/Collapse-P1H1b4lO.js +0 -1
- package/dist/assets/Color-YHDXOIA2-CcHVwBQP.js +0 -1
- package/dist/assets/CssBaseline-C3xNeK8b.js +0 -1
- package/dist/assets/CssBaseline-CUjr0ON2.js +0 -190
- package/dist/assets/CssBaseline.stories-DgXaUmIC.js +0 -402
- package/dist/assets/Custom Theming-CKloJLS_.js +0 -136
- package/dist/assets/Custom Theming.stories-BHdYhCs2.js +0 -93
- package/dist/assets/DataFilters _labs_-D3S2uNi-.js +0 -55
- package/dist/assets/DataFilters _labs_.stories-RwWZVkCe.js +0 -31
- package/dist/assets/DataFilters-DVey1xPT.js +0 -1
- package/dist/assets/DataTable _labs_-CtXARbkP.js +0 -41
- package/dist/assets/DataTable _labs_.stories-U7XFYtR6.js +0 -21
- package/dist/assets/DataTable-CkACYzFJ.js +0 -404
- package/dist/assets/DataTable-CnCWIOTw.js +0 -21
- package/dist/assets/DataTable.stories-Db2HEmax.js +0 -438
- package/dist/assets/DataView _labs_-DZnmSNME.js +0 -332
- package/dist/assets/DataView _labs_.stories-CusuCHkc.js +0 -438
- package/dist/assets/DataView-BQBP0FCs.js +0 -101
- package/dist/assets/DatePicker-DIRg7n4d.js +0 -1
- package/dist/assets/DatePicker.stories-BPWj6DxY.js +0 -143
- package/dist/assets/DateTimePicker-CnXcHc5u.js +0 -1
- package/dist/assets/DateTimePicker.stories-nLmYctur.js +0 -168
- package/dist/assets/DefaultPropsProvider-B7tpShA7.js +0 -9
- package/dist/assets/Design Tokens-BxQ2eYvg.js +0 -4
- package/dist/assets/Dialog-BIM-1Zvj.js +0 -1
- package/dist/assets/Dialog.stories-D2UYs9Hc.js +0 -201
- package/dist/assets/DialogContent-C_FnZ5ZS.js +0 -1
- package/dist/assets/DialogTitle-CLDQZ0bg.js +0 -1
- package/dist/assets/Divider-CsWa3KCo.js +0 -1
- package/dist/assets/DocsRenderer-CFRXHY34-DEwq8OPY.js +0 -2
- package/dist/assets/Documentation-DM1hawvn.js +0 -1
- package/dist/assets/Download-Cp75oFKP.js +0 -1
- package/dist/assets/Drawer-Dg44iOBm.js +0 -27
- package/dist/assets/Drawer.stories-DRGYC84s.js +0 -95
- package/dist/assets/EmptyState-DQoihCwU.js +0 -11
- package/dist/assets/EmptyState.stories-C8kkt-lH.js +0 -11
- package/dist/assets/ExampleButton.stories-BKxnZulW.js +0 -11
- package/dist/assets/Extending Translations-BnOA8j0s.js +0 -146
- package/dist/assets/ExternalLink-DTdulgUc.js +0 -1
- package/dist/assets/Field-ilPS333M.js +0 -11
- package/dist/assets/FieldHint-Cv7aMlpU.js +0 -1
- package/dist/assets/Fieldset-CmtxEykF.js +0 -11
- package/dist/assets/Fieldset.stories-CeV3XwQn.js +0 -15
- package/dist/assets/FileUploader.stories-CmC83k5u.js +0 -58
- package/dist/assets/Filter-BAXcmMyf.js +0 -1
- package/dist/assets/Folder-Ddku_ujr.js +0 -1
- package/dist/assets/Form Field Accessibility-bATJbTW6.js +0 -18
- package/dist/assets/Form-CBnvE26F.js +0 -11
- package/dist/assets/Form.stories-Eg4GUI1C.js +0 -69
- package/dist/assets/FormControlLabel-CxCmH5hv.js +0 -1
- package/dist/assets/FormGroup-BaCH3e06.js +0 -1
- package/dist/assets/FormHelperText-ZkUAjajs.js +0 -1
- package/dist/assets/FormLabel-BLeax9q3.js +0 -1
- package/dist/assets/Generating Icons-CY4QgHRK.js +0 -16
- package/dist/assets/GlobalStyles-BxDN_5FT.js +0 -1
- package/dist/assets/Globe--OQ55RD1.js +0 -1
- package/dist/assets/Grid-B2PgWvdd.js +0 -1
- package/dist/assets/Group-W0XqkWVH.js +0 -1
- package/dist/assets/GroupPicker _labs_.stories-CP9ogL4g.js +0 -33
- package/dist/assets/Grow-CIie3qhp.js +0 -1
- package/dist/assets/Hide-RfKmYLNv.js +0 -1
- package/dist/assets/Home-BXMRmOIu.js +0 -1
- package/dist/assets/Icon _icons_.stories-CfG9aDh6.js +0 -16
- package/dist/assets/IconButton-CK9Do7vj.js +0 -1
- package/dist/assets/IconWithTooltip _icons_.stories-BriwOCod.js +0 -19
- package/dist/assets/InformationCircle-B71JRUfK.js +0 -1
- package/dist/assets/InputAdornment-CFgP75Dd.js +0 -1
- package/dist/assets/InputBase--xDu7aWm.js +0 -2
- package/dist/assets/Installing odyssey-react-mui-FI77Ty6y.js +0 -195
- package/dist/assets/Introduction-B_2OeBP6.js +0 -46
- package/dist/assets/Layout-Bojn6-Uj.js +0 -11
- package/dist/assets/Layout.stories-BN7leK7P.js +0 -217
- package/dist/assets/Legacy Migrations-eiPSj0S4.js +0 -86
- package/dist/assets/Link-ClKgpBXG.js +0 -1
- package/dist/assets/Link-DTvs7F4J.js +0 -11
- package/dist/assets/Link.stories-GP1qln9R.js +0 -43
- package/dist/assets/List-0o0OI1E9.js +0 -1
- package/dist/assets/List-W5kRT_jR.js +0 -1
- package/dist/assets/ListContext-C02XM7tn.js +0 -1
- package/dist/assets/ListItem-CcduKzQu.js +0 -1
- package/dist/assets/ListSubheader-DXKE8lW0.js +0 -1
- package/dist/assets/Menu-CGJO1mMf.js +0 -1
- package/dist/assets/MenuButton-DeZSGuxY.js +0 -9
- package/dist/assets/MenuButton-OjJFnmOD.js +0 -11
- package/dist/assets/MenuButton.stories-C8xNZymc.js +0 -246
- package/dist/assets/MenuContext-DKMyPMNY.js +0 -11
- package/dist/assets/MenuItem-CuP47MJ-.js +0 -1
- package/dist/assets/MenuItem-DjSqFwdt.js +0 -1
- package/dist/assets/MenuItem.stories-Cc5X-FtZ.js +0 -29
- package/dist/assets/MenuList-BboivbXC.js +0 -1
- package/dist/assets/Modal-CW5mOzJG.js +0 -1
- package/dist/assets/More-axx2rGKU.js +0 -1
- package/dist/assets/MuiPropsContext-DhRylJZk.js +0 -11
- package/dist/assets/NativeSelect.stories-D8Y2ITgz.js +0 -173
- package/dist/assets/OdysseyDesignTokensContext-BWQIA5ie.js +0 -11
- package/dist/assets/OdysseyProvider-BQyPcEvx.js +0 -41
- package/dist/assets/OdysseyProvider-BjO4GObW.js +0 -280
- package/dist/assets/OdysseyStorybookThemeDecorator-DginBfEq.js +0 -1
- package/dist/assets/OdysseyThemeProvider-aR5shtx6.js +0 -117
- package/dist/assets/PageHeader.stories-CtAENr0_.js +0 -90
- package/dist/assets/PageHeader.stories-WaRXuLcH.js +0 -17
- package/dist/assets/PageTemplate _labs_-CUXvNJxx.js +0 -8
- package/dist/assets/PageTemplate _labs_.stories-BVKInLfu.js +0 -306
- package/dist/assets/PageTemplate-DOXk_uAG.js +0 -21
- package/dist/assets/PaginatedTable _labs_.stories-Bet6WnQV.js +0 -65
- package/dist/assets/Pagination-CgxBDBwQ.js +0 -11
- package/dist/assets/Pagination.stories-7dUsTYEf.js +0 -17
- package/dist/assets/Paper-DbAuDGNI.js +0 -1
- package/dist/assets/PasswordField.stories-Bclv9Lsw.js +0 -129
- package/dist/assets/Picker _labs_.stories-Dzo7T9_p.js +0 -18
- package/dist/assets/PickerWithOptionAdornment _labs_.stories-C1ftphm9.js +0 -70
- package/dist/assets/PlaceholderLogo-JfVvgA23.js +0 -11
- package/dist/assets/Popper-CwLH-7YW.js +0 -1
- package/dist/assets/Portal-Bvf2g5iG.js +0 -1
- package/dist/assets/Radio-Bi1_KmSD.js +0 -1
- package/dist/assets/Radio-D85jg1Ri.js +0 -1
- package/dist/assets/Radio.stories-BrLSJa7w.js +0 -63
- package/dist/assets/RadioGroup-6XgStuIE.js +0 -10
- package/dist/assets/RadioGroup-BS6oYUQf.js +0 -1
- package/dist/assets/RadioGroup.stories-BcEJF09Q.js +0 -127
- package/dist/assets/Refresh-CPgGX1hz.js +0 -1
- package/dist/assets/Right-to-Left (RTL)-BK9_DI66.js +0 -62
- package/dist/assets/ScopedCssBaseline-FivWKbYZ.js +0 -1
- package/dist/assets/ScreenReaderText-DCDUyE9Y.js +0 -15
- package/dist/assets/ScreenReaderText-vq7_Ob_I.js +0 -1
- package/dist/assets/ScreenReaderText.stories-BZinu6VX.js +0 -8
- package/dist/assets/Search-BvCmvJcV.js +0 -1
- package/dist/assets/SearchDropdown _labs_.stories-CYbt2vgf.js +0 -53
- package/dist/assets/SearchField-jc9ws93I.js +0 -1
- package/dist/assets/SearchField.stories-3apxQKjy.js +0 -37
- package/dist/assets/Select-DVJCNQIV.js +0 -1
- package/dist/assets/Select.stories-Dnr0InYf.js +0 -293
- package/dist/assets/Server-F8KLZq7d.js +0 -1
- package/dist/assets/Settings-DjrryuBd.js +0 -1
- package/dist/assets/Shadow DOM-ErMvgTrT.js +0 -64
- package/dist/assets/Show-qQzUH4Sq.js +0 -1
- package/dist/assets/SideNav-CCPZq2Bh.js +0 -85
- package/dist/assets/SideNav-Duwk1--M.js +0 -125
- package/dist/assets/SideNav.stories-CHEyk4wu.js +0 -207
- package/dist/assets/Skeleton-BJLiCr2o.js +0 -51
- package/dist/assets/Stack-Ba8l39se.js +0 -1
- package/dist/assets/Stack.stories-CBatf2Aw.js +0 -1
- package/dist/assets/StaticTable _labs_.stories-HuypNvo4.js +0 -34
- package/dist/assets/Status-BYBMXN_H.js +0 -1
- package/dist/assets/Status.stories-C3BLGCGc.js +0 -66
- package/dist/assets/SvgIcon-BQAg6Jm7.js +0 -1
- package/dist/assets/Switch.stories-zEk8HMOP.js +0 -61
- package/dist/assets/SwitchBase-Bja5dn-O.js +0 -1
- package/dist/assets/Sync-Bmam4Lr_.js +0 -1
- package/dist/assets/Tabs-BEhcVkzW.js +0 -23
- package/dist/assets/Tabs-Buvkuz1V.js +0 -1
- package/dist/assets/Tabs-ChAj4m0g.js +0 -1
- package/dist/assets/Tabs.stories-BwOqe_a_.js +0 -100
- package/dist/assets/Tag-CjPSrGAL.js +0 -11
- package/dist/assets/Tag.stories-D1YMwKB7.js +0 -96
- package/dist/assets/TagList-BQKiA1TW.js +0 -1
- package/dist/assets/TextField-CZ0hstP2.js +0 -1
- package/dist/assets/TextField.stories-BVJr2VmB.js +0 -149
- package/dist/assets/Toast.stories-aIKtHa18.js +0 -134
- package/dist/assets/ToastManager.stories-Bst-XOOh.js +0 -269
- package/dist/assets/Tooltip-3088PjcT.js +0 -11
- package/dist/assets/Tooltip-B4GIR2eB.js +0 -1
- package/dist/assets/Tooltip.stories-GU5ZWKSu.js +0 -68
- package/dist/assets/TopNav-CWVyy01x.js +0 -11
- package/dist/assets/TopNav.stories-CIdyN7Ai.js +0 -13
- package/dist/assets/Trans-DZ9nii1x.js +0 -1
- package/dist/assets/TransitionGroup-BBx_tHs0.js +0 -9
- package/dist/assets/TransitionGroupContext-BMO0EZjQ.js +0 -9
- package/dist/assets/TransitionGroupContext-twgBS-Q3.js +0 -1
- package/dist/assets/Typography-BTrM-f_f.js +0 -9
- package/dist/assets/Typography-CiNRLenM.js +0 -1
- package/dist/assets/Typography-D7-qxuiy.js +0 -1
- package/dist/assets/Typography.stories-DOm50jIe.js +0 -139
- package/dist/assets/UiShell.stories-CcRPnzQe.js +0 -531
- package/dist/assets/UiShellProvider-D1w1Ocw9.js +0 -31
- package/dist/assets/Upload-DK3nRIto.js +0 -1
- package/dist/assets/User-BBdPovZN.js +0 -1
- package/dist/assets/UserProfile-xXh984n9.js +0 -11
- package/dist/assets/UserProfile.stories-cf7P_USw.js +0 -14
- package/dist/assets/UserProfileMenuButton.stories-DQvKwLs8.js +0 -30
- package/dist/assets/Video-DytabcyM.js +0 -1
- package/dist/assets/WarningFilled-Y3Vw7n_w.js +0 -1
- package/dist/assets/_commonjsHelpers-gnU0ypJ3.js +0 -1
- package/dist/assets/alertTitleClasses-CSPeaunQ.js +0 -1
- package/dist/assets/assertThisInitialized-B9jnkVVz.js +0 -1
- package/dist/assets/autocompleteClasses-Bi4FgC8v.js +0 -1
- package/dist/assets/axe-UFrR6cCR.js +0 -30
- package/dist/assets/axeRun-BfHtukUP.js +0 -40
- package/dist/assets/buttonBaseClasses-CSPKg76d.js +0 -1
- package/dist/assets/buttonClasses-DtIJBSf4.js +0 -1
- package/dist/assets/checkboxClasses-Dtdq1kQG.js +0 -1
- package/dist/assets/chipClasses-BMWKl3Eu.js +0 -1
- package/dist/assets/chunk-XP5HYGXS-BpfKkqn7.js +0 -1
- package/dist/assets/client-akVMpN0m.js +0 -1
- package/dist/assets/colorManipulator-O7SU8zMv.js +0 -1
- package/dist/assets/constants-CyailK6t.js +0 -11
- package/dist/assets/context-D_qJ2zXV.js +0 -1
- package/dist/assets/createChainedFunction-BO_9K8Jh.js +0 -1
- package/dist/assets/createSvgIcon-DiC7XVU3.js +0 -1
- package/dist/assets/createTheme-BmPXDA4p.js +0 -8
- package/dist/assets/createUniqueId-ByTaVY63.js +0 -1
- package/dist/assets/debounce-Be36O1Ab.js +0 -1
- package/dist/assets/emotion-react-jsx-runtime.browser.esm-B2sVIsIq.js +0 -1
- package/dist/assets/emotion-styled.browser.esm-Bcn7fuYX.js +0 -1
- package/dist/assets/entry-preview-4ElqUVRP.js +0 -2
- package/dist/assets/entry-preview-docs-BKXv92OK.js +0 -46
- package/dist/assets/fieldComponentPropsMetaData-BqbNLw6V.js +0 -11
- package/dist/assets/formControlLabelClasses-BtjP4uib.js +0 -1
- package/dist/assets/formGroupClasses-D9ChLj7o.js +0 -1
- package/dist/assets/formLabelClasses-xMgYguuN.js +0 -1
- package/dist/assets/generateUtilityClasses-DYvjsuMV.js +0 -1
- package/dist/assets/getScrollbarSize-Bqq2hMjQ.js +0 -1
- package/dist/assets/i18n-DmkmAJlT.js +0 -11
- package/dist/assets/i18next-DbMy2do-.js +0 -1
- package/dist/assets/iconUtils-Cxr8mVIA.js +0 -11
- package/dist/assets/iframe-C-RQ_TKY.js +0 -211
- package/dist/assets/index-B5xazMy1.js +0 -1
- package/dist/assets/index-B885ELRa.js +0 -1
- package/dist/assets/index-BJMTVygn.js +0 -240
- package/dist/assets/index-BJTM6NaI.js +0 -192
- package/dist/assets/index-BeeV6X6A.js +0 -1
- package/dist/assets/index-BpVuOoKb.js +0 -384
- package/dist/assets/index-BzN0w9dc.js +0 -1
- package/dist/assets/index-CDGerSbe.js +0 -1
- package/dist/assets/index-CXQShRbs.js +0 -8
- package/dist/assets/index-CpbQl8EB.js +0 -1
- package/dist/assets/index-CtY5BB1N.js +0 -1
- package/dist/assets/index-DieBXP3Z.js +0 -24
- package/dist/assets/index-DrFu-skq.js +0 -6
- package/dist/assets/index-NdkWRN8K.js +0 -9
- package/dist/assets/index.esm-D7MwfoQM.js +0 -138
- package/dist/assets/index.modern-CkASn_bb.js +0 -14
- package/dist/assets/inheritsLoose-CWawPfk8.js +0 -1
- package/dist/assets/inputAdornmentClasses-DYNxkEwO.js +0 -1
- package/dist/assets/inputBaseClasses-PAjj3ZBN.js +0 -1
- package/dist/assets/inputUtils-Dbi8XkA6.js +0 -11
- package/dist/assets/isHostComponent-DVu5iVWx.js +0 -1
- package/dist/assets/jsx-runtime-CnH95YSl.js +0 -9
- package/dist/assets/matchers-7Z3WT2CE-T3xScrR7.js +0 -14
- package/dist/assets/menuItemClasses-DFm3-Sf1.js +0 -1
- package/dist/assets/ownerDocument-DW-IO8s5.js +0 -1
- package/dist/assets/ownerWindow-HkKU3E4x.js +0 -1
- package/dist/assets/personData-CZJz4n06.js +0 -1
- package/dist/assets/personData-Ci-ru1S9.js +0 -11
- package/dist/assets/pickerComponentPropsMetadata-C9L3AhmF.js +0 -21
- package/dist/assets/popper-CMBiYTiD.js +0 -1
- package/dist/assets/preview-B-jDHJEN.js +0 -1
- package/dist/assets/preview-B8lJiyuQ.js +0 -34
- package/dist/assets/preview-BBWR9nbA.js +0 -1
- package/dist/assets/preview-BWzBA1C2.js +0 -396
- package/dist/assets/preview-BzLY45Eo.js +0 -2
- package/dist/assets/preview-CYp4EYYZ.js +0 -1
- package/dist/assets/preview-CeHM5zqH.js +0 -2
- package/dist/assets/preview-CvbIS5ZJ.js +0 -1
- package/dist/assets/preview-DGUiP6tS.js +0 -7
- package/dist/assets/preview-DHQbi4pV.js +0 -1
- package/dist/assets/preview-D_z0Z5cB.js +0 -1
- package/dist/assets/preview-MBifGIx_.js +0 -1
- package/dist/assets/queryOdysseySelector-B27JCf-A.js +0 -151
- package/dist/assets/radioClasses-f3ayyf7y.js +0 -1
- package/dist/assets/react-18-CxBTDaIe.js +0 -1
- package/dist/assets/resolveComponentProps-DMpKAZvD.js +0 -1
- package/dist/assets/tableRowClasses-inqOIkjd.js +0 -1
- package/dist/assets/test-utils-H9lH7T5D.js +0 -9
- package/dist/assets/tooltipClasses-C74HjonW.js +0 -1
- package/dist/assets/typographyClasses-D8vr2n3l.js +0 -1
- package/dist/assets/useAutocomplete-C7VK9p4p.js +0 -11
- package/dist/assets/useContrastMode-BthoHtLy.js +0 -21
- package/dist/assets/useControlled-NQulfz4l.js +0 -1
- package/dist/assets/useFormControl-BMISTZuX.js +0 -1
- package/dist/assets/useId-cMcvCE23.js +0 -1
- package/dist/assets/useId-kSseQ0DW.js +0 -1
- package/dist/assets/useIsFocusVisible-DH0qxT5e.js +0 -1
- package/dist/assets/useMobilePicker-CfUl5sFz.js +0 -6
- package/dist/assets/useOdysseyDateFields-DQkQFY7w.js +0 -61
- package/dist/assets/useScrollIndication-BJW9jXaC.js +0 -31
- package/dist/assets/useSlot-F4Qz2Wzp.js +0 -1
- package/dist/assets/useTheme-C05bJKih.js +0 -1
- package/dist/assets/useThemeProps-BG38P4ul.js +0 -1
- package/dist/assets/useThemeProps-Dy5sAWyz.js +0 -1
- package/dist/assets/useTranslation-vEf1lqoc.js +0 -1
- package/dist/assets/useUniqueId-Bsgqe1tm.js +0 -11
- package/dist/assets/utils-gq6yExow.js +0 -1
- package/dist/assets/utils-iop7lDec.js +0 -1
- package/dist/assets/v4-BOvFkHkt.js +0 -1
- package/dist/assets/visuallyHidden-Dan1xhjv.js +0 -1
- 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/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/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/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/favicon.svg +0 -1
- package/dist/iframe.html +0 -747
- package/dist/index.cjs +0 -231
- package/dist/index.d.ts +0 -233
- package/dist/index.d.ts.map +0 -1
- package/dist/index.html +0 -203
- package/dist/index.js +0 -25
- package/dist/index.json +0 -1
- package/dist/index.mjs +0 -229
- package/dist/index.scss +0 -549
- package/dist/nunito-sans-bold-italic.woff2 +0 -0
- package/dist/nunito-sans-bold.woff2 +0 -0
- package/dist/nunito-sans-italic.woff2 +0 -0
- package/dist/nunito-sans-regular.woff2 +0 -0
- package/dist/project.json +0 -1
- package/dist/sb-addons/a11y-3/manager-bundle.js +0 -220
- package/dist/sb-addons/docs-1/manager-bundle.js +0 -242
- package/dist/sb-addons/essentials-actions-5/manager-bundle.js +0 -3
- package/dist/sb-addons/essentials-backgrounds-6/manager-bundle.js +0 -12
- package/dist/sb-addons/essentials-controls-4/manager-bundle.js +0 -402
- package/dist/sb-addons/essentials-measure-9/manager-bundle.js +0 -3
- package/dist/sb-addons/essentials-outline-10/manager-bundle.js +0 -3
- package/dist/sb-addons/essentials-toolbars-8/manager-bundle.js +0 -3
- package/dist/sb-addons/essentials-viewport-7/manager-bundle.js +0 -3
- package/dist/sb-addons/interactions-11/manager-bundle.js +0 -222
- package/dist/sb-addons/links-2/manager-bundle.js +0 -3
- package/dist/sb-addons/rtl-12/manager-bundle.js +0 -3
- package/dist/sb-addons/storybook-13/manager-bundle.js +0 -3
- package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +0 -3
- package/dist/sb-common-assets/favicon.svg +0 -1
- package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
- package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
- package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
- package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
- package/dist/sb-manager/globals-module-info.js +0 -1052
- package/dist/sb-manager/globals-runtime.js +0 -42127
- package/dist/sb-manager/globals.js +0 -48
- package/dist/sb-manager/runtime.js +0 -12048
- package/dist/tsconfig.tsbuildinfo +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/i18n.d.ts +0 -3937
- package/dist/types/shadow-dom/index.d.ts.map +0 -1
- package/dist/types/shadow-dom/shadow-dom.d.ts.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"PasswordField.js","names":["forwardRef","memo","useCallback","useImperativeHandle","useRef","useState","useTranslation","Field","HideIcon","ShowIcon","getControlState","useInputValues","jsx","_jsx","PasswordField","ariaDescribedBy","autoCompleteType","defaultValue","errorMessage","errorMessageList","hasInitialFocus","hint","id","idOverride","inputRef","isDisabled","isFullWidth","isOptional","hasShowPassword","isReadOnly","label","name","nameOverride","onChange","onChangeProp","onFocus","onBlur","placeholder","testId","translate","value","ref","t","inputType","setInputType","togglePasswordVisibility","controlledStateRef","controlledValue","uncontrolledValue","inputValues","controlState","current","localInputRef","focus","event","renderFieldComponent","errorMessageElementId","labelElementId","_InputBase","autoComplete","autoFocus","endAdornment","_InputAdornment","position","children","_IconButton","onClick","inputProps","role","readOnly","required","type","fieldType","hasVisibleLabel","MemoizedPasswordField","displayName"],"sources":["../../src/PasswordField.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 { IconButton, InputAdornment, InputBase } from \"@mui/material\";\nimport {\n ChangeEventHandler,\n FocusEventHandler,\n forwardRef,\n memo,\n useCallback,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { HideIcon, ShowIcon } from \"./icons.generated/index.js\";\nimport { FocusHandle, getControlState, useInputValues } from \"./inputUtils.js\";\n\nexport type PasswordFieldProps = {\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoCompleteType?: \"current-password\" | \"new-password\";\n /**\n * initial value for input. Use when component in uncontrolled.\n */\n defaultValue?: string;\n /**\n * If `true`, the component will receive focus automatically.\n */\n hasInitialFocus?: boolean;\n /**\n * If `true`, the show/hide icon is not shown to the user\n */\n hasShowPassword?: boolean;\n /**\n * The ref forwarded to the TextField\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * The label for the `input` element.\n */\n label: string;\n /**\n * Callback fired when the `input` element loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * Callback fired when the value is changed.\n */\n onChange?: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;\n /**\n * Callback fired when the `input` element get focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder?: string;\n /**\n * The value of the `input` element. Use when component is controlled.\n */\n value?: string;\n} & FieldComponentProps &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype FieldRenderProps = Partial<\n Pick<FieldComponentRenderProps, \"ariaDescribedBy\" | \"errorMessageElementId\">\n> &\n Pick<FieldComponentRenderProps, \"id\" | \"labelElementId\">;\n\nconst PasswordField = forwardRef<HTMLInputElement, PasswordFieldProps>(\n (\n {\n ariaDescribedBy,\n autoCompleteType,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasInitialFocus,\n hint,\n id: idOverride,\n inputRef,\n isDisabled = false,\n isFullWidth = false,\n isOptional = false,\n hasShowPassword = true,\n isReadOnly,\n label,\n name: nameOverride,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n placeholder,\n testId,\n translate,\n value,\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [inputType, setInputType] = useState(\"password\");\n\n const togglePasswordVisibility = useCallback(() => {\n setInputType((inputType) =>\n inputType === \"password\" ? \"text\" : \"password\",\n );\n }, []);\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const localInputRef = useRef<HTMLInputElement>(null);\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n const onChange = useCallback<\n ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>\n >(\n (event) => {\n onChangeProp?.(event);\n },\n [onChangeProp],\n );\n\n const renderFieldComponent = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: FieldRenderProps) => (\n <InputBase\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n autoComplete={inputType === \"password\" ? autoCompleteType : \"off\"}\n /* eslint-disable-next-line jsx-a11y/no-autofocus */\n autoFocus={hasInitialFocus}\n endAdornment={\n hasShowPassword && (\n <InputAdornment position=\"end\">\n <IconButton\n aria-controls={id}\n aria-label={t(\"passwordfield.icon.label.show\")}\n aria-pressed={inputType === \"text\"}\n onClick={togglePasswordVisibility}\n >\n {inputType === \"password\" ? <ShowIcon /> : <HideIcon />}\n </IconButton>\n </InputAdornment>\n )\n }\n id={id}\n inputProps={{\n \"aria-errormessage\": errorMessageElementId,\n \"aria-labelledby\": labelElementId,\n \"data-se\": testId,\n // role: \"textbox\" Added because password inputs don't have an implicit role assigned. This causes problems with element selection.\n role: \"textbox\",\n }}\n inputRef={localInputRef}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n placeholder={placeholder}\n readOnly={isReadOnly}\n ref={ref}\n required={!isOptional}\n translate={translate}\n type={inputType}\n />\n ),\n [\n autoCompleteType,\n hasInitialFocus,\n inputValues,\n t,\n togglePasswordVisibility,\n inputType,\n nameOverride,\n onChange,\n onFocus,\n onBlur,\n placeholder,\n isOptional,\n isReadOnly,\n hasShowPassword,\n ref,\n testId,\n translate,\n ],\n );\n\n return (\n <Field\n ariaDescribedBy={ariaDescribedBy}\n errorMessage={errorMessage}\n errorMessageList={errorMessageList}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n );\n },\n);\n\nconst MemoizedPasswordField = memo(PasswordField);\nMemoizedPasswordField.displayName = \"PasswordField\";\n\nexport { MemoizedPasswordField as PasswordField };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"PasswordField.js","names":["forwardRef","memo","useCallback","useImperativeHandle","useRef","useState","Field","useTranslation","HideIcon","ShowIcon","getControlState","useInputValues","jsx","_jsx","PasswordField","ariaDescribedBy","autoCompleteType","defaultValue","errorMessage","errorMessageList","hasInitialFocus","hint","id","idOverride","inputRef","isDisabled","isFullWidth","isOptional","hasShowPassword","isReadOnly","label","name","nameOverride","onChange","onChangeProp","onFocus","onBlur","placeholder","testId","translate","value","ref","t","inputType","setInputType","togglePasswordVisibility","controlledStateRef","controlledValue","uncontrolledValue","inputValues","controlState","current","localInputRef","focus","event","renderFieldComponent","errorMessageElementId","labelElementId","_InputBase","autoComplete","autoFocus","endAdornment","_InputAdornment","position","children","_IconButton","onClick","inputProps","role","readOnly","required","type","fieldType","hasVisibleLabel","MemoizedPasswordField","displayName"],"sources":["../../src/PasswordField.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 { IconButton, InputAdornment, InputBase } from \"@mui/material\";\nimport {\n ChangeEventHandler,\n FocusEventHandler,\n forwardRef,\n memo,\n useCallback,\n useImperativeHandle,\n useRef,\n useState,\n} from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { HideIcon, ShowIcon } from \"./icons.generated/index.js\";\nimport { FocusHandle, getControlState, useInputValues } from \"./inputUtils.js\";\n\nexport type PasswordFieldProps = {\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoCompleteType?: \"current-password\" | \"new-password\";\n /**\n * initial value for input. Use when component in uncontrolled.\n */\n defaultValue?: string;\n /**\n * If `true`, the component will receive focus automatically.\n */\n hasInitialFocus?: boolean;\n /**\n * If `true`, the show/hide icon is not shown to the user\n */\n hasShowPassword?: boolean;\n /**\n * The ref forwarded to the TextField\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * The label for the `input` element.\n */\n label: string;\n /**\n * Callback fired when the `input` element loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * Callback fired when the value is changed.\n */\n onChange?: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;\n /**\n * Callback fired when the `input` element get focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder?: string;\n /**\n * The value of the `input` element. Use when component is controlled.\n */\n value?: string;\n} & FieldComponentProps &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype FieldRenderProps = Partial<\n Pick<FieldComponentRenderProps, \"ariaDescribedBy\" | \"errorMessageElementId\">\n> &\n Pick<FieldComponentRenderProps, \"id\" | \"labelElementId\">;\n\nconst PasswordField = forwardRef<HTMLInputElement, PasswordFieldProps>(\n (\n {\n ariaDescribedBy,\n autoCompleteType,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasInitialFocus,\n hint,\n id: idOverride,\n inputRef,\n isDisabled = false,\n isFullWidth = false,\n isOptional = false,\n hasShowPassword = true,\n isReadOnly,\n label,\n name: nameOverride,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n placeholder,\n testId,\n translate,\n value,\n },\n ref,\n ) => {\n const { t } = useTranslation();\n const [inputType, setInputType] = useState(\"password\");\n\n const togglePasswordVisibility = useCallback(() => {\n setInputType((inputType) =>\n inputType === \"password\" ? \"text\" : \"password\",\n );\n }, []);\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const localInputRef = useRef<HTMLInputElement>(null);\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n const onChange = useCallback<\n ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>\n >(\n (event) => {\n onChangeProp?.(event);\n },\n [onChangeProp],\n );\n\n const renderFieldComponent = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: FieldRenderProps) => (\n <InputBase\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n autoComplete={inputType === \"password\" ? autoCompleteType : \"off\"}\n /* eslint-disable-next-line jsx-a11y/no-autofocus */\n autoFocus={hasInitialFocus}\n endAdornment={\n hasShowPassword && (\n <InputAdornment position=\"end\">\n <IconButton\n aria-controls={id}\n aria-label={t(\"passwordfield.icon.label.show\")}\n aria-pressed={inputType === \"text\"}\n onClick={togglePasswordVisibility}\n >\n {inputType === \"password\" ? <ShowIcon /> : <HideIcon />}\n </IconButton>\n </InputAdornment>\n )\n }\n id={id}\n inputProps={{\n \"aria-errormessage\": errorMessageElementId,\n \"aria-labelledby\": labelElementId,\n \"data-se\": testId,\n // role: \"textbox\" Added because password inputs don't have an implicit role assigned. This causes problems with element selection.\n role: \"textbox\",\n }}\n inputRef={localInputRef}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n placeholder={placeholder}\n readOnly={isReadOnly}\n ref={ref}\n required={!isOptional}\n translate={translate}\n type={inputType}\n />\n ),\n [\n autoCompleteType,\n hasInitialFocus,\n inputValues,\n t,\n togglePasswordVisibility,\n inputType,\n nameOverride,\n onChange,\n onFocus,\n onBlur,\n placeholder,\n isOptional,\n isReadOnly,\n hasShowPassword,\n ref,\n testId,\n translate,\n ],\n );\n\n return (\n <Field\n ariaDescribedBy={ariaDescribedBy}\n errorMessage={errorMessage}\n errorMessageList={errorMessageList}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n );\n },\n);\n\nconst MemoizedPasswordField = memo(PasswordField);\nMemoizedPasswordField.displayName = \"PasswordField\";\n\nexport { MemoizedPasswordField as PasswordField };\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAGEA,UAAU,EACVC,IAAI,EACJC,WAAW,EACXC,mBAAmB,EACnBC,MAAM,EACNC,QAAQ,QACH,OAAO;AAId,SAASC,KAAK,QAAQ,YAAY;AAKlC,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,QAAQ,EAAEC,QAAQ,QAAQ,4BAA4B;AAC/D,SAAsBC,eAAe,EAAEC,cAAc,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAyD/E,MAAMC,aAAa,GAAGd,UAAU,CAC9B,CACE;EACEe,eAAe;EACfC,gBAAgB;EAChBC,YAAY;EACZC,YAAY;EACZC,gBAAgB;EAChBC,eAAe;EACfC,IAAI;EACJC,EAAE,EAAEC,UAAU;EACdC,QAAQ;EACRC,UAAU,GAAG,KAAK;EAClBC,WAAW,GAAG,KAAK;EACnBC,UAAU,GAAG,KAAK;EAClBC,eAAe,GAAG,IAAI;EACtBC,UAAU;EACVC,KAAK;EACLC,IAAI,EAAEC,YAAY;EAClBC,QAAQ,EAAEC,YAAY;EACtBC,OAAO;EACPC,MAAM;EACNC,WAAW;EACXC,MAAM;EACNC,SAAS;EACTC;AACF,CAAC,EACDC,GAAG,KACA;EACH,MAAM;IAAEC;EAAE,CAAC,GAAGnC,cAAc,CAAC,CAAC;EAC9B,MAAM,CAACoC,SAAS,EAAEC,YAAY,CAAC,GAAGvC,QAAQ,CAAC,UAAU,CAAC;EAEtD,MAAMwC,wBAAwB,GAAG3C,WAAW,CAAC,MAAM;IACjD0C,YAAY,CAAED,SAAS,IACrBA,SAAS,KAAK,UAAU,GAAG,MAAM,GAAG,UACtC,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMG,kBAAkB,GAAG1C,MAAM,CAC/BM,eAAe,CAAC;IACdqC,eAAe,EAAEP,KAAK;IACtBQ,iBAAiB,EAAE/B;EACrB,CAAC,CACH,CAAC;EACD,MAAMgC,WAAW,GAAGtC,cAAc,CAAC;IACjCM,YAAY;IACZuB,KAAK;IACLU,YAAY,EAAEJ,kBAAkB,CAACK;EACnC,CAAC,CAAC;EAEF,MAAMC,aAAa,GAAGhD,MAAM,CAAmB,IAAI,CAAC;EACpDD,mBAAmB,CAACqB,QAAQ,EAAE,MAAM;IAClC,OAAO;MACL6B,KAAK,EAAEA,CAAA,KAAM;QACXD,aAAa,CAACD,OAAO,EAAEE,KAAK,CAAC,CAAC;MAChC;IACF,CAAC;EACH,CAAC,EAAE,EAAE,CAAC;EAEN,MAAMpB,QAAQ,GAAG/B,WAAW,CAGzBoD,KAAK,IAAK;IACTpB,YAAY,GAAGoB,KAAK,CAAC;EACvB,CAAC,EACD,CAACpB,YAAY,CACf,CAAC;EAED,MAAMqB,oBAAoB,GAAGrD,WAAW,CACtC,CAAC;IACCa,eAAe;IACfyC,qBAAqB;IACrBlC,EAAE;IACFmC;EACgB,CAAC,KACjB5C,IAAA,CAAA6C,UAAA;IAAA,GACMT,WAAW;IACf,oBAAkBlC,eAAgB;IAClC4C,YAAY,EAAEhB,SAAS,KAAK,UAAU,GAAG3B,gBAAgB,GAAG,KAAM;IAElE4C,SAAS,EAAExC,eAAgB;IAC3ByC,YAAY,EACVjC,eAAe,IACbf,IAAA,CAAAiD,eAAA;MAAgBC,QAAQ,EAAC,KAAK;MAAAC,QAAA,EAC5BnD,IAAA,CAAAoD,WAAA;QACE,iBAAe3C,EAAG;QAClB,cAAYoB,CAAC,CAAC,+BAA+B,CAAE;QAC/C,gBAAcC,SAAS,KAAK,MAAO;QACnCuB,OAAO,EAAErB,wBAAyB;QAAAmB,QAAA,EAEjCrB,SAAS,KAAK,UAAU,GAAG9B,IAAA,CAACJ,QAAQ,IAAE,CAAC,GAAGI,IAAA,CAACL,QAAQ,IAAE;MAAC,CAC7C;IAAC,CACC,CAEnB;IACDc,EAAE,EAAEA,EAAG;IACP6C,UAAU,EAAE;MACV,mBAAmB,EAAEX,qBAAqB;MAC1C,iBAAiB,EAAEC,cAAc;MACjC,SAAS,EAAEnB,MAAM;MAEjB8B,IAAI,EAAE;IACR,CAAE;IACF5C,QAAQ,EAAE4B,aAAc;IACxBrB,IAAI,EAAEC,YAAY,IAAIV,EAAG;IACzBc,MAAM,EAAEA,MAAO;IACfH,QAAQ,EAAEA,QAAS;IACnBE,OAAO,EAAEA,OAAQ;IACjBE,WAAW,EAAEA,WAAY;IACzBgC,QAAQ,EAAExC,UAAW;IACrBY,GAAG,EAAEA,GAAI;IACT6B,QAAQ,EAAE,CAAC3C,UAAW;IACtBY,SAAS,EAAEA,SAAU;IACrBgC,IAAI,EAAE5B;EAAU,CACjB,CACF,EACD,CACE3B,gBAAgB,EAChBI,eAAe,EACf6B,WAAW,EACXP,CAAC,EACDG,wBAAwB,EACxBF,SAAS,EACTX,YAAY,EACZC,QAAQ,EACRE,OAAO,EACPC,MAAM,EACNC,WAAW,EACXV,UAAU,EACVE,UAAU,EACVD,eAAe,EACfa,GAAG,EACHH,MAAM,EACNC,SAAS,CAEb,CAAC;EAED,OACE1B,IAAA,CAACP,KAAK;IACJS,eAAe,EAAEA,eAAgB;IACjCG,YAAY,EAAEA,YAAa;IAC3BC,gBAAgB,EAAEA,gBAAiB;IACnCqD,SAAS,EAAC,QAAQ;IAClBC,eAAe;IACfpD,IAAI,EAAEA,IAAK;IACXC,EAAE,EAAEC,UAAW;IACfE,UAAU,EAAEA,UAAW;IACvBC,WAAW,EAAEA,WAAY;IACzBC,UAAU,EAAEA,UAAW;IACvBG,KAAK,EAAEA,KAAM;IACbyB,oBAAoB,EAAEA;EAAqB,CAC5C,CAAC;AAEN,CACF,CAAC;AAED,MAAMmB,qBAAqB,GAAGzE,IAAI,CAACa,aAAa,CAAC;AACjD4D,qBAAqB,CAACC,WAAW,GAAG,eAAe;AAEnD,SAASD,qBAAqB,IAAI5D,aAAa","ignoreList":[]}
|
package/dist/esm/Radio.js
CHANGED
|
@@ -76,19 +76,33 @@ const Radio = ({
|
|
|
76
76
|
const onBlur = useCallback(event => {
|
|
77
77
|
onBlurProp?.(event);
|
|
78
78
|
}, [onBlurProp]);
|
|
79
|
+
const radioStyles = useMemo(() => ({
|
|
80
|
+
...(isReadOnly && {
|
|
81
|
+
cursor: "default",
|
|
82
|
+
"& .MuiTypography-root": {
|
|
83
|
+
cursor: "default"
|
|
84
|
+
}
|
|
85
|
+
}),
|
|
86
|
+
...(hint && {
|
|
87
|
+
":not(:last-child)": {
|
|
88
|
+
marginBlockEnd: "0"
|
|
89
|
+
}
|
|
90
|
+
})
|
|
91
|
+
}), [hint, isReadOnly]);
|
|
92
|
+
const inputProps = useMemo(() => ({
|
|
93
|
+
"aria-describedby": hintId,
|
|
94
|
+
"aria-disabled": isDisabled || isReadOnly,
|
|
95
|
+
"data-se": testId,
|
|
96
|
+
readOnly: isReadOnly,
|
|
97
|
+
tabIndex: isReadOnly ? 0 : undefined
|
|
98
|
+
}), [hintId, isDisabled, isReadOnly, testId]);
|
|
79
99
|
return _jsxs(_Fragment, {
|
|
80
100
|
children: [_jsx(_FormControlLabel, {
|
|
81
101
|
checked: isChecked,
|
|
82
102
|
className: isInvalid ? "Mui-error" : "",
|
|
83
103
|
control: _jsx(_Radio, {
|
|
84
104
|
disabled: isDisabled,
|
|
85
|
-
inputProps:
|
|
86
|
-
"aria-describedby": hintId,
|
|
87
|
-
"aria-disabled": isDisabled || isReadOnly,
|
|
88
|
-
"data-se": testId,
|
|
89
|
-
readOnly: isReadOnly,
|
|
90
|
-
tabIndex: isReadOnly ? 0 : undefined
|
|
91
|
-
},
|
|
105
|
+
inputProps: inputProps,
|
|
92
106
|
inputRef: localInputRef,
|
|
93
107
|
onChange: onChange,
|
|
94
108
|
onClick: onClick || handleClick
|
|
@@ -97,19 +111,7 @@ const Radio = ({
|
|
|
97
111
|
label: label,
|
|
98
112
|
name: name,
|
|
99
113
|
onBlur: onBlur,
|
|
100
|
-
sx:
|
|
101
|
-
...(isReadOnly && {
|
|
102
|
-
cursor: "default",
|
|
103
|
-
"& .MuiTypography-root": {
|
|
104
|
-
cursor: "default"
|
|
105
|
-
}
|
|
106
|
-
}),
|
|
107
|
-
...(hint && {
|
|
108
|
-
":not(:last-child)": {
|
|
109
|
-
marginBlockEnd: 0
|
|
110
|
-
}
|
|
111
|
-
})
|
|
112
|
-
},
|
|
114
|
+
sx: radioStyles,
|
|
113
115
|
translate: translate,
|
|
114
116
|
value: value
|
|
115
117
|
}), hint && _jsx(HintContainerWithInlineStartSpacing, {
|
package/dist/esm/Radio.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Radio.js","names":["styled","memo","useCallback","useImperativeHandle","useMemo","useRef","useOdysseyDesignTokens","Typography","useUniqueId","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","HintContainerWithInlineStartSpacing","div","odysseyDesignTokens","paddingInlineStart","TypographyLineHeightUi","Spacing2","marginBlockEnd","color","TypographyColorSubordinate","Radio","hint","id","idOverride","inputRef","isChecked","isDisabled","isInvalid","label","labelProp","name","testId","translate","value","isReadOnly","onChange","onChangeProp","onBlur","onBlurProp","onClick","localInputRef","hintId","undefined","focus","current","component","children","event","checked","preventDefault","handleClick","stopPropagation","_FormControlLabel","className","control","_Radio","disabled","inputProps","readOnly","tabIndex","sx","cursor","_FormHelperText","MemoizedRadio","displayName"],"sources":["../../src/Radio.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 FormControlLabel,\n FormHelperText,\n FormControlLabelProps as MuiFormControlLabelProps,\n Radio as MuiRadio,\n RadioProps as MuiRadioProps,\n} from \"@mui/material\";\nimport { memo, useCallback, useImperativeHandle, useMemo, useRef } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport { FocusHandle } from \"./inputUtils.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { Typography } from \"./Typography.js\";\nimport { useUniqueId } from \"./useUniqueId.js\";\n\nconst HintContainerWithInlineStartSpacing = styled.div<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.TypographyLineHeightUi}em + ${odysseyDesignTokens.Spacing2})`,\n marginBlockEnd: odysseyDesignTokens.Spacing2,\n\n // MUI applies the '.Mui-error' class to this hint text when the checkbox is invalid which turns the copy red\n // We want to keep the hint text gray in the error state\n \".Mui-error\": {\n color: odysseyDesignTokens.TypographyColorSubordinate,\n },\n}));\n\nexport type RadioProps = {\n /**\n * The ref forwarded to the Radio\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * Determines whether the Radio button is checked\n */\n isChecked?: boolean;\n /**\n * If `true`, the radio button has an invalid value\n */\n isInvalid?: boolean;\n /**\n * The label text for the Radio\n */\n label: string;\n onBlur?: MuiFormControlLabelProps[\"onBlur\"];\n /**\n * Callback fired when the blur event happens. Provides event value.\n */\n onChange?: MuiRadioProps[\"onChange\"];\n onClick?: React.MouseEventHandler<HTMLSpanElement>;\n /**\n * The value attribute of the Radio\n */\n value: string;\n} & Pick<\n FieldComponentProps,\n \"hint\" | \"id\" | \"isDisabled\" | \"isReadOnly\" | \"name\"\n> &\n Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst Radio = ({\n hint,\n id: idOverride,\n inputRef,\n isChecked,\n isDisabled,\n isInvalid,\n label: labelProp,\n name,\n testId,\n translate,\n value,\n isReadOnly,\n onChange: onChangeProp,\n onBlur: onBlurProp,\n onClick,\n}: RadioProps) => {\n const localInputRef = useRef<HTMLInputElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const id = useUniqueId(idOverride);\n const hintId = hint ? `${id}-hint` : undefined;\n\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n const label = useMemo(\n () => <Typography component=\"span\">{labelProp}</Typography>,\n [labelProp],\n );\n\n const onChange = useCallback<NonNullable<MuiRadioProps[\"onChange\"]>>(\n (event, checked) => {\n if (isReadOnly) {\n event.preventDefault();\n } else {\n onChangeProp?.(event, checked);\n }\n },\n [onChangeProp, isReadOnly],\n );\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLSpanElement>>(\n (event) => {\n if (isReadOnly) {\n event.stopPropagation();\n event.preventDefault();\n }\n },\n [isReadOnly],\n );\n const onBlur = useCallback<NonNullable<MuiFormControlLabelProps[\"onBlur\"]>>(\n (event) => {\n onBlurProp?.(event);\n },\n [onBlurProp],\n );\n\n return (\n <>\n <FormControlLabel\n checked={isChecked}\n className={isInvalid ? \"Mui-error\" : \"\"}\n control={\n <MuiRadio\n disabled={isDisabled}\n inputProps={{\n \"aria-describedby\": hintId,\n \"aria-disabled\": isDisabled || isReadOnly,\n \"data-se\": testId,\n readOnly: isReadOnly,\n tabIndex: isReadOnly ? 0 : undefined,\n }}\n inputRef={localInputRef}\n onChange={onChange}\n onClick={onClick || handleClick}\n />\n }\n disabled={isDisabled}\n label={label}\n name={name}\n onBlur={onBlur}\n sx={{\n ...(isReadOnly && {\n cursor: \"default\",\n \"& .MuiTypography-root\": {\n cursor: \"default\",\n },\n }),\n\n ...(hint && {\n // needed to override specific :not(:last-child) selector\n \":not(:last-child)\": {\n marginBlockEnd: 0,\n },\n }),\n }}\n translate={translate}\n value={value}\n />\n {hint && (\n <HintContainerWithInlineStartSpacing\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <FormHelperText id={hintId} translate={translate}>\n {hint}\n </FormHelperText>\n </HintContainerWithInlineStartSpacing>\n )}\n </>\n );\n};\n\nconst MemoizedRadio = memo(Radio);\nMemoizedRadio.displayName = \"Radio\";\n\nexport { MemoizedRadio as Radio };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Radio.js","names":["styled","memo","useCallback","useImperativeHandle","useMemo","useRef","useOdysseyDesignTokens","Typography","useUniqueId","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","HintContainerWithInlineStartSpacing","div","odysseyDesignTokens","paddingInlineStart","TypographyLineHeightUi","Spacing2","marginBlockEnd","color","TypographyColorSubordinate","Radio","hint","id","idOverride","inputRef","isChecked","isDisabled","isInvalid","label","labelProp","name","testId","translate","value","isReadOnly","onChange","onChangeProp","onBlur","onBlurProp","onClick","localInputRef","hintId","undefined","focus","current","component","children","event","checked","preventDefault","handleClick","stopPropagation","radioStyles","cursor","inputProps","readOnly","tabIndex","_FormControlLabel","className","control","_Radio","disabled","sx","_FormHelperText","MemoizedRadio","displayName"],"sources":["../../src/Radio.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 FormControlLabel,\n FormHelperText,\n FormControlLabelProps as MuiFormControlLabelProps,\n Radio as MuiRadio,\n RadioProps as MuiRadioProps,\n} from \"@mui/material\";\nimport {\n InputHTMLAttributes,\n memo,\n useCallback,\n useImperativeHandle,\n useMemo,\n useRef,\n} from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport { FocusHandle } from \"./inputUtils.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { Typography } from \"./Typography.js\";\nimport { useUniqueId } from \"./useUniqueId.js\";\n\nconst HintContainerWithInlineStartSpacing = styled.div<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n paddingInlineStart: `calc(${odysseyDesignTokens.TypographyLineHeightUi}em + ${odysseyDesignTokens.Spacing2})`,\n marginBlockEnd: odysseyDesignTokens.Spacing2,\n\n // MUI applies the '.Mui-error' class to this hint text when the checkbox is invalid which turns the copy red\n // We want to keep the hint text gray in the error state\n \".Mui-error\": {\n color: odysseyDesignTokens.TypographyColorSubordinate,\n },\n}));\n\nexport type RadioProps = {\n /**\n * The ref forwarded to the Radio\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * Determines whether the Radio button is checked\n */\n isChecked?: boolean;\n /**\n * If `true`, the radio button has an invalid value\n */\n isInvalid?: boolean;\n /**\n * The label text for the Radio\n */\n label: string;\n onBlur?: MuiFormControlLabelProps[\"onBlur\"];\n /**\n * Callback fired when the blur event happens. Provides event value.\n */\n onChange?: MuiRadioProps[\"onChange\"];\n onClick?: React.MouseEventHandler<HTMLSpanElement>;\n /**\n * The value attribute of the Radio\n */\n value: string;\n} & Pick<\n FieldComponentProps,\n \"hint\" | \"id\" | \"isDisabled\" | \"isReadOnly\" | \"name\"\n> &\n Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst Radio = ({\n hint,\n id: idOverride,\n inputRef,\n isChecked,\n isDisabled,\n isInvalid,\n label: labelProp,\n name,\n testId,\n translate,\n value,\n isReadOnly,\n onChange: onChangeProp,\n onBlur: onBlurProp,\n onClick,\n}: RadioProps) => {\n const localInputRef = useRef<HTMLInputElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const id = useUniqueId(idOverride);\n const hintId = hint ? `${id}-hint` : undefined;\n\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n const label = useMemo(\n () => <Typography component=\"span\">{labelProp}</Typography>,\n [labelProp],\n );\n\n const onChange = useCallback<NonNullable<MuiRadioProps[\"onChange\"]>>(\n (event, checked) => {\n if (isReadOnly) {\n event.preventDefault();\n } else {\n onChangeProp?.(event, checked);\n }\n },\n [onChangeProp, isReadOnly],\n );\n\n const handleClick = useCallback<React.MouseEventHandler<HTMLSpanElement>>(\n (event) => {\n if (isReadOnly) {\n event.stopPropagation();\n event.preventDefault();\n }\n },\n [isReadOnly],\n );\n\n const onBlur = useCallback<NonNullable<MuiFormControlLabelProps[\"onBlur\"]>>(\n (event) => {\n onBlurProp?.(event);\n },\n [onBlurProp],\n );\n\n const radioStyles = useMemo(\n () => ({\n ...(isReadOnly && {\n cursor: \"default\",\n \"& .MuiTypography-root\": {\n cursor: \"default\",\n } as CSSStyleDeclaration,\n }),\n\n ...(hint && {\n // needed to override specific :not(:last-child) selector\n \":not(:last-child)\": {\n marginBlockEnd: \"0\",\n } as CSSStyleDeclaration,\n }),\n }),\n [hint, isReadOnly],\n );\n\n const inputProps = useMemo<InputHTMLAttributes<HTMLInputElement>>(\n () => ({\n \"aria-describedby\": hintId,\n \"aria-disabled\": isDisabled || isReadOnly,\n \"data-se\": testId,\n readOnly: isReadOnly,\n tabIndex: isReadOnly ? 0 : undefined,\n }),\n [hintId, isDisabled, isReadOnly, testId],\n );\n\n return (\n <>\n <FormControlLabel\n checked={isChecked}\n className={isInvalid ? \"Mui-error\" : \"\"}\n control={\n <MuiRadio\n disabled={isDisabled}\n inputProps={inputProps}\n inputRef={localInputRef}\n onChange={onChange}\n onClick={onClick || handleClick}\n />\n }\n disabled={isDisabled}\n label={label}\n name={name}\n onBlur={onBlur}\n sx={radioStyles}\n translate={translate}\n value={value}\n />\n {hint && (\n <HintContainerWithInlineStartSpacing\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <FormHelperText id={hintId} translate={translate}>\n {hint}\n </FormHelperText>\n </HintContainerWithInlineStartSpacing>\n )}\n </>\n );\n};\n\nconst MemoizedRadio = memo(Radio);\nMemoizedRadio.displayName = \"Radio\";\n\nexport { MemoizedRadio as Radio };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/SearchField.js
CHANGED
|
@@ -15,8 +15,8 @@ import _IconButton from "@mui/material/IconButton";
|
|
|
15
15
|
|
|
16
16
|
import styled from "@emotion/styled";
|
|
17
17
|
import { forwardRef, memo, useCallback, useRef } from "react";
|
|
18
|
-
import { useTranslation } from "react-i18next";
|
|
19
18
|
import { Field } from "./Field.js";
|
|
19
|
+
import { useTranslation } from "./i18n.generated/i18n.js";
|
|
20
20
|
import { CloseCircleFilledIcon, SearchIcon } from "./icons.generated/index.js";
|
|
21
21
|
import { getControlState, useInputValues } from "./inputUtils.js";
|
|
22
22
|
import { OdysseyThemeProvider } from "./OdysseyThemeProvider.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SearchField.js","names":["styled","forwardRef","memo","useCallback","useRef","useTranslation","Field","CloseCircleFilledIcon","SearchIcon","getControlState","useInputValues","OdysseyThemeProvider","jsx","_jsx","searchVariantValues","StyledContainerToEnsureThemeProviderDivIsFullWidth","width","SearchField","ariaDescribedBy","autoCompleteType","defaultValue","hasInitialFocus","id","idOverride","isDisabled","isFullWidth","label","name","nameOverride","onChange","onChangeProp","onFocus","onBlur","onClear","onClearProp","placeholder","tabIndex","testId","translate","value","variant","ref","t","event","controlledStateRef","controlledValue","uncontrolledValue","inputValues","controlState","current","renderFieldComponent","_InputBase","autoComplete","autoFocus","endAdornment","_InputAdornment","position","children","_IconButton","disabled","onClick","size","inputProps","startAdornment","type","fieldType","hasVisibleLabel","isOptional","MemoizedSearchField","displayName"],"sources":["../../src/SearchField.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 { IconButton, InputAdornment, InputBase } from \"@mui/material\";\nimport {\n ChangeEventHandler,\n FocusEventHandler,\n forwardRef,\n HTMLAttributes,\n InputHTMLAttributes,\n memo,\n useCallback,\n useRef,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { CloseCircleFilledIcon, SearchIcon } from \"./icons.generated/index.js\";\nimport { getControlState, useInputValues } from \"./inputUtils.js\";\nimport { OdysseyThemeProvider } from \"./OdysseyThemeProvider.js\";\n\nexport const searchVariantValues = [\"outline\", \"filled\"] as const;\n\nconst StyledContainerToEnsureThemeProviderDivIsFullWidth = styled(\"div\")({\n width: \"100%\",\n});\n\nexport type SearchFieldProps = {\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoCompleteType?: InputHTMLAttributes<HTMLInputElement>[\"autoComplete\"];\n /**\n * The value of the `input` element to use when uncontrolled.\n */\n defaultValue?: string;\n /**\n * If `true`, the component will receive focus automatically.\n */\n hasInitialFocus?: boolean;\n /**\n * The id of the `input` element.\n */\n id?: string;\n /**\n * If `true`, the component is disabled.\n */\n isDisabled?: boolean;\n /**\n * This label won't show up visually, but it's required for accessibility.\n */\n label: string;\n /**\n * Callback fired when the `input` element loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * Callback fired when the value is changed.\n */\n onChange?: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;\n /**\n * Callback fired when the clear button is pressed.\n */\n onClear?: () => void;\n /**\n * Callback fired when the `input` element get focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder?: string;\n\n tabIndex?: HTMLAttributes<HTMLElement>[\"tabIndex\"];\n /**\n * The value of the `input` element, to use when controlled.\n */\n value?: string;\n /**\n * Whether the SearchField has a gray or white background\n */\n variant?: (typeof searchVariantValues)[number];\n} & Pick<FieldComponentProps, \"id\" | \"isDisabled\" | \"name\" | \"isFullWidth\"> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype FieldRenderProps = Partial<Pick<HtmlProps, \"ariaDescribedBy\">> &\n Pick<FieldComponentRenderProps, \"id\">;\n\nconst SearchField = forwardRef<HTMLInputElement, SearchFieldProps>(\n (\n {\n ariaDescribedBy,\n autoCompleteType,\n defaultValue,\n hasInitialFocus,\n id: idOverride,\n isDisabled = false,\n isFullWidth = false,\n label,\n name: nameOverride,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n onClear: onClearProp,\n placeholder,\n tabIndex,\n testId,\n translate,\n value,\n variant = \"outline\",\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const onChange: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement> =\n useCallback(\n (event) => {\n onChangeProp?.(event);\n },\n [onChangeProp],\n );\n\n const onClear = useCallback(() => {\n onClearProp?.();\n }, [onClearProp]);\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const renderFieldComponent = useCallback(\n ({ ariaDescribedBy, id }: FieldRenderProps) => (\n <InputBase\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n autoComplete={autoCompleteType}\n /* eslint-disable-next-line jsx-a11y/no-autofocus */\n autoFocus={hasInitialFocus}\n data-ods-type=\"search\"\n data-ods-variant={variant}\n data-se={testId}\n endAdornment={\n (inputValues?.defaultValue || inputValues?.value) && (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={t(\"clear.text\")}\n disabled={isDisabled}\n onClick={onClear}\n size=\"small\"\n >\n <CloseCircleFilledIcon />\n </IconButton>\n </InputAdornment>\n )\n }\n id={id}\n inputProps={{\n tabIndex,\n }}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n placeholder={placeholder}\n ref={ref}\n startAdornment={\n <InputAdornment position=\"start\">\n <SearchIcon />\n </InputAdornment>\n }\n translate={translate}\n type=\"search\"\n />\n ),\n [\n autoCompleteType,\n hasInitialFocus,\n inputValues,\n isDisabled,\n nameOverride,\n onBlur,\n onChange,\n onClear,\n onFocus,\n placeholder,\n ref,\n t,\n tabIndex,\n testId,\n translate,\n variant,\n ],\n );\n\n return (\n <StyledContainerToEnsureThemeProviderDivIsFullWidth>\n <OdysseyThemeProvider>\n <Field\n ariaDescribedBy={ariaDescribedBy}\n fieldType=\"single\"\n hasVisibleLabel={false}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={true}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n </OdysseyThemeProvider>\n </StyledContainerToEnsureThemeProviderDivIsFullWidth>\n );\n },\n);\n\nconst MemoizedSearchField = memo(SearchField);\nMemoizedSearchField.displayName = \"SearchField\";\n\nexport { MemoizedSearchField as SearchField };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"SearchField.js","names":["styled","forwardRef","memo","useCallback","useRef","Field","useTranslation","CloseCircleFilledIcon","SearchIcon","getControlState","useInputValues","OdysseyThemeProvider","jsx","_jsx","searchVariantValues","StyledContainerToEnsureThemeProviderDivIsFullWidth","width","SearchField","ariaDescribedBy","autoCompleteType","defaultValue","hasInitialFocus","id","idOverride","isDisabled","isFullWidth","label","name","nameOverride","onChange","onChangeProp","onFocus","onBlur","onClear","onClearProp","placeholder","tabIndex","testId","translate","value","variant","ref","t","event","controlledStateRef","controlledValue","uncontrolledValue","inputValues","controlState","current","renderFieldComponent","_InputBase","autoComplete","autoFocus","endAdornment","_InputAdornment","position","children","_IconButton","disabled","onClick","size","inputProps","startAdornment","type","fieldType","hasVisibleLabel","isOptional","MemoizedSearchField","displayName"],"sources":["../../src/SearchField.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 { IconButton, InputAdornment, InputBase } from \"@mui/material\";\nimport {\n ChangeEventHandler,\n FocusEventHandler,\n forwardRef,\n HTMLAttributes,\n InputHTMLAttributes,\n memo,\n useCallback,\n useRef,\n} from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { CloseCircleFilledIcon, SearchIcon } from \"./icons.generated/index.js\";\nimport { getControlState, useInputValues } from \"./inputUtils.js\";\nimport { OdysseyThemeProvider } from \"./OdysseyThemeProvider.js\";\n\nexport const searchVariantValues = [\"outline\", \"filled\"] as const;\n\nconst StyledContainerToEnsureThemeProviderDivIsFullWidth = styled(\"div\")({\n width: \"100%\",\n});\n\nexport type SearchFieldProps = {\n /**\n * This prop helps users to fill forms faster, especially on mobile devices.\n * The name can be confusing, as it's more like an autofill.\n * You can learn more about it [following the specification](https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#autofill).\n */\n autoCompleteType?: InputHTMLAttributes<HTMLInputElement>[\"autoComplete\"];\n /**\n * The value of the `input` element to use when uncontrolled.\n */\n defaultValue?: string;\n /**\n * If `true`, the component will receive focus automatically.\n */\n hasInitialFocus?: boolean;\n /**\n * The id of the `input` element.\n */\n id?: string;\n /**\n * If `true`, the component is disabled.\n */\n isDisabled?: boolean;\n /**\n * This label won't show up visually, but it's required for accessibility.\n */\n label: string;\n /**\n * Callback fired when the `input` element loses focus.\n */\n onBlur?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * Callback fired when the value is changed.\n */\n onChange?: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement>;\n /**\n * Callback fired when the clear button is pressed.\n */\n onClear?: () => void;\n /**\n * Callback fired when the `input` element get focus.\n */\n onFocus?: FocusEventHandler<HTMLInputElement | HTMLTextAreaElement>;\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder?: string;\n\n tabIndex?: HTMLAttributes<HTMLElement>[\"tabIndex\"];\n /**\n * The value of the `input` element, to use when controlled.\n */\n value?: string;\n /**\n * Whether the SearchField has a gray or white background\n */\n variant?: (typeof searchVariantValues)[number];\n} & Pick<FieldComponentProps, \"id\" | \"isDisabled\" | \"name\" | \"isFullWidth\"> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype FieldRenderProps = Partial<Pick<HtmlProps, \"ariaDescribedBy\">> &\n Pick<FieldComponentRenderProps, \"id\">;\n\nconst SearchField = forwardRef<HTMLInputElement, SearchFieldProps>(\n (\n {\n ariaDescribedBy,\n autoCompleteType,\n defaultValue,\n hasInitialFocus,\n id: idOverride,\n isDisabled = false,\n isFullWidth = false,\n label,\n name: nameOverride,\n onChange: onChangeProp,\n onFocus,\n onBlur,\n onClear: onClearProp,\n placeholder,\n tabIndex,\n testId,\n translate,\n value,\n variant = \"outline\",\n },\n ref,\n ) => {\n const { t } = useTranslation();\n\n const onChange: ChangeEventHandler<HTMLTextAreaElement | HTMLInputElement> =\n useCallback(\n (event) => {\n onChangeProp?.(event);\n },\n [onChangeProp],\n );\n\n const onClear = useCallback(() => {\n onClearProp?.();\n }, [onClearProp]);\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const renderFieldComponent = useCallback(\n ({ ariaDescribedBy, id }: FieldRenderProps) => (\n <InputBase\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n autoComplete={autoCompleteType}\n /* eslint-disable-next-line jsx-a11y/no-autofocus */\n autoFocus={hasInitialFocus}\n data-ods-type=\"search\"\n data-ods-variant={variant}\n data-se={testId}\n endAdornment={\n (inputValues?.defaultValue || inputValues?.value) && (\n <InputAdornment position=\"end\">\n <IconButton\n aria-label={t(\"clear.text\")}\n disabled={isDisabled}\n onClick={onClear}\n size=\"small\"\n >\n <CloseCircleFilledIcon />\n </IconButton>\n </InputAdornment>\n )\n }\n id={id}\n inputProps={{\n tabIndex,\n }}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n placeholder={placeholder}\n ref={ref}\n startAdornment={\n <InputAdornment position=\"start\">\n <SearchIcon />\n </InputAdornment>\n }\n translate={translate}\n type=\"search\"\n />\n ),\n [\n autoCompleteType,\n hasInitialFocus,\n inputValues,\n isDisabled,\n nameOverride,\n onBlur,\n onChange,\n onClear,\n onFocus,\n placeholder,\n ref,\n t,\n tabIndex,\n testId,\n translate,\n variant,\n ],\n );\n\n return (\n <StyledContainerToEnsureThemeProviderDivIsFullWidth>\n {/* Required for `contrastMode`. */}\n <OdysseyThemeProvider>\n <Field\n ariaDescribedBy={ariaDescribedBy}\n fieldType=\"single\"\n hasVisibleLabel={false}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={true}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n </OdysseyThemeProvider>\n </StyledContainerToEnsureThemeProviderDivIsFullWidth>\n );\n },\n);\n\nconst MemoizedSearchField = memo(SearchField);\nMemoizedSearchField.displayName = \"SearchField\";\n\nexport { MemoizedSearchField as SearchField };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Select.js
CHANGED
|
@@ -25,42 +25,6 @@ import { ComponentControlledState, getControlState, useInputValues } from "./inp
|
|
|
25
25
|
import { useOdysseyDesignTokens } from "./OdysseyDesignTokensContext.js";
|
|
26
26
|
import { normalizedKey } from "./useNormalizedKey.js";
|
|
27
27
|
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
28
|
-
export const SelectTestSelector = {
|
|
29
|
-
accessibleText: {
|
|
30
|
-
errorMessage: "errorMessage",
|
|
31
|
-
hint: "description",
|
|
32
|
-
label: "label"
|
|
33
|
-
},
|
|
34
|
-
children: {
|
|
35
|
-
list: {
|
|
36
|
-
accessibleText: {
|
|
37
|
-
label: "label"
|
|
38
|
-
},
|
|
39
|
-
children: {
|
|
40
|
-
listItem: {
|
|
41
|
-
accessibleText: {
|
|
42
|
-
label: "label"
|
|
43
|
-
},
|
|
44
|
-
elementSelector: {
|
|
45
|
-
method: "ByRole",
|
|
46
|
-
options: {
|
|
47
|
-
label: "name"
|
|
48
|
-
},
|
|
49
|
-
role: "option"
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
},
|
|
53
|
-
isControlledElement: true
|
|
54
|
-
}
|
|
55
|
-
},
|
|
56
|
-
elementSelector: {
|
|
57
|
-
method: "ByRole",
|
|
58
|
-
options: {
|
|
59
|
-
label: "name"
|
|
60
|
-
},
|
|
61
|
-
role: "combobox"
|
|
62
|
-
}
|
|
63
|
-
};
|
|
64
28
|
const SelectContainer = styled.div`
|
|
65
29
|
position: relative;
|
|
66
30
|
width: 100%;
|
package/dist/esm/Select.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Select.js","names":["styled","memo","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Field","CheckIcon","CloseCircleFilledIcon","ComponentControlledState","getControlState","useInputValues","useOdysseyDesignTokens","normalizedKey","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SelectTestSelector","accessibleText","errorMessage","hint","label","children","list","listItem","elementSelector","method","options","role","isControlledElement","SelectContainer","div","ChipsPositioningContainer","shouldForwardProp","prop","odysseyDesignTokens","alignItems","display","insetBlockEnd","insetBlockStart","insetInlineEnd","insetInlineStart","marginInlineStart","BorderWidthMain","opacity","pointerEvents","position","NonInteractiveIcon","fontSize","marginBlockEnd","marginInlineEnd","Spacing1","Spacing2","ChipsInnerContainer","_Box","isInteractive","isReadOnly","flexWrap","gap","marginBlock","minHeight","Spacing6","CONTROLLED","Select","ariaDescribedBy","defaultValue","errorMessageList","hasMultipleChoices","hasMultipleChoicesProp","HintLinkComponent","id","idOverride","inputRef","isDisabled","isFullWidth","isMultiSelect","isOptional","name","nameOverride","onBlur","onChange","onChangeProp","onFocus","testId","translate","value","selectRef","undefined","controlledStateRef","controlledValue","uncontrolledValue","internalSelectedValues","setInternalSelectedValues","current","localInputRef","focus","inputValues","controlState","event","child","preventDefault","target","split","normalizedOptions","normalizedOptionsMap","map","option","text","type","lang","language","Map","removeSelectedValue","selectedValue","Array","isArray","newValue","filter","internalSelectedValue","syntheticEvent","Chips","stopPropagation","hasNonInteractiveIcon","item","length","_Chip","deleteIcon","onMouseDown","sx","get","onDelete","tabIndex","renderedOptions","index","_ListSubheader","isSelected","includes","_MenuItem","selected","_Checkbox","checked","_ListItemSecondaryAction","toString","renderValue","renderFieldComponent","errorMessageElementId","labelElementId","_Select","displayEmpty","inputProps","readOnly","el","labelId","MenuProps","maxHeight","multiple","fieldType","hasVisibleLabel","MemoizedSelect","displayName"],"sources":["../../src/Select.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 ListItemSecondaryAction,\n ListSubheader,\n Box as MuiBox,\n Checkbox as MuiCheckbox,\n Chip as MuiChip,\n MenuItem as MuiMenuItem,\n Select as MuiSelect,\n SelectProps as MuiSelectProps,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport {\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { CheckIcon, CloseCircleFilledIcon } from \"./icons.generated/index.js\";\nimport {\n ComponentControlledState,\n FocusHandle,\n getControlState,\n useInputValues,\n} from \"./inputUtils.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { TestSelector } from \"./test-selectors/index.js\";\nimport { normalizedKey } from \"./useNormalizedKey.js\";\n\nexport const SelectTestSelector = {\n accessibleText: {\n errorMessage: \"errorMessage\",\n hint: \"description\",\n label: \"label\",\n },\n children: {\n list: {\n accessibleText: {\n label: \"label\",\n },\n children: {\n listItem: {\n accessibleText: {\n label: \"label\",\n },\n elementSelector: {\n method: \"ByRole\",\n options: {\n label: \"name\",\n },\n role: \"option\",\n },\n },\n },\n isControlledElement: true,\n },\n },\n elementSelector: {\n method: \"ByRole\",\n options: {\n label: \"name\",\n },\n role: \"combobox\",\n },\n} as const satisfies TestSelector;\n\nexport type SelectOption = {\n language?: string;\n text: string;\n type?: \"heading\" | \"option\";\n value?: string;\n};\n\nconst SelectContainer = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n`;\n\nconst ChipsPositioningContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => {\n return {\n alignItems: \"center\",\n display: \"flex\",\n insetBlockEnd: 0,\n insetBlockStart: 0,\n insetInlineEnd: \"25px\", // This 25px is used to align with MUI's default chip positioning logic.\n insetInlineStart: \"4px\",\n marginInlineStart: odysseyDesignTokens.BorderWidthMain,\n opacity: 1,\n pointerEvents: \"none\",\n position: \"absolute\",\n };\n});\n\nconst NonInteractiveIcon = styled(CloseCircleFilledIcon, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n fontSize: \"1em\",\n marginBlockEnd: \"-1px\",\n marginInlineEnd: `-${odysseyDesignTokens.Spacing1}`,\n marginInlineStart: odysseyDesignTokens.Spacing2,\n}));\n\nconst ChipsInnerContainer = styled(MuiBox, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isInteractive\" &&\n prop !== \"isReadOnly\",\n})<{\n isInteractive?: boolean;\n isReadOnly?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isInteractive, isReadOnly, odysseyDesignTokens }) => ({\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: odysseyDesignTokens.Spacing1,\n marginBlock: `-${odysseyDesignTokens.Spacing2}`,\n marginInlineEnd: odysseyDesignTokens.Spacing1,\n minHeight: odysseyDesignTokens.Spacing6,\n opacity: isInteractive || isReadOnly ? 1 : 0,\n pointerEvents: \"none\",\n}));\n\nexport type SelectValueType<HasMultipleChoices> =\n HasMultipleChoices extends true ? string[] : string;\n\nexport type SelectProps<\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiSelectProps<Value>[\"defaultValue\"];\n /**\n * If `true`, the Select allows multiple selections\n */\n hasMultipleChoices?: HasMultipleChoices;\n /**\n * The ref forwarded to the Select\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * @deprecated Use `hasMultipleChoices` instead.\n */\n /** **Deprecated:** use `hasMultipleChoices` */\n isMultiSelect?: HasMultipleChoices;\n /**\n * The label text for the Select\n */\n label: string;\n /**\n * Callback fired when the Select loses focus\n */\n onBlur?: MuiSelectProps<Value>[\"onBlur\"];\n /**\n * Callback fired when the value of the Select changes\n */\n onChange?: MuiSelectProps<Value>[\"onChange\"];\n /**\n * Callback fired when the Select gains focus\n */\n onFocus?: MuiSelectProps<Value>[\"onFocus\"];\n /**\n * The options for the Select\n */\n options: (string | SelectOption)[];\n /**\n * The value or values selected in the Select\n */\n value?: Value;\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isDisabled\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"isReadOnly\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype SelectRenderProps = Partial<\n Pick<FieldComponentRenderProps, \"ariaDescribedBy\" | \"errorMessageElementId\">\n> &\n Pick<FieldComponentRenderProps, \"id\" | \"labelElementId\">;\n\n/**\n * Options in Odyssey <Select> are passed as an array, which can contain any combination\n * of the following:\n * - string — A simple string. The string will be both the text and the value of the resulting option.\n * <option value=\"string\">string</option>\n *\n * - { text: string } — Same as above, but the string is contained within an object.\n * <option value=\"text\">text</option>\n *\n * - { text: string, value: string } — The option text will be text, and the option value will be value.\n * <option value=\"value\">text</option>\n *\n * - { text: string, type: \"heading\" } — Used to display a group heading with the text\n */\n\nconst { CONTROLLED } = ComponentControlledState;\nconst Select = <\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices: hasMultipleChoicesProp,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputRef,\n isDisabled = false,\n isFullWidth = false,\n isMultiSelect,\n isOptional = false,\n isReadOnly = false,\n label,\n name: nameOverride,\n onBlur,\n onChange: onChangeProp,\n onFocus,\n options,\n testId,\n translate,\n value,\n}: SelectProps<Value, HasMultipleChoices>) => {\n const selectRef = useRef<HTMLInputElement | HTMLTextAreaElement | null>(null);\n\n const hasMultipleChoices = useMemo(\n () =>\n hasMultipleChoicesProp === undefined\n ? isMultiSelect\n : hasMultipleChoicesProp,\n [hasMultipleChoicesProp, isMultiSelect],\n );\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const [internalSelectedValues, setInternalSelectedValues] = useState(\n controlledStateRef.current === CONTROLLED ? value : defaultValue,\n );\n\n const localInputRef = useRef<HTMLSelectElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSelectedValues(value);\n }\n }, [value]);\n\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const onChange = useCallback<NonNullable<MuiSelectProps<Value>[\"onChange\"]>>(\n (event, child) => {\n if (isReadOnly) {\n event.preventDefault();\n } else {\n const {\n target: { value },\n } = event;\n if (controlledStateRef.current !== CONTROLLED) {\n setInternalSelectedValues(\n (typeof value === \"string\" && hasMultipleChoices\n ? value.split(\",\")\n : value) as Value,\n );\n }\n onChangeProp?.(event, child);\n }\n },\n [hasMultipleChoices, onChangeProp, isReadOnly],\n );\n // Normalize the options array to accommodate the various\n // data types that might be passed\n const [normalizedOptions, normalizedOptionsMap] = useMemo(() => {\n const normalizedOptions = options.map((option) => {\n if (typeof option === \"object\") {\n /**\n * If the value of `option?.value is an empty string, we need to make sure that we\n * set an empty string to `value` in the normalized option so that the select component\n * can potentially set it as the selected one in the text input\n */\n const value =\n option?.value === \"\" ? option.value : option.value || option.text;\n return {\n text: option.text,\n value,\n type: option.type === \"heading\" ? \"heading\" : \"option\",\n lang: option.language,\n };\n }\n\n return { text: option, value: option, type: \"option\" };\n });\n\n const normalizedOptionsMap = new Map(\n normalizedOptions.map((option) => [option.value, option]),\n );\n return [normalizedOptions, normalizedOptionsMap];\n }, [options]);\n\n const removeSelectedValue = useCallback(\n (selectedValue: string) => {\n if (Array.isArray(internalSelectedValues)) {\n const newValue = internalSelectedValues.filter(\n (internalSelectedValue) => internalSelectedValue !== selectedValue,\n );\n\n const syntheticEvent = {\n target: { value: newValue },\n } as SelectChangeEvent<Value>;\n\n onChange(syntheticEvent, null);\n }\n },\n [internalSelectedValues, onChange],\n );\n\n const Chips = useCallback(\n ({\n isInteractive,\n isReadOnly,\n }: {\n isInteractive: boolean;\n isReadOnly?: boolean;\n }) => {\n const stopPropagation = (event: React.MouseEvent<SVGSVGElement>) =>\n event.stopPropagation();\n\n const hasNonInteractiveIcon =\n !isInteractive &&\n !isReadOnly &&\n controlledStateRef.current === CONTROLLED &&\n hasMultipleChoices;\n\n return (\n Array.isArray(internalSelectedValues) && (\n <ChipsInnerContainer\n isInteractive={isInteractive}\n isReadOnly={isReadOnly}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {internalSelectedValues.map(\n (item) =>\n item?.length > 0 && (\n <MuiChip\n deleteIcon={\n <CloseCircleFilledIcon\n // We need to stop event propagation on mouse down to prevent the deletion\n // from being blocked by the Select list opening, and also ensure that\n // the pointerEvent is registered even when the parent's are not\n onMouseDown={stopPropagation}\n sx={{ pointerEvents: \"auto\" }}\n />\n }\n key={item}\n label={\n <>\n {normalizedOptionsMap.get(item)?.text}\n {hasNonInteractiveIcon && (\n <NonInteractiveIcon\n odysseyDesignTokens={odysseyDesignTokens}\n />\n )}\n </>\n }\n onDelete={\n isInteractive && controlledStateRef.current === CONTROLLED\n ? () => removeSelectedValue(item)\n : undefined\n }\n tabIndex={-1}\n />\n ),\n )}\n </ChipsInnerContainer>\n )\n );\n },\n [\n controlledStateRef,\n hasMultipleChoices,\n internalSelectedValues,\n odysseyDesignTokens,\n removeSelectedValue,\n normalizedOptionsMap,\n ],\n );\n\n // Convert the options into the ReactNode children\n // that will populate the <Select>\n const renderedOptions = useMemo(\n () =>\n normalizedOptions.map((option, index) => {\n if (option.type === \"heading\") {\n return (\n <ListSubheader key={option.text}> {option.text} </ListSubheader>\n );\n }\n\n const isSelected = hasMultipleChoices\n ? internalSelectedValues?.includes(option.value)\n : internalSelectedValues === option.value;\n\n return (\n <MuiMenuItem\n data-empty={!option.text}\n key={normalizedKey(option.text, index.toString())}\n lang={option.lang}\n selected={isSelected}\n value={option.value}\n >\n {hasMultipleChoices && <MuiCheckbox checked={isSelected} />}\n {option.text}\n {!hasMultipleChoices && internalSelectedValues === option.value && (\n <ListItemSecondaryAction>\n <CheckIcon />\n </ListItemSecondaryAction>\n )}\n </MuiMenuItem>\n );\n }),\n [hasMultipleChoices, normalizedOptions, internalSelectedValues],\n );\n\n const renderValue = useCallback(\n (value: Value) => Array.isArray(value) && <Chips isInteractive={false} />,\n [Chips],\n );\n\n const renderFieldComponent = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: SelectRenderProps) => (\n <SelectContainer>\n <MuiSelect\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n aria-errormessage={errorMessageElementId}\n displayEmpty\n id={id}\n inputProps={{\n \"data-se\": testId,\n \"aria-disabled\": isDisabled || isReadOnly,\n readOnly: isReadOnly,\n }}\n inputRef={(el: HTMLInputElement | HTMLTextAreaElement | null) => {\n if (localInputRef.current !== el) {\n (localInputRef as React.MutableRefObject<typeof el>).current = el;\n }\n selectRef.current = el;\n }}\n labelId={labelElementId}\n MenuProps={{\n sx: {\n \".MuiPaper-root\": {\n maxHeight: \"50vh\",\n },\n },\n }}\n multiple={hasMultipleChoices}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n renderValue={hasMultipleChoices ? renderValue : undefined}\n translate={translate}\n >\n {renderedOptions}\n </MuiSelect>\n {hasMultipleChoices && (\n <>\n <ChipsPositioningContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Chips isInteractive={!isReadOnly} isReadOnly={isReadOnly} />\n </ChipsPositioningContainer>\n </>\n )}\n </SelectContainer>\n ),\n [\n Chips,\n inputValues,\n hasMultipleChoices,\n isDisabled,\n isReadOnly,\n nameOverride,\n odysseyDesignTokens,\n onBlur,\n onChange,\n onFocus,\n renderedOptions,\n renderValue,\n testId,\n translate,\n ],\n );\n\n return (\n <Field\n ariaDescribedBy={ariaDescribedBy}\n errorMessage={errorMessage}\n errorMessageList={errorMessageList}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n HintLinkComponent={HintLinkComponent}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n );\n};\n\nconst MemoizedSelect = memo(Select);\nMemoizedSelect.displayName = \"Select\";\n\nexport { MemoizedSelect as Select };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Select.js","names":["styled","memo","useCallback","useEffect","useImperativeHandle","useMemo","useRef","useState","Field","CheckIcon","CloseCircleFilledIcon","ComponentControlledState","getControlState","useInputValues","useOdysseyDesignTokens","normalizedKey","jsx","_jsx","Fragment","_Fragment","jsxs","_jsxs","SelectContainer","div","ChipsPositioningContainer","shouldForwardProp","prop","odysseyDesignTokens","alignItems","display","insetBlockEnd","insetBlockStart","insetInlineEnd","insetInlineStart","marginInlineStart","BorderWidthMain","opacity","pointerEvents","position","NonInteractiveIcon","fontSize","marginBlockEnd","marginInlineEnd","Spacing1","Spacing2","ChipsInnerContainer","_Box","isInteractive","isReadOnly","flexWrap","gap","marginBlock","minHeight","Spacing6","CONTROLLED","Select","ariaDescribedBy","defaultValue","errorMessage","errorMessageList","hasMultipleChoices","hasMultipleChoicesProp","hint","HintLinkComponent","id","idOverride","inputRef","isDisabled","isFullWidth","isMultiSelect","isOptional","label","name","nameOverride","onBlur","onChange","onChangeProp","onFocus","options","testId","translate","value","selectRef","undefined","controlledStateRef","controlledValue","uncontrolledValue","internalSelectedValues","setInternalSelectedValues","current","localInputRef","focus","inputValues","controlState","event","child","preventDefault","target","split","normalizedOptions","normalizedOptionsMap","map","option","text","type","lang","language","Map","removeSelectedValue","selectedValue","Array","isArray","newValue","filter","internalSelectedValue","syntheticEvent","Chips","stopPropagation","hasNonInteractiveIcon","children","item","length","_Chip","deleteIcon","onMouseDown","sx","get","onDelete","tabIndex","renderedOptions","index","_ListSubheader","isSelected","includes","_MenuItem","selected","_Checkbox","checked","_ListItemSecondaryAction","toString","renderValue","renderFieldComponent","errorMessageElementId","labelElementId","_Select","displayEmpty","inputProps","readOnly","el","labelId","MenuProps","maxHeight","multiple","fieldType","hasVisibleLabel","MemoizedSelect","displayName"],"sources":["../../src/Select.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 ListItemSecondaryAction,\n ListSubheader,\n Box as MuiBox,\n Checkbox as MuiCheckbox,\n Chip as MuiChip,\n MenuItem as MuiMenuItem,\n Select as MuiSelect,\n SelectProps as MuiSelectProps,\n SelectChangeEvent,\n} from \"@mui/material\";\nimport {\n memo,\n useCallback,\n useEffect,\n useImperativeHandle,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Field } from \"./Field.js\";\nimport {\n FieldComponentProps,\n FieldComponentRenderProps,\n} from \"./FieldComponentProps.js\";\nimport { CheckIcon, CloseCircleFilledIcon } from \"./icons.generated/index.js\";\nimport {\n ComponentControlledState,\n FocusHandle,\n getControlState,\n useInputValues,\n} from \"./inputUtils.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { normalizedKey } from \"./useNormalizedKey.js\";\n\nexport type SelectOption = {\n language?: string;\n text: string;\n type?: \"heading\" | \"option\";\n value?: string;\n};\n\nconst SelectContainer = styled.div`\n position: relative;\n width: 100%;\n display: flex;\n`;\n\nconst ChipsPositioningContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => {\n return {\n alignItems: \"center\",\n display: \"flex\",\n insetBlockEnd: 0,\n insetBlockStart: 0,\n insetInlineEnd: \"25px\", // This 25px is used to align with MUI's default chip positioning logic.\n insetInlineStart: \"4px\",\n marginInlineStart: odysseyDesignTokens.BorderWidthMain,\n opacity: 1,\n pointerEvents: \"none\",\n position: \"absolute\",\n };\n});\n\nconst NonInteractiveIcon = styled(CloseCircleFilledIcon, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n fontSize: \"1em\",\n marginBlockEnd: \"-1px\",\n marginInlineEnd: `-${odysseyDesignTokens.Spacing1}`,\n marginInlineStart: odysseyDesignTokens.Spacing2,\n}));\n\nconst ChipsInnerContainer = styled(MuiBox, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"isInteractive\" &&\n prop !== \"isReadOnly\",\n})<{\n isInteractive?: boolean;\n isReadOnly?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isInteractive, isReadOnly, odysseyDesignTokens }) => ({\n display: \"flex\",\n flexWrap: \"wrap\",\n gap: odysseyDesignTokens.Spacing1,\n marginBlock: `-${odysseyDesignTokens.Spacing2}`,\n marginInlineEnd: odysseyDesignTokens.Spacing1,\n minHeight: odysseyDesignTokens.Spacing6,\n opacity: isInteractive || isReadOnly ? 1 : 0,\n pointerEvents: \"none\",\n}));\n\nexport type SelectValueType<HasMultipleChoices> =\n HasMultipleChoices extends true ? string[] : string;\n\nexport type SelectProps<\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n> = {\n /**\n * The default value. Use when the component is not controlled.\n */\n defaultValue?: MuiSelectProps<Value>[\"defaultValue\"];\n /**\n * If `true`, the Select allows multiple selections\n */\n hasMultipleChoices?: HasMultipleChoices;\n /**\n * The ref forwarded to the Select\n */\n inputRef?: React.RefObject<FocusHandle>;\n /**\n * @deprecated Use `hasMultipleChoices` instead.\n */\n /** **Deprecated:** use `hasMultipleChoices` */\n isMultiSelect?: HasMultipleChoices;\n /**\n * The label text for the Select\n */\n label: string;\n /**\n * Callback fired when the Select loses focus\n */\n onBlur?: MuiSelectProps<Value>[\"onBlur\"];\n /**\n * Callback fired when the value of the Select changes\n */\n onChange?: MuiSelectProps<Value>[\"onChange\"];\n /**\n * Callback fired when the Select gains focus\n */\n onFocus?: MuiSelectProps<Value>[\"onFocus\"];\n /**\n * The options for the Select\n */\n options: (string | SelectOption)[];\n /**\n * The value or values selected in the Select\n */\n value?: Value;\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isDisabled\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"isReadOnly\"\n | \"name\"\n> &\n Pick<HtmlProps, \"ariaDescribedBy\" | \"testId\" | \"translate\">;\n\ntype SelectRenderProps = Partial<\n Pick<FieldComponentRenderProps, \"ariaDescribedBy\" | \"errorMessageElementId\">\n> &\n Pick<FieldComponentRenderProps, \"id\" | \"labelElementId\">;\n\n/**\n * Options in Odyssey <Select> are passed as an array, which can contain any combination\n * of the following:\n * - string — A simple string. The string will be both the text and the value of the resulting option.\n * <option value=\"string\">string</option>\n *\n * - { text: string } — Same as above, but the string is contained within an object.\n * <option value=\"text\">text</option>\n *\n * - { text: string, value: string } — The option text will be text, and the option value will be value.\n * <option value=\"value\">text</option>\n *\n * - { text: string, type: \"heading\" } — Used to display a group heading with the text\n */\n\nconst { CONTROLLED } = ComponentControlledState;\nconst Select = <\n Value extends SelectValueType<HasMultipleChoices>,\n HasMultipleChoices extends boolean,\n>({\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n hasMultipleChoices: hasMultipleChoicesProp,\n hint,\n HintLinkComponent,\n id: idOverride,\n inputRef,\n isDisabled = false,\n isFullWidth = false,\n isMultiSelect,\n isOptional = false,\n isReadOnly = false,\n label,\n name: nameOverride,\n onBlur,\n onChange: onChangeProp,\n onFocus,\n options,\n testId,\n translate,\n value,\n}: SelectProps<Value, HasMultipleChoices>) => {\n const selectRef = useRef<HTMLInputElement | HTMLTextAreaElement | null>(null);\n\n const hasMultipleChoices = useMemo(\n () =>\n hasMultipleChoicesProp === undefined\n ? isMultiSelect\n : hasMultipleChoicesProp,\n [hasMultipleChoicesProp, isMultiSelect],\n );\n\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: value,\n uncontrolledValue: defaultValue,\n }),\n );\n const [internalSelectedValues, setInternalSelectedValues] = useState(\n controlledStateRef.current === CONTROLLED ? value : defaultValue,\n );\n\n const localInputRef = useRef<HTMLSelectElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n useImperativeHandle(inputRef, () => {\n return {\n focus: () => {\n localInputRef.current?.focus();\n },\n };\n }, []);\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSelectedValues(value);\n }\n }, [value]);\n\n const inputValues = useInputValues({\n defaultValue,\n value,\n controlState: controlledStateRef.current,\n });\n\n const onChange = useCallback<NonNullable<MuiSelectProps<Value>[\"onChange\"]>>(\n (event, child) => {\n if (isReadOnly) {\n event.preventDefault();\n } else {\n const {\n target: { value },\n } = event;\n if (controlledStateRef.current !== CONTROLLED) {\n setInternalSelectedValues(\n (typeof value === \"string\" && hasMultipleChoices\n ? value.split(\",\")\n : value) as Value,\n );\n }\n onChangeProp?.(event, child);\n }\n },\n [hasMultipleChoices, onChangeProp, isReadOnly],\n );\n // Normalize the options array to accommodate the various\n // data types that might be passed\n const [normalizedOptions, normalizedOptionsMap] = useMemo(() => {\n const normalizedOptions = options.map((option) => {\n if (typeof option === \"object\") {\n /**\n * If the value of `option?.value is an empty string, we need to make sure that we\n * set an empty string to `value` in the normalized option so that the select component\n * can potentially set it as the selected one in the text input\n */\n const value =\n option?.value === \"\" ? option.value : option.value || option.text;\n return {\n text: option.text,\n value,\n type: option.type === \"heading\" ? \"heading\" : \"option\",\n lang: option.language,\n };\n }\n\n return { text: option, value: option, type: \"option\" };\n });\n\n const normalizedOptionsMap = new Map(\n normalizedOptions.map((option) => [option.value, option]),\n );\n return [normalizedOptions, normalizedOptionsMap];\n }, [options]);\n\n const removeSelectedValue = useCallback(\n (selectedValue: string) => {\n if (Array.isArray(internalSelectedValues)) {\n const newValue = internalSelectedValues.filter(\n (internalSelectedValue) => internalSelectedValue !== selectedValue,\n );\n\n const syntheticEvent = {\n target: { value: newValue },\n } as SelectChangeEvent<Value>;\n\n onChange(syntheticEvent, null);\n }\n },\n [internalSelectedValues, onChange],\n );\n\n const Chips = useCallback(\n ({\n isInteractive,\n isReadOnly,\n }: {\n isInteractive: boolean;\n isReadOnly?: boolean;\n }) => {\n const stopPropagation = (event: React.MouseEvent<SVGSVGElement>) =>\n event.stopPropagation();\n\n const hasNonInteractiveIcon =\n !isInteractive &&\n !isReadOnly &&\n controlledStateRef.current === CONTROLLED &&\n hasMultipleChoices;\n\n return (\n Array.isArray(internalSelectedValues) && (\n <ChipsInnerContainer\n isInteractive={isInteractive}\n isReadOnly={isReadOnly}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {internalSelectedValues.map(\n (item) =>\n item?.length > 0 && (\n <MuiChip\n deleteIcon={\n <CloseCircleFilledIcon\n // We need to stop event propagation on mouse down to prevent the deletion\n // from being blocked by the Select list opening, and also ensure that\n // the pointerEvent is registered even when the parent's are not\n onMouseDown={stopPropagation}\n sx={{ pointerEvents: \"auto\" }}\n />\n }\n key={item}\n label={\n <>\n {normalizedOptionsMap.get(item)?.text}\n {hasNonInteractiveIcon && (\n <NonInteractiveIcon\n odysseyDesignTokens={odysseyDesignTokens}\n />\n )}\n </>\n }\n onDelete={\n isInteractive && controlledStateRef.current === CONTROLLED\n ? () => removeSelectedValue(item)\n : undefined\n }\n tabIndex={-1}\n />\n ),\n )}\n </ChipsInnerContainer>\n )\n );\n },\n [\n controlledStateRef,\n hasMultipleChoices,\n internalSelectedValues,\n odysseyDesignTokens,\n removeSelectedValue,\n normalizedOptionsMap,\n ],\n );\n\n // Convert the options into the ReactNode children\n // that will populate the <Select>\n const renderedOptions = useMemo(\n () =>\n normalizedOptions.map((option, index) => {\n if (option.type === \"heading\") {\n return (\n <ListSubheader key={option.text}> {option.text} </ListSubheader>\n );\n }\n\n const isSelected = hasMultipleChoices\n ? internalSelectedValues?.includes(option.value)\n : internalSelectedValues === option.value;\n\n return (\n <MuiMenuItem\n data-empty={!option.text}\n key={normalizedKey(option.text, index.toString())}\n lang={option.lang}\n selected={isSelected}\n value={option.value}\n >\n {hasMultipleChoices && <MuiCheckbox checked={isSelected} />}\n {option.text}\n {!hasMultipleChoices && internalSelectedValues === option.value && (\n <ListItemSecondaryAction>\n <CheckIcon />\n </ListItemSecondaryAction>\n )}\n </MuiMenuItem>\n );\n }),\n [hasMultipleChoices, normalizedOptions, internalSelectedValues],\n );\n\n const renderValue = useCallback(\n (value: Value) => Array.isArray(value) && <Chips isInteractive={false} />,\n [Chips],\n );\n\n const renderFieldComponent = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: SelectRenderProps) => (\n <SelectContainer>\n <MuiSelect\n {...inputValues}\n aria-describedby={ariaDescribedBy}\n aria-errormessage={errorMessageElementId}\n displayEmpty\n id={id}\n inputProps={{\n \"data-se\": testId,\n \"aria-disabled\": isDisabled || isReadOnly,\n readOnly: isReadOnly,\n }}\n inputRef={(el: HTMLInputElement | HTMLTextAreaElement | null) => {\n if (localInputRef.current !== el) {\n (localInputRef as React.MutableRefObject<typeof el>).current = el;\n }\n selectRef.current = el;\n }}\n labelId={labelElementId}\n MenuProps={{\n sx: {\n \".MuiPaper-root\": {\n maxHeight: \"50vh\",\n },\n },\n }}\n multiple={hasMultipleChoices}\n name={nameOverride ?? id}\n onBlur={onBlur}\n onChange={onChange}\n onFocus={onFocus}\n renderValue={hasMultipleChoices ? renderValue : undefined}\n translate={translate}\n >\n {renderedOptions}\n </MuiSelect>\n {hasMultipleChoices && (\n <>\n <ChipsPositioningContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Chips isInteractive={!isReadOnly} isReadOnly={isReadOnly} />\n </ChipsPositioningContainer>\n </>\n )}\n </SelectContainer>\n ),\n [\n Chips,\n inputValues,\n hasMultipleChoices,\n isDisabled,\n isReadOnly,\n nameOverride,\n odysseyDesignTokens,\n onBlur,\n onChange,\n onFocus,\n renderedOptions,\n renderValue,\n testId,\n translate,\n ],\n );\n\n return (\n <Field\n ariaDescribedBy={ariaDescribedBy}\n errorMessage={errorMessage}\n errorMessageList={errorMessageList}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n HintLinkComponent={HintLinkComponent}\n id={idOverride}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFieldComponent}\n />\n );\n};\n\nconst MemoizedSelect = memo(Select);\nMemoizedSelect.displayName = \"Select\";\n\nexport { MemoizedSelect as Select };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Surface.js
CHANGED
|
@@ -23,10 +23,10 @@ const StyledContainer = styled(_Paper, {
|
|
|
23
23
|
contrastMode,
|
|
24
24
|
odysseyDesignTokens
|
|
25
25
|
}) => ({
|
|
26
|
-
borderRadius: odysseyDesignTokens.Spacing4,
|
|
27
|
-
padding: odysseyDesignTokens.Spacing5,
|
|
28
26
|
border: contrastMode === "lowContrast" ? `1px solid ${odysseyDesignTokens.HueNeutral100}` : "none",
|
|
29
|
-
|
|
27
|
+
borderRadius: odysseyDesignTokens.Spacing4,
|
|
28
|
+
boxShadow: "none",
|
|
29
|
+
padding: odysseyDesignTokens.Spacing5
|
|
30
30
|
}));
|
|
31
31
|
const Surface = ({
|
|
32
32
|
children
|
package/dist/esm/Surface.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Surface.js","names":["styled","memo","useOdysseyDesignTokens","OdysseyThemeProvider","useContrastModeContext","jsx","_jsx","StyledContainer","_Paper","shouldForwardProp","prop","contrastMode","odysseyDesignTokens","
|
|
1
|
+
{"version":3,"file":"Surface.js","names":["styled","memo","useOdysseyDesignTokens","OdysseyThemeProvider","useContrastModeContext","jsx","_jsx","StyledContainer","_Paper","shouldForwardProp","prop","contrastMode","odysseyDesignTokens","border","HueNeutral100","borderRadius","Spacing4","boxShadow","padding","Spacing5","Surface","children","MemoizedSurface","displayName"],"sources":["../../src/Surface.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-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 { Paper as MuiPaper } from \"@mui/material\";\nimport { memo, ReactNode } from \"react\";\n\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { OdysseyThemeProvider } from \"./OdysseyThemeProvider.js\";\nimport { ContrastMode, useContrastModeContext } from \"./useContrastMode.js\";\n\nconst StyledContainer = styled(MuiPaper, {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"contrastMode\",\n})<{\n contrastMode: ContrastMode;\n odysseyDesignTokens: DesignTokens;\n}>(({ contrastMode, odysseyDesignTokens }) => ({\n border:\n contrastMode === \"lowContrast\"\n ? `1px solid ${odysseyDesignTokens.HueNeutral100}`\n : \"none\",\n borderRadius: odysseyDesignTokens.Spacing4,\n boxShadow: \"none\",\n padding: odysseyDesignTokens.Spacing5,\n}));\n\nexport type SurfaceProps = {\n children: ReactNode;\n};\n\nconst Surface = ({ children }: SurfaceProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { contrastMode } = useContrastModeContext();\n\n return (\n <StyledContainer\n contrastMode={contrastMode}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {/* Required for `contrastMode`. */}\n <OdysseyThemeProvider>{children}</OdysseyThemeProvider>\n </StyledContainer>\n );\n};\n\nconst MemoizedSurface = memo(Surface);\nMemoizedSurface.displayName = \"Surface\";\n\nexport { MemoizedSurface as Surface };\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AAEpC,SAASC,IAAI,QAAmB,OAAO;AAEvC,SAEEC,sBAAsB,QACjB,iCAAiC;AACxC,SAASC,oBAAoB,QAAQ,2BAA2B;AAChE,SAAuBC,sBAAsB,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE5E,MAAMC,eAAe,GAAGP,MAAM,CAAAQ,MAAA,EAAW;EACvCC,iBAAiB,EAAGC,IAAI,IACtBA,IAAI,KAAK,qBAAqB,IAAIA,IAAI,KAAK;AAC/C,CAAC,CAAC,CAGC,CAAC;EAAEC,YAAY;EAAEC;AAAoB,CAAC,MAAM;EAC7CC,MAAM,EACJF,YAAY,KAAK,aAAa,GAC1B,aAAaC,mBAAmB,CAACE,aAAa,EAAE,GAChD,MAAM;EACZC,YAAY,EAAEH,mBAAmB,CAACI,QAAQ;EAC1CC,SAAS,EAAE,MAAM;EACjBC,OAAO,EAAEN,mBAAmB,CAACO;AAC/B,CAAC,CAAC,CAAC;AAMH,MAAMC,OAAO,GAAGA,CAAC;EAAEC;AAAuB,CAAC,KAAK;EAC9C,MAAMT,mBAAmB,GAAGV,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAES;EAAa,CAAC,GAAGP,sBAAsB,CAAC,CAAC;EAEjD,OACEE,IAAA,CAACC,eAAe;IACdI,YAAY,EAAEA,YAAa;IAC3BC,mBAAmB,EAAEA,mBAAoB;IAAAS,QAAA,EAGzCf,IAAA,CAACH,oBAAoB;MAAAkB,QAAA,EAAEA;IAAQ,CAAuB;EAAC,CACxC,CAAC;AAEtB,CAAC;AAED,MAAMC,eAAe,GAAGrB,IAAI,CAACmB,OAAO,CAAC;AACrCE,eAAe,CAACC,WAAW,GAAG,SAAS;AAEvC,SAASD,eAAe,IAAIF,OAAO","ignoreList":[]}
|
package/dist/esm/Switch.js
CHANGED
|
@@ -13,9 +13,9 @@ import _FormLabel from "@mui/material/FormLabel";
|
|
|
13
13
|
|
|
14
14
|
import styled from "@emotion/styled";
|
|
15
15
|
import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
|
|
16
|
-
import { useTranslation } from "react-i18next";
|
|
17
16
|
import { Box } from "./Box.js";
|
|
18
17
|
import { FieldHint } from "./FieldHint.js";
|
|
18
|
+
import { useTranslation } from "./i18n.generated/i18n.js";
|
|
19
19
|
import { CheckIcon } from "./icons.generated/index.js";
|
|
20
20
|
import { ComponentControlledState, getControlState } from "./inputUtils.js";
|
|
21
21
|
import { useOdysseyDesignTokens } from "./OdysseyDesignTokensContext.js";
|