@galaxy-io/dls 1.2.6 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (297) hide show
  1. package/README.md +2 -0
  2. package/dist/avatar/Avatar.d.ts +2 -1
  3. package/dist/avatar/Avatar.js +103 -14
  4. package/dist/buttons/Button.d.ts +6 -1
  5. package/dist/buttons/Button.js +8 -4
  6. package/dist/charts/BarChart.d.ts +30 -20
  7. package/dist/charts/BarChart.js +216 -250
  8. package/dist/charts/ChartAxis.d.ts +47 -22
  9. package/dist/charts/ChartAxis.js +81 -60
  10. package/dist/charts/ChartEmptyState.d.ts +17 -0
  11. package/dist/charts/ChartEmptyState.js +29 -0
  12. package/dist/charts/ChartFrame.d.ts +82 -0
  13. package/dist/charts/ChartFrame.js +86 -0
  14. package/dist/charts/ChartLegend.d.ts +27 -4
  15. package/dist/charts/ChartLegend.js +46 -23
  16. package/dist/charts/ChartPrimitives.d.ts +195 -0
  17. package/dist/charts/ChartPrimitives.js +268 -0
  18. package/dist/charts/ChartTooltip.d.ts +27 -6
  19. package/dist/charts/ChartTooltip.js +56 -50
  20. package/dist/charts/LineChart.d.ts +42 -20
  21. package/dist/charts/LineChart.js +186 -237
  22. package/dist/charts/PieChart.d.ts +48 -32
  23. package/dist/charts/PieChart.js +159 -171
  24. package/dist/charts/barChartGeometry.d.ts +87 -0
  25. package/dist/charts/barChartGeometry.js +218 -0
  26. package/dist/charts/chartFormat.d.ts +19 -0
  27. package/dist/charts/chartFormat.js +59 -0
  28. package/dist/charts/chartScales.d.ts +84 -0
  29. package/dist/charts/chartScales.js +111 -0
  30. package/dist/charts/chartTheme.d.ts +18 -0
  31. package/dist/charts/chartTheme.js +26 -0
  32. package/dist/charts/constants.d.ts +225 -18
  33. package/dist/charts/constants.js +240 -32
  34. package/dist/charts/lineChartGeometry.d.ts +54 -0
  35. package/dist/charts/lineChartGeometry.js +143 -0
  36. package/dist/charts/pieChartGeometry.d.ts +48 -0
  37. package/dist/charts/pieChartGeometry.js +89 -0
  38. package/dist/charts/types.d.ts +522 -54
  39. package/dist/charts/types.js +136 -0
  40. package/dist/charts/useChartDimensions.d.ts +40 -0
  41. package/dist/charts/useChartDimensions.js +53 -0
  42. package/dist/charts/useChartFormatters.d.ts +19 -0
  43. package/dist/charts/useChartFormatters.js +20 -0
  44. package/dist/charts/useChartInteraction.d.ts +71 -0
  45. package/dist/charts/useChartInteraction.js +130 -0
  46. package/dist/charts/useChartTooltipPosition.d.ts +53 -0
  47. package/dist/charts/useChartTooltipPosition.js +39 -0
  48. package/dist/hooks/useElementClientSize.d.ts +20 -0
  49. package/dist/hooks/useElementClientSize.js +43 -0
  50. package/dist/inputs/CheckboxInput.d.ts +7 -2
  51. package/dist/inputs/CheckboxInput.js +30 -14
  52. package/dist/inputs/Input.d.ts +5 -2
  53. package/dist/inputs/Input.js +20 -17
  54. package/dist/inputs/MultiSelectInput.js +1 -1
  55. package/dist/inputs/RadioInput.js +7 -2
  56. package/dist/styles.css +68 -75
  57. package/dist/table/InfiniteSpreadsheet.d.ts +6 -0
  58. package/dist/table/InfiniteSpreadsheet.js +235 -0
  59. package/dist/table/InfiniteTable.d.ts +7 -88
  60. package/dist/table/InfiniteTable.js +366 -577
  61. package/dist/{spreadsheet → table}/SpreadsheetCell.d.ts +6 -4
  62. package/dist/table/SpreadsheetCell.js +71 -0
  63. package/dist/{spreadsheet → table}/SpreadsheetCellEditor.js +27 -21
  64. package/dist/table/SpreadsheetHeaderCell.d.ts +23 -0
  65. package/dist/table/SpreadsheetHeaderCell.js +91 -0
  66. package/dist/table/SpreadsheetMenuItem.d.ts +14 -0
  67. package/dist/table/SpreadsheetMenuItem.js +33 -0
  68. package/dist/table/SpreadsheetPrimitives.d.ts +172 -0
  69. package/dist/table/SpreadsheetPrimitives.js +105 -0
  70. package/dist/table/SpreadsheetRow.d.ts +33 -0
  71. package/dist/table/SpreadsheetRow.js +73 -0
  72. package/dist/{spreadsheet → table}/SpreadsheetRowActionCell.d.ts +5 -7
  73. package/dist/table/SpreadsheetRowActionCell.js +51 -0
  74. package/dist/table/TableExpandCell.d.ts +11 -0
  75. package/dist/table/TableExpandCell.js +24 -0
  76. package/dist/table/TableExpandedRow.d.ts +16 -0
  77. package/dist/table/TableExpandedRow.js +77 -0
  78. package/dist/table/TableHeaderCellContent.d.ts +30 -0
  79. package/dist/table/TableHeaderCellContent.js +48 -0
  80. package/dist/table/TablePrimitives.d.ts +307 -0
  81. package/dist/table/TablePrimitives.js +298 -0
  82. package/dist/table/TableSelectCell.d.ts +18 -0
  83. package/dist/table/TableSelectCell.js +26 -0
  84. package/dist/table/TableStatusRow.d.ts +18 -0
  85. package/dist/table/TableStatusRow.js +50 -0
  86. package/dist/table/VirtualizedInfiniteTable.d.ts +11 -27
  87. package/dist/table/VirtualizedInfiniteTable.js +182 -317
  88. package/dist/table/types.d.ts +249 -0
  89. package/dist/table/types.js +51 -0
  90. package/dist/table/useInfiniteScrollSentinel.d.ts +24 -0
  91. package/dist/table/useInfiniteScrollSentinel.js +53 -0
  92. package/dist/{spreadsheet/hooks → table}/useSpreadsheetEditing.d.ts +1 -1
  93. package/dist/{spreadsheet/hooks → table}/useSpreadsheetEditing.js +1 -1
  94. package/dist/table/useTableColumnLayout.d.ts +28 -0
  95. package/dist/table/useTableColumnLayout.js +63 -0
  96. package/dist/table/useTableColumnResize.d.ts +38 -0
  97. package/dist/table/useTableColumnResize.js +155 -0
  98. package/dist/table/useTableKeyboardNavigation.d.ts +25 -0
  99. package/dist/table/useTableKeyboardNavigation.js +83 -0
  100. package/dist/table/useTableRowExpansion.d.ts +24 -0
  101. package/dist/table/useTableRowExpansion.js +62 -0
  102. package/dist/table/useTableRowSelection.d.ts +27 -0
  103. package/dist/table/useTableRowSelection.js +94 -0
  104. package/dist/table/utils.d.ts +50 -0
  105. package/dist/table/utils.js +78 -0
  106. package/dist/text/MarkdownText.js +45 -27
  107. package/dist/theme/variants/dark.js +1 -1
  108. package/dist/widget/Widget.d.ts +2 -0
  109. package/dist/widget/Widget.js +14 -7
  110. package/package.json +1 -5
  111. package/dist/assets/components/enrichment/PerplexityIcon.d.ts +0 -3
  112. package/dist/assets/components/enrichment/PerplexityIcon.js +0 -35
  113. package/dist/assets/components/enrichment/TavilyIcon.d.ts +0 -3
  114. package/dist/assets/components/enrichment/TavilyIcon.js +0 -15
  115. package/dist/assets/components/onboarding/TenantSetupDark.d.ts +0 -3
  116. package/dist/assets/components/onboarding/TenantSetupDark.js +0 -498
  117. package/dist/assets/components/onboarding/TenantSetupLight.d.ts +0 -3
  118. package/dist/assets/components/onboarding/TenantSetupLight.js +0 -482
  119. package/dist/assets/components/onboarding/UserSetupDark.d.ts +0 -3
  120. package/dist/assets/components/onboarding/UserSetupDark.js +0 -1086
  121. package/dist/assets/components/onboarding/UserSetupLight.d.ts +0 -3
  122. package/dist/assets/components/onboarding/UserSetupLight.js +0 -1024
  123. package/dist/assets/components/onboarding/WorkspaceSetupBuildDark.d.ts +0 -3
  124. package/dist/assets/components/onboarding/WorkspaceSetupBuildDark.js +0 -466
  125. package/dist/assets/components/onboarding/WorkspaceSetupBuildLight.d.ts +0 -3
  126. package/dist/assets/components/onboarding/WorkspaceSetupBuildLight.js +0 -460
  127. package/dist/assets/components/onboarding/WorkspaceSetupConnectDark.d.ts +0 -3
  128. package/dist/assets/components/onboarding/WorkspaceSetupConnectDark.js +0 -336
  129. package/dist/assets/components/onboarding/WorkspaceSetupConnectLight.d.ts +0 -3
  130. package/dist/assets/components/onboarding/WorkspaceSetupConnectLight.js +0 -336
  131. package/dist/assets/components/onboarding/WorkspaceSetupIntegrateDark.d.ts +0 -3
  132. package/dist/assets/components/onboarding/WorkspaceSetupIntegrateDark.js +0 -153
  133. package/dist/assets/components/onboarding/WorkspaceSetupIntegrateLight.d.ts +0 -3
  134. package/dist/assets/components/onboarding/WorkspaceSetupIntegrateLight.js +0 -153
  135. package/dist/assets/components/projects/MappingMethodAutoIntrospectDark.d.ts +0 -3
  136. package/dist/assets/components/projects/MappingMethodAutoIntrospectDark.js +0 -117
  137. package/dist/assets/components/projects/MappingMethodAutoIntrospectLight.d.ts +0 -3
  138. package/dist/assets/components/projects/MappingMethodAutoIntrospectLight.js +0 -117
  139. package/dist/assets/components/projects/MappingMethodBlankDark.d.ts +0 -3
  140. package/dist/assets/components/projects/MappingMethodBlankDark.js +0 -150
  141. package/dist/assets/components/projects/MappingMethodBlankDarkHovered.d.ts +0 -3
  142. package/dist/assets/components/projects/MappingMethodBlankDarkHovered.js +0 -150
  143. package/dist/assets/components/projects/MappingMethodBlankLight.d.ts +0 -3
  144. package/dist/assets/components/projects/MappingMethodBlankLight.js +0 -150
  145. package/dist/assets/components/projects/MappingMethodBlankLightHovered.d.ts +0 -3
  146. package/dist/assets/components/projects/MappingMethodBlankLightHovered.js +0 -150
  147. package/dist/assets/components/projects/MappingMethodJsonDark.d.ts +0 -3
  148. package/dist/assets/components/projects/MappingMethodJsonDark.js +0 -90
  149. package/dist/assets/components/projects/MappingMethodJsonDarkHovered.d.ts +0 -3
  150. package/dist/assets/components/projects/MappingMethodJsonDarkHovered.js +0 -90
  151. package/dist/assets/components/projects/MappingMethodJsonLight.d.ts +0 -3
  152. package/dist/assets/components/projects/MappingMethodJsonLight.js +0 -90
  153. package/dist/assets/components/projects/MappingMethodJsonLightHovered.d.ts +0 -3
  154. package/dist/assets/components/projects/MappingMethodJsonLightHovered.js +0 -90
  155. package/dist/assets/components/projects/ProjectsEmptyStateDark.d.ts +0 -3
  156. package/dist/assets/components/projects/ProjectsEmptyStateDark.js +0 -454
  157. package/dist/assets/components/projects/ProjectsEmptyStateLight.d.ts +0 -3
  158. package/dist/assets/components/projects/ProjectsEmptyStateLight.js +0 -456
  159. package/dist/assets/components/root/CreateProjectActionCardDark.d.ts +0 -3
  160. package/dist/assets/components/root/CreateProjectActionCardDark.js +0 -1796
  161. package/dist/assets/components/root/CreateProjectActionCardDarkHovered.d.ts +0 -3
  162. package/dist/assets/components/root/CreateProjectActionCardDarkHovered.js +0 -1796
  163. package/dist/assets/components/root/CreateProjectActionCardLight.d.ts +0 -3
  164. package/dist/assets/components/root/CreateProjectActionCardLight.js +0 -1786
  165. package/dist/assets/components/root/CreateProjectActionCardLightHovered.d.ts +0 -3
  166. package/dist/assets/components/root/CreateProjectActionCardLightHovered.js +0 -1786
  167. package/dist/assets/components/root/CreateSourceActionCardDark.d.ts +0 -3
  168. package/dist/assets/components/root/CreateSourceActionCardDark.js +0 -879
  169. package/dist/assets/components/root/CreateSourceActionCardDarkHovered.d.ts +0 -3
  170. package/dist/assets/components/root/CreateSourceActionCardDarkHovered.js +0 -879
  171. package/dist/assets/components/root/CreateSourceActionCardLight.d.ts +0 -3
  172. package/dist/assets/components/root/CreateSourceActionCardLight.js +0 -889
  173. package/dist/assets/components/root/CreateSourceActionCardLightHovered.d.ts +0 -3
  174. package/dist/assets/components/root/CreateSourceActionCardLightHovered.js +0 -889
  175. package/dist/assets/components/sources/AttioIcon.d.ts +0 -3
  176. package/dist/assets/components/sources/AttioIcon.js +0 -11
  177. package/dist/assets/components/sources/BigquerySourceIcon.d.ts +0 -3
  178. package/dist/assets/components/sources/BigquerySourceIcon.js +0 -39
  179. package/dist/assets/components/sources/BrowserbaseSourceIcon.d.ts +0 -3
  180. package/dist/assets/components/sources/BrowserbaseSourceIcon.js +0 -35
  181. package/dist/assets/components/sources/ClickhouseLogoSourceIconDark.d.ts +0 -3
  182. package/dist/assets/components/sources/ClickhouseLogoSourceIconDark.js +0 -13
  183. package/dist/assets/components/sources/ClickhouseLogoSourceIconLight.d.ts +0 -3
  184. package/dist/assets/components/sources/ClickhouseLogoSourceIconLight.js +0 -13
  185. package/dist/assets/components/sources/ConfluenceSourceIcon.d.ts +0 -3
  186. package/dist/assets/components/sources/ConfluenceSourceIcon.js +0 -30
  187. package/dist/assets/components/sources/GithubSourceIcon.d.ts +0 -3
  188. package/dist/assets/components/sources/GithubSourceIcon.js +0 -27
  189. package/dist/assets/components/sources/GoogleDriveIcon.d.ts +0 -3
  190. package/dist/assets/components/sources/GoogleDriveIcon.js +0 -45
  191. package/dist/assets/components/sources/HubspotSourceIcon.d.ts +0 -3
  192. package/dist/assets/components/sources/HubspotSourceIcon.js +0 -14
  193. package/dist/assets/components/sources/JiraSourceIcon.d.ts +0 -3
  194. package/dist/assets/components/sources/JiraSourceIcon.js +0 -54
  195. package/dist/assets/components/sources/LinearSourceIcon.d.ts +0 -3
  196. package/dist/assets/components/sources/LinearSourceIcon.js +0 -14
  197. package/dist/assets/components/sources/MysqlLogoSourceIconDark.d.ts +0 -3
  198. package/dist/assets/components/sources/MysqlLogoSourceIconDark.js +0 -17
  199. package/dist/assets/components/sources/NetsuiteSourceIcon.d.ts +0 -3
  200. package/dist/assets/components/sources/NetsuiteSourceIcon.js +0 -32
  201. package/dist/assets/components/sources/NotionIcon.d.ts +0 -3
  202. package/dist/assets/components/sources/NotionIcon.js +0 -20
  203. package/dist/assets/components/sources/PostgresqlIcon.d.ts +0 -3
  204. package/dist/assets/components/sources/PostgresqlIcon.js +0 -61
  205. package/dist/assets/components/sources/S3Icon.d.ts +0 -3
  206. package/dist/assets/components/sources/S3Icon.js +0 -76
  207. package/dist/assets/components/sources/SalesforceSourceIcon.d.ts +0 -3
  208. package/dist/assets/components/sources/SalesforceSourceIcon.js +0 -23
  209. package/dist/assets/components/sources/SlackIcon.d.ts +0 -3
  210. package/dist/assets/components/sources/SlackIcon.js +0 -32
  211. package/dist/assets/components/sources/SnowflakeLogoSourceIconDark.d.ts +0 -3
  212. package/dist/assets/components/sources/SnowflakeLogoSourceIconDark.js +0 -14
  213. package/dist/assets/components/sources/SnowflakeLogoSourceIconLight.d.ts +0 -3
  214. package/dist/assets/components/sources/SnowflakeLogoSourceIconLight.js +0 -14
  215. package/dist/assets/components/sources/WikipediaSourceIcon.d.ts +0 -3
  216. package/dist/assets/components/sources/WikipediaSourceIcon.js +0 -1490
  217. package/dist/avatar/AvatarEmpty.d.ts +0 -7
  218. package/dist/avatar/AvatarEmpty.js +0 -99
  219. package/dist/avatar/types.d.ts +0 -5
  220. package/dist/avatar/types.js +0 -9
  221. package/dist/charts/utils.d.ts +0 -29
  222. package/dist/charts/utils.js +0 -62
  223. package/dist/icons/BackIcon.d.ts +0 -3
  224. package/dist/icons/BackIcon.js +0 -13
  225. package/dist/icons/CloseIcon.d.ts +0 -3
  226. package/dist/icons/CloseIcon.js +0 -13
  227. package/dist/icons/CreateIcon.d.ts +0 -3
  228. package/dist/icons/CreateIcon.js +0 -13
  229. package/dist/icons/ForwardIcon.d.ts +0 -3
  230. package/dist/icons/ForwardIcon.js +0 -13
  231. package/dist/icons/HelpIcon.d.ts +0 -3
  232. package/dist/icons/HelpIcon.js +0 -14
  233. package/dist/icons/ProjectsIcon.d.ts +0 -3
  234. package/dist/icons/ProjectsIcon.js +0 -12
  235. package/dist/icons/SearchIcon.d.ts +0 -3
  236. package/dist/icons/SearchIcon.js +0 -12
  237. package/dist/icons/SourcesIcon.d.ts +0 -3
  238. package/dist/icons/SourcesIcon.js +0 -12
  239. package/dist/icons/TextIcon.d.ts +0 -4
  240. package/dist/icons/TextIcon.js +0 -22
  241. package/dist/icons/WebScrapeIcon.d.ts +0 -4
  242. package/dist/icons/WebScrapeIcon.js +0 -22
  243. package/dist/icons/WebhookIcon.d.ts +0 -4
  244. package/dist/icons/WebhookIcon.js +0 -22
  245. package/dist/icons/sources/AttioLogomark.d.ts +0 -4
  246. package/dist/icons/sources/AttioLogomark.js +0 -8
  247. package/dist/icons/sources/BrowserbaseLogomark.d.ts +0 -4
  248. package/dist/icons/sources/BrowserbaseLogomark.js +0 -8
  249. package/dist/icons/sources/ClickhouseLogomark.d.ts +0 -4
  250. package/dist/icons/sources/ClickhouseLogomark.js +0 -16
  251. package/dist/icons/sources/ConfluenceLogomark.d.ts +0 -4
  252. package/dist/icons/sources/ConfluenceLogomark.js +0 -8
  253. package/dist/icons/sources/GithubLogomark.d.ts +0 -4
  254. package/dist/icons/sources/GithubLogomark.js +0 -8
  255. package/dist/icons/sources/GoogleBigqueryLogomark.d.ts +0 -4
  256. package/dist/icons/sources/GoogleBigqueryLogomark.js +0 -8
  257. package/dist/icons/sources/GoogleDriveLogomark.d.ts +0 -4
  258. package/dist/icons/sources/GoogleDriveLogomark.js +0 -8
  259. package/dist/icons/sources/HubspotLogomark.d.ts +0 -4
  260. package/dist/icons/sources/HubspotLogomark.js +0 -8
  261. package/dist/icons/sources/JiraLogomark.d.ts +0 -4
  262. package/dist/icons/sources/JiraLogomark.js +0 -8
  263. package/dist/icons/sources/LinearLogomark.d.ts +0 -4
  264. package/dist/icons/sources/LinearLogomark.js +0 -8
  265. package/dist/icons/sources/MySQLLogomark.d.ts +0 -4
  266. package/dist/icons/sources/MySQLLogomark.js +0 -8
  267. package/dist/icons/sources/NetsuiteLogomark.d.ts +0 -4
  268. package/dist/icons/sources/NetsuiteLogomark.js +0 -8
  269. package/dist/icons/sources/NotionLogomark.d.ts +0 -4
  270. package/dist/icons/sources/NotionLogomark.js +0 -8
  271. package/dist/icons/sources/PostgresLogomark.d.ts +0 -4
  272. package/dist/icons/sources/PostgresLogomark.js +0 -8
  273. package/dist/icons/sources/S3Logomark.d.ts +0 -4
  274. package/dist/icons/sources/S3Logomark.js +0 -8
  275. package/dist/icons/sources/SalesforceLogomark.d.ts +0 -4
  276. package/dist/icons/sources/SalesforceLogomark.js +0 -8
  277. package/dist/icons/sources/SlackLogoIconmark.d.ts +0 -4
  278. package/dist/icons/sources/SlackLogoIconmark.js +0 -8
  279. package/dist/icons/sources/SnowflakeLogomark.d.ts +0 -4
  280. package/dist/icons/sources/SnowflakeLogomark.js +0 -16
  281. package/dist/icons/sources/WikipediaLogomark.d.ts +0 -4
  282. package/dist/icons/sources/WikipediaLogomark.js +0 -8
  283. package/dist/spreadsheet/InfiniteSpreadsheet.d.ts +0 -3
  284. package/dist/spreadsheet/InfiniteSpreadsheet.js +0 -265
  285. package/dist/spreadsheet/SpreadsheetAddColumnButton.d.ts +0 -6
  286. package/dist/spreadsheet/SpreadsheetAddColumnButton.js +0 -32
  287. package/dist/spreadsheet/SpreadsheetCell.js +0 -115
  288. package/dist/spreadsheet/SpreadsheetHeaderCell.d.ts +0 -18
  289. package/dist/spreadsheet/SpreadsheetHeaderCell.js +0 -141
  290. package/dist/spreadsheet/SpreadsheetRow.d.ts +0 -21
  291. package/dist/spreadsheet/SpreadsheetRow.js +0 -68
  292. package/dist/spreadsheet/SpreadsheetRowActionCell.js +0 -78
  293. package/dist/spreadsheet/hooks/useColumnResize.d.ts +0 -6
  294. package/dist/spreadsheet/hooks/useColumnResize.js +0 -46
  295. package/dist/spreadsheet/types.d.ts +0 -92
  296. package/dist/spreadsheet/types.js +0 -21
  297. /package/dist/{spreadsheet → table}/SpreadsheetCellEditor.d.ts +0 -0
@@ -0,0 +1,298 @@
1
+ import { withTheme } from "../theme/GalaxyTheme.js";
2
+ import { getCssSizeValue } from "../utils/linaria.js";
3
+ import { ColumnAlign, ColumnPin } from "./types.js";
4
+ import { getDensityCellPadding, getDensityRowHeight, getVariantBackgroundColor, getVariantHoverBackgroundColor, getVariantSelectedBackgroundColor } from "./utils.js";
5
+ /* empty css */
6
+ import { styled } from "@linaria/react";
7
+ import { match } from "ts-pattern";
8
+ //#region src/table/TablePrimitives.tsx
9
+ /**
10
+ * Shared styled leaves for InfiniteTable and VirtualizedInfiniteTable.
11
+ *
12
+ * Every export here is non-generic on purpose: `withTheme` erases type
13
+ * parameters, so generic row/cell renderers compose these rather than being
14
+ * wrapped themselves.
15
+ *
16
+ * The table elements are laid out with flex, which strips their implicit ARIA
17
+ * roles — callers must pass explicit `role` attributes.
18
+ */
19
+ var _exp = () => ({ $width, $fillWidth }) => {
20
+ if ($fillWidth) return "100%";
21
+ if ($width) return getCssSizeValue($width);
22
+ return "auto";
23
+ };
24
+ var _exp2 = () => ({ $height, $fillHeight }) => {
25
+ if ($fillHeight) return "100%";
26
+ if ($height) return getCssSizeValue($height);
27
+ return "auto";
28
+ };
29
+ var TableOuterContainer = withTheme(/*#__PURE__*/ styled("div")({
30
+ name: "TableOuterContainer",
31
+ class: "tldpbjd",
32
+ propsAsIs: false,
33
+ vars: {
34
+ "tldpbjd-0": [_exp()],
35
+ "tldpbjd-1": [_exp2()]
36
+ }
37
+ }));
38
+ /**
39
+ * Deliberately not wrapped in `withTheme` — it receives a ref, and the
40
+ * `withTheme` HOC does not forward one.
41
+ */
42
+ var _exp3 = () => ({ $noLastRowPadding }) => $noLastRowPadding ? "0" : "8px";
43
+ var TableScrollContainer = /*#__PURE__*/ styled("div")({
44
+ name: "TableScrollContainer",
45
+ class: "t1ltwowk",
46
+ propsAsIs: false,
47
+ vars: { "t1ltwowk-0": [_exp3()] }
48
+ });
49
+ /**
50
+ * `min-width` is the sum of the resolved column widths, so a table whose fixed
51
+ * columns overflow scrolls horizontally instead of squashing — while a table of
52
+ * flexible columns still fills its container.
53
+ */
54
+ var _exp4 = () => ({ $rowMinWidth }) => `${$rowMinWidth}px`;
55
+ var StyledTable = /*#__PURE__*/ styled("table")({
56
+ name: "StyledTable",
57
+ class: "sfoers7",
58
+ propsAsIs: false,
59
+ vars: { "sfoers7-0": [_exp4()] }
60
+ });
61
+ var TableHead = /*#__PURE__*/ styled("thead")({
62
+ name: "TableHead",
63
+ class: "tmoy46",
64
+ propsAsIs: false
65
+ });
66
+ var _exp5 = () => ({ $virtualHeight }) => $virtualHeight !== void 0 ? `${$virtualHeight}px` : "auto";
67
+ var TableBody = /*#__PURE__*/ styled("tbody")({
68
+ name: "TableBody",
69
+ class: "tyata5l",
70
+ propsAsIs: false,
71
+ vars: { "tyata5l-0": [_exp5()] }
72
+ });
73
+ var TableHeaderRow = /*#__PURE__*/ styled("tr")({
74
+ name: "TableHeaderRow",
75
+ class: "tr9kpwl",
76
+ propsAsIs: false
77
+ });
78
+ var _exp6 = () => ({ $isClickable }) => $isClickable ? "pointer" : "default";
79
+ var _exp7 = () => ({ $density, $rowHeight }) => $rowHeight !== void 0 ? `${$rowHeight}px` : getDensityRowHeight($density);
80
+ var _exp8 = () => ({ $translateY }) => $translateY !== void 0 ? "absolute" : "static";
81
+ var _exp9 = () => ({ $translateY }) => $translateY !== void 0 ? `translateY(${$translateY}px)` : "none";
82
+ var _exp0 = () => ({ theme }) => theme.color.border.selected;
83
+ var _exp1 = () => ({ $isSelected, $variant, theme }) => $isSelected ? getVariantSelectedBackgroundColor(theme, $variant) : getVariantBackgroundColor(theme, $variant);
84
+ var _exp10 = () => ({ $isExpanded, $isLastRow, theme }) => {
85
+ if ($isExpanded || $isLastRow) return "none";
86
+ return `0.5px solid ${theme.color.border.primary}`;
87
+ };
88
+ var _exp11 = () => ({ $isClickable, $isSelected, $variant, theme }) => {
89
+ if ($isSelected) return getVariantSelectedBackgroundColor(theme, $variant);
90
+ if ($isClickable) return getVariantHoverBackgroundColor(theme, $variant);
91
+ return getVariantBackgroundColor(theme, $variant);
92
+ };
93
+ var TableRow = withTheme(/*#__PURE__*/ styled("tr")({
94
+ name: "TableRow",
95
+ class: "t1ae7muk",
96
+ propsAsIs: false,
97
+ vars: {
98
+ "t1ae7muk-0": [_exp6()],
99
+ "t1ae7muk-1": [_exp7()],
100
+ "t1ae7muk-2": [_exp8()],
101
+ "t1ae7muk-3": [_exp9()],
102
+ "t1ae7muk-4": [_exp0()],
103
+ "t1ae7muk-5": [_exp1()],
104
+ "t1ae7muk-6": [_exp10()],
105
+ "t1ae7muk-7": [_exp11()]
106
+ }
107
+ }));
108
+ var _exp12 = () => ({ $density }) => getDensityRowHeight($density);
109
+ var _exp13 = () => ({ theme }) => theme.color.border.primary;
110
+ var _exp14 = () => ({ $variant, theme }) => getVariantBackgroundColor(theme, $variant);
111
+ var TableLoadingRow = withTheme(/*#__PURE__*/ styled("tr")({
112
+ name: "TableLoadingRow",
113
+ class: "t5udbsy",
114
+ propsAsIs: false,
115
+ vars: {
116
+ "t5udbsy-0": [_exp12()],
117
+ "t5udbsy-1": [_exp13()],
118
+ "t5udbsy-2": [_exp14()]
119
+ }
120
+ }));
121
+ var _exp15 = () => ({ $density, $isCompact }) => $isCompact ? "4px 6px" : getDensityCellPadding($density);
122
+ var _exp16 = () => ({ $width }) => {
123
+ if ($width) return `0 0 ${$width}px`;
124
+ return "1 1 0";
125
+ };
126
+ var _exp17 = () => ({ $minWidth }) => {
127
+ if ($minWidth) return `${$minWidth}px`;
128
+ return "0";
129
+ };
130
+ var _exp18 = () => ({ $maxWidth }) => {
131
+ if ($maxWidth) return `${$maxWidth}px`;
132
+ return "none";
133
+ };
134
+ var _exp19 = () => ({ $align }) => match($align).with(ColumnAlign.LEFT, () => "left").with(ColumnAlign.CENTER, () => "center").with(ColumnAlign.RIGHT, () => "right").with(void 0, () => "left").exhaustive();
135
+ var _exp20 = () => ({ theme }) => theme.color.border.primary;
136
+ var _exp21 = () => ({ $variant, theme }) => getVariantBackgroundColor(theme, $variant);
137
+ var _exp22 = () => ({ $align }) => match($align).with(ColumnAlign.LEFT, () => "flex-start").with(ColumnAlign.CENTER, () => "center").with(ColumnAlign.RIGHT, () => "flex-end").with(void 0, () => "flex-start").exhaustive();
138
+ var _exp23 = () => ({ $isSortable }) => {
139
+ if ($isSortable) return "pointer";
140
+ return "default";
141
+ };
142
+ var _exp24 = () => ({ theme }) => theme.color.border.selected;
143
+ var _exp25 = () => ({ $pin }) => {
144
+ if ($pin) return 25;
145
+ return 20;
146
+ };
147
+ var _exp26 = () => ({ $pin, $pinnedOffset }) => {
148
+ if ($pin === ColumnPin.LEFT && $pinnedOffset !== void 0) return `${$pinnedOffset}px`;
149
+ return "auto";
150
+ };
151
+ var _exp27 = () => ({ $pin, $pinnedOffset }) => {
152
+ if ($pin === ColumnPin.RIGHT && $pinnedOffset !== void 0) return `${$pinnedOffset}px`;
153
+ return "auto";
154
+ };
155
+ var _exp28 = () => ({ $pin, theme }) => {
156
+ if ($pin === ColumnPin.LEFT) return `0.5px solid ${theme.color.border.primary}`;
157
+ return "none";
158
+ };
159
+ var _exp29 = () => ({ $pin, theme }) => {
160
+ if ($pin === ColumnPin.RIGHT) return `0.5px solid ${theme.color.border.primary}`;
161
+ return "none";
162
+ };
163
+ var TableHeaderCell = withTheme(/*#__PURE__*/ styled("th")({
164
+ name: "TableHeaderCell",
165
+ class: "t9zg7bh",
166
+ propsAsIs: false,
167
+ vars: {
168
+ "t9zg7bh-0": [_exp15()],
169
+ "t9zg7bh-1": [_exp16()],
170
+ "t9zg7bh-2": [_exp17()],
171
+ "t9zg7bh-3": [_exp18()],
172
+ "t9zg7bh-4": [_exp19()],
173
+ "t9zg7bh-5": [_exp20()],
174
+ "t9zg7bh-6": [_exp21()],
175
+ "t9zg7bh-7": [_exp22()],
176
+ "t9zg7bh-8": [_exp23()],
177
+ "t9zg7bh-9": [_exp24()],
178
+ "t9zg7bh-10": [_exp25()],
179
+ "t9zg7bh-11": [_exp26()],
180
+ "t9zg7bh-12": [_exp27()],
181
+ "t9zg7bh-13": [_exp28()],
182
+ "t9zg7bh-14": [_exp29()]
183
+ }
184
+ }));
185
+ var _exp30 = () => ({ $density, $isCompact }) => $isCompact ? "4px 6px" : getDensityCellPadding($density);
186
+ var _exp31 = () => ({ theme }) => theme.color.text.primary;
187
+ var _exp32 = () => ({ $width }) => {
188
+ if ($width) return `0 0 ${$width}px`;
189
+ return "1 1 0";
190
+ };
191
+ var _exp33 = () => ({ $minWidth }) => {
192
+ if ($minWidth) return `${$minWidth}px`;
193
+ return "0";
194
+ };
195
+ var _exp34 = () => ({ $maxWidth }) => {
196
+ if ($maxWidth) return `${$maxWidth}px`;
197
+ return "none";
198
+ };
199
+ var _exp35 = () => ({ $align }) => match($align).with(ColumnAlign.LEFT, () => "left").with(ColumnAlign.CENTER, () => "center").with(ColumnAlign.RIGHT, () => "right").with(void 0, () => "left").exhaustive();
200
+ var _exp36 = () => ({ $align }) => match($align).with(ColumnAlign.LEFT, () => "flex-start").with(ColumnAlign.CENTER, () => "center").with(ColumnAlign.RIGHT, () => "flex-end").with(void 0, () => "flex-start").exhaustive();
201
+ var _exp37 = () => ({ $pin, $variant, theme }) => {
202
+ if ($pin) return getVariantBackgroundColor(theme, $variant);
203
+ return "transparent";
204
+ };
205
+ var _exp38 = () => ({ $isEditable }) => $isEditable ? "text" : "inherit";
206
+ var _exp39 = () => ({ $variant, theme }) => getVariantHoverBackgroundColor(theme, $variant);
207
+ var _exp40 = () => ({ $pin, $isPositioned }) => {
208
+ if ($pin) return "sticky";
209
+ if ($isPositioned) return "relative";
210
+ return "static";
211
+ };
212
+ var _exp41 = () => ({ $pin }) => {
213
+ if ($pin) return 5;
214
+ return "auto";
215
+ };
216
+ var _exp42 = () => ({ $pin, $pinnedOffset }) => {
217
+ if ($pin === ColumnPin.LEFT && $pinnedOffset !== void 0) return `${$pinnedOffset}px`;
218
+ return "auto";
219
+ };
220
+ var _exp43 = () => ({ $pin, $pinnedOffset }) => {
221
+ if ($pin === ColumnPin.RIGHT && $pinnedOffset !== void 0) return `${$pinnedOffset}px`;
222
+ return "auto";
223
+ };
224
+ var _exp44 = () => ({ $pin, theme }) => {
225
+ if ($pin === ColumnPin.LEFT) return `0.5px solid ${theme.color.border.primary}`;
226
+ return "none";
227
+ };
228
+ var _exp45 = () => ({ $pin, theme }) => {
229
+ if ($pin === ColumnPin.RIGHT) return `0.5px solid ${theme.color.border.primary}`;
230
+ return "none";
231
+ };
232
+ var TableDataCell = withTheme(/*#__PURE__*/ styled("td")({
233
+ name: "TableDataCell",
234
+ class: "txnbn9h",
235
+ propsAsIs: false,
236
+ vars: {
237
+ "txnbn9h-0": [_exp30()],
238
+ "txnbn9h-1": [_exp31()],
239
+ "txnbn9h-2": [_exp32()],
240
+ "txnbn9h-3": [_exp33()],
241
+ "txnbn9h-4": [_exp34()],
242
+ "txnbn9h-5": [_exp35()],
243
+ "txnbn9h-6": [_exp36()],
244
+ "txnbn9h-7": [_exp37()],
245
+ "txnbn9h-8": [_exp38()],
246
+ "txnbn9h-9": [_exp39()],
247
+ "txnbn9h-10": [_exp40()],
248
+ "txnbn9h-11": [_exp41()],
249
+ "txnbn9h-12": [_exp42()],
250
+ "txnbn9h-13": [_exp43()],
251
+ "txnbn9h-14": [_exp44()],
252
+ "txnbn9h-15": [_exp45()]
253
+ }
254
+ }));
255
+ var _exp46 = () => ({ $grow }) => $grow ? "1 1 auto" : "0 1 auto";
256
+ var HeaderContentWrapper = /*#__PURE__*/ styled("div")({
257
+ name: "HeaderContentWrapper",
258
+ class: "hsbbcc2",
259
+ propsAsIs: false,
260
+ vars: { "hsbbcc2-0": [_exp46()] }
261
+ });
262
+ /** Holds a trailing affordance — a menu trigger, say — at the cell's far edge. */
263
+ var HeaderTrailingWrapper = /*#__PURE__*/ styled("div")({
264
+ name: "HeaderTrailingWrapper",
265
+ class: "h10hzgu6",
266
+ propsAsIs: false
267
+ });
268
+ var SortIconWrapper = /*#__PURE__*/ styled("div")({
269
+ name: "SortIconWrapper",
270
+ class: "s9ehtv6",
271
+ propsAsIs: false
272
+ });
273
+ /**
274
+ * Grab area pinned to the trailing edge of a resizable header cell.
275
+ *
276
+ * The area is wide enough to grab comfortably, but the indicator sits flush
277
+ * against the trailing edge — centring it inside the grab area would leave it
278
+ * floating a few pixels short of the column border it represents.
279
+ */
280
+ var _exp47 = () => ({ $isResizing, theme }) => $isResizing ? theme.color.border.selected : "transparent";
281
+ var _exp49 = () => ({ theme }) => theme.color.border.selected;
282
+ var ColumnResizeHandle = withTheme(/*#__PURE__*/ styled("div")({
283
+ name: "ColumnResizeHandle",
284
+ class: "c17fany5",
285
+ propsAsIs: false,
286
+ vars: {
287
+ "c17fany5-0": [_exp47()],
288
+ "c17fany5-1": [_exp49()]
289
+ }
290
+ }));
291
+ /** Sentinel that drives infinite scroll; carries no visual weight. */
292
+ var InfiniteScrollSentinel = /*#__PURE__*/ styled("div")({
293
+ name: "InfiniteScrollSentinel",
294
+ class: "i4yku28",
295
+ propsAsIs: false
296
+ });
297
+ //#endregion
298
+ export { ColumnResizeHandle, HeaderContentWrapper, HeaderTrailingWrapper, InfiniteScrollSentinel, SortIconWrapper, StyledTable, TableBody, TableDataCell, TableHead, TableHeaderCell, TableHeaderRow, TableLoadingRow, TableOuterContainer, TableRow, TableScrollContainer };
@@ -0,0 +1,18 @@
1
+ import { TableDensity } from "./types";
2
+ interface TableSelectCellProps {
3
+ isChecked: boolean;
4
+ isIndeterminate?: boolean;
5
+ isDisabled?: boolean;
6
+ density: TableDensity;
7
+ ariaLabel: string;
8
+ /** `isShiftKey` drives range selection when the row supports it. */
9
+ onChange: (isChecked: boolean, isShiftKey: boolean) => void;
10
+ }
11
+ /**
12
+ * Checkbox used by both the select-all header cell and each body row.
13
+ *
14
+ * Clicks are kept from bubbling so selecting a row never also fires
15
+ * `onRowClick`.
16
+ */
17
+ declare const TableSelectCell: ({ isChecked, isIndeterminate, isDisabled, density, ariaLabel, onChange, }: TableSelectCellProps) => import("react").JSX.Element;
18
+ export default TableSelectCell;
@@ -0,0 +1,26 @@
1
+ import { TableDensity } from "./types.js";
2
+ import CheckboxInput, { CheckboxInputSize } from "../inputs/CheckboxInput.js";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/table/TableSelectCell.tsx
5
+ var DENSITY_TO_CHECKBOX_SIZE_MAP = {
6
+ [TableDensity.SMALL]: CheckboxInputSize.SMALL,
7
+ [TableDensity.MEDIUM]: CheckboxInputSize.MEDIUM,
8
+ [TableDensity.LARGE]: CheckboxInputSize.MEDIUM
9
+ };
10
+ /**
11
+ * Checkbox used by both the select-all header cell and each body row.
12
+ *
13
+ * Clicks are kept from bubbling so selecting a row never also fires
14
+ * `onRowClick`.
15
+ */
16
+ var TableSelectCell = ({ isChecked, isIndeterminate, isDisabled, density, ariaLabel, onChange }) => /* @__PURE__ */ jsx(CheckboxInput, {
17
+ isChecked,
18
+ isIndeterminate,
19
+ isDisabled,
20
+ size: DENSITY_TO_CHECKBOX_SIZE_MAP[density],
21
+ ariaLabel,
22
+ stopClickPropagation: true,
23
+ onChange: (isChecked, event) => onChange(isChecked, event?.shiftKey ?? false)
24
+ });
25
+ //#endregion
26
+ export { TableSelectCell as default };
@@ -0,0 +1,18 @@
1
+ import type { ReactNode } from "react";
2
+ interface TableStatusRowProps {
3
+ colSpan: number;
4
+ /** Scroll container's client width. */
5
+ viewportWidth?: number;
6
+ /** Space left below the header, so the message centres in what's visible. */
7
+ availableHeight?: number;
8
+ role: "status" | "alert";
9
+ children: ReactNode;
10
+ }
11
+ /**
12
+ * In-flow row for the empty and error states.
13
+ *
14
+ * Rendering inside `<tbody>` rather than as an overlay on the outer container
15
+ * is what keeps the message from covering the sticky header.
16
+ */
17
+ declare const TableStatusRow: ({ colSpan, viewportWidth, availableHeight, role, children, }: TableStatusRowProps) => import("react").JSX.Element;
18
+ export default TableStatusRow;
@@ -0,0 +1,50 @@
1
+ /* empty css */
2
+ import { styled } from "@linaria/react";
3
+ import { jsx } from "react/jsx-runtime";
4
+ //#region src/table/TableStatusRow.tsx
5
+ var StatusRow = /*#__PURE__*/ styled("tr")({
6
+ name: "StatusRow",
7
+ class: "s1fgfidg",
8
+ propsAsIs: false
9
+ });
10
+ var StatusCell = /*#__PURE__*/ styled("td")({
11
+ name: "StatusCell",
12
+ class: "s1mn0f4e",
13
+ propsAsIs: false
14
+ });
15
+ /**
16
+ * Sticky-left and sized to the scrollport so the message stays centred in view
17
+ * no matter how far the table is scrolled horizontally.
18
+ */
19
+ var _exp = () => ({ $width }) => $width !== void 0 ? `${$width}px` : "100%";
20
+ var _exp2 = () => ({ $minHeight }) => $minHeight !== void 0 ? `${$minHeight}px` : "120px";
21
+ var StatusViewport = /*#__PURE__*/ styled("div")({
22
+ name: "StatusViewport",
23
+ class: "s1r7bpq0",
24
+ propsAsIs: false,
25
+ vars: {
26
+ "s1r7bpq0-0": [_exp()],
27
+ "s1r7bpq0-1": [_exp2()]
28
+ }
29
+ });
30
+ /**
31
+ * In-flow row for the empty and error states.
32
+ *
33
+ * Rendering inside `<tbody>` rather than as an overlay on the outer container
34
+ * is what keeps the message from covering the sticky header.
35
+ */
36
+ var TableStatusRow = ({ colSpan, viewportWidth, availableHeight, role, children }) => /* @__PURE__ */ jsx(StatusRow, {
37
+ role: "row",
38
+ children: /* @__PURE__ */ jsx(StatusCell, {
39
+ colSpan,
40
+ role: "cell",
41
+ children: /* @__PURE__ */ jsx(StatusViewport, {
42
+ $width: viewportWidth,
43
+ $minHeight: availableHeight,
44
+ role,
45
+ children
46
+ })
47
+ })
48
+ });
49
+ //#endregion
50
+ export { TableStatusRow as default };
@@ -1,28 +1,12 @@
1
- import React, { type ReactNode } from "react";
2
- import { TableDensity, type ColumnDef } from "./InfiniteTable";
3
- export interface InfiniteTableProps<TData> {
4
- columns: ColumnDef<TData, unknown>[];
5
- totalRowCount: number;
6
- getRowData: (index: number) => TData | undefined;
7
- getRowId?: (row: TData, index: number) => string;
8
- height?: number | string;
9
- width?: number | string;
10
- fillWidth?: boolean;
11
- fillHeight?: boolean;
12
- density?: TableDensity;
13
- estimateRowHeight?: number;
14
- overscan?: number;
15
- hasNextPage?: boolean;
16
- isFetchingNextPage?: boolean;
17
- fetchNextPage?: () => void;
18
- isLoading?: boolean;
19
- isError?: boolean;
20
- loadingRowCount?: number;
21
- contentWhenEmpty?: ReactNode;
22
- contentWhenError?: ReactNode | ((error?: Error) => ReactNode);
23
- noLastRowBorder?: boolean;
24
- noLastRowPadding?: boolean;
25
- }
26
- declare function VirtualizedInfiniteTable<TData>(props: InfiniteTableProps<TData>): React.JSX.Element;
1
+ import React from "react";
2
+ import { type VirtualizedInfiniteTableProps } from "./types";
3
+ export { ColumnAlign, ColumnPin, ColumnResizeMode, TableDensity, TableVariant } from "./types";
4
+ export type { ColumnDef, ColumnSizingState, Row, VirtualizedInfiniteTableProps } from "./types";
5
+ /**
6
+ * Kept as an alias of the props type this component has always exported under
7
+ * this name, so `import type { InfiniteTableProps }` from this module still
8
+ * resolves.
9
+ */
10
+ export type InfiniteTableProps<TData> = VirtualizedInfiniteTableProps<TData>;
11
+ declare function VirtualizedInfiniteTable<TData>(props: VirtualizedInfiniteTableProps<TData>): React.JSX.Element;
27
12
  export default VirtualizedInfiniteTable;
28
- export { ColumnAlign, ColumnPin, TableDensity, type ColumnDef } from "./InfiniteTable";