@pega/cosmos-react-core 3.0.0-dev.13.0 → 3.0.0-dev.16.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 (371) hide show
  1. package/lib/components/Banner/Banner.d.ts.map +1 -1
  2. package/lib/components/Banner/Banner.js +6 -2
  3. package/lib/components/Banner/Banner.js.map +1 -1
  4. package/lib/components/Boolean/BooleanDisplay.d.ts.map +1 -1
  5. package/lib/components/Boolean/BooleanDisplay.js +4 -12
  6. package/lib/components/Boolean/BooleanDisplay.js.map +1 -1
  7. package/lib/components/CompositeInput/CompositeInput.d.ts.map +1 -1
  8. package/lib/components/CompositeInput/CompositeInput.js +4 -1
  9. package/lib/components/CompositeInput/CompositeInput.js.map +1 -1
  10. package/lib/components/Configuration/Configuration.d.ts +14 -13
  11. package/lib/components/Configuration/Configuration.d.ts.map +1 -1
  12. package/lib/components/Configuration/Configuration.js +24 -14
  13. package/lib/components/Configuration/Configuration.js.map +1 -1
  14. package/lib/components/Currency/CurrencyInput.d.ts.map +1 -1
  15. package/lib/components/Currency/CurrencyInput.js +17 -3
  16. package/lib/components/Currency/CurrencyInput.js.map +1 -1
  17. package/lib/components/Currency/utils.js +1 -1
  18. package/lib/components/Currency/utils.js.map +1 -1
  19. package/lib/components/DateTime/Input/DateInput.js +1 -1
  20. package/lib/components/DateTime/Input/DateInput.js.map +1 -1
  21. package/lib/components/DateTime/Input/DateTimeInput.d.ts.map +1 -1
  22. package/lib/components/DateTime/Input/DateTimeInput.js +6 -2
  23. package/lib/components/DateTime/Input/DateTimeInput.js.map +1 -1
  24. package/lib/components/DateTime/Input/WeekInput.js +1 -1
  25. package/lib/components/DateTime/Input/WeekInput.js.map +1 -1
  26. package/lib/components/Dialog/Dialog.d.ts +30 -0
  27. package/lib/components/Dialog/Dialog.d.ts.map +1 -0
  28. package/lib/components/Dialog/Dialog.js +148 -0
  29. package/lib/components/Dialog/Dialog.js.map +1 -0
  30. package/lib/components/Dialog/index.d.ts +3 -0
  31. package/lib/components/Dialog/index.d.ts.map +1 -0
  32. package/lib/components/Dialog/index.js +3 -0
  33. package/lib/components/Dialog/index.js.map +1 -0
  34. package/lib/components/FormField/FormField.d.ts.map +1 -1
  35. package/lib/components/FormField/FormField.js +6 -2
  36. package/lib/components/FormField/FormField.js.map +1 -1
  37. package/lib/components/Icon/iconNames.d.ts +1 -1
  38. package/lib/components/Icon/iconNames.d.ts.map +1 -1
  39. package/lib/components/Icon/iconNames.js +2 -0
  40. package/lib/components/Icon/iconNames.js.map +1 -1
  41. package/lib/components/Icon/icons/ai-assist.icon.js +1 -1
  42. package/lib/components/Icon/icons/ai-assist.icon.js.map +1 -1
  43. package/lib/components/Icon/icons/align-center.icon.js +1 -1
  44. package/lib/components/Icon/icons/align-center.icon.js.map +1 -1
  45. package/lib/components/Icon/icons/align-left.icon.js +1 -1
  46. package/lib/components/Icon/icons/align-left.icon.js.map +1 -1
  47. package/lib/components/Icon/icons/align-right.icon.js +1 -1
  48. package/lib/components/Icon/icons/align-right.icon.js.map +1 -1
  49. package/lib/components/Icon/icons/arrow-left.icon.js +1 -1
  50. package/lib/components/Icon/icons/arrow-left.icon.js.map +1 -1
  51. package/lib/components/Icon/icons/arrow-micro-down.icon.js +1 -1
  52. package/lib/components/Icon/icons/arrow-micro-down.icon.js.map +1 -1
  53. package/lib/components/Icon/icons/arrow-micro-left.icon.js +1 -1
  54. package/lib/components/Icon/icons/arrow-micro-left.icon.js.map +1 -1
  55. package/lib/components/Icon/icons/arrow-micro-right.icon.js +1 -1
  56. package/lib/components/Icon/icons/arrow-micro-right.icon.js.map +1 -1
  57. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js +1 -1
  58. package/lib/components/Icon/icons/arrow-micro-up-down.icon.js.map +1 -1
  59. package/lib/components/Icon/icons/arrow-micro-up.icon.js +1 -1
  60. package/lib/components/Icon/icons/arrow-micro-up.icon.js.map +1 -1
  61. package/lib/components/Icon/icons/arrow-up-down.icon.js +1 -1
  62. package/lib/components/Icon/icons/arrow-up-down.icon.js.map +1 -1
  63. package/lib/components/Icon/icons/bars.icon.js +1 -1
  64. package/lib/components/Icon/icons/bars.icon.js.map +1 -1
  65. package/lib/components/Icon/icons/bell-solid.icon.js +1 -1
  66. package/lib/components/Icon/icons/bell-solid.icon.js.map +1 -1
  67. package/lib/components/Icon/icons/bell.icon.js +1 -1
  68. package/lib/components/Icon/icons/bell.icon.js.map +1 -1
  69. package/lib/components/Icon/icons/box-4-solid.icon.js +1 -1
  70. package/lib/components/Icon/icons/box-4-solid.icon.js.map +1 -1
  71. package/lib/components/Icon/icons/box-4.icon.js +1 -1
  72. package/lib/components/Icon/icons/box-4.icon.js.map +1 -1
  73. package/lib/components/Icon/icons/calendar-range.icon.js +1 -1
  74. package/lib/components/Icon/icons/calendar-range.icon.js.map +1 -1
  75. package/lib/components/Icon/icons/calendar-solid.icon.js +1 -1
  76. package/lib/components/Icon/icons/calendar-solid.icon.js.map +1 -1
  77. package/lib/components/Icon/icons/caret-down.icon.js +1 -1
  78. package/lib/components/Icon/icons/caret-down.icon.js.map +1 -1
  79. package/lib/components/Icon/icons/caret-left.icon.js +1 -1
  80. package/lib/components/Icon/icons/caret-left.icon.js.map +1 -1
  81. package/lib/components/Icon/icons/caret-right.icon.js +1 -1
  82. package/lib/components/Icon/icons/caret-right.icon.js.map +1 -1
  83. package/lib/components/Icon/icons/caret-up.icon.js +1 -1
  84. package/lib/components/Icon/icons/caret-up.icon.js.map +1 -1
  85. package/lib/components/Icon/icons/carrot.icon.d.ts +4 -0
  86. package/lib/components/Icon/icons/carrot.icon.d.ts.map +1 -0
  87. package/lib/components/Icon/icons/carrot.icon.js +6 -0
  88. package/lib/components/Icon/icons/carrot.icon.js.map +1 -0
  89. package/lib/components/Icon/icons/case-solid.icon.js +1 -1
  90. package/lib/components/Icon/icons/case-solid.icon.js.map +1 -1
  91. package/lib/components/Icon/icons/case.icon.js +1 -1
  92. package/lib/components/Icon/icons/case.icon.js.map +1 -1
  93. package/lib/components/Icon/icons/chain.icon.js +1 -1
  94. package/lib/components/Icon/icons/chain.icon.js.map +1 -1
  95. package/lib/components/Icon/icons/chat-solid.icon.js +1 -1
  96. package/lib/components/Icon/icons/chat-solid.icon.js.map +1 -1
  97. package/lib/components/Icon/icons/chat.icon.js +1 -1
  98. package/lib/components/Icon/icons/chat.icon.js.map +1 -1
  99. package/lib/components/Icon/icons/check.icon.js +1 -1
  100. package/lib/components/Icon/icons/check.icon.js.map +1 -1
  101. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js +1 -1
  102. package/lib/components/Icon/icons/clipboard-plus-solid.icon.js.map +1 -1
  103. package/lib/components/Icon/icons/clipboard-plus.icon.js +1 -1
  104. package/lib/components/Icon/icons/clipboard-plus.icon.js.map +1 -1
  105. package/lib/components/Icon/icons/clock-solid.icon.js +1 -1
  106. package/lib/components/Icon/icons/clock-solid.icon.js.map +1 -1
  107. package/lib/components/Icon/icons/clock.icon.js +1 -1
  108. package/lib/components/Icon/icons/clock.icon.js.map +1 -1
  109. package/lib/components/Icon/icons/code.icon.js +1 -1
  110. package/lib/components/Icon/icons/code.icon.js.map +1 -1
  111. package/lib/components/Icon/icons/dataviz-string-field.icon.d.ts +1 -1
  112. package/lib/components/Icon/icons/dataviz-string-field.icon.js +2 -2
  113. package/lib/components/Icon/icons/dataviz-string-field.icon.js.map +1 -1
  114. package/lib/components/Icon/icons/dock.icon.js +1 -1
  115. package/lib/components/Icon/icons/dock.icon.js.map +1 -1
  116. package/lib/components/Icon/icons/dot-9-solid.icon.js +1 -1
  117. package/lib/components/Icon/icons/dot-9-solid.icon.js.map +1 -1
  118. package/lib/components/Icon/icons/dot-9.icon.js +1 -1
  119. package/lib/components/Icon/icons/dot-9.icon.js.map +1 -1
  120. package/lib/components/Icon/icons/download.icon.js +1 -1
  121. package/lib/components/Icon/icons/download.icon.js.map +1 -1
  122. package/lib/components/Icon/icons/drag.icon.js +1 -1
  123. package/lib/components/Icon/icons/drag.icon.js.map +1 -1
  124. package/lib/components/Icon/icons/eye-off-solid.icon.js +1 -1
  125. package/lib/components/Icon/icons/eye-off-solid.icon.js.map +1 -1
  126. package/lib/components/Icon/icons/eye-off.icon.js +1 -1
  127. package/lib/components/Icon/icons/eye-off.icon.js.map +1 -1
  128. package/lib/components/Icon/icons/face-blank-solid.icon.d.ts.map +1 -1
  129. package/lib/components/Icon/icons/face-blank-solid.icon.js +1 -1
  130. package/lib/components/Icon/icons/face-blank-solid.icon.js.map +1 -1
  131. package/lib/components/Icon/icons/face-blank.icon.d.ts.map +1 -1
  132. package/lib/components/Icon/icons/face-blank.icon.js +1 -1
  133. package/lib/components/Icon/icons/face-blank.icon.js.map +1 -1
  134. package/lib/components/Icon/icons/face-happy-solid.icon.d.ts.map +1 -1
  135. package/lib/components/Icon/icons/face-happy-solid.icon.js +1 -1
  136. package/lib/components/Icon/icons/face-happy-solid.icon.js.map +1 -1
  137. package/lib/components/Icon/icons/face-happy.icon.d.ts.map +1 -1
  138. package/lib/components/Icon/icons/face-happy.icon.js +1 -1
  139. package/lib/components/Icon/icons/face-happy.icon.js.map +1 -1
  140. package/lib/components/Icon/icons/face-sad-solid.icon.d.ts.map +1 -1
  141. package/lib/components/Icon/icons/face-sad-solid.icon.js +1 -1
  142. package/lib/components/Icon/icons/face-sad-solid.icon.js.map +1 -1
  143. package/lib/components/Icon/icons/face-sad.icon.d.ts.map +1 -1
  144. package/lib/components/Icon/icons/face-sad.icon.js +1 -1
  145. package/lib/components/Icon/icons/face-sad.icon.js.map +1 -1
  146. package/lib/components/Icon/icons/fast-forward-solid.icon.js +1 -1
  147. package/lib/components/Icon/icons/fast-forward-solid.icon.js.map +1 -1
  148. package/lib/components/Icon/icons/filetype-text.icon.d.ts.map +1 -1
  149. package/lib/components/Icon/icons/filetype-text.icon.js +2 -2
  150. package/lib/components/Icon/icons/filetype-text.icon.js.map +1 -1
  151. package/lib/components/Icon/icons/filter-on.icon.js +1 -1
  152. package/lib/components/Icon/icons/filter-on.icon.js.map +1 -1
  153. package/lib/components/Icon/icons/filter.icon.js +1 -1
  154. package/lib/components/Icon/icons/filter.icon.js.map +1 -1
  155. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js +1 -1
  156. package/lib/components/Icon/icons/folder-hierarchy-solid.icon.js.map +1 -1
  157. package/lib/components/Icon/icons/folder-hierarchy.icon.js +1 -1
  158. package/lib/components/Icon/icons/folder-hierarchy.icon.js.map +1 -1
  159. package/lib/components/Icon/icons/forward-all-solid.icon.js +1 -1
  160. package/lib/components/Icon/icons/forward-all-solid.icon.js.map +1 -1
  161. package/lib/components/Icon/icons/forward-all.icon.js +1 -1
  162. package/lib/components/Icon/icons/forward-all.icon.js.map +1 -1
  163. package/lib/components/Icon/icons/forward-solid.icon.js +1 -1
  164. package/lib/components/Icon/icons/forward-solid.icon.js.map +1 -1
  165. package/lib/components/Icon/icons/forward.icon.js +1 -1
  166. package/lib/components/Icon/icons/forward.icon.js.map +1 -1
  167. package/lib/components/Icon/icons/galaxy.icon.d.ts.map +1 -1
  168. package/lib/components/Icon/icons/galaxy.icon.js +2 -2
  169. package/lib/components/Icon/icons/galaxy.icon.js.map +1 -1
  170. package/lib/components/Icon/icons/globe-solid.icon.js +1 -1
  171. package/lib/components/Icon/icons/globe-solid.icon.js.map +1 -1
  172. package/lib/components/Icon/icons/globe.icon.js +1 -1
  173. package/lib/components/Icon/icons/globe.icon.js.map +1 -1
  174. package/lib/components/Icon/icons/hand.icon.js +1 -1
  175. package/lib/components/Icon/icons/hand.icon.js.map +1 -1
  176. package/lib/components/Icon/icons/help-solid.icon.js +1 -1
  177. package/lib/components/Icon/icons/help-solid.icon.js.map +1 -1
  178. package/lib/components/Icon/icons/help.icon.js +1 -1
  179. package/lib/components/Icon/icons/help.icon.js.map +1 -1
  180. package/lib/components/Icon/icons/home-solid.icon.js +1 -1
  181. package/lib/components/Icon/icons/home-solid.icon.js.map +1 -1
  182. package/lib/components/Icon/icons/home.icon.js +1 -1
  183. package/lib/components/Icon/icons/home.icon.js.map +1 -1
  184. package/lib/components/Icon/icons/information-solid.icon.js +1 -1
  185. package/lib/components/Icon/icons/information-solid.icon.js.map +1 -1
  186. package/lib/components/Icon/icons/information.icon.js +1 -1
  187. package/lib/components/Icon/icons/information.icon.js.map +1 -1
  188. package/lib/components/Icon/icons/list-number.icon.d.ts.map +1 -1
  189. package/lib/components/Icon/icons/list-number.icon.js +2 -2
  190. package/lib/components/Icon/icons/list-number.icon.js.map +1 -1
  191. package/lib/components/Icon/icons/list.icon.d.ts.map +1 -1
  192. package/lib/components/Icon/icons/list.icon.js +2 -2
  193. package/lib/components/Icon/icons/list.icon.js.map +1 -1
  194. package/lib/components/Icon/icons/mail-solid.icon.js +1 -1
  195. package/lib/components/Icon/icons/mail-solid.icon.js.map +1 -1
  196. package/lib/components/Icon/icons/mail.icon.js +1 -1
  197. package/lib/components/Icon/icons/mail.icon.js.map +1 -1
  198. package/lib/components/Icon/icons/minus.icon.js +1 -1
  199. package/lib/components/Icon/icons/minus.icon.js.map +1 -1
  200. package/lib/components/Icon/icons/more.icon.js +1 -1
  201. package/lib/components/Icon/icons/more.icon.js.map +1 -1
  202. package/lib/components/Icon/icons/move-left-solid.icon.js +1 -1
  203. package/lib/components/Icon/icons/move-left-solid.icon.js.map +1 -1
  204. package/lib/components/Icon/icons/move-right-solid.icon.js +1 -1
  205. package/lib/components/Icon/icons/move-right-solid.icon.js.map +1 -1
  206. package/lib/components/Icon/icons/open.icon.js +1 -1
  207. package/lib/components/Icon/icons/open.icon.js.map +1 -1
  208. package/lib/components/Icon/icons/paper-clip.icon.js +1 -1
  209. package/lib/components/Icon/icons/paper-clip.icon.js.map +1 -1
  210. package/lib/components/Icon/icons/phone-solid.icon.js +1 -1
  211. package/lib/components/Icon/icons/phone-solid.icon.js.map +1 -1
  212. package/lib/components/Icon/icons/phone.icon.js +1 -1
  213. package/lib/components/Icon/icons/phone.icon.js.map +1 -1
  214. package/lib/components/Icon/icons/picture-solid.icon.js +1 -1
  215. package/lib/components/Icon/icons/picture-solid.icon.js.map +1 -1
  216. package/lib/components/Icon/icons/picture.icon.js +1 -1
  217. package/lib/components/Icon/icons/picture.icon.js.map +1 -1
  218. package/lib/components/Icon/icons/placeholder.icon.d.ts +4 -0
  219. package/lib/components/Icon/icons/placeholder.icon.d.ts.map +1 -0
  220. package/lib/components/Icon/icons/placeholder.icon.js +6 -0
  221. package/lib/components/Icon/icons/placeholder.icon.js.map +1 -0
  222. package/lib/components/Icon/icons/plus.icon.js +1 -1
  223. package/lib/components/Icon/icons/plus.icon.js.map +1 -1
  224. package/lib/components/Icon/icons/polaris-solid.icon.js +1 -1
  225. package/lib/components/Icon/icons/polaris-solid.icon.js.map +1 -1
  226. package/lib/components/Icon/icons/polaris.icon.js +1 -1
  227. package/lib/components/Icon/icons/polaris.icon.js.map +1 -1
  228. package/lib/components/Icon/icons/qr.icon.js +1 -1
  229. package/lib/components/Icon/icons/qr.icon.js.map +1 -1
  230. package/lib/components/Icon/icons/reply-all-solid.icon.js +1 -1
  231. package/lib/components/Icon/icons/reply-all-solid.icon.js.map +1 -1
  232. package/lib/components/Icon/icons/reply-all.icon.js +1 -1
  233. package/lib/components/Icon/icons/reply-all.icon.js.map +1 -1
  234. package/lib/components/Icon/icons/reply-solid.icon.js +1 -1
  235. package/lib/components/Icon/icons/reply-solid.icon.js.map +1 -1
  236. package/lib/components/Icon/icons/reply.icon.js +1 -1
  237. package/lib/components/Icon/icons/reply.icon.js.map +1 -1
  238. package/lib/components/Icon/icons/reset.icon.js +1 -1
  239. package/lib/components/Icon/icons/reset.icon.js.map +1 -1
  240. package/lib/components/Icon/icons/robot-happy-solid.icon.js +1 -1
  241. package/lib/components/Icon/icons/robot-happy-solid.icon.js.map +1 -1
  242. package/lib/components/Icon/icons/robot-happy.icon.js +1 -1
  243. package/lib/components/Icon/icons/robot-happy.icon.js.map +1 -1
  244. package/lib/components/Icon/icons/row-insert.icon.js +1 -1
  245. package/lib/components/Icon/icons/row-insert.icon.js.map +1 -1
  246. package/lib/components/Icon/icons/row.icon.js +1 -1
  247. package/lib/components/Icon/icons/row.icon.js.map +1 -1
  248. package/lib/components/Icon/icons/scale-down.icon.js +1 -1
  249. package/lib/components/Icon/icons/scale-down.icon.js.map +1 -1
  250. package/lib/components/Icon/icons/scale-up-solid.icon.js +1 -1
  251. package/lib/components/Icon/icons/scale-up-solid.icon.js.map +1 -1
  252. package/lib/components/Icon/icons/scale-up.icon.js +1 -1
  253. package/lib/components/Icon/icons/scale-up.icon.js.map +1 -1
  254. package/lib/components/Icon/icons/script.icon.d.ts +1 -1
  255. package/lib/components/Icon/icons/script.icon.d.ts.map +1 -1
  256. package/lib/components/Icon/icons/script.icon.js +3 -3
  257. package/lib/components/Icon/icons/script.icon.js.map +1 -1
  258. package/lib/components/Icon/icons/search-analytics-solid.icon.js +1 -1
  259. package/lib/components/Icon/icons/search-analytics-solid.icon.js.map +1 -1
  260. package/lib/components/Icon/icons/search-analytics.icon.js +1 -1
  261. package/lib/components/Icon/icons/search-analytics.icon.js.map +1 -1
  262. package/lib/components/Icon/icons/search.icon.js +1 -1
  263. package/lib/components/Icon/icons/search.icon.js.map +1 -1
  264. package/lib/components/Icon/icons/send-solid.icon.js +1 -1
  265. package/lib/components/Icon/icons/send-solid.icon.js.map +1 -1
  266. package/lib/components/Icon/icons/send.icon.js +1 -1
  267. package/lib/components/Icon/icons/send.icon.js.map +1 -1
  268. package/lib/components/Icon/icons/slideshow-solid.icon.js +1 -1
  269. package/lib/components/Icon/icons/slideshow-solid.icon.js.map +1 -1
  270. package/lib/components/Icon/icons/slideshow.icon.js +1 -1
  271. package/lib/components/Icon/icons/slideshow.icon.js.map +1 -1
  272. package/lib/components/Icon/icons/snow.icon.js +1 -1
  273. package/lib/components/Icon/icons/snow.icon.js.map +1 -1
  274. package/lib/components/Icon/icons/speaker-solid.icon.js +1 -1
  275. package/lib/components/Icon/icons/speaker-solid.icon.js.map +1 -1
  276. package/lib/components/Icon/icons/speaker.icon.js +1 -1
  277. package/lib/components/Icon/icons/speaker.icon.js.map +1 -1
  278. package/lib/components/Icon/icons/star-solid.icon.js +1 -1
  279. package/lib/components/Icon/icons/star-solid.icon.js.map +1 -1
  280. package/lib/components/Icon/icons/star.icon.js +1 -1
  281. package/lib/components/Icon/icons/star.icon.js.map +1 -1
  282. package/lib/components/Icon/icons/target-solid.icon.js +1 -1
  283. package/lib/components/Icon/icons/target-solid.icon.js.map +1 -1
  284. package/lib/components/Icon/icons/target.icon.js +1 -1
  285. package/lib/components/Icon/icons/target.icon.js.map +1 -1
  286. package/lib/components/Icon/icons/thumbs-up-solid.icon.js +1 -1
  287. package/lib/components/Icon/icons/thumbs-up-solid.icon.js.map +1 -1
  288. package/lib/components/Icon/icons/thumbs-up.icon.js +1 -1
  289. package/lib/components/Icon/icons/thumbs-up.icon.js.map +1 -1
  290. package/lib/components/Icon/icons/times.icon.js +1 -1
  291. package/lib/components/Icon/icons/times.icon.js.map +1 -1
  292. package/lib/components/Icon/icons/trash-solid.icon.js +1 -1
  293. package/lib/components/Icon/icons/trash-solid.icon.js.map +1 -1
  294. package/lib/components/Icon/icons/trash.icon.js +1 -1
  295. package/lib/components/Icon/icons/trash.icon.js.map +1 -1
  296. package/lib/components/Icon/icons/twitter.icon.js +1 -1
  297. package/lib/components/Icon/icons/twitter.icon.js.map +1 -1
  298. package/lib/components/Icon/icons/undock.icon.js +1 -1
  299. package/lib/components/Icon/icons/undock.icon.js.map +1 -1
  300. package/lib/components/Icon/icons/user-solid.icon.js +1 -1
  301. package/lib/components/Icon/icons/user-solid.icon.js.map +1 -1
  302. package/lib/components/Icon/icons/user-star-solid.icon.js +1 -1
  303. package/lib/components/Icon/icons/user-star-solid.icon.js.map +1 -1
  304. package/lib/components/Icon/icons/user-star.icon.js +1 -1
  305. package/lib/components/Icon/icons/user-star.icon.js.map +1 -1
  306. package/lib/components/Icon/icons/user.icon.js +1 -1
  307. package/lib/components/Icon/icons/user.icon.js.map +1 -1
  308. package/lib/components/Icon/icons/warn-solid.icon.js +1 -1
  309. package/lib/components/Icon/icons/warn-solid.icon.js.map +1 -1
  310. package/lib/components/Icon/icons/warn.icon.js +1 -1
  311. package/lib/components/Icon/icons/warn.icon.js.map +1 -1
  312. package/lib/components/Link/Link.d.ts.map +1 -1
  313. package/lib/components/Link/Link.js +1 -2
  314. package/lib/components/Link/Link.js.map +1 -1
  315. package/lib/components/List/CommaSeparatedList.d.ts.map +1 -1
  316. package/lib/components/List/CommaSeparatedList.js +6 -14
  317. package/lib/components/List/CommaSeparatedList.js.map +1 -1
  318. package/lib/components/ListToolbar/ListToolbar.d.ts.map +1 -1
  319. package/lib/components/ListToolbar/ListToolbar.js +16 -10
  320. package/lib/components/ListToolbar/ListToolbar.js.map +1 -1
  321. package/lib/components/ListToolbar/ListToolbar.types.d.ts +8 -1
  322. package/lib/components/ListToolbar/ListToolbar.types.d.ts.map +1 -1
  323. package/lib/components/ListToolbar/ListToolbar.types.js.map +1 -1
  324. package/lib/components/Modal/Contexts.d.ts.map +1 -1
  325. package/lib/components/Modal/Contexts.js +2 -3
  326. package/lib/components/Modal/Contexts.js.map +1 -1
  327. package/lib/components/Modal/Modal.types.d.ts +2 -6
  328. package/lib/components/Modal/Modal.types.d.ts.map +1 -1
  329. package/lib/components/Modal/Modal.types.js +1 -2
  330. package/lib/components/Modal/Modal.types.js.map +1 -1
  331. package/lib/components/Modal/ModalManager.d.ts +8 -2
  332. package/lib/components/Modal/ModalManager.d.ts.map +1 -1
  333. package/lib/components/Modal/ModalManager.js +13 -10
  334. package/lib/components/Modal/ModalManager.js.map +1 -1
  335. package/lib/components/Number/NumberInput.d.ts.map +1 -1
  336. package/lib/components/Number/NumberInput.js +7 -2
  337. package/lib/components/Number/NumberInput.js.map +1 -1
  338. package/lib/components/Number/utils.d.ts.map +1 -1
  339. package/lib/components/Number/utils.js +1 -5
  340. package/lib/components/Number/utils.js.map +1 -1
  341. package/lib/components/Toaster/Toaster.d.ts +7 -2
  342. package/lib/components/Toaster/Toaster.d.ts.map +1 -1
  343. package/lib/components/Toaster/Toaster.js +7 -7
  344. package/lib/components/Toaster/Toaster.js.map +1 -1
  345. package/lib/hooks/useI18n.d.ts +15 -6
  346. package/lib/hooks/useI18n.d.ts.map +1 -1
  347. package/lib/hooks/useInputFormatter.d.ts.map +1 -1
  348. package/lib/hooks/useInputFormatter.js +5 -0
  349. package/lib/hooks/useInputFormatter.js.map +1 -1
  350. package/lib/i18n/default.d.ts +15 -6
  351. package/lib/i18n/default.d.ts.map +1 -1
  352. package/lib/i18n/default.js +17 -7
  353. package/lib/i18n/default.js.map +1 -1
  354. package/lib/i18n/i18n.d.ts +30 -12
  355. package/lib/i18n/i18n.d.ts.map +1 -1
  356. package/lib/index.d.ts +3 -0
  357. package/lib/index.d.ts.map +1 -1
  358. package/lib/index.js +3 -0
  359. package/lib/index.js.map +1 -1
  360. package/lib/init.d.ts +8 -0
  361. package/lib/init.d.ts.map +1 -0
  362. package/lib/init.js +5 -0
  363. package/lib/init.js.map +1 -0
  364. package/lib/theme/ThemeMachine.d.ts +11 -3
  365. package/lib/theme/ThemeMachine.d.ts.map +1 -1
  366. package/lib/theme/ThemeMachine.js +28 -26
  367. package/lib/theme/ThemeMachine.js.map +1 -1
  368. package/lib/theme/theme.d.ts +42 -0
  369. package/lib/theme/theme.d.ts.map +1 -1
  370. package/lib/theme/themeDefinition.json +26 -0
  371. package/package.json +5 -2
@@ -1 +1 @@
1
- {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../src/components/Number/NumberInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeEvent,\n forwardRef,\n FunctionComponent,\n KeyboardEvent,\n PropsWithoutRef,\n useCallback,\n useMemo,\n useRef,\n FocusEvent\n} from 'react';\n\nimport Button from '../Button';\nimport Icon, { registerIcon } from '../Icon';\nimport * as plusIcon from '../Icon/icons/plus.icon';\nimport * as minusIcon from '../Icon/icons/minus.icon';\nimport Flex from '../Flex';\nimport FormField from '../FormField';\nimport { ForwardProps } from '../../types';\nimport Input from '../Input';\nimport {\n useConfiguration,\n useConsolidatedRef,\n useI18n,\n useInputFormatter,\n useUID\n} from '../../hooks';\n\nimport StyledNumberInput, { StyledStepperInput } from './NumberInput.styles';\nimport NumberInputProps, { NUMBER_MAX_DECIMAL_PLACES } from './NumberInput.types';\nimport {\n getCleanedValue,\n getDecimalSign,\n getDecrementedValue,\n getFormattedValue,\n getIncrementedValue\n} from './utils';\n\nregisterIcon(minusIcon, plusIcon);\n\nconst NumberInput: FunctionComponent<NumberInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<NumberInputProps>, ref: NumberInputProps['ref']) => {\n const uid = useUID();\n const {\n id = uid,\n status,\n label,\n labelHidden,\n info,\n required,\n disabled,\n readOnly,\n value = '',\n onChange,\n onFocus,\n onBlur,\n unit,\n showDecimal = true,\n numberOfDecimals: numberOfDecimalsProp = NUMBER_MAX_DECIMAL_PLACES,\n showGroupSeparators = true,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n step = 1,\n variant,\n 'aria-label': ariaLabel,\n ...restProps\n } = props;\n\n const { locale } = useConfiguration();\n const inputRef = useConsolidatedRef(ref);\n const containerRef = useRef<HTMLElement>(null);\n const maximumFractionDigits = showDecimal ? numberOfDecimalsProp : 0;\n const decimalSign = useMemo(() => getDecimalSign(locale), [locale]);\n\n const formatValue = useCallback(\n number => {\n return getFormattedValue(number, locale, unit, {\n useGrouping: showGroupSeparators,\n maximumFractionDigits\n });\n },\n [locale, unit, showGroupSeparators, maximumFractionDigits]\n );\n\n const onInputChange = useCallback(\n (e: ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n const cleanedInputValue = getCleanedValue(inputValue, decimalSign, maximumFractionDigits);\n if (cleanedInputValue === value) return;\n onChange(cleanedInputValue);\n },\n [onChange, decimalSign, value, maximumFractionDigits]\n );\n\n const onKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (readOnly) return;\n const input = e.currentTarget;\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n onChange(getIncrementedValue(value, min, max, step));\n break;\n case 'ArrowDown':\n e.preventDefault();\n onChange(getDecrementedValue(value, min, max, step));\n break;\n case decimalSign:\n if (input.value.includes(decimalSign)) {\n if (input.selectionStart && input.value.charAt(input.selectionStart) === decimalSign) {\n input.setSelectionRange(input.selectionStart + 1, input.selectionStart + 1);\n }\n e.preventDefault();\n }\n break;\n case '-':\n if (value.startsWith('-')) e.preventDefault();\n break;\n default:\n }\n };\n\n const onInputFocusEvent = (e: FocusEvent<HTMLInputElement>) => {\n let parsableValue = value;\n\n if (Number.isNaN(parseFloat(value))) {\n parsableValue = '';\n } else if (value?.endsWith('.')) {\n parsableValue = value.slice(0, -1);\n }\n\n if (e.type === 'focus') onFocus?.(parsableValue);\n else onBlur?.(parsableValue);\n };\n\n const formattedValue = useInputFormatter(inputRef, value, formatValue, `\\\\p{N}${decimalSign}-`);\n\n const t = useI18n();\n\n const NumberInputComp = (\n <Input\n {...{ onChange: onInputChange, id, readOnly, required, disabled, status, ...restProps }}\n inputMode='numeric'\n ref={inputRef}\n value={formattedValue}\n onKeyDown={onKeyDown}\n onFocus={onInputFocusEvent}\n onBlur={onInputFocusEvent}\n aria-label={`${ariaLabel || label}. ${unit ? t('measured_in', [unit]) : ''}`}\n maxLength={16}\n />\n );\n\n const onMinusClick = () => {\n onChange?.(getDecrementedValue(value, min, max, step));\n };\n\n const onPlusClick = () => {\n onChange?.(getIncrementedValue(value, min, max, step));\n };\n\n const StepperComp = (\n <Flex\n as={StyledStepperInput}\n container={{ alignItems: 'center', wrap: 'nowrap' }}\n status={status}\n readOnly={readOnly}\n disabled={disabled}\n size={formattedValue?.length}\n >\n <Button\n variant='simple'\n icon\n onClick={onMinusClick}\n aria-label={t('number_decrement_value_by', [step])}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={-1}\n >\n <Icon name='minus' />\n </Button>\n <Flex\n container={{ alignItems: 'center', wrap: 'nowrap', justify: 'center' }}\n item={{ grow: 1 }}\n ref={containerRef}\n onClick={(e: MouseEvent) => {\n if (e.target === containerRef.current) inputRef?.current?.focus();\n }}\n >\n {NumberInputComp}\n </Flex>\n <Button\n variant='simple'\n icon\n onClick={onPlusClick}\n aria-label={t('number_increment_value_by', [step])}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={-1}\n >\n <Icon name='plus' />\n </Button>\n </Flex>\n );\n\n const NumberComp = (\n <Flex\n as={StyledNumberInput}\n container={{ alignItems: 'center', wrap: 'nowrap' }}\n status={status}\n readOnly={readOnly}\n disabled={disabled}\n >\n {NumberInputComp}\n </Flex>\n );\n\n const Comp = variant === 'stepper' && !readOnly ? StepperComp : NumberComp;\n\n return label ? (\n <FormField {...{ label, labelHidden, id, info, status, required, disabled }}>\n {Comp}\n </FormField>\n ) : (\n Comp\n );\n }\n);\n\nexport default NumberInput;\n"]}
1
+ {"version":3,"file":"NumberInput.js","sourceRoot":"","sources":["../../../src/components/Number/NumberInput.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n ChangeEvent,\n forwardRef,\n FunctionComponent,\n KeyboardEvent,\n PropsWithoutRef,\n useCallback,\n useMemo,\n useRef,\n FocusEvent\n} from 'react';\n\nimport Button from '../Button';\nimport Icon, { registerIcon } from '../Icon';\nimport * as plusIcon from '../Icon/icons/plus.icon';\nimport * as minusIcon from '../Icon/icons/minus.icon';\nimport Flex from '../Flex';\nimport FormField from '../FormField';\nimport { ForwardProps } from '../../types';\nimport Input from '../Input';\nimport {\n useConfiguration,\n useConsolidatedRef,\n useI18n,\n useInputFormatter,\n useUID\n} from '../../hooks';\n\nimport StyledNumberInput, { StyledStepperInput } from './NumberInput.styles';\nimport NumberInputProps, { NUMBER_MAX_DECIMAL_PLACES } from './NumberInput.types';\nimport {\n getCleanedValue,\n getDecimalSign,\n getDecrementedValue,\n getFormattedValue,\n getIncrementedValue\n} from './utils';\n\nregisterIcon(minusIcon, plusIcon);\n\nconst NumberInput: FunctionComponent<NumberInputProps & ForwardProps> = forwardRef(\n (props: PropsWithoutRef<NumberInputProps>, ref: NumberInputProps['ref']) => {\n const uid = useUID();\n const {\n id = uid,\n status,\n label,\n labelHidden,\n info,\n required,\n disabled,\n readOnly,\n value = '',\n onChange,\n onFocus,\n onBlur,\n unit,\n showDecimal = true,\n numberOfDecimals: numberOfDecimalsProp = NUMBER_MAX_DECIMAL_PLACES,\n showGroupSeparators = true,\n min = Number.MIN_SAFE_INTEGER,\n max = Number.MAX_SAFE_INTEGER,\n step = 1,\n variant,\n 'aria-label': ariaLabel,\n ...restProps\n } = props;\n\n const { locale } = useConfiguration();\n const inputRef = useConsolidatedRef(ref);\n const containerRef = useRef<HTMLElement>(null);\n const maximumFractionDigits = showDecimal ? numberOfDecimalsProp : 0;\n const decimalSign = useMemo(() => getDecimalSign(locale), [locale]);\n\n const formatValue = useCallback(\n number => {\n return getFormattedValue(number, locale, unit, {\n useGrouping: showGroupSeparators,\n maximumFractionDigits\n });\n },\n [locale, unit, showGroupSeparators, maximumFractionDigits]\n );\n\n const onInputChange = (e: ChangeEvent<HTMLInputElement>) => {\n const inputValue = e.target.value;\n const cleanedInputValue = getCleanedValue(inputValue, decimalSign, maximumFractionDigits);\n if (cleanedInputValue === value) return;\n onChange(cleanedInputValue);\n };\n\n const onKeyDown = (e: KeyboardEvent<HTMLInputElement>) => {\n if (readOnly) return;\n const input = e.currentTarget;\n switch (e.key) {\n case 'ArrowUp':\n e.preventDefault();\n onChange(getIncrementedValue(value, min, max, step));\n break;\n case 'ArrowDown':\n e.preventDefault();\n onChange(getDecrementedValue(value, min, max, step));\n break;\n case decimalSign:\n if (input.value.includes(decimalSign)) {\n if (input.selectionStart && input.value.charAt(input.selectionStart) === decimalSign) {\n input.setSelectionRange(input.selectionStart + 1, input.selectionStart + 1);\n }\n e.preventDefault();\n } else if (\n input.selectionStart !== null &&\n !input.value.charAt(input.selectionStart - 1).match(/\\d/)\n ) {\n onChange(\n getCleanedValue(`${input.value}0${decimalSign}`, decimalSign, maximumFractionDigits)\n );\n e.preventDefault();\n }\n break;\n case '-':\n if (value.startsWith('-')) e.preventDefault();\n break;\n default:\n }\n };\n\n const onInputFocusEvent = (e: FocusEvent<HTMLInputElement>) => {\n let parsableValue = value;\n\n if (Number.isNaN(parseFloat(value))) {\n parsableValue = '';\n } else if (value?.endsWith('.')) {\n parsableValue = value.slice(0, -1);\n }\n\n if (e.type === 'focus') onFocus?.(parsableValue);\n else onBlur?.(parsableValue);\n };\n\n const formattedValue = useInputFormatter(inputRef, value, formatValue, `\\\\p{N}${decimalSign}-`);\n\n const t = useI18n();\n\n const NumberInputComp = (\n <Input\n {...{ onChange: onInputChange, id, readOnly, required, disabled, status, ...restProps }}\n inputMode='numeric'\n ref={inputRef}\n value={formattedValue}\n onKeyDown={onKeyDown}\n onFocus={onInputFocusEvent}\n onBlur={onInputFocusEvent}\n aria-label={`${ariaLabel || label}. ${unit ? t('measured_in', [unit]) : ''}`}\n maxLength={16}\n />\n );\n\n const onMinusClick = () => {\n onChange?.(getDecrementedValue(value, min, max, step));\n };\n\n const onPlusClick = () => {\n onChange?.(getIncrementedValue(value, min, max, step));\n };\n\n const StepperComp = (\n <Flex\n as={StyledStepperInput}\n container={{ alignItems: 'center', wrap: 'nowrap' }}\n status={status}\n readOnly={readOnly}\n disabled={disabled}\n size={formattedValue?.length}\n >\n <Button\n variant='simple'\n icon\n onClick={onMinusClick}\n aria-label={t('number_decrement_value_by', [step])}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={-1}\n >\n <Icon name='minus' />\n </Button>\n <Flex\n container={{ alignItems: 'center', wrap: 'nowrap', justify: 'center' }}\n item={{ grow: 1 }}\n ref={containerRef}\n onClick={(e: MouseEvent) => {\n if (e.target === containerRef.current) inputRef?.current?.focus();\n }}\n >\n {NumberInputComp}\n </Flex>\n <Button\n variant='simple'\n icon\n onClick={onPlusClick}\n aria-label={t('number_increment_value_by', [step])}\n readOnly={readOnly}\n disabled={disabled}\n tabIndex={-1}\n >\n <Icon name='plus' />\n </Button>\n </Flex>\n );\n\n const NumberComp = (\n <Flex\n as={StyledNumberInput}\n container={{ alignItems: 'center', wrap: 'nowrap' }}\n status={status}\n readOnly={readOnly}\n disabled={disabled}\n >\n {NumberInputComp}\n </Flex>\n );\n\n const Comp = variant === 'stepper' && !readOnly ? StepperComp : NumberComp;\n\n return label ? (\n <FormField {...{ label, labelHidden, id, info, status, required, disabled }}>\n {Comp}\n </FormField>\n ) : (\n Comp\n );\n }\n);\n\nexport default NumberInput;\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Number/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAMzF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAIxC;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,GAC5B,MAAM,CAUR;AAYD,eAAO,MAAM,iBAAiB,UACrB,MAAM,UACL,MAAM,uGAOX,KACD,wBAAwB,EACxB,UAAU,GAAG,aAAa,GAAG,uBAAuB,GAAG,uBAAuB,CAC/E,WAoCF,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjG;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;CACpC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,mBAAmB,UAI5F"}
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/components/Number/utils.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,GAAG,MAAM,CAMzF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,UAIxC;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,MAAM,EACnB,qBAAqB,EAAE,MAAM,GAC5B,MAAM,CAQR;AAYD,eAAO,MAAM,iBAAiB,UACrB,MAAM,UACL,MAAM,uGAOX,KACD,wBAAwB,EACxB,UAAU,GAAG,aAAa,GAAG,uBAAuB,GAAG,uBAAuB,CAC/E,WAqCF,CAAC;AAEF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAEjF;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjG;AAED,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAUjG;AAED,UAAU,mBAAmB;IAC3B,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC;CACpC;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,mBAAmB,UAI5F"}
@@ -13,10 +13,6 @@ export function getCleanedValue(value, decimalSign, maximumFractionDigits) {
13
13
  let rawValue = value.replace(new RegExp(`[^${decimalSign}\\d-]+`, 'gu'), '');
14
14
  if (decimalSign && decimalSign !== '.')
15
15
  rawValue = rawValue.replace(decimalSign, '.');
16
- if (rawValue.startsWith('.'))
17
- rawValue = `0${value}`;
18
- if (rawValue.startsWith('-.'))
19
- rawValue = `-0${value.substring(1)}`;
20
16
  const match = rawValue.match(new RegExp(`-?\\d*(\\.\\d{0,${maximumFractionDigits}})?`));
21
17
  if (match && match.length > 0) {
22
18
  rawValue = match[0];
@@ -39,7 +35,7 @@ export const getFormattedValue = (value, locale, unit, { notation = 'standard',
39
35
  const formatter = new Intl.NumberFormat(locale, {
40
36
  notation,
41
37
  useGrouping,
42
- minimumFractionDigits,
38
+ minimumFractionDigits: minimumFractionDigits ?? Math.min(maximumFractionDigits ?? 0, fractionPart?.length ?? 0),
43
39
  maximumFractionDigits,
44
40
  style: isUnit ? 'unit' : undefined,
45
41
  unit: isUnit ? unit : undefined
@@ -1 +1 @@
1
- {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/Number/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import BigNumber from 'bignumber.js';\n\nexport function getDecimalSign(locale: string, options?: Intl.NumberFormatOptions): string {\n return (\n new Intl.NumberFormat(locale, options)\n .formatToParts(0.1)\n .filter((part: { type: string; value: string }) => part.type === 'decimal')[0]?.value || ''\n );\n}\n\nexport function getFraction(value: string) {\n const decPos = value.indexOf('.');\n const substrLength = decPos === -1 ? value.length : decPos;\n return value.substring(substrLength);\n}\n\nexport function getCleanedValue(\n value: string,\n decimalSign: string,\n maximumFractionDigits: number\n): string {\n let rawValue = value.replace(new RegExp(`[^${decimalSign}\\\\d-]+`, 'gu'), '');\n if (decimalSign && decimalSign !== '.') rawValue = rawValue.replace(decimalSign, '.');\n if (rawValue.startsWith('.')) rawValue = `0${value}`;\n if (rawValue.startsWith('-.')) rawValue = `-0${value.substring(1)}`;\n const match = rawValue.match(new RegExp(`-?\\\\d*(\\\\.\\\\d{0,${maximumFractionDigits}})?`));\n if (match && match.length > 0) {\n rawValue = match[0];\n }\n return rawValue;\n}\n\nconst isValidUnit = (unit: string) => {\n try {\n // eslint-disable-next-line no-new\n new Intl.NumberFormat(undefined, { style: 'unit', unit });\n return true;\n } catch {\n return false;\n }\n};\n\nexport const getFormattedValue = (\n value: string,\n locale: string,\n unit?: string,\n {\n notation = 'standard',\n useGrouping = false,\n maximumFractionDigits,\n minimumFractionDigits\n }: Pick<\n Intl.NumberFormatOptions,\n 'notation' | 'useGrouping' | 'maximumFractionDigits' | 'minimumFractionDigits'\n > = {}\n) => {\n const isUnit = unit ? isValidUnit(unit) : false;\n const [integer, fractionPart] = value.split('.', 2) as [string, string?];\n\n const formatter = new Intl.NumberFormat(locale, {\n notation,\n useGrouping,\n minimumFractionDigits,\n maximumFractionDigits,\n style: isUnit ? 'unit' : undefined,\n unit: isUnit ? unit : undefined\n });\n\n let formatted = value;\n\n if (value && !Number.isNaN(parseFloat(integer))) {\n const endsWithDot = fractionPart === '';\n const valueNumber = Number(endsWithDot ? `${value}1` : value);\n formatted =\n formatter.formatToParts(valueNumber).reduce((result, { type, value: part }) => {\n if (type === 'fraction' && endsWithDot) return result;\n return result + part;\n }, '') + (!isUnit && unit ? `\\u00a0${unit}` : '');\n } else if (unit) {\n if (isUnit)\n formatted = formatter\n .formatToParts(value.startsWith('-') ? -1 : 1)\n .reduce(\n (result, { type, value: part }) =>\n ['unit', 'minusSign'].includes(type) ? result + part : result,\n ''\n );\n else formatted = value.startsWith('-') ? `- ${unit}` : unit;\n }\n return formatted;\n};\n\nexport function isValueInRange(value: number, min?: number, max?: number): boolean {\n return !((min !== undefined && value < min) || (max !== undefined && value > max));\n}\n\nexport function getIncrementedValue(value: string, min: number, max: number, step: number): string {\n const numberValue = parseFloat(value) || 0;\n const newValue = new BigNumber(numberValue).plus(step);\n if (isValueInRange(newValue.toNumber(), min, max)) {\n return newValue.toFixed();\n }\n if (min !== undefined && newValue.toNumber() < min) {\n return min.toString();\n }\n return value;\n}\n\nexport function getDecrementedValue(value: string, min: number, max: number, step: number): string {\n const numberValue = parseFloat(value) || 0;\n const newValue = new BigNumber(numberValue).minus(step);\n if (isValueInRange(newValue.toNumber(), min, max)) {\n return newValue.toFixed();\n }\n if (max !== undefined && newValue.toNumber() > max) {\n return max.toString();\n }\n return value;\n}\n\ninterface NumberFormatOptions {\n locale: string;\n options?: Intl.NumberFormatOptions;\n}\n\nexport function formatNumber(value: number | bigint, { locale, options }: NumberFormatOptions) {\n const formatter = new Intl.NumberFormat(locale, options);\n\n return formatter.format(value);\n}\n"]}
1
+ {"version":3,"file":"utils.js","sourceRoot":"","sources":["../../../src/components/Number/utils.ts"],"names":[],"mappings":"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","sourcesContent":["import BigNumber from 'bignumber.js';\n\nexport function getDecimalSign(locale: string, options?: Intl.NumberFormatOptions): string {\n return (\n new Intl.NumberFormat(locale, options)\n .formatToParts(0.1)\n .filter((part: { type: string; value: string }) => part.type === 'decimal')[0]?.value || ''\n );\n}\n\nexport function getFraction(value: string) {\n const decPos = value.indexOf('.');\n const substrLength = decPos === -1 ? value.length : decPos;\n return value.substring(substrLength);\n}\n\nexport function getCleanedValue(\n value: string,\n decimalSign: string,\n maximumFractionDigits: number\n): string {\n let rawValue = value.replace(new RegExp(`[^${decimalSign}\\\\d-]+`, 'gu'), '');\n if (decimalSign && decimalSign !== '.') rawValue = rawValue.replace(decimalSign, '.');\n const match = rawValue.match(new RegExp(`-?\\\\d*(\\\\.\\\\d{0,${maximumFractionDigits}})?`));\n if (match && match.length > 0) {\n rawValue = match[0];\n }\n return rawValue;\n}\n\nconst isValidUnit = (unit: string) => {\n try {\n // eslint-disable-next-line no-new\n new Intl.NumberFormat(undefined, { style: 'unit', unit });\n return true;\n } catch {\n return false;\n }\n};\n\nexport const getFormattedValue = (\n value: string,\n locale: string,\n unit?: string,\n {\n notation = 'standard',\n useGrouping = false,\n maximumFractionDigits,\n minimumFractionDigits\n }: Pick<\n Intl.NumberFormatOptions,\n 'notation' | 'useGrouping' | 'maximumFractionDigits' | 'minimumFractionDigits'\n > = {}\n) => {\n const isUnit = unit ? isValidUnit(unit) : false;\n const [integer, fractionPart] = value.split('.', 2) as [string, string?];\n\n const formatter = new Intl.NumberFormat(locale, {\n notation,\n useGrouping,\n minimumFractionDigits:\n minimumFractionDigits ?? Math.min(maximumFractionDigits ?? 0, fractionPart?.length ?? 0),\n maximumFractionDigits,\n style: isUnit ? 'unit' : undefined,\n unit: isUnit ? unit : undefined\n });\n\n let formatted = value;\n\n if (value && !Number.isNaN(parseFloat(integer))) {\n const endsWithDot = fractionPart === '';\n const valueNumber = Number(endsWithDot ? `${value}1` : value);\n formatted =\n formatter.formatToParts(valueNumber).reduce((result, { type, value: part }) => {\n if (type === 'fraction' && endsWithDot) return result;\n return result + part;\n }, '') + (!isUnit && unit ? `\\u00a0${unit}` : '');\n } else if (unit) {\n if (isUnit)\n formatted = formatter\n .formatToParts(value.startsWith('-') ? -1 : 1)\n .reduce(\n (result, { type, value: part }) =>\n ['unit', 'minusSign'].includes(type) ? result + part : result,\n ''\n );\n else formatted = value.startsWith('-') ? `- ${unit}` : unit;\n }\n return formatted;\n};\n\nexport function isValueInRange(value: number, min?: number, max?: number): boolean {\n return !((min !== undefined && value < min) || (max !== undefined && value > max));\n}\n\nexport function getIncrementedValue(value: string, min: number, max: number, step: number): string {\n const numberValue = parseFloat(value) || 0;\n const newValue = new BigNumber(numberValue).plus(step);\n if (isValueInRange(newValue.toNumber(), min, max)) {\n return newValue.toFixed();\n }\n if (min !== undefined && newValue.toNumber() < min) {\n return min.toString();\n }\n return value;\n}\n\nexport function getDecrementedValue(value: string, min: number, max: number, step: number): string {\n const numberValue = parseFloat(value) || 0;\n const newValue = new BigNumber(numberValue).minus(step);\n if (isValueInRange(newValue.toNumber(), min, max)) {\n return newValue.toFixed();\n }\n if (max !== undefined && newValue.toNumber() > max) {\n return max.toString();\n }\n return value;\n}\n\ninterface NumberFormatOptions {\n locale: string;\n options?: Intl.NumberFormatOptions;\n}\n\nexport function formatNumber(value: number | bigint, { locale, options }: NumberFormatOptions) {\n const formatter = new Intl.NumberFormat(locale, options);\n\n return formatter.format(value);\n}\n"]}
@@ -1,8 +1,8 @@
1
1
  import { FunctionComponent, ReactNode, Context } from 'react';
2
- export declare const initializedKey: unique symbol;
2
+ import '../../init';
3
3
  export interface ToasterContextValue {
4
4
  push: (message: ToastMessage) => void;
5
- [initializedKey]: boolean;
5
+ initialized: boolean;
6
6
  }
7
7
  export declare const ToasterContext: Context<ToasterContextValue>;
8
8
  export interface ToastMessage {
@@ -39,6 +39,11 @@ export interface ToasterProps {
39
39
  interface ToastState extends ToastMessage {
40
40
  id: NonNullable<ToastMessage['id']>;
41
41
  }
42
+ declare module '../../init' {
43
+ interface CosmosGlobals {
44
+ toasterContext?: Context<ToasterContextValue>;
45
+ }
46
+ }
42
47
  declare const Toaster: FunctionComponent<ToasterProps>;
43
48
  export default Toaster;
44
49
  //# sourceMappingURL=Toaster.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../src/components/Toaster/Toaster.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EACjB,SAAS,EAGT,OAAO,EAQR,MAAM,OAAO,CAAC;AAcf,eAAO,MAAM,cAAc,eAA4D,CAAC;AAExF,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACtC,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,eAAO,MAAM,cAAc,8BAGzB,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uIAAuI;IACvI,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C,uIAAuI;IACvI,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxC;AAED,UAAU,UAAW,SAAQ,YAAY;IACvC,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;CACrC;AA+JD,QAAA,MAAM,OAAO,EAAE,iBAAiB,CAAC,YAAY,CA+E5C,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"Toaster.d.ts","sourceRoot":"","sources":["../../../src/components/Toaster/Toaster.tsx"],"names":[],"mappings":"AAAA,OAAO,EAML,iBAAiB,EACjB,SAAS,EAGT,OAAO,EAQR,MAAM,OAAO,CAAC;AAWf,OAAO,YAAY,CAAC;AAIpB,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,CAAC,OAAO,EAAE,YAAY,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,OAAO,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,8BAGzB,CAAC;AAEH,MAAM,WAAW,YAAY;IAC3B,+EAA+E;IAC/E,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,oEAAoE;IACpE,OAAO,EAAE,MAAM,CAAC;IAChB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,uIAAuI;IACvI,SAAS,CAAC,EAAE,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE;QAAE,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC;CACnF;AAED,MAAM,WAAW,YAAY;IAC3B,kEAAkE;IAClE,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,YAAY,CAAC,cAAc,CAAC,CAAC;IAC5C,uIAAuI;IACvI,SAAS,CAAC,EAAE,YAAY,CAAC,WAAW,CAAC,CAAC;IACtC,4CAA4C;IAC5C,OAAO,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACxC;AAED,UAAU,UAAW,SAAQ,YAAY;IACvC,EAAE,EAAE,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC,CAAC;CACrC;AAaD,OAAO,QAAQ,YAAY,CAAC;IAC1B,UAAiB,aAAa;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC,mBAAmB,CAAC,CAAC;KAC/C;CACF;AAoJD,QAAA,MAAM,OAAO,EAAE,iBAAiB,CAAC,YAAY,CAgF5C,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -6,15 +6,15 @@ import styled, { css } from 'styled-components';
6
6
  import Button from '../Button';
7
7
  import Icon, { registerIcon } from '../Icon';
8
8
  import * as timesIcon from '../Icon/icons/times.icon';
9
- import { createUID } from '../../utils';
9
+ import { createUID, windowIsAvailable } from '../../utils';
10
10
  import { useConfiguration, useI18n } from '../../hooks';
11
11
  import { defaultThemeProp } from '../../theme';
12
12
  import Flex from '../Flex';
13
+ import '../../init';
13
14
  registerIcon(timesIcon);
14
- export const initializedKey = Symbol.for('@pega/cosmos-react-core.toaster.initialized');
15
15
  export const ToasterContext = createContext({
16
16
  push: () => { },
17
- [initializedKey]: false
17
+ initialized: false
18
18
  });
19
19
  const StyledToastButton = styled.button(({ theme }) => css `
20
20
  border: none;
@@ -116,7 +116,7 @@ const Toast = forwardRef(({ dispatch, topLevelDismiss, dismissAfter, ...message
116
116
  '--scale': dismissed ? '0' : '1'
117
117
  }, onTransitionEnd: onTransitionEnd, children: [_jsx(Flex, { item: { grow: 1 }, as: StyledToastContent, children: content }), _jsx(Button, { as: StyledToastButton, variant: 'simple', onClick: dismiss, icon: true, "aria-label": t('dismiss_label'), children: _jsx(Icon, { name: 'times' }) })] }));
118
118
  });
119
- const Toaster = ({ children, dismissAfter = Infinity, onDismiss, context = ToasterContext }) => {
119
+ const Toaster = ({ children, dismissAfter = Infinity, onDismiss }) => {
120
120
  const { portalTarget } = useConfiguration();
121
121
  const [messages, dispatch] = useReducer(reducer, []);
122
122
  const [yOffsets, setYOffsets] = useState([]);
@@ -139,11 +139,11 @@ const Toaster = ({ children, dismissAfter = Infinity, onDismiss, context = Toast
139
139
  payload: message
140
140
  });
141
141
  },
142
- [initializedKey]: true
142
+ initialized: true
143
143
  }), [onDismiss, dismissAfter]);
144
144
  // Don't create additional ToasterContext.Providers.
145
- const priorCtx = useContext(context);
146
- if (priorCtx[initializedKey]) {
145
+ const priorCtx = useContext(windowIsAvailable ? window.cosmos.toasterContext ?? ToasterContext : ToasterContext);
146
+ if (priorCtx.initialized) {
147
147
  return _jsx(ToasterContext.Provider, { value: priorCtx, children: children });
148
148
  }
149
149
  return (_jsxs(_Fragment, { children: [_jsx(ToasterContext.Provider, { value: providerValue, children: children }), !!messages.length &&
@@ -1 +1 @@
1
- {"version":3,"file":"Toaster.js","sourceRoot":"","sources":["../../../src/components/Toaster/Toaster.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n useContext,\n useReducer,\n useMemo,\n useLayoutEffect,\n FunctionComponent,\n ReactNode,\n CSSProperties,\n TransitionEvent,\n Context,\n useRef,\n useState,\n forwardRef,\n PropsWithoutRef,\n Ref,\n useEffect,\n Dispatch\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport styled, { css } from 'styled-components';\n\nimport Button from '../Button';\nimport Icon, { registerIcon } from '../Icon';\nimport * as timesIcon from '../Icon/icons/times.icon';\nimport { createUID } from '../../utils';\nimport { useConfiguration, useI18n } from '../../hooks';\nimport { defaultThemeProp } from '../../theme';\nimport Flex from '../Flex';\n\nregisterIcon(timesIcon);\n\nexport const initializedKey = Symbol.for('@pega/cosmos-react-core.toaster.initialized');\n\nexport interface ToasterContextValue {\n push: (message: ToastMessage) => void;\n [initializedKey]: boolean;\n}\n\nexport const ToasterContext = createContext<ToasterContextValue>({\n push: () => {},\n [initializedKey]: false\n});\n\nexport interface ToastMessage {\n /** String to identify the specific message. Used as onDismiss callback arg. */\n id?: string;\n /** A short message to provide feedback based upon a user action. */\n content: string;\n /**\n * Time in milliseconds to automatically dismiss toast.\n * Can be set globally on Toaster and overridden individually at a message level.\n * @default Infinity\n */\n dismissAfter?: number;\n /** Called when user or timer dismisses toasts. Callback is passed the message id and boolean indicating if the dismissal was timed. */\n onDismiss?: ({ id, timeout }: { id: ToastState['id']; timeout: boolean }) => void;\n}\n\nexport interface ToasterProps {\n /** The element(s) responsible for handling the Toaster state. */\n children: ReactNode;\n /**\n * Time in milliseconds to automatically dismiss Toast.\n * Can be set globally on Toaster and overridden individually at a message level.\n * @default Infinity\n */\n dismissAfter?: ToastMessage['dismissAfter'];\n /** Called when user or timer dismisses Toasts. Callback is passed the message id and boolean indicating if the dismissal was timed. */\n onDismiss?: ToastMessage['onDismiss'];\n /** Context to read previous values from. */\n context?: Context<ToasterContextValue>;\n}\n\ninterface ToastState extends ToastMessage {\n id: NonNullable<ToastMessage['id']>;\n}\n\ntype ToastReducerAction =\n | { type: 'push'; payload: ToastState }\n | { type: 'unmount'; payload: ToastState['id'] };\n\ninterface ToastProps extends ToastState {\n topLevelDismiss: ToasterProps['onDismiss'];\n translateY: number;\n dispatch: Dispatch<ToastReducerAction>;\n ref: Ref<HTMLDivElement>;\n}\n\nconst StyledToastButton = styled.button(\n ({ theme }) => css`\n border: none;\n color: inherit;\n padding: 0;\n font-size: 1rem;\n\n &:enabled:hover {\n background: #ffffff19;\n }\n\n &:enabled:focus {\n box-shadow: ${theme.base.shadow['focus-inverted']};\n }\n `\n);\n\nStyledToastButton.defaultProps = defaultThemeProp;\n\nconst StyledToastContent = styled.div(({ theme }) => {\n return css`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: ${theme.base['font-size']};\n margin-inline-start: calc(${theme.base['border-radius']} / 2);\n `;\n});\n\nStyledToastContent.defaultProps = defaultThemeProp;\n\nconst StyledToast = styled.div(({ theme }) => {\n return css`\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n padding: calc(${theme.base.spacing} / 2);\n background: ${theme.base.colors.slate['extra-dark']};\n color: ${theme.base.colors.white};\n border-radius: calc(${theme.base['border-radius']} / 2);\n opacity: var(--opacity);\n transform: translateY(var(--translateY)) scale(var(--scale));\n transition-property: transform, opacity;\n transition-duration: ${theme.base.animation.speed};\n transition-timing-function: ${theme.base.animation.timing.ease};\n `;\n});\n\nStyledToast.defaultProps = defaultThemeProp;\n\nconst StyledToaster = styled.div`\n position: fixed;\n z-index: ${({ theme }) => theme.base['z-index'].toast};\n width: min(40ch, calc(100% - 1rem));\n inset-inline-start: 50%;\n transform: translateX(-50%);\n top: 100%;\n`;\n\nStyledToaster.defaultProps = defaultThemeProp;\n\nfunction reducer(current: ToastState[], action: ToastReducerAction) {\n switch (action.type) {\n case 'push':\n return [\n ...current,\n {\n ...action.payload\n }\n ];\n\n case 'unmount':\n return current.filter(m => m.id !== action.payload);\n\n default:\n return current;\n }\n}\n\nconst Toast: FunctionComponent<ToastProps> = forwardRef(\n (\n { dispatch, topLevelDismiss, dismissAfter, ...message }: PropsWithoutRef<ToastProps>,\n ref: ToastProps['ref']\n ) => {\n const { content, translateY } = message;\n const [dismissed, setDismissed] = useState(false);\n const timeoutRef = useRef(NaN);\n const t = useI18n();\n\n const onTransitionEnd = (e: TransitionEvent<HTMLDivElement>) => {\n if (dismissed && e.propertyName === 'opacity' && e.target === e.currentTarget) {\n dispatch({ type: 'unmount', payload: message.id });\n }\n };\n\n const dismiss = () => {\n clearTimeout(timeoutRef.current);\n if (dismissed) return;\n setDismissed(true);\n topLevelDismiss?.({ id: message.id, timeout: false });\n };\n\n useEffect(() => {\n if (Number.isFinite(dismissAfter)) {\n timeoutRef.current = setTimeout(dismiss, dismissAfter);\n }\n\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n\n return (\n <Flex\n container={{ alignItems: 'center', gap: 0.25 }}\n as={StyledToast}\n ref={ref}\n style={\n {\n '--translateY': `${-translateY}px`,\n '--opacity': dismissed ? '0' : '1',\n '--scale': dismissed ? '0' : '1'\n } as CSSProperties\n }\n onTransitionEnd={onTransitionEnd}\n >\n <Flex item={{ grow: 1 }} as={StyledToastContent}>\n {content}\n </Flex>\n <Button\n as={StyledToastButton}\n variant='simple'\n onClick={dismiss}\n icon\n aria-label={t('dismiss_label')}\n >\n <Icon name='times' />\n </Button>\n </Flex>\n );\n }\n);\n\nconst Toaster: FunctionComponent<ToasterProps> = ({\n children,\n dismissAfter = Infinity,\n onDismiss,\n context = ToasterContext\n}: ToasterProps) => {\n const { portalTarget } = useConfiguration();\n const [messages, dispatch] = useReducer(reducer, []);\n const [yOffsets, setYOffsets] = useState<number[]>([]);\n const heightHashRef = useRef<{\n [id: string]: number;\n }>({});\n\n // This effect will cause a re-render with a translateY value set for each toast.\n useLayoutEffect(() => {\n const heights = [...messages].reverse().map(({ id }) => heightHashRef.current[id]);\n\n setYOffsets(\n heights\n .map((_, i) => heights.slice(0, i + 1).reduce((sum, cur) => sum + cur + 4, 0))\n .reverse()\n );\n }, [messages.length]);\n\n const providerValue = useMemo(\n () => ({\n push(incoming: ToastMessage) {\n const message: ToastState = {\n ...incoming,\n id: incoming.id ?? createUID()\n };\n\n dispatch({\n type: 'push',\n payload: message\n });\n },\n [initializedKey]: true\n }),\n [onDismiss, dismissAfter]\n );\n\n // Don't create additional ToasterContext.Providers.\n const priorCtx = useContext(context);\n if (priorCtx[initializedKey]) {\n return <ToasterContext.Provider value={priorCtx}>{children}</ToasterContext.Provider>;\n }\n\n return (\n <>\n <ToasterContext.Provider value={providerValue}>{children}</ToasterContext.Provider>\n {!!messages.length &&\n portalTarget &&\n createPortal(\n <StyledToaster>\n {messages.map((message, i) => {\n return (\n <Toast\n {...message}\n translateY={yOffsets[i] ?? 0}\n topLevelDismiss={onDismiss}\n dismissAfter={message.dismissAfter ?? dismissAfter}\n key={message.id}\n dispatch={dispatch}\n ref={el => {\n if (el) {\n heightHashRef.current[message.id] = el.offsetHeight;\n } else {\n delete heightHashRef.current[message.id];\n }\n }}\n />\n );\n })}\n </StyledToaster>,\n portalTarget\n )}\n </>\n );\n};\n\nexport default Toaster;\n"]}
1
+ {"version":3,"file":"Toaster.js","sourceRoot":"","sources":["../../../src/components/Toaster/Toaster.tsx"],"names":[],"mappings":"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","sourcesContent":["import {\n createContext,\n useContext,\n useReducer,\n useMemo,\n useLayoutEffect,\n FunctionComponent,\n ReactNode,\n CSSProperties,\n TransitionEvent,\n Context,\n useRef,\n useState,\n forwardRef,\n PropsWithoutRef,\n Ref,\n useEffect,\n Dispatch\n} from 'react';\nimport { createPortal } from 'react-dom';\nimport styled, { css } from 'styled-components';\n\nimport Button from '../Button';\nimport Icon, { registerIcon } from '../Icon';\nimport * as timesIcon from '../Icon/icons/times.icon';\nimport { createUID, windowIsAvailable } from '../../utils';\nimport { useConfiguration, useI18n } from '../../hooks';\nimport { defaultThemeProp } from '../../theme';\nimport Flex from '../Flex';\nimport '../../init';\n\nregisterIcon(timesIcon);\n\nexport interface ToasterContextValue {\n push: (message: ToastMessage) => void;\n initialized: boolean;\n}\n\nexport const ToasterContext = createContext<ToasterContextValue>({\n push: () => {},\n initialized: false\n});\n\nexport interface ToastMessage {\n /** String to identify the specific message. Used as onDismiss callback arg. */\n id?: string;\n /** A short message to provide feedback based upon a user action. */\n content: string;\n /**\n * Time in milliseconds to automatically dismiss toast.\n * Can be set globally on Toaster and overridden individually at a message level.\n * @default Infinity\n */\n dismissAfter?: number;\n /** Called when user or timer dismisses toasts. Callback is passed the message id and boolean indicating if the dismissal was timed. */\n onDismiss?: ({ id, timeout }: { id: ToastState['id']; timeout: boolean }) => void;\n}\n\nexport interface ToasterProps {\n /** The element(s) responsible for handling the Toaster state. */\n children: ReactNode;\n /**\n * Time in milliseconds to automatically dismiss Toast.\n * Can be set globally on Toaster and overridden individually at a message level.\n * @default Infinity\n */\n dismissAfter?: ToastMessage['dismissAfter'];\n /** Called when user or timer dismisses Toasts. Callback is passed the message id and boolean indicating if the dismissal was timed. */\n onDismiss?: ToastMessage['onDismiss'];\n /** Context to read previous values from. */\n context?: Context<ToasterContextValue>;\n}\n\ninterface ToastState extends ToastMessage {\n id: NonNullable<ToastMessage['id']>;\n}\n\ntype ToastReducerAction =\n | { type: 'push'; payload: ToastState }\n | { type: 'unmount'; payload: ToastState['id'] };\n\ninterface ToastProps extends ToastState {\n topLevelDismiss: ToasterProps['onDismiss'];\n translateY: number;\n dispatch: Dispatch<ToastReducerAction>;\n ref: Ref<HTMLDivElement>;\n}\n\ndeclare module '../../init' {\n export interface CosmosGlobals {\n toasterContext?: Context<ToasterContextValue>;\n }\n}\n\nconst StyledToastButton = styled.button(\n ({ theme }) => css`\n border: none;\n color: inherit;\n padding: 0;\n font-size: 1rem;\n\n &:enabled:hover {\n background: #ffffff19;\n }\n\n &:enabled:focus {\n box-shadow: ${theme.base.shadow['focus-inverted']};\n }\n `\n);\n\nStyledToastButton.defaultProps = defaultThemeProp;\n\nconst StyledToastContent = styled.div(({ theme }) => {\n return css`\n display: -webkit-box;\n -webkit-line-clamp: 2;\n -webkit-box-orient: vertical;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: ${theme.base['font-size']};\n margin-inline-start: calc(${theme.base['border-radius']} / 2);\n `;\n});\n\nStyledToastContent.defaultProps = defaultThemeProp;\n\nconst StyledToast = styled.div(({ theme }) => {\n return css`\n position: absolute;\n inset-block-start: 0;\n inset-inline-start: 0;\n width: 100%;\n padding: calc(${theme.base.spacing} / 2);\n background: ${theme.base.colors.slate['extra-dark']};\n color: ${theme.base.colors.white};\n border-radius: calc(${theme.base['border-radius']} / 2);\n opacity: var(--opacity);\n transform: translateY(var(--translateY)) scale(var(--scale));\n transition-property: transform, opacity;\n transition-duration: ${theme.base.animation.speed};\n transition-timing-function: ${theme.base.animation.timing.ease};\n `;\n});\n\nStyledToast.defaultProps = defaultThemeProp;\n\nconst StyledToaster = styled.div`\n position: fixed;\n z-index: ${({ theme }) => theme.base['z-index'].toast};\n width: min(40ch, calc(100% - 1rem));\n inset-inline-start: 50%;\n transform: translateX(-50%);\n top: 100%;\n`;\n\nStyledToaster.defaultProps = defaultThemeProp;\n\nfunction reducer(current: ToastState[], action: ToastReducerAction) {\n switch (action.type) {\n case 'push':\n return [\n ...current,\n {\n ...action.payload\n }\n ];\n\n case 'unmount':\n return current.filter(m => m.id !== action.payload);\n\n default:\n return current;\n }\n}\n\nconst Toast: FunctionComponent<ToastProps> = forwardRef(\n (\n { dispatch, topLevelDismiss, dismissAfter, ...message }: PropsWithoutRef<ToastProps>,\n ref: ToastProps['ref']\n ) => {\n const { content, translateY } = message;\n const [dismissed, setDismissed] = useState(false);\n const timeoutRef = useRef(NaN);\n const t = useI18n();\n\n const onTransitionEnd = (e: TransitionEvent<HTMLDivElement>) => {\n if (dismissed && e.propertyName === 'opacity' && e.target === e.currentTarget) {\n dispatch({ type: 'unmount', payload: message.id });\n }\n };\n\n const dismiss = () => {\n clearTimeout(timeoutRef.current);\n if (dismissed) return;\n setDismissed(true);\n topLevelDismiss?.({ id: message.id, timeout: false });\n };\n\n useEffect(() => {\n if (Number.isFinite(dismissAfter)) {\n timeoutRef.current = setTimeout(dismiss, dismissAfter);\n }\n\n return () => {\n clearTimeout(timeoutRef.current);\n };\n }, []);\n\n return (\n <Flex\n container={{ alignItems: 'center', gap: 0.25 }}\n as={StyledToast}\n ref={ref}\n style={\n {\n '--translateY': `${-translateY}px`,\n '--opacity': dismissed ? '0' : '1',\n '--scale': dismissed ? '0' : '1'\n } as CSSProperties\n }\n onTransitionEnd={onTransitionEnd}\n >\n <Flex item={{ grow: 1 }} as={StyledToastContent}>\n {content}\n </Flex>\n <Button\n as={StyledToastButton}\n variant='simple'\n onClick={dismiss}\n icon\n aria-label={t('dismiss_label')}\n >\n <Icon name='times' />\n </Button>\n </Flex>\n );\n }\n);\n\nconst Toaster: FunctionComponent<ToasterProps> = ({\n children,\n dismissAfter = Infinity,\n onDismiss\n}: ToasterProps) => {\n const { portalTarget } = useConfiguration();\n const [messages, dispatch] = useReducer(reducer, []);\n const [yOffsets, setYOffsets] = useState<number[]>([]);\n const heightHashRef = useRef<{\n [id: string]: number;\n }>({});\n\n // This effect will cause a re-render with a translateY value set for each toast.\n useLayoutEffect(() => {\n const heights = [...messages].reverse().map(({ id }) => heightHashRef.current[id]);\n\n setYOffsets(\n heights\n .map((_, i) => heights.slice(0, i + 1).reduce((sum, cur) => sum + cur + 4, 0))\n .reverse()\n );\n }, [messages.length]);\n\n const providerValue = useMemo(\n () => ({\n push(incoming: ToastMessage) {\n const message: ToastState = {\n ...incoming,\n id: incoming.id ?? createUID()\n };\n\n dispatch({\n type: 'push',\n payload: message\n });\n },\n initialized: true\n }),\n [onDismiss, dismissAfter]\n );\n\n // Don't create additional ToasterContext.Providers.\n const priorCtx = useContext(\n windowIsAvailable ? window.cosmos.toasterContext ?? ToasterContext : ToasterContext\n );\n if (priorCtx.initialized) {\n return <ToasterContext.Provider value={priorCtx}>{children}</ToasterContext.Provider>;\n }\n\n return (\n <>\n <ToasterContext.Provider value={providerValue}>{children}</ToasterContext.Provider>\n {!!messages.length &&\n portalTarget &&\n createPortal(\n <StyledToaster>\n {messages.map((message, i) => {\n return (\n <Toast\n {...message}\n translateY={yOffsets[i] ?? 0}\n topLevelDismiss={onDismiss}\n dismissAfter={message.dismissAfter ?? dismissAfter}\n key={message.id}\n dispatch={dispatch}\n ref={el => {\n if (el) {\n heightHashRef.current[message.id] = el.offsetHeight;\n } else {\n delete heightHashRef.current[message.id];\n }\n }}\n />\n );\n })}\n </StyledToaster>,\n portalTarget\n )}\n </>\n );\n};\n\nexport default Toaster;\n"]}
@@ -38,6 +38,7 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
38
38
  filter_by: string;
39
39
  sort_by: string;
40
40
  group_by: string;
41
+ go: string;
41
42
  view_all: string;
42
43
  view_less: string;
43
44
  show_more: string;
@@ -49,6 +50,7 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
49
50
  add_emoji: string;
50
51
  create_new: string;
51
52
  add_condition: string;
53
+ open_noun: string;
52
54
  close_noun: string;
53
55
  view_all_noun: string;
54
56
  view_less_noun: string;
@@ -60,6 +62,7 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
60
62
  deselected_noun: string;
61
63
  use_input_value: string;
62
64
  preview_of_noun: string;
65
+ go_to_noun: string;
63
66
  edited: string;
64
67
  done: string;
65
68
  uploading: string;
@@ -77,6 +80,9 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
77
80
  many: string;
78
81
  other: string;
79
82
  };
83
+ completed: string;
84
+ current: string;
85
+ not_started: string;
80
86
  day_label_a11y: string;
81
87
  day_placeholder: string;
82
88
  quarter_label_a11y: string;
@@ -219,6 +225,11 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
219
225
  app_announcement_dismiss_button_label_a11y: string;
220
226
  app_announcement_details_list_header: string;
221
227
  app_announcement_whats_new_button_label: string;
228
+ stages_label: string;
229
+ stages_see_full_lifecycle: string;
230
+ stages_case_lifecycle: string;
231
+ stages_default_case_lifecycle: string;
232
+ stages_stage_label: string;
222
233
  rte_heading_style: string;
223
234
  rte_bold: string;
224
235
  rte_italic: string;
@@ -305,6 +316,7 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
305
316
  other: string;
306
317
  };
307
318
  loading_post: string;
319
+ mention_type: string;
308
320
  scroll_to_latest_message: string;
309
321
  scroll_to_unread_messages: string;
310
322
  suggested_replies_current_of_total: string;
@@ -401,8 +413,6 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
401
413
  no_selected_tasks: string;
402
414
  task_picker_close: string;
403
415
  task_manager_overflow_menu: string;
404
- go_label: string;
405
- go_label_a11y: string;
406
416
  continue_label: string;
407
417
  continue_label_a11y: string;
408
418
  review_label: string;
@@ -667,15 +677,14 @@ declare const useI18n: () => import("../i18n/translate").TranslationFunction<Rea
667
677
  parallel: string;
668
678
  stage: string;
669
679
  alternate_stage: string;
670
- stage_see_full_lifecycle: string;
671
- lifecycle: string;
672
680
  add_stage: string;
673
681
  add_alternate_stage: string;
674
682
  add_node: string;
675
683
  search_nodes: string;
684
+ delete_step: string;
676
685
  delete_decision_step: string;
677
- delete_decision_step_title: string;
678
- delete_decision_step_outcome: string;
686
+ delete_step_title: string;
687
+ delete_step_outcome: string;
679
688
  delete_all_outcomes: string;
680
689
  zoom_level: string;
681
690
  close_configuration_panel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../src/hooks/useI18n.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
1
+ {"version":3,"file":"useI18n.d.ts","sourceRoot":"","sources":["../../src/hooks/useI18n.ts"],"names":[],"mappings":"AAIA;;;GAGG;AACH,QAAA,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAGZ,CAAC;AAEF,eAAe,OAAO,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"useInputFormatter.d.ts","sourceRoot":"","sources":["../../src/hooks/useInputFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAIrD;;;;;;;GAOG;AACH,QAAA,MAAM,iBAAiB,QAChB,UAAU,gBAAgB,CAAC,YACtB,MAAM,qBACG,MAAM,KAAK,MAAM,yBACd,MAAM,WAgG7B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"useInputFormatter.d.ts","sourceRoot":"","sources":["../../src/hooks/useInputFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAqB,MAAM,OAAO,CAAC;AAIrD;;;;;;;GAOG;AACH,QAAA,MAAM,iBAAiB,QAChB,UAAU,gBAAgB,CAAC,YACtB,MAAM,qBACG,MAAM,KAAK,MAAM,yBACd,MAAM,WAuG7B,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
@@ -76,6 +76,11 @@ const useInputFormatter = (ref, rawValue, formatter, acceptableCharacters = '\\p
76
76
  // if it matches move the real caret to the corresponding index in the raw value
77
77
  inputEl.setSelectionRange(match[0].length, match[0].length);
78
78
  }
79
+ else {
80
+ // just re-position the caret otherwise
81
+ inputEl.setSelectionRange(rawValueCaretPositionRef.current, rawValueCaretPositionRef.current);
82
+ }
83
+ rawValueCaretPositionRef.current = undefined;
79
84
  }
80
85
  }, [rawValue, acceptableCharacters]);
81
86
  return formatter(rawValue);
@@ -1 +1 @@
1
- {"version":3,"file":"useInputFormatter.js","sourceRoot":"","sources":["../../src/hooks/useInputFormatter.ts"],"names":[],"mappings":"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","sourcesContent":["import { RefObject, useRef, useEffect } from 'react';\n\nimport useEvent from './useEvent';\n\n/**\n * Formats the raw value using given formatter and handles the caret position.\n * @param ref reference to input element.\n * @param rawValue value to be formatted.\n * @param formatter formatter function accepting partial input and returning partially formatted value.\n * @param acceptableCharacters string containing all the characters that may appear in the value to format. RegExp shorthands are also accepted. Only numbers are accepted by default.\n * @returns formatted value that should be passed to the input component.\n */\nconst useInputFormatter = (\n ref: RefObject<HTMLInputElement>,\n rawValue: string,\n formatter: (value: string) => string,\n acceptableCharacters: string = '\\\\p{N}'\n) => {\n // synthetic caret position in unformatted value\n const rawValueCaretPositionRef = useRef<number>();\n\n useEvent(\n 'keydown',\n e => {\n const inputEl = ref.current;\n if (inputEl) {\n const caretPositionStart = inputEl.selectionStart ?? 0;\n const caretPositionEnd = inputEl.selectionEnd ?? 0;\n const currentValue = inputEl.value;\n if (caretPositionStart !== caretPositionEnd && ['Backspace', 'Delete'].includes(e.key)) {\n // if selection contains only formatting characters, move the caret to the beginning of the selection\n const selectedText = currentValue.slice(caretPositionStart, caretPositionEnd);\n if (!new RegExp(`[${acceptableCharacters}]`, 'gu').test(selectedText)) {\n inputEl.setSelectionRange(caretPositionStart, caretPositionStart);\n e.preventDefault();\n }\n return;\n }\n\n if (\n e.key === 'Backspace' &&\n new RegExp(`[^${acceptableCharacters}]`, 'gu').test(\n currentValue.charAt(caretPositionStart - 1)\n )\n ) {\n const lastNonFormatChar = new RegExp(\n `[${acceptableCharacters}](?=[^${acceptableCharacters}]*$)`,\n 'gu'\n );\n // match last non-formatting character if it can be found in the preceding slice\n if (lastNonFormatChar.test(currentValue.slice(0, caretPositionStart))) {\n // move the caret after matched character to get it removed\n inputEl.setSelectionRange(lastNonFormatChar.lastIndex, lastNonFormatChar.lastIndex);\n } else {\n e.preventDefault();\n }\n }\n\n if (\n e.key === 'Delete' &&\n new RegExp(`[^${acceptableCharacters}]`, 'gu').test(currentValue.charAt(caretPositionEnd))\n ) {\n const firstNonFormatChar = new RegExp(`[${acceptableCharacters}]`, 'gu');\n firstNonFormatChar.lastIndex = caretPositionEnd;\n // find first non-formatting character in the value starting from the caret position\n if (firstNonFormatChar.test(currentValue)) {\n // move the caret before matched character to get it removed\n inputEl.setSelectionRange(\n firstNonFormatChar.lastIndex - 1,\n firstNonFormatChar.lastIndex - 1\n );\n } else {\n e.preventDefault();\n }\n }\n }\n },\n { target: ref, dependencies: [acceptableCharacters] }\n );\n\n useEvent(\n 'input',\n () => {\n const inputEl = ref.current;\n if (inputEl) {\n // calculate new synthetic caret position in the unformatted value\n const currentCaretPosition = inputEl.selectionStart ?? 0;\n rawValueCaretPositionRef.current = inputEl.value\n .slice(0, currentCaretPosition)\n .replace(new RegExp(`[^${acceptableCharacters}]`, 'gu'), '').length;\n }\n },\n { target: ref, dependencies: [acceptableCharacters] }\n );\n\n useEffect(() => {\n const inputEl = ref.current;\n if (inputEl && rawValueCaretPositionRef.current !== undefined) {\n // create regexp with every raw value character wrapped in possible formatting characters\n const rawValueRegExpSource = `[^${acceptableCharacters}]*${rawValue\n .slice(0, rawValueCaretPositionRef.current)\n .split('')\n .join(`[^${acceptableCharacters}]*`)}`;\n const match = inputEl.value.match(new RegExp(rawValueRegExpSource, 'gu'));\n if (match) {\n // if it matches move the real caret to the corresponding index in the raw value\n inputEl.setSelectionRange(match[0].length, match[0].length);\n }\n }\n }, [rawValue, acceptableCharacters]);\n\n return formatter(rawValue);\n};\n\nexport default useInputFormatter;\n"]}
1
+ {"version":3,"file":"useInputFormatter.js","sourceRoot":"","sources":["../../src/hooks/useInputFormatter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,MAAM,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAErD,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC;;;;;;;GAOG;AACH,MAAM,iBAAiB,GAAG,CACxB,GAAgC,EAChC,QAAgB,EAChB,SAAoC,EACpC,uBAA+B,QAAQ,EACvC,EAAE;IACF,gDAAgD;IAChD,MAAM,wBAAwB,GAAG,MAAM,EAAU,CAAC;IAElD,QAAQ,CACN,SAAS,EACT,CAAC,CAAC,EAAE;QACF,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,EAAE;YACX,MAAM,kBAAkB,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;YACvD,MAAM,gBAAgB,GAAG,OAAO,CAAC,YAAY,IAAI,CAAC,CAAC;YACnD,MAAM,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC;YACnC,IAAI,kBAAkB,KAAK,gBAAgB,IAAI,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE;gBACtF,qGAAqG;gBACrG,MAAM,YAAY,GAAG,YAAY,CAAC,KAAK,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;gBAC9E,IAAI,CAAC,IAAI,MAAM,CAAC,IAAI,oBAAoB,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBACrE,OAAO,CAAC,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB,CAAC,CAAC;oBAClE,CAAC,CAAC,cAAc,EAAE,CAAC;iBACpB;gBACD,OAAO;aACR;YAED,IACE,CAAC,CAAC,GAAG,KAAK,WAAW;gBACrB,IAAI,MAAM,CAAC,KAAK,oBAAoB,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CACjD,YAAY,CAAC,MAAM,CAAC,kBAAkB,GAAG,CAAC,CAAC,CAC5C,EACD;gBACA,MAAM,iBAAiB,GAAG,IAAI,MAAM,CAClC,IAAI,oBAAoB,SAAS,oBAAoB,MAAM,EAC3D,IAAI,CACL,CAAC;gBACF,gFAAgF;gBAChF,IAAI,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC,EAAE,kBAAkB,CAAC,CAAC,EAAE;oBACrE,2DAA2D;oBAC3D,OAAO,CAAC,iBAAiB,CAAC,iBAAiB,CAAC,SAAS,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC;iBACrF;qBAAM;oBACL,CAAC,CAAC,cAAc,EAAE,CAAC;iBACpB;aACF;YAED,IACE,CAAC,CAAC,GAAG,KAAK,QAAQ;gBAClB,IAAI,MAAM,CAAC,KAAK,oBAAoB,GAAG,EAAE,IAAI,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC,EAC1F;gBACA,MAAM,kBAAkB,GAAG,IAAI,MAAM,CAAC,IAAI,oBAAoB,GAAG,EAAE,IAAI,CAAC,CAAC;gBACzE,kBAAkB,CAAC,SAAS,GAAG,gBAAgB,CAAC;gBAChD,oFAAoF;gBACpF,IAAI,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,EAAE;oBACzC,4DAA4D;oBAC5D,OAAO,CAAC,iBAAiB,CACvB,kBAAkB,CAAC,SAAS,GAAG,CAAC,EAChC,kBAAkB,CAAC,SAAS,GAAG,CAAC,CACjC,CAAC;iBACH;qBAAM;oBACL,CAAC,CAAC,cAAc,EAAE,CAAC;iBACpB;aACF;SACF;IACH,CAAC,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,CACtD,CAAC;IAEF,QAAQ,CACN,OAAO,EACP,GAAG,EAAE;QACH,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,EAAE;YACX,kEAAkE;YAClE,MAAM,oBAAoB,GAAG,OAAO,CAAC,cAAc,IAAI,CAAC,CAAC;YACzD,wBAAwB,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK;iBAC7C,KAAK,CAAC,CAAC,EAAE,oBAAoB,CAAC;iBAC9B,OAAO,CAAC,IAAI,MAAM,CAAC,KAAK,oBAAoB,GAAG,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC;SACvE;IACH,CAAC,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,CAAC,oBAAoB,CAAC,EAAE,CACtD,CAAC;IAEF,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;QAC5B,IAAI,OAAO,IAAI,wBAAwB,CAAC,OAAO,KAAK,SAAS,EAAE;YAC7D,yFAAyF;YACzF,MAAM,oBAAoB,GAAG,KAAK,oBAAoB,KAAK,QAAQ;iBAChE,KAAK,CAAC,CAAC,EAAE,wBAAwB,CAAC,OAAO,CAAC;iBAC1C,KAAK,CAAC,EAAE,CAAC;iBACT,IAAI,CAAC,KAAK,oBAAoB,IAAI,CAAC,EAAE,CAAC;YACzC,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,MAAM,CAAC,oBAAoB,EAAE,IAAI,CAAC,CAAC,CAAC;YAC1E,IAAI,KAAK,EAAE;gBACT,gFAAgF;gBAChF,OAAO,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;aAC7D;iBAAM;gBACL,uCAAuC;gBACvC,OAAO,CAAC,iBAAiB,CACvB,wBAAwB,CAAC,OAAO,EAChC,wBAAwB,CAAC,OAAO,CACjC,CAAC;aACH;YACD,wBAAwB,CAAC,OAAO,GAAG,SAAS,CAAC;SAC9C;IACH,CAAC,EAAE,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC,CAAC;IAErC,OAAO,SAAS,CAAC,QAAQ,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,eAAe,iBAAiB,CAAC","sourcesContent":["import { RefObject, useRef, useEffect } from 'react';\n\nimport useEvent from './useEvent';\n\n/**\n * Formats the raw value using given formatter and handles the caret position.\n * @param ref reference to input element.\n * @param rawValue value to be formatted.\n * @param formatter formatter function accepting partial input and returning partially formatted value.\n * @param acceptableCharacters string containing all the characters that may appear in the value to format. RegExp shorthands are also accepted. Only numbers are accepted by default.\n * @returns formatted value that should be passed to the input component.\n */\nconst useInputFormatter = (\n ref: RefObject<HTMLInputElement>,\n rawValue: string,\n formatter: (value: string) => string,\n acceptableCharacters: string = '\\\\p{N}'\n) => {\n // synthetic caret position in unformatted value\n const rawValueCaretPositionRef = useRef<number>();\n\n useEvent(\n 'keydown',\n e => {\n const inputEl = ref.current;\n if (inputEl) {\n const caretPositionStart = inputEl.selectionStart ?? 0;\n const caretPositionEnd = inputEl.selectionEnd ?? 0;\n const currentValue = inputEl.value;\n if (caretPositionStart !== caretPositionEnd && ['Backspace', 'Delete'].includes(e.key)) {\n // if selection contains only formatting characters, move the caret to the beginning of the selection\n const selectedText = currentValue.slice(caretPositionStart, caretPositionEnd);\n if (!new RegExp(`[${acceptableCharacters}]`, 'gu').test(selectedText)) {\n inputEl.setSelectionRange(caretPositionStart, caretPositionStart);\n e.preventDefault();\n }\n return;\n }\n\n if (\n e.key === 'Backspace' &&\n new RegExp(`[^${acceptableCharacters}]`, 'gu').test(\n currentValue.charAt(caretPositionStart - 1)\n )\n ) {\n const lastNonFormatChar = new RegExp(\n `[${acceptableCharacters}](?=[^${acceptableCharacters}]*$)`,\n 'gu'\n );\n // match last non-formatting character if it can be found in the preceding slice\n if (lastNonFormatChar.test(currentValue.slice(0, caretPositionStart))) {\n // move the caret after matched character to get it removed\n inputEl.setSelectionRange(lastNonFormatChar.lastIndex, lastNonFormatChar.lastIndex);\n } else {\n e.preventDefault();\n }\n }\n\n if (\n e.key === 'Delete' &&\n new RegExp(`[^${acceptableCharacters}]`, 'gu').test(currentValue.charAt(caretPositionEnd))\n ) {\n const firstNonFormatChar = new RegExp(`[${acceptableCharacters}]`, 'gu');\n firstNonFormatChar.lastIndex = caretPositionEnd;\n // find first non-formatting character in the value starting from the caret position\n if (firstNonFormatChar.test(currentValue)) {\n // move the caret before matched character to get it removed\n inputEl.setSelectionRange(\n firstNonFormatChar.lastIndex - 1,\n firstNonFormatChar.lastIndex - 1\n );\n } else {\n e.preventDefault();\n }\n }\n }\n },\n { target: ref, dependencies: [acceptableCharacters] }\n );\n\n useEvent(\n 'input',\n () => {\n const inputEl = ref.current;\n if (inputEl) {\n // calculate new synthetic caret position in the unformatted value\n const currentCaretPosition = inputEl.selectionStart ?? 0;\n rawValueCaretPositionRef.current = inputEl.value\n .slice(0, currentCaretPosition)\n .replace(new RegExp(`[^${acceptableCharacters}]`, 'gu'), '').length;\n }\n },\n { target: ref, dependencies: [acceptableCharacters] }\n );\n\n useEffect(() => {\n const inputEl = ref.current;\n if (inputEl && rawValueCaretPositionRef.current !== undefined) {\n // create regexp with every raw value character wrapped in possible formatting characters\n const rawValueRegExpSource = `[^${acceptableCharacters}]*${rawValue\n .slice(0, rawValueCaretPositionRef.current)\n .split('')\n .join(`[^${acceptableCharacters}]*`)}`;\n const match = inputEl.value.match(new RegExp(rawValueRegExpSource, 'gu'));\n if (match) {\n // if it matches move the real caret to the corresponding index in the raw value\n inputEl.setSelectionRange(match[0].length, match[0].length);\n } else {\n // just re-position the caret otherwise\n inputEl.setSelectionRange(\n rawValueCaretPositionRef.current,\n rawValueCaretPositionRef.current\n );\n }\n rawValueCaretPositionRef.current = undefined;\n }\n }, [rawValue, acceptableCharacters]);\n\n return formatter(rawValue);\n};\n\nexport default useInputFormatter;\n"]}
@@ -34,6 +34,7 @@ declare const _default: {
34
34
  filter_by: string;
35
35
  sort_by: string;
36
36
  group_by: string;
37
+ go: string;
37
38
  view_all: string;
38
39
  view_less: string;
39
40
  show_more: string;
@@ -45,6 +46,7 @@ declare const _default: {
45
46
  add_emoji: string;
46
47
  create_new: string;
47
48
  add_condition: string;
49
+ open_noun: string;
48
50
  close_noun: string;
49
51
  view_all_noun: string;
50
52
  view_less_noun: string;
@@ -56,6 +58,7 @@ declare const _default: {
56
58
  deselected_noun: string;
57
59
  use_input_value: string;
58
60
  preview_of_noun: string;
61
+ go_to_noun: string;
59
62
  edited: string;
60
63
  done: string;
61
64
  uploading: string;
@@ -73,6 +76,9 @@ declare const _default: {
73
76
  many: string;
74
77
  other: string;
75
78
  };
79
+ completed: string;
80
+ current: string;
81
+ not_started: string;
76
82
  day_label_a11y: string;
77
83
  day_placeholder: string;
78
84
  quarter_label_a11y: string;
@@ -215,6 +221,11 @@ declare const _default: {
215
221
  app_announcement_dismiss_button_label_a11y: string;
216
222
  app_announcement_details_list_header: string;
217
223
  app_announcement_whats_new_button_label: string;
224
+ stages_label: string;
225
+ stages_see_full_lifecycle: string;
226
+ stages_case_lifecycle: string;
227
+ stages_default_case_lifecycle: string;
228
+ stages_stage_label: string;
218
229
  rte_heading_style: string;
219
230
  rte_bold: string;
220
231
  rte_italic: string;
@@ -301,6 +312,7 @@ declare const _default: {
301
312
  other: string;
302
313
  };
303
314
  loading_post: string;
315
+ mention_type: string;
304
316
  scroll_to_latest_message: string;
305
317
  scroll_to_unread_messages: string;
306
318
  suggested_replies_current_of_total: string;
@@ -397,8 +409,6 @@ declare const _default: {
397
409
  no_selected_tasks: string;
398
410
  task_picker_close: string;
399
411
  task_manager_overflow_menu: string;
400
- go_label: string;
401
- go_label_a11y: string;
402
412
  continue_label: string;
403
413
  continue_label_a11y: string;
404
414
  review_label: string;
@@ -663,15 +673,14 @@ declare const _default: {
663
673
  parallel: string;
664
674
  stage: string;
665
675
  alternate_stage: string;
666
- stage_see_full_lifecycle: string;
667
- lifecycle: string;
668
676
  add_stage: string;
669
677
  add_alternate_stage: string;
670
678
  add_node: string;
671
679
  search_nodes: string;
680
+ delete_step: string;
672
681
  delete_decision_step: string;
673
- delete_decision_step_title: string;
674
- delete_decision_step_outcome: string;
682
+ delete_step_title: string;
683
+ delete_step_outcome: string;
675
684
  delete_all_outcomes: string;
676
685
  zoom_level: string;
677
686
  close_configuration_panel: string;
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/i18n/default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAyxBE"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../src/i18n/default.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,wBAoyBE"}
@@ -39,6 +39,7 @@ export default {
39
39
  filter_by: 'Filter by',
40
40
  sort_by: 'Sort by',
41
41
  group_by: 'Group by',
42
+ go: 'Go',
42
43
  /* Static verb noun */
43
44
  view_all: 'View all',
44
45
  view_less: 'View less',
@@ -52,6 +53,7 @@ export default {
52
53
  create_new: 'Create new',
53
54
  add_condition: 'Add condition',
54
55
  /* Dynamic verb {noun} */
56
+ open_noun: 'Open: {0}',
55
57
  close_noun: 'Close: {0}',
56
58
  view_all_noun: 'View all: {0}',
57
59
  view_less_noun: 'View less: {0}',
@@ -63,6 +65,7 @@ export default {
63
65
  deselected_noun: '{0}: unselected',
64
66
  use_input_value: 'Use {0}',
65
67
  preview_of_noun: 'Preview of: {0}',
68
+ go_to_noun: 'Go to: {0}',
66
69
  /* States */
67
70
  edited: 'Edited',
68
71
  done: 'Done',
@@ -81,6 +84,9 @@ export default {
81
84
  many: '{0} selected',
82
85
  other: '{0} selected'
83
86
  },
87
+ completed: 'Completed',
88
+ current: 'Current',
89
+ not_started: 'Not started',
84
90
  /* Date and time */
85
91
  day_label_a11y: 'Day',
86
92
  day_placeholder: 'DD',
@@ -251,6 +257,12 @@ export default {
251
257
  app_announcement_dismiss_button_label_a11y: 'Hide until next update',
252
258
  app_announcement_details_list_header: 'Announcements',
253
259
  app_announcement_whats_new_button_label: "See what's new",
260
+ /* work:Stages */
261
+ stages_label: 'Case stages',
262
+ stages_see_full_lifecycle: 'See full lifecycle',
263
+ stages_case_lifecycle: '{0} lifecycle',
264
+ stages_default_case_lifecycle: 'Case lifecycle',
265
+ stages_stage_label: 'Stage {0}, {1}',
254
266
  /* rte:RichTextEditor */
255
267
  rte_heading_style: 'Heading style',
256
268
  rte_bold: 'Bold',
@@ -340,6 +352,7 @@ export default {
340
352
  other: '{0} new items added'
341
353
  },
342
354
  loading_post: 'Loading post',
355
+ mention_type: 'Mention a {0}',
343
356
  /* cs:Chat */
344
357
  scroll_to_latest_message: 'Scroll to latest message',
345
358
  scroll_to_unread_messages: 'Scroll to unread messages',
@@ -442,8 +455,6 @@ export default {
442
455
  no_selected_tasks: 'No selected tasks',
443
456
  task_picker_close: 'Close task picker',
444
457
  task_manager_overflow_menu: 'All tasks',
445
- go_label: 'Go',
446
- go_label_a11y: 'Go to {0}',
447
458
  continue_label: 'Continue',
448
459
  continue_label_a11y: 'Continue with {0}',
449
460
  review_label: 'Review',
@@ -715,16 +726,15 @@ export default {
715
726
  parallel: 'Parallel',
716
727
  stage: 'Stage',
717
728
  alternate_stage: 'Alternate stage',
718
- stage_see_full_lifecycle: 'See full lifecycle',
719
- lifecycle: '{0} lifecycle',
720
729
  add_stage: 'Add stage',
721
730
  add_alternate_stage: 'Add alternate stage',
722
731
  /* build:FlowModeller */
723
732
  add_node: 'Add node',
724
733
  search_nodes: 'Search nodes',
725
- delete_decision_step: 'Select outcome that you want to retain. The remaining highlighted outcome and steps will be deleted',
726
- delete_decision_step_title: 'Delete step',
727
- delete_decision_step_outcome: 'Outcome to keep',
734
+ delete_step: 'This step has multiple outcomes, are you sure want to delete this step?',
735
+ delete_decision_step: 'Select outcome that you want to retain. The remaining highlighted outcomes will be deleted',
736
+ delete_step_title: 'Delete step',
737
+ delete_step_outcome: 'Outcome to keep',
728
738
  delete_all_outcomes: 'None (delete all outcomes)',
729
739
  /* build:Workbench */
730
740
  zoom_level: 'Zoom level',