@plumile/ui 0.1.55 → 0.1.57

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 (465) hide show
  1. package/lib/atomic/atoms/button/Button.d.ts.map +1 -1
  2. package/lib/atomic/atoms/button/Button.js +5 -2
  3. package/lib/atomic/atoms/formatted-date/FormattedDate.d.ts +14 -0
  4. package/lib/atomic/atoms/formatted-date/FormattedDate.d.ts.map +1 -0
  5. package/lib/atomic/atoms/formatted-date/FormattedDate.js +29 -0
  6. package/lib/atomic/atoms/icon-button/IconMenuButton.d.ts +8 -0
  7. package/lib/atomic/atoms/icon-button/IconMenuButton.d.ts.map +1 -0
  8. package/lib/atomic/atoms/icon-button/IconMenuButton.js +10 -0
  9. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.d.ts +14 -0
  10. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.d.ts.map +1 -0
  11. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js +16 -0
  12. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.d.ts +13 -0
  13. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.d.ts.map +1 -0
  14. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +42 -0
  15. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.d.ts +13 -0
  16. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.d.ts.map +1 -0
  17. package/lib/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js +37 -0
  18. package/lib/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.d.ts +25 -0
  19. package/lib/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.d.ts.map +1 -0
  20. package/lib/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js +221 -0
  21. package/lib/atomic/molecules/breadcrumb_navigation/types.d.ts +15 -0
  22. package/lib/atomic/molecules/breadcrumb_navigation/types.d.ts.map +1 -0
  23. package/lib/atomic/molecules/breadcrumb_navigation/types.js +2 -0
  24. package/lib/atomic/molecules/dropdown/Dropdown.d.ts +26 -0
  25. package/lib/atomic/molecules/dropdown/Dropdown.d.ts.map +1 -0
  26. package/lib/atomic/molecules/dropdown/Dropdown.js +271 -0
  27. package/lib/atomic/molecules/dropdown/dropdown.css.d.ts +8 -0
  28. package/lib/atomic/molecules/dropdown/dropdown.css.d.ts.map +1 -0
  29. package/lib/atomic/molecules/dropdown/dropdown.css.js +30 -0
  30. package/lib/atomic/molecules/form-actions/FormActions.d.ts +16 -0
  31. package/lib/atomic/molecules/form-actions/FormActions.d.ts.map +1 -0
  32. package/lib/atomic/molecules/form-actions/FormActions.js +27 -0
  33. package/lib/atomic/molecules/toast/ToastProvider.d.ts +19 -0
  34. package/lib/atomic/molecules/toast/ToastProvider.d.ts.map +1 -0
  35. package/lib/atomic/molecules/toast/ToastProvider.js +113 -0
  36. package/lib/atomic/molecules/toast/ToastViewport.d.ts +24 -0
  37. package/lib/atomic/molecules/toast/ToastViewport.d.ts.map +1 -0
  38. package/lib/atomic/molecules/toast/ToastViewport.js +40 -0
  39. package/lib/atomic/molecules/toast/constants.d.ts +2 -0
  40. package/lib/atomic/molecules/toast/constants.d.ts.map +1 -0
  41. package/lib/atomic/molecules/toast/constants.js +2 -0
  42. package/lib/atomic/molecules/toast/toast.css.d.ts +25 -0
  43. package/lib/atomic/molecules/toast/toast.css.d.ts.map +1 -0
  44. package/lib/atomic/molecules/toast/toast.css.js +106 -0
  45. package/lib/components/data-table/DataTable.css.d.ts +61 -0
  46. package/lib/components/data-table/DataTable.css.d.ts.map +1 -0
  47. package/lib/components/data-table/DataTable.css.js +285 -0
  48. package/lib/components/data-table/DataTable.d.ts +32 -0
  49. package/lib/components/data-table/DataTable.d.ts.map +1 -0
  50. package/lib/components/data-table/DataTable.js +95 -0
  51. package/lib/components/data-table/TableCell.css.d.ts +26 -0
  52. package/lib/components/data-table/TableCell.css.d.ts.map +1 -0
  53. package/lib/components/data-table/TableCell.css.js +45 -0
  54. package/lib/components/data-table/TableCell.d.ts +46 -0
  55. package/lib/components/data-table/TableCell.d.ts.map +1 -0
  56. package/lib/components/data-table/TableCell.js +72 -0
  57. package/lib/components/data-table/TableCellBase.d.ts +13 -0
  58. package/lib/components/data-table/TableCellBase.d.ts.map +1 -0
  59. package/lib/components/data-table/TableCellBase.js +11 -0
  60. package/lib/components/data-table/VirtualizedConnectionTable.css.d.ts +5 -0
  61. package/lib/components/data-table/VirtualizedConnectionTable.css.d.ts.map +1 -0
  62. package/lib/components/data-table/VirtualizedConnectionTable.css.js +18 -0
  63. package/lib/components/data-table/VirtualizedConnectionTable.d.ts +32 -0
  64. package/lib/components/data-table/VirtualizedConnectionTable.d.ts.map +1 -0
  65. package/lib/components/data-table/VirtualizedConnectionTable.js +304 -0
  66. package/lib/components/data-table/tableBreakpoints.d.ts +9 -0
  67. package/lib/components/data-table/tableBreakpoints.d.ts.map +1 -0
  68. package/lib/components/data-table/tableBreakpoints.js +34 -0
  69. package/lib/components/select/SimpleSelect.css.d.ts +23 -0
  70. package/lib/components/select/SimpleSelect.css.d.ts.map +1 -0
  71. package/lib/components/select/SimpleSelect.css.js +175 -0
  72. package/lib/components/select/SimpleSelect.d.ts +22 -0
  73. package/lib/components/select/SimpleSelect.d.ts.map +1 -0
  74. package/lib/components/select/SimpleSelect.js +218 -0
  75. package/lib/components/subscriptions/RefetchNeededBanner.css.d.ts +5 -0
  76. package/lib/components/subscriptions/RefetchNeededBanner.css.d.ts.map +1 -0
  77. package/lib/components/subscriptions/RefetchNeededBanner.css.js +32 -0
  78. package/lib/components/subscriptions/RefetchNeededBanner.d.ts +9 -0
  79. package/lib/components/subscriptions/RefetchNeededBanner.d.ts.map +1 -0
  80. package/lib/components/subscriptions/RefetchNeededBanner.js +17 -0
  81. package/lib/esm/atomic/atoms/badge/Badge.js +17 -16
  82. package/lib/esm/atomic/atoms/badge/Badge.js.map +1 -1
  83. package/lib/esm/atomic/atoms/badge/badge.css.js +30 -8
  84. package/lib/esm/atomic/atoms/badge/badge.css.js.map +1 -1
  85. package/lib/esm/atomic/atoms/button/Button.js +46 -56
  86. package/lib/esm/atomic/atoms/button/Button.js.map +1 -1
  87. package/lib/esm/atomic/atoms/button/LinkButton.js +48 -62
  88. package/lib/esm/atomic/atoms/button/LinkButton.js.map +1 -1
  89. package/lib/esm/atomic/atoms/button/button.css.js +95 -16
  90. package/lib/esm/atomic/atoms/button/button.css.js.map +1 -1
  91. package/lib/esm/atomic/atoms/checkbox/Checkbox.js +37 -40
  92. package/lib/esm/atomic/atoms/checkbox/Checkbox.js.map +1 -1
  93. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js +26 -11
  94. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js.map +1 -1
  95. package/lib/esm/atomic/atoms/formatted-date/FormattedDate.js +33 -0
  96. package/lib/esm/atomic/atoms/formatted-date/FormattedDate.js.map +1 -0
  97. package/lib/esm/atomic/atoms/icon-button/IconMenuButton.js +19 -0
  98. package/lib/esm/atomic/atoms/icon-button/IconMenuButton.js.map +1 -0
  99. package/lib/esm/atomic/atoms/input/Input.js +46 -40
  100. package/lib/esm/atomic/atoms/input/Input.js.map +1 -1
  101. package/lib/esm/atomic/atoms/input/input.css.js +32 -14
  102. package/lib/esm/atomic/atoms/input/input.css.js.map +1 -1
  103. package/lib/esm/atomic/atoms/label/Label.js +23 -16
  104. package/lib/esm/atomic/atoms/label/Label.js.map +1 -1
  105. package/lib/esm/atomic/atoms/label/label.css.js +27 -9
  106. package/lib/esm/atomic/atoms/label/label.css.js.map +1 -1
  107. package/lib/esm/atomic/atoms/textarea/Textarea.js +19 -18
  108. package/lib/esm/atomic/atoms/textarea/Textarea.js.map +1 -1
  109. package/lib/esm/atomic/atoms/textarea/textarea.css.js +32 -8
  110. package/lib/esm/atomic/atoms/textarea/textarea.css.js.map +1 -1
  111. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js +48 -0
  112. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js.map +1 -0
  113. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +54 -0
  114. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js.map +1 -0
  115. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js +63 -0
  116. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js.map +1 -0
  117. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js +8 -0
  118. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js.map +1 -0
  119. package/lib/esm/atomic/molecules/card/Card.css.js +8 -10
  120. package/lib/esm/atomic/molecules/card/Card.css.js.map +1 -1
  121. package/lib/esm/atomic/molecules/card/Card.js +24 -17
  122. package/lib/esm/atomic/molecules/card/Card.js.map +1 -1
  123. package/lib/esm/atomic/molecules/dropdown/Dropdown.js +149 -0
  124. package/lib/esm/atomic/molecules/dropdown/Dropdown.js.map +1 -0
  125. package/lib/esm/atomic/molecules/dropdown/dropdown.css.js +8 -0
  126. package/lib/esm/atomic/molecules/dropdown/dropdown.css.js.map +1 -0
  127. package/lib/esm/atomic/molecules/form-actions/FormActions.js +32 -0
  128. package/lib/esm/atomic/molecules/form-actions/FormActions.js.map +1 -0
  129. package/lib/esm/atomic/molecules/tabs/Tabs.js +34 -33
  130. package/lib/esm/atomic/molecules/tabs/Tabs.js.map +1 -1
  131. package/lib/esm/atomic/molecules/tabs/tabs.css.js +18 -9
  132. package/lib/esm/atomic/molecules/tabs/tabs.css.js.map +1 -1
  133. package/lib/esm/atomic/molecules/toast/ToastProvider.js +83 -0
  134. package/lib/esm/atomic/molecules/toast/ToastProvider.js.map +1 -0
  135. package/lib/esm/atomic/molecules/toast/ToastViewport.js +76 -0
  136. package/lib/esm/atomic/molecules/toast/ToastViewport.js.map +1 -0
  137. package/lib/esm/atomic/molecules/toast/constants.js +6 -0
  138. package/lib/esm/atomic/molecules/toast/constants.js.map +1 -0
  139. package/lib/esm/atomic/molecules/toast/toast.css.js +18 -0
  140. package/lib/esm/atomic/molecules/toast/toast.css.js.map +1 -0
  141. package/lib/esm/components/charts/BillingUsageLineChart.js +140 -173
  142. package/lib/esm/components/charts/BillingUsageLineChart.js.map +1 -1
  143. package/lib/esm/components/charts/billingUsageLineChart.css.js +8 -12
  144. package/lib/esm/components/charts/billingUsageLineChart.css.js.map +1 -1
  145. package/lib/esm/components/data-table/DataTable.css.js +84 -0
  146. package/lib/esm/components/data-table/DataTable.css.js.map +1 -0
  147. package/lib/esm/components/data-table/DataTable.js +74 -0
  148. package/lib/esm/components/data-table/DataTable.js.map +1 -0
  149. package/lib/esm/components/data-table/TableCell.css.js +18 -0
  150. package/lib/esm/components/data-table/TableCell.css.js.map +1 -0
  151. package/lib/esm/components/data-table/TableCell.js +75 -0
  152. package/lib/esm/components/data-table/TableCell.js.map +1 -0
  153. package/lib/esm/components/data-table/TableCellBase.js +19 -0
  154. package/lib/esm/components/data-table/TableCellBase.js.map +1 -0
  155. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +8 -0
  156. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js.map +1 -0
  157. package/lib/esm/components/data-table/VirtualizedConnectionTable.js +191 -0
  158. package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -0
  159. package/lib/esm/components/data-table/tableBreakpoints.js +31 -0
  160. package/lib/esm/components/data-table/tableBreakpoints.js.map +1 -0
  161. package/lib/esm/components/layout/ContentLayout.css.js +8 -18
  162. package/lib/esm/components/layout/ContentLayout.css.js.map +1 -1
  163. package/lib/esm/components/layout/ContentLayout.js +68 -78
  164. package/lib/esm/components/layout/ContentLayout.js.map +1 -1
  165. package/lib/esm/components/layout/TabsContentLayout.css.js +8 -11
  166. package/lib/esm/components/layout/TabsContentLayout.css.js.map +1 -1
  167. package/lib/esm/components/layout/TabsContentLayout.js +30 -13
  168. package/lib/esm/components/layout/TabsContentLayout.js.map +1 -1
  169. package/lib/esm/components/select/SimpleSelect.css.js +17 -0
  170. package/lib/esm/components/select/SimpleSelect.css.js.map +1 -0
  171. package/lib/esm/components/select/SimpleSelect.js +185 -0
  172. package/lib/esm/components/select/SimpleSelect.js.map +1 -0
  173. package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js +8 -0
  174. package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js.map +1 -0
  175. package/lib/esm/components/subscriptions/RefetchNeededBanner.js +32 -0
  176. package/lib/esm/components/subscriptions/RefetchNeededBanner.js.map +1 -0
  177. package/lib/esm/components/tile/InfoTile.css.js +8 -18
  178. package/lib/esm/components/tile/InfoTile.css.js.map +1 -1
  179. package/lib/esm/components/tile/InfoTile.js +62 -67
  180. package/lib/esm/components/tile/InfoTile.js.map +1 -1
  181. package/lib/esm/i18n/useUiTranslation.js +9 -0
  182. package/lib/esm/i18n/useUiTranslation.js.map +1 -0
  183. package/lib/esm/icons/BanSvg.js +29 -44
  184. package/lib/esm/icons/BanSvg.js.map +1 -1
  185. package/lib/esm/icons/ButtonLoadingSpinnerSvg.js +26 -41
  186. package/lib/esm/icons/ButtonLoadingSpinnerSvg.js.map +1 -1
  187. package/lib/esm/icons/ChatCheckSvg.js +27 -42
  188. package/lib/esm/icons/ChatCheckSvg.js.map +1 -1
  189. package/lib/esm/icons/ChatSizeLargeSvg.js +49 -70
  190. package/lib/esm/icons/ChatSizeLargeSvg.js.map +1 -1
  191. package/lib/esm/icons/ChatSizeMediumSvg.js +43 -61
  192. package/lib/esm/icons/ChatSizeMediumSvg.js.map +1 -1
  193. package/lib/esm/icons/ChatSizeSmallSvg.js +37 -52
  194. package/lib/esm/icons/ChatSizeSmallSvg.js.map +1 -1
  195. package/lib/esm/icons/ChatXSvg.js +27 -42
  196. package/lib/esm/icons/ChatXSvg.js.map +1 -1
  197. package/lib/esm/icons/CheckSvg.js +21 -30
  198. package/lib/esm/icons/CheckSvg.js.map +1 -1
  199. package/lib/esm/icons/ChevronDownSvg.js +21 -30
  200. package/lib/esm/icons/ChevronDownSvg.js.map +1 -1
  201. package/lib/esm/icons/ChevronLeftSvg.js +21 -30
  202. package/lib/esm/icons/ChevronLeftSvg.js.map +1 -1
  203. package/lib/esm/icons/ChevronRightSvg.js +21 -30
  204. package/lib/esm/icons/ChevronRightSvg.js.map +1 -1
  205. package/lib/esm/icons/ClockSvg.js +29 -44
  206. package/lib/esm/icons/ClockSvg.js.map +1 -1
  207. package/lib/esm/icons/CoinOffSvg.js +47 -65
  208. package/lib/esm/icons/CoinOffSvg.js.map +1 -1
  209. package/lib/esm/icons/CoinSvg.js +40 -55
  210. package/lib/esm/icons/CoinSvg.js.map +1 -1
  211. package/lib/esm/icons/DatabaseCheckSvg.js +47 -65
  212. package/lib/esm/icons/DatabaseCheckSvg.js.map +1 -1
  213. package/lib/esm/icons/DatabaseXSvg.js +47 -65
  214. package/lib/esm/icons/DatabaseXSvg.js.map +1 -1
  215. package/lib/esm/icons/DevModeSvg.js +21 -30
  216. package/lib/esm/icons/DevModeSvg.js.map +1 -1
  217. package/lib/esm/icons/EyeSvg.js +27 -33
  218. package/lib/esm/icons/EyeSvg.js.map +1 -1
  219. package/lib/esm/icons/FormErrorAlertSvg.js +37 -29
  220. package/lib/esm/icons/FormErrorAlertSvg.js.map +1 -1
  221. package/lib/esm/icons/GlobeSvg.js +18 -27
  222. package/lib/esm/icons/GlobeSvg.js.map +1 -1
  223. package/lib/esm/icons/GripDotsSvg.js +52 -29
  224. package/lib/esm/icons/GripDotsSvg.js.map +1 -1
  225. package/lib/esm/icons/HomeActivityAssignUserSvg.js +44 -62
  226. package/lib/esm/icons/HomeActivityAssignUserSvg.js.map +1 -1
  227. package/lib/esm/icons/HomeStatsCheckBadgeSvg.js +27 -42
  228. package/lib/esm/icons/HomeStatsCheckBadgeSvg.js.map +1 -1
  229. package/lib/esm/icons/HomeStatsClipboardSvg.js +27 -42
  230. package/lib/esm/icons/HomeStatsClipboardSvg.js.map +1 -1
  231. package/lib/esm/icons/HomeStatsClockSvg.js +27 -42
  232. package/lib/esm/icons/HomeStatsClockSvg.js.map +1 -1
  233. package/lib/esm/icons/KeyOffSvg.js +39 -54
  234. package/lib/esm/icons/KeyOffSvg.js.map +1 -1
  235. package/lib/esm/icons/KeySvg.js +39 -54
  236. package/lib/esm/icons/KeySvg.js.map +1 -1
  237. package/lib/esm/icons/KronexSvg.js +28 -43
  238. package/lib/esm/icons/KronexSvg.js.map +1 -1
  239. package/lib/esm/icons/LinkCheckSvg.js +37 -52
  240. package/lib/esm/icons/LinkCheckSvg.js.map +1 -1
  241. package/lib/esm/icons/LinkSvg.js +27 -42
  242. package/lib/esm/icons/LinkSvg.js.map +1 -1
  243. package/lib/esm/icons/LinkXSvg.js +37 -52
  244. package/lib/esm/icons/LinkXSvg.js.map +1 -1
  245. package/lib/esm/icons/LockOpenSvg.js +31 -46
  246. package/lib/esm/icons/LockOpenSvg.js.map +1 -1
  247. package/lib/esm/icons/LockSvg.js +31 -46
  248. package/lib/esm/icons/LockSvg.js.map +1 -1
  249. package/lib/esm/icons/MailCheckSvg.js +41 -56
  250. package/lib/esm/icons/MailCheckSvg.js.map +1 -1
  251. package/lib/esm/icons/MailSvg.js +31 -46
  252. package/lib/esm/icons/MailSvg.js.map +1 -1
  253. package/lib/esm/icons/MailXSvg.js +41 -56
  254. package/lib/esm/icons/MailXSvg.js.map +1 -1
  255. package/lib/esm/icons/ModalCloseSvg.js +27 -42
  256. package/lib/esm/icons/ModalCloseSvg.js.map +1 -1
  257. package/lib/esm/icons/PencilSvg.js +14 -20
  258. package/lib/esm/icons/PencilSvg.js.map +1 -1
  259. package/lib/esm/icons/PinFilledSvg.js +24 -40
  260. package/lib/esm/icons/PinFilledSvg.js.map +1 -1
  261. package/lib/esm/icons/PinSvg.js +27 -43
  262. package/lib/esm/icons/PinSvg.js.map +1 -1
  263. package/lib/esm/icons/ProfileDropdownLogoutSvg.js +37 -52
  264. package/lib/esm/icons/ProfileDropdownLogoutSvg.js.map +1 -1
  265. package/lib/esm/icons/ProfileDropdownOrganizationSvg.js +27 -42
  266. package/lib/esm/icons/ProfileDropdownOrganizationSvg.js.map +1 -1
  267. package/lib/esm/icons/ProjectsFolderSvg.js +21 -30
  268. package/lib/esm/icons/ProjectsFolderSvg.js.map +1 -1
  269. package/lib/esm/icons/RobotCheckSvg.js +60 -68
  270. package/lib/esm/icons/RobotCheckSvg.js.map +1 -1
  271. package/lib/esm/icons/RobotSvg.js +53 -58
  272. package/lib/esm/icons/RobotSvg.js.map +1 -1
  273. package/lib/esm/icons/RobotXSvg.js +60 -68
  274. package/lib/esm/icons/RobotXSvg.js.map +1 -1
  275. package/lib/esm/icons/RocketOffSvg.js +58 -83
  276. package/lib/esm/icons/RocketOffSvg.js.map +1 -1
  277. package/lib/esm/icons/RocketSvg.js +51 -73
  278. package/lib/esm/icons/RocketSvg.js.map +1 -1
  279. package/lib/esm/icons/SendCheckSvg.js +40 -55
  280. package/lib/esm/icons/SendCheckSvg.js.map +1 -1
  281. package/lib/esm/icons/SendMessageSvg.js +30 -45
  282. package/lib/esm/icons/SendMessageSvg.js.map +1 -1
  283. package/lib/esm/icons/SendXSvg.js +40 -55
  284. package/lib/esm/icons/SendXSvg.js.map +1 -1
  285. package/lib/esm/icons/SettingsCheckSvg.js +37 -52
  286. package/lib/esm/icons/SettingsCheckSvg.js.map +1 -1
  287. package/lib/esm/icons/SettingsXSvg.js +37 -52
  288. package/lib/esm/icons/SettingsXSvg.js.map +1 -1
  289. package/lib/esm/icons/ShieldLockSvg.js +41 -56
  290. package/lib/esm/icons/ShieldLockSvg.js.map +1 -1
  291. package/lib/esm/icons/ShieldOffSvg.js +27 -42
  292. package/lib/esm/icons/ShieldOffSvg.js.map +1 -1
  293. package/lib/esm/icons/SidebarHomeSvg.js +27 -42
  294. package/lib/esm/icons/SidebarHomeSvg.js.map +1 -1
  295. package/lib/esm/icons/SidebarInitiativesSvg.js +37 -52
  296. package/lib/esm/icons/SidebarInitiativesSvg.js.map +1 -1
  297. package/lib/esm/icons/SidebarPlusSvg.js +27 -42
  298. package/lib/esm/icons/SidebarPlusSvg.js.map +1 -1
  299. package/lib/esm/icons/SidebarSearchSvg.js +27 -42
  300. package/lib/esm/icons/SidebarSearchSvg.js.map +1 -1
  301. package/lib/esm/icons/SidebarSettingsSvg.js +27 -42
  302. package/lib/esm/icons/SidebarSettingsSvg.js.map +1 -1
  303. package/lib/esm/icons/SidebarTasksSvg.js +27 -42
  304. package/lib/esm/icons/SidebarTasksSvg.js.map +1 -1
  305. package/lib/esm/icons/SidebarTeamSvg.js +44 -62
  306. package/lib/esm/icons/SidebarTeamSvg.js.map +1 -1
  307. package/lib/esm/icons/TaskAttachmentSvg.js +21 -30
  308. package/lib/esm/icons/TaskAttachmentSvg.js.map +1 -1
  309. package/lib/esm/icons/TaskCalendarSvg.js +44 -62
  310. package/lib/esm/icons/TaskCalendarSvg.js.map +1 -1
  311. package/lib/esm/icons/TaskCommentBubbleSvg.js +21 -30
  312. package/lib/esm/icons/TaskCommentBubbleSvg.js.map +1 -1
  313. package/lib/esm/icons/TaskDeleteSvg.js +27 -42
  314. package/lib/esm/icons/TaskDeleteSvg.js.map +1 -1
  315. package/lib/esm/icons/TaskDependencyBlockedSvg.js +27 -43
  316. package/lib/esm/icons/TaskDependencyBlockedSvg.js.map +1 -1
  317. package/lib/esm/icons/TaskDependencyReadySvg.js +27 -43
  318. package/lib/esm/icons/TaskDependencyReadySvg.js.map +1 -1
  319. package/lib/esm/icons/TaskMenuDotsSvg.js +37 -52
  320. package/lib/esm/icons/TaskMenuDotsSvg.js.map +1 -1
  321. package/lib/esm/icons/TaskTagSvg.js +27 -42
  322. package/lib/esm/icons/TaskTagSvg.js.map +1 -1
  323. package/lib/esm/icons/TeamMemberEmailSvg.js +27 -42
  324. package/lib/esm/icons/TeamMemberEmailSvg.js.map +1 -1
  325. package/lib/esm/icons/TeamMemberLocationSvg.js +27 -42
  326. package/lib/esm/icons/TeamMemberLocationSvg.js.map +1 -1
  327. package/lib/esm/icons/WrenchSvg.js +21 -30
  328. package/lib/esm/icons/WrenchSvg.js.map +1 -1
  329. package/lib/esm/icons/XBadgeSvg.js +27 -42
  330. package/lib/esm/icons/XBadgeSvg.js.map +1 -1
  331. package/lib/esm/icons/markdown/MarkdownCheckboxCheckedSvg.js +30 -42
  332. package/lib/esm/icons/markdown/MarkdownCheckboxCheckedSvg.js.map +1 -1
  333. package/lib/esm/icons/markdown/MarkdownCheckboxUncheckedSvg.js +22 -28
  334. package/lib/esm/icons/markdown/MarkdownCheckboxUncheckedSvg.js.map +1 -1
  335. package/lib/esm/icons/markdown/MarkdownCopySuccessSvg.js +41 -53
  336. package/lib/esm/icons/markdown/MarkdownCopySuccessSvg.js.map +1 -1
  337. package/lib/esm/icons/markdown/MarkdownCopySvg.js +30 -42
  338. package/lib/esm/icons/markdown/MarkdownCopySvg.js.map +1 -1
  339. package/lib/esm/icons/markdown/MarkdownExternalLinkSvg.js +39 -51
  340. package/lib/esm/icons/markdown/MarkdownExternalLinkSvg.js.map +1 -1
  341. package/lib/esm/index.js +33 -55
  342. package/lib/esm/style.css +2 -0
  343. package/lib/esm/style.js +4 -0
  344. package/lib/esm/styles/slots.js +0 -0
  345. package/lib/esm/svg/ChevronDownIcon.js +11 -10
  346. package/lib/esm/svg/ChevronDownIcon.js.map +1 -1
  347. package/lib/esm/svg/ChevronRightIcon.js +11 -9
  348. package/lib/esm/svg/ChevronRightIcon.js.map +1 -1
  349. package/lib/esm/svg/GlobeIcon.js +11 -6
  350. package/lib/esm/svg/GlobeIcon.js.map +1 -1
  351. package/lib/esm/theme/ThemeProvider.js +33 -37
  352. package/lib/esm/theme/ThemeProvider.js.map +1 -1
  353. package/lib/esm/theme/VisuallyHidden.js +12 -8
  354. package/lib/esm/theme/VisuallyHidden.js.map +1 -1
  355. package/lib/esm/theme/accessibility.css.js +7 -8
  356. package/lib/esm/theme/accessibility.css.js.map +1 -1
  357. package/lib/esm/theme/colors.js +101 -100
  358. package/lib/esm/theme/colors.js.map +1 -1
  359. package/lib/esm/theme/common.js +122 -123
  360. package/lib/esm/theme/common.js.map +1 -1
  361. package/lib/esm/theme/containerQueries.js +14 -13
  362. package/lib/esm/theme/containerQueries.js.map +1 -1
  363. package/lib/esm/theme/global.css.js +1 -2
  364. package/lib/esm/theme/index.js +9 -28
  365. package/lib/esm/theme/sprinkles.css.js +68484 -9
  366. package/lib/esm/theme/sprinkles.css.js.map +1 -1
  367. package/lib/esm/theme/theme.css.js +1 -2
  368. package/lib/esm/theme/themeContract.js +1025 -1035
  369. package/lib/esm/theme/themeContract.js.map +1 -1
  370. package/lib/esm/theme/tools.js +16 -19
  371. package/lib/esm/theme/tools.js.map +1 -1
  372. package/lib/i18n/useUiTranslation.d.ts +3 -0
  373. package/lib/i18n/useUiTranslation.d.ts.map +1 -0
  374. package/lib/i18n/useUiTranslation.js +5 -0
  375. package/lib/index.d.ts +10 -0
  376. package/lib/index.d.ts.map +1 -1
  377. package/lib/index.js +11 -1
  378. package/lib/style.d.ts +5 -0
  379. package/lib/style.d.ts.map +1 -0
  380. package/lib/style.js +5 -0
  381. package/lib/styles/slots.d.ts +2 -0
  382. package/lib/styles/slots.d.ts.map +1 -0
  383. package/lib/styles/slots.js +2 -0
  384. package/lib/types/atomic/atoms/button/Button.d.ts.map +1 -1
  385. package/lib/types/atomic/atoms/formatted-date/FormattedDate.d.ts +14 -0
  386. package/lib/types/atomic/atoms/formatted-date/FormattedDate.d.ts.map +1 -0
  387. package/lib/types/atomic/atoms/icon-button/IconMenuButton.d.ts +8 -0
  388. package/lib/types/atomic/atoms/icon-button/IconMenuButton.d.ts.map +1 -0
  389. package/lib/types/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.d.ts +14 -0
  390. package/lib/types/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.d.ts.map +1 -0
  391. package/lib/types/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.d.ts +13 -0
  392. package/lib/types/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.d.ts.map +1 -0
  393. package/lib/types/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.d.ts +13 -0
  394. package/lib/types/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.d.ts.map +1 -0
  395. package/lib/types/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.d.ts +25 -0
  396. package/lib/types/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.d.ts.map +1 -0
  397. package/lib/types/atomic/molecules/breadcrumb_navigation/types.d.ts +15 -0
  398. package/lib/types/atomic/molecules/breadcrumb_navigation/types.d.ts.map +1 -0
  399. package/lib/types/atomic/molecules/dropdown/Dropdown.d.ts +26 -0
  400. package/lib/types/atomic/molecules/dropdown/Dropdown.d.ts.map +1 -0
  401. package/lib/types/atomic/molecules/dropdown/dropdown.css.d.ts +8 -0
  402. package/lib/types/atomic/molecules/dropdown/dropdown.css.d.ts.map +1 -0
  403. package/lib/types/atomic/molecules/form-actions/FormActions.d.ts +16 -0
  404. package/lib/types/atomic/molecules/form-actions/FormActions.d.ts.map +1 -0
  405. package/lib/types/atomic/molecules/toast/ToastProvider.d.ts +19 -0
  406. package/lib/types/atomic/molecules/toast/ToastProvider.d.ts.map +1 -0
  407. package/lib/types/atomic/molecules/toast/ToastViewport.d.ts +24 -0
  408. package/lib/types/atomic/molecules/toast/ToastViewport.d.ts.map +1 -0
  409. package/lib/types/atomic/molecules/toast/constants.d.ts +2 -0
  410. package/lib/types/atomic/molecules/toast/constants.d.ts.map +1 -0
  411. package/lib/types/atomic/molecules/toast/toast.css.d.ts +25 -0
  412. package/lib/types/atomic/molecules/toast/toast.css.d.ts.map +1 -0
  413. package/lib/types/components/data-table/DataTable.css.d.ts +61 -0
  414. package/lib/types/components/data-table/DataTable.css.d.ts.map +1 -0
  415. package/lib/types/components/data-table/DataTable.d.ts +32 -0
  416. package/lib/types/components/data-table/DataTable.d.ts.map +1 -0
  417. package/lib/types/components/data-table/TableCell.css.d.ts +26 -0
  418. package/lib/types/components/data-table/TableCell.css.d.ts.map +1 -0
  419. package/lib/types/components/data-table/TableCell.d.ts +46 -0
  420. package/lib/types/components/data-table/TableCell.d.ts.map +1 -0
  421. package/lib/types/components/data-table/TableCellBase.d.ts +13 -0
  422. package/lib/types/components/data-table/TableCellBase.d.ts.map +1 -0
  423. package/lib/types/components/data-table/VirtualizedConnectionTable.css.d.ts +5 -0
  424. package/lib/types/components/data-table/VirtualizedConnectionTable.css.d.ts.map +1 -0
  425. package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts +32 -0
  426. package/lib/types/components/data-table/VirtualizedConnectionTable.d.ts.map +1 -0
  427. package/lib/types/components/data-table/tableBreakpoints.d.ts +9 -0
  428. package/lib/types/components/data-table/tableBreakpoints.d.ts.map +1 -0
  429. package/lib/types/components/select/SimpleSelect.css.d.ts +23 -0
  430. package/lib/types/components/select/SimpleSelect.css.d.ts.map +1 -0
  431. package/lib/types/components/select/SimpleSelect.d.ts +22 -0
  432. package/lib/types/components/select/SimpleSelect.d.ts.map +1 -0
  433. package/lib/types/components/subscriptions/RefetchNeededBanner.css.d.ts +5 -0
  434. package/lib/types/components/subscriptions/RefetchNeededBanner.css.d.ts.map +1 -0
  435. package/lib/types/components/subscriptions/RefetchNeededBanner.d.ts +9 -0
  436. package/lib/types/components/subscriptions/RefetchNeededBanner.d.ts.map +1 -0
  437. package/lib/types/i18n/useUiTranslation.d.ts +3 -0
  438. package/lib/types/i18n/useUiTranslation.d.ts.map +1 -0
  439. package/lib/types/index.d.ts +10 -0
  440. package/lib/types/index.d.ts.map +1 -1
  441. package/lib/types/style.d.ts +5 -0
  442. package/lib/types/style.d.ts.map +1 -0
  443. package/lib/types/styles/slots.d.ts +2 -0
  444. package/lib/types/styles/slots.d.ts.map +1 -0
  445. package/package.json +12 -4
  446. package/src/i18n/locales/en/ui.json +53 -0
  447. package/src/i18n/locales/fr/ui.json +53 -0
  448. package/src/i18n/useUiTranslation.ts +6 -0
  449. package/lib/esm/atomic/atoms/badge/badge.css.ts.vanilla-BxMgYgcH.css +0 -1
  450. package/lib/esm/atomic/atoms/button/button.css.ts.vanilla-BYFxDZro.css +0 -1
  451. package/lib/esm/atomic/atoms/checkbox/checkbox.css.ts.vanilla-D6TvWxlo.css +0 -1
  452. package/lib/esm/atomic/atoms/input/input.css.ts.vanilla-D_X5_tcn.css +0 -1
  453. package/lib/esm/atomic/atoms/textarea/textarea.css.ts.vanilla-IrvNTQEt.css +0 -1
  454. package/lib/esm/atomic/molecules/tabs/tabs.css.ts.vanilla-DQm5wO0K.css +0 -1
  455. package/lib/esm/components/charts/billingUsageLineChart.css.ts.vanilla-7e3dy1Dj.css +0 -1
  456. package/lib/esm/components/tile/InfoTile.css.ts.vanilla-ByCg4UKz.css +0 -1
  457. package/lib/esm/index.js.map +0 -1
  458. package/lib/esm/theme/accessibility.css.ts.vanilla-D6gfeWvf.css +0 -1
  459. package/lib/esm/theme/global.css.js.map +0 -1
  460. package/lib/esm/theme/global.css.ts.vanilla-ClXnHnoy.css +0 -1
  461. package/lib/esm/theme/index.js.map +0 -1
  462. package/lib/esm/theme/sprinkles.css.ts.vanilla-DOI5FNoi.css +0 -1
  463. package/lib/esm/theme/theme.css.js.map +0 -1
  464. package/lib/esm/theme/theme.css.ts.vanilla-a3SsXff5.css +0 -1
  465. /package/lib/esm/{components/layout/TabsContentLayout.css.ts.vanilla-tn0RQdqM.css → atomic/molecules/breadcrumb_navigation/types.js} +0 -0
@@ -0,0 +1,83 @@
1
+ import { INFO_TOAST_DURATION_MS as e } from "./constants.js";
2
+ import { ToastViewport as t } from "./ToastViewport.js";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ import { createContext as i, useCallback as a, useContext as o, useEffect as s, useMemo as c, useRef as l, useState as u } from "react";
5
+ //#region src/atomic/molecules/toast/ToastProvider.tsx
6
+ var d = i(null), f = (e, t) => (n, r) => e.push({
7
+ kind: t,
8
+ title: n,
9
+ message: r
10
+ }), p = ({ children: i, maxToasts: o = 4 }) => {
11
+ let [p, m] = u([]), h = l(0), g = l(/* @__PURE__ */ new Map()), _ = a((e) => {
12
+ let t = g.current.get(e);
13
+ t != null && (clearTimeout(t), g.current.delete(e)), m((t) => t.filter((t) => t.id !== e));
14
+ }, []), v = a(() => {
15
+ g.current.forEach((e) => {
16
+ clearTimeout(e);
17
+ }), g.current.clear(), m([]);
18
+ }, []), y = a((e) => {
19
+ let t = e.id ?? `toast-${h.current++}`;
20
+ return m((n) => {
21
+ let r = [...n, {
22
+ ...e,
23
+ kind: e.kind ?? "info",
24
+ id: t
25
+ }];
26
+ return r.length > o ? r.slice(r.length - o) : r;
27
+ }), t;
28
+ }, [o]);
29
+ s(() => {
30
+ let t = /* @__PURE__ */ new Set();
31
+ p.forEach((n) => {
32
+ if (n.kind !== "info" || (t.add(n.id), g.current.has(n.id))) return;
33
+ let r = setTimeout(() => {
34
+ g.current.delete(n.id), m((e) => e.filter((e) => e.id !== n.id));
35
+ }, e);
36
+ g.current.set(n.id, r);
37
+ }), g.current.forEach((e, n) => {
38
+ t.has(n) || (clearTimeout(e), g.current.delete(n));
39
+ });
40
+ }, [p]), s(() => {
41
+ let e = g.current;
42
+ return () => {
43
+ e.forEach((e) => {
44
+ clearTimeout(e);
45
+ }), e.clear();
46
+ };
47
+ }, []);
48
+ let b = c(() => {
49
+ let e = {
50
+ push: y,
51
+ dismiss: _,
52
+ clear: v,
53
+ info: () => "",
54
+ warning: () => "",
55
+ error: () => ""
56
+ };
57
+ return {
58
+ ...e,
59
+ info: f(e, "info"),
60
+ warning: f(e, "warning"),
61
+ error: f(e, "error")
62
+ };
63
+ }, [
64
+ v,
65
+ _,
66
+ y
67
+ ]);
68
+ return /* @__PURE__ */ r(d.Provider, {
69
+ value: b,
70
+ children: [i, /* @__PURE__ */ n(t, {
71
+ toasts: p,
72
+ onDismiss: _
73
+ })]
74
+ });
75
+ }, m = () => {
76
+ let e = o(d);
77
+ if (e == null) throw Error("useToast must be used within a ToastProvider");
78
+ return e;
79
+ };
80
+ //#endregion
81
+ export { p as ToastProvider, m as useToast };
82
+
83
+ //# sourceMappingURL=ToastProvider.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastProvider.js","names":[],"sources":["../../../../../src/atomic/molecules/toast/ToastProvider.tsx"],"sourcesContent":["import {\n createContext,\n useEffect,\n useCallback,\n useContext,\n useMemo,\n useRef,\n useState,\n type JSX,\n type ReactNode,\n} from 'react';\n\nimport {\n ToastViewport,\n type ToastItem,\n type ToastKind,\n} from './ToastViewport.js';\nimport { INFO_TOAST_DURATION_MS } from './constants.js';\n\nexport type ToastApi = {\n push: (toast: Omit<ToastItem, 'id'> & { id?: string }) => string;\n dismiss: (toastId: string) => void;\n clear: () => void;\n info: (title: ReactNode, message?: ReactNode) => string;\n warning: (title: ReactNode, message?: ReactNode) => string;\n error: (title: ReactNode, message?: ReactNode) => string;\n};\n\nexport type ToastProviderProps = {\n children: ReactNode;\n maxToasts?: number;\n};\n\nconst ToastContext = createContext<ToastApi | null>(null);\n\nconst pushWithKind = (api: ToastApi, kind: ToastKind) => {\n return (title: ReactNode, message?: ReactNode): string => {\n return api.push({ kind, title, message });\n };\n};\n\nexport const ToastProvider = ({\n children,\n maxToasts = 4,\n}: ToastProviderProps): JSX.Element => {\n const [toasts, setToasts] = useState<ToastItem[]>([]);\n const counter = useRef(0);\n const infoToastTimers = useRef<Map<string, ReturnType<typeof setTimeout>>>(\n new Map(),\n );\n\n const dismiss = useCallback((toastId: string) => {\n const timer = infoToastTimers.current.get(toastId);\n if (timer != null) {\n clearTimeout(timer);\n infoToastTimers.current.delete(toastId);\n }\n setToasts((prev) => {\n return prev.filter((t) => {\n return t.id !== toastId;\n });\n });\n }, []);\n\n const clear = useCallback(() => {\n infoToastTimers.current.forEach((timer) => {\n clearTimeout(timer);\n });\n infoToastTimers.current.clear();\n setToasts([]);\n }, []);\n\n const push = useCallback(\n (toast: Omit<ToastItem, 'id'> & { id?: string }): string => {\n const id = toast.id ?? `toast-${counter.current++}`;\n setToasts((prev) => {\n const next = [...prev, { ...toast, kind: toast.kind ?? 'info', id }];\n if (next.length > maxToasts) {\n return next.slice(next.length - maxToasts);\n }\n return next;\n });\n return id;\n },\n [maxToasts],\n );\n\n useEffect(() => {\n const activeInfoToastIds = new Set<string>();\n toasts.forEach((toast) => {\n if (toast.kind !== 'info') {\n return;\n }\n activeInfoToastIds.add(toast.id);\n if (infoToastTimers.current.has(toast.id)) {\n return;\n }\n const timer = setTimeout(() => {\n infoToastTimers.current.delete(toast.id);\n setToasts((prev) => {\n return prev.filter((item) => {\n return item.id !== toast.id;\n });\n });\n }, INFO_TOAST_DURATION_MS);\n infoToastTimers.current.set(toast.id, timer);\n });\n\n infoToastTimers.current.forEach((timer, toastId) => {\n if (activeInfoToastIds.has(toastId)) {\n return;\n }\n clearTimeout(timer);\n infoToastTimers.current.delete(toastId);\n });\n }, [toasts]);\n\n useEffect(() => {\n const timers = infoToastTimers.current;\n return () => {\n timers.forEach((timer) => {\n clearTimeout(timer);\n });\n timers.clear();\n };\n }, []);\n\n const api = useMemo<ToastApi>(() => {\n const base: ToastApi = {\n push,\n dismiss,\n clear,\n info: () => {\n return '';\n },\n warning: () => {\n return '';\n },\n error: () => {\n return '';\n },\n };\n return {\n ...base,\n info: pushWithKind(base, 'info'),\n warning: pushWithKind(base, 'warning'),\n error: pushWithKind(base, 'error'),\n };\n }, [clear, dismiss, push]);\n\n return (\n <ToastContext.Provider value={api}>\n {children}\n <ToastViewport toasts={toasts} onDismiss={dismiss} />\n </ToastContext.Provider>\n );\n};\n\nexport const useToast = (): ToastApi => {\n const value = useContext(ToastContext);\n if (value == null) {\n throw new Error('useToast must be used within a ToastProvider');\n }\n return value;\n};\n"],"mappings":";;;;;AAiCA,IAAM,IAAe,EAA+B,KAAK,EAEnD,KAAgB,GAAe,OAC3B,GAAkB,MACjB,EAAI,KAAK;CAAE;CAAM;CAAO;CAAS,CAAC,EAIhC,KAAiB,EAC5B,aACA,eAAY,QACyB;CACrC,IAAM,CAAC,GAAQ,KAAa,EAAsB,EAAE,CAAC,EAC/C,IAAU,EAAO,EAAE,EACnB,IAAkB,kBACtB,IAAI,KAAK,CACV,EAEK,IAAU,GAAa,MAAoB;EAC/C,IAAM,IAAQ,EAAgB,QAAQ,IAAI,EAAQ;AAKlD,EAJI,KAAS,SACX,aAAa,EAAM,EACnB,EAAgB,QAAQ,OAAO,EAAQ,GAEzC,GAAW,MACF,EAAK,QAAQ,MACX,EAAE,OAAO,EAChB,CACF;IACD,EAAE,CAAC,EAEA,IAAQ,QAAkB;AAK9B,EAJA,EAAgB,QAAQ,SAAS,MAAU;AACzC,gBAAa,EAAM;IACnB,EACF,EAAgB,QAAQ,OAAO,EAC/B,EAAU,EAAE,CAAC;IACZ,EAAE,CAAC,EAEA,IAAO,GACV,MAA2D;EAC1D,IAAM,IAAK,EAAM,MAAM,SAAS,EAAQ;AAQxC,SAPA,GAAW,MAAS;GAClB,IAAM,IAAO,CAAC,GAAG,GAAM;IAAE,GAAG;IAAO,MAAM,EAAM,QAAQ;IAAQ;IAAI,CAAC;AAIpE,UAHI,EAAK,SAAS,IACT,EAAK,MAAM,EAAK,SAAS,EAAU,GAErC;IACP,EACK;IAET,CAAC,EAAU,CACZ;AAgCD,CA9BA,QAAgB;EACd,IAAM,oBAAqB,IAAI,KAAa;AAoB5C,EAnBA,EAAO,SAAS,MAAU;AAKxB,OAJI,EAAM,SAAS,WAGnB,EAAmB,IAAI,EAAM,GAAG,EAC5B,EAAgB,QAAQ,IAAI,EAAM,GAAG,EACvC;GAEF,IAAM,IAAQ,iBAAiB;AAE7B,IADA,EAAgB,QAAQ,OAAO,EAAM,GAAG,EACxC,GAAW,MACF,EAAK,QAAQ,MACX,EAAK,OAAO,EAAM,GACzB,CACF;MACD,EAAuB;AAC1B,KAAgB,QAAQ,IAAI,EAAM,IAAI,EAAM;IAC5C,EAEF,EAAgB,QAAQ,SAAS,GAAO,MAAY;AAC9C,KAAmB,IAAI,EAAQ,KAGnC,aAAa,EAAM,EACnB,EAAgB,QAAQ,OAAO,EAAQ;IACvC;IACD,CAAC,EAAO,CAAC,EAEZ,QAAgB;EACd,IAAM,IAAS,EAAgB;AAC/B,eAAa;AAIX,GAHA,EAAO,SAAS,MAAU;AACxB,iBAAa,EAAM;KACnB,EACF,EAAO,OAAO;;IAEf,EAAE,CAAC;CAEN,IAAM,IAAM,QAAwB;EAClC,IAAM,IAAiB;GACrB;GACA;GACA;GACA,YACS;GAET,eACS;GAET,aACS;GAEV;AACD,SAAO;GACL,GAAG;GACH,MAAM,EAAa,GAAM,OAAO;GAChC,SAAS,EAAa,GAAM,UAAU;GACtC,OAAO,EAAa,GAAM,QAAQ;GACnC;IACA;EAAC;EAAO;EAAS;EAAK,CAAC;AAE1B,QACE,kBAAC,EAAa,UAAd;EAAuB,OAAO;YAA9B,CACG,GACD,kBAAC,GAAD;GAAuB;GAAQ,WAAW;GAAW,CAAA,CAC/B;;GAIf,UAA2B;CACtC,IAAM,IAAQ,EAAW,EAAa;AACtC,KAAI,KAAS,KACX,OAAU,MAAM,+CAA+C;AAEjE,QAAO"}
@@ -0,0 +1,76 @@
1
+ import { cx as e } from "../../../theme/tools.js";
2
+ import { useUiTranslation as t } from "../../../i18n/useUiTranslation.js";
3
+ import { Button as n } from "../../atoms/button/Button.js";
4
+ import { ModalCloseSvg as r } from "../../../icons/ModalCloseSvg.js";
5
+ import { actions as i, closeButton as a, header as o, kindRecipe as s, message as c, progressBar as l, progressTrack as u, title as d, toast as f, viewport as p } from "./toast.css.js";
6
+ import { INFO_TOAST_DURATION_MS as m } from "./constants.js";
7
+ import { jsx as h, jsxs as g } from "react/jsx-runtime";
8
+ import { useMemo as _ } from "react";
9
+ //#region src/atomic/molecules/toast/ToastViewport.tsx
10
+ var v = ({ toasts: v, onDismiss: y, dismissLabel: b, className: x }) => {
11
+ let { t: S } = t(), C = b ?? S("toast.dismissAriaLabel"), w = _(() => v.map((t) => {
12
+ let p = t.kind ?? "info", _ = t.actions ?? [], v = null;
13
+ t.message != null && (v = /* @__PURE__ */ h("div", {
14
+ className: c,
15
+ children: t.message
16
+ }));
17
+ let b = null;
18
+ _.length > 0 && (b = /* @__PURE__ */ h("div", {
19
+ className: i,
20
+ children: _.map((e) => /* @__PURE__ */ h(n, {
21
+ type: "button",
22
+ size: "small",
23
+ variant: "secondary",
24
+ onClick: e.onClick,
25
+ children: e.label
26
+ }, e.id))
27
+ }));
28
+ let x = null;
29
+ return p === "info" && (x = /* @__PURE__ */ h("div", {
30
+ className: u,
31
+ "aria-hidden": "true",
32
+ children: /* @__PURE__ */ h("div", {
33
+ className: l,
34
+ style: { animationDuration: `${m}ms` }
35
+ })
36
+ })), /* @__PURE__ */ g("div", {
37
+ className: e(f, s({ kind: p })),
38
+ children: [
39
+ /* @__PURE__ */ g("div", {
40
+ className: o,
41
+ children: [/* @__PURE__ */ h("div", {
42
+ className: d,
43
+ children: t.title
44
+ }), /* @__PURE__ */ h("button", {
45
+ type: "button",
46
+ className: a,
47
+ "aria-label": C,
48
+ onClick: () => {
49
+ y(t.id);
50
+ },
51
+ children: /* @__PURE__ */ h(r, {
52
+ width: 18,
53
+ height: 18,
54
+ "aria-hidden": "true"
55
+ })
56
+ })]
57
+ }),
58
+ v,
59
+ b,
60
+ x
61
+ ]
62
+ }, t.id);
63
+ }), [
64
+ y,
65
+ C,
66
+ v
67
+ ]);
68
+ return v.length === 0 ? null : /* @__PURE__ */ h("div", {
69
+ className: e(p, x),
70
+ children: w
71
+ });
72
+ };
73
+ //#endregion
74
+ export { v as ToastViewport };
75
+
76
+ //# sourceMappingURL=ToastViewport.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastViewport.js","names":[],"sources":["../../../../../src/atomic/molecules/toast/ToastViewport.tsx"],"sourcesContent":["import { type JSX, type ReactNode, useMemo } from 'react';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { ModalCloseSvg } from '../../../icons/ModalCloseSvg.js';\nimport { Button } from '../../atoms/button/Button.js';\nimport { useUiTranslation } from '../../../i18n/useUiTranslation.js';\n\nimport * as styles from './toast.css.js';\nimport { cx } from '../../../theme/tools.js';\nimport { INFO_TOAST_DURATION_MS } from './constants.js';\n\nexport type ToastKind = NonNullable<\n NonNullable<RecipeVariants<typeof styles.kindRecipe>>['kind']\n>;\n\nexport type ToastAction = {\n id: string;\n label: string;\n onClick: () => void;\n};\n\nexport type ToastItem = {\n id: string;\n kind?: ToastKind;\n title: ReactNode;\n message?: ReactNode;\n actions?: readonly ToastAction[];\n};\n\nexport type ToastViewportProps = {\n toasts: readonly ToastItem[];\n onDismiss: (toastId: string) => void;\n dismissLabel?: string;\n className?: string;\n};\n\nexport const ToastViewport = ({\n toasts,\n onDismiss,\n dismissLabel,\n className,\n}: ToastViewportProps): JSX.Element | null => {\n const { t } = useUiTranslation();\n const resolvedDismissLabel = dismissLabel ?? t('toast.dismissAriaLabel');\n\n const items = useMemo(() => {\n return toasts.map((toast) => {\n const kind = toast.kind ?? 'info';\n const actions = toast.actions ?? [];\n\n let messageNode: JSX.Element | null = null;\n if (toast.message != null) {\n messageNode = <div className={styles.message}>{toast.message}</div>;\n }\n\n let actionsNode: JSX.Element | null = null;\n if (actions.length > 0) {\n actionsNode = (\n <div className={styles.actions}>\n {actions.map((action) => {\n return (\n <Button\n key={action.id}\n type=\"button\"\n size=\"small\"\n variant=\"secondary\"\n onClick={action.onClick}\n >\n {action.label}\n </Button>\n );\n })}\n </div>\n );\n }\n\n let progressNode: JSX.Element | null = null;\n if (kind === 'info') {\n progressNode = (\n <div className={styles.progressTrack} aria-hidden=\"true\">\n <div\n className={styles.progressBar}\n style={{ animationDuration: `${INFO_TOAST_DURATION_MS}ms` }}\n />\n </div>\n );\n }\n\n return (\n <div\n key={toast.id}\n className={cx(styles.toast, styles.kindRecipe({ kind }))}\n >\n <div className={styles.header}>\n <div className={styles.title}>{toast.title}</div>\n <button\n type=\"button\"\n className={styles.closeButton}\n aria-label={resolvedDismissLabel}\n onClick={() => {\n onDismiss(toast.id);\n }}\n >\n <ModalCloseSvg width={18} height={18} aria-hidden=\"true\" />\n </button>\n </div>\n {messageNode}\n {actionsNode}\n {progressNode}\n </div>\n );\n });\n }, [onDismiss, resolvedDismissLabel, toasts]);\n\n if (toasts.length === 0) {\n return null;\n }\n\n return <div className={cx(styles.viewport, className)}>{items}</div>;\n};\n"],"mappings":";;;;;;;;;AAoCA,IAAa,KAAiB,EAC5B,WACA,cACA,iBACA,mBAC4C;CAC5C,IAAM,EAAE,SAAM,GAAkB,EAC1B,IAAuB,KAAgB,EAAE,yBAAyB,EAElE,IAAQ,QACL,EAAO,KAAK,MAAU;EAC3B,IAAM,IAAO,EAAM,QAAQ,QACrB,IAAU,EAAM,WAAW,EAAE,EAE/B,IAAkC;AACtC,EAAI,EAAM,WAAW,SACnB,IAAc,kBAAC,OAAD;GAAK,WAAW;aAAiB,EAAM;GAAc,CAAA;EAGrE,IAAI,IAAkC;AACtC,EAAI,EAAQ,SAAS,MACnB,IACE,kBAAC,OAAD;GAAK,WAAW;aACb,EAAQ,KAAK,MAEV,kBAAC,GAAD;IAEE,MAAK;IACL,MAAK;IACL,SAAQ;IACR,SAAS,EAAO;cAEf,EAAO;IACD,EAPF,EAAO,GAOL,CAEX;GACE,CAAA;EAIV,IAAI,IAAmC;AAYvC,SAXI,MAAS,WACX,IACE,kBAAC,OAAD;GAAK,WAAW;GAAsB,eAAY;aAChD,kBAAC,OAAD;IACE,WAAW;IACX,OAAO,EAAE,mBAAmB,GAAG,EAAuB,KAAK;IAC3D,CAAA;GACE,CAAA,GAKR,kBAAC,OAAD;GAEE,WAAW,EAAG,GAAc,EAAkB,EAAE,SAAM,CAAC,CAAC;aAF1D;IAIE,kBAAC,OAAD;KAAK,WAAW;eAAhB,CACE,kBAAC,OAAD;MAAK,WAAW;gBAAe,EAAM;MAAY,CAAA,EACjD,kBAAC,UAAD;MACE,MAAK;MACL,WAAW;MACX,cAAY;MACZ,eAAe;AACb,SAAU,EAAM,GAAG;;gBAGrB,kBAAC,GAAD;OAAe,OAAO;OAAI,QAAQ;OAAI,eAAY;OAAS,CAAA;MACpD,CAAA,CACL;;IACL;IACA;IACA;IACG;KAnBC,EAAM,GAmBP;GAER,EACD;EAAC;EAAW;EAAsB;EAAO,CAAC;AAM7C,QAJI,EAAO,WAAW,IACb,OAGF,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAiB,EAAU;YAAG;EAAY,CAAA"}
@@ -0,0 +1,6 @@
1
+ //#region src/atomic/molecules/toast/constants.ts
2
+ var e = 15e3;
3
+ //#endregion
4
+ export { e as INFO_TOAST_DURATION_MS };
5
+
6
+ //# sourceMappingURL=constants.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constants.js","names":[],"sources":["../../../../../src/atomic/molecules/toast/constants.ts"],"sourcesContent":["export const INFO_TOAST_DURATION_MS = 15_000;\n"],"mappings":";AAAA,IAAa,IAAyB"}
@@ -0,0 +1,18 @@
1
+ /* empty css */
2
+ /* empty css */
3
+ import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
4
+ //#region src/atomic/molecules/toast/toast.css.ts
5
+ var t = "_19cwz1i0 txvbqbpso txvbqbpuf txvbqb836 txvbqbuvx txvbqb9io txvbqbai6 txvbqbao6", n = "_19cwz1i3 _19cwz1i2 txvbqbnvf txvbqboio txvbqbp5o txvbqblxf txvbqbuzn txvbqbwf txvbqb1qf txvbqb1co txvbqb9io txvbqbai6 txvbqbanx txvbqb1ro txvbqb8q6", r = e({
6
+ defaultClassName: "_19cwz1i4",
7
+ variantClassNames: { kind: {
8
+ info: "_19cwz1i5",
9
+ warning: "_19cwz1i6",
10
+ error: "_19cwz1i7"
11
+ } },
12
+ defaultVariants: { kind: "info" },
13
+ compoundVariants: []
14
+ }), i = "_19cwz1i8 txvbqb9io txvbqbcf txvbqbdoo txvbqbao6", a = "_19cwz1i9 txvbqbamo", o = "_19cwz1ia txvbqb8x", s = "_19cwz1ib txvbqb9jf txvbqbco txvbqbao6 txvbqbhwx", c = "_19cwz1id _19cwz1ic txvbqb9jf txvbqbco txvbqbdnx txvbqbtx6 txvbqbc6o txvbqb1rf txvbqb1px txvbqb12f txvbqbuzj txvbqbv", l = "_19cwz1if _19cwz1ie txvbqbhwx txvbqb1t6", u = "_19cwz1ih";
15
+ //#endregion
16
+ export { s as actions, c as closeButton, i as header, r as kindRecipe, o as message, u as progressBar, l as progressTrack, a as title, n as toast, t as viewport };
17
+
18
+ //# sourceMappingURL=toast.css.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.css.js","names":[],"sources":["../../../../../src/atomic/molecules/toast/toast.css.ts"],"sourcesContent":["import { keyframes, style } from '@vanilla-extract/css';\nimport { recipe, type RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '../../../theme/sprinkles.css.js';\nimport { vars } from '../../../theme/themeContract.js';\n\nexport const viewport = sprinkles({\n position: 'fixed',\n right: 4,\n bottom: 4,\n zIndex: 'modal',\n display: 'flex',\n flexDirection: 'column',\n gap: 2,\n});\n\nconst slideIn = keyframes({\n from: { transform: 'translateY(10px)', opacity: 0 },\n to: { transform: 'translateY(0)', opacity: 1 },\n});\n\nexport const toast = style([\n sprinkles({\n backgroundColor: 'white',\n borderColor: 'border',\n borderStyle: 'solid',\n borderWidth: 'default',\n display: 'flex',\n flexDirection: 'column',\n gap: 1,\n paddingX: 4,\n paddingY: 3,\n borderRadius: 'lg',\n boxShadow: 'lg',\n }),\n {\n width: 'min(28rem, calc(100vw - 2rem))',\n animation: `${slideIn} 140ms ease-out`,\n },\n]);\n\nexport const kindRecipe = recipe({\n variants: {\n kind: {\n info: { borderColor: vars.colors['blue-200'] },\n warning: { borderColor: vars.colors['amber-200'] },\n error: { borderColor: vars.colors['red-200'] },\n },\n },\n defaultVariants: {\n kind: 'info',\n },\n});\n\nexport type KindVariants = RecipeVariants<typeof kindRecipe>;\n\nexport const header = sprinkles({\n display: 'flex',\n alignItems: 'flex-start',\n justifyContent: 'space-between',\n gap: 2,\n});\n\nexport const title = sprinkles({\n fontWeight: 'semibold',\n});\n\nexport const message = sprinkles({\n fontSize: 'sm',\n});\n\nexport const actions = sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n gap: 2,\n marginTop: 1,\n});\n\nexport const closeButton = style([\n sprinkles({\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n width: 8,\n height: 8,\n borderRadius: 'md',\n borderStyle: 'none',\n borderWidth: 0,\n backgroundColor: 'transparent',\n cursor: 'pointer',\n }),\n]);\n\nexport const progressTrack = style([\n sprinkles({\n marginTop: 1,\n borderRadius: 'full',\n }),\n {\n height: 4,\n backgroundColor: vars.colors['blue-50'],\n overflow: 'hidden',\n },\n]);\n\nconst progressFill = keyframes({\n from: { width: '0%' },\n to: { width: '100%' },\n});\n\nexport const progressBar = style([\n {\n height: '100%',\n width: '0%',\n backgroundColor: vars.colors['blue-400'],\n animationName: progressFill,\n animationTimingFunction: 'linear',\n animationFillMode: 'forwards',\n },\n]);\n"],"mappings":""}
@@ -1,177 +1,144 @@
1
- import { jsx as s, jsxs as p } from "react/jsx-runtime";
2
- import { ResponsiveLine as T } from "@nivo/line";
3
- import { chartContainer as v, tooltip as L, tooltipDate as N, tooltipRow as w, tooltipRowLabel as B, tooltipSwatch as D } from "./billingUsageLineChart.css.js";
4
- import { vars as i } from "../../theme/themeContract.js";
5
- const h = 6, O = new Intl.NumberFormat("en-US", {
6
- notation: "compact",
7
- maximumFractionDigits: 1
1
+ import { chartContainer as e, tooltip as t, tooltipDate as n, tooltipRow as r, tooltipRowLabel as i, tooltipSwatch as a } from "./billingUsageLineChart.css.js";
2
+ import { vars as o } from "../../theme/themeContract.js";
3
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
4
+ import { ResponsiveLine as l } from "@nivo/line";
5
+ //#region src/components/charts/BillingUsageLineChart.tsx
6
+ var u = 6, d = new Intl.NumberFormat("en-US", {
7
+ notation: "compact",
8
+ maximumFractionDigits: 1
8
9
  });
9
- function z(l) {
10
- const r = l[0];
11
- if (r == null || r.data.length <= h)
12
- return r == null ? [] : r.data.map((n) => n.x);
13
- const d = Math.ceil(r.data.length / h), a = r.data.filter((n, m) => m % d === 0).map((n) => n.x), o = r.data.at(-1);
14
- return o != null && a.at(-1) !== o.x && a.push(o.x), a;
10
+ function f(e) {
11
+ let t = e[0];
12
+ if (t == null || t.data.length <= u) return t == null ? [] : t.data.map((e) => e.x);
13
+ let n = Math.ceil(t.data.length / u), r = t.data.filter((e, t) => t % n === 0).map((e) => e.x), i = t.data.at(-1);
14
+ return i != null && r.at(-1) !== i.x && r.push(i.x), r;
15
15
  }
16
- function y(l) {
17
- return (/* @__PURE__ */ new Date(`${l}T00:00:00Z`)).toLocaleDateString(void 0, {
18
- month: "short",
19
- day: "2-digit"
20
- });
16
+ function p(e) {
17
+ return (/* @__PURE__ */ new Date(`${e}T00:00:00Z`)).toLocaleDateString(void 0, {
18
+ month: "short",
19
+ day: "2-digit"
20
+ });
21
21
  }
22
- const P = (l) => {
23
- const {
24
- ariaLabel: r,
25
- categoryColorById: d,
26
- categoryLabel: a,
27
- categoryOrder: o,
28
- formatValue: n,
29
- series: m
30
- } = l, x = z(m), b = o, f = (t) => b.includes(t), S = [
31
- {
32
- anchor: "bottom",
33
- direction: "row",
34
- translateY: 56,
35
- itemWidth: 90,
36
- itemHeight: 16,
37
- itemsSpacing: 8,
38
- symbolSize: 10,
39
- symbolShape: "circle",
40
- itemTextColor: i.colors.textSecondary,
41
- data: o.map((t) => ({
42
- id: t,
43
- label: a(t),
44
- color: d[t]
45
- }))
46
- }
47
- ];
48
- return /* @__PURE__ */ s("div", { className: v, children: /* @__PURE__ */ s(
49
- T,
50
- {
51
- data: m,
52
- margin: { top: 14, right: 16, bottom: 74, left: 52 },
53
- colors: (t) => typeof t.id != "string" || !f(t.id) ? i.colors.primary : d[t.id],
54
- xScale: { type: "point" },
55
- yScale: { type: "linear", min: 0, max: "auto" },
56
- curve: "monotoneX",
57
- lineWidth: 2.5,
58
- pointSize: 4,
59
- pointBorderWidth: 2,
60
- pointBorderColor: { from: "seriesColor", modifiers: [["darker", 0.2]] },
61
- enableArea: !0,
62
- areaOpacity: 0.1,
63
- enableGridX: !1,
64
- enableGridY: !0,
65
- axisTop: null,
66
- axisRight: null,
67
- axisBottom: {
68
- tickValues: x,
69
- format: (t) => y(String(t)),
70
- tickSize: 0,
71
- tickPadding: 10
72
- },
73
- axisLeft: {
74
- tickSize: 0,
75
- tickPadding: 8,
76
- tickValues: 4,
77
- format: (t) => O.format(Number(t))
78
- },
79
- enableSlices: "x",
80
- sliceTooltip: ({
81
- slice: t
82
- }) => {
83
- const g = String(t.id), k = o[0] ?? null, I = [...t.points].map((e) => {
84
- let u = 0;
85
- typeof e.data.y == "number" && (u = e.data.y);
86
- let c = k;
87
- return typeof e.seriesId == "string" && f(e.seriesId) && (c = e.seriesId), c == null ? null : {
88
- seriesId: c,
89
- data: { y: u },
90
- color: e.seriesColor
91
- };
92
- }).filter((e) => e != null).sort((e, u) => {
93
- const c = o.indexOf(e.seriesId), C = o.indexOf(u.seriesId);
94
- return c - C;
95
- });
96
- return /* @__PURE__ */ p("div", { className: L, children: [
97
- /* @__PURE__ */ s("p", { className: N, children: y(g) }),
98
- I.map((e) => /* @__PURE__ */ p(
99
- "div",
100
- {
101
- className: w,
102
- children: [
103
- /* @__PURE__ */ p("span", { className: B, children: [
104
- /* @__PURE__ */ s(
105
- "span",
106
- {
107
- className: D,
108
- style: { backgroundColor: e.color },
109
- "aria-hidden": !0
110
- }
111
- ),
112
- /* @__PURE__ */ s("span", { children: a(e.seriesId) })
113
- ] }),
114
- /* @__PURE__ */ s("strong", { children: n(e.data.y) })
115
- ]
116
- },
117
- `${g}-${e.seriesId}`
118
- ))
119
- ] });
120
- },
121
- legends: S,
122
- useMesh: !0,
123
- ariaLabel: r,
124
- theme: {
125
- text: {
126
- fill: i.colors.textSecondary,
127
- fontSize: 12
128
- },
129
- axis: {
130
- domain: {
131
- line: {
132
- stroke: i.colors.borderLight
133
- }
134
- },
135
- ticks: {
136
- line: {
137
- stroke: "transparent"
138
- }
139
- },
140
- legend: {
141
- text: {
142
- fill: i.colors.textSecondary
143
- }
144
- }
145
- },
146
- grid: {
147
- line: {
148
- stroke: i.colors.borderLight
149
- }
150
- },
151
- crosshair: {
152
- line: {
153
- stroke: i.colors.primary,
154
- strokeWidth: 1,
155
- strokeOpacity: 0.35
156
- }
157
- },
158
- tooltip: {
159
- container: {
160
- background: "transparent",
161
- boxShadow: "none",
162
- padding: 0
163
- }
164
- },
165
- legends: {
166
- text: {
167
- fill: i.colors.textSecondary
168
- }
169
- }
170
- }
171
- }
172
- ) });
22
+ var m = (u) => {
23
+ let { ariaLabel: m, categoryColorById: h, categoryLabel: g, categoryOrder: _, formatValue: v, series: y } = u, b = f(y), x = _, S = (e) => x.includes(e), C = [{
24
+ anchor: "bottom",
25
+ direction: "row",
26
+ translateY: 56,
27
+ itemWidth: 90,
28
+ itemHeight: 16,
29
+ itemsSpacing: 8,
30
+ symbolSize: 10,
31
+ symbolShape: "circle",
32
+ itemTextColor: o.colors.textSecondary,
33
+ data: _.map((e) => ({
34
+ id: e,
35
+ label: g(e),
36
+ color: h[e]
37
+ }))
38
+ }];
39
+ return /* @__PURE__ */ s("div", {
40
+ className: e,
41
+ children: /* @__PURE__ */ s(l, {
42
+ data: y,
43
+ margin: {
44
+ top: 14,
45
+ right: 16,
46
+ bottom: 74,
47
+ left: 52
48
+ },
49
+ colors: (e) => typeof e.id != "string" || !S(e.id) ? o.colors.primary : h[e.id],
50
+ xScale: { type: "point" },
51
+ yScale: {
52
+ type: "linear",
53
+ min: 0,
54
+ max: "auto"
55
+ },
56
+ curve: "monotoneX",
57
+ lineWidth: 2.5,
58
+ pointSize: 4,
59
+ pointBorderWidth: 2,
60
+ pointBorderColor: {
61
+ from: "seriesColor",
62
+ modifiers: [["darker", .2]]
63
+ },
64
+ enableArea: !0,
65
+ areaOpacity: .1,
66
+ enableGridX: !1,
67
+ enableGridY: !0,
68
+ axisTop: null,
69
+ axisRight: null,
70
+ axisBottom: {
71
+ tickValues: b,
72
+ format: (e) => p(String(e)),
73
+ tickSize: 0,
74
+ tickPadding: 10
75
+ },
76
+ axisLeft: {
77
+ tickSize: 0,
78
+ tickPadding: 8,
79
+ tickValues: 4,
80
+ format: (e) => d.format(Number(e))
81
+ },
82
+ enableSlices: "x",
83
+ sliceTooltip: ({ slice: e }) => {
84
+ let o = String(e.id), l = _[0] ?? null, u = [...e.points].map((e) => {
85
+ let t = 0;
86
+ typeof e.data.y == "number" && (t = e.data.y);
87
+ let n = l;
88
+ return typeof e.seriesId == "string" && S(e.seriesId) && (n = e.seriesId), n == null ? null : {
89
+ seriesId: n,
90
+ data: { y: t },
91
+ color: e.seriesColor
92
+ };
93
+ }).filter((e) => e != null).sort((e, t) => _.indexOf(e.seriesId) - _.indexOf(t.seriesId));
94
+ return /* @__PURE__ */ c("div", {
95
+ className: t,
96
+ children: [/* @__PURE__ */ s("p", {
97
+ className: n,
98
+ children: p(o)
99
+ }), u.map((e) => /* @__PURE__ */ c("div", {
100
+ className: r,
101
+ children: [/* @__PURE__ */ c("span", {
102
+ className: i,
103
+ children: [/* @__PURE__ */ s("span", {
104
+ className: a,
105
+ style: { backgroundColor: e.color },
106
+ "aria-hidden": !0
107
+ }), /* @__PURE__ */ s("span", { children: g(e.seriesId) })]
108
+ }), /* @__PURE__ */ s("strong", { children: v(e.data.y) })]
109
+ }, `${o}-${e.seriesId}`))]
110
+ });
111
+ },
112
+ legends: C,
113
+ useMesh: !0,
114
+ ariaLabel: m,
115
+ theme: {
116
+ text: {
117
+ fill: o.colors.textSecondary,
118
+ fontSize: 12
119
+ },
120
+ axis: {
121
+ domain: { line: { stroke: o.colors.borderLight } },
122
+ ticks: { line: { stroke: "transparent" } },
123
+ legend: { text: { fill: o.colors.textSecondary } }
124
+ },
125
+ grid: { line: { stroke: o.colors.borderLight } },
126
+ crosshair: { line: {
127
+ stroke: o.colors.primary,
128
+ strokeWidth: 1,
129
+ strokeOpacity: .35
130
+ } },
131
+ tooltip: { container: {
132
+ background: "transparent",
133
+ boxShadow: "none",
134
+ padding: 0
135
+ } },
136
+ legends: { text: { fill: o.colors.textSecondary } }
137
+ }
138
+ })
139
+ });
173
140
  };
174
- export {
175
- P as BillingUsageLineChart
176
- };
177
- //# sourceMappingURL=BillingUsageLineChart.js.map
141
+ //#endregion
142
+ export { m as BillingUsageLineChart };
143
+
144
+ //# sourceMappingURL=BillingUsageLineChart.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BillingUsageLineChart.js","sources":["../../../../src/components/charts/BillingUsageLineChart.tsx"],"sourcesContent":["import { ResponsiveLine, type SliceTooltipProps } from '@nivo/line';\nimport type { JSX } from 'react';\n\nimport * as styles from './billingUsageLineChart.css.js';\nimport { vars } from '../../theme/themeContract.js';\n\nexport type BillingUsageLineChartPoint = {\n x: string;\n y: number;\n};\n\nexport type BillingUsageLineChartSerie<Category extends string> = {\n id: Category;\n data: readonly BillingUsageLineChartPoint[];\n};\n\ntype SlicePointPayload<Category extends string> = {\n seriesId: Category;\n data: {\n y: number;\n };\n color: string;\n};\n\nexport type BillingUsageLineChartProps<Category extends string> = {\n series: readonly BillingUsageLineChartSerie<Category>[];\n categoryOrder: readonly Category[];\n categoryColorById: Readonly<Record<Category, string>>;\n categoryLabel: (category: Category) => string;\n formatValue: (value: number) => string;\n ariaLabel: string;\n};\n\nconst MAX_X_TICKS = 6;\n\nconst compactNumberFormatter = new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n});\n\n/**\n * Limits the number of visible day ticks while always keeping the last point.\n */\nfunction getVisibleDayTicks<Category extends string>(\n series: readonly BillingUsageLineChartSerie<Category>[],\n): readonly string[] {\n const firstSerie = series[0];\n if (firstSerie == null || firstSerie.data.length <= MAX_X_TICKS) {\n if (firstSerie == null) {\n return [];\n }\n\n return firstSerie.data.map((point) => {\n return point.x;\n });\n }\n\n const step = Math.ceil(firstSerie.data.length / MAX_X_TICKS);\n const visibleTicks = firstSerie.data\n .filter((_, index) => {\n return index % step === 0;\n })\n .map((point) => {\n return point.x;\n });\n\n const lastPoint = firstSerie.data.at(-1);\n if (lastPoint != null && visibleTicks.at(-1) !== lastPoint.x) {\n visibleTicks.push(lastPoint.x);\n }\n\n return visibleTicks;\n}\n\n/**\n * Formats a `YYYY-MM-DD` key into a short month/day label for the x-axis.\n */\nfunction formatDayTick(dayKey: string): string {\n const parsed = new Date(`${dayKey}T00:00:00Z`);\n return parsed.toLocaleDateString(undefined, {\n month: 'short',\n day: '2-digit',\n });\n}\n\nexport const BillingUsageLineChart = <Category extends string>(\n props: BillingUsageLineChartProps<Category>,\n): JSX.Element => {\n const {\n ariaLabel,\n categoryColorById,\n categoryLabel,\n categoryOrder,\n formatValue,\n series,\n } = props;\n\n const visibleTicks = getVisibleDayTicks(series);\n const categoryOrderString = categoryOrder as readonly string[];\n const isCategory = (value: string): value is Category => {\n return categoryOrderString.includes(value);\n };\n\n const legends = [\n {\n anchor: 'bottom' as const,\n direction: 'row' as const,\n translateY: 56,\n itemWidth: 90,\n itemHeight: 16,\n itemsSpacing: 8,\n symbolSize: 10,\n symbolShape: 'circle' as const,\n itemTextColor: vars.colors.textSecondary,\n data: categoryOrder.map((category) => {\n return {\n id: category,\n label: categoryLabel(category),\n color: categoryColorById[category],\n };\n }),\n },\n ];\n\n const colorById = (serie: { id: string | number }): string => {\n if (typeof serie.id !== 'string' || !isCategory(serie.id)) {\n return vars.colors.primary;\n }\n\n return categoryColorById[serie.id];\n };\n\n const sliceTooltip = ({\n slice,\n }: SliceTooltipProps<BillingUsageLineChartSerie<Category>>): JSX.Element => {\n const dayKey = String(slice.id);\n const fallbackCategory = categoryOrder[0] ?? null;\n const points = [...slice.points]\n .map((point): SlicePointPayload<Category> | null => {\n let credits = 0;\n if (typeof point.data.y === 'number') {\n credits = point.data.y;\n }\n\n let seriesId = fallbackCategory;\n if (typeof point.seriesId === 'string' && isCategory(point.seriesId)) {\n seriesId = point.seriesId;\n }\n if (seriesId == null) {\n return null;\n }\n\n return {\n seriesId,\n data: { y: credits },\n color: point.seriesColor,\n };\n })\n .filter((point): point is SlicePointPayload<Category> => {\n return point != null;\n })\n .sort((left, right) => {\n const leftIndex = categoryOrder.indexOf(left.seriesId);\n const rightIndex = categoryOrder.indexOf(right.seriesId);\n\n return leftIndex - rightIndex;\n });\n\n return (\n <div className={styles.tooltip}>\n <p className={styles.tooltipDate}>{formatDayTick(dayKey)}</p>\n {points.map((point) => {\n return (\n <div\n key={`${dayKey}-${point.seriesId}`}\n className={styles.tooltipRow}\n >\n <span className={styles.tooltipRowLabel}>\n <span\n className={styles.tooltipSwatch}\n style={{ backgroundColor: point.color }}\n aria-hidden\n />\n <span>{categoryLabel(point.seriesId)}</span>\n </span>\n <strong>{formatValue(point.data.y)}</strong>\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={styles.chartContainer}>\n <ResponsiveLine\n data={series}\n margin={{ top: 14, right: 16, bottom: 74, left: 52 }}\n colors={colorById}\n xScale={{ type: 'point' }}\n yScale={{ type: 'linear', min: 0, max: 'auto' }}\n curve=\"monotoneX\"\n lineWidth={2.5}\n pointSize={4}\n pointBorderWidth={2}\n pointBorderColor={{ from: 'seriesColor', modifiers: [['darker', 0.2]] }}\n enableArea\n areaOpacity={0.1}\n enableGridX={false}\n enableGridY\n axisTop={null}\n axisRight={null}\n axisBottom={{\n tickValues: visibleTicks,\n format: (value) => {\n return formatDayTick(String(value));\n },\n tickSize: 0,\n tickPadding: 10,\n }}\n axisLeft={{\n tickSize: 0,\n tickPadding: 8,\n tickValues: 4,\n format: (value) => {\n return compactNumberFormatter.format(Number(value));\n },\n }}\n enableSlices=\"x\"\n sliceTooltip={sliceTooltip}\n legends={legends}\n useMesh\n ariaLabel={ariaLabel}\n theme={{\n text: {\n fill: vars.colors.textSecondary,\n fontSize: 12,\n },\n axis: {\n domain: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n ticks: {\n line: {\n stroke: 'transparent',\n },\n },\n legend: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n },\n grid: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n crosshair: {\n line: {\n stroke: vars.colors.primary,\n strokeWidth: 1,\n strokeOpacity: 0.35,\n },\n },\n tooltip: {\n container: {\n background: 'transparent',\n boxShadow: 'none',\n padding: 0,\n },\n },\n legends: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n }}\n />\n </div>\n );\n};\n"],"names":["MAX_X_TICKS","compactNumberFormatter","getVisibleDayTicks","series","firstSerie","point","step","visibleTicks","_","index","lastPoint","formatDayTick","dayKey","BillingUsageLineChart","props","ariaLabel","categoryColorById","categoryLabel","categoryOrder","formatValue","categoryOrderString","isCategory","value","legends","vars","category","jsx","styles.chartContainer","ResponsiveLine","serie","slice","fallbackCategory","points","credits","seriesId","left","right","leftIndex","rightIndex","jsxs","styles.tooltip","styles.tooltipDate","styles.tooltipRow","styles.tooltipRowLabel","styles.tooltipSwatch"],"mappings":"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"}
1
+ {"version":3,"file":"BillingUsageLineChart.js","names":[],"sources":["../../../../src/components/charts/BillingUsageLineChart.tsx"],"sourcesContent":["import { ResponsiveLine, type SliceTooltipProps } from '@nivo/line';\nimport type { JSX } from 'react';\n\nimport * as styles from './billingUsageLineChart.css.js';\nimport { vars } from '../../theme/themeContract.js';\n\nexport type BillingUsageLineChartPoint = {\n x: string;\n y: number;\n};\n\nexport type BillingUsageLineChartSerie<Category extends string> = {\n id: Category;\n data: readonly BillingUsageLineChartPoint[];\n};\n\ntype SlicePointPayload<Category extends string> = {\n seriesId: Category;\n data: {\n y: number;\n };\n color: string;\n};\n\nexport type BillingUsageLineChartProps<Category extends string> = {\n series: readonly BillingUsageLineChartSerie<Category>[];\n categoryOrder: readonly Category[];\n categoryColorById: Readonly<Record<Category, string>>;\n categoryLabel: (category: Category) => string;\n formatValue: (value: number) => string;\n ariaLabel: string;\n};\n\nconst MAX_X_TICKS = 6;\n\nconst compactNumberFormatter = new Intl.NumberFormat('en-US', {\n notation: 'compact',\n maximumFractionDigits: 1,\n});\n\n/**\n * Limits the number of visible day ticks while always keeping the last point.\n */\nfunction getVisibleDayTicks<Category extends string>(\n series: readonly BillingUsageLineChartSerie<Category>[],\n): readonly string[] {\n const firstSerie = series[0];\n if (firstSerie == null || firstSerie.data.length <= MAX_X_TICKS) {\n if (firstSerie == null) {\n return [];\n }\n\n return firstSerie.data.map((point) => {\n return point.x;\n });\n }\n\n const step = Math.ceil(firstSerie.data.length / MAX_X_TICKS);\n const visibleTicks = firstSerie.data\n .filter((_, index) => {\n return index % step === 0;\n })\n .map((point) => {\n return point.x;\n });\n\n const lastPoint = firstSerie.data.at(-1);\n if (lastPoint != null && visibleTicks.at(-1) !== lastPoint.x) {\n visibleTicks.push(lastPoint.x);\n }\n\n return visibleTicks;\n}\n\n/**\n * Formats a `YYYY-MM-DD` key into a short month/day label for the x-axis.\n */\nfunction formatDayTick(dayKey: string): string {\n const parsed = new Date(`${dayKey}T00:00:00Z`);\n return parsed.toLocaleDateString(undefined, {\n month: 'short',\n day: '2-digit',\n });\n}\n\nexport const BillingUsageLineChart = <Category extends string>(\n props: BillingUsageLineChartProps<Category>,\n): JSX.Element => {\n const {\n ariaLabel,\n categoryColorById,\n categoryLabel,\n categoryOrder,\n formatValue,\n series,\n } = props;\n\n const visibleTicks = getVisibleDayTicks(series);\n const categoryOrderString = categoryOrder as readonly string[];\n const isCategory = (value: string): value is Category => {\n return categoryOrderString.includes(value);\n };\n\n const legends = [\n {\n anchor: 'bottom' as const,\n direction: 'row' as const,\n translateY: 56,\n itemWidth: 90,\n itemHeight: 16,\n itemsSpacing: 8,\n symbolSize: 10,\n symbolShape: 'circle' as const,\n itemTextColor: vars.colors.textSecondary,\n data: categoryOrder.map((category) => {\n return {\n id: category,\n label: categoryLabel(category),\n color: categoryColorById[category],\n };\n }),\n },\n ];\n\n const colorById = (serie: { id: string | number }): string => {\n if (typeof serie.id !== 'string' || !isCategory(serie.id)) {\n return vars.colors.primary;\n }\n\n return categoryColorById[serie.id];\n };\n\n const sliceTooltip = ({\n slice,\n }: SliceTooltipProps<BillingUsageLineChartSerie<Category>>): JSX.Element => {\n const dayKey = String(slice.id);\n const fallbackCategory = categoryOrder[0] ?? null;\n const points = [...slice.points]\n .map((point): SlicePointPayload<Category> | null => {\n let credits = 0;\n if (typeof point.data.y === 'number') {\n credits = point.data.y;\n }\n\n let seriesId = fallbackCategory;\n if (typeof point.seriesId === 'string' && isCategory(point.seriesId)) {\n seriesId = point.seriesId;\n }\n if (seriesId == null) {\n return null;\n }\n\n return {\n seriesId,\n data: { y: credits },\n color: point.seriesColor,\n };\n })\n .filter((point): point is SlicePointPayload<Category> => {\n return point != null;\n })\n .sort((left, right) => {\n const leftIndex = categoryOrder.indexOf(left.seriesId);\n const rightIndex = categoryOrder.indexOf(right.seriesId);\n\n return leftIndex - rightIndex;\n });\n\n return (\n <div className={styles.tooltip}>\n <p className={styles.tooltipDate}>{formatDayTick(dayKey)}</p>\n {points.map((point) => {\n return (\n <div\n key={`${dayKey}-${point.seriesId}`}\n className={styles.tooltipRow}\n >\n <span className={styles.tooltipRowLabel}>\n <span\n className={styles.tooltipSwatch}\n style={{ backgroundColor: point.color }}\n aria-hidden\n />\n <span>{categoryLabel(point.seriesId)}</span>\n </span>\n <strong>{formatValue(point.data.y)}</strong>\n </div>\n );\n })}\n </div>\n );\n };\n\n return (\n <div className={styles.chartContainer}>\n <ResponsiveLine\n data={series}\n margin={{ top: 14, right: 16, bottom: 74, left: 52 }}\n colors={colorById}\n xScale={{ type: 'point' }}\n yScale={{ type: 'linear', min: 0, max: 'auto' }}\n curve=\"monotoneX\"\n lineWidth={2.5}\n pointSize={4}\n pointBorderWidth={2}\n pointBorderColor={{ from: 'seriesColor', modifiers: [['darker', 0.2]] }}\n enableArea\n areaOpacity={0.1}\n enableGridX={false}\n enableGridY\n axisTop={null}\n axisRight={null}\n axisBottom={{\n tickValues: visibleTicks,\n format: (value) => {\n return formatDayTick(String(value));\n },\n tickSize: 0,\n tickPadding: 10,\n }}\n axisLeft={{\n tickSize: 0,\n tickPadding: 8,\n tickValues: 4,\n format: (value) => {\n return compactNumberFormatter.format(Number(value));\n },\n }}\n enableSlices=\"x\"\n sliceTooltip={sliceTooltip}\n legends={legends}\n useMesh\n ariaLabel={ariaLabel}\n theme={{\n text: {\n fill: vars.colors.textSecondary,\n fontSize: 12,\n },\n axis: {\n domain: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n ticks: {\n line: {\n stroke: 'transparent',\n },\n },\n legend: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n },\n grid: {\n line: {\n stroke: vars.colors.borderLight,\n },\n },\n crosshair: {\n line: {\n stroke: vars.colors.primary,\n strokeWidth: 1,\n strokeOpacity: 0.35,\n },\n },\n tooltip: {\n container: {\n background: 'transparent',\n boxShadow: 'none',\n padding: 0,\n },\n },\n legends: {\n text: {\n fill: vars.colors.textSecondary,\n },\n },\n }}\n />\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,12 +1,8 @@
1
- /* empty css */
2
- /* empty css */
3
- var v = "_1a38h831 _1a38h830 txvbqbnux txvbqboi6 txvbqbp5f txvbqblx6 txvbqbu6f txvbqb1df txvbqb1qf txvbqbx6 txvbqb1ro txvbqbv2r", x = "_1a38h832 txvbqbogo txvbqbp3x txvbqbp5f txvbqblx6 txvbqb9io txvbqbai6 txvbqbb9o txvbqb1df txvbqb1qf txvbqbwf txvbqb1rf txvbqbv2x txvbqb8q6", q = "_1a38h833 txvbqb8o txvbqbv8t txvbqbamf txvbqbfbo", o = "_1a38h834 txvbqb9io txvbqbco txvbqbdoo txvbqbaof txvbqb8x txvbqbv8p", a = "_1a38h835 txvbqb9jf txvbqbco txvbqbb9o", r = "_1a38h837 _1a38h836 txvbqbtvo txvbqbc56 txvbqb1t6";
4
- export {
5
- v as chartContainer,
6
- x as tooltip,
7
- q as tooltipDate,
8
- o as tooltipRow,
9
- a as tooltipRowLabel,
10
- r as tooltipSwatch
11
- };
12
- //# sourceMappingURL=billingUsageLineChart.css.js.map
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/components/charts/billingUsageLineChart.css.ts
4
+ var e = "_1a38h831 _1a38h830 txvbqbnux txvbqboi6 txvbqbp5f txvbqblx6 txvbqbu6f txvbqb1df txvbqb1qf txvbqbx6 txvbqb1ro txvbqbv2r", t = "_1a38h832 txvbqbogo txvbqbp3x txvbqbp5f txvbqblx6 txvbqb9io txvbqbai6 txvbqbb9o txvbqb1df txvbqb1qf txvbqbwf txvbqb1rf txvbqbv2x txvbqb8q6", n = "_1a38h833 txvbqb8o txvbqbv8t txvbqbamf txvbqbfbo", r = "_1a38h834 txvbqb9io txvbqbco txvbqbdoo txvbqbaof txvbqb8x txvbqbv8p", i = "_1a38h835 txvbqb9jf txvbqbco txvbqbb9o", a = "_1a38h837 _1a38h836 txvbqbtvo txvbqbc56 txvbqb1t6";
5
+ //#endregion
6
+ export { e as chartContainer, t as tooltip, n as tooltipDate, r as tooltipRow, i as tooltipRowLabel, a as tooltipSwatch };
7
+
8
+ //# sourceMappingURL=billingUsageLineChart.css.js.map