@pega/cosmos-react-core 4.0.0-dev.1.2 → 4.0.0-dev.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (586) hide show
  1. package/lib/components/Actions/Actions.d.ts.map +1 -1
  2. package/lib/components/Actions/Actions.js +11 -5
  3. package/lib/components/Actions/Actions.js.map +1 -1
  4. package/lib/components/AdditionalInfo/AdditionalInfo.d.ts +2 -0
  5. package/lib/components/AdditionalInfo/AdditionalInfo.d.ts.map +1 -1
  6. package/lib/components/AdditionalInfo/AdditionalInfo.js +24 -15
  7. package/lib/components/AdditionalInfo/AdditionalInfo.js.map +1 -1
  8. package/lib/components/AppShell/AppHeader.d.ts.map +1 -1
  9. package/lib/components/AppShell/AppHeader.js +4 -3
  10. package/lib/components/AppShell/AppHeader.js.map +1 -1
  11. package/lib/components/AppShell/AppHeader.styles.d.ts +2 -0
  12. package/lib/components/AppShell/AppHeader.styles.d.ts.map +1 -1
  13. package/lib/components/AppShell/AppHeader.styles.js +43 -33
  14. package/lib/components/AppShell/AppHeader.styles.js.map +1 -1
  15. package/lib/components/AppShell/AppShell.d.ts.map +1 -1
  16. package/lib/components/AppShell/AppShell.js +37 -13
  17. package/lib/components/AppShell/AppShell.js.map +1 -1
  18. package/lib/components/AppShell/AppShell.styles.d.ts +4 -1
  19. package/lib/components/AppShell/AppShell.styles.d.ts.map +1 -1
  20. package/lib/components/AppShell/AppShell.styles.js +45 -14
  21. package/lib/components/AppShell/AppShell.styles.js.map +1 -1
  22. package/lib/components/AppShell/AppShell.types.d.ts +30 -0
  23. package/lib/components/AppShell/AppShell.types.d.ts.map +1 -1
  24. package/lib/components/AppShell/AppShell.types.js.map +1 -1
  25. package/lib/components/AppShell/AppShellContext.d.ts +2 -0
  26. package/lib/components/AppShell/AppShellContext.d.ts.map +1 -1
  27. package/lib/components/AppShell/AppShellContext.js +2 -0
  28. package/lib/components/AppShell/AppShellContext.js.map +1 -1
  29. package/lib/components/AppShell/AppShellList.d.ts +1 -1
  30. package/lib/components/AppShell/AppShellList.d.ts.map +1 -1
  31. package/lib/components/AppShell/AppShellList.js +6 -2
  32. package/lib/components/AppShell/AppShellList.js.map +1 -1
  33. package/lib/components/AppShell/AppShellList.styles.d.ts +1 -1
  34. package/lib/components/AppShell/AppShellList.styles.d.ts.map +1 -1
  35. package/lib/components/AppShell/AppShellList.styles.js +21 -19
  36. package/lib/components/AppShell/AppShellList.styles.js.map +1 -1
  37. package/lib/components/AppShell/AppShellSearch.styles.js +1 -1
  38. package/lib/components/AppShell/AppShellSearch.styles.js.map +1 -1
  39. package/lib/components/AppShell/ContextSwitcher.d.ts +6 -0
  40. package/lib/components/AppShell/ContextSwitcher.d.ts.map +1 -0
  41. package/lib/components/AppShell/ContextSwitcher.js +18 -0
  42. package/lib/components/AppShell/ContextSwitcher.js.map +1 -0
  43. package/lib/components/AppShell/Drawer.d.ts.map +1 -1
  44. package/lib/components/AppShell/Drawer.js +8 -9
  45. package/lib/components/AppShell/Drawer.js.map +1 -1
  46. package/lib/components/AppShell/Drawer.styles.d.ts.map +1 -1
  47. package/lib/components/AppShell/Drawer.styles.js +7 -4
  48. package/lib/components/AppShell/Drawer.styles.js.map +1 -1
  49. package/lib/components/AppShell/NavigationList.d.ts.map +1 -1
  50. package/lib/components/AppShell/NavigationList.js +15 -12
  51. package/lib/components/AppShell/NavigationList.js.map +1 -1
  52. package/lib/components/AppShell/NavigationListItemWrapper.d.ts.map +1 -1
  53. package/lib/components/AppShell/NavigationListItemWrapper.js +4 -2
  54. package/lib/components/AppShell/NavigationListItemWrapper.js.map +1 -1
  55. package/lib/components/AppShell/index.d.ts +2 -1
  56. package/lib/components/AppShell/index.d.ts.map +1 -1
  57. package/lib/components/AppShell/index.js +1 -0
  58. package/lib/components/AppShell/index.js.map +1 -1
  59. package/lib/components/Avatar/Avatar.d.ts +1 -1
  60. package/lib/components/Avatar/Avatar.d.ts.map +1 -1
  61. package/lib/components/Backdrop/Backdrop.d.ts.map +1 -1
  62. package/lib/components/Backdrop/Backdrop.js +22 -2
  63. package/lib/components/Backdrop/Backdrop.js.map +1 -1
  64. package/lib/components/Badges/Count.d.ts +2 -2
  65. package/lib/components/Badges/Count.d.ts.map +1 -1
  66. package/lib/components/Badges/Count.js +22 -25
  67. package/lib/components/Badges/Count.js.map +1 -1
  68. package/lib/components/Badges/Selection.js +1 -1
  69. package/lib/components/Badges/Selection.js.map +1 -1
  70. package/lib/components/Badges/Tag.js +1 -1
  71. package/lib/components/Badges/Tag.js.map +1 -1
  72. package/lib/components/Banner/Banner.d.ts +28 -21
  73. package/lib/components/Banner/Banner.d.ts.map +1 -1
  74. package/lib/components/Banner/Banner.js +138 -96
  75. package/lib/components/Banner/Banner.js.map +1 -1
  76. package/lib/components/Banner/index.d.ts +1 -1
  77. package/lib/components/Banner/index.d.ts.map +1 -1
  78. package/lib/components/Banner/index.js.map +1 -1
  79. package/lib/components/Button/Button.d.ts +1 -1
  80. package/lib/components/Button/Button.d.ts.map +1 -1
  81. package/lib/components/Card/Card.d.ts +4 -7
  82. package/lib/components/Card/Card.d.ts.map +1 -1
  83. package/lib/components/Card/Card.js +2 -9
  84. package/lib/components/Card/Card.js.map +1 -1
  85. package/lib/components/ComboBox/ComboBox.styles.d.ts.map +1 -1
  86. package/lib/components/ComboBox/ComboBox.styles.js +0 -3
  87. package/lib/components/ComboBox/ComboBox.styles.js.map +1 -1
  88. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.d.ts.map +1 -1
  89. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js +1 -3
  90. package/lib/components/ComboBox/MultiSelectInput/MultiSelectInput.js.map +1 -1
  91. package/lib/components/Configuration/Configuration.d.ts +4 -1
  92. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  93. package/lib/components/Configuration/Configuration.js +2 -0
  94. package/lib/components/Configuration/Configuration.js.map +1 -1
  95. package/lib/components/CreditCard/CreditCard.types.d.ts +1 -1
  96. package/lib/components/CreditCard/CreditCard.types.d.ts.map +1 -1
  97. package/lib/components/DateTime/DateTime.types.d.ts +10 -7
  98. package/lib/components/DateTime/DateTime.types.d.ts.map +1 -1
  99. package/lib/components/DateTime/DateTime.types.js.map +1 -1
  100. package/lib/components/DateTime/Input/DateInput.d.ts.map +1 -1
  101. package/lib/components/DateTime/Input/DateInput.js +19 -4
  102. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  103. package/lib/components/DateTime/Input/DateRangeInput.d.ts +4 -2
  104. package/lib/components/DateTime/Input/DateRangeInput.d.ts.map +1 -1
  105. package/lib/components/DateTime/Input/DateRangeInput.js +71 -34
  106. package/lib/components/DateTime/Input/DateRangeInput.js.map +1 -1
  107. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  108. package/lib/components/DateTime/Input/DateTimeInput.js +26 -5
  109. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  110. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts +1 -1
  111. package/lib/components/DateTime/Input/DayOfWeekInput.d.ts.map +1 -1
  112. package/lib/components/DateTime/Input/Duration/NumberUnit.d.ts +1 -1
  113. package/lib/components/DateTime/Input/Duration/NumberUnit.d.ts.map +1 -1
  114. package/lib/components/DateTime/Input/Duration/Time.d.ts +1 -1
  115. package/lib/components/DateTime/Input/Duration/Time.d.ts.map +1 -1
  116. package/lib/components/DateTime/Input/MonthInput.d.ts.map +1 -1
  117. package/lib/components/DateTime/Input/MonthInput.js +8 -3
  118. package/lib/components/DateTime/Input/MonthInput.js.map +1 -1
  119. package/lib/components/DateTime/Input/PartInput.d.ts.map +1 -1
  120. package/lib/components/DateTime/Input/PartInput.js +2 -2
  121. package/lib/components/DateTime/Input/PartInput.js.map +1 -1
  122. package/lib/components/DateTime/Input/TimeInput.d.ts.map +1 -1
  123. package/lib/components/DateTime/Input/TimeInput.js +13 -3
  124. package/lib/components/DateTime/Input/TimeInput.js.map +1 -1
  125. package/lib/components/DateTime/Input/TimeRangeInput.d.ts +4 -2
  126. package/lib/components/DateTime/Input/TimeRangeInput.d.ts.map +1 -1
  127. package/lib/components/DateTime/Input/TimeRangeInput.js +70 -27
  128. package/lib/components/DateTime/Input/TimeRangeInput.js.map +1 -1
  129. package/lib/components/DateTime/Input/WeekInput.d.ts.map +1 -1
  130. package/lib/components/DateTime/Input/WeekInput.js +7 -2
  131. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  132. package/lib/components/DateTime/Input/usePickerButton.d.ts.map +1 -1
  133. package/lib/components/DateTime/Input/usePickerButton.js +19 -27
  134. package/lib/components/DateTime/Input/usePickerButton.js.map +1 -1
  135. package/lib/components/DateTime/Input/utils.d.ts +2 -2
  136. package/lib/components/DateTime/Input/utils.d.ts.map +1 -1
  137. package/lib/components/DateTime/Input/utils.js +6 -17
  138. package/lib/components/DateTime/Input/utils.js.map +1 -1
  139. package/lib/components/DateTime/Picker/Calendar.d.ts.map +1 -1
  140. package/lib/components/DateTime/Picker/Calendar.js +3 -1
  141. package/lib/components/DateTime/Picker/Calendar.js.map +1 -1
  142. package/lib/components/DateTime/Picker/DatePicker.d.ts.map +1 -1
  143. package/lib/components/DateTime/Picker/DatePicker.js +2 -8
  144. package/lib/components/DateTime/Picker/DatePicker.js.map +1 -1
  145. package/lib/components/DateTime/Picker/TimePicker.d.ts +1 -1
  146. package/lib/components/DateTime/Picker/TimePicker.d.ts.map +1 -1
  147. package/lib/components/DateTime/Picker/TimePicker.js +1 -1
  148. package/lib/components/DateTime/Picker/TimePicker.js.map +1 -1
  149. package/lib/components/Dialog/Dialog.d.ts +3 -30
  150. package/lib/components/Dialog/Dialog.d.ts.map +1 -1
  151. package/lib/components/Dialog/Dialog.js +7 -147
  152. package/lib/components/Dialog/Dialog.js.map +1 -1
  153. package/lib/components/Dialog/Dialog.styles.d.ts +3 -0
  154. package/lib/components/Dialog/Dialog.styles.d.ts.map +1 -0
  155. package/lib/components/Dialog/Dialog.styles.js +18 -0
  156. package/lib/components/Dialog/Dialog.styles.js.map +1 -0
  157. package/lib/components/Dialog/Dialog.types.d.ts +87 -0
  158. package/lib/components/Dialog/Dialog.types.d.ts.map +1 -0
  159. package/lib/components/Dialog/Dialog.types.js +3 -0
  160. package/lib/components/Dialog/Dialog.types.js.map +1 -0
  161. package/lib/components/Dialog/FormDialog.d.ts +7 -0
  162. package/lib/components/Dialog/FormDialog.d.ts.map +1 -0
  163. package/lib/components/Dialog/FormDialog.js +58 -0
  164. package/lib/components/Dialog/FormDialog.js.map +1 -0
  165. package/lib/components/Dialog/InfoDialog.d.ts +6 -0
  166. package/lib/components/Dialog/InfoDialog.d.ts.map +1 -0
  167. package/lib/components/Dialog/InfoDialog.js +43 -0
  168. package/lib/components/Dialog/InfoDialog.js.map +1 -0
  169. package/lib/components/Dialog/index.d.ts +3 -2
  170. package/lib/components/Dialog/index.d.ts.map +1 -1
  171. package/lib/components/Dialog/index.js +2 -2
  172. package/lib/components/Dialog/index.js.map +1 -1
  173. package/lib/components/Drawer/Drawer.d.ts +1 -1
  174. package/lib/components/Drawer/Drawer.d.ts.map +1 -1
  175. package/lib/components/EmojiPicker/EmojiPicker.d.ts +1 -1
  176. package/lib/components/EmojiPicker/EmojiPicker.d.ts.map +1 -1
  177. package/lib/components/FieldGroup/FieldGroup.d.ts.map +1 -1
  178. package/lib/components/FieldGroup/FieldGroup.js +2 -1
  179. package/lib/components/FieldGroup/FieldGroup.js.map +1 -1
  180. package/lib/components/FieldValueList/FieldValueList.d.ts +2 -2
  181. package/lib/components/FieldValueList/FieldValueList.d.ts.map +1 -1
  182. package/lib/components/FieldValueList/FieldValueList.js +5 -36
  183. package/lib/components/FieldValueList/FieldValueList.js.map +1 -1
  184. package/lib/components/FieldValueList/index.d.ts +1 -1
  185. package/lib/components/FieldValueList/index.d.ts.map +1 -1
  186. package/lib/components/FieldValueList/index.js.map +1 -1
  187. package/lib/components/File/utils.d.ts +1 -1
  188. package/lib/components/File/utils.d.ts.map +1 -1
  189. package/lib/components/Flex/Flex.d.ts +2 -2
  190. package/lib/components/Flex/Flex.d.ts.map +1 -1
  191. package/lib/components/FormControl/FormControl.d.ts +4 -0
  192. package/lib/components/FormControl/FormControl.d.ts.map +1 -1
  193. package/lib/components/FormControl/FormControl.js +3 -1
  194. package/lib/components/FormControl/FormControl.js.map +1 -1
  195. package/lib/components/FormControl/index.d.ts +1 -0
  196. package/lib/components/FormControl/index.d.ts.map +1 -1
  197. package/lib/components/FormControl/index.js.map +1 -1
  198. package/lib/components/Grid/Grid.types.d.ts +2 -2
  199. package/lib/components/Grid/Grid.types.d.ts.map +1 -1
  200. package/lib/components/HTML/HTML.d.ts.map +1 -1
  201. package/lib/components/HTML/HTML.js +1 -0
  202. package/lib/components/HTML/HTML.js.map +1 -1
  203. package/lib/components/Icon/iconNames.d.ts +2 -2
  204. package/lib/components/Icon/iconNames.d.ts.map +1 -1
  205. package/lib/components/Icon/iconNames.js +2 -0
  206. package/lib/components/Icon/iconNames.js.map +1 -1
  207. package/lib/components/Icon/icons/user-question-mark-solid.icon.d.ts +4 -0
  208. package/lib/components/Icon/icons/user-question-mark-solid.icon.d.ts.map +1 -0
  209. package/lib/components/Icon/icons/user-question-mark-solid.icon.js +6 -0
  210. package/lib/components/Icon/icons/user-question-mark-solid.icon.js.map +1 -0
  211. package/lib/components/Icon/icons/user-question-mark.icon.d.ts +4 -0
  212. package/lib/components/Icon/icons/user-question-mark.icon.d.ts.map +1 -0
  213. package/lib/components/Icon/icons/user-question-mark.icon.js +6 -0
  214. package/lib/components/Icon/icons/user-question-mark.icon.js.map +1 -0
  215. package/lib/components/Lightbox/Lightbox.styles.js +2 -2
  216. package/lib/components/Lightbox/Lightbox.styles.js.map +1 -1
  217. package/lib/components/Link/Link.d.ts.map +1 -1
  218. package/lib/components/Link/Link.js +13 -4
  219. package/lib/components/Link/Link.js.map +1 -1
  220. package/lib/components/List/CommaSeparatedList.d.ts.map +1 -1
  221. package/lib/components/List/CommaSeparatedList.js +5 -37
  222. package/lib/components/List/CommaSeparatedList.js.map +1 -1
  223. package/lib/components/List/List.d.ts.map +1 -1
  224. package/lib/components/List/List.js +11 -1
  225. package/lib/components/List/List.js.map +1 -1
  226. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  227. package/lib/components/ListToolbar/ListToolbar.js +106 -68
  228. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  229. package/lib/components/ListToolbar/ListToolbar.styles.d.ts +5 -1
  230. package/lib/components/ListToolbar/ListToolbar.styles.d.ts.map +1 -1
  231. package/lib/components/ListToolbar/ListToolbar.styles.js +50 -5
  232. package/lib/components/ListToolbar/ListToolbar.styles.js.map +1 -1
  233. package/lib/components/ListToolbar/ListToolbar.types.d.ts +5 -5
  234. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  235. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  236. package/lib/components/LiveLog/Context.d.ts +3 -0
  237. package/lib/components/LiveLog/Context.d.ts.map +1 -0
  238. package/lib/components/LiveLog/Context.js +9 -0
  239. package/lib/components/LiveLog/Context.js.map +1 -0
  240. package/lib/components/LiveLog/LiveLog.d.ts +10 -0
  241. package/lib/components/LiveLog/LiveLog.d.ts.map +1 -0
  242. package/lib/components/LiveLog/LiveLog.js +99 -0
  243. package/lib/components/LiveLog/LiveLog.js.map +1 -0
  244. package/lib/components/LiveLog/LiveLog.styles.d.ts +3 -0
  245. package/lib/components/LiveLog/LiveLog.styles.d.ts.map +1 -0
  246. package/lib/components/LiveLog/LiveLog.styles.js +9 -0
  247. package/lib/components/LiveLog/LiveLog.styles.js.map +1 -0
  248. package/lib/components/LiveLog/LiveLog.types.d.ts +93 -0
  249. package/lib/components/LiveLog/LiveLog.types.d.ts.map +1 -0
  250. package/lib/components/LiveLog/LiveLog.types.js +2 -0
  251. package/lib/components/LiveLog/LiveLog.types.js.map +1 -0
  252. package/lib/components/LiveLog/index.d.ts +4 -0
  253. package/lib/components/LiveLog/index.d.ts.map +1 -0
  254. package/lib/components/LiveLog/index.js +3 -0
  255. package/lib/components/LiveLog/index.js.map +1 -0
  256. package/lib/components/Location/CurrentLocationButton.d.ts +1 -1
  257. package/lib/components/Location/CurrentLocationButton.d.ts.map +1 -1
  258. package/lib/components/Location/LocationInput.d.ts.map +1 -1
  259. package/lib/components/Location/LocationInput.js +1 -2
  260. package/lib/components/Location/LocationInput.js.map +1 -1
  261. package/lib/components/Location/LocationView.d.ts.map +1 -1
  262. package/lib/components/Location/LocationView.js +4 -4
  263. package/lib/components/Location/LocationView.js.map +1 -1
  264. package/lib/components/Location/MapsContext.d.ts +1 -1
  265. package/lib/components/Location/MapsContext.d.ts.map +1 -1
  266. package/lib/components/Location/utils.d.ts +1 -1
  267. package/lib/components/Location/utils.d.ts.map +1 -1
  268. package/lib/components/Location/utils.js.map +1 -1
  269. package/lib/components/Menu/Menu.js +3 -3
  270. package/lib/components/Menu/Menu.js.map +1 -1
  271. package/lib/components/Menu/Menu.styles.js +1 -1
  272. package/lib/components/Menu/Menu.styles.js.map +1 -1
  273. package/lib/components/Menu/Menu.types.d.ts +3 -5
  274. package/lib/components/Menu/Menu.types.d.ts.map +1 -1
  275. package/lib/components/Menu/Menu.types.js.map +1 -1
  276. package/lib/components/Menu/MenuList.d.ts.map +1 -1
  277. package/lib/components/Menu/MenuList.js +4 -3
  278. package/lib/components/Menu/MenuList.js.map +1 -1
  279. package/lib/components/MenuButton/MenuButton.d.ts.map +1 -1
  280. package/lib/components/MenuButton/MenuButton.js +18 -4
  281. package/lib/components/MenuButton/MenuButton.js.map +1 -1
  282. package/lib/components/Modal/Modal.d.ts.map +1 -1
  283. package/lib/components/Modal/Modal.js +6 -8
  284. package/lib/components/Modal/Modal.js.map +1 -1
  285. package/lib/components/Modal/Modal.types.d.ts +2 -1
  286. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  287. package/lib/components/Modal/Modal.types.js.map +1 -1
  288. package/lib/components/Number/NumberInput.types.d.ts +3 -1
  289. package/lib/components/Number/NumberInput.types.d.ts.map +1 -1
  290. package/lib/components/Number/NumberInput.types.js.map +1 -1
  291. package/lib/components/Number/NumberRangeInput.d.ts.map +1 -1
  292. package/lib/components/Number/NumberRangeInput.js +71 -4
  293. package/lib/components/Number/NumberRangeInput.js.map +1 -1
  294. package/lib/components/PageTemplates/CategorySubPage.d.ts.map +1 -1
  295. package/lib/components/PageTemplates/CategorySubPage.js +15 -4
  296. package/lib/components/PageTemplates/CategorySubPage.js.map +1 -1
  297. package/lib/components/PageTemplates/CategorySubPage.styles.d.ts.map +1 -1
  298. package/lib/components/PageTemplates/CategorySubPage.styles.js +5 -0
  299. package/lib/components/PageTemplates/CategorySubPage.styles.js.map +1 -1
  300. package/lib/components/PageTemplates/DashboardPage.d.ts.map +1 -1
  301. package/lib/components/PageTemplates/DashboardPage.js +16 -2
  302. package/lib/components/PageTemplates/DashboardPage.js.map +1 -1
  303. package/lib/components/PageTemplates/PageTemplates.d.ts.map +1 -1
  304. package/lib/components/PageTemplates/PageTemplates.js +20 -3
  305. package/lib/components/PageTemplates/PageTemplates.js.map +1 -1
  306. package/lib/components/Popover/Popover.d.ts +1 -1
  307. package/lib/components/Popover/Popover.d.ts.map +1 -1
  308. package/lib/components/Popover/Popover.js +2 -5
  309. package/lib/components/Popover/Popover.js.map +1 -1
  310. package/lib/components/Popover/Popover.styles.d.ts +0 -1
  311. package/lib/components/Popover/Popover.styles.d.ts.map +1 -1
  312. package/lib/components/Popover/Popover.styles.js +0 -6
  313. package/lib/components/Popover/Popover.styles.js.map +1 -1
  314. package/lib/components/Popover/modifiers.d.ts +0 -2
  315. package/lib/components/Popover/modifiers.d.ts.map +1 -1
  316. package/lib/components/Popover/modifiers.js +1 -32
  317. package/lib/components/Popover/modifiers.js.map +1 -1
  318. package/lib/components/Progress/Bar.d.ts +0 -3
  319. package/lib/components/Progress/Bar.d.ts.map +1 -1
  320. package/lib/components/Progress/Bar.js +1 -54
  321. package/lib/components/Progress/Bar.js.map +1 -1
  322. package/lib/components/Progress/Ellipsis.d.ts +0 -1
  323. package/lib/components/Progress/Ellipsis.d.ts.map +1 -1
  324. package/lib/components/Progress/Ellipsis.js +1 -72
  325. package/lib/components/Progress/Ellipsis.js.map +1 -1
  326. package/lib/components/Progress/Progress.d.ts.map +1 -1
  327. package/lib/components/Progress/Progress.js +99 -60
  328. package/lib/components/Progress/Progress.js.map +1 -1
  329. package/lib/components/Progress/Progress.styles.d.ts +12 -0
  330. package/lib/components/Progress/Progress.styles.d.ts.map +1 -0
  331. package/lib/components/Progress/Progress.styles.js +217 -0
  332. package/lib/components/Progress/Progress.styles.js.map +1 -0
  333. package/lib/components/Progress/Progress.types.d.ts +19 -2
  334. package/lib/components/Progress/Progress.types.d.ts.map +1 -1
  335. package/lib/components/Progress/Progress.types.js.map +1 -1
  336. package/lib/components/Progress/Ring.d.ts +0 -3
  337. package/lib/components/Progress/Ring.d.ts.map +1 -1
  338. package/lib/components/Progress/Ring.js +1 -58
  339. package/lib/components/Progress/Ring.js.map +1 -1
  340. package/lib/components/Progress/index.d.ts +1 -3
  341. package/lib/components/Progress/index.d.ts.map +1 -1
  342. package/lib/components/Progress/index.js +1 -3
  343. package/lib/components/Progress/index.js.map +1 -1
  344. package/lib/components/QRCode/QRCode.d.ts +14 -0
  345. package/lib/components/QRCode/QRCode.d.ts.map +1 -0
  346. package/lib/components/QRCode/QRCode.js +39 -0
  347. package/lib/components/QRCode/QRCode.js.map +1 -0
  348. package/lib/components/QRCode/index.d.ts +3 -0
  349. package/lib/components/QRCode/index.d.ts.map +1 -0
  350. package/lib/components/QRCode/index.js +2 -0
  351. package/lib/components/QRCode/index.js.map +1 -0
  352. package/lib/components/RadioCheck/RadioCheck.js +1 -1
  353. package/lib/components/RadioCheck/RadioCheck.js.map +1 -1
  354. package/lib/components/SearchInput/SearchInput.d.ts +2 -2
  355. package/lib/components/SearchInput/SearchInput.d.ts.map +1 -1
  356. package/lib/components/SearchInput/SearchInput.js +28 -8
  357. package/lib/components/SearchInput/SearchInput.js.map +1 -1
  358. package/lib/components/SearchInput/SearchInput.styles.js +1 -1
  359. package/lib/components/SearchInput/SearchInput.styles.js.map +1 -1
  360. package/lib/components/ShowMoreLess/ShowMoreLess.d.ts +9 -0
  361. package/lib/components/ShowMoreLess/ShowMoreLess.d.ts.map +1 -0
  362. package/lib/components/ShowMoreLess/ShowMoreLess.js +41 -0
  363. package/lib/components/ShowMoreLess/ShowMoreLess.js.map +1 -0
  364. package/lib/components/ShowMoreLess/index.d.ts +3 -0
  365. package/lib/components/ShowMoreLess/index.d.ts.map +1 -0
  366. package/lib/components/ShowMoreLess/index.js +2 -0
  367. package/lib/components/ShowMoreLess/index.js.map +1 -0
  368. package/lib/components/SkipLinks/SkipLinks.d.ts.map +1 -1
  369. package/lib/components/SkipLinks/SkipLinks.js +3 -26
  370. package/lib/components/SkipLinks/SkipLinks.js.map +1 -1
  371. package/lib/components/Slider/Slider.styles.d.ts +1 -1
  372. package/lib/components/Slider/Slider.styles.d.ts.map +1 -1
  373. package/lib/components/Tabs/Tab.js +2 -2
  374. package/lib/components/Tabs/Tab.js.map +1 -1
  375. package/lib/components/Tabs/Tabs.d.ts.map +1 -1
  376. package/lib/components/Tabs/Tabs.js +8 -10
  377. package/lib/components/Tabs/Tabs.js.map +1 -1
  378. package/lib/components/TextArea/TextArea.js +2 -2
  379. package/lib/components/TextArea/TextArea.js.map +1 -1
  380. package/lib/components/Toaster/Context.d.ts +1 -0
  381. package/lib/components/Toaster/Context.d.ts.map +1 -1
  382. package/lib/components/Toaster/Context.js.map +1 -1
  383. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  384. package/lib/components/Toaster/Toaster.js +6 -2
  385. package/lib/components/Toaster/Toaster.js.map +1 -1
  386. package/lib/components/Tree/StandardTree.d.ts.map +1 -1
  387. package/lib/components/Tree/StandardTree.js +70 -27
  388. package/lib/components/Tree/StandardTree.js.map +1 -1
  389. package/lib/components/Tree/StandardTree.styles.d.ts +1 -0
  390. package/lib/components/Tree/StandardTree.styles.d.ts.map +1 -1
  391. package/lib/components/Tree/StandardTree.styles.js +32 -18
  392. package/lib/components/Tree/StandardTree.styles.js.map +1 -1
  393. package/lib/components/Tree/StandardTree.types.d.ts +28 -1
  394. package/lib/components/Tree/StandardTree.types.d.ts.map +1 -1
  395. package/lib/components/Tree/StandardTree.types.js.map +1 -1
  396. package/lib/components/Tree/Tree.d.ts +2 -2
  397. package/lib/components/Tree/Tree.d.ts.map +1 -1
  398. package/lib/components/Tree/helpers.d.ts +11 -9
  399. package/lib/components/Tree/helpers.d.ts.map +1 -1
  400. package/lib/components/Tree/helpers.js +25 -5
  401. package/lib/components/Tree/helpers.js.map +1 -1
  402. package/lib/components/Tree/index.d.ts +1 -1
  403. package/lib/components/Tree/index.d.ts.map +1 -1
  404. package/lib/components/Tree/index.js.map +1 -1
  405. package/lib/components/URL/URLDisplay.d.ts +2 -2
  406. package/lib/components/URL/URLDisplay.d.ts.map +1 -1
  407. package/lib/components/URL/URLDisplay.js +8 -1
  408. package/lib/components/URL/URLDisplay.js.map +1 -1
  409. package/lib/hooks/index.d.ts +1 -0
  410. package/lib/hooks/index.d.ts.map +1 -1
  411. package/lib/hooks/index.js +1 -0
  412. package/lib/hooks/index.js.map +1 -1
  413. package/lib/hooks/useActiveDescendant.d.ts +2 -2
  414. package/lib/hooks/useActiveDescendant.d.ts.map +1 -1
  415. package/lib/hooks/useArrows.d.ts.map +1 -1
  416. package/lib/hooks/useArrows.js +3 -3
  417. package/lib/hooks/useArrows.js.map +1 -1
  418. package/lib/hooks/useBreakpoint.d.ts.map +1 -1
  419. package/lib/hooks/useBreakpoint.js +3 -2
  420. package/lib/hooks/useBreakpoint.js.map +1 -1
  421. package/lib/hooks/useEvent.d.ts +2 -2
  422. package/lib/hooks/useEvent.d.ts.map +1 -1
  423. package/lib/hooks/useI18n.d.ts +88 -19
  424. package/lib/hooks/useI18n.d.ts.map +1 -1
  425. package/lib/hooks/useLiveLog.d.ts +8 -0
  426. package/lib/hooks/useLiveLog.d.ts.map +1 -0
  427. package/lib/hooks/useLiveLog.js +16 -0
  428. package/lib/hooks/useLiveLog.js.map +1 -0
  429. package/lib/hooks/useOverride.d.ts +1 -1
  430. package/lib/hooks/useOverride.d.ts.map +1 -1
  431. package/lib/hooks/useScrollStick.d.ts +1 -1
  432. package/lib/hooks/useScrollStick.d.ts.map +1 -1
  433. package/lib/i18n/default.d.ts +88 -19
  434. package/lib/i18n/default.d.ts.map +1 -1
  435. package/lib/i18n/default.js +98 -27
  436. package/lib/i18n/default.js.map +1 -1
  437. package/lib/i18n/i18n.d.ts +90 -21
  438. package/lib/i18n/i18n.d.ts.map +1 -1
  439. package/lib/i18n/translate.d.ts +1 -1
  440. package/lib/i18n/translate.d.ts.map +1 -1
  441. package/lib/index.d.ts +6 -1
  442. package/lib/index.d.ts.map +1 -1
  443. package/lib/index.js +6 -1
  444. package/lib/index.js.map +1 -1
  445. package/lib/register-contexts.js +2 -0
  446. package/lib/register-contexts.js.map +1 -1
  447. package/lib/styles/gradients.d.ts +1 -1
  448. package/lib/styles/gradients.d.ts.map +1 -1
  449. package/lib/styles/utils.d.ts +1 -1
  450. package/lib/styles/utils.d.ts.map +1 -1
  451. package/lib/styles/utils.js +10 -10
  452. package/lib/styles/utils.js.map +1 -1
  453. package/lib/theme/ThemeMachine.d.ts +3 -3
  454. package/lib/theme/ThemeMachine.d.ts.map +1 -1
  455. package/lib/theme/ThemeMachine.js +30 -30
  456. package/lib/theme/ThemeMachine.js.map +1 -1
  457. package/lib/theme/theme.d.ts +45 -75
  458. package/lib/theme/theme.d.ts.map +1 -1
  459. package/lib/theme/themeDefinition.json +14 -30
  460. package/lib/theme/themeOverrides.schema.json +1 -4
  461. package/lib/theme/themes/darkTheme.json +4 -1
  462. package/lib/theme/themes/legacyBuildTheme.json +2 -3
  463. package/lib/types/types.d.ts +19 -11
  464. package/lib/types/types.d.ts.map +1 -1
  465. package/lib/types/types.js.map +1 -1
  466. package/lib/utils/bindAll.d.ts +4 -0
  467. package/lib/utils/bindAll.d.ts.map +1 -0
  468. package/lib/utils/bindAll.js +9 -0
  469. package/lib/utils/bindAll.js.map +1 -0
  470. package/lib/utils/cap.d.ts +4 -0
  471. package/lib/utils/cap.d.ts.map +1 -0
  472. package/lib/utils/cap.js +6 -0
  473. package/lib/utils/cap.js.map +1 -0
  474. package/lib/utils/createStringMatcher.d.ts +10 -0
  475. package/lib/utils/createStringMatcher.d.ts.map +1 -0
  476. package/lib/utils/createStringMatcher.js +21 -0
  477. package/lib/utils/createStringMatcher.js.map +1 -0
  478. package/lib/utils/createUID.d.ts +4 -0
  479. package/lib/utils/createUID.d.ts.map +1 -0
  480. package/lib/utils/createUID.js +6 -0
  481. package/lib/utils/createUID.js.map +1 -0
  482. package/lib/utils/debounce.d.ts +4 -0
  483. package/lib/utils/debounce.d.ts.map +1 -0
  484. package/lib/utils/debounce.js +14 -0
  485. package/lib/utils/debounce.js.map +1 -0
  486. package/lib/utils/deepGet.d.ts +3 -0
  487. package/lib/utils/deepGet.d.ts.map +1 -0
  488. package/lib/utils/deepGet.js +15 -0
  489. package/lib/utils/deepGet.js.map +1 -0
  490. package/lib/utils/deepObjectComparison.d.ts +4 -0
  491. package/lib/utils/deepObjectComparison.d.ts.map +1 -0
  492. package/lib/utils/deepObjectComparison.js +35 -0
  493. package/lib/utils/deepObjectComparison.js.map +1 -0
  494. package/lib/utils/defineSmartGetter.d.ts +3 -0
  495. package/lib/utils/defineSmartGetter.d.ts.map +1 -0
  496. package/lib/utils/defineSmartGetter.js +14 -0
  497. package/lib/utils/defineSmartGetter.js.map +1 -0
  498. package/lib/utils/documentIsAvailable.d.ts +3 -0
  499. package/lib/utils/documentIsAvailable.d.ts.map +1 -0
  500. package/lib/utils/documentIsAvailable.js +3 -0
  501. package/lib/utils/documentIsAvailable.js.map +1 -0
  502. package/lib/utils/escapeRegExp.d.ts +8 -0
  503. package/lib/utils/escapeRegExp.d.ts.map +1 -0
  504. package/lib/utils/escapeRegExp.js +8 -0
  505. package/lib/utils/escapeRegExp.js.map +1 -0
  506. package/lib/utils/focusHeadingOrContainer.d.ts +8 -0
  507. package/lib/utils/focusHeadingOrContainer.d.ts.map +1 -0
  508. package/lib/utils/focusHeadingOrContainer.js +29 -0
  509. package/lib/utils/focusHeadingOrContainer.js.map +1 -0
  510. package/lib/utils/formatListToLocaleString.d.ts +15 -0
  511. package/lib/utils/formatListToLocaleString.d.ts.map +1 -0
  512. package/lib/utils/formatListToLocaleString.js +17 -0
  513. package/lib/utils/formatListToLocaleString.js.map +1 -0
  514. package/lib/utils/getActiveElement.d.ts +8 -0
  515. package/lib/utils/getActiveElement.d.ts.map +1 -0
  516. package/lib/utils/getActiveElement.js +18 -0
  517. package/lib/utils/getActiveElement.js.map +1 -0
  518. package/lib/utils/getFocusables.d.ts +9 -0
  519. package/lib/utils/getFocusables.d.ts.map +1 -0
  520. package/lib/utils/getFocusables.js +15 -0
  521. package/lib/utils/getFocusables.js.map +1 -0
  522. package/lib/utils/getScrollbarWidth.d.ts +4 -0
  523. package/lib/utils/getScrollbarWidth.d.ts.map +1 -0
  524. package/lib/utils/getScrollbarWidth.js +17 -0
  525. package/lib/utils/getScrollbarWidth.js.map +1 -0
  526. package/lib/utils/hasProp.d.ts +4 -0
  527. package/lib/utils/hasProp.d.ts.map +1 -0
  528. package/lib/utils/hasProp.js +6 -0
  529. package/lib/utils/hasProp.js.map +1 -0
  530. package/lib/utils/index.d.ts +27 -1
  531. package/lib/utils/index.d.ts.map +1 -1
  532. package/lib/utils/index.js +27 -1
  533. package/lib/utils/index.js.map +1 -1
  534. package/lib/utils/loadScript.d.ts +3 -0
  535. package/lib/utils/loadScript.d.ts.map +1 -0
  536. package/lib/utils/loadScript.js +9 -0
  537. package/lib/utils/loadScript.js.map +1 -0
  538. package/lib/utils/navigatorIsAvailable.d.ts +3 -0
  539. package/lib/utils/navigatorIsAvailable.d.ts.map +1 -0
  540. package/lib/utils/navigatorIsAvailable.js +3 -0
  541. package/lib/utils/navigatorIsAvailable.js.map +1 -0
  542. package/lib/utils/normalizeElements.d.ts +9 -0
  543. package/lib/utils/normalizeElements.d.ts.map +1 -0
  544. package/lib/utils/normalizeElements.js +14 -0
  545. package/lib/utils/normalizeElements.js.map +1 -0
  546. package/lib/utils/range.d.ts +4 -0
  547. package/lib/utils/range.d.ts.map +1 -0
  548. package/lib/utils/range.js +8 -0
  549. package/lib/utils/range.js.map +1 -0
  550. package/lib/utils/reflow.d.ts +4 -0
  551. package/lib/utils/reflow.d.ts.map +1 -0
  552. package/lib/utils/reflow.js +7 -0
  553. package/lib/utils/reflow.js.map +1 -0
  554. package/lib/utils/replaceMatchWithElement.d.ts +4 -0
  555. package/lib/utils/replaceMatchWithElement.d.ts.map +1 -0
  556. package/lib/utils/replaceMatchWithElement.js +32 -0
  557. package/lib/utils/replaceMatchWithElement.js.map +1 -0
  558. package/lib/utils/sameOrigin.d.ts +7 -0
  559. package/lib/utils/sameOrigin.d.ts.map +1 -0
  560. package/lib/utils/sameOrigin.js +25 -0
  561. package/lib/utils/sameOrigin.js.map +1 -0
  562. package/lib/utils/testElForOverflow.d.ts +4 -0
  563. package/lib/utils/testElForOverflow.d.ts.map +1 -0
  564. package/lib/utils/testElForOverflow.js +6 -0
  565. package/lib/utils/testElForOverflow.js.map +1 -0
  566. package/lib/utils/triple.d.ts +12 -0
  567. package/lib/utils/triple.d.ts.map +1 -0
  568. package/lib/utils/triple.js +13 -0
  569. package/lib/utils/triple.js.map +1 -0
  570. package/lib/utils/tryCatch.d.ts +5 -0
  571. package/lib/utils/tryCatch.d.ts.map +1 -0
  572. package/lib/utils/tryCatch.js +16 -0
  573. package/lib/utils/tryCatch.js.map +1 -0
  574. package/lib/utils/windowIsAvailable.d.ts +3 -0
  575. package/lib/utils/windowIsAvailable.d.ts.map +1 -0
  576. package/lib/utils/windowIsAvailable.js +3 -0
  577. package/lib/utils/windowIsAvailable.js.map +1 -0
  578. package/package.json +4 -2
  579. package/lib/components/ListToolbar/QueryOptionPopover.d.ts +0 -12
  580. package/lib/components/ListToolbar/QueryOptionPopover.d.ts.map +0 -1
  581. package/lib/components/ListToolbar/QueryOptionPopover.js +0 -36
  582. package/lib/components/ListToolbar/QueryOptionPopover.js.map +0 -1
  583. package/lib/utils/utils.d.ts +0 -93
  584. package/lib/utils/utils.d.ts.map +0 -1
  585. package/lib/utils/utils.js +0 -287
  586. package/lib/utils/utils.js.map +0 -1
@@ -1,80 +1,119 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef, useState, useEffect, useRef } from 'react';
3
3
  import { createPortal } from 'react-dom';
4
- import styled, { css } from 'styled-components';
5
- import { readableColor, rgba } from 'polished';
6
- import Backdrop from '../Backdrop';
7
4
  import Text from '../Text';
8
- import { calculateFontSize } from '../../styles';
9
- import { tryCatch } from '../../utils';
10
- import { useConfiguration } from '../../hooks';
5
+ import { useConfiguration, useConsolidatedRef, useI18n, useLiveLog } from '../../hooks';
6
+ import Flex from '../Flex';
11
7
  import Bar from './Bar';
12
8
  import Ellipsis from './Ellipsis';
13
9
  import Ring from './Ring';
14
- const StyledMessage = styled.span(({ theme }) => {
15
- const color = tryCatch(() => {
16
- return rgba(readableColor(theme.base.palette['primary-background']), theme.base.transparency['transparent-3']);
17
- });
18
- const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);
19
- return css `
20
- margin-top: 0.5rem;
21
- font-size: ${fontSize[theme.components.label['font-size']]};
22
- font-weight: ${theme.base['font-weight']['semi-bold']};
23
- color: ${color};
24
- `;
25
- });
26
- const Progress = forwardRef(({ variant = 'ring', placement = 'global', visible = true, onTransitionEndIn, onTransitionEndOut, value, message, ...restProps }, ref) => {
27
- const [isVisible, setIsVisible] = useState(visible);
28
- const [isNull, setIsNull] = useState(!visible);
10
+ import { StyledMessage, StyledProgress, StyledProgressBackdrop } from './Progress.styles';
11
+ const variantMap = {
12
+ ring: Ring,
13
+ bar: Bar,
14
+ ellipsis: Ellipsis
15
+ };
16
+ const delayDuration = 100;
17
+ const minVisibleDuration = 1000;
18
+ const Progress = forwardRef(({ variant = 'ring', placement = 'global', visible: visibleProp = true, focusOnVisible = false, delay = false, onTransitionEndIn, onTransitionEndOut, value, message, liveConfig, ...restProps }, ref) => {
19
+ const t = useI18n();
29
20
  const { portalTarget } = useConfiguration();
30
- const showTime = useRef();
31
- const showTimeout = useRef();
32
- const hideTimeout = useRef();
33
- let Comp = Ring;
34
- if (variant === 'bar')
35
- Comp = Bar;
36
- else if (variant === 'ellipsis')
37
- Comp = Ellipsis;
38
- const onBackdropTransitionEnd = () => {
39
- setIsNull(true);
40
- onTransitionEndOut?.();
21
+ const { announcePolite } = useLiveLog();
22
+ const progressEl = useConsolidatedRef(ref);
23
+ // Rendering states. Both are needed due to Backdrop's transition phase where isVisibleState is false but nullRender is true until onAfterTransitionOut.
24
+ const [isVisibleState, setIsVisibleState] = useState(delay ? false : visibleProp);
25
+ const [nullRender, setNullRender] = useState(!isVisibleState);
26
+ // Refs for timestamps and timeout ids.
27
+ const timeBeforeVisibleRender = useRef();
28
+ const timeAfterVisibleRender = useRef();
29
+ const delayTimer = useRef();
30
+ const minVisibleTimer = useRef();
31
+ const hasBackdrop = placement === 'global' || placement === 'local';
32
+ const valString = typeof value === 'number' ? `${value}%` : undefined;
33
+ const label = message && valString ? `${message} - ${valString}` : message || valString;
34
+ const renderVisible = () => {
35
+ setIsVisibleState(true);
36
+ setNullRender(false);
37
+ };
38
+ const renderNotVisible = () => {
39
+ setIsVisibleState(false);
40
+ // With a transition, setNullRender needs to be called in Backdrop's onAfterTransitionOut.
41
+ if (!hasBackdrop) {
42
+ setNullRender(true);
43
+ }
41
44
  };
45
+ // Handle render and visible state.
42
46
  useEffect(() => {
43
- if (visible) {
44
- clearTimeout(hideTimeout.current);
45
- showTime.current = Date.now();
46
- showTimeout.current = window.setTimeout(() => {
47
- setIsVisible(true);
48
- setIsNull(false);
49
- }, 100);
47
+ if (visibleProp) {
48
+ // Capture a timestamp for additional timers.
49
+ timeBeforeVisibleRender.current = Date.now();
50
+ if (delay) {
51
+ delayTimer.current = window.setTimeout(renderVisible, delayDuration);
52
+ }
53
+ else {
54
+ renderVisible();
55
+ }
50
56
  }
51
- else {
52
- clearTimeout(showTimeout.current);
53
- if (typeof showTime.current === 'number') {
54
- const minimumDuration = 1000;
55
- const timeElapsed = Date.now() - showTime.current;
56
- if (timeElapsed > minimumDuration)
57
- setIsVisible(false);
57
+ else if (
58
+ // A timer was started to render visible either avoid it or render null.
59
+ delayTimer.current !== undefined) {
60
+ // If a timeout has started to render visible, clear it.
61
+ clearTimeout(delayTimer.current);
62
+ // If the indicator has already rendered visible.
63
+ if (timeAfterVisibleRender.current !== undefined) {
64
+ const timeElapsedSinceLastVisibleRender = Date.now() - timeAfterVisibleRender.current;
65
+ // If the indicator has been visible for long enough we can remove it.
66
+ if (timeElapsedSinceLastVisibleRender >= minVisibleDuration) {
67
+ renderNotVisible();
68
+ }
58
69
  else {
59
- hideTimeout.current = window.setTimeout(() => {
60
- setIsVisible(false);
61
- }, minimumDuration - timeElapsed);
70
+ // Hold off removing until we hit the minimum visible time.
71
+ minVisibleTimer.current = window.setTimeout(renderNotVisible, minVisibleDuration - timeElapsedSinceLastVisibleRender);
62
72
  }
63
73
  }
64
- else
65
- setIsVisible(false);
74
+ else {
75
+ renderNotVisible();
76
+ }
77
+ }
78
+ else {
79
+ renderNotVisible();
66
80
  }
67
- }, [visible]);
81
+ },
82
+ // visibleProp is the only triggerable dependency. Others values will be captured.
83
+ [visibleProp]);
84
+ // Live announcement
68
85
  useEffect(() => {
69
- return () => {
70
- clearTimeout(showTimeout.current);
71
- clearTimeout(hideTimeout.current);
72
- };
73
- }, []);
74
- if (isNull)
86
+ if (liveConfig?.contextualLabel && isVisibleState) {
87
+ announcePolite({
88
+ message: `${liveConfig.contextualLabel}, ${label ?? t('loading')}`,
89
+ type: 'status'
90
+ });
91
+ }
92
+ },
93
+ // isVisibleState is the only triggerable dependency. Others values will be captured.
94
+ [isVisibleState]);
95
+ // Auto focusing and render timestamping.
96
+ useEffect(() => {
97
+ if (!nullRender && isVisibleState) {
98
+ // After a visible render set a timestamp for timers above.
99
+ timeAfterVisibleRender.current = Date.now();
100
+ if (focusOnVisible)
101
+ progressEl.current?.focus();
102
+ }
103
+ },
104
+ // nullRender is the only triggerable dependency. Others values will be captured.
105
+ [nullRender]);
106
+ if (nullRender)
75
107
  return null;
76
- const comp = (_jsx(Comp, { ...restProps, placement: placement, value: value, "aria-valuetext": message && typeof value === 'number' ? `${message} - ${value}` : message, ref: ref }));
77
- const content = placement === 'inline' ? (comp) : (_jsxs(Backdrop, { open: isVisible, container: { direction: 'column' }, position: placement === 'global' ? 'fixed' : 'absolute', variant: 'light', alpha: 0.5, onAfterTransitionIn: onTransitionEndIn, onAfterTransitionOut: onBackdropTransitionEnd, children: [comp, !!message && (_jsx(Text, { as: StyledMessage, variant: 'secondary', "aria-hidden": 'true', children: message }))] }));
108
+ const CompVariant = variantMap[variant];
109
+ let indicator = (_jsx(CompVariant, { "aria-label": typeof value !== 'number' ? label : t('loading'), ...restProps, placement: placement, value: value, "aria-valuetext": typeof value === 'number' ? label : undefined, ref: progressEl, tabIndex: -1 }));
110
+ if (placement !== 'inline') {
111
+ indicator = (_jsxs(Flex, { container: { direction: 'column', alignItems: 'center', gap: 0.5 }, as: StyledProgress, placement: placement, children: [indicator, message && (_jsx(Text, { as: StyledMessage, variant: 'secondary', "aria-hidden": 'true', children: message }))] }));
112
+ }
113
+ const content = hasBackdrop ? (_jsx(StyledProgressBackdrop, { open: isVisibleState, container: { direction: 'column' }, position: placement === 'global' ? 'fixed' : 'absolute', variant: 'light', alpha: 0.5, onAfterTransitionIn: onTransitionEndIn, onAfterTransitionOut: () => {
114
+ setNullRender(true);
115
+ onTransitionEndOut?.();
116
+ }, children: indicator })) : (indicator);
78
117
  return placement === 'global' && portalTarget ? createPortal(content, portalTarget) : content;
79
118
  });
80
119
  export default Progress;
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../../src/components/Progress/Progress.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, PropsWithoutRef, FC, useState, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\nimport styled, { css } from 'styled-components';\nimport { readableColor, rgba } from 'polished';\n\nimport { ForwardProps } from '../../types';\nimport Backdrop from '../Backdrop';\nimport Text from '../Text';\nimport { calculateFontSize, FontSize } from '../../styles';\nimport { tryCatch } from '../../utils';\nimport { useConfiguration } from '../../hooks';\n\nimport { ProgressProps } from './Progress.types';\nimport Bar from './Bar';\nimport Ellipsis from './Ellipsis';\nimport Ring from './Ring';\n\nconst StyledMessage = styled.span(({ theme }) => {\n const color = tryCatch(() => {\n return rgba(\n readableColor(theme.base.palette['primary-background']),\n theme.base.transparency['transparent-3']\n );\n });\n\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n return css`\n margin-top: 0.5rem;\n font-size: ${fontSize[theme.components.label['font-size'] as FontSize]};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n color: ${color};\n `;\n});\n\nconst Progress: FC<ProgressProps & ForwardProps> = forwardRef(\n (\n {\n variant = 'ring',\n placement = 'global',\n visible = true,\n onTransitionEndIn,\n onTransitionEndOut,\n value,\n message,\n ...restProps\n }: PropsWithoutRef<ProgressProps>,\n ref: ProgressProps['ref']\n ) => {\n const [isVisible, setIsVisible] = useState(visible);\n const [isNull, setIsNull] = useState(!visible);\n const { portalTarget } = useConfiguration();\n const showTime = useRef<number>();\n const showTimeout = useRef<number>();\n const hideTimeout = useRef<number>();\n\n let Comp = Ring;\n if (variant === 'bar') Comp = Bar;\n else if (variant === 'ellipsis') Comp = Ellipsis;\n\n const onBackdropTransitionEnd = () => {\n setIsNull(true);\n onTransitionEndOut?.();\n };\n\n useEffect(() => {\n if (visible) {\n clearTimeout(hideTimeout.current);\n showTime.current = Date.now();\n showTimeout.current = window.setTimeout(() => {\n setIsVisible(true);\n setIsNull(false);\n }, 100);\n } else {\n clearTimeout(showTimeout.current);\n\n if (typeof showTime.current === 'number') {\n const minimumDuration = 1000;\n const timeElapsed = Date.now() - showTime.current;\n\n if (timeElapsed > minimumDuration) setIsVisible(false);\n else {\n hideTimeout.current = window.setTimeout(() => {\n setIsVisible(false);\n }, minimumDuration - timeElapsed);\n }\n } else setIsVisible(false);\n }\n }, [visible]);\n\n useEffect(() => {\n return () => {\n clearTimeout(showTimeout.current);\n clearTimeout(hideTimeout.current);\n };\n }, []);\n\n if (isNull) return null;\n\n const comp = (\n <Comp\n {...restProps}\n placement={placement}\n value={value}\n aria-valuetext={message && typeof value === 'number' ? `${message} - ${value}` : message}\n ref={ref}\n />\n );\n\n const content =\n placement === 'inline' ? (\n comp\n ) : (\n <Backdrop\n open={isVisible}\n container={{ direction: 'column' }}\n position={placement === 'global' ? 'fixed' : 'absolute'}\n variant='light'\n alpha={0.5}\n onAfterTransitionIn={onTransitionEndIn}\n onAfterTransitionOut={onBackdropTransitionEnd}\n >\n {comp}\n {!!message && (\n <Text as={StyledMessage} variant='secondary' aria-hidden='true'>\n {message}\n </Text>\n )}\n </Backdrop>\n );\n\n return placement === 'global' && portalTarget ? createPortal(content, portalTarget) : content;\n }\n);\n\nexport default Progress;\n"]}
1
+ {"version":3,"file":"Progress.js","sourceRoot":"","sources":["../../../src/components/Progress/Progress.tsx"],"names":[],"mappings":"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","sourcesContent":["import { forwardRef, PropsWithoutRef, FC, useState, useEffect, useRef } from 'react';\nimport { createPortal } from 'react-dom';\n\nimport { ForwardProps } from '../../types';\nimport Text from '../Text';\nimport { useConfiguration, useConsolidatedRef, useI18n, useLiveLog } from '../../hooks';\nimport Flex from '../Flex';\n\nimport { ProgressProps } from './Progress.types';\nimport Bar from './Bar';\nimport Ellipsis from './Ellipsis';\nimport Ring from './Ring';\nimport { StyledMessage, StyledProgress, StyledProgressBackdrop } from './Progress.styles';\n\nconst variantMap = {\n ring: Ring,\n bar: Bar,\n ellipsis: Ellipsis\n} as const;\n\nconst delayDuration = 100;\nconst minVisibleDuration = 1000;\n\nconst Progress: FC<ProgressProps & ForwardProps> = forwardRef(\n (\n {\n variant = 'ring',\n placement = 'global',\n visible: visibleProp = true,\n focusOnVisible = false,\n delay = false,\n onTransitionEndIn,\n onTransitionEndOut,\n value,\n message,\n liveConfig,\n ...restProps\n }: PropsWithoutRef<ProgressProps>,\n ref: ProgressProps['ref']\n ) => {\n const t = useI18n();\n const { portalTarget } = useConfiguration();\n const { announcePolite } = useLiveLog();\n const progressEl = useConsolidatedRef<HTMLDivElement>(ref);\n\n // Rendering states. Both are needed due to Backdrop's transition phase where isVisibleState is false but nullRender is true until onAfterTransitionOut.\n const [isVisibleState, setIsVisibleState] = useState(delay ? false : visibleProp);\n const [nullRender, setNullRender] = useState(!isVisibleState);\n\n // Refs for timestamps and timeout ids.\n const timeBeforeVisibleRender = useRef<number>();\n const timeAfterVisibleRender = useRef<number>();\n const delayTimer = useRef<number>();\n const minVisibleTimer = useRef<number>();\n\n const hasBackdrop = placement === 'global' || placement === 'local';\n const valString = typeof value === 'number' ? `${value}%` : undefined;\n const label = message && valString ? `${message} - ${valString}` : message || valString;\n\n const renderVisible = () => {\n setIsVisibleState(true);\n setNullRender(false);\n };\n\n const renderNotVisible = () => {\n setIsVisibleState(false);\n // With a transition, setNullRender needs to be called in Backdrop's onAfterTransitionOut.\n if (!hasBackdrop) {\n setNullRender(true);\n }\n };\n\n // Handle render and visible state.\n useEffect(\n () => {\n if (visibleProp) {\n // Capture a timestamp for additional timers.\n timeBeforeVisibleRender.current = Date.now();\n\n if (delay) {\n delayTimer.current = window.setTimeout(renderVisible, delayDuration);\n } else {\n renderVisible();\n }\n } else if (\n // A timer was started to render visible either avoid it or render null.\n delayTimer.current !== undefined\n ) {\n // If a timeout has started to render visible, clear it.\n clearTimeout(delayTimer.current);\n\n // If the indicator has already rendered visible.\n if (timeAfterVisibleRender.current !== undefined) {\n const timeElapsedSinceLastVisibleRender = Date.now() - timeAfterVisibleRender.current;\n\n // If the indicator has been visible for long enough we can remove it.\n if (timeElapsedSinceLastVisibleRender >= minVisibleDuration) {\n renderNotVisible();\n } else {\n // Hold off removing until we hit the minimum visible time.\n minVisibleTimer.current = window.setTimeout(\n renderNotVisible,\n minVisibleDuration - timeElapsedSinceLastVisibleRender\n );\n }\n } else {\n renderNotVisible();\n }\n } else {\n renderNotVisible();\n }\n },\n // visibleProp is the only triggerable dependency. Others values will be captured.\n [visibleProp]\n );\n\n // Live announcement\n useEffect(\n () => {\n if (liveConfig?.contextualLabel && isVisibleState) {\n announcePolite({\n message: `${liveConfig.contextualLabel}, ${label ?? t('loading')}`,\n type: 'status'\n });\n }\n },\n // isVisibleState is the only triggerable dependency. Others values will be captured.\n [isVisibleState]\n );\n\n // Auto focusing and render timestamping.\n useEffect(\n () => {\n if (!nullRender && isVisibleState) {\n // After a visible render set a timestamp for timers above.\n timeAfterVisibleRender.current = Date.now();\n\n if (focusOnVisible) progressEl.current?.focus();\n }\n },\n // nullRender is the only triggerable dependency. Others values will be captured.\n [nullRender]\n );\n\n if (nullRender) return null;\n\n const CompVariant = variantMap[variant];\n\n let indicator = (\n <CompVariant\n aria-label={typeof value !== 'number' ? label : t('loading')}\n {...restProps}\n placement={placement}\n value={value}\n aria-valuetext={typeof value === 'number' ? label : undefined}\n ref={progressEl}\n tabIndex={-1}\n />\n );\n\n if (placement !== 'inline') {\n indicator = (\n <Flex\n container={{ direction: 'column', alignItems: 'center', gap: 0.5 }}\n as={StyledProgress}\n placement={placement}\n >\n {indicator}\n {message && (\n <Text as={StyledMessage} variant='secondary' aria-hidden='true'>\n {message}\n </Text>\n )}\n </Flex>\n );\n }\n\n const content = hasBackdrop ? (\n <StyledProgressBackdrop\n open={isVisibleState}\n container={{ direction: 'column' }}\n position={placement === 'global' ? 'fixed' : 'absolute'}\n variant='light'\n alpha={0.5}\n onAfterTransitionIn={onTransitionEndIn}\n onAfterTransitionOut={() => {\n setNullRender(true);\n onTransitionEndOut?.();\n }}\n >\n {indicator}\n </StyledProgressBackdrop>\n ) : (\n indicator\n );\n\n return placement === 'global' && portalTarget ? createPortal(content, portalTarget) : content;\n }\n);\n\nexport default Progress;\n"]}
@@ -0,0 +1,12 @@
1
+ import { ProgressProps } from './Progress.types';
2
+ export declare const StyledProgressBackdrop: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Backdrop").BackdropProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, {}, never>;
3
+ export declare const StyledProgressRing: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, Pick<ProgressProps, "placement"> & {
4
+ determinate: boolean;
5
+ }, never>;
6
+ export declare const StyledProgressBar: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, ProgressProps & {
7
+ determinate: boolean;
8
+ }, never>;
9
+ export declare const StyledProgressEllipsis: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, Pick<ProgressProps, "placement">, never>;
10
+ export declare const StyledMessage: import("styled-components").StyledComponent<"span", import("styled-components").DefaultTheme, {}, never>;
11
+ export declare const StyledProgress: import("styled-components").StyledComponent<import("react").FunctionComponent<import("../Flex").FlexProps & import("../..").ForwardProps>, import("styled-components").DefaultTheme, Pick<ProgressProps, "placement">, never>;
12
+ //# sourceMappingURL=Progress.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.styles.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/Progress.styles.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,sBAAsB,yMAAqB,CAAC;AAczD,eAAO,MAAM,kBAAkB;iBACqB,OAAO;SAkDzD,CAAC;AAIH,eAAO,MAAM,iBAAiB;iBACG,OAAO;SAmDtC,CAAC;AAIH,eAAO,MAAM,sBAAsB,uIAsEjC,CAAC;AAIH,eAAO,MAAM,aAAa,0GAexB,CAAC;AAIH,eAAO,MAAM,cAAc,+NAc1B,CAAC"}
@@ -0,0 +1,217 @@
1
+ import { rgba, readableColor } from 'polished';
2
+ import styled, { css } from 'styled-components';
3
+ import { calculateFontSize } from '../../styles';
4
+ import { defaultThemeProp } from '../../theme';
5
+ import { tryCatch } from '../../utils';
6
+ import Backdrop from '../Backdrop';
7
+ import Flex from '../Flex';
8
+ export const StyledProgressBackdrop = styled(Backdrop) ``;
9
+ const StyledProgressVisual = styled.div(({ theme }) => {
10
+ return css `
11
+ &:focus-visible {
12
+ box-shadow: ${theme.components.button['focus-shadow']};
13
+ outline: none;
14
+ border-radius: calc(9999 * ${theme.base['border-radius']});
15
+ }
16
+ `;
17
+ });
18
+ StyledProgressVisual.defaultProps = defaultThemeProp;
19
+ export const StyledProgressRing = styled(StyledProgressVisual)(({ theme, placement, determinate }) => {
20
+ const size = placement === 'inline' ? '1em' : '2rem';
21
+ return css `
22
+ @keyframes LoadingRing {
23
+ 0% {
24
+ transform: rotate(0deg);
25
+ }
26
+
27
+ 100% {
28
+ transform: rotate(360deg);
29
+ }
30
+ }
31
+ position: relative;
32
+
33
+ svg {
34
+ display: block;
35
+ width: ${size};
36
+ height: ${size};
37
+
38
+ circle {
39
+ fill: transparent;
40
+ stroke: ${theme.base.colors.gray['extra-light']};
41
+ stroke-width: 2;
42
+ r: 45%;
43
+ cx: 50%;
44
+ cy: 50%;
45
+ transform: rotate(-90deg);
46
+ transform-origin: 50% 50%;
47
+
48
+ &:nth-child(2) {
49
+ stroke: ${theme.components.progress['progress-color']};
50
+ transition: stroke-dashoffset calc(0.5 * ${theme.base.animation.speed})
51
+ ${theme.base.animation.timing.ease};
52
+
53
+ ${!determinate &&
54
+ css `
55
+ animation: LoadingRing calc(4 * ${theme.base.animation.speed}) linear infinite;
56
+ `}
57
+ }
58
+ }
59
+ }
60
+
61
+ ${placement === 'inline' &&
62
+ css `
63
+ display: inline-flex;
64
+ vertical-align: top;
65
+ `}
66
+ `;
67
+ });
68
+ StyledProgressRing.defaultProps = defaultThemeProp;
69
+ export const StyledProgressBar = styled(StyledProgressVisual)(({ theme, placement, determinate }) => {
70
+ return css `
71
+ background-color: ${theme.base.colors.gray['extra-light']};
72
+ border-radius: ${theme.base['border-radius']};
73
+ width: calc(100% - ${placement === 'local' ? css `4 * ${theme.base.spacing}` : '0rem'});
74
+ height: 0.375rem;
75
+ min-width: 2rem;
76
+ max-width: min(calc(100vw - 4 * ${theme.base.spacing}), ${theme.base['content-width'].lg});
77
+ overflow: hidden;
78
+
79
+ @keyframes LoadingBar {
80
+ 0% {
81
+ transform: translateX(-100%);
82
+ }
83
+
84
+ 100% {
85
+ transform: translateX(200%);
86
+ }
87
+ }
88
+
89
+ ::before {
90
+ content: '';
91
+ display: block;
92
+ height: 100%;
93
+ width: 100%;
94
+ left: 0;
95
+ border-radius: ${theme.base['border-radius']};
96
+ background-color: ${theme.components.progress['progress-color']};
97
+ ${determinate &&
98
+ css `
99
+ transform: translateX(var(--progress, 0));
100
+ transform-origin: 0 50%;
101
+ transition: transform calc(0.5 * ${theme.base.animation.speed})
102
+ ${theme.base.animation.timing.ease};
103
+ `}
104
+
105
+ ${!determinate &&
106
+ css `
107
+ animation: LoadingBar calc(8 * ${theme.base.animation.speed}) linear infinite;
108
+ width: 50%;
109
+ `}
110
+ }
111
+
112
+ ${placement === 'inline' &&
113
+ css `
114
+ width: 3rem;
115
+ display: inline-block;
116
+ position: relative;
117
+ `}
118
+ `;
119
+ });
120
+ StyledProgressBar.defaultProps = defaultThemeProp;
121
+ export const StyledProgressEllipsis = styled(StyledProgressVisual)(({ theme, placement }) => {
122
+ return css `
123
+ line-height: 1;
124
+ display: ${placement === 'inline' ? 'inline-flex' : 'block'};
125
+
126
+ @keyframes LoadingEllipsis {
127
+ 0% {
128
+ transform: scale(0);
129
+ opacity: 0;
130
+ }
131
+
132
+ 50% {
133
+ transform: scale(1);
134
+ opacity: 1;
135
+ }
136
+
137
+ 100% {
138
+ transform: scale(0);
139
+ opacity: 0;
140
+ }
141
+ }
142
+
143
+ > span {
144
+ display: flex;
145
+ justify-content: center;
146
+ mix-blend-mode: multiply;
147
+
148
+ ${placement === 'inline' &&
149
+ css `
150
+ display: inline-flex;
151
+ `}
152
+ }
153
+
154
+ > span span {
155
+ margin: 0 0.3125rem;
156
+ background: ${theme.components.progress['progress-color']};
157
+ border-radius: 50%;
158
+ animation: LoadingEllipsis calc(4 * ${theme.base.animation.speed}) infinite;
159
+
160
+ ${placement === 'global' &&
161
+ css `
162
+ width: 1.25rem;
163
+ height: 1.25rem;
164
+ `}
165
+
166
+ ${(placement === 'local' || placement === 'block') &&
167
+ css `
168
+ width: 0.625rem;
169
+ height: 0.625rem;
170
+ `}
171
+
172
+ ${placement === 'inline' &&
173
+ css `
174
+ width: 0.1875rem;
175
+ height: 0.1875rem;
176
+ margin: 0 0.1875rem;
177
+ animation-duration: calc(4 * ${theme.base.animation.speed});
178
+ `}
179
+
180
+ &:nth-child(2) {
181
+ animation-delay: 0.1667s;
182
+ }
183
+
184
+ &:nth-child(3) {
185
+ animation-delay: ${0.1667 * 2}s;
186
+ }
187
+ }
188
+ `;
189
+ });
190
+ StyledProgressEllipsis.defaultProps = defaultThemeProp;
191
+ export const StyledMessage = styled.span(({ theme }) => {
192
+ const color = tryCatch(() => {
193
+ return rgba(readableColor(theme.base.palette['primary-background']), theme.base.transparency['transparent-3']);
194
+ });
195
+ const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);
196
+ return css `
197
+ font-size: ${fontSize[theme.components.label['font-size']]};
198
+ font-weight: ${theme.base['font-weight']['semi-bold']};
199
+ color: ${color};
200
+ `;
201
+ });
202
+ StyledMessage.defaultProps = defaultThemeProp;
203
+ export const StyledProgress = styled(Flex)(({ theme, placement }) => {
204
+ return css `
205
+ ${placement !== 'inline' &&
206
+ css `
207
+ width: 100%;
208
+ `}
209
+
210
+ ${placement === 'block' &&
211
+ css `
212
+ margin-block: calc(2 * ${theme.base.spacing});
213
+ `}
214
+ `;
215
+ });
216
+ StyledProgress.defaultProps = defaultThemeProp;
217
+ //# sourceMappingURL=Progress.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Progress.styles.js","sourceRoot":"","sources":["../../../src/components/Progress/Progress.styles.ts"],"names":[],"mappings":"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","sourcesContent":["import { rgba, readableColor } from 'polished';\nimport styled, { css } from 'styled-components';\n\nimport { calculateFontSize, FontSize } from '../../styles';\nimport { defaultThemeProp } from '../../theme';\nimport { tryCatch } from '../../utils';\nimport Backdrop from '../Backdrop';\nimport Flex from '../Flex';\n\nimport { ProgressProps } from './Progress.types';\n\nexport const StyledProgressBackdrop = styled(Backdrop)``;\n\nconst StyledProgressVisual = styled.div(({ theme }) => {\n return css`\n &:focus-visible {\n box-shadow: ${theme.components.button['focus-shadow']};\n outline: none;\n border-radius: calc(9999 * ${theme.base['border-radius']});\n }\n `;\n});\n\nStyledProgressVisual.defaultProps = defaultThemeProp;\n\nexport const StyledProgressRing = styled(StyledProgressVisual)<\n Pick<ProgressProps, 'placement'> & { determinate: boolean }\n>(({ theme, placement, determinate }) => {\n const size = placement === 'inline' ? '1em' : '2rem';\n\n return css`\n @keyframes LoadingRing {\n 0% {\n transform: rotate(0deg);\n }\n\n 100% {\n transform: rotate(360deg);\n }\n }\n position: relative;\n\n svg {\n display: block;\n width: ${size};\n height: ${size};\n\n circle {\n fill: transparent;\n stroke: ${theme.base.colors.gray['extra-light']};\n stroke-width: 2;\n r: 45%;\n cx: 50%;\n cy: 50%;\n transform: rotate(-90deg);\n transform-origin: 50% 50%;\n\n &:nth-child(2) {\n stroke: ${theme.components.progress['progress-color']};\n transition: stroke-dashoffset calc(0.5 * ${theme.base.animation.speed})\n ${theme.base.animation.timing.ease};\n\n ${!determinate &&\n css`\n animation: LoadingRing calc(4 * ${theme.base.animation.speed}) linear infinite;\n `}\n }\n }\n }\n\n ${placement === 'inline' &&\n css`\n display: inline-flex;\n vertical-align: top;\n `}\n `;\n});\n\nStyledProgressRing.defaultProps = defaultThemeProp;\n\nexport const StyledProgressBar = styled(StyledProgressVisual)<\n ProgressProps & { determinate: boolean }\n>(({ theme, placement, determinate }) => {\n return css`\n background-color: ${theme.base.colors.gray['extra-light']};\n border-radius: ${theme.base['border-radius']};\n width: calc(100% - ${placement === 'local' ? css`4 * ${theme.base.spacing}` : '0rem'});\n height: 0.375rem;\n min-width: 2rem;\n max-width: min(calc(100vw - 4 * ${theme.base.spacing}), ${theme.base['content-width'].lg});\n overflow: hidden;\n\n @keyframes LoadingBar {\n 0% {\n transform: translateX(-100%);\n }\n\n 100% {\n transform: translateX(200%);\n }\n }\n\n ::before {\n content: '';\n display: block;\n height: 100%;\n width: 100%;\n left: 0;\n border-radius: ${theme.base['border-radius']};\n background-color: ${theme.components.progress['progress-color']};\n ${determinate &&\n css`\n transform: translateX(var(--progress, 0));\n transform-origin: 0 50%;\n transition: transform calc(0.5 * ${theme.base.animation.speed})\n ${theme.base.animation.timing.ease};\n `}\n\n ${!determinate &&\n css`\n animation: LoadingBar calc(8 * ${theme.base.animation.speed}) linear infinite;\n width: 50%;\n `}\n }\n\n ${placement === 'inline' &&\n css`\n width: 3rem;\n display: inline-block;\n position: relative;\n `}\n `;\n});\n\nStyledProgressBar.defaultProps = defaultThemeProp;\n\nexport const StyledProgressEllipsis = styled(StyledProgressVisual)<\n Pick<ProgressProps, 'placement'>\n>(({ theme, placement }) => {\n return css`\n line-height: 1;\n display: ${placement === 'inline' ? 'inline-flex' : 'block'};\n\n @keyframes LoadingEllipsis {\n 0% {\n transform: scale(0);\n opacity: 0;\n }\n\n 50% {\n transform: scale(1);\n opacity: 1;\n }\n\n 100% {\n transform: scale(0);\n opacity: 0;\n }\n }\n\n > span {\n display: flex;\n justify-content: center;\n mix-blend-mode: multiply;\n\n ${placement === 'inline' &&\n css`\n display: inline-flex;\n `}\n }\n\n > span span {\n margin: 0 0.3125rem;\n background: ${theme.components.progress['progress-color']};\n border-radius: 50%;\n animation: LoadingEllipsis calc(4 * ${theme.base.animation.speed}) infinite;\n\n ${placement === 'global' &&\n css`\n width: 1.25rem;\n height: 1.25rem;\n `}\n\n ${(placement === 'local' || placement === 'block') &&\n css`\n width: 0.625rem;\n height: 0.625rem;\n `}\n\n ${placement === 'inline' &&\n css`\n width: 0.1875rem;\n height: 0.1875rem;\n margin: 0 0.1875rem;\n animation-duration: calc(4 * ${theme.base.animation.speed});\n `}\n\n &:nth-child(2) {\n animation-delay: 0.1667s;\n }\n\n &:nth-child(3) {\n animation-delay: ${0.1667 * 2}s;\n }\n }\n `;\n});\n\nStyledProgressEllipsis.defaultProps = defaultThemeProp;\n\nexport const StyledMessage = styled.span(({ theme }) => {\n const color = tryCatch(() => {\n return rgba(\n readableColor(theme.base.palette['primary-background']),\n theme.base.transparency['transparent-3']\n );\n });\n\n const fontSize = calculateFontSize(theme.base['font-size'], theme.base['font-scale']);\n\n return css`\n font-size: ${fontSize[theme.components.label['font-size'] as FontSize]};\n font-weight: ${theme.base['font-weight']['semi-bold']};\n color: ${color};\n `;\n});\n\nStyledMessage.defaultProps = defaultThemeProp;\n\nexport const StyledProgress = styled(Flex)<Pick<ProgressProps, 'placement'>>(\n ({ theme, placement }) => {\n return css`\n ${placement !== 'inline' &&\n css`\n width: 100%;\n `}\n\n ${placement === 'block' &&\n css`\n margin-block: calc(2 * ${theme.base.spacing});\n `}\n `;\n }\n);\n\nStyledProgress.defaultProps = defaultThemeProp;\n"]}
@@ -25,19 +25,36 @@ export interface ProgressProps extends BaseProps, NoChildrenProp {
25
25
  * Determines the placement of the component.
26
26
  * @default "global"
27
27
  */
28
- placement?: 'global' | 'local' | 'inline';
28
+ placement?: 'global' | 'local' | 'block' | 'inline';
29
29
  /**
30
30
  * When true, fade in occurs when component mounts.
31
31
  * When false, mounted component fades out then re-renders self and returns null, removing itself from the DOM.
32
32
  * This is technically not the same as unmounting via parent.
33
+ * Applicable for all placements but the fade effect is only applicable to 'global' | 'local' placement.
33
34
  * @default true
34
35
  */
35
36
  visible?: boolean;
37
+ /**
38
+ * If true, upon visible render the indicator element will take focus.
39
+ * @default false
40
+ */
41
+ focusOnVisible?: boolean;
42
+ /**
43
+ * If true, the indicator will not render as visible until 1sec after the visible prop is set to true.
44
+ * This is a best estimate to avoid visual flicker where progress is resolved within 1sec.
45
+ * @default false
46
+ */
47
+ delay?: boolean;
36
48
  /** Called when the css transition ends on the way in. */
37
49
  onTransitionEndIn?: BackdropProps['onAfterTransitionIn'];
38
50
  /** Called when the css transition ends on the way out...A good time to unmount! */
39
51
  onTransitionEndOut?: BackdropProps['onAfterTransitionOut'];
40
- /** Ref for the wrapping element. */
52
+ /** Triggers live announcement on show and value or message change. */
53
+ liveConfig?: {
54
+ /** Distinguishes the source of the update on the page. */
55
+ contextualLabel: string;
56
+ };
57
+ /** Ref to the visual indicator element, currently a role of progressbar. */
41
58
  ref?: Ref<HTMLDivElement>;
42
59
  }
43
60
  //# sourceMappingURL=Progress.types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.types.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/Progress.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,SAAS,EAAE,cAAc;IAC9D;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,QAAQ,CAAC;IAC1C;;;;;OAKG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACzD,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC3D,oCAAoC;IACpC,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B"}
1
+ {"version":3,"file":"Progress.types.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/Progress.types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,OAAO,CAAC;AAE5B,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,WAAW,aAAc,SAAQ,SAAS,EAAE,cAAc;IAC9D;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,GAAG,UAAU,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB;;;OAGG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,wFAAwF;IACxF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,+DAA+D;IAC/D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;OAGG;IACH,SAAS,CAAC,EAAE,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;IACpD;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB;;;OAGG;IACH,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB;;;;OAIG;IACH,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,yDAAyD;IACzD,iBAAiB,CAAC,EAAE,aAAa,CAAC,qBAAqB,CAAC,CAAC;IACzD,mFAAmF;IACnF,kBAAkB,CAAC,EAAE,aAAa,CAAC,sBAAsB,CAAC,CAAC;IAC3D,sEAAsE;IACtE,UAAU,CAAC,EAAE;QACX,0DAA0D;QAC1D,eAAe,EAAE,MAAM,CAAC;KACzB,CAAC;IACF,4EAA4E;IAC5E,GAAG,CAAC,EAAE,GAAG,CAAC,cAAc,CAAC,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"Progress.types.js","sourceRoot":"","sources":["../../../src/components/Progress/Progress.types.ts"],"names":[],"mappings":"","sourcesContent":["import { Ref } from 'react';\n\nimport { BaseProps, NoChildrenProp } from '../../types';\nimport { BackdropProps } from '../Backdrop/Backdrop';\n\nexport interface ProgressProps extends BaseProps, NoChildrenProp {\n /**\n * Determines which variant should be rendered.\n * @default \"ring\"\n */\n variant?: 'ring' | 'bar' | 'ellipsis';\n /**\n * Minimum possible value.\n * @default 0\n */\n minValue?: number;\n /**\n * Maximum possible value.\n * @default 100\n */\n maxValue?: number;\n /** Current progress value within the range specified, or the default range of 0-100. */\n value?: number;\n /** Provides a message to the user along with the component. */\n message?: string;\n /**\n * Determines the placement of the component.\n * @default \"global\"\n */\n placement?: 'global' | 'local' | 'inline';\n /**\n * When true, fade in occurs when component mounts.\n * When false, mounted component fades out then re-renders self and returns null, removing itself from the DOM.\n * This is technically not the same as unmounting via parent.\n * @default true\n */\n visible?: boolean;\n /** Called when the css transition ends on the way in. */\n onTransitionEndIn?: BackdropProps['onAfterTransitionIn'];\n /** Called when the css transition ends on the way out...A good time to unmount! */\n onTransitionEndOut?: BackdropProps['onAfterTransitionOut'];\n /** Ref for the wrapping element. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
1
+ {"version":3,"file":"Progress.types.js","sourceRoot":"","sources":["../../../src/components/Progress/Progress.types.ts"],"names":[],"mappings":"","sourcesContent":["import { Ref } from 'react';\n\nimport { BaseProps, NoChildrenProp } from '../../types';\nimport { BackdropProps } from '../Backdrop/Backdrop';\n\nexport interface ProgressProps extends BaseProps, NoChildrenProp {\n /**\n * Determines which variant should be rendered.\n * @default \"ring\"\n */\n variant?: 'ring' | 'bar' | 'ellipsis';\n /**\n * Minimum possible value.\n * @default 0\n */\n minValue?: number;\n /**\n * Maximum possible value.\n * @default 100\n */\n maxValue?: number;\n /** Current progress value within the range specified, or the default range of 0-100. */\n value?: number;\n /** Provides a message to the user along with the component. */\n message?: string;\n /**\n * Determines the placement of the component.\n * @default \"global\"\n */\n placement?: 'global' | 'local' | 'block' | 'inline';\n /**\n * When true, fade in occurs when component mounts.\n * When false, mounted component fades out then re-renders self and returns null, removing itself from the DOM.\n * This is technically not the same as unmounting via parent.\n * Applicable for all placements but the fade effect is only applicable to 'global' | 'local' placement.\n * @default true\n */\n visible?: boolean;\n /**\n * If true, upon visible render the indicator element will take focus.\n * @default false\n */\n focusOnVisible?: boolean;\n /**\n * If true, the indicator will not render as visible until 1sec after the visible prop is set to true.\n * This is a best estimate to avoid visual flicker where progress is resolved within 1sec.\n * @default false\n */\n delay?: boolean;\n /** Called when the css transition ends on the way in. */\n onTransitionEndIn?: BackdropProps['onAfterTransitionIn'];\n /** Called when the css transition ends on the way out...A good time to unmount! */\n onTransitionEndOut?: BackdropProps['onAfterTransitionOut'];\n /** Triggers live announcement on show and value or message change. */\n liveConfig?: {\n /** Distinguishes the source of the update on the page. */\n contextualLabel: string;\n };\n /** Ref to the visual indicator element, currently a role of progressbar. */\n ref?: Ref<HTMLDivElement>;\n}\n"]}
@@ -1,9 +1,6 @@
1
1
  import { FC } from 'react';
2
2
  import { ForwardProps } from '../../types';
3
3
  import { ProgressProps } from './Progress.types';
4
- export declare const StyledProgressRing: import("styled-components").StyledComponent<"div", import("styled-components").DefaultTheme, Pick<ProgressProps, "placement"> & {
5
- determinate: boolean;
6
- }, never>;
7
4
  declare const Ring: FC<ProgressProps & ForwardProps>;
8
5
  export default Ring;
9
6
  //# sourceMappingURL=Ring.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Ring.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/Ring.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAIxD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,eAAO,MAAM,kBAAkB;iBACqB,OAAO;SAuDzD,CAAC;AAIH,QAAA,MAAM,IAAI,EAAE,EAAE,CAAC,aAAa,GAAG,YAAY,CAqC1C,CAAC;AAEF,eAAe,IAAI,CAAC"}
1
+ {"version":3,"file":"Ring.d.ts","sourceRoot":"","sources":["../../../src/components/Progress/Ring.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,EAAE,EAA+B,MAAM,OAAO,CAAC;AAExD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG3C,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAEjD,QAAA,MAAM,IAAI,EAAE,EAAE,CAAC,aAAa,GAAG,YAAY,CAqC1C,CAAC;AAEF,eAAe,IAAI,CAAC"}
@@ -1,63 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { forwardRef } from 'react';
3
- import styled, { css } from 'styled-components';
4
- import { defaultThemeProp } from '../../theme';
5
- export const StyledProgressRing = styled.div(({ theme, placement, determinate }) => {
6
- return css `
7
- position: relative;
8
- min-width: 1em;
9
- min-height: 1em;
10
-
11
- @keyframes LoadingRing {
12
- 0% {
13
- transform: rotate(0deg);
14
- }
15
-
16
- 100% {
17
- transform: rotate(360deg);
18
- }
19
- }
20
-
21
- svg {
22
- display: block;
23
- position: absolute;
24
- height: 100%;
25
-
26
- circle {
27
- fill: transparent;
28
- stroke: ${theme.base.colors.gray['extra-light']};
29
- stroke-width: 2;
30
- r: 45%;
31
- cx: 50%;
32
- cy: 50%;
33
- transform: rotate(-90deg);
34
- transform-origin: 50% 50%;
35
-
36
- &:nth-child(2) {
37
- stroke: ${theme.components.progress['progress-color']};
38
- transition: stroke-dashoffset calc(0.5 * ${theme.base.animation.speed})
39
- ${theme.base.animation.timing.ease};
40
-
41
- ${!determinate &&
42
- css `
43
- animation: LoadingRing calc(4 * ${theme.base.animation.speed}) linear infinite;
44
- `}
45
- }
46
- }
47
- }
48
-
49
- ${placement === 'inline'
50
- ? css `
51
- display: inline-flex;
52
- vertical-align: top;
53
- `
54
- : css `
55
- width: 2rem;
56
- height: 2rem;
57
- `}
58
- `;
59
- });
60
- StyledProgressRing.defaultProps = defaultThemeProp;
3
+ import { StyledProgressRing } from './Progress.styles';
61
4
  const Ring = forwardRef(({ value, minValue = 0, maxValue = 100, placement, ...restProps }, ref) => {
62
5
  let strokeDashoffset;
63
6
  const circumference = 18 * Math.PI;