@okta/odyssey-react-mui 1.25.0 → 1.26.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 (491) hide show
  1. package/CHANGELOG.md +11 -0
  2. package/dist/Autocomplete.js +30 -191
  3. package/dist/Autocomplete.js.map +1 -1
  4. package/dist/Box.js +2 -0
  5. package/dist/Box.js.map +1 -1
  6. package/dist/Card.js +1 -0
  7. package/dist/Card.js.map +1 -1
  8. package/dist/OdysseyDesignTokensContext.js +3 -2
  9. package/dist/OdysseyDesignTokensContext.js.map +1 -1
  10. package/dist/OdysseyProvider.js +9 -7
  11. package/dist/OdysseyProvider.js.map +1 -1
  12. package/dist/OdysseyThemeProvider.js +33 -13
  13. package/dist/OdysseyThemeProvider.js.map +1 -1
  14. package/dist/Pagination/Pagination.js +46 -14
  15. package/dist/Pagination/Pagination.js.map +1 -1
  16. package/dist/Surface.js +4 -1
  17. package/dist/Surface.js.map +1 -1
  18. package/dist/Tag.js +42 -27
  19. package/dist/Tag.js.map +1 -1
  20. package/dist/index.js +6 -7
  21. package/dist/index.js.map +1 -1
  22. package/dist/index.scss +1 -1
  23. package/dist/labs/AppTile.js +137 -39
  24. package/dist/labs/AppTile.js.map +1 -1
  25. package/dist/labs/DataView/CardLayoutContent.js +7 -8
  26. package/dist/labs/DataView/CardLayoutContent.js.map +1 -1
  27. package/dist/labs/DataView/DataCard.js +96 -43
  28. package/dist/labs/DataView/DataCard.js.map +1 -1
  29. package/dist/labs/DataView/TableLayoutContent.js +3 -2
  30. package/dist/labs/DataView/TableLayoutContent.js.map +1 -1
  31. package/dist/labs/DataView/componentTypes.js.map +1 -1
  32. package/dist/labs/DataView/index.js.map +1 -1
  33. package/dist/labs/OdysseyPickers/ComposablePicker.js +113 -0
  34. package/dist/labs/OdysseyPickers/ComposablePicker.js.map +1 -0
  35. package/dist/labs/OdysseyPickers/Picker.js +261 -0
  36. package/dist/labs/OdysseyPickers/Picker.js.map +1 -0
  37. package/dist/labs/OdysseyPickers/PickerVirtualizationListBox.js +132 -0
  38. package/dist/labs/OdysseyPickers/PickerVirtualizationListBox.js.map +1 -0
  39. package/dist/labs/OdysseyPickers/PickerWithOptionAdornment.js +291 -0
  40. package/dist/labs/OdysseyPickers/PickerWithOptionAdornment.js.map +1 -0
  41. package/dist/{src/createShadowDomElements.d.ts → labs/OdysseyPickers/index.js} +4 -7
  42. package/dist/labs/OdysseyPickers/index.js.map +1 -0
  43. package/dist/labs/PageTemplate.js +14 -10
  44. package/dist/labs/PageTemplate.js.map +1 -1
  45. package/dist/labs/SideNav/CollapseIcon.js +11 -25
  46. package/dist/labs/SideNav/CollapseIcon.js.map +1 -1
  47. package/dist/labs/SideNav/HandleIcon.js +32 -0
  48. package/dist/labs/SideNav/HandleIcon.js.map +1 -0
  49. package/dist/labs/{NavAccordion.js → SideNav/NavAccordion.js} +35 -6
  50. package/dist/labs/SideNav/NavAccordion.js.map +1 -0
  51. package/dist/labs/SideNav/OktaAura.js +32 -0
  52. package/dist/labs/SideNav/OktaAura.js.map +1 -0
  53. package/dist/labs/SideNav/OktaLogo.js +6 -9
  54. package/dist/labs/SideNav/OktaLogo.js.map +1 -1
  55. package/dist/labs/SideNav/SideNav.js +239 -169
  56. package/dist/labs/SideNav/SideNav.js.map +1 -1
  57. package/dist/labs/SideNav/SideNavFooterContent.js +32 -18
  58. package/dist/labs/SideNav/SideNavFooterContent.js.map +1 -1
  59. package/dist/labs/SideNav/SideNavHeader.js +48 -37
  60. package/dist/labs/SideNav/SideNavHeader.js.map +1 -1
  61. package/dist/labs/SideNav/SideNavItemContent.js +100 -58
  62. package/dist/labs/SideNav/SideNavItemContent.js.map +1 -1
  63. package/dist/labs/SideNav/SideNavItemContentContext.js +19 -0
  64. package/dist/labs/SideNav/SideNavItemContentContext.js.map +1 -0
  65. package/dist/labs/SideNav/SideNavItemLinkContent.js +14 -13
  66. package/dist/labs/SideNav/SideNavItemLinkContent.js.map +1 -1
  67. package/dist/labs/SideNav/SideNavLogo.js +42 -0
  68. package/dist/labs/SideNav/SideNavLogo.js.map +1 -0
  69. package/dist/labs/SideNav/SideNavToggleButton.js +170 -0
  70. package/dist/labs/SideNav/SideNavToggleButton.js.map +1 -0
  71. package/dist/labs/SideNav/types.js.map +1 -1
  72. package/dist/labs/TopNav/TopNav.js +65 -0
  73. package/dist/labs/TopNav/TopNav.js.map +1 -0
  74. package/dist/labs/TopNav/TopNavLinksList.js +38 -0
  75. package/dist/labs/TopNav/TopNavLinksList.js.map +1 -0
  76. package/dist/labs/TopNav/TopNavListItem.js +132 -0
  77. package/dist/labs/TopNav/TopNavListItem.js.map +1 -0
  78. package/dist/labs/TopNav/UserProfile.js +65 -0
  79. package/dist/labs/TopNav/UserProfile.js.map +1 -0
  80. package/dist/labs/TopNav/index.js +14 -0
  81. package/dist/labs/TopNav/index.js.map +1 -0
  82. package/dist/labs/UiShell/UiShell.js +68 -0
  83. package/dist/labs/UiShell/UiShell.js.map +1 -0
  84. package/dist/labs/UiShell/UiShellContent.js +114 -0
  85. package/dist/labs/UiShell/UiShellContent.js.map +1 -0
  86. package/dist/labs/UiShell/bufferLatest.js +37 -0
  87. package/dist/labs/UiShell/bufferLatest.js.map +1 -0
  88. package/dist/labs/UiShell/createMessageBus.js +30 -0
  89. package/dist/labs/UiShell/createMessageBus.js.map +1 -0
  90. package/dist/labs/UiShell/createStore.js +24 -0
  91. package/dist/labs/UiShell/createStore.js.map +1 -0
  92. package/dist/labs/UiShell/index.js +15 -0
  93. package/dist/labs/UiShell/index.js.map +1 -0
  94. package/dist/labs/UiShell/renderUiShell.js +78 -0
  95. package/dist/labs/UiShell/renderUiShell.js.map +1 -0
  96. package/dist/labs/UiShell/useHasUiShell.js +22 -0
  97. package/dist/labs/UiShell/useHasUiShell.js.map +1 -0
  98. package/dist/labs/UiShell/useScrollState.js +41 -0
  99. package/dist/labs/UiShell/useScrollState.js.map +1 -0
  100. package/dist/labs/index.js +5 -3
  101. package/dist/labs/index.js.map +1 -1
  102. package/dist/properties/ts/odyssey-react-mui.js +7 -1
  103. package/dist/properties/ts/odyssey-react-mui.js.map +1 -1
  104. package/dist/properties/ts/odyssey-react-mui_cs.js +3 -1
  105. package/dist/properties/ts/odyssey-react-mui_cs.js.map +1 -1
  106. package/dist/properties/ts/odyssey-react-mui_da.js +3 -1
  107. package/dist/properties/ts/odyssey-react-mui_da.js.map +1 -1
  108. package/dist/properties/ts/odyssey-react-mui_de.js +3 -1
  109. package/dist/properties/ts/odyssey-react-mui_de.js.map +1 -1
  110. package/dist/properties/ts/odyssey-react-mui_el.js +3 -1
  111. package/dist/properties/ts/odyssey-react-mui_el.js.map +1 -1
  112. package/dist/properties/ts/odyssey-react-mui_es.js +3 -1
  113. package/dist/properties/ts/odyssey-react-mui_es.js.map +1 -1
  114. package/dist/properties/ts/odyssey-react-mui_fi.js +3 -1
  115. package/dist/properties/ts/odyssey-react-mui_fi.js.map +1 -1
  116. package/dist/properties/ts/odyssey-react-mui_fr.js +5 -3
  117. package/dist/properties/ts/odyssey-react-mui_fr.js.map +1 -1
  118. package/dist/properties/ts/odyssey-react-mui_ht.js +3 -1
  119. package/dist/properties/ts/odyssey-react-mui_ht.js.map +1 -1
  120. package/dist/properties/ts/odyssey-react-mui_hu.js +3 -1
  121. package/dist/properties/ts/odyssey-react-mui_hu.js.map +1 -1
  122. package/dist/properties/ts/odyssey-react-mui_id.js +3 -1
  123. package/dist/properties/ts/odyssey-react-mui_id.js.map +1 -1
  124. package/dist/properties/ts/odyssey-react-mui_it.js +4 -2
  125. package/dist/properties/ts/odyssey-react-mui_it.js.map +1 -1
  126. package/dist/properties/ts/odyssey-react-mui_ja.js +9 -7
  127. package/dist/properties/ts/odyssey-react-mui_ja.js.map +1 -1
  128. package/dist/properties/ts/odyssey-react-mui_ko.js +3 -1
  129. package/dist/properties/ts/odyssey-react-mui_ko.js.map +1 -1
  130. package/dist/properties/ts/odyssey-react-mui_ms.js +3 -1
  131. package/dist/properties/ts/odyssey-react-mui_ms.js.map +1 -1
  132. package/dist/properties/ts/odyssey-react-mui_nb.js +3 -1
  133. package/dist/properties/ts/odyssey-react-mui_nb.js.map +1 -1
  134. package/dist/properties/ts/odyssey-react-mui_nl_NL.js +3 -1
  135. package/dist/properties/ts/odyssey-react-mui_nl_NL.js.map +1 -1
  136. package/dist/properties/ts/odyssey-react-mui_pl.js +3 -1
  137. package/dist/properties/ts/odyssey-react-mui_pl.js.map +1 -1
  138. package/dist/properties/ts/odyssey-react-mui_pt_BR.js +3 -1
  139. package/dist/properties/ts/odyssey-react-mui_pt_BR.js.map +1 -1
  140. package/dist/properties/ts/odyssey-react-mui_ro.js +3 -1
  141. package/dist/properties/ts/odyssey-react-mui_ro.js.map +1 -1
  142. package/dist/properties/ts/odyssey-react-mui_ru.js +3 -1
  143. package/dist/properties/ts/odyssey-react-mui_ru.js.map +1 -1
  144. package/dist/properties/ts/odyssey-react-mui_sv.js +3 -1
  145. package/dist/properties/ts/odyssey-react-mui_sv.js.map +1 -1
  146. package/dist/properties/ts/odyssey-react-mui_th.js +3 -1
  147. package/dist/properties/ts/odyssey-react-mui_th.js.map +1 -1
  148. package/dist/properties/ts/odyssey-react-mui_tr.js +4 -2
  149. package/dist/properties/ts/odyssey-react-mui_tr.js.map +1 -1
  150. package/dist/properties/ts/odyssey-react-mui_uk.js +3 -1
  151. package/dist/properties/ts/odyssey-react-mui_uk.js.map +1 -1
  152. package/dist/properties/ts/odyssey-react-mui_vi.js +3 -1
  153. package/dist/properties/ts/odyssey-react-mui_vi.js.map +1 -1
  154. package/dist/properties/ts/odyssey-react-mui_zh_CN.js +3 -1
  155. package/dist/properties/ts/odyssey-react-mui_zh_CN.js.map +1 -1
  156. package/dist/properties/ts/odyssey-react-mui_zh_TW.js +3 -1
  157. package/dist/properties/ts/odyssey-react-mui_zh_TW.js.map +1 -1
  158. package/dist/src/Autocomplete.d.ts +21 -22
  159. package/dist/src/Autocomplete.d.ts.map +1 -1
  160. package/dist/src/Box.d.ts +3 -1
  161. package/dist/src/Box.d.ts.map +1 -1
  162. package/dist/src/Card.d.ts.map +1 -1
  163. package/dist/src/OdysseyDesignTokensContext.d.ts +5 -4
  164. package/dist/src/OdysseyDesignTokensContext.d.ts.map +1 -1
  165. package/dist/src/OdysseyProvider.d.ts +3 -3
  166. package/dist/src/OdysseyProvider.d.ts.map +1 -1
  167. package/dist/src/OdysseyThemeProvider.d.ts +10 -12
  168. package/dist/src/OdysseyThemeProvider.d.ts.map +1 -1
  169. package/dist/src/OdysseyTranslationProvider.d.ts +1 -1
  170. package/dist/src/OdysseyTranslationProvider.d.ts.map +1 -1
  171. package/dist/src/Pagination/Pagination.d.ts +21 -7
  172. package/dist/src/Pagination/Pagination.d.ts.map +1 -1
  173. package/dist/src/Surface.d.ts.map +1 -1
  174. package/dist/src/Tag.d.ts +5 -2
  175. package/dist/src/Tag.d.ts.map +1 -1
  176. package/dist/src/index.d.ts +6 -7
  177. package/dist/src/index.d.ts.map +1 -1
  178. package/dist/src/labs/AppTile.d.ts +3 -1
  179. package/dist/src/labs/AppTile.d.ts.map +1 -1
  180. package/dist/src/labs/DataView/CardLayoutContent.d.ts.map +1 -1
  181. package/dist/src/labs/DataView/DataCard.d.ts +9 -3
  182. package/dist/src/labs/DataView/DataCard.d.ts.map +1 -1
  183. package/dist/src/labs/DataView/TableLayoutContent.d.ts.map +1 -1
  184. package/dist/src/labs/DataView/componentTypes.d.ts +1 -1
  185. package/dist/src/labs/DataView/componentTypes.d.ts.map +1 -1
  186. package/dist/src/labs/DataView/index.d.ts +1 -0
  187. package/dist/src/labs/DataView/index.d.ts.map +1 -1
  188. package/dist/src/labs/OdysseyPickers/ComposablePicker.d.ts +33 -0
  189. package/dist/src/labs/OdysseyPickers/ComposablePicker.d.ts.map +1 -0
  190. package/dist/src/labs/OdysseyPickers/Picker.d.ts +98 -0
  191. package/dist/src/labs/OdysseyPickers/Picker.d.ts.map +1 -0
  192. package/dist/src/labs/OdysseyPickers/PickerVirtualizationListBox.d.ts +17 -0
  193. package/dist/src/labs/OdysseyPickers/PickerVirtualizationListBox.d.ts.map +1 -0
  194. package/dist/src/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts +26 -0
  195. package/dist/src/labs/OdysseyPickers/PickerWithOptionAdornment.d.ts.map +1 -0
  196. package/dist/src/labs/OdysseyPickers/index.d.ts +15 -0
  197. package/dist/src/labs/OdysseyPickers/index.d.ts.map +1 -0
  198. package/dist/src/labs/PageTemplate.d.ts +1 -1
  199. package/dist/src/labs/PageTemplate.d.ts.map +1 -1
  200. package/dist/src/labs/SideNav/CollapseIcon.d.ts +1 -4
  201. package/dist/src/labs/SideNav/CollapseIcon.d.ts.map +1 -1
  202. package/dist/src/labs/SideNav/HandleIcon.d.ts +14 -0
  203. package/dist/src/labs/SideNav/HandleIcon.d.ts.map +1 -0
  204. package/dist/src/labs/{NavAccordion.d.ts → SideNav/NavAccordion.d.ts} +6 -2
  205. package/dist/src/labs/SideNav/NavAccordion.d.ts.map +1 -0
  206. package/dist/src/labs/SideNav/OktaAura.d.ts +14 -0
  207. package/dist/src/labs/SideNav/OktaAura.d.ts.map +1 -0
  208. package/dist/src/labs/SideNav/OktaLogo.d.ts.map +1 -1
  209. package/dist/src/labs/SideNav/SideNav.d.ts +2 -1
  210. package/dist/src/labs/SideNav/SideNav.d.ts.map +1 -1
  211. package/dist/src/labs/SideNav/SideNavFooterContent.d.ts +1 -1
  212. package/dist/src/labs/SideNav/SideNavFooterContent.d.ts.map +1 -1
  213. package/dist/src/labs/SideNav/SideNavHeader.d.ts +12 -3
  214. package/dist/src/labs/SideNav/SideNavHeader.d.ts.map +1 -1
  215. package/dist/src/labs/SideNav/SideNavItemContent.d.ts +2 -3
  216. package/dist/src/labs/SideNav/SideNavItemContent.d.ts.map +1 -1
  217. package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts +18 -0
  218. package/dist/src/labs/SideNav/SideNavItemContentContext.d.ts.map +1 -0
  219. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts +1 -1
  220. package/dist/src/labs/SideNav/SideNavItemLinkContent.d.ts.map +1 -1
  221. package/dist/src/labs/SideNav/SideNavLogo.d.ts +15 -0
  222. package/dist/src/labs/SideNav/SideNavLogo.d.ts.map +1 -0
  223. package/dist/src/labs/SideNav/SideNavToggleButton.d.ts +38 -0
  224. package/dist/src/labs/SideNav/SideNavToggleButton.d.ts.map +1 -0
  225. package/dist/src/labs/SideNav/types.d.ts +67 -33
  226. package/dist/src/labs/SideNav/types.d.ts.map +1 -1
  227. package/dist/src/labs/TopNav/TopNav.d.ts +31 -0
  228. package/dist/src/labs/TopNav/TopNav.d.ts.map +1 -0
  229. package/dist/src/labs/TopNav/TopNavLinksList.d.ts +44 -0
  230. package/dist/src/labs/TopNav/TopNavLinksList.d.ts.map +1 -0
  231. package/dist/src/labs/TopNav/TopNavListItem.d.ts +42 -0
  232. package/dist/src/labs/TopNav/TopNavListItem.d.ts.map +1 -0
  233. package/dist/src/labs/TopNav/UserProfile.d.ts +29 -0
  234. package/dist/src/labs/TopNav/UserProfile.d.ts.map +1 -0
  235. package/dist/src/labs/TopNav/index.d.ts +14 -0
  236. package/dist/src/labs/TopNav/index.d.ts.map +1 -0
  237. package/dist/src/labs/UiShell/UiShell.d.ts +33 -0
  238. package/dist/src/labs/UiShell/UiShell.d.ts.map +1 -0
  239. package/dist/src/labs/UiShell/UiShellContent.d.ts +47 -0
  240. package/dist/src/labs/UiShell/UiShellContent.d.ts.map +1 -0
  241. package/dist/src/labs/UiShell/bufferLatest.d.ts +31 -0
  242. package/dist/src/labs/UiShell/bufferLatest.d.ts.map +1 -0
  243. package/dist/src/labs/UiShell/createMessageBus.d.ts +24 -0
  244. package/dist/src/labs/UiShell/createMessageBus.d.ts.map +1 -0
  245. package/dist/src/labs/UiShell/createStore.d.ts +22 -0
  246. package/dist/src/labs/UiShell/createStore.d.ts.map +1 -0
  247. package/dist/src/labs/UiShell/index.d.ts +16 -0
  248. package/dist/src/labs/UiShell/index.d.ts.map +1 -0
  249. package/dist/src/labs/UiShell/renderUiShell.d.ts +45 -0
  250. package/dist/src/labs/UiShell/renderUiShell.d.ts.map +1 -0
  251. package/dist/src/labs/UiShell/useHasUiShell.d.ts +13 -0
  252. package/dist/src/labs/UiShell/useHasUiShell.d.ts.map +1 -0
  253. package/dist/src/labs/UiShell/useScrollState.d.ts +16 -0
  254. package/dist/src/labs/UiShell/useScrollState.d.ts.map +1 -0
  255. package/dist/src/labs/index.d.ts +6 -2
  256. package/dist/src/labs/index.d.ts.map +1 -1
  257. package/dist/src/properties/ts/odyssey-react-mui.d.ts +6 -0
  258. package/dist/src/properties/ts/odyssey-react-mui.d.ts.map +1 -1
  259. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts +2 -0
  260. package/dist/src/properties/ts/odyssey-react-mui_cs.d.ts.map +1 -1
  261. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts +2 -0
  262. package/dist/src/properties/ts/odyssey-react-mui_da.d.ts.map +1 -1
  263. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts +2 -0
  264. package/dist/src/properties/ts/odyssey-react-mui_de.d.ts.map +1 -1
  265. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts +2 -0
  266. package/dist/src/properties/ts/odyssey-react-mui_el.d.ts.map +1 -1
  267. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts +2 -0
  268. package/dist/src/properties/ts/odyssey-react-mui_es.d.ts.map +1 -1
  269. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts +2 -0
  270. package/dist/src/properties/ts/odyssey-react-mui_fi.d.ts.map +1 -1
  271. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts +2 -0
  272. package/dist/src/properties/ts/odyssey-react-mui_fr.d.ts.map +1 -1
  273. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts +2 -0
  274. package/dist/src/properties/ts/odyssey-react-mui_ht.d.ts.map +1 -1
  275. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts +2 -0
  276. package/dist/src/properties/ts/odyssey-react-mui_hu.d.ts.map +1 -1
  277. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts +2 -0
  278. package/dist/src/properties/ts/odyssey-react-mui_id.d.ts.map +1 -1
  279. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts +2 -0
  280. package/dist/src/properties/ts/odyssey-react-mui_it.d.ts.map +1 -1
  281. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts +2 -0
  282. package/dist/src/properties/ts/odyssey-react-mui_ja.d.ts.map +1 -1
  283. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts +2 -0
  284. package/dist/src/properties/ts/odyssey-react-mui_ko.d.ts.map +1 -1
  285. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts +2 -0
  286. package/dist/src/properties/ts/odyssey-react-mui_ms.d.ts.map +1 -1
  287. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts +2 -0
  288. package/dist/src/properties/ts/odyssey-react-mui_nb.d.ts.map +1 -1
  289. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts +2 -0
  290. package/dist/src/properties/ts/odyssey-react-mui_nl_NL.d.ts.map +1 -1
  291. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts +2 -0
  292. package/dist/src/properties/ts/odyssey-react-mui_pl.d.ts.map +1 -1
  293. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts +2 -0
  294. package/dist/src/properties/ts/odyssey-react-mui_pt_BR.d.ts.map +1 -1
  295. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts +2 -0
  296. package/dist/src/properties/ts/odyssey-react-mui_ro.d.ts.map +1 -1
  297. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts +2 -0
  298. package/dist/src/properties/ts/odyssey-react-mui_ru.d.ts.map +1 -1
  299. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts +2 -0
  300. package/dist/src/properties/ts/odyssey-react-mui_sv.d.ts.map +1 -1
  301. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts +2 -0
  302. package/dist/src/properties/ts/odyssey-react-mui_th.d.ts.map +1 -1
  303. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts +2 -0
  304. package/dist/src/properties/ts/odyssey-react-mui_tr.d.ts.map +1 -1
  305. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts +2 -0
  306. package/dist/src/properties/ts/odyssey-react-mui_uk.d.ts.map +1 -1
  307. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts +2 -0
  308. package/dist/src/properties/ts/odyssey-react-mui_vi.d.ts.map +1 -1
  309. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts +2 -0
  310. package/dist/src/properties/ts/odyssey-react-mui_zh_CN.d.ts.map +1 -1
  311. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts +2 -0
  312. package/dist/src/properties/ts/odyssey-react-mui_zh_TW.d.ts.map +1 -1
  313. package/dist/src/test-selectors/querySelector.d.ts +2 -2
  314. package/dist/src/theme/components.d.ts +3 -1
  315. package/dist/src/theme/components.d.ts.map +1 -1
  316. package/dist/src/theme/createOdysseyMuiTheme.d.ts +2 -1
  317. package/dist/src/theme/createOdysseyMuiTheme.d.ts.map +1 -1
  318. package/dist/src/useAutocomplete.d.ts +29 -0
  319. package/dist/src/useAutocomplete.d.ts.map +1 -0
  320. package/dist/src/useContrastMode.d.ts +46 -0
  321. package/dist/src/useContrastMode.d.ts.map +1 -0
  322. package/dist/src/web-component/index.d.ts +14 -0
  323. package/dist/src/web-component/index.d.ts.map +1 -0
  324. package/dist/src/web-component/renderReactInWebComponent.d.ts +76 -0
  325. package/dist/src/web-component/renderReactInWebComponent.d.ts.map +1 -0
  326. package/dist/src/web-component/shadow-dom.d.ts +23 -0
  327. package/dist/src/web-component/shadow-dom.d.ts.map +1 -0
  328. package/dist/test-selectors/querySelector.js.map +1 -1
  329. package/dist/theme/components.js +36 -32
  330. package/dist/theme/components.js.map +1 -1
  331. package/dist/theme/createOdysseyMuiTheme.js +3 -2
  332. package/dist/theme/createOdysseyMuiTheme.js.map +1 -1
  333. package/dist/tsconfig.production.tsbuildinfo +1 -1
  334. package/dist/tsconfig.tsbuildinfo +1 -1
  335. package/dist/useAutocomplete.js +105 -0
  336. package/dist/useAutocomplete.js.map +1 -0
  337. package/dist/useContrastMode.js +93 -0
  338. package/dist/useContrastMode.js.map +1 -0
  339. package/dist/web-component/index.js +14 -0
  340. package/dist/web-component/index.js.map +1 -0
  341. package/dist/web-component/renderReactInWebComponent.js +72 -0
  342. package/dist/web-component/renderReactInWebComponent.js.map +1 -0
  343. package/dist/{createShadowDomElements.js → web-component/shadow-dom.js} +10 -12
  344. package/dist/web-component/shadow-dom.js.map +1 -0
  345. package/jest.config.cjs +1 -1
  346. package/jest.setup.js +0 -3
  347. package/package.json +4 -3
  348. package/src/Autocomplete.tsx +40 -330
  349. package/src/Box.tsx +4 -2
  350. package/src/Card.tsx +1 -0
  351. package/src/OdysseyDesignTokensContext.tsx +6 -3
  352. package/src/OdysseyProvider.tsx +13 -8
  353. package/src/OdysseyThemeProvider.test.tsx +209 -0
  354. package/src/OdysseyThemeProvider.tsx +42 -26
  355. package/src/Pagination/Pagination.test.tsx +305 -0
  356. package/src/Pagination/Pagination.tsx +86 -38
  357. package/src/Surface.tsx +2 -1
  358. package/src/Tag.tsx +64 -39
  359. package/src/createUniqueAlphabeticalId.test.ts +1 -1
  360. package/src/createUniqueId.test.ts +1 -1
  361. package/src/index.ts +6 -7
  362. package/src/labs/AppTile.tsx +169 -40
  363. package/src/labs/DataView/CardLayoutContent.tsx +12 -14
  364. package/src/labs/DataView/DataCard.tsx +137 -69
  365. package/src/labs/DataView/DataView.test.tsx +6 -4
  366. package/src/labs/DataView/TableLayoutContent.tsx +6 -2
  367. package/src/labs/DataView/componentTypes.ts +1 -1
  368. package/src/labs/DataView/index.tsx +1 -0
  369. package/src/labs/OdysseyPickers/ComposablePicker.test.tsx +29 -0
  370. package/src/labs/OdysseyPickers/ComposablePicker.tsx +188 -0
  371. package/src/labs/OdysseyPickers/Picker.tsx +381 -0
  372. package/src/labs/OdysseyPickers/PickerVirtualizationListBox.tsx +191 -0
  373. package/src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx +429 -0
  374. package/src/labs/OdysseyPickers/index.ts +15 -0
  375. package/src/labs/PageTemplate.tsx +18 -10
  376. package/src/labs/SideNav/CollapseIcon.tsx +14 -28
  377. package/src/labs/SideNav/HandleIcon.tsx +35 -0
  378. package/src/labs/{NavAccordion.tsx → SideNav/NavAccordion.tsx} +48 -8
  379. package/src/labs/SideNav/OktaAura.tsx +35 -0
  380. package/src/labs/SideNav/OktaLogo.tsx +5 -10
  381. package/src/labs/SideNav/SideNav.test.tsx +323 -0
  382. package/src/labs/SideNav/SideNav.tsx +291 -204
  383. package/src/labs/SideNav/SideNavFooterContent.tsx +36 -28
  384. package/src/labs/SideNav/SideNavHeader.tsx +62 -45
  385. package/src/labs/SideNav/SideNavItemContent.tsx +142 -62
  386. package/src/labs/SideNav/SideNavItemContentContext.tsx +27 -0
  387. package/src/labs/SideNav/SideNavItemLinkContent.tsx +17 -14
  388. package/src/labs/SideNav/SideNavLogo.tsx +41 -0
  389. package/src/labs/SideNav/SideNavToggleButton.tsx +249 -0
  390. package/src/labs/SideNav/types.ts +72 -33
  391. package/src/labs/TopNav/TopNav.tsx +95 -0
  392. package/src/labs/TopNav/TopNavLinksList.tsx +68 -0
  393. package/src/labs/TopNav/TopNavListItem.tsx +209 -0
  394. package/src/labs/TopNav/UserProfile.tsx +79 -0
  395. package/src/labs/TopNav/index.ts +14 -0
  396. package/src/labs/UiShell/UiShell.test.tsx +284 -0
  397. package/src/labs/UiShell/UiShell.tsx +109 -0
  398. package/src/labs/UiShell/UiShellContent.tsx +170 -0
  399. package/src/labs/UiShell/bufferLatest.test.ts +79 -0
  400. package/src/labs/UiShell/bufferLatest.ts +64 -0
  401. package/src/labs/UiShell/createMessageBus.test.ts +115 -0
  402. package/src/labs/UiShell/createMessageBus.ts +53 -0
  403. package/src/labs/UiShell/createStore.test.ts +103 -0
  404. package/src/labs/UiShell/createStore.ts +37 -0
  405. package/src/labs/UiShell/index.ts +17 -0
  406. package/src/labs/UiShell/renderUiShell.test.tsx +197 -0
  407. package/src/labs/UiShell/renderUiShell.tsx +132 -0
  408. package/src/labs/UiShell/useHasUiShell.ts +25 -0
  409. package/src/labs/UiShell/useScrollState.ts +56 -0
  410. package/src/labs/index.ts +10 -3
  411. package/src/properties/odyssey-react-mui.properties +7 -0
  412. package/src/properties/translations/odyssey-react-mui_cs.properties +2 -1
  413. package/src/properties/translations/odyssey-react-mui_da.properties +2 -1
  414. package/src/properties/translations/odyssey-react-mui_de.properties +2 -1
  415. package/src/properties/translations/odyssey-react-mui_el.properties +2 -1
  416. package/src/properties/translations/odyssey-react-mui_es.properties +2 -1
  417. package/src/properties/translations/odyssey-react-mui_fi.properties +2 -1
  418. package/src/properties/translations/odyssey-react-mui_fr.properties +4 -3
  419. package/src/properties/translations/odyssey-react-mui_ht.properties +2 -1
  420. package/src/properties/translations/odyssey-react-mui_hu.properties +2 -1
  421. package/src/properties/translations/odyssey-react-mui_id.properties +2 -1
  422. package/src/properties/translations/odyssey-react-mui_it.properties +3 -2
  423. package/src/properties/translations/odyssey-react-mui_ja.properties +8 -7
  424. package/src/properties/translations/odyssey-react-mui_ko.properties +2 -1
  425. package/src/properties/translations/odyssey-react-mui_ms.properties +2 -1
  426. package/src/properties/translations/odyssey-react-mui_nb.properties +2 -1
  427. package/src/properties/translations/odyssey-react-mui_nl_NL.properties +2 -1
  428. package/src/properties/translations/odyssey-react-mui_pl.properties +2 -1
  429. package/src/properties/translations/odyssey-react-mui_pt_BR.properties +2 -1
  430. package/src/properties/translations/odyssey-react-mui_ro.properties +2 -1
  431. package/src/properties/translations/odyssey-react-mui_ru.properties +2 -1
  432. package/src/properties/translations/odyssey-react-mui_sv.properties +2 -1
  433. package/src/properties/translations/odyssey-react-mui_th.properties +2 -1
  434. package/src/properties/translations/odyssey-react-mui_tr.properties +3 -2
  435. package/src/properties/translations/odyssey-react-mui_uk.properties +2 -1
  436. package/src/properties/translations/odyssey-react-mui_vi.properties +2 -1
  437. package/src/properties/translations/odyssey-react-mui_zh_CN.properties +2 -1
  438. package/src/properties/translations/odyssey-react-mui_zh_TW.properties +2 -1
  439. package/src/properties/ts/odyssey-react-mui.ts +1 -1
  440. package/src/properties/ts/odyssey-react-mui_cs.ts +1 -1
  441. package/src/properties/ts/odyssey-react-mui_da.ts +1 -1
  442. package/src/properties/ts/odyssey-react-mui_de.ts +1 -1
  443. package/src/properties/ts/odyssey-react-mui_el.ts +1 -1
  444. package/src/properties/ts/odyssey-react-mui_es.ts +1 -1
  445. package/src/properties/ts/odyssey-react-mui_fi.ts +1 -1
  446. package/src/properties/ts/odyssey-react-mui_fr.ts +1 -1
  447. package/src/properties/ts/odyssey-react-mui_ht.ts +1 -1
  448. package/src/properties/ts/odyssey-react-mui_hu.ts +1 -1
  449. package/src/properties/ts/odyssey-react-mui_id.ts +1 -1
  450. package/src/properties/ts/odyssey-react-mui_it.ts +1 -1
  451. package/src/properties/ts/odyssey-react-mui_ja.ts +1 -1
  452. package/src/properties/ts/odyssey-react-mui_ko.ts +1 -1
  453. package/src/properties/ts/odyssey-react-mui_ms.ts +1 -1
  454. package/src/properties/ts/odyssey-react-mui_nb.ts +1 -1
  455. package/src/properties/ts/odyssey-react-mui_nl_NL.ts +1 -1
  456. package/src/properties/ts/odyssey-react-mui_pl.ts +1 -1
  457. package/src/properties/ts/odyssey-react-mui_pt_BR.ts +1 -1
  458. package/src/properties/ts/odyssey-react-mui_ro.ts +1 -1
  459. package/src/properties/ts/odyssey-react-mui_ru.ts +1 -1
  460. package/src/properties/ts/odyssey-react-mui_sv.ts +1 -1
  461. package/src/properties/ts/odyssey-react-mui_th.ts +1 -1
  462. package/src/properties/ts/odyssey-react-mui_tr.ts +1 -1
  463. package/src/properties/ts/odyssey-react-mui_uk.ts +1 -1
  464. package/src/properties/ts/odyssey-react-mui_vi.ts +1 -1
  465. package/src/properties/ts/odyssey-react-mui_zh_CN.ts +1 -1
  466. package/src/properties/ts/odyssey-react-mui_zh_TW.ts +1 -1
  467. package/src/test-selectors/querySelector.ts +1 -1
  468. package/src/theme/components.tsx +50 -33
  469. package/src/theme/createOdysseyMuiTheme.ts +4 -3
  470. package/src/theme/useContrastMode.test.tsx +503 -0
  471. package/src/useAutocomplete.tsx +183 -0
  472. package/src/useContrastMode.tsx +149 -0
  473. package/src/web-component/index.ts +14 -0
  474. package/src/web-component/renderReactInWebComponent.test.tsx +156 -0
  475. package/src/web-component/renderReactInWebComponent.ts +153 -0
  476. package/src/web-component/shadow-dom.test.ts +24 -0
  477. package/src/{createShadowDomElements.ts → web-component/shadow-dom.ts} +15 -14
  478. package/dist/ContrastModeProvider.js +0 -86
  479. package/dist/ContrastModeProvider.js.map +0 -1
  480. package/dist/createShadowDomElements.js.map +0 -1
  481. package/dist/labs/NavAccordion.js.map +0 -1
  482. package/dist/labs/TopNav.js +0 -281
  483. package/dist/labs/TopNav.js.map +0 -1
  484. package/dist/src/ContrastModeProvider.d.ts +0 -34
  485. package/dist/src/ContrastModeProvider.d.ts.map +0 -1
  486. package/dist/src/createShadowDomElements.d.ts.map +0 -1
  487. package/dist/src/labs/NavAccordion.d.ts.map +0 -1
  488. package/dist/src/labs/TopNav.d.ts +0 -78
  489. package/dist/src/labs/TopNav.d.ts.map +0 -1
  490. package/src/ContrastModeProvider.tsx +0 -131
  491. package/src/labs/TopNav.tsx +0 -396
@@ -0,0 +1,291 @@
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 { memo, useCallback } from "react";
14
+ import styled from "@emotion/styled";
15
+ import { Box } from "../../Box.js";
16
+ import { ComposablePicker } from "./ComposablePicker.js";
17
+ import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
18
+ import { Option, OptionDescriptionComponent, OptionLabelContainer, OptionMetadataComponent } from "./Picker.js";
19
+ import { Heading6 } from "../../Typography.js";
20
+ import { Tag } from "../../Tag.js";
21
+ import { jsx as _jsx } from "react/jsx-runtime";
22
+ import { jsxs as _jsxs } from "react/jsx-runtime";
23
+ const OptionAdornmentContainer = styled("div", {
24
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "adornmentSize" && prop !== "isTagContainer"
25
+ })(({
26
+ adornmentSize = "small",
27
+ isTagContainer = false,
28
+ odysseyDesignTokens
29
+ }) => ({
30
+ position: "relative",
31
+ bottom: "1px",
32
+ alignSelf: "flex-start",
33
+ width: odysseyDesignTokens.Spacing5,
34
+ height: odysseyDesignTokens.Spacing5,
35
+ overflow: "hidden",
36
+ marginInlineEnd: odysseyDesignTokens.Spacing3,
37
+ svg: {
38
+ width: "100%",
39
+ height: "auto"
40
+ },
41
+ img: {
42
+ position: "absolute",
43
+ top: "50%",
44
+ left: "50%",
45
+ width: "100%",
46
+ transform: "translate(-50%, -50%)"
47
+ },
48
+ ...(adornmentSize === "large" && !isTagContainer && {
49
+ bottom: 0,
50
+ width: odysseyDesignTokens.Spacing8,
51
+ height: odysseyDesignTokens.Spacing8
52
+ }),
53
+ ...(isTagContainer && {
54
+ bottom: 0,
55
+ alignSelf: "center",
56
+ width: odysseyDesignTokens.Spacing4,
57
+ height: "auto",
58
+ maxHeight: odysseyDesignTokens.Spacing4,
59
+ marginInlineEnd: odysseyDesignTokens.Spacing2,
60
+ svg: {
61
+ display: "flex",
62
+ width: "100%",
63
+ height: "auto"
64
+ }
65
+ })
66
+ }));
67
+ const OptionAdornment = ({
68
+ adornment,
69
+ adornmentSize,
70
+ odysseyDesignTokens
71
+ }) => {
72
+ const isImageAdornment = typeof adornment === "string";
73
+ if (isImageAdornment) {
74
+ return _jsx(OptionAdornmentContainer, {
75
+ adornmentSize: adornmentSize,
76
+ odysseyDesignTokens: odysseyDesignTokens,
77
+ children: _jsx("img", {
78
+ src: adornment,
79
+ alt: "",
80
+ role: "presentation"
81
+ })
82
+ });
83
+ } else {
84
+ return _jsx(OptionAdornmentContainer, {
85
+ adornmentSize: adornmentSize,
86
+ odysseyDesignTokens: odysseyDesignTokens,
87
+ children: adornment
88
+ });
89
+ }
90
+ };
91
+ const OptionWithLabelDescriptionOnly = ({
92
+ adornmentSize,
93
+ muiProps,
94
+ odysseyDesignTokens,
95
+ option
96
+ }) => {
97
+ const {
98
+ adornment,
99
+ description,
100
+ label,
101
+ value
102
+ } = option;
103
+ return _jsxs(Option, {
104
+ hasAdornment: true,
105
+ muiProps: muiProps,
106
+ children: [_jsx(OptionAdornment, {
107
+ adornment: adornment,
108
+ adornmentSize: adornmentSize,
109
+ odysseyDesignTokens: odysseyDesignTokens
110
+ }), _jsxs(OptionLabelContainer, {
111
+ odysseyDesignTokens: odysseyDesignTokens,
112
+ children: [_jsx(Heading6, {
113
+ component: "p",
114
+ children: label
115
+ }), _jsx(OptionDescriptionComponent, {
116
+ description: description,
117
+ odysseyDesignTokens: odysseyDesignTokens
118
+ })]
119
+ })]
120
+ }, value);
121
+ };
122
+ const OptionWithLabelDescriptionMetadata = ({
123
+ adornmentSize,
124
+ muiProps,
125
+ odysseyDesignTokens,
126
+ option
127
+ }) => {
128
+ const {
129
+ adornment,
130
+ description,
131
+ label,
132
+ metaData,
133
+ value
134
+ } = option;
135
+ return _jsxs(Option, {
136
+ hasAdornment: true,
137
+ muiProps: muiProps,
138
+ children: [_jsx(OptionAdornment, {
139
+ adornment: adornment,
140
+ adornmentSize: adornmentSize,
141
+ odysseyDesignTokens: odysseyDesignTokens
142
+ }), _jsxs("div", {
143
+ children: [_jsxs(OptionLabelContainer, {
144
+ odysseyDesignTokens: odysseyDesignTokens,
145
+ children: [_jsx(Heading6, {
146
+ component: "p",
147
+ children: label
148
+ }), _jsx(OptionDescriptionComponent, {
149
+ description: description,
150
+ odysseyDesignTokens: odysseyDesignTokens
151
+ })]
152
+ }), _jsx(OptionMetadataComponent, {
153
+ metaData: metaData,
154
+ odysseyDesignTokens: odysseyDesignTokens
155
+ })]
156
+ })]
157
+ }, value);
158
+ };
159
+ const TagAdornment = ({
160
+ adornment
161
+ }) => {
162
+ const odysseyDesignTokens = useOdysseyDesignTokens();
163
+ const isImageAdornment = typeof adornment === "string";
164
+ if (isImageAdornment) {
165
+ return _jsx(OptionAdornmentContainer, {
166
+ isTagContainer: true,
167
+ odysseyDesignTokens: odysseyDesignTokens,
168
+ children: _jsx("img", {
169
+ src: adornment,
170
+ alt: "",
171
+ role: "presentation"
172
+ })
173
+ });
174
+ }
175
+ return _jsx(OptionAdornmentContainer, {
176
+ isTagContainer: true,
177
+ odysseyDesignTokens: odysseyDesignTokens,
178
+ children: adornment
179
+ });
180
+ };
181
+ const PickerWithOptionAdornment = ({
182
+ adornmentSize = "small",
183
+ ariaDescribedBy,
184
+ defaultValue,
185
+ errorMessage,
186
+ errorMessageList,
187
+ getIsOptionEqualToValue,
188
+ groupOptionsBy,
189
+ hasMultipleChoices,
190
+ id: idOverride,
191
+ inputValue,
192
+ isCustomValueAllowed,
193
+ isDisabled,
194
+ isFullWidth = false,
195
+ isLoading,
196
+ isOptional = false,
197
+ isReadOnly,
198
+ isVirtualized: isVirtualizedProp = false,
199
+ hint,
200
+ HintLinkComponent,
201
+ label,
202
+ name: nameOverride,
203
+ onBlur,
204
+ onChange: onChangeProp,
205
+ onInputChange: onInputChangeProp,
206
+ onFocus,
207
+ options,
208
+ value,
209
+ testId,
210
+ translate
211
+ }) => {
212
+ const odysseyDesignTokens = useOdysseyDesignTokens();
213
+ const customTagRender = useCallback((values, getTagProps) => values.map((value, index) => {
214
+ const {
215
+ key,
216
+ onDelete
217
+ } = getTagProps({
218
+ index
219
+ });
220
+ const {
221
+ adornment,
222
+ label
223
+ } = value;
224
+ return _jsx(Box, {
225
+ sx: {
226
+ margin: odysseyDesignTokens.Spacing1,
227
+ marginInlineEnd: 0
228
+ },
229
+ children: _jsx(Tag, {
230
+ icon: _jsx(TagAdornment, {
231
+ adornment: adornment
232
+ }),
233
+ label: label,
234
+ onRemove: onDelete
235
+ })
236
+ }, key);
237
+ }), [odysseyDesignTokens]);
238
+ const customOptionRender = useCallback((muiProps, option) => {
239
+ const hasMetadata = "metaData" in option && option.metaData;
240
+ if (hasMetadata) {
241
+ return _jsx(OptionWithLabelDescriptionMetadata, {
242
+ adornmentSize: adornmentSize,
243
+ muiProps: muiProps,
244
+ odysseyDesignTokens: odysseyDesignTokens,
245
+ option: option
246
+ });
247
+ }
248
+ return _jsx(OptionWithLabelDescriptionOnly, {
249
+ adornmentSize: adornmentSize,
250
+ muiProps: muiProps,
251
+ odysseyDesignTokens: odysseyDesignTokens,
252
+ option: option
253
+ });
254
+ }, [adornmentSize, odysseyDesignTokens]);
255
+ return _jsx(ComposablePicker, {
256
+ ariaDescribedBy: ariaDescribedBy,
257
+ defaultValue: defaultValue,
258
+ errorMessage: errorMessage,
259
+ errorMessageList: errorMessageList,
260
+ getIsOptionEqualToValue: getIsOptionEqualToValue,
261
+ groupOptionsBy: groupOptionsBy,
262
+ hasMultipleChoices: hasMultipleChoices,
263
+ id: idOverride,
264
+ inputValue: inputValue,
265
+ isCustomValueAllowed: isCustomValueAllowed,
266
+ isDisabled: isDisabled,
267
+ isFullWidth: isFullWidth,
268
+ isLoading: isLoading,
269
+ isOptional: isOptional,
270
+ isReadOnly: isReadOnly,
271
+ isVirtualized: isVirtualizedProp,
272
+ hint: hint,
273
+ HintLinkComponent: HintLinkComponent,
274
+ label: label,
275
+ name: nameOverride,
276
+ onBlur: onBlur,
277
+ onChange: onChangeProp,
278
+ onInputChange: onInputChangeProp,
279
+ onFocus: onFocus,
280
+ options: options,
281
+ renderOption: customOptionRender,
282
+ renderTags: customTagRender,
283
+ value: value,
284
+ testId: testId,
285
+ translate: translate
286
+ });
287
+ };
288
+ const MemoizedPickerWithOptionAdornment = memo(PickerWithOptionAdornment);
289
+ MemoizedPickerWithOptionAdornment.displayName = "PickerWithOptionAdornment";
290
+ export { MemoizedPickerWithOptionAdornment as PickerWithOptionAdornment };
291
+ //# sourceMappingURL=PickerWithOptionAdornment.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerWithOptionAdornment.js","names":["memo","useCallback","styled","Box","ComposablePicker","useOdysseyDesignTokens","Option","OptionDescriptionComponent","OptionLabelContainer","OptionMetadataComponent","Heading6","Tag","jsx","_jsx","jsxs","_jsxs","OptionAdornmentContainer","shouldForwardProp","prop","adornmentSize","isTagContainer","odysseyDesignTokens","position","bottom","alignSelf","width","Spacing5","height","overflow","marginInlineEnd","Spacing3","svg","img","top","left","transform","Spacing8","Spacing4","maxHeight","Spacing2","display","OptionAdornment","adornment","isImageAdornment","children","src","alt","role","OptionWithLabelDescriptionOnly","muiProps","option","description","label","value","hasAdornment","component","OptionWithLabelDescriptionMetadata","metaData","TagAdornment","PickerWithOptionAdornment","ariaDescribedBy","defaultValue","errorMessage","errorMessageList","getIsOptionEqualToValue","groupOptionsBy","hasMultipleChoices","id","idOverride","inputValue","isCustomValueAllowed","isDisabled","isFullWidth","isLoading","isOptional","isReadOnly","isVirtualized","isVirtualizedProp","hint","HintLinkComponent","name","nameOverride","onBlur","onChange","onChangeProp","onInputChange","onInputChangeProp","onFocus","options","testId","translate","customTagRender","values","getTagProps","map","index","key","onDelete","sx","margin","Spacing1","icon","onRemove","customOptionRender","hasMetadata","renderOption","renderTags","MemoizedPickerWithOptionAdornment","displayName"],"sources":["../../../src/labs/OdysseyPickers/PickerWithOptionAdornment.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport {\n HTMLAttributes,\n memo,\n ReactElement,\n ReactNode,\n useCallback,\n} from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport { Box } from \"../../Box\";\nimport {\n ComposablePicker,\n ComposablePickerProps,\n type AdornmentSize,\n type BasePickerProps,\n type BasePickerType,\n} from \"./ComposablePicker\";\nimport {\n useOdysseyDesignTokens,\n DesignTokens,\n} from \"../../OdysseyDesignTokensContext\";\nimport {\n type BaseOptionProps,\n type LabelDescription,\n type Metadata,\n Option,\n OptionDescriptionComponent,\n OptionLabelContainer,\n OptionMetadataComponent,\n OptionProps,\n} from \"./Picker\";\nimport { Heading6 } from \"../../Typography\";\nimport { Tag } from \"../../Tag\";\n\ntype Adornment = ReactNode | string;\n\ntype AdornmentLabelDescription = LabelDescription & {\n adornment: Adornment;\n};\n\ntype AdornmentLabelDescriptionMetadata = AdornmentLabelDescription & Metadata;\n\nexport type AdornmentOptionType =\n | AdornmentLabelDescription\n | AdornmentLabelDescriptionMetadata;\n\nconst OptionAdornmentContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"adornmentSize\" &&\n prop !== \"isTagContainer\",\n})<{\n adornmentSize?: AdornmentSize;\n isTagContainer?: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(\n ({\n adornmentSize = \"small\",\n isTagContainer = false,\n odysseyDesignTokens,\n }) => ({\n position: \"relative\",\n // push icon up by one px for better visual alignment\n bottom: \"1px\",\n alignSelf: \"flex-start\",\n width: odysseyDesignTokens.Spacing5,\n height: odysseyDesignTokens.Spacing5,\n overflow: \"hidden\",\n marginInlineEnd: odysseyDesignTokens.Spacing3,\n\n svg: {\n width: \"100%\",\n height: \"auto\",\n },\n\n img: {\n position: \"absolute\",\n top: \"50%\",\n left: \"50%\",\n width: \"100%\",\n transform: \"translate(-50%, -50%)\",\n },\n\n ...(adornmentSize === \"large\" &&\n !isTagContainer && {\n bottom: 0,\n width: odysseyDesignTokens.Spacing8,\n height: odysseyDesignTokens.Spacing8,\n }),\n\n ...(isTagContainer && {\n bottom: 0,\n alignSelf: \"center\",\n width: odysseyDesignTokens.Spacing4,\n height: \"auto\",\n maxHeight: odysseyDesignTokens.Spacing4,\n marginInlineEnd: odysseyDesignTokens.Spacing2,\n\n svg: {\n display: \"flex\",\n width: \"100%\",\n height: \"auto\",\n },\n }),\n }),\n);\n\ntype OptionAdornmentProps = {\n adornment: Adornment;\n adornmentSize: AdornmentSize;\n odysseyDesignTokens: DesignTokens;\n};\n\nconst OptionAdornment = ({\n adornment,\n adornmentSize,\n odysseyDesignTokens,\n}: OptionAdornmentProps) => {\n const isImageAdornment = typeof adornment === \"string\";\n\n if (isImageAdornment) {\n return (\n <OptionAdornmentContainer\n adornmentSize={adornmentSize}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {/* NOTE: Intentionally leaving alt as an empty string here so screen readers will ignore this image */}\n {/* Image should be suffciently described by the adjacent title and/or description of the option */}\n <img src={adornment} alt=\"\" role=\"presentation\" />\n </OptionAdornmentContainer>\n );\n } else {\n return (\n <OptionAdornmentContainer\n adornmentSize={adornmentSize}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {adornment}\n </OptionAdornmentContainer>\n );\n }\n};\n\nconst OptionWithLabelDescriptionOnly = <\n OptionType extends AdornmentLabelDescription,\n>({\n adornmentSize,\n muiProps,\n odysseyDesignTokens,\n option,\n}: BaseOptionProps &\n OptionProps<OptionType> & { adornmentSize: AdornmentSize }) => {\n const { adornment, description, label, value } = option;\n return (\n <Option hasAdornment key={value} muiProps={muiProps}>\n <OptionAdornment\n adornment={adornment}\n adornmentSize={adornmentSize}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n <OptionLabelContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Heading6 component=\"p\">{label}</Heading6>\n <OptionDescriptionComponent\n description={description}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n </OptionLabelContainer>\n </Option>\n );\n};\n\nconst OptionWithLabelDescriptionMetadata = <\n OptionType extends AdornmentLabelDescriptionMetadata,\n>({\n adornmentSize,\n muiProps,\n odysseyDesignTokens,\n option,\n}: BaseOptionProps &\n OptionProps<OptionType> & {\n adornmentSize: AdornmentSize;\n }) => {\n const { adornment, description, label, metaData, value } = option;\n\n return (\n <Option hasAdornment key={value} muiProps={muiProps}>\n <OptionAdornment\n adornment={adornment}\n adornmentSize={adornmentSize}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n <div>\n <OptionLabelContainer odysseyDesignTokens={odysseyDesignTokens}>\n <Heading6 component=\"p\">{label}</Heading6>\n <OptionDescriptionComponent\n description={description}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n </OptionLabelContainer>\n <OptionMetadataComponent\n metaData={metaData}\n odysseyDesignTokens={odysseyDesignTokens}\n />\n </div>\n </Option>\n );\n};\n\ntype TagAdornmentProps = {\n adornment: Adornment;\n};\n\nconst TagAdornment = ({ adornment }: TagAdornmentProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const isImageAdornment = typeof adornment === \"string\";\n\n if (isImageAdornment) {\n return (\n <OptionAdornmentContainer\n isTagContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <img src={adornment} alt=\"\" role=\"presentation\" />\n </OptionAdornmentContainer>\n );\n }\n\n return (\n <OptionAdornmentContainer\n isTagContainer\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {adornment}\n </OptionAdornmentContainer>\n );\n};\n\nexport type PickerWithOptionAdornmentProps<\n OptionType extends AdornmentOptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n> = BasePickerProps<OptionType, HasMultipleChoices, IsCustomValueAllowed> & {\n adornmentSize?: AdornmentSize;\n};\n\ntype PickerWithOptionAdornmentComponentType = {\n <\n OptionType extends AdornmentLabelDescription,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n >(\n props: PickerWithOptionAdornmentProps<\n OptionType,\n HasMultipleChoices,\n IsCustomValueAllowed\n >,\n ): ReactElement;\n <\n OptionType extends AdornmentLabelDescriptionMetadata,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n >(\n props: PickerWithOptionAdornmentProps<\n OptionType,\n HasMultipleChoices,\n IsCustomValueAllowed\n >,\n ): ReactElement;\n};\n\nconst PickerWithOptionAdornment: PickerWithOptionAdornmentComponentType = <\n OptionType extends AdornmentOptionType,\n HasMultipleChoices extends boolean | undefined,\n IsCustomValueAllowed extends boolean | undefined,\n>({\n adornmentSize = \"small\",\n ariaDescribedBy,\n defaultValue,\n errorMessage,\n errorMessageList,\n getIsOptionEqualToValue,\n groupOptionsBy,\n hasMultipleChoices,\n id: idOverride,\n inputValue,\n isCustomValueAllowed,\n isDisabled,\n isFullWidth = false,\n isLoading,\n isOptional = false,\n isReadOnly,\n isVirtualized: isVirtualizedProp = false,\n hint,\n HintLinkComponent,\n label,\n name: nameOverride,\n onBlur,\n onChange: onChangeProp,\n onInputChange: onInputChangeProp,\n onFocus,\n options,\n value,\n testId,\n translate,\n}: PickerWithOptionAdornmentProps<\n OptionType,\n HasMultipleChoices,\n IsCustomValueAllowed\n>) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const customTagRender = useCallback<\n NonNullable<\n ComposablePickerProps<\n OptionType,\n HasMultipleChoices,\n IsCustomValueAllowed\n >[\"renderTags\"]\n >\n >(\n (values, getTagProps) =>\n values.map((value, index) => {\n const { key, onDelete } = getTagProps({ index });\n const { adornment, label } = value;\n\n return (\n <Box\n key={key}\n sx={{\n margin: odysseyDesignTokens.Spacing1,\n marginInlineEnd: 0,\n }}\n >\n <Tag\n icon={<TagAdornment adornment={adornment} />}\n label={label}\n onRemove={onDelete}\n />\n </Box>\n );\n }),\n [odysseyDesignTokens],\n );\n\n const customOptionRender = useCallback<\n (props: HTMLAttributes<HTMLLIElement>, option: OptionType) => ReactNode\n >(\n (muiProps, option) => {\n const hasMetadata = \"metaData\" in option && option.metaData;\n\n if (hasMetadata) {\n return (\n <OptionWithLabelDescriptionMetadata\n adornmentSize={adornmentSize}\n muiProps={muiProps}\n odysseyDesignTokens={odysseyDesignTokens}\n option={option}\n />\n );\n }\n\n return (\n <OptionWithLabelDescriptionOnly\n adornmentSize={adornmentSize}\n muiProps={muiProps}\n odysseyDesignTokens={odysseyDesignTokens}\n option={option}\n />\n );\n },\n [adornmentSize, odysseyDesignTokens],\n );\n\n return (\n <ComposablePicker<OptionType, HasMultipleChoices, IsCustomValueAllowed>\n ariaDescribedBy={ariaDescribedBy}\n defaultValue={defaultValue}\n errorMessage={errorMessage}\n errorMessageList={errorMessageList}\n getIsOptionEqualToValue={getIsOptionEqualToValue}\n groupOptionsBy={groupOptionsBy}\n hasMultipleChoices={hasMultipleChoices}\n id={idOverride}\n inputValue={inputValue}\n isCustomValueAllowed={isCustomValueAllowed}\n isDisabled={isDisabled}\n isFullWidth={isFullWidth}\n isLoading={isLoading}\n isOptional={isOptional}\n isReadOnly={isReadOnly}\n isVirtualized={isVirtualizedProp}\n hint={hint}\n HintLinkComponent={HintLinkComponent}\n label={label}\n name={nameOverride}\n onBlur={onBlur}\n onChange={onChangeProp}\n onInputChange={onInputChangeProp}\n onFocus={onFocus}\n options={options}\n renderOption={customOptionRender}\n renderTags={customTagRender}\n value={value}\n testId={testId}\n translate={translate}\n />\n );\n};\n\n// Need the `as BasePickerType` because generics don't get passed through\nconst MemoizedPickerWithOptionAdornment = memo(\n PickerWithOptionAdornment,\n) as BasePickerType;\n\nMemoizedPickerWithOptionAdornment.displayName = \"PickerWithOptionAdornment\";\n\nexport { MemoizedPickerWithOptionAdornment as PickerWithOptionAdornment };\n"],"mappings":"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"}
@@ -9,10 +9,7 @@
9
9
  *
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
- export declare const createShadowDomElements: (containerElement: HTMLElement) => {
13
- emotionRootElement: HTMLDivElement;
14
- shadowRootElement: HTMLDivElement;
15
- };
16
- /** @deprecated Use `createShadowDomElements` instead. */
17
- export declare const createShadowRootElement: (containerElement: HTMLElement) => [HTMLStyleElement, HTMLDivElement];
18
- //# sourceMappingURL=createShadowDomElements.d.ts.map
12
+ export { adornmentSizeValues } from "./ComposablePicker.js";
13
+ export * from "./Picker.js";
14
+ export * from "./PickerWithOptionAdornment.js";
15
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["adornmentSizeValues"],"sources":["../../../src/labs/OdysseyPickers/index.ts"],"sourcesContent":["/*!\n * Copyright (c) 2023-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nexport { adornmentSizeValues } from \"./ComposablePicker\";\nexport * from \"./Picker\";\nexport * from \"./PickerWithOptionAdornment\";\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAVA,SAYSA,mBAAmB;AAAA;AAAA"}
@@ -16,17 +16,19 @@ import { useOdysseyDesignTokens } from "../OdysseyDesignTokensContext.js";
16
16
  import { DocumentationIcon } from "../icons.generated/index.js";
17
17
  import { Heading4, Subordinate } from "../Typography.js";
18
18
  import { Link } from "../Link.js";
19
+ import { useHasUiShell } from "./UiShell/index.js";
19
20
  import { jsx as _jsx } from "react/jsx-runtime";
20
21
  import { jsxs as _jsxs } from "react/jsx-runtime";
21
22
  const TemplateContainer = styled("div", {
22
- shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "isFullWidth"
23
+ shouldForwardProp: prop => prop !== "odysseyDesignTokens" && prop !== "hasUiShell" && prop !== "isFullWidth"
23
24
  })(({
24
- odysseyDesignTokens,
25
- isFullWidth
25
+ hasUiShell,
26
+ isFullWidth,
27
+ odysseyDesignTokens
26
28
  }) => ({
27
29
  maxWidth: isFullWidth ? "100%" : `calc(1440px + ${odysseyDesignTokens.Spacing6} + ${odysseyDesignTokens.Spacing6})`,
28
- marginInline: isFullWidth ? odysseyDesignTokens.Spacing6 : "auto",
29
- padding: odysseyDesignTokens.Spacing6
30
+ marginInline: isFullWidth && !hasUiShell ? odysseyDesignTokens.Spacing6 : "auto",
31
+ padding: hasUiShell ? 0 : odysseyDesignTokens.Spacing6
30
32
  }));
31
33
  const TemplateHeader = styled("div")(() => ({
32
34
  display: "flex",
@@ -89,25 +91,27 @@ const TemplateContent = styled("div", {
89
91
  animation: drawerVariant === "persistent" && isDrawerOpen ? "animate-drawer-open 225ms cubic-bezier(0, 0, 0.2, 1)" : "animate-drawer-close 225ms cubic-bezier(0, 0, 0.2, 1)"
90
92
  }));
91
93
  const PageTemplate = ({
92
- title,
94
+ children,
93
95
  description,
94
96
  documentationLink,
95
97
  documentationText,
98
+ drawer,
99
+ isFullWidth = false,
96
100
  primaryCallToActionComponent,
97
101
  secondaryCallToActionComponent,
98
102
  tertiaryCallToActionComponent,
99
- children,
100
- drawer,
101
- isFullWidth = false
103
+ title
102
104
  }) => {
103
105
  const odysseyDesignTokens = useOdysseyDesignTokens();
104
106
  const {
105
107
  isOpen: isDrawerOpen,
106
108
  variant: drawerVariant
107
109
  } = drawer?.props ?? {};
110
+ const hasUiShell = useHasUiShell();
108
111
  return _jsxs(TemplateContainer, {
109
- odysseyDesignTokens: odysseyDesignTokens,
112
+ hasUiShell: hasUiShell,
110
113
  isFullWidth: isFullWidth,
114
+ odysseyDesignTokens: odysseyDesignTokens,
111
115
  children: [_jsxs(TemplateHeader, {
112
116
  children: [_jsxs(TemplateHeaderPrimaryContent, {
113
117
  children: [title && _jsx(Heading4, {
@@ -1 +1 @@
1
- {"version":3,"file":"PageTemplate.js","names":["memo","styled","useOdysseyDesignTokens","DocumentationIcon","Heading4","Subordinate","Link","jsx","_jsx","jsxs","_jsxs","TemplateContainer","shouldForwardProp","prop","odysseyDesignTokens","isFullWidth","maxWidth","Spacing6","marginInline","padding","TemplateHeader","display","alignItems","justifyContent","TemplateHeaderPrimaryContent","marginBlockEnd","TemplateHeaderSecondaryContent","flexDirection","gap","Spacing2","minHeight","Spacing7","TemplateHeaderButtons","TemplateContent","includes","isDrawerOpen","drawerVariant","gridTemplateColumns","gridGap","Spacing4","marginBlock","animation","PageTemplate","title","description","documentationLink","documentationText","primaryCallToActionComponent","secondaryCallToActionComponent","tertiaryCallToActionComponent","children","drawer","isOpen","variant","props","href","icon","MemoizedPageTemplate","displayName"],"sources":["../../src/labs/PageTemplate.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, ReactElement, ReactNode } from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext\";\nimport { DocumentationIcon } from \"../icons.generated\";\nimport { Heading4, Subordinate } from \"../Typography\";\nimport { Link } from \"../Link\";\n\nexport type PageTemplateProps = {\n /**\n * The title of the layout to be situated in the layout header\n */\n title?: string;\n /**\n * A supplementary description to be situated in the layout header\n */\n description?: string;\n /**\n * The destination for a documentation `Link` to be situated in the layout header\n */\n documentationLink?: string;\n /**\n * The text for a documentation `Link` to be situated in the layout header\n */\n documentationText?: string;\n /**\n * An optional `Drawer` object. Can be of variant 'temporary' or 'persistent'.\n */\n drawer?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header. Should almost always be of variant `primary`.\n */\n primaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the `callToActionPrimaryComponent`.\n */\n secondaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the other two `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement;\n /**\n * The content of the layout. May be a `string` or any other `ReactNode` or array of `ReactNode`s. Will often be `Grid` objects.\n */\n children?: ReactNode;\n /**\n * When set to `true`, the layout expands past its max width of 1440px and spans the entire available screen width.\n */\n isFullWidth?: boolean;\n};\n\ntype TemplateContentProps = {\n odysseyDesignTokens: DesignTokens;\n isDrawerOpen?: boolean;\n drawerVariant?: string;\n};\n\nconst TemplateContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" && prop !== \"isFullWidth\",\n})<{\n odysseyDesignTokens: DesignTokens;\n isFullWidth: boolean;\n}>(({ odysseyDesignTokens, isFullWidth }) => ({\n maxWidth: isFullWidth\n ? \"100%\"\n : `calc(1440px + ${odysseyDesignTokens.Spacing6} + ${odysseyDesignTokens.Spacing6})`,\n marginInline: isFullWidth ? odysseyDesignTokens.Spacing6 : \"auto\",\n padding: odysseyDesignTokens.Spacing6,\n}));\n\nconst TemplateHeader = styled(\"div\")(() => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n justifyContent: \"space-between\",\n}));\n\nconst TemplateHeaderPrimaryContent = styled(\"div\")(() => ({\n [\".MuiTypography-root:last-child\"]: {\n marginBlockEnd: \"0\",\n },\n}));\n\nconst TemplateHeaderSecondaryContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"flex-end\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing2,\n minHeight: odysseyDesignTokens.Spacing7,\n justifyContent: \"center\",\n}));\n\nconst TemplateHeaderButtons = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst TemplateContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n ![\"odysseyDesignTokens\", \"isDrawerOpen\", \"drawerVariant\"].includes(prop),\n})<TemplateContentProps>(\n ({ odysseyDesignTokens, isDrawerOpen, drawerVariant }) => ({\n \"@keyframes animate-drawer-open\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n },\n \"@keyframes animate-drawer-close\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n },\n display: \"grid\",\n gridGap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n gap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n marginBlock: odysseyDesignTokens.Spacing4,\n gridTemplateColumns:\n drawerVariant === \"persistent\"\n ? isDrawerOpen\n ? \"minmax(0, 1fr) 360px\"\n : \"minmax(0, 1fr) 0\"\n : \"minmax(0, 1fr)\",\n animation:\n drawerVariant === \"persistent\" && isDrawerOpen\n ? \"animate-drawer-open 225ms cubic-bezier(0, 0, 0.2, 1)\"\n : \"animate-drawer-close 225ms cubic-bezier(0, 0, 0.2, 1)\",\n }),\n);\n\nconst PageTemplate = ({\n title,\n description,\n documentationLink,\n documentationText,\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n children,\n drawer,\n isFullWidth = false,\n}: PageTemplateProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { isOpen: isDrawerOpen, variant: drawerVariant } = drawer?.props ?? {};\n\n return (\n <TemplateContainer\n odysseyDesignTokens={odysseyDesignTokens}\n isFullWidth={isFullWidth}\n >\n <TemplateHeader>\n <TemplateHeaderPrimaryContent>\n {title && <Heading4>{title}</Heading4>}\n {description && <Subordinate>{description}</Subordinate>}\n </TemplateHeaderPrimaryContent>\n\n <TemplateHeaderSecondaryContent\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {documentationLink && (\n <Link href={documentationLink} icon={<DocumentationIcon />}>\n {documentationText}\n </Link>\n )}\n {(primaryCallToActionComponent ||\n secondaryCallToActionComponent ||\n tertiaryCallToActionComponent) && (\n <TemplateHeaderButtons odysseyDesignTokens={odysseyDesignTokens}>\n {tertiaryCallToActionComponent}\n {secondaryCallToActionComponent}\n {primaryCallToActionComponent}\n </TemplateHeaderButtons>\n )}\n </TemplateHeaderSecondaryContent>\n </TemplateHeader>\n <TemplateContent\n odysseyDesignTokens={odysseyDesignTokens}\n isDrawerOpen={isDrawerOpen}\n drawerVariant={drawerVariant}\n >\n {children}\n {drawer}\n </TemplateContent>\n </TemplateContainer>\n );\n};\n\nconst MemoizedPageTemplate = memo(PageTemplate);\nMemoizedPageTemplate.displayName = \"PageTemplate\";\n\nexport { MemoizedPageTemplate as PageTemplate };\n"],"mappings":"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"}
1
+ {"version":3,"file":"PageTemplate.js","names":["memo","styled","useOdysseyDesignTokens","DocumentationIcon","Heading4","Subordinate","Link","useHasUiShell","jsx","_jsx","jsxs","_jsxs","TemplateContainer","shouldForwardProp","prop","hasUiShell","isFullWidth","odysseyDesignTokens","maxWidth","Spacing6","marginInline","padding","TemplateHeader","display","alignItems","justifyContent","TemplateHeaderPrimaryContent","marginBlockEnd","TemplateHeaderSecondaryContent","flexDirection","gap","Spacing2","minHeight","Spacing7","TemplateHeaderButtons","TemplateContent","includes","isDrawerOpen","drawerVariant","gridTemplateColumns","gridGap","Spacing4","marginBlock","animation","PageTemplate","children","description","documentationLink","documentationText","drawer","primaryCallToActionComponent","secondaryCallToActionComponent","tertiaryCallToActionComponent","title","isOpen","variant","props","href","icon","MemoizedPageTemplate","displayName"],"sources":["../../src/labs/PageTemplate.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, ReactElement, ReactNode } from \"react\";\nimport styled from \"@emotion/styled\";\n\nimport {\n DesignTokens,\n useOdysseyDesignTokens,\n} from \"../OdysseyDesignTokensContext\";\nimport { DocumentationIcon } from \"../icons.generated\";\nimport { Heading4, Subordinate } from \"../Typography\";\nimport { Link } from \"../Link\";\nimport { useHasUiShell } from \"./UiShell\";\n\nexport type PageTemplateProps = {\n /**\n * The title of the layout to be situated in the layout header\n */\n title?: string;\n /**\n * A supplementary description to be situated in the layout header\n */\n description?: string;\n /**\n * The destination for a documentation `Link` to be situated in the layout header\n */\n documentationLink?: string;\n /**\n * The text for a documentation `Link` to be situated in the layout header\n */\n documentationText?: string;\n /**\n * An optional `Drawer` object. Can be of variant 'temporary' or 'persistent'.\n */\n drawer?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header. Should almost always be of variant `primary`.\n */\n primaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the `callToActionPrimaryComponent`.\n */\n secondaryCallToActionComponent?: ReactElement;\n /**\n * An optional `Button` object to be situated in the layout header, alongside the other two `callToAction` components.\n */\n tertiaryCallToActionComponent?: ReactElement;\n /**\n * The content of the layout. May be a `string` or any other `ReactNode` or array of `ReactNode`s. Will often be `Grid` objects.\n */\n children?: ReactNode;\n /**\n * When set to `true`, the layout expands past its max width of 1440px and spans the entire available screen width.\n */\n isFullWidth?: boolean;\n};\n\ntype TemplateContentProps = {\n odysseyDesignTokens: DesignTokens;\n isDrawerOpen?: boolean;\n drawerVariant?: string;\n};\n\nconst TemplateContainer = styled(\"div\", {\n shouldForwardProp: (prop) =>\n prop !== \"odysseyDesignTokens\" &&\n prop !== \"hasUiShell\" &&\n prop !== \"isFullWidth\",\n})<{\n hasUiShell: boolean;\n isFullWidth: boolean;\n odysseyDesignTokens: DesignTokens;\n}>(({ hasUiShell, isFullWidth, odysseyDesignTokens }) => ({\n maxWidth: isFullWidth\n ? \"100%\"\n : `calc(1440px + ${odysseyDesignTokens.Spacing6} + ${odysseyDesignTokens.Spacing6})`,\n marginInline:\n isFullWidth && !hasUiShell ? odysseyDesignTokens.Spacing6 : \"auto\",\n padding: hasUiShell ? 0 : odysseyDesignTokens.Spacing6,\n}));\n\nconst TemplateHeader = styled(\"div\")(() => ({\n display: \"flex\",\n alignItems: \"flex-end\",\n justifyContent: \"space-between\",\n}));\n\nconst TemplateHeaderPrimaryContent = styled(\"div\")(() => ({\n [\".MuiTypography-root:last-child\"]: {\n marginBlockEnd: \"0\",\n },\n}));\n\nconst TemplateHeaderSecondaryContent = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n alignItems: \"flex-end\",\n display: \"flex\",\n flexDirection: \"column\",\n gap: odysseyDesignTokens.Spacing2,\n minHeight: odysseyDesignTokens.Spacing7,\n justifyContent: \"center\",\n}));\n\nconst TemplateHeaderButtons = styled(\"div\", {\n shouldForwardProp: (prop) => prop !== \"odysseyDesignTokens\",\n})<{\n odysseyDesignTokens: DesignTokens;\n}>(({ odysseyDesignTokens }) => ({\n display: \"flex\",\n gap: odysseyDesignTokens.Spacing2,\n}));\n\nconst TemplateContent = styled(\"div\", {\n shouldForwardProp: (prop) =>\n ![\"odysseyDesignTokens\", \"isDrawerOpen\", \"drawerVariant\"].includes(prop),\n})<TemplateContentProps>(\n ({ odysseyDesignTokens, isDrawerOpen, drawerVariant }) => ({\n \"@keyframes animate-drawer-open\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n },\n \"@keyframes animate-drawer-close\": {\n \"0%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 360px\",\n },\n \"100%\": {\n gridTemplateColumns: \"minmax(0, 1fr) 0\",\n },\n },\n display: \"grid\",\n gridGap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n gap:\n drawerVariant === \"persistent\" && !isDrawerOpen\n ? 0\n : odysseyDesignTokens.Spacing4,\n marginBlock: odysseyDesignTokens.Spacing4,\n gridTemplateColumns:\n drawerVariant === \"persistent\"\n ? isDrawerOpen\n ? \"minmax(0, 1fr) 360px\"\n : \"minmax(0, 1fr) 0\"\n : \"minmax(0, 1fr)\",\n animation:\n drawerVariant === \"persistent\" && isDrawerOpen\n ? \"animate-drawer-open 225ms cubic-bezier(0, 0, 0.2, 1)\"\n : \"animate-drawer-close 225ms cubic-bezier(0, 0, 0.2, 1)\",\n }),\n);\n\nconst PageTemplate = ({\n children,\n description,\n documentationLink,\n documentationText,\n drawer,\n isFullWidth = false,\n primaryCallToActionComponent,\n secondaryCallToActionComponent,\n tertiaryCallToActionComponent,\n title,\n}: PageTemplateProps) => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n const { isOpen: isDrawerOpen, variant: drawerVariant } = drawer?.props ?? {};\n\n const hasUiShell = useHasUiShell();\n\n return (\n <TemplateContainer\n hasUiShell={hasUiShell}\n isFullWidth={isFullWidth}\n odysseyDesignTokens={odysseyDesignTokens}\n >\n <TemplateHeader>\n <TemplateHeaderPrimaryContent>\n {title && <Heading4>{title}</Heading4>}\n {description && <Subordinate>{description}</Subordinate>}\n </TemplateHeaderPrimaryContent>\n\n <TemplateHeaderSecondaryContent\n odysseyDesignTokens={odysseyDesignTokens}\n >\n {documentationLink && (\n <Link href={documentationLink} icon={<DocumentationIcon />}>\n {documentationText}\n </Link>\n )}\n {(primaryCallToActionComponent ||\n secondaryCallToActionComponent ||\n tertiaryCallToActionComponent) && (\n <TemplateHeaderButtons odysseyDesignTokens={odysseyDesignTokens}>\n {tertiaryCallToActionComponent}\n {secondaryCallToActionComponent}\n {primaryCallToActionComponent}\n </TemplateHeaderButtons>\n )}\n </TemplateHeaderSecondaryContent>\n </TemplateHeader>\n <TemplateContent\n odysseyDesignTokens={odysseyDesignTokens}\n isDrawerOpen={isDrawerOpen}\n drawerVariant={drawerVariant}\n >\n {children}\n {drawer}\n </TemplateContent>\n </TemplateContainer>\n );\n};\n\nconst MemoizedPageTemplate = memo(PageTemplate);\nMemoizedPageTemplate.displayName = \"PageTemplate\";\n\nexport { MemoizedPageTemplate as PageTemplate };\n"],"mappings":"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"}
@@ -10,35 +10,21 @@
10
10
  * See the License for the specific language governing permissions and limitations under the License.
11
11
  */
12
12
 
13
- import { memo, useMemo } from "react";
14
- import { CollapseLeftIcon } from "../../icons.generated/index.js";
15
- import { Box } from "../../Box.js";
16
- import { Button } from "../../Button.js";
17
- import { useOdysseyDesignTokens } from "../../OdysseyDesignTokensContext.js";
13
+ import { memo } from "react";
18
14
  import { jsx as _jsx } from "react/jsx-runtime";
19
- const CollapseIcon = ({
20
- onClick
21
- }) => {
22
- const odysseyDesignTokens = useOdysseyDesignTokens();
23
- const collapseButtonStyles = useMemo(() => ({
24
- "& > button": {
25
- height: odysseyDesignTokens.Spacing6,
26
- width: odysseyDesignTokens.Spacing6,
27
- color: odysseyDesignTokens.HueNeutral400
28
- }
29
- }), [odysseyDesignTokens]);
30
- return _jsx(Box, {
31
- sx: collapseButtonStyles,
32
- children: _jsx(Button, {
33
- tabIndex: 0,
34
- variant: "secondary",
35
- onClick: onClick,
36
- startIcon: _jsx(CollapseLeftIcon, {}),
37
- ariaLabel: "collapse side navigation"
15
+ const CollapseIcon = () => {
16
+ return _jsx("svg", {
17
+ width: "32",
18
+ height: "32",
19
+ viewBox: "0 0 12 20",
20
+ fill: "none",
21
+ xmlns: "http://www.w3.org/2000/svg",
22
+ children: _jsx("path", {
23
+ d: "M3.55226 9.99998L11.2761 2.27612L9.39051 0.390503L0.723837 9.05717C0.473789 9.30722 0.333313 9.64636 0.333313 9.99998C0.333313 10.3536 0.473789 10.6927 0.723837 10.9428L9.3905 19.6095L11.2761 17.7238L3.55226 9.99998Z",
24
+ fill: "#6E6E6E"
38
25
  })
39
26
  });
40
27
  };
41
28
  const MemoizedCollapseIcon = memo(CollapseIcon);
42
- MemoizedCollapseIcon.displayName = "CollapseIcon";
43
29
  export { MemoizedCollapseIcon as CollapseIcon };
44
30
  //# sourceMappingURL=CollapseIcon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"CollapseIcon.js","names":["memo","useMemo","CollapseLeftIcon","Box","Button","useOdysseyDesignTokens","jsx","_jsx","CollapseIcon","onClick","odysseyDesignTokens","collapseButtonStyles","height","Spacing6","width","color","HueNeutral400","sx","children","tabIndex","variant","startIcon","ariaLabel","MemoizedCollapseIcon","displayName"],"sources":["../../../src/labs/SideNav/CollapseIcon.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo, useMemo, ReactElement } from \"react\";\nimport { CollapseLeftIcon } from \"../../icons.generated\";\nimport { Box } from \"../../Box\";\nimport { Button } from \"../../Button\";\nimport { useOdysseyDesignTokens } from \"../../OdysseyDesignTokensContext\";\n\nconst CollapseIcon = ({ onClick }: { onClick?(): void }): ReactElement => {\n const odysseyDesignTokens = useOdysseyDesignTokens();\n\n const collapseButtonStyles = useMemo(\n () => ({\n \"& > button\": {\n height: odysseyDesignTokens.Spacing6,\n width: odysseyDesignTokens.Spacing6,\n color: odysseyDesignTokens.HueNeutral400,\n },\n }),\n [odysseyDesignTokens],\n );\n\n return (\n <Box sx={collapseButtonStyles}>\n <Button\n tabIndex={0}\n variant=\"secondary\"\n onClick={onClick}\n startIcon={<CollapseLeftIcon />}\n ariaLabel=\"collapse side navigation\"\n />\n </Box>\n );\n};\nconst MemoizedCollapseIcon = memo(CollapseIcon);\nMemoizedCollapseIcon.displayName = \"CollapseIcon\";\n\nexport { MemoizedCollapseIcon as CollapseIcon };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,EAAEC,OAAO,QAAsB,OAAO;AAAC,SAC3CC,gBAAgB;AAAA,SAChBC,GAAG;AAAA,SACHC,MAAM;AAAA,SACNC,sBAAsB;AAAA,SAAAC,GAAA,IAAAC,IAAA;AAE/B,MAAMC,YAAY,GAAGA,CAAC;EAAEC;AAA8B,CAAC,KAAmB;EACxE,MAAMC,mBAAmB,GAAGL,sBAAsB,CAAC,CAAC;EAEpD,MAAMM,oBAAoB,GAAGV,OAAO,CAClC,OAAO;IACL,YAAY,EAAE;MACZW,MAAM,EAAEF,mBAAmB,CAACG,QAAQ;MACpCC,KAAK,EAAEJ,mBAAmB,CAACG,QAAQ;MACnCE,KAAK,EAAEL,mBAAmB,CAACM;IAC7B;EACF,CAAC,CAAC,EACF,CAACN,mBAAmB,CACtB,CAAC;EAED,OACEH,IAAA,CAACJ,GAAG;IAACc,EAAE,EAAEN,oBAAqB;IAAAO,QAAA,EAC5BX,IAAA,CAACH,MAAM;MACLe,QAAQ,EAAE,CAAE;MACZC,OAAO,EAAC,WAAW;MACnBX,OAAO,EAAEA,OAAQ;MACjBY,SAAS,EAAEd,IAAA,CAACL,gBAAgB,IAAE,CAAE;MAChCoB,SAAS,EAAC;IAA0B,CACrC;EAAC,CACC,CAAC;AAEV,CAAC;AACD,MAAMC,oBAAoB,GAAGvB,IAAI,CAACQ,YAAY,CAAC;AAC/Ce,oBAAoB,CAACC,WAAW,GAAG,cAAc;AAEjD,SAASD,oBAAoB,IAAIf,YAAY"}
1
+ {"version":3,"file":"CollapseIcon.js","names":["memo","jsx","_jsx","CollapseIcon","width","height","viewBox","fill","xmlns","children","d","MemoizedCollapseIcon"],"sources":["../../../src/labs/SideNav/CollapseIcon.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo } from \"react\";\n\nconst CollapseIcon = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 12 20\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M3.55226 9.99998L11.2761 2.27612L9.39051 0.390503L0.723837 9.05717C0.473789 9.30722 0.333313 9.64636 0.333313 9.99998C0.333313 10.3536 0.473789 10.6927 0.723837 10.9428L9.3905 19.6095L11.2761 17.7238L3.55226 9.99998Z\"\n fill=\"#6E6E6E\"\n />\n </svg>\n );\n};\n\nconst MemoizedCollapseIcon = memo(CollapseIcon);\n\nexport { MemoizedCollapseIcon as CollapseIcon };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7B,MAAMC,YAAY,GAAGA,CAAA,KAAM;EACzB,OACED,IAAA;IACEE,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAC,4BAA4B;IAAAC,QAAA,EAElCP,IAAA;MACEQ,CAAC,EAAC,0NAA0N;MAC5NH,IAAI,EAAC;IAAS,CACf;EAAC,CACC,CAAC;AAEV,CAAC;AAED,MAAMI,oBAAoB,GAAGX,IAAI,CAACG,YAAY,CAAC;AAE/C,SAASQ,oBAAoB,IAAIR,YAAY"}
@@ -0,0 +1,32 @@
1
+ /*!
2
+ * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.
3
+ * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the "License.")
4
+ *
5
+ * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.
6
+ * Unless required by applicable law or agreed to in writing, software
7
+ * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
8
+ * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
9
+ *
10
+ * See the License for the specific language governing permissions and limitations under the License.
11
+ */
12
+
13
+ import { memo } from "react";
14
+ import { jsx as _jsx } from "react/jsx-runtime";
15
+ const HandleIcon = () => {
16
+ return _jsx("svg", {
17
+ width: "32",
18
+ height: "32",
19
+ viewBox: "0 0 32 32",
20
+ fill: "none",
21
+ xmlns: "http://www.w3.org/2000/svg",
22
+ children: _jsx("path", {
23
+ fillRule: "evenodd",
24
+ clipRule: "evenodd",
25
+ d: "M17.4167 6.66687L17.4167 25.3335L14.5834 25.3335L14.5834 6.66687L17.4167 6.66687Z",
26
+ fill: "#6E6E6E"
27
+ })
28
+ });
29
+ };
30
+ const MemoizedHandleIcon = memo(HandleIcon);
31
+ export { MemoizedHandleIcon as HandleIcon };
32
+ //# sourceMappingURL=HandleIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"HandleIcon.js","names":["memo","jsx","_jsx","HandleIcon","width","height","viewBox","fill","xmlns","children","fillRule","clipRule","d","MemoizedHandleIcon"],"sources":["../../../src/labs/SideNav/HandleIcon.tsx"],"sourcesContent":["/*!\n * Copyright (c) 2024-present, Okta, Inc. and/or its affiliates. All rights reserved.\n * The Okta software accompanied by this notice is provided pursuant to the Apache License, Version 2.0 (the \"License.\")\n *\n * You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0.\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT\n * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n *\n * See the License for the specific language governing permissions and limitations under the License.\n */\n\nimport { memo } from \"react\";\n\nconst HandleIcon = () => {\n return (\n <svg\n width=\"32\"\n height=\"32\"\n viewBox=\"0 0 32 32\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n fillRule=\"evenodd\"\n clipRule=\"evenodd\"\n d=\"M17.4167 6.66687L17.4167 25.3335L14.5834 25.3335L14.5834 6.66687L17.4167 6.66687Z\"\n fill=\"#6E6E6E\"\n />\n </svg>\n );\n};\nconst MemoizedHandleIcon = memo(HandleIcon);\n\nexport { MemoizedHandleIcon as HandleIcon };\n"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,SAASA,IAAI,QAAQ,OAAO;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE7B,MAAMC,UAAU,GAAGA,CAAA,KAAM;EACvB,OACED,IAAA;IACEE,KAAK,EAAC,IAAI;IACVC,MAAM,EAAC,IAAI;IACXC,OAAO,EAAC,WAAW;IACnBC,IAAI,EAAC,MAAM;IACXC,KAAK,EAAC,4BAA4B;IAAAC,QAAA,EAElCP,IAAA;MACEQ,QAAQ,EAAC,SAAS;MAClBC,QAAQ,EAAC,SAAS;MAClBC,CAAC,EAAC,mFAAmF;MACrFL,IAAI,EAAC;IAAS,CACf;EAAC,CACC,CAAC;AAEV,CAAC;AACD,MAAMM,kBAAkB,GAAGb,IAAI,CAACG,UAAU,CAAC;AAE3C,SAASU,kBAAkB,IAAIV,UAAU"}