@plumile/ui 0.1.56 → 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 (322) hide show
  1. package/lib/esm/atomic/atoms/badge/Badge.js +17 -16
  2. package/lib/esm/atomic/atoms/badge/Badge.js.map +1 -1
  3. package/lib/esm/atomic/atoms/badge/badge.css.js +30 -8
  4. package/lib/esm/atomic/atoms/badge/badge.css.js.map +1 -1
  5. package/lib/esm/atomic/atoms/button/Button.js +46 -58
  6. package/lib/esm/atomic/atoms/button/Button.js.map +1 -1
  7. package/lib/esm/atomic/atoms/button/LinkButton.js +48 -62
  8. package/lib/esm/atomic/atoms/button/LinkButton.js.map +1 -1
  9. package/lib/esm/atomic/atoms/button/button.css.js +95 -16
  10. package/lib/esm/atomic/atoms/button/button.css.js.map +1 -1
  11. package/lib/esm/atomic/atoms/checkbox/Checkbox.js +37 -40
  12. package/lib/esm/atomic/atoms/checkbox/Checkbox.js.map +1 -1
  13. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js +26 -11
  14. package/lib/esm/atomic/atoms/checkbox/checkbox.css.js.map +1 -1
  15. package/lib/esm/atomic/atoms/formatted-date/FormattedDate.js +32 -31
  16. package/lib/esm/atomic/atoms/formatted-date/FormattedDate.js.map +1 -1
  17. package/lib/esm/atomic/atoms/icon-button/IconMenuButton.js +18 -25
  18. package/lib/esm/atomic/atoms/icon-button/IconMenuButton.js.map +1 -1
  19. package/lib/esm/atomic/atoms/input/Input.js +46 -40
  20. package/lib/esm/atomic/atoms/input/Input.js.map +1 -1
  21. package/lib/esm/atomic/atoms/input/input.css.js +32 -14
  22. package/lib/esm/atomic/atoms/input/input.css.js.map +1 -1
  23. package/lib/esm/atomic/atoms/label/Label.js +23 -16
  24. package/lib/esm/atomic/atoms/label/Label.js.map +1 -1
  25. package/lib/esm/atomic/atoms/label/label.css.js +27 -9
  26. package/lib/esm/atomic/atoms/label/label.css.js.map +1 -1
  27. package/lib/esm/atomic/atoms/textarea/Textarea.js +19 -18
  28. package/lib/esm/atomic/atoms/textarea/Textarea.js.map +1 -1
  29. package/lib/esm/atomic/atoms/textarea/textarea.css.js +32 -8
  30. package/lib/esm/atomic/atoms/textarea/textarea.css.js.map +1 -1
  31. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js +47 -54
  32. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuDropdown.js.map +1 -1
  33. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js +53 -60
  34. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbMenuPopover.js.map +1 -1
  35. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js +62 -63
  36. package/lib/esm/atomic/molecules/breadcrumb_navigation/BreadcrumbNavigation.js.map +1 -1
  37. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js +8 -30
  38. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.js.map +1 -1
  39. package/lib/esm/atomic/molecules/breadcrumb_navigation/types.js +0 -2
  40. package/lib/esm/atomic/molecules/card/Card.css.js +8 -10
  41. package/lib/esm/atomic/molecules/card/Card.css.js.map +1 -1
  42. package/lib/esm/atomic/molecules/card/Card.js +24 -17
  43. package/lib/esm/atomic/molecules/card/Card.js.map +1 -1
  44. package/lib/esm/atomic/molecules/dropdown/Dropdown.js +148 -177
  45. package/lib/esm/atomic/molecules/dropdown/Dropdown.js.map +1 -1
  46. package/lib/esm/atomic/molecules/dropdown/dropdown.css.js +8 -13
  47. package/lib/esm/atomic/molecules/dropdown/dropdown.css.js.map +1 -1
  48. package/lib/esm/atomic/molecules/form-actions/FormActions.js +31 -56
  49. package/lib/esm/atomic/molecules/form-actions/FormActions.js.map +1 -1
  50. package/lib/esm/atomic/molecules/tabs/Tabs.js +34 -33
  51. package/lib/esm/atomic/molecules/tabs/Tabs.js.map +1 -1
  52. package/lib/esm/atomic/molecules/tabs/tabs.css.js +18 -9
  53. package/lib/esm/atomic/molecules/tabs/tabs.css.js.map +1 -1
  54. package/lib/esm/atomic/molecules/toast/ToastProvider.js +82 -77
  55. package/lib/esm/atomic/molecules/toast/ToastProvider.js.map +1 -1
  56. package/lib/esm/atomic/molecules/toast/ToastViewport.js +75 -70
  57. package/lib/esm/atomic/molecules/toast/ToastViewport.js.map +1 -1
  58. package/lib/esm/atomic/molecules/toast/constants.js +6 -5
  59. package/lib/esm/atomic/molecules/toast/constants.js.map +1 -1
  60. package/lib/esm/atomic/molecules/toast/toast.css.js +18 -17
  61. package/lib/esm/atomic/molecules/toast/toast.css.js.map +1 -1
  62. package/lib/esm/components/charts/BillingUsageLineChart.js +140 -173
  63. package/lib/esm/components/charts/BillingUsageLineChart.js.map +1 -1
  64. package/lib/esm/components/charts/billingUsageLineChart.css.js +8 -12
  65. package/lib/esm/components/charts/billingUsageLineChart.css.js.map +1 -1
  66. package/lib/esm/components/data-table/DataTable.css.js +84 -24
  67. package/lib/esm/components/data-table/DataTable.css.js.map +1 -1
  68. package/lib/esm/components/data-table/DataTable.js +73 -140
  69. package/lib/esm/components/data-table/DataTable.js.map +1 -1
  70. package/lib/esm/components/data-table/TableCell.css.js +18 -15
  71. package/lib/esm/components/data-table/TableCell.css.js.map +1 -1
  72. package/lib/esm/components/data-table/TableCell.js +74 -73
  73. package/lib/esm/components/data-table/TableCell.js.map +1 -1
  74. package/lib/esm/components/data-table/TableCellBase.js +18 -15
  75. package/lib/esm/components/data-table/TableCellBase.js.map +1 -1
  76. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js +8 -10
  77. package/lib/esm/components/data-table/VirtualizedConnectionTable.css.js.map +1 -1
  78. package/lib/esm/components/data-table/VirtualizedConnectionTable.js +190 -248
  79. package/lib/esm/components/data-table/VirtualizedConnectionTable.js.map +1 -1
  80. package/lib/esm/components/data-table/tableBreakpoints.js +28 -34
  81. package/lib/esm/components/data-table/tableBreakpoints.js.map +1 -1
  82. package/lib/esm/components/layout/ContentLayout.css.js +8 -18
  83. package/lib/esm/components/layout/ContentLayout.css.js.map +1 -1
  84. package/lib/esm/components/layout/ContentLayout.js +68 -78
  85. package/lib/esm/components/layout/ContentLayout.js.map +1 -1
  86. package/lib/esm/components/layout/TabsContentLayout.css.js +8 -11
  87. package/lib/esm/components/layout/TabsContentLayout.css.js.map +1 -1
  88. package/lib/esm/components/layout/TabsContentLayout.js +30 -13
  89. package/lib/esm/components/layout/TabsContentLayout.js.map +1 -1
  90. package/lib/esm/components/select/SimpleSelect.css.js +17 -22
  91. package/lib/esm/components/select/SimpleSelect.css.js.map +1 -1
  92. package/lib/esm/components/select/SimpleSelect.js +184 -184
  93. package/lib/esm/components/select/SimpleSelect.js.map +1 -1
  94. package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js +8 -10
  95. package/lib/esm/components/subscriptions/RefetchNeededBanner.css.js.map +1 -1
  96. package/lib/esm/components/subscriptions/RefetchNeededBanner.js +31 -23
  97. package/lib/esm/components/subscriptions/RefetchNeededBanner.js.map +1 -1
  98. package/lib/esm/components/tile/InfoTile.css.js +8 -18
  99. package/lib/esm/components/tile/InfoTile.css.js.map +1 -1
  100. package/lib/esm/components/tile/InfoTile.js +62 -67
  101. package/lib/esm/components/tile/InfoTile.js.map +1 -1
  102. package/lib/esm/i18n/useUiTranslation.js +8 -7
  103. package/lib/esm/i18n/useUiTranslation.js.map +1 -1
  104. package/lib/esm/icons/BanSvg.js +29 -44
  105. package/lib/esm/icons/BanSvg.js.map +1 -1
  106. package/lib/esm/icons/ButtonLoadingSpinnerSvg.js +26 -41
  107. package/lib/esm/icons/ButtonLoadingSpinnerSvg.js.map +1 -1
  108. package/lib/esm/icons/ChatCheckSvg.js +27 -42
  109. package/lib/esm/icons/ChatCheckSvg.js.map +1 -1
  110. package/lib/esm/icons/ChatSizeLargeSvg.js +49 -70
  111. package/lib/esm/icons/ChatSizeLargeSvg.js.map +1 -1
  112. package/lib/esm/icons/ChatSizeMediumSvg.js +43 -61
  113. package/lib/esm/icons/ChatSizeMediumSvg.js.map +1 -1
  114. package/lib/esm/icons/ChatSizeSmallSvg.js +37 -52
  115. package/lib/esm/icons/ChatSizeSmallSvg.js.map +1 -1
  116. package/lib/esm/icons/ChatXSvg.js +27 -42
  117. package/lib/esm/icons/ChatXSvg.js.map +1 -1
  118. package/lib/esm/icons/CheckSvg.js +21 -30
  119. package/lib/esm/icons/CheckSvg.js.map +1 -1
  120. package/lib/esm/icons/ChevronDownSvg.js +21 -30
  121. package/lib/esm/icons/ChevronDownSvg.js.map +1 -1
  122. package/lib/esm/icons/ChevronLeftSvg.js +21 -30
  123. package/lib/esm/icons/ChevronLeftSvg.js.map +1 -1
  124. package/lib/esm/icons/ChevronRightSvg.js +21 -30
  125. package/lib/esm/icons/ChevronRightSvg.js.map +1 -1
  126. package/lib/esm/icons/ClockSvg.js +29 -44
  127. package/lib/esm/icons/ClockSvg.js.map +1 -1
  128. package/lib/esm/icons/CoinOffSvg.js +47 -65
  129. package/lib/esm/icons/CoinOffSvg.js.map +1 -1
  130. package/lib/esm/icons/CoinSvg.js +40 -55
  131. package/lib/esm/icons/CoinSvg.js.map +1 -1
  132. package/lib/esm/icons/DatabaseCheckSvg.js +47 -65
  133. package/lib/esm/icons/DatabaseCheckSvg.js.map +1 -1
  134. package/lib/esm/icons/DatabaseXSvg.js +47 -65
  135. package/lib/esm/icons/DatabaseXSvg.js.map +1 -1
  136. package/lib/esm/icons/DevModeSvg.js +21 -30
  137. package/lib/esm/icons/DevModeSvg.js.map +1 -1
  138. package/lib/esm/icons/EyeSvg.js +27 -33
  139. package/lib/esm/icons/EyeSvg.js.map +1 -1
  140. package/lib/esm/icons/FormErrorAlertSvg.js +37 -29
  141. package/lib/esm/icons/FormErrorAlertSvg.js.map +1 -1
  142. package/lib/esm/icons/GlobeSvg.js +18 -27
  143. package/lib/esm/icons/GlobeSvg.js.map +1 -1
  144. package/lib/esm/icons/GripDotsSvg.js +52 -29
  145. package/lib/esm/icons/GripDotsSvg.js.map +1 -1
  146. package/lib/esm/icons/HomeActivityAssignUserSvg.js +44 -62
  147. package/lib/esm/icons/HomeActivityAssignUserSvg.js.map +1 -1
  148. package/lib/esm/icons/HomeStatsCheckBadgeSvg.js +27 -42
  149. package/lib/esm/icons/HomeStatsCheckBadgeSvg.js.map +1 -1
  150. package/lib/esm/icons/HomeStatsClipboardSvg.js +27 -42
  151. package/lib/esm/icons/HomeStatsClipboardSvg.js.map +1 -1
  152. package/lib/esm/icons/HomeStatsClockSvg.js +27 -42
  153. package/lib/esm/icons/HomeStatsClockSvg.js.map +1 -1
  154. package/lib/esm/icons/KeyOffSvg.js +39 -54
  155. package/lib/esm/icons/KeyOffSvg.js.map +1 -1
  156. package/lib/esm/icons/KeySvg.js +39 -54
  157. package/lib/esm/icons/KeySvg.js.map +1 -1
  158. package/lib/esm/icons/KronexSvg.js +28 -43
  159. package/lib/esm/icons/KronexSvg.js.map +1 -1
  160. package/lib/esm/icons/LinkCheckSvg.js +37 -52
  161. package/lib/esm/icons/LinkCheckSvg.js.map +1 -1
  162. package/lib/esm/icons/LinkSvg.js +27 -42
  163. package/lib/esm/icons/LinkSvg.js.map +1 -1
  164. package/lib/esm/icons/LinkXSvg.js +37 -52
  165. package/lib/esm/icons/LinkXSvg.js.map +1 -1
  166. package/lib/esm/icons/LockOpenSvg.js +31 -46
  167. package/lib/esm/icons/LockOpenSvg.js.map +1 -1
  168. package/lib/esm/icons/LockSvg.js +31 -46
  169. package/lib/esm/icons/LockSvg.js.map +1 -1
  170. package/lib/esm/icons/MailCheckSvg.js +41 -56
  171. package/lib/esm/icons/MailCheckSvg.js.map +1 -1
  172. package/lib/esm/icons/MailSvg.js +31 -46
  173. package/lib/esm/icons/MailSvg.js.map +1 -1
  174. package/lib/esm/icons/MailXSvg.js +41 -56
  175. package/lib/esm/icons/MailXSvg.js.map +1 -1
  176. package/lib/esm/icons/ModalCloseSvg.js +27 -42
  177. package/lib/esm/icons/ModalCloseSvg.js.map +1 -1
  178. package/lib/esm/icons/PencilSvg.js +14 -20
  179. package/lib/esm/icons/PencilSvg.js.map +1 -1
  180. package/lib/esm/icons/PinFilledSvg.js +24 -40
  181. package/lib/esm/icons/PinFilledSvg.js.map +1 -1
  182. package/lib/esm/icons/PinSvg.js +27 -43
  183. package/lib/esm/icons/PinSvg.js.map +1 -1
  184. package/lib/esm/icons/ProfileDropdownLogoutSvg.js +37 -52
  185. package/lib/esm/icons/ProfileDropdownLogoutSvg.js.map +1 -1
  186. package/lib/esm/icons/ProfileDropdownOrganizationSvg.js +27 -42
  187. package/lib/esm/icons/ProfileDropdownOrganizationSvg.js.map +1 -1
  188. package/lib/esm/icons/ProjectsFolderSvg.js +21 -30
  189. package/lib/esm/icons/ProjectsFolderSvg.js.map +1 -1
  190. package/lib/esm/icons/RobotCheckSvg.js +60 -68
  191. package/lib/esm/icons/RobotCheckSvg.js.map +1 -1
  192. package/lib/esm/icons/RobotSvg.js +53 -58
  193. package/lib/esm/icons/RobotSvg.js.map +1 -1
  194. package/lib/esm/icons/RobotXSvg.js +60 -68
  195. package/lib/esm/icons/RobotXSvg.js.map +1 -1
  196. package/lib/esm/icons/RocketOffSvg.js +58 -83
  197. package/lib/esm/icons/RocketOffSvg.js.map +1 -1
  198. package/lib/esm/icons/RocketSvg.js +51 -73
  199. package/lib/esm/icons/RocketSvg.js.map +1 -1
  200. package/lib/esm/icons/SendCheckSvg.js +40 -55
  201. package/lib/esm/icons/SendCheckSvg.js.map +1 -1
  202. package/lib/esm/icons/SendMessageSvg.js +30 -45
  203. package/lib/esm/icons/SendMessageSvg.js.map +1 -1
  204. package/lib/esm/icons/SendXSvg.js +40 -55
  205. package/lib/esm/icons/SendXSvg.js.map +1 -1
  206. package/lib/esm/icons/SettingsCheckSvg.js +37 -52
  207. package/lib/esm/icons/SettingsCheckSvg.js.map +1 -1
  208. package/lib/esm/icons/SettingsXSvg.js +37 -52
  209. package/lib/esm/icons/SettingsXSvg.js.map +1 -1
  210. package/lib/esm/icons/ShieldLockSvg.js +41 -56
  211. package/lib/esm/icons/ShieldLockSvg.js.map +1 -1
  212. package/lib/esm/icons/ShieldOffSvg.js +27 -42
  213. package/lib/esm/icons/ShieldOffSvg.js.map +1 -1
  214. package/lib/esm/icons/SidebarHomeSvg.js +27 -42
  215. package/lib/esm/icons/SidebarHomeSvg.js.map +1 -1
  216. package/lib/esm/icons/SidebarInitiativesSvg.js +37 -52
  217. package/lib/esm/icons/SidebarInitiativesSvg.js.map +1 -1
  218. package/lib/esm/icons/SidebarPlusSvg.js +27 -42
  219. package/lib/esm/icons/SidebarPlusSvg.js.map +1 -1
  220. package/lib/esm/icons/SidebarSearchSvg.js +27 -42
  221. package/lib/esm/icons/SidebarSearchSvg.js.map +1 -1
  222. package/lib/esm/icons/SidebarSettingsSvg.js +27 -42
  223. package/lib/esm/icons/SidebarSettingsSvg.js.map +1 -1
  224. package/lib/esm/icons/SidebarTasksSvg.js +27 -42
  225. package/lib/esm/icons/SidebarTasksSvg.js.map +1 -1
  226. package/lib/esm/icons/SidebarTeamSvg.js +44 -62
  227. package/lib/esm/icons/SidebarTeamSvg.js.map +1 -1
  228. package/lib/esm/icons/TaskAttachmentSvg.js +21 -30
  229. package/lib/esm/icons/TaskAttachmentSvg.js.map +1 -1
  230. package/lib/esm/icons/TaskCalendarSvg.js +44 -62
  231. package/lib/esm/icons/TaskCalendarSvg.js.map +1 -1
  232. package/lib/esm/icons/TaskCommentBubbleSvg.js +21 -30
  233. package/lib/esm/icons/TaskCommentBubbleSvg.js.map +1 -1
  234. package/lib/esm/icons/TaskDeleteSvg.js +27 -42
  235. package/lib/esm/icons/TaskDeleteSvg.js.map +1 -1
  236. package/lib/esm/icons/TaskDependencyBlockedSvg.js +27 -43
  237. package/lib/esm/icons/TaskDependencyBlockedSvg.js.map +1 -1
  238. package/lib/esm/icons/TaskDependencyReadySvg.js +27 -43
  239. package/lib/esm/icons/TaskDependencyReadySvg.js.map +1 -1
  240. package/lib/esm/icons/TaskMenuDotsSvg.js +37 -52
  241. package/lib/esm/icons/TaskMenuDotsSvg.js.map +1 -1
  242. package/lib/esm/icons/TaskTagSvg.js +27 -42
  243. package/lib/esm/icons/TaskTagSvg.js.map +1 -1
  244. package/lib/esm/icons/TeamMemberEmailSvg.js +27 -42
  245. package/lib/esm/icons/TeamMemberEmailSvg.js.map +1 -1
  246. package/lib/esm/icons/TeamMemberLocationSvg.js +27 -42
  247. package/lib/esm/icons/TeamMemberLocationSvg.js.map +1 -1
  248. package/lib/esm/icons/WrenchSvg.js +21 -30
  249. package/lib/esm/icons/WrenchSvg.js.map +1 -1
  250. package/lib/esm/icons/XBadgeSvg.js +27 -42
  251. package/lib/esm/icons/XBadgeSvg.js.map +1 -1
  252. package/lib/esm/icons/markdown/MarkdownCheckboxCheckedSvg.js +30 -42
  253. package/lib/esm/icons/markdown/MarkdownCheckboxCheckedSvg.js.map +1 -1
  254. package/lib/esm/icons/markdown/MarkdownCheckboxUncheckedSvg.js +22 -28
  255. package/lib/esm/icons/markdown/MarkdownCheckboxUncheckedSvg.js.map +1 -1
  256. package/lib/esm/icons/markdown/MarkdownCopySuccessSvg.js +41 -53
  257. package/lib/esm/icons/markdown/MarkdownCopySuccessSvg.js.map +1 -1
  258. package/lib/esm/icons/markdown/MarkdownCopySvg.js +30 -42
  259. package/lib/esm/icons/markdown/MarkdownCopySvg.js.map +1 -1
  260. package/lib/esm/icons/markdown/MarkdownExternalLinkSvg.js +39 -51
  261. package/lib/esm/icons/markdown/MarkdownExternalLinkSvg.js.map +1 -1
  262. package/lib/esm/index.js +34 -77
  263. package/lib/esm/style.css +2 -0
  264. package/lib/esm/style.js +4 -0
  265. package/lib/esm/styles/slots.js +0 -2
  266. package/lib/esm/svg/ChevronDownIcon.js +11 -10
  267. package/lib/esm/svg/ChevronDownIcon.js.map +1 -1
  268. package/lib/esm/svg/ChevronRightIcon.js +11 -9
  269. package/lib/esm/svg/ChevronRightIcon.js.map +1 -1
  270. package/lib/esm/svg/GlobeIcon.js +11 -6
  271. package/lib/esm/svg/GlobeIcon.js.map +1 -1
  272. package/lib/esm/theme/ThemeProvider.js +33 -37
  273. package/lib/esm/theme/ThemeProvider.js.map +1 -1
  274. package/lib/esm/theme/VisuallyHidden.js +12 -8
  275. package/lib/esm/theme/VisuallyHidden.js.map +1 -1
  276. package/lib/esm/theme/accessibility.css.js +7 -8
  277. package/lib/esm/theme/accessibility.css.js.map +1 -1
  278. package/lib/esm/theme/colors.js +101 -100
  279. package/lib/esm/theme/colors.js.map +1 -1
  280. package/lib/esm/theme/common.js +122 -123
  281. package/lib/esm/theme/common.js.map +1 -1
  282. package/lib/esm/theme/containerQueries.js +14 -13
  283. package/lib/esm/theme/containerQueries.js.map +1 -1
  284. package/lib/esm/theme/global.css.js +1 -2
  285. package/lib/esm/theme/index.js +9 -28
  286. package/lib/esm/theme/sprinkles.css.js +68484 -9
  287. package/lib/esm/theme/sprinkles.css.js.map +1 -1
  288. package/lib/esm/theme/theme.css.js +1 -2
  289. package/lib/esm/theme/themeContract.js +1025 -1035
  290. package/lib/esm/theme/themeContract.js.map +1 -1
  291. package/lib/esm/theme/tools.js +16 -19
  292. package/lib/esm/theme/tools.js.map +1 -1
  293. package/lib/style.d.ts +5 -0
  294. package/lib/style.d.ts.map +1 -0
  295. package/lib/style.js +5 -0
  296. package/lib/types/style.d.ts +5 -0
  297. package/lib/types/style.d.ts.map +1 -0
  298. package/package.json +4 -3
  299. package/lib/esm/atomic/atoms/badge/badge.css.ts.vanilla-BxMgYgcH.css +0 -1
  300. package/lib/esm/atomic/atoms/button/button.css.ts.vanilla-BYFxDZro.css +0 -1
  301. package/lib/esm/atomic/atoms/checkbox/checkbox.css.ts.vanilla-D6TvWxlo.css +0 -1
  302. package/lib/esm/atomic/atoms/input/input.css.ts.vanilla-D_X5_tcn.css +0 -1
  303. package/lib/esm/atomic/atoms/textarea/textarea.css.ts.vanilla-IrvNTQEt.css +0 -1
  304. package/lib/esm/atomic/molecules/breadcrumb_navigation/breadcrumbNavigation.css.ts.vanilla-Bhz61Foa.css +0 -1
  305. package/lib/esm/atomic/molecules/breadcrumb_navigation/types.js.map +0 -1
  306. package/lib/esm/atomic/molecules/tabs/tabs.css.ts.vanilla-DQm5wO0K.css +0 -1
  307. package/lib/esm/atomic/molecules/toast/toast.css.ts.vanilla-2GtcGJsi.css +0 -1
  308. package/lib/esm/components/charts/billingUsageLineChart.css.ts.vanilla-7e3dy1Dj.css +0 -1
  309. package/lib/esm/components/data-table/DataTable.css.ts.vanilla-BLE98fwj.css +0 -1
  310. package/lib/esm/components/data-table/TableCell.css.ts.vanilla-i5QJvdbl.css +0 -1
  311. package/lib/esm/components/layout/ContentLayout.css.ts.vanilla-tn0RQdqM.css +0 -0
  312. package/lib/esm/components/select/SimpleSelect.css.ts.vanilla-Bil1v8q6.css +0 -1
  313. package/lib/esm/components/tile/InfoTile.css.ts.vanilla-ByCg4UKz.css +0 -1
  314. package/lib/esm/index.js.map +0 -1
  315. package/lib/esm/styles/slots.js.map +0 -1
  316. package/lib/esm/theme/accessibility.css.ts.vanilla-D6gfeWvf.css +0 -1
  317. package/lib/esm/theme/global.css.js.map +0 -1
  318. package/lib/esm/theme/global.css.ts.vanilla-ClXnHnoy.css +0 -1
  319. package/lib/esm/theme/index.js.map +0 -1
  320. package/lib/esm/theme/sprinkles.css.ts.vanilla-DOI5FNoi.css +0 -1
  321. package/lib/esm/theme/theme.css.js.map +0 -1
  322. package/lib/esm/theme/theme.css.ts.vanilla-a3SsXff5.css +0 -1
@@ -1,141 +1,74 @@
1
- import { jsx as i, Fragment as S, jsxs as j } from "react/jsx-runtime";
2
- import { emptyCell as D, emptyRow as F, row as H, rowEven as I, rowOdd as O, cell as U, primaryCell as V, headerCell as _, primaryHeaderCell as B, headerRow as K, header as M, body as q, container as z, hideBelowRecipe as G } from "./DataTable.css.js";
3
- import { cx as t } from "../../theme/tools.js";
4
- import { useUiTranslation as J } from "../../i18n/useUiTranslation.js";
5
- const Q = "minmax(0, 1fr)", v = (n) => n == null ? null : G({ minVisibleAt: n }), W = (n, a) => typeof a == "string" && a !== "" ? { gridTemplateColumns: a } : {
6
- gridTemplateColumns: `repeat(${n}, ${Q})`
7
- }, ee = ({
8
- columns: n,
9
- rows: a,
10
- getRowId: C,
11
- emptyState: b,
12
- className: N,
13
- headerClassName: E,
14
- bodyClassName: k,
15
- rowClassName: y,
16
- gridTemplateClassName: c,
17
- gridTemplateColumns: R,
18
- kind: g,
19
- classes: e
20
- }) => {
21
- const { t: L } = J(), o = g ?? "default", T = /* @__PURE__ */ i("div", { className: t(D, e?.emptyCell), children: L("common.table.empty") }), x = b ?? T, A = a.length === 0;
22
- let m;
23
- c == null && (m = W(
24
- n.length,
25
- R
26
- ));
27
- const f = [];
28
- c != null && f.push(c);
29
- let u;
30
- return A ? u = /* @__PURE__ */ i("div", { className: t(F, e?.emptyRow), role: "row", children: /* @__PURE__ */ i("div", { role: "cell", children: x }) }) : u = /* @__PURE__ */ i(S, { children: a.map((l, s) => {
31
- const h = C(l, s), d = [H({ kind: o }), e?.row];
32
- s % 2 === 0 ? d.push(
33
- I({ kind: o }),
34
- e?.rowEven
35
- ) : d.push(
36
- O({ kind: o }),
37
- e?.rowOdd
38
- );
39
- for (const r of f)
40
- d.push(r);
41
- if (y != null) {
42
- const r = y(l, s);
43
- r != null && d.push(r);
44
- }
45
- return /* @__PURE__ */ i(
46
- "div",
47
- {
48
- role: "row",
49
- className: t(...d),
50
- style: m,
51
- children: n.map((r) => {
52
- const p = [
53
- U({ kind: o }),
54
- e?.cell
55
- ], w = v(r.minVisibleAt);
56
- w != null && p.push(w), r.className != null && p.push(r.className), r.isPrimary && p.push(V, e?.primaryCell);
57
- const P = r.cell(l);
58
- return /* @__PURE__ */ i(
59
- "div",
60
- {
61
- role: "cell",
62
- className: t(...p),
63
- children: P
64
- },
65
- r.id
66
- );
67
- })
68
- },
69
- h
70
- );
71
- }) }), /* @__PURE__ */ j(
72
- "div",
73
- {
74
- className: t(
75
- z({ kind: o }),
76
- e?.container,
77
- N
78
- ),
79
- role: "table",
80
- children: [
81
- /* @__PURE__ */ i(
82
- "div",
83
- {
84
- className: t(
85
- M({ kind: o }),
86
- e?.header,
87
- E
88
- ),
89
- role: "rowgroup",
90
- children: /* @__PURE__ */ i(
91
- "div",
92
- {
93
- className: t(
94
- K,
95
- e?.headerRow,
96
- ...f
97
- ),
98
- role: "row",
99
- style: m,
100
- children: n.map((l) => {
101
- const s = [
102
- _({ kind: o }),
103
- e?.headerCell
104
- ], h = v(l.minVisibleAt);
105
- return h != null && s.push(h), l.className != null && s.push(l.className), l.isPrimary && s.push(
106
- B,
107
- e?.primaryHeaderCell
108
- ), /* @__PURE__ */ i(
109
- "div",
110
- {
111
- role: "columnheader",
112
- className: t(...s),
113
- children: l.header
114
- },
115
- l.id
116
- );
117
- })
118
- }
119
- )
120
- }
121
- ),
122
- /* @__PURE__ */ i(
123
- "div",
124
- {
125
- className: t(
126
- q({ kind: o }),
127
- e?.body,
128
- k
129
- ),
130
- role: "rowgroup",
131
- children: u
132
- }
133
- )
134
- ]
135
- }
136
- );
1
+ import { cx as e } from "../../theme/tools.js";
2
+ import { useUiTranslation as t } from "../../i18n/useUiTranslation.js";
3
+ import { body as n, cell as r, container as i, emptyCell as a, emptyRow as o, header as s, headerCell as c, headerRow as l, hideBelowRecipe as u, primaryCell as d, primaryHeaderCell as f, row as p, rowEven as m, rowOdd as h } from "./DataTable.css.js";
4
+ import { Fragment as g, jsx as _, jsxs as v } from "react/jsx-runtime";
5
+ //#region src/components/data-table/DataTable.tsx
6
+ var y = "minmax(0, 1fr)", b = (e) => e == null ? null : u({ minVisibleAt: e }), x = (e, t) => typeof t == "string" && t !== "" ? { gridTemplateColumns: t } : { gridTemplateColumns: `repeat(${e}, ${y})` }, S = ({ columns: u, rows: y, getRowId: S, emptyState: C, className: w, headerClassName: T, bodyClassName: E, rowClassName: D, gridTemplateClassName: O, gridTemplateColumns: k, kind: A, classes: j }) => {
7
+ let { t: M } = t(), N = A ?? "default", P = /* @__PURE__ */ _("div", {
8
+ className: e(a, j?.emptyCell),
9
+ children: M("common.table.empty")
10
+ }), F = C ?? P, I = y.length === 0, L;
11
+ O ?? (L = x(u.length, k));
12
+ let R = [];
13
+ O != null && R.push(O);
14
+ let z;
15
+ return z = I ? /* @__PURE__ */ _("div", {
16
+ className: e(o, j?.emptyRow),
17
+ role: "row",
18
+ children: /* @__PURE__ */ _("div", {
19
+ role: "cell",
20
+ children: F
21
+ })
22
+ }) : /* @__PURE__ */ _(g, { children: y.map((t, n) => {
23
+ let i = S(t, n), a = [p({ kind: N }), j?.row];
24
+ n % 2 == 0 ? a.push(m({ kind: N }), j?.rowEven) : a.push(h({ kind: N }), j?.rowOdd);
25
+ for (let e of R) a.push(e);
26
+ if (D != null) {
27
+ let e = D(t, n);
28
+ e != null && a.push(e);
29
+ }
30
+ return /* @__PURE__ */ _("div", {
31
+ role: "row",
32
+ className: e(...a),
33
+ style: L,
34
+ children: u.map((n) => {
35
+ let i = [r({ kind: N }), j?.cell], a = b(n.minVisibleAt);
36
+ a != null && i.push(a), n.className != null && i.push(n.className), n.isPrimary && i.push(d, j?.primaryCell);
37
+ let o = n.cell(t);
38
+ return /* @__PURE__ */ _("div", {
39
+ role: "cell",
40
+ className: e(...i),
41
+ children: o
42
+ }, n.id);
43
+ })
44
+ }, i);
45
+ }) }), /* @__PURE__ */ v("div", {
46
+ className: e(i({ kind: N }), j?.container, w),
47
+ role: "table",
48
+ children: [/* @__PURE__ */ _("div", {
49
+ className: e(s({ kind: N }), j?.header, T),
50
+ role: "rowgroup",
51
+ children: /* @__PURE__ */ _("div", {
52
+ className: e(l, j?.headerRow, ...R),
53
+ role: "row",
54
+ style: L,
55
+ children: u.map((t) => {
56
+ let n = [c({ kind: N }), j?.headerCell], r = b(t.minVisibleAt);
57
+ return r != null && n.push(r), t.className != null && n.push(t.className), t.isPrimary && n.push(f, j?.primaryHeaderCell), /* @__PURE__ */ _("div", {
58
+ role: "columnheader",
59
+ className: e(...n),
60
+ children: t.header
61
+ }, t.id);
62
+ })
63
+ })
64
+ }), /* @__PURE__ */ _("div", {
65
+ className: e(n({ kind: N }), j?.body, E),
66
+ role: "rowgroup",
67
+ children: z
68
+ })]
69
+ });
137
70
  };
138
- export {
139
- ee as DataTable
140
- };
141
- //# sourceMappingURL=DataTable.js.map
71
+ //#endregion
72
+ export { S as DataTable };
73
+
74
+ //# sourceMappingURL=DataTable.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DataTable.js","sources":["../../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import { type CSSProperties, type JSX } from 'react';\n\nimport * as styles from './DataTable.css.js';\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport { cx } from '../../theme/tools.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\n\nexport type DataTableColumn<Row> = {\n id: string;\n header: JSX.Element | string;\n cell: (row: Row) => JSX.Element | string | null;\n minVisibleAt?: DataTableBreakpoint;\n className?: string;\n isPrimary?: boolean;\n};\n\nexport type GetRowId<Row> = (row: Row, index: number) => string;\n\nexport type DataTableKind = NonNullable<\n Parameters<typeof styles.container>[0]\n>['kind'];\n\ntype DataTableSlot =\n | 'container'\n | 'header'\n | 'headerRow'\n | 'headerCell'\n | 'primaryHeaderCell'\n | 'body'\n | 'row'\n | 'rowEven'\n | 'rowOdd'\n | 'cell'\n | 'primaryCell'\n | 'emptyRow'\n | 'emptyCell';\n\nexport type DataTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n rowClassName?: (row: Row, index: number) => string | null | undefined;\n gridTemplateClassName?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n classes?: SlotClasses<DataTableSlot>;\n};\n\nconst DEFAULT_TEMPLATE_CELL = 'minmax(0, 1fr)';\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n\n return styles.hideBelowRecipe({ minVisibleAt });\n};\n\nconst buildInlineTemplate = (\n columnCount: number,\n gridTemplateColumns?: string,\n): CSSProperties => {\n if (typeof gridTemplateColumns === 'string' && gridTemplateColumns !== '') {\n return { gridTemplateColumns };\n }\n return {\n gridTemplateColumns: `repeat(${columnCount}, ${DEFAULT_TEMPLATE_CELL})`,\n };\n};\n\n/**\n * Generic responsive data table component.\n */\nexport const DataTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n headerClassName,\n bodyClassName,\n rowClassName,\n gridTemplateClassName,\n gridTemplateColumns,\n kind,\n classes,\n}: DataTableProps<Row>): JSX.Element => {\n const { t } = useUiTranslation();\n const resolvedKind: DataTableKind = kind ?? 'default';\n const defaultEmptyState = (\n <div className={cx(styles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n ) as JSX.Element;\n const resolvedEmptyState = emptyState ?? defaultEmptyState;\n const showEmpty = rows.length === 0;\n\n let inlineTemplateStyle: CSSProperties | undefined;\n if (gridTemplateClassName == null) {\n inlineTemplateStyle = buildInlineTemplate(\n columns.length,\n gridTemplateColumns,\n );\n }\n\n const sharedRowClasses: string[] = [];\n if (gridTemplateClassName != null) {\n sharedRowClasses.push(gridTemplateClassName);\n }\n\n let rowsContent: JSX.Element;\n if (showEmpty) {\n rowsContent = (\n <div className={cx(styles.emptyRow, classes?.emptyRow)} role=\"row\">\n <div role=\"cell\">{resolvedEmptyState}</div>\n </div>\n );\n } else {\n rowsContent = (\n <>\n {rows.map((row, index) => {\n const rowId = getRowId(row, index);\n const rowClasses = [styles.row({ kind: resolvedKind }), classes?.row];\n if (index % 2 === 0) {\n rowClasses.push(\n styles.rowEven({ kind: resolvedKind }),\n classes?.rowEven,\n );\n } else {\n rowClasses.push(\n styles.rowOdd({ kind: resolvedKind }),\n classes?.rowOdd,\n );\n }\n for (const sharedClass of sharedRowClasses) {\n rowClasses.push(sharedClass);\n }\n\n if (rowClassName != null) {\n const customClass = rowClassName(row, index);\n if (customClass != null) {\n rowClasses.push(customClass);\n }\n }\n\n return (\n <div\n key={rowId}\n role=\"row\"\n className={cx(...rowClasses)}\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const cellClasses = [\n styles.cell({ kind: resolvedKind }),\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(styles.primaryCell, classes?.primaryCell);\n }\n\n const content = column.cell(row);\n\n return (\n <div\n key={column.id}\n role=\"cell\"\n className={cx(...cellClasses)}\n >\n {content}\n </div>\n );\n })}\n </div>\n );\n })}\n </>\n );\n }\n\n return (\n <div\n className={cx(\n styles.container({ kind: resolvedKind }),\n classes?.container,\n className,\n )}\n role=\"table\"\n >\n <div\n className={cx(\n styles.header({ kind: resolvedKind }),\n classes?.header,\n headerClassName,\n )}\n role=\"rowgroup\"\n >\n <div\n className={cx(\n styles.headerRow,\n classes?.headerRow,\n ...sharedRowClasses,\n )}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n styles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n styles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n\n return (\n <div\n key={column.id}\n role=\"columnheader\"\n className={cx(...headerClasses)}\n >\n {column.header}\n </div>\n );\n })}\n </div>\n </div>\n\n <div\n className={cx(\n styles.body({ kind: resolvedKind }),\n classes?.body,\n bodyClassName,\n )}\n role=\"rowgroup\"\n >\n {rowsContent}\n </div>\n </div>\n );\n};\n"],"names":["DEFAULT_TEMPLATE_CELL","getVisibilityClass","minVisibleAt","styles.hideBelowRecipe","buildInlineTemplate","columnCount","gridTemplateColumns","DataTable","columns","rows","getRowId","emptyState","className","headerClassName","bodyClassName","rowClassName","gridTemplateClassName","kind","classes","t","useUiTranslation","resolvedKind","defaultEmptyState","jsx","cx","styles.emptyCell","resolvedEmptyState","showEmpty","inlineTemplateStyle","sharedRowClasses","rowsContent","styles.emptyRow","Fragment","row","index","rowId","rowClasses","styles.row","styles.rowEven","styles.rowOdd","sharedClass","customClass","column","cellClasses","styles.cell","visibilityClass","styles.primaryCell","content","jsxs","styles.container","styles.header","styles.headerRow","headerClasses","styles.headerCell","styles.primaryHeaderCell","styles.body"],"mappings":"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"}
1
+ {"version":3,"file":"DataTable.js","names":[],"sources":["../../../../src/components/data-table/DataTable.tsx"],"sourcesContent":["import { type CSSProperties, type JSX } from 'react';\n\nimport * as styles from './DataTable.css.js';\nimport type { DataTableBreakpoint } from './tableBreakpoints.js';\nimport { cx } from '../../theme/tools.js';\nimport { useUiTranslation } from '../../i18n/useUiTranslation.js';\nimport type { SlotClasses } from '../../styles/slots.js';\n\nexport type DataTableColumn<Row> = {\n id: string;\n header: JSX.Element | string;\n cell: (row: Row) => JSX.Element | string | null;\n minVisibleAt?: DataTableBreakpoint;\n className?: string;\n isPrimary?: boolean;\n};\n\nexport type GetRowId<Row> = (row: Row, index: number) => string;\n\nexport type DataTableKind = NonNullable<\n Parameters<typeof styles.container>[0]\n>['kind'];\n\ntype DataTableSlot =\n | 'container'\n | 'header'\n | 'headerRow'\n | 'headerCell'\n | 'primaryHeaderCell'\n | 'body'\n | 'row'\n | 'rowEven'\n | 'rowOdd'\n | 'cell'\n | 'primaryCell'\n | 'emptyRow'\n | 'emptyCell';\n\nexport type DataTableProps<Row> = {\n columns: readonly DataTableColumn<Row>[];\n rows: readonly Row[];\n getRowId: GetRowId<Row>;\n emptyState?: JSX.Element;\n className?: string;\n headerClassName?: string;\n bodyClassName?: string;\n rowClassName?: (row: Row, index: number) => string | null | undefined;\n gridTemplateClassName?: string;\n gridTemplateColumns?: string;\n kind?: DataTableKind;\n classes?: SlotClasses<DataTableSlot>;\n};\n\nconst DEFAULT_TEMPLATE_CELL = 'minmax(0, 1fr)';\n\nconst getVisibilityClass = (minVisibleAt?: DataTableBreakpoint) => {\n if (minVisibleAt == null) {\n return null;\n }\n\n return styles.hideBelowRecipe({ minVisibleAt });\n};\n\nconst buildInlineTemplate = (\n columnCount: number,\n gridTemplateColumns?: string,\n): CSSProperties => {\n if (typeof gridTemplateColumns === 'string' && gridTemplateColumns !== '') {\n return { gridTemplateColumns };\n }\n return {\n gridTemplateColumns: `repeat(${columnCount}, ${DEFAULT_TEMPLATE_CELL})`,\n };\n};\n\n/**\n * Generic responsive data table component.\n */\nexport const DataTable = <Row,>({\n columns,\n rows,\n getRowId,\n emptyState,\n className,\n headerClassName,\n bodyClassName,\n rowClassName,\n gridTemplateClassName,\n gridTemplateColumns,\n kind,\n classes,\n}: DataTableProps<Row>): JSX.Element => {\n const { t } = useUiTranslation();\n const resolvedKind: DataTableKind = kind ?? 'default';\n const defaultEmptyState = (\n <div className={cx(styles.emptyCell, classes?.emptyCell)}>\n {t('common.table.empty')}\n </div>\n ) as JSX.Element;\n const resolvedEmptyState = emptyState ?? defaultEmptyState;\n const showEmpty = rows.length === 0;\n\n let inlineTemplateStyle: CSSProperties | undefined;\n if (gridTemplateClassName == null) {\n inlineTemplateStyle = buildInlineTemplate(\n columns.length,\n gridTemplateColumns,\n );\n }\n\n const sharedRowClasses: string[] = [];\n if (gridTemplateClassName != null) {\n sharedRowClasses.push(gridTemplateClassName);\n }\n\n let rowsContent: JSX.Element;\n if (showEmpty) {\n rowsContent = (\n <div className={cx(styles.emptyRow, classes?.emptyRow)} role=\"row\">\n <div role=\"cell\">{resolvedEmptyState}</div>\n </div>\n );\n } else {\n rowsContent = (\n <>\n {rows.map((row, index) => {\n const rowId = getRowId(row, index);\n const rowClasses = [styles.row({ kind: resolvedKind }), classes?.row];\n if (index % 2 === 0) {\n rowClasses.push(\n styles.rowEven({ kind: resolvedKind }),\n classes?.rowEven,\n );\n } else {\n rowClasses.push(\n styles.rowOdd({ kind: resolvedKind }),\n classes?.rowOdd,\n );\n }\n for (const sharedClass of sharedRowClasses) {\n rowClasses.push(sharedClass);\n }\n\n if (rowClassName != null) {\n const customClass = rowClassName(row, index);\n if (customClass != null) {\n rowClasses.push(customClass);\n }\n }\n\n return (\n <div\n key={rowId}\n role=\"row\"\n className={cx(...rowClasses)}\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const cellClasses = [\n styles.cell({ kind: resolvedKind }),\n classes?.cell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n\n if (visibilityClass != null) {\n cellClasses.push(visibilityClass);\n }\n\n if (column.className != null) {\n cellClasses.push(column.className);\n }\n if (column.isPrimary) {\n cellClasses.push(styles.primaryCell, classes?.primaryCell);\n }\n\n const content = column.cell(row);\n\n return (\n <div\n key={column.id}\n role=\"cell\"\n className={cx(...cellClasses)}\n >\n {content}\n </div>\n );\n })}\n </div>\n );\n })}\n </>\n );\n }\n\n return (\n <div\n className={cx(\n styles.container({ kind: resolvedKind }),\n classes?.container,\n className,\n )}\n role=\"table\"\n >\n <div\n className={cx(\n styles.header({ kind: resolvedKind }),\n classes?.header,\n headerClassName,\n )}\n role=\"rowgroup\"\n >\n <div\n className={cx(\n styles.headerRow,\n classes?.headerRow,\n ...sharedRowClasses,\n )}\n role=\"row\"\n style={inlineTemplateStyle}\n >\n {columns.map((column) => {\n const headerClasses = [\n styles.headerCell({ kind: resolvedKind }),\n classes?.headerCell,\n ];\n const visibilityClass = getVisibilityClass(column.minVisibleAt);\n if (visibilityClass != null) {\n headerClasses.push(visibilityClass);\n }\n\n if (column.className != null) {\n headerClasses.push(column.className);\n }\n if (column.isPrimary) {\n headerClasses.push(\n styles.primaryHeaderCell,\n classes?.primaryHeaderCell,\n );\n }\n\n return (\n <div\n key={column.id}\n role=\"columnheader\"\n className={cx(...headerClasses)}\n >\n {column.header}\n </div>\n );\n })}\n </div>\n </div>\n\n <div\n className={cx(\n styles.body({ kind: resolvedKind }),\n classes?.body,\n bodyClassName,\n )}\n role=\"rowgroup\"\n >\n {rowsContent}\n </div>\n </div>\n );\n};\n"],"mappings":"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"}
@@ -1,15 +1,18 @@
1
- /* empty css */
2
- /* empty css */
3
- import { createRuntimeFn as t } from "@vanilla-extract/recipes/createRuntimeFn";
4
- var v = "x6ceqz0 txvbqbu6f txvbqb9io txvbqbco txvbqbao6 txvbqbv8p", x = t({ defaultClassName: "x6ceqz1", variantClassNames: { align: { start: "x6ceqz2", center: "x6ceqz3", end: "x6ceqz4" } }, defaultVariants: { align: "start" }, compoundVariants: [] }), q = "x6ceqz5 txvbqbv8p", r = "x6ceqz6 txvbqbv8p txvbqbuw6", c = "x6ceqz7 txvbqbv8p txvbqbuw6", i = "x6ceqz8 txvbqbv8r txvbqb8o", s = "x6ceqz9 txvbqbl6f txvbqbt6f txvbqbuw6", m = "x6ceqza txvbqbuwx";
5
- export {
6
- x as alignRecipe,
7
- v as base,
8
- c as date,
9
- s as ellipsis,
10
- i as muted,
11
- r as number,
12
- m as summary,
13
- q as text
14
- };
15
- //# sourceMappingURL=TableCell.css.js.map
1
+ /* empty css */
2
+ /* empty css */
3
+ import { createRuntimeFn as e } from "@vanilla-extract/recipes/createRuntimeFn";
4
+ //#region src/components/data-table/TableCell.css.ts
5
+ var t = "x6ceqz0 txvbqbu6f txvbqb9io txvbqbco txvbqbao6 txvbqbv8p", n = e({
6
+ defaultClassName: "x6ceqz1",
7
+ variantClassNames: { align: {
8
+ start: "x6ceqz2",
9
+ center: "x6ceqz3",
10
+ end: "x6ceqz4"
11
+ } },
12
+ defaultVariants: { align: "start" },
13
+ compoundVariants: []
14
+ }), r = "x6ceqz5 txvbqbv8p", i = "x6ceqz6 txvbqbv8p txvbqbuw6", a = "x6ceqz7 txvbqbv8p txvbqbuw6", o = "x6ceqz8 txvbqbv8r txvbqb8o", s = "x6ceqz9 txvbqbl6f txvbqbt6f txvbqbuw6", c = "x6ceqza txvbqbuwx";
15
+ //#endregion
16
+ export { n as alignRecipe, t as base, a as date, s as ellipsis, o as muted, i as number, c as summary, r as text };
17
+
18
+ //# sourceMappingURL=TableCell.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
1
+ {"version":3,"file":"TableCell.css.js","names":[],"sources":["../../../../src/components/data-table/TableCell.css.ts"],"sourcesContent":["import { recipe, type RecipeVariants } from '@vanilla-extract/recipes';\n\nimport { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const base = sprinkles({\n width: 'full',\n display: 'flex',\n alignItems: 'center',\n gap: 2,\n color: 'text',\n});\n\nexport const alignRecipe = recipe({\n variants: {\n align: {\n start: { justifyContent: 'flex-start', textAlign: 'left' },\n center: { justifyContent: 'center', textAlign: 'center' },\n end: { justifyContent: 'flex-end', textAlign: 'right' },\n },\n },\n defaultVariants: {\n align: 'start',\n },\n});\n\nexport type AlignRecipeVariants = RecipeVariants<typeof alignRecipe>;\n\nexport const text = sprinkles({\n color: 'text',\n});\n\nexport const number = sprinkles({\n color: 'text',\n whiteSpace: 'nowrap',\n});\n\nexport const date = sprinkles({\n color: 'text',\n whiteSpace: 'nowrap',\n});\n\nexport const muted = sprinkles({\n color: 'textSecondary',\n fontSize: 'xs',\n});\n\nexport const ellipsis = sprinkles({\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n});\n\nexport const summary = sprinkles({\n whiteSpace: 'pre-wrap',\n});\n"],"mappings":""}
@@ -1,74 +1,75 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { useMemo as d } from "react";
3
- import { Badge as a } from "../../atomic/atoms/badge/Badge.js";
4
- import { FormattedDate as f } from "../../atomic/atoms/formatted-date/FormattedDate.js";
5
- import { muted as N, date as g, number as h, text as p } from "./TableCell.css.js";
6
- import { TableCellBase as o } from "./TableCellBase.js";
7
- import { cx as C } from "../../theme/tools.js";
8
- const c = "—", u = c, D = {
9
- maximumFractionDigits: 2
10
- }, F = {
11
- dateStyle: "medium",
12
- timeStyle: "short"
13
- }, b = ({
14
- value: t,
15
- fallback: e = u,
16
- children: n,
17
- ellipsis: s = !1,
18
- className: i
19
- }) => {
20
- let m = n ?? t;
21
- if (m == null)
22
- m = e;
23
- else if (typeof m == "string") {
24
- const l = m.trim();
25
- l.length === 0 ? m = e : m = l;
26
- }
27
- return /* @__PURE__ */ r(o, { ellipsis: s, className: C(p, i), children: m });
28
- }, B = ({
29
- value: t,
30
- fallback: e = u,
31
- locale: n,
32
- formatOptions: s = D
33
- }) => {
34
- const i = d(() => {
35
- if (t == null || Number.isNaN(Number(t)))
36
- return e;
37
- try {
38
- return new Intl.NumberFormat(n, s).format(t);
39
- } catch {
40
- return String(t);
41
- }
42
- }, [t, e, n, s]);
43
- return /* @__PURE__ */ r(o, { align: "end", className: h, children: i });
44
- }, x = ({
45
- label: t,
46
- tone: e,
47
- isLoading: n = !1
48
- }) => /* @__PURE__ */ r(o, { children: /* @__PURE__ */ r(a, { tone: e, loading: n, children: t }) }), A = ({
49
- value: t,
50
- fallback: e = c,
51
- locale: n,
52
- options: s = F
53
- }) => /* @__PURE__ */ r(o, { className: g, children: /* @__PURE__ */ r(
54
- f,
55
- {
56
- value: t,
57
- fallback: e,
58
- locale: n,
59
- options: s
60
- }
61
- ) }), E = ({ label: t, tone: e }) => /* @__PURE__ */ r(o, { children: /* @__PURE__ */ r(a, { tone: e, children: t }) }), T = ({ children: t, className: e }) => /* @__PURE__ */ r(o, { align: "end", className: e, children: t }), L = ({ children: t }) => /* @__PURE__ */ r("span", { className: N, children: t }), w = {
62
- Base: o,
63
- Text: b,
64
- Number: B,
65
- Status: x,
66
- Date: A,
67
- Badge: E,
68
- Actions: T,
69
- Muted: L
1
+ import { cx as e } from "../../theme/tools.js";
2
+ import { Badge as t } from "../../atomic/atoms/badge/Badge.js";
3
+ import { FormattedDate as n } from "../../atomic/atoms/formatted-date/FormattedDate.js";
4
+ import { date as r, muted as i, number as a, text as o } from "./TableCell.css.js";
5
+ import { TableCellBase as s } from "./TableCellBase.js";
6
+ import { jsx as c } from "react/jsx-runtime";
7
+ import { useMemo as l } from "react";
8
+ //#region src/components/data-table/TableCell.tsx
9
+ var u = "—", d = u, f = { maximumFractionDigits: 2 }, p = {
10
+ dateStyle: "medium",
11
+ timeStyle: "short"
12
+ }, m = {
13
+ Base: s,
14
+ Text: ({ value: t, fallback: n = d, children: r, ellipsis: i = !1, className: a }) => {
15
+ let l = r ?? t;
16
+ if (l == null) l = n;
17
+ else if (typeof l == "string") {
18
+ let e = l.trim();
19
+ l = e.length === 0 ? n : e;
20
+ }
21
+ return /* @__PURE__ */ c(s, {
22
+ ellipsis: i,
23
+ className: e(o, a),
24
+ children: l
25
+ });
26
+ },
27
+ Number: ({ value: e, fallback: t = d, locale: n, formatOptions: r = f }) => /* @__PURE__ */ c(s, {
28
+ align: "end",
29
+ className: a,
30
+ children: l(() => {
31
+ if (e == null || Number.isNaN(Number(e))) return t;
32
+ try {
33
+ return new Intl.NumberFormat(n, r).format(e);
34
+ } catch {
35
+ return String(e);
36
+ }
37
+ }, [
38
+ e,
39
+ t,
40
+ n,
41
+ r
42
+ ])
43
+ }),
44
+ Status: ({ label: e, tone: n, isLoading: r = !1 }) => /* @__PURE__ */ c(s, { children: /* @__PURE__ */ c(t, {
45
+ tone: n,
46
+ loading: r,
47
+ children: e
48
+ }) }),
49
+ Date: ({ value: e, fallback: t = u, locale: i, options: a = p }) => /* @__PURE__ */ c(s, {
50
+ className: r,
51
+ children: /* @__PURE__ */ c(n, {
52
+ value: e,
53
+ fallback: t,
54
+ locale: i,
55
+ options: a
56
+ })
57
+ }),
58
+ Badge: ({ label: e, tone: n }) => /* @__PURE__ */ c(s, { children: /* @__PURE__ */ c(t, {
59
+ tone: n,
60
+ children: e
61
+ }) }),
62
+ Actions: ({ children: e, className: t }) => /* @__PURE__ */ c(s, {
63
+ align: "end",
64
+ className: t,
65
+ children: e
66
+ }),
67
+ Muted: ({ children: e }) => /* @__PURE__ */ c("span", {
68
+ className: i,
69
+ children: e
70
+ })
70
71
  };
71
- export {
72
- w as TableCell
73
- };
74
- //# sourceMappingURL=TableCell.js.map
72
+ //#endregion
73
+ export { m as TableCell };
74
+
75
+ //# sourceMappingURL=TableCell.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableCell.js","sources":["../../../../src/components/data-table/TableCell.tsx"],"sourcesContent":["import { type JSX, type ReactNode, useMemo } from 'react';\n\nimport { Badge } from '../../atomic/atoms/badge/Badge.js';\nimport { FormattedDate } from '../../atomic/atoms/formatted-date/FormattedDate.js';\n\nimport * as styles from './TableCell.css.js';\nimport { TableCellBase, type TableCellBaseProps } from './TableCellBase.js';\nimport { cx } from '../../theme/tools.js';\n\ntype BadgeTone =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'accent';\n\ntype TextCellProps = {\n value?: string | null | undefined;\n fallback?: string;\n children?: ReactNode;\n ellipsis?: boolean;\n className?: string;\n};\n\ntype NumberCellProps = {\n value: number | null | undefined;\n fallback?: string;\n locale?: string;\n formatOptions?: Intl.NumberFormatOptions;\n};\n\ntype StatusCellProps = {\n label: string;\n tone: BadgeTone;\n isLoading?: boolean;\n};\n\ntype DateCellProps = {\n value: string | null | undefined;\n fallback?: string;\n locale?: string;\n options?: Intl.DateTimeFormatOptions;\n};\n\ntype BadgeCellProps = {\n label: string;\n tone: BadgeTone;\n};\n\ntype ActionsCellProps = TableCellBaseProps;\n\nconst FALLBACK_REFERENCE = '—';\nconst DEFAULT_TEXT_FALLBACK = FALLBACK_REFERENCE;\n\nconst DefaultNumberFormat: Intl.NumberFormatOptions = {\n maximumFractionDigits: 2,\n};\n\nconst DefaultDateOptions: Intl.DateTimeFormatOptions = {\n dateStyle: 'medium',\n timeStyle: 'short',\n};\n\nconst Text = ({\n value,\n fallback = DEFAULT_TEXT_FALLBACK,\n children,\n ellipsis = false,\n className,\n}: TextCellProps): JSX.Element => {\n let content: ReactNode = children ?? value;\n\n if (content == null) {\n content = fallback;\n } else if (typeof content === 'string') {\n const trimmed = content.trim();\n if (trimmed.length === 0) {\n content = fallback;\n } else {\n content = trimmed;\n }\n }\n\n return (\n <TableCellBase ellipsis={ellipsis} className={cx(styles.text, className)}>\n {content}\n </TableCellBase>\n );\n};\n\nconst NumberCell = ({\n value,\n fallback = DEFAULT_TEXT_FALLBACK,\n locale,\n formatOptions = DefaultNumberFormat,\n}: NumberCellProps): JSX.Element => {\n const formatted = useMemo(() => {\n if (value == null || Number.isNaN(Number(value))) {\n return fallback;\n }\n\n try {\n return new Intl.NumberFormat(locale, formatOptions).format(value);\n } catch {\n return String(value);\n }\n }, [value, fallback, locale, formatOptions]);\n\n return (\n <TableCellBase align=\"end\" className={styles.number}>\n {formatted}\n </TableCellBase>\n );\n};\n\nconst Status = ({\n label,\n tone,\n isLoading = false,\n}: StatusCellProps): JSX.Element => {\n return (\n <TableCellBase>\n <Badge tone={tone} loading={isLoading}>\n {label}\n </Badge>\n </TableCellBase>\n );\n};\n\nconst DateCell = ({\n value,\n fallback = FALLBACK_REFERENCE,\n locale,\n options = DefaultDateOptions,\n}: DateCellProps): JSX.Element => {\n return (\n <TableCellBase className={styles.date}>\n <FormattedDate\n value={value}\n fallback={fallback}\n locale={locale}\n options={options}\n />\n </TableCellBase>\n );\n};\n\nconst BadgeCell = ({ label, tone }: BadgeCellProps): JSX.Element => {\n return (\n <TableCellBase>\n <Badge tone={tone}>{label}</Badge>\n </TableCellBase>\n );\n};\n\nconst Actions = ({ children, className }: ActionsCellProps): JSX.Element => {\n return (\n <TableCellBase align=\"end\" className={className}>\n {children}\n </TableCellBase>\n );\n};\n\nconst Muted = ({ children }: { children: ReactNode }): JSX.Element => {\n return <span className={styles.muted}>{children}</span>;\n};\n\nexport const TableCell = {\n Base: TableCellBase,\n Text,\n Number: NumberCell,\n Status,\n Date: DateCell,\n Badge: BadgeCell,\n Actions,\n Muted,\n};\n\nexport type { TextCellProps, NumberCellProps, StatusCellProps, DateCellProps };\n"],"names":["FALLBACK_REFERENCE","DEFAULT_TEXT_FALLBACK","DefaultNumberFormat","DefaultDateOptions","Text","value","fallback","children","ellipsis","className","content","trimmed","jsx","TableCellBase","cx","styles.text","NumberCell","locale","formatOptions","formatted","useMemo","styles.number","Status","label","tone","isLoading","Badge","DateCell","options","styles.date","FormattedDate","BadgeCell","Actions","Muted","styles.muted","TableCell"],"mappings":";;;;;;;AAoDA,MAAMA,IAAqB,KACrBC,IAAwBD,GAExBE,IAAgD;AAAA,EACpD,uBAAuB;AACzB,GAEMC,IAAiD;AAAA,EACrD,WAAW;AAAA,EACX,WAAW;AACb,GAEMC,IAAO,CAAC;AAAA,EACZ,OAAAC;AAAA,EACA,UAAAC,IAAWL;AAAA,EACX,UAAAM;AAAA,EACA,UAAAC,IAAW;AAAA,EACX,WAAAC;AACF,MAAkC;AAChC,MAAIC,IAAqBH,KAAYF;AAErC,MAAIK,KAAW;AACb,IAAAA,IAAUJ;AAAA,WACD,OAAOI,KAAY,UAAU;AACtC,UAAMC,IAAUD,EAAQ,KAAA;AACxB,IAAIC,EAAQ,WAAW,IACrBD,IAAUJ,IAEVI,IAAUC;AAAA,EAEd;AAEA,SACE,gBAAAC,EAACC,KAAc,UAAAL,GAAoB,WAAWM,EAAGC,GAAaN,CAAS,GACpE,UAAAC,EAAA,CACH;AAEJ,GAEMM,IAAa,CAAC;AAAA,EAClB,OAAAX;AAAA,EACA,UAAAC,IAAWL;AAAA,EACX,QAAAgB;AAAA,EACA,eAAAC,IAAgBhB;AAClB,MAAoC;AAClC,QAAMiB,IAAYC,EAAQ,MAAM;AAC9B,QAAIf,KAAS,QAAQ,OAAO,MAAM,OAAOA,CAAK,CAAC;AAC7C,aAAOC;AAGT,QAAI;AACF,aAAO,IAAI,KAAK,aAAaW,GAAQC,CAAa,EAAE,OAAOb,CAAK;AAAA,IAClE,QAAQ;AACN,aAAO,OAAOA,CAAK;AAAA,IACrB;AAAA,EACF,GAAG,CAACA,GAAOC,GAAUW,GAAQC,CAAa,CAAC;AAE3C,2BACGL,GAAA,EAAc,OAAM,OAAM,WAAWQ,GACnC,UAAAF,GACH;AAEJ,GAEMG,IAAS,CAAC;AAAA,EACd,OAAAC;AAAA,EACA,MAAAC;AAAA,EACA,WAAAC,IAAY;AACd,MAEI,gBAAAb,EAACC,KACC,UAAA,gBAAAD,EAACc,GAAA,EAAM,MAAAF,GAAY,SAASC,GACzB,aACH,EAAA,CACF,GAIEE,IAAW,CAAC;AAAA,EAChB,OAAAtB;AAAA,EACA,UAAAC,IAAWN;AAAA,EACX,QAAAiB;AAAA,EACA,SAAAW,IAAUzB;AACZ,MAEI,gBAAAS,EAACC,GAAA,EAAc,WAAWgB,GACxB,UAAA,gBAAAjB;AAAA,EAACkB;AAAA,EAAA;AAAA,IACC,OAAAzB;AAAA,IACA,UAAAC;AAAA,IACA,QAAAW;AAAA,IACA,SAAAW;AAAA,EAAA;AAAA,GAEJ,GAIEG,IAAY,CAAC,EAAE,OAAAR,GAAO,MAAAC,0BAEvBX,GAAA,EACC,UAAA,gBAAAD,EAACc,GAAA,EAAM,MAAAF,GAAa,aAAM,EAAA,CAC5B,GAIEQ,IAAU,CAAC,EAAE,UAAAzB,GAAU,WAAAE,QAEzB,gBAAAG,EAACC,GAAA,EAAc,OAAM,OAAM,WAAAJ,GACxB,UAAAF,GACH,GAIE0B,IAAQ,CAAC,EAAE,UAAA1B,QACR,gBAAAK,EAAC,QAAA,EAAK,WAAWsB,GAAe,UAAA3B,EAAA,CAAS,GAGrC4B,IAAY;AAAA,EACvB,MAAMtB;AAAA,EACN,MAAAT;AAAA,EACA,QAAQY;AAAA,EACR,QAAAM;AAAA,EACA,MAAMK;AAAA,EACN,OAAOI;AAAA,EACP,SAAAC;AAAA,EACA,OAAAC;AACF;"}
1
+ {"version":3,"file":"TableCell.js","names":[],"sources":["../../../../src/components/data-table/TableCell.tsx"],"sourcesContent":["import { type JSX, type ReactNode, useMemo } from 'react';\n\nimport { Badge } from '../../atomic/atoms/badge/Badge.js';\nimport { FormattedDate } from '../../atomic/atoms/formatted-date/FormattedDate.js';\n\nimport * as styles from './TableCell.css.js';\nimport { TableCellBase, type TableCellBaseProps } from './TableCellBase.js';\nimport { cx } from '../../theme/tools.js';\n\ntype BadgeTone =\n | 'neutral'\n | 'info'\n | 'success'\n | 'warning'\n | 'danger'\n | 'accent';\n\ntype TextCellProps = {\n value?: string | null | undefined;\n fallback?: string;\n children?: ReactNode;\n ellipsis?: boolean;\n className?: string;\n};\n\ntype NumberCellProps = {\n value: number | null | undefined;\n fallback?: string;\n locale?: string;\n formatOptions?: Intl.NumberFormatOptions;\n};\n\ntype StatusCellProps = {\n label: string;\n tone: BadgeTone;\n isLoading?: boolean;\n};\n\ntype DateCellProps = {\n value: string | null | undefined;\n fallback?: string;\n locale?: string;\n options?: Intl.DateTimeFormatOptions;\n};\n\ntype BadgeCellProps = {\n label: string;\n tone: BadgeTone;\n};\n\ntype ActionsCellProps = TableCellBaseProps;\n\nconst FALLBACK_REFERENCE = '—';\nconst DEFAULT_TEXT_FALLBACK = FALLBACK_REFERENCE;\n\nconst DefaultNumberFormat: Intl.NumberFormatOptions = {\n maximumFractionDigits: 2,\n};\n\nconst DefaultDateOptions: Intl.DateTimeFormatOptions = {\n dateStyle: 'medium',\n timeStyle: 'short',\n};\n\nconst Text = ({\n value,\n fallback = DEFAULT_TEXT_FALLBACK,\n children,\n ellipsis = false,\n className,\n}: TextCellProps): JSX.Element => {\n let content: ReactNode = children ?? value;\n\n if (content == null) {\n content = fallback;\n } else if (typeof content === 'string') {\n const trimmed = content.trim();\n if (trimmed.length === 0) {\n content = fallback;\n } else {\n content = trimmed;\n }\n }\n\n return (\n <TableCellBase ellipsis={ellipsis} className={cx(styles.text, className)}>\n {content}\n </TableCellBase>\n );\n};\n\nconst NumberCell = ({\n value,\n fallback = DEFAULT_TEXT_FALLBACK,\n locale,\n formatOptions = DefaultNumberFormat,\n}: NumberCellProps): JSX.Element => {\n const formatted = useMemo(() => {\n if (value == null || Number.isNaN(Number(value))) {\n return fallback;\n }\n\n try {\n return new Intl.NumberFormat(locale, formatOptions).format(value);\n } catch {\n return String(value);\n }\n }, [value, fallback, locale, formatOptions]);\n\n return (\n <TableCellBase align=\"end\" className={styles.number}>\n {formatted}\n </TableCellBase>\n );\n};\n\nconst Status = ({\n label,\n tone,\n isLoading = false,\n}: StatusCellProps): JSX.Element => {\n return (\n <TableCellBase>\n <Badge tone={tone} loading={isLoading}>\n {label}\n </Badge>\n </TableCellBase>\n );\n};\n\nconst DateCell = ({\n value,\n fallback = FALLBACK_REFERENCE,\n locale,\n options = DefaultDateOptions,\n}: DateCellProps): JSX.Element => {\n return (\n <TableCellBase className={styles.date}>\n <FormattedDate\n value={value}\n fallback={fallback}\n locale={locale}\n options={options}\n />\n </TableCellBase>\n );\n};\n\nconst BadgeCell = ({ label, tone }: BadgeCellProps): JSX.Element => {\n return (\n <TableCellBase>\n <Badge tone={tone}>{label}</Badge>\n </TableCellBase>\n );\n};\n\nconst Actions = ({ children, className }: ActionsCellProps): JSX.Element => {\n return (\n <TableCellBase align=\"end\" className={className}>\n {children}\n </TableCellBase>\n );\n};\n\nconst Muted = ({ children }: { children: ReactNode }): JSX.Element => {\n return <span className={styles.muted}>{children}</span>;\n};\n\nexport const TableCell = {\n Base: TableCellBase,\n Text,\n Number: NumberCell,\n Status,\n Date: DateCell,\n Badge: BadgeCell,\n Actions,\n Muted,\n};\n\nexport type { TextCellProps, NumberCellProps, StatusCellProps, DateCellProps };\n"],"mappings":";;;;;;;;AAoDA,IAAM,IAAqB,KACrB,IAAwB,GAExB,IAAgD,EACpD,uBAAuB,GACxB,EAEK,IAAiD;CACrD,WAAW;CACX,WAAW;CACZ,EA0GY,IAAY;CACvB,MAAM;CACN,OA1GY,EACZ,UACA,cAAW,GACX,aACA,cAAW,IACX,mBACgC;EAChC,IAAI,IAAqB,KAAY;AAErC,MAAI,KAAW,KACb,KAAU;WACD,OAAO,KAAY,UAAU;GACtC,IAAM,IAAU,EAAQ,MAAM;AAC9B,GAGE,IAHE,EAAQ,WAAW,IACX,IAEA;;AAId,SACE,kBAAC,GAAD;GAAyB;GAAU,WAAW,EAAG,GAAa,EAAU;aACrE;GACa,CAAA;;CAoFlB,SAhFkB,EAClB,UACA,cAAW,GACX,WACA,mBAAgB,QAed,kBAAC,GAAD;EAAe,OAAM;EAAM,WAAW;YAbtB,QAAc;AAC9B,OAAI,KAAS,QAAQ,OAAO,MAAM,OAAO,EAAM,CAAC,CAC9C,QAAO;AAGT,OAAI;AACF,WAAO,IAAI,KAAK,aAAa,GAAQ,EAAc,CAAC,OAAO,EAAM;WAC3D;AACN,WAAO,OAAO,EAAM;;KAErB;GAAC;GAAO;GAAU;GAAQ;GAAc,CAAC;EAK1B,CAAA;CA4DlB,SAxDc,EACd,UACA,SACA,eAAY,SAGV,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAa;EAAM,SAAS;YACzB;EACK,CAAA,EACM,CAAA;CA+ClB,OA3CgB,EAChB,UACA,cAAW,GACX,WACA,aAAU,QAGR,kBAAC,GAAD;EAAe,WAAW;YACxB,kBAAC,GAAD;GACS;GACG;GACF;GACC;GACT,CAAA;EACY,CAAA;CA8BlB,QA1BiB,EAAE,UAAO,cAExB,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;EAAa;YAAO;EAAc,CAAA,EACpB,CAAA;CAuBlB,UAnBe,EAAE,aAAU,mBAEzB,kBAAC,GAAD;EAAe,OAAM;EAAiB;EACnC;EACa,CAAA;CAgBlB,QAZa,EAAE,kBACR,kBAAC,QAAD;EAAM,WAAW;EAAe;EAAgB,CAAA;CAYxD"}
@@ -1,16 +1,19 @@
1
- import { jsx as r } from "react/jsx-runtime";
2
- import { base as o, alignRecipe as t, ellipsis as m } from "./TableCell.css.js";
3
- import { cx as p } from "../../theme/tools.js";
4
- const x = ({
5
- children: e,
6
- className: i,
7
- align: l = "start",
8
- ellipsis: a = !1
9
- }) => {
10
- const s = [o, t({ align: l }), i];
11
- return a && s.push(m), /* @__PURE__ */ r("div", { className: p(...s), children: e });
1
+ import { cx as e } from "../../theme/tools.js";
2
+ import { alignRecipe as t, base as n, ellipsis as r } from "./TableCell.css.js";
3
+ import { jsx as i } from "react/jsx-runtime";
4
+ //#region src/components/data-table/TableCellBase.tsx
5
+ var a = ({ children: a, className: o, align: s = "start", ellipsis: c = !1 }) => {
6
+ let l = [
7
+ n,
8
+ t({ align: s }),
9
+ o
10
+ ];
11
+ return c && l.push(r), /* @__PURE__ */ i("div", {
12
+ className: e(...l),
13
+ children: a
14
+ });
12
15
  };
13
- export {
14
- x as TableCellBase
15
- };
16
- //# sourceMappingURL=TableCellBase.js.map
16
+ //#endregion
17
+ export { a as TableCellBase };
18
+
19
+ //# sourceMappingURL=TableCellBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableCellBase.js","sources":["../../../../src/components/data-table/TableCellBase.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport * as styles from './TableCell.css.js';\nimport { cx } from '../../theme/tools.js';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\ntype Alignment = NonNullable<\n NonNullable<RecipeVariants<typeof styles.alignRecipe>>['align']\n>;\n\nexport type TableCellBaseProps = {\n children: ReactNode;\n className?: string;\n align?: Alignment;\n ellipsis?: boolean;\n};\n\nexport const TableCellBase = ({\n children,\n className,\n align = 'start',\n ellipsis = false,\n}: TableCellBaseProps): JSX.Element => {\n const classNames = [styles.base, styles.alignRecipe({ align }), className];\n\n if (ellipsis) {\n classNames.push(styles.ellipsis);\n }\n\n return <div className={cx(...classNames)}>{children}</div>;\n};\n"],"names":["TableCellBase","children","className","align","ellipsis","classNames","styles.base","styles.alignRecipe","styles.ellipsis","cx"],"mappings":";;;AAiBO,MAAMA,IAAgB,CAAC;AAAA,EAC5B,UAAAC;AAAA,EACA,WAAAC;AAAA,EACA,OAAAC,IAAQ;AAAA,EAAA,UACRC,IAAW;AACb,MAAuC;AACrC,QAAMC,IAAa,CAACC,GAAaC,EAAmB,EAAE,OAAAJ,EAAA,CAAO,GAAGD,CAAS;AAEzE,SAAIE,KACFC,EAAW,KAAKG,CAAe,qBAGzB,OAAA,EAAI,WAAWC,EAAG,GAAGJ,CAAU,GAAI,UAAAJ,GAAS;AACtD;"}
1
+ {"version":3,"file":"TableCellBase.js","names":[],"sources":["../../../../src/components/data-table/TableCellBase.tsx"],"sourcesContent":["import { type JSX, type ReactNode } from 'react';\n\nimport * as styles from './TableCell.css.js';\nimport { cx } from '../../theme/tools.js';\nimport type { RecipeVariants } from '@vanilla-extract/recipes';\n\ntype Alignment = NonNullable<\n NonNullable<RecipeVariants<typeof styles.alignRecipe>>['align']\n>;\n\nexport type TableCellBaseProps = {\n children: ReactNode;\n className?: string;\n align?: Alignment;\n ellipsis?: boolean;\n};\n\nexport const TableCellBase = ({\n children,\n className,\n align = 'start',\n ellipsis = false,\n}: TableCellBaseProps): JSX.Element => {\n const classNames = [styles.base, styles.alignRecipe({ align }), className];\n\n if (ellipsis) {\n classNames.push(styles.ellipsis);\n }\n\n return <div className={cx(...classNames)}>{children}</div>;\n};\n"],"mappings":";;;;AAiBA,IAAa,KAAiB,EAC5B,aACA,cACA,WAAQ,SACR,UAAA,IAAW,SAC0B;CACrC,IAAM,IAAa;EAAC;EAAa,EAAmB,EAAE,UAAO,CAAC;EAAE;EAAU;AAM1E,QAJI,KACF,EAAW,KAAK,EAAgB,EAG3B,kBAAC,OAAD;EAAK,WAAW,EAAG,GAAG,EAAW;EAAG;EAAe,CAAA"}
@@ -1,10 +1,8 @@
1
- /* empty css */
2
- /* empty css */
3
- var e = "_1ifyzte0 txvbqbuw6 txvbqbl6f txvbqbt6f txvbqbk4x", v = "_1ifyzte1 txvbqbpsf", x = "_1ifyzte2 txvbqbu6f", i = "_1ifyzte3 txvbqbu6f txvbqbc4x";
4
- export {
5
- v as bodyViewport,
6
- i as sentinel,
7
- e as singleLineCell,
8
- x as spacer
9
- };
10
- //# sourceMappingURL=VirtualizedConnectionTable.css.js.map
1
+ /* empty css */
2
+ /* empty css */
3
+ //#region src/components/data-table/VirtualizedConnectionTable.css.ts
4
+ var e = "_1ifyzte0 txvbqbuw6 txvbqbl6f txvbqbt6f txvbqbk4x", t = "_1ifyzte1 txvbqbpsf", n = "_1ifyzte2 txvbqbu6f", r = "_1ifyzte3 txvbqbu6f txvbqbc4x";
5
+ //#endregion
6
+ export { t as bodyViewport, r as sentinel, e as singleLineCell, n as spacer };
7
+
8
+ //# sourceMappingURL=VirtualizedConnectionTable.css.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VirtualizedConnectionTable.css.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;"}
1
+ {"version":3,"file":"VirtualizedConnectionTable.css.js","names":[],"sources":["../../../../src/components/data-table/VirtualizedConnectionTable.css.ts"],"sourcesContent":["import { sprinkles } from '../../theme/sprinkles.css.js';\n\nexport const singleLineCell = sprinkles({\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minWidth: 0,\n});\n\nexport const bodyViewport = sprinkles({\n position: 'relative',\n});\n\nexport const spacer = sprinkles({\n width: 'full',\n});\n\nexport const sentinel = sprinkles({\n width: 'full',\n height: 1,\n});\n"],"mappings":""}