@okta/odyssey-contribution-tooling 1.47.1 → 1.49.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (694) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/dist/assets/{Accordion-BUumLSm9.js → Accordion-BNJn0pfW.js} +1 -1
  3. package/dist/assets/{Accordion.stories-CaMgAnYN.js → Accordion.stories-DZIjfE-o.js} +3 -3
  4. package/dist/assets/{AccordionSummary-0jrOTJTD.js → AccordionSummary-BjqT0nEb.js} +1 -1
  5. package/dist/assets/{AlertTitle-BbBpDTwd.js → AlertTitle-q6ff_Zkl.js} +1 -1
  6. package/dist/assets/{AppSwitcher-B7j0xavZ.js → AppSwitcher-cyyPttJv.js} +1 -1
  7. package/dist/assets/{AppSwitcher.stories-BqeExztr.js → AppSwitcher.stories--8DVDaS1.js} +3 -3
  8. package/dist/assets/AppTile _labs_.stories-D9W_XD90.js +136 -0
  9. package/dist/assets/{ArrowDropDown-LYMnJjPD.js → ArrowDropDown-DdemyKZU.js} +1 -1
  10. package/dist/assets/{ArrowRight-Bi2Pswgc.js → ArrowRight-ChWYjNny.js} +1 -1
  11. package/dist/assets/{Autocomplete-DD8JT6Eb.js → Autocomplete-Cpi_kUVA.js} +1 -1
  12. package/dist/assets/Autocomplete-CxtGbb8j.js +1 -0
  13. package/dist/assets/{Autocomplete.stories-DjkuAafz.js → Autocomplete.stories-CQuaZrwN.js} +3 -3
  14. package/dist/assets/{Badge-C6SBtLt7.js → Badge-BO7bTIEa.js} +1 -1
  15. package/dist/assets/{Banner-itG3HAaL.js → Banner-K7AM0SJj.js} +1 -1
  16. package/dist/assets/{Banner.stories-o2KYQ49p.js → Banner.stories-BRQINNIu.js} +3 -3
  17. package/dist/assets/{BaseButton-COF38VLB.js → BaseButton-DYZHKnV3.js} +1 -1
  18. package/dist/assets/{BaseMenuButton-pigMBOEp.js → BaseMenuButton-BIietjUB.js} +1 -1
  19. package/dist/assets/{Box-BGpAHVQV.js → Box-1mvP3NLW.js} +1 -1
  20. package/dist/assets/Box-BcMTQ_R2.js +1 -0
  21. package/dist/assets/Box-DXoV5_ch.js +11 -0
  22. package/dist/assets/{Box.stories-Bl1v2MtQ.js → Box.stories-C8EeKXhb.js} +1 -1
  23. package/dist/assets/Breadcrumbs-Bp-jt6t5.js +6 -0
  24. package/dist/assets/Breadcrumbs.stories-B_3snTWA.js +79 -0
  25. package/dist/assets/{Bug-CF8uTmAI.js → Bug-CQIUmZ-N.js} +1 -1
  26. package/dist/assets/{Button-DGmXZ3jw.js → Button-BEA5U6Tg.js} +1 -1
  27. package/dist/assets/{Button-CdPi1pZc.js → Button-BzIwUmSM.js} +1 -1
  28. package/dist/assets/{Button.stories-DDHyMQ1_.js → Button.stories-S7v-663i.js} +2 -2
  29. package/dist/assets/ButtonBase-BNqa2TMD.js +74 -0
  30. package/dist/assets/{Calendar-DjJqG0qe.js → Calendar-_GPHtaRa.js} +1 -1
  31. package/dist/assets/{Callout-DyDdgWdc.js → Callout-FZxPpigF.js} +1 -1
  32. package/dist/assets/Callout.stories-CODSBn6K.js +105 -0
  33. package/dist/assets/Card-C0RGIer3.js +1 -0
  34. package/dist/assets/Card-CBiqCoFv.js +8 -0
  35. package/dist/assets/{Card.stories-B_l3D6T0.js → Card.stories-Cp5cSsvN.js} +1 -1
  36. package/dist/assets/{CardActionArea-BTMPt80M.js → CardActionArea-DWrXZntI.js} +1 -1
  37. package/dist/assets/CardActions-BQdq7Bn0.js +1 -0
  38. package/dist/assets/Checkbox-DPv3Q9UW.js +1 -0
  39. package/dist/assets/{Checkbox-BVTNXOF7.js → Checkbox-vZwuXtzm.js} +1 -1
  40. package/dist/assets/Checkbox.stories-9dZS0JMC.js +96 -0
  41. package/dist/assets/{CheckboxGroup-D-ykWUnV.js → CheckboxGroup-Be66QML5.js} +1 -1
  42. package/dist/assets/CheckboxGroup.stories-Cx6CsE7C.js +92 -0
  43. package/dist/assets/{ChevronRight-DkL07pJu.js → ChevronRight-C12ToI7Y.js} +1 -1
  44. package/dist/assets/{ChevronUp-DBzjQ0Vq.js → ChevronUp-CfT7Bz8X.js} +1 -1
  45. package/dist/assets/Chip-CXnMieIl.js +1 -0
  46. package/dist/assets/{CircularProgress-Dfpt5LAz.js → CircularProgress-DPxwxglU.js} +1 -1
  47. package/dist/assets/{CircularProgress-B5_VbcVt.js → CircularProgress-HbIdZLBB.js} +4 -4
  48. package/dist/assets/{CircularProgress.stories-Daf0R9vA.js → CircularProgress.stories-BCClfpJw.js} +1 -1
  49. package/dist/assets/{Clock-Cs7_WjUp.js → Clock-17ua7UAW.js} +1 -1
  50. package/dist/assets/{Close-ATS01D1v.js → Close-OXBt1nIe.js} +1 -1
  51. package/dist/assets/{Code Styling Guidelines-KEouIK7B.js → Code Styling Guidelines-CVbofGQK.js } +1 -1
  52. package/dist/assets/{Collapse-COoe3Qtd.js → Collapse-DfdoVIdP.js} +1 -1
  53. package/dist/assets/{Color-YHDXOIA2-DQdRRXzu.js → Color-YHDXOIA2-DT4T6TnK.js} +1 -1
  54. package/dist/assets/{CssBaseline-D-vAj66q.js → CssBaseline-DpDXOHEK.js} +1 -1
  55. package/dist/assets/{CssBaseline.stories-BOhXBF5h.js → CssBaseline.stories-DeSEyTd-.js} +1 -1
  56. package/dist/assets/{Custom Theming-DmPtfg8b.js → Custom Theming-CmbOHtP1.js } +5 -6
  57. package/dist/assets/Custom Theming.stories-CxVTbjdx.js +95 -0
  58. package/dist/assets/{DataFilters _labs_-blW_3eFm.js → DataFilters _labs_-DvUVhC-g.js } +2 -2
  59. package/dist/assets/{DataFilters _labs_.stories-D2qt9BDz.js → DataFilters _labs_.stories-Ca9tvzkv.js } +1 -1
  60. package/dist/assets/{DataFilters-49CUFFBF.js → DataFilters-BnT_U3-o.js} +1 -1
  61. package/dist/assets/DataTable _labs_-DL8Jc4Hl.js +41 -0
  62. package/dist/assets/{DataTable _labs_.stories-DrwT0H9g.js → DataTable _labs_.stories-C9Tljg4U.js } +2 -2
  63. package/dist/assets/{DataTable-Ka-SCcOh.js → DataTable-S0xhd1LQ.js} +2 -2
  64. package/dist/assets/{DataTable-DeujVhYp.js → DataTable-XayRBHyP.js} +3 -3
  65. package/dist/assets/{DataTable.stories-CaSfkouk.js → DataTable.stories-tcZyd507.js} +1 -1
  66. package/dist/assets/{DataView _labs_-CqZlEyu1.js → DataView _labs_-oQPoSKgb.js } +2 -2
  67. package/dist/assets/{DataView _labs_.stories-CXjSXDeF.js → DataView _labs_.stories-C_xQt04_.js } +1 -1
  68. package/dist/assets/{DataView-CYkwjPzk.js → DataView-C5rMFmwA.js} +7 -7
  69. package/dist/assets/{DataView.stories-DT0ROHOs.js → DataView.stories-oJRHGPAN.js} +148 -65
  70. package/dist/assets/DatePicker-BwDkz3WT.js +1 -0
  71. package/dist/assets/{DatePicker-C9sNy4fj.js → DatePicker-CaivHe9y.js} +2 -2
  72. package/dist/assets/DatePicker.stories-DbwO66Pf.js +133 -0
  73. package/dist/assets/DateTimePicker-B7a9bgL6.js +1 -0
  74. package/dist/assets/{DateTimePicker.stories-B2SaI9OL.js → DateTimePicker.stories-DL2oaP7L.js} +9 -9
  75. package/dist/assets/Design Tokens-CLnoritM.js +4 -0
  76. package/dist/assets/Dialog-CR4TUjlJ.js +1 -0
  77. package/dist/assets/Dialog.stories-2q37jV4r.js +201 -0
  78. package/dist/assets/{DialogContent-_oGbCJT8.js → DialogContent-Cwn-I-C_.js} +1 -1
  79. package/dist/assets/DialogTitle-C-K7jEio.js +1 -0
  80. package/dist/assets/{Divider-DsFAYUeD.js → Divider-Ln3VaO81.js} +1 -1
  81. package/dist/assets/{DocsRenderer-CFRXHY34-IKzmQUB4.js → DocsRenderer-CFRXHY34-CCeAz_jE.js} +1 -1
  82. package/dist/assets/{Documentation-BrTRsPbe.js → Documentation-DF3oo39e.js} +1 -1
  83. package/dist/assets/{Download-CnpAgqy2.js → Download-Zlhupksh.js} +1 -1
  84. package/dist/assets/Drawer-CXQ3piJR.js +33 -0
  85. package/dist/assets/Drawer.stories-Dlkg74m1.js +95 -0
  86. package/dist/assets/{EmptyState-9pxLjmqH.js → EmptyState-CpBEzmap.js} +2 -2
  87. package/dist/assets/EmptyState.stories-Dl57LvdY.js +11 -0
  88. package/dist/assets/ExampleButton.stories-Bbj5W6A-.js +320 -0
  89. package/dist/assets/{Extending Translations-DW0F3Xxk.js → Extending Translations-D38KR8Kn.js } +1 -1
  90. package/dist/assets/{ExternalLink-BZ-Yczsk.js → ExternalLink-D0l1c5Cz.js} +1 -1
  91. package/dist/assets/Fade-dUgBN8rJ.js +1 -0
  92. package/dist/assets/{Field-lyECanzU.js → Field-DH3L8v09.js} +2 -2
  93. package/dist/assets/{FieldHint-C3tXb7u4.js → FieldHint-B3Jif_Up.js} +1 -1
  94. package/dist/assets/{Fieldset-C2nSfkpl.js → Fieldset-D7_59eeI.js} +2 -2
  95. package/dist/assets/Fieldset.stories-B-NXKKP-.js +15 -0
  96. package/dist/assets/{FileUploader.stories-C8jSeElw.js → FileUploader.stories-C9ua336t.js} +8 -8
  97. package/dist/assets/{Filter-Dx8z3DNi.js → Filter-DsDJ7si-.js} +1 -1
  98. package/dist/assets/{Folder-BfxqGqvt.js → Folder-e-po0U54.js} +1 -1
  99. package/dist/assets/{Form Field Accessibility-Bk715sxq.js → Form Field Accessibility-D5GmQTjo.js } +1 -1
  100. package/dist/assets/{Form-BFqw21k4.js → Form-iTx8DKdm.js} +1 -1
  101. package/dist/assets/Form.stories-CKX8F-HV.js +69 -0
  102. package/dist/assets/{FormControlLabel-BKhSSavj.js → FormControlLabel-0BBemR80.js} +1 -1
  103. package/dist/assets/{FormGroup-Cuk9jkbL.js → FormGroup-HFkGZ983.js} +1 -1
  104. package/dist/assets/{FormHelperText-qF3DX-zz.js → FormHelperText-CsNAE1E3.js} +1 -1
  105. package/dist/assets/{FormLabel-BLj3hKkg.js → FormLabel-CiGre9wK.js} +1 -1
  106. package/dist/assets/{FullScreenOverlay-D_QtB3Yt.js → FullScreenOverlay-BTMDlJhE.js} +1 -1
  107. package/dist/assets/{Generating Icons-DU5C85Nu.js → Generating Icons-B_lqn7WI.js } +1 -1
  108. package/dist/assets/{Globe-Brrqdlv8.js → Globe-B83Xmd05.js} +1 -1
  109. package/dist/assets/{Grid-CZMVE6qU.js → Grid-EpV3TL4a.js} +1 -1
  110. package/dist/assets/{Group-B6q-i_C2.js → Group-mTVRC79V.js} +1 -1
  111. package/dist/assets/GroupPicker _labs_.stories-rRod3ZIj.js +33 -0
  112. package/dist/assets/Grow-C8kUeGCY.js +1 -0
  113. package/dist/assets/{Hide-DlEWsxsn.js → Hide-TKfOHglI.js} +1 -1
  114. package/dist/assets/Hint-DoJneNg9.js +11 -0
  115. package/dist/assets/{Home-BiP4Mg1h.js → Home-la7Lmt_L.js} +1 -1
  116. package/dist/assets/Icon _icons_.stories-BmisOf4s.js +16 -0
  117. package/dist/assets/{IconButton-OY9nJWpv.js → IconButton-5qShmnSr.js} +1 -1
  118. package/dist/assets/IconWithTooltip _icons_.stories-C86MVO5n.js +19 -0
  119. package/dist/assets/{InformationCircle-CE8ruoYu.js → InformationCircle-a2jMUKfL.js} +1 -1
  120. package/dist/assets/{InputAdornment-D4SsBOPe.js → InputAdornment-CdR3XT6f.js} +1 -1
  121. package/dist/assets/{InputBase-DSZ9ZgyW.js → InputBase-DeB4_faH.js} +2 -2
  122. package/dist/assets/{Installing odyssey-react-mui-XtugTFlz.js → Installing odyssey-react-mui-BlZZYALn.js } +24 -3
  123. package/dist/assets/{Introduction-Bt8Bd0mz.js → Introduction-D6814AO1.js} +6 -6
  124. package/dist/assets/{Layout-BduWITqf.js → Layout-DGOs1275.js} +1 -1
  125. package/dist/assets/{Layout.stories-BaeIV62G.js → Layout.stories-DE3l510g.js} +2 -2
  126. package/dist/assets/{Legacy Migrations-DZ-fx_Jl.js → Legacy Migrations-B9gOEz-l.js } +1 -1
  127. package/dist/assets/{Link-DI6v1ROk.js → Link-BDoLypER.js} +1 -1
  128. package/dist/assets/{Link-BnBknBcu.js → Link-DNIf0luC.js} +1 -1
  129. package/dist/assets/Link-dX7EI1Ct.js +11 -0
  130. package/dist/assets/{Link.stories-BY0xRfX5.js → Link.stories-DnkjU-5y.js} +1 -1
  131. package/dist/assets/{List-Be7fhh4_.js → List-CmjR1pNu.js} +1 -1
  132. package/dist/assets/{List-DsAZFSEg.js → List-UlX1tusJ.js} +1 -1
  133. package/dist/assets/{ListItem-C8ebNPnP.js → ListItem-C0ExFtXb.js} +1 -1
  134. package/dist/assets/{ListSubheader-Bwc0JItn.js → ListSubheader-CQJAAOsd.js} +1 -1
  135. package/dist/assets/Menu-K9lpVvDG.js +1 -0
  136. package/dist/assets/{MenuButton-Dr4RJoKG.js → MenuButton-B3T7c15t.js} +1 -1
  137. package/dist/assets/MenuButton-hdFGv_9Z.js +9 -0
  138. package/dist/assets/{MenuButton.stories-B5Ron3HG.js → MenuButton.stories-BRHUGqba.js} +1 -1
  139. package/dist/assets/{MenuItem-n-UKDxiu.js → MenuItem-CmSG6PNu.js} +1 -1
  140. package/dist/assets/{MenuItem-B0_vCuIq.js → MenuItem-vhp8G-Nb.js} +1 -1
  141. package/dist/assets/MenuItem.stories-dOOOz3KO.js +29 -0
  142. package/dist/assets/{MenuList-CW8ri5AI.js → MenuList-BMOesnfs.js} +1 -1
  143. package/dist/assets/Modal-CSDyCVCf.js +1 -0
  144. package/dist/assets/{More-D1qrtSvt.js → More-DLQ2RjWn.js} +1 -1
  145. package/dist/assets/NativeSelect.stories-DHgms1GM.js +173 -0
  146. package/dist/assets/{OdysseyProvider-2xjMTEu6.js → OdysseyProvider-qIn9QVYS.js} +5 -5
  147. package/dist/assets/{OdysseyStorybookThemeDecorator-BRjYVaUu.js → OdysseyStorybookThemeDecorator-BuDiOG2V.js} +1 -1
  148. package/dist/assets/{OdysseyThemeProvider-BBwjgzn2.js → OdysseyThemeProvider-Bh0Bu-2o.js} +1 -1
  149. package/dist/assets/{PageHeader.stories-q0-kxFNT.js → PageHeader.stories-MDEEjM1g.js} +2 -2
  150. package/dist/assets/PageHeader.stories-eACdVWYK.js +57 -0
  151. package/dist/assets/PageTemplate _labs_-BuvgCua7.js +8 -0
  152. package/dist/assets/{PageTemplate _labs_.stories-DtJtMC5B.js → PageTemplate _labs_.stories-C8RdfTqi.js } +1 -1
  153. package/dist/assets/{PageTemplate-mNUP99LO.js → PageTemplate-D-EQlTUx.js} +2 -2
  154. package/dist/assets/PageTemplate.stories-BzgC-WCT.js +197 -0
  155. package/dist/assets/{PaginatedTable _labs_.stories--9YveFu7.js → PaginatedTable _labs_.stories-CvpuSFlt.js } +3 -3
  156. package/dist/assets/{Pagination-D6myvUfo.js → Pagination-CB1wBW8Q.js} +2 -2
  157. package/dist/assets/Pagination.stories-RoH8O-RA.js +17 -0
  158. package/dist/assets/{Paper-XsV8SWR9.js → Paper-D-_O-EjU.js} +1 -1
  159. package/dist/assets/PasswordField.stories-BUOy4gYe.js +129 -0
  160. package/dist/assets/Picker _labs_.stories-BIZmrH82.js +18 -0
  161. package/dist/assets/{PickerWithOptionAdornment _labs_.stories-DZ_mcN9y.js → PickerWithOptionAdornment _labs_.stories-CQYX6Af7.js } +3 -3
  162. package/dist/assets/Popper-BARIxJrI.js +1 -0
  163. package/dist/assets/Portal-C6D59xAE.js +1 -0
  164. package/dist/assets/ProgressBar.stories-Dyp9UXSp.js +311 -0
  165. package/dist/assets/{Radio-BimAm2in.js → Radio-B4gVvwps.js} +1 -1
  166. package/dist/assets/Radio-BdNnpooK.js +1 -0
  167. package/dist/assets/{Radio.stories-BIH7UBMO.js → Radio.stories-BtiaRnXY.js} +3 -3
  168. package/dist/assets/{RadioGroup-DhVJQTpS.js → RadioGroup-BYJZ378_.js} +1 -1
  169. package/dist/assets/RadioGroup-CtUWSbQc.js +1 -0
  170. package/dist/assets/RadioGroup-D1k5iqEQ.js +10 -0
  171. package/dist/assets/RadioGroup.stories-kfMrpCQ4.js +138 -0
  172. package/dist/assets/{Refresh-GVzSl4pN.js → Refresh-DexPEklu.js} +1 -1
  173. package/dist/assets/ResourceAccessPolicyComponentsStorybookThemeDecorator-Bo_QNpfC.js +212 -0
  174. package/dist/assets/{Right-to-Left (RTL)-DyJ58shp.js → Right-to-Left (RTL)-BHFSR1q8.js } +1 -1
  175. package/dist/assets/{ScreenReaderText-CM78bF1y.js → ScreenReaderText-CebALBsG.js} +1 -1
  176. package/dist/assets/{ScreenReaderText-CqMaDm6f.js → ScreenReaderText-DkVEZTIb.js} +2 -2
  177. package/dist/assets/ScreenReaderText.stories-BuS5WxvE.js +8 -0
  178. package/dist/assets/{Search-CkfJXFe5.js → Search-C5TVrLyE.js} +1 -1
  179. package/dist/assets/{SearchDropdown _labs_.stories-BQPhsSku.js → SearchDropdown _labs_.stories-Bq7Qapoa.js } +3 -3
  180. package/dist/assets/{SearchField-CYM6nbh5.js → SearchField-BdnOrhVM.js} +1 -1
  181. package/dist/assets/SearchField.stories-IB3f7QOK.js +37 -0
  182. package/dist/assets/Select-DZTigpTO.js +1 -0
  183. package/dist/assets/{Select-DJ071lNE.js → Select-KZvejALm.js} +2 -2
  184. package/dist/assets/{Select.stories-Dv7mWYvh.js → Select.stories-5trfU4Ma.js} +2 -2
  185. package/dist/assets/{Server-DjXPiVgb.js → Server-Ch5aeRtt.js} +1 -1
  186. package/dist/assets/{Settings-CjXK8-N1.js → Settings-2rTKyez8.js} +1 -1
  187. package/dist/assets/{Setup-C5eWg4Hp.js → Setup-BDM9nDVO.js} +1 -1
  188. package/dist/assets/{Shadow DOM-CwtnF89G.js → Shadow DOM-DHECKIzr.js } +1 -1
  189. package/dist/assets/{Show-BmUFIvXd.js → Show-BnmQFsN6.js} +1 -1
  190. package/dist/assets/{SideNav-CJ4qafJJ.js → SideNav-5pMdKSEl.js} +13 -13
  191. package/dist/assets/{SideNav-Bks9RS2j.js → SideNav-bhdOFKbL.js} +3 -3
  192. package/dist/assets/{SideNav.stories-C1fpy9wN.js → SideNav.stories-ciX1pArE.js} +1 -1
  193. package/dist/assets/{Skeleton-dfR0DjWP.js → Skeleton-BPjIT6NG.js} +5 -5
  194. package/dist/assets/Snackbar-BM0ZOC4Y.js +1 -0
  195. package/dist/assets/{Stack-DKhviX3e.js → Stack-B7OGvu7C.js} +1 -1
  196. package/dist/assets/{Stack.stories-BDHo9eFa.js → Stack.stories-CYylNLHT.js} +1 -1
  197. package/dist/assets/{StaticTable _labs_.stories-Dxpy5sLd.js → StaticTable _labs_.stories-ChL0Cwn4.js } +3 -3
  198. package/dist/assets/{Status-BpzpxYZ-.js → Status-BlOUycBm.js} +1 -1
  199. package/dist/assets/{Status.stories-DLINjRQE.js → Status.stories-Dv4b1Z5X.js} +2 -2
  200. package/dist/assets/{Surface-3Y97A1O8.js → Surface-DTngmQRF.js} +1 -1
  201. package/dist/assets/{Switch.stories-pYIYfkr3.js → Switch.stories-hjVvL7UR.js} +5 -5
  202. package/dist/assets/{SwitchBase-D-uzeIbM.js → SwitchBase-CefEM0OA.js} +1 -1
  203. package/dist/assets/{Sync-DFFNrTTV.js → Sync-BbqTDeWk.js} +1 -1
  204. package/dist/assets/Tabs-CQz87GHd.js +1 -0
  205. package/dist/assets/{Tabs-SRLNy8_X.js → Tabs-gXh7YFSu.js} +6 -6
  206. package/dist/assets/Tabs.stories-CRJgQA20.js +100 -0
  207. package/dist/assets/{Tag-BgjQI7VM.js → Tag-DwH0t814.js} +1 -1
  208. package/dist/assets/Tag.stories-CoLnXBke.js +96 -0
  209. package/dist/assets/{TagList-DGN86KvF.js → TagList-BZGEhGXn.js} +1 -1
  210. package/dist/assets/{TextField-BuwBI2RX.js → TextField-BhK0y2Zt.js} +1 -1
  211. package/dist/assets/{TextField.stories-DL7enA3k.js → TextField.stories-DYOK0z5b.js} +2 -2
  212. package/dist/assets/Toast.stories-BipAY3GN.js +134 -0
  213. package/dist/assets/ToastManager.stories-BWZvSWGT.js +196 -0
  214. package/dist/assets/Tooltip-Cq2rQGbD.js +1 -0
  215. package/dist/assets/{Tooltip-XQJL1Byd.js → Tooltip-CsVWtVfL.js} +1 -1
  216. package/dist/assets/Tooltip.stories-B6wyATg5.js +68 -0
  217. package/dist/assets/{TopNav-dZWiR_bv.js → TopNav-DEIYDz6v.js} +1 -1
  218. package/dist/assets/TopNav.stories-DJNZEi08.js +13 -0
  219. package/dist/assets/TransitionGroupContext-DAL84N7p.js +1 -0
  220. package/dist/assets/{Typography-CORddEdk.js → Typography-CkeEfKaM.js} +1 -1
  221. package/dist/assets/{Typography-Yf1Zkad_.js → Typography-ClQ35Rr-.js} +1 -1
  222. package/dist/assets/{Typography-DfSdXC7o.js → Typography-Cz6D417Y.js} +1 -1
  223. package/dist/assets/Typography-r6MlG5YM.js +1 -0
  224. package/dist/assets/Typography.stories-93RlEwpU.js +73 -0
  225. package/dist/assets/{Typography.stories-D-TscJaP.js → Typography.stories-DRUYEGzH.js} +1 -1
  226. package/dist/assets/{UiShell.stories-BRpnZ7zi.js → UiShell.stories-HV8yGvd3.js} +3 -3
  227. package/dist/assets/{UiShellProvider-BOM87LOZ.js → UiShellProvider-BEcD16AU.js} +1 -1
  228. package/dist/assets/{Upload-CXJBKzcC.js → Upload-CfzP_Muq.js} +1 -1
  229. package/dist/assets/{User-D6db-Gy0.js → User-CyxEAfVT.js} +1 -1
  230. package/dist/assets/{UserProfile-DqokqHU1.js → UserProfile-B6GSEZPs.js} +1 -1
  231. package/dist/assets/UserProfile.stories-Cx9GmLsV.js +14 -0
  232. package/dist/assets/{UserProfileMenuButton.stories-CKErfTVM.js → UserProfileMenuButton.stories-BjxJHNWm.js} +3 -3
  233. package/dist/assets/{Video-B1Csvrbu.js → Video-DWT3WylB.js} +1 -1
  234. package/dist/assets/WorkflowsComponentsStorybookThemeDecorator-CxOFxh0W.js +197 -0
  235. package/dist/assets/assertThisInitialized-B9jnkVVz.js +1 -0
  236. package/dist/assets/{colorManipulator-CjGkpVfF.js → colorManipulator-DKifQsuo.js} +1 -1
  237. package/dist/assets/createBox-Dxawkfow.js +1 -0
  238. package/dist/assets/{createStyled-D0LG5-qz.js → createStyled-D6bTcpHC.js} +1 -1
  239. package/dist/assets/{createSvgIcon-DsUj6UQo.js → createSvgIcon-ClUWwDzL.js} +1 -1
  240. package/dist/assets/{dialogActionsClasses-BWrWITLY.js → dialogActionsClasses-ZEPlxVw-.js} +1 -1
  241. package/dist/assets/emotion-react-jsx-runtime.browser.esm-DL0BDwaj.js +1 -0
  242. package/dist/assets/{entry-preview-CklzQ6bB.js → entry-preview-BxxndF3a.js} +1 -1
  243. package/dist/assets/getReactElementRef-DsIevm5t.js +1 -0
  244. package/dist/assets/i18next-7SyOfhCu.js +1 -0
  245. package/dist/assets/{iconUtils-B6sV00nC.js → iconUtils-BII10A1q.js} +1 -1
  246. package/dist/assets/{iframe-CXLAql3E.js → iframe-Cf-Lpz6Y.js} +2 -2
  247. package/dist/assets/{index-Dj8r1U9U.js → index-DB8HwIVZ.js} +1 -1
  248. package/dist/assets/{index-BqmbiZ7T.js → index-DLgQDw3r.js} +3 -3
  249. package/dist/assets/{index-DRboDwvZ.js → index-Ml2UeFXJ.js} +1 -1
  250. package/dist/assets/index-_dyfSX8u.js +1 -0
  251. package/dist/assets/index.esm-CBOWgn41.js +1 -0
  252. package/dist/assets/{index.esm-CaIA2ztV.js → index.esm-DTxqsiYY.js} +1 -1
  253. package/dist/assets/inheritsLoose-CJ6Ie9dp.js +1 -0
  254. package/dist/assets/{personData-zrA1iJih.js → personData-BYPP3apv.js} +1 -1
  255. package/dist/assets/{personData-vW3mumD1.js → personData-CRkmqebZ.js} +1 -1
  256. package/dist/assets/{pickerComponentPropsMetadata-P9x80E4R.js → pickerComponentPropsMetadata-D10GkMIO.js} +3 -3
  257. package/dist/assets/popper-BVOCD5jc.js +1 -0
  258. package/dist/assets/{preview-BprB3Yzd.js → preview-D06dtFvI.js} +2 -2
  259. package/dist/assets/{preview-_inBJXZG.js → preview-Dk8DzNBz.js} +1 -1
  260. package/dist/assets/renderUiShell.stories-CAw-IOS4.js +866 -0
  261. package/dist/assets/{resolveComponentProps-BzfJewMt.js → resolveComponentProps-DXQ8X87i.js} +1 -1
  262. package/dist/assets/{tableSortLabelClasses-DtOYtU1J.js → tableSortLabelClasses-CkKrbp1R.js} +1 -1
  263. package/dist/assets/{useAutocomplete-DwWveFvJ.js → useAutocomplete-BRetTkpF.js} +1 -1
  264. package/dist/assets/{useMobilePicker-5I3ooa1D.js → useMobilePicker-DZhX9dEQ.js} +1 -1
  265. package/dist/assets/useOdysseyDateFields-DPSkeXJj.js +61 -0
  266. package/dist/assets/{useScrollIndication-C4t86M0g.js → useScrollIndication-mYI-g6xa.js} +3 -3
  267. package/dist/assets/{useSlot-CaOQD_17.js → useSlot-CvpE2t6D.js} +1 -1
  268. package/dist/assets/useThemeProps-BPvYx-mf.js +1 -0
  269. package/dist/assets/useThemeProps-DwvbKxez.js +1 -0
  270. package/dist/assets/utils-kUZVaD1e.js +1 -0
  271. package/dist/cjs/DataTable/DataTable.cjs +18 -16
  272. package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
  273. package/dist/cjs/DataTable/DataTableRowActions.cjs +13 -12
  274. package/dist/cjs/DataTable/DataTableRowActions.cjs.map +1 -1
  275. package/dist/cjs/DataTable/DataTableSettings.cjs +9 -8
  276. package/dist/cjs/DataTable/DataTableSettings.cjs.map +1 -1
  277. package/dist/cjs/DatePickers/DateFieldActionBar.cjs +3 -3
  278. package/dist/cjs/DatePickers/DateFieldActionBar.cjs.map +1 -1
  279. package/dist/cjs/DatePickers/DatePicker.cjs +2 -2
  280. package/dist/cjs/DatePickers/DatePicker.cjs.map +1 -1
  281. package/dist/cjs/DatePickers/datePickerTheme.cjs +2 -2
  282. package/dist/cjs/DatePickers/datePickerTheme.cjs.map +1 -1
  283. package/dist/cjs/Dialog.cjs +4 -4
  284. package/dist/cjs/Dialog.cjs.map +1 -1
  285. package/dist/cjs/Drawer.cjs +29 -18
  286. package/dist/cjs/Drawer.cjs.map +1 -1
  287. package/dist/cjs/{Checkbox.cjs → Fields/Checkbox.cjs} +7 -16
  288. package/dist/cjs/Fields/Checkbox.cjs.map +1 -0
  289. package/dist/cjs/{CheckboxGroup.cjs → Fields/CheckboxGroup.cjs} +1 -1
  290. package/dist/cjs/Fields/CheckboxGroup.cjs.map +1 -0
  291. package/dist/cjs/Fields/Hint.cjs +31 -0
  292. package/dist/cjs/Fields/Hint.cjs.map +1 -0
  293. package/dist/cjs/{Radio.cjs → Fields/Radio.cjs} +5 -14
  294. package/dist/cjs/Fields/Radio.cjs.map +1 -0
  295. package/dist/cjs/{RadioGroup.cjs → Fields/RadioGroup.cjs} +2 -2
  296. package/dist/cjs/Fields/RadioGroup.cjs.map +1 -0
  297. package/dist/cjs/FileUploader/FileUploader.cjs +6 -6
  298. package/dist/cjs/FileUploader/FileUploader.cjs.map +1 -1
  299. package/dist/cjs/Form.cjs.map +1 -1
  300. package/dist/cjs/OdysseyThemeProvider.cjs +2 -2
  301. package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
  302. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs.map +1 -1
  303. package/dist/cjs/Pagination/Pagination.cjs +7 -7
  304. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  305. package/dist/cjs/Toast.cjs +4 -4
  306. package/dist/cjs/Toast.cjs.map +1 -1
  307. package/dist/cjs/__internal.cjs +143 -0
  308. package/dist/cjs/__internal.cjs.map +1 -1
  309. package/dist/cjs/index.cjs +685 -613
  310. package/dist/cjs/index.cjs.map +1 -1
  311. package/dist/cjs/labs/AppTile.cjs +2 -2
  312. package/dist/cjs/labs/AppTile.cjs.map +1 -1
  313. package/dist/cjs/labs/DataFilters.cjs +16 -16
  314. package/dist/cjs/labs/DataFilters.cjs.map +1 -1
  315. package/dist/cjs/labs/DataTablePagination.cjs +7 -7
  316. package/dist/cjs/labs/DataTablePagination.cjs.map +1 -1
  317. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +7 -6
  318. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs.map +1 -1
  319. package/dist/cjs/labs/DataView/DataView.cjs +8 -7
  320. package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
  321. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +4 -3
  322. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs.map +1 -1
  323. package/dist/cjs/labs/DataView/RowActions.cjs +10 -10
  324. package/dist/cjs/labs/DataView/RowActions.cjs.map +1 -1
  325. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +11 -10
  326. package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
  327. package/dist/cjs/labs/DataView/TableSettings.cjs +9 -8
  328. package/dist/cjs/labs/DataView/TableSettings.cjs.map +1 -1
  329. package/dist/cjs/labs/DataView/componentTypes.cjs.map +1 -1
  330. package/dist/cjs/labs/DataView/useFilterConversion.cjs.map +1 -1
  331. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +7 -7
  332. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs.map +1 -1
  333. package/dist/cjs/labs/DatePickers/dateTimePickerTheme.cjs +3 -3
  334. package/dist/cjs/labs/DatePickers/dateTimePickerTheme.cjs.map +1 -1
  335. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +2 -2
  336. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs.map +1 -1
  337. package/dist/cjs/labs/index.cjs +156 -28
  338. package/dist/cjs/labs/index.cjs.map +1 -1
  339. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +2 -0
  340. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs.map +1 -1
  341. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +5 -3
  342. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  343. package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
  344. package/dist/cjs/ui-shell/WideUiShellContent.cjs +9 -9
  345. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
  346. package/dist/cjs/ui-shell/index.cjs +24 -12
  347. package/dist/cjs/ui-shell/index.cjs.map +1 -1
  348. package/dist/cjs/ui-shell/renderUiShell.cjs +4 -2
  349. package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
  350. package/dist/cjs/web-component/createShadowDomElements.cjs +2 -2
  351. package/dist/cjs/web-component/createShadowDomElements.cjs.map +1 -1
  352. package/dist/cjs/web-component/{removeGlobalStylesFromShadowDom.cjs → encapsulateShadowDomFromGlobalStyles.cjs} +4 -4
  353. package/dist/cjs/web-component/encapsulateShadowDomFromGlobalStyles.cjs.map +1 -0
  354. package/dist/cjs/web-component/index.cjs +4 -4
  355. package/dist/cjs/web-component/index.cjs.map +1 -1
  356. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
  357. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
  358. package/dist/cjs/web-component/renderReactInWebComponent.cjs +12 -8
  359. package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
  360. package/dist/esm/DataTable/DataTable.js +4 -2
  361. package/dist/esm/DataTable/DataTable.js.map +1 -1
  362. package/dist/esm/DataTable/DataTableRowActions.js +2 -1
  363. package/dist/esm/DataTable/DataTableRowActions.js.map +1 -1
  364. package/dist/esm/DataTable/DataTableSettings.js +2 -1
  365. package/dist/esm/DataTable/DataTableSettings.js.map +1 -1
  366. package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
  367. package/dist/esm/DatePickers/DateFieldActionBar.js.map +1 -1
  368. package/dist/esm/DatePickers/DatePicker.js +1 -1
  369. package/dist/esm/DatePickers/DatePicker.js.map +1 -1
  370. package/dist/esm/DatePickers/datePickerTheme.js +1 -1
  371. package/dist/esm/DatePickers/datePickerTheme.js.map +1 -1
  372. package/dist/esm/Dialog.js +1 -1
  373. package/dist/esm/Dialog.js.map +1 -1
  374. package/dist/esm/Drawer.js +26 -15
  375. package/dist/esm/Drawer.js.map +1 -1
  376. package/dist/esm/{Checkbox.js → Fields/Checkbox.js} +6 -16
  377. package/dist/esm/Fields/Checkbox.js.map +1 -0
  378. package/dist/esm/{CheckboxGroup.js → Fields/CheckboxGroup.js} +1 -1
  379. package/dist/esm/Fields/CheckboxGroup.js.map +1 -0
  380. package/dist/esm/Fields/Hint.js +24 -0
  381. package/dist/esm/Fields/Hint.js.map +1 -0
  382. package/dist/esm/{Radio.js → Fields/Radio.js} +4 -14
  383. package/dist/esm/Fields/Radio.js.map +1 -0
  384. package/dist/esm/{RadioGroup.js → Fields/RadioGroup.js} +2 -2
  385. package/dist/esm/Fields/RadioGroup.js.map +1 -0
  386. package/dist/esm/FileUploader/FileUploader.js +2 -3
  387. package/dist/esm/FileUploader/FileUploader.js.map +1 -1
  388. package/dist/esm/Form.js.map +1 -1
  389. package/dist/esm/OdysseyThemeProvider.js +1 -1
  390. package/dist/esm/OdysseyThemeProvider.js.map +1 -1
  391. package/dist/esm/OdysseyThemeProviderPropsContext.js.map +1 -1
  392. package/dist/esm/Pagination/Pagination.js +1 -1
  393. package/dist/esm/Pagination/Pagination.js.map +1 -1
  394. package/dist/esm/Toast.js +1 -1
  395. package/dist/esm/Toast.js.map +1 -1
  396. package/dist/esm/__internal.js +13 -0
  397. package/dist/esm/__internal.js.map +1 -1
  398. package/dist/esm/index.js +62 -54
  399. package/dist/esm/index.js.map +1 -1
  400. package/dist/esm/labs/AppTile.js +1 -1
  401. package/dist/esm/labs/AppTile.js.map +1 -1
  402. package/dist/esm/labs/DataFilters.js +5 -5
  403. package/dist/esm/labs/DataFilters.js.map +1 -1
  404. package/dist/esm/labs/DataTablePagination.js +1 -1
  405. package/dist/esm/labs/DataTablePagination.js.map +1 -1
  406. package/dist/esm/labs/DataView/BulkActionsMenu.js +2 -1
  407. package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
  408. package/dist/esm/labs/DataView/DataView.js +3 -2
  409. package/dist/esm/labs/DataView/DataView.js.map +1 -1
  410. package/dist/esm/labs/DataView/LayoutSwitcher.js +2 -1
  411. package/dist/esm/labs/DataView/LayoutSwitcher.js.map +1 -1
  412. package/dist/esm/labs/DataView/RowActions.js +1 -1
  413. package/dist/esm/labs/DataView/RowActions.js.map +1 -1
  414. package/dist/esm/labs/DataView/TableLayoutContent.js +2 -1
  415. package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
  416. package/dist/esm/labs/DataView/TableSettings.js +2 -1
  417. package/dist/esm/labs/DataView/TableSettings.js.map +1 -1
  418. package/dist/esm/labs/DataView/componentTypes.js.map +1 -1
  419. package/dist/esm/labs/DataView/useFilterConversion.js.map +1 -1
  420. package/dist/esm/labs/DatePickers/DateTimePicker.js +2 -2
  421. package/dist/esm/labs/DatePickers/DateTimePicker.js.map +1 -1
  422. package/dist/esm/labs/DatePickers/dateTimePickerTheme.js +1 -1
  423. package/dist/esm/labs/DatePickers/dateTimePickerTheme.js.map +1 -1
  424. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
  425. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -1
  426. package/dist/esm/labs/index.js +18 -7
  427. package/dist/esm/labs/index.js.map +1 -1
  428. package/dist/esm/ui-shell/SideNav/NavAccordion.js +2 -0
  429. package/dist/esm/ui-shell/SideNav/NavAccordion.js.map +1 -1
  430. package/dist/esm/ui-shell/SideNav/SideNav.js +4 -2
  431. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  432. package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
  433. package/dist/esm/ui-shell/WideUiShellContent.js +3 -3
  434. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
  435. package/dist/esm/ui-shell/index.js +4 -3
  436. package/dist/esm/ui-shell/index.js.map +1 -1
  437. package/dist/esm/ui-shell/renderUiShell.js +4 -2
  438. package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
  439. package/dist/esm/web-component/createShadowDomElements.js +2 -2
  440. package/dist/esm/web-component/createShadowDomElements.js.map +1 -1
  441. package/dist/esm/web-component/{removeGlobalStylesFromShadowDom.js → encapsulateShadowDomFromGlobalStyles.js} +2 -2
  442. package/dist/esm/web-component/encapsulateShadowDomFromGlobalStyles.js.map +1 -0
  443. package/dist/esm/web-component/index.js +1 -1
  444. package/dist/esm/web-component/index.js.map +1 -1
  445. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
  446. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
  447. package/dist/esm/web-component/renderReactInWebComponent.js +12 -8
  448. package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
  449. package/dist/iframe.html +1 -1
  450. package/dist/index.d.ts +21 -232
  451. package/dist/index.json +1 -1
  452. package/dist/project.json +1 -1
  453. package/dist/sb-addons/storybook-13/manager-bundle.js +1 -1
  454. package/dist/tsconfig.production.tsbuildinfo +1 -1
  455. package/dist/tsconfig.tsbuildinfo +1 -1
  456. package/dist/types/DataTable/DataTable.d.ts +3 -3
  457. package/dist/types/DataTable/DataTable.d.ts.map +1 -1
  458. package/dist/types/DataTable/DataTableRowActions.d.ts +2 -1
  459. package/dist/types/DataTable/DataTableRowActions.d.ts.map +1 -1
  460. package/dist/types/DataTable/DataTableSettings.d.ts.map +1 -1
  461. package/dist/types/Dialog.d.ts +1 -1
  462. package/dist/types/Dialog.d.ts.map +1 -1
  463. package/dist/types/Drawer.d.ts +1 -1
  464. package/dist/types/Drawer.d.ts.map +1 -1
  465. package/dist/types/{Checkbox.d.ts → Fields/Checkbox.d.ts} +4 -4
  466. package/dist/types/Fields/Checkbox.d.ts.map +1 -0
  467. package/dist/types/{CheckboxGroup.d.ts → Fields/CheckboxGroup.d.ts} +2 -2
  468. package/dist/types/Fields/CheckboxGroup.d.ts.map +1 -0
  469. package/dist/{esm/DatePickers/index.js → types/Fields/Hint.d.ts} +9 -6
  470. package/dist/types/Fields/Hint.d.ts.map +1 -0
  471. package/dist/types/{Radio.d.ts → Fields/Radio.d.ts} +3 -3
  472. package/dist/types/Fields/Radio.d.ts.map +1 -0
  473. package/dist/types/{RadioGroup.d.ts → Fields/RadioGroup.d.ts} +2 -2
  474. package/dist/types/Fields/RadioGroup.d.ts.map +1 -0
  475. package/dist/types/FileUploader/FileUploader.d.ts +1 -2
  476. package/dist/types/FileUploader/FileUploader.d.ts.map +1 -1
  477. package/dist/types/Form.d.ts +1 -1
  478. package/dist/types/Form.d.ts.map +1 -1
  479. package/dist/types/OdysseyThemeProviderPropsContext.d.ts +1 -1
  480. package/dist/types/__internal.d.ts +13 -0
  481. package/dist/types/__internal.d.ts.map +1 -1
  482. package/dist/types/index.d.ts.map +1 -1
  483. package/dist/types/labs/DataView/BulkActionsMenu.d.ts.map +1 -1
  484. package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
  485. package/dist/types/labs/DataView/LayoutSwitcher.d.ts.map +1 -1
  486. package/dist/types/labs/DataView/RowActions.d.ts +2 -1
  487. package/dist/types/labs/DataView/RowActions.d.ts.map +1 -1
  488. package/dist/types/labs/DataView/TableLayoutContent.d.ts.map +1 -1
  489. package/dist/types/labs/DataView/TableSettings.d.ts.map +1 -1
  490. package/dist/types/labs/DataView/componentTypes.d.ts +1 -1
  491. package/dist/types/labs/DataView/componentTypes.d.ts.map +1 -1
  492. package/dist/types/labs/index.d.ts +19 -7
  493. package/dist/types/labs/index.d.ts.map +1 -1
  494. package/dist/types/tsconfig.tsbuildinfo +1 -1
  495. package/dist/types/ui-shell/SideNav/NavAccordion.d.ts +1 -1
  496. package/dist/types/ui-shell/SideNav/NavAccordion.d.ts.map +1 -1
  497. package/dist/types/ui-shell/SideNav/SideNav.d.ts +0 -2
  498. package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
  499. package/dist/types/ui-shell/SideNav/types.d.ts +4 -0
  500. package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
  501. package/dist/types/ui-shell/index.d.ts +4 -3
  502. package/dist/types/ui-shell/index.d.ts.map +1 -1
  503. package/dist/types/ui-shell/renderUiShell.d.ts +5 -1
  504. package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
  505. package/dist/types/web-component/{removeGlobalStylesFromShadowDom.d.ts → encapsulateShadowDomFromGlobalStyles.d.ts} +2 -2
  506. package/dist/types/web-component/encapsulateShadowDomFromGlobalStyles.d.ts.map +1 -0
  507. package/dist/types/web-component/index.d.ts +1 -1
  508. package/dist/types/web-component/index.d.ts.map +1 -1
  509. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
  510. package/dist/types/web-component/renderReactInWebComponent.d.ts +8 -2
  511. package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
  512. package/package.json +3 -3
  513. package/dist/assets/AdapterLuxon-0NB_ajTr.js +0 -1
  514. package/dist/assets/AppTile _labs_.stories-uDhyBCfD.js +0 -136
  515. package/dist/assets/Autocomplete-CXy6JKKy.js +0 -1
  516. package/dist/assets/Box-CWTB5xfE.js +0 -1
  517. package/dist/assets/Box-D2NdOYc2.js +0 -11
  518. package/dist/assets/Breadcrumbs-6BEAV_iX.js +0 -1
  519. package/dist/assets/Breadcrumbs-C2ZpdmyC.js +0 -6
  520. package/dist/assets/Breadcrumbs.stories-WwSpw0c-.js +0 -79
  521. package/dist/assets/Button-B6KDXfay.js +0 -41
  522. package/dist/assets/ButtonBase-BAQsCgRq.js +0 -74
  523. package/dist/assets/Callout.stories-nPexHuaO.js +0 -105
  524. package/dist/assets/Card-2fiTHibU.js +0 -8
  525. package/dist/assets/Card-CaY-V3Lt.js +0 -1
  526. package/dist/assets/CardActions-X5bUcMdJ.js +0 -1
  527. package/dist/assets/Checkbox-BCh8HZ37.js +0 -1
  528. package/dist/assets/Checkbox.stories-CQ5I8O9l.js +0 -96
  529. package/dist/assets/CheckboxGroup.stories-B4ljyQRV.js +0 -81
  530. package/dist/assets/Chip-DXaMeATb.js +0 -1
  531. package/dist/assets/Custom Theming.stories-t0y6qbUN.js +0 -95
  532. package/dist/assets/DataTable _labs_-CJnucUaL.js +0 -41
  533. package/dist/assets/DatePicker-txjKmLSi.js +0 -1
  534. package/dist/assets/DatePicker.stories-VLeccVga.js +0 -133
  535. package/dist/assets/DateTimePicker-LSjVE-IM.js +0 -1
  536. package/dist/assets/Design Tokens-DrLUPXCc.js +0 -4
  537. package/dist/assets/Dialog-CRuld07G.js +0 -1
  538. package/dist/assets/Dialog.stories-Bm_j9j63.js +0 -201
  539. package/dist/assets/DialogContentText-DU3-VV7L.js +0 -1
  540. package/dist/assets/DialogTitle-DyO9kr6R.js +0 -1
  541. package/dist/assets/Drawer-CwxKxBTE.js +0 -27
  542. package/dist/assets/Drawer-DEqB4KYp.js +0 -1
  543. package/dist/assets/Drawer.stories-Dvgnp9yd.js +0 -95
  544. package/dist/assets/EmptyState.stories-DK1ZE36w.js +0 -11
  545. package/dist/assets/ExampleButton.stories-C51QbMy5.js +0 -11
  546. package/dist/assets/Fade-CVbWKXvx.js +0 -1
  547. package/dist/assets/Fieldset.stories-BU8d3fia.js +0 -15
  548. package/dist/assets/Form.stories-Clfikd2x.js +0 -69
  549. package/dist/assets/GroupPicker _labs_.stories-CFJvoMQP.js +0 -33
  550. package/dist/assets/Grow-DacPmog-.js +0 -1
  551. package/dist/assets/Icon _icons_.stories-BQr18gG9.js +0 -16
  552. package/dist/assets/IconWithTooltip _icons_.stories-Ct7hQD2g.js +0 -19
  553. package/dist/assets/IgaComponentsLegacyOdysseyDecorator-28myx5I9.js +0 -175
  554. package/dist/assets/Link-BH0CiguI.js +0 -11
  555. package/dist/assets/Menu-CHod3UUY.js +0 -1
  556. package/dist/assets/MenuButton-CMGgaZPh.js +0 -9
  557. package/dist/assets/MenuItem.stories-YEtPNOwc.js +0 -29
  558. package/dist/assets/Modal-B1-40kNg.js +0 -1
  559. package/dist/assets/NativeSelect.stories-BIRwQlHa.js +0 -173
  560. package/dist/assets/OdysseyProvider-CLb8psrs.js +0 -197
  561. package/dist/assets/PageHeader.stories-fXDR4T37.js +0 -17
  562. package/dist/assets/PageTemplate _labs_-D3SkGEbG.js +0 -8
  563. package/dist/assets/PageTemplate.stories-H4WnNBj4.js +0 -487
  564. package/dist/assets/Pagination.stories-CB4pOr9i.js +0 -17
  565. package/dist/assets/PasswordField.stories-D5ZRplSl.js +0 -129
  566. package/dist/assets/Picker _labs_.stories-CyZs7sOo.js +0 -18
  567. package/dist/assets/Popper-DjhYeJJy.js +0 -1
  568. package/dist/assets/Portal-GAJY6Au9.js +0 -1
  569. package/dist/assets/Radio-tkNaA8vy.js +0 -1
  570. package/dist/assets/RadioGroup-DP-BtKDw.js +0 -10
  571. package/dist/assets/RadioGroup-DRNCKA-f.js +0 -1
  572. package/dist/assets/RadioGroup.stories-DRXPUU0H.js +0 -127
  573. package/dist/assets/ResourceAccessPolicyComponentsStorybookThemeDecorator-IgdZHick.js +0 -1
  574. package/dist/assets/ScreenReaderText.stories-CpsTRHeF.js +0 -8
  575. package/dist/assets/SearchField.stories-C95LqZ5d.js +0 -37
  576. package/dist/assets/Select-9yKLDVKS.js +0 -1
  577. package/dist/assets/Snackbar-Cn_gMSEK.js +0 -1
  578. package/dist/assets/TabPanel-XF64c5rR.js +0 -1
  579. package/dist/assets/Tabs-DzeBYjfY.js +0 -1
  580. package/dist/assets/Tabs.stories-Dtlm8Y9N.js +0 -100
  581. package/dist/assets/Tag.stories-DIlHCDGk.js +0 -96
  582. package/dist/assets/Toast.stories-DO1V8pyh.js +0 -134
  583. package/dist/assets/ToastManager.stories-CmZGqHye.js +0 -22
  584. package/dist/assets/Tooltip-D4AWrTBw.js +0 -1
  585. package/dist/assets/Tooltip.stories-s36iDmFy.js +0 -68
  586. package/dist/assets/TopNav.stories-Dg27-0zA.js +0 -13
  587. package/dist/assets/TransitionGroupContext-DLI0IzWy.js +0 -1
  588. package/dist/assets/Typography-D01yctPx.js +0 -607
  589. package/dist/assets/Typography.stories-Cr7YbFxb.js +0 -73
  590. package/dist/assets/UserProfile.stories-BbvzhbPD.js +0 -14
  591. package/dist/assets/WorkflowsComponentsStorybookThemeDecorator-COYvO4K8.js +0 -1
  592. package/dist/assets/emotion-react-jsx-runtime.browser.esm-DcYOMKFp.js +0 -1
  593. package/dist/assets/index-BsDcV5Kh.js +0 -1
  594. package/dist/assets/index.esm-HelN6IAt.js +0 -1
  595. package/dist/assets/renderUiShell.stories-ILWjsAQY.js +0 -854
  596. package/dist/assets/useOdysseyDateFields-Cq2BZNiB.js +0 -61
  597. package/dist/assets/useThemeProps-Bfa1XAV-.js +0 -1
  598. package/dist/assets/useThemeProps-D4857Xca.js +0 -1
  599. package/dist/assets/utils-DkZjDCLm.js +0 -1
  600. package/dist/cjs/Buttons/index.cjs +0 -93
  601. package/dist/cjs/Buttons/index.cjs.map +0 -1
  602. package/dist/cjs/Checkbox.cjs.map +0 -1
  603. package/dist/cjs/CheckboxGroup.cjs.map +0 -1
  604. package/dist/cjs/DataTable/index.cjs +0 -20
  605. package/dist/cjs/DataTable/index.cjs.map +0 -1
  606. package/dist/cjs/DatePickers/index.cjs +0 -39
  607. package/dist/cjs/DatePickers/index.cjs.map +0 -1
  608. package/dist/cjs/FileUploader/index.cjs +0 -17
  609. package/dist/cjs/FileUploader/index.cjs.map +0 -1
  610. package/dist/cjs/Pagination/index.cjs +0 -36
  611. package/dist/cjs/Pagination/index.cjs.map +0 -1
  612. package/dist/cjs/Radio.cjs.map +0 -1
  613. package/dist/cjs/RadioGroup.cjs.map +0 -1
  614. package/dist/cjs/labs/DataView/index.cjs +0 -60
  615. package/dist/cjs/labs/DataView/index.cjs.map +0 -1
  616. package/dist/cjs/labs/DatePickers/index.cjs +0 -17
  617. package/dist/cjs/labs/DatePickers/index.cjs.map +0 -1
  618. package/dist/cjs/labs/OdysseyPickers/index.cjs +0 -48
  619. package/dist/cjs/labs/OdysseyPickers/index.cjs.map +0 -1
  620. package/dist/cjs/labs/PageTemplate/index.cjs +0 -28
  621. package/dist/cjs/labs/PageTemplate/index.cjs.map +0 -1
  622. package/dist/cjs/theme/index.cjs +0 -17
  623. package/dist/cjs/theme/index.cjs.map +0 -1
  624. package/dist/cjs/ui-shell/AppSwitcher/index.cjs +0 -17
  625. package/dist/cjs/ui-shell/AppSwitcher/index.cjs.map +0 -1
  626. package/dist/cjs/ui-shell/SideNav/index.cjs +0 -40
  627. package/dist/cjs/ui-shell/SideNav/index.cjs.map +0 -1
  628. package/dist/cjs/ui-shell/TopNav/index.cjs +0 -17
  629. package/dist/cjs/ui-shell/TopNav/index.cjs.map +0 -1
  630. package/dist/cjs/web-component/removeGlobalStylesFromShadowDom.cjs.map +0 -1
  631. package/dist/esm/Buttons/index.js +0 -19
  632. package/dist/esm/Buttons/index.js.map +0 -1
  633. package/dist/esm/Checkbox.js.map +0 -1
  634. package/dist/esm/CheckboxGroup.js.map +0 -1
  635. package/dist/esm/DataTable/index.js +0 -15
  636. package/dist/esm/DataTable/index.js.map +0 -1
  637. package/dist/esm/DatePickers/index.js.map +0 -1
  638. package/dist/esm/FileUploader/index.js +0 -14
  639. package/dist/esm/FileUploader/index.js.map +0 -1
  640. package/dist/esm/Pagination/index.js +0 -16
  641. package/dist/esm/Pagination/index.js.map +0 -1
  642. package/dist/esm/Radio.js.map +0 -1
  643. package/dist/esm/RadioGroup.js.map +0 -1
  644. package/dist/esm/labs/DataView/index.js +0 -18
  645. package/dist/esm/labs/DataView/index.js.map +0 -1
  646. package/dist/esm/labs/DatePickers/index.js +0 -14
  647. package/dist/esm/labs/DatePickers/index.js.map +0 -1
  648. package/dist/esm/labs/OdysseyPickers/index.js +0 -17
  649. package/dist/esm/labs/OdysseyPickers/index.js.map +0 -1
  650. package/dist/esm/labs/PageTemplate/index.js +0 -15
  651. package/dist/esm/labs/PageTemplate/index.js.map +0 -1
  652. package/dist/esm/theme/index.js +0 -14
  653. package/dist/esm/theme/index.js.map +0 -1
  654. package/dist/esm/ui-shell/AppSwitcher/index.js +0 -14
  655. package/dist/esm/ui-shell/AppSwitcher/index.js.map +0 -1
  656. package/dist/esm/ui-shell/SideNav/index.js +0 -16
  657. package/dist/esm/ui-shell/SideNav/index.js.map +0 -1
  658. package/dist/esm/ui-shell/TopNav/index.js +0 -14
  659. package/dist/esm/ui-shell/TopNav/index.js.map +0 -1
  660. package/dist/esm/web-component/removeGlobalStylesFromShadowDom.js.map +0 -1
  661. package/dist/index.cjs +0 -231
  662. package/dist/index.mjs +0 -229
  663. package/dist/index.scss +0 -549
  664. package/dist/types/Buttons/index.d.ts +0 -18
  665. package/dist/types/Buttons/index.d.ts.map +0 -1
  666. package/dist/types/Checkbox.d.ts.map +0 -1
  667. package/dist/types/CheckboxGroup.d.ts.map +0 -1
  668. package/dist/types/DataTable/index.d.ts +0 -15
  669. package/dist/types/DataTable/index.d.ts.map +0 -1
  670. package/dist/types/DatePickers/index.d.ts +0 -15
  671. package/dist/types/DatePickers/index.d.ts.map +0 -1
  672. package/dist/types/FileUploader/index.d.ts +0 -13
  673. package/dist/types/FileUploader/index.d.ts.map +0 -1
  674. package/dist/types/Pagination/index.d.ts +0 -15
  675. package/dist/types/Pagination/index.d.ts.map +0 -1
  676. package/dist/types/Radio.d.ts.map +0 -1
  677. package/dist/types/RadioGroup.d.ts.map +0 -1
  678. package/dist/types/labs/DataView/index.d.ts +0 -18
  679. package/dist/types/labs/DataView/index.d.ts.map +0 -1
  680. package/dist/types/labs/DatePickers/index.d.ts +0 -13
  681. package/dist/types/labs/DatePickers/index.d.ts.map +0 -1
  682. package/dist/types/labs/OdysseyPickers/index.d.ts +0 -16
  683. package/dist/types/labs/OdysseyPickers/index.d.ts.map +0 -1
  684. package/dist/types/labs/PageTemplate/index.d.ts +0 -14
  685. package/dist/types/labs/PageTemplate/index.d.ts.map +0 -1
  686. package/dist/types/theme/index.d.ts +0 -13
  687. package/dist/types/theme/index.d.ts.map +0 -1
  688. package/dist/types/ui-shell/AppSwitcher/index.d.ts +0 -13
  689. package/dist/types/ui-shell/AppSwitcher/index.d.ts.map +0 -1
  690. package/dist/types/ui-shell/SideNav/index.d.ts +0 -15
  691. package/dist/types/ui-shell/SideNav/index.d.ts.map +0 -1
  692. package/dist/types/ui-shell/TopNav/index.d.ts +0 -13
  693. package/dist/types/ui-shell/TopNav/index.d.ts.map +0 -1
  694. package/dist/types/web-component/removeGlobalStylesFromShadowDom.d.ts.map +0 -1
@@ -12,7 +12,7 @@
12
12
 
13
13
  import styled from "@emotion/styled";
14
14
  import { memo, useCallback, useEffect, useRef, useState } from "react";
15
- import { Button } from "../Buttons/index.js";
15
+ import { Button } from "../Buttons/Button.js";
16
16
  import { Field } from "../Field.js";
17
17
  import { useTranslation } from "../i18n.generated/i18n.js";
18
18
  import { UploadIcon } from "../icons.generated/index.js";
@@ -192,6 +192,5 @@ const FileUploader = ({
192
192
  };
193
193
  const MemoizedFileUploader = memo(FileUploader);
194
194
  MemoizedFileUploader.displayName = "FileUploader";
195
- export { MemoizedFileUploader as FileUpload };
196
- export { MemoizedFileUploader as FileUploader };
195
+ export { MemoizedFileUploader as FileUpload, MemoizedFileUploader as FileUploader };
197
196
  //# sourceMappingURL=FileUploader.js.map
@@ -1 +1 @@
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":"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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/Button.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 {\n MemoizedFileUploader as FileUpload,\n MemoizedFileUploader as FileUploader,\n};\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"Form.js","names":["styled","memo","useOdysseyDesignTokens","Heading4","Support","useUniqueId","jsx","_jsx","jsxs","_jsxs","formEncodingTypeValues","formAutoCompleteTypeValues","formMethodValues","StyledForm","form","isFullWidth","odysseyDesignTokens","maxWidth","TypographyLineLengthMax","margin","padding","TitleContainer","div","marginBlockEnd","Spacing4","FormActionContainer","display","justifyContent","gap","Spacing1","marginBlockStart","Spacing7","Form","alert","autoCompleteType","children","description","encodingType","formActions","id","idOverride","method","name","noValidate","onSubmit","target","testId","title","translate","autoComplete","encType","component","MemoizedForm","displayName"],"sources":["../../src/Form.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 { FormEventHandler, memo, ReactElement } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Button } from \"./Buttons/index.js\";\nimport { Callout } from \"./Callout.js\";\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { Heading4, Support } from \"./Typography.js\";\nimport { useUniqueId } from \"./useUniqueId.js\";\n\nexport const formEncodingTypeValues = [\n \"application/x-www-form-urlencoded\",\n \"application/json\",\n \"multipart/form-data\",\n \"text/plain\",\n] as const;\nexport const formAutoCompleteTypeValues = [\"on\", \"off\"] as const;\nexport const formMethodValues = [\"post\", \"get\", \"dialog\"] as const;\n\nconst StyledForm = styled.form<{\n isFullWidth?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isFullWidth, odysseyDesignTokens }) => ({\n maxWidth: isFullWidth ? \"100%\" : odysseyDesignTokens.TypographyLineLengthMax,\n margin: 0,\n padding: 0,\n}));\n\nconst TitleContainer = styled.div<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n marginBlockEnd: odysseyDesignTokens.Spacing4,\n}));\n\nconst FormActionContainer = styled.div<{\n odysseyDesignTokens: DesignTokens;\n}>(\n {\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n ({ odysseyDesignTokens }) => ({\n gap: odysseyDesignTokens.Spacing1,\n marginBlockStart: odysseyDesignTokens.Spacing7,\n }),\n);\n\nexport type FormProps = {\n /**\n * A Callout indicating a Form-wide error or status update.\n */\n alert?: ReactElement<typeof Callout>;\n /**\n * Indicates whether input elements can by default have their values automatically completed by the browser.\n * `autocomplete` attributes on form elements override it on <form>\n */\n autoCompleteType?: (typeof formAutoCompleteTypeValues)[number];\n /**\n * The Field or FieldSet components within the Form\n */\n children: ReactElement | Array<ReactElement>;\n /**\n * A supplementary description\n */\n description?: string;\n /**\n * If the value of the method attribute is post, enctype is the MIME type of the form submission.\n * This value can be overridden by formenctype attributes on <button>, <input type=\"submit\">, or <input type=\"image\"> elements.\n */\n encodingType?: (typeof formEncodingTypeValues)[number];\n /**\n * The Field or FieldGroup components within the Form\n */\n formActions?:\n | ReactElement<typeof Button>\n | Array<ReactElement<typeof Button>>;\n /**\n * Defines a unique identifier (ID) which must be unique in the whole document.\n */\n id?: string;\n /**\n * The HTTP method to submit the form with.\n * This value is overridden by formmethod attributes on <button>, <input type=\"submit\">, or <input type=\"image\"> elements.\n */\n method?: (typeof formMethodValues)[number];\n /**\n * The name of the form. The value must not be the empty string, and must be unique among the form elements in the forms collection that it is in, if any.\n */\n name: string;\n /**\n * This Boolean attribute indicates that the form shouldn't be validated when submitted.\n * If this attribute is not set (and therefore the form is validated),\n * it can be overridden by a formnovalidate attribute on a <button>, <input type=\"submit\">, or <input type=\"image\"> element belonging to the form.\n */\n noValidate?: boolean;\n /**\n * Callback that passes the submit event to the consumer\n */\n onSubmit?: FormEventHandler<HTMLFormElement>;\n /**\n * Indicates where to display the response after submitting the form. It is a name/keyword for a browsing context (for example, tab, window, or iframe).\n * This value can be overridden by a formtarget attribute on a <button>, <input type=\"submit\">, or <input type=\"image\"> element.\n */\n target?: string;\n /**\n * The title of the Form\n */\n title?: string;\n} & Pick<FieldComponentProps, \"isFullWidth\"> &\n Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst Form = ({\n alert,\n autoCompleteType,\n children,\n description,\n encodingType,\n formActions,\n id: idOverride,\n isFullWidth,\n method,\n name,\n noValidate = false,\n onSubmit,\n target,\n testId,\n title,\n translate,\n}: FormProps) => {\n const id = useUniqueId(idOverride);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n return (\n <StyledForm\n autoComplete={autoCompleteType}\n data-se={testId}\n encType={encodingType}\n id={id}\n isFullWidth={isFullWidth}\n method={method}\n name={name}\n noValidate={noValidate}\n odysseyDesignTokens={odysseyDesignTokens}\n onSubmit={onSubmit}\n target={target}\n >\n <TitleContainer odysseyDesignTokens={odysseyDesignTokens}>\n {title && (\n <Heading4 component=\"h1\" translate={translate}>\n {title}\n </Heading4>\n )}\n {description && <Support translate={translate}>{description}</Support>}\n {alert}\n </TitleContainer>\n <div>{children}</div>\n {formActions && (\n <FormActionContainer odysseyDesignTokens={odysseyDesignTokens}>\n {formActions}\n </FormActionContainer>\n )}\n </StyledForm>\n );\n};\n\nconst MemoizedForm = memo(Form);\nMemoizedForm.displayName = \"Form\";\n\nexport { MemoizedForm as Form };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Form.js","names":["styled","memo","useOdysseyDesignTokens","Heading4","Support","useUniqueId","jsx","_jsx","jsxs","_jsxs","formEncodingTypeValues","formAutoCompleteTypeValues","formMethodValues","StyledForm","form","isFullWidth","odysseyDesignTokens","maxWidth","TypographyLineLengthMax","margin","padding","TitleContainer","div","marginBlockEnd","Spacing4","FormActionContainer","display","justifyContent","gap","Spacing1","marginBlockStart","Spacing7","Form","alert","autoCompleteType","children","description","encodingType","formActions","id","idOverride","method","name","noValidate","onSubmit","target","testId","title","translate","autoComplete","encType","component","MemoizedForm","displayName"],"sources":["../../src/Form.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 { FormEventHandler, memo, ReactElement } from \"react\";\n\nimport type { HtmlProps } from \"./HtmlProps.js\";\n\nimport { Button } from \"./Buttons/Button.js\";\nimport { Callout } from \"./Callout.js\";\nimport { FieldComponentProps } from \"./FieldComponentProps.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"./OdysseyDesignTokensContext.js\";\nimport { Heading4, Support } from \"./Typography.js\";\nimport { useUniqueId } from \"./useUniqueId.js\";\n\nexport const formEncodingTypeValues = [\n \"application/x-www-form-urlencoded\",\n \"application/json\",\n \"multipart/form-data\",\n \"text/plain\",\n] as const;\nexport const formAutoCompleteTypeValues = [\"on\", \"off\"] as const;\nexport const formMethodValues = [\"post\", \"get\", \"dialog\"] as const;\n\nconst StyledForm = styled.form<{\n isFullWidth?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ isFullWidth, odysseyDesignTokens }) => ({\n maxWidth: isFullWidth ? \"100%\" : odysseyDesignTokens.TypographyLineLengthMax,\n margin: 0,\n padding: 0,\n}));\n\nconst TitleContainer = styled.div<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n marginBlockEnd: odysseyDesignTokens.Spacing4,\n}));\n\nconst FormActionContainer = styled.div<{\n odysseyDesignTokens: DesignTokens;\n}>(\n {\n display: \"flex\",\n justifyContent: \"flex-end\",\n },\n ({ odysseyDesignTokens }) => ({\n gap: odysseyDesignTokens.Spacing1,\n marginBlockStart: odysseyDesignTokens.Spacing7,\n }),\n);\n\nexport type FormProps = {\n /**\n * A Callout indicating a Form-wide error or status update.\n */\n alert?: ReactElement<typeof Callout>;\n /**\n * Indicates whether input elements can by default have their values automatically completed by the browser.\n * `autocomplete` attributes on form elements override it on <form>\n */\n autoCompleteType?: (typeof formAutoCompleteTypeValues)[number];\n /**\n * The Field or FieldSet components within the Form\n */\n children: ReactElement | Array<ReactElement>;\n /**\n * A supplementary description\n */\n description?: string;\n /**\n * If the value of the method attribute is post, enctype is the MIME type of the form submission.\n * This value can be overridden by formenctype attributes on <button>, <input type=\"submit\">, or <input type=\"image\"> elements.\n */\n encodingType?: (typeof formEncodingTypeValues)[number];\n /**\n * The Field or FieldGroup components within the Form\n */\n formActions?:\n | ReactElement<typeof Button>\n | Array<ReactElement<typeof Button>>;\n /**\n * Defines a unique identifier (ID) which must be unique in the whole document.\n */\n id?: string;\n /**\n * The HTTP method to submit the form with.\n * This value is overridden by formmethod attributes on <button>, <input type=\"submit\">, or <input type=\"image\"> elements.\n */\n method?: (typeof formMethodValues)[number];\n /**\n * The name of the form. The value must not be the empty string, and must be unique among the form elements in the forms collection that it is in, if any.\n */\n name: string;\n /**\n * This Boolean attribute indicates that the form shouldn't be validated when submitted.\n * If this attribute is not set (and therefore the form is validated),\n * it can be overridden by a formnovalidate attribute on a <button>, <input type=\"submit\">, or <input type=\"image\"> element belonging to the form.\n */\n noValidate?: boolean;\n /**\n * Callback that passes the submit event to the consumer\n */\n onSubmit?: FormEventHandler<HTMLFormElement>;\n /**\n * Indicates where to display the response after submitting the form. It is a name/keyword for a browsing context (for example, tab, window, or iframe).\n * This value can be overridden by a formtarget attribute on a <button>, <input type=\"submit\">, or <input type=\"image\"> element.\n */\n target?: string;\n /**\n * The title of the Form\n */\n title?: string;\n} & Pick<FieldComponentProps, \"isFullWidth\"> &\n Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst Form = ({\n alert,\n autoCompleteType,\n children,\n description,\n encodingType,\n formActions,\n id: idOverride,\n isFullWidth,\n method,\n name,\n noValidate = false,\n onSubmit,\n target,\n testId,\n title,\n translate,\n}: FormProps) => {\n const id = useUniqueId(idOverride);\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n return (\n <StyledForm\n autoComplete={autoCompleteType}\n data-se={testId}\n encType={encodingType}\n id={id}\n isFullWidth={isFullWidth}\n method={method}\n name={name}\n noValidate={noValidate}\n odysseyDesignTokens={odysseyDesignTokens}\n onSubmit={onSubmit}\n target={target}\n >\n <TitleContainer odysseyDesignTokens={odysseyDesignTokens}>\n {title && (\n <Heading4 component=\"h1\" translate={translate}>\n {title}\n </Heading4>\n )}\n {description && <Support translate={translate}>{description}</Support>}\n {alert}\n </TitleContainer>\n <div>{children}</div>\n {formActions && (\n <FormActionContainer odysseyDesignTokens={odysseyDesignTokens}>\n {formActions}\n </FormActionContainer>\n )}\n </StyledForm>\n );\n};\n\nconst MemoizedForm = memo(Form);\nMemoizedForm.displayName = \"Form\";\n\nexport { MemoizedForm as Form };\n"],"mappings":"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","ignoreList":[]}
@@ -17,7 +17,7 @@ import * as Tokens from "@okta/odyssey-design-tokens";
17
17
  import { memo, useMemo } from "react";
18
18
  import { OdysseyDesignTokensContext } from "./OdysseyDesignTokensContext.js";
19
19
  import { OdysseyThemeProviderPropsProvider, useOdysseyThemeProviderPropsContext } from "./OdysseyThemeProviderPropsContext.js";
20
- import { createOdysseyMuiTheme } from "./theme/index.js";
20
+ import { createOdysseyMuiTheme } from "./theme/theme.js";
21
21
  import { ContrastModeContext, useContrastMode } from "./useContrastMode.js";
22
22
  import { jsx as _jsx } from "react/jsx-runtime";
23
23
  const StyledContrastContainerStyles = styled("div")({
@@ -1 +1 @@
1
- {"version":3,"file":"OdysseyThemeProvider.js","names":["styled","createTheme","ThemeProvider","MuiThemeProvider","deepmerge","Tokens","memo","useMemo","OdysseyDesignTokensContext","OdysseyThemeProviderPropsProvider","useOdysseyThemeProviderPropsContext","createOdysseyMuiTheme","ContrastModeContext","useContrastMode","jsx","_jsx","StyledContrastContainerStyles","height","OdysseyThemeProvider","children","contrastMode","contrastModeProp","designTokensOverride","designTokensOverrideProp","hasWrapperElement","shadowDomElement","shadowRootElement","shadowRootElementProp","themeOverride","themeOverrideProp","odysseyThemeProviderPropsContext","contrastContainerRef","odysseyTokens","odysseyTheme","customOdysseyTheme","contrastModeProviderValue","providerComponents","Provider","value","theme","ref","MemoizedOdysseyThemeProvider","displayName"],"sources":["../../src/OdysseyThemeProvider.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 createTheme,\n ThemeProvider as MuiThemeProvider,\n} from \"@mui/material/styles\";\nimport { deepmerge } from \"@mui/utils\";\nimport * as Tokens from \"@okta/odyssey-design-tokens\";\nimport { memo, ReactNode, useMemo } from \"react\";\n\nimport { OdysseyDesignTokensContext } from \"./OdysseyDesignTokensContext.js\";\nimport {\n type OdysseyThemeProviderContextProps,\n OdysseyThemeProviderPropsProvider,\n useOdysseyThemeProviderPropsContext,\n} from \"./OdysseyThemeProviderPropsContext.js\";\nimport { createOdysseyMuiTheme } from \"./theme/index.js\";\nimport {\n ContrastMode,\n ContrastModeContext,\n useContrastMode,\n} from \"./useContrastMode.js\";\n\nconst StyledContrastContainerStyles = styled(\"div\")({\n height: \"inherit\",\n});\n\nexport type OdysseyThemeProviderProps = OdysseyThemeProviderContextProps & {\n children: ReactNode;\n contrastMode?: ContrastMode;\n /**\n * Odyssey adds a wrapper `div` for contrast changes and height calculations. This is not necessary if you're not changing the background color or rendering into full-height element.\n */\n hasWrapperElement?: boolean;\n /** @deprecated Use shadowRootElement instead */\n shadowDomElement?: HTMLDivElement | HTMLElement;\n};\n\n/**\n * This function doesn't include the Emotion Cache or Translations. You should probably be using `OdysseyProvider`.\n *\n * Some teams have a need to wrap separately (SIW), but most teams will never need to use this explicitly.\n */\nconst OdysseyThemeProvider = ({\n children,\n contrastMode: contrastModeProp,\n designTokensOverride: designTokensOverrideProp,\n hasWrapperElement = true,\n shadowDomElement,\n shadowRootElement: shadowRootElementProp,\n themeOverride: themeOverrideProp,\n}: OdysseyThemeProviderProps) => {\n const odysseyThemeProviderPropsContext =\n useOdysseyThemeProviderPropsContext();\n\n const designTokensOverride =\n designTokensOverrideProp ??\n odysseyThemeProviderPropsContext.designTokensOverride;\n\n const shadowRootElement =\n shadowRootElementProp ??\n shadowDomElement ??\n odysseyThemeProviderPropsContext.shadowRootElement; // Adding `odysseyThemeProviderPropsContext.shadowRootElement` fixes popovers not being styled in `Surface`.\n\n const themeOverride =\n themeOverrideProp ?? odysseyThemeProviderPropsContext.themeOverride;\n\n const { contrastMode, contrastContainerRef } = useContrastMode({\n contrastMode: contrastModeProp,\n });\n\n const odysseyTokens = useMemo(\n () => ({ ...Tokens, ...designTokensOverride }),\n [designTokensOverride],\n );\n\n const odysseyTheme = useMemo(\n () =>\n createOdysseyMuiTheme({\n contrastMode,\n odysseyTokens,\n shadowRootElement,\n }),\n [contrastMode, odysseyTokens, shadowRootElement],\n );\n\n const customOdysseyTheme = useMemo(\n () => createTheme(deepmerge(odysseyTheme, themeOverride || {})),\n [odysseyTheme, themeOverride],\n );\n\n const contrastModeProviderValue = useMemo(\n () => ({\n contrastMode,\n }),\n [contrastMode],\n );\n\n const providerComponents = useMemo(\n () => (\n <ContrastModeContext.Provider value={contrastModeProviderValue}>\n <MuiThemeProvider theme={customOdysseyTheme}>\n <OdysseyThemeProviderPropsProvider\n designTokensOverride={designTokensOverride}\n shadowRootElement={shadowRootElement}\n themeOverride={themeOverride}\n >\n <OdysseyDesignTokensContext.Provider value={odysseyTokens}>\n {children}\n </OdysseyDesignTokensContext.Provider>\n </OdysseyThemeProviderPropsProvider>\n </MuiThemeProvider>\n </ContrastModeContext.Provider>\n ),\n [\n children,\n contrastModeProviderValue,\n customOdysseyTheme,\n designTokensOverride,\n odysseyTokens,\n shadowRootElement,\n themeOverride,\n ],\n );\n\n return hasWrapperElement ? (\n <StyledContrastContainerStyles ref={contrastContainerRef}>\n {providerComponents}\n </StyledContrastContainerStyles>\n ) : (\n providerComponents\n );\n};\n\nconst MemoizedOdysseyThemeProvider = memo(OdysseyThemeProvider);\nMemoizedOdysseyThemeProvider.displayName = \"OdysseyThemeProvider\";\n\nexport { MemoizedOdysseyThemeProvider as OdysseyThemeProvider };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"OdysseyThemeProvider.js","names":["styled","createTheme","ThemeProvider","MuiThemeProvider","deepmerge","Tokens","memo","useMemo","OdysseyDesignTokensContext","OdysseyThemeProviderPropsProvider","useOdysseyThemeProviderPropsContext","createOdysseyMuiTheme","ContrastModeContext","useContrastMode","jsx","_jsx","StyledContrastContainerStyles","height","OdysseyThemeProvider","children","contrastMode","contrastModeProp","designTokensOverride","designTokensOverrideProp","hasWrapperElement","shadowDomElement","shadowRootElement","shadowRootElementProp","themeOverride","themeOverrideProp","odysseyThemeProviderPropsContext","contrastContainerRef","odysseyTokens","odysseyTheme","customOdysseyTheme","contrastModeProviderValue","providerComponents","Provider","value","theme","ref","MemoizedOdysseyThemeProvider","displayName"],"sources":["../../src/OdysseyThemeProvider.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 createTheme,\n ThemeProvider as MuiThemeProvider,\n} from \"@mui/material/styles\";\nimport { deepmerge } from \"@mui/utils\";\nimport * as Tokens from \"@okta/odyssey-design-tokens\";\nimport { memo, ReactNode, useMemo } from \"react\";\n\nimport { OdysseyDesignTokensContext } from \"./OdysseyDesignTokensContext.js\";\nimport {\n type OdysseyThemeProviderContextProps,\n OdysseyThemeProviderPropsProvider,\n useOdysseyThemeProviderPropsContext,\n} from \"./OdysseyThemeProviderPropsContext.js\";\nimport { createOdysseyMuiTheme } from \"./theme/theme.js\";\nimport {\n ContrastMode,\n ContrastModeContext,\n useContrastMode,\n} from \"./useContrastMode.js\";\n\nconst StyledContrastContainerStyles = styled(\"div\")({\n height: \"inherit\",\n});\n\nexport type OdysseyThemeProviderProps = OdysseyThemeProviderContextProps & {\n children: ReactNode;\n contrastMode?: ContrastMode;\n /**\n * Odyssey adds a wrapper `div` for contrast changes and height calculations. This is not necessary if you're not changing the background color or rendering into full-height element.\n */\n hasWrapperElement?: boolean;\n /** @deprecated Use shadowRootElement instead */\n shadowDomElement?: HTMLDivElement | HTMLElement;\n};\n\n/**\n * This function doesn't include the Emotion Cache or Translations. You should probably be using `OdysseyProvider`.\n *\n * Some teams have a need to wrap separately (SIW), but most teams will never need to use this explicitly.\n */\nconst OdysseyThemeProvider = ({\n children,\n contrastMode: contrastModeProp,\n designTokensOverride: designTokensOverrideProp,\n hasWrapperElement = true,\n shadowDomElement,\n shadowRootElement: shadowRootElementProp,\n themeOverride: themeOverrideProp,\n}: OdysseyThemeProviderProps) => {\n const odysseyThemeProviderPropsContext =\n useOdysseyThemeProviderPropsContext();\n\n const designTokensOverride =\n designTokensOverrideProp ??\n odysseyThemeProviderPropsContext.designTokensOverride;\n\n const shadowRootElement =\n shadowRootElementProp ??\n shadowDomElement ??\n odysseyThemeProviderPropsContext.shadowRootElement; // Adding `odysseyThemeProviderPropsContext.shadowRootElement` fixes popovers not being styled in `Surface`.\n\n const themeOverride =\n themeOverrideProp ?? odysseyThemeProviderPropsContext.themeOverride;\n\n const { contrastMode, contrastContainerRef } = useContrastMode({\n contrastMode: contrastModeProp,\n });\n\n const odysseyTokens = useMemo(\n () => ({ ...Tokens, ...designTokensOverride }),\n [designTokensOverride],\n );\n\n const odysseyTheme = useMemo(\n () =>\n createOdysseyMuiTheme({\n contrastMode,\n odysseyTokens,\n shadowRootElement,\n }),\n [contrastMode, odysseyTokens, shadowRootElement],\n );\n\n const customOdysseyTheme = useMemo(\n () => createTheme(deepmerge(odysseyTheme, themeOverride || {})),\n [odysseyTheme, themeOverride],\n );\n\n const contrastModeProviderValue = useMemo(\n () => ({\n contrastMode,\n }),\n [contrastMode],\n );\n\n const providerComponents = useMemo(\n () => (\n <ContrastModeContext.Provider value={contrastModeProviderValue}>\n <MuiThemeProvider theme={customOdysseyTheme}>\n <OdysseyThemeProviderPropsProvider\n designTokensOverride={designTokensOverride}\n shadowRootElement={shadowRootElement}\n themeOverride={themeOverride}\n >\n <OdysseyDesignTokensContext.Provider value={odysseyTokens}>\n {children}\n </OdysseyDesignTokensContext.Provider>\n </OdysseyThemeProviderPropsProvider>\n </MuiThemeProvider>\n </ContrastModeContext.Provider>\n ),\n [\n children,\n contrastModeProviderValue,\n customOdysseyTheme,\n designTokensOverride,\n odysseyTokens,\n shadowRootElement,\n themeOverride,\n ],\n );\n\n return hasWrapperElement ? (\n <StyledContrastContainerStyles ref={contrastContainerRef}>\n {providerComponents}\n </StyledContrastContainerStyles>\n ) : (\n providerComponents\n );\n};\n\nconst MemoizedOdysseyThemeProvider = memo(OdysseyThemeProvider);\nMemoizedOdysseyThemeProvider.displayName = \"OdysseyThemeProvider\";\n\nexport { MemoizedOdysseyThemeProvider as OdysseyThemeProvider };\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"OdysseyThemeProviderPropsContext.js","names":["createContext","memo","useContext","useMemo","jsx","_jsx","OdysseyThemeProviderPropsContext","useOdysseyThemeProviderPropsContext","OdysseyThemeProviderPropsProvider","children","designTokensOverride","shadowRootElement","themeOverride","odysseyThemeProviderPropsContext","providerValue","Provider","value","MemoizedOdysseyThemeProviderPropsProvider","displayName"],"sources":["../../src/OdysseyThemeProviderPropsContext.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 { ThemeOptions } from \"@mui/material\";\nimport {\n createContext,\n memo,\n type ReactNode,\n useContext,\n useMemo,\n} from \"react\";\n\nimport { DesignTokensOverride } from \"./theme/index.js\";\n\nexport type OdysseyThemeProviderContextProps = {\n designTokensOverride?: DesignTokensOverride;\n shadowRootElement?: HTMLDivElement | HTMLElement;\n themeOverride?: ThemeOptions;\n};\n\nexport const OdysseyThemeProviderPropsContext =\n createContext<OdysseyThemeProviderContextProps>({});\n\nexport const useOdysseyThemeProviderPropsContext = () =>\n useContext(OdysseyThemeProviderPropsContext);\n\nexport type OdysseyThemeProviderPropsProviderProps =\n OdysseyThemeProviderContextProps & {\n children: ReactNode;\n };\n\nconst OdysseyThemeProviderPropsProvider = ({\n children,\n designTokensOverride,\n shadowRootElement,\n themeOverride,\n}: OdysseyThemeProviderPropsProviderProps) => {\n const odysseyThemeProviderPropsContext =\n useOdysseyThemeProviderPropsContext();\n\n const providerValue = useMemo(\n () => ({\n ...odysseyThemeProviderPropsContext,\n designTokensOverride,\n shadowRootElement,\n themeOverride,\n }),\n [\n designTokensOverride,\n odysseyThemeProviderPropsContext,\n shadowRootElement,\n themeOverride,\n ],\n );\n\n return (\n <OdysseyThemeProviderPropsContext.Provider value={providerValue}>\n {children}\n </OdysseyThemeProviderPropsContext.Provider>\n );\n};\n\nconst MemoizedOdysseyThemeProviderPropsProvider = memo(\n OdysseyThemeProviderPropsProvider,\n);\nMemoizedOdysseyThemeProviderPropsProvider.displayName =\n \"OdysseyThemeProviderPropsProvider\";\n\nexport { MemoizedOdysseyThemeProviderPropsProvider as OdysseyThemeProviderPropsProvider };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SACEA,aAAa,EACbC,IAAI,EAEJC,UAAU,EACVC,OAAO,QACF,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUf,OAAO,MAAMC,gCAAgC,GAC3CN,aAAa,CAAmC,CAAC,CAAC,CAAC;AAErD,OAAO,MAAMO,mCAAmC,GAAGA,CAAA,KACjDL,UAAU,CAACI,gCAAgC,CAAC;AAO9C,MAAME,iCAAiC,GAAGA,CAAC;EACzCC,QAAQ;EACRC,oBAAoB;EACpBC,iBAAiB;EACjBC;AACsC,CAAC,KAAK;EAC5C,MAAMC,gCAAgC,GACpCN,mCAAmC,CAAC,CAAC;EAEvC,MAAMO,aAAa,GAAGX,OAAO,CAC3B,OAAO;IACL,GAAGU,gCAAgC;IACnCH,oBAAoB;IACpBC,iBAAiB;IACjBC;EACF,CAAC,CAAC,EACF,CACEF,oBAAoB,EACpBG,gCAAgC,EAChCF,iBAAiB,EACjBC,aAAa,CAEjB,CAAC;EAED,OACEP,IAAA,CAACC,gCAAgC,CAACS,QAAQ;IAACC,KAAK,EAAEF,aAAc;IAAAL,QAAA,EAC7DA;EAAQ,CACgC,CAAC;AAEhD,CAAC;AAED,MAAMQ,yCAAyC,GAAGhB,IAAI,CACpDO,iCACF,CAAC;AACDS,yCAAyC,CAACC,WAAW,GACnD,mCAAmC;AAErC,SAASD,yCAAyC,IAAIT,iCAAiC","ignoreList":[]}
1
+ {"version":3,"file":"OdysseyThemeProviderPropsContext.js","names":["createContext","memo","useContext","useMemo","jsx","_jsx","OdysseyThemeProviderPropsContext","useOdysseyThemeProviderPropsContext","OdysseyThemeProviderPropsProvider","children","designTokensOverride","shadowRootElement","themeOverride","odysseyThemeProviderPropsContext","providerValue","Provider","value","MemoizedOdysseyThemeProviderPropsProvider","displayName"],"sources":["../../src/OdysseyThemeProviderPropsContext.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 { ThemeOptions } from \"@mui/material\";\nimport {\n createContext,\n memo,\n type ReactNode,\n useContext,\n useMemo,\n} from \"react\";\n\nimport { DesignTokensOverride } from \"./theme/theme.js\";\n\nexport type OdysseyThemeProviderContextProps = {\n designTokensOverride?: DesignTokensOverride;\n shadowRootElement?: HTMLDivElement | HTMLElement;\n themeOverride?: ThemeOptions;\n};\n\nexport const OdysseyThemeProviderPropsContext =\n createContext<OdysseyThemeProviderContextProps>({});\n\nexport const useOdysseyThemeProviderPropsContext = () =>\n useContext(OdysseyThemeProviderPropsContext);\n\nexport type OdysseyThemeProviderPropsProviderProps =\n OdysseyThemeProviderContextProps & {\n children: ReactNode;\n };\n\nconst OdysseyThemeProviderPropsProvider = ({\n children,\n designTokensOverride,\n shadowRootElement,\n themeOverride,\n}: OdysseyThemeProviderPropsProviderProps) => {\n const odysseyThemeProviderPropsContext =\n useOdysseyThemeProviderPropsContext();\n\n const providerValue = useMemo(\n () => ({\n ...odysseyThemeProviderPropsContext,\n designTokensOverride,\n shadowRootElement,\n themeOverride,\n }),\n [\n designTokensOverride,\n odysseyThemeProviderPropsContext,\n shadowRootElement,\n themeOverride,\n ],\n );\n\n return (\n <OdysseyThemeProviderPropsContext.Provider value={providerValue}>\n {children}\n </OdysseyThemeProviderPropsContext.Provider>\n );\n};\n\nconst MemoizedOdysseyThemeProviderPropsProvider = memo(\n OdysseyThemeProviderPropsProvider,\n);\nMemoizedOdysseyThemeProviderPropsProvider.displayName =\n \"OdysseyThemeProviderPropsProvider\";\n\nexport { MemoizedOdysseyThemeProviderPropsProvider as OdysseyThemeProviderPropsProvider };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SACEA,aAAa,EACbC,IAAI,EAEJC,UAAU,EACVC,OAAO,QACF,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAUf,OAAO,MAAMC,gCAAgC,GAC3CN,aAAa,CAAmC,CAAC,CAAC,CAAC;AAErD,OAAO,MAAMO,mCAAmC,GAAGA,CAAA,KACjDL,UAAU,CAACI,gCAAgC,CAAC;AAO9C,MAAME,iCAAiC,GAAGA,CAAC;EACzCC,QAAQ;EACRC,oBAAoB;EACpBC,iBAAiB;EACjBC;AACsC,CAAC,KAAK;EAC5C,MAAMC,gCAAgC,GACpCN,mCAAmC,CAAC,CAAC;EAEvC,MAAMO,aAAa,GAAGX,OAAO,CAC3B,OAAO;IACL,GAAGU,gCAAgC;IACnCH,oBAAoB;IACpBC,iBAAiB;IACjBC;EACF,CAAC,CAAC,EACF,CACEF,oBAAoB,EACpBG,gCAAgC,EAChCF,iBAAiB,EACjBC,aAAa,CAEjB,CAAC;EAED,OACEP,IAAA,CAACC,gCAAgC,CAACS,QAAQ;IAACC,KAAK,EAAEF,aAAc;IAAAL,QAAA,EAC7DA;EAAQ,CACgC,CAAC;AAEhD,CAAC;AAED,MAAMQ,yCAAyC,GAAGhB,IAAI,CACpDO,iCACF,CAAC;AACDS,yCAAyC,CAACC,WAAW,GACnD,mCAAmC;AAErC,SAASD,yCAAyC,IAAIT,iCAAiC","ignoreList":[]}
@@ -14,7 +14,7 @@ import _InputBase from "@mui/material/InputBase";
14
14
  import styled from "@emotion/styled";
15
15
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
16
16
  import { Box } from "../Box.js";
17
- import { Button } from "../Buttons/index.js";
17
+ import { Button } from "../Buttons/Button.js";
18
18
  import { useTranslation } from "../i18n.generated/i18n.js";
19
19
  import { ArrowLeftIcon, ArrowRightIcon } from "../icons.generated/index.js";
20
20
  import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useState","Box","Button","useTranslation","ArrowLeftIcon","ArrowRightIcon","useOdysseyDesignTokens","Paragraph","usePagination","jsx","_jsx","jsxs","_jsxs","PaginationContainer","display","justifyContent","PaginationSegment","shouldForwardProp","prop","odysseyDesignTokens","alignItems","gap","Spacing4","Spacing2","PaginationInput","_InputBase","borderColor","HueNeutral200","borderRadius","BorderRadiusTight","height","Spacing6","width","HueNeutral400","PalettePrimaryMain","PaginationButtonContainer","marginInlineStart","Pagination","currentPageLabel","currentPageLabelProp","currentRowsCount","hasPageInput","hasRowCountInput","hasRowCountLabel","isDisabled","isMoreDisabled","lastRow","loadMoreLabel","loadMoreLabelProp","maxPageIndex","maxPageSize","nextLabel","nextLabelProp","onPaginationChange","onPaginationChangeProp","pageIndex","pageSize","previousLabel","previousLabelProp","rowsPerPageLabel","rowsPerPageLabelProp","totalRows","variant","t","page","setPage","rowsPerPage","setRowsPerPage","initialRowsPerPage","totalRowsLabel","handlePaginationChange","updatedPage","updatedRowsPerPage","Math","ceil","handlePageSubmit","event","key","Number","currentTarget","value","handleRowsPerPageSubmit","setPageFromEvent","min","target","max","setRowsPerPageFromEvent","handleLoadMore","current","handleNextButton","handlePreviousButton","loadMoreIsDisabled","nextButtonDisabled","previousButtonDisabled","rowsPerPageInputProps","currentPageInputProps","children","color","component","disabled","inputProps","onBlur","onChange","onKeyDown","type","ariaLabel","onClick","size","startIcon","endIcon","label","MemoizedPagination","displayName"],"sources":["../../../src/Pagination/Pagination.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 styled from \"@emotion/styled\";\nimport { InputBase } from \"@mui/material\";\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/index.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { Paragraph } from \"../Typography.js\";\nimport { paginationTypeValues } from \"./constants.js\";\nimport { usePagination } from \"./usePagination.js\";\n\nconst PaginationContainer = styled(\"nav\")({\n display: \"flex\",\n justifyContent: \"space-between\",\n});\n\nconst PaginationSegment = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing4,\n \"& > div\": {\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n },\n}));\n\nconst PaginationInput = styled(InputBase, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n borderColor: odysseyDesignTokens.HueNeutral200,\n borderRadius: odysseyDesignTokens.BorderRadiusTight,\n height: odysseyDesignTokens.Spacing6,\n width: \"4.5714285714rem\", // This is a hardcoded value, keep as string\n \"&:hover\": {\n borderColor: odysseyDesignTokens.HueNeutral400,\n },\n \"&.Mui-focused:hover\": {\n borderColor: odysseyDesignTokens.PalettePrimaryMain,\n },\n}));\n\nconst PaginationButtonContainer = styled(\"div\")({\n \"& > *\": {\n marginInlineStart: `0 !important`,\n },\n});\n\nexport type PaginationProps = {\n /**\n * The labeled rendered for the current page index\n */\n currentPageLabel?: string;\n /**\n * The number of items currently visible on the page\n */\n currentRowsCount?: number;\n /**\n * If true, the page input will be visible and the user can directly manipulate which page\n * is visible.\n */\n hasPageInput?: boolean;\n /**\n * If true, the row count input will be visible and the user can directly manipulate how many rows\n * are visible.\n */\n hasRowCountInput?: boolean;\n /**\n * If true, the \"X - X of total X\" label will be visible\n */\n hasRowCountLabel?: boolean;\n /**\n * If true, the pagination controls will be disabled\n */\n isDisabled?: boolean;\n /**\n * If true, the next or Show More button will be disabled\n */\n isMoreDisabled?: boolean;\n /**\n * The current page last row index\n */\n lastRow?: number;\n /**\n * If the pagination is of \"loadMore\" variant, then this is the the load more label\n */\n loadMoreLabel?: string;\n /**\n * The max page\n */\n maxPageIndex?: number;\n /**\n * The max rows per page\n */\n maxPageSize?: number;\n /**\n * The label for the next control\n */\n nextLabel?: string;\n /**\n * Page index and page size setter\n */\n onPaginationChange: ({\n pageIndex,\n pageSize,\n }: {\n pageIndex: number;\n pageSize: number;\n }) => void;\n /**\n * The current page index\n */\n pageIndex: number;\n /**\n * The current page size\n */\n pageSize: number;\n /**\n * The label for the previous control\n */\n previousLabel?: string;\n /**\n * The label that shows how many results are rendered per page\n */\n rowsPerPageLabel?: string;\n /**\n * Total rows count\n */\n totalRows?: number;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n variant?: (typeof paginationTypeValues)[number];\n};\n\nconst Pagination = ({\n currentPageLabel: currentPageLabelProp,\n currentRowsCount,\n hasPageInput = true,\n hasRowCountInput = true,\n hasRowCountLabel = true,\n isDisabled,\n isMoreDisabled,\n lastRow,\n loadMoreLabel: loadMoreLabelProp,\n maxPageIndex,\n maxPageSize,\n nextLabel: nextLabelProp,\n onPaginationChange: onPaginationChangeProp,\n pageIndex,\n pageSize,\n previousLabel: previousLabelProp,\n rowsPerPageLabel: rowsPerPageLabelProp,\n totalRows,\n variant,\n}: PaginationProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [page, setPage] = useState<number>(pageIndex);\n const [rowsPerPage, setRowsPerPage] = useState<number>(pageSize);\n const initialRowsPerPage = useRef<number>(pageSize);\n\n const currentPageLabel = currentPageLabelProp ?? t(\"pagination.page\");\n const loadMoreLabel = loadMoreLabelProp ?? t(\"pagination.loadmore\");\n const nextLabel = nextLabelProp ?? t(\"pagination.next\");\n const previousLabel = previousLabelProp ?? t(\"pagination.previous\");\n const rowsPerPageLabel = rowsPerPageLabelProp ?? t(\"pagination.rowsperpage\");\n\n useEffect(() => {\n setPage(pageIndex);\n setRowsPerPage(pageSize);\n }, [pageIndex, pageSize]);\n\n const onPaginationChange = useCallback(\n ({ pageIndex, pageSize }: { pageIndex: number; pageSize: number }) => {\n onPaginationChangeProp({ pageIndex, pageSize });\n },\n [onPaginationChangeProp],\n );\n\n const { totalRowsLabel } = usePagination({\n pageIndex,\n pageSize,\n currentRowsCount: currentRowsCount || 0,\n totalRows,\n });\n\n const handlePaginationChange = useCallback(() => {\n let updatedPage = page;\n let updatedRowsPerPage = rowsPerPage;\n\n if (totalRows) {\n const maxPageIndex = Math.ceil(totalRows / updatedRowsPerPage);\n\n // Ensure rowsPerPage does not exceed totalRows\n if (updatedRowsPerPage > totalRows) {\n updatedRowsPerPage = totalRows;\n }\n\n // Ensure page is within valid range\n if (updatedPage > maxPageIndex) {\n updatedPage = maxPageIndex;\n } else if (updatedPage < 1) {\n updatedPage = 1;\n }\n }\n\n onPaginationChange({\n pageIndex: updatedPage,\n pageSize: updatedRowsPerPage,\n });\n }, [page, rowsPerPage, onPaginationChange, totalRows]);\n\n // The following handlers use React.KeyboardEvent (rather than just KeyboardEvent) because React.KeyboardEvent\n // is generic, while plain KeyboardEvent is not. We need this generic so we can specify the HTMLInputElement,\n // which allows us to use currentTarget.value\n const handlePageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n onPaginationChange({\n pageIndex: Number(event.currentTarget.value),\n pageSize: rowsPerPage,\n });\n }\n },\n [rowsPerPage, onPaginationChange],\n );\n\n const handleRowsPerPageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n onPaginationChange({\n pageIndex: page,\n pageSize: Number(event.currentTarget.value),\n });\n }\n },\n [page, onPaginationChange],\n );\n\n const setPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = maxPageIndex\n ? Math.min(Number(event.target.value), maxPageIndex)\n : Number(event.target.value);\n\n // Ensure the value can't be less than 1\n setPage(Math.max(1, value));\n },\n [setPage, maxPageIndex],\n );\n\n const setRowsPerPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = maxPageSize\n ? Math.min(Number(event.target.value), maxPageSize)\n : Number(event.target.value);\n\n // Ensure the value can't be less than 1\n setRowsPerPage(Math.max(1, value));\n },\n [setRowsPerPage, maxPageSize],\n );\n\n const handleLoadMore = useCallback(() => {\n onPaginationChange({\n pageIndex: 1,\n pageSize: rowsPerPage + initialRowsPerPage.current,\n });\n }, [rowsPerPage, onPaginationChange]);\n\n const handleNextButton = useCallback(() => {\n onPaginationChange({ pageIndex: page + 1, pageSize: rowsPerPage });\n }, [onPaginationChange, page, rowsPerPage]);\n\n const handlePreviousButton = useCallback(() => {\n onPaginationChange({ pageIndex: page - 1, pageSize: rowsPerPage });\n }, [onPaginationChange, page, rowsPerPage]);\n\n const loadMoreIsDisabled = useMemo(() => {\n return isMoreDisabled || (totalRows ? rowsPerPage >= totalRows : false);\n }, [isMoreDisabled, rowsPerPage, totalRows]);\n\n const nextButtonDisabled = useMemo(\n () =>\n isMoreDisabled ||\n (lastRow && (totalRows ? lastRow >= totalRows : false)) ||\n isDisabled,\n [isMoreDisabled, totalRows, lastRow, isDisabled],\n );\n\n const previousButtonDisabled = useMemo(\n () => pageIndex <= 1 || isDisabled,\n [pageIndex, isDisabled],\n );\n\n const rowsPerPageInputProps = useMemo(\n () => ({\n \"aria-label\": rowsPerPageLabel,\n max: maxPageSize || totalRows,\n }),\n [maxPageSize, rowsPerPageLabel, totalRows],\n );\n\n const currentPageInputProps = useMemo(\n () => ({\n \"aria-label\": currentPageLabel,\n max: maxPageIndex,\n }),\n [currentPageLabel, maxPageIndex],\n );\n\n return variant === \"paged\" ? (\n <PaginationContainer aria-label={t(\"pagination.label\")}>\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n {hasRowCountInput && (\n <Box>\n <Paragraph color=\"textSecondary\" component=\"span\">\n {rowsPerPageLabel}\n </Paragraph>\n <PaginationInput\n disabled={isDisabled}\n inputProps={rowsPerPageInputProps}\n odysseyDesignTokens={odysseyDesignTokens}\n onBlur={handlePaginationChange}\n onChange={setRowsPerPageFromEvent}\n onKeyDown={handleRowsPerPageSubmit}\n type=\"number\"\n value={rowsPerPage}\n />\n </Box>\n )}\n {hasRowCountLabel && (\n <Paragraph color=\"textSecondary\" component=\"span\">\n {totalRowsLabel}\n </Paragraph>\n )}\n </PaginationSegment>\n\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n {totalRows && hasPageInput && (\n <Box>\n <Paragraph color=\"textSecondary\" component=\"span\">\n {currentPageLabel}\n </Paragraph>\n <PaginationInput\n disabled={isDisabled}\n inputProps={currentPageInputProps}\n odysseyDesignTokens={odysseyDesignTokens}\n onBlur={handlePaginationChange}\n onChange={setPageFromEvent}\n onKeyDown={handlePageSubmit}\n type=\"number\"\n value={page}\n />\n </Box>\n )}\n <PaginationButtonContainer>\n <Button\n ariaLabel={previousLabel}\n isDisabled={previousButtonDisabled}\n onClick={handlePreviousButton}\n size=\"small\"\n startIcon={<ArrowLeftIcon />}\n variant=\"floating\"\n />\n <Button\n ariaLabel={nextLabel}\n endIcon={<ArrowRightIcon />}\n isDisabled={nextButtonDisabled}\n onClick={handleNextButton}\n size=\"small\"\n variant=\"floating\"\n />\n </PaginationButtonContainer>\n </PaginationSegment>\n </PaginationContainer>\n ) : (\n <Button\n isDisabled={loadMoreIsDisabled}\n label={loadMoreLabel}\n onClick={handleLoadMore}\n variant=\"secondary\"\n />\n );\n};\n\nconst MemoizedPagination = memo(Pagination);\nMemoizedPagination.displayName = \"Pagination\";\n\nexport { MemoizedPagination as Pagination };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"Pagination.js","names":["styled","memo","useCallback","useEffect","useMemo","useRef","useState","Box","Button","useTranslation","ArrowLeftIcon","ArrowRightIcon","useOdysseyDesignTokens","Paragraph","usePagination","jsx","_jsx","jsxs","_jsxs","PaginationContainer","display","justifyContent","PaginationSegment","shouldForwardProp","prop","odysseyDesignTokens","alignItems","gap","Spacing4","Spacing2","PaginationInput","_InputBase","borderColor","HueNeutral200","borderRadius","BorderRadiusTight","height","Spacing6","width","HueNeutral400","PalettePrimaryMain","PaginationButtonContainer","marginInlineStart","Pagination","currentPageLabel","currentPageLabelProp","currentRowsCount","hasPageInput","hasRowCountInput","hasRowCountLabel","isDisabled","isMoreDisabled","lastRow","loadMoreLabel","loadMoreLabelProp","maxPageIndex","maxPageSize","nextLabel","nextLabelProp","onPaginationChange","onPaginationChangeProp","pageIndex","pageSize","previousLabel","previousLabelProp","rowsPerPageLabel","rowsPerPageLabelProp","totalRows","variant","t","page","setPage","rowsPerPage","setRowsPerPage","initialRowsPerPage","totalRowsLabel","handlePaginationChange","updatedPage","updatedRowsPerPage","Math","ceil","handlePageSubmit","event","key","Number","currentTarget","value","handleRowsPerPageSubmit","setPageFromEvent","min","target","max","setRowsPerPageFromEvent","handleLoadMore","current","handleNextButton","handlePreviousButton","loadMoreIsDisabled","nextButtonDisabled","previousButtonDisabled","rowsPerPageInputProps","currentPageInputProps","children","color","component","disabled","inputProps","onBlur","onChange","onKeyDown","type","ariaLabel","onClick","size","startIcon","endIcon","label","MemoizedPagination","displayName"],"sources":["../../../src/Pagination/Pagination.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 styled from \"@emotion/styled\";\nimport { InputBase } from \"@mui/material\";\nimport { memo, useCallback, useEffect, useMemo, useRef, useState } from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { useTranslation } from \"../i18n.generated/i18n.js\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { Paragraph } from \"../Typography.js\";\nimport { paginationTypeValues } from \"./constants.js\";\nimport { usePagination } from \"./usePagination.js\";\n\nconst PaginationContainer = styled(\"nav\")({\n display: \"flex\",\n justifyContent: \"space-between\",\n});\n\nconst PaginationSegment = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing4,\n \"& > div\": {\n display: \"flex\",\n alignItems: \"center\",\n gap: odysseyDesignTokens.Spacing2,\n },\n}));\n\nconst PaginationInput = styled(InputBase, {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n borderColor: odysseyDesignTokens.HueNeutral200,\n borderRadius: odysseyDesignTokens.BorderRadiusTight,\n height: odysseyDesignTokens.Spacing6,\n width: \"4.5714285714rem\", // This is a hardcoded value, keep as string\n \"&:hover\": {\n borderColor: odysseyDesignTokens.HueNeutral400,\n },\n \"&.Mui-focused:hover\": {\n borderColor: odysseyDesignTokens.PalettePrimaryMain,\n },\n}));\n\nconst PaginationButtonContainer = styled(\"div\")({\n \"& > *\": {\n marginInlineStart: `0 !important`,\n },\n});\n\nexport type PaginationProps = {\n /**\n * The labeled rendered for the current page index\n */\n currentPageLabel?: string;\n /**\n * The number of items currently visible on the page\n */\n currentRowsCount?: number;\n /**\n * If true, the page input will be visible and the user can directly manipulate which page\n * is visible.\n */\n hasPageInput?: boolean;\n /**\n * If true, the row count input will be visible and the user can directly manipulate how many rows\n * are visible.\n */\n hasRowCountInput?: boolean;\n /**\n * If true, the \"X - X of total X\" label will be visible\n */\n hasRowCountLabel?: boolean;\n /**\n * If true, the pagination controls will be disabled\n */\n isDisabled?: boolean;\n /**\n * If true, the next or Show More button will be disabled\n */\n isMoreDisabled?: boolean;\n /**\n * The current page last row index\n */\n lastRow?: number;\n /**\n * If the pagination is of \"loadMore\" variant, then this is the the load more label\n */\n loadMoreLabel?: string;\n /**\n * The max page\n */\n maxPageIndex?: number;\n /**\n * The max rows per page\n */\n maxPageSize?: number;\n /**\n * The label for the next control\n */\n nextLabel?: string;\n /**\n * Page index and page size setter\n */\n onPaginationChange: ({\n pageIndex,\n pageSize,\n }: {\n pageIndex: number;\n pageSize: number;\n }) => void;\n /**\n * The current page index\n */\n pageIndex: number;\n /**\n * The current page size\n */\n pageSize: number;\n /**\n * The label for the previous control\n */\n previousLabel?: string;\n /**\n * The label that shows how many results are rendered per page\n */\n rowsPerPageLabel?: string;\n /**\n * Total rows count\n */\n totalRows?: number;\n /**\n * The type of pagination controls shown. Defaults to next/prev buttons, but can be\n * set to a simple \"Load more\" button by setting to \"loadMore\".\n */\n variant?: (typeof paginationTypeValues)[number];\n};\n\nconst Pagination = ({\n currentPageLabel: currentPageLabelProp,\n currentRowsCount,\n hasPageInput = true,\n hasRowCountInput = true,\n hasRowCountLabel = true,\n isDisabled,\n isMoreDisabled,\n lastRow,\n loadMoreLabel: loadMoreLabelProp,\n maxPageIndex,\n maxPageSize,\n nextLabel: nextLabelProp,\n onPaginationChange: onPaginationChangeProp,\n pageIndex,\n pageSize,\n previousLabel: previousLabelProp,\n rowsPerPageLabel: rowsPerPageLabelProp,\n totalRows,\n variant,\n}: PaginationProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const [page, setPage] = useState<number>(pageIndex);\n const [rowsPerPage, setRowsPerPage] = useState<number>(pageSize);\n const initialRowsPerPage = useRef<number>(pageSize);\n\n const currentPageLabel = currentPageLabelProp ?? t(\"pagination.page\");\n const loadMoreLabel = loadMoreLabelProp ?? t(\"pagination.loadmore\");\n const nextLabel = nextLabelProp ?? t(\"pagination.next\");\n const previousLabel = previousLabelProp ?? t(\"pagination.previous\");\n const rowsPerPageLabel = rowsPerPageLabelProp ?? t(\"pagination.rowsperpage\");\n\n useEffect(() => {\n setPage(pageIndex);\n setRowsPerPage(pageSize);\n }, [pageIndex, pageSize]);\n\n const onPaginationChange = useCallback(\n ({ pageIndex, pageSize }: { pageIndex: number; pageSize: number }) => {\n onPaginationChangeProp({ pageIndex, pageSize });\n },\n [onPaginationChangeProp],\n );\n\n const { totalRowsLabel } = usePagination({\n pageIndex,\n pageSize,\n currentRowsCount: currentRowsCount || 0,\n totalRows,\n });\n\n const handlePaginationChange = useCallback(() => {\n let updatedPage = page;\n let updatedRowsPerPage = rowsPerPage;\n\n if (totalRows) {\n const maxPageIndex = Math.ceil(totalRows / updatedRowsPerPage);\n\n // Ensure rowsPerPage does not exceed totalRows\n if (updatedRowsPerPage > totalRows) {\n updatedRowsPerPage = totalRows;\n }\n\n // Ensure page is within valid range\n if (updatedPage > maxPageIndex) {\n updatedPage = maxPageIndex;\n } else if (updatedPage < 1) {\n updatedPage = 1;\n }\n }\n\n onPaginationChange({\n pageIndex: updatedPage,\n pageSize: updatedRowsPerPage,\n });\n }, [page, rowsPerPage, onPaginationChange, totalRows]);\n\n // The following handlers use React.KeyboardEvent (rather than just KeyboardEvent) because React.KeyboardEvent\n // is generic, while plain KeyboardEvent is not. We need this generic so we can specify the HTMLInputElement,\n // which allows us to use currentTarget.value\n const handlePageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n onPaginationChange({\n pageIndex: Number(event.currentTarget.value),\n pageSize: rowsPerPage,\n });\n }\n },\n [rowsPerPage, onPaginationChange],\n );\n\n const handleRowsPerPageSubmit = useCallback(\n (event: React.KeyboardEvent<HTMLInputElement | HTMLTextAreaElement>) => {\n if (event.key === \"Enter\") {\n onPaginationChange({\n pageIndex: page,\n pageSize: Number(event.currentTarget.value),\n });\n }\n },\n [page, onPaginationChange],\n );\n\n const setPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = maxPageIndex\n ? Math.min(Number(event.target.value), maxPageIndex)\n : Number(event.target.value);\n\n // Ensure the value can't be less than 1\n setPage(Math.max(1, value));\n },\n [setPage, maxPageIndex],\n );\n\n const setRowsPerPageFromEvent = useCallback(\n (event: React.ChangeEvent<HTMLInputElement>) => {\n const value = maxPageSize\n ? Math.min(Number(event.target.value), maxPageSize)\n : Number(event.target.value);\n\n // Ensure the value can't be less than 1\n setRowsPerPage(Math.max(1, value));\n },\n [setRowsPerPage, maxPageSize],\n );\n\n const handleLoadMore = useCallback(() => {\n onPaginationChange({\n pageIndex: 1,\n pageSize: rowsPerPage + initialRowsPerPage.current,\n });\n }, [rowsPerPage, onPaginationChange]);\n\n const handleNextButton = useCallback(() => {\n onPaginationChange({ pageIndex: page + 1, pageSize: rowsPerPage });\n }, [onPaginationChange, page, rowsPerPage]);\n\n const handlePreviousButton = useCallback(() => {\n onPaginationChange({ pageIndex: page - 1, pageSize: rowsPerPage });\n }, [onPaginationChange, page, rowsPerPage]);\n\n const loadMoreIsDisabled = useMemo(() => {\n return isMoreDisabled || (totalRows ? rowsPerPage >= totalRows : false);\n }, [isMoreDisabled, rowsPerPage, totalRows]);\n\n const nextButtonDisabled = useMemo(\n () =>\n isMoreDisabled ||\n (lastRow && (totalRows ? lastRow >= totalRows : false)) ||\n isDisabled,\n [isMoreDisabled, totalRows, lastRow, isDisabled],\n );\n\n const previousButtonDisabled = useMemo(\n () => pageIndex <= 1 || isDisabled,\n [pageIndex, isDisabled],\n );\n\n const rowsPerPageInputProps = useMemo(\n () => ({\n \"aria-label\": rowsPerPageLabel,\n max: maxPageSize || totalRows,\n }),\n [maxPageSize, rowsPerPageLabel, totalRows],\n );\n\n const currentPageInputProps = useMemo(\n () => ({\n \"aria-label\": currentPageLabel,\n max: maxPageIndex,\n }),\n [currentPageLabel, maxPageIndex],\n );\n\n return variant === \"paged\" ? (\n <PaginationContainer aria-label={t(\"pagination.label\")}>\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n {hasRowCountInput && (\n <Box>\n <Paragraph color=\"textSecondary\" component=\"span\">\n {rowsPerPageLabel}\n </Paragraph>\n <PaginationInput\n disabled={isDisabled}\n inputProps={rowsPerPageInputProps}\n odysseyDesignTokens={odysseyDesignTokens}\n onBlur={handlePaginationChange}\n onChange={setRowsPerPageFromEvent}\n onKeyDown={handleRowsPerPageSubmit}\n type=\"number\"\n value={rowsPerPage}\n />\n </Box>\n )}\n {hasRowCountLabel && (\n <Paragraph color=\"textSecondary\" component=\"span\">\n {totalRowsLabel}\n </Paragraph>\n )}\n </PaginationSegment>\n\n <PaginationSegment odysseyDesignTokens={odysseyDesignTokens}>\n {totalRows && hasPageInput && (\n <Box>\n <Paragraph color=\"textSecondary\" component=\"span\">\n {currentPageLabel}\n </Paragraph>\n <PaginationInput\n disabled={isDisabled}\n inputProps={currentPageInputProps}\n odysseyDesignTokens={odysseyDesignTokens}\n onBlur={handlePaginationChange}\n onChange={setPageFromEvent}\n onKeyDown={handlePageSubmit}\n type=\"number\"\n value={page}\n />\n </Box>\n )}\n <PaginationButtonContainer>\n <Button\n ariaLabel={previousLabel}\n isDisabled={previousButtonDisabled}\n onClick={handlePreviousButton}\n size=\"small\"\n startIcon={<ArrowLeftIcon />}\n variant=\"floating\"\n />\n <Button\n ariaLabel={nextLabel}\n endIcon={<ArrowRightIcon />}\n isDisabled={nextButtonDisabled}\n onClick={handleNextButton}\n size=\"small\"\n variant=\"floating\"\n />\n </PaginationButtonContainer>\n </PaginationSegment>\n </PaginationContainer>\n ) : (\n <Button\n isDisabled={loadMoreIsDisabled}\n label={loadMoreLabel}\n onClick={handleLoadMore}\n variant=\"secondary\"\n />\n );\n};\n\nconst MemoizedPagination = memo(Pagination);\nMemoizedPagination.displayName = \"Pagination\";\n\nexport { MemoizedPagination as Pagination };\n"],"mappings":"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","ignoreList":[]}
package/dist/esm/Toast.js CHANGED
@@ -13,7 +13,7 @@ import _AlertTitle from "@mui/material/AlertTitle";
13
13
  * See the License for the specific language governing permissions and limitations under the License.
14
14
  */
15
15
  import { memo, useCallback, useEffect, useState } from "react";
16
- import { Button } from "./Buttons/index.js";
16
+ import { Button } from "./Buttons/Button.js";
17
17
  import { useTranslation } from "./i18n.generated/i18n.js";
18
18
  import { CloseIcon } from "./icons.generated/index.js";
19
19
  import { Link } from "./Link.js";
@@ -1 +1 @@
1
- {"version":3,"file":"Toast.js","names":["memo","useCallback","useEffect","useState","Button","useTranslation","CloseIcon","Link","ScreenReaderText","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","toastRoleValues","toastSeverityValues","ClickAwayListenerProps","onClickAway","Toast","autoHideDuration","isDismissable","linkText","linkUrl","isVisible","isVisibleProp","onHide","onHideProp","role","severity","testId","text","translate","t","setIsVisible","children","_Snackbar","undefined","className","onClose","open","_Alert","action","ariaLabel","onClick","size","startIcon","variant","_AlertTitle","href","MemoizedToast","displayName"],"sources":["../../src/Toast.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 { Alert, AlertTitle, Snackbar } from \"@mui/material\";\nimport { memo, useCallback, useEffect, useState } from \"react\";\n\nimport { Button } from \"./Buttons/index.js\";\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { CloseIcon } from \"./icons.generated/index.js\";\nimport { Link } from \"./Link.js\";\nimport { ScreenReaderText } from \"./ScreenReaderText.js\";\n\nexport const toastRoleValues = [\"status\", \"alert\"] as const;\nexport const toastSeverityValues = [\n \"success\",\n \"info\",\n \"warning\",\n \"error\",\n] as const;\n\nexport type ToastProps = {\n /**\n * If set, this determines how long the Toast should appear before automatically disappearing in milliseconds.\n * It will only take effect if the Toast is not dismissible.\n * If left blank, it defaults to 6000.\n */\n autoHideDuration?: number;\n /**\n * If `true`, the Toast will include a close button.\n */\n isDismissable?: boolean;\n /**\n * If true, the Toast is visible\n */\n isVisible?: boolean;\n /**\n * If linkUrl is not undefined, this is the text of the link.\n * If left blank, it defaults to \"Learn more\".\n * Note that linkText does nothing if linkUrl is not defined\n */\n linkText?: string;\n /**\n * If defined, the Toast will include a link to the URL\n */\n linkUrl?: string;\n /**\n * An optional function to run when the Toast is closed.\n */\n onHide?: () => void;\n /**\n * Sets the ARIA role of the Toast\n * (\"status\" for something that dynamically updates, \"alert\" for errors, null for something\n * unchanging)\n */\n role?: (typeof toastRoleValues)[number];\n /**\n * Determine the color and icon of the Toast\n */\n severity: (typeof toastSeverityValues)[number];\n /**\n * The text content of the Toast\n */\n text: string;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst ClickAwayListenerProps = { onClickAway: () => false };\n\nconst Toast = ({\n autoHideDuration = 6000,\n isDismissable,\n linkText,\n linkUrl,\n isVisible: isVisibleProp,\n onHide: onHideProp,\n role,\n severity,\n testId,\n text,\n translate,\n}: ToastProps) => {\n const { t } = useTranslation();\n const [isVisible, setIsVisible] = useState(isVisibleProp);\n\n useEffect(() => {\n setIsVisible(isVisibleProp);\n }, [isVisibleProp]);\n\n const onHide = useCallback(() => {\n setIsVisible(false);\n onHideProp?.();\n }, [onHideProp]);\n\n return (\n <>\n <Snackbar\n autoHideDuration={\n isDismissable || autoHideDuration <= 0 ? undefined : autoHideDuration\n }\n className=\"Toast\"\n ClickAwayListenerProps={ClickAwayListenerProps}\n onClose={onHide}\n open={isVisible}\n >\n <Alert\n action={\n isDismissable === true && (\n <Button\n ariaLabel={t(\"close.text\")}\n onClick={onHide}\n size=\"small\"\n startIcon={<CloseIcon />}\n variant=\"floating\"\n />\n )\n }\n data-se={testId}\n role={role}\n severity={severity}\n variant=\"toast\"\n >\n <AlertTitle translate={translate}>\n <ScreenReaderText translate={translate}>\n {t(`severity.${severity}`)}:\n </ScreenReaderText>\n {text}\n </AlertTitle>\n {linkUrl && (\n <Link href={linkUrl} translate={translate} variant=\"monochrome\">\n {linkText}\n </Link>\n )}\n </Alert>\n </Snackbar>\n </>\n );\n};\n\nconst MemoizedToast = memo(Toast);\nMemoizedToast.displayName = \"Toast\";\n\nexport { MemoizedToast as Toast };\n"],"mappings":";;;AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA,SAASA,IAAI,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,OAAO;AAE9D,SAASC,MAAM,QAAQ,oBAAoB;AAE3C,SAASC,cAAc,QAAQ,0BAA0B;AACzD,SAASC,SAAS,QAAQ,4BAA4B;AACtD,SAASC,IAAI,QAAQ,WAAW;AAChC,SAASC,gBAAgB,QAAQ,uBAAuB;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAEzD,OAAO,MAAMC,eAAe,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAU;AAC3D,OAAO,MAAMC,mBAAmB,GAAG,CACjC,SAAS,EACT,MAAM,EACN,SAAS,EACT,OAAO,CACC;AA+CV,MAAMC,sBAAsB,GAAG;EAAEC,WAAW,EAAEA,CAAA,KAAM;AAAM,CAAC;AAE3D,MAAMC,KAAK,GAAGA,CAAC;EACbC,gBAAgB,GAAG,IAAI;EACvBC,aAAa;EACbC,QAAQ;EACRC,OAAO;EACPC,SAAS,EAAEC,aAAa;EACxBC,MAAM,EAAEC,UAAU;EAClBC,IAAI;EACJC,QAAQ;EACRC,MAAM;EACNC,IAAI;EACJC;AACU,CAAC,KAAK;EAChB,MAAM;IAAEC;EAAE,CAAC,GAAG5B,cAAc,CAAC,CAAC;EAC9B,MAAM,CAACmB,SAAS,EAAEU,YAAY,CAAC,GAAG/B,QAAQ,CAACsB,aAAa,CAAC;EAEzDvB,SAAS,CAAC,MAAM;IACdgC,YAAY,CAACT,aAAa,CAAC;EAC7B,CAAC,EAAE,CAACA,aAAa,CAAC,CAAC;EAEnB,MAAMC,MAAM,GAAGzB,WAAW,CAAC,MAAM;IAC/BiC,YAAY,CAAC,KAAK,CAAC;IACnBP,UAAU,GAAG,CAAC;EAChB,CAAC,EAAE,CAACA,UAAU,CAAC,CAAC;EAEhB,OACEjB,IAAA,CAAAI,SAAA;IAAAqB,QAAA,EACEzB,IAAA,CAAA0B,SAAA;MACEhB,gBAAgB,EACdC,aAAa,IAAID,gBAAgB,IAAI,CAAC,GAAGiB,SAAS,GAAGjB,gBACtD;MACDkB,SAAS,EAAC,OAAO;MACjBrB,sBAAsB,EAAEA,sBAAuB;MAC/CsB,OAAO,EAAEb,MAAO;MAChBc,IAAI,EAAEhB,SAAU;MAAAW,QAAA,EAEhBvB,KAAA,CAAA6B,MAAA;QACEC,MAAM,EACJrB,aAAa,KAAK,IAAI,IACpBX,IAAA,CAACN,MAAM;UACLuC,SAAS,EAAEV,CAAC,CAAC,YAAY,CAAE;UAC3BW,OAAO,EAAElB,MAAO;UAChBmB,IAAI,EAAC,OAAO;UACZC,SAAS,EAAEpC,IAAA,CAACJ,SAAS,IAAE,CAAE;UACzByC,OAAO,EAAC;QAAU,CACnB,CAEJ;QACD,WAASjB,MAAO;QAChBF,IAAI,EAAEA,IAAK;QACXC,QAAQ,EAAEA,QAAS;QACnBkB,OAAO,EAAC,OAAO;QAAAZ,QAAA,GAEfvB,KAAA,CAAAoC,WAAA;UAAYhB,SAAS,EAAEA,SAAU;UAAAG,QAAA,GAC/BvB,KAAA,CAACJ,gBAAgB;YAACwB,SAAS,EAAEA,SAAU;YAAAG,QAAA,GACpCF,CAAC,CAAC,YAAYJ,QAAQ,EAAE,CAAC,EAAC,GAC7B;UAAA,CAAkB,CAAC,EAClBE,IAAI;QAAA,CACK,CAAC,EACZR,OAAO,IACNb,IAAA,CAACH,IAAI;UAAC0C,IAAI,EAAE1B,OAAQ;UAACS,SAAS,EAAEA,SAAU;UAACe,OAAO,EAAC,YAAY;UAAAZ,QAAA,EAC5Db;QAAQ,CACL,CACP;MAAA,CACI;IAAC,CACA;EAAC,CACX,CAAC;AAEP,CAAC;AAED,MAAM4B,aAAa,GAAGlD,IAAI,CAACmB,KAAK,CAAC;AACjC+B,aAAa,CAACC,WAAW,GAAG,OAAO;AAEnC,SAASD,aAAa,IAAI/B,KAAK","ignoreList":[]}
1
+ {"version":3,"file":"Toast.js","names":["memo","useCallback","useEffect","useState","Button","useTranslation","CloseIcon","Link","ScreenReaderText","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","toastRoleValues","toastSeverityValues","ClickAwayListenerProps","onClickAway","Toast","autoHideDuration","isDismissable","linkText","linkUrl","isVisible","isVisibleProp","onHide","onHideProp","role","severity","testId","text","translate","t","setIsVisible","children","_Snackbar","undefined","className","onClose","open","_Alert","action","ariaLabel","onClick","size","startIcon","variant","_AlertTitle","href","MemoizedToast","displayName"],"sources":["../../src/Toast.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 { Alert, AlertTitle, Snackbar } from \"@mui/material\";\nimport { memo, useCallback, useEffect, useState } from \"react\";\n\nimport { Button } from \"./Buttons/Button.js\";\nimport { HtmlProps } from \"./HtmlProps.js\";\nimport { useTranslation } from \"./i18n.generated/i18n.js\";\nimport { CloseIcon } from \"./icons.generated/index.js\";\nimport { Link } from \"./Link.js\";\nimport { ScreenReaderText } from \"./ScreenReaderText.js\";\n\nexport const toastRoleValues = [\"status\", \"alert\"] as const;\nexport const toastSeverityValues = [\n \"success\",\n \"info\",\n \"warning\",\n \"error\",\n] as const;\n\nexport type ToastProps = {\n /**\n * If set, this determines how long the Toast should appear before automatically disappearing in milliseconds.\n * It will only take effect if the Toast is not dismissible.\n * If left blank, it defaults to 6000.\n */\n autoHideDuration?: number;\n /**\n * If `true`, the Toast will include a close button.\n */\n isDismissable?: boolean;\n /**\n * If true, the Toast is visible\n */\n isVisible?: boolean;\n /**\n * If linkUrl is not undefined, this is the text of the link.\n * If left blank, it defaults to \"Learn more\".\n * Note that linkText does nothing if linkUrl is not defined\n */\n linkText?: string;\n /**\n * If defined, the Toast will include a link to the URL\n */\n linkUrl?: string;\n /**\n * An optional function to run when the Toast is closed.\n */\n onHide?: () => void;\n /**\n * Sets the ARIA role of the Toast\n * (\"status\" for something that dynamically updates, \"alert\" for errors, null for something\n * unchanging)\n */\n role?: (typeof toastRoleValues)[number];\n /**\n * Determine the color and icon of the Toast\n */\n severity: (typeof toastSeverityValues)[number];\n /**\n * The text content of the Toast\n */\n text: string;\n} & Pick<HtmlProps, \"testId\" | \"translate\">;\n\nconst ClickAwayListenerProps = { onClickAway: () => false };\n\nconst Toast = ({\n autoHideDuration = 6000,\n isDismissable,\n linkText,\n linkUrl,\n isVisible: isVisibleProp,\n onHide: onHideProp,\n role,\n severity,\n testId,\n text,\n translate,\n}: ToastProps) => {\n const { t } = useTranslation();\n const [isVisible, setIsVisible] = useState(isVisibleProp);\n\n useEffect(() => {\n setIsVisible(isVisibleProp);\n }, [isVisibleProp]);\n\n const onHide = useCallback(() => {\n setIsVisible(false);\n onHideProp?.();\n }, [onHideProp]);\n\n return (\n <>\n <Snackbar\n autoHideDuration={\n isDismissable || autoHideDuration <= 0 ? undefined : autoHideDuration\n }\n className=\"Toast\"\n ClickAwayListenerProps={ClickAwayListenerProps}\n onClose={onHide}\n open={isVisible}\n >\n <Alert\n action={\n isDismissable === true && (\n <Button\n ariaLabel={t(\"close.text\")}\n onClick={onHide}\n size=\"small\"\n startIcon={<CloseIcon />}\n variant=\"floating\"\n />\n )\n }\n data-se={testId}\n role={role}\n severity={severity}\n variant=\"toast\"\n >\n <AlertTitle translate={translate}>\n <ScreenReaderText translate={translate}>\n {t(`severity.${severity}`)}:\n </ScreenReaderText>\n {text}\n </AlertTitle>\n {linkUrl && (\n <Link href={linkUrl} translate={translate} variant=\"monochrome\">\n {linkText}\n </Link>\n )}\n </Alert>\n </Snackbar>\n </>\n );\n};\n\nconst MemoizedToast = memo(Toast);\nMemoizedToast.displayName = \"Toast\";\n\nexport { MemoizedToast as Toast };\n"],"mappings":"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","ignoreList":[]}
@@ -11,12 +11,22 @@
11
11
  */export * from "./Field.js";
12
12
  export * from "./HtmlProps.js";
13
13
  export * from "./inputUtils.js";
14
+ export * from "./Badge.js";
15
+ export * from "./Buttons/BaseButton.js";
16
+ export * from "./Buttons/BaseMenuButton.js";
14
17
  export * from "./DataTable/useRowReordering.js";
15
18
  export * from "./DataTable/useScrollIndication.js";
19
+ export * from "./DatePickers/DateField.js";
20
+ export * from "./DatePickers/DateFieldActionBar.js";
21
+ export * from "./DatePickers/DateFieldLocalizationProvider.js";
22
+ export * from "./FileUploader/FileUploader.js";
23
+ export * from "./FileUploader/FileUploadIllustration.js";
24
+ export * from "./FileUploader/FileUploadPreview.js";
16
25
  export * from "./labs/DataFilters.js";
17
26
  export * from "./labs/DataView/BulkActionsMenu.js";
18
27
  export * from "./labs/DataView/CardLayoutContent.js";
19
28
  export * from "./labs/DataView/constants.js";
29
+ export * from "./labs/DataView/DataCard.js";
20
30
  export * from "./labs/DataView/fetchData.js";
21
31
  export * from "./labs/DataView/LayoutSwitcher.js";
22
32
  export * from "./labs/DataView/RowActions.js";
@@ -25,4 +35,7 @@ export * from "./labs/DataView/TableLayoutContent.js";
25
35
  export * from "./labs/DataView/TableSettings.js";
26
36
  export * from "./labs/DataView/testSupportData.js";
27
37
  export * from "./labs/DataView/useFilterConversion.js";
38
+ export * from "./labs/OdysseyPickers/ComposablePicker.js";
39
+ export * from "./OdysseyDesignTokensContext.js";
40
+ export * from "./SearchField.js";
28
41
  //# sourceMappingURL=__internal.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"__internal.js","names":[],"sources":["../../src/__internal.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\n/**\n * Internal exports for all components, utilities, and types.\n * This module provides access to internal/unexported items for advanced use cases.\n * These exports are not part of the stable public API and may change without notice.\n */\n\nexport * from \"./Field.js\";\nexport * from \"./HtmlProps.js\";\nexport * from \"./inputUtils.js\";\n\n// DataView & DataTable\nexport * from \"./DataTable/useRowReordering.js\";\nexport * from \"./DataTable/useScrollIndication.js\";\nexport * from \"./labs/DataFilters.js\";\nexport * from \"./labs/DataView/BulkActionsMenu.js\";\nexport * from \"./labs/DataView/CardLayoutContent.js\";\nexport * from \"./labs/DataView/constants.js\";\nexport * from \"./labs/DataView/fetchData.js\";\nexport * from \"./labs/DataView/LayoutSwitcher.js\";\nexport * from \"./labs/DataView/RowActions.js\";\nexport * from \"./labs/DataView/tableConstants.js\";\nexport * from \"./labs/DataView/TableLayoutContent.js\";\nexport * from \"./labs/DataView/TableSettings.js\";\nexport * from \"./labs/DataView/testSupportData.js\";\nexport * from \"./labs/DataView/useFilterConversion.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAQA,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAG/B,cAAc,iCAAiC;AAC/C,cAAc,oCAAoC;AAClD,cAAc,uBAAuB;AACrC,cAAc,oCAAoC;AAClD,cAAc,sCAAsC;AACpD,cAAc,8BAA8B;AAC5C,cAAc,8BAA8B;AAC5C,cAAc,mCAAmC;AACjD,cAAc,+BAA+B;AAC7C,cAAc,mCAAmC;AACjD,cAAc,uCAAuC;AACrD,cAAc,kCAAkC;AAChD,cAAc,oCAAoC;AAClD,cAAc,wCAAwC","ignoreList":[]}
1
+ {"version":3,"file":"__internal.js","names":[],"sources":["../../src/__internal.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\n/**\n * Internal exports for all components, utilities, and types.\n * This module provides access to internal/unexported items for advanced use cases.\n * These exports are not part of the stable public API and may change without notice.\n */\n\nexport * from \"./Field.js\";\nexport * from \"./HtmlProps.js\";\nexport * from \"./inputUtils.js\";\n\n// Badge\nexport * from \"./Badge.js\";\n// Buttons\nexport * from \"./Buttons/BaseButton.js\";\nexport * from \"./Buttons/BaseMenuButton.js\";\n// DataView & DataTable\nexport * from \"./DataTable/useRowReordering.js\";\nexport * from \"./DataTable/useScrollIndication.js\";\n// DatePickers\nexport * from \"./DatePickers/DateField.js\";\nexport * from \"./DatePickers/DateFieldActionBar.js\";\nexport * from \"./DatePickers/DateFieldLocalizationProvider.js\";\n// FileUploader\nexport * from \"./FileUploader/FileUploader.js\";\nexport * from \"./FileUploader/FileUploadIllustration.js\";\nexport * from \"./FileUploader/FileUploadPreview.js\";\nexport * from \"./labs/DataFilters.js\";\nexport * from \"./labs/DataView/BulkActionsMenu.js\";\nexport * from \"./labs/DataView/CardLayoutContent.js\";\nexport * from \"./labs/DataView/constants.js\";\nexport * from \"./labs/DataView/DataCard.js\";\nexport * from \"./labs/DataView/fetchData.js\";\nexport * from \"./labs/DataView/LayoutSwitcher.js\";\nexport * from \"./labs/DataView/RowActions.js\";\nexport * from \"./labs/DataView/tableConstants.js\";\nexport * from \"./labs/DataView/TableLayoutContent.js\";\nexport * from \"./labs/DataView/TableSettings.js\";\nexport * from \"./labs/DataView/testSupportData.js\";\nexport * from \"./labs/DataView/useFilterConversion.js\";\n// Odyssey Pickers\nexport * from \"./labs/OdysseyPickers/ComposablePicker.js\";\n// OdysseyDesignTokensContext\nexport * from \"./OdysseyDesignTokensContext.js\";\n// SearchField\nexport * from \"./SearchField.js\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,GAQA,cAAc,YAAY;AAC1B,cAAc,gBAAgB;AAC9B,cAAc,iBAAiB;AAG/B,cAAc,YAAY;AAE1B,cAAc,yBAAyB;AACvC,cAAc,6BAA6B;AAE3C,cAAc,iCAAiC;AAC/C,cAAc,oCAAoC;AAElD,cAAc,4BAA4B;AAC1C,cAAc,qCAAqC;AACnD,cAAc,gDAAgD;AAE9D,cAAc,gCAAgC;AAC9C,cAAc,0CAA0C;AACxD,cAAc,qCAAqC;AACnD,cAAc,uBAAuB;AACrC,cAAc,oCAAoC;AAClD,cAAc,sCAAsC;AACpD,cAAc,8BAA8B;AAC5C,cAAc,6BAA6B;AAC3C,cAAc,8BAA8B;AAC5C,cAAc,mCAAmC;AACjD,cAAc,+BAA+B;AAC7C,cAAc,mCAAmC;AACjD,cAAc,uCAAuC;AACrD,cAAc,kCAAkC;AAChD,cAAc,oCAAoC;AAClD,cAAc,wCAAwC;AAEtD,cAAc,2CAA2C;AAEzD,cAAc,iCAAiC;AAE/C,cAAc,kBAAkB","ignoreList":[]}