@okta/odyssey-react-mui 1.15.8 → 1.20.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 (973) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/README.md +4 -0
  3. package/dist/Accordion.js +2 -0
  4. package/dist/Accordion.js.map +1 -1
  5. package/dist/Autocomplete.js +9 -0
  6. package/dist/Autocomplete.js.map +1 -1
  7. package/dist/Badge.js +1 -0
  8. package/dist/Badge.js.map +1 -1
  9. package/dist/Banner.js +6 -5
  10. package/dist/Banner.js.map +1 -1
  11. package/dist/Button.js +15 -11
  12. package/dist/Button.js.map +1 -1
  13. package/dist/Callout.js +45 -7
  14. package/dist/Callout.js.map +1 -1
  15. package/dist/{Tile.js → Card.js} +43 -28
  16. package/dist/Card.js.map +1 -0
  17. package/dist/DataTable/DataTable.js +68 -40
  18. package/dist/DataTable/DataTable.js.map +1 -1
  19. package/dist/DataTable/DataTableRowActions.js.map +1 -1
  20. package/dist/DataTable/constants.js +0 -1
  21. package/dist/DataTable/constants.js.map +1 -1
  22. package/dist/DataTable/index.js +0 -1
  23. package/dist/DataTable/index.js.map +1 -1
  24. package/dist/Dialog.js +9 -3
  25. package/dist/Dialog.js.map +1 -1
  26. package/dist/{labs/Drawer.js → Drawer.js} +5 -5
  27. package/dist/Drawer.js.map +1 -0
  28. package/dist/{DataTable/DataTableEmptyState.js → EmptyState.js} +17 -15
  29. package/dist/EmptyState.js.map +1 -0
  30. package/dist/ErrorMessageList.js +1 -1
  31. package/dist/ErrorMessageList.js.map +1 -1
  32. package/dist/FieldError.js +3 -2
  33. package/dist/FieldError.js.map +1 -1
  34. package/dist/HtmlProps.js.map +1 -1
  35. package/dist/MenuItem.js +1 -0
  36. package/dist/MenuItem.js.map +1 -1
  37. package/dist/OdysseyCacheProvider.js +5 -2
  38. package/dist/OdysseyCacheProvider.js.map +1 -1
  39. package/dist/OdysseyProvider.js +1 -1
  40. package/dist/OdysseyProvider.js.map +1 -1
  41. package/dist/OdysseyTranslationProvider.js +1 -6
  42. package/dist/OdysseyTranslationProvider.js.map +1 -1
  43. package/dist/{DataTable/DataTablePagination.js → Pagination/Pagination.js} +56 -59
  44. package/dist/Pagination/Pagination.js.map +1 -0
  45. package/dist/Pagination/constants.js +14 -0
  46. package/dist/Pagination/constants.js.map +1 -0
  47. package/dist/Pagination/index.js +15 -0
  48. package/dist/Pagination/index.js.map +1 -0
  49. package/dist/Pagination/usePagination.js +51 -0
  50. package/dist/Pagination/usePagination.js.map +1 -0
  51. package/dist/Radio.js +17 -5
  52. package/dist/Radio.js.map +1 -1
  53. package/dist/ScreenReaderText.js +4 -0
  54. package/dist/ScreenReaderText.js.map +1 -1
  55. package/dist/Select.js +33 -42
  56. package/dist/Select.js.map +1 -1
  57. package/dist/Status.js +5 -3
  58. package/dist/Status.js.map +1 -1
  59. package/dist/Surface.js +38 -0
  60. package/dist/Surface.js.map +1 -0
  61. package/dist/Tabs.js +22 -0
  62. package/dist/Tabs.js.map +1 -1
  63. package/dist/TextField.js +48 -0
  64. package/dist/TextField.js.map +1 -1
  65. package/dist/Toast.js +37 -34
  66. package/dist/Toast.js.map +1 -1
  67. package/dist/assertEnv.d.ts +18 -0
  68. package/dist/assertEnv.d.ts.map +1 -0
  69. package/dist/assertEnv.js +32 -0
  70. package/dist/icons.generated/Add.js +1 -1
  71. package/dist/icons.generated/Add.js.map +1 -1
  72. package/dist/icons.generated/AddCircle.js +1 -1
  73. package/dist/icons.generated/AddCircle.js.map +1 -1
  74. package/dist/icons.generated/Apps.js +1 -1
  75. package/dist/icons.generated/Apps.js.map +1 -1
  76. package/dist/icons.generated/ArrowBottom.js +2 -2
  77. package/dist/icons.generated/ArrowBottom.js.map +1 -1
  78. package/dist/icons.generated/ArrowDown.js +1 -1
  79. package/dist/icons.generated/ArrowDown.js.map +1 -1
  80. package/dist/icons.generated/ArrowLeft.js +1 -1
  81. package/dist/icons.generated/ArrowLeft.js.map +1 -1
  82. package/dist/icons.generated/ArrowLowerLeft.js +1 -1
  83. package/dist/icons.generated/ArrowLowerLeft.js.map +1 -1
  84. package/dist/icons.generated/ArrowLowerRight.js +1 -1
  85. package/dist/icons.generated/ArrowLowerRight.js.map +1 -1
  86. package/dist/icons.generated/ArrowRight.js +1 -1
  87. package/dist/icons.generated/ArrowRight.js.map +1 -1
  88. package/dist/icons.generated/ArrowTop.js +2 -2
  89. package/dist/icons.generated/ArrowTop.js.map +1 -1
  90. package/dist/icons.generated/ArrowUnsorted.js +1 -1
  91. package/dist/icons.generated/ArrowUnsorted.js.map +1 -1
  92. package/dist/icons.generated/ArrowUp.js +1 -1
  93. package/dist/icons.generated/ArrowUp.js.map +1 -1
  94. package/dist/icons.generated/ArrowUpperLeft.js +1 -1
  95. package/dist/icons.generated/ArrowUpperLeft.js.map +1 -1
  96. package/dist/icons.generated/ArrowUpperRight.js +1 -1
  97. package/dist/icons.generated/ArrowUpperRight.js.map +1 -1
  98. package/dist/icons.generated/Bug.js +1 -1
  99. package/dist/icons.generated/Bug.js.map +1 -1
  100. package/dist/icons.generated/Calendar.js +1 -1
  101. package/dist/icons.generated/Calendar.js.map +1 -1
  102. package/dist/icons.generated/Call.js +1 -1
  103. package/dist/icons.generated/Call.js.map +1 -1
  104. package/dist/icons.generated/Chat.js +1 -1
  105. package/dist/icons.generated/Chat.js.map +1 -1
  106. package/dist/icons.generated/Check.js +1 -1
  107. package/dist/icons.generated/Check.js.map +1 -1
  108. package/dist/icons.generated/CheckCircleFilled.js +1 -1
  109. package/dist/icons.generated/CheckCircleFilled.js.map +1 -1
  110. package/dist/icons.generated/ChevronDown.js +1 -1
  111. package/dist/icons.generated/ChevronDown.js.map +1 -1
  112. package/dist/icons.generated/ChevronLeft.js +1 -1
  113. package/dist/icons.generated/ChevronLeft.js.map +1 -1
  114. package/dist/icons.generated/ChevronRight.js +1 -1
  115. package/dist/icons.generated/ChevronRight.js.map +1 -1
  116. package/dist/icons.generated/ChevronUp.js +1 -1
  117. package/dist/icons.generated/ChevronUp.js.map +1 -1
  118. package/dist/icons.generated/Clock.js +1 -1
  119. package/dist/icons.generated/Clock.js.map +1 -1
  120. package/dist/icons.generated/Close.js +1 -1
  121. package/dist/icons.generated/Close.js.map +1 -1
  122. package/dist/icons.generated/CloseCircleFilled.js +1 -1
  123. package/dist/icons.generated/CloseCircleFilled.js.map +1 -1
  124. package/dist/icons.generated/CollapseLeft.js +1 -1
  125. package/dist/icons.generated/CollapseLeft.js.map +1 -1
  126. package/dist/icons.generated/CollapseRight.js +1 -1
  127. package/dist/icons.generated/CollapseRight.js.map +1 -1
  128. package/dist/icons.generated/Copy.js +1 -1
  129. package/dist/icons.generated/Copy.js.map +1 -1
  130. package/dist/icons.generated/Custom.js +39 -0
  131. package/dist/icons.generated/Custom.js.map +1 -0
  132. package/dist/icons.generated/DangerDiamond.js +1 -1
  133. package/dist/icons.generated/DangerDiamond.js.map +1 -1
  134. package/dist/icons.generated/DangerDiamondFilled.js +1 -1
  135. package/dist/icons.generated/DangerDiamondFilled.js.map +1 -1
  136. package/dist/icons.generated/Delete.js +1 -1
  137. package/dist/icons.generated/Delete.js.map +1 -1
  138. package/dist/icons.generated/Deny.js +1 -1
  139. package/dist/icons.generated/Deny.js.map +1 -1
  140. package/dist/icons.generated/Devices.js +1 -1
  141. package/dist/icons.generated/Devices.js.map +1 -1
  142. package/dist/icons.generated/Directory.js +1 -1
  143. package/dist/icons.generated/Directory.js.map +1 -1
  144. package/dist/icons.generated/Documentation.js +1 -1
  145. package/dist/icons.generated/Documentation.js.map +1 -1
  146. package/dist/icons.generated/Download.js +1 -1
  147. package/dist/icons.generated/Download.js.map +1 -1
  148. package/dist/icons.generated/DragIndicator.js +1 -1
  149. package/dist/icons.generated/DragIndicator.js.map +1 -1
  150. package/dist/icons.generated/Duo.js +47 -0
  151. package/dist/icons.generated/Duo.js.map +1 -0
  152. package/dist/icons.generated/Edit.js +1 -1
  153. package/dist/icons.generated/Edit.js.map +1 -1
  154. package/dist/icons.generated/Email.js +38 -0
  155. package/dist/icons.generated/Email.js.map +1 -0
  156. package/dist/icons.generated/ExpandLeft.js +1 -1
  157. package/dist/icons.generated/ExpandLeft.js.map +1 -1
  158. package/dist/icons.generated/ExpandRight.js +1 -1
  159. package/dist/icons.generated/ExpandRight.js.map +1 -1
  160. package/dist/icons.generated/ExternalLink.js +1 -1
  161. package/dist/icons.generated/ExternalLink.js.map +1 -1
  162. package/dist/icons.generated/Fido2.js +57 -0
  163. package/dist/icons.generated/Fido2.js.map +1 -0
  164. package/dist/icons.generated/Filter.js +1 -1
  165. package/dist/icons.generated/Filter.js.map +1 -1
  166. package/dist/icons.generated/Folder.js +1 -1
  167. package/dist/icons.generated/Folder.js.map +1 -1
  168. package/dist/icons.generated/Globe.js +1 -1
  169. package/dist/icons.generated/Globe.js.map +1 -1
  170. package/dist/icons.generated/GoogleAuth.js +54 -0
  171. package/dist/icons.generated/GoogleAuth.js.map +1 -0
  172. package/dist/icons.generated/Grid.js +1 -1
  173. package/dist/icons.generated/Grid.js.map +1 -1
  174. package/dist/icons.generated/Group.js +1 -1
  175. package/dist/icons.generated/Group.js.map +1 -1
  176. package/dist/icons.generated/Hide.js +1 -1
  177. package/dist/icons.generated/Hide.js.map +1 -1
  178. package/dist/icons.generated/Home.js +1 -1
  179. package/dist/icons.generated/Home.js.map +1 -1
  180. package/dist/icons.generated/Idp.js +42 -0
  181. package/dist/icons.generated/Idp.js.map +1 -0
  182. package/dist/icons.generated/InformationCircle.js +1 -1
  183. package/dist/icons.generated/InformationCircle.js.map +1 -1
  184. package/dist/icons.generated/InformationCircleFilled.js +1 -1
  185. package/dist/icons.generated/InformationCircleFilled.js.map +1 -1
  186. package/dist/icons.generated/Link.js +1 -1
  187. package/dist/icons.generated/Link.js.map +1 -1
  188. package/dist/icons.generated/List.js +1 -1
  189. package/dist/icons.generated/List.js.map +1 -1
  190. package/dist/icons.generated/Lock.js +1 -1
  191. package/dist/icons.generated/Lock.js.map +1 -1
  192. package/dist/icons.generated/More.js +1 -1
  193. package/dist/icons.generated/More.js.map +1 -1
  194. package/dist/icons.generated/Notification.js +1 -1
  195. package/dist/icons.generated/Notification.js.map +1 -1
  196. package/dist/icons.generated/OktaVerify.js +33 -0
  197. package/dist/icons.generated/OktaVerify.js.map +1 -0
  198. package/dist/icons.generated/OnPremMfa.js +39 -0
  199. package/dist/icons.generated/OnPremMfa.js.map +1 -0
  200. package/dist/icons.generated/OneTimePassword.js +49 -0
  201. package/dist/icons.generated/OneTimePassword.js.map +1 -0
  202. package/dist/icons.generated/Password.js +61 -0
  203. package/dist/icons.generated/Password.js.map +1 -0
  204. package/dist/icons.generated/Pause.js +1 -1
  205. package/dist/icons.generated/Pause.js.map +1 -1
  206. package/dist/icons.generated/QuestionCircle.js +1 -1
  207. package/dist/icons.generated/QuestionCircle.js.map +1 -1
  208. package/dist/icons.generated/QuestionCircleFilled.js +1 -1
  209. package/dist/icons.generated/QuestionCircleFilled.js.map +1 -1
  210. package/dist/icons.generated/Refresh.js +1 -1
  211. package/dist/icons.generated/Refresh.js.map +1 -1
  212. package/dist/icons.generated/Reset.js +1 -1
  213. package/dist/icons.generated/Reset.js.map +1 -1
  214. package/dist/icons.generated/Resume.js +1 -1
  215. package/dist/icons.generated/Resume.js.map +1 -1
  216. package/dist/icons.generated/Search.js +1 -1
  217. package/dist/icons.generated/Search.js.map +1 -1
  218. package/dist/icons.generated/SecurityQuestion.js +41 -0
  219. package/dist/icons.generated/SecurityQuestion.js.map +1 -0
  220. package/dist/icons.generated/Server.js +1 -1
  221. package/dist/icons.generated/Server.js.map +1 -1
  222. package/dist/icons.generated/Settings.js +1 -1
  223. package/dist/icons.generated/Settings.js.map +1 -1
  224. package/dist/icons.generated/Show.js +1 -1
  225. package/dist/icons.generated/Show.js.map +1 -1
  226. package/dist/icons.generated/SmartCard.js +49 -0
  227. package/dist/icons.generated/SmartCard.js.map +1 -0
  228. package/dist/icons.generated/Sms.js +49 -0
  229. package/dist/icons.generated/Sms.js.map +1 -0
  230. package/dist/icons.generated/Subtract.js +1 -1
  231. package/dist/icons.generated/Subtract.js.map +1 -1
  232. package/dist/icons.generated/SymantecVip.js +38 -0
  233. package/dist/icons.generated/SymantecVip.js.map +1 -0
  234. package/dist/icons.generated/Sync.js +1 -1
  235. package/dist/icons.generated/Sync.js.map +1 -1
  236. package/dist/icons.generated/ThumbsDown.js +33 -0
  237. package/dist/icons.generated/ThumbsDown.js.map +1 -0
  238. package/dist/icons.generated/ThumbsUp.js +33 -0
  239. package/dist/icons.generated/ThumbsUp.js.map +1 -0
  240. package/dist/icons.generated/Unlock.js +1 -1
  241. package/dist/icons.generated/Unlock.js.map +1 -1
  242. package/dist/icons.generated/Upload.js +1 -1
  243. package/dist/icons.generated/Upload.js.map +1 -1
  244. package/dist/icons.generated/User.js +1 -1
  245. package/dist/icons.generated/User.js.map +1 -1
  246. package/dist/icons.generated/Video.js +1 -1
  247. package/dist/icons.generated/Video.js.map +1 -1
  248. package/dist/icons.generated/VoiceCall.js +54 -0
  249. package/dist/icons.generated/VoiceCall.js.map +1 -0
  250. package/dist/icons.generated/Warning.js +1 -1
  251. package/dist/icons.generated/Warning.js.map +1 -1
  252. package/dist/icons.generated/WarningFilled.js +1 -1
  253. package/dist/icons.generated/WarningFilled.js.map +1 -1
  254. package/dist/icons.generated/Yubikey.js +31 -0
  255. package/dist/icons.generated/Yubikey.js.map +1 -0
  256. package/dist/icons.generated/index.js +18 -0
  257. package/dist/icons.generated/index.js.map +1 -1
  258. package/dist/index.d.ts +24 -0
  259. package/dist/index.d.ts.map +1 -0
  260. package/dist/index.js +7 -2
  261. package/dist/index.js.map +1 -1
  262. package/dist/index.scss +457 -0
  263. package/dist/labs/DataComponents/BulkActionsMenu.js +77 -0
  264. package/dist/labs/DataComponents/BulkActionsMenu.js.map +1 -0
  265. package/dist/labs/DataComponents/DataStack.js +79 -0
  266. package/dist/labs/DataComponents/DataStack.js.map +1 -0
  267. package/dist/labs/DataComponents/DataTable.js +90 -0
  268. package/dist/labs/DataComponents/DataTable.js.map +1 -0
  269. package/dist/labs/DataComponents/DataView.js +278 -0
  270. package/dist/labs/DataComponents/DataView.js.map +1 -0
  271. package/dist/{src/DataTable/DataTableEmptyState.d.ts → labs/DataComponents/DetailPanel.js} +14 -9
  272. package/dist/labs/DataComponents/DetailPanel.js.map +1 -0
  273. package/dist/labs/DataComponents/LayoutSwitcher.js +53 -0
  274. package/dist/labs/DataComponents/LayoutSwitcher.js.map +1 -0
  275. package/dist/labs/DataComponents/RowActions.js +80 -0
  276. package/dist/labs/DataComponents/RowActions.js.map +1 -0
  277. package/dist/labs/DataComponents/StackCard.js +163 -0
  278. package/dist/labs/DataComponents/StackCard.js.map +1 -0
  279. package/dist/labs/DataComponents/StackContent.js +143 -0
  280. package/dist/labs/DataComponents/StackContent.js.map +1 -0
  281. package/dist/labs/DataComponents/TableContent.js +248 -0
  282. package/dist/labs/DataComponents/TableContent.js.map +1 -0
  283. package/dist/labs/DataComponents/TableSettings.js +96 -0
  284. package/dist/labs/DataComponents/TableSettings.js.map +1 -0
  285. package/dist/labs/DataComponents/componentTypes.js +2 -0
  286. package/dist/labs/DataComponents/componentTypes.js.map +1 -0
  287. package/dist/labs/DataComponents/constants.js +17 -0
  288. package/dist/labs/DataComponents/constants.js.map +1 -0
  289. package/dist/labs/DataComponents/dataTypes.js +2 -0
  290. package/dist/labs/DataComponents/dataTypes.js.map +1 -0
  291. package/dist/labs/DataComponents/fetchData.js +33 -0
  292. package/dist/labs/DataComponents/fetchData.js.map +1 -0
  293. package/dist/labs/DataComponents/index.js +18 -0
  294. package/dist/labs/DataComponents/index.js.map +1 -0
  295. package/dist/labs/DataComponents/tableConstants.js +146 -0
  296. package/dist/labs/DataComponents/tableConstants.js.map +1 -0
  297. package/dist/labs/DataComponents/useFilterConversion.js +58 -0
  298. package/dist/labs/DataComponents/useFilterConversion.js.map +1 -0
  299. package/dist/labs/DataFilters.js +139 -82
  300. package/dist/labs/DataFilters.js.map +1 -1
  301. package/dist/labs/DateField.js +77 -0
  302. package/dist/labs/DateField.js.map +1 -0
  303. package/dist/labs/DatePicker.js +186 -23
  304. package/dist/labs/DatePicker.js.map +1 -1
  305. package/dist/labs/{DatePicker.types.js → DatePicker.types.d.js} +1 -1
  306. package/dist/labs/DatePicker.types.d.js.map +1 -0
  307. package/dist/labs/FileUpload.js +28 -25
  308. package/dist/labs/FileUpload.js.map +1 -1
  309. package/dist/labs/FileUploadIllustration.js +1 -1
  310. package/dist/labs/FileUploadIllustration.js.map +1 -1
  311. package/dist/labs/FileUploadPreview.js +1 -0
  312. package/dist/labs/FileUploadPreview.js.map +1 -1
  313. package/dist/labs/Layout.js +49 -0
  314. package/dist/labs/Layout.js.map +1 -0
  315. package/dist/labs/NavAccordion.js +80 -0
  316. package/dist/labs/NavAccordion.js.map +1 -0
  317. package/dist/labs/PageTemplate.js +140 -0
  318. package/dist/labs/PageTemplate.js.map +1 -0
  319. package/dist/labs/SideNav.js +478 -0
  320. package/dist/labs/SideNav.js.map +1 -0
  321. package/dist/labs/Switch.js +186 -77
  322. package/dist/labs/Switch.js.map +1 -1
  323. package/dist/labs/datePickerTheme.js +138 -80
  324. package/dist/labs/datePickerTheme.js.map +1 -1
  325. package/dist/labs/index.js +5 -1
  326. package/dist/labs/index.js.map +1 -1
  327. package/dist/labs/useDatePickerTranslations.js +71 -0
  328. package/dist/labs/useDatePickerTranslations.js.map +1 -0
  329. package/dist/preset.d.ts +23 -0
  330. package/dist/preset.d.ts.map +1 -0
  331. package/dist/preset.js +35 -0
  332. package/dist/properties/ts/odyssey-react-mui.js +68 -10
  333. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  334. package/dist/properties/ts/odyssey-react-mui_cs.js +77 -2
  335. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  336. package/dist/properties/ts/odyssey-react-mui_da.js +77 -2
  337. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
  338. package/dist/properties/ts/odyssey-react-mui_de.js +77 -2
  339. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
  340. package/dist/properties/ts/odyssey-react-mui_el.js +77 -2
  341. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
  342. package/dist/properties/ts/odyssey-react-mui_es.js +77 -2
  343. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
  344. package/dist/properties/ts/odyssey-react-mui_fi.js +77 -2
  345. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  346. package/dist/properties/ts/odyssey-react-mui_fr.js +77 -2
  347. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  348. package/dist/properties/ts/odyssey-react-mui_ht.js +98 -0
  349. package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -0
  350. package/dist/properties/ts/odyssey-react-mui_hu.js +77 -2
  351. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  352. package/dist/properties/ts/odyssey-react-mui_id.js +77 -2
  353. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
  354. package/dist/properties/ts/odyssey-react-mui_it.js +77 -2
  355. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
  356. package/dist/properties/ts/odyssey-react-mui_ja.js +77 -2
  357. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  358. package/dist/properties/ts/odyssey-react-mui_ko.js +77 -2
  359. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  360. package/dist/properties/ts/odyssey-react-mui_ms.js +77 -2
  361. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  362. package/dist/properties/ts/odyssey-react-mui_nb.js +77 -2
  363. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  364. package/dist/properties/ts/odyssey-react-mui_nl_NL.js +77 -2
  365. package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  366. package/dist/properties/ts/odyssey-react-mui_ok_PL.js +34 -3
  367. package/dist/properties/ts/odyssey-react-mui_ok_PL.js.map +1 -1
  368. package/dist/properties/ts/odyssey-react-mui_ok_SK.js +34 -3
  369. package/dist/properties/ts/odyssey-react-mui_ok_SK.js.map +1 -1
  370. package/dist/properties/ts/odyssey-react-mui_pl.js +77 -2
  371. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  372. package/dist/properties/ts/odyssey-react-mui_pt_BR.js +77 -2
  373. package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  374. package/dist/properties/ts/odyssey-react-mui_ro.js +77 -2
  375. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  376. package/dist/properties/ts/odyssey-react-mui_ru.js +77 -2
  377. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  378. package/dist/properties/ts/odyssey-react-mui_sv.js +77 -2
  379. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  380. package/dist/properties/ts/odyssey-react-mui_th.js +77 -2
  381. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
  382. package/dist/properties/ts/odyssey-react-mui_tr.js +77 -2
  383. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  384. package/dist/properties/ts/odyssey-react-mui_uk.js +77 -2
  385. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  386. package/dist/properties/ts/odyssey-react-mui_vi.js +77 -2
  387. package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  388. package/dist/properties/ts/odyssey-react-mui_zh_CN.js +77 -2
  389. package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  390. package/dist/properties/ts/odyssey-react-mui_zh_TW.js +77 -2
  391. package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  392. package/dist/remUtils.js +14 -0
  393. package/dist/remUtils.js.map +1 -0
  394. package/dist/scripts/generateTestSelectorsJson.d.ts +13 -0
  395. package/dist/scripts/generateTestSelectorsJson.d.ts.map +1 -0
  396. package/dist/src/Accordion.d.ts +1 -1
  397. package/dist/src/Accordion.d.ts.map +1 -1
  398. package/dist/src/Autocomplete.d.ts +7 -1
  399. package/dist/src/Autocomplete.d.ts.map +1 -1
  400. package/dist/src/Badge.d.ts +2 -2
  401. package/dist/src/Badge.d.ts.map +1 -1
  402. package/dist/src/Banner.d.ts.map +1 -1
  403. package/dist/src/Button.d.ts +10 -6
  404. package/dist/src/Button.d.ts.map +1 -1
  405. package/dist/src/Callout.d.ts +38 -2
  406. package/dist/src/Callout.d.ts.map +1 -1
  407. package/dist/src/{Tile.d.ts → Card.d.ts} +6 -27
  408. package/dist/src/Card.d.ts.map +1 -0
  409. package/dist/src/DataTable/DataTable.d.ts +70 -50
  410. package/dist/src/DataTable/DataTable.d.ts.map +1 -1
  411. package/dist/src/DataTable/DataTableRowActions.d.ts +1 -1
  412. package/dist/src/DataTable/DataTableRowActions.d.ts.map +1 -1
  413. package/dist/src/DataTable/constants.d.ts +0 -1
  414. package/dist/src/DataTable/constants.d.ts.map +1 -1
  415. package/dist/src/DataTable/index.d.ts +2 -3
  416. package/dist/src/DataTable/index.d.ts.map +1 -1
  417. package/dist/src/DataTable/reorderDataRowsLocally.d.ts.map +1 -1
  418. package/dist/src/DataTable/useRowReordering.d.ts +3 -3
  419. package/dist/src/DataTable/useRowReordering.d.ts.map +1 -1
  420. package/dist/src/Dialog.d.ts +19 -7
  421. package/dist/src/Dialog.d.ts.map +1 -1
  422. package/dist/src/{labs/Drawer.d.ts → Drawer.d.ts} +3 -3
  423. package/dist/src/Drawer.d.ts.map +1 -0
  424. package/dist/src/EmptyState.d.ts +34 -0
  425. package/dist/src/EmptyState.d.ts.map +1 -0
  426. package/dist/src/ErrorMessageList.d.ts.map +1 -1
  427. package/dist/src/FieldError.d.ts.map +1 -1
  428. package/dist/src/HtmlProps.d.ts +1 -0
  429. package/dist/src/HtmlProps.d.ts.map +1 -1
  430. package/dist/src/MenuItem.d.ts.map +1 -1
  431. package/dist/src/OdysseyCacheProvider.d.ts +6 -2
  432. package/dist/src/OdysseyCacheProvider.d.ts.map +1 -1
  433. package/dist/src/OdysseyProvider.d.ts.map +1 -1
  434. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  435. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  436. package/dist/src/Pagination/Pagination.d.ts +70 -0
  437. package/dist/src/Pagination/Pagination.d.ts.map +1 -0
  438. package/dist/src/Pagination/constants.d.ts +13 -0
  439. package/dist/src/Pagination/constants.d.ts.map +1 -0
  440. package/dist/src/Pagination/index.d.ts +15 -0
  441. package/dist/src/Pagination/index.d.ts.map +1 -0
  442. package/dist/src/Pagination/usePagination.d.ts +23 -0
  443. package/dist/src/Pagination/usePagination.d.ts.map +1 -0
  444. package/dist/src/Radio.d.ts +2 -2
  445. package/dist/src/Radio.d.ts.map +1 -1
  446. package/dist/src/ScreenReaderText.d.ts +3 -2
  447. package/dist/src/ScreenReaderText.d.ts.map +1 -1
  448. package/dist/src/Select.d.ts.map +1 -1
  449. package/dist/src/Status.d.ts +7 -2
  450. package/dist/src/Status.d.ts.map +1 -1
  451. package/dist/src/{labs/DatePicker.types.d.ts → Surface.d.ts} +7 -8
  452. package/dist/src/Surface.d.ts.map +1 -0
  453. package/dist/src/Tabs.d.ts +22 -0
  454. package/dist/src/Tabs.d.ts.map +1 -1
  455. package/dist/src/TextField.d.ts +48 -0
  456. package/dist/src/TextField.d.ts.map +1 -1
  457. package/dist/src/Toast.d.ts.map +1 -1
  458. package/dist/src/icons.generated/Add.d.ts +1 -1
  459. package/dist/src/icons.generated/AddCircle.d.ts +1 -1
  460. package/dist/src/icons.generated/Apps.d.ts +1 -1
  461. package/dist/src/icons.generated/ArrowBottom.d.ts +1 -1
  462. package/dist/src/icons.generated/ArrowDown.d.ts +1 -1
  463. package/dist/src/icons.generated/ArrowLeft.d.ts +1 -1
  464. package/dist/src/icons.generated/ArrowLowerLeft.d.ts +1 -1
  465. package/dist/src/icons.generated/ArrowLowerRight.d.ts +1 -1
  466. package/dist/src/icons.generated/ArrowRight.d.ts +1 -1
  467. package/dist/src/icons.generated/ArrowTop.d.ts +1 -1
  468. package/dist/src/icons.generated/ArrowUnsorted.d.ts +1 -1
  469. package/dist/src/icons.generated/ArrowUp.d.ts +1 -1
  470. package/dist/src/icons.generated/ArrowUpperLeft.d.ts +1 -1
  471. package/dist/src/icons.generated/ArrowUpperRight.d.ts +1 -1
  472. package/dist/src/icons.generated/Bug.d.ts +1 -1
  473. package/dist/src/icons.generated/Calendar.d.ts +1 -1
  474. package/dist/src/icons.generated/Call.d.ts +1 -1
  475. package/dist/src/icons.generated/Chat.d.ts +1 -1
  476. package/dist/src/icons.generated/Check.d.ts +1 -1
  477. package/dist/src/icons.generated/CheckCircleFilled.d.ts +1 -1
  478. package/dist/src/icons.generated/ChevronDown.d.ts +1 -1
  479. package/dist/src/icons.generated/ChevronLeft.d.ts +1 -1
  480. package/dist/src/icons.generated/ChevronRight.d.ts +1 -1
  481. package/dist/src/icons.generated/ChevronUp.d.ts +1 -1
  482. package/dist/src/icons.generated/Clock.d.ts +1 -1
  483. package/dist/src/icons.generated/Close.d.ts +1 -1
  484. package/dist/src/icons.generated/CloseCircleFilled.d.ts +1 -1
  485. package/dist/src/icons.generated/CollapseLeft.d.ts +1 -1
  486. package/dist/src/icons.generated/CollapseRight.d.ts +1 -1
  487. package/dist/src/icons.generated/Copy.d.ts +1 -1
  488. package/dist/src/icons.generated/Custom.d.ts +16 -0
  489. package/dist/src/icons.generated/Custom.d.ts.map +1 -0
  490. package/dist/src/icons.generated/DangerDiamond.d.ts +1 -1
  491. package/dist/src/icons.generated/DangerDiamondFilled.d.ts +1 -1
  492. package/dist/src/icons.generated/Delete.d.ts +1 -1
  493. package/dist/src/icons.generated/Deny.d.ts +1 -1
  494. package/dist/src/icons.generated/Devices.d.ts +1 -1
  495. package/dist/src/icons.generated/Directory.d.ts +1 -1
  496. package/dist/src/icons.generated/Documentation.d.ts +1 -1
  497. package/dist/src/icons.generated/Download.d.ts +1 -1
  498. package/dist/src/icons.generated/DragIndicator.d.ts +1 -1
  499. package/dist/src/icons.generated/Duo.d.ts +16 -0
  500. package/dist/src/icons.generated/Duo.d.ts.map +1 -0
  501. package/dist/src/icons.generated/Edit.d.ts +1 -1
  502. package/dist/src/icons.generated/Email.d.ts +16 -0
  503. package/dist/src/icons.generated/Email.d.ts.map +1 -0
  504. package/dist/src/icons.generated/ExpandLeft.d.ts +1 -1
  505. package/dist/src/icons.generated/ExpandRight.d.ts +1 -1
  506. package/dist/src/icons.generated/ExternalLink.d.ts +1 -1
  507. package/dist/src/icons.generated/Fido2.d.ts +16 -0
  508. package/dist/src/icons.generated/Fido2.d.ts.map +1 -0
  509. package/dist/src/icons.generated/Filter.d.ts +1 -1
  510. package/dist/src/icons.generated/Folder.d.ts +1 -1
  511. package/dist/src/icons.generated/Globe.d.ts +1 -1
  512. package/dist/src/icons.generated/GoogleAuth.d.ts +16 -0
  513. package/dist/src/icons.generated/GoogleAuth.d.ts.map +1 -0
  514. package/dist/src/icons.generated/Grid.d.ts +1 -1
  515. package/dist/src/icons.generated/Group.d.ts +1 -1
  516. package/dist/src/icons.generated/Hide.d.ts +1 -1
  517. package/dist/src/icons.generated/Home.d.ts +1 -1
  518. package/dist/src/icons.generated/Idp.d.ts +16 -0
  519. package/dist/src/icons.generated/Idp.d.ts.map +1 -0
  520. package/dist/src/icons.generated/InformationCircle.d.ts +1 -1
  521. package/dist/src/icons.generated/InformationCircleFilled.d.ts +1 -1
  522. package/dist/src/icons.generated/Link.d.ts +1 -1
  523. package/dist/src/icons.generated/List.d.ts +1 -1
  524. package/dist/src/icons.generated/Lock.d.ts +1 -1
  525. package/dist/src/icons.generated/More.d.ts +1 -1
  526. package/dist/src/icons.generated/Notification.d.ts +1 -1
  527. package/dist/src/icons.generated/OktaVerify.d.ts +16 -0
  528. package/dist/src/icons.generated/OktaVerify.d.ts.map +1 -0
  529. package/dist/src/icons.generated/OnPremMfa.d.ts +16 -0
  530. package/dist/src/icons.generated/OnPremMfa.d.ts.map +1 -0
  531. package/dist/src/icons.generated/OneTimePassword.d.ts +16 -0
  532. package/dist/src/icons.generated/OneTimePassword.d.ts.map +1 -0
  533. package/dist/src/icons.generated/Password.d.ts +16 -0
  534. package/dist/src/icons.generated/Password.d.ts.map +1 -0
  535. package/dist/src/icons.generated/Pause.d.ts +1 -1
  536. package/dist/src/icons.generated/QuestionCircle.d.ts +1 -1
  537. package/dist/src/icons.generated/QuestionCircleFilled.d.ts +1 -1
  538. package/dist/src/icons.generated/Refresh.d.ts +1 -1
  539. package/dist/src/icons.generated/Reset.d.ts +1 -1
  540. package/dist/src/icons.generated/Resume.d.ts +1 -1
  541. package/dist/src/icons.generated/Search.d.ts +1 -1
  542. package/dist/src/icons.generated/SecurityQuestion.d.ts +16 -0
  543. package/dist/src/icons.generated/SecurityQuestion.d.ts.map +1 -0
  544. package/dist/src/icons.generated/Server.d.ts +1 -1
  545. package/dist/src/icons.generated/Settings.d.ts +1 -1
  546. package/dist/src/icons.generated/Show.d.ts +1 -1
  547. package/dist/src/icons.generated/SmartCard.d.ts +16 -0
  548. package/dist/src/icons.generated/SmartCard.d.ts.map +1 -0
  549. package/dist/src/icons.generated/Sms.d.ts +16 -0
  550. package/dist/src/icons.generated/Sms.d.ts.map +1 -0
  551. package/dist/src/icons.generated/Subtract.d.ts +1 -1
  552. package/dist/src/icons.generated/SymantecVip.d.ts +16 -0
  553. package/dist/src/icons.generated/SymantecVip.d.ts.map +1 -0
  554. package/dist/src/icons.generated/Sync.d.ts +1 -1
  555. package/dist/src/icons.generated/ThumbsDown.d.ts +16 -0
  556. package/dist/src/icons.generated/ThumbsDown.d.ts.map +1 -0
  557. package/dist/src/icons.generated/ThumbsUp.d.ts +16 -0
  558. package/dist/src/icons.generated/ThumbsUp.d.ts.map +1 -0
  559. package/dist/src/icons.generated/Unlock.d.ts +1 -1
  560. package/dist/src/icons.generated/Upload.d.ts +1 -1
  561. package/dist/src/icons.generated/User.d.ts +1 -1
  562. package/dist/src/icons.generated/Video.d.ts +1 -1
  563. package/dist/src/icons.generated/VoiceCall.d.ts +16 -0
  564. package/dist/src/icons.generated/VoiceCall.d.ts.map +1 -0
  565. package/dist/src/icons.generated/Warning.d.ts +1 -1
  566. package/dist/src/icons.generated/WarningFilled.d.ts +1 -1
  567. package/dist/src/icons.generated/Yubikey.d.ts +16 -0
  568. package/dist/src/icons.generated/Yubikey.d.ts.map +1 -0
  569. package/dist/src/icons.generated/index.d.ts +18 -0
  570. package/dist/src/icons.generated/index.d.ts.map +1 -1
  571. package/dist/src/index.d.ts +7 -2
  572. package/dist/src/index.d.ts.map +1 -1
  573. package/dist/src/inputUtils.d.ts.map +1 -1
  574. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts +23 -0
  575. package/dist/src/labs/DataComponents/BulkActionsMenu.d.ts.map +1 -0
  576. package/dist/src/labs/DataComponents/DataStack.d.ts +21 -0
  577. package/dist/src/labs/DataComponents/DataStack.d.ts.map +1 -0
  578. package/dist/src/labs/DataComponents/DataTable.d.ts +17 -0
  579. package/dist/src/labs/DataComponents/DataTable.d.ts.map +1 -0
  580. package/dist/src/labs/DataComponents/DataView.d.ts +17 -0
  581. package/dist/src/labs/DataComponents/DataView.d.ts.map +1 -0
  582. package/dist/src/labs/DataComponents/DetailPanel.d.ts +20 -0
  583. package/dist/src/labs/DataComponents/DetailPanel.d.ts.map +1 -0
  584. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts +21 -0
  585. package/dist/src/labs/DataComponents/LayoutSwitcher.d.ts.map +1 -0
  586. package/dist/src/labs/DataComponents/RowActions.d.ts +31 -0
  587. package/dist/src/labs/DataComponents/RowActions.d.ts.map +1 -0
  588. package/dist/src/labs/DataComponents/StackCard.d.ts +36 -0
  589. package/dist/src/labs/DataComponents/StackCard.d.ts.map +1 -0
  590. package/dist/src/labs/DataComponents/StackContent.d.ts +64 -0
  591. package/dist/src/labs/DataComponents/StackContent.d.ts.map +1 -0
  592. package/dist/src/labs/DataComponents/TableContent.d.ts +66 -0
  593. package/dist/src/labs/DataComponents/TableContent.d.ts.map +1 -0
  594. package/dist/src/labs/DataComponents/TableSettings.d.ts +21 -0
  595. package/dist/src/labs/DataComponents/TableSettings.d.ts.map +1 -0
  596. package/dist/src/labs/DataComponents/componentTypes.d.ts +81 -0
  597. package/dist/src/labs/DataComponents/componentTypes.d.ts.map +1 -0
  598. package/dist/src/labs/DataComponents/constants.d.ts +16 -0
  599. package/dist/src/labs/DataComponents/constants.d.ts.map +1 -0
  600. package/dist/src/labs/DataComponents/dataTypes.d.ts +52 -0
  601. package/dist/src/labs/DataComponents/dataTypes.d.ts.map +1 -0
  602. package/dist/src/labs/DataComponents/fetchData.d.ts +26 -0
  603. package/dist/src/labs/DataComponents/fetchData.d.ts.map +1 -0
  604. package/dist/src/labs/DataComponents/index.d.ts +18 -0
  605. package/dist/src/labs/DataComponents/index.d.ts.map +1 -0
  606. package/dist/src/labs/DataComponents/tableConstants.d.ts +100 -0
  607. package/dist/src/labs/DataComponents/tableConstants.d.ts.map +1 -0
  608. package/dist/src/labs/DataComponents/useFilterConversion.d.ts +20 -0
  609. package/dist/src/labs/DataComponents/useFilterConversion.d.ts.map +1 -0
  610. package/dist/src/labs/DataFilters.d.ts +14 -7
  611. package/dist/src/labs/DataFilters.d.ts.map +1 -1
  612. package/dist/src/labs/DateField.d.ts +23 -0
  613. package/dist/src/labs/DateField.d.ts.map +1 -0
  614. package/dist/src/labs/DatePicker.d.ts +31 -8
  615. package/dist/src/labs/DatePicker.d.ts.map +1 -1
  616. package/dist/src/labs/FileUpload.d.ts +2 -2
  617. package/dist/src/labs/FileUpload.d.ts.map +1 -1
  618. package/dist/src/labs/FileUploadPreview.d.ts.map +1 -1
  619. package/dist/src/labs/GroupPicker.d.ts.map +1 -1
  620. package/dist/src/labs/Layout.d.ts +28 -0
  621. package/dist/src/labs/Layout.d.ts.map +1 -0
  622. package/dist/src/labs/NavAccordion.d.ts +52 -0
  623. package/dist/src/labs/NavAccordion.d.ts.map +1 -0
  624. package/dist/src/labs/PageTemplate.d.ts +57 -0
  625. package/dist/src/labs/PageTemplate.d.ts.map +1 -0
  626. package/dist/src/labs/PaginatedTable.d.ts.map +1 -1
  627. package/dist/src/labs/SideNav.d.ts +120 -0
  628. package/dist/src/labs/SideNav.d.ts.map +1 -0
  629. package/dist/src/labs/StaticTable.d.ts.map +1 -1
  630. package/dist/src/labs/Switch.d.ts +3 -7
  631. package/dist/src/labs/Switch.d.ts.map +1 -1
  632. package/dist/src/labs/datePickerTheme.d.ts.map +1 -1
  633. package/dist/src/labs/index.d.ts +5 -1
  634. package/dist/src/labs/index.d.ts.map +1 -1
  635. package/dist/src/labs/useDatePickerTranslations.d.ts +15 -0
  636. package/dist/src/labs/useDatePickerTranslations.d.ts.map +1 -0
  637. package/dist/src/properties/ts/odyssey-react-mui.d.ts +66 -8
  638. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  639. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +77 -2
  640. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  641. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +77 -2
  642. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  643. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +77 -2
  644. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  645. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +77 -2
  646. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  647. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +77 -2
  648. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  649. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +77 -2
  650. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  651. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +77 -2
  652. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  653. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +98 -0
  654. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -0
  655. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +77 -2
  656. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  657. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +77 -2
  658. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  659. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +77 -2
  660. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  661. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +77 -2
  662. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  663. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +77 -2
  664. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  665. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +77 -2
  666. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  667. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +77 -2
  668. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  669. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +77 -2
  670. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  671. package/dist/src/properties/ts/odyssey-react-mui_ok_PL.d.ts +33 -2
  672. package/dist/src/properties/ts/odyssey-react-mui_ok_PL.d.ts.map +1 -1
  673. package/dist/src/properties/ts/odyssey-react-mui_ok_SK.d.ts +33 -2
  674. package/dist/src/properties/ts/odyssey-react-mui_ok_SK.d.ts.map +1 -1
  675. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +77 -2
  676. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  677. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +77 -2
  678. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  679. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +77 -2
  680. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  681. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +77 -2
  682. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  683. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +77 -2
  684. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  685. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +77 -2
  686. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  687. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +77 -2
  688. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  689. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +77 -2
  690. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  691. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +77 -2
  692. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  693. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +77 -2
  694. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  695. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +77 -2
  696. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  697. package/dist/src/remUtils.d.ts +24 -0
  698. package/dist/src/remUtils.d.ts.map +1 -0
  699. package/dist/src/test-selectors/featureTestSelector.d.ts +31 -0
  700. package/dist/src/test-selectors/featureTestSelector.d.ts.map +1 -0
  701. package/dist/src/test-selectors/index.d.ts +15 -0
  702. package/dist/src/test-selectors/index.d.ts.map +1 -0
  703. package/dist/src/test-selectors/odysseyTestSelectors.d.ts +120 -0
  704. package/dist/src/test-selectors/odysseyTestSelectors.d.ts.map +1 -0
  705. package/dist/src/test-selectors/querySelector.d.ts +3632 -0
  706. package/dist/src/test-selectors/querySelector.d.ts.map +1 -0
  707. package/dist/src/theme/components.d.ts +1 -1
  708. package/dist/src/theme/components.d.ts.map +1 -1
  709. package/dist/src/theme/components.types.d.ts +5 -3
  710. package/dist/src/theme/components.types.d.ts.map +1 -1
  711. package/dist/src/theme/createOdysseyMuiTheme.d.ts +1 -1
  712. package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
  713. package/dist/src/theme/mixins.d.ts.map +1 -1
  714. package/dist/src/theme/palette.d.ts.map +1 -1
  715. package/dist/src/theme/shape.d.ts.map +1 -1
  716. package/dist/src/theme/spacing.d.ts.map +1 -1
  717. package/dist/src/theme/typography.d.ts.map +1 -1
  718. package/dist/test-selectors/featureTestSelector.js +2 -0
  719. package/dist/test-selectors/featureTestSelector.js.map +1 -0
  720. package/dist/test-selectors/index.js +15 -0
  721. package/dist/test-selectors/index.js.map +1 -0
  722. package/dist/test-selectors/odysseyTestSelectors.js +20 -0
  723. package/dist/test-selectors/odysseyTestSelectors.js.map +1 -0
  724. package/dist/test-selectors/querySelector.js +78 -0
  725. package/dist/test-selectors/querySelector.js.map +1 -0
  726. package/dist/test-selectors/testSelectors.json +1 -0
  727. package/dist/theme/components.js +261 -181
  728. package/dist/theme/components.js.map +1 -1
  729. package/dist/theme/components.types.js.map +1 -1
  730. package/dist/tsconfig.production.tsbuildinfo +1 -1
  731. package/dist/tsconfig.tsbuildinfo +1 -0
  732. package/i18n.config.json +3 -1
  733. package/package.json +13 -5
  734. package/scripts/generateTestSelectorsJson.ts +28 -0
  735. package/src/Accordion.tsx +3 -0
  736. package/src/Autocomplete.tsx +13 -0
  737. package/src/Badge.tsx +4 -3
  738. package/src/Banner.tsx +4 -4
  739. package/src/Button.tsx +30 -16
  740. package/src/Callout.tsx +59 -12
  741. package/src/{Tile.tsx → Card.tsx} +63 -57
  742. package/src/DataTable/DataTable.tsx +195 -108
  743. package/src/DataTable/DataTableRowActions.tsx +1 -1
  744. package/src/DataTable/constants.ts +0 -1
  745. package/src/DataTable/index.tsx +2 -2
  746. package/src/Dialog.tsx +38 -13
  747. package/src/{labs/Drawer.tsx → Drawer.tsx} +10 -9
  748. package/src/{DataTable/DataTableEmptyState.tsx → EmptyState.tsx} +34 -19
  749. package/src/ErrorMessageList.tsx +6 -1
  750. package/src/FieldError.tsx +10 -5
  751. package/src/HtmlProps.ts +1 -0
  752. package/src/MenuItem.tsx +1 -0
  753. package/src/OdysseyCacheProvider.tsx +11 -3
  754. package/src/OdysseyProvider.tsx +1 -1
  755. package/src/OdysseyTranslationProvider.tsx +1 -17
  756. package/src/{DataTable/DataTablePagination.tsx → Pagination/Pagination.tsx} +107 -74
  757. package/src/Pagination/constants.ts +13 -0
  758. package/src/Pagination/index.ts +15 -0
  759. package/src/Pagination/usePagination.ts +49 -0
  760. package/src/Radio.tsx +18 -6
  761. package/src/ScreenReaderText.tsx +15 -3
  762. package/src/Select.tsx +84 -92
  763. package/src/Status.tsx +14 -2
  764. package/src/Surface.tsx +48 -0
  765. package/src/Tabs.tsx +24 -0
  766. package/src/TextField.tsx +50 -0
  767. package/src/Toast.tsx +44 -40
  768. package/src/icons.generated/Add.tsx +1 -1
  769. package/src/icons.generated/AddCircle.tsx +1 -1
  770. package/src/icons.generated/Apps.tsx +1 -1
  771. package/src/icons.generated/ArrowBottom.tsx +2 -2
  772. package/src/icons.generated/ArrowDown.tsx +1 -1
  773. package/src/icons.generated/ArrowLeft.tsx +1 -1
  774. package/src/icons.generated/ArrowLowerLeft.tsx +1 -1
  775. package/src/icons.generated/ArrowLowerRight.tsx +1 -1
  776. package/src/icons.generated/ArrowRight.tsx +1 -1
  777. package/src/icons.generated/ArrowTop.tsx +2 -2
  778. package/src/icons.generated/ArrowUnsorted.tsx +1 -1
  779. package/src/icons.generated/ArrowUp.tsx +1 -1
  780. package/src/icons.generated/ArrowUpperLeft.tsx +1 -1
  781. package/src/icons.generated/ArrowUpperRight.tsx +1 -1
  782. package/src/icons.generated/Bug.tsx +1 -1
  783. package/src/icons.generated/Calendar.tsx +1 -1
  784. package/src/icons.generated/Call.tsx +1 -1
  785. package/src/icons.generated/Chat.tsx +1 -1
  786. package/src/icons.generated/Check.tsx +1 -1
  787. package/src/icons.generated/CheckCircleFilled.tsx +1 -1
  788. package/src/icons.generated/ChevronDown.tsx +1 -1
  789. package/src/icons.generated/ChevronLeft.tsx +1 -1
  790. package/src/icons.generated/ChevronRight.tsx +1 -1
  791. package/src/icons.generated/ChevronUp.tsx +1 -1
  792. package/src/icons.generated/Clock.tsx +1 -1
  793. package/src/icons.generated/Close.tsx +1 -1
  794. package/src/icons.generated/CloseCircleFilled.tsx +1 -1
  795. package/src/icons.generated/CollapseLeft.tsx +1 -1
  796. package/src/icons.generated/CollapseRight.tsx +1 -1
  797. package/src/icons.generated/Copy.tsx +1 -1
  798. package/src/icons.generated/Custom.tsx +49 -0
  799. package/src/icons.generated/DangerDiamond.tsx +1 -1
  800. package/src/icons.generated/DangerDiamondFilled.tsx +1 -1
  801. package/src/icons.generated/Delete.tsx +1 -1
  802. package/src/icons.generated/Deny.tsx +1 -1
  803. package/src/icons.generated/Devices.tsx +1 -1
  804. package/src/icons.generated/Directory.tsx +1 -1
  805. package/src/icons.generated/Documentation.tsx +1 -1
  806. package/src/icons.generated/Download.tsx +1 -1
  807. package/src/icons.generated/DragIndicator.tsx +1 -1
  808. package/src/icons.generated/Duo.tsx +59 -0
  809. package/src/icons.generated/Edit.tsx +1 -1
  810. package/src/icons.generated/Email.tsx +48 -0
  811. package/src/icons.generated/ExpandLeft.tsx +1 -1
  812. package/src/icons.generated/ExpandRight.tsx +1 -1
  813. package/src/icons.generated/ExternalLink.tsx +1 -1
  814. package/src/icons.generated/Fido2.tsx +71 -0
  815. package/src/icons.generated/Filter.tsx +1 -1
  816. package/src/icons.generated/Folder.tsx +1 -1
  817. package/src/icons.generated/Globe.tsx +1 -1
  818. package/src/icons.generated/GoogleAuth.tsx +67 -0
  819. package/src/icons.generated/Grid.tsx +1 -1
  820. package/src/icons.generated/Group.tsx +1 -1
  821. package/src/icons.generated/Hide.tsx +1 -1
  822. package/src/icons.generated/Home.tsx +1 -1
  823. package/src/icons.generated/Idp.tsx +51 -0
  824. package/src/icons.generated/InformationCircle.tsx +1 -1
  825. package/src/icons.generated/InformationCircleFilled.tsx +1 -1
  826. package/src/icons.generated/Link.tsx +1 -1
  827. package/src/icons.generated/List.tsx +1 -1
  828. package/src/icons.generated/Lock.tsx +1 -1
  829. package/src/icons.generated/More.tsx +1 -1
  830. package/src/icons.generated/Notification.tsx +1 -1
  831. package/src/icons.generated/OktaVerify.tsx +43 -0
  832. package/src/icons.generated/OnPremMfa.tsx +49 -0
  833. package/src/icons.generated/OneTimePassword.tsx +63 -0
  834. package/src/icons.generated/Password.tsx +77 -0
  835. package/src/icons.generated/Pause.tsx +1 -1
  836. package/src/icons.generated/QuestionCircle.tsx +1 -1
  837. package/src/icons.generated/QuestionCircleFilled.tsx +1 -1
  838. package/src/icons.generated/Refresh.tsx +1 -1
  839. package/src/icons.generated/Reset.tsx +1 -1
  840. package/src/icons.generated/Resume.tsx +1 -1
  841. package/src/icons.generated/Search.tsx +1 -1
  842. package/src/icons.generated/SecurityQuestion.tsx +48 -0
  843. package/src/icons.generated/Server.tsx +1 -1
  844. package/src/icons.generated/Settings.tsx +1 -1
  845. package/src/icons.generated/Show.tsx +1 -1
  846. package/src/icons.generated/SmartCard.tsx +62 -0
  847. package/src/icons.generated/Sms.tsx +52 -0
  848. package/src/icons.generated/Subtract.tsx +1 -1
  849. package/src/icons.generated/SymantecVip.tsx +49 -0
  850. package/src/icons.generated/Sync.tsx +1 -1
  851. package/src/icons.generated/ThumbsDown.tsx +43 -0
  852. package/src/icons.generated/ThumbsUp.tsx +43 -0
  853. package/src/icons.generated/Unlock.tsx +1 -1
  854. package/src/icons.generated/Upload.tsx +1 -1
  855. package/src/icons.generated/User.tsx +1 -1
  856. package/src/icons.generated/Video.tsx +1 -1
  857. package/src/icons.generated/VoiceCall.tsx +59 -0
  858. package/src/icons.generated/Warning.tsx +1 -1
  859. package/src/icons.generated/WarningFilled.tsx +1 -1
  860. package/src/icons.generated/Yubikey.tsx +41 -0
  861. package/src/icons.generated/index.ts +18 -0
  862. package/src/index.ts +7 -2
  863. package/src/labs/DataComponents/BulkActionsMenu.tsx +97 -0
  864. package/src/labs/DataComponents/DataStack.tsx +99 -0
  865. package/src/labs/DataComponents/DataTable.tsx +111 -0
  866. package/src/labs/DataComponents/DataView.tsx +394 -0
  867. package/src/labs/DataComponents/DetailPanel.tsx +31 -0
  868. package/src/labs/DataComponents/LayoutSwitcher.tsx +73 -0
  869. package/src/labs/DataComponents/RowActions.tsx +122 -0
  870. package/src/labs/DataComponents/StackCard.tsx +256 -0
  871. package/src/labs/DataComponents/StackContent.tsx +254 -0
  872. package/src/labs/DataComponents/TableContent.tsx +390 -0
  873. package/src/labs/DataComponents/TableSettings.tsx +138 -0
  874. package/src/labs/DataComponents/componentTypes.ts +111 -0
  875. package/src/labs/DataComponents/constants.tsx +20 -0
  876. package/src/labs/DataComponents/dataTypes.ts +77 -0
  877. package/src/labs/DataComponents/fetchData.ts +47 -0
  878. package/src/labs/DataComponents/index.tsx +19 -0
  879. package/src/labs/DataComponents/tableConstants.tsx +162 -0
  880. package/src/labs/DataComponents/useFilterConversion.ts +92 -0
  881. package/src/labs/DataFilters.tsx +250 -162
  882. package/src/labs/DateField.tsx +119 -0
  883. package/src/labs/DatePicker.tsx +304 -31
  884. package/src/labs/{DatePicker.types.ts → DatePicker.types.d.ts} +0 -10
  885. package/src/labs/FileUpload.tsx +30 -21
  886. package/src/labs/FileUploadIllustration.tsx +1 -1
  887. package/src/labs/FileUploadPreview.tsx +1 -0
  888. package/src/labs/Layout.tsx +85 -0
  889. package/src/labs/NavAccordion.tsx +133 -0
  890. package/src/labs/PageTemplate.tsx +225 -0
  891. package/src/labs/SideNav.tsx +745 -0
  892. package/src/labs/Switch.tsx +240 -119
  893. package/src/labs/datePickerTheme.tsx +119 -83
  894. package/src/labs/index.ts +7 -1
  895. package/src/labs/useDatePickerTranslations.ts +92 -0
  896. package/src/properties/odyssey-react-mui.properties +76 -10
  897. package/src/properties/translations/odyssey-react-mui_cs.properties +92 -2
  898. package/src/properties/translations/odyssey-react-mui_da.properties +92 -2
  899. package/src/properties/translations/odyssey-react-mui_de.properties +92 -2
  900. package/src/properties/translations/odyssey-react-mui_el.properties +92 -2
  901. package/src/properties/translations/odyssey-react-mui_es.properties +92 -2
  902. package/src/properties/translations/odyssey-react-mui_fi.properties +92 -2
  903. package/src/properties/translations/odyssey-react-mui_fr.properties +92 -2
  904. package/src/properties/translations/odyssey-react-mui_ht.properties +112 -0
  905. package/src/properties/translations/odyssey-react-mui_hu.properties +92 -2
  906. package/src/properties/translations/odyssey-react-mui_id.properties +92 -2
  907. package/src/properties/translations/odyssey-react-mui_it.properties +92 -2
  908. package/src/properties/translations/odyssey-react-mui_ja.properties +92 -2
  909. package/src/properties/translations/odyssey-react-mui_ko.properties +92 -2
  910. package/src/properties/translations/odyssey-react-mui_ms.properties +92 -2
  911. package/src/properties/translations/odyssey-react-mui_nb.properties +92 -2
  912. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +92 -2
  913. package/src/properties/translations/odyssey-react-mui_ok_PL.properties +33 -2
  914. package/src/properties/translations/odyssey-react-mui_ok_SK.properties +33 -2
  915. package/src/properties/translations/odyssey-react-mui_pl.properties +92 -2
  916. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +92 -2
  917. package/src/properties/translations/odyssey-react-mui_ro.properties +92 -2
  918. package/src/properties/translations/odyssey-react-mui_ru.properties +92 -2
  919. package/src/properties/translations/odyssey-react-mui_sv.properties +92 -2
  920. package/src/properties/translations/odyssey-react-mui_th.properties +92 -2
  921. package/src/properties/translations/odyssey-react-mui_tr.properties +92 -2
  922. package/src/properties/translations/odyssey-react-mui_uk.properties +92 -2
  923. package/src/properties/translations/odyssey-react-mui_vi.properties +92 -2
  924. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +92 -2
  925. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +92 -2
  926. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  927. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
  928. package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
  929. package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
  930. package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
  931. package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
  932. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
  933. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
  934. package/src/properties/ts/odyssey-react-mui_ht.ts +1 -0
  935. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
  936. package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
  937. package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
  938. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
  939. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
  940. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
  941. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
  942. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
  943. package/src/properties/ts/odyssey-react-mui_ok_PL.ts +1 -1
  944. package/src/properties/ts/odyssey-react-mui_ok_SK.ts +1 -1
  945. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
  946. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
  947. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
  948. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
  949. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
  950. package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
  951. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
  952. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
  953. package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
  954. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
  955. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
  956. package/src/remUtils.ts +27 -0
  957. package/src/test-selectors/featureTestSelector.ts +41 -0
  958. package/src/test-selectors/index.ts +15 -0
  959. package/src/test-selectors/odysseyTestSelectors.ts +22 -0
  960. package/src/test-selectors/querySelector.ts +198 -0
  961. package/src/theme/components.tsx +285 -192
  962. package/src/theme/components.types.ts +5 -3
  963. package/dist/DataTable/DataTableEmptyState.js.map +0 -1
  964. package/dist/DataTable/DataTablePagination.js.map +0 -1
  965. package/dist/Tile.js.map +0 -1
  966. package/dist/labs/DatePicker.types.js.map +0 -1
  967. package/dist/labs/Drawer.js.map +0 -1
  968. package/dist/src/DataTable/DataTableEmptyState.d.ts.map +0 -1
  969. package/dist/src/DataTable/DataTablePagination.d.ts +0 -33
  970. package/dist/src/DataTable/DataTablePagination.d.ts.map +0 -1
  971. package/dist/src/Tile.d.ts.map +0 -1
  972. package/dist/src/labs/DatePicker.types.d.ts.map +0 -1
  973. package/dist/src/labs/Drawer.d.ts.map +0 -1
@@ -1,5 +1,4 @@
1
- import _FormControlLabel from "@mui/material/FormControlLabel";
2
- import _Switch from "@mui/material/Switch";
1
+ import _FormLabel from "@mui/material/FormLabel";
3
2
  /*!
4
3
  * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.
5
4
  * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
@@ -14,72 +13,167 @@ import _Switch from "@mui/material/Switch";
14
13
 
15
14
  import { memo, useCallback, useEffect, useMemo, useRef, useState } from "react";
16
15
  import { useTranslation } from "react-i18next";
17
- import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
16
+ import styled from "@emotion/styled";
18
17
  import { Box } from "../Box.js";
19
18
  import { FieldHint } from "../FieldHint.js";
20
- import { useUniqueId } from "../useUniqueId.js";
19
+ import { CheckIcon } from "../icons.generated/index.js";
21
20
  import { ComponentControlledState, getControlState } from "../inputUtils.js";
21
+ import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
22
+ import { stripRem, toRem } from "../remUtils.js";
23
+ import { useUniqueId } from "../useUniqueId.js";
22
24
  import { jsx as _jsx } from "react/jsx-runtime";
23
25
  import { jsxs as _jsxs } from "react/jsx-runtime";
24
26
  import { Fragment as _Fragment } from "react/jsx-runtime";
25
27
  const {
26
28
  CONTROLLED
27
29
  } = ComponentControlledState;
30
+ const nonForwardedProps = ["isChecked", "isDisabled", "isFullWidth", "odysseyDesignTokens"];
31
+ const SwitchAndLabelContainer = styled("div", {
32
+ shouldForwardProp: prop => !nonForwardedProps.includes(prop)
33
+ })(({
34
+ isFullWidth,
35
+ odysseyDesignTokens
36
+ }) => ({
37
+ display: "flex",
38
+ alignItems: "flex-start",
39
+ justifyContent: "space-between",
40
+ maxWidth: isFullWidth ? "100%" : odysseyDesignTokens.TypographyLineLengthMax
41
+ }));
42
+ const SwitchContainer = styled.div({
43
+ position: "relative"
44
+ });
45
+ const StyledSwitchLabel = styled(_FormLabel, {
46
+ shouldForwardProp: prop => !nonForwardedProps.includes(prop)
47
+ })(({
48
+ isDisabled,
49
+ odysseyDesignTokens
50
+ }) => ({
51
+ display: "block",
52
+ margin: 0,
53
+ color: isDisabled ? odysseyDesignTokens.TypographyColorDisabled : odysseyDesignTokens.PaletteNeutralDark,
54
+ ...(isDisabled && {
55
+ p: {
56
+ color: odysseyDesignTokens.TypographyColorDisabled
57
+ },
58
+ a: {
59
+ color: `${odysseyDesignTokens.TypographyColorDisabled} !important`
60
+ }
61
+ })
62
+ }));
63
+ const SwitchTrack = styled("div", {
64
+ shouldForwardProp: prop => !nonForwardedProps.includes(prop)
65
+ })(({
66
+ isChecked,
67
+ isDisabled,
68
+ odysseyDesignTokens
69
+ }) => ({
70
+ position: "relative",
71
+ width: odysseyDesignTokens.Spacing7,
72
+ height: `calc(${odysseyDesignTokens.Spacing4} + ${odysseyDesignTokens.Spacing1})`,
73
+ borderRadius: odysseyDesignTokens.BorderRadiusOuter,
74
+ backgroundColor: isDisabled ? odysseyDesignTokens.HueNeutral200 : isChecked ? odysseyDesignTokens.PaletteSuccessLight : odysseyDesignTokens.HueNeutral300,
75
+ transition: `background-color ${odysseyDesignTokens.TransitionDurationMain}`
76
+ }));
77
+ const SwitchThumb = styled("span", {
78
+ shouldForwardProp: prop => !nonForwardedProps.includes(prop)
79
+ })(({
80
+ isChecked,
81
+ isDisabled,
82
+ odysseyDesignTokens
83
+ }) => {
84
+ const thumbOffset = toRem(3);
85
+ const trackWidth = stripRem(odysseyDesignTokens.Spacing7);
86
+ const thumbWidth = stripRem(odysseyDesignTokens.Spacing4) - toRem(2);
87
+ const transformDistance = trackWidth - thumbWidth - thumbOffset * 2;
88
+ return {
89
+ position: "absolute",
90
+ top: "50%",
91
+ left: `${thumbOffset}rem`,
92
+ width: `calc(${odysseyDesignTokens.Spacing4} - ${toRem(2)}rem)`,
93
+ height: `calc(${odysseyDesignTokens.Spacing4} - ${toRem(2)}rem)`,
94
+ borderRadius: odysseyDesignTokens.BorderRadiusRound,
95
+ backgroundColor: isDisabled ? odysseyDesignTokens.HueNeutral50 : odysseyDesignTokens.HueNeutralWhite,
96
+ transform: isChecked ? `translate3d(${transformDistance}rem, -50%, 0)` : "translate3d(0, -50%, 0)",
97
+ transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`
98
+ };
99
+ });
100
+ const SwitchCheckMark = styled(CheckIcon, {
101
+ shouldForwardProp: prop => !nonForwardedProps.includes(prop)
102
+ })(({
103
+ isChecked,
104
+ isDisabled,
105
+ odysseyDesignTokens
106
+ }) => ({
107
+ position: "absolute",
108
+ top: "50%",
109
+ left: 3,
110
+ width: odysseyDesignTokens.Spacing4,
111
+ transform: "translateY(-50%)",
112
+ transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}`,
113
+ opacity: isChecked ? 1 : 0,
114
+ path: {
115
+ fill: isDisabled ? odysseyDesignTokens.HueNeutral50 : odysseyDesignTokens.HueNeutralWhite
116
+ }
117
+ }));
118
+ const HiddenCheckbox = styled.input(({
119
+ odysseyDesignTokens
120
+ }) => ({
121
+ position: "absolute",
122
+ top: 0,
123
+ left: 0,
124
+ width: "100%",
125
+ height: "100%",
126
+ margin: 0,
127
+ opacity: 0,
128
+ cursor: "pointer",
129
+ zIndex: 2,
130
+ "&:focus-visible": {
131
+ "~ [data-switch-track='true']": {
132
+ boxShadow: `0 0 0 2px ${odysseyDesignTokens.HueNeutralWhite}, 0 0 0 4px ${odysseyDesignTokens.PalettePrimaryMain}`
133
+ }
134
+ }
135
+ }));
28
136
  const SwitchLabel = ({
29
- checked,
30
137
  hint,
31
138
  hintId,
32
- isFullWidth,
139
+ HintLinkComponent,
140
+ inputId,
141
+ isDisabled,
33
142
  label
34
143
  }) => {
35
144
  const odysseyDesignTokens = useOdysseyDesignTokens();
36
- const {
37
- t
38
- } = useTranslation();
39
- return _jsxs(_Fragment, {
40
- children: [_jsxs(Box, {
41
- sx: {
42
- display: "flex",
43
- alignItems: "center",
44
- flexWrap: "wrap",
45
- gap: odysseyDesignTokens.Spacing1,
46
- margin: 0,
47
- maxWidth: isFullWidth ? "100%" : odysseyDesignTokens.TypographyLineLengthMax,
48
- fontWeight: odysseyDesignTokens.TypographyWeightBodyBold
49
- },
50
- children: [label, _jsx(Box, {
51
- sx: {
52
- padding: "2px 4px",
53
- backgroundColor: checked ? odysseyDesignTokens.PaletteSuccessLighter : odysseyDesignTokens.HueNeutral100,
54
- borderRadius: odysseyDesignTokens.BorderRadiusMain,
55
- color: checked ? odysseyDesignTokens.PaletteSuccessText : odysseyDesignTokens.HueNeutral700,
56
- fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,
57
- fontSize: odysseyDesignTokens.TypographyScale0,
58
- lineHeight: odysseyDesignTokens.TypographyLineHeightOverline,
59
- transitionProperty: "background-color, color",
60
- transitionDuration: odysseyDesignTokens.TransitionDurationMain
61
- },
62
- children: checked ? t("switch.active") : t("switch.inactive")
145
+ return _jsx(_Fragment, {
146
+ children: _jsxs(StyledSwitchLabel, {
147
+ htmlFor: inputId,
148
+ isDisabled: isDisabled,
149
+ odysseyDesignTokens: odysseyDesignTokens,
150
+ children: [label, hint && _jsx(FieldHint, {
151
+ id: hintId,
152
+ text: hint,
153
+ LinkComponent: HintLinkComponent
63
154
  })]
64
- }), hint && _jsx(FieldHint, {
65
- id: hintId,
66
- text: hint
67
- })]
155
+ })
68
156
  });
69
157
  };
158
+ const MemoizedSwitchLabel = memo(SwitchLabel);
159
+ SwitchLabel.displayName = "SwitchLabel";
70
160
  const Switch = ({
71
161
  hint,
72
- id: _id,
162
+ HintLinkComponent,
163
+ id: idProp,
73
164
  isChecked,
74
165
  isDefaultChecked,
75
166
  isDisabled,
76
167
  isFullWidth = false,
77
168
  label,
78
- name: _name,
169
+ name,
79
170
  onChange,
80
171
  testId,
81
- value = "Something"
172
+ value
82
173
  }) => {
174
+ const {
175
+ t
176
+ } = useTranslation();
83
177
  const odysseyDesignTokens = useOdysseyDesignTokens();
84
178
  const controlledStateRef = useRef(getControlState({
85
179
  controlledValue: isChecked,
@@ -101,55 +195,70 @@ const Switch = ({
101
195
  setInternalSwitchChecked(Boolean(isChecked));
102
196
  }
103
197
  }, [isChecked]);
104
- const id = useUniqueId(_id);
105
- const hintId = hint ? `${id}-hint` : undefined;
106
- const labelElementId = `${id}-label`;
107
- const handleOnChange = useCallback((_, checked) => {
198
+ const inputId = useUniqueId(idProp);
199
+ const hintId = hint ? `${inputId}-hint` : undefined;
200
+ const labelElementId = `${inputId}-label`;
201
+ const handleOnChange = useCallback(event => {
202
+ const target = event.target;
203
+ const {
204
+ checked,
205
+ value
206
+ } = target;
108
207
  setInternalSwitchChecked(checked);
109
208
  onChange?.({
110
209
  checked,
111
210
  value
112
211
  });
113
- }, [onChange, setInternalSwitchChecked, value]);
114
- const renderSwitchComponent = useMemo(() => _jsx(_Switch, {
115
- ...inputValues,
116
- disabled: isDisabled,
117
- disableRipple: true,
118
- inputProps: {
119
- "aria-checked": internalSwitchChecked,
120
- "aria-describedby": hintId,
121
- "aria-label": label,
122
- "aria-labelledby": labelElementId,
123
- "data-se": testId
124
- },
125
- name: _name ?? id,
126
- onChange: handleOnChange
127
- }), [handleOnChange, hintId, inputValues, internalSwitchChecked, id, isDisabled, label, labelElementId, _name, testId]);
212
+ }, [onChange, setInternalSwitchChecked]);
128
213
  return _jsx(Box, {
129
214
  sx: {
130
- marginBlockEnd: odysseyDesignTokens.Spacing2
215
+ marginBlockEnd: odysseyDesignTokens.Spacing2,
216
+ "&:last-child": {
217
+ marginBlockEnd: 0
218
+ }
131
219
  },
132
- children: _jsx(_FormControlLabel, {
133
- checked: internalSwitchChecked,
134
- control: renderSwitchComponent,
135
- disabled: isDisabled,
136
- id: labelElementId,
137
- label: _jsx(SwitchLabel, {
138
- checked: internalSwitchChecked,
220
+ children: _jsxs(SwitchAndLabelContainer, {
221
+ isFullWidth: isFullWidth,
222
+ odysseyDesignTokens: odysseyDesignTokens,
223
+ children: [_jsx(MemoizedSwitchLabel, {
139
224
  hint: hint,
140
225
  hintId: hintId,
226
+ HintLinkComponent: HintLinkComponent,
227
+ inputId: inputId,
228
+ isDisabled: isDisabled,
141
229
  isFullWidth: isFullWidth,
142
230
  label: label
143
- }),
144
- labelPlacement: "start",
145
- sx: {
146
- justifyContent: "space-between",
147
- alignItems: "flex-start",
148
- gap: odysseyDesignTokens.Spacing4,
149
- width: "100%",
150
- maxWidth: isFullWidth ? "100%" : odysseyDesignTokens.TypographyLineLengthMax
151
- },
152
- value: value
231
+ }), _jsxs(SwitchContainer, {
232
+ children: [_jsx(HiddenCheckbox, {
233
+ ...inputValues,
234
+ "aria-checked": internalSwitchChecked,
235
+ "aria-describedby": hintId,
236
+ "aria-label": internalSwitchChecked ? `${label}: ${t("switch.active")}` : `${label}: ${t("switch.inactive")}`,
237
+ "aria-labelledby": labelElementId,
238
+ "data-se": testId,
239
+ disabled: isDisabled,
240
+ id: inputId,
241
+ name: name ?? inputId,
242
+ onChange: handleOnChange,
243
+ odysseyDesignTokens: odysseyDesignTokens,
244
+ type: "checkbox",
245
+ value: value
246
+ }), _jsxs(SwitchTrack, {
247
+ "data-switch-track": true,
248
+ isChecked: internalSwitchChecked,
249
+ isDisabled: isDisabled,
250
+ odysseyDesignTokens: odysseyDesignTokens,
251
+ children: [_jsx(SwitchThumb, {
252
+ isChecked: internalSwitchChecked,
253
+ isDisabled: isDisabled,
254
+ odysseyDesignTokens: odysseyDesignTokens
255
+ }), _jsx(SwitchCheckMark, {
256
+ isChecked: internalSwitchChecked,
257
+ isDisabled: isDisabled,
258
+ odysseyDesignTokens: odysseyDesignTokens
259
+ })]
260
+ })]
261
+ })]
153
262
  })
154
263
  });
155
264
  };
@@ -1 +1 @@
1
- {"version":3,"file":"Switch.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","useTranslation","useOdysseyDesignTokens","Box","FieldHint","useUniqueId","ComponentControlledState","getControlState","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CONTROLLED","SwitchLabel","checked","hint","hintId","isFullWidth","label","odysseyDesignTokens","t","children","sx","display","alignItems","flexWrap","gap","Spacing1","margin","maxWidth","TypographyLineLengthMax","fontWeight","TypographyWeightBodyBold","padding","backgroundColor","PaletteSuccessLighter","HueNeutral100","borderRadius","BorderRadiusMain","color","PaletteSuccessText","HueNeutral700","fontSize","TypographyScale0","lineHeight","TypographyLineHeightOverline","transitionProperty","transitionDuration","TransitionDurationMain","id","text","Switch","_id","isChecked","isDefaultChecked","isDisabled","name","_name","onChange","testId","value","controlledStateRef","controlledValue","uncontrolledValue","inputValues","current","defaultChecked","internalSwitchChecked","setInternalSwitchChecked","Boolean","undefined","labelElementId","handleOnChange","_","renderSwitchComponent","_Switch","disabled","disableRipple","inputProps","marginBlockEnd","Spacing2","_FormControlLabel","control","labelPlacement","justifyContent","Spacing4","width","MemoizedSwitch","displayName"],"sources":["../../src/labs/Switch.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n memo,\n SyntheticEvent,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport {\n Switch as MuiSwitch,\n SwitchProps as MuiSwitchProps,\n FormControlLabel,\n} from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\n\nimport { useOdysseyDesignTokens } from \"../OdysseyDesignTokensContext\";\nimport { Box } from \"../Box\";\nimport { FieldComponentProps } from \"../FieldComponentProps\";\nimport { FieldHint } from \"../FieldHint\";\nimport type { HtmlProps } from \"../HtmlProps\";\nimport { useUniqueId } from \"../useUniqueId\";\nimport { ComponentControlledState, getControlState } from \"../inputUtils\";\nimport { CheckedFieldProps } from \"../FormCheckedProps\";\n\nconst { CONTROLLED } = ComponentControlledState;\n\ntype OnChangeCallbackArguments = {\n checked: boolean;\n value: string;\n};\n\nexport type SwitchProps = {\n /**\n * if `true`, the label and switch span entire containing element's width\n */\n isFullWidth?: boolean;\n /**\n * The label text for the Switch\n */\n label: string;\n /**\n * The change event handler for the Switch\n */\n onChange?: ({ checked, value }: OnChangeCallbackArguments) => void;\n /**\n * The value attribute of the Switch\n */\n value: string;\n} & Pick<\n FieldComponentProps,\n \"hint\" | \"id\" | \"isFullWidth\" | \"isDisabled\" | \"name\"\n> &\n CheckedFieldProps<MuiSwitchProps> &\n Pick<HtmlProps, \"testId\">;\n\ntype SwitchLabelProps = {\n checked: boolean;\n hint: SwitchProps[\"hint\"];\n hintId?: string;\n isFullWidth: SwitchProps[\"isFullWidth\"];\n label: SwitchProps[\"label\"];\n};\n\nconst SwitchLabel = ({\n checked,\n hint,\n hintId,\n isFullWidth,\n label,\n}: SwitchLabelProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { t } = useTranslation();\n\n return (\n <>\n <Box\n sx={{\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n gap: odysseyDesignTokens.Spacing1,\n margin: 0,\n maxWidth: isFullWidth\n ? \"100%\"\n : odysseyDesignTokens.TypographyLineLengthMax,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n }}\n >\n {label}\n <Box\n sx={{\n padding: \"2px 4px\",\n backgroundColor: checked\n ? odysseyDesignTokens.PaletteSuccessLighter\n : odysseyDesignTokens.HueNeutral100,\n borderRadius: odysseyDesignTokens.BorderRadiusMain,\n color: checked\n ? odysseyDesignTokens.PaletteSuccessText\n : odysseyDesignTokens.HueNeutral700,\n fontWeight: odysseyDesignTokens.TypographyWeightBodyBold,\n fontSize: odysseyDesignTokens.TypographyScale0,\n lineHeight: odysseyDesignTokens.TypographyLineHeightOverline,\n transitionProperty: \"background-color, color\",\n transitionDuration: odysseyDesignTokens.TransitionDurationMain,\n }}\n >\n {checked ? t(\"switch.active\") : t(\"switch.inactive\")}\n </Box>\n </Box>\n {hint && <FieldHint id={hintId} text={hint} />}\n </>\n );\n};\n\nconst Switch = ({\n hint,\n id: _id,\n isChecked,\n isDefaultChecked,\n isDisabled,\n isFullWidth = false,\n label,\n name: _name,\n onChange,\n testId,\n value = \"Something\",\n}: SwitchProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: isChecked,\n uncontrolledValue: isDefaultChecked,\n }),\n );\n const inputValues = useMemo(() => {\n if (controlledStateRef.current === CONTROLLED) {\n return { checked: isChecked };\n }\n return { defaultChecked: isDefaultChecked };\n }, [isDefaultChecked, isChecked]);\n\n const [internalSwitchChecked, setInternalSwitchChecked] = useState(\n controlledStateRef.current === CONTROLLED\n ? Boolean(isChecked)\n : Boolean(isDefaultChecked),\n );\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSwitchChecked(Boolean(isChecked));\n }\n }, [isChecked]);\n\n const id = useUniqueId(_id);\n\n const hintId = hint ? `${id}-hint` : undefined;\n const labelElementId = `${id}-label`;\n\n const handleOnChange = useCallback(\n (_: SyntheticEvent<Element, Event>, checked: boolean) => {\n setInternalSwitchChecked(checked);\n onChange?.({ checked, value });\n },\n [onChange, setInternalSwitchChecked, value],\n );\n\n const renderSwitchComponent = useMemo(\n () => (\n <MuiSwitch\n {...inputValues}\n disabled={isDisabled}\n disableRipple\n inputProps={{\n \"aria-checked\": internalSwitchChecked,\n \"aria-describedby\": hintId,\n \"aria-label\": label,\n \"aria-labelledby\": labelElementId,\n \"data-se\": testId,\n }}\n name={_name ?? id}\n onChange={handleOnChange}\n />\n ),\n [\n handleOnChange,\n hintId,\n inputValues,\n internalSwitchChecked,\n id,\n isDisabled,\n label,\n labelElementId,\n _name,\n testId,\n ],\n );\n\n return (\n <Box\n sx={{\n marginBlockEnd: odysseyDesignTokens.Spacing2,\n }}\n >\n <FormControlLabel\n checked={internalSwitchChecked}\n control={renderSwitchComponent}\n disabled={isDisabled}\n id={labelElementId}\n label={\n <SwitchLabel\n checked={internalSwitchChecked}\n hint={hint}\n hintId={hintId}\n isFullWidth={isFullWidth}\n label={label}\n />\n }\n labelPlacement=\"start\"\n sx={{\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n gap: odysseyDesignTokens.Spacing4,\n width: \"100%\",\n maxWidth: isFullWidth\n ? \"100%\"\n : odysseyDesignTokens.TypographyLineLengthMax,\n }}\n value={value}\n />\n </Box>\n );\n};\n\nconst MemoizedSwitch = memo(Switch);\nMemoizedSwitch.displayName = \"Switch\";\n\nexport { MemoizedSwitch as Switch };\n"],"mappings":"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"}
1
+ {"version":3,"file":"Switch.js","names":["memo","useCallback","useEffect","useMemo","useRef","useState","useTranslation","styled","Box","FieldHint","CheckIcon","ComponentControlledState","getControlState","useOdysseyDesignTokens","stripRem","toRem","useUniqueId","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","CONTROLLED","nonForwardedProps","SwitchAndLabelContainer","shouldForwardProp","prop","includes","isFullWidth","odysseyDesignTokens","display","alignItems","justifyContent","maxWidth","TypographyLineLengthMax","SwitchContainer","div","position","StyledSwitchLabel","_FormLabel","isDisabled","margin","color","TypographyColorDisabled","PaletteNeutralDark","p","a","SwitchTrack","isChecked","width","Spacing7","height","Spacing4","Spacing1","borderRadius","BorderRadiusOuter","backgroundColor","HueNeutral200","PaletteSuccessLight","HueNeutral300","transition","TransitionDurationMain","SwitchThumb","thumbOffset","trackWidth","thumbWidth","transformDistance","top","left","BorderRadiusRound","HueNeutral50","HueNeutralWhite","transform","SwitchCheckMark","opacity","path","fill","HiddenCheckbox","input","cursor","zIndex","boxShadow","PalettePrimaryMain","SwitchLabel","hint","hintId","HintLinkComponent","inputId","label","children","htmlFor","id","text","LinkComponent","MemoizedSwitchLabel","displayName","Switch","idProp","isDefaultChecked","name","onChange","testId","value","t","controlledStateRef","controlledValue","uncontrolledValue","inputValues","current","checked","defaultChecked","internalSwitchChecked","setInternalSwitchChecked","Boolean","undefined","labelElementId","handleOnChange","event","target","sx","marginBlockEnd","Spacing2","disabled","type","MemoizedSwitch"],"sources":["../../src/labs/Switch.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2022-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n ChangeEventHandler,\n memo,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useState,\n} from \"react\";\nimport { SwitchProps as MuiSwitchProps, FormLabel } from \"@mui/material\";\nimport { useTranslation } from \"react-i18next\";\nimport styled from \"@emotion/styled\";\n\nimport { Box } from \"../Box\";\nimport { FieldComponentProps } from \"../FieldComponentProps\";\nimport { FieldHint } from \"../FieldHint\";\nimport { CheckedFieldProps } from \"../FormCheckedProps\";\nimport type { HtmlProps } from \"../HtmlProps\";\nimport { CheckIcon } from \"../icons.generated\";\nimport { ComponentControlledState, getControlState } from \"../inputUtils\";\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext\";\nimport { stripRem, toRem } from \"../remUtils\";\nimport { useUniqueId } from \"../useUniqueId\";\n\nconst { CONTROLLED } = ComponentControlledState;\n\nconst nonForwardedProps = [\n \"isChecked\",\n \"isDisabled\",\n \"isFullWidth\",\n \"odysseyDesignTokens\",\n];\n\nconst SwitchAndLabelContainer = styled(\"div\", {\n shouldForwardProp: (prop) => !nonForwardedProps.includes(prop),\n})<\n Pick<SwitchProps, \"isFullWidth\" | \"isDisabled\"> & {\n odysseyDesignTokens: DesignTokens;\n }\n>(({ isFullWidth, odysseyDesignTokens }) => ({\n display: \"flex\",\n alignItems: \"flex-start\",\n justifyContent: \"space-between\",\n maxWidth: isFullWidth ? \"100%\" : odysseyDesignTokens.TypographyLineLengthMax,\n}));\n\nconst SwitchContainer = styled.div({\n position: \"relative\",\n});\n\nconst StyledSwitchLabel = styled(FormLabel, {\n shouldForwardProp: (prop) => !nonForwardedProps.includes(prop),\n})<\n Pick<SwitchLabelComponentProps, \"isDisabled\"> & {\n odysseyDesignTokens: DesignTokens;\n }\n>(({ isDisabled, odysseyDesignTokens }) => ({\n display: \"block\",\n margin: 0,\n color: isDisabled\n ? odysseyDesignTokens.TypographyColorDisabled\n : odysseyDesignTokens.PaletteNeutralDark,\n\n ...(isDisabled && {\n p: {\n color: odysseyDesignTokens.TypographyColorDisabled,\n },\n a: {\n color: `${odysseyDesignTokens.TypographyColorDisabled} !important`,\n },\n }),\n}));\n\nconst SwitchTrack = styled(\"div\", {\n shouldForwardProp: (prop) => !nonForwardedProps.includes(prop),\n})<\n Pick<SwitchProps, \"isChecked\" | \"isDisabled\"> & {\n odysseyDesignTokens: DesignTokens;\n }\n>(({ isChecked, isDisabled, odysseyDesignTokens }) => ({\n position: \"relative\",\n width: odysseyDesignTokens.Spacing7,\n height: `calc(${odysseyDesignTokens.Spacing4} + ${odysseyDesignTokens.Spacing1})`,\n borderRadius: odysseyDesignTokens.BorderRadiusOuter,\n backgroundColor: isDisabled\n ? odysseyDesignTokens.HueNeutral200\n : isChecked\n ? odysseyDesignTokens.PaletteSuccessLight\n : odysseyDesignTokens.HueNeutral300,\n transition: `background-color ${odysseyDesignTokens.TransitionDurationMain}`,\n}));\n\nconst SwitchThumb = styled(\"span\", {\n shouldForwardProp: (prop) => !nonForwardedProps.includes(prop),\n})<\n Pick<SwitchProps, \"isChecked\" | \"isDisabled\"> & {\n odysseyDesignTokens: DesignTokens;\n }\n>(({ isChecked, isDisabled, odysseyDesignTokens }) => {\n const thumbOffset = toRem(3);\n const trackWidth = stripRem(odysseyDesignTokens.Spacing7);\n const thumbWidth = stripRem(odysseyDesignTokens.Spacing4) - toRem(2);\n\n const transformDistance = trackWidth - thumbWidth - thumbOffset * 2;\n\n return {\n position: \"absolute\",\n top: \"50%\",\n left: `${thumbOffset}rem`,\n width: `calc(${odysseyDesignTokens.Spacing4} - ${toRem(2)}rem)`,\n height: `calc(${odysseyDesignTokens.Spacing4} - ${toRem(2)}rem)`,\n borderRadius: odysseyDesignTokens.BorderRadiusRound,\n backgroundColor: isDisabled\n ? odysseyDesignTokens.HueNeutral50\n : odysseyDesignTokens.HueNeutralWhite,\n transform: isChecked\n ? `translate3d(${transformDistance}rem, -50%, 0)`\n : \"translate3d(0, -50%, 0)\",\n transition: `transform ${odysseyDesignTokens.TransitionDurationMain}`,\n };\n});\n\nconst SwitchCheckMark = styled(CheckIcon, {\n shouldForwardProp: (prop) => !nonForwardedProps.includes(prop),\n})<\n Pick<SwitchProps, \"isChecked\" | \"isDisabled\"> & {\n odysseyDesignTokens: DesignTokens;\n }\n>(({ isChecked, isDisabled, odysseyDesignTokens }) => ({\n position: \"absolute\",\n top: \"50%\",\n left: 3,\n width: odysseyDesignTokens.Spacing4,\n transform: \"translateY(-50%)\",\n transition: `opacity ${odysseyDesignTokens.TransitionDurationMain}`,\n opacity: isChecked ? 1 : 0,\n path: {\n fill: isDisabled\n ? odysseyDesignTokens.HueNeutral50\n : odysseyDesignTokens.HueNeutralWhite,\n },\n}));\n\nconst HiddenCheckbox = styled.input<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n position: \"absolute\",\n top: 0,\n left: 0,\n width: \"100%\",\n height: \"100%\",\n margin: 0,\n opacity: 0,\n cursor: \"pointer\",\n zIndex: 2,\n\n \"&:focus-visible\": {\n \"~ [data-switch-track='true']\": {\n boxShadow: `0 0 0 2px ${odysseyDesignTokens.HueNeutralWhite}, 0 0 0 4px ${odysseyDesignTokens.PalettePrimaryMain}`,\n },\n },\n}));\n\ntype OnChangeCallbackArguments = {\n checked: boolean;\n value: string;\n};\n\nexport type SwitchProps = {\n /**\n * The label text for the Switch\n */\n label: string;\n /**\n * The change event handler for the Switch\n */\n onChange?: ({ checked, value }: OnChangeCallbackArguments) => void;\n /**\n * The value attribute of the Switch\n */\n value: string;\n} & Pick<\n FieldComponentProps,\n \"hint\" | \"HintLinkComponent\" | \"id\" | \"isFullWidth\" | \"isDisabled\" | \"name\"\n> &\n Pick<CheckedFieldProps<MuiSwitchProps>, \"isChecked\" | \"isDefaultChecked\"> &\n Pick<HtmlProps, \"testId\">;\n\ntype SwitchLabelComponentProps = {\n hint: SwitchProps[\"hint\"];\n hintId?: string;\n HintLinkComponent: SwitchProps[\"HintLinkComponent\"];\n inputId: string;\n isDisabled: SwitchProps[\"isDisabled\"];\n isFullWidth: SwitchProps[\"isFullWidth\"];\n label: SwitchProps[\"label\"];\n};\n\nconst SwitchLabel = ({\n hint,\n hintId,\n HintLinkComponent,\n inputId,\n isDisabled,\n label,\n}: SwitchLabelComponentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n return (\n <>\n <StyledSwitchLabel\n htmlFor={inputId}\n isDisabled={isDisabled}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {label}\n {hint && (\n <FieldHint\n id={hintId}\n text={hint}\n LinkComponent={HintLinkComponent}\n />\n )}\n </StyledSwitchLabel>\n </>\n );\n};\n\nconst MemoizedSwitchLabel = memo(SwitchLabel);\nSwitchLabel.displayName = \"SwitchLabel\";\n\nconst Switch = ({\n hint,\n HintLinkComponent,\n id: idProp,\n isChecked,\n isDefaultChecked,\n isDisabled,\n isFullWidth = false,\n label,\n name,\n onChange,\n testId,\n value,\n}: SwitchProps) => {\n const { t } = useTranslation();\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const controlledStateRef = useRef(\n getControlState({\n controlledValue: isChecked,\n uncontrolledValue: isDefaultChecked,\n }),\n );\n const inputValues = useMemo(() => {\n if (controlledStateRef.current === CONTROLLED) {\n return { checked: isChecked };\n }\n return { defaultChecked: isDefaultChecked };\n }, [isDefaultChecked, isChecked]);\n\n const [internalSwitchChecked, setInternalSwitchChecked] = useState(\n controlledStateRef.current === CONTROLLED\n ? Boolean(isChecked)\n : Boolean(isDefaultChecked),\n );\n\n useEffect(() => {\n if (controlledStateRef.current === CONTROLLED) {\n setInternalSwitchChecked(Boolean(isChecked));\n }\n }, [isChecked]);\n\n const inputId = useUniqueId(idProp);\n\n const hintId = hint ? `${inputId}-hint` : undefined;\n const labelElementId = `${inputId}-label`;\n\n const handleOnChange = useCallback<ChangeEventHandler<HTMLInputElement>>(\n (event) => {\n const target = event.target;\n const { checked, value } = target;\n setInternalSwitchChecked(checked);\n onChange?.({ checked, value });\n },\n [onChange, setInternalSwitchChecked],\n );\n\n return (\n <Box\n sx={{\n marginBlockEnd: odysseyDesignTokens.Spacing2,\n \"&:last-child\": {\n marginBlockEnd: 0,\n },\n }}\n >\n <SwitchAndLabelContainer\n isFullWidth={isFullWidth}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <MemoizedSwitchLabel\n hint={hint}\n hintId={hintId}\n HintLinkComponent={HintLinkComponent}\n inputId={inputId}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n label={label}\n />\n <SwitchContainer>\n <HiddenCheckbox\n {...inputValues}\n aria-checked={internalSwitchChecked}\n aria-describedby={hintId}\n aria-label={\n internalSwitchChecked\n ? `${label}: ${t(\"switch.active\")}`\n : `${label}: ${t(\"switch.inactive\")}`\n }\n aria-labelledby={labelElementId}\n data-se={testId}\n disabled={isDisabled}\n id={inputId}\n name={name ?? inputId}\n onChange={handleOnChange}\n odysseyDesignTokens={odysseyDesignTokens}\n type=\"checkbox\"\n value={value}\n />\n <SwitchTrack\n data-switch-track\n isChecked={internalSwitchChecked}\n isDisabled={isDisabled}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <SwitchThumb\n isChecked={internalSwitchChecked}\n isDisabled={isDisabled}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n <SwitchCheckMark\n isChecked={internalSwitchChecked}\n isDisabled={isDisabled}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n </SwitchTrack>\n </SwitchContainer>\n </SwitchAndLabelContainer>\n </Box>\n );\n};\n\nconst MemoizedSwitch = memo(Switch);\nMemoizedSwitch.displayName = \"Switch\";\n\nexport { MemoizedSwitch as Switch };\n"],"mappings":"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"}