@okta/odyssey-react-mui 1.47.0 → 1.48.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 (727) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +21 -0
  3. package/dist/appswitcher/admin-app-default.svg +6 -0
  4. package/dist/appswitcher/admin-app-selected.svg +6 -0
  5. package/dist/appswitcher/aerial-default.svg +7 -0
  6. package/dist/appswitcher/aerial-selected.svg +7 -0
  7. package/dist/appswitcher/okta-dashboard-default.svg +7 -0
  8. package/dist/appswitcher/okta-dashboard-selected.svg +7 -0
  9. package/dist/appswitcher/privileged-access-default.svg +4 -0
  10. package/dist/appswitcher/privileged-access-selected.svg +4 -0
  11. package/dist/appswitcher/workflows-default.svg +5 -0
  12. package/dist/appswitcher/workflows-selected.svg +5 -0
  13. package/dist/assets/Accordion-MTHvu5cR.js +1 -0
  14. package/dist/assets/Accordion.stories-DniSJ38i.js +85 -0
  15. package/dist/assets/AccordionSummary-Byc6MkHu.js +1 -0
  16. package/dist/assets/AlertTitle-BDkgiA29.js +1 -0
  17. package/dist/assets/AppSwitcher-mUx_f1r6.js +21 -0
  18. package/dist/assets/AppSwitcher.stories-CENgxWSC.js +100 -0
  19. package/dist/assets/AppTile _labs_.stories-B5BjKm0o.js +136 -0
  20. package/dist/assets/ArrowDropDown-Dnrg-0Q8.js +1 -0
  21. package/dist/assets/ArrowRight-BquvVn3D.js +1 -0
  22. package/dist/assets/Autocomplete-Bh3XRXMy.js +1 -0
  23. package/dist/assets/Autocomplete-CknstIK_.js +1 -0
  24. package/dist/assets/Autocomplete.stories-DNDWoB5E.js +316 -0
  25. package/dist/assets/Badge-DFZYqSZN.js +11 -0
  26. package/dist/assets/Banner-25ZggH76.js +1 -0
  27. package/dist/assets/Banner.stories-Dz37neYC.js +74 -0
  28. package/dist/assets/BaseButton-Cd1oZPsh.js +11 -0
  29. package/dist/assets/BaseMenuButton-DCwowxQ6.js +1 -0
  30. package/dist/assets/Box-B-R2QRDU.js +1 -0
  31. package/dist/assets/Box-B6KmU4_J.js +1 -0
  32. package/dist/assets/Box-B92Cdrku.js +11 -0
  33. package/dist/assets/Box.stories-BCtoarqr.js +38 -0
  34. package/dist/assets/Breadcrumbs-BGJJeoxM.js +6 -0
  35. package/dist/assets/Breadcrumbs.stories-BTEZLo9U.js +79 -0
  36. package/dist/assets/Bug-Z3X3t5xp.js +1 -0
  37. package/dist/assets/Button-BvUGu5Sm.js +1 -0
  38. package/dist/{esm/DatePickers/index.js → assets/Button-DPUOjyZy.js} +2 -7
  39. package/dist/assets/Button.stories-CLRsJ0J2.js +271 -0
  40. package/dist/assets/ButtonBase-CrcIXP69.js +74 -0
  41. package/dist/assets/Calendar-DnwsjheN.js +1 -0
  42. package/dist/assets/Callout-qkeUDNKn.js +1 -0
  43. package/dist/assets/Callout.stories-DVWATUoj.js +105 -0
  44. package/dist/assets/Card-DL97TZJd.js +1 -0
  45. package/dist/assets/Card-DqLPNu4w.js +8 -0
  46. package/dist/assets/Card.stories-ROWJyBI0.js +56 -0
  47. package/dist/assets/CardActionArea-BaL2GhSM.js +1 -0
  48. package/dist/assets/CardActions-C1bW_Jqo.js +1 -0
  49. package/dist/assets/Checkbox-OauVZWc5.js +1 -0
  50. package/dist/assets/Checkbox-eGdyySzm.js +1 -0
  51. package/dist/assets/Checkbox.stories-DwmuFw2j.js +96 -0
  52. package/dist/assets/CheckboxGroup-BQ5GiUey.js +1 -0
  53. package/dist/assets/CheckboxGroup.stories-BbHNliqq.js +92 -0
  54. package/dist/assets/ChevronRight-BLkvXBUf.js +1 -0
  55. package/dist/assets/ChevronUp-Br-QC-XK.js +1 -0
  56. package/dist/assets/Chip-B9WkuA4b.js +1 -0
  57. package/dist/assets/CircularProgress-AX8KCiV6.js +28 -0
  58. package/dist/assets/CircularProgress-DxY3QwHW.js +1 -0
  59. package/dist/assets/CircularProgress.stories-a_Rse-5m.js +44 -0
  60. package/dist/assets/Clock-8HOQy_d4.js +1 -0
  61. package/dist/assets/Close-BjXKhBr_.js +1 -0
  62. package/dist/assets/Code Styling Guidelines-BkGO8zp-.js +14 -0
  63. package/dist/assets/Collapse-DtQCvyEw.js +1 -0
  64. package/dist/assets/Color-YHDXOIA2-CcoN0wsl.js +1 -0
  65. package/dist/assets/CssBaseline-CI1_OCUX.js +191 -0
  66. package/dist/assets/CssBaseline.stories-BSLs5ScZ.js +364 -0
  67. package/dist/assets/Custom Theming-WlDJkwzT.js +135 -0
  68. package/dist/assets/Custom Theming.stories-Kx3noLIn.js +95 -0
  69. package/dist/assets/DataFilters _labs_-BIYE5QJU.js +55 -0
  70. package/dist/assets/DataFilters _labs_.stories-BdV81MCI.js +31 -0
  71. package/dist/assets/DataFilters-KxLw7hL5.js +1 -0
  72. package/dist/assets/DataTable _labs_-D_W9CY5T.js +41 -0
  73. package/dist/assets/DataTable _labs_.stories-CTl54dDN.js +21 -0
  74. package/dist/assets/DataTable-BJQ8WkUd.js +21 -0
  75. package/dist/assets/DataTable-bZz790ci.js +404 -0
  76. package/dist/assets/DataTable.stories-9eBclyx2.js +438 -0
  77. package/dist/assets/DataView _labs_-AutzTAhE.js +332 -0
  78. package/dist/assets/DataView _labs_.stories-CO0XGhOV.js +438 -0
  79. package/dist/assets/DataView-CHGdxu-Z.js +91 -0
  80. package/dist/assets/DataView.stories-6cnSmpm3.js +954 -0
  81. package/dist/assets/DatePicker-BGoHW8Is.js +1 -0
  82. package/dist/assets/DatePicker-C6TIvuN7.js +11 -0
  83. package/dist/assets/DatePicker.stories-DldeVOlB.js +133 -0
  84. package/dist/assets/DateTimePicker-DKGE8593.js +1 -0
  85. package/dist/assets/DateTimePicker.stories-TBpe3AjQ.js +158 -0
  86. package/dist/assets/Design Tokens-BnlBB5OL.js +4 -0
  87. package/dist/assets/Dialog-BkOLgyLu.js +1 -0
  88. package/dist/assets/Dialog.stories-BQZpS-f5.js +201 -0
  89. package/dist/assets/DialogContent-B-pM1DP1.js +1 -0
  90. package/dist/assets/DialogTitle-DA2nrmUc.js +1 -0
  91. package/dist/assets/Divider-CAwVs6Y1.js +1 -0
  92. package/dist/assets/DocsRenderer-CFRXHY34-kO-n-5EB.js +2 -0
  93. package/dist/assets/Documentation-CBbHUjXC.js +1 -0
  94. package/dist/assets/Download-VHpUH0as.js +1 -0
  95. package/dist/assets/Drawer-C9M8pytV.js +33 -0
  96. package/dist/assets/Drawer.stories-DpNTQVxG.js +95 -0
  97. package/dist/assets/EmptyState-FpIKkMpd.js +11 -0
  98. package/dist/assets/EmptyState.stories-CkUF2dIR.js +11 -0
  99. package/dist/assets/ExampleButton.stories-CbAFs20l.js +320 -0
  100. package/dist/assets/Extending Translations-mp_vyXoH.js +145 -0
  101. package/dist/assets/ExternalLink-lox07hAR.js +1 -0
  102. package/dist/assets/Fade-CHnXmzFb.js +1 -0
  103. package/dist/assets/Field-BxkyNVQW.js +11 -0
  104. package/dist/assets/FieldHint-D5VttvwL.js +1 -0
  105. package/dist/assets/Fieldset-Dp9uCwiB.js +11 -0
  106. package/dist/assets/Fieldset.stories-Wa9hG8Z0.js +15 -0
  107. package/dist/assets/FileUploader.stories-CxYwF2DZ.js +58 -0
  108. package/dist/assets/Filter-BiREetkX.js +1 -0
  109. package/dist/assets/Folder-8esChg_E.js +1 -0
  110. package/dist/assets/Form Field Accessibility-BCFouYXt.js +18 -0
  111. package/dist/assets/Form-CJrxMkwr.js +11 -0
  112. package/dist/assets/Form.stories-Bc84FwlQ.js +69 -0
  113. package/dist/assets/FormControlLabel-CoGABX1G.js +1 -0
  114. package/dist/assets/FormGroup-D2d8E3Cw.js +1 -0
  115. package/dist/assets/FormHelperText-Ca69g4Je.js +1 -0
  116. package/dist/assets/FormLabel-EOlXQpGp.js +1 -0
  117. package/dist/assets/FullScreenOverlay-Bujsxbxh.js +11 -0
  118. package/dist/assets/Generating Icons-pN6RBs4J.js +16 -0
  119. package/dist/assets/Globe-BHk1B5d7.js +1 -0
  120. package/dist/assets/Grid-B7XSvQ_X.js +1 -0
  121. package/dist/assets/Group-DWmiPyzE.js +1 -0
  122. package/dist/assets/GroupPicker _labs_.stories-D0PDtKKA.js +33 -0
  123. package/dist/assets/Grow-6R6cTzr4.js +1 -0
  124. package/dist/assets/Hide-Bvhl5PVN.js +1 -0
  125. package/dist/assets/Hint-DTEjQAxl.js +11 -0
  126. package/dist/assets/Home-CUQc6tB8.js +1 -0
  127. package/dist/assets/Icon _icons_.stories-S2muaIBP.js +16 -0
  128. package/dist/assets/IconButton-Wwvz84xG.js +1 -0
  129. package/dist/assets/IconWithTooltip _icons_.stories-BiiIBhOv.js +19 -0
  130. package/dist/assets/InformationCircle-DYQV39lt.js +1 -0
  131. package/dist/assets/InputAdornment-Dj-8HF_1.js +1 -0
  132. package/dist/assets/InputBase-6reb9B7r.js +2 -0
  133. package/dist/assets/Installing odyssey-react-mui-DuIfuEaw.js +216 -0
  134. package/dist/assets/Introduction-BTH-MnwV.js +36 -0
  135. package/dist/assets/Layout-BndkhA1_.js +11 -0
  136. package/dist/assets/Layout.stories-BwMtW-cW.js +285 -0
  137. package/dist/assets/Legacy Migrations-BfDwGUg3.js +86 -0
  138. package/dist/assets/Link-BQo2zH0c.js +1 -0
  139. package/dist/assets/Link-C5sM1_ZF.js +11 -0
  140. package/dist/assets/Link-DcsndbPK.js +1 -0
  141. package/dist/assets/Link.stories-DiVQZsn1.js +43 -0
  142. package/dist/assets/List-CNCQEpRl.js +1 -0
  143. package/dist/assets/List-_p0jkXPM.js +1 -0
  144. package/dist/assets/ListItem-BLYwuKOG.js +1 -0
  145. package/dist/assets/ListSubheader-DO359rMr.js +1 -0
  146. package/dist/assets/Menu-CU_mHT7L.js +1 -0
  147. package/dist/assets/MenuButton-CGRa_Y2p.js +9 -0
  148. package/dist/assets/MenuButton-DvVmjwMC.js +11 -0
  149. package/dist/assets/MenuButton.stories-rLpv4nq1.js +246 -0
  150. package/dist/{esm/Pagination/index.js → assets/MenuContext-DKMyPMNY.js} +2 -7
  151. package/dist/assets/MenuItem-DoUaLmgU.js +1 -0
  152. package/dist/assets/MenuItem-oi_JaUho.js +1 -0
  153. package/dist/assets/MenuItem.stories-Ba6BR5kj.js +29 -0
  154. package/dist/assets/MenuList-0OHGr5AC.js +1 -0
  155. package/dist/assets/Modal-B12sS2Yh.js +1 -0
  156. package/dist/assets/More-BgQrTkKM.js +1 -0
  157. package/dist/{types/Pagination/index.d.ts → assets/MuiPropsContext-DhRylJZk.js} +2 -6
  158. package/dist/assets/NativeSelect.stories-CYtg4GGs.js +173 -0
  159. package/dist/assets/OdysseyProvider-BPLFYiwr.js +66 -0
  160. package/dist/assets/OdysseyStorybookThemeDecorator-CGH8visK.js +1 -0
  161. package/dist/assets/OdysseyThemeProvider-BykOaJq8.js +189 -0
  162. package/dist/assets/PageHeader.stories-Cg0XA0p_.js +57 -0
  163. package/dist/assets/PageHeader.stories-DHDJTskZ.js +329 -0
  164. package/dist/assets/PageTemplate _labs_-Bi3xwFV2.js +8 -0
  165. package/dist/assets/PageTemplate _labs_.stories-DdUcW43S.js +306 -0
  166. package/dist/assets/PageTemplate-mjLVQesI.js +21 -0
  167. package/dist/assets/PageTemplate.stories-BD8Hafdu.js +197 -0
  168. package/dist/assets/PaginatedTable _labs_.stories-Lt6yWTDo.js +65 -0
  169. package/dist/assets/Pagination-BTycGMV-.js +11 -0
  170. package/dist/assets/Pagination.stories-rN3x32X9.js +17 -0
  171. package/dist/assets/Paper-DwBg74qy.js +1 -0
  172. package/dist/assets/PasswordField.stories-BdnDY-tl.js +129 -0
  173. package/dist/assets/Picker _labs_.stories-D3FvB-m5.js +18 -0
  174. package/dist/assets/PickerWithOptionAdornment _labs_.stories-BxW5XACd.js +70 -0
  175. package/dist/assets/PlaceholderLogo-JfVvgA23.js +11 -0
  176. package/dist/assets/Popper-CSwIGEpk.js +1 -0
  177. package/dist/assets/Portal-CsPQSHsR.js +1 -0
  178. package/dist/assets/Radio-7iHx2pBU.js +1 -0
  179. package/dist/assets/Radio-AD-L5UNl.js +1 -0
  180. package/dist/assets/Radio.stories-eZmvoamt.js +63 -0
  181. package/dist/assets/RadioGroup-C_zn6OtS.js +1 -0
  182. package/dist/assets/RadioGroup-Mx_cTqVX.js +1 -0
  183. package/dist/assets/RadioGroup-yPcOJn0w.js +10 -0
  184. package/dist/assets/RadioGroup.stories-CackbN0d.js +138 -0
  185. package/dist/assets/Refresh-CgZVXlSy.js +1 -0
  186. package/dist/assets/ResourceAccessPolicyComponentsStorybookThemeDecorator-Xen2vDro.js +212 -0
  187. package/dist/assets/Right-to-Left (RTL)-CALRs8aM.js +62 -0
  188. package/dist/assets/ScreenReaderText-D9dVDvYs.js +15 -0
  189. package/dist/assets/ScreenReaderText-DbrZU7M5.js +1 -0
  190. package/dist/assets/ScreenReaderText.stories-CuVJmeWD.js +8 -0
  191. package/dist/assets/Search-BSlcf4bB.js +1 -0
  192. package/dist/assets/SearchDropdown _labs_.stories-CQype98o.js +53 -0
  193. package/dist/assets/SearchField-glDE5e-X.js +1 -0
  194. package/dist/assets/SearchField.stories-B_myC5_S.js +37 -0
  195. package/dist/assets/Select-BWJ6-p1Z.js +15 -0
  196. package/dist/assets/Select-VvpDulqk.js +1 -0
  197. package/dist/assets/Select.stories-BXXrgt5o.js +293 -0
  198. package/dist/assets/Server-DS5iERo2.js +1 -0
  199. package/dist/assets/Settings-SRsJGOHl.js +1 -0
  200. package/dist/assets/Setup-Ri7IU42o.js +7 -0
  201. package/dist/assets/Shadow DOM-DK_1Epv_.js +64 -0
  202. package/dist/assets/Show-DXIrBgNq.js +1 -0
  203. package/dist/assets/SideNav-CUpwLG1e.js +85 -0
  204. package/dist/assets/SideNav-QMiST_j6.js +131 -0
  205. package/dist/assets/SideNav.stories-l5XPKDfB.js +207 -0
  206. package/dist/assets/Skeleton-DAUyPclv.js +51 -0
  207. package/dist/assets/Snackbar-DWLMI8Az.js +1 -0
  208. package/dist/assets/Stack-t9yXrJ7r.js +1 -0
  209. package/dist/assets/Stack.stories-zmhDXY_k.js +1 -0
  210. package/dist/assets/StaticTable _labs_.stories-DJCAtW2q.js +34 -0
  211. package/dist/assets/Status-CdgTiE4c.js +1 -0
  212. package/dist/assets/Status.stories-D5tSpO2F.js +66 -0
  213. package/dist/assets/Surface-BCTO1YR-.js +1 -0
  214. package/dist/assets/Switch.stories-r3bYAZpt.js +61 -0
  215. package/dist/assets/SwitchBase-CWdXZnig.js +1 -0
  216. package/dist/assets/Sync-CCP_JZB8.js +1 -0
  217. package/dist/assets/Tabs-DCV9oDtT.js +23 -0
  218. package/dist/assets/Tabs-Dxt5P3aJ.js +1 -0
  219. package/dist/assets/Tabs.stories-CmjPJB02.js +100 -0
  220. package/dist/assets/Tag-C_iW2sj3.js +11 -0
  221. package/dist/assets/Tag.stories-uilRDgPB.js +96 -0
  222. package/dist/assets/TagList-cWni94xt.js +1 -0
  223. package/dist/assets/TextField-BIepBlYn.js +1 -0
  224. package/dist/assets/TextField.stories-DkCMFN0S.js +149 -0
  225. package/dist/assets/Toast.stories-BgAm1BNQ.js +134 -0
  226. package/dist/assets/ToastManager.stories-DToM8bFE.js +196 -0
  227. package/dist/{types/DataTable/index.d.ts → assets/Tooltip-DQDBPKMu.js} +2 -6
  228. package/dist/assets/Tooltip-D_pBGtcj.js +1 -0
  229. package/dist/assets/Tooltip.stories-CgIybZDx.js +68 -0
  230. package/dist/assets/TopNav-Dwo-KfAw.js +11 -0
  231. package/dist/assets/TopNav.stories-z9mNMFB3.js +13 -0
  232. package/dist/assets/TransitionGroupContext-DAL84N7p.js +1 -0
  233. package/dist/assets/Typography-B7ktrxCD.js +1 -0
  234. package/dist/assets/Typography-CQfngSjD.js +1 -0
  235. package/dist/assets/Typography-CSpPZFTF.js +1 -0
  236. package/dist/assets/Typography-DBt3ajUl.js +9 -0
  237. package/dist/assets/Typography.stories-CitS-iTX.js +73 -0
  238. package/dist/assets/Typography.stories-dzT0O_H3.js +139 -0
  239. package/dist/assets/UiShell.stories-BV5mK0Oz.js +558 -0
  240. package/dist/assets/UiShellProvider-Bm9plvoZ.js +31 -0
  241. package/dist/assets/Upload-DH1T10x5.js +1 -0
  242. package/dist/assets/User-CvYTA860.js +1 -0
  243. package/dist/assets/UserProfile-DrnAMPM1.js +11 -0
  244. package/dist/assets/UserProfile.stories-C4EJFTV8.js +14 -0
  245. package/dist/assets/UserProfileMenuButton.stories-Dhe9t4Oh.js +30 -0
  246. package/dist/assets/Video-D8qbHdF4.js +1 -0
  247. package/dist/assets/WorkflowsComponentsStorybookThemeDecorator-DJR9iMBt.js +197 -0
  248. package/dist/assets/_commonjsHelpers-gnU0ypJ3.js +1 -0
  249. package/dist/assets/assertThisInitialized-B9jnkVVz.js +1 -0
  250. package/dist/assets/axe-4JP0vCEZ.js +30 -0
  251. package/dist/assets/axeRun-B-LchFqf.js +11 -0
  252. package/dist/assets/chunk-XP5HYGXS-BpfKkqn7.js +1 -0
  253. package/dist/assets/client-ByW5HbEz.js +1 -0
  254. package/dist/assets/colorManipulator-C6C6_xuT.js +1 -0
  255. package/dist/{types/labs/PageTemplate/index.d.ts → assets/constants-CGUp4oSR.js} +1 -4
  256. package/dist/{esm/DataTable/index.js → assets/constants-CyailK6t.js} +1 -5
  257. package/dist/assets/createChainedFunction-BO_9K8Jh.js +1 -0
  258. package/dist/assets/createStyled-B0CJenTX.js +1 -0
  259. package/dist/assets/createSvgIcon-Bv_3NNsK.js +1 -0
  260. package/dist/assets/createUniqueId-ByTaVY63.js +1 -0
  261. package/dist/assets/debounce-Be36O1Ab.js +1 -0
  262. package/dist/assets/dialogActionsClasses-d6kliu8x.js +1 -0
  263. package/dist/assets/emotion-react-jsx-runtime.browser.esm-Cn-06VTs.js +1 -0
  264. package/dist/assets/entry-preview-Bi6MTClg.js +2 -0
  265. package/dist/assets/entry-preview-docs-BKXv92OK.js +46 -0
  266. package/dist/assets/fieldComponentPropsMetaData-BqbNLw6V.js +11 -0
  267. package/dist/assets/getReactElementRef-Bs64nbeG.js +1 -0
  268. package/dist/assets/getScrollbarSize-Bqq2hMjQ.js +1 -0
  269. package/dist/assets/i18next-7SyOfhCu.js +1 -0
  270. package/dist/{esm/labs/OdysseyPickers/index.js → assets/iconUtils-C1HBA-0w.js} +2 -8
  271. package/dist/assets/iframe-C7GWUW76.js +211 -0
  272. package/dist/assets/index-6QUE-j0v.js +1 -0
  273. package/dist/assets/index-B-lxVbXh.js +1 -0
  274. package/dist/assets/index-B5xazMy1.js +1 -0
  275. package/dist/assets/index-BJMTVygn.js +240 -0
  276. package/dist/assets/index-BJTM6NaI.js +192 -0
  277. package/dist/assets/index-BeeV6X6A.js +1 -0
  278. package/dist/assets/index-CXQShRbs.js +8 -0
  279. package/dist/assets/index-DfE121Jj.js +384 -0
  280. package/dist/assets/index-DieBXP3Z.js +24 -0
  281. package/dist/assets/index-DkrUiDVY.js +1 -0
  282. package/dist/assets/index-DoKqiSdS.js +1 -0
  283. package/dist/assets/index-DrFu-skq.js +6 -0
  284. package/dist/assets/index-NdkWRN8K.js +9 -0
  285. package/dist/assets/index.esm-BliC9-aw.js +1 -0
  286. package/dist/assets/index.esm-XFhSJO0s.js +138 -0
  287. package/dist/assets/index.modern-CkASn_bb.js +14 -0
  288. package/dist/assets/inheritsLoose-DTTkq0Su.js +1 -0
  289. package/dist/assets/inputUtils-Dbi8XkA6.js +11 -0
  290. package/dist/assets/isHostComponent-DVu5iVWx.js +1 -0
  291. package/dist/assets/jsx-runtime-CnH95YSl.js +9 -0
  292. package/dist/assets/matchers-7Z3WT2CE-T3xScrR7.js +14 -0
  293. package/dist/assets/ownerDocument-DW-IO8s5.js +1 -0
  294. package/dist/assets/ownerWindow-HkKU3E4x.js +1 -0
  295. package/dist/assets/personData-BOnk54P3.js +11 -0
  296. package/dist/assets/personData-L8dJyb3X.js +1 -0
  297. package/dist/assets/pickerComponentPropsMetadata-CozVRRyR.js +21 -0
  298. package/dist/assets/popper-aiaZgC6t.js +1 -0
  299. package/dist/assets/preview-B8lJiyuQ.js +34 -0
  300. package/dist/assets/preview-BAx1BwgB.js +1 -0
  301. package/dist/assets/preview-BBWR9nbA.js +1 -0
  302. package/dist/assets/preview-BWzBA1C2.js +396 -0
  303. package/dist/assets/preview-BaoH-L4j.js +1 -0
  304. package/dist/assets/preview-CYp4EYYZ.js +1 -0
  305. package/dist/assets/preview-CvbIS5ZJ.js +1 -0
  306. package/dist/assets/preview-DGUiP6tS.js +7 -0
  307. package/dist/assets/preview-DHQbi4pV.js +1 -0
  308. package/dist/assets/preview-DXRUsonv.js +2 -0
  309. package/dist/assets/preview-MBifGIx_.js +1 -0
  310. package/dist/assets/preview-NdtsJkHc.js +2 -0
  311. package/dist/{types/theme/index.d.ts → assets/pxToRem-BrMhKUxS.js} +2 -4
  312. package/dist/assets/queryOdysseySelector-CwauhQve.js +187 -0
  313. package/dist/assets/react-18-u8niHpKc.js +1 -0
  314. package/dist/assets/renderUiShell.stories-Pp6_Iqzc.js +866 -0
  315. package/dist/assets/resolveComponentProps-TTQVZ4OZ.js +1 -0
  316. package/dist/assets/tableSortLabelClasses-C7INAE6Y.js +1 -0
  317. package/dist/assets/test-utils-H9lH7T5D.js +9 -0
  318. package/dist/{esm/labs/DatePickers/index.js → assets/uiShellSharedConstants-DD9UP82e.js} +2 -5
  319. package/dist/assets/useAutocomplete-CD_GwhMI.js +11 -0
  320. package/dist/assets/useControlled-NQulfz4l.js +1 -0
  321. package/dist/assets/useFormControl-BMISTZuX.js +1 -0
  322. package/dist/assets/useIsFocusVisible-DH0qxT5e.js +1 -0
  323. package/dist/assets/useMobilePicker-CRiGjvfW.js +6 -0
  324. package/dist/assets/useMountLifecycleEffect-CjsUCFhB.js +11 -0
  325. package/dist/assets/useOdysseyDateFields-D1TYF4ew.js +61 -0
  326. package/dist/assets/useScrollIndication-Dq_i6CX-.js +31 -0
  327. package/dist/assets/useSlot-VN2O4BOA.js +1 -0
  328. package/dist/assets/useThemeProps-BgDANuN6.js +1 -0
  329. package/dist/assets/useThemeProps-DJ3F4KkW.js +1 -0
  330. package/dist/{esm/FileUploader/index.js → assets/useUniqueId-Bsgqe1tm.js} +2 -5
  331. package/dist/assets/utilities.esm-DpQ0TZP_.js +5 -0
  332. package/dist/assets/utils-BdcLUgCD.js +1 -0
  333. package/dist/assets/utils-iop7lDec.js +1 -0
  334. package/dist/assets/v4-CtRu48qb.js +1 -0
  335. package/dist/assets/visuallyHidden-Dan1xhjv.js +1 -0
  336. package/dist/cjs/DataTable/DataTable.cjs +18 -16
  337. package/dist/cjs/DataTable/DataTable.cjs.map +1 -1
  338. package/dist/cjs/DataTable/DataTableRowActions.cjs +13 -12
  339. package/dist/cjs/DataTable/DataTableRowActions.cjs.map +1 -1
  340. package/dist/cjs/DataTable/DataTableSettings.cjs +9 -8
  341. package/dist/cjs/DataTable/DataTableSettings.cjs.map +1 -1
  342. package/dist/cjs/DatePickers/DateFieldActionBar.cjs +3 -3
  343. package/dist/cjs/DatePickers/DateFieldActionBar.cjs.map +1 -1
  344. package/dist/cjs/DatePickers/DatePicker.cjs +2 -2
  345. package/dist/cjs/DatePickers/DatePicker.cjs.map +1 -1
  346. package/dist/cjs/DatePickers/datePickerTheme.cjs +2 -2
  347. package/dist/cjs/DatePickers/datePickerTheme.cjs.map +1 -1
  348. package/dist/cjs/Dialog.cjs +4 -4
  349. package/dist/cjs/Dialog.cjs.map +1 -1
  350. package/dist/cjs/Drawer.cjs +29 -18
  351. package/dist/cjs/Drawer.cjs.map +1 -1
  352. package/dist/cjs/{Checkbox.cjs → Fields/Checkbox.cjs} +7 -16
  353. package/dist/cjs/Fields/Checkbox.cjs.map +1 -0
  354. package/dist/cjs/{CheckboxGroup.cjs → Fields/CheckboxGroup.cjs} +1 -1
  355. package/dist/cjs/Fields/CheckboxGroup.cjs.map +1 -0
  356. package/dist/cjs/Fields/Hint.cjs +31 -0
  357. package/dist/cjs/Fields/Hint.cjs.map +1 -0
  358. package/dist/cjs/{Radio.cjs → Fields/Radio.cjs} +5 -14
  359. package/dist/cjs/Fields/Radio.cjs.map +1 -0
  360. package/dist/cjs/{RadioGroup.cjs → Fields/RadioGroup.cjs} +2 -2
  361. package/dist/cjs/Fields/RadioGroup.cjs.map +1 -0
  362. package/dist/cjs/FileUploader/FileUploader.cjs +6 -6
  363. package/dist/cjs/FileUploader/FileUploader.cjs.map +1 -1
  364. package/dist/cjs/Form.cjs.map +1 -1
  365. package/dist/cjs/OdysseyThemeProvider.cjs +2 -2
  366. package/dist/cjs/OdysseyThemeProvider.cjs.map +1 -1
  367. package/dist/cjs/OdysseyThemeProviderPropsContext.cjs.map +1 -1
  368. package/dist/cjs/Pagination/Pagination.cjs +7 -7
  369. package/dist/cjs/Pagination/Pagination.cjs.map +1 -1
  370. package/dist/cjs/Toast.cjs +4 -4
  371. package/dist/cjs/Toast.cjs.map +1 -1
  372. package/dist/cjs/__internal.cjs +187 -0
  373. package/dist/cjs/__internal.cjs.map +1 -1
  374. package/dist/cjs/index.cjs +685 -613
  375. package/dist/cjs/index.cjs.map +1 -1
  376. package/dist/cjs/labs/AppTile.cjs +2 -2
  377. package/dist/cjs/labs/AppTile.cjs.map +1 -1
  378. package/dist/cjs/labs/DataFilters.cjs +16 -16
  379. package/dist/cjs/labs/DataFilters.cjs.map +1 -1
  380. package/dist/cjs/labs/DataTablePagination.cjs +7 -7
  381. package/dist/cjs/labs/DataTablePagination.cjs.map +1 -1
  382. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs +7 -6
  383. package/dist/cjs/labs/DataView/BulkActionsMenu.cjs.map +1 -1
  384. package/dist/cjs/labs/DataView/DataView.cjs +8 -7
  385. package/dist/cjs/labs/DataView/DataView.cjs.map +1 -1
  386. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs +4 -3
  387. package/dist/cjs/labs/DataView/LayoutSwitcher.cjs.map +1 -1
  388. package/dist/cjs/labs/DataView/RowActions.cjs +10 -10
  389. package/dist/cjs/labs/DataView/RowActions.cjs.map +1 -1
  390. package/dist/cjs/labs/DataView/TableLayoutContent.cjs +11 -10
  391. package/dist/cjs/labs/DataView/TableLayoutContent.cjs.map +1 -1
  392. package/dist/cjs/labs/DataView/TableSettings.cjs +9 -8
  393. package/dist/cjs/labs/DataView/TableSettings.cjs.map +1 -1
  394. package/dist/cjs/labs/DataView/componentTypes.cjs.map +1 -1
  395. package/dist/cjs/labs/DataView/useFilterConversion.cjs.map +1 -1
  396. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs +7 -7
  397. package/dist/cjs/labs/DatePickers/DateTimePicker.cjs.map +1 -1
  398. package/dist/cjs/labs/DatePickers/dateTimePickerTheme.cjs +3 -3
  399. package/dist/cjs/labs/DatePickers/dateTimePickerTheme.cjs.map +1 -1
  400. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs +2 -2
  401. package/dist/cjs/labs/OdysseyPickers/PickerWithOptionAdornment.cjs.map +1 -1
  402. package/dist/cjs/labs/index.cjs +156 -28
  403. package/dist/cjs/labs/index.cjs.map +1 -1
  404. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs +2 -0
  405. package/dist/cjs/ui-shell/SideNav/NavAccordion.cjs.map +1 -1
  406. package/dist/cjs/ui-shell/SideNav/SideNav.cjs +5 -3
  407. package/dist/cjs/ui-shell/SideNav/SideNav.cjs.map +1 -1
  408. package/dist/cjs/ui-shell/SideNav/types.cjs.map +1 -1
  409. package/dist/cjs/ui-shell/WideUiShellContent.cjs +9 -9
  410. package/dist/cjs/ui-shell/WideUiShellContent.cjs.map +1 -1
  411. package/dist/cjs/ui-shell/index.cjs +24 -12
  412. package/dist/cjs/ui-shell/index.cjs.map +1 -1
  413. package/dist/cjs/ui-shell/renderUiShell.cjs +4 -2
  414. package/dist/cjs/ui-shell/renderUiShell.cjs.map +1 -1
  415. package/dist/cjs/web-component/createShadowDomElements.cjs +2 -2
  416. package/dist/cjs/web-component/createShadowDomElements.cjs.map +1 -1
  417. package/dist/cjs/web-component/{removeGlobalStylesFromShadowDom.cjs → encapsulateShadowDomFromGlobalStyles.cjs} +4 -4
  418. package/dist/cjs/web-component/encapsulateShadowDomFromGlobalStyles.cjs.map +1 -0
  419. package/dist/cjs/web-component/index.cjs +4 -4
  420. package/dist/cjs/web-component/index.cjs.map +1 -1
  421. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs +1 -1
  422. package/dist/cjs/web-component/odysseyWebComponentVersion.generated.cjs.map +1 -1
  423. package/dist/cjs/web-component/renderReactInWebComponent.cjs +12 -8
  424. package/dist/cjs/web-component/renderReactInWebComponent.cjs.map +1 -1
  425. package/dist/esm/DataTable/DataTable.js +4 -2
  426. package/dist/esm/DataTable/DataTable.js.map +1 -1
  427. package/dist/esm/DataTable/DataTableRowActions.js +2 -1
  428. package/dist/esm/DataTable/DataTableRowActions.js.map +1 -1
  429. package/dist/esm/DataTable/DataTableSettings.js +2 -1
  430. package/dist/esm/DataTable/DataTableSettings.js.map +1 -1
  431. package/dist/esm/DatePickers/DateFieldActionBar.js +1 -1
  432. package/dist/esm/DatePickers/DateFieldActionBar.js.map +1 -1
  433. package/dist/esm/DatePickers/DatePicker.js +1 -1
  434. package/dist/esm/DatePickers/DatePicker.js.map +1 -1
  435. package/dist/esm/DatePickers/datePickerTheme.js +1 -1
  436. package/dist/esm/DatePickers/datePickerTheme.js.map +1 -1
  437. package/dist/esm/Dialog.js +1 -1
  438. package/dist/esm/Dialog.js.map +1 -1
  439. package/dist/esm/Drawer.js +26 -15
  440. package/dist/esm/Drawer.js.map +1 -1
  441. package/dist/esm/{Checkbox.js → Fields/Checkbox.js} +6 -16
  442. package/dist/esm/Fields/Checkbox.js.map +1 -0
  443. package/dist/esm/{CheckboxGroup.js → Fields/CheckboxGroup.js} +1 -1
  444. package/dist/esm/Fields/CheckboxGroup.js.map +1 -0
  445. package/dist/esm/Fields/Hint.js +24 -0
  446. package/dist/esm/Fields/Hint.js.map +1 -0
  447. package/dist/esm/{Radio.js → Fields/Radio.js} +4 -14
  448. package/dist/esm/Fields/Radio.js.map +1 -0
  449. package/dist/esm/{RadioGroup.js → Fields/RadioGroup.js} +2 -2
  450. package/dist/esm/Fields/RadioGroup.js.map +1 -0
  451. package/dist/esm/FileUploader/FileUploader.js +2 -3
  452. package/dist/esm/FileUploader/FileUploader.js.map +1 -1
  453. package/dist/esm/Form.js.map +1 -1
  454. package/dist/esm/OdysseyThemeProvider.js +1 -1
  455. package/dist/esm/OdysseyThemeProvider.js.map +1 -1
  456. package/dist/esm/OdysseyThemeProviderPropsContext.js.map +1 -1
  457. package/dist/esm/Pagination/Pagination.js +1 -1
  458. package/dist/esm/Pagination/Pagination.js.map +1 -1
  459. package/dist/esm/Toast.js +1 -1
  460. package/dist/esm/Toast.js.map +1 -1
  461. package/dist/esm/__internal.js +17 -0
  462. package/dist/esm/__internal.js.map +1 -1
  463. package/dist/esm/index.js +62 -54
  464. package/dist/esm/index.js.map +1 -1
  465. package/dist/esm/labs/AppTile.js +1 -1
  466. package/dist/esm/labs/AppTile.js.map +1 -1
  467. package/dist/esm/labs/DataFilters.js +5 -5
  468. package/dist/esm/labs/DataFilters.js.map +1 -1
  469. package/dist/esm/labs/DataTablePagination.js +1 -1
  470. package/dist/esm/labs/DataTablePagination.js.map +1 -1
  471. package/dist/esm/labs/DataView/BulkActionsMenu.js +2 -1
  472. package/dist/esm/labs/DataView/BulkActionsMenu.js.map +1 -1
  473. package/dist/esm/labs/DataView/DataView.js +3 -2
  474. package/dist/esm/labs/DataView/DataView.js.map +1 -1
  475. package/dist/esm/labs/DataView/LayoutSwitcher.js +2 -1
  476. package/dist/esm/labs/DataView/LayoutSwitcher.js.map +1 -1
  477. package/dist/esm/labs/DataView/RowActions.js +1 -1
  478. package/dist/esm/labs/DataView/RowActions.js.map +1 -1
  479. package/dist/esm/labs/DataView/TableLayoutContent.js +2 -1
  480. package/dist/esm/labs/DataView/TableLayoutContent.js.map +1 -1
  481. package/dist/esm/labs/DataView/TableSettings.js +2 -1
  482. package/dist/esm/labs/DataView/TableSettings.js.map +1 -1
  483. package/dist/esm/labs/DataView/componentTypes.js.map +1 -1
  484. package/dist/esm/labs/DataView/useFilterConversion.js.map +1 -1
  485. package/dist/esm/labs/DatePickers/DateTimePicker.js +2 -2
  486. package/dist/esm/labs/DatePickers/DateTimePicker.js.map +1 -1
  487. package/dist/esm/labs/DatePickers/dateTimePickerTheme.js +1 -1
  488. package/dist/esm/labs/DatePickers/dateTimePickerTheme.js.map +1 -1
  489. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js +1 -1
  490. package/dist/esm/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -1
  491. package/dist/esm/labs/index.js +18 -7
  492. package/dist/esm/labs/index.js.map +1 -1
  493. package/dist/esm/ui-shell/SideNav/NavAccordion.js +2 -0
  494. package/dist/esm/ui-shell/SideNav/NavAccordion.js.map +1 -1
  495. package/dist/esm/ui-shell/SideNav/SideNav.js +4 -2
  496. package/dist/esm/ui-shell/SideNav/SideNav.js.map +1 -1
  497. package/dist/esm/ui-shell/SideNav/types.js.map +1 -1
  498. package/dist/esm/ui-shell/WideUiShellContent.js +3 -3
  499. package/dist/esm/ui-shell/WideUiShellContent.js.map +1 -1
  500. package/dist/esm/ui-shell/index.js +4 -3
  501. package/dist/esm/ui-shell/index.js.map +1 -1
  502. package/dist/esm/ui-shell/renderUiShell.js +4 -2
  503. package/dist/esm/ui-shell/renderUiShell.js.map +1 -1
  504. package/dist/esm/web-component/createShadowDomElements.js +2 -2
  505. package/dist/esm/web-component/createShadowDomElements.js.map +1 -1
  506. package/dist/esm/web-component/{removeGlobalStylesFromShadowDom.js → encapsulateShadowDomFromGlobalStyles.js} +2 -2
  507. package/dist/esm/web-component/encapsulateShadowDomFromGlobalStyles.js.map +1 -0
  508. package/dist/esm/web-component/index.js +1 -1
  509. package/dist/esm/web-component/index.js.map +1 -1
  510. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js +1 -1
  511. package/dist/esm/web-component/odysseyWebComponentVersion.generated.js.map +1 -1
  512. package/dist/esm/web-component/renderReactInWebComponent.js +12 -8
  513. package/dist/esm/web-component/renderReactInWebComponent.js.map +1 -1
  514. package/dist/favicon.svg +1 -0
  515. package/dist/iframe.html +748 -0
  516. package/dist/index.cjs +231 -0
  517. package/dist/index.d.ts +22 -0
  518. package/dist/index.d.ts.map +1 -0
  519. package/dist/index.es.js +3173 -0
  520. package/dist/index.es.js.map +1 -0
  521. package/dist/index.html +203 -0
  522. package/dist/index.iife.js +9 -0
  523. package/dist/index.iife.js.map +1 -0
  524. package/dist/{esm/Buttons/index.js → index.js} +15 -9
  525. package/dist/index.json +1 -0
  526. package/dist/index.mjs +229 -0
  527. package/dist/index.scss +549 -0
  528. package/dist/index.umd.cjs +9 -0
  529. package/dist/index.umd.cjs.map +1 -0
  530. package/dist/nunito-sans-bold-italic.woff2 +0 -0
  531. package/dist/nunito-sans-bold.woff2 +0 -0
  532. package/dist/nunito-sans-italic.woff2 +0 -0
  533. package/dist/nunito-sans-regular.woff2 +0 -0
  534. package/dist/project.json +1 -0
  535. package/dist/sb-addons/a11y-3/manager-bundle.js +220 -0
  536. package/dist/sb-addons/docs-1/manager-bundle.js +242 -0
  537. package/dist/sb-addons/essentials-actions-5/manager-bundle.js +3 -0
  538. package/dist/sb-addons/essentials-backgrounds-6/manager-bundle.js +12 -0
  539. package/dist/sb-addons/essentials-controls-4/manager-bundle.js +402 -0
  540. package/dist/sb-addons/essentials-measure-9/manager-bundle.js +3 -0
  541. package/dist/sb-addons/essentials-outline-10/manager-bundle.js +3 -0
  542. package/dist/sb-addons/essentials-toolbars-8/manager-bundle.js +3 -0
  543. package/dist/sb-addons/essentials-viewport-7/manager-bundle.js +3 -0
  544. package/dist/sb-addons/interactions-11/manager-bundle.js +222 -0
  545. package/dist/sb-addons/links-2/manager-bundle.js +3 -0
  546. package/dist/sb-addons/rtl-12/manager-bundle.js +3 -0
  547. package/dist/sb-addons/storybook-13/manager-bundle.js +3 -0
  548. package/dist/sb-addons/storybook-core-core-server-presets-0/common-manager-bundle.js +3 -0
  549. package/dist/sb-common-assets/favicon.svg +1 -0
  550. package/dist/sb-common-assets/nunito-sans-bold-italic.woff2 +0 -0
  551. package/dist/sb-common-assets/nunito-sans-bold.woff2 +0 -0
  552. package/dist/sb-common-assets/nunito-sans-italic.woff2 +0 -0
  553. package/dist/sb-common-assets/nunito-sans-regular.woff2 +0 -0
  554. package/dist/sb-manager/globals-module-info.js +1052 -0
  555. package/dist/sb-manager/globals-runtime.js +42127 -0
  556. package/dist/sb-manager/globals.js +48 -0
  557. package/dist/sb-manager/runtime.js +12048 -0
  558. package/dist/tsconfig.production.tsbuildinfo +1 -1
  559. package/dist/tsconfig.tsbuildinfo +1 -0
  560. package/dist/types/DataTable/DataTable.d.ts +3 -3
  561. package/dist/types/DataTable/DataTable.d.ts.map +1 -1
  562. package/dist/types/DataTable/DataTableRowActions.d.ts +2 -1
  563. package/dist/types/DataTable/DataTableRowActions.d.ts.map +1 -1
  564. package/dist/types/DataTable/DataTableSettings.d.ts.map +1 -1
  565. package/dist/types/Dialog.d.ts +1 -1
  566. package/dist/types/Dialog.d.ts.map +1 -1
  567. package/dist/types/Drawer.d.ts +1 -1
  568. package/dist/types/Drawer.d.ts.map +1 -1
  569. package/dist/types/{Checkbox.d.ts → Fields/Checkbox.d.ts} +4 -4
  570. package/dist/types/Fields/Checkbox.d.ts.map +1 -0
  571. package/dist/types/{CheckboxGroup.d.ts → Fields/CheckboxGroup.d.ts} +2 -2
  572. package/dist/types/Fields/CheckboxGroup.d.ts.map +1 -0
  573. package/dist/types/Fields/Hint.d.ts +19 -0
  574. package/dist/types/Fields/Hint.d.ts.map +1 -0
  575. package/dist/types/{Radio.d.ts → Fields/Radio.d.ts} +3 -3
  576. package/dist/types/Fields/Radio.d.ts.map +1 -0
  577. package/dist/types/{RadioGroup.d.ts → Fields/RadioGroup.d.ts} +2 -2
  578. package/dist/types/Fields/RadioGroup.d.ts.map +1 -0
  579. package/dist/types/FileUploader/FileUploader.d.ts +1 -2
  580. package/dist/types/FileUploader/FileUploader.d.ts.map +1 -1
  581. package/dist/types/Form.d.ts +1 -1
  582. package/dist/types/Form.d.ts.map +1 -1
  583. package/dist/types/OdysseyThemeProviderPropsContext.d.ts +1 -1
  584. package/dist/types/__internal.d.ts +17 -0
  585. package/dist/types/__internal.d.ts.map +1 -1
  586. package/dist/types/getTranslationServices.browser.test.d.ts +1 -0
  587. package/dist/types/getTranslationServices.browser.test.js +88 -0
  588. package/dist/types/getTranslationServices.browser.test.js.map +1 -0
  589. package/dist/types/getTranslationServices.d.ts +91 -0
  590. package/dist/types/getTranslationServices.js +77 -0
  591. package/dist/types/getTranslationServices.js.map +1 -0
  592. package/dist/types/getTypedObjectEntries.d.ts +1 -0
  593. package/dist/types/getTypedObjectEntries.js +2 -0
  594. package/dist/types/getTypedObjectEntries.js.map +1 -0
  595. package/dist/types/index.d.ts +65 -54
  596. package/dist/types/index.d.ts.map +1 -1
  597. package/dist/types/index.js +3 -0
  598. package/dist/types/index.js.map +1 -0
  599. package/dist/types/labs/DataView/BulkActionsMenu.d.ts.map +1 -1
  600. package/dist/types/labs/DataView/DataView.d.ts.map +1 -1
  601. package/dist/types/labs/DataView/LayoutSwitcher.d.ts.map +1 -1
  602. package/dist/types/labs/DataView/RowActions.d.ts +2 -1
  603. package/dist/types/labs/DataView/RowActions.d.ts.map +1 -1
  604. package/dist/types/labs/DataView/TableLayoutContent.d.ts.map +1 -1
  605. package/dist/types/labs/DataView/TableSettings.d.ts.map +1 -1
  606. package/dist/types/labs/DataView/componentTypes.d.ts +1 -1
  607. package/dist/types/labs/DataView/componentTypes.d.ts.map +1 -1
  608. package/dist/types/labs/index.d.ts +19 -7
  609. package/dist/types/labs/index.d.ts.map +1 -1
  610. package/dist/types/translationServices.types.d.ts +2 -0
  611. package/dist/types/translationServices.types.js +34 -0
  612. package/dist/types/translationServices.types.js.map +1 -0
  613. package/dist/types/tsconfig.tsbuildinfo +1 -0
  614. package/dist/types/ui-shell/SideNav/NavAccordion.d.ts +1 -1
  615. package/dist/types/ui-shell/SideNav/NavAccordion.d.ts.map +1 -1
  616. package/dist/types/ui-shell/SideNav/SideNav.d.ts +0 -2
  617. package/dist/types/ui-shell/SideNav/SideNav.d.ts.map +1 -1
  618. package/dist/types/ui-shell/SideNav/types.d.ts +4 -0
  619. package/dist/types/ui-shell/SideNav/types.d.ts.map +1 -1
  620. package/dist/types/ui-shell/index.d.ts +4 -3
  621. package/dist/types/ui-shell/index.d.ts.map +1 -1
  622. package/dist/types/ui-shell/renderUiShell.d.ts +5 -1
  623. package/dist/types/ui-shell/renderUiShell.d.ts.map +1 -1
  624. package/dist/types/web-component/{removeGlobalStylesFromShadowDom.d.ts → encapsulateShadowDomFromGlobalStyles.d.ts} +2 -2
  625. package/dist/types/web-component/encapsulateShadowDomFromGlobalStyles.d.ts.map +1 -0
  626. package/dist/types/web-component/index.d.ts +1 -1
  627. package/dist/types/web-component/index.d.ts.map +1 -1
  628. package/dist/types/web-component/odysseyWebComponentVersion.generated.d.ts +1 -1
  629. package/dist/types/web-component/renderReactInWebComponent.d.ts +8 -2
  630. package/dist/types/web-component/renderReactInWebComponent.d.ts.map +1 -1
  631. package/ok.yaml +1 -0
  632. package/package.json +9 -9
  633. package/src/getTranslationServices.browser.test.tsx +173 -0
  634. package/src/getTranslationServices.tsx +286 -0
  635. package/src/getTypedObjectEntries.ts +3 -0
  636. package/src/index.ts +2 -0
  637. package/src/translationServices.types.ts +36 -0
  638. package/src/tsconfig.json +7 -0
  639. package/tsconfig.json +41 -0
  640. package/vite.config.project.ts +61 -0
  641. package/vite.config.ts +21 -0
  642. package/vite.config.ts.bak +33 -0
  643. package/{dist/esm/ui-shell/AppSwitcher/index.js → vitest-browser-setup.ts} +2 -2
  644. package/{dist/esm/theme/index.js → vitest-jsdom-setup.ts} +2 -3
  645. package/{dist/esm/ui-shell/TopNav/index.js → vitest-node-setup.ts} +1 -2
  646. package/vitest.config.project.ts +16 -0
  647. package/vitest.config.ts +27 -0
  648. package/vitest.config.ts.bak +27 -0
  649. package/dist/cjs/Buttons/index.cjs +0 -93
  650. package/dist/cjs/Buttons/index.cjs.map +0 -1
  651. package/dist/cjs/Checkbox.cjs.map +0 -1
  652. package/dist/cjs/CheckboxGroup.cjs.map +0 -1
  653. package/dist/cjs/DataTable/index.cjs +0 -20
  654. package/dist/cjs/DataTable/index.cjs.map +0 -1
  655. package/dist/cjs/DatePickers/index.cjs +0 -39
  656. package/dist/cjs/DatePickers/index.cjs.map +0 -1
  657. package/dist/cjs/FileUploader/index.cjs +0 -17
  658. package/dist/cjs/FileUploader/index.cjs.map +0 -1
  659. package/dist/cjs/Pagination/index.cjs +0 -36
  660. package/dist/cjs/Pagination/index.cjs.map +0 -1
  661. package/dist/cjs/Radio.cjs.map +0 -1
  662. package/dist/cjs/RadioGroup.cjs.map +0 -1
  663. package/dist/cjs/labs/DataView/index.cjs +0 -60
  664. package/dist/cjs/labs/DataView/index.cjs.map +0 -1
  665. package/dist/cjs/labs/DatePickers/index.cjs +0 -17
  666. package/dist/cjs/labs/DatePickers/index.cjs.map +0 -1
  667. package/dist/cjs/labs/OdysseyPickers/index.cjs +0 -48
  668. package/dist/cjs/labs/OdysseyPickers/index.cjs.map +0 -1
  669. package/dist/cjs/labs/PageTemplate/index.cjs +0 -28
  670. package/dist/cjs/labs/PageTemplate/index.cjs.map +0 -1
  671. package/dist/cjs/theme/index.cjs +0 -17
  672. package/dist/cjs/theme/index.cjs.map +0 -1
  673. package/dist/cjs/ui-shell/AppSwitcher/index.cjs +0 -17
  674. package/dist/cjs/ui-shell/AppSwitcher/index.cjs.map +0 -1
  675. package/dist/cjs/ui-shell/SideNav/index.cjs +0 -40
  676. package/dist/cjs/ui-shell/SideNav/index.cjs.map +0 -1
  677. package/dist/cjs/ui-shell/TopNav/index.cjs +0 -17
  678. package/dist/cjs/ui-shell/TopNav/index.cjs.map +0 -1
  679. package/dist/cjs/web-component/removeGlobalStylesFromShadowDom.cjs.map +0 -1
  680. package/dist/esm/Buttons/index.js.map +0 -1
  681. package/dist/esm/Checkbox.js.map +0 -1
  682. package/dist/esm/CheckboxGroup.js.map +0 -1
  683. package/dist/esm/DataTable/index.js.map +0 -1
  684. package/dist/esm/DatePickers/index.js.map +0 -1
  685. package/dist/esm/FileUploader/index.js.map +0 -1
  686. package/dist/esm/Pagination/index.js.map +0 -1
  687. package/dist/esm/Radio.js.map +0 -1
  688. package/dist/esm/RadioGroup.js.map +0 -1
  689. package/dist/esm/labs/DataView/index.js +0 -18
  690. package/dist/esm/labs/DataView/index.js.map +0 -1
  691. package/dist/esm/labs/DatePickers/index.js.map +0 -1
  692. package/dist/esm/labs/OdysseyPickers/index.js.map +0 -1
  693. package/dist/esm/labs/PageTemplate/index.js +0 -15
  694. package/dist/esm/labs/PageTemplate/index.js.map +0 -1
  695. package/dist/esm/theme/index.js.map +0 -1
  696. package/dist/esm/ui-shell/AppSwitcher/index.js.map +0 -1
  697. package/dist/esm/ui-shell/SideNav/index.js +0 -16
  698. package/dist/esm/ui-shell/SideNav/index.js.map +0 -1
  699. package/dist/esm/ui-shell/TopNav/index.js.map +0 -1
  700. package/dist/esm/web-component/removeGlobalStylesFromShadowDom.js.map +0 -1
  701. package/dist/types/Buttons/index.d.ts +0 -18
  702. package/dist/types/Buttons/index.d.ts.map +0 -1
  703. package/dist/types/Checkbox.d.ts.map +0 -1
  704. package/dist/types/CheckboxGroup.d.ts.map +0 -1
  705. package/dist/types/DataTable/index.d.ts.map +0 -1
  706. package/dist/types/DatePickers/index.d.ts +0 -15
  707. package/dist/types/DatePickers/index.d.ts.map +0 -1
  708. package/dist/types/FileUploader/index.d.ts +0 -13
  709. package/dist/types/FileUploader/index.d.ts.map +0 -1
  710. package/dist/types/Pagination/index.d.ts.map +0 -1
  711. package/dist/types/Radio.d.ts.map +0 -1
  712. package/dist/types/RadioGroup.d.ts.map +0 -1
  713. package/dist/types/labs/DataView/index.d.ts +0 -18
  714. package/dist/types/labs/DataView/index.d.ts.map +0 -1
  715. package/dist/types/labs/DatePickers/index.d.ts +0 -13
  716. package/dist/types/labs/DatePickers/index.d.ts.map +0 -1
  717. package/dist/types/labs/OdysseyPickers/index.d.ts +0 -16
  718. package/dist/types/labs/OdysseyPickers/index.d.ts.map +0 -1
  719. package/dist/types/labs/PageTemplate/index.d.ts.map +0 -1
  720. package/dist/types/theme/index.d.ts.map +0 -1
  721. package/dist/types/ui-shell/AppSwitcher/index.d.ts +0 -13
  722. package/dist/types/ui-shell/AppSwitcher/index.d.ts.map +0 -1
  723. package/dist/types/ui-shell/SideNav/index.d.ts +0 -15
  724. package/dist/types/ui-shell/SideNav/index.d.ts.map +0 -1
  725. package/dist/types/ui-shell/TopNav/index.d.ts +0 -13
  726. package/dist/types/ui-shell/TopNav/index.d.ts.map +0 -1
  727. package/dist/types/web-component/removeGlobalStylesFromShadowDom.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DataFilters.cjs","names":["_styled","_interopRequireDefault","require","_react","_Autocomplete","_Box","_index","_Checkbox","_CheckboxGroup","_i18n","_index2","_OdysseyDesignTokensContext","_Radio","_RadioGroup","_SearchField","_Tag","_TagList","_TextField","_Typography3","_jsxRuntime","e","__esModule","default","StyledAutocompleteOuterContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","alignItems","gap","Spacing2","StyledAutocompleteInnerContainer","width","FilterTags","activeFilters","updateFilterAndInputValues","filtersWithValues","filter","activeFilter","value","filtersToRender","forEach","Array","isArray","filterValue","formattedValue","push","id","label","getFilter","find","removeValueFromFilterAndInput","removedFilterValue","currentFilter","updatedValues","currentValue","filterId","length","undefined","jsx","TagList","children","map","Tag","onRemove","MemoizedFilterTags","memo","displayName","DataFilters","onChangeSearch","onChangeFilters","hasSearchSubmitButton","searchDelayTime","defaultSearchTerm","additionalActions","filters","filtersProp","isDisabled","setFilters","useState","t","useTranslation","useOdysseyDesignTokens","initialInputValues","useMemo","reduce","accumulator","inputValues","setInputValues","searchValue","setSearchValue","isFiltersMenuOpen","setIsFiltersMenuOpen","filtersMenuAnchorElement","setFiltersMenuAnchorElement","isFilterPopoverOpen","setIsFilterPopoverOpen","filterPopoverAnchorElement","setFilterPopoverAnchorElement","filterPopoverCurrentFilter","setFilterPopoverCurrentFilter","menuRef","useRef","useEffect","debouncer","current","clearTimeout","setTimeout","autocompleteOptions","options","updateInputValue","useCallback","updateFilters","prevInputValues","updatedFilters","handleCheckboxFilterAndInputValueChange","option","checked","currentValues","inputValue","normalizedUpdatedValues","handleAutocompleteFilterChange","clearAllFilters","updatedInputValues","handleFilterSubmit","filterMenu","jsxs","Fragment","Box","Button","ariaControls","ariaExpanded","ariaHasPopup","ariaLabel","endIcon","FilterIcon","onClick","event","currentTarget","variant","_Menu2","anchorEl","anchorOrigin","horizontal","vertical","onClose","open","PaperProps","ref","transformOrigin","latestFilterValue","f","_MenuItem2","className","selected","sx","justifyContent","minWidth","paddingBlock","paddingInlineStart","marginRight","_Typography2","fontWeight","marginBlockEnd","Subordinate","component","Trans","i18nKey","values","toLowerCase","count","ChevronRightIcon","autoCompleteValue","maxWidth","_Popover2","elevation","ev","menuRect","getBoundingClientRect","clickInsideMenu","clientX","left","right","clientY","top","bottom","marginLeft","marginTop","padding","noValidate","onSubmit","preventDefault","render","Autocomplete","hasMultipleChoices","isCustomValueAllowed","onChange","_","CheckIcon","type","TextField","endAdornment","_IconButton2","size","CloseCircleFilledIcon","hasInitialFocus","CheckboxGroup","isRequired","checkFilterInputValuesAsArray","isOptionValueInInputValues","some","Checkbox","isChecked","RadioGroup","Radio","style","SearchField","target","onClear","placeholder","borderTopWidth","borderTopColor","borderTopStyle","paddingTop","MemoizedDataFilters","exports"],"sources":["../../../src/labs/DataFilters.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 {\n IconButton as MuiIconButton,\n Menu as MuiMenu,\n MenuItem as MuiMenuItem,\n Popover as MuiPopover,\n Typography as MuiTypography,\n} from \"@mui/material\";\nimport { MRT_ColumnDef, MRT_RowData } from \"material-react-table\";\nimport {\n memo,\n MutableRefObject,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Autocomplete } from \"../Autocomplete.js\";\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/index.js\";\nimport { Checkbox } from \"../Checkbox.js\";\nimport { CheckboxGroup } from \"../CheckboxGroup.js\";\nimport { Trans, useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n CloseCircleFilledIcon,\n FilterIcon,\n} from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { Radio } from \"../Radio.js\";\nimport { RadioGroup } from \"../RadioGroup.js\";\nimport { SearchField } from \"../SearchField.js\";\nimport { Tag } from \"../Tag.js\";\nimport { TagList } from \"../TagList.js\";\nimport { TextField } from \"../TextField.js\";\nimport { Subordinate } from \"../Typography.js\";\n\nconst StyledAutocompleteOuterContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledAutocompleteInnerContainer = styled(\"div\")({\n width: \"100%\",\n});\n\ntype Option = {\n label: string;\n value: string;\n};\n\nexport type DataFilterValue = string | string[] | Option[] | undefined;\n\nexport type UpdateFiltersOrValues = ({\n filterId,\n value,\n}: {\n filterId: string;\n value: DataFilterValue;\n}) => void;\n\n// This is the shape of each individual filter\nexport type DataFilter = {\n /**\n * A unique ID for the filter, typically the same id\n * as the column it'll be applied to.\n */\n id: Exclude<MRT_ColumnDef<MRT_RowData>[\"accessorKey\"], undefined>;\n /**\n * `Autocomplete` normally only allows values that exist in the list box. This feature allows you to enter in any value in the text field and have that be the stored value in `Autocomplete`\n *\n * NOTE: This only applies when `variant` is `autocomplete`\n */\n isCustomValueAllowed?: boolean;\n /**\n * The human-friendly name of the filter.\n */\n label: string;\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n options?: Option[];\n /**\n * A callback which renders a custom filter control\n */\n render?: (updateFilters: UpdateFiltersOrValues) => ReactNode;\n /**\n * The current value of the filter. Typically a string, but\n * filters that allow for multiple selections (such as multi-select)\n * can accept an array.\n */\n value?: DataFilterValue;\n /**\n * The type of filter, which determines which filtering control\n * is shown.\n */\n variant?: MRT_ColumnDef<MRT_RowData>[\"filterVariant\"];\n};\n\n// This is the type of the DataFilters component itself\nexport type DataFiltersProps = {\n /**\n * A slot for optional additional actions, like buttons, to be displayed\n * on the opposite side of the top row from the search and filter controls.\n */\n additionalActions?: ReactNode;\n /**\n * The starting value of the search input\n */\n defaultSearchTerm?: string;\n /**\n * The filters available in the filter menu. If undefined,\n * the filter menu won't be shown.\n */\n filters?: Array<DataFilter>;\n /**\n * If true, a Search button will be provided alongside the search input\n * and `onChangeSearch` will fire when the button is clicked, rather than\n * whenever the input value changes.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the filter and search will be disabled\n */\n isDisabled?: boolean;\n /**\n * The callback that's fired when filter values change.\n */\n onChangeFilters?: (filters: Array<DataFilter>) => void;\n /**\n * The callback that's fired when the search input changes\n * (either on change or on submit, based on the value of `hasSearchSubmitButton`).\n * If this is undefined, the search input will not be shown.\n */\n onChangeSearch?: (value: string) => void;\n /**\n * The debounce time, in milliseconds, for the search input firing\n * `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,\n * this doesn't do anything.\n */\n searchDelayTime?: number;\n};\n\ntype FilterTagsProps = {\n activeFilters: DataFilter[];\n updateFilterAndInputValues: UpdateFiltersOrValues;\n};\n\ntype FiltersToRender = {\n id: string;\n label: string;\n value: string;\n};\n\nconst FilterTags = ({\n activeFilters,\n updateFilterAndInputValues,\n}: FilterTagsProps) => {\n const filtersWithValues = activeFilters.filter(\n (activeFilter: DataFilter) => activeFilter.value,\n );\n const filtersToRender: FiltersToRender[] = [];\n\n filtersWithValues.forEach((filter) => {\n if (Array.isArray(filter.value)) {\n filter.value.forEach((filterValue) => {\n const formattedValue =\n typeof filterValue === \"string\" ? filterValue : filterValue.value;\n filtersToRender.push({\n id: filter.id,\n label: filter.label,\n value: formattedValue,\n });\n });\n }\n if (typeof filter.value === \"string\") {\n filtersToRender.push({\n id: filter.id,\n label: filter.label,\n value: filter.value,\n });\n }\n });\n\n const getFilter = (id: string) =>\n filtersWithValues.find((filter) => filter.id === id);\n\n const removeValueFromFilterAndInput = (\n id: string,\n removedFilterValue: string,\n ) => {\n const currentFilter = getFilter(id);\n\n if (currentFilter) {\n const { value } = currentFilter;\n\n if (Array.isArray(value)) {\n const updatedValues = value.filter((currentValue) => {\n return (currentValue as Option).value !== removedFilterValue;\n });\n updateFilterAndInputValues({\n filterId: id,\n value:\n updatedValues.length > 0 ? (updatedValues as Option[]) : undefined,\n });\n }\n\n if (typeof value === \"string\") {\n updateFilterAndInputValues({\n filterId: id,\n value: undefined,\n });\n }\n }\n };\n\n return (\n <TagList>\n {filtersToRender.map((filter) => (\n <Tag\n key={`${filter.label}: ${filter.value}`}\n label={`${filter.label}: ${filter.value}`}\n onRemove={() =>\n removeValueFromFilterAndInput(filter.id, filter.value)\n }\n />\n ))}\n </TagList>\n );\n};\n\nconst MemoizedFilterTags = memo(FilterTags);\nMemoizedFilterTags.displayName = \"FilterTags\";\n\nconst DataFilters = ({\n onChangeSearch,\n onChangeFilters,\n hasSearchSubmitButton = false,\n searchDelayTime = 200,\n defaultSearchTerm = \"\",\n additionalActions,\n filters: filtersProp = [],\n isDisabled,\n}: DataFiltersProps) => {\n const [filters, setFilters] = useState<DataFilter[]>(filtersProp);\n const { t } = useTranslation();\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const initialInputValues = useMemo(() => {\n return filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = filter.value;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n }, [filtersProp]);\n\n const [inputValues, setInputValues] = useState(initialInputValues);\n\n const [searchValue, setSearchValue] = useState<string>(defaultSearchTerm);\n\n const activeFilters = useMemo(() => {\n return filters.filter((filter) => filter.value);\n }, [filters]);\n\n const [isFiltersMenuOpen, setIsFiltersMenuOpen] = useState<boolean>(false);\n\n const [filtersMenuAnchorElement, setFiltersMenuAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [isFilterPopoverOpen, setIsFilterPopoverOpen] =\n useState<boolean>(false);\n\n const [filterPopoverAnchorElement, setFilterPopoverAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [filterPopoverCurrentFilter, setFilterPopoverCurrentFilter] = useState<\n DataFilter | undefined\n >();\n\n const menuRef = useRef<HTMLDivElement>();\n\n useEffect(() => {\n onChangeFilters?.(filters);\n }, [filters, onChangeFilters]);\n\n const debouncer = useRef<NodeJS.Timeout | undefined>(undefined);\n\n useEffect(() => {\n if (!hasSearchSubmitButton) {\n if (debouncer.current) {\n clearTimeout(debouncer.current);\n }\n\n debouncer.current = setTimeout(() => {\n onChangeSearch?.(searchValue ?? \"\");\n }, searchDelayTime);\n }\n }, [onChangeSearch, searchValue, searchDelayTime, hasSearchSubmitButton]);\n\n const autocompleteOptions = useMemo(() => {\n return filterPopoverCurrentFilter?.options || [];\n }, [filterPopoverCurrentFilter]);\n\n const updateInputValue = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues({ ...inputValues, [filterId]: value });\n },\n [inputValues],\n );\n\n const updateFilters = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues((prevInputValues) => ({\n ...prevInputValues,\n [filterId]: value,\n }));\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: filter.id === filterId ? value : inputValues[filter.id],\n }));\n setFilters(updatedFilters);\n },\n [inputValues, filtersProp],\n );\n\n const updateFilterAndInputValues = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n updateInputValue({ filterId, value });\n updateFilters({ filterId, value });\n },\n [updateFilters, updateInputValue],\n );\n\n const handleCheckboxFilterAndInputValueChange = useCallback<\n (filterId: string, option: Option, checked: boolean) => void\n >(\n (filterId, option, checked) => {\n const currentValues = (inputValues[filterId] as Option[]) || [];\n\n const updatedValues = checked\n ? [...currentValues, option]\n : currentValues.filter(\n (inputValue) => inputValue.value !== option.value,\n );\n\n const normalizedUpdatedValues =\n updatedValues.length > 0 ? updatedValues : undefined;\n\n setInputValues({\n ...inputValues,\n [filterId]: normalizedUpdatedValues,\n });\n\n const updatedFilters = filters.map((filter) => ({\n ...filter,\n value:\n filter.id === filterId\n ? normalizedUpdatedValues\n : inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n },\n [filters, inputValues],\n );\n\n const handleAutocompleteFilterChange = useCallback<\n (filterId: string, option: Option[]) => void\n >(\n (filterId, option) => {\n setInputValues({ ...inputValues, [filterId]: option });\n },\n [inputValues],\n );\n\n const clearAllFilters = useCallback(() => {\n const updatedInputValues = filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = undefined;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n\n setInputValues(updatedInputValues);\n\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: undefined,\n }));\n\n setFilters(updatedFilters);\n }, [filtersProp]);\n\n const handleFilterSubmit = useCallback(() => {\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n }, [inputValues, filtersProp]);\n\n const filterMenu = useMemo(\n () => (\n <>\n <Box>\n <Button\n ariaControls={isFiltersMenuOpen ? \"filters-menu\" : undefined}\n ariaExpanded={isFiltersMenuOpen ? \"true\" : undefined}\n ariaHasPopup=\"true\"\n ariaLabel={t(\"filters.filters.arialabel\")}\n endIcon={<FilterIcon />}\n isDisabled={isDisabled}\n onClick={(event) => {\n setFiltersMenuAnchorElement(event.currentTarget);\n setIsFiltersMenuOpen(true);\n }}\n variant=\"secondary\"\n />\n </Box>\n\n <MuiMenu\n anchorEl={filtersMenuAnchorElement}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n id=\"filters-menu\"\n onClose={() => setIsFiltersMenuOpen(false)}\n open={isFiltersMenuOpen}\n PaperProps={{\n ref: menuRef as MutableRefObject<HTMLDivElement>,\n }}\n transformOrigin={{ horizontal: \"left\", vertical: \"top\" }}\n >\n {filtersProp.map((filter) => {\n // Unintuitively, we can't just use filter.value to grab the filter value.\n // `filter` is the initial set of filters provided to the component, so its\n // value prop may not reflect the current value of the filter.\n const latestFilterValue = filters.find(\n (f) => f.id === filter.id,\n )?.value;\n\n return (\n <MuiMenuItem\n aria-controls={isFilterPopoverOpen ? \"filter-form\" : undefined}\n className={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n ? \"isVisiblySelected\"\n : undefined\n }\n key={filter.id}\n onClick={(event) => {\n setIsFilterPopoverOpen(true);\n setFilterPopoverAnchorElement(event.currentTarget);\n setFilterPopoverCurrentFilter(filter);\n }}\n selected={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n }\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n width: \"100%\",\n minWidth: 180,\n paddingBlock: 1,\n paddingInlineStart: 2,\n }}\n >\n <Box sx={{ marginRight: 2 }}>\n <MuiTypography fontWeight=\"500\" sx={{ marginBlockEnd: 2 }}>\n {filter.label}\n </MuiTypography>\n <Subordinate component=\"div\">\n {!latestFilterValue ||\n (Array.isArray(latestFilterValue) &&\n latestFilterValue.length === 0) ? (\n <Trans\n i18nKey=\"filters.menuitem.any\"\n values={{\n label: filter.label.toLowerCase(),\n }}\n />\n ) : Array.isArray(latestFilterValue) ? (\n <Trans\n count={latestFilterValue.length}\n i18nKey=\"filters.menuitem.selected\"\n values={{\n selected: latestFilterValue.length,\n }}\n />\n ) : (\n latestFilterValue\n )}\n </Subordinate>\n </Box>\n <ChevronRightIcon />\n </Box>\n </MuiMenuItem>\n );\n })}\n </MuiMenu>\n </>\n ),\n [\n isFiltersMenuOpen,\n isDisabled,\n filterPopoverCurrentFilter,\n isFilterPopoverOpen,\n filtersMenuAnchorElement,\n filtersProp,\n filters,\n t,\n ],\n );\n\n const autoCompleteValue = useMemo(\n () =>\n filterPopoverCurrentFilter?.id\n ? (inputValues[filterPopoverCurrentFilter.id] as Option[])\n : undefined,\n [filterPopoverCurrentFilter, inputValues],\n );\n\n return (\n <Box>\n {/* Upper section */}\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\" }}>\n {/* Upper section left (filters and search) */}\n <Box sx={{ display: \"flex\", gap: 2, width: \"50%\", maxWidth: 480 }}>\n {/* Filter menu */}\n {filters.length > 0 && (\n <>\n {filterMenu}\n {/* Filter popover */}\n <MuiPopover\n anchorEl={filterPopoverAnchorElement}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n // Positions the popover flush with the edge of the parent menu\n // and at the right shadow elevation. These magic values are simply\n // to match the default popover offset.\n elevation={2}\n id=\"filter-form\"\n onClose={(ev: MouseEvent) => {\n if (menuRef.current) {\n const menuRect = menuRef.current.getBoundingClientRect();\n const clickInsideMenu =\n ev.clientX >= menuRect.left &&\n ev.clientX <= menuRect.right &&\n ev.clientY >= menuRect.top &&\n ev.clientY <= menuRect.bottom;\n\n if (!clickInsideMenu) {\n setIsFiltersMenuOpen(false);\n }\n }\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n }}\n open={isFilterPopoverOpen}\n sx={{ marginLeft: 2, marginTop: -1 }}\n >\n <Box sx={{ padding: 4, minWidth: 320 }}>\n <form\n noValidate\n onSubmit={(ev) => {\n ev.preventDefault();\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n setIsFiltersMenuOpen(false);\n }}\n >\n {filterPopoverCurrentFilter?.render ? (\n filterPopoverCurrentFilter.render(updateFilters)\n ) : (\n <>\n {/* Autocomplete */}\n {filterPopoverCurrentFilter?.variant ===\n \"autocomplete\" &&\n filterPopoverCurrentFilter?.options && (\n <StyledAutocompleteOuterContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledAutocompleteInnerContainer>\n <Autocomplete\n hasMultipleChoices\n isCustomValueAllowed={\n filterPopoverCurrentFilter?.isCustomValueAllowed\n }\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n handleAutocompleteFilterChange(\n filterPopoverCurrentFilter.id,\n value as Option[],\n );\n }}\n options={autocompleteOptions}\n value={autoCompleteValue}\n />\n </StyledAutocompleteInnerContainer>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </StyledAutocompleteOuterContainer>\n )}\n {/* Text, Number, or undefined */}\n {(filterPopoverCurrentFilter?.variant === \"text\" ||\n filterPopoverCurrentFilter?.variant === \"range\" ||\n (filterPopoverCurrentFilter &&\n filterPopoverCurrentFilter?.variant ==\n undefined)) && (\n <Box\n sx={{\n display: \"flex\",\n gap: 2,\n alignItems: \"flex-end\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n <TextField\n endAdornment={\n inputValues[\n filterPopoverCurrentFilter.id\n ] && (\n <MuiIconButton\n aria-label={t(\"filters.filter.clear\")}\n onClick={() => {\n updateInputValue({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n\n updateFilters({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n }}\n size=\"small\"\n >\n <CloseCircleFilledIcon />\n </MuiIconButton>\n )\n }\n hasInitialFocus\n label={filterPopoverCurrentFilter.label}\n onChange={(ev) =>\n updateInputValue({\n filterId: filterPopoverCurrentFilter.id,\n value: ev.currentTarget.value,\n })\n }\n type={\n filterPopoverCurrentFilter.variant === \"range\"\n ? \"number\"\n : \"text\"\n }\n value={\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as string) ?? \"\"\n }\n />\n </Box>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </Box>\n )}\n\n {/* Checkbox */}\n {filterPopoverCurrentFilter?.variant ===\n \"multi-select\" &&\n filterPopoverCurrentFilter?.options && (\n <CheckboxGroup\n isRequired\n label={filterPopoverCurrentFilter.label}\n >\n {filterPopoverCurrentFilter.options.map(\n (option: { label: string; value: string }) => {\n const checkFilterInputValuesAsArray =\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as Option[]) || [];\n const isOptionValueInInputValues =\n checkFilterInputValuesAsArray.some(\n (inputValue) =>\n inputValue.value === option.value,\n );\n return (\n <Checkbox\n isChecked={isOptionValueInInputValues}\n key={option.value}\n label={option.label}\n onChange={(_, checked) => {\n handleCheckboxFilterAndInputValueChange(\n filterPopoverCurrentFilter.id,\n option,\n checked,\n );\n }}\n value={option.value}\n />\n );\n },\n )}\n </CheckboxGroup>\n )}\n\n {/* Radio */}\n {filterPopoverCurrentFilter?.variant === \"select\" &&\n filterPopoverCurrentFilter?.options && (\n <RadioGroup\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n updateFilterAndInputValues({\n filterId: filterPopoverCurrentFilter.id,\n value,\n });\n }}\n >\n <Radio\n isChecked={\n !inputValues[filterPopoverCurrentFilter.id]\n }\n label={t(\"filters.filter.any\")}\n value={\"\"}\n />\n <>\n {filterPopoverCurrentFilter.options.map(\n (option: {\n label: string;\n value: string;\n }) => (\n <Radio\n isChecked={\n inputValues[\n filterPopoverCurrentFilter.id\n ] === option.value\n }\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ),\n )}\n </>\n </RadioGroup>\n )}\n </>\n )}\n </form>\n </Box>\n </MuiPopover>\n </>\n )}\n\n {/* Search */}\n {onChangeSearch && (\n <form\n onSubmit={(event) => {\n event.preventDefault();\n if (hasSearchSubmitButton) {\n onChangeSearch(searchValue);\n }\n }}\n style={{ width: \"100%\" }}\n >\n <Box sx={{ display: \"flex\", gap: 2, width: \"100%\" }}>\n <SearchField\n isDisabled={isDisabled}\n label={t(\"filters.search.label\")}\n onChange={(ev) => setSearchValue(ev.target.value)}\n onClear={() => {\n setSearchValue(\"\");\n onChangeSearch(\"\");\n }}\n placeholder={t(\"filters.search.label\")}\n value={searchValue}\n />\n {hasSearchSubmitButton && (\n <Box>\n <Button\n isDisabled={isDisabled}\n label={t(\"filters.search.label\")}\n onClick={() => onChangeSearch(searchValue)}\n variant=\"primary\"\n />\n </Box>\n )}\n </Box>\n </form>\n )}\n </Box>\n\n {/* Upper section right (clear filters & additional actions) */}\n <Box sx={{ display: \"flex\", gap: 2 }}>\n {activeFilters.length > 0 && (\n <Box>\n <Button\n label={t(\"filters.clear.label\")}\n onClick={clearAllFilters}\n variant=\"secondary\"\n />\n </Box>\n )}\n {additionalActions}\n </Box>\n </Box>\n\n {/* Lower section */}\n {activeFilters.length > 0 && (\n <Box\n sx={{\n borderTopWidth: 1,\n borderTopColor: \"#eeeeee\",\n borderTopStyle: \"solid\",\n paddingTop: 4,\n marginTop: 4,\n }}\n >\n <MemoizedFilterTags\n activeFilters={activeFilters}\n updateFilterAndInputValues={updateFilterAndInputValues}\n />\n </Box>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataFilters = memo(DataFilters);\nMemoizedDataFilters.displayName = \"DataFilters\";\n\nexport { MemoizedDataFilters as DataFilters };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"DataFilters.cjs","names":["_styled","_interopRequireDefault","require","_react","_Autocomplete","_Box","_Button","_Checkbox","_CheckboxGroup","_Radio","_RadioGroup","_i18n","_index","_OdysseyDesignTokensContext","_SearchField","_Tag","_TagList","_TextField","_Typography3","_jsxRuntime","e","__esModule","default","StyledAutocompleteOuterContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","alignItems","gap","Spacing2","StyledAutocompleteInnerContainer","width","FilterTags","activeFilters","updateFilterAndInputValues","filtersWithValues","filter","activeFilter","value","filtersToRender","forEach","Array","isArray","filterValue","formattedValue","push","id","label","getFilter","find","removeValueFromFilterAndInput","removedFilterValue","currentFilter","updatedValues","currentValue","filterId","length","undefined","jsx","TagList","children","map","Tag","onRemove","MemoizedFilterTags","memo","displayName","DataFilters","onChangeSearch","onChangeFilters","hasSearchSubmitButton","searchDelayTime","defaultSearchTerm","additionalActions","filters","filtersProp","isDisabled","setFilters","useState","t","useTranslation","useOdysseyDesignTokens","initialInputValues","useMemo","reduce","accumulator","inputValues","setInputValues","searchValue","setSearchValue","isFiltersMenuOpen","setIsFiltersMenuOpen","filtersMenuAnchorElement","setFiltersMenuAnchorElement","isFilterPopoverOpen","setIsFilterPopoverOpen","filterPopoverAnchorElement","setFilterPopoverAnchorElement","filterPopoverCurrentFilter","setFilterPopoverCurrentFilter","menuRef","useRef","useEffect","debouncer","current","clearTimeout","setTimeout","autocompleteOptions","options","updateInputValue","useCallback","updateFilters","prevInputValues","updatedFilters","handleCheckboxFilterAndInputValueChange","option","checked","currentValues","inputValue","normalizedUpdatedValues","handleAutocompleteFilterChange","clearAllFilters","updatedInputValues","handleFilterSubmit","filterMenu","jsxs","Fragment","Box","Button","ariaControls","ariaExpanded","ariaHasPopup","ariaLabel","endIcon","FilterIcon","onClick","event","currentTarget","variant","_Menu2","anchorEl","anchorOrigin","horizontal","vertical","onClose","open","PaperProps","ref","transformOrigin","latestFilterValue","f","_MenuItem2","className","selected","sx","justifyContent","minWidth","paddingBlock","paddingInlineStart","marginRight","_Typography2","fontWeight","marginBlockEnd","Subordinate","component","Trans","i18nKey","values","toLowerCase","count","ChevronRightIcon","autoCompleteValue","maxWidth","_Popover2","elevation","ev","menuRect","getBoundingClientRect","clickInsideMenu","clientX","left","right","clientY","top","bottom","marginLeft","marginTop","padding","noValidate","onSubmit","preventDefault","render","Autocomplete","hasMultipleChoices","isCustomValueAllowed","onChange","_","CheckIcon","type","TextField","endAdornment","_IconButton2","size","CloseCircleFilledIcon","hasInitialFocus","CheckboxGroup","isRequired","checkFilterInputValuesAsArray","isOptionValueInInputValues","some","Checkbox","isChecked","RadioGroup","Radio","style","SearchField","target","onClear","placeholder","borderTopWidth","borderTopColor","borderTopStyle","paddingTop","MemoizedDataFilters","exports"],"sources":["../../../src/labs/DataFilters.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 {\n IconButton as MuiIconButton,\n Menu as MuiMenu,\n MenuItem as MuiMenuItem,\n Popover as MuiPopover,\n Typography as MuiTypography,\n} from \"@mui/material\";\nimport { MRT_ColumnDef, MRT_RowData } from \"material-react-table\";\nimport {\n memo,\n MutableRefObject,\n ReactNode,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\n\nimport { Autocomplete } from \"../Autocomplete.js\";\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { Checkbox } from \"../Fields/Checkbox.js\";\nimport { CheckboxGroup } from \"../Fields/CheckboxGroup.js\";\nimport { Radio } from \"../Fields/Radio.js\";\nimport { RadioGroup } from \"../Fields/RadioGroup.js\";\nimport { Trans, useTranslation } from \"../i18n.generated/i18n.js\";\nimport {\n CheckIcon,\n ChevronRightIcon,\n CloseCircleFilledIcon,\n FilterIcon,\n} from \"../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext.js\";\nimport { SearchField } from \"../SearchField.js\";\nimport { Tag } from \"../Tag.js\";\nimport { TagList } from \"../TagList.js\";\nimport { TextField } from \"../TextField.js\";\nimport { Subordinate } from \"../Typography.js\";\n\nconst StyledAutocompleteOuterContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{ odysseyDesignTokens: DesignTokens }>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst StyledAutocompleteInnerContainer = styled(\"div\")({\n width: \"100%\",\n});\n\ntype Option = {\n label: string;\n value: string;\n};\n\nexport type DataFilterValue = string | string[] | Option[] | undefined;\n\nexport type UpdateFiltersOrValues = ({\n filterId,\n value,\n}: {\n filterId: string;\n value: DataFilterValue;\n}) => void;\n\n// This is the shape of each individual filter\nexport type DataFilter = {\n /**\n * A unique ID for the filter, typically the same id\n * as the column it'll be applied to.\n */\n id: Exclude<MRT_ColumnDef<MRT_RowData>[\"accessorKey\"], undefined>;\n /**\n * `Autocomplete` normally only allows values that exist in the list box. This feature allows you to enter in any value in the text field and have that be the stored value in `Autocomplete`\n *\n * NOTE: This only applies when `variant` is `autocomplete`\n */\n isCustomValueAllowed?: boolean;\n /**\n * The human-friendly name of the filter.\n */\n label: string;\n /**\n * If the filter control has preset options (such as a select or multi-select),\n * these are the options provided.\n */\n options?: Option[];\n /**\n * A callback which renders a custom filter control\n */\n render?: (updateFilters: UpdateFiltersOrValues) => ReactNode;\n /**\n * The current value of the filter. Typically a string, but\n * filters that allow for multiple selections (such as multi-select)\n * can accept an array.\n */\n value?: DataFilterValue;\n /**\n * The type of filter, which determines which filtering control\n * is shown.\n */\n variant?: MRT_ColumnDef<MRT_RowData>[\"filterVariant\"];\n};\n\n// This is the type of the DataFilters component itself\nexport type DataFiltersProps = {\n /**\n * A slot for optional additional actions, like buttons, to be displayed\n * on the opposite side of the top row from the search and filter controls.\n */\n additionalActions?: ReactNode;\n /**\n * The starting value of the search input\n */\n defaultSearchTerm?: string;\n /**\n * The filters available in the filter menu. If undefined,\n * the filter menu won't be shown.\n */\n filters?: Array<DataFilter>;\n /**\n * If true, a Search button will be provided alongside the search input\n * and `onChangeSearch` will fire when the button is clicked, rather than\n * whenever the input value changes.\n */\n hasSearchSubmitButton?: boolean;\n /**\n * If true, the filter and search will be disabled\n */\n isDisabled?: boolean;\n /**\n * The callback that's fired when filter values change.\n */\n onChangeFilters?: (filters: Array<DataFilter>) => void;\n /**\n * The callback that's fired when the search input changes\n * (either on change or on submit, based on the value of `hasSearchSubmitButton`).\n * If this is undefined, the search input will not be shown.\n */\n onChangeSearch?: (value: string) => void;\n /**\n * The debounce time, in milliseconds, for the search input firing\n * `onChangeSearch` when changed. If `hasSearchSubmitButton` is true,\n * this doesn't do anything.\n */\n searchDelayTime?: number;\n};\n\ntype FilterTagsProps = {\n activeFilters: DataFilter[];\n updateFilterAndInputValues: UpdateFiltersOrValues;\n};\n\ntype FiltersToRender = {\n id: string;\n label: string;\n value: string;\n};\n\nconst FilterTags = ({\n activeFilters,\n updateFilterAndInputValues,\n}: FilterTagsProps) => {\n const filtersWithValues = activeFilters.filter(\n (activeFilter: DataFilter) => activeFilter.value,\n );\n const filtersToRender: FiltersToRender[] = [];\n\n filtersWithValues.forEach((filter) => {\n if (Array.isArray(filter.value)) {\n filter.value.forEach((filterValue) => {\n const formattedValue =\n typeof filterValue === \"string\" ? filterValue : filterValue.value;\n filtersToRender.push({\n id: filter.id,\n label: filter.label,\n value: formattedValue,\n });\n });\n }\n if (typeof filter.value === \"string\") {\n filtersToRender.push({\n id: filter.id,\n label: filter.label,\n value: filter.value,\n });\n }\n });\n\n const getFilter = (id: string) =>\n filtersWithValues.find((filter) => filter.id === id);\n\n const removeValueFromFilterAndInput = (\n id: string,\n removedFilterValue: string,\n ) => {\n const currentFilter = getFilter(id);\n\n if (currentFilter) {\n const { value } = currentFilter;\n\n if (Array.isArray(value)) {\n const updatedValues = value.filter((currentValue) => {\n return (currentValue as Option).value !== removedFilterValue;\n });\n updateFilterAndInputValues({\n filterId: id,\n value:\n updatedValues.length > 0 ? (updatedValues as Option[]) : undefined,\n });\n }\n\n if (typeof value === \"string\") {\n updateFilterAndInputValues({\n filterId: id,\n value: undefined,\n });\n }\n }\n };\n\n return (\n <TagList>\n {filtersToRender.map((filter) => (\n <Tag\n key={`${filter.label}: ${filter.value}`}\n label={`${filter.label}: ${filter.value}`}\n onRemove={() =>\n removeValueFromFilterAndInput(filter.id, filter.value)\n }\n />\n ))}\n </TagList>\n );\n};\n\nconst MemoizedFilterTags = memo(FilterTags);\nMemoizedFilterTags.displayName = \"FilterTags\";\n\nconst DataFilters = ({\n onChangeSearch,\n onChangeFilters,\n hasSearchSubmitButton = false,\n searchDelayTime = 200,\n defaultSearchTerm = \"\",\n additionalActions,\n filters: filtersProp = [],\n isDisabled,\n}: DataFiltersProps) => {\n const [filters, setFilters] = useState<DataFilter[]>(filtersProp);\n const { t } = useTranslation();\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const initialInputValues = useMemo(() => {\n return filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = filter.value;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n }, [filtersProp]);\n\n const [inputValues, setInputValues] = useState(initialInputValues);\n\n const [searchValue, setSearchValue] = useState<string>(defaultSearchTerm);\n\n const activeFilters = useMemo(() => {\n return filters.filter((filter) => filter.value);\n }, [filters]);\n\n const [isFiltersMenuOpen, setIsFiltersMenuOpen] = useState<boolean>(false);\n\n const [filtersMenuAnchorElement, setFiltersMenuAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [isFilterPopoverOpen, setIsFilterPopoverOpen] =\n useState<boolean>(false);\n\n const [filterPopoverAnchorElement, setFilterPopoverAnchorElement] = useState<\n HTMLElement | undefined\n >();\n\n const [filterPopoverCurrentFilter, setFilterPopoverCurrentFilter] = useState<\n DataFilter | undefined\n >();\n\n const menuRef = useRef<HTMLDivElement>();\n\n useEffect(() => {\n onChangeFilters?.(filters);\n }, [filters, onChangeFilters]);\n\n const debouncer = useRef<NodeJS.Timeout | undefined>(undefined);\n\n useEffect(() => {\n if (!hasSearchSubmitButton) {\n if (debouncer.current) {\n clearTimeout(debouncer.current);\n }\n\n debouncer.current = setTimeout(() => {\n onChangeSearch?.(searchValue ?? \"\");\n }, searchDelayTime);\n }\n }, [onChangeSearch, searchValue, searchDelayTime, hasSearchSubmitButton]);\n\n const autocompleteOptions = useMemo(() => {\n return filterPopoverCurrentFilter?.options || [];\n }, [filterPopoverCurrentFilter]);\n\n const updateInputValue = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues({ ...inputValues, [filterId]: value });\n },\n [inputValues],\n );\n\n const updateFilters = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n setInputValues((prevInputValues) => ({\n ...prevInputValues,\n [filterId]: value,\n }));\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: filter.id === filterId ? value : inputValues[filter.id],\n }));\n setFilters(updatedFilters);\n },\n [inputValues, filtersProp],\n );\n\n const updateFilterAndInputValues = useCallback<UpdateFiltersOrValues>(\n ({ filterId, value }) => {\n updateInputValue({ filterId, value });\n updateFilters({ filterId, value });\n },\n [updateFilters, updateInputValue],\n );\n\n const handleCheckboxFilterAndInputValueChange = useCallback<\n (filterId: string, option: Option, checked: boolean) => void\n >(\n (filterId, option, checked) => {\n const currentValues = (inputValues[filterId] as Option[]) || [];\n\n const updatedValues = checked\n ? [...currentValues, option]\n : currentValues.filter(\n (inputValue) => inputValue.value !== option.value,\n );\n\n const normalizedUpdatedValues =\n updatedValues.length > 0 ? updatedValues : undefined;\n\n setInputValues({\n ...inputValues,\n [filterId]: normalizedUpdatedValues,\n });\n\n const updatedFilters = filters.map((filter) => ({\n ...filter,\n value:\n filter.id === filterId\n ? normalizedUpdatedValues\n : inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n },\n [filters, inputValues],\n );\n\n const handleAutocompleteFilterChange = useCallback<\n (filterId: string, option: Option[]) => void\n >(\n (filterId, option) => {\n setInputValues({ ...inputValues, [filterId]: option });\n },\n [inputValues],\n );\n\n const clearAllFilters = useCallback(() => {\n const updatedInputValues = filtersProp.reduce(\n (accumulator, filter) => {\n accumulator[filter.id] = undefined;\n return accumulator;\n },\n {} as Record<string, DataFilterValue>,\n );\n\n setInputValues(updatedInputValues);\n\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: undefined,\n }));\n\n setFilters(updatedFilters);\n }, [filtersProp]);\n\n const handleFilterSubmit = useCallback(() => {\n const updatedFilters = filtersProp.map((filter) => ({\n ...filter,\n value: inputValues[filter.id],\n }));\n\n setFilters(updatedFilters);\n }, [inputValues, filtersProp]);\n\n const filterMenu = useMemo(\n () => (\n <>\n <Box>\n <Button\n ariaControls={isFiltersMenuOpen ? \"filters-menu\" : undefined}\n ariaExpanded={isFiltersMenuOpen ? \"true\" : undefined}\n ariaHasPopup=\"true\"\n ariaLabel={t(\"filters.filters.arialabel\")}\n endIcon={<FilterIcon />}\n isDisabled={isDisabled}\n onClick={(event) => {\n setFiltersMenuAnchorElement(event.currentTarget);\n setIsFiltersMenuOpen(true);\n }}\n variant=\"secondary\"\n />\n </Box>\n\n <MuiMenu\n anchorEl={filtersMenuAnchorElement}\n anchorOrigin={{ horizontal: \"left\", vertical: \"bottom\" }}\n id=\"filters-menu\"\n onClose={() => setIsFiltersMenuOpen(false)}\n open={isFiltersMenuOpen}\n PaperProps={{\n ref: menuRef as MutableRefObject<HTMLDivElement>,\n }}\n transformOrigin={{ horizontal: \"left\", vertical: \"top\" }}\n >\n {filtersProp.map((filter) => {\n // Unintuitively, we can't just use filter.value to grab the filter value.\n // `filter` is the initial set of filters provided to the component, so its\n // value prop may not reflect the current value of the filter.\n const latestFilterValue = filters.find(\n (f) => f.id === filter.id,\n )?.value;\n\n return (\n <MuiMenuItem\n aria-controls={isFilterPopoverOpen ? \"filter-form\" : undefined}\n className={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n ? \"isVisiblySelected\"\n : undefined\n }\n key={filter.id}\n onClick={(event) => {\n setIsFilterPopoverOpen(true);\n setFilterPopoverAnchorElement(event.currentTarget);\n setFilterPopoverCurrentFilter(filter);\n }}\n selected={\n filterPopoverCurrentFilter === filter &&\n isFilterPopoverOpen === true\n }\n >\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n width: \"100%\",\n minWidth: 180,\n paddingBlock: 1,\n paddingInlineStart: 2,\n }}\n >\n <Box sx={{ marginRight: 2 }}>\n <MuiTypography fontWeight=\"500\" sx={{ marginBlockEnd: 2 }}>\n {filter.label}\n </MuiTypography>\n <Subordinate component=\"div\">\n {!latestFilterValue ||\n (Array.isArray(latestFilterValue) &&\n latestFilterValue.length === 0) ? (\n <Trans\n i18nKey=\"filters.menuitem.any\"\n values={{\n label: filter.label.toLowerCase(),\n }}\n />\n ) : Array.isArray(latestFilterValue) ? (\n <Trans\n count={latestFilterValue.length}\n i18nKey=\"filters.menuitem.selected\"\n values={{\n selected: latestFilterValue.length,\n }}\n />\n ) : (\n latestFilterValue\n )}\n </Subordinate>\n </Box>\n <ChevronRightIcon />\n </Box>\n </MuiMenuItem>\n );\n })}\n </MuiMenu>\n </>\n ),\n [\n isFiltersMenuOpen,\n isDisabled,\n filterPopoverCurrentFilter,\n isFilterPopoverOpen,\n filtersMenuAnchorElement,\n filtersProp,\n filters,\n t,\n ],\n );\n\n const autoCompleteValue = useMemo(\n () =>\n filterPopoverCurrentFilter?.id\n ? (inputValues[filterPopoverCurrentFilter.id] as Option[])\n : undefined,\n [filterPopoverCurrentFilter, inputValues],\n );\n\n return (\n <Box>\n {/* Upper section */}\n <Box sx={{ display: \"flex\", justifyContent: \"space-between\" }}>\n {/* Upper section left (filters and search) */}\n <Box sx={{ display: \"flex\", gap: 2, width: \"50%\", maxWidth: 480 }}>\n {/* Filter menu */}\n {filters.length > 0 && (\n <>\n {filterMenu}\n {/* Filter popover */}\n <MuiPopover\n anchorEl={filterPopoverAnchorElement}\n anchorOrigin={{ vertical: \"top\", horizontal: \"right\" }}\n // Positions the popover flush with the edge of the parent menu\n // and at the right shadow elevation. These magic values are simply\n // to match the default popover offset.\n elevation={2}\n id=\"filter-form\"\n onClose={(ev: MouseEvent) => {\n if (menuRef.current) {\n const menuRect = menuRef.current.getBoundingClientRect();\n const clickInsideMenu =\n ev.clientX >= menuRect.left &&\n ev.clientX <= menuRect.right &&\n ev.clientY >= menuRect.top &&\n ev.clientY <= menuRect.bottom;\n\n if (!clickInsideMenu) {\n setIsFiltersMenuOpen(false);\n }\n }\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n }}\n open={isFilterPopoverOpen}\n sx={{ marginLeft: 2, marginTop: -1 }}\n >\n <Box sx={{ padding: 4, minWidth: 320 }}>\n <form\n noValidate\n onSubmit={(ev) => {\n ev.preventDefault();\n handleFilterSubmit();\n setIsFilterPopoverOpen(false);\n setIsFiltersMenuOpen(false);\n }}\n >\n {filterPopoverCurrentFilter?.render ? (\n filterPopoverCurrentFilter.render(updateFilters)\n ) : (\n <>\n {/* Autocomplete */}\n {filterPopoverCurrentFilter?.variant ===\n \"autocomplete\" &&\n filterPopoverCurrentFilter?.options && (\n <StyledAutocompleteOuterContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <StyledAutocompleteInnerContainer>\n <Autocomplete\n hasMultipleChoices\n isCustomValueAllowed={\n filterPopoverCurrentFilter?.isCustomValueAllowed\n }\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n handleAutocompleteFilterChange(\n filterPopoverCurrentFilter.id,\n value as Option[],\n );\n }}\n options={autocompleteOptions}\n value={autoCompleteValue}\n />\n </StyledAutocompleteInnerContainer>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </StyledAutocompleteOuterContainer>\n )}\n {/* Text, Number, or undefined */}\n {(filterPopoverCurrentFilter?.variant === \"text\" ||\n filterPopoverCurrentFilter?.variant === \"range\" ||\n (filterPopoverCurrentFilter &&\n filterPopoverCurrentFilter?.variant ==\n undefined)) && (\n <Box\n sx={{\n display: \"flex\",\n gap: 2,\n alignItems: \"flex-end\",\n }}\n >\n <Box sx={{ width: \"100%\" }}>\n <TextField\n endAdornment={\n inputValues[\n filterPopoverCurrentFilter.id\n ] && (\n <MuiIconButton\n aria-label={t(\"filters.filter.clear\")}\n onClick={() => {\n updateInputValue({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n\n updateFilters({\n filterId:\n filterPopoverCurrentFilter.id,\n value: undefined,\n });\n }}\n size=\"small\"\n >\n <CloseCircleFilledIcon />\n </MuiIconButton>\n )\n }\n hasInitialFocus\n label={filterPopoverCurrentFilter.label}\n onChange={(ev) =>\n updateInputValue({\n filterId: filterPopoverCurrentFilter.id,\n value: ev.currentTarget.value,\n })\n }\n type={\n filterPopoverCurrentFilter.variant === \"range\"\n ? \"number\"\n : \"text\"\n }\n value={\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as string) ?? \"\"\n }\n />\n </Box>\n <Button\n ariaLabel={t(\"filters.submit.label\")}\n endIcon={<CheckIcon />}\n type=\"submit\"\n variant=\"primary\"\n />\n </Box>\n )}\n\n {/* Checkbox */}\n {filterPopoverCurrentFilter?.variant ===\n \"multi-select\" &&\n filterPopoverCurrentFilter?.options && (\n <CheckboxGroup\n isRequired\n label={filterPopoverCurrentFilter.label}\n >\n {filterPopoverCurrentFilter.options.map(\n (option: { label: string; value: string }) => {\n const checkFilterInputValuesAsArray =\n (inputValues[\n filterPopoverCurrentFilter.id\n ] as Option[]) || [];\n const isOptionValueInInputValues =\n checkFilterInputValuesAsArray.some(\n (inputValue) =>\n inputValue.value === option.value,\n );\n return (\n <Checkbox\n isChecked={isOptionValueInInputValues}\n key={option.value}\n label={option.label}\n onChange={(_, checked) => {\n handleCheckboxFilterAndInputValueChange(\n filterPopoverCurrentFilter.id,\n option,\n checked,\n );\n }}\n value={option.value}\n />\n );\n },\n )}\n </CheckboxGroup>\n )}\n\n {/* Radio */}\n {filterPopoverCurrentFilter?.variant === \"select\" &&\n filterPopoverCurrentFilter?.options && (\n <RadioGroup\n label={filterPopoverCurrentFilter.label}\n onChange={(_, value) => {\n updateFilterAndInputValues({\n filterId: filterPopoverCurrentFilter.id,\n value,\n });\n }}\n >\n <Radio\n isChecked={\n !inputValues[filterPopoverCurrentFilter.id]\n }\n label={t(\"filters.filter.any\")}\n value={\"\"}\n />\n <>\n {filterPopoverCurrentFilter.options.map(\n (option: {\n label: string;\n value: string;\n }) => (\n <Radio\n isChecked={\n inputValues[\n filterPopoverCurrentFilter.id\n ] === option.value\n }\n key={option.value}\n label={option.label}\n value={option.value}\n />\n ),\n )}\n </>\n </RadioGroup>\n )}\n </>\n )}\n </form>\n </Box>\n </MuiPopover>\n </>\n )}\n\n {/* Search */}\n {onChangeSearch && (\n <form\n onSubmit={(event) => {\n event.preventDefault();\n if (hasSearchSubmitButton) {\n onChangeSearch(searchValue);\n }\n }}\n style={{ width: \"100%\" }}\n >\n <Box sx={{ display: \"flex\", gap: 2, width: \"100%\" }}>\n <SearchField\n isDisabled={isDisabled}\n label={t(\"filters.search.label\")}\n onChange={(ev) => setSearchValue(ev.target.value)}\n onClear={() => {\n setSearchValue(\"\");\n onChangeSearch(\"\");\n }}\n placeholder={t(\"filters.search.label\")}\n value={searchValue}\n />\n {hasSearchSubmitButton && (\n <Box>\n <Button\n isDisabled={isDisabled}\n label={t(\"filters.search.label\")}\n onClick={() => onChangeSearch(searchValue)}\n variant=\"primary\"\n />\n </Box>\n )}\n </Box>\n </form>\n )}\n </Box>\n\n {/* Upper section right (clear filters & additional actions) */}\n <Box sx={{ display: \"flex\", gap: 2 }}>\n {activeFilters.length > 0 && (\n <Box>\n <Button\n label={t(\"filters.clear.label\")}\n onClick={clearAllFilters}\n variant=\"secondary\"\n />\n </Box>\n )}\n {additionalActions}\n </Box>\n </Box>\n\n {/* Lower section */}\n {activeFilters.length > 0 && (\n <Box\n sx={{\n borderTopWidth: 1,\n borderTopColor: \"#eeeeee\",\n borderTopStyle: \"solid\",\n paddingTop: 4,\n marginTop: 4,\n }}\n >\n <MemoizedFilterTags\n activeFilters={activeFilters}\n updateFilterAndInputValues={updateFilterAndInputValues}\n />\n </Box>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataFilters = memo(DataFilters);\nMemoizedDataFilters.displayName = \"DataFilters\";\n\nexport { MemoizedDataFilters as DataFilters };\n"],"mappings":"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","ignoreList":[]}
@@ -6,8 +6,8 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.paginationTypeValues = exports.DataTablePagination = void 0;
7
7
  var _react = require("react");
8
8
  var _Box = require("../Box.cjs");
9
- var _index = require("../Buttons/index.cjs");
10
- var _index2 = require("../icons.generated/index.cjs");
9
+ var _Button = require("../Buttons/Button.cjs");
10
+ var _index = require("../icons.generated/index.cjs");
11
11
  var _Typography = require("../Typography.cjs");
12
12
  var _jsxRuntime = require("react/jsx-runtime");
13
13
  /*!
@@ -39,7 +39,7 @@ const DataTablePagination = ({
39
39
  alignItems: "center"
40
40
  },
41
41
  children: paginationType === "loadMore" ? (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
42
- children: [(0, _jsxRuntime.jsx)(_index.Button, {
42
+ children: [(0, _jsxRuntime.jsx)(_Button.Button, {
43
43
  isDisabled: isNextButtonDisabled,
44
44
  label: "Show more",
45
45
  onClick: onClickNext,
@@ -49,11 +49,11 @@ const DataTablePagination = ({
49
49
  children: [currentNumberOfResults, " results"]
50
50
  })]
51
51
  }) : (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
52
- children: [(0, _jsxRuntime.jsx)(_index.Button, {
52
+ children: [(0, _jsxRuntime.jsx)(_Button.Button, {
53
53
  isDisabled: isPreviousButtonDisabled,
54
54
  label: "Previous",
55
55
  onClick: onClickPrevious,
56
- startIcon: (0, _jsxRuntime.jsx)(_index2.ArrowLeftIcon, {}),
56
+ startIcon: (0, _jsxRuntime.jsx)(_index.ArrowLeftIcon, {}),
57
57
  variant: "secondary"
58
58
  }), currentPage && (0, _jsxRuntime.jsx)(_Box.Box, {
59
59
  children: (0, _jsxRuntime.jsxs)(_Typography.Support, {
@@ -61,8 +61,8 @@ const DataTablePagination = ({
61
61
  component: "span",
62
62
  children: ["Page ", currentPage]
63
63
  })
64
- }), (0, _jsxRuntime.jsx)(_index.Button, {
65
- endIcon: (0, _jsxRuntime.jsx)(_index2.ArrowRightIcon, {}),
64
+ }), (0, _jsxRuntime.jsx)(_Button.Button, {
65
+ endIcon: (0, _jsxRuntime.jsx)(_index.ArrowRightIcon, {}),
66
66
  isDisabled: isNextButtonDisabled,
67
67
  label: "Next",
68
68
  onClick: onClickNext,
@@ -1 +1 @@
1
- {"version":3,"file":"DataTablePagination.cjs","names":["_react","require","_Box","_index","_index2","_Typography","_jsxRuntime","paginationTypeValues","exports","DataTablePagination","currentPage","currentNumberOfResults","isNextButtonDisabled","isPreviousButtonDisabled","onClickNext","onClickPrevious","paginationType","jsx","Box","sx","display","gap","alignItems","children","jsxs","Fragment","Button","isDisabled","label","onClick","variant","Support","color","startIcon","ArrowLeftIcon","component","endIcon","ArrowRightIcon","MemoizedDataTablePagination","memo","displayName"],"sources":["../../../src/labs/DataTablePagination.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 { memo } from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/index.js\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated/index.js\";\nimport { Support } from \"../Typography.js\";\n\nexport const paginationTypeValues = [\"paged\", \"loadMore\"] as const;\n\nexport type DataTablePaginationProps = {\n currentNumberOfResults?: number;\n currentPage?: number;\n isNextButtonDisabled?: boolean;\n isPreviousButtonDisabled?: boolean;\n onClickNext: () => void;\n onClickPrevious?: () => void;\n paginationType?: (typeof paginationTypeValues)[number];\n};\n\nconst DataTablePagination = ({\n currentPage,\n currentNumberOfResults,\n isNextButtonDisabled,\n isPreviousButtonDisabled,\n onClickNext,\n onClickPrevious,\n paginationType,\n}: DataTablePaginationProps) => {\n return (\n <Box sx={{ display: \"flex\", gap: 4, alignItems: \"center\" }}>\n {paginationType === \"loadMore\" ? (\n <>\n <Button\n isDisabled={isNextButtonDisabled}\n label=\"Show more\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n {currentNumberOfResults && (\n <Support color=\"textSecondary\">\n {currentNumberOfResults} results\n </Support>\n )}\n </>\n ) : (\n <>\n <Button\n isDisabled={isPreviousButtonDisabled}\n label=\"Previous\"\n onClick={onClickPrevious}\n startIcon={<ArrowLeftIcon />}\n variant=\"secondary\"\n />\n {currentPage && (\n <Box>\n <Support color=\"textSecondary\" component=\"span\">\n Page {currentPage}\n </Support>\n </Box>\n )}\n <Button\n endIcon={<ArrowRightIcon />}\n isDisabled={isNextButtonDisabled}\n label=\"Next\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n </>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTablePagination = memo(DataTablePagination);\nMemoizedDataTablePagination.displayName = \"DataTablePagination\";\n\nexport { MemoizedDataTablePagination as DataTablePagination };\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,MAAA,GAAAF,OAAA;AACA,IAAAG,OAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAA2C,IAAAK,WAAA,GAAAL,OAAA;AAjB3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASO,MAAMM,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU;AAYlE,MAAME,mBAAmB,GAAGA,CAAC;EAC3BC,WAAW;EACXC,sBAAsB;EACtBC,oBAAoB;EACpBC,wBAAwB;EACxBC,WAAW;EACXC,eAAe;EACfC;AACwB,CAAC,KAAK;EAC9B,OACE,IAAAV,WAAA,CAAAW,GAAA,EAACf,IAAA,CAAAgB,GAAG;IAACC,EAAE,EAAE;MAAEC,OAAO,EAAE,MAAM;MAAEC,GAAG,EAAE,CAAC;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,EACxDP,cAAc,KAAK,UAAU,GAC5B,IAAAV,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;MAAAF,QAAA,GACE,IAAAjB,WAAA,CAAAW,GAAA,EAACd,MAAA,CAAAuB,MAAM;QACLC,UAAU,EAAEf,oBAAqB;QACjCgB,KAAK,EAAC,WAAW;QACjBC,OAAO,EAAEf,WAAY;QACrBgB,OAAO,EAAC;MAAW,CACpB,CAAC,EACDnB,sBAAsB,IACrB,IAAAL,WAAA,CAAAkB,IAAA,EAACnB,WAAA,CAAA0B,OAAO;QAACC,KAAK,EAAC,eAAe;QAAAT,QAAA,GAC3BZ,sBAAsB,EAAC,UAC1B;MAAA,CAAS,CACV;IAAA,CACD,CAAC,GAEH,IAAAL,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;MAAAF,QAAA,GACE,IAAAjB,WAAA,CAAAW,GAAA,EAACd,MAAA,CAAAuB,MAAM;QACLC,UAAU,EAAEd,wBAAyB;QACrCe,KAAK,EAAC,UAAU;QAChBC,OAAO,EAAEd,eAAgB;QACzBkB,SAAS,EAAE,IAAA3B,WAAA,CAAAW,GAAA,EAACb,OAAA,CAAA8B,aAAa,IAAE,CAAE;QAC7BJ,OAAO,EAAC;MAAW,CACpB,CAAC,EACDpB,WAAW,IACV,IAAAJ,WAAA,CAAAW,GAAA,EAACf,IAAA,CAAAgB,GAAG;QAAAK,QAAA,EACF,IAAAjB,WAAA,CAAAkB,IAAA,EAACnB,WAAA,CAAA0B,OAAO;UAACC,KAAK,EAAC,eAAe;UAACG,SAAS,EAAC,MAAM;UAAAZ,QAAA,GAAC,OACzC,EAACb,WAAW;QAAA,CACV;MAAC,CACP,CACN,EACD,IAAAJ,WAAA,CAAAW,GAAA,EAACd,MAAA,CAAAuB,MAAM;QACLU,OAAO,EAAE,IAAA9B,WAAA,CAAAW,GAAA,EAACb,OAAA,CAAAiC,cAAc,IAAE,CAAE;QAC5BV,UAAU,EAAEf,oBAAqB;QACjCgB,KAAK,EAAC,MAAM;QACZC,OAAO,EAAEf,WAAY;QACrBgB,OAAO,EAAC;MAAW,CACpB,CAAC;IAAA,CACF;EACH,CACE,CAAC;AAEV,CAAC;AAED,MAAMQ,2BAA2B,GAAA9B,OAAA,CAAAC,mBAAA,GAAG,IAAA8B,WAAI,EAAC9B,mBAAmB,CAAC;AAC7D6B,2BAA2B,CAACE,WAAW,GAAG,qBAAqB","ignoreList":[]}
1
+ {"version":3,"file":"DataTablePagination.cjs","names":["_react","require","_Box","_Button","_index","_Typography","_jsxRuntime","paginationTypeValues","exports","DataTablePagination","currentPage","currentNumberOfResults","isNextButtonDisabled","isPreviousButtonDisabled","onClickNext","onClickPrevious","paginationType","jsx","Box","sx","display","gap","alignItems","children","jsxs","Fragment","Button","isDisabled","label","onClick","variant","Support","color","startIcon","ArrowLeftIcon","component","endIcon","ArrowRightIcon","MemoizedDataTablePagination","memo","displayName"],"sources":["../../../src/labs/DataTablePagination.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 { memo } from \"react\";\n\nimport { Box } from \"../Box.js\";\nimport { Button } from \"../Buttons/Button.js\";\nimport { ArrowLeftIcon, ArrowRightIcon } from \"../icons.generated/index.js\";\nimport { Support } from \"../Typography.js\";\n\nexport const paginationTypeValues = [\"paged\", \"loadMore\"] as const;\n\nexport type DataTablePaginationProps = {\n currentNumberOfResults?: number;\n currentPage?: number;\n isNextButtonDisabled?: boolean;\n isPreviousButtonDisabled?: boolean;\n onClickNext: () => void;\n onClickPrevious?: () => void;\n paginationType?: (typeof paginationTypeValues)[number];\n};\n\nconst DataTablePagination = ({\n currentPage,\n currentNumberOfResults,\n isNextButtonDisabled,\n isPreviousButtonDisabled,\n onClickNext,\n onClickPrevious,\n paginationType,\n}: DataTablePaginationProps) => {\n return (\n <Box sx={{ display: \"flex\", gap: 4, alignItems: \"center\" }}>\n {paginationType === \"loadMore\" ? (\n <>\n <Button\n isDisabled={isNextButtonDisabled}\n label=\"Show more\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n {currentNumberOfResults && (\n <Support color=\"textSecondary\">\n {currentNumberOfResults} results\n </Support>\n )}\n </>\n ) : (\n <>\n <Button\n isDisabled={isPreviousButtonDisabled}\n label=\"Previous\"\n onClick={onClickPrevious}\n startIcon={<ArrowLeftIcon />}\n variant=\"secondary\"\n />\n {currentPage && (\n <Box>\n <Support color=\"textSecondary\" component=\"span\">\n Page {currentPage}\n </Support>\n </Box>\n )}\n <Button\n endIcon={<ArrowRightIcon />}\n isDisabled={isNextButtonDisabled}\n label=\"Next\"\n onClick={onClickNext}\n variant=\"secondary\"\n />\n </>\n )}\n </Box>\n );\n};\n\nconst MemoizedDataTablePagination = memo(DataTablePagination);\nMemoizedDataTablePagination.displayName = \"DataTablePagination\";\n\nexport { MemoizedDataTablePagination as DataTablePagination };\n"],"mappings":";;;;;;AAYA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,IAAA,GAAAD,OAAA;AACA,IAAAE,OAAA,GAAAF,OAAA;AACA,IAAAG,MAAA,GAAAH,OAAA;AACA,IAAAI,WAAA,GAAAJ,OAAA;AAA2C,IAAAK,WAAA,GAAAL,OAAA;AAjB3C;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AASO,MAAMM,oBAAoB,GAAAC,OAAA,CAAAD,oBAAA,GAAG,CAAC,OAAO,EAAE,UAAU,CAAU;AAYlE,MAAME,mBAAmB,GAAGA,CAAC;EAC3BC,WAAW;EACXC,sBAAsB;EACtBC,oBAAoB;EACpBC,wBAAwB;EACxBC,WAAW;EACXC,eAAe;EACfC;AACwB,CAAC,KAAK;EAC9B,OACE,IAAAV,WAAA,CAAAW,GAAA,EAACf,IAAA,CAAAgB,GAAG;IAACC,EAAE,EAAE;MAAEC,OAAO,EAAE,MAAM;MAAEC,GAAG,EAAE,CAAC;MAAEC,UAAU,EAAE;IAAS,CAAE;IAAAC,QAAA,EACxDP,cAAc,KAAK,UAAU,GAC5B,IAAAV,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;MAAAF,QAAA,GACE,IAAAjB,WAAA,CAAAW,GAAA,EAACd,OAAA,CAAAuB,MAAM;QACLC,UAAU,EAAEf,oBAAqB;QACjCgB,KAAK,EAAC,WAAW;QACjBC,OAAO,EAAEf,WAAY;QACrBgB,OAAO,EAAC;MAAW,CACpB,CAAC,EACDnB,sBAAsB,IACrB,IAAAL,WAAA,CAAAkB,IAAA,EAACnB,WAAA,CAAA0B,OAAO;QAACC,KAAK,EAAC,eAAe;QAAAT,QAAA,GAC3BZ,sBAAsB,EAAC,UAC1B;MAAA,CAAS,CACV;IAAA,CACD,CAAC,GAEH,IAAAL,WAAA,CAAAkB,IAAA,EAAAlB,WAAA,CAAAmB,QAAA;MAAAF,QAAA,GACE,IAAAjB,WAAA,CAAAW,GAAA,EAACd,OAAA,CAAAuB,MAAM;QACLC,UAAU,EAAEd,wBAAyB;QACrCe,KAAK,EAAC,UAAU;QAChBC,OAAO,EAAEd,eAAgB;QACzBkB,SAAS,EAAE,IAAA3B,WAAA,CAAAW,GAAA,EAACb,MAAA,CAAA8B,aAAa,IAAE,CAAE;QAC7BJ,OAAO,EAAC;MAAW,CACpB,CAAC,EACDpB,WAAW,IACV,IAAAJ,WAAA,CAAAW,GAAA,EAACf,IAAA,CAAAgB,GAAG;QAAAK,QAAA,EACF,IAAAjB,WAAA,CAAAkB,IAAA,EAACnB,WAAA,CAAA0B,OAAO;UAACC,KAAK,EAAC,eAAe;UAACG,SAAS,EAAC,MAAM;UAAAZ,QAAA,GAAC,OACzC,EAACb,WAAW;QAAA,CACV;MAAC,CACP,CACN,EACD,IAAAJ,WAAA,CAAAW,GAAA,EAACd,OAAA,CAAAuB,MAAM;QACLU,OAAO,EAAE,IAAA9B,WAAA,CAAAW,GAAA,EAACb,MAAA,CAAAiC,cAAc,IAAE,CAAE;QAC5BV,UAAU,EAAEf,oBAAqB;QACjCgB,KAAK,EAAC,MAAM;QACZC,OAAO,EAAEf,WAAY;QACrBgB,OAAO,EAAC;MAAW,CACpB,CAAC;IAAA,CACF;EACH,CACE,CAAC;AAEV,CAAC;AAED,MAAMQ,2BAA2B,GAAA9B,OAAA,CAAAC,mBAAA,GAAG,IAAA8B,WAAI,EAAC9B,mBAAmB,CAAC;AAC7D6B,2BAA2B,CAACE,WAAW,GAAG,qBAAqB","ignoreList":[]}
@@ -7,9 +7,10 @@ exports.BulkActionsMenu = void 0;
7
7
  var _styled = _interopRequireDefault(require("@emotion/styled"));
8
8
  var _react = require("react");
9
9
  var _Box = require("../../Box.cjs");
10
- var _index = require("../../Buttons/index.cjs");
10
+ var _Button = require("../../Buttons/Button.cjs");
11
+ var _MenuButton = require("../../Buttons/MenuButton.cjs");
11
12
  var _i18n = require("../../i18n.generated/i18n.cjs");
12
- var _index2 = require("../../icons.generated/index.cjs");
13
+ var _index = require("../../icons.generated/index.cjs");
13
14
  var _OdysseyDesignTokensContext = require("../../OdysseyDesignTokensContext.cjs");
14
15
  var _jsxRuntime = require("react/jsx-runtime");
15
16
  function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
@@ -53,21 +54,21 @@ const BulkActionsMenu = ({
53
54
  }, [setRowSelection]);
54
55
  return (0, _jsxRuntime.jsxs)(BulkActionsContainer, {
55
56
  odysseyDesignTokens: odysseyDesignTokens,
56
- children: [selectedRowCount > 0 && (0, _jsxRuntime.jsx)(_index.MenuButton, {
57
+ children: [selectedRowCount > 0 && (0, _jsxRuntime.jsx)(_MenuButton.MenuButton, {
57
58
  ariaLabel: t("table.actions.arialabel"),
58
59
  buttonLabel: t("table.actions.selectsome", {
59
60
  selectedRowCount
60
61
  }),
61
62
  buttonVariant: "primary",
62
- endIcon: (0, _jsxRuntime.jsx)(_index2.ChevronDownIcon, {}),
63
+ endIcon: (0, _jsxRuntime.jsx)(_index.ChevronDownIcon, {}),
63
64
  children: menuItems?.(rowSelection)
64
65
  }), (0, _jsxRuntime.jsxs)(_Box.Box, {
65
- children: [(0, _jsxRuntime.jsx)(_index.Button, {
66
+ children: [(0, _jsxRuntime.jsx)(_Button.Button, {
66
67
  isDisabled: selectedRowCount === data.length,
67
68
  label: t("table.actions.selectall"),
68
69
  onClick: handleSelectAll,
69
70
  variant: "secondary"
70
- }), (0, _jsxRuntime.jsx)(_index.Button, {
71
+ }), (0, _jsxRuntime.jsx)(_Button.Button, {
71
72
  isDisabled: selectedRowCount === 0,
72
73
  label: t("table.actions.selectnone"),
73
74
  onClick: handleSelectNone,
@@ -1 +1 @@
1
- {"version":3,"file":"BulkActionsMenu.cjs","names":["_styled","_interopRequireDefault","require","_react","_Box","_index","_i18n","_index2","_OdysseyDesignTokensContext","_jsxRuntime","e","__esModule","default","BulkActionsContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","gap","Spacing2","BulkActionsMenu","data","menuItems","rowSelection","setRowSelection","useOdysseyDesignTokens","t","useTranslation","selectedRowCount","Object","values","filter","Boolean","length","handleSelectAll","useCallback","rows","fromEntries","map","row","id","handleSelectNone","jsxs","children","jsx","MenuButton","ariaLabel","buttonLabel","buttonVariant","endIcon","ChevronDownIcon","Box","Button","isDisabled","label","onClick","variant","MemoizedBulkActionsMenu","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/BulkActionsMenu.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { MRT_RowData, MRT_RowSelectionState } from \"material-react-table\";\nimport { Dispatch, memo, SetStateAction, useCallback } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { Button, MenuButton } from \"../../Buttons/index.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { ChevronDownIcon } from \"../../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { UniversalProps } from \"./componentTypes.js\";\n\nexport type BulkActionsMenuProps<TData extends MRT_RowData> = {\n data: TData[];\n menuItems: UniversalProps<TData>[\"bulkActionMenuItems\"];\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n};\n\nconst BulkActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst BulkActionsMenu = <TData extends MRT_RowData>({\n data,\n menuItems,\n rowSelection,\n setRowSelection,\n}: BulkActionsMenuProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const selectedRowCount = Object.values(rowSelection).filter(Boolean).length;\n\n const handleSelectAll = useCallback(() => {\n const rows = Object.fromEntries(\n data.map((row) => [row.id as string, true]),\n );\n setRowSelection(rows);\n }, [data, setRowSelection]);\n\n const handleSelectNone = useCallback(() => {\n setRowSelection({});\n }, [setRowSelection]);\n\n return (\n <BulkActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {selectedRowCount > 0 && (\n <MenuButton\n ariaLabel={t(\"table.actions.arialabel\")}\n buttonLabel={t(\"table.actions.selectsome\", { selectedRowCount })}\n buttonVariant=\"primary\"\n endIcon={<ChevronDownIcon />}\n >\n {menuItems?.(rowSelection)}\n </MenuButton>\n )}\n <Box>\n <Button\n isDisabled={selectedRowCount === data.length} // Disabled if all are selected\n label={t(\"table.actions.selectall\")}\n onClick={handleSelectAll}\n variant=\"secondary\"\n />\n <Button\n isDisabled={selectedRowCount === 0} // Disabled if none are selected\n label={t(\"table.actions.selectnone\")}\n onClick={handleSelectNone}\n variant=\"secondary\"\n />\n </Box>\n </BulkActionsContainer>\n );\n};\n\nconst MemoizedBulkActionsMenu = memo(BulkActionsMenu);\nMemoizedBulkActionsMenu.displayName = \"BulkActionsMenu\";\n\nexport { MemoizedBulkActionsMenu as BulkActionsMenu };\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"BulkActionsMenu.cjs","names":["_styled","_interopRequireDefault","require","_react","_Box","_Button","_MenuButton","_i18n","_index","_OdysseyDesignTokensContext","_jsxRuntime","e","__esModule","default","BulkActionsContainer","styled","shouldForwardProp","prop","odysseyDesignTokens","display","gap","Spacing2","BulkActionsMenu","data","menuItems","rowSelection","setRowSelection","useOdysseyDesignTokens","t","useTranslation","selectedRowCount","Object","values","filter","Boolean","length","handleSelectAll","useCallback","rows","fromEntries","map","row","id","handleSelectNone","jsxs","children","jsx","MenuButton","ariaLabel","buttonLabel","buttonVariant","endIcon","ChevronDownIcon","Box","Button","isDisabled","label","onClick","variant","MemoizedBulkActionsMenu","exports","memo","displayName"],"sources":["../../../../src/labs/DataView/BulkActionsMenu.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport styled from \"@emotion/styled\";\nimport { MRT_RowData, MRT_RowSelectionState } from \"material-react-table\";\nimport { Dispatch, memo, SetStateAction, useCallback } from \"react\";\n\nimport { Box } from \"../../Box.js\";\nimport { Button } from \"../../Buttons/Button.js\";\nimport { MenuButton } from \"../../Buttons/MenuButton.js\";\nimport { useTranslation } from \"../../i18n.generated/i18n.js\";\nimport { ChevronDownIcon } from \"../../icons.generated/index.js\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../../OdysseyDesignTokensContext.js\";\nimport { UniversalProps } from \"./componentTypes.js\";\n\nexport type BulkActionsMenuProps<TData extends MRT_RowData> = {\n data: TData[];\n menuItems: UniversalProps<TData>[\"bulkActionMenuItems\"];\n rowSelection: MRT_RowSelectionState;\n setRowSelection: Dispatch<SetStateAction<MRT_RowSelectionState>>;\n};\n\nconst BulkActionsContainer = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst BulkActionsMenu = <TData extends MRT_RowData>({\n data,\n menuItems,\n rowSelection,\n setRowSelection,\n}: BulkActionsMenuProps<TData>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n const selectedRowCount = Object.values(rowSelection).filter(Boolean).length;\n\n const handleSelectAll = useCallback(() => {\n const rows = Object.fromEntries(\n data.map((row) => [row.id as string, true]),\n );\n setRowSelection(rows);\n }, [data, setRowSelection]);\n\n const handleSelectNone = useCallback(() => {\n setRowSelection({});\n }, [setRowSelection]);\n\n return (\n <BulkActionsContainer odysseyDesignTokens={odysseyDesignTokens}>\n {selectedRowCount > 0 && (\n <MenuButton\n ariaLabel={t(\"table.actions.arialabel\")}\n buttonLabel={t(\"table.actions.selectsome\", { selectedRowCount })}\n buttonVariant=\"primary\"\n endIcon={<ChevronDownIcon />}\n >\n {menuItems?.(rowSelection)}\n </MenuButton>\n )}\n <Box>\n <Button\n isDisabled={selectedRowCount === data.length} // Disabled if all are selected\n label={t(\"table.actions.selectall\")}\n onClick={handleSelectAll}\n variant=\"secondary\"\n />\n <Button\n isDisabled={selectedRowCount === 0} // Disabled if none are selected\n label={t(\"table.actions.selectnone\")}\n onClick={handleSelectNone}\n variant=\"secondary\"\n />\n </Box>\n </BulkActionsContainer>\n );\n};\n\nconst MemoizedBulkActionsMenu = memo(BulkActionsMenu);\nMemoizedBulkActionsMenu.displayName = \"BulkActionsMenu\";\n\nexport { MemoizedBulkActionsMenu as BulkActionsMenu };\n"],"mappings":"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","ignoreList":[]}
@@ -7,15 +7,16 @@ exports.DataView = void 0;
7
7
  var _styled = _interopRequireDefault(require("@emotion/styled"));
8
8
  var _react = require("react");
9
9
  var _Box = require("../../Box.cjs");
10
- var _index = require("../../Buttons/index.cjs");
10
+ var _MenuButton = require("../../Buttons/MenuButton.cjs");
11
11
  var _Callout = require("../../Callout.cjs");
12
12
  var _createUniqueId = require("../../createUniqueId.cjs");
13
13
  var _useRowReordering = require("../../DataTable/useRowReordering.cjs");
14
14
  var _EmptyState = require("../../EmptyState.cjs");
15
15
  var _i18n = require("../../i18n.generated/i18n.cjs");
16
- var _index2 = require("../../icons.generated/index.cjs");
16
+ var _index = require("../../icons.generated/index.cjs");
17
17
  var _OdysseyDesignTokensContext = require("../../OdysseyDesignTokensContext.cjs");
18
- var _index3 = require("../../Pagination/index.cjs");
18
+ var _Pagination = require("../../Pagination/Pagination.cjs");
19
+ var _usePagination = require("../../Pagination/usePagination.cjs");
19
20
  var _Typography = require("../../Typography.cjs");
20
21
  var _DataFilters = require("../DataFilters.cjs");
21
22
  var _BulkActionsMenu = require("./BulkActionsMenu.cjs");
@@ -243,10 +244,10 @@ const DataView = ({
243
244
  availableLayouts: availableLayouts,
244
245
  currentLayout: currentLayout,
245
246
  setCurrentLayout: setCurrentLayout
246
- }), additionalActionButton, additionalActionMenuItems && (0, _jsxRuntime.jsx)(_index.MenuButton, {
247
+ }), additionalActionButton, additionalActionMenuItems && (0, _jsxRuntime.jsx)(_MenuButton.MenuButton, {
247
248
  ariaLabel: t("table.moreactions.arialabel"),
248
249
  buttonVariant: "secondary",
249
- endIcon: (0, _jsxRuntime.jsx)(_index2.MoreIcon, {}),
250
+ endIcon: (0, _jsxRuntime.jsx)(_index.MoreIcon, {}),
250
251
  menuAlignment: "right",
251
252
  children: additionalActionMenuItems
252
253
  })]
@@ -255,7 +256,7 @@ const DataView = ({
255
256
  const enableVirtualization = (0, _react.useMemo)(() => enableVirtualizationProp ?? paginationType === "loadMore", [enableVirtualizationProp, paginationType]);
256
257
  const {
257
258
  lastRow: lastRowOnPage
258
- } = (0, _index3.usePagination)({
259
+ } = (0, _usePagination.usePagination)({
259
260
  currentRowsCount: data.length,
260
261
  pageIndex: pagination.pageIndex,
261
262
  pageSize: pagination.pageSize,
@@ -337,7 +338,7 @@ const DataView = ({
337
338
  rowSelection: rowSelection,
338
339
  setRowSelection: setRowSelection,
339
340
  totalRows: totalRows
340
- }), hasPagination && (0, _jsxRuntime.jsx)(_index3.Pagination, {
341
+ }), hasPagination && (0, _jsxRuntime.jsx)(_Pagination.Pagination, {
341
342
  currentPageLabel: t("pagination.page"),
342
343
  currentRowsCount: data.length,
343
344
  hasPageInput: hasPageInput,