@pibit.ai/cure-design-system 0.4.0 → 0.5.2

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 (460) hide show
  1. package/dist/applications/loading-indicator/index.d.ts +2 -0
  2. package/dist/applications/loading-indicator/index.d.ts.map +1 -0
  3. package/dist/applications/loading-indicator/loading-indicator.d.ts +1 -2
  4. package/dist/applications/loading-indicator/loading-indicator.d.ts.map +1 -1
  5. package/dist/assets/icons/filtered-view.svg.js +4 -0
  6. package/dist/index.d.ts +10 -5
  7. package/dist/index.d.ts.map +1 -1
  8. package/dist/index.js +430 -139
  9. package/dist/patterns/table/TableWrapper.d.ts +1 -1
  10. package/dist/patterns/table/TableWrapper.d.ts.map +1 -1
  11. package/dist/patterns/table/TableWrapper.js +1003 -565
  12. package/dist/patterns/table/TableZoomControl.d.ts +12 -0
  13. package/dist/patterns/table/TableZoomControl.d.ts.map +1 -0
  14. package/dist/patterns/table/TableZoomControl.js +136 -0
  15. package/dist/patterns/table/cellRangeSelection.d.ts +83 -0
  16. package/dist/patterns/table/cellRangeSelection.d.ts.map +1 -0
  17. package/dist/patterns/table/cellRangeSelection.js +162 -0
  18. package/dist/patterns/table/cellRangeSelection.test.d.ts +2 -0
  19. package/dist/patterns/table/cellRangeSelection.test.d.ts.map +1 -0
  20. package/dist/patterns/table/index.d.ts +13 -6
  21. package/dist/patterns/table/index.d.ts.map +1 -1
  22. package/dist/patterns/table/integrateTableUndoRedo.d.ts +41 -0
  23. package/dist/patterns/table/integrateTableUndoRedo.d.ts.map +1 -0
  24. package/dist/patterns/table/integrateTableUndoRedo.js +63 -0
  25. package/dist/patterns/table/rowReorderDrag.d.ts +70 -0
  26. package/dist/patterns/table/rowReorderDrag.d.ts.map +1 -0
  27. package/dist/patterns/table/rowReorderDrag.js +151 -0
  28. package/dist/patterns/table/rowReorderDrag.test.d.ts +2 -0
  29. package/dist/patterns/table/rowReorderDrag.test.d.ts.map +1 -0
  30. package/dist/patterns/table/scrollCellIntoView.d.ts +48 -0
  31. package/dist/patterns/table/scrollCellIntoView.d.ts.map +1 -0
  32. package/dist/patterns/table/scrollCellIntoView.js +122 -0
  33. package/dist/patterns/table/storyHelpers/mockTableViewsApi.d.ts +25 -0
  34. package/dist/patterns/table/storyHelpers/mockTableViewsApi.d.ts.map +1 -0
  35. package/dist/patterns/table/storyHelpers/useMockTableState.d.ts +3 -1
  36. package/dist/patterns/table/storyHelpers/useMockTableState.d.ts.map +1 -1
  37. package/dist/patterns/table/table.d.ts +2 -1
  38. package/dist/patterns/table/table.d.ts.map +1 -1
  39. package/dist/patterns/table/table.js +203 -177
  40. package/dist/patterns/table/tableUndoRedo.d.ts +38 -0
  41. package/dist/patterns/table/tableUndoRedo.d.ts.map +1 -0
  42. package/dist/patterns/table/tableUndoRedo.js +150 -0
  43. package/dist/patterns/table/tableZoomLayout.d.ts +87 -0
  44. package/dist/patterns/table/tableZoomLayout.d.ts.map +1 -0
  45. package/dist/patterns/table/tableZoomLayout.js +55 -0
  46. package/dist/patterns/table/tableZoomLayout.test.d.ts +2 -0
  47. package/dist/patterns/table/tableZoomLayout.test.d.ts.map +1 -0
  48. package/dist/patterns/table/toolbar/AlignDropdown.d.ts.map +1 -1
  49. package/dist/patterns/table/toolbar/AlignDropdown.js +5 -11
  50. package/dist/patterns/table/toolbar/ColumnHeaderMenu.d.ts +4 -0
  51. package/dist/patterns/table/toolbar/ColumnHeaderMenu.d.ts.map +1 -1
  52. package/dist/patterns/table/toolbar/ColumnHeaderMenu.js +81 -77
  53. package/dist/patterns/table/toolbar/GroupByDropdown.d.ts.map +1 -1
  54. package/dist/patterns/table/toolbar/GroupByDropdown.js +48 -43
  55. package/dist/patterns/table/toolbar/HideFieldsDropdown.d.ts.map +1 -1
  56. package/dist/patterns/table/toolbar/HideFieldsDropdown.js +75 -32
  57. package/dist/patterns/table/toolbar/RowActionsMenu.d.ts +17 -1
  58. package/dist/patterns/table/toolbar/RowActionsMenu.d.ts.map +1 -1
  59. package/dist/patterns/table/toolbar/RowActionsMenu.js +69 -51
  60. package/dist/patterns/table/toolbar/SummaryFooter.d.ts +10 -3
  61. package/dist/patterns/table/toolbar/SummaryFooter.d.ts.map +1 -1
  62. package/dist/patterns/table/toolbar/SummaryFooter.js +61 -71
  63. package/dist/patterns/table/toolbar/TableToolbar.d.ts +22 -1
  64. package/dist/patterns/table/toolbar/TableToolbar.d.ts.map +1 -1
  65. package/dist/patterns/table/toolbar/TableToolbar.js +234 -139
  66. package/dist/patterns/table/toolbar/TableViewDirtyActions.d.ts +7 -0
  67. package/dist/patterns/table/toolbar/TableViewDirtyActions.d.ts.map +1 -0
  68. package/dist/patterns/table/toolbar/TableViewDirtyActions.js +39 -0
  69. package/dist/patterns/table/toolbar/TableViewsDropdown.d.ts +8 -0
  70. package/dist/patterns/table/toolbar/TableViewsDropdown.d.ts.map +1 -0
  71. package/dist/patterns/table/toolbar/TableViewsDropdown.js +204 -0
  72. package/dist/patterns/table/toolbar/index.d.ts +6 -2
  73. package/dist/patterns/table/toolbar/index.d.ts.map +1 -1
  74. package/dist/patterns/table/toolbar/tableToolbarHelpers.d.ts +10 -1
  75. package/dist/patterns/table/toolbar/tableToolbarHelpers.d.ts.map +1 -1
  76. package/dist/patterns/table/toolbar/tableToolbarHelpers.js +116 -116
  77. package/dist/patterns/table/toolbar/tableViewSnapshot.d.ts +18 -0
  78. package/dist/patterns/table/toolbar/tableViewSnapshot.d.ts.map +1 -0
  79. package/dist/patterns/table/toolbar/tableViewSnapshot.js +168 -0
  80. package/dist/patterns/table/toolbar/tableViewSnapshot.test.d.ts +2 -0
  81. package/dist/patterns/table/toolbar/tableViewSnapshot.test.d.ts.map +1 -0
  82. package/dist/patterns/table/toolbar/tableViewTypes.d.ts +75 -0
  83. package/dist/patterns/table/toolbar/tableViewTypes.d.ts.map +1 -0
  84. package/dist/patterns/table/toolbar/tableViewTypes.js +4 -0
  85. package/dist/patterns/table/toolbar/useUndoRedoShortcuts.d.ts +9 -0
  86. package/dist/patterns/table/toolbar/useUndoRedoShortcuts.d.ts.map +1 -0
  87. package/dist/patterns/table/toolbar/useUndoRedoShortcuts.js +21 -0
  88. package/dist/patterns/table/types.d.ts +98 -1
  89. package/dist/patterns/table/types.d.ts.map +1 -1
  90. package/dist/patterns/table/useFitTableToViewport.d.ts +15 -0
  91. package/dist/patterns/table/useFitTableToViewport.d.ts.map +1 -0
  92. package/dist/patterns/table/useFitTableToViewport.js +47 -0
  93. package/dist/patterns/table/useGridKeyboardNavigation.d.ts +14 -3
  94. package/dist/patterns/table/useGridKeyboardNavigation.d.ts.map +1 -1
  95. package/dist/patterns/table/useGridKeyboardNavigation.js +47 -46
  96. package/dist/patterns/table/useTableUndoRedo.d.ts +50 -0
  97. package/dist/patterns/table/useTableUndoRedo.d.ts.map +1 -0
  98. package/dist/patterns/table/useTableUndoRedo.js +258 -0
  99. package/dist/patterns/table/useTableZoomState.d.ts +20 -0
  100. package/dist/patterns/table/useTableZoomState.d.ts.map +1 -0
  101. package/dist/patterns/table/useTableZoomState.js +30 -0
  102. package/dist/patterns/table-component/TableComponent.d.ts +6 -0
  103. package/dist/patterns/table-component/TableComponent.d.ts.map +1 -0
  104. package/dist/patterns/table-component/TableComponent.js +810 -0
  105. package/dist/patterns/table-component/buildTableColumns.d.ts +10 -0
  106. package/dist/patterns/table-component/buildTableColumns.d.ts.map +1 -0
  107. package/dist/patterns/table-component/buildTableColumns.js +65 -0
  108. package/dist/patterns/table-component/buildTableColumns.test.d.ts +2 -0
  109. package/dist/patterns/table-component/buildTableColumns.test.d.ts.map +1 -0
  110. package/dist/patterns/table-component/index.d.ts +5 -0
  111. package/dist/patterns/table-component/index.d.ts.map +1 -0
  112. package/dist/patterns/table-component/rowMetrics.d.ts +11 -0
  113. package/dist/patterns/table-component/rowMetrics.d.ts.map +1 -0
  114. package/dist/patterns/table-component/rowMetrics.js +15 -0
  115. package/dist/patterns/table-component/tableFeatures.d.ts +12 -0
  116. package/dist/patterns/table-component/tableFeatures.d.ts.map +1 -0
  117. package/dist/patterns/table-component/tableFeatures.js +14 -0
  118. package/dist/patterns/table-component/types.d.ts +207 -0
  119. package/dist/patterns/table-component/types.d.ts.map +1 -0
  120. package/dist/patterns/table-component/useCellRangeSelection.d.ts +50 -0
  121. package/dist/patterns/table-component/useCellRangeSelection.d.ts.map +1 -0
  122. package/dist/patterns/table-component/useCellRangeSelection.js +218 -0
  123. package/dist/patterns/table-component/useRowReorderDrag.d.ts +17 -0
  124. package/dist/patterns/table-component/useRowReorderDrag.d.ts.map +1 -0
  125. package/dist/patterns/table-component/useRowReorderDrag.js +109 -0
  126. package/dist/primitives/badge/badge.js +5 -5
  127. package/dist/primitives/button/button-utility.js +7 -7
  128. package/dist/primitives/button/button.d.ts.map +1 -1
  129. package/dist/primitives/button/button.js +10 -5
  130. package/dist/primitives/checkbox/checkbox.d.ts.map +1 -1
  131. package/dist/primitives/checkbox/checkbox.js +16 -16
  132. package/dist/primitives/custom-icon/custom-icon.d.ts +5 -0
  133. package/dist/primitives/custom-icon/custom-icon.d.ts.map +1 -1
  134. package/dist/primitives/custom-icon/custom-icon.js +14 -16
  135. package/dist/primitives/custom-icon/icons/activity-icon-16x16.d.ts +6 -0
  136. package/dist/primitives/custom-icon/icons/activity-icon-16x16.d.ts.map +1 -0
  137. package/dist/primitives/custom-icon/icons/activity-icon-16x16.js +32 -0
  138. package/dist/primitives/custom-icon/icons/activity-icon.d.ts +6 -0
  139. package/dist/primitives/custom-icon/icons/activity-icon.d.ts.map +1 -0
  140. package/dist/primitives/custom-icon/icons/activity-icon.js +32 -0
  141. package/dist/primitives/custom-icon/icons/activity-solid.d.ts +1 -1
  142. package/dist/primitives/custom-icon/icons/activity-solid.d.ts.map +1 -1
  143. package/dist/primitives/custom-icon/icons/activity-solid.js +24 -33
  144. package/dist/primitives/custom-icon/icons/activity.d.ts +6 -0
  145. package/dist/primitives/custom-icon/icons/activity.d.ts.map +1 -0
  146. package/dist/primitives/custom-icon/icons/activity.js +32 -0
  147. package/dist/primitives/custom-icon/icons/ai-extraction.d.ts +1 -1
  148. package/dist/primitives/custom-icon/icons/ai-extraction.d.ts.map +1 -1
  149. package/dist/primitives/custom-icon/icons/ai-extraction.js +24 -33
  150. package/dist/primitives/custom-icon/icons/aiservice.d.ts +6 -0
  151. package/dist/primitives/custom-icon/icons/aiservice.d.ts.map +1 -0
  152. package/dist/primitives/custom-icon/icons/aiservice.js +38 -0
  153. package/dist/primitives/custom-icon/icons/all-nodes.d.ts +6 -0
  154. package/dist/primitives/custom-icon/icons/all-nodes.d.ts.map +1 -0
  155. package/dist/primitives/custom-icon/icons/all-nodes.js +35 -0
  156. package/dist/primitives/custom-icon/icons/api-solid.d.ts +6 -0
  157. package/dist/primitives/custom-icon/icons/api-solid.d.ts.map +1 -0
  158. package/dist/primitives/custom-icon/icons/api-solid.js +32 -0
  159. package/dist/primitives/custom-icon/icons/api.d.ts +6 -0
  160. package/dist/primitives/custom-icon/icons/api.d.ts.map +1 -0
  161. package/dist/primitives/custom-icon/icons/api.js +32 -0
  162. package/dist/primitives/custom-icon/icons/arrow-up-2.d.ts +6 -0
  163. package/dist/primitives/custom-icon/icons/arrow-up-2.d.ts.map +1 -0
  164. package/dist/primitives/custom-icon/icons/arrow-up-2.js +32 -0
  165. package/dist/primitives/custom-icon/icons/azure.d.ts +6 -0
  166. package/dist/primitives/custom-icon/icons/azure.d.ts.map +1 -0
  167. package/dist/primitives/custom-icon/icons/azure.js +32 -0
  168. package/dist/primitives/custom-icon/icons/beaker-03.d.ts +6 -0
  169. package/dist/primitives/custom-icon/icons/beaker-03.d.ts.map +1 -0
  170. package/dist/primitives/custom-icon/icons/beaker-03.js +32 -0
  171. package/dist/primitives/custom-icon/icons/bell-with-dots.d.ts +6 -0
  172. package/dist/primitives/custom-icon/icons/bell-with-dots.d.ts.map +1 -0
  173. package/dist/primitives/custom-icon/icons/bell-with-dots.js +33 -0
  174. package/dist/primitives/custom-icon/icons/bell-without-dots.d.ts +6 -0
  175. package/dist/primitives/custom-icon/icons/bell-without-dots.d.ts.map +1 -0
  176. package/dist/primitives/custom-icon/icons/bell-without-dots.js +32 -0
  177. package/dist/primitives/custom-icon/icons/bill-02-18x23.d.ts +6 -0
  178. package/dist/primitives/custom-icon/icons/bill-02-18x23.d.ts.map +1 -0
  179. package/dist/primitives/custom-icon/icons/bill-02-18x23.js +32 -0
  180. package/dist/primitives/custom-icon/icons/bill-02.d.ts +6 -0
  181. package/dist/primitives/custom-icon/icons/bill-02.d.ts.map +1 -0
  182. package/dist/primitives/custom-icon/icons/bill-02.js +32 -0
  183. package/dist/primitives/custom-icon/icons/branch.d.ts +1 -1
  184. package/dist/primitives/custom-icon/icons/branch.d.ts.map +1 -1
  185. package/dist/primitives/custom-icon/icons/branch.js +16 -15
  186. package/dist/primitives/custom-icon/icons/break.d.ts +6 -0
  187. package/dist/primitives/custom-icon/icons/break.d.ts.map +1 -0
  188. package/dist/primitives/custom-icon/icons/break.js +33 -0
  189. package/dist/primitives/custom-icon/icons/calendar.d.ts +1 -1
  190. package/dist/primitives/custom-icon/icons/calendar.d.ts.map +1 -1
  191. package/dist/primitives/custom-icon/icons/calendar.js +24 -33
  192. package/dist/primitives/custom-icon/icons/callable.d.ts +1 -1
  193. package/dist/primitives/custom-icon/icons/callable.d.ts.map +1 -1
  194. package/dist/primitives/custom-icon/icons/callable.js +23 -22
  195. package/dist/primitives/custom-icon/icons/camico.d.ts +6 -0
  196. package/dist/primitives/custom-icon/icons/camico.d.ts.map +1 -0
  197. package/dist/primitives/custom-icon/icons/camico.js +38 -0
  198. package/dist/primitives/custom-icon/icons/check-circle-broken-solid.d.ts +1 -1
  199. package/dist/primitives/custom-icon/icons/check-circle-broken-solid.d.ts.map +1 -1
  200. package/dist/primitives/custom-icon/icons/check-circle-broken-solid.js +21 -20
  201. package/dist/primitives/custom-icon/icons/check-icon-20.d.ts +6 -0
  202. package/dist/primitives/custom-icon/icons/check-icon-20.d.ts.map +1 -0
  203. package/dist/primitives/custom-icon/icons/check-icon-20.js +33 -0
  204. package/dist/primitives/custom-icon/icons/check-icon-v2.d.ts +6 -0
  205. package/dist/primitives/custom-icon/icons/check-icon-v2.d.ts.map +1 -0
  206. package/dist/primitives/custom-icon/icons/check-icon-v2.js +33 -0
  207. package/dist/primitives/custom-icon/icons/check-icon.d.ts +6 -0
  208. package/dist/primitives/custom-icon/icons/check-icon.d.ts.map +1 -0
  209. package/dist/primitives/custom-icon/icons/check-icon.js +33 -0
  210. package/dist/primitives/custom-icon/icons/clear-cure.d.ts +1 -1
  211. package/dist/primitives/custom-icon/icons/clear-cure.d.ts.map +1 -1
  212. package/dist/primitives/custom-icon/icons/clear-cure.js +24 -35
  213. package/dist/primitives/custom-icon/icons/code-node.d.ts +1 -1
  214. package/dist/primitives/custom-icon/icons/code-node.d.ts.map +1 -1
  215. package/dist/primitives/custom-icon/icons/code-node.js +22 -23
  216. package/dist/primitives/custom-icon/icons/collapse-left.d.ts +1 -1
  217. package/dist/primitives/custom-icon/icons/collapse-left.d.ts.map +1 -1
  218. package/dist/primitives/custom-icon/icons/collapse-left.js +21 -23
  219. package/dist/primitives/custom-icon/icons/collapse-right.d.ts +1 -1
  220. package/dist/primitives/custom-icon/icons/collapse-right.d.ts.map +1 -1
  221. package/dist/primitives/custom-icon/icons/collapse-right.js +21 -23
  222. package/dist/primitives/custom-icon/icons/condition.d.ts +6 -0
  223. package/dist/primitives/custom-icon/icons/condition.d.ts.map +1 -0
  224. package/dist/primitives/custom-icon/icons/condition.js +32 -0
  225. package/dist/primitives/custom-icon/icons/continue.d.ts +6 -0
  226. package/dist/primitives/custom-icon/icons/continue.d.ts.map +1 -0
  227. package/dist/primitives/custom-icon/icons/continue.js +37 -0
  228. package/dist/primitives/custom-icon/icons/csv.d.ts +6 -0
  229. package/dist/primitives/custom-icon/icons/csv.d.ts.map +1 -0
  230. package/dist/primitives/custom-icon/icons/csv.js +35 -0
  231. package/dist/primitives/custom-icon/icons/custom-endpoint.d.ts +6 -0
  232. package/dist/primitives/custom-icon/icons/custom-endpoint.d.ts.map +1 -0
  233. package/dist/primitives/custom-icon/icons/custom-endpoint.js +32 -0
  234. package/dist/primitives/custom-icon/icons/dots.d.ts +6 -0
  235. package/dist/primitives/custom-icon/icons/dots.d.ts.map +1 -0
  236. package/dist/primitives/custom-icon/icons/dots.js +32 -0
  237. package/dist/primitives/custom-icon/icons/file-04-solid.d.ts +1 -1
  238. package/dist/primitives/custom-icon/icons/file-04-solid.d.ts.map +1 -1
  239. package/dist/primitives/custom-icon/icons/file-04-solid.js +22 -23
  240. package/dist/primitives/custom-icon/icons/file-edit-18x19.d.ts +6 -0
  241. package/dist/primitives/custom-icon/icons/file-edit-18x19.d.ts.map +1 -0
  242. package/dist/primitives/custom-icon/icons/file-edit-18x19.js +32 -0
  243. package/dist/primitives/custom-icon/icons/file-edit.d.ts +1 -1
  244. package/dist/primitives/custom-icon/icons/file-edit.d.ts.map +1 -1
  245. package/dist/primitives/custom-icon/icons/file-edit.js +23 -25
  246. package/dist/primitives/custom-icon/icons/files-manager.d.ts +6 -0
  247. package/dist/primitives/custom-icon/icons/files-manager.d.ts.map +1 -0
  248. package/dist/primitives/custom-icon/icons/files-manager.js +32 -0
  249. package/dist/primitives/custom-icon/icons/filtered-view.d.ts +6 -0
  250. package/dist/primitives/custom-icon/icons/filtered-view.d.ts.map +1 -0
  251. package/dist/primitives/custom-icon/icons/filtered-view.js +32 -0
  252. package/dist/primitives/custom-icon/icons/folder-open-40x40.d.ts +6 -0
  253. package/dist/primitives/custom-icon/icons/folder-open-40x40.d.ts.map +1 -0
  254. package/dist/primitives/custom-icon/icons/folder-open-40x40.js +68 -0
  255. package/dist/primitives/custom-icon/icons/folder-open.d.ts +6 -0
  256. package/dist/primitives/custom-icon/icons/folder-open.d.ts.map +1 -0
  257. package/dist/primitives/custom-icon/icons/folder-open.js +68 -0
  258. package/dist/primitives/custom-icon/icons/foresight.d.ts +6 -0
  259. package/dist/primitives/custom-icon/icons/foresight.d.ts.map +1 -0
  260. package/dist/primitives/custom-icon/icons/foresight.js +32 -0
  261. package/dist/primitives/custom-icon/icons/formula.d.ts +1 -1
  262. package/dist/primitives/custom-icon/icons/formula.d.ts.map +1 -1
  263. package/dist/primitives/custom-icon/icons/formula.js +20 -22
  264. package/dist/primitives/custom-icon/icons/gmail-big.d.ts +6 -0
  265. package/dist/primitives/custom-icon/icons/gmail-big.d.ts.map +1 -0
  266. package/dist/primitives/custom-icon/icons/gmail-big.js +38 -0
  267. package/dist/primitives/custom-icon/icons/gmail.d.ts +6 -0
  268. package/dist/primitives/custom-icon/icons/gmail.d.ts.map +1 -0
  269. package/dist/primitives/custom-icon/icons/gmail.js +39 -0
  270. package/dist/primitives/custom-icon/icons/google-chat.d.ts +6 -0
  271. package/dist/primitives/custom-icon/icons/google-chat.d.ts.map +1 -0
  272. package/dist/primitives/custom-icon/icons/google-chat.js +32 -0
  273. package/dist/primitives/custom-icon/icons/google.d.ts +6 -0
  274. package/dist/primitives/custom-icon/icons/google.d.ts.map +1 -0
  275. package/dist/primitives/custom-icon/icons/google.js +35 -0
  276. package/dist/primitives/custom-icon/icons/grid-plus.d.ts +1 -1
  277. package/dist/primitives/custom-icon/icons/grid-plus.d.ts.map +1 -1
  278. package/dist/primitives/custom-icon/icons/grid-plus.js +23 -25
  279. package/dist/primitives/custom-icon/icons/group-by.d.ts +6 -0
  280. package/dist/primitives/custom-icon/icons/group-by.d.ts.map +1 -0
  281. package/dist/primitives/custom-icon/icons/group-by.js +33 -0
  282. package/dist/primitives/custom-icon/icons/guidewire.d.ts +6 -0
  283. package/dist/primitives/custom-icon/icons/guidewire.d.ts.map +1 -0
  284. package/dist/primitives/custom-icon/icons/guidewire.js +33 -0
  285. package/dist/primitives/custom-icon/icons/http-endpoint.d.ts +1 -1
  286. package/dist/primitives/custom-icon/icons/http-endpoint.d.ts.map +1 -1
  287. package/dist/primitives/custom-icon/icons/http-endpoint.js +23 -22
  288. package/dist/primitives/custom-icon/icons/hubspot.d.ts +6 -0
  289. package/dist/primitives/custom-icon/icons/hubspot.d.ts.map +1 -0
  290. package/dist/primitives/custom-icon/icons/hubspot.js +32 -0
  291. package/dist/primitives/custom-icon/icons/integer-20.d.ts +6 -0
  292. package/dist/primitives/custom-icon/icons/integer-20.d.ts.map +1 -0
  293. package/dist/primitives/custom-icon/icons/integer-20.js +32 -0
  294. package/dist/primitives/custom-icon/icons/integer.d.ts +1 -1
  295. package/dist/primitives/custom-icon/icons/integer.d.ts.map +1 -1
  296. package/dist/primitives/custom-icon/icons/integer.js +22 -24
  297. package/dist/primitives/custom-icon/icons/loop.d.ts +1 -1
  298. package/dist/primitives/custom-icon/icons/loop.d.ts.map +1 -1
  299. package/dist/primitives/custom-icon/icons/loop.js +25 -46
  300. package/dist/primitives/custom-icon/icons/mail-01-solid.d.ts +1 -1
  301. package/dist/primitives/custom-icon/icons/mail-01-solid.d.ts.map +1 -1
  302. package/dist/primitives/custom-icon/icons/mail-01-solid.js +23 -30
  303. package/dist/primitives/custom-icon/icons/message-dots-square-solid.d.ts +1 -1
  304. package/dist/primitives/custom-icon/icons/message-dots-square-solid.d.ts.map +1 -1
  305. package/dist/primitives/custom-icon/icons/message-dots-square-solid.js +18 -21
  306. package/dist/primitives/custom-icon/icons/microsoft-outlook.d.ts +6 -0
  307. package/dist/primitives/custom-icon/icons/microsoft-outlook.d.ts.map +1 -0
  308. package/dist/primitives/custom-icon/icons/microsoft-outlook.js +103 -0
  309. package/dist/primitives/custom-icon/icons/microsoft.d.ts +6 -0
  310. package/dist/primitives/custom-icon/icons/microsoft.d.ts.map +1 -0
  311. package/dist/primitives/custom-icon/icons/microsoft.js +32 -0
  312. package/dist/primitives/custom-icon/icons/object-manager.d.ts +1 -1
  313. package/dist/primitives/custom-icon/icons/object-manager.d.ts.map +1 -1
  314. package/dist/primitives/custom-icon/icons/object-manager.js +23 -44
  315. package/dist/primitives/custom-icon/icons/okta.d.ts +6 -0
  316. package/dist/primitives/custom-icon/icons/okta.d.ts.map +1 -0
  317. package/dist/primitives/custom-icon/icons/okta.js +32 -0
  318. package/dist/primitives/custom-icon/icons/onedrive.d.ts +6 -0
  319. package/dist/primitives/custom-icon/icons/onedrive.d.ts.map +1 -0
  320. package/dist/primitives/custom-icon/icons/onedrive.js +78 -0
  321. package/dist/primitives/custom-icon/icons/outlook.d.ts +6 -0
  322. package/dist/primitives/custom-icon/icons/outlook.d.ts.map +1 -0
  323. package/dist/primitives/custom-icon/icons/outlook.js +103 -0
  324. package/dist/primitives/custom-icon/icons/parallel-branch.d.ts +6 -0
  325. package/dist/primitives/custom-icon/icons/parallel-branch.d.ts.map +1 -0
  326. package/dist/primitives/custom-icon/icons/parallel-branch.js +33 -0
  327. package/dist/primitives/custom-icon/icons/platform.d.ts +6 -0
  328. package/dist/primitives/custom-icon/icons/platform.d.ts.map +1 -0
  329. package/dist/primitives/custom-icon/icons/platform.js +34 -0
  330. package/dist/primitives/custom-icon/icons/plus-circle-solid.d.ts +1 -1
  331. package/dist/primitives/custom-icon/icons/plus-circle-solid.d.ts.map +1 -1
  332. package/dist/primitives/custom-icon/icons/plus-circle-solid.js +22 -25
  333. package/dist/primitives/custom-icon/icons/primespecialty.d.ts +6 -0
  334. package/dist/primitives/custom-icon/icons/primespecialty.d.ts.map +1 -0
  335. package/dist/primitives/custom-icon/icons/primespecialty.js +41 -0
  336. package/dist/primitives/custom-icon/icons/queue.d.ts +6 -0
  337. package/dist/primitives/custom-icon/icons/queue.d.ts.map +1 -0
  338. package/dist/primitives/custom-icon/icons/queue.js +34 -0
  339. package/dist/primitives/custom-icon/icons/reorder-dots-8x14.d.ts +6 -0
  340. package/dist/primitives/custom-icon/icons/reorder-dots-8x14.d.ts.map +1 -0
  341. package/dist/primitives/custom-icon/icons/reorder-dots-8x14.js +37 -0
  342. package/dist/primitives/custom-icon/icons/reorder-dots-new.d.ts +6 -0
  343. package/dist/primitives/custom-icon/icons/reorder-dots-new.d.ts.map +1 -0
  344. package/dist/primitives/custom-icon/icons/reorder-dots-new.js +37 -0
  345. package/dist/primitives/custom-icon/icons/reorder-dots.d.ts +6 -0
  346. package/dist/primitives/custom-icon/icons/reorder-dots.d.ts.map +1 -0
  347. package/dist/primitives/custom-icon/icons/reorder-dots.js +37 -0
  348. package/dist/primitives/custom-icon/icons/risk-score.d.ts +6 -0
  349. package/dist/primitives/custom-icon/icons/risk-score.d.ts.map +1 -0
  350. package/dist/primitives/custom-icon/icons/risk-score.js +38 -0
  351. package/dist/primitives/custom-icon/icons/rotate-icon-19x18.d.ts +6 -0
  352. package/dist/primitives/custom-icon/icons/rotate-icon-19x18.d.ts.map +1 -0
  353. package/dist/primitives/custom-icon/icons/rotate-icon-19x18.js +32 -0
  354. package/dist/primitives/custom-icon/icons/rotate-icon.d.ts +6 -0
  355. package/dist/primitives/custom-icon/icons/rotate-icon.d.ts.map +1 -0
  356. package/dist/primitives/custom-icon/icons/rotate-icon.js +32 -0
  357. package/dist/primitives/custom-icon/icons/salesforce.d.ts +6 -0
  358. package/dist/primitives/custom-icon/icons/salesforce.d.ts.map +1 -0
  359. package/dist/primitives/custom-icon/icons/salesforce.js +40 -0
  360. package/dist/primitives/custom-icon/icons/saml.d.ts +6 -0
  361. package/dist/primitives/custom-icon/icons/saml.d.ts.map +1 -0
  362. package/dist/primitives/custom-icon/icons/saml.js +35 -0
  363. package/dist/primitives/custom-icon/icons/show-summary.d.ts +6 -0
  364. package/dist/primitives/custom-icon/icons/show-summary.d.ts.map +1 -0
  365. package/dist/primitives/custom-icon/icons/show-summary.js +32 -0
  366. package/dist/primitives/custom-icon/icons/slack.d.ts +6 -0
  367. package/dist/primitives/custom-icon/icons/slack.d.ts.map +1 -0
  368. package/dist/primitives/custom-icon/icons/slack.js +35 -0
  369. package/dist/primitives/custom-icon/icons/sqs.d.ts +6 -0
  370. package/dist/primitives/custom-icon/icons/sqs.d.ts.map +1 -0
  371. package/dist/primitives/custom-icon/icons/sqs.js +34 -0
  372. package/dist/primitives/custom-icon/icons/stop-circle-solid.d.ts +6 -0
  373. package/dist/primitives/custom-icon/icons/stop-circle-solid.d.ts.map +1 -0
  374. package/dist/primitives/custom-icon/icons/stop-circle-solid.js +32 -0
  375. package/dist/primitives/custom-icon/icons/stop.d.ts +6 -0
  376. package/dist/primitives/custom-icon/icons/stop.d.ts.map +1 -0
  377. package/dist/primitives/custom-icon/icons/stop.js +33 -0
  378. package/dist/primitives/custom-icon/icons/submission.d.ts +1 -1
  379. package/dist/primitives/custom-icon/icons/submission.d.ts.map +1 -1
  380. package/dist/primitives/custom-icon/icons/submission.js +23 -22
  381. package/dist/primitives/custom-icon/icons/swap.d.ts +1 -1
  382. package/dist/primitives/custom-icon/icons/swap.d.ts.map +1 -1
  383. package/dist/primitives/custom-icon/icons/swap.js +30 -25
  384. package/dist/primitives/custom-icon/icons/test-tube.d.ts +6 -0
  385. package/dist/primitives/custom-icon/icons/test-tube.d.ts.map +1 -0
  386. package/dist/primitives/custom-icon/icons/test-tube.js +32 -0
  387. package/dist/primitives/custom-icon/icons/thumbs-down-solid.d.ts +1 -1
  388. package/dist/primitives/custom-icon/icons/thumbs-down-solid.d.ts.map +1 -1
  389. package/dist/primitives/custom-icon/icons/thumbs-down-solid.js +23 -30
  390. package/dist/primitives/custom-icon/icons/thumbs-up-solid.d.ts +1 -1
  391. package/dist/primitives/custom-icon/icons/thumbs-up-solid.d.ts.map +1 -1
  392. package/dist/primitives/custom-icon/icons/thumbs-up-solid.js +23 -30
  393. package/dist/primitives/custom-icon/icons/variable-node.d.ts +1 -1
  394. package/dist/primitives/custom-icon/icons/variable-node.d.ts.map +1 -1
  395. package/dist/primitives/custom-icon/icons/variable-node.js +23 -33
  396. package/dist/primitives/custom-icon/icons/variable.d.ts +6 -0
  397. package/dist/primitives/custom-icon/icons/variable.d.ts.map +1 -0
  398. package/dist/primitives/custom-icon/icons/variable.js +33 -0
  399. package/dist/primitives/custom-icon/icons/webhook-solid.d.ts +6 -0
  400. package/dist/primitives/custom-icon/icons/webhook-solid.d.ts.map +1 -0
  401. package/dist/primitives/custom-icon/icons/webhook-solid.js +34 -0
  402. package/dist/primitives/custom-icon/index.d.ts +2 -1
  403. package/dist/primitives/custom-icon/index.d.ts.map +1 -1
  404. package/dist/primitives/custom-icon/index.js +242 -0
  405. package/dist/primitives/custom-icon/named-icons.d.ts +117 -0
  406. package/dist/primitives/custom-icon/named-icons.d.ts.map +1 -0
  407. package/dist/primitives/custom-icon/named-icons.js +232 -0
  408. package/dist/primitives/custom-icon/registry.d.ts +259 -4
  409. package/dist/primitives/custom-icon/registry.d.ts.map +1 -1
  410. package/dist/primitives/custom-icon/registry.js +492 -108
  411. package/dist/primitives/dropdown/dropdown.d.ts +11 -2
  412. package/dist/primitives/dropdown/dropdown.d.ts.map +1 -1
  413. package/dist/primitives/dropdown/dropdown.js +95 -66
  414. package/dist/primitives/dropdown/dropdown.nestedOverlay.test.d.ts +2 -0
  415. package/dist/primitives/dropdown/dropdown.nestedOverlay.test.d.ts.map +1 -0
  416. package/dist/primitives/icon/icons.js +1 -0
  417. package/dist/primitives/input/hint-text.d.ts +1 -2
  418. package/dist/primitives/input/hint-text.d.ts.map +1 -1
  419. package/dist/primitives/input/hint-text.js +1 -1
  420. package/dist/primitives/input/index.d.ts +3 -1
  421. package/dist/primitives/input/index.d.ts.map +1 -1
  422. package/dist/primitives/input/input.d.ts +2 -2
  423. package/dist/primitives/input/input.d.ts.map +1 -1
  424. package/dist/primitives/input/input.js +136 -129
  425. package/dist/primitives/input/label.d.ts +1 -2
  426. package/dist/primitives/input/label.d.ts.map +1 -1
  427. package/dist/primitives/multi-chips-select/MultiChipsSelect.d.ts +20 -0
  428. package/dist/primitives/multi-chips-select/MultiChipsSelect.d.ts.map +1 -0
  429. package/dist/primitives/multi-chips-select/MultiChipsSelect.js +233 -0
  430. package/dist/primitives/multi-chips-select/index.d.ts +3 -0
  431. package/dist/primitives/multi-chips-select/index.d.ts.map +1 -0
  432. package/dist/primitives/multi-chips-select/tagKeyFromLabel.d.ts +3 -0
  433. package/dist/primitives/multi-chips-select/tagKeyFromLabel.d.ts.map +1 -0
  434. package/dist/primitives/multi-chips-select/tagKeyFromLabel.js +6 -0
  435. package/dist/primitives/select/ExpandableSearchInput.d.ts +3 -1
  436. package/dist/primitives/select/ExpandableSearchInput.d.ts.map +1 -1
  437. package/dist/primitives/select/ExpandableSearchInput.js +101 -78
  438. package/dist/primitives/select/SearchInput.d.ts +10 -6
  439. package/dist/primitives/select/SearchInput.d.ts.map +1 -1
  440. package/dist/primitives/select/SearchInput.js +110 -85
  441. package/dist/primitives/select/combobox.d.ts.map +1 -1
  442. package/dist/primitives/select/combobox.js +48 -47
  443. package/dist/primitives/select/index.d.ts +1 -0
  444. package/dist/primitives/select/index.d.ts.map +1 -1
  445. package/dist/primitives/select/multi-select.d.ts.map +1 -1
  446. package/dist/primitives/select/multi-select.js +50 -49
  447. package/dist/primitives/select/select-item.d.ts +1 -2
  448. package/dist/primitives/select/select-item.d.ts.map +1 -1
  449. package/dist/primitives/toggle/toggle.d.ts.map +1 -1
  450. package/dist/primitives/toggle/toggle.js +55 -50
  451. package/dist/primitives/tooltip/tooltip.d.ts +5 -1
  452. package/dist/primitives/tooltip/tooltip.d.ts.map +1 -1
  453. package/dist/primitives/tooltip/tooltip.js +35 -33
  454. package/dist/styles/components.css +1 -1
  455. package/dist/styles/theme.css +1 -1
  456. package/dist/utils/keyboard-shortcut.d.ts +4 -0
  457. package/dist/utils/keyboard-shortcut.d.ts.map +1 -0
  458. package/dist/utils/keyboard-shortcut.js +29 -0
  459. package/package.json +5 -2
  460. package/dist/primitives/custom-icon/icons/Placeholder.js +0 -39
@@ -0,0 +1,10 @@
1
+ import { ColumnDef } from '@tanstack/react-table';
2
+ import { TableComponentFeatures } from './tableFeatures';
3
+ import { TableComponentColumn, TableComponentHeaderGroup } from './types';
4
+ export type TableComponentColumnMeta = {
5
+ columnId?: string;
6
+ groupId?: string;
7
+ };
8
+ export type TableComponentColumnDef<TData extends object> = ColumnDef<TableComponentFeatures, TData, unknown>;
9
+ export declare const buildTableComponentColumns: <TData extends object>(columns: TableComponentColumn<TData>[], headerGroups?: TableComponentHeaderGroup[]) => TableComponentColumnDef<TData>[];
10
+ //# sourceMappingURL=buildTableColumns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTableColumns.d.ts","sourceRoot":"","sources":["../../../src/patterns/table-component/buildTableColumns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAC9D,OAAO,KAAK,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAC;AAE/E,MAAM,MAAM,wBAAwB,GAAG;IACrC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AAEF,MAAM,MAAM,uBAAuB,CAAC,KAAK,SAAS,MAAM,IAAI,SAAS,CACnE,sBAAsB,EACtB,KAAK,EACL,OAAO,CACR,CAAC;AA4EF,eAAO,MAAM,0BAA0B,GAAI,KAAK,SAAS,MAAM,EAC7D,SAAS,oBAAoB,CAAC,KAAK,CAAC,EAAE,EACtC,eAAe,yBAAyB,EAAE,KACzC,uBAAuB,CAAC,KAAK,CAAC,EA+BhC,CAAC"}
@@ -0,0 +1,65 @@
1
+ const i = (e) => {
2
+ const o = e.spanRows, r = e.spanColumns;
3
+ return {
4
+ id: e.id,
5
+ header: () => e.header,
6
+ accessorFn: e.accessor,
7
+ enableSorting: e.enableSorting,
8
+ sortDescFirst: !1,
9
+ enableHiding: e.enableHiding,
10
+ spanRows: typeof o == "function" ? ({ anchorRow: t, row: a, anchorValue: n, value: l }) => o({
11
+ anchorRow: t.original,
12
+ row: a.original,
13
+ anchorValue: n,
14
+ value: l
15
+ }) : o,
16
+ spanColumns: typeof r == "function" ? ({ row: t }) => r(t.original) : r,
17
+ meta: { columnId: e.id }
18
+ };
19
+ }, d = (e, o) => {
20
+ const r = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set(), a = (n) => {
21
+ var s, c;
22
+ if (r.has(n.id))
23
+ throw new Error(
24
+ `TableComponent header node id "${n.id}" is duplicated.`
25
+ );
26
+ if (r.add(n.id), !!((s = n.children) != null && s.length) === !!n.columnId)
27
+ throw new Error(
28
+ `TableComponent header node "${n.id}" must have either children or columnId, but not both.`
29
+ );
30
+ if (n.columnId) {
31
+ if (!o.has(n.columnId))
32
+ throw new Error(
33
+ `TableComponent header node "${n.id}" references unknown column "${n.columnId}".`
34
+ );
35
+ if (t.has(n.columnId))
36
+ throw new Error(
37
+ `TableComponent column "${n.columnId}" appears more than once in headerGroups.`
38
+ );
39
+ t.add(n.columnId);
40
+ }
41
+ (c = n.children) == null || c.forEach(a);
42
+ };
43
+ return e.forEach(a), t;
44
+ }, m = (e, o) => {
45
+ const r = /* @__PURE__ */ new Map();
46
+ for (const n of e) {
47
+ if (r.has(n.id))
48
+ throw new Error(`TableComponent column id "${n.id}" is duplicated.`);
49
+ r.set(n.id, n);
50
+ }
51
+ if (!(o != null && o.length)) return e.map(i);
52
+ const t = d(o, r), a = (n) => n.columnId ? i(r.get(n.columnId)) : {
53
+ id: n.id,
54
+ header: () => n.label,
55
+ columns: n.children.map(a),
56
+ meta: { groupId: n.id }
57
+ };
58
+ return [
59
+ ...o.map(a),
60
+ ...e.filter((n) => !t.has(n.id)).map(i)
61
+ ];
62
+ };
63
+ export {
64
+ m as buildTableComponentColumns
65
+ };
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=buildTableColumns.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildTableColumns.test.d.ts","sourceRoot":"","sources":["../../../src/patterns/table-component/buildTableColumns.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,5 @@
1
+ export { TableComponent } from './TableComponent';
2
+ export { buildTableComponentColumns } from './buildTableColumns';
3
+ export type { TableComponentAlignment, TableComponentCellAddress, TableComponentCellContext, TableComponentColumn, TableComponentExpandedRowContext, TableComponentGroupHeaderContext, TableComponentHeaderGroup, TableComponentProps, TableComponentRowGroup, TableComponentSelectionMode, TableComponentSize, TableComponentStickyPosition, TableComponentToolbarContext, } from './types';
4
+ export type { ColumnOrderState, ColumnVisibilityState, ExpandedState, RowSelectionState, SortingState, } from '@tanstack/react-table';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/patterns/table-component/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,YAAY,EACV,uBAAuB,EACvB,yBAAyB,EACzB,yBAAyB,EACzB,oBAAoB,EACpB,gCAAgC,EAChC,gCAAgC,EAChC,yBAAyB,EACzB,mBAAmB,EACnB,sBAAsB,EACtB,2BAA2B,EAC3B,kBAAkB,EAClB,4BAA4B,EAC5B,4BAA4B,GAC7B,MAAM,SAAS,CAAC;AACjB,YAAY,EACV,gBAAgB,EAChB,qBAAqB,EACrB,aAAa,EACb,iBAAiB,EACjB,YAAY,GACb,MAAM,uBAAuB,CAAC"}
@@ -0,0 +1,11 @@
1
+ import { TableComponentSize } from './types';
2
+ /**
3
+ * xs = 36px, sm = 40px. `height` on a `<tr>` behaves as a *minimum* — a row takes the greater of
4
+ * its specified height and its tallest cell — so this sets the resting height without capping
5
+ * growth. (`min-height` is not applied to table rows at all.)
6
+ */
7
+ export declare const ROW_HEIGHT_CLASS: Record<TableComponentSize, string>;
8
+ export declare const HEADER_PADDING_CLASS: Record<TableComponentSize, string>;
9
+ /** Vertical padding stays at 0 so the row's height is the single source of the metric. */
10
+ export declare const CELL_PADDING_CLASS: Record<TableComponentSize, string>;
11
+ //# sourceMappingURL=rowMetrics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rowMetrics.d.ts","sourceRoot":"","sources":["../../../src/patterns/table-component/rowMetrics.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,SAAS,CAAC;AAElD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAG/D,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAGnE,CAAC;AAEF,0FAA0F;AAC1F,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,kBAAkB,EAAE,MAAM,CAGjE,CAAC"}
@@ -0,0 +1,15 @@
1
+ const p = {
2
+ xs: "h-9",
3
+ sm: "h-10"
4
+ }, s = {
5
+ xs: "px-3 py-0",
6
+ sm: "px-4 py-0"
7
+ }, x = {
8
+ xs: "p-0 px-3 py-0 text-xs",
9
+ sm: "p-0 px-4 py-0 text-sm"
10
+ };
11
+ export {
12
+ x as CELL_PADDING_CLASS,
13
+ s as HEADER_PADDING_CLASS,
14
+ p as ROW_HEIGHT_CLASS
15
+ };
@@ -0,0 +1,12 @@
1
+ export declare const tableComponentFeatures: {
2
+ rowSortingFeature: import('@tanstack/table-core').TableFeature;
3
+ sortedRowModel: (table: import('@tanstack/table-core').Table<any, any>) => () => import('@tanstack/table-core').RowModel<any, any>;
4
+ rowExpandingFeature: import('@tanstack/table-core').TableFeature;
5
+ expandedRowModel: (table: import('@tanstack/table-core').Table<any, any>) => () => import('@tanstack/table-core').RowModel<any, any>;
6
+ rowSelectionFeature: import('@tanstack/table-core').TableFeature;
7
+ columnVisibilityFeature: import('@tanstack/table-core').TableFeature;
8
+ columnOrderingFeature: import('@tanstack/table-core').TableFeature;
9
+ cellSpanningFeature: import('@tanstack/table-core').TableFeature;
10
+ };
11
+ export type TableComponentFeatures = typeof tableComponentFeatures;
12
+ //# sourceMappingURL=tableFeatures.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tableFeatures.d.ts","sourceRoot":"","sources":["../../../src/patterns/table-component/tableFeatures.ts"],"names":[],"mappings":"AAYA,eAAO,MAAM,sBAAsB;;;;;;;;;CASjC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,OAAO,sBAAsB,CAAC"}
@@ -0,0 +1,14 @@
1
+ import { tableFeatures as e, cellSpanningFeature as o, columnOrderingFeature as r, columnVisibilityFeature as t, rowSelectionFeature as a, createExpandedRowModel as n, rowExpandingFeature as d, createSortedRowModel as l, rowSortingFeature as i } from "@tanstack/react-table";
2
+ const F = e({
3
+ rowSortingFeature: i,
4
+ sortedRowModel: l(),
5
+ rowExpandingFeature: d,
6
+ expandedRowModel: n(),
7
+ rowSelectionFeature: a,
8
+ columnVisibilityFeature: t,
9
+ columnOrderingFeature: r,
10
+ cellSpanningFeature: o
11
+ });
12
+ export {
13
+ F as tableComponentFeatures
14
+ };
@@ -0,0 +1,207 @@
1
+ import { CSSProperties, ReactNode } from 'react';
2
+ import { TableCellRangeRect, TableCellSelection } from '../table/cellRangeSelection';
3
+ import { TableZoomConfig } from '../table/types';
4
+ import { ColumnOrderState, ColumnVisibilityState, ExpandedState, RowSelectionState, SortingState } from '@tanstack/react-table';
5
+ /**
6
+ * Two sizes only. `xs` (the default) is a 36px row with xs text; `sm` is a 40px row with sm text.
7
+ * The former `md` size had no consumers and was dropped.
8
+ */
9
+ export type TableComponentSize = "xs" | "sm";
10
+ export type TableComponentSelectionMode = "none" | "single" | "multiple";
11
+ export type TableComponentAlignment = "left" | "center" | "right";
12
+ export type TableComponentStickyPosition = "left" | "right";
13
+ export type TableComponentCellAddress = {
14
+ rowId: string;
15
+ columnId: string;
16
+ };
17
+ export type TableComponentCellContext<TData extends object> = TableComponentCellAddress & {
18
+ row: TData;
19
+ value: unknown;
20
+ rowIndex: number;
21
+ sourceIndex: number | null;
22
+ /**
23
+ * Begins a row-reorder drag. Present only when `onReorderRows` is set; attach it to a handle's
24
+ * `onPointerDown`. Undefined when reorder is off, so a handle can hide itself.
25
+ */
26
+ startRowDrag?: (event: import('react').PointerEvent<HTMLElement>) => void;
27
+ /** True while this row is the active drag source. */
28
+ isRowDragging?: boolean;
29
+ };
30
+ /**
31
+ * A group of rows rendered under a group-header row. Membership is by row id so the table's own
32
+ * row model stays authoritative — sorting, selection and spans keep working inside groups.
33
+ */
34
+ export type TableComponentRowGroup = {
35
+ id: string;
36
+ label: ReactNode;
37
+ rowIds: string[];
38
+ };
39
+ export type TableComponentGroupHeaderContext = {
40
+ id: string;
41
+ label: ReactNode;
42
+ /** Rows present in this group that survived the current row model. */
43
+ rowCount: number;
44
+ isCollapsed: boolean;
45
+ toggle: () => void;
46
+ };
47
+ export type TableComponentExpandedRowContext<TData extends object> = {
48
+ row: TData;
49
+ rowId: string;
50
+ colSpan: number;
51
+ collapse: () => void;
52
+ };
53
+ export type TableComponentToolbarContext = {
54
+ /** The design-system zoom control, or `null` when zoom is not enabled/supported. */
55
+ zoomControl: ReactNode;
56
+ zoomPercent: number;
57
+ };
58
+ export type TableComponentColumn<TData extends object> = {
59
+ /** Stable identifier used for state, persistence, and callbacks. */
60
+ id: string;
61
+ header: ReactNode;
62
+ accessor: (row: TData, index: number) => unknown;
63
+ renderCell?: (context: TableComponentCellContext<TData>) => ReactNode;
64
+ renderHeader?: (context: {
65
+ columnId: string;
66
+ label: ReactNode;
67
+ }) => ReactNode;
68
+ enableSorting?: boolean;
69
+ enableHiding?: boolean;
70
+ /** Merge adjacent visible rows whose values are equal, or provide a custom predicate. */
71
+ spanRows?: boolean | ((input: {
72
+ anchorRow: TData;
73
+ row: TData;
74
+ anchorValue: unknown;
75
+ value: unknown;
76
+ }) => boolean);
77
+ /** Merge this cell across visible columns for a row. */
78
+ spanColumns?: number | ((row: TData) => number);
79
+ align?: TableComponentAlignment;
80
+ sticky?: TableComponentStickyPosition;
81
+ stickyOffset?: number;
82
+ width?: CSSProperties["width"];
83
+ minWidth?: CSSProperties["minWidth"];
84
+ maxWidth?: CSSProperties["maxWidth"];
85
+ headerClassName?: string;
86
+ cellClassName?: string;
87
+ };
88
+ /**
89
+ * Declarative header tree. Leaf nodes reference a stable column ID. Numeric
90
+ * row/column spans are derived from the visible leaf columns at render time.
91
+ */
92
+ export type TableComponentHeaderGroup = {
93
+ id: string;
94
+ label: ReactNode;
95
+ columnId?: string;
96
+ children?: TableComponentHeaderGroup[];
97
+ };
98
+ export type TableComponentProps<TData extends object> = {
99
+ data: TData[];
100
+ columns: TableComponentColumn<TData>[];
101
+ getRowId: (row: TData, index: number) => string;
102
+ ariaLabel: string;
103
+ headerGroups?: TableComponentHeaderGroup[];
104
+ size?: TableComponentSize;
105
+ loading?: boolean;
106
+ loadingRowCount?: number;
107
+ emptyState?: ReactNode;
108
+ showBorders?: boolean;
109
+ removeRowBorders?: boolean;
110
+ /**
111
+ * Flexible columns share the container width equally (`table-layout: fixed`); the table falls
112
+ * back to horizontal scrolling once the columns' minimum widths exceed the container. A column
113
+ * counts as fixed when it pins itself right and declares a px `maxWidth`.
114
+ */
115
+ fillWidth?: boolean;
116
+ /**
117
+ * Enables Excel-style whole-grid zoom. The header, body, merged cells, expanded rows, and
118
+ * interactive hit areas scale together. Uses the same control and configuration as TableWrapper.
119
+ * Text grows gradually as the user zooms out (14px just below 100%, up to 18px at 60%)
120
+ * and then holds at 18px. At 100% and above, authored font sizes are preserved.
121
+ */
122
+ zoom?: TableZoomConfig;
123
+ /** Disables the zoom control without removing the current zoom level. */
124
+ zoomDisabled?: boolean;
125
+ className?: string;
126
+ rootClassName?: string;
127
+ tableClassName?: string;
128
+ headerClassName?: string;
129
+ getRowClassName?: (row: TData) => string | undefined;
130
+ onRowClick?: (row: TData) => void;
131
+ onRowHover?: (row: TData, isHovered: boolean) => void;
132
+ toolbar?: ReactNode;
133
+ /**
134
+ * Composes table-owned controls into a consumer-owned toolbar. Prefer this over `toolbar` when
135
+ * zoom should sit inside an existing toolbar rather than in a separate control row.
136
+ */
137
+ renderToolbar?: (context: TableComponentToolbarContext) => ReactNode;
138
+ pagination?: ReactNode;
139
+ /** Rendered as the last body row, after every group. */
140
+ summaryRow?: ReactNode;
141
+ /**
142
+ * When set, rows render grouped under header rows in this order. Rows not claimed by any group
143
+ * still render, after the groups — grouping never silently drops data.
144
+ */
145
+ rowGroups?: TableComponentRowGroup[];
146
+ renderGroupHeader?: (context: TableComponentGroupHeaderContext) => ReactNode;
147
+ collapsedGroupIds?: string[];
148
+ defaultCollapsedGroupIds?: string[];
149
+ onCollapsedGroupIdsChange?: (ids: string[]) => void;
150
+ enableSorting?: boolean;
151
+ sorting?: SortingState;
152
+ defaultSorting?: SortingState;
153
+ onSortingChange?: (sorting: SortingState) => void;
154
+ columnVisibility?: ColumnVisibilityState;
155
+ defaultColumnVisibility?: ColumnVisibilityState;
156
+ onColumnVisibilityChange?: (visibility: ColumnVisibilityState) => void;
157
+ columnOrder?: ColumnOrderState;
158
+ defaultColumnOrder?: ColumnOrderState;
159
+ onColumnOrderChange?: (order: ColumnOrderState) => void;
160
+ selectionMode?: TableComponentSelectionMode;
161
+ rowSelection?: RowSelectionState;
162
+ defaultRowSelection?: RowSelectionState;
163
+ onRowSelectionChange?: (selection: RowSelectionState) => void;
164
+ expanded?: ExpandedState;
165
+ defaultExpanded?: ExpandedState;
166
+ onExpandedChange?: (expanded: ExpandedState) => void;
167
+ expansionMode?: "single" | "multiple";
168
+ getRowCanExpand?: (row: TData) => boolean;
169
+ renderExpandedContent?: (context: TableComponentExpandedRowContext<TData>) => ReactNode;
170
+ /**
171
+ * Controlled Excel-style rectangular cell selection. Opt-in: supply both `cellSelection` and
172
+ * `onCellSelectionChange`. Enables drag and Shift+click range selection plus the clipboard
173
+ * hooks below.
174
+ */
175
+ cellSelection?: TableCellSelection | null;
176
+ onCellSelectionChange?: (selection: TableCellSelection | null) => void;
177
+ onCopyCells?: (payload: {
178
+ selection: TableCellSelection;
179
+ rect: TableCellRangeRect;
180
+ event: ClipboardEvent;
181
+ }) => void;
182
+ onPasteCells?: (payload: {
183
+ selection: TableCellSelection;
184
+ rect: TableCellRangeRect;
185
+ text: string;
186
+ event: ClipboardEvent;
187
+ }) => void;
188
+ onClearCells?: (payload: {
189
+ selection: TableCellSelection;
190
+ rect: TableCellRangeRect;
191
+ event: KeyboardEvent;
192
+ }) => void;
193
+ /**
194
+ * Drag-to-reorder. Indices are positions in the consumer's own data (source indices), never
195
+ * display positions. Rendering the handle is the consumer's job — see `renderRowDragHandle`.
196
+ */
197
+ onReorderRows?: (fromSourceIndex: number, toSourceIndex: number, row: TData) => void;
198
+ enableRowReorder?: boolean;
199
+ /** Open the editor on a plain click instead of requiring a double-click (Excel-style). */
200
+ activateOnSingleClick?: boolean;
201
+ onCellClick?: (context: TableComponentCellContext<TData>) => void;
202
+ onCellDoubleClick?: (context: TableComponentCellContext<TData>) => void;
203
+ onCellActivate?: (context: TableComponentCellContext<TData>) => void;
204
+ };
205
+ export type { TableCellRangeRect, TableCellSelection };
206
+ export type { ColumnOrderState, ColumnVisibilityState, ExpandedState, RowSelectionState, SortingState, };
207
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/patterns/table-component/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,50 @@
1
+ import { MouseEvent as ReactMouseEvent, PointerEvent as ReactPointerEvent } from 'react';
2
+ import { buildCellRangeRect, TableCellCoord, TableCellSelection } from '../table/cellRangeSelection';
3
+ export type UseCellRangeSelectionOptions = {
4
+ /** Range selection is opt-in: it turns on only when the consumer controls the selection. */
5
+ enabled: boolean;
6
+ selection: TableCellSelection | null | undefined;
7
+ onSelectionChange?: (selection: TableCellSelection | null) => void;
8
+ onCopyCells?: (payload: {
9
+ selection: TableCellSelection;
10
+ rect: ReturnType<typeof buildCellRangeRect> & object;
11
+ event: ClipboardEvent;
12
+ }) => void;
13
+ onPasteCells?: (payload: {
14
+ selection: TableCellSelection;
15
+ rect: ReturnType<typeof buildCellRangeRect> & object;
16
+ text: string;
17
+ event: ClipboardEvent;
18
+ }) => void;
19
+ onClearCells?: (payload: {
20
+ selection: TableCellSelection;
21
+ rect: ReturnType<typeof buildCellRangeRect> & object;
22
+ event: KeyboardEvent;
23
+ }) => void;
24
+ containerRef: {
25
+ current: HTMLElement | null;
26
+ };
27
+ /**
28
+ * Enter on the focused cell. Handled here, at the container, rather than per-cell: the cell the
29
+ * user is on rarely holds DOM focus itself, so a per-`<td>` handler misses almost every real
30
+ * keystroke. This mirrors the legacy renderer's `handleGridNavKeyDownCapture`.
31
+ */
32
+ onActivateCell?: (coord: TableCellCoord) => void;
33
+ /**
34
+ * Open the editor on a plain click rather than requiring a double-click. Drag-to-select still
35
+ * works: activation happens on click only when the pointer never crossed the drag threshold.
36
+ */
37
+ activateOnSingleClick?: boolean;
38
+ /** Row ids and column keys in display order — the axes the rectangle is resolved against. */
39
+ rowIds: readonly string[];
40
+ columnKeys: readonly string[];
41
+ };
42
+ export type UseCellRangeSelectionResult = {
43
+ onPointerDownCapture: (event: ReactPointerEvent<HTMLElement>) => void;
44
+ onClickCapture: (event: ReactMouseEvent<HTMLElement>) => void;
45
+ onKeyDownCapture: (event: React.KeyboardEvent<HTMLElement>) => void;
46
+ onDoubleClickCapture: (event: ReactMouseEvent<HTMLElement>) => void;
47
+ isDragging: boolean;
48
+ };
49
+ export declare function useCellRangeSelection({ enabled, selection, onSelectionChange, onCopyCells, onPasteCells, onClearCells, onActivateCell, activateOnSingleClick, containerRef, rowIds, columnKeys, }: UseCellRangeSelectionOptions): UseCellRangeSelectionResult;
50
+ //# sourceMappingURL=useCellRangeSelection.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useCellRangeSelection.d.ts","sourceRoot":"","sources":["../../../src/patterns/table-component/useCellRangeSelection.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AACH,OAAO,EAKL,KAAK,UAAU,IAAI,eAAe,EAClC,KAAK,YAAY,IAAI,iBAAiB,EACvC,MAAM,OAAO,CAAC;AACf,OAAO,EAEL,kBAAkB,EAMlB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACxB,MAAM,6BAA6B,CAAC;AAyBrC,MAAM,MAAM,4BAA4B,GAAG;IACzC,4FAA4F;IAC5F,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,kBAAkB,GAAG,IAAI,GAAG,SAAS,CAAC;IACjD,iBAAiB,CAAC,EAAE,CAAC,SAAS,EAAE,kBAAkB,GAAG,IAAI,KAAK,IAAI,CAAC;IACnE,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE;QACtB,SAAS,EAAE,kBAAkB,CAAC;QAC9B,IAAI,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,GAAG,MAAM,CAAC;QACrD,KAAK,EAAE,cAAc,CAAC;KACvB,KAAK,IAAI,CAAC;IACX,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QACvB,SAAS,EAAE,kBAAkB,CAAC;QAC9B,IAAI,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,GAAG,MAAM,CAAC;QACrD,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,EAAE,cAAc,CAAC;KACvB,KAAK,IAAI,CAAC;IACX,YAAY,CAAC,EAAE,CAAC,OAAO,EAAE;QACvB,SAAS,EAAE,kBAAkB,CAAC;QAC9B,IAAI,EAAE,UAAU,CAAC,OAAO,kBAAkB,CAAC,GAAG,MAAM,CAAC;QACrD,KAAK,EAAE,aAAa,CAAC;KACtB,KAAK,IAAI,CAAC;IACX,YAAY,EAAE;QAAE,OAAO,EAAE,WAAW,GAAG,IAAI,CAAA;KAAE,CAAC;IAC9C;;;;OAIG;IACH,cAAc,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,IAAI,CAAC;IACjD;;;OAGG;IACH,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,6FAA6F;IAC7F,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAC1B,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC;AAEF,MAAM,MAAM,2BAA2B,GAAG;IACxC,oBAAoB,EAAE,CAAC,KAAK,EAAE,iBAAiB,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACtE,cAAc,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IAC9D,gBAAgB,EAAE,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACpE,oBAAoB,EAAE,CAAC,KAAK,EAAE,eAAe,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC;IACpE,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC;AAEF,wBAAgB,qBAAqB,CAAC,EACpC,OAAO,EACP,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,qBAA6B,EAC7B,YAAY,EACZ,MAAM,EACN,UAAU,GACX,EAAE,4BAA4B,GAAG,2BAA2B,CA+V5D"}
@@ -0,0 +1,218 @@
1
+ import { useRef as T, useState as W, useCallback as D, useEffect as h } from "react";
2
+ import { canStartCellRangeFromTarget as G, resolveCellCoordFromElement as y, selectionFromSingleCell as Y, buildCellRangeRect as X, nextKeyboardCellSelection as q, CELL_RANGE_DRAG_THRESHOLD_PX as B, hitTestGridCell as U } from "../table/cellRangeSelection.js";
3
+ import { isWithinCellEditor as I, getGridTabNeighbor as j, getGridNeighbor as z, focusGridCell as A } from "../table/useGridKeyboardNavigation.js";
4
+ const J = {
5
+ ArrowUp: "up",
6
+ ArrowDown: "down",
7
+ ArrowLeft: "left",
8
+ ArrowRight: "right"
9
+ };
10
+ function $({
11
+ enabled: i,
12
+ selection: u,
13
+ onSelectionChange: b,
14
+ onCopyCells: x,
15
+ onPasteCells: k,
16
+ onClearCells: K,
17
+ onActivateCell: d,
18
+ activateOnSingleClick: F = !1,
19
+ containerRef: s,
20
+ rowIds: l,
21
+ columnKeys: w
22
+ }) {
23
+ const E = T(null), P = T(!1), [S, M] = W(!1), L = T({ selection: u, rowIds: l, columnKeys: w, onSelectionChange: b });
24
+ L.current = { selection: u, rowIds: l, columnKeys: w, onSelectionChange: b };
25
+ const a = D((r) => {
26
+ var e, t;
27
+ (t = (e = L.current).onSelectionChange) == null || t.call(e, r);
28
+ }, []), _ = D(
29
+ (r) => {
30
+ if (!i || r.button !== 0) return;
31
+ const e = G(
32
+ r.target,
33
+ s.current
34
+ );
35
+ if (!e) return;
36
+ const t = y(e);
37
+ if (!t) return;
38
+ const n = L.current.selection, o = r.shiftKey && n != null, c = o ? n.anchor : t;
39
+ P.current = !1, E.current = {
40
+ pointerId: r.pointerId,
41
+ startX: r.clientX,
42
+ startY: r.clientY,
43
+ active: !1,
44
+ anchor: c,
45
+ focus: t
46
+ }, a(o ? { anchor: c, focus: t } : Y(t));
47
+ },
48
+ [i, s, a]
49
+ );
50
+ h(() => {
51
+ if (!i) return;
52
+ const r = (n, o) => {
53
+ const c = E.current, f = s.current;
54
+ if (!c || !f) return;
55
+ const g = U(f, n, o);
56
+ if (!g) return;
57
+ const m = y(g);
58
+ m && (m.rowId === c.focus.rowId && m.columnKey === c.focus.columnKey || (c.focus = m, a({ anchor: c.anchor, focus: m })));
59
+ }, e = (n) => {
60
+ const o = E.current;
61
+ if (!(!o || n.pointerId !== o.pointerId)) {
62
+ if (!o.active) {
63
+ if (Math.abs(n.clientX - o.startX) + Math.abs(n.clientY - o.startY) < B) return;
64
+ o.active = !0, P.current = !0, M(!0);
65
+ }
66
+ n.preventDefault(), r(n.clientX, n.clientY);
67
+ }
68
+ }, t = (n) => {
69
+ const o = E.current;
70
+ !o || n.pointerId !== o.pointerId || (E.current = null, M(!1));
71
+ };
72
+ return window.addEventListener("pointermove", e), window.addEventListener("pointerup", t), window.addEventListener("pointercancel", t), () => {
73
+ window.removeEventListener("pointermove", e), window.removeEventListener("pointerup", t), window.removeEventListener("pointercancel", t);
74
+ };
75
+ }, [i, s, a]), h(() => {
76
+ if (!i || !u) return;
77
+ const r = (e) => {
78
+ const t = s.current;
79
+ t && !t.contains(e.target) && a(null);
80
+ };
81
+ return document.addEventListener("pointerdown", r, !0), () => document.removeEventListener("pointerdown", r, !0);
82
+ }, [i, u, s, a]), h(() => {
83
+ if (!S) return;
84
+ const r = document.body.style.userSelect;
85
+ return document.body.style.userSelect = "none", () => {
86
+ document.body.style.userSelect = r;
87
+ };
88
+ }, [S]), h(() => {
89
+ if (!i || !u) return;
90
+ const r = (n) => {
91
+ const o = s.current;
92
+ if (!o || I(n.target)) return !1;
93
+ const c = document.activeElement;
94
+ return c && o.contains(c) ? !0 : n.target instanceof Node && o.contains(n.target);
95
+ }, e = (n) => {
96
+ if (!x || !r(n)) return;
97
+ const o = X(u, l, w);
98
+ o && (n.preventDefault(), x({ selection: u, rect: o, event: n }));
99
+ }, t = (n) => {
100
+ var c;
101
+ if (!k || !r(n)) return;
102
+ const o = X(u, l, w);
103
+ o && (n.preventDefault(), k({
104
+ selection: u,
105
+ rect: o,
106
+ text: ((c = n.clipboardData) == null ? void 0 : c.getData("text/plain")) ?? "",
107
+ event: n
108
+ }));
109
+ };
110
+ return document.addEventListener("copy", e), document.addEventListener("paste", t), () => {
111
+ document.removeEventListener("copy", e), document.removeEventListener("paste", t);
112
+ };
113
+ }, [
114
+ i,
115
+ u,
116
+ l,
117
+ w,
118
+ x,
119
+ k,
120
+ s
121
+ ]);
122
+ const H = D(
123
+ (r) => {
124
+ var m;
125
+ if (!i || I(r.target)) return;
126
+ const { rowIds: e, columnKeys: t } = L.current;
127
+ if (r.key === "Enter" && d) {
128
+ const p = r.target instanceof HTMLElement ? r.target.closest("[data-grid-cell]") : null, N = (u == null ? void 0 : u.focus) ?? (p ? y(p) : null);
129
+ if (!N) return;
130
+ r.preventDefault(), r.stopPropagation(), d(N);
131
+ return;
132
+ }
133
+ if (u && K && (r.key === "Delete" || r.key === "Backspace")) {
134
+ const p = X(u, e, t);
135
+ if (!p) return;
136
+ r.preventDefault(), K({ selection: u, rect: p, event: r.nativeEvent });
137
+ return;
138
+ }
139
+ if (r.key === "Escape") {
140
+ if (!u) return;
141
+ r.preventDefault(), r.stopPropagation(), a(null);
142
+ const p = document.activeElement;
143
+ p instanceof HTMLElement && ((m = s.current) != null && m.contains(p)) && p.blur();
144
+ return;
145
+ }
146
+ const n = J[r.key], o = r.key === "Tab";
147
+ if (!n && !o || !u) return;
148
+ const c = u.focus, f = o ? j(
149
+ s.current,
150
+ e,
151
+ t,
152
+ c.rowId,
153
+ c.columnKey,
154
+ !r.shiftKey
155
+ ) : z(
156
+ s.current,
157
+ e,
158
+ t,
159
+ c.rowId,
160
+ c.columnKey,
161
+ n
162
+ );
163
+ if (!f && o) return;
164
+ const g = q(
165
+ c,
166
+ f ? {
167
+ rowId: f.rowId,
168
+ columnKey: f.columnKey,
169
+ sourceIndex: f.sourceIndex
170
+ } : null,
171
+ u,
172
+ !o && r.shiftKey
173
+ );
174
+ !g || g === u || (r.preventDefault(), r.stopPropagation(), a(g), f && requestAnimationFrame(
175
+ () => A(
176
+ s.current,
177
+ f.rowId,
178
+ f.columnKey
179
+ )
180
+ ));
181
+ },
182
+ [i, u, K, d, s, a]
183
+ ), O = D(
184
+ (r) => {
185
+ if (!i || !F || !d || P.current || I(r.target)) return;
186
+ const e = G(
187
+ r.target,
188
+ s.current
189
+ );
190
+ if (!e) return;
191
+ const t = y(e);
192
+ t && (r.preventDefault(), r.stopPropagation(), d(t));
193
+ },
194
+ [i, F, d, s]
195
+ ), C = D(
196
+ (r) => {
197
+ if (!i || !d || I(r.target)) return;
198
+ const e = G(
199
+ r.target,
200
+ s.current
201
+ );
202
+ if (!e) return;
203
+ const t = y(e);
204
+ t && (r.preventDefault(), r.stopPropagation(), a(Y(t)), d(t));
205
+ },
206
+ [i, d, s, a]
207
+ );
208
+ return {
209
+ onPointerDownCapture: _,
210
+ onClickCapture: O,
211
+ onKeyDownCapture: H,
212
+ onDoubleClickCapture: C,
213
+ isDragging: S
214
+ };
215
+ }
216
+ export {
217
+ $ as useCellRangeSelection
218
+ };