@pega/cosmos-react-core 3.0.0-dev.9.0 → 3.0.0-rc.2

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 (989) hide show
  1. package/lib/components/Actions/Actions.d.ts +5 -0
  2. package/lib/components/Actions/Actions.d.ts.map +1 -1
  3. package/lib/components/Actions/Actions.js +2 -2
  4. package/lib/components/Actions/Actions.js.map +1 -1
  5. package/lib/components/AdditionalInfo/AdditionalInfo.d.ts +11 -0
  6. package/lib/components/AdditionalInfo/AdditionalInfo.d.ts.map +1 -0
  7. package/lib/components/AdditionalInfo/AdditionalInfo.js +25 -0
  8. package/lib/components/AdditionalInfo/AdditionalInfo.js.map +1 -0
  9. package/lib/components/AdditionalInfo/index.d.ts +2 -0
  10. package/lib/components/AdditionalInfo/index.d.ts.map +1 -0
  11. package/lib/components/AdditionalInfo/index.js +2 -0
  12. package/lib/components/AdditionalInfo/index.js.map +1 -0
  13. package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
  14. package/lib/components/AppShell/AppHeader.js +16 -8
  15. package/lib/components/AppShell/AppHeader.js.map +1 -1
  16. package/lib/components/AppShell/AppHeader.styles.d.ts +16 -0
  17. package/lib/components/AppShell/AppHeader.styles.d.ts.map +1 -0
  18. package/lib/components/AppShell/AppHeader.styles.js +155 -0
  19. package/lib/components/AppShell/AppHeader.styles.js.map +1 -0
  20. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  21. package/lib/components/AppShell/AppShell.js +89 -218
  22. package/lib/components/AppShell/AppShell.js.map +1 -1
  23. package/lib/components/AppShell/AppShell.styles.d.ts +7 -48
  24. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
  25. package/lib/components/AppShell/AppShell.styles.js +48 -527
  26. package/lib/components/AppShell/AppShell.styles.js.map +1 -1
  27. package/lib/components/AppShell/AppShell.types.d.ts +27 -80
  28. package/lib/components/AppShell/AppShell.types.d.ts.map +1 -1
  29. package/lib/components/AppShell/AppShell.types.js.map +1 -1
  30. package/lib/components/AppShell/AppShellContext.d.ts +12 -6
  31. package/lib/components/AppShell/AppShellContext.d.ts.map +1 -1
  32. package/lib/components/AppShell/AppShellContext.js +10 -5
  33. package/lib/components/AppShell/AppShellContext.js.map +1 -1
  34. package/lib/components/AppShell/AppShellList.d.ts +2 -2
  35. package/lib/components/AppShell/AppShellList.d.ts.map +1 -1
  36. package/lib/components/AppShell/AppShellList.js +16 -2
  37. package/lib/components/AppShell/AppShellList.js.map +1 -1
  38. package/lib/components/AppShell/AppShellList.styles.d.ts +19 -0
  39. package/lib/components/AppShell/AppShellList.styles.d.ts.map +1 -0
  40. package/lib/components/AppShell/AppShellList.styles.js +141 -0
  41. package/lib/components/AppShell/AppShellList.styles.js.map +1 -0
  42. package/lib/components/AppShell/AppShellSearch.d.ts +9 -0
  43. package/lib/components/AppShell/AppShellSearch.d.ts.map +1 -0
  44. package/lib/components/AppShell/AppShellSearch.js +39 -0
  45. package/lib/components/AppShell/AppShellSearch.js.map +1 -0
  46. package/lib/components/AppShell/AppShellSearch.styles.d.ts +8 -0
  47. package/lib/components/AppShell/AppShellSearch.styles.d.ts.map +1 -0
  48. package/lib/components/AppShell/AppShellSearch.styles.js +193 -0
  49. package/lib/components/AppShell/AppShellSearch.styles.js.map +1 -0
  50. package/lib/components/AppShell/Drawer.d.ts +3 -1
  51. package/lib/components/AppShell/Drawer.d.ts.map +1 -1
  52. package/lib/components/AppShell/Drawer.js +14 -11
  53. package/lib/components/AppShell/Drawer.js.map +1 -1
  54. package/lib/components/AppShell/Drawer.styles.d.ts +15 -0
  55. package/lib/components/AppShell/Drawer.styles.d.ts.map +1 -0
  56. package/lib/components/AppShell/Drawer.styles.js +153 -0
  57. package/lib/components/AppShell/Drawer.styles.js.map +1 -0
  58. package/lib/components/AppShell/NavigationList.d.ts +6 -0
  59. package/lib/components/AppShell/NavigationList.d.ts.map +1 -0
  60. package/lib/components/AppShell/NavigationList.js +121 -0
  61. package/lib/components/AppShell/NavigationList.js.map +1 -0
  62. package/lib/components/AppShell/NavigationListItemWrapper.d.ts +5 -0
  63. package/lib/components/AppShell/NavigationListItemWrapper.d.ts.map +1 -0
  64. package/lib/components/AppShell/NavigationListItemWrapper.js +157 -0
  65. package/lib/components/AppShell/NavigationListItemWrapper.js.map +1 -0
  66. package/lib/components/AppShell/Operator.js +4 -4
  67. package/lib/components/AppShell/Operator.js.map +1 -1
  68. package/lib/components/AppShell/index.d.ts +2 -3
  69. package/lib/components/AppShell/index.d.ts.map +1 -1
  70. package/lib/components/AppShell/index.js +1 -2
  71. package/lib/components/AppShell/index.js.map +1 -1
  72. package/lib/components/Avatar/Avatar.d.ts.map +1 -1
  73. package/lib/components/Avatar/Avatar.js +4 -4
  74. package/lib/components/Avatar/Avatar.js.map +1 -1
  75. package/lib/components/Badges/Count.d.ts.map +1 -1
  76. package/lib/components/Badges/Count.js +37 -1
  77. package/lib/components/Badges/Count.js.map +1 -1
  78. package/lib/components/Badges/Keyboard.d.ts +2 -2
  79. package/lib/components/Badges/Keyboard.d.ts.map +1 -1
  80. package/lib/components/Badges/Keyboard.js +6 -1
  81. package/lib/components/Badges/Keyboard.js.map +1 -1
  82. package/lib/components/Badges/Selection.d.ts +1 -1
  83. package/lib/components/Badges/Selection.d.ts.map +1 -1
  84. package/lib/components/Badges/Selection.js +4 -2
  85. package/lib/components/Badges/Selection.js.map +1 -1
  86. package/lib/components/Banner/Banner.d.ts.map +1 -1
  87. package/lib/components/Banner/Banner.js +8 -2
  88. package/lib/components/Banner/Banner.js.map +1 -1
  89. package/lib/components/Boolean/BooleanDisplay.d.ts.map +1 -1
  90. package/lib/components/Boolean/BooleanDisplay.js +4 -12
  91. package/lib/components/Boolean/BooleanDisplay.js.map +1 -1
  92. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +2 -1
  93. package/lib/components/Breadcrumbs/Breadcrumbs.d.ts.map +1 -1
  94. package/lib/components/Breadcrumbs/Breadcrumbs.js +44 -13
  95. package/lib/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  96. package/lib/components/Button/BareRoleButton.d.ts.map +1 -1
  97. package/lib/components/Button/BareRoleButton.js +3 -1
  98. package/lib/components/Button/BareRoleButton.js.map +1 -1
  99. package/lib/components/Checkbox/Checkbox.d.ts +3 -1
  100. package/lib/components/Checkbox/Checkbox.d.ts.map +1 -1
  101. package/lib/components/Checkbox/Checkbox.js.map +1 -1
  102. package/lib/components/ColorPicker/ColorPicker.d.ts +2 -0
  103. package/lib/components/ColorPicker/ColorPicker.d.ts.map +1 -1
  104. package/lib/components/ColorPicker/ColorPicker.js +1 -1
  105. package/lib/components/ColorPicker/ColorPicker.js.map +1 -1
  106. package/lib/components/ComboBox/ComboBox.d.ts.map +1 -1
  107. package/lib/components/ComboBox/ComboBox.js +68 -13
  108. package/lib/components/ComboBox/ComboBox.js.map +1 -1
  109. package/lib/components/ComboBox/ComboBox.styles.d.ts +3 -1
  110. package/lib/components/ComboBox/ComboBox.styles.d.ts.map +1 -1
  111. package/lib/components/ComboBox/ComboBox.types.d.ts +11 -1
  112. package/lib/components/ComboBox/ComboBox.types.d.ts.map +1 -1
  113. package/lib/components/ComboBox/ComboBox.types.js.map +1 -1
  114. package/lib/components/ComboBox/ComboBoxInput.d.ts +7 -0
  115. package/lib/components/ComboBox/ComboBoxInput.d.ts.map +1 -1
  116. package/lib/components/ComboBox/ComboBoxInput.js +5 -2
  117. package/lib/components/ComboBox/ComboBoxInput.js.map +1 -1
  118. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts.map +1 -1
  119. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +116 -31
  120. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  121. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts +10 -0
  122. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.d.ts.map +1 -1
  123. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.types.js.map +1 -1
  124. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.d.ts.map +1 -1
  125. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js +2 -2
  126. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.js.map +1 -1
  127. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts +2 -0
  128. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.d.ts.map +1 -1
  129. package/lib/components/ComboBox/SingleSelectInput/SingleSelectInput.types.js.map +1 -1
  130. package/lib/components/CompositeInput/CompositeInput.d.ts +5 -0
  131. package/lib/components/CompositeInput/CompositeInput.d.ts.map +1 -0
  132. package/lib/components/CompositeInput/CompositeInput.js +62 -0
  133. package/lib/components/CompositeInput/CompositeInput.js.map +1 -0
  134. package/lib/components/CompositeInput/CompositeInput.styles.d.ts +5 -0
  135. package/lib/components/CompositeInput/CompositeInput.styles.d.ts.map +1 -0
  136. package/lib/components/CompositeInput/CompositeInput.styles.js +57 -0
  137. package/lib/components/CompositeInput/CompositeInput.styles.js.map +1 -0
  138. package/lib/components/CompositeInput/CompositeInput.types.d.ts +52 -0
  139. package/lib/components/CompositeInput/CompositeInput.types.d.ts.map +1 -0
  140. package/lib/components/CompositeInput/CompositeInput.types.js +2 -0
  141. package/lib/components/CompositeInput/CompositeInput.types.js.map +1 -0
  142. package/lib/components/CompositeInput/index.d.ts +3 -0
  143. package/lib/components/CompositeInput/index.d.ts.map +1 -0
  144. package/lib/components/CompositeInput/index.js +2 -0
  145. package/lib/components/CompositeInput/index.js.map +1 -0
  146. package/lib/components/Configuration/Configuration.d.ts +14 -13
  147. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  148. package/lib/components/Configuration/Configuration.js +25 -14
  149. package/lib/components/Configuration/Configuration.js.map +1 -1
  150. package/lib/components/Configuration/index.d.ts +0 -1
  151. package/lib/components/Configuration/index.d.ts.map +1 -1
  152. package/lib/components/Configuration/index.js +0 -1
  153. package/lib/components/Configuration/index.js.map +1 -1
  154. package/lib/components/CreditCard/CreditCard.types.d.ts +2 -0
  155. package/lib/components/CreditCard/CreditCard.types.d.ts.map +1 -1
  156. package/lib/components/CreditCard/CreditCard.types.js.map +1 -1
  157. package/lib/components/Currency/CurrencyDisplay.d.ts.map +1 -1
  158. package/lib/components/Currency/CurrencyDisplay.js +2 -2
  159. package/lib/components/Currency/CurrencyDisplay.js.map +1 -1
  160. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  161. package/lib/components/Currency/CurrencyInput.js +92 -26
  162. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  163. package/lib/components/Currency/CurrencyInput.types.d.ts +9 -1
  164. package/lib/components/Currency/CurrencyInput.types.d.ts.map +1 -1
  165. package/lib/components/Currency/CurrencyInput.types.js.map +1 -1
  166. package/lib/components/Currency/utils.d.ts +7 -17
  167. package/lib/components/Currency/utils.d.ts.map +1 -1
  168. package/lib/components/Currency/utils.js +50 -51
  169. package/lib/components/Currency/utils.js.map +1 -1
  170. package/lib/components/DateTime/DateTime.types.d.ts +15 -9
  171. package/lib/components/DateTime/DateTime.types.d.ts.map +1 -1
  172. package/lib/components/DateTime/DateTime.types.js.map +1 -1
  173. package/lib/components/DateTime/DurationDisplay.js +3 -3
  174. package/lib/components/DateTime/DurationDisplay.js.map +1 -1
  175. package/lib/components/DateTime/Input/DateInput.d.ts +9 -2
  176. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  177. package/lib/components/DateTime/Input/DateInput.js +27 -15
  178. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  179. package/lib/components/DateTime/Input/DateRangeInput.d.ts +18 -23
  180. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  181. package/lib/components/DateTime/Input/DateRangeInput.js +98 -83
  182. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  183. package/lib/components/DateTime/Input/DateTimeInput.d.ts +3 -0
  184. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  185. package/lib/components/DateTime/Input/DateTimeInput.js +28 -12
  186. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  187. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts +2 -0
  188. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts.map +1 -1
  189. package/lib/components/DateTime/Input/DayOfWeekInput.js.map +1 -1
  190. package/lib/components/DateTime/Input/Duration/DurationInput.d.ts.map +1 -1
  191. package/lib/components/DateTime/Input/Duration/DurationInput.js +10 -2
  192. package/lib/components/DateTime/Input/Duration/DurationInput.js.map +1 -1
  193. package/lib/components/DateTime/Input/Duration/DurationInput.types.d.ts +2 -0
  194. package/lib/components/DateTime/Input/Duration/DurationInput.types.d.ts.map +1 -1
  195. package/lib/components/DateTime/Input/Duration/DurationInput.types.js.map +1 -1
  196. package/lib/components/DateTime/Input/Duration/NumberUnit.d.ts.map +1 -1
  197. package/lib/components/DateTime/Input/Duration/NumberUnit.js +30 -33
  198. package/lib/components/DateTime/Input/Duration/NumberUnit.js.map +1 -1
  199. package/lib/components/DateTime/Input/Duration/Time.d.ts.map +1 -1
  200. package/lib/components/DateTime/Input/Duration/Time.js +5 -4
  201. package/lib/components/DateTime/Input/Duration/Time.js.map +1 -1
  202. package/lib/components/DateTime/Input/MonthInput.d.ts +3 -0
  203. package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
  204. package/lib/components/DateTime/Input/MonthInput.js +23 -26
  205. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  206. package/lib/components/DateTime/Input/QuarterInput.d.ts +3 -0
  207. package/lib/components/DateTime/Input/QuarterInput.d.ts.map +1 -1
  208. package/lib/components/DateTime/Input/QuarterInput.js +24 -25
  209. package/lib/components/DateTime/Input/QuarterInput.js.map +1 -1
  210. package/lib/components/DateTime/Input/TimeInput.d.ts +3 -0
  211. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  212. package/lib/components/DateTime/Input/TimeInput.js +21 -9
  213. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  214. package/lib/components/DateTime/Input/TimeRangeInput.d.ts +46 -0
  215. package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -0
  216. package/lib/components/DateTime/Input/TimeRangeInput.js +74 -0
  217. package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -0
  218. package/lib/components/DateTime/Input/WeekInput.d.ts +3 -2
  219. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  220. package/lib/components/DateTime/Input/WeekInput.js +12 -7
  221. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  222. package/lib/components/DateTime/Input/usePickerButton.d.ts +1 -1
  223. package/lib/components/DateTime/Input/usePickerButton.d.ts.map +1 -1
  224. package/lib/components/DateTime/Input/utils.d.ts +6 -6
  225. package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
  226. package/lib/components/DateTime/Input/utils.js +2 -1
  227. package/lib/components/DateTime/Input/utils.js.map +1 -1
  228. package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
  229. package/lib/components/DateTime/Picker/Calendar.js +20 -16
  230. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  231. package/lib/components/DateTime/Picker/Calendar.styles.d.ts +2 -4
  232. package/lib/components/DateTime/Picker/Calendar.styles.d.ts.map +1 -1
  233. package/lib/components/DateTime/Picker/Calendar.styles.js +13 -55
  234. package/lib/components/DateTime/Picker/Calendar.styles.js.map +1 -1
  235. package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
  236. package/lib/components/DateTime/Picker/DatePicker.js +2 -1
  237. package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
  238. package/lib/components/DateTime/Picker/DatePicker.styles.d.ts +3 -0
  239. package/lib/components/DateTime/Picker/DatePicker.styles.d.ts.map +1 -0
  240. package/lib/components/DateTime/Picker/DatePicker.styles.js +39 -0
  241. package/lib/components/DateTime/Picker/DatePicker.styles.js.map +1 -0
  242. package/lib/components/DateTime/Picker/DateRangePicker.js +1 -1
  243. package/lib/components/DateTime/Picker/DateRangePicker.js.map +1 -1
  244. package/lib/components/DateTime/Picker/TimePicker.d.ts +1 -1
  245. package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
  246. package/lib/components/DateTime/Picker/TimePicker.js +10 -5
  247. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  248. package/lib/components/DateTime/Picker/Weeks.d.ts.map +1 -1
  249. package/lib/components/DateTime/Picker/Weeks.js +14 -6
  250. package/lib/components/DateTime/Picker/Weeks.js.map +1 -1
  251. package/lib/components/DateTime/Picker/utils.d.ts +1 -1
  252. package/lib/components/DateTime/Picker/utils.d.ts.map +1 -1
  253. package/lib/components/DateTime/index.d.ts +4 -0
  254. package/lib/components/DateTime/index.d.ts.map +1 -1
  255. package/lib/components/DateTime/index.js +3 -0
  256. package/lib/components/DateTime/index.js.map +1 -1
  257. package/lib/components/DateTime/utils.d.ts +2 -2
  258. package/lib/components/DateTime/utils.d.ts.map +1 -1
  259. package/lib/components/DateTime/utils.js +18 -4
  260. package/lib/components/DateTime/utils.js.map +1 -1
  261. package/lib/components/Dialog/Dialog.d.ts +32 -0
  262. package/lib/components/Dialog/Dialog.d.ts.map +1 -0
  263. package/lib/components/Dialog/Dialog.js +149 -0
  264. package/lib/components/Dialog/Dialog.js.map +1 -0
  265. package/lib/components/Dialog/index.d.ts +3 -0
  266. package/lib/components/Dialog/index.d.ts.map +1 -0
  267. package/lib/components/Dialog/index.js +3 -0
  268. package/lib/components/Dialog/index.js.map +1 -0
  269. package/lib/components/FieldGroup/FieldGroup.d.ts +7 -0
  270. package/lib/components/FieldGroup/FieldGroup.d.ts.map +1 -1
  271. package/lib/components/FieldGroup/FieldGroup.js +45 -41
  272. package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
  273. package/lib/components/FieldGroup/FieldGroupList.d.ts.map +1 -1
  274. package/lib/components/FieldGroup/FieldGroupList.js +6 -2
  275. package/lib/components/FieldGroup/FieldGroupList.js.map +1 -1
  276. package/lib/components/FieldValueList/FieldValueList.d.ts +13 -7
  277. package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
  278. package/lib/components/FieldValueList/FieldValueList.js +41 -13
  279. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  280. package/lib/components/FieldValueList/index.d.ts +3 -5
  281. package/lib/components/FieldValueList/index.d.ts.map +1 -1
  282. package/lib/components/FieldValueList/index.js +2 -4
  283. package/lib/components/FieldValueList/index.js.map +1 -1
  284. package/lib/components/File/FileItem.d.ts +3 -0
  285. package/lib/components/File/FileItem.d.ts.map +1 -1
  286. package/lib/components/File/FileItem.js +6 -3
  287. package/lib/components/File/FileItem.js.map +1 -1
  288. package/lib/components/File/FileVisual.d.ts.map +1 -1
  289. package/lib/components/File/FileVisual.js +6 -5
  290. package/lib/components/File/FileVisual.js.map +1 -1
  291. package/lib/components/File/utils.d.ts +1 -1
  292. package/lib/components/File/utils.d.ts.map +1 -1
  293. package/lib/components/File/utils.js.map +1 -1
  294. package/lib/components/Flex/Flex.d.ts +11 -10
  295. package/lib/components/Flex/Flex.d.ts.map +1 -1
  296. package/lib/components/Flex/Flex.js.map +1 -1
  297. package/lib/components/Form/Form.d.ts +5 -16
  298. package/lib/components/Form/Form.d.ts.map +1 -1
  299. package/lib/components/Form/Form.js +14 -11
  300. package/lib/components/Form/Form.js.map +1 -1
  301. package/lib/components/FormControl/FormControl.d.ts +12 -2
  302. package/lib/components/FormControl/FormControl.d.ts.map +1 -1
  303. package/lib/components/FormControl/FormControl.js +60 -35
  304. package/lib/components/FormControl/FormControl.js.map +1 -1
  305. package/lib/components/FormField/FormField.d.ts +5 -0
  306. package/lib/components/FormField/FormField.d.ts.map +1 -1
  307. package/lib/components/FormField/FormField.js +87 -16
  308. package/lib/components/FormField/FormField.js.map +1 -1
  309. package/lib/components/Grid/Grid.d.ts +1 -1
  310. package/lib/components/Grid/Grid.d.ts.map +1 -1
  311. package/lib/components/Grid/Grid.types.d.ts +11 -10
  312. package/lib/components/Grid/Grid.types.d.ts.map +1 -1
  313. package/lib/components/Grid/Grid.types.js.map +1 -1
  314. package/lib/components/HTML/HTML.d.ts.map +1 -1
  315. package/lib/components/HTML/HTML.js +56 -16
  316. package/lib/components/HTML/HTML.js.map +1 -1
  317. package/lib/components/Icon/Icon.d.ts.map +1 -1
  318. package/lib/components/Icon/Icon.js +1 -1
  319. package/lib/components/Icon/Icon.js.map +1 -1
  320. package/lib/components/Icon/iconNames.d.ts +2 -2
  321. package/lib/components/Icon/iconNames.d.ts.map +1 -1
  322. package/lib/components/Icon/iconNames.js +2 -1
  323. package/lib/components/Icon/iconNames.js.map +1 -1
  324. package/lib/components/Icon/icons/ai-assist.icon.js +1 -1
  325. package/lib/components/Icon/icons/ai-assist.icon.js.map +1 -1
  326. package/lib/components/Icon/icons/align-center.icon.js +1 -1
  327. package/lib/components/Icon/icons/align-center.icon.js.map +1 -1
  328. package/lib/components/Icon/icons/align-left.icon.js +1 -1
  329. package/lib/components/Icon/icons/align-left.icon.js.map +1 -1
  330. package/lib/components/Icon/icons/align-right.icon.js +1 -1
  331. package/lib/components/Icon/icons/align-right.icon.js.map +1 -1
  332. package/lib/components/Icon/icons/arrow-left.icon.js +1 -1
  333. package/lib/components/Icon/icons/arrow-left.icon.js.map +1 -1
  334. package/lib/components/Icon/icons/arrow-micro-down.icon.js +1 -1
  335. package/lib/components/Icon/icons/arrow-micro-down.icon.js.map +1 -1
  336. package/lib/components/Icon/icons/arrow-micro-left.icon.js +1 -1
  337. package/lib/components/Icon/icons/arrow-micro-left.icon.js.map +1 -1
  338. package/lib/components/Icon/icons/arrow-micro-right.icon.js +1 -1
  339. package/lib/components/Icon/icons/arrow-micro-right.icon.js.map +1 -1
  340. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js +1 -1
  341. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js.map +1 -1
  342. package/lib/components/Icon/icons/arrow-micro-up.icon.js +1 -1
  343. package/lib/components/Icon/icons/arrow-micro-up.icon.js.map +1 -1
  344. package/lib/components/Icon/icons/arrow-up-down.icon.js +1 -1
  345. package/lib/components/Icon/icons/arrow-up-down.icon.js.map +1 -1
  346. package/lib/components/Icon/icons/bars.icon.js +1 -1
  347. package/lib/components/Icon/icons/bars.icon.js.map +1 -1
  348. package/lib/components/Icon/icons/bell-solid.icon.js +1 -1
  349. package/lib/components/Icon/icons/bell-solid.icon.js.map +1 -1
  350. package/lib/components/Icon/icons/bell.icon.js +1 -1
  351. package/lib/components/Icon/icons/bell.icon.js.map +1 -1
  352. package/lib/components/Icon/icons/box-4-solid.icon.js +1 -1
  353. package/lib/components/Icon/icons/box-4-solid.icon.js.map +1 -1
  354. package/lib/components/Icon/icons/box-4.icon.js +1 -1
  355. package/lib/components/Icon/icons/box-4.icon.js.map +1 -1
  356. package/lib/components/Icon/icons/calendar-range.icon.js +1 -1
  357. package/lib/components/Icon/icons/calendar-range.icon.js.map +1 -1
  358. package/lib/components/Icon/icons/calendar-solid.icon.js +1 -1
  359. package/lib/components/Icon/icons/calendar-solid.icon.js.map +1 -1
  360. package/lib/components/Icon/icons/caret-down.icon.js +1 -1
  361. package/lib/components/Icon/icons/caret-down.icon.js.map +1 -1
  362. package/lib/components/Icon/icons/caret-left.icon.js +1 -1
  363. package/lib/components/Icon/icons/caret-left.icon.js.map +1 -1
  364. package/lib/components/Icon/icons/caret-right.icon.js +1 -1
  365. package/lib/components/Icon/icons/caret-right.icon.js.map +1 -1
  366. package/lib/components/Icon/icons/caret-up.icon.js +1 -1
  367. package/lib/components/Icon/icons/caret-up.icon.js.map +1 -1
  368. package/lib/components/Icon/icons/{script-solid.icon.d.ts → carrot.icon.d.ts} +2 -2
  369. package/lib/components/Icon/icons/carrot.icon.d.ts.map +1 -0
  370. package/lib/components/Icon/icons/carrot.icon.js +6 -0
  371. package/lib/components/Icon/icons/carrot.icon.js.map +1 -0
  372. package/lib/components/Icon/icons/case-solid.icon.js +1 -1
  373. package/lib/components/Icon/icons/case-solid.icon.js.map +1 -1
  374. package/lib/components/Icon/icons/case.icon.js +1 -1
  375. package/lib/components/Icon/icons/case.icon.js.map +1 -1
  376. package/lib/components/Icon/icons/chain.icon.js +1 -1
  377. package/lib/components/Icon/icons/chain.icon.js.map +1 -1
  378. package/lib/components/Icon/icons/chat-solid.icon.js +1 -1
  379. package/lib/components/Icon/icons/chat-solid.icon.js.map +1 -1
  380. package/lib/components/Icon/icons/chat.icon.js +1 -1
  381. package/lib/components/Icon/icons/chat.icon.js.map +1 -1
  382. package/lib/components/Icon/icons/check.icon.js +1 -1
  383. package/lib/components/Icon/icons/check.icon.js.map +1 -1
  384. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js +1 -1
  385. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js.map +1 -1
  386. package/lib/components/Icon/icons/clipboard-plus.icon.js +1 -1
  387. package/lib/components/Icon/icons/clipboard-plus.icon.js.map +1 -1
  388. package/lib/components/Icon/icons/clock-solid.icon.js +1 -1
  389. package/lib/components/Icon/icons/clock-solid.icon.js.map +1 -1
  390. package/lib/components/Icon/icons/clock.icon.js +1 -1
  391. package/lib/components/Icon/icons/clock.icon.js.map +1 -1
  392. package/lib/components/Icon/icons/code.icon.js +1 -1
  393. package/lib/components/Icon/icons/code.icon.js.map +1 -1
  394. package/lib/components/Icon/icons/dataviz-string-field.icon.d.ts +1 -1
  395. package/lib/components/Icon/icons/dataviz-string-field.icon.js +2 -2
  396. package/lib/components/Icon/icons/dataviz-string-field.icon.js.map +1 -1
  397. package/lib/components/Icon/icons/dock.icon.js +1 -1
  398. package/lib/components/Icon/icons/dock.icon.js.map +1 -1
  399. package/lib/components/Icon/icons/dot-9-solid.icon.js +1 -1
  400. package/lib/components/Icon/icons/dot-9-solid.icon.js.map +1 -1
  401. package/lib/components/Icon/icons/dot-9.icon.js +1 -1
  402. package/lib/components/Icon/icons/dot-9.icon.js.map +1 -1
  403. package/lib/components/Icon/icons/download.icon.js +1 -1
  404. package/lib/components/Icon/icons/download.icon.js.map +1 -1
  405. package/lib/components/Icon/icons/drag.icon.js +1 -1
  406. package/lib/components/Icon/icons/drag.icon.js.map +1 -1
  407. package/lib/components/Icon/icons/eye-off-solid.icon.js +1 -1
  408. package/lib/components/Icon/icons/eye-off-solid.icon.js.map +1 -1
  409. package/lib/components/Icon/icons/eye-off.icon.js +1 -1
  410. package/lib/components/Icon/icons/eye-off.icon.js.map +1 -1
  411. package/lib/components/Icon/icons/face-blank-solid.icon.d.ts.map +1 -1
  412. package/lib/components/Icon/icons/face-blank-solid.icon.js +1 -1
  413. package/lib/components/Icon/icons/face-blank-solid.icon.js.map +1 -1
  414. package/lib/components/Icon/icons/face-blank.icon.d.ts.map +1 -1
  415. package/lib/components/Icon/icons/face-blank.icon.js +1 -1
  416. package/lib/components/Icon/icons/face-blank.icon.js.map +1 -1
  417. package/lib/components/Icon/icons/face-happy-solid.icon.d.ts.map +1 -1
  418. package/lib/components/Icon/icons/face-happy-solid.icon.js +1 -1
  419. package/lib/components/Icon/icons/face-happy-solid.icon.js.map +1 -1
  420. package/lib/components/Icon/icons/face-happy.icon.d.ts.map +1 -1
  421. package/lib/components/Icon/icons/face-happy.icon.js +1 -1
  422. package/lib/components/Icon/icons/face-happy.icon.js.map +1 -1
  423. package/lib/components/Icon/icons/face-sad-solid.icon.d.ts.map +1 -1
  424. package/lib/components/Icon/icons/face-sad-solid.icon.js +1 -1
  425. package/lib/components/Icon/icons/face-sad-solid.icon.js.map +1 -1
  426. package/lib/components/Icon/icons/face-sad.icon.d.ts.map +1 -1
  427. package/lib/components/Icon/icons/face-sad.icon.js +1 -1
  428. package/lib/components/Icon/icons/face-sad.icon.js.map +1 -1
  429. package/lib/components/Icon/icons/fast-forward-solid.icon.js +1 -1
  430. package/lib/components/Icon/icons/fast-forward-solid.icon.js.map +1 -1
  431. package/lib/components/Icon/icons/filetype-text.icon.d.ts.map +1 -1
  432. package/lib/components/Icon/icons/filetype-text.icon.js +2 -2
  433. package/lib/components/Icon/icons/filetype-text.icon.js.map +1 -1
  434. package/lib/components/Icon/icons/filter-on.icon.js +1 -1
  435. package/lib/components/Icon/icons/filter-on.icon.js.map +1 -1
  436. package/lib/components/Icon/icons/filter.icon.js +1 -1
  437. package/lib/components/Icon/icons/filter.icon.js.map +1 -1
  438. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js +1 -1
  439. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js.map +1 -1
  440. package/lib/components/Icon/icons/folder-hierarchy.icon.js +1 -1
  441. package/lib/components/Icon/icons/folder-hierarchy.icon.js.map +1 -1
  442. package/lib/components/Icon/icons/forward-all-solid.icon.js +1 -1
  443. package/lib/components/Icon/icons/forward-all-solid.icon.js.map +1 -1
  444. package/lib/components/Icon/icons/forward-all.icon.js +1 -1
  445. package/lib/components/Icon/icons/forward-all.icon.js.map +1 -1
  446. package/lib/components/Icon/icons/forward-solid.icon.js +1 -1
  447. package/lib/components/Icon/icons/forward-solid.icon.js.map +1 -1
  448. package/lib/components/Icon/icons/forward.icon.js +1 -1
  449. package/lib/components/Icon/icons/forward.icon.js.map +1 -1
  450. package/lib/components/Icon/icons/galaxy.icon.d.ts.map +1 -1
  451. package/lib/components/Icon/icons/galaxy.icon.js +2 -2
  452. package/lib/components/Icon/icons/galaxy.icon.js.map +1 -1
  453. package/lib/components/Icon/icons/globe-solid.icon.js +1 -1
  454. package/lib/components/Icon/icons/globe-solid.icon.js.map +1 -1
  455. package/lib/components/Icon/icons/globe.icon.js +1 -1
  456. package/lib/components/Icon/icons/globe.icon.js.map +1 -1
  457. package/lib/components/Icon/icons/hand.icon.js +1 -1
  458. package/lib/components/Icon/icons/hand.icon.js.map +1 -1
  459. package/lib/components/Icon/icons/help-solid.icon.js +1 -1
  460. package/lib/components/Icon/icons/help-solid.icon.js.map +1 -1
  461. package/lib/components/Icon/icons/help.icon.js +1 -1
  462. package/lib/components/Icon/icons/help.icon.js.map +1 -1
  463. package/lib/components/Icon/icons/home-solid.icon.js +1 -1
  464. package/lib/components/Icon/icons/home-solid.icon.js.map +1 -1
  465. package/lib/components/Icon/icons/home.icon.js +1 -1
  466. package/lib/components/Icon/icons/home.icon.js.map +1 -1
  467. package/lib/components/Icon/icons/information-solid.icon.js +1 -1
  468. package/lib/components/Icon/icons/information-solid.icon.js.map +1 -1
  469. package/lib/components/Icon/icons/information.icon.js +1 -1
  470. package/lib/components/Icon/icons/information.icon.js.map +1 -1
  471. package/lib/components/Icon/icons/list-number.icon.d.ts.map +1 -1
  472. package/lib/components/Icon/icons/list-number.icon.js +2 -2
  473. package/lib/components/Icon/icons/list-number.icon.js.map +1 -1
  474. package/lib/components/Icon/icons/list.icon.d.ts.map +1 -1
  475. package/lib/components/Icon/icons/list.icon.js +2 -2
  476. package/lib/components/Icon/icons/list.icon.js.map +1 -1
  477. package/lib/components/Icon/icons/mail-solid.icon.js +1 -1
  478. package/lib/components/Icon/icons/mail-solid.icon.js.map +1 -1
  479. package/lib/components/Icon/icons/mail.icon.js +1 -1
  480. package/lib/components/Icon/icons/mail.icon.js.map +1 -1
  481. package/lib/components/Icon/icons/minus.icon.js +1 -1
  482. package/lib/components/Icon/icons/minus.icon.js.map +1 -1
  483. package/lib/components/Icon/icons/more.icon.js +1 -1
  484. package/lib/components/Icon/icons/more.icon.js.map +1 -1
  485. package/lib/components/Icon/icons/move-left-solid.icon.js +1 -1
  486. package/lib/components/Icon/icons/move-left-solid.icon.js.map +1 -1
  487. package/lib/components/Icon/icons/move-right-solid.icon.js +1 -1
  488. package/lib/components/Icon/icons/move-right-solid.icon.js.map +1 -1
  489. package/lib/components/Icon/icons/open.icon.js +1 -1
  490. package/lib/components/Icon/icons/open.icon.js.map +1 -1
  491. package/lib/components/Icon/icons/paper-clip.icon.js +1 -1
  492. package/lib/components/Icon/icons/paper-clip.icon.js.map +1 -1
  493. package/lib/components/Icon/icons/phone-solid.icon.js +1 -1
  494. package/lib/components/Icon/icons/phone-solid.icon.js.map +1 -1
  495. package/lib/components/Icon/icons/phone.icon.js +1 -1
  496. package/lib/components/Icon/icons/phone.icon.js.map +1 -1
  497. package/lib/components/Icon/icons/picture-solid.icon.js +1 -1
  498. package/lib/components/Icon/icons/picture-solid.icon.js.map +1 -1
  499. package/lib/components/Icon/icons/picture.icon.js +1 -1
  500. package/lib/components/Icon/icons/picture.icon.js.map +1 -1
  501. package/lib/components/Icon/icons/placeholder.icon.d.ts +4 -0
  502. package/lib/components/Icon/icons/placeholder.icon.d.ts.map +1 -0
  503. package/lib/components/Icon/icons/placeholder.icon.js +6 -0
  504. package/lib/components/Icon/icons/placeholder.icon.js.map +1 -0
  505. package/lib/components/Icon/icons/plus.icon.js +1 -1
  506. package/lib/components/Icon/icons/plus.icon.js.map +1 -1
  507. package/lib/components/Icon/icons/polaris-solid.icon.js +1 -1
  508. package/lib/components/Icon/icons/polaris-solid.icon.js.map +1 -1
  509. package/lib/components/Icon/icons/polaris.icon.js +1 -1
  510. package/lib/components/Icon/icons/polaris.icon.js.map +1 -1
  511. package/lib/components/Icon/icons/qr.icon.js +1 -1
  512. package/lib/components/Icon/icons/qr.icon.js.map +1 -1
  513. package/lib/components/Icon/icons/reply-all-solid.icon.js +1 -1
  514. package/lib/components/Icon/icons/reply-all-solid.icon.js.map +1 -1
  515. package/lib/components/Icon/icons/reply-all.icon.js +1 -1
  516. package/lib/components/Icon/icons/reply-all.icon.js.map +1 -1
  517. package/lib/components/Icon/icons/reply-solid.icon.js +1 -1
  518. package/lib/components/Icon/icons/reply-solid.icon.js.map +1 -1
  519. package/lib/components/Icon/icons/reply.icon.js +1 -1
  520. package/lib/components/Icon/icons/reply.icon.js.map +1 -1
  521. package/lib/components/Icon/icons/reset.icon.js +1 -1
  522. package/lib/components/Icon/icons/reset.icon.js.map +1 -1
  523. package/lib/components/Icon/icons/robot-happy-solid.icon.js +1 -1
  524. package/lib/components/Icon/icons/robot-happy-solid.icon.js.map +1 -1
  525. package/lib/components/Icon/icons/robot-happy.icon.js +1 -1
  526. package/lib/components/Icon/icons/robot-happy.icon.js.map +1 -1
  527. package/lib/components/Icon/icons/row-insert.icon.js +1 -1
  528. package/lib/components/Icon/icons/row-insert.icon.js.map +1 -1
  529. package/lib/components/Icon/icons/row.icon.js +1 -1
  530. package/lib/components/Icon/icons/row.icon.js.map +1 -1
  531. package/lib/components/Icon/icons/scale-down.icon.js +1 -1
  532. package/lib/components/Icon/icons/scale-down.icon.js.map +1 -1
  533. package/lib/components/Icon/icons/scale-up-solid.icon.js +1 -1
  534. package/lib/components/Icon/icons/scale-up-solid.icon.js.map +1 -1
  535. package/lib/components/Icon/icons/scale-up.icon.js +1 -1
  536. package/lib/components/Icon/icons/scale-up.icon.js.map +1 -1
  537. package/lib/components/Icon/icons/script.icon.js +1 -1
  538. package/lib/components/Icon/icons/script.icon.js.map +1 -1
  539. package/lib/components/Icon/icons/search-analytics-solid.icon.js +1 -1
  540. package/lib/components/Icon/icons/search-analytics-solid.icon.js.map +1 -1
  541. package/lib/components/Icon/icons/search-analytics.icon.js +1 -1
  542. package/lib/components/Icon/icons/search-analytics.icon.js.map +1 -1
  543. package/lib/components/Icon/icons/search.icon.js +1 -1
  544. package/lib/components/Icon/icons/search.icon.js.map +1 -1
  545. package/lib/components/Icon/icons/send-solid.icon.js +1 -1
  546. package/lib/components/Icon/icons/send-solid.icon.js.map +1 -1
  547. package/lib/components/Icon/icons/send.icon.js +1 -1
  548. package/lib/components/Icon/icons/send.icon.js.map +1 -1
  549. package/lib/components/Icon/icons/slideshow-solid.icon.js +1 -1
  550. package/lib/components/Icon/icons/slideshow-solid.icon.js.map +1 -1
  551. package/lib/components/Icon/icons/slideshow.icon.js +1 -1
  552. package/lib/components/Icon/icons/slideshow.icon.js.map +1 -1
  553. package/lib/components/Icon/icons/snow.icon.js +1 -1
  554. package/lib/components/Icon/icons/snow.icon.js.map +1 -1
  555. package/lib/components/Icon/icons/speaker-solid.icon.js +1 -1
  556. package/lib/components/Icon/icons/speaker-solid.icon.js.map +1 -1
  557. package/lib/components/Icon/icons/speaker.icon.js +1 -1
  558. package/lib/components/Icon/icons/speaker.icon.js.map +1 -1
  559. package/lib/components/Icon/icons/star-solid.icon.js +1 -1
  560. package/lib/components/Icon/icons/star-solid.icon.js.map +1 -1
  561. package/lib/components/Icon/icons/star.icon.js +1 -1
  562. package/lib/components/Icon/icons/star.icon.js.map +1 -1
  563. package/lib/components/Icon/icons/target-solid.icon.js +1 -1
  564. package/lib/components/Icon/icons/target-solid.icon.js.map +1 -1
  565. package/lib/components/Icon/icons/target.icon.js +1 -1
  566. package/lib/components/Icon/icons/target.icon.js.map +1 -1
  567. package/lib/components/Icon/icons/thumbs-up-solid.icon.js +1 -1
  568. package/lib/components/Icon/icons/thumbs-up-solid.icon.js.map +1 -1
  569. package/lib/components/Icon/icons/thumbs-up.icon.js +1 -1
  570. package/lib/components/Icon/icons/thumbs-up.icon.js.map +1 -1
  571. package/lib/components/Icon/icons/times.icon.js +1 -1
  572. package/lib/components/Icon/icons/times.icon.js.map +1 -1
  573. package/lib/components/Icon/icons/trash-solid.icon.js +1 -1
  574. package/lib/components/Icon/icons/trash-solid.icon.js.map +1 -1
  575. package/lib/components/Icon/icons/trash.icon.js +1 -1
  576. package/lib/components/Icon/icons/trash.icon.js.map +1 -1
  577. package/lib/components/Icon/icons/twitter.icon.js +1 -1
  578. package/lib/components/Icon/icons/twitter.icon.js.map +1 -1
  579. package/lib/components/Icon/icons/undock.icon.js +1 -1
  580. package/lib/components/Icon/icons/undock.icon.js.map +1 -1
  581. package/lib/components/Icon/icons/user-solid.icon.js +1 -1
  582. package/lib/components/Icon/icons/user-solid.icon.js.map +1 -1
  583. package/lib/components/Icon/icons/user-star-solid.icon.js +1 -1
  584. package/lib/components/Icon/icons/user-star-solid.icon.js.map +1 -1
  585. package/lib/components/Icon/icons/user-star.icon.js +1 -1
  586. package/lib/components/Icon/icons/user-star.icon.js.map +1 -1
  587. package/lib/components/Icon/icons/user.icon.js +1 -1
  588. package/lib/components/Icon/icons/user.icon.js.map +1 -1
  589. package/lib/components/Icon/icons/warn-solid.icon.js +1 -1
  590. package/lib/components/Icon/icons/warn-solid.icon.js.map +1 -1
  591. package/lib/components/Icon/icons/warn.icon.js +1 -1
  592. package/lib/components/Icon/icons/warn.icon.js.map +1 -1
  593. package/lib/components/Icon/index.d.ts +1 -1
  594. package/lib/components/Icon/index.d.ts.map +1 -1
  595. package/lib/components/Icon/index.js.map +1 -1
  596. package/lib/components/Input/Input.d.ts +3 -1
  597. package/lib/components/Input/Input.d.ts.map +1 -1
  598. package/lib/components/Input/Input.js +16 -2
  599. package/lib/components/Input/Input.js.map +1 -1
  600. package/lib/components/Input/Input.styles.d.ts +1 -0
  601. package/lib/components/Input/Input.styles.d.ts.map +1 -1
  602. package/lib/components/Input/Input.styles.js +31 -0
  603. package/lib/components/Input/Input.styles.js.map +1 -1
  604. package/lib/components/Link/Link.d.ts +4 -1
  605. package/lib/components/Link/Link.d.ts.map +1 -1
  606. package/lib/components/Link/Link.js +87 -30
  607. package/lib/components/Link/Link.js.map +1 -1
  608. package/lib/components/List/CommaSeparatedList.d.ts.map +1 -1
  609. package/lib/components/List/CommaSeparatedList.js +6 -14
  610. package/lib/components/List/CommaSeparatedList.js.map +1 -1
  611. package/lib/components/List/List.d.ts +2 -2
  612. package/lib/components/List/List.d.ts.map +1 -1
  613. package/lib/components/List/List.js.map +1 -1
  614. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  615. package/lib/components/ListToolbar/ListToolbar.js +108 -53
  616. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  617. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +1 -0
  618. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  619. package/lib/components/ListToolbar/ListToolbar.styles.js +38 -2
  620. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  621. package/lib/components/ListToolbar/ListToolbar.types.d.ts +28 -10
  622. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  623. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  624. package/lib/components/ListToolbar/PresetMenuPopover.d.ts +12 -0
  625. package/lib/components/ListToolbar/PresetMenuPopover.d.ts.map +1 -0
  626. package/lib/components/ListToolbar/PresetMenuPopover.js +36 -0
  627. package/lib/components/ListToolbar/PresetMenuPopover.js.map +1 -0
  628. package/lib/components/ListToolbar/QueryOptionPopover.d.ts.map +1 -1
  629. package/lib/components/ListToolbar/QueryOptionPopover.js +14 -44
  630. package/lib/components/ListToolbar/QueryOptionPopover.js.map +1 -1
  631. package/lib/components/Location/LocationInput.d.ts +3 -1
  632. package/lib/components/Location/LocationInput.d.ts.map +1 -1
  633. package/lib/components/Location/LocationInput.js +2 -2
  634. package/lib/components/Location/LocationInput.js.map +1 -1
  635. package/lib/components/Location/LocationView.d.ts +1 -1
  636. package/lib/components/Location/LocationView.d.ts.map +1 -1
  637. package/lib/components/Location/LocationView.js +16 -10
  638. package/lib/components/Location/LocationView.js.map +1 -1
  639. package/lib/components/Location/utils.d.ts +3 -2
  640. package/lib/components/Location/utils.d.ts.map +1 -1
  641. package/lib/components/Location/utils.js +17 -9
  642. package/lib/components/Location/utils.js.map +1 -1
  643. package/lib/components/Menu/Menu.d.ts.map +1 -1
  644. package/lib/components/Menu/Menu.js +10 -6
  645. package/lib/components/Menu/Menu.js.map +1 -1
  646. package/lib/components/Menu/Menu.styles.d.ts.map +1 -1
  647. package/lib/components/Menu/Menu.styles.js +4 -2
  648. package/lib/components/Menu/Menu.styles.js.map +1 -1
  649. package/lib/components/Menu/Menu.types.d.ts +13 -0
  650. package/lib/components/Menu/Menu.types.d.ts.map +1 -1
  651. package/lib/components/Menu/Menu.types.js.map +1 -1
  652. package/lib/components/Menu/MenuGroup.d.ts.map +1 -1
  653. package/lib/components/Menu/MenuGroup.js +3 -3
  654. package/lib/components/Menu/MenuGroup.js.map +1 -1
  655. package/lib/components/Menu/MenuItem.d.ts.map +1 -1
  656. package/lib/components/Menu/MenuItem.js +4 -8
  657. package/lib/components/Menu/MenuItem.js.map +1 -1
  658. package/lib/components/Menu/MenuList.d.ts.map +1 -1
  659. package/lib/components/Menu/MenuList.js +23 -14
  660. package/lib/components/Menu/MenuList.js.map +1 -1
  661. package/lib/components/Menu/NavItemsList.d.ts +2 -2
  662. package/lib/components/Menu/NavItemsList.d.ts.map +1 -1
  663. package/lib/components/Menu/NavItemsList.js +12 -7
  664. package/lib/components/Menu/NavItemsList.js.map +1 -1
  665. package/lib/components/Menu/helpers.d.ts +7 -7
  666. package/lib/components/Menu/helpers.d.ts.map +1 -1
  667. package/lib/components/Menu/index.d.ts +1 -1
  668. package/lib/components/Menu/index.d.ts.map +1 -1
  669. package/lib/components/Menu/index.js +1 -1
  670. package/lib/components/Menu/index.js.map +1 -1
  671. package/lib/components/MetaList/MetaList.d.ts.map +1 -1
  672. package/lib/components/MetaList/MetaList.js +13 -10
  673. package/lib/components/MetaList/MetaList.js.map +1 -1
  674. package/lib/components/Modal/Contexts.d.ts.map +1 -1
  675. package/lib/components/Modal/Contexts.js +2 -3
  676. package/lib/components/Modal/Contexts.js.map +1 -1
  677. package/lib/components/Modal/MinimizedModal.d.ts.map +1 -1
  678. package/lib/components/Modal/MinimizedModal.js +2 -5
  679. package/lib/components/Modal/MinimizedModal.js.map +1 -1
  680. package/lib/components/Modal/Modal.d.ts.map +1 -1
  681. package/lib/components/Modal/Modal.js +3 -5
  682. package/lib/components/Modal/Modal.js.map +1 -1
  683. package/lib/components/Modal/Modal.types.d.ts +2 -6
  684. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  685. package/lib/components/Modal/Modal.types.js +1 -2
  686. package/lib/components/Modal/Modal.types.js.map +1 -1
  687. package/lib/components/Modal/ModalManager.d.ts +8 -2
  688. package/lib/components/Modal/ModalManager.d.ts.map +1 -1
  689. package/lib/components/Modal/ModalManager.js +14 -20
  690. package/lib/components/Modal/ModalManager.js.map +1 -1
  691. package/lib/components/Modal/index.d.ts +0 -1
  692. package/lib/components/Modal/index.d.ts.map +1 -1
  693. package/lib/components/Modal/index.js +0 -1
  694. package/lib/components/Modal/index.js.map +1 -1
  695. package/lib/components/MultiStepForm/FormProgress.d.ts +10 -0
  696. package/lib/components/MultiStepForm/FormProgress.d.ts.map +1 -0
  697. package/lib/components/{MultiStep/MultiStep.js → MultiStepForm/FormProgress.js} +8 -22
  698. package/lib/components/MultiStepForm/FormProgress.js.map +1 -0
  699. package/lib/components/{MultiStep/MultiStep.styles.d.ts → MultiStepForm/FormProgress.styles.d.ts} +2 -4
  700. package/lib/components/MultiStepForm/FormProgress.styles.d.ts.map +1 -0
  701. package/lib/components/{MultiStep/MultiStep.styles.js → MultiStepForm/FormProgress.styles.js} +3 -4
  702. package/lib/components/MultiStepForm/FormProgress.styles.js.map +1 -0
  703. package/lib/components/MultiStepForm/MultiStepForm.d.ts +9 -0
  704. package/lib/components/MultiStepForm/MultiStepForm.d.ts.map +1 -0
  705. package/lib/components/MultiStepForm/MultiStepForm.js +50 -0
  706. package/lib/components/MultiStepForm/MultiStepForm.js.map +1 -0
  707. package/lib/components/MultiStepForm/MultiStepForm.types.d.ts +48 -0
  708. package/lib/components/MultiStepForm/MultiStepForm.types.d.ts.map +1 -0
  709. package/lib/components/MultiStepForm/MultiStepForm.types.js +2 -0
  710. package/lib/components/MultiStepForm/MultiStepForm.types.js.map +1 -0
  711. package/lib/components/MultiStepForm/index.d.ts +2 -0
  712. package/lib/components/MultiStepForm/index.d.ts.map +1 -0
  713. package/lib/components/MultiStepForm/index.js +2 -0
  714. package/lib/components/MultiStepForm/index.js.map +1 -0
  715. package/lib/components/Number/NumberDisplay.d.ts +0 -5
  716. package/lib/components/Number/NumberDisplay.d.ts.map +1 -1
  717. package/lib/components/Number/NumberDisplay.js +8 -12
  718. package/lib/components/Number/NumberDisplay.js.map +1 -1
  719. package/lib/components/Number/NumberInput.d.ts +1 -1
  720. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  721. package/lib/components/Number/NumberInput.js +60 -35
  722. package/lib/components/Number/NumberInput.js.map +1 -1
  723. package/lib/components/Number/NumberInput.styles.d.ts +8 -5
  724. package/lib/components/Number/NumberInput.styles.d.ts.map +1 -1
  725. package/lib/components/Number/NumberInput.styles.js +6 -3
  726. package/lib/components/Number/NumberInput.styles.js.map +1 -1
  727. package/lib/components/Number/NumberInput.types.d.ts +56 -21
  728. package/lib/components/Number/NumberInput.types.d.ts.map +1 -1
  729. package/lib/components/Number/NumberInput.types.js.map +1 -1
  730. package/lib/components/Number/NumberRangeInput.d.ts +6 -0
  731. package/lib/components/Number/NumberRangeInput.d.ts.map +1 -0
  732. package/lib/components/Number/NumberRangeInput.js +30 -0
  733. package/lib/components/Number/NumberRangeInput.js.map +1 -0
  734. package/lib/components/Number/index.d.ts +3 -2
  735. package/lib/components/Number/index.d.ts.map +1 -1
  736. package/lib/components/Number/index.js +1 -0
  737. package/lib/components/Number/index.js.map +1 -1
  738. package/lib/components/Number/utils.d.ts +3 -4
  739. package/lib/components/Number/utils.d.ts.map +1 -1
  740. package/lib/components/Number/utils.js +41 -21
  741. package/lib/components/Number/utils.js.map +1 -1
  742. package/lib/components/PageTemplates/CategorySubPage.d.ts +3 -3
  743. package/lib/components/PageTemplates/CategorySubPage.d.ts.map +1 -1
  744. package/lib/components/PageTemplates/CategorySubPage.js.map +1 -1
  745. package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
  746. package/lib/components/PageTemplates/DashboardPage.js +1 -4
  747. package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
  748. package/lib/components/PageTemplates/PageTemplates.d.ts +1 -2
  749. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  750. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  751. package/lib/components/Phone/PhoneInput.d.ts.map +1 -1
  752. package/lib/components/Phone/PhoneInput.js +13 -3
  753. package/lib/components/Phone/PhoneInput.js.map +1 -1
  754. package/lib/components/Popover/Popover.d.ts +2 -0
  755. package/lib/components/Popover/Popover.d.ts.map +1 -1
  756. package/lib/components/Popover/Popover.js +13 -9
  757. package/lib/components/Popover/Popover.js.map +1 -1
  758. package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
  759. package/lib/components/Popover/Popover.styles.js +12 -57
  760. package/lib/components/Popover/Popover.styles.js.map +1 -1
  761. package/lib/components/Popover/PopoverContext.d.ts +1 -0
  762. package/lib/components/Popover/PopoverContext.d.ts.map +1 -1
  763. package/lib/components/Popover/PopoverContext.js +2 -1
  764. package/lib/components/Popover/PopoverContext.js.map +1 -1
  765. package/lib/components/Popover/PopoverManager.d.ts.map +1 -1
  766. package/lib/components/Popover/PopoverManager.js +2 -1
  767. package/lib/components/Popover/PopoverManager.js.map +1 -1
  768. package/lib/components/Progress/Ring.js +2 -2
  769. package/lib/components/Progress/Ring.js.map +1 -1
  770. package/lib/components/RadioButton/RadioButton.d.ts +3 -1
  771. package/lib/components/RadioButton/RadioButton.d.ts.map +1 -1
  772. package/lib/components/RadioButton/RadioButton.js.map +1 -1
  773. package/lib/components/RadioCheck/RadioCheck.d.ts +2 -0
  774. package/lib/components/RadioCheck/RadioCheck.d.ts.map +1 -1
  775. package/lib/components/RadioCheck/RadioCheck.js +6 -5
  776. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  777. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts +3 -0
  778. package/lib/components/RadioCheckGroup/RadioCheckGroup.d.ts.map +1 -1
  779. package/lib/components/RadioCheckGroup/RadioCheckGroup.js +1 -1
  780. package/lib/components/RadioCheckGroup/RadioCheckGroup.js.map +1 -1
  781. package/lib/components/RadioCheckGroup/index.d.ts +1 -1
  782. package/lib/components/RadioCheckGroup/index.d.ts.map +1 -1
  783. package/lib/components/RadioCheckGroup/index.js +1 -1
  784. package/lib/components/RadioCheckGroup/index.js.map +1 -1
  785. package/lib/components/SearchInput/SearchInput.d.ts +24 -8
  786. package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
  787. package/lib/components/SearchInput/SearchInput.js +127 -94
  788. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  789. package/lib/components/SearchInput/SearchInput.styles.d.ts +16 -0
  790. package/lib/components/SearchInput/SearchInput.styles.d.ts.map +1 -0
  791. package/lib/components/SearchInput/SearchInput.styles.js +129 -0
  792. package/lib/components/SearchInput/SearchInput.styles.js.map +1 -0
  793. package/lib/components/SearchInput/index.d.ts +1 -1
  794. package/lib/components/SearchInput/index.d.ts.map +1 -1
  795. package/lib/components/SearchInput/index.js +1 -1
  796. package/lib/components/SearchInput/index.js.map +1 -1
  797. package/lib/components/Select/Select.d.ts +5 -0
  798. package/lib/components/Select/Select.d.ts.map +1 -1
  799. package/lib/components/Select/Select.js +14 -5
  800. package/lib/components/Select/Select.js.map +1 -1
  801. package/lib/components/Skeleton/ParagraphSkeleton.d.ts.map +1 -1
  802. package/lib/components/Skeleton/ParagraphSkeleton.js +2 -2
  803. package/lib/components/Skeleton/ParagraphSkeleton.js.map +1 -1
  804. package/lib/components/SkipLinks/SkipLinks.d.ts +15 -0
  805. package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -0
  806. package/lib/components/SkipLinks/SkipLinks.js +67 -0
  807. package/lib/components/SkipLinks/SkipLinks.js.map +1 -0
  808. package/lib/components/SkipLinks/index.d.ts +4 -0
  809. package/lib/components/SkipLinks/index.d.ts.map +1 -0
  810. package/lib/components/SkipLinks/index.js +3 -0
  811. package/lib/components/SkipLinks/index.js.map +1 -0
  812. package/lib/components/Slider/Slider.styles.d.ts +1 -1
  813. package/lib/components/SummaryItem/SummaryItem.d.ts +2 -2
  814. package/lib/components/SummaryList/ViewAll.d.ts.map +1 -1
  815. package/lib/components/SummaryList/ViewAll.js +6 -2
  816. package/lib/components/SummaryList/ViewAll.js.map +1 -1
  817. package/lib/components/Tabs/Tab.d.ts.map +1 -1
  818. package/lib/components/Tabs/Tab.js +0 -1
  819. package/lib/components/Tabs/Tab.js.map +1 -1
  820. package/lib/components/Tabs/TabPanel.d.ts.map +1 -1
  821. package/lib/components/Tabs/TabPanel.js +1 -7
  822. package/lib/components/Tabs/TabPanel.js.map +1 -1
  823. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  824. package/lib/components/Tabs/Tabs.js +1 -1
  825. package/lib/components/Tabs/Tabs.js.map +1 -1
  826. package/lib/components/Text/Text.js +2 -2
  827. package/lib/components/Text/Text.js.map +1 -1
  828. package/lib/components/TextArea/TextArea.d.ts.map +1 -1
  829. package/lib/components/TextArea/TextArea.js +8 -3
  830. package/lib/components/TextArea/TextArea.js.map +1 -1
  831. package/lib/components/Toaster/Context.d.ts +7 -0
  832. package/lib/components/Toaster/Context.d.ts.map +1 -0
  833. package/lib/components/Toaster/Context.js +6 -0
  834. package/lib/components/Toaster/Context.js.map +1 -0
  835. package/lib/components/Toaster/Toaster.d.ts +8 -40
  836. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  837. package/lib/components/Toaster/Toaster.js +12 -12
  838. package/lib/components/Toaster/Toaster.js.map +1 -1
  839. package/lib/components/Toaster/Toaster.types.d.ts +31 -0
  840. package/lib/components/Toaster/Toaster.types.d.ts.map +1 -0
  841. package/lib/components/Toaster/Toaster.types.js +2 -0
  842. package/lib/components/Toaster/Toaster.types.js.map +1 -0
  843. package/lib/components/Toaster/index.d.ts +1 -2
  844. package/lib/components/Toaster/index.d.ts.map +1 -1
  845. package/lib/components/Toaster/index.js +0 -1
  846. package/lib/components/Toaster/index.js.map +1 -1
  847. package/lib/components/Tooltip/Tooltip.d.ts +5 -0
  848. package/lib/components/Tooltip/Tooltip.d.ts.map +1 -1
  849. package/lib/components/Tooltip/Tooltip.js +23 -5
  850. package/lib/components/Tooltip/Tooltip.js.map +1 -1
  851. package/lib/components/Tree/StandardTree.d.ts.map +1 -1
  852. package/lib/components/Tree/StandardTree.js +27 -13
  853. package/lib/components/Tree/StandardTree.js.map +1 -1
  854. package/lib/components/Tree/StandardTree.styles.js +3 -3
  855. package/lib/components/Tree/StandardTree.styles.js.map +1 -1
  856. package/lib/components/Tree/StandardTree.types.d.ts +1 -0
  857. package/lib/components/Tree/StandardTree.types.d.ts.map +1 -1
  858. package/lib/components/Tree/StandardTree.types.js.map +1 -1
  859. package/lib/hooks/index.d.ts +3 -0
  860. package/lib/hooks/index.d.ts.map +1 -1
  861. package/lib/hooks/index.js +3 -0
  862. package/lib/hooks/index.js.map +1 -1
  863. package/lib/hooks/useActiveDescendant.d.ts +5 -1
  864. package/lib/hooks/useActiveDescendant.d.ts.map +1 -1
  865. package/lib/hooks/useActiveDescendant.js +175 -99
  866. package/lib/hooks/useActiveDescendant.js.map +1 -1
  867. package/lib/hooks/useAutoResize.d.ts +1 -1
  868. package/lib/hooks/useAutoResize.d.ts.map +1 -1
  869. package/lib/hooks/useAutoResize.js +14 -6
  870. package/lib/hooks/useAutoResize.js.map +1 -1
  871. package/lib/hooks/useBreakpoint.d.ts +3 -2
  872. package/lib/hooks/useBreakpoint.d.ts.map +1 -1
  873. package/lib/hooks/useBreakpoint.js +10 -13
  874. package/lib/hooks/useBreakpoint.js.map +1 -1
  875. package/lib/hooks/useConfiguration.d.ts +1 -0
  876. package/lib/hooks/useConfiguration.d.ts.map +1 -1
  877. package/lib/hooks/useConfiguration.js +9 -2
  878. package/lib/hooks/useConfiguration.js.map +1 -1
  879. package/lib/hooks/useDraggable.d.ts +1 -1
  880. package/lib/hooks/useDraggable.d.ts.map +1 -1
  881. package/lib/hooks/useDraggable.js +35 -8
  882. package/lib/hooks/useDraggable.js.map +1 -1
  883. package/lib/hooks/useFocusWithin.d.ts.map +1 -1
  884. package/lib/hooks/useFocusWithin.js +0 -8
  885. package/lib/hooks/useFocusWithin.js.map +1 -1
  886. package/lib/hooks/useI18n.d.ts +131 -34
  887. package/lib/hooks/useI18n.d.ts.map +1 -1
  888. package/lib/hooks/useI18n.js +2 -1
  889. package/lib/hooks/useI18n.js.map +1 -1
  890. package/lib/hooks/useInputFormatter.d.ts.map +1 -1
  891. package/lib/hooks/useInputFormatter.js +5 -0
  892. package/lib/hooks/useInputFormatter.js.map +1 -1
  893. package/lib/hooks/useLongPress.d.ts +1 -1
  894. package/lib/hooks/useLongPress.d.ts.map +1 -1
  895. package/lib/hooks/useModalContext.d.ts +7 -0
  896. package/lib/hooks/useModalContext.d.ts.map +1 -0
  897. package/lib/hooks/useModalContext.js +12 -0
  898. package/lib/hooks/useModalContext.js.map +1 -0
  899. package/lib/hooks/useModalManager.d.ts +8 -0
  900. package/lib/hooks/useModalManager.d.ts.map +1 -0
  901. package/lib/hooks/useModalManager.js +16 -0
  902. package/lib/hooks/useModalManager.js.map +1 -0
  903. package/lib/hooks/useOS.d.ts.map +1 -1
  904. package/lib/hooks/useOS.js +1 -2
  905. package/lib/hooks/useOS.js.map +1 -1
  906. package/lib/hooks/useScrollStick.d.ts +1 -1
  907. package/lib/hooks/useScrollStick.d.ts.map +1 -1
  908. package/lib/hooks/useToaster.d.ts +8 -0
  909. package/lib/hooks/useToaster.d.ts.map +1 -0
  910. package/lib/hooks/useToaster.js +16 -0
  911. package/lib/hooks/useToaster.js.map +1 -0
  912. package/lib/hooks/useTransitionState.js +1 -1
  913. package/lib/hooks/useTransitionState.js.map +1 -1
  914. package/lib/i18n/default.d.ts +131 -34
  915. package/lib/i18n/default.d.ts.map +1 -1
  916. package/lib/i18n/default.js +154 -47
  917. package/lib/i18n/default.js.map +1 -1
  918. package/lib/i18n/i18n.d.ts +127 -698
  919. package/lib/i18n/i18n.d.ts.map +1 -1
  920. package/lib/i18n/translate.d.ts +3 -0
  921. package/lib/i18n/translate.d.ts.map +1 -1
  922. package/lib/i18n/translate.js.map +1 -1
  923. package/lib/index.d.ts +9 -2
  924. package/lib/index.d.ts.map +1 -1
  925. package/lib/index.js +9 -2
  926. package/lib/index.js.map +1 -1
  927. package/lib/init.d.ts +8 -0
  928. package/lib/init.d.ts.map +1 -0
  929. package/lib/init.js +5 -0
  930. package/lib/init.js.map +1 -0
  931. package/lib/register-contexts.d.ts +2 -0
  932. package/lib/register-contexts.d.ts.map +1 -0
  933. package/lib/register-contexts.js +10 -0
  934. package/lib/register-contexts.js.map +1 -0
  935. package/lib/styles/utils.d.ts +1 -1
  936. package/lib/styles/utils.d.ts.map +1 -1
  937. package/lib/styles/utils.js.map +1 -1
  938. package/lib/theme/ThemeMachine.d.ts +11 -3
  939. package/lib/theme/ThemeMachine.d.ts.map +1 -1
  940. package/lib/theme/ThemeMachine.js +28 -26
  941. package/lib/theme/ThemeMachine.js.map +1 -1
  942. package/lib/theme/index.d.ts +1 -0
  943. package/lib/theme/index.d.ts.map +1 -1
  944. package/lib/theme/index.js +1 -0
  945. package/lib/theme/index.js.map +1 -1
  946. package/lib/theme/theme.d.ts +54 -0
  947. package/lib/theme/theme.d.ts.map +1 -1
  948. package/lib/theme/themeDefinition.json +33 -1
  949. package/lib/theme/themeOverrides.schema.json +9 -0
  950. package/lib/theme/themes/buildTheme.json +0 -3
  951. package/lib/theme/themes/darkTheme.json +3 -1
  952. package/lib/theme/themes/legacyBuildTheme.json +0 -3
  953. package/lib/theme/themes/wssTheme.json +6 -0
  954. package/lib/types/types.d.ts +3 -0
  955. package/lib/types/types.d.ts.map +1 -1
  956. package/lib/types/types.js.map +1 -1
  957. package/lib/utils/utils.d.ts +5 -0
  958. package/lib/utils/utils.d.ts.map +1 -1
  959. package/lib/utils/utils.js +23 -0
  960. package/lib/utils/utils.js.map +1 -1
  961. package/package.json +10 -5
  962. package/lib/components/AppShell/SkipNavigation.d.ts +0 -4
  963. package/lib/components/AppShell/SkipNavigation.d.ts.map +0 -1
  964. package/lib/components/AppShell/SkipNavigation.js +0 -61
  965. package/lib/components/AppShell/SkipNavigation.js.map +0 -1
  966. package/lib/components/Currency/currencyCodes.d.ts +0 -3
  967. package/lib/components/Currency/currencyCodes.d.ts.map +0 -1
  968. package/lib/components/Currency/currencyCodes.js +0 -182
  969. package/lib/components/Currency/currencyCodes.js.map +0 -1
  970. package/lib/components/DateTime/types.d.ts +0 -9
  971. package/lib/components/DateTime/types.d.ts.map +0 -1
  972. package/lib/components/DateTime/types.js +0 -2
  973. package/lib/components/DateTime/types.js.map +0 -1
  974. package/lib/components/Icon/icons/script-solid.icon.d.ts.map +0 -1
  975. package/lib/components/Icon/icons/script-solid.icon.js +0 -6
  976. package/lib/components/Icon/icons/script-solid.icon.js.map +0 -1
  977. package/lib/components/MultiStep/MultiStep.d.ts +0 -6
  978. package/lib/components/MultiStep/MultiStep.d.ts.map +0 -1
  979. package/lib/components/MultiStep/MultiStep.js.map +0 -1
  980. package/lib/components/MultiStep/MultiStep.styles.d.ts.map +0 -1
  981. package/lib/components/MultiStep/MultiStep.styles.js.map +0 -1
  982. package/lib/components/MultiStep/MultiStep.types.d.ts +0 -36
  983. package/lib/components/MultiStep/MultiStep.types.d.ts.map +0 -1
  984. package/lib/components/MultiStep/MultiStep.types.js +0 -2
  985. package/lib/components/MultiStep/MultiStep.types.js.map +0 -1
  986. package/lib/components/MultiStep/index.d.ts +0 -3
  987. package/lib/components/MultiStep/index.d.ts.map +0 -1
  988. package/lib/components/MultiStep/index.js +0 -2
  989. package/lib/components/MultiStep/index.js.map +0 -1
@@ -1,13 +1,22 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { cloneElement, useEffect, useState, forwardRef } from 'react';
3
3
  import styled, { css } from 'styled-components';
4
+ import { readableColor, rgba } from 'polished';
4
5
  import { defaultThemeProp } from '../../theme';
5
6
  import Flex from '../Flex';
6
7
  import Actions from '../Actions';
7
- import { useUID } from '../../hooks';
8
+ import { useConsolidatedRef, useI18n, useUID } from '../../hooks';
8
9
  import Label, { StyledLabel } from '../Label';
9
- import { calculateFontSize } from '../../styles';
10
- import Icon from '../Icon';
10
+ import { calculateFontSize, getHoverColors } from '../../styles';
11
+ import VisuallyHiddenText from '../VisuallyHiddenText';
12
+ import { getFocusables, tryCatch } from '../../utils';
13
+ import Button from '../Button';
14
+ import Icon, { registerIcon } from '../Icon';
15
+ import * as warnSolidIcon from '../Icon/icons/warn-solid.icon';
16
+ import * as flagWaveSolidIcon from '../Icon/icons/flag-wave-solid.icon';
17
+ import * as checkIcon from '../Icon/icons/check.icon';
18
+ import AdditionalInfo from '../AdditionalInfo';
19
+ registerIcon(warnSolidIcon, flagWaveSolidIcon, checkIcon);
11
20
  const StyledStatusIcon = styled(Icon)(({ theme, status }) => {
12
21
  return css `
13
22
  height: 1em;
@@ -33,6 +42,7 @@ export const StyledFormFieldInfo = styled.div(({ status, theme: { base: { 'font-
33
42
  `;
34
43
  });
35
44
  StyledFormFieldInfo.defaultProps = defaultThemeProp;
45
+ const StyledLabelRow = styled.div ``;
36
46
  export const StyledFormField = styled.div(props => {
37
47
  const { disabled, required, theme: { base: { palette: { urgent }, 'disabled-opacity': disabledOpacity, spacing } } } = props;
38
48
  return css `
@@ -45,32 +55,74 @@ export const StyledFormField = styled.div(props => {
45
55
  position: relative;
46
56
  border: 0;
47
57
 
48
- > ${StyledLabel} {
58
+ > ${StyledLabel}, > ${StyledLabelRow} {
49
59
  margin-bottom: calc(0.25 * ${spacing});
50
- ${disabled &&
51
- css `
52
- cursor: not-allowed;
53
- `}
60
+ }
54
61
 
62
+ > ${StyledLabel}, > ${StyledLabelRow} > ${StyledLabel} {
55
63
  &::after {
56
64
  display: ${required ? 'inline' : 'none'};
57
65
  content: '\\00a0*';
58
66
  vertical-align: top;
59
67
  color: ${urgent};
60
68
  }
69
+
70
+ ${disabled &&
71
+ css `
72
+ cursor: not-allowed;
73
+ `}
61
74
  }
62
75
  `;
63
76
  });
64
77
  StyledFormField.defaultProps = defaultThemeProp;
65
- const statusIconMap = { error: 'warn-solid', warning: 'warn', success: 'check' };
78
+ const StyledSuggestionButton = styled(Button)(({ theme: { base: { 'font-size': fontSize, 'font-scale': fontScale, 'border-radius': baseRadius, spacing }, components: { 'form-control': { 'border-radius': radius, 'border-width': borderWidth }, 'form-field': formField } } }) => {
79
+ const { xxs: buttonFontSize } = calculateFontSize(fontSize, fontScale);
80
+ const backgroundColor = formField.pending['status-color'];
81
+ const hoverColors = getHoverColors(backgroundColor);
82
+ const color = tryCatch(() => readableColor(backgroundColor));
83
+ const borderColor = color ? rgba(color, 0.4) : color;
84
+ return css `
85
+ background-color: ${backgroundColor};
86
+ color: ${color};
87
+ font-size: ${buttonFontSize};
88
+ min-width: calc(3 * ${spacing});
89
+ min-height: calc(3 * ${spacing});
90
+ padding: 0 ${spacing};
91
+ border-radius: 0;
92
+ border: none;
93
+ &:first-child {
94
+ border-inline-end: ${borderWidth} solid ${borderColor};
95
+ border-end-start-radius: calc(${baseRadius} * ${radius});
96
+ margin-inline-start: calc(2 * ${spacing});
97
+ }
98
+ &:last-child {
99
+ border-end-end-radius: calc(${baseRadius} * ${radius});
100
+ margin-inline-start: 0;
101
+ }
102
+ &:hover {
103
+ background-color: ${hoverColors.background};
104
+ }
105
+
106
+ @media (pointer: coarse) {
107
+ min-height: 2rem;
108
+ }
109
+ `;
110
+ });
111
+ StyledSuggestionButton.defaultProps = defaultThemeProp;
112
+ const statusIconMap = { error: 'warn-solid', warning: 'flag-wave-solid', success: 'check' };
66
113
  const FormField = forwardRef((props, ref) => {
67
114
  const uid = useUID();
68
- const { children: controlElement, id = uid, as = 'div', label, labelAs = 'label', labelFor = id, labelId, labelHidden = false, labelAfter = false, info, status, charLimitDisplay, required = false, disabled = false, readOnly = false, inline = false, actions, container, ...restProps } = props;
115
+ const { children: controlElement, id = uid, as = 'div', label, labelAs = 'label', labelFor = id, labelId, labelHidden = false, labelAfter = false, info, status, isRadioCheck, charLimitDisplay, required = false, disabled = false, readOnly = false, inline = false, actions, container, additionalInfo, onResolveSuggestion, ...restProps } = props;
116
+ const t = useI18n();
69
117
  const labelAsLegend = labelAs === 'legend';
70
- const styledLabel = (_jsxs(Label, { id: labelId, as: labelAs, htmlFor: labelAs === 'label' ? labelFor : undefined, labelHidden: labelHidden, onClick: (e) => {
71
- if (readOnly)
72
- e.preventDefault();
73
- }, inline: inline, children: [status && !labelHidden && (_jsx(StyledStatusIcon, { status: status, name: statusIconMap[status] })), label] }));
118
+ const hasSuggestion = status === 'pending' && !!onResolveSuggestion;
119
+ const consolidatedRef = useConsolidatedRef(ref);
120
+ const showAdditionalInfo = !!additionalInfo && !disabled && !labelHidden;
121
+ const labelAndInfo = (_jsxs(_Fragment, { children: [_jsxs(Label, { id: labelId, as: labelAs, htmlFor: labelAs === 'label' ? labelFor : undefined, labelHidden: labelHidden, onClick: (e) => {
122
+ if (readOnly)
123
+ e.preventDefault();
124
+ }, inline: inline, children: [status && status !== 'pending' && !labelHidden && (_jsx(StyledStatusIcon, { status: status, name: statusIconMap[status] })), label] }), showAdditionalInfo && (_jsx(AdditionalInfo, { heading: additionalInfo.heading, children: additionalInfo.content }))] }));
125
+ const labelRow = showAdditionalInfo && !isRadioCheck ? (_jsx(Flex, { as: StyledLabelRow, container: { justify: 'between', alignItems: 'end' }, item: { alignSelf: 'stretch' }, children: labelAndInfo })) : (labelAndInfo);
74
126
  /*
75
127
  We have to use an internal state and an effect to set the text value of info after the DOM element is rendered.
76
128
  This is to ensure screen readers will announce info on errors when role is set to alert.
@@ -103,11 +155,30 @@ const FormField = forwardRef((props, ref) => {
103
155
  if (charLimitDisplay) {
104
156
  infoContent = (_jsxs(Flex, { container: { justify: infoContent ? 'between' : 'end', gap: 1 }, children: [infoContent, _jsx(Flex, { item: { shrink: 0 }, children: charLimitDisplay })] }));
105
157
  }
158
+ if (hasSuggestion) {
159
+ const focusables = getFocusables(consolidatedRef);
160
+ infoContent = (_jsxs(Flex, { container: { alignItems: 'start', justify: 'between' }, children: [_jsxs(StyledFormFieldInfo, { status: status, id: `${id}-info`, children: [t('suggestion_info'), _jsx(VisuallyHiddenText, { "aria-live": 'polite', children: t('suggestion_assist') })] }), _jsxs(Flex, { container: { wrap: 'nowrap' }, children: [_jsx(StyledSuggestionButton, { onClick: () => {
161
+ onResolveSuggestion(false);
162
+ focusables[0]?.focus();
163
+ }, "aria-label": t('reject_suggestion_button_a11y'), children: t('no') }), _jsx(StyledSuggestionButton, { onClick: () => {
164
+ onResolveSuggestion(true);
165
+ focusables[0]?.focus();
166
+ }, "aria-label": t('accept_suggestion_button_a11y'), children: t('yes') })] })] }));
167
+ }
168
+ const onKeyDown = (e) => {
169
+ if (e.key === 'Enter') {
170
+ const target = e.target;
171
+ if (!target.closest('button')) {
172
+ e.preventDefault();
173
+ onResolveSuggestion?.(true);
174
+ }
175
+ }
176
+ };
106
177
  return (_jsxs(Flex, { ...restProps, container: {
107
178
  direction: inline ? 'row' : 'column',
108
179
  alignItems: inline ? 'center' : undefined,
109
180
  ...container
110
- }, as: StyledFormField, id: `${id}-field`, forwardedAs: as, required: required, disabled: disabled, readOnly: readOnly, "aria-describedby": labelAsLegend && info ? `${id}-info` : undefined, ref: ref, children: [(labelAsLegend || !labelAfter) && styledLabel, content, !labelAsLegend && labelAfter && styledLabel, infoContent] }));
181
+ }, as: StyledFormField, id: `${id}-field`, forwardedAs: as, required: required, disabled: disabled, readOnly: readOnly, onKeyDown: hasSuggestion ? onKeyDown : undefined, "aria-describedby": labelAsLegend && info ? `${id}-info` : undefined, ref: consolidatedRef, children: [(labelAsLegend || !labelAfter) && labelRow, content, !labelAsLegend && labelAfter && labelRow, !readOnly && infoContent] }));
111
182
  });
112
183
  export default FormField;
113
184
  //# sourceMappingURL=FormField.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n FC,\n ReactNode,\n ComponentType,\n cloneElement,\n ReactElement,\n useEffect,\n useState,\n PropsWithoutRef,\n forwardRef,\n Ref\n} from 'react';\nimport styled, { css } from 'styled-components';\n\nimport { defaultThemeProp } from '../../theme';\nimport { Action, ForwardProps, OmitStrict } from '../../types';\nimport Flex, { FlexProps } from '../Flex';\nimport Actions from '../Actions';\nimport { FormControlProps } from '../FormControl';\nimport { useUID } from '../../hooks';\nimport Label, { LabelProps, StyledLabel } from '../Label';\nimport { calculateFontSize } from '../../styles';\nimport Icon from '../Icon';\n\nexport interface FormFieldProps\n extends OmitStrict<FormControlProps, 'placeholder' | 'value' | 'defaultValue'> {\n /** Pass a single form control component i.e. Input | TextArea | Select | etc.. */\n children: ReactElement | ReactElement[];\n /**\n * An id is required to connect a FormField's wrapping element, control element and info(aria-describedby) live region.\n * A random id will be generated if none is provided.\n * Since MOST FormControls should possess an id(excl. i.e RadioCheckGroup and others) this can be used.\n * The id prop will be used to generate the following:\n * - FormControl <-> Label association via a Label's htmlFor prop.\n * - FormField's wrapping element id {id}-field.\n * - FormField info element id ${id}-info.\n */\n id?: string;\n /**\n * Determines how the wrapping label should be rendered.\n * @default \"label\"\n */\n labelAs?: LabelProps['as'];\n /**\n * Overrides the for attribute on the label. If this is not set it will default to the forms id.\n * @default undefined\n */\n labelFor?: LabelProps['htmlFor'];\n /**\n * Sets the id of the label.\n * @default undefined\n */\n labelId?: LabelProps['id'];\n /**\n * Visually hides the label region.\n * @default false\n */\n labelHidden?: boolean;\n /**\n * Visually places the label after the input.\n * @default false\n */\n labelAfter?: boolean;\n /**\n * Wrapping HTML element tag. Renders as a fieldset for grouped elements i.e. RadioButtons/CheckboxGroup\n * @default \"div\"\n */\n as?: 'div' | 'fieldset' | ComponentType<any>;\n /**\n * Layout field elements inline in a row.\n * @default false\n */\n inline?: boolean;\n /** Optionally utilized by Input or Select. */\n actions?: Action[];\n /** Enables Flex container prop pass through. */\n container?: Exclude<FlexProps['container'], boolean>;\n /** Character remaining count. Typically used on Textareas only */\n charLimitDisplay?: ReactNode;\n}\n\nconst StyledStatusIcon = styled(Icon)<{ status: NonNullable<FormFieldProps['status']> }>(\n ({ theme, status }) => {\n return css`\n height: 1em;\n width: 1em;\n color: ${theme.components['form-field'][status]['status-color']};\n vertical-align: baseline;\n margin-inline-end: 0.5ch;\n `;\n }\n);\n\nStyledStatusIcon.defaultProps = defaultThemeProp;\n\nexport const StyledFormFieldInfo = styled.div<Pick<FormControlProps, 'status'>>(\n ({\n status,\n theme: {\n base: { 'font-size': fontSize, 'font-scale': fontScale, spacing },\n components: { 'form-field': formField }\n }\n }) => {\n const { xxs: infoFontSize } = calculateFontSize(fontSize, fontScale);\n\n return css`\n max-width: max-content;\n margin-top: calc(0.25 * ${spacing});\n font-size: ${infoFontSize};\n word-break: break-word;\n ${status &&\n formField[status] &&\n css`\n color: ${formField[status]['status-color']};\n `}\n `;\n }\n);\n\nStyledFormFieldInfo.defaultProps = defaultThemeProp;\n\nexport const StyledFormField = styled.div<FormFieldProps>(props => {\n const {\n disabled,\n required,\n theme: {\n base: {\n palette: { urgent },\n 'disabled-opacity': disabledOpacity,\n spacing\n }\n }\n } = props;\n\n return css`\n ${disabled &&\n css`\n opacity: ${disabledOpacity};\n -webkit-user-select: none;\n user-select: none;\n `}\n position: relative;\n border: 0;\n\n > ${StyledLabel} {\n margin-bottom: calc(0.25 * ${spacing});\n ${disabled &&\n css`\n cursor: not-allowed;\n `}\n\n &::after {\n display: ${required ? 'inline' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n }\n `;\n});\n\nStyledFormField.defaultProps = defaultThemeProp;\n\nconst statusIconMap = { error: 'warn-solid', warning: 'warn', success: 'check' };\n\nconst FormField: FC<FormFieldProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<FormFieldProps>, ref: Ref<HTMLElement>) => {\n const uid = useUID();\n const {\n children: controlElement,\n id = uid,\n as = 'div',\n label,\n labelAs = 'label',\n labelFor = id,\n labelId,\n labelHidden = false,\n labelAfter = false,\n info,\n status,\n charLimitDisplay,\n required = false,\n disabled = false,\n readOnly = false,\n inline = false,\n actions,\n container,\n ...restProps\n } = props;\n\n const labelAsLegend: boolean = labelAs === 'legend';\n\n const styledLabel = (\n <Label\n id={labelId}\n as={labelAs}\n htmlFor={labelAs === 'label' ? labelFor : undefined}\n labelHidden={labelHidden}\n onClick={(e: MouseEvent) => {\n if (readOnly) e.preventDefault();\n }}\n inline={inline}\n >\n {status && !labelHidden && (\n <StyledStatusIcon status={status} name={statusIconMap[status]} />\n )}\n {label}\n </Label>\n );\n\n /*\n We have to use an internal state and an effect to set the text value of info after the DOM element is rendered.\n This is to ensure screen readers will announce info on errors when role is set to alert.\n Needs testing to confirm. Currently the expected sequence would be:\n - FormField renders with no error and no info\n - user input triggers an error status\n - props passed set error status and provide info text\n - effect runs and sets live region state which renders and is announced\n */\n const [liveRegionInfo, setLiveRegionInfo] = useState<ReactNode>(null);\n\n useEffect(() => {\n setLiveRegionInfo(info);\n }, [info]);\n\n // fieldset or single form control element\n let content: FormFieldProps['children'] = labelAsLegend\n ? controlElement\n : cloneElement(controlElement as ReactElement, {\n 'aria-describedby': info && `${id}-info`\n });\n\n if (actions) {\n content = (\n <Flex container={{ alignItems: 'center', gap: 0.5 }}>\n {content}\n <Actions items={actions} menuAt={3} />\n </Flex>\n );\n }\n\n let infoContent = info ? (\n /*\n Region for additional info, help or error message.\n Withholding aria-live=\"assertive\" to avoid iOS issue. See below.\n https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions#Preferring_specialized_live_region_roles\n */\n <StyledFormFieldInfo\n status={status}\n role={status === 'error' || status === 'warning' ? 'alert' : undefined}\n id={`${id}-info`}\n >\n {liveRegionInfo}\n </StyledFormFieldInfo>\n ) : undefined;\n\n if (charLimitDisplay) {\n infoContent = (\n <Flex container={{ justify: infoContent ? 'between' : 'end', gap: 1 }}>\n {infoContent}\n <Flex item={{ shrink: 0 }}>{charLimitDisplay}</Flex>\n </Flex>\n );\n }\n\n return (\n <Flex\n {...restProps}\n container={{\n direction: inline ? 'row' : 'column',\n alignItems: inline ? 'center' : undefined,\n ...container\n }}\n as={StyledFormField}\n id={`${id}-field`}\n forwardedAs={as}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n aria-describedby={labelAsLegend && info ? `${id}-info` : undefined}\n ref={ref}\n >\n {(labelAsLegend || !labelAfter) && styledLabel}\n {content}\n {!labelAsLegend && labelAfter && styledLabel}\n {infoContent}\n </Flex>\n );\n }\n);\n\nexport default FormField;\n"]}
1
+ {"version":3,"file":"FormField.js","sourceRoot":"","sources":["../../../src/components/FormField/FormField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAIL,YAAY,EAEZ,SAAS,EACT,QAAQ,EAER,UAAU,EAEX,MAAM,OAAO,CAAC;AACf,OAAO,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE/C,OAAO,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AAE/C,OAAO,IAAmB,MAAM,SAAS,CAAC;AAC1C,OAAO,OAAO,MAAM,YAAY,CAAC;AAEjC,OAAO,EAAE,kBAAkB,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAClE,OAAO,KAAK,EAAE,EAAc,WAAW,EAAE,MAAM,UAAU,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,cAAc,CAAC;AACjE,OAAO,kBAAkB,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,MAAM,MAAM,WAAW,CAAC;AAC/B,OAAO,IAAI,EAAE,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC7C,OAAO,KAAK,aAAa,MAAM,+BAA+B,CAAC;AAC/D,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAC;AACxE,OAAO,KAAK,SAAS,MAAM,0BAA0B,CAAC;AACtD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAE/C,YAAY,CAAC,aAAa,EAAE,iBAAiB,EAAE,SAAS,CAAC,CAAC;AAgE1D,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,CACnC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE;IACpB,OAAO,GAAG,CAAA;;;eAGC,KAAK,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC;;;KAGhE,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,gBAAgB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEjD,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAC3C,CAAC,EACC,MAAM,EACN,KAAK,EAAE,EACL,IAAI,EAAE,EAAE,WAAW,EAAE,QAAQ,EAAE,YAAY,EAAE,SAAS,EAAE,OAAO,EAAE,EACjE,UAAU,EAAE,EAAE,YAAY,EAAE,SAAS,EAAE,EACxC,EACF,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IAErE,OAAO,GAAG,CAAA;;gCAEkB,OAAO;mBACpB,YAAY;;QAEvB,MAAM;QACR,SAAS,CAAC,MAAM,CAAC;QACjB,GAAG,CAAA;iBACQ,SAAS,CAAC,MAAM,CAAC,CAAC,cAAc,CAAC;OAC3C;KACF,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,mBAAmB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEpD,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAA,EAAE,CAAC;AAEpC,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,GAAG,CAAiB,KAAK,CAAC,EAAE;IAChE,MAAM,EACJ,QAAQ,EACR,QAAQ,EACR,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,OAAO,EAAE,EAAE,MAAM,EAAE,EACnB,kBAAkB,EAAE,eAAe,EACnC,OAAO,EACR,EACF,EACF,GAAG,KAAK,CAAC;IAEV,OAAO,GAAG,CAAA;MACN,QAAQ;QACV,GAAG,CAAA;iBACU,eAAe;;;KAG3B;;;;QAIG,WAAW,OAAO,cAAc;mCACL,OAAO;;;QAGlC,WAAW,OAAO,cAAc,MAAM,WAAW;;mBAEtC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM;;;iBAG9B,MAAM;;;QAGf,QAAQ;QACV,GAAG,CAAA;;OAEF;;GAEJ,CAAC;AACJ,CAAC,CAAC,CAAC;AAEH,eAAe,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEhD,MAAM,sBAAsB,GAAG,MAAM,CAAC,MAAM,CAAC,CAC3C,CAAC,EACC,KAAK,EAAE,EACL,IAAI,EAAE,EACJ,WAAW,EAAE,QAAQ,EACrB,YAAY,EAAE,SAAS,EACvB,eAAe,EAAE,UAAU,EAC3B,OAAO,EACR,EACD,UAAU,EAAE,EACV,cAAc,EAAE,EAAE,eAAe,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,EACxE,YAAY,EAAE,SAAS,EACxB,EACF,EACF,EAAE,EAAE;IACH,MAAM,EAAE,GAAG,EAAE,cAAc,EAAE,GAAG,iBAAiB,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACvE,MAAM,eAAe,GAAG,SAAS,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;IACpD,MAAM,KAAK,GAAG,QAAQ,CAAC,GAAG,EAAE,CAAC,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC;IAC7D,MAAM,WAAW,GAAG,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;IAErD,OAAO,GAAG,CAAA;0BACY,eAAe;eAC1B,KAAK;mBACD,cAAc;4BACL,OAAO;6BACN,OAAO;mBACjB,OAAO;;;;6BAIG,WAAW,UAAU,WAAW;wCACrB,UAAU,MAAM,MAAM;wCACtB,OAAO;;;sCAGT,UAAU,MAAM,MAAM;;;;4BAIhC,WAAW,CAAC,UAAU;;;;;;KAM7C,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,sBAAsB,CAAC,YAAY,GAAG,gBAAgB,CAAC;AAEvD,MAAM,aAAa,GAAG,EAAE,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,iBAAiB,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;AAE5F,MAAM,SAAS,GAAsC,UAAU,CAC7D,CAAC,KAAsC,EAAE,GAAqB,EAAE,EAAE;IAChE,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC;IACrB,MAAM,EACJ,QAAQ,EAAE,cAAc,EACxB,EAAE,GAAG,GAAG,EACR,EAAE,GAAG,KAAK,EACV,KAAK,EACL,OAAO,GAAG,OAAO,EACjB,QAAQ,GAAG,EAAE,EACb,OAAO,EACP,WAAW,GAAG,KAAK,EACnB,UAAU,GAAG,KAAK,EAClB,IAAI,EACJ,MAAM,EACN,YAAY,EACZ,gBAAgB,EAChB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,QAAQ,GAAG,KAAK,EAChB,MAAM,GAAG,KAAK,EACd,OAAO,EACP,SAAS,EACT,cAAc,EACd,mBAAmB,EACnB,GAAG,SAAS,EACb,GAAG,KAAK,CAAC;IACV,MAAM,CAAC,GAAG,OAAO,EAAE,CAAC;IACpB,MAAM,aAAa,GAAY,OAAO,KAAK,QAAQ,CAAC;IACpD,MAAM,aAAa,GAAG,MAAM,KAAK,SAAS,IAAI,CAAC,CAAC,mBAAmB,CAAC;IACpE,MAAM,eAAe,GAAG,kBAAkB,CAAC,GAAG,CAAC,CAAC;IAEhD,MAAM,kBAAkB,GAAG,CAAC,CAAC,cAAc,IAAI,CAAC,QAAQ,IAAI,CAAC,WAAW,CAAC;IAEzE,MAAM,YAAY,GAAG,CACnB,8BACE,MAAC,KAAK,IACJ,EAAE,EAAE,OAAO,EACX,EAAE,EAAE,OAAO,EACX,OAAO,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACnD,WAAW,EAAE,WAAW,EACxB,OAAO,EAAE,CAAC,CAAa,EAAE,EAAE;oBACzB,IAAI,QAAQ;wBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnC,CAAC,EACD,MAAM,EAAE,MAAM,aAEb,MAAM,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,WAAW,IAAI,CACjD,KAAC,gBAAgB,IAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,aAAa,CAAC,MAAM,CAAC,GAAI,CAClE,EACA,KAAK,IACA,EACP,kBAAkB,IAAI,CACrB,KAAC,cAAc,IAAC,OAAO,EAAE,cAAc,CAAC,OAAO,YAAG,cAAc,CAAC,OAAO,GAAkB,CAC3F,IACA,CACJ,CAAC;IAEF,MAAM,QAAQ,GACZ,kBAAkB,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CACpC,KAAC,IAAI,IACH,EAAE,EAAE,cAAc,EAClB,SAAS,EAAE,EAAE,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,KAAK,EAAE,EACpD,IAAI,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,YAE7B,YAAY,GACR,CACR,CAAC,CAAC,CAAC,CACF,YAAY,CACb,CAAC;IAEJ;;;;;;;;MAQE;IACF,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,QAAQ,CAAY,IAAI,CAAC,CAAC;IAEtE,SAAS,CAAC,GAAG,EAAE;QACb,iBAAiB,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,0CAA0C;IAC1C,IAAI,OAAO,GAA+B,aAAa;QACrD,CAAC,CAAC,cAAc;QAChB,CAAC,CAAC,YAAY,CAAC,cAA8B,EAAE;YAC3C,kBAAkB,EAAE,IAAI,IAAI,GAAG,EAAE,OAAO;SACzC,CAAC,CAAC;IAEP,IAAI,OAAO,EAAE;QACX,OAAO,GAAG,CACR,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,GAAG,EAAE,aAChD,OAAO,EACR,KAAC,OAAO,IAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,GAAI,IACjC,CACR,CAAC;KACH;IAED,IAAI,WAAW,GAAG,IAAI,CAAC,CAAC,CAAC;IACvB;;;;MAIE;IACF,KAAC,mBAAmB,IAClB,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,KAAK,OAAO,IAAI,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,EACtE,EAAE,EAAE,GAAG,EAAE,OAAO,YAEf,cAAc,GACK,CACvB,CAAC,CAAC,CAAC,SAAS,CAAC;IAEd,IAAI,gBAAgB,EAAE;QACpB,WAAW,GAAG,CACZ,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,aAClE,WAAW,EACZ,KAAC,IAAI,IAAC,IAAI,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YAAG,gBAAgB,GAAQ,IAC/C,CACR,CAAC;KACH;IAED,IAAI,aAAa,EAAE;QACjB,MAAM,UAAU,GAAG,aAAa,CAAC,eAAe,CAAC,CAAC;QAClD,WAAW,GAAG,CACZ,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,aAC1D,MAAC,mBAAmB,IAAC,MAAM,EAAE,MAAM,EAAE,EAAE,EAAE,GAAG,EAAE,OAAO,aAClD,CAAC,CAAC,iBAAiB,CAAC,EACrB,KAAC,kBAAkB,iBAAW,QAAQ,YAAE,CAAC,CAAC,mBAAmB,CAAC,GAAsB,IAChE,EACtB,MAAC,IAAI,IAAC,SAAS,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,aACjC,KAAC,sBAAsB,IACrB,OAAO,EAAE,GAAG,EAAE;gCACZ,mBAAmB,CAAC,KAAK,CAAC,CAAC;gCAC3B,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;4BACzB,CAAC,gBACW,CAAC,CAAC,+BAA+B,CAAC,YAE7C,CAAC,CAAC,IAAI,CAAC,GACe,EACzB,KAAC,sBAAsB,IACrB,OAAO,EAAE,GAAG,EAAE;gCACZ,mBAAmB,CAAC,IAAI,CAAC,CAAC;gCAC1B,UAAU,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;4BACzB,CAAC,gBACW,CAAC,CAAC,+BAA+B,CAAC,YAE7C,CAAC,CAAC,KAAK,CAAC,GACc,IACpB,IACF,CACR,CAAC;KACH;IAED,MAAM,SAAS,GAAG,CAAC,CAAgB,EAAE,EAAE;QACrC,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO,EAAE;YACrB,MAAM,MAAM,GAAG,CAAC,CAAC,MAAqB,CAAC;YACvC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;gBAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;gBACnB,mBAAmB,EAAE,CAAC,IAAI,CAAC,CAAC;aAC7B;SACF;IACH,CAAC,CAAC;IAEF,OAAO,CACL,MAAC,IAAI,OACC,SAAS,EACb,SAAS,EAAE;YACT,SAAS,EAAE,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ;YACpC,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS;YACzC,GAAG,SAAS;SACb,EACD,EAAE,EAAE,eAAe,EACnB,EAAE,EAAE,GAAG,EAAE,QAAQ,EACjB,WAAW,EAAE,EAAE,EACf,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,QAAQ,EAAE,QAAQ,EAClB,SAAS,EAAE,aAAa,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,sBAC9B,aAAa,IAAI,IAAI,CAAC,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,CAAC,SAAS,EAClE,GAAG,EAAE,eAAe,aAEnB,CAAC,aAAa,IAAI,CAAC,UAAU,CAAC,IAAI,QAAQ,EAC1C,OAAO,EACP,CAAC,aAAa,IAAI,UAAU,IAAI,QAAQ,EACxC,CAAC,QAAQ,IAAI,WAAW,IACpB,CACR,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,SAAS,CAAC","sourcesContent":["import {\n FC,\n ReactNode,\n ComponentType,\n cloneElement,\n ReactElement,\n useEffect,\n useState,\n PropsWithoutRef,\n forwardRef,\n Ref\n} from 'react';\nimport styled, { css } from 'styled-components';\nimport { readableColor, rgba } from 'polished';\n\nimport { defaultThemeProp } from '../../theme';\nimport { Action, ForwardProps, OmitStrict } from '../../types';\nimport Flex, { FlexProps } from '../Flex';\nimport Actions from '../Actions';\nimport { FormControlProps } from '../FormControl';\nimport { useConsolidatedRef, useI18n, useUID } from '../../hooks';\nimport Label, { LabelProps, StyledLabel } from '../Label';\nimport { calculateFontSize, getHoverColors } from '../../styles';\nimport VisuallyHiddenText from '../VisuallyHiddenText';\nimport { getFocusables, tryCatch } from '../../utils';\nimport Button from '../Button';\nimport Icon, { registerIcon } from '../Icon';\nimport * as warnSolidIcon from '../Icon/icons/warn-solid.icon';\nimport * as flagWaveSolidIcon from '../Icon/icons/flag-wave-solid.icon';\nimport * as checkIcon from '../Icon/icons/check.icon';\nimport AdditionalInfo from '../AdditionalInfo';\n\nregisterIcon(warnSolidIcon, flagWaveSolidIcon, checkIcon);\n\nexport interface FormFieldProps\n extends OmitStrict<FormControlProps, 'placeholder' | 'value' | 'defaultValue'> {\n /** Pass a single form control component i.e. Input | TextArea | Select | etc.. */\n children: ReactElement | ReactElement[];\n /**\n * An id is required to connect a FormField's wrapping element, control element and info(aria-describedby) live region.\n * A random id will be generated if none is provided.\n * Since MOST FormControls should possess an id(excl. i.e RadioCheckGroup and others) this can be used.\n * The id prop will be used to generate the following:\n * - FormControl <-> Label association via a Label's htmlFor prop.\n * - FormField's wrapping element id {id}-field.\n * - FormField info element id ${id}-info.\n */\n id?: string;\n /**\n * Determines how the wrapping label should be rendered.\n * @default \"label\"\n */\n labelAs?: LabelProps['as'];\n /**\n * Overrides the for attribute on the label. If this is not set it will default to the forms id.\n * @default undefined\n */\n labelFor?: LabelProps['htmlFor'];\n /**\n * Sets the id of the label.\n * @default undefined\n */\n labelId?: LabelProps['id'];\n /**\n * Visually hides the label region.\n * @default false\n */\n labelHidden?: boolean;\n /**\n * Visually places the label after the input.\n * @default false\n */\n labelAfter?: boolean;\n /**\n * Property used to check whether input type is radio to handle styling for RadioCheck\n * @default false\n */\n isRadioCheck?: boolean;\n /**\n * Wrapping HTML element tag. Renders as a fieldset for grouped elements i.e. RadioButtons/CheckboxGroup\n * @default \"div\"\n */\n as?: 'div' | 'fieldset' | ComponentType<any>;\n /**\n * Layout field elements inline in a row.\n * @default false\n */\n inline?: boolean;\n /** Optionally utilized by Input or Select. */\n actions?: Action[];\n /** Enables Flex container prop pass through. */\n container?: Exclude<FlexProps['container'], boolean>;\n /** Character remaining count. Typically used on Textareas only */\n charLimitDisplay?: ReactNode;\n}\n\nconst StyledStatusIcon = styled(Icon)<{ status: NonNullable<FormFieldProps['status']> }>(\n ({ theme, status }) => {\n return css`\n height: 1em;\n width: 1em;\n color: ${theme.components['form-field'][status]['status-color']};\n vertical-align: baseline;\n margin-inline-end: 0.5ch;\n `;\n }\n);\n\nStyledStatusIcon.defaultProps = defaultThemeProp;\n\nexport const StyledFormFieldInfo = styled.div<Pick<FormControlProps, 'status'>>(\n ({\n status,\n theme: {\n base: { 'font-size': fontSize, 'font-scale': fontScale, spacing },\n components: { 'form-field': formField }\n }\n }) => {\n const { xxs: infoFontSize } = calculateFontSize(fontSize, fontScale);\n\n return css`\n max-width: max-content;\n margin-top: calc(0.25 * ${spacing});\n font-size: ${infoFontSize};\n word-break: break-word;\n ${status &&\n formField[status] &&\n css`\n color: ${formField[status]['status-color']};\n `}\n `;\n }\n);\n\nStyledFormFieldInfo.defaultProps = defaultThemeProp;\n\nconst StyledLabelRow = styled.div``;\n\nexport const StyledFormField = styled.div<FormFieldProps>(props => {\n const {\n disabled,\n required,\n theme: {\n base: {\n palette: { urgent },\n 'disabled-opacity': disabledOpacity,\n spacing\n }\n }\n } = props;\n\n return css`\n ${disabled &&\n css`\n opacity: ${disabledOpacity};\n -webkit-user-select: none;\n user-select: none;\n `}\n position: relative;\n border: 0;\n\n > ${StyledLabel}, > ${StyledLabelRow} {\n margin-bottom: calc(0.25 * ${spacing});\n }\n\n > ${StyledLabel}, > ${StyledLabelRow} > ${StyledLabel} {\n &::after {\n display: ${required ? 'inline' : 'none'};\n content: '\\\\00a0*';\n vertical-align: top;\n color: ${urgent};\n }\n\n ${disabled &&\n css`\n cursor: not-allowed;\n `}\n }\n `;\n});\n\nStyledFormField.defaultProps = defaultThemeProp;\n\nconst StyledSuggestionButton = styled(Button)(\n ({\n theme: {\n base: {\n 'font-size': fontSize,\n 'font-scale': fontScale,\n 'border-radius': baseRadius,\n spacing\n },\n components: {\n 'form-control': { 'border-radius': radius, 'border-width': borderWidth },\n 'form-field': formField\n }\n }\n }) => {\n const { xxs: buttonFontSize } = calculateFontSize(fontSize, fontScale);\n const backgroundColor = formField.pending['status-color'];\n const hoverColors = getHoverColors(backgroundColor);\n const color = tryCatch(() => readableColor(backgroundColor));\n const borderColor = color ? rgba(color, 0.4) : color;\n\n return css`\n background-color: ${backgroundColor};\n color: ${color};\n font-size: ${buttonFontSize};\n min-width: calc(3 * ${spacing});\n min-height: calc(3 * ${spacing});\n padding: 0 ${spacing};\n border-radius: 0;\n border: none;\n &:first-child {\n border-inline-end: ${borderWidth} solid ${borderColor};\n border-end-start-radius: calc(${baseRadius} * ${radius});\n margin-inline-start: calc(2 * ${spacing});\n }\n &:last-child {\n border-end-end-radius: calc(${baseRadius} * ${radius});\n margin-inline-start: 0;\n }\n &:hover {\n background-color: ${hoverColors.background};\n }\n\n @media (pointer: coarse) {\n min-height: 2rem;\n }\n `;\n }\n);\n\nStyledSuggestionButton.defaultProps = defaultThemeProp;\n\nconst statusIconMap = { error: 'warn-solid', warning: 'flag-wave-solid', success: 'check' };\n\nconst FormField: FC<FormFieldProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<FormFieldProps>, ref: Ref<HTMLElement>) => {\n const uid = useUID();\n const {\n children: controlElement,\n id = uid,\n as = 'div',\n label,\n labelAs = 'label',\n labelFor = id,\n labelId,\n labelHidden = false,\n labelAfter = false,\n info,\n status,\n isRadioCheck,\n charLimitDisplay,\n required = false,\n disabled = false,\n readOnly = false,\n inline = false,\n actions,\n container,\n additionalInfo,\n onResolveSuggestion,\n ...restProps\n } = props;\n const t = useI18n();\n const labelAsLegend: boolean = labelAs === 'legend';\n const hasSuggestion = status === 'pending' && !!onResolveSuggestion;\n const consolidatedRef = useConsolidatedRef(ref);\n\n const showAdditionalInfo = !!additionalInfo && !disabled && !labelHidden;\n\n const labelAndInfo = (\n <>\n <Label\n id={labelId}\n as={labelAs}\n htmlFor={labelAs === 'label' ? labelFor : undefined}\n labelHidden={labelHidden}\n onClick={(e: MouseEvent) => {\n if (readOnly) e.preventDefault();\n }}\n inline={inline}\n >\n {status && status !== 'pending' && !labelHidden && (\n <StyledStatusIcon status={status} name={statusIconMap[status]} />\n )}\n {label}\n </Label>\n {showAdditionalInfo && (\n <AdditionalInfo heading={additionalInfo.heading}>{additionalInfo.content}</AdditionalInfo>\n )}\n </>\n );\n\n const labelRow =\n showAdditionalInfo && !isRadioCheck ? (\n <Flex\n as={StyledLabelRow}\n container={{ justify: 'between', alignItems: 'end' }}\n item={{ alignSelf: 'stretch' }}\n >\n {labelAndInfo}\n </Flex>\n ) : (\n labelAndInfo\n );\n\n /*\n We have to use an internal state and an effect to set the text value of info after the DOM element is rendered.\n This is to ensure screen readers will announce info on errors when role is set to alert.\n Needs testing to confirm. Currently the expected sequence would be:\n - FormField renders with no error and no info\n - user input triggers an error status\n - props passed set error status and provide info text\n - effect runs and sets live region state which renders and is announced\n */\n const [liveRegionInfo, setLiveRegionInfo] = useState<ReactNode>(null);\n\n useEffect(() => {\n setLiveRegionInfo(info);\n }, [info]);\n\n // fieldset or single form control element\n let content: FormFieldProps['children'] = labelAsLegend\n ? controlElement\n : cloneElement(controlElement as ReactElement, {\n 'aria-describedby': info && `${id}-info`\n });\n\n if (actions) {\n content = (\n <Flex container={{ alignItems: 'center', gap: 0.5 }}>\n {content}\n <Actions items={actions} menuAt={3} />\n </Flex>\n );\n }\n\n let infoContent = info ? (\n /*\n Region for additional info, help or error message.\n Withholding aria-live=\"assertive\" to avoid iOS issue. See below.\n https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA/ARIA_Live_Regions#Preferring_specialized_live_region_roles\n */\n <StyledFormFieldInfo\n status={status}\n role={status === 'error' || status === 'warning' ? 'alert' : undefined}\n id={`${id}-info`}\n >\n {liveRegionInfo}\n </StyledFormFieldInfo>\n ) : undefined;\n\n if (charLimitDisplay) {\n infoContent = (\n <Flex container={{ justify: infoContent ? 'between' : 'end', gap: 1 }}>\n {infoContent}\n <Flex item={{ shrink: 0 }}>{charLimitDisplay}</Flex>\n </Flex>\n );\n }\n\n if (hasSuggestion) {\n const focusables = getFocusables(consolidatedRef);\n infoContent = (\n <Flex container={{ alignItems: 'start', justify: 'between' }}>\n <StyledFormFieldInfo status={status} id={`${id}-info`}>\n {t('suggestion_info')}\n <VisuallyHiddenText aria-live='polite'>{t('suggestion_assist')}</VisuallyHiddenText>\n </StyledFormFieldInfo>\n <Flex container={{ wrap: 'nowrap' }}>\n <StyledSuggestionButton\n onClick={() => {\n onResolveSuggestion(false);\n focusables[0]?.focus();\n }}\n aria-label={t('reject_suggestion_button_a11y')}\n >\n {t('no')}\n </StyledSuggestionButton>\n <StyledSuggestionButton\n onClick={() => {\n onResolveSuggestion(true);\n focusables[0]?.focus();\n }}\n aria-label={t('accept_suggestion_button_a11y')}\n >\n {t('yes')}\n </StyledSuggestionButton>\n </Flex>\n </Flex>\n );\n }\n\n const onKeyDown = (e: KeyboardEvent) => {\n if (e.key === 'Enter') {\n const target = e.target as HTMLElement;\n if (!target.closest('button')) {\n e.preventDefault();\n onResolveSuggestion?.(true);\n }\n }\n };\n\n return (\n <Flex\n {...restProps}\n container={{\n direction: inline ? 'row' : 'column',\n alignItems: inline ? 'center' : undefined,\n ...container\n }}\n as={StyledFormField}\n id={`${id}-field`}\n forwardedAs={as}\n required={required}\n disabled={disabled}\n readOnly={readOnly}\n onKeyDown={hasSuggestion ? onKeyDown : undefined}\n aria-describedby={labelAsLegend && info ? `${id}-info` : undefined}\n ref={consolidatedRef}\n >\n {(labelAsLegend || !labelAfter) && labelRow}\n {content}\n {!labelAsLegend && labelAfter && labelRow}\n {!readOnly && infoContent}\n </Flex>\n );\n }\n);\n\nexport default FormField;\n"]}
@@ -1,7 +1,7 @@
1
1
  import { FunctionComponent } from 'react';
2
2
  import { ForwardProps } from '../../types';
3
3
  import GridProps from './Grid.types';
4
- export declare const StyledGrid: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, GridProps, never>;
4
+ export declare const StyledGrid: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, {} & GridProps, never>;
5
5
  declare const Grid: FunctionComponent<GridProps & ForwardProps>;
6
6
  export default Grid;
7
7
  //# sourceMappingURL=Grid.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../src/components/Grid/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,SAAS,MAAM,cAAc,CAAC;AA2LrC,eAAO,MAAM,UAAU,gHAqCtB,CAAC;AAIF,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CAIrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Grid.d.ts","sourceRoot":"","sources":["../../../src/components/Grid/Grid.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAmB,MAAM,OAAO,CAAC;AAGvE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,SAAS,MAAM,cAAc,CAAC;AA2LrC,eAAO,MAAM,UAAU,qHAqCtB,CAAC;AAIF,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CAIrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,5 +1,5 @@
1
1
  import { ReactNode, Ref } from 'react';
2
- import { BaseProps, AsProp } from '../../types';
2
+ import { BaseProps, AsProp, RequireAtLeastOne } from '../../types';
3
3
  export interface GridContainerProps {
4
4
  /**
5
5
  * Display the grid as an inline-grid.
@@ -84,27 +84,28 @@ export interface GridItemProps {
84
84
  */
85
85
  alignSelf?: 'stretch' | 'start' | 'end' | 'center';
86
86
  }
87
- interface BaseGridProps {
87
+ export interface BaseGridProps {
88
88
  /** Creates a [grid container.](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-display) */
89
89
  container?: GridContainerProps | true;
90
90
  /** Designate as a Grid item to leverage grid item props. */
91
91
  item?: GridItemProps;
92
92
  }
93
- export default interface GridProps extends BaseGridProps, BaseProps, AsProp {
93
+ declare type BreakpointGridProps = RequireAtLeastOne<BaseGridProps, 'container' | 'item'>;
94
+ declare type GridProps = RequireAtLeastOne<BaseGridProps & BaseProps & AsProp & {
94
95
  /** Any ReactNode to use as grid items. To leverage item based props, use Grid with "item" prop. */
95
96
  children?: ReactNode;
96
97
  /** Ref for the grid element. */
97
98
  ref?: Ref<Element>;
98
99
  /** Override props for the grid at extra small screen size. */
99
- xs?: BaseGridProps;
100
+ xs?: BreakpointGridProps;
100
101
  /** Override props for the grid at small screen size. */
101
- sm?: BaseGridProps;
102
+ sm?: BreakpointGridProps;
102
103
  /** Override props for the grid at medium screen size. */
103
- md?: BaseGridProps;
104
+ md?: BreakpointGridProps;
104
105
  /** Override props for the grid at large screen size. */
105
- lg?: BaseGridProps;
106
+ lg?: BreakpointGridProps;
106
107
  /** Override props for the grid at extra large screen size. */
107
- xl?: BaseGridProps;
108
- }
109
- export {};
108
+ xl?: BreakpointGridProps;
109
+ }, 'container' | 'item' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'>;
110
+ export default GridProps;
110
111
  //# sourceMappingURL=Grid.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.types.d.ts","sourceRoot":"","sources":["../../../src/components/Grid/Grid.types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Grid.types.d.ts","sourceRoot":"","sources":["../../../src/components/Grid/Grid.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEnE,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,yHAAyH;IACzH,GAAG,CAAC,EACA,MAAM,GACN,CAAC,kBAAkB,EAAE,MAAM,CAAC,GAC5B,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,CAAC,GACtC,CAAC,GAAG,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,GAChD,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IAC/D,wHAAwH;IACxH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gHAAgH;IAChH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qHAAqH;IACrH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6GAA6G;IAC7G,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,qGAAqG;IACrG,QAAQ,CAAC,EAAE,KAAK,GAAG,QAAQ,GAAG,WAAW,GAAG,cAAc,CAAC;IAC3D,8GAA8G;IAC9G,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mGAAmG;IACnG,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;;OAGG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACtD;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;IAC1F;;;OAGG;IACH,UAAU,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACpD;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,QAAQ,CAAC;CACzF;AAED,MAAM,WAAW,aAAa;IAC5B,mHAAmH;IACnH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iHAAiH;IACjH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mGAAmG;IACnG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gHAAgH;IAChH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,8GAA8G;IAC9G,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gGAAgG;IAChG,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,2FAA2F;IAC3F,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,WAAW,CAAC,EAAE,OAAO,GAAG,KAAK,GAAG,QAAQ,GAAG,SAAS,CAAC;IACrD;;;OAGG;IACH,SAAS,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;CACpD;AAED,MAAM,WAAW,aAAa;IAC5B,yGAAyG;IACzG,SAAS,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACtC,4DAA4D;IAC5D,IAAI,CAAC,EAAE,aAAa,CAAC;CACtB;AAED,aAAK,mBAAmB,GAAG,iBAAiB,CAAC,aAAa,EAAE,WAAW,GAAG,MAAM,CAAC,CAAC;AAElF,aAAK,SAAS,GAAG,iBAAiB,CAChC,aAAa,GACX,SAAS,GACT,MAAM,GAAG;IACP,mGAAmG;IACnG,QAAQ,CAAC,EAAE,SAAS,CAAC;IACrB,gCAAgC;IAChC,GAAG,CAAC,EAAE,GAAG,CAAC,OAAO,CAAC,CAAC;IACnB,8DAA8D;IAC9D,EAAE,CAAC,EAAE,mBAAmB,CAAC;IACzB,wDAAwD;IACxD,EAAE,CAAC,EAAE,mBAAmB,CAAC;IACzB,yDAAyD;IACzD,EAAE,CAAC,EAAE,mBAAmB,CAAC;IACzB,wDAAwD;IACxD,EAAE,CAAC,EAAE,mBAAmB,CAAC;IACzB,8DAA8D;IAC9D,EAAE,CAAC,EAAE,mBAAmB,CAAC;CAC1B,EACH,WAAW,GAAG,MAAM,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CACxD,CAAC;AAEF,eAAe,SAAS,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"Grid.types.js","sourceRoot":"","sources":["../../../src/components/Grid/Grid.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ReactNode, Ref } from 'react';\n\nimport { BaseProps, AsProp } from '../../types';\n\nexport interface GridContainerProps {\n /**\n * Display the grid as an inline-grid.\n * @default false\n */\n inline?: boolean;\n /** Padding on the container represented as a multiplier or set of multipliers to the base spacing value in the theme. */\n pad?:\n | number\n | [topRightBottomLeft: number]\n | [topBottom: number, rightLeft: number]\n | [top: number, rightLeft: number, bottom: number]\n | [top: number, right: number, bottom: number, left: number];\n /** [grid-template-columns](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template-columns-rows) */\n cols?: string;\n /** [grid-auto-columns](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-auto-columns-rows) */\n autoCols?: string;\n /** [grid-template-rows](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template-columns-rows) */\n rows?: string;\n /** [grid-auto-rows](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-auto-columns-rows) */\n autoRows?: string;\n /** [grid-auto-flow](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-auto-flow) */\n autoFlow?: 'row' | 'column' | 'row dense' | 'column dense';\n /** [grid-template-area](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template-areas) */\n areas?: string;\n /** [grid-template](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template) */\n template?: string;\n /**\n * Defines how much equal space to place between columns represented as a multiplier to the base spacing value in the theme.\n * [column-gap](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-gap)\n */\n colGap?: number;\n /**\n * Defines how much equal space to place between rows represented as a multiplier to the base spacing value in the theme.\n * [row-gap](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-gap)\n */\n rowGap?: number;\n /**\n * Defines how much equal space to place between both rows and columns represented as a multiplier to the base spacing value in the theme.\n * [gap](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-gap)\n */\n gap?: number;\n /**\n * [justify-items](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-items)\n * @default \"stretch\"\n */\n justifyItems?: 'start' | 'end' | 'center' | 'stretch';\n /**\n * [justify-content](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-content)\n * @default \"start\"\n */\n justifyContent?: 'start' | 'end' | 'center' | 'stretch' | 'around' | 'between' | 'evenly';\n /**\n * [align-items](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-items)\n * @default \"stretch\"\n */\n alignItems?: 'stretch' | 'start' | 'end' | 'center';\n /**\n * [align-content](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-content)\n * @default \"start\"\n */\n alignContent?: 'start' | 'end' | 'center' | 'stretch' | 'around' | 'between' | 'evenly';\n}\n\nexport interface GridItemProps {\n /** [grid-column-start](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n colStart?: string;\n /** [grid-column-end](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n colEnd?: string;\n /** [grid-column](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row) */\n colStartEnd?: string;\n /** [grid-row-start](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n rowStart?: string;\n /** [grid-row-end](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n rowEnd?: string;\n /** [grid-row](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row) */\n rowStartEnd?: string;\n /** [grid-area](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-area) */\n area?: string;\n /**\n * [justify-self](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-self)\n * @default \"stretch\"\n */\n justifySelf?: 'start' | 'end' | 'center' | 'stretch';\n /**\n * [align-self](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-self)\n * @default \"stretch\"\n */\n alignSelf?: 'stretch' | 'start' | 'end' | 'center';\n}\n\ninterface BaseGridProps {\n /** Creates a [grid container.](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-display) */\n container?: GridContainerProps | true;\n /** Designate as a Grid item to leverage grid item props. */\n item?: GridItemProps;\n}\n\nexport default interface GridProps extends BaseGridProps, BaseProps, AsProp {\n /** Any ReactNode to use as grid items. To leverage item based props, use Grid with \"item\" prop. */\n children?: ReactNode;\n /** Ref for the grid element. */\n ref?: Ref<Element>;\n /** Override props for the grid at extra small screen size. */\n xs?: BaseGridProps;\n /** Override props for the grid at small screen size. */\n sm?: BaseGridProps;\n /** Override props for the grid at medium screen size. */\n md?: BaseGridProps;\n /** Override props for the grid at large screen size. */\n lg?: BaseGridProps;\n /** Override props for the grid at extra large screen size. */\n xl?: BaseGridProps;\n}\n"]}
1
+ {"version":3,"file":"Grid.types.js","sourceRoot":"","sources":["../../../src/components/Grid/Grid.types.ts"],"names":[],"mappings":"","sourcesContent":["import { ReactNode, Ref } from 'react';\n\nimport { BaseProps, AsProp, RequireAtLeastOne } from '../../types';\n\nexport interface GridContainerProps {\n /**\n * Display the grid as an inline-grid.\n * @default false\n */\n inline?: boolean;\n /** Padding on the container represented as a multiplier or set of multipliers to the base spacing value in the theme. */\n pad?:\n | number\n | [topRightBottomLeft: number]\n | [topBottom: number, rightLeft: number]\n | [top: number, rightLeft: number, bottom: number]\n | [top: number, right: number, bottom: number, left: number];\n /** [grid-template-columns](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template-columns-rows) */\n cols?: string;\n /** [grid-auto-columns](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-auto-columns-rows) */\n autoCols?: string;\n /** [grid-template-rows](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template-columns-rows) */\n rows?: string;\n /** [grid-auto-rows](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-auto-columns-rows) */\n autoRows?: string;\n /** [grid-auto-flow](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-auto-flow) */\n autoFlow?: 'row' | 'column' | 'row dense' | 'column dense';\n /** [grid-template-area](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template-areas) */\n areas?: string;\n /** [grid-template](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-template) */\n template?: string;\n /**\n * Defines how much equal space to place between columns represented as a multiplier to the base spacing value in the theme.\n * [column-gap](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-gap)\n */\n colGap?: number;\n /**\n * Defines how much equal space to place between rows represented as a multiplier to the base spacing value in the theme.\n * [row-gap](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-gap)\n */\n rowGap?: number;\n /**\n * Defines how much equal space to place between both rows and columns represented as a multiplier to the base spacing value in the theme.\n * [gap](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-gap)\n */\n gap?: number;\n /**\n * [justify-items](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-items)\n * @default \"stretch\"\n */\n justifyItems?: 'start' | 'end' | 'center' | 'stretch';\n /**\n * [justify-content](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-content)\n * @default \"start\"\n */\n justifyContent?: 'start' | 'end' | 'center' | 'stretch' | 'around' | 'between' | 'evenly';\n /**\n * [align-items](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-items)\n * @default \"stretch\"\n */\n alignItems?: 'stretch' | 'start' | 'end' | 'center';\n /**\n * [align-content](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-content)\n * @default \"start\"\n */\n alignContent?: 'start' | 'end' | 'center' | 'stretch' | 'around' | 'between' | 'evenly';\n}\n\nexport interface GridItemProps {\n /** [grid-column-start](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n colStart?: string;\n /** [grid-column-end](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n colEnd?: string;\n /** [grid-column](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row) */\n colStartEnd?: string;\n /** [grid-row-start](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n rowStart?: string;\n /** [grid-row-end](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row-start-end) */\n rowEnd?: string;\n /** [grid-row](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-column-row) */\n rowStartEnd?: string;\n /** [grid-area](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-grid-area) */\n area?: string;\n /**\n * [justify-self](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-justify-self)\n * @default \"stretch\"\n */\n justifySelf?: 'start' | 'end' | 'center' | 'stretch';\n /**\n * [align-self](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-align-self)\n * @default \"stretch\"\n */\n alignSelf?: 'stretch' | 'start' | 'end' | 'center';\n}\n\nexport interface BaseGridProps {\n /** Creates a [grid container.](https://css-tricks.com/snippets/css/complete-guide-grid/#prop-display) */\n container?: GridContainerProps | true;\n /** Designate as a Grid item to leverage grid item props. */\n item?: GridItemProps;\n}\n\ntype BreakpointGridProps = RequireAtLeastOne<BaseGridProps, 'container' | 'item'>;\n\ntype GridProps = RequireAtLeastOne<\n BaseGridProps &\n BaseProps &\n AsProp & {\n /** Any ReactNode to use as grid items. To leverage item based props, use Grid with \"item\" prop. */\n children?: ReactNode;\n /** Ref for the grid element. */\n ref?: Ref<Element>;\n /** Override props for the grid at extra small screen size. */\n xs?: BreakpointGridProps;\n /** Override props for the grid at small screen size. */\n sm?: BreakpointGridProps;\n /** Override props for the grid at medium screen size. */\n md?: BreakpointGridProps;\n /** Override props for the grid at large screen size. */\n lg?: BreakpointGridProps;\n /** Override props for the grid at extra large screen size. */\n xl?: BreakpointGridProps;\n },\n 'container' | 'item' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'\n>;\n\nexport default GridProps;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"HTML.d.ts","sourceRoot":"","sources":["../../../src/components/HTML/HTML.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAc,iBAAiB,EAAmB,GAAG,EAAW,MAAM,OAAO,CAAC;AACrF,OAAe,EAAO,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,WAAW,SAAU,SAAQ,SAAS,EAAE,cAAc;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,wDAwDtB,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,YAAY,2DA2BjD,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,YAAY,WAwDhD,CAAC;AAEF,eAAO,MAAM,UAAU,6EAMrB,CAAC;AAIH,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CAQrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"HTML.d.ts","sourceRoot":"","sources":["../../../src/components/HTML/HTML.tsx"],"names":[],"mappings":"AAAA,OAAO,EAEL,iBAAiB,EAEjB,GAAG,EAIJ,MAAM,OAAO,CAAC;AACf,OAAe,EAAO,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAM9D,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAGtE,MAAM,WAAW,SAAU,SAAQ,SAAS,EAAE,cAAc;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B;AAED,eAAO,MAAM,UAAU,wDA2CtB,CAAC;AAEF,eAAO,MAAM,cAAc,UAAW,YAAY,2DA2BjD,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,YAAY,WAwDhD,CAAC;AAEF,eAAO,MAAM,UAAU,6EAmBrB,CAAC;AA0CH,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CAgBrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import { forwardRef, useMemo } from 'react';
2
+ import { forwardRef, useState, useEffect, useMemo } from 'react';
3
3
  import styled, { css } from 'styled-components';
4
4
  import dompurify from 'dompurify';
5
5
  import { StyledPopover } from '../Popover';
6
6
  import { defaultThemeProp } from '../../theme';
7
7
  import { calculateFontSize } from '../../styles';
8
+ import { sameOrigin } from '../../utils';
8
9
  export const listStyles = css `
9
10
  ul,
10
11
  ol {
@@ -48,19 +49,6 @@ export const listStyles = css `
48
49
  list-style-type: decimal;
49
50
  }
50
51
  }
51
-
52
- ${StyledPopover} ul {
53
- ul {
54
- padding-inline-start: 0;
55
- }
56
- ol {
57
- padding-inline-start: 0;
58
- }
59
- }
60
-
61
- ${StyledPopover} li {
62
- margin: 0;
63
- }
64
52
  `;
65
53
  export const getTableStyles = (theme) => css `
66
54
  border-collapse: collapse;
@@ -149,12 +137,64 @@ export const StyledHTML = styled.div(({ theme }) => {
149
137
  width: 100%;
150
138
  overflow-x: auto;
151
139
  ${getHtmlStyles(theme)}
140
+
141
+ ${StyledPopover} ul {
142
+ ul {
143
+ padding-inline-start: 0;
144
+ }
145
+ ol {
146
+ padding-inline-start: 0;
147
+ }
148
+ }
149
+
150
+ ${StyledPopover} li {
151
+ margin: 0;
152
+ }
152
153
  `;
153
154
  });
154
155
  StyledHTML.defaultProps = defaultThemeProp;
156
+ const targetBlankSet = new WeakSet();
157
+ dompurify.addHook('beforeSanitizeAttributes', node => {
158
+ // Can be passed text nodes
159
+ if (!(node instanceof HTMLElement || node instanceof SVGElement))
160
+ return;
161
+ node.removeAttribute('class');
162
+ if (node.tagName === 'A' &&
163
+ node.hasAttribute('href') &&
164
+ node.getAttribute('target') === '_blank') {
165
+ targetBlankSet.add(node);
166
+ }
167
+ });
168
+ dompurify.addHook('afterSanitizeAttributes', node => {
169
+ if (node.tagName === 'A' && node.hasAttribute('href')) {
170
+ const href = node.getAttribute('href');
171
+ let fullURL;
172
+ try {
173
+ fullURL = new URL(href, window.location.href);
174
+ }
175
+ catch (e) {
176
+ return;
177
+ }
178
+ if (!sameOrigin(window.location, fullURL)) {
179
+ node.setAttribute('target', '_blank');
180
+ node.setAttribute('rel', 'noopener');
181
+ }
182
+ else if (targetBlankSet.has(node)) {
183
+ node.setAttribute('target', '_blank');
184
+ targetBlankSet.delete(node);
185
+ }
186
+ }
187
+ });
155
188
  const HTML = forwardRef(({ content, ...restProps }, ref) => {
156
- const sanitizedHtml = useMemo(() => dompurify.sanitize(content), [content]);
157
- return (_jsx(StyledHTML, { dangerouslySetInnerHTML: { __html: sanitizedHtml }, ref: ref, ...restProps }));
189
+ const [mounted, setMounted] = useState(false);
190
+ const sanitizedHtml = useMemo(() => {
191
+ // Don't render content on the server at all.
192
+ return mounted ? dompurify.sanitize(content) : '';
193
+ }, [content, mounted]);
194
+ useEffect(() => {
195
+ setMounted(true);
196
+ }, []);
197
+ return (_jsx(StyledHTML, { ...restProps, dangerouslySetInnerHTML: { __html: sanitizedHtml }, ref: ref }));
158
198
  });
159
199
  export default HTML;
160
200
  //# sourceMappingURL=HTML.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HTML.js","sourceRoot":"","sources":["../../../src/components/HTML/HTML.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, FunctionComponent, PropsWithoutRef, Ref, useMemo } from 'react';\nimport styled, { css, DefaultTheme } from 'styled-components';\nimport dompurify from 'dompurify';\n\nimport { StyledPopover } from '../Popover';\nimport { defaultThemeProp } from '../../theme';\nimport { calculateFontSize, FontSize } from '../../styles';\nimport { BaseProps, ForwardProps, NoChildrenProp } from '../../types';\n\nexport interface HTMLProps extends BaseProps, NoChildrenProp {\n content: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const listStyles = css`\n ul,\n ol {\n padding-inline-start: 2.5rem;\n }\n\n li {\n margin: 0.5rem 0;\n }\n\n ul li {\n ul {\n margin-inline-start: 1rem;\n list-style-type: circle;\n }\n\n ul ul {\n margin-inline-start: 2rem;\n list-style-type: square;\n }\n\n ul ul ul {\n margin-inline-start: 3rem;\n list-style-type: disc;\n }\n }\n\n ol li {\n ol {\n margin-inline-start: 1rem;\n list-style-type: lower-alpha;\n }\n\n ol ol {\n margin-inline-start: 2rem;\n list-style-type: lower-roman;\n }\n\n ol ol ol {\n margin-inline-start: 3rem;\n list-style-type: decimal;\n }\n }\n\n ${StyledPopover} ul {\n ul {\n padding-inline-start: 0;\n }\n ol {\n padding-inline-start: 0;\n }\n }\n\n ${StyledPopover} li {\n margin: 0;\n }\n`;\n\nexport const getTableStyles = (theme: DefaultTheme) => css`\n border-collapse: collapse;\n\n td {\n border: 0.0625rem solid ${theme.base.palette['border-line']};\n min-width: 6.25rem;\n }\n\n tr:first-child {\n td:first-child {\n border-top-left-radius: 0.125rem;\n }\n\n td:last-child {\n border-top-right-radius: 0.125rem;\n }\n }\n\n tr:last-child {\n td:first-child {\n border-bottom-left-radius: 0.125rem;\n }\n\n td:last-child {\n border-bottom-right-radius: 0.125rem;\n }\n }\n`;\n\nexport const getHtmlStyles = (theme: DefaultTheme) => {\n const {\n base: { 'font-size': baseFontSize, 'font-scale': baseFontScale, palette },\n components: { text }\n } = theme;\n const fontSize = calculateFontSize(baseFontSize, baseFontScale);\n return `\n ${listStyles}\n table {\n ${getTableStyles(theme)}\n }\n img {\n max-width: 100%;\n height: auto;\n border-radius: 0.25rem;\n }\n a {\n color: ${palette.interactive};\n }\n pre {\n white-space: break-spaces;\n }\n p {\n min-height: ${fontSize[text.primary['font-size'] as FontSize]};\n }\n h1 {\n font-size: ${fontSize[text.h1['font-size'] as FontSize]};\n font-weight: ${text.h1['font-weight']};\n min-height: ${fontSize[text.h1['font-size'] as FontSize]};\n }\n h2 {\n font-size: ${fontSize[text.h2['font-size'] as FontSize]};\n font-weight: ${text.h2['font-weight']};\n min-height: ${fontSize[text.h2['font-size'] as FontSize]};\n }\n h3 {\n font-size: ${fontSize[text.h3['font-size'] as FontSize]};\n font-weight: ${text.h3['font-weight']};\n min-height: ${fontSize[text.h3['font-size'] as FontSize]};\n }\n h4 {\n font-size: ${fontSize[text.h4['font-size'] as FontSize]};\n font-weight: ${text.h4['font-weight']};\n min-height: ${fontSize[text.h4['font-size'] as FontSize]};\n }\n h5 {\n font-size: ${fontSize[text.h5['font-size'] as FontSize]};\n font-weight: ${text.h5['font-weight']};\n min-height: ${fontSize[text.h5['font-size'] as FontSize]};\n }\n h6 {\n font-size: ${fontSize[text.h6['font-size'] as FontSize]};\n font-weight: ${text.h6['font-weight']};\n min-height: ${fontSize[text.h6['font-size'] as FontSize]};\n }\n `;\n};\n\nexport const StyledHTML = styled.div(({ theme }) => {\n return css`\n width: 100%;\n overflow-x: auto;\n ${getHtmlStyles(theme)}\n `;\n});\n\nStyledHTML.defaultProps = defaultThemeProp;\n\nconst HTML: FunctionComponent<HTMLProps & ForwardProps> = forwardRef(\n ({ content, ...restProps }: PropsWithoutRef<HTMLProps>, ref: HTMLProps['ref']) => {\n const sanitizedHtml = useMemo(() => dompurify.sanitize(content), [content]);\n\n return (\n <StyledHTML dangerouslySetInnerHTML={{ __html: sanitizedHtml }} ref={ref} {...restProps} />\n );\n }\n);\n\nexport default HTML;\n"]}
1
+ {"version":3,"file":"HTML.js","sourceRoot":"","sources":["../../../src/components/HTML/HTML.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n forwardRef,\n FunctionComponent,\n PropsWithoutRef,\n Ref,\n useState,\n useEffect,\n useMemo\n} from 'react';\nimport styled, { css, DefaultTheme } from 'styled-components';\nimport dompurify from 'dompurify';\n\nimport { StyledPopover } from '../Popover';\nimport { defaultThemeProp } from '../../theme';\nimport { calculateFontSize, FontSize } from '../../styles';\nimport { BaseProps, ForwardProps, NoChildrenProp } from '../../types';\nimport { sameOrigin } from '../../utils';\n\nexport interface HTMLProps extends BaseProps, NoChildrenProp {\n content: string;\n ref?: Ref<HTMLDivElement>;\n}\n\nexport const listStyles = css`\n ul,\n ol {\n padding-inline-start: 2.5rem;\n }\n\n li {\n margin: 0.5rem 0;\n }\n\n ul li {\n ul {\n margin-inline-start: 1rem;\n list-style-type: circle;\n }\n\n ul ul {\n margin-inline-start: 2rem;\n list-style-type: square;\n }\n\n ul ul ul {\n margin-inline-start: 3rem;\n list-style-type: disc;\n }\n }\n\n ol li {\n ol {\n margin-inline-start: 1rem;\n list-style-type: lower-alpha;\n }\n\n ol ol {\n margin-inline-start: 2rem;\n list-style-type: lower-roman;\n }\n\n ol ol ol {\n margin-inline-start: 3rem;\n list-style-type: decimal;\n }\n }\n`;\n\nexport const getTableStyles = (theme: DefaultTheme) => css`\n border-collapse: collapse;\n\n td {\n border: 0.0625rem solid ${theme.base.palette['border-line']};\n min-width: 6.25rem;\n }\n\n tr:first-child {\n td:first-child {\n border-top-left-radius: 0.125rem;\n }\n\n td:last-child {\n border-top-right-radius: 0.125rem;\n }\n }\n\n tr:last-child {\n td:first-child {\n border-bottom-left-radius: 0.125rem;\n }\n\n td:last-child {\n border-bottom-right-radius: 0.125rem;\n }\n }\n`;\n\nexport const getHtmlStyles = (theme: DefaultTheme) => {\n const {\n base: { 'font-size': baseFontSize, 'font-scale': baseFontScale, palette },\n components: { text }\n } = theme;\n const fontSize = calculateFontSize(baseFontSize, baseFontScale);\n return `\n ${listStyles}\n table {\n ${getTableStyles(theme)}\n }\n img {\n max-width: 100%;\n height: auto;\n border-radius: 0.25rem;\n }\n a {\n color: ${palette.interactive};\n }\n pre {\n white-space: break-spaces;\n }\n p {\n min-height: ${fontSize[text.primary['font-size'] as FontSize]};\n }\n h1 {\n font-size: ${fontSize[text.h1['font-size'] as FontSize]};\n font-weight: ${text.h1['font-weight']};\n min-height: ${fontSize[text.h1['font-size'] as FontSize]};\n }\n h2 {\n font-size: ${fontSize[text.h2['font-size'] as FontSize]};\n font-weight: ${text.h2['font-weight']};\n min-height: ${fontSize[text.h2['font-size'] as FontSize]};\n }\n h3 {\n font-size: ${fontSize[text.h3['font-size'] as FontSize]};\n font-weight: ${text.h3['font-weight']};\n min-height: ${fontSize[text.h3['font-size'] as FontSize]};\n }\n h4 {\n font-size: ${fontSize[text.h4['font-size'] as FontSize]};\n font-weight: ${text.h4['font-weight']};\n min-height: ${fontSize[text.h4['font-size'] as FontSize]};\n }\n h5 {\n font-size: ${fontSize[text.h5['font-size'] as FontSize]};\n font-weight: ${text.h5['font-weight']};\n min-height: ${fontSize[text.h5['font-size'] as FontSize]};\n }\n h6 {\n font-size: ${fontSize[text.h6['font-size'] as FontSize]};\n font-weight: ${text.h6['font-weight']};\n min-height: ${fontSize[text.h6['font-size'] as FontSize]};\n }\n `;\n};\n\nexport const StyledHTML = styled.div(({ theme }) => {\n return css`\n width: 100%;\n overflow-x: auto;\n ${getHtmlStyles(theme)}\n\n ${StyledPopover} ul {\n ul {\n padding-inline-start: 0;\n }\n ol {\n padding-inline-start: 0;\n }\n }\n\n ${StyledPopover} li {\n margin: 0;\n }\n `;\n});\n\nStyledHTML.defaultProps = defaultThemeProp;\n\nconst targetBlankSet = new WeakSet<HTMLAnchorElement>();\n\ndompurify.addHook('beforeSanitizeAttributes', node => {\n // Can be passed text nodes\n if (!(node instanceof HTMLElement || node instanceof SVGElement)) return;\n\n node.removeAttribute('class');\n\n if (\n node.tagName === 'A' &&\n node.hasAttribute('href') &&\n node.getAttribute('target') === '_blank'\n ) {\n targetBlankSet.add(node as HTMLAnchorElement);\n }\n});\n\ndompurify.addHook('afterSanitizeAttributes', node => {\n if (node.tagName === 'A' && node.hasAttribute('href')) {\n const href = node.getAttribute('href')!;\n\n let fullURL: URL;\n try {\n fullURL = new URL(href, window.location.href);\n } catch (e) {\n return;\n }\n\n if (!sameOrigin(window.location, fullURL)) {\n node.setAttribute('target', '_blank');\n node.setAttribute('rel', 'noopener');\n } else if (targetBlankSet.has(node as HTMLAnchorElement)) {\n node.setAttribute('target', '_blank');\n targetBlankSet.delete(node as HTMLAnchorElement);\n }\n }\n});\n\nconst HTML: FunctionComponent<HTMLProps & ForwardProps> = forwardRef(\n ({ content, ...restProps }: PropsWithoutRef<HTMLProps>, ref: HTMLProps['ref']) => {\n const [mounted, setMounted] = useState(false);\n const sanitizedHtml = useMemo(() => {\n // Don't render content on the server at all.\n return mounted ? dompurify.sanitize(content) : '';\n }, [content, mounted]);\n\n useEffect(() => {\n setMounted(true);\n }, []);\n\n return (\n <StyledHTML {...restProps} dangerouslySetInnerHTML={{ __html: sanitizedHtml }} ref={ref} />\n );\n }\n);\n\nexport default HTML;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EACjB,GAAG,EAEH,aAAa,EACd,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS,EAAE,cAAc;IAC1D,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1B;AAID,eAAO,MAAM,YAAY,aAAc,UAAU,EAAE,SAIlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAAc,UAAU,EAAE,SAIvD,CAAC;AAEF,eAAO,MAAM,UAAU,yGAMtB,CAAC;AAIF,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CAwCrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Icon.d.ts","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":"AAAA,OAAO,EAIL,iBAAiB,EACjB,GAAG,EAEH,aAAa,EACd,MAAM,OAAO,CAAC;AAGf,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE,MAAM,WAAW,cAAc;IAC7B,SAAS,EAAE,aAAa,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,UAAW,SAAQ,cAAc;IAChD,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS,EAAE,cAAc;IAC1D,gGAAgG;IAChG,IAAI,EAAE,MAAM,CAAC;IACb,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC;CAC1B;AAID,eAAO,MAAM,YAAY,aAAc,UAAU,EAAE,SAIlD,CAAC;AAEF,eAAO,MAAM,iBAAiB,aAAc,UAAU,EAAE,SAIvD,CAAC;AAEF,eAAO,MAAM,UAAU,yGAMtB,CAAC;AAIF,QAAA,MAAM,IAAI,EAAE,iBAAiB,CAAC,SAAS,GAAG,YAAY,CAkCrD,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -45,7 +45,7 @@ const Icon = forwardRef(({ name, ...restProps }, ref) => {
45
45
  controller.abort();
46
46
  };
47
47
  }, [name]);
48
- return (_jsx(StyledIcon, { ...restProps, role: 'img', ref: ref, xmlns: 'http://www.w3.org/2000/svg', viewBox: iconDef.viewBox, children: _jsx(iconDef.Component, {}) }));
48
+ return (_jsx(StyledIcon, { role: 'presentation', ...restProps, viewBox: iconDef.viewBox, ref: ref, children: _jsx(iconDef.Component, {}) }));
49
49
  });
50
50
  export default Icon;
51
51
  //# sourceMappingURL=Icon.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EAKV,MAAM,OAAO,CAAC;AACf,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAoBvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,KAAmB,EAAE,EAAE;IACrD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAmB,EAAE,EAAE;IAC1D,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE;QACrC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;CAMnC,CAAC;AAEF,MAAM,mBAAmB,GAA6B,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/F,MAAM,IAAI,GAAgD,UAAU,CAClE,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,EAA8B,EAAE,GAAqB,EAAE,EAAE;IAC5E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;IAEtF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1B,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;YACpC,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,CAAC,WAAW,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;aAC/C,IAAI,CAAC,CAAC,MAAkB,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAEpF,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAC5B,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;QACrE,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,KAAC,UAAU,OACL,SAAS,EACb,IAAI,EAAC,KAAK,EACV,GAAG,EAAE,GAAG,EACR,KAAK,EAAC,4BAA4B,EAClC,OAAO,EAAE,OAAO,CAAC,OAAO,YAExB,KAAC,OAAO,CAAC,SAAS,KAAG,GACV,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,IAAI,CAAC","sourcesContent":["import {\n forwardRef,\n useState,\n useEffect,\n FunctionComponent,\n Ref,\n PropsWithoutRef,\n ComponentType\n} from 'react';\nimport styled from 'styled-components';\n\nimport { BaseProps, ForwardProps, NoChildrenProp } from '../../types';\n\nexport interface IconDefinition {\n Component: ComponentType;\n viewBox?: string;\n}\n\nexport interface IconModule extends IconDefinition {\n name: string;\n}\n\nexport interface IconProps extends BaseProps, NoChildrenProp {\n /** The name indicating the Cosmos Icon. Reference the catalog above for the available names. */\n name: string;\n /** Ref for the wrapping element. */\n ref?: Ref<SVGSVGElement>;\n}\n\nconst iconRegistry = new Map<string, IconDefinition>();\n\nexport const registerIcon = (...icons: IconModule[]) => {\n icons.forEach(({ name, ...iconDef }) => {\n if (!iconRegistry.has(name)) iconRegistry.set(name, iconDef);\n });\n};\n\nexport const forceRegisterIcon = (...icons: IconModule[]) => {\n icons.forEach(({ name, ...iconDef }) => {\n iconRegistry.set(name, iconDef);\n });\n};\n\nexport const StyledIcon = styled.svg`\n display: inline-block;\n fill: currentColor;\n height: 1.125rem;\n width: 1.125rem;\n vertical-align: middle;\n`;\n\nconst emptyIconDefinition: Readonly<IconDefinition> = Object.freeze({ Component: () => null });\n\nconst Icon: FunctionComponent<IconProps & ForwardProps> = forwardRef(\n ({ name, ...restProps }: PropsWithoutRef<IconProps>, ref: IconProps['ref']) => {\n const [iconDef, setIconDef] = useState(iconRegistry.get(name) ?? emptyIconDefinition);\n\n useEffect(() => {\n if (iconRegistry.has(name)) {\n setIconDef(iconRegistry.get(name)!);\n return;\n }\n\n const controller = new AbortController();\n import(`./icons/${encodeURIComponent(name)}.icon`)\n .then((module: IconModule) => {\n if (!module.name || !module.Component) throw new Error('Malformed icon definition');\n\n registerIcon(module);\n if (!controller.signal.aborted)\n setIconDef(iconRegistry.get(module.name) ?? emptyIconDefinition);\n })\n .catch(() => {\n if (!controller.signal.aborted) setIconDef(emptyIconDefinition);\n });\n\n return () => {\n controller.abort();\n };\n }, [name]);\n\n return (\n <StyledIcon\n {...restProps}\n role='img'\n ref={ref}\n xmlns='http://www.w3.org/2000/svg'\n viewBox={iconDef.viewBox}\n >\n <iconDef.Component />\n </StyledIcon>\n );\n }\n);\n\nexport default Icon;\n"]}
1
+ {"version":3,"file":"Icon.js","sourceRoot":"","sources":["../../../src/components/Icon/Icon.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,UAAU,EACV,QAAQ,EACR,SAAS,EAKV,MAAM,OAAO,CAAC;AACf,OAAO,MAAM,MAAM,mBAAmB,CAAC;AAoBvC,MAAM,YAAY,GAAG,IAAI,GAAG,EAA0B,CAAC;AAEvD,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,GAAG,KAAmB,EAAE,EAAE;IACrD,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE;QACrC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;YAAE,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,GAAG,KAAmB,EAAE,EAAE;IAC1D,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,OAAO,EAAE,EAAE,EAAE;QACrC,YAAY,CAAC,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,GAAG,CAAA;;;;;;CAMnC,CAAC;AAEF,MAAM,mBAAmB,GAA6B,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC;AAE/F,MAAM,IAAI,GAAgD,UAAU,CAClE,CAAC,EAAE,IAAI,EAAE,GAAG,SAAS,EAA8B,EAAE,GAAqB,EAAE,EAAE;IAC5E,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;IAEtF,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;YAC1B,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAE,CAAC,CAAC;YACpC,OAAO;SACR;QAED,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;QACzC,MAAM,CAAC,WAAW,kBAAkB,CAAC,IAAI,CAAC,OAAO,CAAC;aAC/C,IAAI,CAAC,CAAC,MAAkB,EAAE,EAAE;YAC3B,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,SAAS;gBAAE,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;YAEpF,YAAY,CAAC,MAAM,CAAC,CAAC;YACrB,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAC5B,UAAU,CAAC,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,CAAC;QACrE,CAAC,CAAC;aACD,KAAK,CAAC,GAAG,EAAE;YACV,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,OAAO;gBAAE,UAAU,CAAC,mBAAmB,CAAC,CAAC;QAClE,CAAC,CAAC,CAAC;QAEL,OAAO,GAAG,EAAE;YACV,UAAU,CAAC,KAAK,EAAE,CAAC;QACrB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,OAAO,CACL,KAAC,UAAU,IAAC,IAAI,EAAC,cAAc,KAAK,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,GAAG,YAC/E,KAAC,OAAO,CAAC,SAAS,KAAG,GACV,CACd,CAAC;AACJ,CAAC,CACF,CAAC;AAEF,eAAe,IAAI,CAAC","sourcesContent":["import {\n forwardRef,\n useState,\n useEffect,\n FunctionComponent,\n Ref,\n PropsWithoutRef,\n ComponentType\n} from 'react';\nimport styled from 'styled-components';\n\nimport { BaseProps, ForwardProps, NoChildrenProp } from '../../types';\n\nexport interface IconDefinition {\n Component: ComponentType;\n viewBox?: string;\n}\n\nexport interface IconModule extends IconDefinition {\n name: string;\n}\n\nexport interface IconProps extends BaseProps, NoChildrenProp {\n /** The name indicating the Cosmos Icon. Reference the catalog above for the available names. */\n name: string;\n /** Ref for the wrapping element. */\n ref?: Ref<SVGSVGElement>;\n}\n\nconst iconRegistry = new Map<string, IconDefinition>();\n\nexport const registerIcon = (...icons: IconModule[]) => {\n icons.forEach(({ name, ...iconDef }) => {\n if (!iconRegistry.has(name)) iconRegistry.set(name, iconDef);\n });\n};\n\nexport const forceRegisterIcon = (...icons: IconModule[]) => {\n icons.forEach(({ name, ...iconDef }) => {\n iconRegistry.set(name, iconDef);\n });\n};\n\nexport const StyledIcon = styled.svg`\n display: inline-block;\n fill: currentColor;\n height: 1.125rem;\n width: 1.125rem;\n vertical-align: middle;\n`;\n\nconst emptyIconDefinition: Readonly<IconDefinition> = Object.freeze({ Component: () => null });\n\nconst Icon: FunctionComponent<IconProps & ForwardProps> = forwardRef(\n ({ name, ...restProps }: PropsWithoutRef<IconProps>, ref: IconProps['ref']) => {\n const [iconDef, setIconDef] = useState(iconRegistry.get(name) ?? emptyIconDefinition);\n\n useEffect(() => {\n if (iconRegistry.has(name)) {\n setIconDef(iconRegistry.get(name)!);\n return;\n }\n\n const controller = new AbortController();\n import(`./icons/${encodeURIComponent(name)}.icon`)\n .then((module: IconModule) => {\n if (!module.name || !module.Component) throw new Error('Malformed icon definition');\n\n registerIcon(module);\n if (!controller.signal.aborted)\n setIconDef(iconRegistry.get(module.name) ?? emptyIconDefinition);\n })\n .catch(() => {\n if (!controller.signal.aborted) setIconDef(emptyIconDefinition);\n });\n\n return () => {\n controller.abort();\n };\n }, [name]);\n\n return (\n <StyledIcon role='presentation' {...restProps} viewBox={iconDef.viewBox} ref={ref}>\n <iconDef.Component />\n </StyledIcon>\n );\n }\n);\n\nexport default Icon;\n"]}