@okta/odyssey-react-mui 1.45.0 → 1.47.1
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/assets/Accordion-BUumLSm9.js +1 -0
- package/dist/assets/Accordion.stories-CaMgAnYN.js +85 -0
- package/dist/assets/AccordionSummary-0jrOTJTD.js +1 -0
- package/dist/assets/AdapterLuxon-0NB_ajTr.js +1 -0
- package/dist/assets/AlertTitle-BbBpDTwd.js +1 -0
- package/dist/assets/{AppSwitcher-D7UlQ3S8.js → AppSwitcher-B7j0xavZ.js} +2 -2
- package/dist/assets/AppSwitcher.stories-BqeExztr.js +100 -0
- package/dist/assets/AppTile _labs_.stories-uDhyBCfD.js +136 -0
- package/dist/assets/ArrowDropDown-LYMnJjPD.js +1 -0
- package/dist/assets/ArrowRight-Bi2Pswgc.js +1 -0
- package/dist/assets/Autocomplete-CXy6JKKy.js +1 -0
- package/dist/assets/Autocomplete-DD8JT6Eb.js +1 -0
- package/dist/assets/{Autocomplete.stories-CCtQosYH.js → Autocomplete.stories-DjkuAafz.js} +3 -3
- package/dist/assets/{Badge-DL9N0uiE.js → Badge-C6SBtLt7.js} +1 -1
- package/dist/assets/Banner-itG3HAaL.js +1 -0
- package/dist/assets/Banner.stories-o2KYQ49p.js +74 -0
- package/dist/assets/{BaseButton-B5c4cgt8.js → BaseButton-COF38VLB.js} +1 -1
- package/dist/assets/BaseMenuButton-pigMBOEp.js +1 -0
- package/dist/assets/{Box-BXOPvc0Q.js → Box-BGpAHVQV.js} +1 -1
- package/dist/assets/Box-CWTB5xfE.js +1 -0
- package/dist/assets/Box-D2NdOYc2.js +11 -0
- package/dist/assets/Box.stories-Bl1v2MtQ.js +38 -0
- package/dist/assets/Breadcrumbs-6BEAV_iX.js +1 -0
- package/dist/assets/Breadcrumbs-C2ZpdmyC.js +6 -0
- package/dist/assets/Breadcrumbs.stories-WwSpw0c-.js +79 -0
- package/dist/assets/Bug-CF8uTmAI.js +1 -0
- package/dist/assets/{OdysseyProvider-BQyPcEvx.js → Button-B6KDXfay.js} +9 -9
- package/dist/assets/Button-CdPi1pZc.js +1 -0
- package/dist/assets/{Button-BOzIr8Jh.js → Button-DGmXZ3jw.js} +1 -1
- package/dist/assets/Button.stories-DDHyMQ1_.js +271 -0
- package/dist/assets/ButtonBase-BAQsCgRq.js +74 -0
- package/dist/assets/Calendar-DjJqG0qe.js +1 -0
- package/dist/assets/Callout-DyDdgWdc.js +1 -0
- package/dist/assets/Callout.stories-nPexHuaO.js +105 -0
- package/dist/assets/Card-2fiTHibU.js +8 -0
- package/dist/assets/Card-CaY-V3Lt.js +1 -0
- package/dist/assets/Card.stories-B_l3D6T0.js +56 -0
- package/dist/assets/CardActionArea-BTMPt80M.js +1 -0
- package/dist/assets/CardActions-X5bUcMdJ.js +1 -0
- package/dist/assets/Checkbox-BCh8HZ37.js +1 -0
- package/dist/assets/Checkbox-BVTNXOF7.js +1 -0
- package/dist/assets/Checkbox.stories-CQ5I8O9l.js +96 -0
- package/dist/assets/{CheckboxGroup-Cgc2chES.js → CheckboxGroup-D-ykWUnV.js} +1 -1
- package/dist/assets/CheckboxGroup.stories-B4ljyQRV.js +81 -0
- package/dist/assets/ChevronRight-DkL07pJu.js +1 -0
- package/dist/assets/ChevronUp-DBzjQ0Vq.js +1 -0
- package/dist/assets/Chip-DXaMeATb.js +1 -0
- package/dist/assets/CircularProgress-B5_VbcVt.js +28 -0
- package/dist/assets/{CircularProgress-Ur28_31H.js → CircularProgress-Dfpt5LAz.js} +1 -1
- package/dist/assets/CircularProgress.stories-Daf0R9vA.js +44 -0
- package/dist/assets/Clock-Cs7_WjUp.js +1 -0
- package/dist/assets/{Close-DA_Sph0R.js → Close-ATS01D1v.js} +1 -1
- package/dist/assets/{Code Styling Guidelines-CAzyRuHZ.js → Code Styling Guidelines-KEouIK7B.js } +1 -1
- package/dist/assets/Collapse-COoe3Qtd.js +1 -0
- package/dist/assets/{Color-YHDXOIA2-CcHVwBQP.js → Color-YHDXOIA2-DQdRRXzu.js} +1 -1
- package/dist/assets/{CssBaseline-CUjr0ON2.js → CssBaseline-D-vAj66q.js} +5 -4
- package/dist/assets/CssBaseline.stories-BOhXBF5h.js +364 -0
- package/dist/assets/Custom Theming-DmPtfg8b.js +136 -0
- package/dist/assets/Custom Theming.stories-t0y6qbUN.js +95 -0
- package/dist/assets/DataFilters _labs_-blW_3eFm.js +55 -0
- package/dist/assets/DataFilters _labs_.stories-D2qt9BDz.js +31 -0
- package/dist/assets/DataFilters-49CUFFBF.js +1 -0
- package/dist/assets/DataTable _labs_-CJnucUaL.js +41 -0
- package/dist/assets/DataTable _labs_.stories-DrwT0H9g.js +21 -0
- package/dist/assets/{DataTable-CnCWIOTw.js → DataTable-DeujVhYp.js} +3 -3
- package/dist/assets/{DataTable-CkACYzFJ.js → DataTable-Ka-SCcOh.js} +2 -2
- package/dist/assets/{DataTable.stories-Db2HEmax.js → DataTable.stories-CaSfkouk.js} +4 -4
- package/dist/assets/{DataView _labs_-DZnmSNME.js → DataView _labs_-CqZlEyu1.js } +3 -3
- package/dist/assets/DataView _labs_.stories-CXjSXDeF.js +438 -0
- package/dist/assets/{DataView-BQBP0FCs.js → DataView-CYkwjPzk.js} +10 -20
- package/dist/assets/DataView.stories-DT0ROHOs.js +871 -0
- package/dist/assets/DatePicker-C9sNy4fj.js +11 -0
- package/dist/assets/DatePicker-txjKmLSi.js +1 -0
- package/dist/assets/DatePicker.stories-VLeccVga.js +133 -0
- package/dist/assets/DateTimePicker-LSjVE-IM.js +1 -0
- package/dist/assets/DateTimePicker.stories-B2SaI9OL.js +158 -0
- package/dist/assets/Design Tokens-DrLUPXCc.js +4 -0
- package/dist/assets/Dialog-CRuld07G.js +1 -0
- package/dist/assets/Dialog.stories-Bm_j9j63.js +201 -0
- package/dist/assets/DialogContent-_oGbCJT8.js +1 -0
- package/dist/assets/DialogContentText-DU3-VV7L.js +1 -0
- package/dist/assets/DialogTitle-DyO9kr6R.js +1 -0
- package/dist/assets/Divider-DsFAYUeD.js +1 -0
- package/dist/assets/{DocsRenderer-CFRXHY34-DEwq8OPY.js → DocsRenderer-CFRXHY34-IKzmQUB4.js} +1 -1
- package/dist/assets/Documentation-BrTRsPbe.js +1 -0
- package/dist/assets/Download-CnpAgqy2.js +1 -0
- package/dist/assets/Drawer-CwxKxBTE.js +27 -0
- package/dist/assets/Drawer-DEqB4KYp.js +1 -0
- package/dist/assets/Drawer.stories-Dvgnp9yd.js +95 -0
- package/dist/assets/EmptyState-9pxLjmqH.js +11 -0
- package/dist/assets/EmptyState.stories-DK1ZE36w.js +11 -0
- package/dist/assets/ExampleButton.stories-C51QbMy5.js +11 -0
- package/dist/assets/{Extending Translations-BnOA8j0s.js → Extending Translations-DW0F3Xxk.js } +6 -7
- package/dist/assets/ExternalLink-BZ-Yczsk.js +1 -0
- package/dist/assets/Fade-CVbWKXvx.js +1 -0
- package/dist/assets/Field-lyECanzU.js +11 -0
- package/dist/assets/FieldHint-C3tXb7u4.js +1 -0
- package/dist/assets/{Fieldset-CmtxEykF.js → Fieldset-C2nSfkpl.js} +2 -2
- package/dist/assets/Fieldset.stories-BU8d3fia.js +15 -0
- package/dist/assets/FileUploader.stories-C8jSeElw.js +58 -0
- package/dist/assets/Filter-Dx8z3DNi.js +1 -0
- package/dist/assets/Folder-BfxqGqvt.js +1 -0
- package/dist/assets/{Form Field Accessibility-bATJbTW6.js → Form Field Accessibility-Bk715sxq.js } +1 -1
- package/dist/assets/Form-BFqw21k4.js +11 -0
- package/dist/assets/Form.stories-Clfikd2x.js +69 -0
- package/dist/assets/FormControlLabel-BKhSSavj.js +1 -0
- package/dist/assets/FormGroup-Cuk9jkbL.js +1 -0
- package/dist/assets/FormHelperText-qF3DX-zz.js +1 -0
- package/dist/assets/FormLabel-BLj3hKkg.js +1 -0
- package/dist/assets/FullScreenOverlay-D_QtB3Yt.js +11 -0
- package/dist/assets/{Generating Icons-CY4QgHRK.js → Generating Icons-DU5C85Nu.js } +1 -1
- package/dist/assets/Globe-Brrqdlv8.js +1 -0
- package/dist/assets/Grid-CZMVE6qU.js +1 -0
- package/dist/assets/Group-B6q-i_C2.js +1 -0
- package/dist/assets/GroupPicker _labs_.stories-CFJvoMQP.js +33 -0
- package/dist/assets/Grow-DacPmog-.js +1 -0
- package/dist/assets/Hide-DlEWsxsn.js +1 -0
- package/dist/assets/Home-BiP4Mg1h.js +1 -0
- package/dist/assets/Icon _icons_.stories-BQr18gG9.js +16 -0
- package/dist/assets/IconButton-OY9nJWpv.js +1 -0
- package/dist/assets/IconWithTooltip _icons_.stories-Ct7hQD2g.js +19 -0
- package/dist/assets/IgaComponentsLegacyOdysseyDecorator-28myx5I9.js +175 -0
- package/dist/assets/InformationCircle-CE8ruoYu.js +1 -0
- package/dist/assets/InputAdornment-D4SsBOPe.js +1 -0
- package/dist/assets/InputBase-DSZ9ZgyW.js +2 -0
- package/dist/assets/{Installing odyssey-react-mui-FI77Ty6y.js → Installing odyssey-react-mui-XtugTFlz.js } +1 -1
- package/dist/assets/{Introduction-B_2OeBP6.js → Introduction-Bt8Bd0mz.js} +7 -17
- package/dist/assets/Layout-BduWITqf.js +11 -0
- package/dist/assets/Layout.stories-BaeIV62G.js +285 -0
- package/dist/assets/{Legacy Migrations-eiPSj0S4.js → Legacy Migrations-DZ-fx_Jl.js } +1 -1
- package/dist/assets/Link-BH0CiguI.js +11 -0
- package/dist/assets/Link-BnBknBcu.js +1 -0
- package/dist/assets/Link-DI6v1ROk.js +1 -0
- package/dist/assets/Link.stories-BY0xRfX5.js +43 -0
- package/dist/assets/List-Be7fhh4_.js +1 -0
- package/dist/assets/List-DsAZFSEg.js +1 -0
- package/dist/assets/ListItem-C8ebNPnP.js +1 -0
- package/dist/assets/ListSubheader-Bwc0JItn.js +1 -0
- package/dist/assets/Menu-CHod3UUY.js +1 -0
- package/dist/assets/MenuButton-CMGgaZPh.js +9 -0
- package/dist/assets/{MenuButton-OjJFnmOD.js → MenuButton-Dr4RJoKG.js} +1 -1
- package/dist/assets/{MenuButton.stories-C8xNZymc.js → MenuButton.stories-B5Ron3HG.js} +4 -4
- package/dist/assets/MenuItem-B0_vCuIq.js +1 -0
- package/dist/assets/MenuItem-n-UKDxiu.js +1 -0
- package/dist/assets/MenuItem.stories-YEtPNOwc.js +29 -0
- package/dist/assets/MenuList-CW8ri5AI.js +1 -0
- package/dist/assets/Modal-B1-40kNg.js +1 -0
- package/dist/assets/More-D1qrtSvt.js +1 -0
- package/dist/assets/NativeSelect.stories-BIRwQlHa.js +173 -0
- package/dist/assets/OdysseyProvider-2xjMTEu6.js +66 -0
- package/dist/assets/OdysseyProvider-CLb8psrs.js +197 -0
- package/dist/assets/OdysseyStorybookThemeDecorator-BRjYVaUu.js +1 -0
- package/dist/assets/OdysseyThemeProvider-BBwjgzn2.js +189 -0
- package/dist/assets/PageHeader.stories-fXDR4T37.js +17 -0
- package/dist/assets/PageHeader.stories-q0-kxFNT.js +329 -0
- package/dist/assets/PageTemplate _labs_-D3SkGEbG.js +8 -0
- package/dist/assets/PageTemplate _labs_.stories-DtJtMC5B.js +306 -0
- package/dist/assets/PageTemplate-mNUP99LO.js +21 -0
- package/dist/assets/PageTemplate.stories-H4WnNBj4.js +487 -0
- package/dist/assets/PaginatedTable _labs_.stories--9YveFu7.js +65 -0
- package/dist/assets/Pagination-D6myvUfo.js +11 -0
- package/dist/assets/Pagination.stories-CB4pOr9i.js +17 -0
- package/dist/assets/Paper-XsV8SWR9.js +1 -0
- package/dist/assets/PasswordField.stories-D5ZRplSl.js +129 -0
- package/dist/assets/Picker _labs_.stories-CyZs7sOo.js +18 -0
- package/dist/assets/PickerWithOptionAdornment _labs_.stories-DZ_mcN9y.js +70 -0
- package/dist/assets/Popper-DjhYeJJy.js +1 -0
- package/dist/assets/Portal-GAJY6Au9.js +1 -0
- package/dist/assets/Radio-BimAm2in.js +1 -0
- package/dist/assets/Radio-tkNaA8vy.js +1 -0
- package/dist/assets/Radio.stories-BIH7UBMO.js +63 -0
- package/dist/assets/RadioGroup-DP-BtKDw.js +10 -0
- package/dist/assets/RadioGroup-DRNCKA-f.js +1 -0
- package/dist/assets/RadioGroup-DhVJQTpS.js +1 -0
- package/dist/assets/{RadioGroup.stories-BcEJF09Q.js → RadioGroup.stories-DRXPUU0H.js} +7 -7
- package/dist/assets/Refresh-GVzSl4pN.js +1 -0
- package/dist/assets/ResourceAccessPolicyComponentsStorybookThemeDecorator-IgdZHick.js +1 -0
- package/dist/assets/{Right-to-Left (RTL)-BK9_DI66.js → Right-to-Left (RTL)-DyJ58shp.js } +1 -1
- package/dist/assets/{ScreenReaderText-vq7_Ob_I.js → ScreenReaderText-CM78bF1y.js} +1 -1
- package/dist/assets/{ScreenReaderText-DCDUyE9Y.js → ScreenReaderText-CqMaDm6f.js} +1 -1
- package/dist/assets/ScreenReaderText.stories-CpsTRHeF.js +8 -0
- package/dist/assets/Search-CkfJXFe5.js +1 -0
- package/dist/assets/{SearchDropdown _labs_.stories-CYbt2vgf.js → SearchDropdown _labs_.stories-BQPhsSku.js } +3 -3
- package/dist/assets/SearchField-CYM6nbh5.js +1 -0
- package/dist/assets/SearchField.stories-C95LqZ5d.js +37 -0
- package/dist/assets/Select-9yKLDVKS.js +1 -0
- package/dist/assets/Select-DJ071lNE.js +15 -0
- package/dist/assets/Select.stories-Dv7mWYvh.js +293 -0
- package/dist/assets/Server-DjXPiVgb.js +1 -0
- package/dist/assets/Settings-CjXK8-N1.js +1 -0
- package/dist/assets/Setup-C5eWg4Hp.js +7 -0
- package/dist/assets/{Shadow DOM-ErMvgTrT.js → Shadow DOM-CwtnF89G.js } +1 -1
- package/dist/assets/Show-BmUFIvXd.js +1 -0
- package/dist/assets/SideNav-Bks9RS2j.js +85 -0
- package/dist/assets/SideNav-CJ4qafJJ.js +131 -0
- package/dist/assets/SideNav.stories-C1fpy9wN.js +207 -0
- package/dist/assets/{Skeleton-BJLiCr2o.js → Skeleton-dfR0DjWP.js} +3 -3
- package/dist/assets/Snackbar-Cn_gMSEK.js +1 -0
- package/dist/assets/Stack-DKhviX3e.js +1 -0
- package/dist/assets/Stack.stories-BDHo9eFa.js +1 -0
- package/dist/assets/StaticTable _labs_.stories-Dxpy5sLd.js +34 -0
- package/dist/assets/{Status-BYBMXN_H.js → Status-BpzpxYZ-.js} +1 -1
- package/dist/assets/Status.stories-DLINjRQE.js +66 -0
- package/dist/assets/Surface-3Y97A1O8.js +1 -0
- package/dist/assets/Switch.stories-pYIYfkr3.js +61 -0
- package/dist/assets/SwitchBase-D-uzeIbM.js +1 -0
- package/dist/assets/Sync-DFFNrTTV.js +1 -0
- package/dist/assets/TabPanel-XF64c5rR.js +1 -0
- package/dist/assets/Tabs-DzeBYjfY.js +1 -0
- package/dist/assets/{Tabs-BEhcVkzW.js → Tabs-SRLNy8_X.js} +7 -7
- package/dist/assets/Tabs.stories-Dtlm8Y9N.js +100 -0
- package/dist/assets/{Tag-CjPSrGAL.js → Tag-BgjQI7VM.js} +2 -2
- package/dist/assets/Tag.stories-DIlHCDGk.js +96 -0
- package/dist/assets/{TagList-BQKiA1TW.js → TagList-DGN86KvF.js} +1 -1
- package/dist/assets/TextField-BuwBI2RX.js +1 -0
- package/dist/assets/TextField.stories-DL7enA3k.js +149 -0
- package/dist/assets/Toast.stories-DO1V8pyh.js +134 -0
- package/dist/assets/ToastManager.stories-CmZGqHye.js +22 -0
- package/dist/assets/Tooltip-D4AWrTBw.js +1 -0
- package/dist/assets/{Tooltip-3088PjcT.js → Tooltip-XQJL1Byd.js} +1 -1
- package/dist/assets/Tooltip.stories-s36iDmFy.js +68 -0
- package/dist/assets/{TopNav-CWVyy01x.js → TopNav-dZWiR_bv.js} +2 -2
- package/dist/assets/TopNav.stories-Dg27-0zA.js +13 -0
- package/dist/assets/TransitionGroupContext-DLI0IzWy.js +1 -0
- package/dist/assets/Typography-CORddEdk.js +9 -0
- package/dist/assets/Typography-D01yctPx.js +607 -0
- package/dist/assets/{Typography-CiNRLenM.js → Typography-DfSdXC7o.js} +1 -1
- package/dist/assets/Typography-Yf1Zkad_.js +1 -0
- package/dist/assets/Typography.stories-Cr7YbFxb.js +73 -0
- package/dist/assets/{Typography.stories-DOm50jIe.js → Typography.stories-D-TscJaP.js} +5 -5
- package/dist/assets/UiShell.stories-BRpnZ7zi.js +558 -0
- package/dist/assets/{UiShellProvider-D1w1Ocw9.js → UiShellProvider-BOM87LOZ.js} +4 -4
- package/dist/assets/Upload-CXJBKzcC.js +1 -0
- package/dist/assets/User-D6db-Gy0.js +1 -0
- package/dist/assets/UserProfile-DqokqHU1.js +11 -0
- package/dist/assets/UserProfile.stories-BbvzhbPD.js +14 -0
- package/dist/assets/UserProfileMenuButton.stories-CKErfTVM.js +30 -0
- package/dist/assets/Video-B1Csvrbu.js +1 -0
- package/dist/assets/WorkflowsComponentsStorybookThemeDecorator-COYvO4K8.js +1 -0
- package/dist/assets/axe-4JP0vCEZ.js +30 -0
- package/dist/{types/OdysseyTranslationProvider.types.d.ts → assets/axeRun-B-LchFqf.js} +2 -5
- package/dist/assets/client-ByW5HbEz.js +1 -0
- package/dist/assets/colorManipulator-CjGkpVfF.js +1 -0
- package/dist/{esm/@types/i18next.d.js → assets/constants-CGUp4oSR.js} +2 -5
- package/dist/assets/createStyled-D0LG5-qz.js +1 -0
- package/dist/assets/createSvgIcon-DsUj6UQo.js +1 -0
- package/dist/assets/dialogActionsClasses-BWrWITLY.js +1 -0
- package/dist/assets/emotion-react-jsx-runtime.browser.esm-DcYOMKFp.js +1 -0
- package/dist/assets/{entry-preview-4ElqUVRP.js → entry-preview-CklzQ6bB.js} +2 -2
- package/dist/assets/{iconUtils-Cxr8mVIA.js → iconUtils-B6sV00nC.js} +1 -1
- package/dist/assets/{iframe-C-RQ_TKY.js → iframe-CXLAql3E.js} +2 -2
- package/dist/assets/{index-B885ELRa.js → index-B-lxVbXh.js} +1 -1
- package/dist/assets/{index-BpVuOoKb.js → index-BqmbiZ7T.js} +3 -3
- package/dist/assets/index-BsDcV5Kh.js +1 -0
- package/dist/assets/{index-BzN0w9dc.js → index-DRboDwvZ.js} +1 -1
- package/dist/assets/index-Dj8r1U9U.js +1 -0
- package/dist/assets/{index.esm-D7MwfoQM.js → index.esm-CaIA2ztV.js} +16 -16
- package/dist/assets/index.esm-HelN6IAt.js +1 -0
- package/dist/assets/{personData-CZJz4n06.js → personData-vW3mumD1.js} +1 -1
- package/dist/assets/{personData-Ci-ru1S9.js → personData-zrA1iJih.js} +1 -1
- package/dist/assets/{pickerComponentPropsMetadata-C9L3AhmF.js → pickerComponentPropsMetadata-P9x80E4R.js} +3 -3
- package/dist/assets/preview-BAx1BwgB.js +1 -0
- package/dist/assets/{preview-D_z0Z5cB.js → preview-BaoH-L4j.js} +1 -1
- package/dist/assets/{preview-BzLY45Eo.js → preview-BprB3Yzd.js} +2 -2
- package/dist/assets/{preview-CeHM5zqH.js → preview-_inBJXZG.js} +2 -2
- package/dist/{esm/shadow-dom/index.js → assets/pxToRem-BrMhKUxS.js} +1 -4
- package/dist/assets/queryOdysseySelector-CwauhQve.js +187 -0
- package/dist/assets/{react-18-CxBTDaIe.js → react-18-u8niHpKc.js} +1 -1
- package/dist/assets/renderUiShell.stories-ILWjsAQY.js +854 -0
- package/dist/assets/resolveComponentProps-BzfJewMt.js +1 -0
- package/dist/assets/tableSortLabelClasses-DtOYtU1J.js +1 -0
- package/dist/assets/useAutocomplete-DwWveFvJ.js +11 -0
- package/dist/assets/useMobilePicker-5I3ooa1D.js +6 -0
- package/dist/assets/useOdysseyDateFields-Cq2BZNiB.js +61 -0
- package/dist/assets/{useScrollIndication-BJW9jXaC.js → useScrollIndication-C4t86M0g.js} +3 -3
- package/dist/assets/useSlot-CaOQD_17.js +1 -0
- package/dist/assets/useThemeProps-Bfa1XAV-.js +1 -0
- package/dist/assets/useThemeProps-D4857Xca.js +1 -0
- package/dist/assets/utilities.esm-DpQ0TZP_.js +5 -0
- package/dist/assets/utils-DkZjDCLm.js +1 -0
- package/dist/assets/v4-CtRu48qb.js +1 -0
- 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 +193 -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/OdysseyTranslationProvider.types.js → cjs/i18n.generated/i18n.types.cjs} +10 -5
- 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 +28 -0
- package/dist/esm/__internal.js.map +1 -0
- package/dist/esm/i18n.generated/i18n.js +25 -0
- package/dist/esm/i18n.generated/i18n.js.map +1 -0
- package/dist/esm/i18n.generated/i18n.resources.js +75 -0
- package/dist/esm/i18n.generated/i18n.resources.js.map +1 -0
- package/dist/{types/shadow-dom/index.d.ts → esm/i18n.generated/i18n.types.js} +3 -3
- package/dist/esm/i18n.generated/i18n.types.js.map +1 -0
- package/dist/esm/index.js +4 -3
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/labs/DataFilters.js +1 -1
- package/dist/esm/labs/DataFilters.js.map +1 -1
- package/dist/esm/labs/DataTable.js +1 -1
- package/dist/esm/labs/DataTable.js.map +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js +1 -1
- package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
- package/dist/esm/labs/DataView/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/esm/test-selectors/TabsTestSelector.js +33 -0
- package/dist/esm/test-selectors/TabsTestSelector.js.map +1 -0
- package/dist/esm/test-selectors/TextFieldTestSelector.js +38 -0
- package/dist/esm/test-selectors/TextFieldTestSelector.js.map +1 -0
- package/dist/esm/test-selectors/index.js +1 -0
- package/dist/esm/test-selectors/index.js.map +1 -1
- package/dist/esm/test-selectors/queryOdysseySelector.js +5 -5
- package/dist/esm/test-selectors/queryOdysseySelector.js.map +1 -1
- package/dist/esm/theme/components.js +5 -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/iframe.html +4 -3
- package/dist/index.cjs +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.json +1 -1
- package/dist/index.mjs +1 -1
- package/dist/index.scss +1 -1
- package/dist/project.json +1 -1
- package/dist/sb-addons/storybook-13/manager-bundle.js +1 -1
- package/dist/tsconfig.production.tsbuildinfo +1 -1
- package/dist/tsconfig.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 +34 -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/types/web-component/removeGlobalStylesFromShadowDom.d.ts +18 -0
- package/dist/types/web-component/removeGlobalStylesFromShadowDom.d.ts.map +1 -0
- package/dist/types/web-component/renderReactInWebComponent.d.ts +1 -1
- package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
- package/package.json +24 -15
- 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.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/Banner-C66lWD3c.js +0 -1
- package/dist/assets/Banner.stories-D6KqnSl2.js +0 -74
- package/dist/assets/BaseMenuButton-DbGGXXbP.js +0 -1
- package/dist/assets/Box-BCBP3C7Q.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-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.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.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/CloseCircleFilled-D2aBlgBe.js +0 -1
- package/dist/assets/Collapse-P1H1b4lO.js +0 -1
- package/dist/assets/CssBaseline-C3xNeK8b.js +0 -1
- 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/DataView _labs_.stories-CusuCHkc.js +0 -438
- 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/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/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.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-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/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/Layout-Bojn6-Uj.js +0 -11
- package/dist/assets/Layout.stories-BN7leK7P.js +0 -217
- 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/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/NativeSelect.stories-D8Y2ITgz.js +0 -173
- package/dist/assets/OdysseyDesignTokensContext-BWQIA5ie.js +0 -11
- 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/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/Refresh-CPgGX1hz.js +0 -1
- package/dist/assets/ScopedCssBaseline-FivWKbYZ.js +0 -1
- package/dist/assets/ScreenReaderText.stories-BZinu6VX.js +0 -8
- package/dist/assets/Search-BvCmvJcV.js +0 -1
- 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/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/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.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-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.stories-D1YMwKB7.js +0 -96
- 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-B4GIR2eB.js +0 -1
- package/dist/assets/Tooltip.stories-GU5ZWKSu.js +0 -68
- 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-D7-qxuiy.js +0 -1
- package/dist/assets/UiShell.stories-CcRPnzQe.js +0 -531
- 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/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/client-akVMpN0m.js +0 -1
- package/dist/assets/colorManipulator-O7SU8zMv.js +0 -1
- package/dist/assets/context-D_qJ2zXV.js +0 -1
- package/dist/assets/createSvgIcon-DiC7XVU3.js +0 -1
- package/dist/assets/createTheme-BmPXDA4p.js +0 -8
- 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/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/i18n-DmkmAJlT.js +0 -11
- package/dist/assets/i18next-DbMy2do-.js +0 -1
- package/dist/assets/index-CDGerSbe.js +0 -1
- package/dist/assets/index-CpbQl8EB.js +0 -1
- package/dist/assets/index-CtY5BB1N.js +0 -1
- 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/menuItemClasses-DFm3-Sf1.js +0 -1
- package/dist/assets/popper-CMBiYTiD.js +0 -1
- package/dist/assets/preview-B-jDHJEN.js +0 -1
- package/dist/assets/queryOdysseySelector-B27JCf-A.js +0 -151
- package/dist/assets/radioClasses-f3ayyf7y.js +0 -1
- package/dist/assets/resolveComponentProps-DMpKAZvD.js +0 -1
- package/dist/assets/tableRowClasses-inqOIkjd.js +0 -1
- 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/useId-cMcvCE23.js +0 -1
- package/dist/assets/useId-kSseQ0DW.js +0 -1
- package/dist/assets/useMobilePicker-CfUl5sFz.js +0 -6
- package/dist/assets/useOdysseyDateFields-DQkQFY7w.js +0 -61
- 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/utils-gq6yExow.js +0 -1
- package/dist/assets/v4-BOvFkHkt.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.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.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/types/OdysseyTranslationProvider.d.ts +0 -24
- package/dist/types/OdysseyTranslationProvider.d.ts.map +0 -1
- 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
package/dist/esm/Dialog.js
CHANGED
|
@@ -15,8 +15,9 @@ import _DialogContentText from "@mui/material/DialogContentText";
|
|
|
15
15
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
16
16
|
*/
|
|
17
17
|
import { cloneElement, memo, useCallback, useEffect, useRef, useState } from "react";
|
|
18
|
-
import { useTranslation } from "react-i18next";
|
|
19
18
|
import { Button } from "./Buttons/index.js";
|
|
19
|
+
import { FullScreenOverlay } from "./FullScreenOverlay.js";
|
|
20
|
+
import { useTranslation } from "./i18n.generated/i18n.js";
|
|
20
21
|
import { CloseIcon } from "./icons.generated/index.js";
|
|
21
22
|
import { useUniqueId } from "./useUniqueId.js";
|
|
22
23
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -63,36 +64,38 @@ const Dialog = ({
|
|
|
63
64
|
}) : children;
|
|
64
65
|
const actionButtons = [tertiaryCallToActionComponent || callToActionLastComponent, secondaryCallToActionComponent || callToActionSecondComponent, primaryCallToActionComponent || callToActionFirstComponent].filter(Boolean);
|
|
65
66
|
const handleCloseButtonClick = useCallback(event => onClose(event, "closeButtonClick"), [onClose]);
|
|
66
|
-
return
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
67
|
+
return _jsx(FullScreenOverlay, {
|
|
68
|
+
children: _jsxs(_Dialog, {
|
|
69
|
+
"aria-labelledby": dialogLabelId,
|
|
70
|
+
"data-se": testId,
|
|
71
|
+
onClose: onClose,
|
|
72
|
+
open: isOpen,
|
|
73
|
+
children: [_jsxs(_DialogTitle, {
|
|
74
|
+
id: dialogTitleId,
|
|
75
|
+
translate: translate,
|
|
76
|
+
children: [_jsx("span", {
|
|
77
|
+
id: dialogLabelId,
|
|
78
|
+
children: title
|
|
79
|
+
}), _jsx(Button, {
|
|
80
|
+
ariaLabel: t("close.text"),
|
|
81
|
+
onClick: handleCloseButtonClick,
|
|
82
|
+
size: "small",
|
|
83
|
+
startIcon: _jsx(CloseIcon, {}),
|
|
84
|
+
variant: "floating"
|
|
85
|
+
})]
|
|
86
|
+
}), _jsx(_DialogContent, {
|
|
87
|
+
...(isContentScrollable && {
|
|
88
|
+
tabIndex: 0
|
|
89
|
+
}),
|
|
90
|
+
dividers: isContentScrollable,
|
|
91
|
+
ref: dialogContentRef,
|
|
92
|
+
children: content
|
|
93
|
+
}), actionButtons.length > 0 && _jsx(_DialogActions, {
|
|
94
|
+
children: actionButtons.map((actionButton, index) => actionButton ? cloneElement(actionButton, {
|
|
95
|
+
key: index
|
|
96
|
+
}) : null)
|
|
83
97
|
})]
|
|
84
|
-
})
|
|
85
|
-
...(isContentScrollable && {
|
|
86
|
-
tabIndex: 0
|
|
87
|
-
}),
|
|
88
|
-
dividers: isContentScrollable,
|
|
89
|
-
ref: dialogContentRef,
|
|
90
|
-
children: content
|
|
91
|
-
}), actionButtons.length > 0 && _jsx(_DialogActions, {
|
|
92
|
-
children: actionButtons.map((actionButton, index) => actionButton ? cloneElement(actionButton, {
|
|
93
|
-
key: index
|
|
94
|
-
}) : null)
|
|
95
|
-
})]
|
|
98
|
+
})
|
|
96
99
|
});
|
|
97
100
|
};
|
|
98
101
|
const MemoizedDialog = memo(Dialog);
|
package/dist/esm/Dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Dialog.js","names":["cloneElement","memo","useCallback","useEffect","useRef","useState","useTranslation","Button","CloseIcon","useUniqueId","jsx","_jsx","jsxs","_jsxs","Dialog","primaryCallToActionComponent","secondaryCallToActionComponent","tertiaryCallToActionComponent","callToActionFirstComponent","callToActionSecondComponent","callToActionLastComponent","children","isOpen","onClose","testId","title","translate","t","isContentScrollable","setIsContentScrollable","dialogContentRef","dialogTitleId","dialogLabelId","frameId","handleContentScroll","dialogContentElement","current","cancelAnimationFrame","scrollHeight","clientHeight","requestAnimationFrame","content","_DialogContentText","actionButtons","filter","Boolean","handleCloseButtonClick","event","_Dialog","open","_DialogTitle","id","ariaLabel","onClick","size","startIcon","variant","_DialogContent","tabIndex","dividers","ref","length","_DialogActions","map","actionButton","index","key","MemoizedDialog","displayName"],"sources":["../../src/Dialog.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 {\n DialogActions,\n DialogContent,\n DialogContentText,\n DialogTitle,\n Dialog as MuiDialog,\n DialogProps as MuiDialogProps,\n} from \"@mui/material\";\nimport {\n cloneElement,\n memo,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Button, ButtonProps } from \"./Buttons/index.js\";\nimport { CloseIcon } from \"./icons.generated/index.js\";\nimport { useUniqueId } from \"./useUniqueId.js\";\n\ntype MuiOnCloseEvent = Parameters<Required<MuiDialogProps>[\"onClose\"]>[0];\ntype MuiOnCloseReason = Parameters<Required<MuiDialogProps>[\"onClose\"]>[1];\nexport type DialogOnCloseReason = MuiOnCloseReason | \"closeButtonClick\";\n\nexport type DialogProps = {\n /**\n * @deprecated `aria-label` for close button comes from translation file\n */\n ariaLabel?: string;\n\n /**\n * @deprecated Will be removed in a future Odyssey version. Use `primaryCallToActionComponent` instead.\n */\n callToActionFirstComponent?: ReactElement<typeof Button>;\n /**\n * @deprecated Will be removed in a future Odyssey version. Use `tertiaryCallToActionComponent` instead.\n */\n callToActionLastComponent?: ReactElement<typeof Button>;\n /**\n * @deprecated Will be removed in a future Odyssey version. Use `secondaryCallToActionComponent` instead.\n */\n callToActionSecondComponent?: ReactElement<typeof Button>;\n /**\n * The content of the Dialog. May be a `string` or any other `ReactNode` or array of `ReactNode`s.\n */\n children: ReactNode;\n /**\n * When set to `true`, the Dialog will be visible.\n */\n isOpen: boolean;\n /**\n * Callback that controls what happens when the Dialog is dismissed.\n */\n onClose: (event: MuiOnCloseEvent, reason: DialogOnCloseReason) => void;\n /**\n * An optional Button object to be situated in the Dialog footer as the primary call to action.\n */\n primaryCallToActionComponent?: ReactElement<typeof Button>;\n\n /**\n * An optional Button object to be situated in the Dialog footer as the secondary call to action, alongside the `primaryCallToActionComponent`.\n */\n secondaryCallToActionComponent?: ReactElement<typeof Button>;\n\n /**\n * An optional Button object to be situated in the Dialog footer as the tertiary call to action, alongside the other `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement<typeof Button>;\n\n /**\n * The title of the Dialog.\n */\n title: string;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst Dialog = ({\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n callToActionFirstComponent,\n callToActionSecondComponent,\n callToActionLastComponent,\n children,\n isOpen,\n onClose,\n testId,\n title,\n translate,\n}: DialogProps) => {\n const { t } = useTranslation();\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const dialogContentRef = useRef<HTMLDivElement>(null);\n const dialogTitleId = useUniqueId();\n const dialogLabelId = useUniqueId();\n\n useEffect(() => {\n let frameId: number;\n\n const handleContentScroll = () => {\n const dialogContentElement = dialogContentRef.current;\n if (dialogContentElement) {\n cancelAnimationFrame(frameId);\n setIsContentScrollable(\n dialogContentElement.scrollHeight > dialogContentElement.clientHeight,\n );\n }\n frameId = requestAnimationFrame(handleContentScroll);\n };\n\n if (isOpen) {\n frameId = requestAnimationFrame(handleContentScroll);\n }\n\n return () => {\n cancelAnimationFrame(frameId);\n };\n }, [isOpen]);\n\n const content =\n typeof children === \"string\" ? (\n <DialogContentText>{children}</DialogContentText>\n ) : (\n children\n );\n\n // Prioritize new action button format (|| used as a fallback)\n const actionButtons = [\n tertiaryCallToActionComponent || callToActionLastComponent,\n secondaryCallToActionComponent || callToActionSecondComponent,\n primaryCallToActionComponent || callToActionFirstComponent,\n ].filter(Boolean);\n\n const handleCloseButtonClick = useCallback<\n NonNullable<ButtonProps[\"onClick\"]>\n >((event) => onClose(event, \"closeButtonClick\"), [onClose]);\n\n return (\n <MuiDialog\n aria-labelledby={dialogLabelId}\n data-se={testId}\n onClose={onClose}\n open={isOpen}\n >\n <DialogTitle\n id={dialogTitleId} // We need to explicitly unset `id` for MUI to automatically set it based on the `aria-labelledby` prop passed to `MuiDialog`\n translate={translate}\n >\n <span id={dialogLabelId}>{title}</span>\n <Button\n ariaLabel={t(\"close.text\")}\n onClick={handleCloseButtonClick}\n size=\"small\"\n startIcon={<CloseIcon />}\n variant=\"floating\"\n />\n </DialogTitle>\n <DialogContent\n {...(isContentScrollable && {\n // Sets tabIndex on content element if scrollable so content is easier to navigate with the keyboard\n tabIndex: 0,\n })}\n dividers={isContentScrollable}\n ref={dialogContentRef}\n >\n {content}\n </DialogContent>\n\n {actionButtons.length > 0 && (\n <DialogActions>\n {actionButtons.map((actionButton, index) =>\n actionButton ? cloneElement(actionButton, { key: index }) : null,\n )}\n </DialogActions>\n )}\n </MuiDialog>\n );\n};\n\nconst MemoizedDialog = memo(Dialog);\nMemoizedDialog.displayName = \"Dialog\";\n\nexport { MemoizedDialog as Dialog };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Dialog.js","names":["cloneElement","memo","useCallback","useEffect","useRef","useState","Button","FullScreenOverlay","useTranslation","CloseIcon","useUniqueId","jsx","_jsx","jsxs","_jsxs","Dialog","primaryCallToActionComponent","secondaryCallToActionComponent","tertiaryCallToActionComponent","callToActionFirstComponent","callToActionSecondComponent","callToActionLastComponent","children","isOpen","onClose","testId","title","translate","t","isContentScrollable","setIsContentScrollable","dialogContentRef","dialogTitleId","dialogLabelId","frameId","handleContentScroll","dialogContentElement","current","cancelAnimationFrame","scrollHeight","clientHeight","requestAnimationFrame","content","_DialogContentText","actionButtons","filter","Boolean","handleCloseButtonClick","event","_Dialog","open","_DialogTitle","id","ariaLabel","onClick","size","startIcon","variant","_DialogContent","tabIndex","dividers","ref","length","_DialogActions","map","actionButton","index","key","MemoizedDialog","displayName"],"sources":["../../src/Dialog.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 {\n Dialog as MuiDialog,\n DialogActions as MuiDialogActions,\n DialogContent as MuiDialogContent,\n DialogContentText as MuiDialogContentText,\n DialogProps as MuiDialogProps,\n DialogTitle as MuiDialogTitle,\n} from \"@mui/material\";\nimport {\n cloneElement,\n memo,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Button, ButtonProps } from \"./Buttons/index.js\";\nimport { FullScreenOverlay } from \"./FullScreenOverlay.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { CloseIcon } from \"./icons.generated/index.js\";\nimport { useUniqueId } from \"./useUniqueId.js\";\n\ntype MuiOnCloseEvent = Parameters<Required<MuiDialogProps>[\"onClose\"]>[0];\ntype MuiOnCloseReason = Parameters<Required<MuiDialogProps>[\"onClose\"]>[1];\nexport type DialogOnCloseReason = MuiOnCloseReason | \"closeButtonClick\";\n\nexport type DialogProps = {\n /**\n * @deprecated `aria-label` for close button comes from translation file\n */\n ariaLabel?: string;\n\n /**\n * @deprecated Will be removed in a future Odyssey version. Use `primaryCallToActionComponent` instead.\n */\n callToActionFirstComponent?: ReactElement<typeof Button>;\n /**\n * @deprecated Will be removed in a future Odyssey version. Use `tertiaryCallToActionComponent` instead.\n */\n callToActionLastComponent?: ReactElement<typeof Button>;\n /**\n * @deprecated Will be removed in a future Odyssey version. Use `secondaryCallToActionComponent` instead.\n */\n callToActionSecondComponent?: ReactElement<typeof Button>;\n /**\n * The content of the Dialog. May be a `string` or any other `ReactNode` or array of `ReactNode`s.\n */\n children: ReactNode;\n /**\n * When set to `true`, the Dialog will be visible.\n */\n isOpen: boolean;\n /**\n * Callback that controls what happens when the Dialog is dismissed.\n */\n onClose: (event: MuiOnCloseEvent, reason: DialogOnCloseReason) => void;\n /**\n * An optional Button object to be situated in the Dialog footer as the primary call to action.\n */\n primaryCallToActionComponent?: ReactElement<typeof Button>;\n\n /**\n * An optional Button object to be situated in the Dialog footer as the secondary call to action, alongside the `primaryCallToActionComponent`.\n */\n secondaryCallToActionComponent?: ReactElement<typeof Button>;\n\n /**\n * An optional Button object to be situated in the Dialog footer as the tertiary call to action, alongside the other `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement<typeof Button>;\n\n /**\n * The title of the Dialog.\n */\n title: string;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst Dialog = ({\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n callToActionFirstComponent,\n callToActionSecondComponent,\n callToActionLastComponent,\n children,\n isOpen,\n onClose,\n testId,\n title,\n translate,\n}: DialogProps) => {\n const { t } = useTranslation();\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const dialogContentRef = useRef<HTMLDivElement>(null);\n const dialogTitleId = useUniqueId();\n const dialogLabelId = useUniqueId();\n\n useEffect(() => {\n let frameId: number;\n\n const handleContentScroll = () => {\n const dialogContentElement = dialogContentRef.current;\n if (dialogContentElement) {\n cancelAnimationFrame(frameId);\n setIsContentScrollable(\n dialogContentElement.scrollHeight > dialogContentElement.clientHeight,\n );\n }\n frameId = requestAnimationFrame(handleContentScroll);\n };\n\n if (isOpen) {\n frameId = requestAnimationFrame(handleContentScroll);\n }\n\n return () => {\n cancelAnimationFrame(frameId);\n };\n }, [isOpen]);\n\n const content =\n typeof children === \"string\" ? (\n <MuiDialogContentText>{children}</MuiDialogContentText>\n ) : (\n children\n );\n\n // Prioritize new action button format (|| used as a fallback)\n const actionButtons = [\n tertiaryCallToActionComponent || callToActionLastComponent,\n secondaryCallToActionComponent || callToActionSecondComponent,\n primaryCallToActionComponent || callToActionFirstComponent,\n ].filter(Boolean);\n\n const handleCloseButtonClick = useCallback<\n NonNullable<ButtonProps[\"onClick\"]>\n >((event) => onClose(event, \"closeButtonClick\"), [onClose]);\n\n return (\n <FullScreenOverlay>\n <MuiDialog\n aria-labelledby={dialogLabelId}\n data-se={testId}\n onClose={onClose}\n open={isOpen}\n >\n <MuiDialogTitle\n id={dialogTitleId} // We need to explicitly unset `id` for MUI to automatically set it based on the `aria-labelledby` prop passed to `MuiDialog`\n translate={translate}\n >\n <span id={dialogLabelId}>{title}</span>\n <Button\n ariaLabel={t(\"close.text\")}\n onClick={handleCloseButtonClick}\n size=\"small\"\n startIcon={<CloseIcon />}\n variant=\"floating\"\n />\n </MuiDialogTitle>\n\n <MuiDialogContent\n {...(isContentScrollable && {\n // Sets tabIndex on content element if scrollable so content is easier to navigate with the keyboard\n tabIndex: 0,\n })}\n dividers={isContentScrollable}\n ref={dialogContentRef}\n >\n {content}\n </MuiDialogContent>\n\n {actionButtons.length > 0 && (\n <MuiDialogActions>\n {actionButtons.map((actionButton, index) =>\n actionButton ? cloneElement(actionButton, { key: index }) : null,\n )}\n </MuiDialogActions>\n )}\n </MuiDialog>\n </FullScreenOverlay>\n );\n};\n\nconst MemoizedDialog = memo(Dialog);\nMemoizedDialog.displayName = \"Dialog\";\n\nexport { MemoizedDialog as Dialog };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Drawer.js
CHANGED
|
@@ -13,8 +13,9 @@ import _Drawer from "@mui/material/Drawer";
|
|
|
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 { Button } from "./Buttons/index.js";
|
|
17
|
+
import { FullScreenOverlay } from "./FullScreenOverlay.js";
|
|
18
|
+
import { useTranslation } from "./i18n.generated/i18n.js";
|
|
18
19
|
import { CloseIcon } from "./icons.generated/index.js";
|
|
19
20
|
import { useOdysseyDesignTokens } from "./OdysseyDesignTokensContext.js";
|
|
20
21
|
import { Heading5 } from "./Typography.js";
|
|
@@ -124,7 +125,7 @@ const Drawer = ({
|
|
|
124
125
|
}, [hasDividers, isContentScrollable]);
|
|
125
126
|
const hasFooter = useMemo(() => primaryCallToActionComponent || secondaryCallToActionComponent || tertiaryCallToActionComponent, [primaryCallToActionComponent, secondaryCallToActionComponent, tertiaryCallToActionComponent]);
|
|
126
127
|
const handleCloseButtonClick = useCallback(event => onClose(event, "closeButtonClick"), [onClose]);
|
|
127
|
-
|
|
128
|
+
const muiDrawerComponent = useMemo(() => _jsxs(_Drawer, {
|
|
128
129
|
anchor: anchorDirection,
|
|
129
130
|
"data-se": testId,
|
|
130
131
|
onClose: onClose,
|
|
@@ -166,7 +167,10 @@ const Drawer = ({
|
|
|
166
167
|
odysseyDesignTokens: odysseyDesignTokens,
|
|
167
168
|
children: [tertiaryCallToActionComponent, secondaryCallToActionComponent, primaryCallToActionComponent]
|
|
168
169
|
})]
|
|
169
|
-
});
|
|
170
|
+
}), [anchorDirection, ariaLabel, children, dividersVisible, handleCloseButtonClick, hasFooter, isContentScrollable, isOpen, odysseyDesignTokens, onClose, primaryCallToActionComponent, secondaryCallToActionComponent, tertiaryCallToActionComponent, testId, title, translate, variant]);
|
|
171
|
+
return variant === "temporary" ? _jsx(FullScreenOverlay, {
|
|
172
|
+
children: muiDrawerComponent
|
|
173
|
+
}) : muiDrawerComponent;
|
|
170
174
|
};
|
|
171
175
|
const MemoizedDrawer = memo(Drawer);
|
|
172
176
|
MemoizedDrawer.displayName = "Drawer";
|
package/dist/esm/Drawer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useState","useTranslation","Button","CloseIcon","useOdysseyDesignTokens","Heading5","jsx","_jsx","jsxs","_jsxs","variantValues","DrawerHeader","shouldForwardProp","prop","odysseyDesignTokens","Spacing4","Spacing5","HueNeutral900","HueNeutralWhite","hasDividers","HueNeutral200","DrawerContentWrapper","DrawerContent","DrawerFooter","Drawer","ariaLabel","children","hasDividersProp","isOpen","onClose","primaryCallToActionComponent","secondaryCallToActionComponent","showDividers","tertiaryCallToActionComponent","testId","title","translate","variant","isContentScrollable","setIsContentScrollable","drawerContentRef","i18n","anchorDirection","dir","frameId","handleContentScroll","drawerContentElement","current","cancelAnimationFrame","scrollHeight","clientHeight","requestAnimationFrame","dividersVisible","hasFooter","handleCloseButtonClick","event","_Drawer","anchor","open","sx","transition","tabIndex","ref","onClick","size","startIcon","MemoizedDrawer","displayName"],"sources":["../../src/Drawer.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n Drawer as MuiDrawer,\n DrawerProps as MuiDrawerProps,\n} from \"@mui/material\";\nimport {\n memo,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Button, ButtonProps } from \"./Buttons/index.js\";\nimport { CloseIcon } from \"./icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { Heading5 } from \"./Typography.js\";\n\ntype MuiOnCloseEvent = Parameters<Required<MuiDrawerProps>[\"onClose\"]>[0];\ntype MuiOnCloseReason = Parameters<Required<MuiDrawerProps>[\"onClose\"]>[1];\nexport type DrawerOnCloseReason = MuiOnCloseReason | \"closeButtonClick\";\n\nexport const variantValues = [\"temporary\", \"persistent\"] as const;\n\nexport type DrawerProps = {\n /**\n * The content of the Drawer. May be a `string` or any other `ReactNode` or array of `ReactNode`s.\n */\n children?: ReactNode;\n /**\n * When set to `true`, the Drawer will be visible.\n */\n isOpen?: boolean;\n /**\n * Callback that controls what happens when the Drawer is dismissed\n */\n onClose: (event: MuiOnCloseEvent, reason: DrawerOnCloseReason) => void;\n /**\n * An optional Button object to be situated in the Drawerfooter. Should almost always be of variant `primary`.\n */\n primaryCallToActionComponent?: ReactElement<typeof Button>;\n /**\n * An optional Button object to be situated in the Drawer footer, alongside the `callToActionPrimaryComponent`.\n */\n secondaryCallToActionComponent?: ReactElement<typeof Button>;\n /**\n * An optional Button object to be situated in the Drawer footer, alongside the other two `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement<typeof Button>;\n /**\n * The title of the Drawer\n */\n title?: string;\n /**\n * Type of Drawer\n */\n variant?: (typeof variantValues)[number];\n} & Pick<HtmlProps, \"ariaLabel\" | \"testId\" | \"translate\"> &\n (\n | {\n /**\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n hasDividers?: never;\n /**\n * @deprecated use `hasDividers` instead.\n *\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n showDividers: boolean;\n }\n | {\n /**\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n hasDividers: boolean;\n /**\n * @deprecated use `hasDividers` instead.\n *\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n showDividers?: never;\n }\n );\n\ninterface DrawerStyleProps {\n hasDividers: boolean;\n odysseyDesignTokens: DesignTokens;\n}\nconst DrawerHeader = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasDividers\",\n})<DrawerStyleProps>`\n position: sticky;\n top: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing4}\n ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing5};\n color: ${({ odysseyDesignTokens }) => odysseyDesignTokens.HueNeutral900};\n background-color: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.HueNeutralWhite};\n border-bottom: ${({ hasDividers, odysseyDesignTokens }) =>\n hasDividers ? `1px solid ${odysseyDesignTokens.HueNeutral200}` : \"none\"};\n`;\n\nconst DrawerContentWrapper = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>`\n overflow-y: auto;\n`;\n\nconst DrawerContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasDividers\",\n})<DrawerStyleProps>`\n padding: ${({ hasDividers, odysseyDesignTokens }) =>\n hasDividers\n ? `${odysseyDesignTokens.Spacing5}`\n : `0 ${odysseyDesignTokens.Spacing5}`};\n`;\n\nconst DrawerFooter = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasDividers\",\n})<DrawerStyleProps>`\n position: sticky;\n bottom: 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n align-content: center;\n padding: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing4};\n border-top: ${({ hasDividers, odysseyDesignTokens }) =>\n hasDividers ? `1px solid ${odysseyDesignTokens.HueNeutral200}` : \"none\"};\n background-color: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.HueNeutralWhite};\n`;\n\nconst Drawer = ({\n ariaLabel,\n children,\n hasDividers: hasDividersProp = false,\n isOpen,\n onClose,\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n showDividers = false,\n tertiaryCallToActionComponent,\n testId,\n title,\n translate,\n variant = \"temporary\",\n}: DrawerProps) => {\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const drawerContentRef = useRef<HTMLDivElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const hasDividers = hasDividersProp || showDividers;\n\n //If RTL is set in the theme, align the drawer on the left side of the screen, uses right by default.\n const { i18n } = useTranslation();\n const anchorDirection = i18n.dir() === \"rtl\" ? \"left\" : \"right\";\n\n useEffect(() => {\n let frameId: number;\n\n const handleContentScroll = () => {\n const drawerContentElement = drawerContentRef.current;\n if (drawerContentElement) {\n cancelAnimationFrame(frameId);\n setIsContentScrollable(\n drawerContentElement.scrollHeight > drawerContentElement.clientHeight,\n );\n }\n frameId = requestAnimationFrame(handleContentScroll);\n };\n\n if (isOpen) {\n frameId = requestAnimationFrame(handleContentScroll);\n }\n\n return () => {\n cancelAnimationFrame(frameId);\n };\n }, [isOpen]);\n\n const dividersVisible = useMemo(() => {\n return hasDividers || isContentScrollable;\n }, [hasDividers, isContentScrollable]);\n\n const hasFooter = useMemo(\n () =>\n primaryCallToActionComponent ||\n secondaryCallToActionComponent ||\n tertiaryCallToActionComponent,\n [\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n ],\n );\n\n const handleCloseButtonClick = useCallback<\n NonNullable<ButtonProps[\"onClick\"]>\n >((event) => onClose(event, \"closeButtonClick\"), [onClose]);\n\n return (\n <MuiDrawer\n anchor={anchorDirection}\n data-se={testId}\n onClose={onClose}\n open={isOpen}\n sx={{\n //Overrides default MUI inline style\n ...(variant === \"persistent\" && {\n \"& .MuiDrawer-paper\": {\n transition: \"none\",\n },\n }),\n }}\n variant={variant}\n >\n <DrawerContentWrapper\n {...(isContentScrollable && {\n //Sets tabIndex on content element if scrollable so content is easier to navigate with the keyboard\n tabIndex: 0,\n })}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={drawerContentRef}\n >\n <DrawerHeader\n hasDividers={dividersVisible}\n odysseyDesignTokens={odysseyDesignTokens}\n translate={translate}\n >\n <Heading5>{title}</Heading5>\n <Button\n ariaLabel={ariaLabel}\n onClick={handleCloseButtonClick}\n size=\"small\"\n startIcon={<CloseIcon />}\n variant=\"floating\"\n />\n </DrawerHeader>\n <DrawerContent\n hasDividers={dividersVisible}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {children}\n </DrawerContent>\n </DrawerContentWrapper>\n {hasFooter && (\n <DrawerFooter\n hasDividers={dividersVisible}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {tertiaryCallToActionComponent}\n {secondaryCallToActionComponent}\n {primaryCallToActionComponent}\n </DrawerFooter>\n )}\n </MuiDrawer>\n );\n};\n\nconst MemoizedDrawer = memo(Drawer);\nMemoizedDrawer.displayName = \"Drawer\";\n\nexport { MemoizedDrawer as Drawer };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"Drawer.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useState","Button","FullScreenOverlay","useTranslation","CloseIcon","useOdysseyDesignTokens","Heading5","jsx","_jsx","jsxs","_jsxs","variantValues","DrawerHeader","shouldForwardProp","prop","odysseyDesignTokens","Spacing4","Spacing5","HueNeutral900","HueNeutralWhite","hasDividers","HueNeutral200","DrawerContentWrapper","DrawerContent","DrawerFooter","Drawer","ariaLabel","children","hasDividersProp","isOpen","onClose","primaryCallToActionComponent","secondaryCallToActionComponent","showDividers","tertiaryCallToActionComponent","testId","title","translate","variant","isContentScrollable","setIsContentScrollable","drawerContentRef","i18n","anchorDirection","dir","frameId","handleContentScroll","drawerContentElement","current","cancelAnimationFrame","scrollHeight","clientHeight","requestAnimationFrame","dividersVisible","hasFooter","handleCloseButtonClick","event","muiDrawerComponent","_Drawer","anchor","open","sx","transition","tabIndex","ref","onClick","size","startIcon","MemoizedDrawer","displayName"],"sources":["../../src/Drawer.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport {\n Drawer as MuiDrawer,\n DrawerProps as MuiDrawerProps,\n} from \"@mui/material\";\nimport {\n memo,\n ReactElement,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Button, ButtonProps } from \"./Buttons/index.js\";\nimport { FullScreenOverlay } from \"./FullScreenOverlay.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { CloseIcon } from \"./icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { Heading5 } from \"./Typography.js\";\n\ntype MuiOnCloseEvent = Parameters<Required<MuiDrawerProps>[\"onClose\"]>[0];\ntype MuiOnCloseReason = Parameters<Required<MuiDrawerProps>[\"onClose\"]>[1];\nexport type DrawerOnCloseReason = MuiOnCloseReason | \"closeButtonClick\";\n\nexport const variantValues = [\"temporary\", \"persistent\"] as const;\n\nexport type DrawerProps = {\n /**\n * The content of the Drawer. May be a `string` or any other `ReactNode` or array of `ReactNode`s.\n */\n children?: ReactNode;\n /**\n * When set to `true`, the Drawer will be visible.\n */\n isOpen?: boolean;\n /**\n * Callback that controls what happens when the Drawer is dismissed\n */\n onClose: (event: MuiOnCloseEvent, reason: DrawerOnCloseReason) => void;\n /**\n * An optional Button object to be situated in the Drawerfooter. Should almost always be of variant `primary`.\n */\n primaryCallToActionComponent?: ReactElement<typeof Button>;\n /**\n * An optional Button object to be situated in the Drawer footer, alongside the `callToActionPrimaryComponent`.\n */\n secondaryCallToActionComponent?: ReactElement<typeof Button>;\n /**\n * An optional Button object to be situated in the Drawer footer, alongside the other two `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement<typeof Button>;\n /**\n * The title of the Drawer\n */\n title?: string;\n /**\n * Type of Drawer\n */\n variant?: (typeof variantValues)[number];\n} & Pick<HtmlProps, \"ariaLabel\" | \"testId\" | \"translate\"> &\n (\n | {\n /**\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n hasDividers?: never;\n /**\n * @deprecated use `hasDividers` instead.\n *\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n showDividers: boolean;\n }\n | {\n /**\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n hasDividers: boolean;\n /**\n * @deprecated use `hasDividers` instead.\n *\n * Shows divider lines separating header, content, and footer (if using action buttons).\n */\n showDividers?: never;\n }\n );\n\ntype DrawerStyleProps = {\n hasDividers: boolean;\n odysseyDesignTokens: DesignTokens;\n};\n\nconst DrawerHeader = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasDividers\",\n})<DrawerStyleProps>`\n position: sticky;\n top: 0;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing4}\n ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing5};\n color: ${({ odysseyDesignTokens }) => odysseyDesignTokens.HueNeutral900};\n background-color: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.HueNeutralWhite};\n border-bottom: ${({ hasDividers, odysseyDesignTokens }) =>\n hasDividers ? `1px solid ${odysseyDesignTokens.HueNeutral200}` : \"none\"};\n`;\n\nconst DrawerContentWrapper = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>`\n overflow-y: auto;\n`;\n\nconst DrawerContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasDividers\",\n})<DrawerStyleProps>`\n padding: ${({ hasDividers, odysseyDesignTokens }) =>\n hasDividers\n ? `${odysseyDesignTokens.Spacing5}`\n : `0 ${odysseyDesignTokens.Spacing5}`};\n`;\n\nconst DrawerFooter = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"hasDividers\",\n})<DrawerStyleProps>`\n position: sticky;\n bottom: 0;\n display: flex;\n justify-content: flex-end;\n align-items: center;\n align-content: center;\n padding: ${({ odysseyDesignTokens }) => odysseyDesignTokens.Spacing4};\n border-top: ${({ hasDividers, odysseyDesignTokens }) =>\n hasDividers ? `1px solid ${odysseyDesignTokens.HueNeutral200}` : \"none\"};\n background-color: ${({ odysseyDesignTokens }) =>\n odysseyDesignTokens.HueNeutralWhite};\n`;\n\nconst Drawer = ({\n ariaLabel,\n children,\n hasDividers: hasDividersProp = false,\n isOpen,\n onClose,\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n showDividers = false,\n tertiaryCallToActionComponent,\n testId,\n title,\n translate,\n variant = \"temporary\",\n}: DrawerProps) => {\n const [isContentScrollable, setIsContentScrollable] = useState(false);\n const drawerContentRef = useRef<HTMLDivElement>(null);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const hasDividers = hasDividersProp || showDividers;\n\n //If RTL is set in the theme, align the drawer on the left side of the screen, uses right by default.\n const { i18n } = useTranslation();\n const anchorDirection = i18n.dir() === \"rtl\" ? \"left\" : \"right\";\n\n useEffect(() => {\n let frameId: number;\n\n const handleContentScroll = () => {\n const drawerContentElement = drawerContentRef.current;\n if (drawerContentElement) {\n cancelAnimationFrame(frameId);\n setIsContentScrollable(\n drawerContentElement.scrollHeight > drawerContentElement.clientHeight,\n );\n }\n frameId = requestAnimationFrame(handleContentScroll);\n };\n\n if (isOpen) {\n frameId = requestAnimationFrame(handleContentScroll);\n }\n\n return () => {\n cancelAnimationFrame(frameId);\n };\n }, [isOpen]);\n\n const dividersVisible = useMemo(() => {\n return hasDividers || isContentScrollable;\n }, [hasDividers, isContentScrollable]);\n\n const hasFooter = useMemo(\n () =>\n primaryCallToActionComponent ||\n secondaryCallToActionComponent ||\n tertiaryCallToActionComponent,\n [\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n ],\n );\n\n const handleCloseButtonClick = useCallback<\n NonNullable<ButtonProps[\"onClick\"]>\n >((event) => onClose(event, \"closeButtonClick\"), [onClose]);\n\n const muiDrawerComponent = useMemo(\n () => (\n <MuiDrawer\n anchor={anchorDirection}\n data-se={testId}\n onClose={onClose}\n open={isOpen}\n sx={{\n //Overrides default MUI inline style\n ...(variant === \"persistent\" && {\n \"& .MuiDrawer-paper\": {\n transition: \"none\",\n },\n }),\n }}\n variant={variant}\n >\n <DrawerContentWrapper\n {...(isContentScrollable && {\n //Sets tabIndex on content element if scrollable so content is easier to navigate with the keyboard\n tabIndex: 0,\n })}\n odysseyDesignTokens={odysseyDesignTokens}\n ref={drawerContentRef}\n >\n <DrawerHeader\n hasDividers={dividersVisible}\n odysseyDesignTokens={odysseyDesignTokens}\n translate={translate}\n >\n <Heading5>{title}</Heading5>\n\n <Button\n ariaLabel={ariaLabel}\n onClick={handleCloseButtonClick}\n size=\"small\"\n startIcon={<CloseIcon />}\n variant=\"floating\"\n />\n </DrawerHeader>\n <DrawerContent\n hasDividers={dividersVisible}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {children}\n </DrawerContent>\n </DrawerContentWrapper>\n {hasFooter && (\n <DrawerFooter\n hasDividers={dividersVisible}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {tertiaryCallToActionComponent}\n {secondaryCallToActionComponent}\n {primaryCallToActionComponent}\n </DrawerFooter>\n )}\n </MuiDrawer>\n ),\n [\n anchorDirection,\n ariaLabel,\n children,\n dividersVisible,\n handleCloseButtonClick,\n hasFooter,\n isContentScrollable,\n isOpen,\n odysseyDesignTokens,\n onClose,\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n testId,\n title,\n translate,\n variant,\n ],\n );\n\n return variant === \"temporary\" ? (\n <FullScreenOverlay>{muiDrawerComponent}</FullScreenOverlay>\n ) : (\n muiDrawerComponent\n );\n};\n\nconst MemoizedDrawer = memo(Drawer);\nMemoizedDrawer.displayName = \"Drawer\";\n\nexport { MemoizedDrawer as Drawer };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/Field.js
CHANGED
|
@@ -12,11 +12,11 @@ import _FormLabel from "@mui/material/FormLabel";
|
|
|
12
12
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
13
13
|
*/
|
|
14
14
|
import { memo, useMemo } from "react";
|
|
15
|
-
import { useTranslation } from "react-i18next";
|
|
16
15
|
import { FieldError } from "./FieldError.js";
|
|
17
16
|
import { FieldHint } from "./FieldHint.js";
|
|
18
17
|
import { FieldLabel } from "./FieldLabel.js";
|
|
19
18
|
import { useFieldset } from "./FieldsetContext.js";
|
|
19
|
+
import { useTranslation } from "./i18n.generated/i18n.js";
|
|
20
20
|
import { Typography } from "./Typography.js";
|
|
21
21
|
import { useUniqueId } from "./useUniqueId.js";
|
|
22
22
|
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
package/dist/esm/Field.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Field.js","names":["memo","useMemo","
|
|
1
|
+
{"version":3,"file":"Field.js","names":["memo","useMemo","FieldError","FieldHint","FieldLabel","useFieldset","useTranslation","Typography","useUniqueId","jsxs","_jsxs","jsx","_jsx","fieldTypeValues","Field","ariaDescribedBy","errorMessage","errorMessageList","fieldType","hasVisibleLabel","hint","HintLinkComponent","id","idOverride","isDisabled","isDisabledProp","isFullWidth","isRadioGroup","isOptional","isReadOnly","label","renderFieldComponent","t","hintId","undefined","errorMessageElementId","labelElementId","localAriaDescribedBy","join","trim","isFieldsetDisabled","_FormControl","component","disabled","error","Boolean","Array","isArray","length","fullWidth","role","children","_FormLabel","color","inputId","text","LinkComponent","message","messageList","MemoizedField","displayName"],"sources":["../../src/Field.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 {\n FormControl as MuiFormControl,\n FormLabel as MuiFormLabel,\n} from \"@mui/material\";\nimport { memo, ReactElement, useMemo } from \"react\";\n\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport { FieldError } from \"./FieldError.js\";\nimport { FieldHint } from \"./FieldHint.js\";\nimport { FieldLabel } from \"./FieldLabel.js\";\nimport { useFieldset } from \"./FieldsetContext.js\";\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { Typography } from \"./Typography.js\";\nimport { useUniqueId } from \"./useUniqueId.js\";\n\nexport const fieldTypeValues = [\"single\", \"group\"] as const;\n\nexport type RenderFieldComponentProps = {\n ariaDescribedBy?: string;\n dataSe?: string;\n errorMessageElementId?: string;\n id: string;\n isReadOnly?: boolean;\n labelElementId: string;\n};\n\nexport type FieldProps = {\n /**\n * If `error` is not undefined, the `input` will indicate an error.\n */\n errorMessageList?: string[];\n /**\n * The field type determines how ARIA components are setup. It's important to use this to denote if you expect only one component (like a text field) or multiple (like a radio group).\n */\n fieldType: (typeof fieldTypeValues)[number];\n /**\n * If `true`, the Field label will be shown\n */\n hasVisibleLabel: boolean;\n /**\n * Important for determining if children inherit error state\n */\n isCheckboxGroup?: boolean;\n /**\n * Important for narrowing down the `fieldset` role to \"radiogroup\".\n */\n isRadioGroup?: boolean;\n /**\n * The label for the `input` element.\n */\n label: string;\n /**\n * The short hint displayed in the `input` before the user enters a value.\n */\n placeholder?: string;\n /**\n * Render-props function that sends back ARIA props to your field component.\n */\n renderFieldComponent: ({\n ariaDescribedBy,\n dataSe,\n errorMessageElementId,\n id,\n labelElementId,\n isReadOnly,\n }: RenderFieldComponentProps) => ReactElement;\n};\n\nconst Field = ({\n ariaDescribedBy,\n errorMessage,\n errorMessageList,\n fieldType,\n hasVisibleLabel,\n hint,\n HintLinkComponent,\n id: idOverride,\n isDisabled: isDisabledProp = false,\n isFullWidth = false,\n isRadioGroup = false,\n isOptional = false,\n isReadOnly = false,\n label,\n renderFieldComponent,\n}: FieldProps &\n Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"errorMessageList\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isDisabled\"\n | \"isFullWidth\"\n | \"isOptional\"\n | \"isReadOnly\"\n > &\n Pick<HtmlProps, \"ariaDescribedBy\">) => {\n const { t } = useTranslation();\n\n const id = useUniqueId(idOverride);\n const hintId = hint ? `${id}-hint` : undefined;\n const errorMessageElementId =\n errorMessage || errorMessageList ? `${id}-error` : undefined;\n const labelElementId = `${id}-label`;\n\n const localAriaDescribedBy = useMemo(\n () =>\n [hintId, errorMessageElementId, ariaDescribedBy].join(\" \").trim() ||\n undefined,\n [ariaDescribedBy, errorMessageElementId, hintId],\n );\n\n const { isDisabled: isFieldsetDisabled } = useFieldset();\n\n const isDisabled = useMemo(\n () => isDisabledProp || isFieldsetDisabled,\n [isDisabledProp, isFieldsetDisabled],\n );\n\n return (\n <MuiFormControl\n component={fieldType === \"group\" ? \"fieldset\" : \"div\"}\n disabled={isDisabled}\n error={\n Boolean(errorMessage) ||\n (Array.isArray(errorMessageList) && errorMessageList.length > 0)\n }\n fullWidth={isFullWidth}\n role={isRadioGroup ? \"radiogroup\" : undefined}\n >\n {fieldType === \"group\" ? (\n <MuiFormLabel component=\"legend\" id={labelElementId}>\n {label}{\" \"}\n {isOptional && label && (\n <Typography color=\"textSecondary\" component=\"span\">\n ({t(\"fieldlabel.optional.text\")})\n </Typography>\n )}\n </MuiFormLabel>\n ) : (\n <FieldLabel\n hasVisibleLabel={hasVisibleLabel}\n id={labelElementId}\n inputId={id}\n isOptional={isOptional}\n text={label}\n />\n )}\n\n {hint && (\n <FieldHint id={hintId} LinkComponent={HintLinkComponent} text={hint} />\n )}\n\n {renderFieldComponent({\n ariaDescribedBy: localAriaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n isReadOnly,\n })}\n\n {(errorMessage || errorMessageList) && (\n <FieldError\n id={errorMessageElementId}\n message={errorMessage}\n messageList={errorMessageList}\n />\n )}\n </MuiFormControl>\n );\n};\n\nconst MemoizedField = memo(Field);\nMemoizedField.displayName = \"Field\";\n\nexport { MemoizedField as Field };\n"],"mappings":"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","ignoreList":[]}
|
package/dist/esm/FieldError.js
CHANGED
|
@@ -11,9 +11,9 @@ import _FormHelperText from "@mui/material/FormHelperText";
|
|
|
11
11
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
12
12
|
*/
|
|
13
13
|
import { memo } from "react";
|
|
14
|
-
import { useTranslation } from "react-i18next";
|
|
15
14
|
import { Box } from "./Box.js";
|
|
16
15
|
import { ErrorMessageList } from "./ErrorMessageList.js";
|
|
16
|
+
import { useTranslation } from "./i18n.generated/i18n.js";
|
|
17
17
|
import { ScreenReaderText } from "./ScreenReaderText.js";
|
|
18
18
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
19
19
|
const FieldError = ({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldError.js","names":["memo","
|
|
1
|
+
{"version":3,"file":"FieldError.js","names":["memo","Box","ErrorMessageList","useTranslation","ScreenReaderText","jsx","_jsx","jsxs","_jsxs","FieldError","id","message","messageList","testId","translate","t","_FormHelperText","component","error","children","errorMessages","MemoizedFieldError","displayName"],"sources":["../../src/FieldError.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { FormHelperText } from \"@mui/material\";\nimport { memo } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Box } from \"./Box.js\";\nimport { ErrorMessageList } from \"./ErrorMessageList.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { ScreenReaderText } from \"./ScreenReaderText.js\";\n\nexport type FieldErrorProps = {\n id?: string;\n message?: string;\n messageList?: string[];\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst FieldError = ({\n id,\n message,\n messageList,\n testId,\n translate,\n}: FieldErrorProps) => {\n const { t } = useTranslation();\n\n return (\n <FormHelperText\n component=\"div\"\n data-se={testId}\n error\n id={id}\n translate={translate}\n >\n <ScreenReaderText translate={translate}>{`${t(\n \"fielderror.screenreader.text\",\n )}:`}</ScreenReaderText>\n <Box>\n {message}\n {messageList && <ErrorMessageList errorMessages={messageList} />}\n </Box>\n </FormHelperText>\n );\n};\n\nconst MemoizedFieldError = memo(FieldError);\nMemoizedFieldError.displayName = \"FieldError\";\n\nexport { MemoizedFieldError as FieldError };\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,IAAI,QAAQ,OAAO;AAI5B,SAASC,GAAG,QAAQ,UAAU;AAC9B,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,gBAAgB,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAQzD,MAAMC,UAAU,GAAGA,CAAC;EAClBC,EAAE;EACFC,OAAO;EACPC,WAAW;EACXC,MAAM;EACNC;AACe,CAAC,KAAK;EACrB,MAAM;IAAEC;EAAE,CAAC,GAAGZ,cAAc,CAAC,CAAC;EAE9B,OACEK,KAAA,CAAAQ,eAAA;IACEC,SAAS,EAAC,KAAK;IACf,WAASJ,MAAO;IAChBK,KAAK;IACLR,EAAE,EAAEA,EAAG;IACPI,SAAS,EAAEA,SAAU;IAAAK,QAAA,GAErBb,IAAA,CAACF,gBAAgB;MAACU,SAAS,EAAEA,SAAU;MAAAK,QAAA,EAAE,GAAGJ,CAAC,CAC3C,8BACF,CAAC;IAAG,CAAmB,CAAC,EACxBP,KAAA,CAACP,GAAG;MAAAkB,QAAA,GACDR,OAAO,EACPC,WAAW,IAAIN,IAAA,CAACJ,gBAAgB;QAACkB,aAAa,EAAER;MAAY,CAAE,CAAC;IAAA,CAC7D,CAAC;EAAA,CACQ,CAAC;AAErB,CAAC;AAED,MAAMS,kBAAkB,GAAGrB,IAAI,CAACS,UAAU,CAAC;AAC3CY,kBAAkB,CAACC,WAAW,GAAG,YAAY;AAE7C,SAASD,kBAAkB,IAAIZ,UAAU","ignoreList":[]}
|
package/dist/esm/FieldLabel.js
CHANGED
|
@@ -11,7 +11,7 @@ import _InputLabel from "@mui/material/InputLabel";
|
|
|
11
11
|
* See the License for the specific language governing permissions and limitations under the License.
|
|
12
12
|
*/
|
|
13
13
|
import { memo, useMemo } from "react";
|
|
14
|
-
import { useTranslation } from "
|
|
14
|
+
import { useTranslation } from "./i18n.generated/i18n.js";
|
|
15
15
|
import { ScreenReaderText } from "./ScreenReaderText.js";
|
|
16
16
|
import { Subordinate } from "./Typography.js";
|
|
17
17
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FieldLabel.js","names":["memo","useMemo","useTranslation","ScreenReaderText","Subordinate","jsx","_jsx","jsxs","_jsxs","FieldLabel","hasVisibleLabel","id","inputId","isOptional","testId","translate","text","t","inputLabel","_InputLabel","htmlFor","children","MemoizedFieldLabel","displayName"],"sources":["../../src/FieldLabel.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { InputLabel as MuiInputLabel } from \"@mui/material\";\nimport { memo, useMemo } from \"react\";\nimport {
|
|
1
|
+
{"version":3,"file":"FieldLabel.js","names":["memo","useMemo","useTranslation","ScreenReaderText","Subordinate","jsx","_jsx","jsxs","_jsxs","FieldLabel","hasVisibleLabel","id","inputId","isOptional","testId","translate","text","t","inputLabel","_InputLabel","htmlFor","children","MemoizedFieldLabel","displayName"],"sources":["../../src/FieldLabel.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { InputLabel as MuiInputLabel } from \"@mui/material\";\nimport { memo, useMemo } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { ScreenReaderText } from \"./ScreenReaderText.js\";\nimport { Subordinate } from \"./Typography.js\";\n\nexport type FieldLabelProps = {\n hasVisibleLabel: boolean;\n id: string;\n inputId: string;\n isOptional: boolean;\n text: string;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst FieldLabel = ({\n hasVisibleLabel,\n id,\n inputId,\n isOptional,\n testId,\n translate,\n text,\n}: FieldLabelProps) => {\n const { t } = useTranslation();\n\n const inputLabel = useMemo(\n () => (\n <MuiInputLabel\n data-se={testId}\n htmlFor={inputId}\n id={id}\n translate={translate}\n >\n <span>{text}</span>\n {isOptional && (\n <Subordinate>{t(\"fieldlabel.optional.text\")}</Subordinate>\n )}\n </MuiInputLabel>\n ),\n [id, inputId, isOptional, testId, translate, text, t],\n );\n\n return hasVisibleLabel ? (\n inputLabel\n ) : (\n <ScreenReaderText translate={translate}>{inputLabel}</ScreenReaderText>\n );\n};\n\nconst MemoizedFieldLabel = memo(FieldLabel);\nMemoizedFieldLabel.displayName = \"FieldLabel\";\n\nexport { MemoizedFieldLabel as FieldLabel };\n"],"mappings":";AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,IAAI,EAAEC,OAAO,QAAQ,OAAO;AAIrC,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,gBAAgB,QAAQ,uBAAuB;AACxD,SAASC,WAAW,QAAQ,iBAAiB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAU9C,MAAMC,UAAU,GAAGA,CAAC;EAClBC,eAAe;EACfC,EAAE;EACFC,OAAO;EACPC,UAAU;EACVC,MAAM;EACNC,SAAS;EACTC;AACe,CAAC,KAAK;EACrB,MAAM;IAAEC;EAAE,CAAC,GAAGf,cAAc,CAAC,CAAC;EAE9B,MAAMgB,UAAU,GAAGjB,OAAO,CACxB,MACEO,KAAA,CAAAW,WAAA;IACE,WAASL,MAAO;IAChBM,OAAO,EAAER,OAAQ;IACjBD,EAAE,EAAEA,EAAG;IACPI,SAAS,EAAEA,SAAU;IAAAM,QAAA,GAErBf,IAAA;MAAAe,QAAA,EAAOL;IAAI,CAAO,CAAC,EAClBH,UAAU,IACTP,IAAA,CAACF,WAAW;MAAAiB,QAAA,EAAEJ,CAAC,CAAC,0BAA0B;IAAC,CAAc,CAC1D;EAAA,CACY,CAChB,EACD,CAACN,EAAE,EAAEC,OAAO,EAAEC,UAAU,EAAEC,MAAM,EAAEC,SAAS,EAAEC,IAAI,EAAEC,CAAC,CACtD,CAAC;EAED,OAAOP,eAAe,GACpBQ,UAAU,GAEVZ,IAAA,CAACH,gBAAgB;IAACY,SAAS,EAAEA,SAAU;IAAAM,QAAA,EAAEH;EAAU,CAAmB,CACvE;AACH,CAAC;AAED,MAAMI,kBAAkB,GAAGtB,IAAI,CAACS,UAAU,CAAC;AAC3Ca,kBAAkB,CAACC,WAAW,GAAG,YAAY;AAE7C,SAASD,kBAAkB,IAAIb,UAAU","ignoreList":[]}
|
|
@@ -13,7 +13,7 @@ import _IconButton from "@mui/material/IconButton";
|
|
|
13
13
|
|
|
14
14
|
import styled from "@emotion/styled";
|
|
15
15
|
import { memo, useCallback } from "react";
|
|
16
|
-
import { useTranslation } from "
|
|
16
|
+
import { useTranslation } from "../i18n.generated/i18n.js";
|
|
17
17
|
import { DeleteIcon } from "../icons.generated/index.js";
|
|
18
18
|
import { MuiPropsContext } from "../MuiPropsContext.js";
|
|
19
19
|
import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploadPreview.js","names":["styled","memo","useCallback","useTranslation","DeleteIcon","MuiPropsContext","useOdysseyDesignTokens","Tooltip","jsx","_jsx","jsxs","_jsxs","PreviewContainer","div","isDisabled","odysseyDesignTokens","color","TypographyColorDisabled","marginBlockStart","Spacing2","pointerEvents","UploadedFileContainer","display","justifyContent","alignItems","button","transform","padding","Spacing1","borderRadius","BorderRadiusMain","transition","TransitionTimingMain","backgroundColor","HueNeutral100","borderColor","FocusOutlineColorPrimary","boxShadow","outline","FocusOutlineWidthMain","FocusOutlineStyle","UploadedFile","name","onFileRemove","t","deleteHandler","renderDeleteButton","muiProps","_IconButton","onClick","size","children","tabIndex","ariaType","placement","text","Consumer","FileUploadPreview","fileNames","map","index","MemoizedFileUploadPreview","displayName"],"sources":["../../../src/FileUploader/FileUploadPreview.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 } from \"@mui/material\";\nimport { memo, useCallback } from \"react\";\nimport { useTranslation } from \"
|
|
1
|
+
{"version":3,"file":"FileUploadPreview.js","names":["styled","memo","useCallback","useTranslation","DeleteIcon","MuiPropsContext","useOdysseyDesignTokens","Tooltip","jsx","_jsx","jsxs","_jsxs","PreviewContainer","div","isDisabled","odysseyDesignTokens","color","TypographyColorDisabled","marginBlockStart","Spacing2","pointerEvents","UploadedFileContainer","display","justifyContent","alignItems","button","transform","padding","Spacing1","borderRadius","BorderRadiusMain","transition","TransitionTimingMain","backgroundColor","HueNeutral100","borderColor","FocusOutlineColorPrimary","boxShadow","outline","FocusOutlineWidthMain","FocusOutlineStyle","UploadedFile","name","onFileRemove","t","deleteHandler","renderDeleteButton","muiProps","_IconButton","onClick","size","children","tabIndex","ariaType","placement","text","Consumer","FileUploadPreview","fileNames","map","index","MemoizedFileUploadPreview","displayName"],"sources":["../../../src/FileUploader/FileUploadPreview.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 } from \"@mui/material\";\nimport { memo, useCallback } from \"react\";\n\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport { DeleteIcon } from \"../icons.generated/index.js\";\nimport { MuiPropsContext, MuiPropsContextType } from \"../MuiPropsContext.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { Tooltip } from \"../Tooltip.js\";\nimport { FileUploaderProps } from \"./FileUploader.js\";\n\nconst PreviewContainer = styled.div<{\n isDisabled: FileUploaderProps[\"isDisabled\"];\n odysseyDesignTokens: DesignTokens;\n}>(({ isDisabled, odysseyDesignTokens }) => ({\n color: isDisabled ? odysseyDesignTokens.TypographyColorDisabled : \"inherit\",\n marginBlockStart: odysseyDesignTokens.Spacing2,\n pointerEvents: isDisabled ? \"none\" : \"auto\",\n}));\n\nconst UploadedFileContainer = styled.div<{ odysseyDesignTokens: DesignTokens }>(\n {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n\n button: {\n transform: \"scale(0)\",\n },\n\n \"&:hover, &:focus-within, &:focus\": {\n button: {\n transform: \"scale(1)\",\n },\n },\n },\n ({ odysseyDesignTokens }) => ({\n padding: `${odysseyDesignTokens.Spacing1} ${odysseyDesignTokens.Spacing2}`,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `background-color ${odysseyDesignTokens.TransitionTimingMain}`,\n\n \"&:hover, &:focus-within\": {\n backgroundColor: odysseyDesignTokens.HueNeutral100,\n },\n\n \"&:focus\": {\n borderColor: odysseyDesignTokens.FocusOutlineColorPrimary,\n boxShadow: `0 0 0 2px ${odysseyDesignTokens.FocusOutlineColorPrimary}`,\n outline: `${odysseyDesignTokens.FocusOutlineWidthMain} ${odysseyDesignTokens.FocusOutlineStyle} transparent`,\n },\n }),\n);\n\ntype UploadedFileProps = {\n name: string;\n onFileRemove?: (name: string) => void;\n};\n\nconst UploadedFile = ({ name, onFileRemove }: UploadedFileProps) => {\n const { t } = useTranslation();\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const deleteHandler = useCallback(() => {\n onFileRemove?.(name);\n }, [onFileRemove, name]);\n\n const renderDeleteButton = useCallback(\n (muiProps: MuiPropsContextType) => {\n return (\n <IconButton\n {...muiProps}\n aria-label={t(\"fileupload.removefile.text\")}\n onClick={deleteHandler}\n size=\"small\"\n >\n <DeleteIcon />\n </IconButton>\n );\n },\n [deleteHandler, t],\n );\n\n return (\n <UploadedFileContainer\n odysseyDesignTokens={odysseyDesignTokens}\n // tabindex added to make this element focusable\n tabIndex={0}\n >\n {name}\n <Tooltip\n ariaType=\"description\"\n placement=\"top\"\n text={t(\"fileupload.removefile.text\")}\n >\n <MuiPropsContext.Consumer>\n {renderDeleteButton}\n </MuiPropsContext.Consumer>\n </Tooltip>\n </UploadedFileContainer>\n );\n};\n\ntype FileUploadPreviewProps = {\n fileNames: string[];\n isDisabled: FileUploaderProps[\"isDisabled\"];\n onFileRemove?: (name: string) => void;\n};\n\nconst FileUploadPreview = ({\n fileNames,\n isDisabled,\n onFileRemove,\n}: FileUploadPreviewProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n return (\n <PreviewContainer\n data-file-preview-container=\"true\"\n isDisabled={isDisabled}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {fileNames?.map((name, index) => (\n <UploadedFile\n key={`${index}-${name}`}\n name={name}\n onFileRemove={onFileRemove}\n />\n ))}\n </PreviewContainer>\n );\n};\n\nconst MemoizedFileUploadPreview = memo(FileUploadPreview);\nMemoizedFileUploadPreview.displayName = \"FileUploadPreview\";\n\nexport { MemoizedFileUploadPreview as FileUploadPreview };\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -12,9 +12,9 @@
|
|
|
12
12
|
|
|
13
13
|
import styled from "@emotion/styled";
|
|
14
14
|
import { memo, useCallback, useEffect, useRef, useState } from "react";
|
|
15
|
-
import { useTranslation } from "react-i18next";
|
|
16
15
|
import { Button } from "../Buttons/index.js";
|
|
17
16
|
import { Field } from "../Field.js";
|
|
17
|
+
import { useTranslation } from "../i18n.generated/i18n.js";
|
|
18
18
|
import { UploadIcon } from "../icons.generated/index.js";
|
|
19
19
|
import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
|
|
20
20
|
import { Support } from "../Typography.js";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FileUploader.js","names":["styled","memo","useCallback","useEffect","useRef","useState","useTranslation","Button","Field","UploadIcon","useOdysseyDesignTokens","Support","FileUploadIllustration","FileUploadPreview","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","fileUploadTypes","fileUploadVariants","BaseInputWrapper","div","position","alignSelf","input","width","height","opacity","InputContainer","display","alignItems","justifyContent","borderStyle","hasError","odysseyDesignTokens","padding","Spacing6","Spacing3","border","PaletteDangerMain","HueNeutral300","borderRadius","BorderRadiusMain","transition","TransitionTimingMain","borderColor","HueNeutral700","FocusOutlineColorPrimary","boxShadow","outline","FocusOutlineWidthMain","FocusOutlineStyle","outlineOffset","FocusOutlineOffsetTight","backgroundColor","HueNeutral50","BorderColorDisabled","color","TypographyColorDisabled","ButtonAndInfoContainer","flexDirection","CenterAlignedSupportText","textAlign","FileUploader","acceptedFileTypes","errorMessage","id","isDisabled","isFullWidth","isOptional","hint","HintLinkComponent","label","onChange","type","variant","t","inputRef","filesToUpload","setFilesToUpload","updateFilesToUpload","event","files","target","length","mergedFiles","concat","Array","from","slice","value","triggerFileInputClick","current","click","removeFileFromFilesToUploadList","name","deletedFileFilteredOut","filter","file","renderFileInput","ariaDescribedBy","errorMessageElementId","labelElementId","acceptedFileTypesAsString","join","Input","accept","disabled","multiple","ref","title","children","onClick","startIcon","Boolean","fieldType","hasVisibleLabel","renderFieldComponent","fileNames","map","onFileRemove","MemoizedFileUploader","displayName","FileUpload"],"sources":["../../../src/FileUploader/FileUploader.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 ChangeEvent,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { Button } from \"../Buttons/index.js\";\nimport { Field, RenderFieldComponentProps } from \"../Field.js\";\nimport { FieldComponentProps } from \"../FieldComponentProps.js\";\nimport { UploadIcon } from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { Support } from \"../Typography.js\";\nimport { FileUploadIllustration } from \"./FileUploadIllustration.js\";\nimport { FileUploadPreview } from \"./FileUploadPreview.js\";\n\nexport const fileUploadTypes = [\"single\", \"multiple\"] as const;\nexport const fileUploadVariants = [\n \"button\",\n \"dragAndDrop\",\n \"dragAndDropWithIcon\",\n] as const;\n\nconst BaseInputWrapper = styled.div({\n position: \"relative\",\n alignSelf: \"flex-start\",\n\n input: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n opacity: 0,\n },\n});\n\nconst InputContainer = styled(BaseInputWrapper)<{\n hasError: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n {\n display: \"flex\",\n alignSelf: \"unset\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n \"&:has(input:focus)\": {\n borderStyle: \"solid\",\n },\n },\n ({ hasError, odysseyDesignTokens }) => ({\n padding: `${odysseyDesignTokens.Spacing6} ${odysseyDesignTokens.Spacing3}`,\n border: hasError\n ? `1px solid ${odysseyDesignTokens.PaletteDangerMain}`\n : `1px dashed ${odysseyDesignTokens.HueNeutral300}`,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `border-color ${odysseyDesignTokens.TransitionTimingMain}, box-shadow ${odysseyDesignTokens.TransitionTimingMain}`,\n\n \"&:hover\": {\n borderColor: odysseyDesignTokens.HueNeutral700,\n },\n\n \"&:has(input:focus)\": {\n borderColor: odysseyDesignTokens.FocusOutlineColorPrimary,\n boxShadow: `0 0 0 1px ${odysseyDesignTokens.FocusOutlineColorPrimary}`,\n outline: `${odysseyDesignTokens.FocusOutlineWidthMain} ${odysseyDesignTokens.FocusOutlineStyle} transparent`,\n outlineOffset: odysseyDesignTokens.FocusOutlineOffsetTight,\n },\n\n \"&:has(input:disabled)\": {\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n border: `1px solid ${odysseyDesignTokens.BorderColorDisabled}`,\n color: odysseyDesignTokens.TypographyColorDisabled,\n\n \"&:hover\": {\n borderColor: odysseyDesignTokens.BorderColorDisabled,\n },\n },\n }),\n);\n\nconst ButtonAndInfoContainer = styled.div({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n});\n\nconst CenterAlignedSupportText = styled.div({\n textAlign: \"center\",\n});\n\nexport type FileUploaderProps = {\n /**\n * an array of file types the user is able to upload. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept#unique_file_type_specifiers for examples\n */\n acceptedFileTypes?: string[];\n /**\n * The label for the `input` element.\n */\n label: string;\n /**\n * Function that is called when the list of ifles to upload is changed\n */\n onChange: (files: File[]) => void;\n /**\n * Either `single` or `multiple`. If `multiple`, multiple files can be uploaded\n */\n type?: (typeof fileUploadTypes)[number];\n /**\n * Either `button`, `dragAndDrop` or `dragAndDropWithIcon`. Will determine how component appears visually\n */\n variant: (typeof fileUploadVariants)[number];\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isDisabled\"\n | \"isFullWidth\"\n | \"isOptional\"\n>;\n\nconst FileUploader = ({\n acceptedFileTypes,\n errorMessage,\n id,\n isDisabled = false,\n isFullWidth,\n isOptional,\n hint,\n HintLinkComponent,\n label,\n onChange,\n type,\n variant,\n}: FileUploaderProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const inputRef = useRef<HTMLInputElement>(null);\n const [filesToUpload, setFilesToUpload] = useState<File[]>([]);\n\n useEffect(() => {\n onChange(filesToUpload);\n }, [filesToUpload, onChange]);\n\n const updateFilesToUpload = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const { files } = event.target;\n\n if (files && files.length > 0) {\n const mergedFiles =\n type === \"multiple\"\n ? filesToUpload.concat(Array.from(files))\n : Array.from(files).slice();\n\n setFilesToUpload(mergedFiles);\n }\n\n // reset input value to allow re-upload of a file with the same name\n event.target.value = \"\";\n },\n [type, filesToUpload],\n );\n\n const triggerFileInputClick = useCallback(() => {\n inputRef.current?.click();\n }, [inputRef]);\n\n const removeFileFromFilesToUploadList = useCallback<(name: string) => void>(\n (name) => {\n const deletedFileFilteredOut = filesToUpload.filter(\n (file) => file.name !== name,\n );\n setFilesToUpload(deletedFileFilteredOut);\n },\n [filesToUpload],\n );\n\n const renderFileInput = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: RenderFieldComponentProps) => {\n const acceptedFileTypesAsString = acceptedFileTypes?.join(\",\");\n\n const Input = () => (\n <input\n accept={acceptedFileTypesAsString}\n aria-describedby={ariaDescribedBy}\n aria-errormessage={errorMessageElementId}\n aria-labelledby={labelElementId}\n disabled={isDisabled}\n id={id}\n multiple={type === \"multiple\"}\n onChange={updateFilesToUpload}\n ref={inputRef}\n title=\"\"\n type=\"file\"\n />\n );\n\n if (variant === \"button\") {\n return (\n <>\n <BaseInputWrapper>\n <Input />\n <Button\n isDisabled={isDisabled}\n label={t(\"fileupload.button.text\")}\n onClick={triggerFileInputClick}\n startIcon={<UploadIcon />}\n variant=\"secondary\"\n />\n </BaseInputWrapper>\n </>\n );\n }\n\n return (\n <>\n <InputContainer\n hasError={Boolean(errorMessage)}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Input />\n <ButtonAndInfoContainer>\n {variant === \"dragAndDropWithIcon\" && <FileUploadIllustration />}\n <CenterAlignedSupportText>\n <Support color=\"textSecondary\">\n {t(\"fileupload.prompt.text\")}\n </Support>\n </CenterAlignedSupportText>\n <Button\n isDisabled={isDisabled}\n label={t(\"fileupload.button.text\")}\n onClick={triggerFileInputClick}\n startIcon={<UploadIcon />}\n variant=\"secondary\"\n />\n </ButtonAndInfoContainer>\n </InputContainer>\n </>\n );\n },\n [\n acceptedFileTypes,\n errorMessage,\n isDisabled,\n inputRef,\n odysseyDesignTokens,\n triggerFileInputClick,\n t,\n type,\n updateFilesToUpload,\n variant,\n ],\n );\n\n return (\n <>\n <Field\n errorMessage={errorMessage}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n HintLinkComponent={HintLinkComponent}\n id={id}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth && variant !== \"button\"}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFileInput}\n />\n {filesToUpload.length > 0 && (\n <FileUploadPreview\n fileNames={filesToUpload.map((file) => file.name)}\n isDisabled={isDisabled}\n onFileRemove={removeFileFromFilesToUploadList}\n />\n )}\n </>\n );\n};\n\nconst MemoizedFileUploader = memo(FileUploader);\nMemoizedFileUploader.displayName = \"FileUploader\";\n\nexport { MemoizedFileUploader as FileUpload };\nexport { MemoizedFileUploader as FileUploader };\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"FileUploader.js","names":["styled","memo","useCallback","useEffect","useRef","useState","Button","Field","useTranslation","UploadIcon","useOdysseyDesignTokens","Support","FileUploadIllustration","FileUploadPreview","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","fileUploadTypes","fileUploadVariants","BaseInputWrapper","div","position","alignSelf","input","width","height","opacity","InputContainer","display","alignItems","justifyContent","borderStyle","hasError","odysseyDesignTokens","padding","Spacing6","Spacing3","border","PaletteDangerMain","HueNeutral300","borderRadius","BorderRadiusMain","transition","TransitionTimingMain","borderColor","HueNeutral700","FocusOutlineColorPrimary","boxShadow","outline","FocusOutlineWidthMain","FocusOutlineStyle","outlineOffset","FocusOutlineOffsetTight","backgroundColor","HueNeutral50","BorderColorDisabled","color","TypographyColorDisabled","ButtonAndInfoContainer","flexDirection","CenterAlignedSupportText","textAlign","FileUploader","acceptedFileTypes","errorMessage","id","isDisabled","isFullWidth","isOptional","hint","HintLinkComponent","label","onChange","type","variant","t","inputRef","filesToUpload","setFilesToUpload","updateFilesToUpload","event","files","target","length","mergedFiles","concat","Array","from","slice","value","triggerFileInputClick","current","click","removeFileFromFilesToUploadList","name","deletedFileFilteredOut","filter","file","renderFileInput","ariaDescribedBy","errorMessageElementId","labelElementId","acceptedFileTypesAsString","join","Input","accept","disabled","multiple","ref","title","children","onClick","startIcon","Boolean","fieldType","hasVisibleLabel","renderFieldComponent","fileNames","map","onFileRemove","MemoizedFileUploader","displayName","FileUpload"],"sources":["../../../src/FileUploader/FileUploader.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 ChangeEvent,\n memo,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport { Button } from \"../Buttons/index.js\";\nimport { Field, RenderFieldComponentProps } from \"../Field.js\";\nimport { FieldComponentProps } from \"../FieldComponentProps.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport { UploadIcon } from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { Support } from \"../Typography.js\";\nimport { FileUploadIllustration } from \"./FileUploadIllustration.js\";\nimport { FileUploadPreview } from \"./FileUploadPreview.js\";\n\nexport const fileUploadTypes = [\"single\", \"multiple\"] as const;\nexport const fileUploadVariants = [\n \"button\",\n \"dragAndDrop\",\n \"dragAndDropWithIcon\",\n] as const;\n\nconst BaseInputWrapper = styled.div({\n position: \"relative\",\n alignSelf: \"flex-start\",\n\n input: {\n position: \"absolute\",\n width: \"100%\",\n height: \"100%\",\n opacity: 0,\n },\n});\n\nconst InputContainer = styled(BaseInputWrapper)<{\n hasError: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n {\n display: \"flex\",\n alignSelf: \"unset\",\n alignItems: \"center\",\n justifyContent: \"center\",\n\n \"&:has(input:focus)\": {\n borderStyle: \"solid\",\n },\n },\n ({ hasError, odysseyDesignTokens }) => ({\n padding: `${odysseyDesignTokens.Spacing6} ${odysseyDesignTokens.Spacing3}`,\n border: hasError\n ? `1px solid ${odysseyDesignTokens.PaletteDangerMain}`\n : `1px dashed ${odysseyDesignTokens.HueNeutral300}`,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n transition: `border-color ${odysseyDesignTokens.TransitionTimingMain}, box-shadow ${odysseyDesignTokens.TransitionTimingMain}`,\n\n \"&:hover\": {\n borderColor: odysseyDesignTokens.HueNeutral700,\n },\n\n \"&:has(input:focus)\": {\n borderColor: odysseyDesignTokens.FocusOutlineColorPrimary,\n boxShadow: `0 0 0 1px ${odysseyDesignTokens.FocusOutlineColorPrimary}`,\n outline: `${odysseyDesignTokens.FocusOutlineWidthMain} ${odysseyDesignTokens.FocusOutlineStyle} transparent`,\n outlineOffset: odysseyDesignTokens.FocusOutlineOffsetTight,\n },\n\n \"&:has(input:disabled)\": {\n backgroundColor: odysseyDesignTokens.HueNeutral50,\n border: `1px solid ${odysseyDesignTokens.BorderColorDisabled}`,\n color: odysseyDesignTokens.TypographyColorDisabled,\n\n \"&:hover\": {\n borderColor: odysseyDesignTokens.BorderColorDisabled,\n },\n },\n }),\n);\n\nconst ButtonAndInfoContainer = styled.div({\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n});\n\nconst CenterAlignedSupportText = styled.div({\n textAlign: \"center\",\n});\n\nexport type FileUploaderProps = {\n /**\n * an array of file types the user is able to upload. @see https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/accept#unique_file_type_specifiers for examples\n */\n acceptedFileTypes?: string[];\n /**\n * The label for the `input` element.\n */\n label: string;\n /**\n * Function that is called when the list of ifles to upload is changed\n */\n onChange: (files: File[]) => void;\n /**\n * Either `single` or `multiple`. If `multiple`, multiple files can be uploaded\n */\n type?: (typeof fileUploadTypes)[number];\n /**\n * Either `button`, `dragAndDrop` or `dragAndDropWithIcon`. Will determine how component appears visually\n */\n variant: (typeof fileUploadVariants)[number];\n} & Pick<\n FieldComponentProps,\n | \"errorMessage\"\n | \"hint\"\n | \"HintLinkComponent\"\n | \"id\"\n | \"isDisabled\"\n | \"isFullWidth\"\n | \"isOptional\"\n>;\n\nconst FileUploader = ({\n acceptedFileTypes,\n errorMessage,\n id,\n isDisabled = false,\n isFullWidth,\n isOptional,\n hint,\n HintLinkComponent,\n label,\n onChange,\n type,\n variant,\n}: FileUploaderProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n const inputRef = useRef<HTMLInputElement>(null);\n const [filesToUpload, setFilesToUpload] = useState<File[]>([]);\n\n useEffect(() => {\n onChange(filesToUpload);\n }, [filesToUpload, onChange]);\n\n const updateFilesToUpload = useCallback(\n (event: ChangeEvent<HTMLInputElement>) => {\n const { files } = event.target;\n\n if (files && files.length > 0) {\n const mergedFiles =\n type === \"multiple\"\n ? filesToUpload.concat(Array.from(files))\n : Array.from(files).slice();\n\n setFilesToUpload(mergedFiles);\n }\n\n // reset input value to allow re-upload of a file with the same name\n event.target.value = \"\";\n },\n [type, filesToUpload],\n );\n\n const triggerFileInputClick = useCallback(() => {\n inputRef.current?.click();\n }, [inputRef]);\n\n const removeFileFromFilesToUploadList = useCallback<(name: string) => void>(\n (name) => {\n const deletedFileFilteredOut = filesToUpload.filter(\n (file) => file.name !== name,\n );\n setFilesToUpload(deletedFileFilteredOut);\n },\n [filesToUpload],\n );\n\n const renderFileInput = useCallback(\n ({\n ariaDescribedBy,\n errorMessageElementId,\n id,\n labelElementId,\n }: RenderFieldComponentProps) => {\n const acceptedFileTypesAsString = acceptedFileTypes?.join(\",\");\n\n const Input = () => (\n <input\n accept={acceptedFileTypesAsString}\n aria-describedby={ariaDescribedBy}\n aria-errormessage={errorMessageElementId}\n aria-labelledby={labelElementId}\n disabled={isDisabled}\n id={id}\n multiple={type === \"multiple\"}\n onChange={updateFilesToUpload}\n ref={inputRef}\n title=\"\"\n type=\"file\"\n />\n );\n\n if (variant === \"button\") {\n return (\n <>\n <BaseInputWrapper>\n <Input />\n <Button\n isDisabled={isDisabled}\n label={t(\"fileupload.button.text\")}\n onClick={triggerFileInputClick}\n startIcon={<UploadIcon />}\n variant=\"secondary\"\n />\n </BaseInputWrapper>\n </>\n );\n }\n\n return (\n <>\n <InputContainer\n hasError={Boolean(errorMessage)}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <Input />\n <ButtonAndInfoContainer>\n {variant === \"dragAndDropWithIcon\" && <FileUploadIllustration />}\n <CenterAlignedSupportText>\n <Support color=\"textSecondary\">\n {t(\"fileupload.prompt.text\")}\n </Support>\n </CenterAlignedSupportText>\n <Button\n isDisabled={isDisabled}\n label={t(\"fileupload.button.text\")}\n onClick={triggerFileInputClick}\n startIcon={<UploadIcon />}\n variant=\"secondary\"\n />\n </ButtonAndInfoContainer>\n </InputContainer>\n </>\n );\n },\n [\n acceptedFileTypes,\n errorMessage,\n isDisabled,\n inputRef,\n odysseyDesignTokens,\n triggerFileInputClick,\n t,\n type,\n updateFilesToUpload,\n variant,\n ],\n );\n\n return (\n <>\n <Field\n errorMessage={errorMessage}\n fieldType=\"single\"\n hasVisibleLabel\n hint={hint}\n HintLinkComponent={HintLinkComponent}\n id={id}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth && variant !== \"button\"}\n isOptional={isOptional}\n label={label}\n renderFieldComponent={renderFileInput}\n />\n {filesToUpload.length > 0 && (\n <FileUploadPreview\n fileNames={filesToUpload.map((file) => file.name)}\n isDisabled={isDisabled}\n onFileRemove={removeFileFromFilesToUploadList}\n />\n )}\n </>\n );\n};\n\nconst MemoizedFileUploader = memo(FileUploader);\nMemoizedFileUploader.displayName = \"FileUploader\";\n\nexport { MemoizedFileUploader as FileUpload };\nexport { MemoizedFileUploader as FileUploader };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,OAAOA,MAAM,MAAM,iBAAiB;AACpC,SAEEC,IAAI,EACJC,WAAW,EACXC,SAAS,EACTC,MAAM,EACNC,QAAQ,QACH,OAAO;AAEd,SAASC,MAAM,QAAQ,qBAAqB;AAC5C,SAASC,KAAK,QAAmC,aAAa;AAE9D,SAASC,cAAc,QAAQ,2BAA2B;AAC1D,SAASC,UAAU,QAAQ,6BAA6B;AACxD,SAEEC,sBAAsB,QACjB,kCAAkC;AACzC,SAASC,OAAO,QAAQ,kBAAkB;AAC1C,SAASC,sBAAsB,QAAQ,6BAA6B;AACpE,SAASC,iBAAiB,QAAQ,wBAAwB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAE3D,OAAO,MAAMC,eAAe,GAAG,CAAC,QAAQ,EAAE,UAAU,CAAU;AAC9D,OAAO,MAAMC,kBAAkB,GAAG,CAChC,QAAQ,EACR,aAAa,EACb,qBAAqB,CACb;AAEV,MAAMC,gBAAgB,GAAGtB,MAAM,CAACuB,GAAG,CAAC;EAClCC,QAAQ,EAAE,UAAU;EACpBC,SAAS,EAAE,YAAY;EAEvBC,KAAK,EAAE;IACLF,QAAQ,EAAE,UAAU;IACpBG,KAAK,EAAE,MAAM;IACbC,MAAM,EAAE,MAAM;IACdC,OAAO,EAAE;EACX;AACF,CAAC,CAAC;AAEF,MAAMC,cAAc,GAAG9B,MAAM,CAACsB,gBAAgB,CAAC,CAI7C;EACES,OAAO,EAAE,MAAM;EACfN,SAAS,EAAE,OAAO;EAClBO,UAAU,EAAE,QAAQ;EACpBC,cAAc,EAAE,QAAQ;EAExB,oBAAoB,EAAE;IACpBC,WAAW,EAAE;EACf;AACF,CAAC,EACD,CAAC;EAAEC,QAAQ;EAAEC;AAAoB,CAAC,MAAM;EACtCC,OAAO,EAAE,GAAGD,mBAAmB,CAACE,QAAQ,IAAIF,mBAAmB,CAACG,QAAQ,EAAE;EAC1EC,MAAM,EAAEL,QAAQ,GACZ,aAAaC,mBAAmB,CAACK,iBAAiB,EAAE,GACpD,cAAcL,mBAAmB,CAACM,aAAa,EAAE;EACrDC,YAAY,EAAEP,mBAAmB,CAACQ,gBAAgB;EAClDC,UAAU,EAAE,gBAAgBT,mBAAmB,CAACU,oBAAoB,gBAAgBV,mBAAmB,CAACU,oBAAoB,EAAE;EAE9H,SAAS,EAAE;IACTC,WAAW,EAAEX,mBAAmB,CAACY;EACnC,CAAC;EAED,oBAAoB,EAAE;IACpBD,WAAW,EAAEX,mBAAmB,CAACa,wBAAwB;IACzDC,SAAS,EAAE,aAAad,mBAAmB,CAACa,wBAAwB,EAAE;IACtEE,OAAO,EAAE,GAAGf,mBAAmB,CAACgB,qBAAqB,IAAIhB,mBAAmB,CAACiB,iBAAiB,cAAc;IAC5GC,aAAa,EAAElB,mBAAmB,CAACmB;EACrC,CAAC;EAED,uBAAuB,EAAE;IACvBC,eAAe,EAAEpB,mBAAmB,CAACqB,YAAY;IACjDjB,MAAM,EAAE,aAAaJ,mBAAmB,CAACsB,mBAAmB,EAAE;IAC9DC,KAAK,EAAEvB,mBAAmB,CAACwB,uBAAuB;IAElD,SAAS,EAAE;MACTb,WAAW,EAAEX,mBAAmB,CAACsB;IACnC;EACF;AACF,CAAC,CACH,CAAC;AAED,MAAMG,sBAAsB,GAAG7D,MAAM,CAACuB,GAAG,CAAC;EACxCQ,OAAO,EAAE,MAAM;EACf+B,aAAa,EAAE,QAAQ;EACvB9B,UAAU,EAAE,QAAQ;EACpBC,cAAc,EAAE;AAClB,CAAC,CAAC;AAEF,MAAM8B,wBAAwB,GAAG/D,MAAM,CAACuB,GAAG,CAAC;EAC1CyC,SAAS,EAAE;AACb,CAAC,CAAC;AAkCF,MAAMC,YAAY,GAAGA,CAAC;EACpBC,iBAAiB;EACjBC,YAAY;EACZC,EAAE;EACFC,UAAU,GAAG,KAAK;EAClBC,WAAW;EACXC,UAAU;EACVC,IAAI;EACJC,iBAAiB;EACjBC,KAAK;EACLC,QAAQ;EACRC,IAAI;EACJC;AACiB,CAAC,KAAK;EACvB,MAAMzC,mBAAmB,GAAG1B,sBAAsB,CAAC,CAAC;EACpD,MAAM;IAAEoE;EAAE,CAAC,GAAGtE,cAAc,CAAC,CAAC;EAC9B,MAAMuE,QAAQ,GAAG3E,MAAM,CAAmB,IAAI,CAAC;EAC/C,MAAM,CAAC4E,aAAa,EAAEC,gBAAgB,CAAC,GAAG5E,QAAQ,CAAS,EAAE,CAAC;EAE9DF,SAAS,CAAC,MAAM;IACdwE,QAAQ,CAACK,aAAa,CAAC;EACzB,CAAC,EAAE,CAACA,aAAa,EAAEL,QAAQ,CAAC,CAAC;EAE7B,MAAMO,mBAAmB,GAAGhF,WAAW,CACpCiF,KAAoC,IAAK;IACxC,MAAM;MAAEC;IAAM,CAAC,GAAGD,KAAK,CAACE,MAAM;IAE9B,IAAID,KAAK,IAAIA,KAAK,CAACE,MAAM,GAAG,CAAC,EAAE;MAC7B,MAAMC,WAAW,GACfX,IAAI,KAAK,UAAU,GACfI,aAAa,CAACQ,MAAM,CAACC,KAAK,CAACC,IAAI,CAACN,KAAK,CAAC,CAAC,GACvCK,KAAK,CAACC,IAAI,CAACN,KAAK,CAAC,CAACO,KAAK,CAAC,CAAC;MAE/BV,gBAAgB,CAACM,WAAW,CAAC;IAC/B;IAGAJ,KAAK,CAACE,MAAM,CAACO,KAAK,GAAG,EAAE;EACzB,CAAC,EACD,CAAChB,IAAI,EAAEI,aAAa,CACtB,CAAC;EAED,MAAMa,qBAAqB,GAAG3F,WAAW,CAAC,MAAM;IAC9C6E,QAAQ,CAACe,OAAO,EAAEC,KAAK,CAAC,CAAC;EAC3B,CAAC,EAAE,CAAChB,QAAQ,CAAC,CAAC;EAEd,MAAMiB,+BAA+B,GAAG9F,WAAW,CAChD+F,IAAI,IAAK;IACR,MAAMC,sBAAsB,GAAGlB,aAAa,CAACmB,MAAM,CAChDC,IAAI,IAAKA,IAAI,CAACH,IAAI,KAAKA,IAC1B,CAAC;IACDhB,gBAAgB,CAACiB,sBAAsB,CAAC;EAC1C,CAAC,EACD,CAAClB,aAAa,CAChB,CAAC;EAED,MAAMqB,eAAe,GAAGnG,WAAW,CACjC,CAAC;IACCoG,eAAe;IACfC,qBAAqB;IACrBnC,EAAE;IACFoC;EACyB,CAAC,KAAK;IAC/B,MAAMC,yBAAyB,GAAGvC,iBAAiB,EAAEwC,IAAI,CAAC,GAAG,CAAC;IAE9D,MAAMC,KAAK,GAAGA,CAAA,KACZ5F,IAAA;MACE6F,MAAM,EAAEH,yBAA0B;MAClC,oBAAkBH,eAAgB;MAClC,qBAAmBC,qBAAsB;MACzC,mBAAiBC,cAAe;MAChCK,QAAQ,EAAExC,UAAW;MACrBD,EAAE,EAAEA,EAAG;MACP0C,QAAQ,EAAElC,IAAI,KAAK,UAAW;MAC9BD,QAAQ,EAAEO,mBAAoB;MAC9B6B,GAAG,EAAEhC,QAAS;MACdiC,KAAK,EAAC,EAAE;MACRpC,IAAI,EAAC;IAAM,CACZ,CACF;IAED,IAAIC,OAAO,KAAK,QAAQ,EAAE;MACxB,OACE9D,IAAA,CAAAI,SAAA;QAAA8F,QAAA,EACEhG,KAAA,CAACK,gBAAgB;UAAA2F,QAAA,GACflG,IAAA,CAAC4F,KAAK,IAAE,CAAC,EACT5F,IAAA,CAACT,MAAM;YACL+D,UAAU,EAAEA,UAAW;YACvBK,KAAK,EAAEI,CAAC,CAAC,wBAAwB,CAAE;YACnCoC,OAAO,EAAErB,qBAAsB;YAC/BsB,SAAS,EAAEpG,IAAA,CAACN,UAAU,IAAE,CAAE;YAC1BoE,OAAO,EAAC;UAAW,CACpB,CAAC;QAAA,CACc;MAAC,CACnB,CAAC;IAEP;IAEA,OACE9D,IAAA,CAAAI,SAAA;MAAA8F,QAAA,EACEhG,KAAA,CAACa,cAAc;QACbK,QAAQ,EAAEiF,OAAO,CAACjD,YAAY,CAAE;QAChC/B,mBAAmB,EAAEA,mBAAoB;QAAA6E,QAAA,GAEzClG,IAAA,CAAC4F,KAAK,IAAE,CAAC,EACT1F,KAAA,CAAC4C,sBAAsB;UAAAoD,QAAA,GACpBpC,OAAO,KAAK,qBAAqB,IAAI9D,IAAA,CAACH,sBAAsB,IAAE,CAAC,EAChEG,IAAA,CAACgD,wBAAwB;YAAAkD,QAAA,EACvBlG,IAAA,CAACJ,OAAO;cAACgD,KAAK,EAAC,eAAe;cAAAsD,QAAA,EAC3BnC,CAAC,CAAC,wBAAwB;YAAC,CACrB;UAAC,CACc,CAAC,EAC3B/D,IAAA,CAACT,MAAM;YACL+D,UAAU,EAAEA,UAAW;YACvBK,KAAK,EAAEI,CAAC,CAAC,wBAAwB,CAAE;YACnCoC,OAAO,EAAErB,qBAAsB;YAC/BsB,SAAS,EAAEpG,IAAA,CAACN,UAAU,IAAE,CAAE;YAC1BoE,OAAO,EAAC;UAAW,CACpB,CAAC;QAAA,CACoB,CAAC;MAAA,CACX;IAAC,CACjB,CAAC;EAEP,CAAC,EACD,CACEX,iBAAiB,EACjBC,YAAY,EACZE,UAAU,EACVU,QAAQ,EACR3C,mBAAmB,EACnByD,qBAAqB,EACrBf,CAAC,EACDF,IAAI,EACJM,mBAAmB,EACnBL,OAAO,CAEX,CAAC;EAED,OACE5D,KAAA,CAAAE,SAAA;IAAA8F,QAAA,GACElG,IAAA,CAACR,KAAK;MACJ4D,YAAY,EAAEA,YAAa;MAC3BkD,SAAS,EAAC,QAAQ;MAClBC,eAAe;MACf9C,IAAI,EAAEA,IAAK;MACXC,iBAAiB,EAAEA,iBAAkB;MACrCL,EAAE,EAAEA,EAAG;MACPC,UAAU,EAAEA,UAAW;MACvBC,WAAW,EAAEA,WAAW,IAAIO,OAAO,KAAK,QAAS;MACjDN,UAAU,EAAEA,UAAW;MACvBG,KAAK,EAAEA,KAAM;MACb6C,oBAAoB,EAAElB;IAAgB,CACvC,CAAC,EACDrB,aAAa,CAACM,MAAM,GAAG,CAAC,IACvBvE,IAAA,CAACF,iBAAiB;MAChB2G,SAAS,EAAExC,aAAa,CAACyC,GAAG,CAAErB,IAAI,IAAKA,IAAI,CAACH,IAAI,CAAE;MAClD5B,UAAU,EAAEA,UAAW;MACvBqD,YAAY,EAAE1B;IAAgC,CAC/C,CACF;EAAA,CACD,CAAC;AAEP,CAAC;AAED,MAAM2B,oBAAoB,GAAG1H,IAAI,CAACgE,YAAY,CAAC;AAC/C0D,oBAAoB,CAACC,WAAW,GAAG,cAAc;AAEjD,SAASD,oBAAoB,IAAIE,UAAU;AAC3C,SAASF,oBAAoB,IAAI1D,YAAY","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
/*!
|
|
2
|
+
* Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.
|
|
3
|
+
* The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
|
|
4
|
+
*
|
|
5
|
+
* You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
|
|
6
|
+
* Unless required by applicable law or agreed to in writing, software
|
|
7
|
+
* distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
|
|
8
|
+
* WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
9
|
+
*
|
|
10
|
+
* See the License for the specific language governing permissions and limitations under the License.
|
|
11
|
+
*/
|
|
12
|
+
|
|
13
|
+
import { memo } from "react";
|
|
14
|
+
import { useFullScreenOverlayContext } from "./FullScreenOverlayContext.js";
|
|
15
|
+
import { OdysseyProvider } from "./OdysseyProvider.js";
|
|
16
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
17
|
+
const FullScreenOverlay = ({
|
|
18
|
+
children
|
|
19
|
+
}) => {
|
|
20
|
+
const {
|
|
21
|
+
overlayEmotionRootElement,
|
|
22
|
+
overlayShadowRootElement
|
|
23
|
+
} = useFullScreenOverlayContext();
|
|
24
|
+
return _jsx(OdysseyProvider, {
|
|
25
|
+
emotionRootElement: overlayEmotionRootElement,
|
|
26
|
+
hasScopedCssBaseline: false,
|
|
27
|
+
hasWrapperElement: false,
|
|
28
|
+
shadowRootElement: overlayShadowRootElement,
|
|
29
|
+
children: children
|
|
30
|
+
});
|
|
31
|
+
};
|
|
32
|
+
const MemoizedFullScreenOverlay = memo(FullScreenOverlay);
|
|
33
|
+
MemoizedFullScreenOverlay.displayName = "FullScreenOverlay";
|
|
34
|
+
export { MemoizedFullScreenOverlay as FullScreenOverlay };
|
|
35
|
+
//# sourceMappingURL=FullScreenOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FullScreenOverlay.js","names":["memo","useFullScreenOverlayContext","OdysseyProvider","jsx","_jsx","FullScreenOverlay","children","overlayEmotionRootElement","overlayShadowRootElement","emotionRootElement","hasScopedCssBaseline","hasWrapperElement","shadowRootElement","MemoizedFullScreenOverlay","displayName"],"sources":["../../src/FullScreenOverlay.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2025-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, type ReactNode } from \"react\";\n\nimport {\n type FullScreenOverlayProviderProps,\n useFullScreenOverlayContext,\n} from \"./FullScreenOverlayContext.js\";\nimport { OdysseyProvider } from \"./OdysseyProvider.js\";\n\nexport type FullScreenOverlayProps = {\n children: ReactNode;\n};\n\nconst FullScreenOverlay = ({ children }: FullScreenOverlayProviderProps) => {\n const { overlayEmotionRootElement, overlayShadowRootElement } =\n useFullScreenOverlayContext();\n\n return (\n <OdysseyProvider\n emotionRootElement={overlayEmotionRootElement}\n hasScopedCssBaseline={false}\n hasWrapperElement={false}\n shadowRootElement={overlayShadowRootElement}\n >\n {children}\n </OdysseyProvider>\n );\n};\n\nconst MemoizedFullScreenOverlay = memo(FullScreenOverlay);\nMemoizedFullScreenOverlay.displayName = \"FullScreenOverlay\";\n\nexport { MemoizedFullScreenOverlay as FullScreenOverlay };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAwB,OAAO;AAE5C,SAEEC,2BAA2B,QACtB,+BAA+B;AACtC,SAASC,eAAe,QAAQ,sBAAsB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAMvD,MAAMC,iBAAiB,GAAGA,CAAC;EAAEC;AAAyC,CAAC,KAAK;EAC1E,MAAM;IAAEC,yBAAyB;IAAEC;EAAyB,CAAC,GAC3DP,2BAA2B,CAAC,CAAC;EAE/B,OACEG,IAAA,CAACF,eAAe;IACdO,kBAAkB,EAAEF,yBAA0B;IAC9CG,oBAAoB,EAAE,KAAM;IAC5BC,iBAAiB,EAAE,KAAM;IACzBC,iBAAiB,EAAEJ,wBAAyB;IAAAF,QAAA,EAE3CA;EAAQ,CACM,CAAC;AAEtB,CAAC;AAED,MAAMO,yBAAyB,GAAGb,IAAI,CAACK,iBAAiB,CAAC;AACzDQ,yBAAyB,CAACC,WAAW,GAAG,mBAAmB;AAE3D,SAASD,yBAAyB,IAAIR,iBAAiB","ignoreList":[]}
|