@okta/odyssey-react-mui 0.22.0 → 0.24.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 (584) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +43 -7
  3. package/dist/@types/i18next.d.js +14 -0
  4. package/dist/@types/i18next.d.js.map +1 -0
  5. package/dist/Autocomplete.js +18 -4
  6. package/dist/Autocomplete.js.map +1 -1
  7. package/dist/Banner.js +9 -6
  8. package/dist/Banner.js.map +1 -1
  9. package/dist/Button.js +20 -10
  10. package/dist/Button.js.map +1 -1
  11. package/dist/Checkbox.js +44 -10
  12. package/dist/Checkbox.js.map +1 -1
  13. package/dist/CheckboxGroup.js +25 -26
  14. package/dist/CheckboxGroup.js.map +1 -1
  15. package/dist/CircularProgress.js +11 -0
  16. package/dist/CircularProgress.js.map +1 -1
  17. package/dist/Dialog.js +72 -0
  18. package/dist/Dialog.js.map +1 -0
  19. package/dist/Field.js +28 -10
  20. package/dist/Field.js.map +1 -1
  21. package/dist/FieldError.js +6 -3
  22. package/dist/FieldError.js.map +1 -1
  23. package/dist/FieldHint.js +1 -2
  24. package/dist/FieldHint.js.map +1 -1
  25. package/dist/FieldLabel.js +19 -7
  26. package/dist/FieldLabel.js.map +1 -1
  27. package/dist/Fieldset.js +55 -0
  28. package/dist/Fieldset.js.map +1 -0
  29. package/dist/Form.js +69 -0
  30. package/dist/Form.js.map +1 -0
  31. package/dist/Icon.js +8 -8
  32. package/dist/Icon.js.map +1 -1
  33. package/dist/Infobox.js +7 -4
  34. package/dist/Infobox.js.map +1 -1
  35. package/dist/Link.js +10 -3
  36. package/dist/Link.js.map +1 -1
  37. package/dist/MenuButton.js +3 -7
  38. package/dist/MenuButton.js.map +1 -1
  39. package/dist/MenuItem.js +4 -2
  40. package/dist/MenuItem.js.map +1 -1
  41. package/dist/MuiPropsChild.js +32 -0
  42. package/dist/MuiPropsChild.js.map +1 -0
  43. package/dist/MuiPropsContext.js +15 -0
  44. package/dist/MuiPropsContext.js.map +1 -0
  45. package/dist/NativeSelect.js +61 -0
  46. package/dist/NativeSelect.js.map +1 -0
  47. package/dist/OdysseyCacheProvider.js +1 -2
  48. package/dist/OdysseyCacheProvider.js.map +1 -1
  49. package/dist/OdysseyI18n.js +93 -0
  50. package/dist/OdysseyI18n.js.map +1 -0
  51. package/dist/OdysseyProvider.js +42 -0
  52. package/dist/OdysseyProvider.js.map +1 -0
  53. package/dist/OdysseyThemeProvider.js +11 -5
  54. package/dist/OdysseyThemeProvider.js.map +1 -1
  55. package/dist/OdysseyTranslationProvider.js +47 -0
  56. package/dist/OdysseyTranslationProvider.js.map +1 -0
  57. package/dist/OdysseyTranslationProvider.types.js +14 -0
  58. package/dist/OdysseyTranslationProvider.types.js.map +1 -0
  59. package/dist/PasswordField.js +20 -3
  60. package/dist/PasswordField.js.map +1 -1
  61. package/dist/Radio.js +11 -2
  62. package/dist/Radio.js.map +1 -1
  63. package/dist/RadioGroup.js +36 -28
  64. package/dist/RadioGroup.js.map +1 -1
  65. package/dist/ScreenReaderText.js +3 -3
  66. package/dist/ScreenReaderText.js.map +1 -1
  67. package/dist/SearchField.js +17 -4
  68. package/dist/SearchField.js.map +1 -1
  69. package/dist/Select.js +131 -0
  70. package/dist/Select.js.map +1 -0
  71. package/dist/Status.js.map +1 -1
  72. package/dist/Tabs.js +46 -0
  73. package/dist/Tabs.js.map +1 -0
  74. package/dist/Tag.js +11 -2
  75. package/dist/Tag.js.map +1 -1
  76. package/dist/TagList.js +11 -2
  77. package/dist/TagList.js.map +1 -1
  78. package/dist/TagListContext.js +1 -0
  79. package/dist/TagListContext.js.map +1 -1
  80. package/dist/TextField.js +28 -9
  81. package/dist/TextField.js.map +1 -1
  82. package/dist/Toast.js +78 -0
  83. package/dist/Toast.js.map +1 -0
  84. package/dist/{ThemeProvider.js → ToastStack.js} +12 -10
  85. package/dist/ToastStack.js.map +1 -0
  86. package/dist/Tooltip.js +31 -0
  87. package/dist/Tooltip.js.map +1 -0
  88. package/dist/a11yCheck.js +1 -2
  89. package/dist/a11yCheck.js.map +1 -1
  90. package/dist/createUniqueAlphabeticalId.js +1 -2
  91. package/dist/createUniqueAlphabeticalId.js.map +1 -1
  92. package/dist/createUniqueId.js +1 -2
  93. package/dist/createUniqueId.js.map +1 -1
  94. package/dist/iconDictionary/Add.js +5 -6
  95. package/dist/iconDictionary/Add.js.map +1 -1
  96. package/dist/iconDictionary/AddCircle.js +5 -6
  97. package/dist/iconDictionary/AddCircle.js.map +1 -1
  98. package/dist/iconDictionary/AlertCircle.js +5 -6
  99. package/dist/iconDictionary/AlertCircle.js.map +1 -1
  100. package/dist/iconDictionary/AlertCircleFilled.js +5 -6
  101. package/dist/iconDictionary/AlertCircleFilled.js.map +1 -1
  102. package/dist/iconDictionary/AlertTriangleFilled.js +5 -6
  103. package/dist/iconDictionary/AlertTriangleFilled.js.map +1 -1
  104. package/dist/iconDictionary/Anchor.js +6 -7
  105. package/dist/iconDictionary/Anchor.js.map +1 -1
  106. package/dist/iconDictionary/ArrowDown.js +5 -6
  107. package/dist/iconDictionary/ArrowDown.js.map +1 -1
  108. package/dist/iconDictionary/ArrowLeft.js +5 -6
  109. package/dist/iconDictionary/ArrowLeft.js.map +1 -1
  110. package/dist/iconDictionary/ArrowRight.js +5 -6
  111. package/dist/iconDictionary/ArrowRight.js.map +1 -1
  112. package/dist/iconDictionary/ArrowUp.js +5 -6
  113. package/dist/iconDictionary/ArrowUp.js.map +1 -1
  114. package/dist/iconDictionary/ArrowUpDown.js +5 -6
  115. package/dist/iconDictionary/ArrowUpDown.js.map +1 -1
  116. package/dist/iconDictionary/Calendar.js +5 -6
  117. package/dist/iconDictionary/Calendar.js.map +1 -1
  118. package/dist/iconDictionary/Check.js +5 -6
  119. package/dist/iconDictionary/Check.js.map +1 -1
  120. package/dist/iconDictionary/CheckCircleFilled.js +5 -6
  121. package/dist/iconDictionary/CheckCircleFilled.js.map +1 -1
  122. package/dist/iconDictionary/ChevronDown.js +5 -6
  123. package/dist/iconDictionary/ChevronDown.js.map +1 -1
  124. package/dist/iconDictionary/ChevronUp.js +5 -6
  125. package/dist/iconDictionary/ChevronUp.js.map +1 -1
  126. package/dist/iconDictionary/Close.js +5 -6
  127. package/dist/iconDictionary/Close.js.map +1 -1
  128. package/dist/iconDictionary/CloseCircleFilled.js +5 -6
  129. package/dist/iconDictionary/CloseCircleFilled.js.map +1 -1
  130. package/dist/iconDictionary/Copy.js +5 -6
  131. package/dist/iconDictionary/Copy.js.map +1 -1
  132. package/dist/iconDictionary/Delete.js +5 -6
  133. package/dist/iconDictionary/Delete.js.map +1 -1
  134. package/dist/iconDictionary/Download.js +5 -6
  135. package/dist/iconDictionary/Download.js.map +1 -1
  136. package/dist/iconDictionary/DragHandle.js +5 -6
  137. package/dist/iconDictionary/DragHandle.js.map +1 -1
  138. package/dist/iconDictionary/Edit.js +5 -6
  139. package/dist/iconDictionary/Edit.js.map +1 -1
  140. package/dist/iconDictionary/ExternalLink.js +5 -6
  141. package/dist/iconDictionary/ExternalLink.js.map +1 -1
  142. package/dist/iconDictionary/Eye.js +5 -6
  143. package/dist/iconDictionary/Eye.js.map +1 -1
  144. package/dist/iconDictionary/EyeOff.js +5 -6
  145. package/dist/iconDictionary/EyeOff.js.map +1 -1
  146. package/dist/iconDictionary/Filter.js +5 -6
  147. package/dist/iconDictionary/Filter.js.map +1 -1
  148. package/dist/iconDictionary/Globe.js +5 -6
  149. package/dist/iconDictionary/Globe.js.map +1 -1
  150. package/dist/iconDictionary/Home.js +5 -6
  151. package/dist/iconDictionary/Home.js.map +1 -1
  152. package/dist/iconDictionary/InformationCircle.js +5 -6
  153. package/dist/iconDictionary/InformationCircle.js.map +1 -1
  154. package/dist/iconDictionary/InformationCircleFilled.js +5 -6
  155. package/dist/iconDictionary/InformationCircleFilled.js.map +1 -1
  156. package/dist/iconDictionary/Notification.js +5 -6
  157. package/dist/iconDictionary/Notification.js.map +1 -1
  158. package/dist/iconDictionary/OverflowVertical.js +5 -6
  159. package/dist/iconDictionary/OverflowVertical.js.map +1 -1
  160. package/dist/iconDictionary/QuestionCircle.js +5 -6
  161. package/dist/iconDictionary/QuestionCircle.js.map +1 -1
  162. package/dist/iconDictionary/QuestionCircleFilled.js +5 -6
  163. package/dist/iconDictionary/QuestionCircleFilled.js.map +1 -1
  164. package/dist/iconDictionary/Search.js +5 -6
  165. package/dist/iconDictionary/Search.js.map +1 -1
  166. package/dist/iconDictionary/Settings.js +4 -5
  167. package/dist/iconDictionary/Settings.js.map +1 -1
  168. package/dist/iconDictionary/Subtract.js +5 -6
  169. package/dist/iconDictionary/Subtract.js.map +1 -1
  170. package/dist/iconDictionary/SvgIcon.js +1 -0
  171. package/dist/iconDictionary/SvgIcon.js.map +1 -1
  172. package/dist/iconDictionary/User.js +5 -6
  173. package/dist/iconDictionary/User.js.map +1 -1
  174. package/dist/iconDictionary/UserGroup.js +5 -6
  175. package/dist/iconDictionary/UserGroup.js.map +1 -1
  176. package/dist/iconDictionary/index.js.map +1 -1
  177. package/dist/index.js +13 -6
  178. package/dist/index.js.map +1 -1
  179. package/dist/properties/ts/odyssey-react-mui.js +11 -0
  180. package/dist/properties/ts/odyssey-react-mui.js.map +1 -0
  181. package/dist/properties/ts/odyssey-react-mui_cs.js +2 -0
  182. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -0
  183. package/dist/properties/ts/odyssey-react-mui_da.js +2 -0
  184. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -0
  185. package/dist/properties/ts/odyssey-react-mui_de.js +2 -0
  186. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -0
  187. package/dist/properties/ts/odyssey-react-mui_el.js +2 -0
  188. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -0
  189. package/dist/properties/ts/odyssey-react-mui_es.js +2 -0
  190. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -0
  191. package/dist/properties/ts/odyssey-react-mui_fi.js +2 -0
  192. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -0
  193. package/dist/properties/ts/odyssey-react-mui_fr.js +2 -0
  194. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -0
  195. package/dist/properties/ts/odyssey-react-mui_hu.js +2 -0
  196. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -0
  197. package/dist/properties/ts/odyssey-react-mui_id.js +2 -0
  198. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -0
  199. package/dist/properties/ts/odyssey-react-mui_it.js +2 -0
  200. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -0
  201. package/dist/properties/ts/odyssey-react-mui_ja.js +2 -0
  202. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -0
  203. package/dist/properties/ts/odyssey-react-mui_ko.js +2 -0
  204. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -0
  205. package/dist/properties/ts/odyssey-react-mui_ms.js +2 -0
  206. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -0
  207. package/dist/properties/ts/odyssey-react-mui_nb.js +2 -0
  208. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -0
  209. package/dist/properties/ts/odyssey-react-mui_nl-NL.js +2 -0
  210. package/dist/properties/ts/odyssey-react-mui_nl-NL.js.map +1 -0
  211. package/dist/properties/ts/odyssey-react-mui_pl.js +2 -0
  212. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -0
  213. package/dist/properties/ts/odyssey-react-mui_pt-BR.js +2 -0
  214. package/dist/properties/ts/odyssey-react-mui_pt-BR.js.map +1 -0
  215. package/dist/properties/ts/odyssey-react-mui_ro.js +2 -0
  216. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -0
  217. package/dist/properties/ts/odyssey-react-mui_ru.js +2 -0
  218. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -0
  219. package/dist/properties/ts/odyssey-react-mui_sv.js +2 -0
  220. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -0
  221. package/dist/properties/ts/odyssey-react-mui_th.js +2 -0
  222. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -0
  223. package/dist/properties/ts/odyssey-react-mui_tr.js +2 -0
  224. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -0
  225. package/dist/properties/ts/odyssey-react-mui_uk.js +2 -0
  226. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -0
  227. package/dist/properties/ts/odyssey-react-mui_zh-CN.js +2 -0
  228. package/dist/properties/ts/odyssey-react-mui_zh-CN.js.map +1 -0
  229. package/dist/properties/ts/odyssey-react-mui_zh-TW.js +2 -0
  230. package/dist/properties/ts/odyssey-react-mui_zh-TW.js.map +1 -0
  231. package/dist/src/Autocomplete.d.ts +2 -1
  232. package/dist/src/Autocomplete.d.ts.map +1 -1
  233. package/dist/src/Banner.d.ts +19 -19
  234. package/dist/src/Banner.d.ts.map +1 -1
  235. package/dist/src/Button.d.ts +4 -3
  236. package/dist/src/Button.d.ts.map +1 -1
  237. package/dist/src/Checkbox.d.ts +4 -2
  238. package/dist/src/Checkbox.d.ts.map +1 -1
  239. package/dist/src/CheckboxGroup.d.ts +8 -4
  240. package/dist/src/CheckboxGroup.d.ts.map +1 -1
  241. package/dist/src/Dialog.d.ts +25 -0
  242. package/dist/src/Dialog.d.ts.map +1 -0
  243. package/dist/src/Field.d.ts +18 -7
  244. package/dist/src/Field.d.ts.map +1 -1
  245. package/dist/src/FieldError.d.ts.map +1 -1
  246. package/dist/src/FieldLabel.d.ts +2 -3
  247. package/dist/src/FieldLabel.d.ts.map +1 -1
  248. package/dist/src/Fieldset.d.ts +42 -0
  249. package/dist/src/Fieldset.d.ts.map +1 -0
  250. package/dist/src/Form.d.ts +73 -0
  251. package/dist/src/Form.d.ts.map +1 -0
  252. package/dist/src/Icon.d.ts +9 -8
  253. package/dist/src/Icon.d.ts.map +1 -1
  254. package/dist/src/Infobox.d.ts +7 -7
  255. package/dist/src/Infobox.d.ts.map +1 -1
  256. package/dist/src/Link.d.ts +9 -4
  257. package/dist/src/Link.d.ts.map +1 -1
  258. package/dist/src/MenuButton.d.ts +7 -3
  259. package/dist/src/MenuButton.d.ts.map +1 -1
  260. package/dist/src/MenuItem.d.ts +1 -1
  261. package/dist/src/MenuItem.d.ts.map +1 -1
  262. package/dist/src/MuiPropsChild.d.ts +18 -0
  263. package/dist/src/MuiPropsChild.d.ts.map +1 -0
  264. package/dist/src/MuiPropsContext.d.ts +15 -0
  265. package/dist/src/MuiPropsContext.d.ts.map +1 -0
  266. package/dist/src/NativeSelect.d.ts +36 -0
  267. package/dist/src/NativeSelect.d.ts.map +1 -0
  268. package/dist/src/OdysseyI18n.d.ts +54 -0
  269. package/dist/src/OdysseyI18n.d.ts.map +1 -0
  270. package/dist/src/OdysseyProvider.d.ts +27 -0
  271. package/dist/src/OdysseyProvider.d.ts.map +1 -0
  272. package/dist/src/OdysseyThemeProvider.d.ts +4 -2
  273. package/dist/src/OdysseyThemeProvider.d.ts.map +1 -1
  274. package/dist/src/OdysseyTranslationProvider.d.ts +25 -0
  275. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -0
  276. package/dist/src/OdysseyTranslationProvider.types.d.ts +14 -0
  277. package/dist/src/OdysseyTranslationProvider.types.d.ts.map +1 -0
  278. package/dist/src/PasswordField.d.ts +8 -8
  279. package/dist/src/PasswordField.d.ts.map +1 -1
  280. package/dist/src/RadioGroup.d.ts +8 -8
  281. package/dist/src/RadioGroup.d.ts.map +1 -1
  282. package/dist/src/SearchField.d.ts +4 -4
  283. package/dist/src/SearchField.d.ts.map +1 -1
  284. package/dist/src/Select.d.ts +35 -0
  285. package/dist/src/Select.d.ts.map +1 -0
  286. package/dist/src/Status.d.ts +2 -2
  287. package/dist/src/Status.d.ts.map +1 -1
  288. package/dist/src/Tabs.d.ts +27 -0
  289. package/dist/src/Tabs.d.ts.map +1 -0
  290. package/dist/src/TextField.d.ts +12 -15
  291. package/dist/src/TextField.d.ts.map +1 -1
  292. package/dist/src/Toast.d.ts +60 -0
  293. package/dist/src/Toast.d.ts.map +1 -0
  294. package/dist/src/ToastStack.d.ts +19 -0
  295. package/dist/src/ToastStack.d.ts.map +1 -0
  296. package/dist/src/{ThemeProvider.d.ts → Tooltip.d.ts} +8 -4
  297. package/dist/src/Tooltip.d.ts.map +1 -0
  298. package/dist/src/iconDictionary/Add.d.ts +2 -2
  299. package/dist/src/iconDictionary/AddCircle.d.ts +2 -2
  300. package/dist/src/iconDictionary/AlertCircle.d.ts +2 -2
  301. package/dist/src/iconDictionary/AlertCircleFilled.d.ts +2 -2
  302. package/dist/src/iconDictionary/AlertTriangleFilled.d.ts +2 -2
  303. package/dist/src/iconDictionary/Anchor.d.ts +2 -2
  304. package/dist/src/iconDictionary/ArrowDown.d.ts +2 -2
  305. package/dist/src/iconDictionary/ArrowLeft.d.ts +2 -2
  306. package/dist/src/iconDictionary/ArrowRight.d.ts +2 -2
  307. package/dist/src/iconDictionary/ArrowUp.d.ts +2 -2
  308. package/dist/src/iconDictionary/ArrowUpDown.d.ts +2 -2
  309. package/dist/src/iconDictionary/Calendar.d.ts +2 -2
  310. package/dist/src/iconDictionary/Check.d.ts +2 -2
  311. package/dist/src/iconDictionary/CheckCircleFilled.d.ts +2 -2
  312. package/dist/src/iconDictionary/ChevronDown.d.ts +2 -2
  313. package/dist/src/iconDictionary/ChevronUp.d.ts +2 -2
  314. package/dist/src/iconDictionary/Close.d.ts +2 -2
  315. package/dist/src/iconDictionary/CloseCircleFilled.d.ts +2 -2
  316. package/dist/src/iconDictionary/Copy.d.ts +2 -2
  317. package/dist/src/iconDictionary/Delete.d.ts +2 -2
  318. package/dist/src/iconDictionary/Download.d.ts +2 -2
  319. package/dist/src/iconDictionary/DragHandle.d.ts +2 -2
  320. package/dist/src/iconDictionary/Edit.d.ts +2 -2
  321. package/dist/src/iconDictionary/ExternalLink.d.ts +2 -2
  322. package/dist/src/iconDictionary/Eye.d.ts +2 -2
  323. package/dist/src/iconDictionary/EyeOff.d.ts +2 -2
  324. package/dist/src/iconDictionary/Filter.d.ts +2 -2
  325. package/dist/src/iconDictionary/Globe.d.ts +2 -2
  326. package/dist/src/iconDictionary/Home.d.ts +2 -2
  327. package/dist/src/iconDictionary/InformationCircle.d.ts +2 -2
  328. package/dist/src/iconDictionary/InformationCircleFilled.d.ts +2 -2
  329. package/dist/src/iconDictionary/Notification.d.ts +2 -2
  330. package/dist/src/iconDictionary/OverflowVertical.d.ts +2 -2
  331. package/dist/src/iconDictionary/QuestionCircle.d.ts +2 -2
  332. package/dist/src/iconDictionary/QuestionCircleFilled.d.ts +2 -2
  333. package/dist/src/iconDictionary/Search.d.ts +2 -2
  334. package/dist/src/iconDictionary/Settings.d.ts +2 -2
  335. package/dist/src/iconDictionary/Subtract.d.ts +2 -2
  336. package/dist/src/iconDictionary/User.d.ts +2 -2
  337. package/dist/src/iconDictionary/UserGroup.d.ts +2 -2
  338. package/dist/src/iconDictionary/index.d.ts +40 -40
  339. package/dist/src/index.d.ts +15 -10
  340. package/dist/src/index.d.ts.map +1 -1
  341. package/dist/src/properties/ts/odyssey-react-mui.d.ts +11 -0
  342. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -0
  343. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +2 -0
  344. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -0
  345. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +2 -0
  346. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -0
  347. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +2 -0
  348. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -0
  349. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +2 -0
  350. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -0
  351. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +2 -0
  352. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -0
  353. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +2 -0
  354. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -0
  355. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +2 -0
  356. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -0
  357. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +2 -0
  358. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -0
  359. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +2 -0
  360. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -0
  361. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +2 -0
  362. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -0
  363. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +2 -0
  364. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -0
  365. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +2 -0
  366. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -0
  367. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +2 -0
  368. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -0
  369. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +2 -0
  370. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -0
  371. package/dist/src/properties/ts/odyssey-react-mui_nl-NL.d.ts +2 -0
  372. package/dist/src/properties/ts/odyssey-react-mui_nl-NL.d.ts.map +1 -0
  373. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +2 -0
  374. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -0
  375. package/dist/src/properties/ts/odyssey-react-mui_pt-BR.d.ts +2 -0
  376. package/dist/src/properties/ts/odyssey-react-mui_pt-BR.d.ts.map +1 -0
  377. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +2 -0
  378. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -0
  379. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +2 -0
  380. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -0
  381. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +2 -0
  382. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -0
  383. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +2 -0
  384. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -0
  385. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +2 -0
  386. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -0
  387. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +2 -0
  388. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -0
  389. package/dist/src/properties/ts/odyssey-react-mui_zh-CN.d.ts +2 -0
  390. package/dist/src/properties/ts/odyssey-react-mui_zh-CN.d.ts.map +1 -0
  391. package/dist/src/properties/ts/odyssey-react-mui_zh-TW.d.ts +2 -0
  392. package/dist/src/properties/ts/odyssey-react-mui_zh-TW.d.ts.map +1 -0
  393. package/dist/src/theme/components.d.ts.map +1 -1
  394. package/dist/src/theme/index.d.ts +3 -1
  395. package/dist/src/theme/index.d.ts.map +1 -1
  396. package/dist/src/theme/mixins.d.ts +2 -1
  397. package/dist/src/theme/mixins.d.ts.map +1 -1
  398. package/dist/src/theme/palette.d.ts +2 -1
  399. package/dist/src/theme/palette.d.ts.map +1 -1
  400. package/dist/src/theme/shape.d.ts +2 -1
  401. package/dist/src/theme/shape.d.ts.map +1 -1
  402. package/dist/src/theme/spacing.d.ts +2 -1
  403. package/dist/src/theme/spacing.d.ts.map +1 -1
  404. package/dist/src/theme/theme.d.ts +3 -2
  405. package/dist/src/theme/theme.d.ts.map +1 -1
  406. package/dist/src/theme/typography.d.ts +2 -1
  407. package/dist/src/theme/typography.d.ts.map +1 -1
  408. package/dist/theme/components.js +123 -85
  409. package/dist/theme/components.js.map +1 -1
  410. package/dist/theme/components.types.js +1 -0
  411. package/dist/theme/components.types.js.map +1 -1
  412. package/dist/theme/index.js +1 -1
  413. package/dist/theme/index.js.map +1 -1
  414. package/dist/theme/mixins.js +8 -6
  415. package/dist/theme/mixins.js.map +1 -1
  416. package/dist/theme/mixins.types.js +1 -0
  417. package/dist/theme/mixins.types.js.map +1 -1
  418. package/dist/theme/palette.js +89 -86
  419. package/dist/theme/palette.js.map +1 -1
  420. package/dist/theme/palette.types.js +1 -0
  421. package/dist/theme/palette.types.js.map +1 -1
  422. package/dist/theme/shape.js +6 -4
  423. package/dist/theme/shape.js.map +1 -1
  424. package/dist/theme/spacing.js +4 -1
  425. package/dist/theme/spacing.js.map +1 -1
  426. package/dist/theme/temp.js +1 -0
  427. package/dist/theme/temp.js.map +1 -1
  428. package/dist/theme/theme.js +12 -9
  429. package/dist/theme/theme.js.map +1 -1
  430. package/dist/theme/typography.js +85 -83
  431. package/dist/theme/typography.js.map +1 -1
  432. package/dist/theme/typography.types.js +1 -0
  433. package/dist/theme/typography.types.js.map +1 -1
  434. package/dist/theme/useTheme.js +1 -0
  435. package/dist/theme/useTheme.js.map +1 -1
  436. package/dist/tsconfig.production.tsbuildinfo +1 -1
  437. package/dist/useUniqueAlphabeticalId.js +1 -0
  438. package/dist/useUniqueAlphabeticalId.js.map +1 -1
  439. package/dist/useUniqueId.js +1 -0
  440. package/dist/useUniqueId.js.map +1 -1
  441. package/i18n.config.json +8 -0
  442. package/package.json +9 -4
  443. package/scripts/properties-to-ts.js +103 -0
  444. package/src/@types/i18next.d.ts +22 -0
  445. package/src/Autocomplete.tsx +10 -1
  446. package/src/Banner.tsx +37 -32
  447. package/src/Button.tsx +38 -18
  448. package/src/Checkbox.tsx +47 -21
  449. package/src/CheckboxGroup.tsx +30 -34
  450. package/src/Dialog.tsx +110 -0
  451. package/src/Field.tsx +56 -24
  452. package/src/FieldError.tsx +6 -1
  453. package/src/FieldLabel.tsx +13 -10
  454. package/src/Fieldset.tsx +95 -0
  455. package/src/Form.tsx +142 -0
  456. package/src/Icon.test.tsx +1 -1
  457. package/src/Icon.tsx +27 -13
  458. package/src/Infobox.tsx +18 -13
  459. package/src/Link.tsx +14 -6
  460. package/src/MenuButton.tsx +8 -3
  461. package/src/MenuItem.tsx +1 -0
  462. package/src/MuiPropsChild.tsx +41 -0
  463. package/src/MuiPropsContext.ts +17 -0
  464. package/src/NativeSelect.tsx +107 -0
  465. package/src/OdysseyI18n.ts +101 -0
  466. package/src/OdysseyProvider.tsx +59 -0
  467. package/src/OdysseyThemeProvider.tsx +9 -3
  468. package/src/OdysseyTranslationProvider.test.tsx +63 -0
  469. package/src/OdysseyTranslationProvider.tsx +65 -0
  470. package/src/OdysseyTranslationProvider.types.ts +42 -0
  471. package/src/PasswordField.tsx +18 -11
  472. package/src/RadioGroup.tsx +31 -46
  473. package/src/SearchField.tsx +10 -8
  474. package/src/Select.tsx +226 -0
  475. package/src/Status.tsx +2 -2
  476. package/src/Tabs.tsx +70 -0
  477. package/src/TextField.tsx +31 -25
  478. package/src/Toast.tsx +140 -0
  479. package/src/{ThemeProvider.tsx → ToastStack.tsx} +16 -9
  480. package/src/Tooltip.tsx +39 -0
  481. package/src/iconDictionary/Add.tsx +3 -3
  482. package/src/iconDictionary/AddCircle.tsx +3 -3
  483. package/src/iconDictionary/AlertCircle.tsx +3 -3
  484. package/src/iconDictionary/AlertCircleFilled.tsx +3 -3
  485. package/src/iconDictionary/AlertTriangleFilled.tsx +3 -3
  486. package/src/iconDictionary/Anchor.tsx +3 -3
  487. package/src/iconDictionary/ArrowDown.tsx +3 -3
  488. package/src/iconDictionary/ArrowLeft.tsx +3 -3
  489. package/src/iconDictionary/ArrowRight.tsx +3 -3
  490. package/src/iconDictionary/ArrowUp.tsx +3 -3
  491. package/src/iconDictionary/ArrowUpDown.tsx +3 -3
  492. package/src/iconDictionary/Calendar.tsx +3 -3
  493. package/src/iconDictionary/Check.tsx +3 -3
  494. package/src/iconDictionary/CheckCircleFilled.tsx +3 -3
  495. package/src/iconDictionary/ChevronDown.tsx +3 -3
  496. package/src/iconDictionary/ChevronUp.tsx +3 -3
  497. package/src/iconDictionary/Close.tsx +3 -3
  498. package/src/iconDictionary/CloseCircleFilled.tsx +3 -3
  499. package/src/iconDictionary/Copy.tsx +3 -3
  500. package/src/iconDictionary/Delete.tsx +3 -3
  501. package/src/iconDictionary/Download.tsx +3 -3
  502. package/src/iconDictionary/DragHandle.tsx +3 -3
  503. package/src/iconDictionary/Edit.tsx +3 -3
  504. package/src/iconDictionary/ExternalLink.tsx +3 -3
  505. package/src/iconDictionary/Eye.tsx +3 -3
  506. package/src/iconDictionary/EyeOff.tsx +3 -3
  507. package/src/iconDictionary/Filter.tsx +3 -3
  508. package/src/iconDictionary/Globe.tsx +3 -3
  509. package/src/iconDictionary/Home.tsx +3 -3
  510. package/src/iconDictionary/InformationCircle.tsx +3 -3
  511. package/src/iconDictionary/InformationCircleFilled.tsx +3 -3
  512. package/src/iconDictionary/Notification.tsx +3 -3
  513. package/src/iconDictionary/OverflowVertical.tsx +3 -3
  514. package/src/iconDictionary/QuestionCircle.tsx +3 -3
  515. package/src/iconDictionary/QuestionCircleFilled.tsx +3 -3
  516. package/src/iconDictionary/Search.tsx +3 -3
  517. package/src/iconDictionary/Settings.tsx +2 -2
  518. package/src/iconDictionary/Subtract.tsx +3 -3
  519. package/src/iconDictionary/User.tsx +3 -3
  520. package/src/iconDictionary/UserGroup.tsx +3 -3
  521. package/src/iconDictionary/index.ts +1 -1
  522. package/src/index.ts +11 -23
  523. package/src/properties/odyssey-react-mui.properties +8 -0
  524. package/src/properties/translations/odyssey-react-mui_cs.properties +0 -0
  525. package/src/properties/translations/odyssey-react-mui_da.properties +0 -0
  526. package/src/properties/translations/odyssey-react-mui_de.properties +0 -0
  527. package/src/properties/translations/odyssey-react-mui_el.properties +0 -0
  528. package/src/properties/translations/odyssey-react-mui_es.properties +0 -0
  529. package/src/properties/translations/odyssey-react-mui_fi.properties +0 -0
  530. package/src/properties/translations/odyssey-react-mui_fr.properties +0 -0
  531. package/src/properties/translations/odyssey-react-mui_hu.properties +0 -0
  532. package/src/properties/translations/odyssey-react-mui_id.properties +0 -0
  533. package/src/properties/translations/odyssey-react-mui_it.properties +0 -0
  534. package/src/properties/translations/odyssey-react-mui_ja.properties +0 -0
  535. package/src/properties/translations/odyssey-react-mui_ko.properties +0 -0
  536. package/src/properties/translations/odyssey-react-mui_ms.properties +0 -0
  537. package/src/properties/translations/odyssey-react-mui_nb.properties +0 -0
  538. package/src/properties/translations/odyssey-react-mui_nl-NL.properties +0 -0
  539. package/src/properties/translations/odyssey-react-mui_pl.properties +0 -0
  540. package/src/properties/translations/odyssey-react-mui_pt-BR.properties +0 -0
  541. package/src/properties/translations/odyssey-react-mui_ro.properties +0 -0
  542. package/src/properties/translations/odyssey-react-mui_ru.properties +0 -0
  543. package/src/properties/translations/odyssey-react-mui_sv.properties +0 -0
  544. package/src/properties/translations/odyssey-react-mui_th.properties +0 -0
  545. package/src/properties/translations/odyssey-react-mui_tr.properties +0 -0
  546. package/src/properties/translations/odyssey-react-mui_uk.properties +0 -0
  547. package/src/properties/translations/odyssey-react-mui_zh-CN.properties +0 -0
  548. package/src/properties/translations/odyssey-react-mui_zh-TW.properties +0 -0
  549. package/src/properties/ts/odyssey-react-mui.ts +1 -0
  550. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -0
  551. package/src/properties/ts/odyssey-react-mui_da.ts +1 -0
  552. package/src/properties/ts/odyssey-react-mui_de.ts +1 -0
  553. package/src/properties/ts/odyssey-react-mui_el.ts +1 -0
  554. package/src/properties/ts/odyssey-react-mui_es.ts +1 -0
  555. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -0
  556. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -0
  557. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -0
  558. package/src/properties/ts/odyssey-react-mui_id.ts +1 -0
  559. package/src/properties/ts/odyssey-react-mui_it.ts +1 -0
  560. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -0
  561. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -0
  562. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -0
  563. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -0
  564. package/src/properties/ts/odyssey-react-mui_nl-NL.ts +1 -0
  565. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -0
  566. package/src/properties/ts/odyssey-react-mui_pt-BR.ts +1 -0
  567. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -0
  568. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -0
  569. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -0
  570. package/src/properties/ts/odyssey-react-mui_th.ts +1 -0
  571. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -0
  572. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -0
  573. package/src/properties/ts/odyssey-react-mui_zh-CN.ts +1 -0
  574. package/src/properties/ts/odyssey-react-mui_zh-TW.ts +1 -0
  575. package/src/theme/components.tsx +44 -13
  576. package/src/theme/index.ts +5 -1
  577. package/src/theme/mixins.ts +10 -6
  578. package/src/theme/palette.ts +95 -88
  579. package/src/theme/shape.ts +12 -8
  580. package/src/theme/spacing.ts +17 -12
  581. package/src/theme/theme.ts +14 -10
  582. package/src/theme/typography.ts +87 -83
  583. package/dist/ThemeProvider.js.map +0 -1
  584. package/dist/src/ThemeProvider.d.ts.map +0 -1
@@ -9,6 +9,7 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { useMemo } from "react";
13
14
  import { createUniqueAlphabeticalId } from "./createUniqueAlphabeticalId.js";
14
15
  export const useUniqueAlphabeticalId = id => {
@@ -1 +1 @@
1
- {"version":3,"file":"useUniqueAlphabeticalId.js","names":["useMemo","createUniqueAlphabeticalId","useUniqueAlphabeticalId","id","uniqueAlphabeticalId"],"sources":["../src/useUniqueAlphabeticalId.ts"],"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 { useMemo } from \"react\";\n\nimport { createUniqueAlphabeticalId } from \"./createUniqueAlphabeticalId\";\n\nexport const useUniqueAlphabeticalId = (id?: string) => {\n const uniqueAlphabeticalId = useMemo(() => createUniqueAlphabeticalId(), []);\n\n return id ?? uniqueAlphabeticalId;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,OAAT,QAAwB,OAAxB;SAESC,0B;AAET,OAAO,MAAMC,uBAAuB,GAAIC,EAAD,IAAiB;EACtD,MAAMC,oBAAoB,GAAGJ,OAAO,CAAC,MAAMC,0BAA0B,EAAjC,EAAqC,EAArC,CAApC;EAEA,OAAOE,EAAE,IAAIC,oBAAb;AACD,CAJM"}
1
+ {"version":3,"file":"useUniqueAlphabeticalId.js","names":["useMemo","createUniqueAlphabeticalId","useUniqueAlphabeticalId","id","uniqueAlphabeticalId"],"sources":["../src/useUniqueAlphabeticalId.ts"],"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 { useMemo } from \"react\";\n\nimport { createUniqueAlphabeticalId } from \"./createUniqueAlphabeticalId\";\n\nexport const useUniqueAlphabeticalId = (id?: string) => {\n const uniqueAlphabeticalId = useMemo(() => createUniqueAlphabeticalId(), []);\n\n return id ?? uniqueAlphabeticalId;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,OAAO;AAAC,SAEvBC,0BAA0B;AAEnC,OAAO,MAAMC,uBAAuB,GAAIC,EAAW,IAAK;EACtD,MAAMC,oBAAoB,GAAGJ,OAAO,CAAC,MAAMC,0BAA0B,CAAC,CAAC,EAAE,EAAE,CAAC;EAE5E,OAAOE,EAAE,IAAIC,oBAAoB;AACnC,CAAC"}
@@ -9,6 +9,7 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
+
12
13
  import { useMemo } from "react";
13
14
  import { createUniqueId } from "./createUniqueId.js";
14
15
  export const useUniqueId = id => {
@@ -1 +1 @@
1
- {"version":3,"file":"useUniqueId.js","names":["useMemo","createUniqueId","useUniqueId","id","uniqueId"],"sources":["../src/useUniqueId.ts"],"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 { useMemo } from \"react\";\n\nimport { createUniqueId } from \"./createUniqueId\";\n\nexport const useUniqueId = (id?: string) => {\n const uniqueId = useMemo(() => createUniqueId(), []);\n\n return id ?? uniqueId;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAASA,OAAT,QAAwB,OAAxB;SAESC,c;AAET,OAAO,MAAMC,WAAW,GAAIC,EAAD,IAAiB;EAC1C,MAAMC,QAAQ,GAAGJ,OAAO,CAAC,MAAMC,cAAc,EAArB,EAAyB,EAAzB,CAAxB;EAEA,OAAOE,EAAE,IAAIC,QAAb;AACD,CAJM"}
1
+ {"version":3,"file":"useUniqueId.js","names":["useMemo","createUniqueId","useUniqueId","id","uniqueId"],"sources":["../src/useUniqueId.ts"],"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 { useMemo } from \"react\";\n\nimport { createUniqueId } from \"./createUniqueId\";\n\nexport const useUniqueId = (id?: string) => {\n const uniqueId = useMemo(() => createUniqueId(), []);\n\n return id ?? uniqueId;\n};\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,OAAO,QAAQ,OAAO;AAAC,SAEvBC,cAAc;AAEvB,OAAO,MAAMC,WAAW,GAAIC,EAAW,IAAK;EAC1C,MAAMC,QAAQ,GAAGJ,OAAO,CAAC,MAAMC,cAAc,CAAC,CAAC,EAAE,EAAE,CAAC;EAEpD,OAAOE,EAAE,IAAIC,QAAQ;AACvB,CAAC"}
@@ -0,0 +1,8 @@
1
+ {
2
+ "defaultBranch": "develop",
3
+ "resourceFile": "odyssey-react-mui.properties",
4
+ "resourceFilePath": "packages/odyssey-react-mui/src/properties",
5
+ "translationsFilePath": "packages/odyssey-react-mui/src/properties/translations",
6
+ "commitPrefix": "chore(odyssey-react-mui): ",
7
+ "reviewers": ["okta/eng-globalizationcore", "okta/design-system"]
8
+ }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@okta/odyssey-react-mui",
3
- "version": "0.22.0",
3
+ "version": "0.24.0",
4
4
  "description": "React MUI components for Odyssey, Okta's design system",
5
5
  "author": "Okta, Inc.",
6
6
  "license": "Apache-2.0",
@@ -12,6 +12,9 @@
12
12
  ".": {
13
13
  "types": "./dist/src/index.d.ts",
14
14
  "default": "./dist/index.js"
15
+ },
16
+ "./README.md": {
17
+ "default": "./README.md"
15
18
  }
16
19
  },
17
20
  "repository": {
@@ -23,9 +26,11 @@
23
26
  "@emotion/cache": "^11.10.5",
24
27
  "@mui/icons-material": "^5.11.0",
25
28
  "@mui/lab": "^5.0.0-alpha.117",
26
- "@mui/material": "^5.11.6",
29
+ "@mui/material": "^5.12.3",
27
30
  "@mui/utils": "^5.11.2",
28
- "@okta/odyssey-design-tokens": "0.22.0"
31
+ "@okta/odyssey-design-tokens": "0.24.0",
32
+ "i18next": "^22.4.15",
33
+ "react-i18next": "^12.2.2"
29
34
  },
30
35
  "peerDependencies": {
31
36
  "@emotion/react": "^11",
@@ -33,5 +38,5 @@
33
38
  "react": ">=17 <19",
34
39
  "react-dom": ">=17 <19"
35
40
  },
36
- "gitHead": "b1a4a93f7d570162a52e4c28012fb65e31d5bb4b"
41
+ "gitHead": "a0606b67a94216882f377514f2f733c6ebb39f9d"
37
42
  }
@@ -0,0 +1,103 @@
1
+ /*!
2
+ * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ // Part of this has been copied over from @okta/ui-build-tools' own internal node script
14
+ // https://github.com/okta/ui-build-tools/blob/master/packages/clis/i18n/properties-to-json.js
15
+
16
+ const { resolve, join, basename, extname } = require("node:path");
17
+ const {
18
+ readFileSync,
19
+ writeFileSync,
20
+ rmSync,
21
+ existsSync,
22
+ mkdirSync,
23
+ } = require("fs");
24
+ const properties = require("properties");
25
+ const readdir = require("recursive-readdir");
26
+
27
+ const convert = (baseFiles, propertiesTargetDir) => {
28
+ for (const src of baseFiles) {
29
+ const filename = basename(src);
30
+ const extension = extname(src);
31
+ const source = `${readFileSync(src)}`;
32
+
33
+ properties.parse(source, function (error, obj) {
34
+ if (error) {
35
+ return console.error(error);
36
+ }
37
+
38
+ const targetFile = join(
39
+ propertiesTargetDir,
40
+ filename.replace(extension, ".ts")
41
+ );
42
+ writeFileSync(
43
+ targetFile,
44
+ `export const translation = ${JSON.stringify(obj)};`
45
+ );
46
+ });
47
+ }
48
+ };
49
+
50
+ async function convertPropertiesToJson({ resourcePath, targetJsonPath }) {
51
+ const sourceDirectory = resolve(resourcePath);
52
+ const propertiesTargetDirectory = resolve(targetJsonPath);
53
+
54
+ if (!existsSync(sourceDirectory)) {
55
+ mkdirSync(sourceDirectory);
56
+ }
57
+ if (existsSync(propertiesTargetDirectory)) {
58
+ rmSync(propertiesTargetDirectory, { recursive: true, force: true });
59
+ }
60
+ mkdirSync(propertiesTargetDirectory);
61
+
62
+ let baseFiles = await readdir(sourceDirectory);
63
+ convert(baseFiles, propertiesTargetDirectory);
64
+ }
65
+
66
+ exports.handler = async (argv) => {
67
+ const { resourcePath, targetJsonPath } = argv;
68
+
69
+ await convertPropertiesToJson({
70
+ resourcePath,
71
+ targetJsonPath,
72
+ });
73
+ };
74
+
75
+ require("yargs")
76
+ .scriptName("properties-to-ts")
77
+ .usage("$0 <cmd> [args]")
78
+ .command(
79
+ "bundle",
80
+ "Converts properties file to ts",
81
+ (yargs) => {
82
+ yargs
83
+ .positional("resourcePath", {
84
+ type: "string",
85
+ default: "src/properties",
86
+ describe: "A relative path to resources based on cwd.",
87
+ })
88
+ .positional("targetJsonPath", {
89
+ type: "string",
90
+ default: "src/properties/ts",
91
+ describe: "A relative path to directory for ts file output",
92
+ });
93
+ },
94
+ function (argv) {
95
+ const { resourcePath, targetJsonPath } = argv;
96
+
97
+ convertPropertiesToJson({
98
+ resourcePath,
99
+ targetJsonPath,
100
+ });
101
+ }
102
+ )
103
+ .help().argv;
@@ -0,0 +1,22 @@
1
+ /*!
2
+ * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import "i18next";
14
+ import { translation as en } from "../properties/ts/odyssey-react-mui";
15
+
16
+ declare module "i18next" {
17
+ interface CustomTypeOptions {
18
+ resources: {
19
+ translations: typeof en;
20
+ };
21
+ }
22
+ }
@@ -62,6 +62,12 @@ export type AutocompleteProps<
62
62
  undefined,
63
63
  IsCustomValueAllowed
64
64
  >["onChange"];
65
+ onInputChange?: MuiAutocompleteProps<
66
+ OptionType,
67
+ HasMultipleChoices,
68
+ undefined,
69
+ IsCustomValueAllowed
70
+ >["onInputChange"];
65
71
  options: MuiAutocompleteProps<
66
72
  OptionType,
67
73
  HasMultipleChoices,
@@ -89,14 +95,16 @@ const Autocomplete = <
89
95
  hint,
90
96
  label,
91
97
  onChange,
98
+ onInputChange,
92
99
  options,
93
100
  value,
94
101
  }: AutocompleteProps<OptionType, HasMultipleChoices, IsCustomValueAllowed>) => {
95
102
  const renderInput = useCallback(
96
103
  ({ InputLabelProps, InputProps, ...params }) => (
97
104
  <Field
98
- {...InputLabelProps}
105
+ fieldType="single"
99
106
  hasVisibleLabel
107
+ id={InputLabelProps.htmlFor}
100
108
  hint={hint}
101
109
  label={label}
102
110
  renderFieldComponent={({ ariaDescribedBy, id }) => (
@@ -119,6 +127,7 @@ const Autocomplete = <
119
127
  loading={isLoading}
120
128
  multiple={hasMultipleChoices}
121
129
  onChange={onChange}
130
+ onInputChange={onInputChange}
122
131
  options={options}
123
132
  readOnly={isReadOnly}
124
133
  renderInput={renderInput}
package/src/Banner.tsx CHANGED
@@ -13,57 +13,62 @@
13
13
  import { AlertColor, AlertProps } from "@mui/material";
14
14
  import { memo } from "react";
15
15
  import { Alert, Link, ScreenReaderText } from "./";
16
+ import { useTranslation } from "react-i18next";
16
17
 
17
- export interface BannerProps {
18
+ export type BannerProps = {
18
19
  /**
19
- * Determine the color and icon of the alert
20
- */
21
- severity: AlertColor;
22
- /**
23
- * Sets the ARIA role of the alert
24
- * ("status" for something that dynamically updates, "alert" for errors, null for something
25
- * unchanging)
20
+ * If linkUrl is not undefined, this is the text of the link.
21
+ * If left blank, it defaults to "Learn more".
22
+ * Note that linkText does nothing if linkUrl is not defined
26
23
  */
27
- role?: "status" | "alert";
24
+ linkText?: string;
28
25
  /**
29
- * The text content of the alert
26
+ * If defined, the alert will include a link to the URL
30
27
  */
31
- text: string;
28
+ linkUrl?: string;
32
29
  /**
33
30
  * The function that's fired when the user clicks the close button. If undefined,
34
31
  * the close button will not be shown.
35
32
  */
36
33
  onClose?: AlertProps["onClose"];
37
34
  /**
38
- * If defined, the alert will include a link to the URL
35
+ * Sets the ARIA role of the alert
36
+ * ("status" for something that dynamically updates, "alert" for errors, null for something
37
+ * unchanging)
39
38
  */
40
- linkUrl?: string;
39
+ role?: "status" | "alert";
41
40
  /**
42
- * If linkUrl is not undefined, this is the text of the link.
43
- * If left blank, it defaults to "Learn more".
44
- * Note that linkText does nothing if linkUrl is not defined
41
+ * Determine the color and icon of the alert
45
42
  */
46
- linkText?: string;
47
- }
43
+ severity: AlertColor;
44
+ /**
45
+ * The text content of the alert
46
+ */
47
+ text: string;
48
+ };
48
49
 
49
50
  const Banner = ({
50
- onClose,
51
- severity,
52
- role,
53
51
  linkUrl,
54
52
  linkText,
53
+ onClose,
54
+ role,
55
+ severity,
55
56
  text,
56
- }: BannerProps) => (
57
- <Alert onClose={onClose} role={role} severity={severity} variant="banner">
58
- <ScreenReaderText>{severity}:</ScreenReaderText>
59
- {text}
60
- {linkUrl && (
61
- <Link href={linkUrl} variant="monochrome">
62
- {linkText}
63
- </Link>
64
- )}
65
- </Alert>
66
- );
57
+ }: BannerProps) => {
58
+ const { t } = useTranslation();
59
+
60
+ return (
61
+ <Alert onClose={onClose} role={role} severity={severity} variant="banner">
62
+ <ScreenReaderText>{t(`severity.${severity}`)}:</ScreenReaderText>
63
+ {text}
64
+ {linkUrl && (
65
+ <Link href={linkUrl} variant="monochrome">
66
+ {linkText}
67
+ </Link>
68
+ )}
69
+ </Alert>
70
+ );
71
+ };
67
72
 
68
73
  const MemoizedBanner = memo(Banner);
69
74
 
package/src/Button.tsx CHANGED
@@ -12,17 +12,20 @@
12
12
 
13
13
  import { Button as MuiButton } from "@mui/material";
14
14
  import type { ButtonProps as MuiButtonProps } from "@mui/material";
15
- import { Tooltip } from "./";
16
- import { memo } from "react";
15
+ import { memo, ReactElement, useContext, useMemo } from "react";
16
+
17
+ import { Icon } from "./Icon";
18
+ import { MuiPropsContext } from "./MuiPropsContext";
19
+ import { Tooltip } from "./Tooltip";
17
20
 
18
21
  export type ButtonProps = {
19
- endIcon?: React.ReactNode;
22
+ endIcon?: ReactElement<typeof Icon>;
20
23
  id?: string;
21
24
  isDisabled?: boolean;
22
25
  isFullWidth?: boolean;
23
26
  onClick?: MuiButtonProps["onClick"];
24
27
  size?: MuiButtonProps["size"];
25
- startIcon?: React.ReactNode;
28
+ startIcon?: ReactElement<typeof Icon>;
26
29
  text?: string;
27
30
  /**
28
31
  * `tooltipText` determines the text of the tooltip that wraps the button if it's icon-only.
@@ -43,25 +46,42 @@ const Button = ({
43
46
  tooltipText,
44
47
  variant,
45
48
  }: ButtonProps) => {
46
- const button = (
47
- <MuiButton
48
- disabled={isDisabled}
49
- endIcon={endIcon}
50
- fullWidth={isFullWidth}
51
- id={id}
52
- onClick={onClick}
53
- size={size}
54
- startIcon={startIcon}
55
- variant={variant}
56
- >
57
- {text}
58
- </MuiButton>
49
+ const muiProps = useContext(MuiPropsContext);
50
+
51
+ const button = useMemo(
52
+ () => (
53
+ <MuiButton
54
+ {...muiProps}
55
+ disabled={isDisabled}
56
+ endIcon={endIcon}
57
+ fullWidth={isFullWidth}
58
+ id={id}
59
+ onClick={onClick}
60
+ size={size}
61
+ startIcon={startIcon}
62
+ variant={variant}
63
+ >
64
+ {text}
65
+ </MuiButton>
66
+ ),
67
+ [
68
+ endIcon,
69
+ id,
70
+ isDisabled,
71
+ isFullWidth,
72
+ muiProps,
73
+ onClick,
74
+ size,
75
+ startIcon,
76
+ text,
77
+ variant,
78
+ ]
59
79
  );
60
80
 
61
81
  return (
62
82
  <>
63
83
  {tooltipText && (
64
- <Tooltip describeChild placement="top" title={tooltipText}>
84
+ <Tooltip ariaType="description" placement="top" text={tooltipText}>
65
85
  {button}
66
86
  </Tooltip>
67
87
  )}
package/src/Checkbox.tsx CHANGED
@@ -10,19 +10,22 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { Checkbox as MuiCheckbox } from "@mui/material";
14
- import { ChangeEventHandler, memo } from "react";
13
+ import { Checkbox as MuiCheckbox, Typography } from "@mui/material";
14
+ import { ChangeEventHandler, memo, useMemo } from "react";
15
+ import { useTranslation } from "react-i18next";
15
16
 
16
17
  import { FormControlLabel } from ".";
17
18
 
18
19
  export type CheckboxProps = {
19
20
  ariaLabel?: string;
20
21
  ariaLabelledBy?: string;
22
+ isInvalid?: boolean;
23
+ isValid?: boolean;
21
24
  isChecked?: boolean;
22
25
  isDefaultChecked?: boolean;
23
26
  isDisabled?: boolean;
24
- hasError?: boolean;
25
27
  isIndeterminate?: boolean;
28
+ isRequired?: boolean;
26
29
  label?: string;
27
30
  name?: string;
28
31
  onChange?: ChangeEventHandler<EventTarget>;
@@ -32,30 +35,53 @@ export type CheckboxProps = {
32
35
  const Checkbox = ({
33
36
  ariaLabel,
34
37
  ariaLabelledBy,
38
+ isInvalid,
39
+ isValid,
35
40
  isChecked,
36
- isDefaultChecked,
37
41
  isDisabled,
38
42
  isIndeterminate,
39
- hasError,
40
- label,
43
+ isRequired,
44
+ label: labelProp,
41
45
  name,
42
46
  onChange,
43
47
  value,
44
- }: CheckboxProps) => (
45
- <FormControlLabel
46
- aria-label={ariaLabel}
47
- aria-labelledby={ariaLabelledBy}
48
- checked={isChecked}
49
- className={hasError ? "Mui-error" : ""}
50
- control={<MuiCheckbox indeterminate={isIndeterminate} />}
51
- defaultChecked={isDefaultChecked}
52
- disabled={isDisabled}
53
- label={label}
54
- name={name}
55
- onChange={onChange}
56
- value={value}
57
- />
58
- );
48
+ }: CheckboxProps) => {
49
+ const { t } = useTranslation();
50
+
51
+ const label = useMemo(() => {
52
+ if (isRequired) {
53
+ return (
54
+ <>
55
+ {labelProp}{" "}
56
+ <Typography component="span" color="textSecondary">
57
+ ({t("fieldlabel.required.text")})
58
+ </Typography>
59
+ </>
60
+ );
61
+ } else {
62
+ return <>{labelProp}</>;
63
+ }
64
+ }, [isRequired, labelProp, t]);
65
+
66
+ return (
67
+ <FormControlLabel
68
+ aria-label={ariaLabel}
69
+ aria-labelledby={ariaLabelledBy}
70
+ aria-required={isRequired}
71
+ checked={isChecked}
72
+ className={isInvalid ? "Mui-error" : isValid ? "Mui-valid" : ""}
73
+ control={
74
+ <MuiCheckbox indeterminate={isIndeterminate} required={isRequired} />
75
+ }
76
+ disabled={isDisabled}
77
+ label={label}
78
+ name={name}
79
+ onChange={onChange}
80
+ value={value}
81
+ required={isRequired}
82
+ />
83
+ );
84
+ };
59
85
 
60
86
  const MemoizedCheckbox = memo(Checkbox);
61
87
 
@@ -10,16 +10,11 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { memo, ReactElement, useMemo } from "react";
13
+ import { FormGroup as MuiFormGroup } from "@mui/material";
14
+ import { memo, ReactElement, useCallback } from "react";
14
15
 
15
- import {
16
- Checkbox,
17
- FormControl,
18
- FormGroup,
19
- FormHelperText,
20
- FormLabel,
21
- ScreenReaderText,
22
- } from ".";
16
+ import { Checkbox } from "./Checkbox";
17
+ import { Field } from "./Field";
23
18
 
24
19
  export type CheckboxGroupProps = {
25
20
  children:
@@ -27,9 +22,13 @@ export type CheckboxGroupProps = {
27
22
  | Array<ReactElement<typeof Checkbox>>;
28
23
  errorMessage?: string;
29
24
  hint?: string;
25
+ /**
26
+ * The id of the `input` element. This will also be the input's `name` field.
27
+ */
28
+ id?: string;
30
29
  isDisabled?: boolean;
31
- label?: string;
32
- name?: string;
30
+ isRequired?: boolean;
31
+ label: string;
33
32
  };
34
33
 
35
34
  const CheckboxGroup = ({
@@ -37,34 +36,31 @@ const CheckboxGroup = ({
37
36
  isDisabled,
38
37
  errorMessage,
39
38
  hint,
39
+ id: idOverride,
40
+ isRequired = false,
40
41
  label,
41
- name,
42
42
  }: CheckboxGroupProps) => {
43
- const ariaDescribedBy = useMemo(
44
- () =>
45
- errorMessage || hint
46
- ? [hint && `${name}-hint`, errorMessage && `${name}-error`]
47
- .filter(Boolean)
48
- .join(" ")
49
- : undefined,
50
- [errorMessage, hint, name]
43
+ const renderFieldComponent = useCallback(
44
+ ({ ariaDescribedBy, id }) => (
45
+ <MuiFormGroup aria-describedby={ariaDescribedBy} id={id}>
46
+ {children}
47
+ </MuiFormGroup>
48
+ ),
49
+ [children]
51
50
  );
52
51
 
53
52
  return (
54
- <FormControl
55
- component="fieldset"
56
- disabled={isDisabled}
57
- error={Boolean(errorMessage)}
58
- >
59
- {label && <FormLabel component="legend">{label}</FormLabel>}
60
- {hint && <FormHelperText id={`${name}-hint`}>{hint}</FormHelperText>}
61
- <FormGroup aria-describedby={ariaDescribedBy}>{children}</FormGroup>
62
- {errorMessage && (
63
- <FormHelperText id={`${name}-error`} error>
64
- <ScreenReaderText>Error:</ScreenReaderText> {errorMessage}
65
- </FormHelperText>
66
- )}
67
- </FormControl>
53
+ <Field
54
+ errorMessage={errorMessage}
55
+ fieldType="group"
56
+ hasVisibleLabel={true}
57
+ hint={hint}
58
+ id={idOverride}
59
+ isDisabled={isDisabled}
60
+ isOptional={!isRequired}
61
+ label={label}
62
+ renderFieldComponent={renderFieldComponent}
63
+ />
68
64
  );
69
65
  };
70
66