@sectile/vue 0.6.0 → 0.8.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 (325) hide show
  1. package/README.md +4 -2
  2. package/dist/accordion.d.ts +0 -1
  3. package/dist/alert-dialog.d.ts +0 -2
  4. package/dist/alert-dialog.js.map +1 -1
  5. package/dist/calendar.d.ts +14 -268
  6. package/dist/calendar.js +15 -15
  7. package/dist/calendar.js.map +1 -1
  8. package/dist/carousel.d.ts +22 -1
  9. package/dist/carousel.js +7 -1
  10. package/dist/carousel.js.map +1 -1
  11. package/dist/cascade-list.d.ts +339 -0
  12. package/dist/cascade-list.js +240 -0
  13. package/dist/cascade-list.js.map +1 -0
  14. package/dist/cascade-select.d.ts +11 -42
  15. package/dist/cascade-select.js +19 -27
  16. package/dist/cascade-select.js.map +1 -1
  17. package/dist/checkbox-group.d.ts +9 -1
  18. package/dist/checkbox-group.js +57 -13
  19. package/dist/checkbox-group.js.map +1 -1
  20. package/dist/checkbox.d.ts +0 -1
  21. package/dist/checkbox.js +15 -8
  22. package/dist/checkbox.js.map +1 -1
  23. package/dist/color-picker.d.ts +0 -1
  24. package/dist/combobox.d.ts +0 -1
  25. package/dist/combobox.js +46 -6
  26. package/dist/combobox.js.map +1 -1
  27. package/dist/data-grid.d.ts +214 -0
  28. package/dist/data-grid.js +107 -0
  29. package/dist/data-grid.js.map +1 -0
  30. package/dist/data-table.d.ts +232 -0
  31. package/dist/data-table.js +116 -0
  32. package/dist/data-table.js.map +1 -0
  33. package/dist/data-tree-grid.d.ts +225 -0
  34. package/dist/data-tree-grid.js +98 -0
  35. package/dist/data-tree-grid.js.map +1 -0
  36. package/dist/date-field.d.ts +2 -3
  37. package/dist/date-field.js +1 -1
  38. package/dist/date-field.js.map +1 -1
  39. package/dist/date-picker.d.ts +35 -427
  40. package/dist/date-picker.js +15 -13
  41. package/dist/date-picker.js.map +1 -1
  42. package/dist/date-range-field.d.ts +2 -3
  43. package/dist/date-range-field.js +24 -6
  44. package/dist/date-range-field.js.map +1 -1
  45. package/dist/date-range-picker.d.ts +35 -427
  46. package/dist/date-range-picker.js +15 -13
  47. package/dist/date-range-picker.js.map +1 -1
  48. package/dist/date-time-field.d.ts +2 -3
  49. package/dist/date-time-field.js +1 -1
  50. package/dist/date-time-field.js.map +1 -1
  51. package/dist/date-time-picker.d.ts +36 -428
  52. package/dist/date-time-picker.js +15 -13
  53. package/dist/date-time-picker.js.map +1 -1
  54. package/dist/date-time-range-picker.d.ts +36 -428
  55. package/dist/date-time-range-picker.js +15 -13
  56. package/dist/date-time-range-picker.js.map +1 -1
  57. package/dist/dialog.d.ts +0 -2
  58. package/dist/dialog.js.map +1 -1
  59. package/dist/disclosure.d.ts +0 -1
  60. package/dist/drawer.d.ts +1 -2
  61. package/dist/editable.d.ts +0 -1
  62. package/dist/editable.js +25 -6
  63. package/dist/editable.js.map +1 -1
  64. package/dist/feed.d.ts +0 -1
  65. package/dist/form.d.ts +88 -115
  66. package/dist/form.js +461 -233
  67. package/dist/form.js.map +1 -1
  68. package/dist/grid.d.ts +0 -1
  69. package/dist/grid.js +51 -6
  70. package/dist/grid.js.map +1 -1
  71. package/dist/host-provider.d.ts +0 -13
  72. package/dist/host-provider.js +0 -16
  73. package/dist/host-provider.js.map +1 -1
  74. package/dist/index.d.ts +14 -39
  75. package/dist/index.js +6 -19
  76. package/dist/index.js.map +1 -1
  77. package/dist/internal/cascade-choice.d.ts +204 -0
  78. package/dist/internal/cascade-choice.js +161 -0
  79. package/dist/internal/cascade-choice.js.map +1 -0
  80. package/dist/internal/collection.d.ts +3 -8
  81. package/dist/internal/collection.js +14 -20
  82. package/dist/internal/collection.js.map +1 -1
  83. package/dist/internal/controlled-state.d.ts +0 -1
  84. package/dist/internal/date-picker.d.ts +91 -141
  85. package/dist/internal/date-picker.js +146 -52
  86. package/dist/internal/date-picker.js.map +1 -1
  87. package/dist/internal/decimal-input.d.ts +1 -0
  88. package/dist/internal/decimal-input.js +24 -0
  89. package/dist/internal/decimal-input.js.map +1 -0
  90. package/dist/internal/form-control-inventory.d.ts +4 -1
  91. package/dist/internal/form-control-inventory.js +1 -0
  92. package/dist/internal/form-control-inventory.js.map +1 -1
  93. package/dist/internal/form-control.d.ts +100 -2
  94. package/dist/internal/form-control.js +103 -1
  95. package/dist/internal/form-control.js.map +1 -1
  96. package/dist/internal/native-field.d.ts +7 -8
  97. package/dist/internal/native-field.js +11 -2
  98. package/dist/internal/native-field.js.map +1 -1
  99. package/dist/internal/native-input.d.ts +0 -1
  100. package/dist/internal/part-contract.d.ts +0 -1
  101. package/dist/internal/popup.d.ts +5 -27
  102. package/dist/internal/popup.js +14 -20
  103. package/dist/internal/popup.js.map +1 -1
  104. package/dist/internal/presence.d.ts +0 -1
  105. package/dist/internal/scheduled-task.d.ts +5 -0
  106. package/dist/internal/scheduled-task.js +28 -0
  107. package/dist/internal/scheduled-task.js.map +1 -0
  108. package/dist/internal/tabs-context.d.ts +2 -3
  109. package/dist/internal/tabular-components.d.ts +27 -0
  110. package/dist/internal/tabular-components.js +26 -0
  111. package/dist/internal/tabular-components.js.map +1 -0
  112. package/dist/internal/tabular-parts.d.ts +57 -0
  113. package/dist/internal/tabular-parts.js +239 -0
  114. package/dist/internal/tabular-parts.js.map +1 -0
  115. package/dist/internal/tabular-profile.d.ts +75 -0
  116. package/dist/internal/tabular-profile.js +209 -0
  117. package/dist/internal/tabular-profile.js.map +1 -0
  118. package/dist/internal/virtual-collection-model.d.ts +42 -0
  119. package/dist/internal/virtual-collection-model.js +241 -0
  120. package/dist/internal/virtual-collection-model.js.map +1 -0
  121. package/dist/internal/virtual-collection.d.ts +38 -0
  122. package/dist/internal/virtual-collection.js +87 -0
  123. package/dist/internal/virtual-collection.js.map +1 -0
  124. package/dist/{virtual.d.ts → internal/virtual-core.d.ts} +14 -9
  125. package/dist/{virtual.js → internal/virtual-core.js} +18 -13
  126. package/dist/internal/virtual-core.js.map +1 -0
  127. package/dist/internal/virtual-list.d.ts +214 -0
  128. package/dist/internal/virtual-list.js +401 -0
  129. package/dist/internal/virtual-list.js.map +1 -0
  130. package/dist/listbox.d.ts +0 -1
  131. package/dist/listbox.js +52 -6
  132. package/dist/listbox.js.map +1 -1
  133. package/dist/menu-button.d.ts +0 -1
  134. package/dist/menu.d.ts +262 -317
  135. package/dist/menu.js +29 -23
  136. package/dist/menu.js.map +1 -1
  137. package/dist/menubar.d.ts +0 -1
  138. package/dist/meter-group.d.ts +369 -0
  139. package/dist/meter-group.js +271 -0
  140. package/dist/meter-group.js.map +1 -0
  141. package/dist/meter.d.ts +191 -0
  142. package/dist/meter.js +133 -0
  143. package/dist/meter.js.map +1 -0
  144. package/dist/month-picker.d.ts +29 -259
  145. package/dist/month-picker.js +8 -6
  146. package/dist/month-picker.js.map +1 -1
  147. package/dist/month-range-picker.d.ts +29 -259
  148. package/dist/month-range-picker.js +8 -6
  149. package/dist/month-range-picker.js.map +1 -1
  150. package/dist/multi-thumb-slider.d.ts +0 -1
  151. package/dist/navigation-menu.d.ts +0 -1
  152. package/dist/number-field.d.ts +2 -2
  153. package/dist/number-field.js +1 -1
  154. package/dist/number-field.js.map +1 -1
  155. package/dist/pagination.d.ts +23 -2
  156. package/dist/pagination.js +6 -1
  157. package/dist/pagination.js.map +1 -1
  158. package/dist/pin-input.d.ts +0 -1
  159. package/dist/pin-input.js +1 -1
  160. package/dist/pin-input.js.map +1 -1
  161. package/dist/popover.d.ts +0 -2
  162. package/dist/popover.js.map +1 -1
  163. package/dist/primitive.d.ts +0 -1
  164. package/dist/primitive.js +8 -4
  165. package/dist/primitive.js.map +1 -1
  166. package/dist/progress.d.ts +148 -0
  167. package/dist/progress.js +110 -0
  168. package/dist/progress.js.map +1 -0
  169. package/dist/quantity-field.d.ts +0 -1
  170. package/dist/radio-group.d.ts +0 -1
  171. package/dist/radio-group.js +1 -1
  172. package/dist/radio-group.js.map +1 -1
  173. package/dist/range-calendar.d.ts +14 -298
  174. package/dist/range-calendar.js +7 -7
  175. package/dist/range-calendar.js.map +1 -1
  176. package/dist/rating.d.ts +0 -1
  177. package/dist/rating.js +10 -1
  178. package/dist/rating.js.map +1 -1
  179. package/dist/reorder.d.ts +1 -2
  180. package/dist/select.d.ts +24 -50
  181. package/dist/select.js +11 -13
  182. package/dist/select.js.map +1 -1
  183. package/dist/slider.d.ts +0 -1
  184. package/dist/spin-button.d.ts +9 -7
  185. package/dist/spin-button.js +17 -4
  186. package/dist/spin-button.js.map +1 -1
  187. package/dist/stepper.d.ts +0 -1
  188. package/dist/stepper.js +19 -2
  189. package/dist/stepper.js.map +1 -1
  190. package/dist/switch.d.ts +0 -1
  191. package/dist/tabs.d.ts +0 -1
  192. package/dist/tabs.js +4 -22
  193. package/dist/tabs.js.map +1 -1
  194. package/dist/tags-input.d.ts +0 -1
  195. package/dist/tags-input.js +18 -5
  196. package/dist/tags-input.js.map +1 -1
  197. package/dist/temporal-provider.d.ts +21 -0
  198. package/dist/temporal-provider.js +30 -0
  199. package/dist/temporal-provider.js.map +1 -0
  200. package/dist/text.d.ts +0 -1
  201. package/dist/text.js +18 -4
  202. package/dist/text.js.map +1 -1
  203. package/dist/time-field.d.ts +2 -3
  204. package/dist/time-field.js +1 -1
  205. package/dist/time-field.js.map +1 -1
  206. package/dist/time-range-field.d.ts +2 -2
  207. package/dist/time-range-field.js +6 -4
  208. package/dist/time-range-field.js.map +1 -1
  209. package/dist/timer.d.ts +0 -1
  210. package/dist/toast.d.ts +11 -2
  211. package/dist/toast.js +22 -9
  212. package/dist/toast.js.map +1 -1
  213. package/dist/toggle-button.d.ts +0 -1
  214. package/dist/toggle-group.d.ts +0 -1
  215. package/dist/toggle-group.js +1 -1
  216. package/dist/toggle-group.js.map +1 -1
  217. package/dist/toolbar.d.ts +0 -1
  218. package/dist/tooltip.d.ts +1 -3
  219. package/dist/tooltip.js.map +1 -1
  220. package/dist/tree-grid.d.ts +0 -1
  221. package/dist/tree-grid.js +62 -8
  222. package/dist/tree-grid.js.map +1 -1
  223. package/dist/tree-view.d.ts +0 -1
  224. package/dist/tree-view.js +51 -10
  225. package/dist/tree-view.js.map +1 -1
  226. package/dist/virtual-core.d.ts +1 -0
  227. package/dist/virtual-core.js +2 -0
  228. package/dist/virtual-core.js.map +1 -0
  229. package/dist/virtual-grid.d.ts +188 -0
  230. package/dist/virtual-grid.js +306 -0
  231. package/dist/virtual-grid.js.map +1 -0
  232. package/dist/virtual-list.d.ts +1 -0
  233. package/dist/virtual-list.js +2 -0
  234. package/dist/virtual-list.js.map +1 -0
  235. package/dist/virtual-masonry.d.ts +198 -0
  236. package/dist/virtual-masonry.js +221 -0
  237. package/dist/virtual-masonry.js.map +1 -0
  238. package/dist/virtual-spatial.d.ts +157 -0
  239. package/dist/virtual-spatial.js +159 -0
  240. package/dist/virtual-spatial.js.map +1 -0
  241. package/dist/window-splitter.d.ts +0 -1
  242. package/dist/year-picker.d.ts +29 -259
  243. package/dist/year-picker.js +8 -6
  244. package/dist/year-picker.js.map +1 -1
  245. package/dist/year-range-picker.d.ts +29 -259
  246. package/dist/year-range-picker.js +8 -6
  247. package/dist/year-range-picker.js.map +1 -1
  248. package/package.json +174 -87
  249. package/dist/accordion.d.ts.map +0 -1
  250. package/dist/alert-dialog.d.ts.map +0 -1
  251. package/dist/calendar.d.ts.map +0 -1
  252. package/dist/carousel.d.ts.map +0 -1
  253. package/dist/cascade-select.d.ts.map +0 -1
  254. package/dist/checkbox-group.d.ts.map +0 -1
  255. package/dist/checkbox.d.ts.map +0 -1
  256. package/dist/color-picker.d.ts.map +0 -1
  257. package/dist/combobox.d.ts.map +0 -1
  258. package/dist/date-field.d.ts.map +0 -1
  259. package/dist/date-picker.d.ts.map +0 -1
  260. package/dist/date-range-field.d.ts.map +0 -1
  261. package/dist/date-range-picker.d.ts.map +0 -1
  262. package/dist/date-time-field.d.ts.map +0 -1
  263. package/dist/date-time-picker.d.ts.map +0 -1
  264. package/dist/date-time-range-picker.d.ts.map +0 -1
  265. package/dist/dialog.d.ts.map +0 -1
  266. package/dist/disclosure.d.ts.map +0 -1
  267. package/dist/drawer.d.ts.map +0 -1
  268. package/dist/editable.d.ts.map +0 -1
  269. package/dist/feed.d.ts.map +0 -1
  270. package/dist/form.d.ts.map +0 -1
  271. package/dist/grid.d.ts.map +0 -1
  272. package/dist/host-provider.d.ts.map +0 -1
  273. package/dist/index.d.ts.map +0 -1
  274. package/dist/internal/collection.d.ts.map +0 -1
  275. package/dist/internal/controlled-state.d.ts.map +0 -1
  276. package/dist/internal/date-picker.d.ts.map +0 -1
  277. package/dist/internal/form-control-inventory.d.ts.map +0 -1
  278. package/dist/internal/form-control.d.ts.map +0 -1
  279. package/dist/internal/native-field.d.ts.map +0 -1
  280. package/dist/internal/native-input.d.ts.map +0 -1
  281. package/dist/internal/part-contract.d.ts.map +0 -1
  282. package/dist/internal/popup.d.ts.map +0 -1
  283. package/dist/internal/presence.d.ts.map +0 -1
  284. package/dist/internal/tabs-context.d.ts.map +0 -1
  285. package/dist/listbox.d.ts.map +0 -1
  286. package/dist/menu-button.d.ts.map +0 -1
  287. package/dist/menu.d.ts.map +0 -1
  288. package/dist/menubar.d.ts.map +0 -1
  289. package/dist/month-picker.d.ts.map +0 -1
  290. package/dist/month-range-picker.d.ts.map +0 -1
  291. package/dist/multi-thumb-slider.d.ts.map +0 -1
  292. package/dist/navigation-menu.d.ts.map +0 -1
  293. package/dist/number-field.d.ts.map +0 -1
  294. package/dist/pagination.d.ts.map +0 -1
  295. package/dist/pin-input.d.ts.map +0 -1
  296. package/dist/popover.d.ts.map +0 -1
  297. package/dist/primitive.d.ts.map +0 -1
  298. package/dist/quantity-field.d.ts.map +0 -1
  299. package/dist/radio-group.d.ts.map +0 -1
  300. package/dist/range-calendar.d.ts.map +0 -1
  301. package/dist/rating.d.ts.map +0 -1
  302. package/dist/reorder.d.ts.map +0 -1
  303. package/dist/select.d.ts.map +0 -1
  304. package/dist/slider.d.ts.map +0 -1
  305. package/dist/spin-button.d.ts.map +0 -1
  306. package/dist/stepper.d.ts.map +0 -1
  307. package/dist/switch.d.ts.map +0 -1
  308. package/dist/tabs.d.ts.map +0 -1
  309. package/dist/tags-input.d.ts.map +0 -1
  310. package/dist/text.d.ts.map +0 -1
  311. package/dist/time-field.d.ts.map +0 -1
  312. package/dist/time-range-field.d.ts.map +0 -1
  313. package/dist/timer.d.ts.map +0 -1
  314. package/dist/toast.d.ts.map +0 -1
  315. package/dist/toggle-button.d.ts.map +0 -1
  316. package/dist/toggle-group.d.ts.map +0 -1
  317. package/dist/toolbar.d.ts.map +0 -1
  318. package/dist/tooltip.d.ts.map +0 -1
  319. package/dist/tree-grid.d.ts.map +0 -1
  320. package/dist/tree-view.d.ts.map +0 -1
  321. package/dist/virtual.d.ts.map +0 -1
  322. package/dist/virtual.js.map +0 -1
  323. package/dist/window-splitter.d.ts.map +0 -1
  324. package/dist/year-picker.d.ts.map +0 -1
  325. package/dist/year-range-picker.d.ts.map +0 -1
package/dist/combobox.js CHANGED
@@ -1,4 +1,4 @@
1
- import { computed, defineComponent, h, inject, mergeProps, onBeforeUnmount, onMounted, provide, shallowRef, watch, } from 'vue';
1
+ import { computed, defineComponent, h, inject, mergeProps, nextTick, onBeforeUnmount, onMounted, provide, shallowRef, watch, } from 'vue';
2
2
  import { createCombobox, } from '@sectile/dom/combobox';
3
3
  import { createTextState } from '@sectile/dom/text';
4
4
  import { Primitive } from './primitive.js';
@@ -34,6 +34,7 @@ export const ComboboxRoot = defineComponent({
34
34
  const localInput = shallowRef(props.inputValue ?? props.defaultInputValue);
35
35
  const localOpen = shallowRef(props.open ?? props.defaultOpen);
36
36
  const highlighted = shallowRef(null);
37
+ let proposedInputState = null;
37
38
  const controlled = {
38
39
  value: useControlledStateInvariant('ComboboxRoot', 'modelValue', () => props.modelValue),
39
40
  input: useControlledStateInvariant('ComboboxRoot', 'inputValue', () => props.inputValue),
@@ -84,7 +85,22 @@ export const ComboboxRoot = defineComponent({
84
85
  ...(controlled.open ? { open: props.open } : { defaultOpen: localOpen.value }),
85
86
  disabled: props.disabled, readOnly: props.readonly,
86
87
  onValueChange: ({ value }) => { localValue.value = value; emit('update:modelValue', value); },
87
- onInputStateChange: ({ value }) => { localInput.value = value.snapshot.text; emit('update:inputValue', value.snapshot.text); },
88
+ onInputStateChange: ({ value }) => {
89
+ proposedInputState = value;
90
+ localInput.value = value.snapshot.text;
91
+ emit('update:inputValue', value.snapshot.text);
92
+ if (!controlled.input)
93
+ return;
94
+ const proposal = value;
95
+ void nextTick(() => {
96
+ if (connection.value === undefined || proposedInputState !== proposal)
97
+ return;
98
+ if (props.inputValue !== proposal.snapshot.text)
99
+ return;
100
+ proposedInputState = null;
101
+ syncControlledValues(proposal);
102
+ });
103
+ },
88
104
  onOpenChange: ({ value }) => { localOpen.value = value; emit('update:open', value); },
89
105
  onHighlightedValueChange: ({ value }) => { highlighted.value = value; emit('highlight', value); },
90
106
  onAccept: (id) => emit('accept', id), onUpdate: refresh,
@@ -100,20 +116,35 @@ export const ComboboxRoot = defineComponent({
100
116
  registerItem: (element, id, disabled) => connection.value?.setItemAttributes(element, { id, disabled }),
101
117
  });
102
118
  onMounted(connect);
103
- onBeforeUnmount(() => connection.value?.disconnect());
104
- watch([() => props.items, () => props.disabled, () => props.readonly, () => props.label, () => props.policies], connect);
119
+ onBeforeUnmount(() => { connection.value?.disconnect(); connection.value = undefined; proposedInputState = null; });
120
+ watch(() => props.items, (items, previousItems) => {
121
+ if (!sameComboboxItems(items, previousItems))
122
+ connect();
123
+ });
124
+ watch([() => props.disabled, () => props.readonly, () => props.label, () => props.policies], connect);
105
125
  watch([() => props.modelValue, () => props.inputValue, () => props.open], () => {
126
+ const inputState = controlled.input
127
+ && proposedInputState !== null
128
+ && proposedInputState.snapshot.text === props.inputValue
129
+ ? proposedInputState
130
+ : controlled.input
131
+ ? createTextState(props.inputValue)
132
+ : undefined;
133
+ proposedInputState = null;
134
+ syncControlledValues(inputState);
135
+ });
136
+ const syncControlledValues = (inputState) => {
106
137
  if (connection.value === undefined)
107
138
  return;
108
139
  const result = connection.value.syncControlledValues({
109
140
  ...(controlled.value ? { value: props.modelValue } : {}),
110
- ...(controlled.input ? { inputState: createTextState(props.inputValue) } : {}),
141
+ ...(controlled.input ? { inputState: inputState ?? createTextState(props.inputValue) } : {}),
111
142
  ...(controlled.open ? { open: props.open } : {}),
112
143
  });
113
144
  if (!result.ok)
114
145
  throw new TypeError(result.error.message);
115
146
  refresh();
116
- });
147
+ };
117
148
  return () => h(Primitive, mergeProps(attrs, {
118
149
  as: props.as, asChild: props.asChild, 'data-scope': 'combobox', 'data-part': 'root',
119
150
  'data-state': state.value.open ? 'open' : 'closed', 'data-disabled': props.disabled ? '' : undefined,
@@ -188,4 +219,13 @@ export const ComboboxEmpty = defineComponent({
188
219
  });
189
220
  function useRoot(part) { const root = inject(key); if (root === undefined)
190
221
  throw new TypeError(`${part} must be used inside ComboboxRoot.`); return root; }
222
+ function sameComboboxItems(items, previousItems) {
223
+ return items.length === previousItems.length
224
+ && items.every((item, index) => {
225
+ const previousItem = previousItems[index];
226
+ return previousItem !== undefined
227
+ && item.id === previousItem.id
228
+ && item.label === previousItem.label;
229
+ });
230
+ }
191
231
  //# sourceMappingURL=combobox.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"combobox.js","sourceRoot":"","sources":["../src/combobox.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"combobox.js","sourceRoot":"","sources":["../src/combobox.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,214 @@
1
+ import { type ComputedRef } from 'vue';
2
+ import { type DataGridColumnSizeState as DOMDataGridColumnSizeState, type DataGridDOMCommand } from '@sectile/dom/tabular';
3
+ import { type DataGridCommand as SemanticDataGridCommand, type DataGridController as SemanticDataGridController, type DataGridCursorState, type DataGridEditState, type DataGridEvent, type DataGridOptions as SemanticDataGridOptions, type DataGridProjection, type DataGridState, type DataGridUpdate } from '@sectile/tabular/data-grid';
4
+ import type { TabularAcceptedViewState, TabularAccessState, TabularCellRecord, TabularColumnState, TabularError, TabularGroupID, TabularHeaderNode, TabularHeaderNodeID, TabularLimits, TabularQuery, TabularRequest, TabularRequestState, TabularResult, TabularRow, TabularRowID, TabularRowSelection, TabularView, TabularViewResponse, TabularWireValue } from '@sectile/tabular';
5
+ import type { PrimitiveAs } from './primitive.js';
6
+ import type { DataTableCellsFromColumns, DataTableColumn, DataTableColumnID, DataTableReactiveInput, DataTableWritableRef } from './data-table.js';
7
+ import { type TabularBodyComponent, type TabularComponent } from './internal/tabular-components.js';
8
+ import { type HostConnection } from './internal/tabular-parts.js';
9
+ import { type ProfileContext, type SourceReturn, type SourceStatus, type VueProfileController } from './internal/tabular-profile.js';
10
+ export type DataGridColumn<RecordValue = unknown, ID extends string = string, CellValue extends TabularWireValue = TabularWireValue> = DataTableColumn<RecordValue, ID, CellValue>;
11
+ export type DataGridQuery = TabularQuery;
12
+ export type DataGridViewRow<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularRow<LeafCells, GroupCells>;
13
+ export type DataGridView<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularView<DataGridViewRow<LeafCells, GroupCells>>;
14
+ export type DataGridViewResponse<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularViewResponse<DataGridViewRow<LeafCells, GroupCells>>;
15
+ export type DataGridRowSelection = TabularRowSelection;
16
+ export type DataGridGroupID = TabularGroupID;
17
+ export type DataGridRowID = TabularRowID;
18
+ export type DataGridColumnState = TabularColumnState;
19
+ export type DataGridAccessState = TabularAccessState;
20
+ export type DataGridRequestState = TabularRequestState;
21
+ export type DataGridAcceptedViewState<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = TabularAcceptedViewState<DataGridViewRow<LeafCells, GroupCells>>;
22
+ export type DataGridColumnSizeState = DOMDataGridColumnSizeState;
23
+ export type DataGridSourceStatus = SourceStatus;
24
+ export type DataGridSemanticCommand = SemanticDataGridCommand;
25
+ export type DataGridCommand = DataGridDOMCommand;
26
+ export type DataGridError = TabularError;
27
+ export type DataGridCommandHandler = (command: DataGridCommand) => void;
28
+ export type DataGridErrorHandler = (error: DataGridError) => void;
29
+ export type DataGridSourceErrorHandler = (error: unknown) => void;
30
+ export type DataGridStatusChangeHandler = (status: DataGridSourceStatus) => void;
31
+ export type DataGridQueryChangeHandler = (value: DataGridQuery) => void;
32
+ export type DataGridRowSelectionChangeHandler = (value: DataGridRowSelection) => void;
33
+ export type DataGridColumnStateChangeHandler = (value: DataGridColumnState) => void;
34
+ export type DataGridAccessStateChangeHandler = (value: DataGridAccessState) => void;
35
+ export type DataGridCursorChangeHandler = (value: DataGridCursorState) => void;
36
+ export type DataGridEditStateChangeHandler = (value: DataGridEditState) => void;
37
+ export type DataGridColumnSizeChangeHandler = (value: DataGridColumnSizeState) => void;
38
+ export interface UseDataGridOptions<Columns extends readonly DataGridColumn<never>[] = readonly DataGridColumn<never>[], LeafCells extends object = DataTableCellsFromColumns<Columns>, GroupCells extends object = LeafCells> {
39
+ readonly columns: DataTableReactiveInput<Columns>;
40
+ readonly headers?: DataTableReactiveInput<readonly TabularHeaderNode[]>;
41
+ readonly sourceKey?: DataTableReactiveInput<string>;
42
+ readonly limits?: Partial<TabularLimits>;
43
+ readonly initialView?: DataGridViewResponse<LeafCells, GroupCells>;
44
+ readonly query?: DataTableWritableRef<DataGridQuery>;
45
+ readonly defaultQuery?: DataGridQuery;
46
+ readonly onQueryChange?: DataGridQueryChangeHandler;
47
+ readonly rowSelection?: DataTableWritableRef<DataGridRowSelection>;
48
+ readonly defaultRowSelection?: DataGridRowSelection;
49
+ readonly onRowSelectionChange?: DataGridRowSelectionChangeHandler;
50
+ readonly columnState?: DataTableWritableRef<DataGridColumnState>;
51
+ readonly defaultColumnState?: DataGridColumnState;
52
+ readonly onColumnStateChange?: DataGridColumnStateChangeHandler;
53
+ readonly accessState?: DataTableWritableRef<DataGridAccessState>;
54
+ readonly defaultAccessState?: DataGridAccessState;
55
+ readonly onAccessStateChange?: DataGridAccessStateChangeHandler;
56
+ readonly cursor?: DataTableWritableRef<DataGridCursorState>;
57
+ readonly defaultCursor?: DataGridCursorState;
58
+ readonly onCursorChange?: DataGridCursorChangeHandler;
59
+ readonly editState?: DataTableWritableRef<DataGridEditState>;
60
+ readonly defaultEditState?: DataGridEditState;
61
+ readonly onEditStateChange?: DataGridEditStateChangeHandler;
62
+ readonly columnSizeState?: DataTableWritableRef<Readonly<Record<string, number>>>;
63
+ readonly defaultColumnSizeState?: Readonly<Record<string, number>>;
64
+ readonly onColumnSizeStateChange?: DataGridColumnSizeChangeHandler;
65
+ readonly isCellDisabled?: SemanticDataGridOptions['isCellDisabled'];
66
+ }
67
+ declare const dataGridSchema: unique symbol;
68
+ export interface DataGridController<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> extends VueProfileController<DataGridState, DataGridEvent, SemanticDataGridCommand> {
69
+ readonly [dataGridSchema]?: {
70
+ readonly leaf: LeafCells;
71
+ readonly group: GroupCells;
72
+ };
73
+ readonly acceptedViewState: ComputedRef<DataGridAcceptedViewState<LeafCells, GroupCells>>;
74
+ getProjection(): DataGridProjection;
75
+ }
76
+ export declare function defineDataGridColumns<const Columns extends readonly DataGridColumn<never>[]>(columns: Columns): Columns;
77
+ export declare function useDataGrid<ExplicitLeafCells extends object | undefined = undefined, ExplicitGroupCells extends object | undefined = ExplicitLeafCells, const Columns extends readonly DataGridColumn<never>[] = readonly DataGridColumn<never>[], LeafCells extends object = ExplicitLeafCells extends object ? ExplicitLeafCells : DataTableCellsFromColumns<Columns>, GroupCells extends object = ExplicitGroupCells extends object ? ExplicitGroupCells : LeafCells>(options: UseDataGridOptions<Columns, LeafCells, GroupCells>): DataGridController<LeafCells, GroupCells>;
78
+ export type DataGridSourceResolver<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = (request: TabularRequest, context: {
79
+ readonly signal: AbortSignal;
80
+ }) => DataGridViewResponse<LeafCells, GroupCells> | Promise<DataGridViewResponse<LeafCells, GroupCells>>;
81
+ export interface UseDataGridSourceOptions {
82
+ readonly onError?: DataGridSourceErrorHandler;
83
+ readonly onStatusChange?: DataGridStatusChangeHandler;
84
+ }
85
+ export interface UseDataGridSourceReturn extends SourceReturn {
86
+ }
87
+ export declare function useDataGridSource<LeafCells extends object, GroupCells extends object>(controller: DataGridController<LeafCells, GroupCells>, resolver: DataGridSourceResolver<LeafCells, GroupCells>, options?: UseDataGridSourceOptions): UseDataGridSourceReturn;
88
+ export interface DataGridContextValue extends Omit<ProfileContext<DataGridState, DataGridEvent, SemanticDataGridCommand, HostConnection>, 'connection'> {
89
+ }
90
+ export declare function useDataGridContext(): DataGridContextValue;
91
+ export interface DataGridProviderProps {
92
+ }
93
+ export interface DataGridRootProps {
94
+ readonly onCommand?: DataGridCommandHandler;
95
+ readonly onError?: DataGridErrorHandler;
96
+ readonly as?: PrimitiveAs;
97
+ readonly asChild?: boolean;
98
+ }
99
+ export interface DataGridRootSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> {
100
+ readonly acceptedViewState: DataGridAcceptedViewState<LeafCells, GroupCells>;
101
+ readonly requestState: DataGridRequestState;
102
+ readonly query: DataGridQuery;
103
+ readonly rowSelection: DataGridRowSelection;
104
+ readonly columnState: DataGridColumnState;
105
+ readonly accessState: DataGridAccessState;
106
+ readonly cursor: DataGridCursorState;
107
+ readonly editState: DataGridEditState;
108
+ readonly rows: readonly DataGridViewRow<LeafCells, GroupCells>[];
109
+ }
110
+ export interface DataGridRootExpose<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> {
111
+ readonly controller: DataGridController<LeafCells, GroupCells>;
112
+ refresh(): void;
113
+ }
114
+ export interface DataGridPartProps {
115
+ readonly as?: PrimitiveAs;
116
+ readonly asChild?: boolean;
117
+ }
118
+ export type DataGridHeaderRowProps = DataGridPartProps;
119
+ export type DataGridColumnHeaderProps<Column extends string = string> = DataGridPartProps & ({
120
+ readonly column: Column;
121
+ readonly header?: never;
122
+ } | {
123
+ readonly header: TabularHeaderNodeID;
124
+ readonly column?: never;
125
+ });
126
+ export interface DataGridSortTriggerProps<Column extends string = string> extends DataGridPartProps {
127
+ readonly column: Column;
128
+ readonly comparator?: string;
129
+ }
130
+ export type DataGridFilterControlProps<Column extends string = string> = DataGridPartProps & ({
131
+ readonly scope: 'global';
132
+ readonly id: string;
133
+ readonly predicate: string;
134
+ } | {
135
+ readonly scope: 'column';
136
+ readonly column: Column;
137
+ readonly id: string;
138
+ readonly predicate: string;
139
+ });
140
+ export interface DataGridColumnResizeHandleProps<Column extends string = string> extends DataGridPartProps {
141
+ readonly column: Column;
142
+ readonly minSize?: number;
143
+ readonly maxSize?: number;
144
+ }
145
+ export interface DataGridRowProps extends DataGridPartProps {
146
+ readonly rowID: DataGridRowID;
147
+ }
148
+ export interface DataGridRowSelectionControlProps extends DataGridPartProps {
149
+ readonly rowID?: DataGridRowID;
150
+ readonly name: string;
151
+ readonly value?: string;
152
+ readonly form?: string;
153
+ readonly disabled?: boolean;
154
+ }
155
+ export interface DataGridBulkSelectionControlProps extends DataGridPartProps {
156
+ readonly target: {
157
+ readonly kind: 'all-matching';
158
+ } | {
159
+ readonly kind: 'group-leaves';
160
+ readonly groupID: DataGridGroupID;
161
+ };
162
+ readonly disabled?: boolean;
163
+ }
164
+ export interface DataGridCellProps<Column extends string = string> extends DataGridPartProps {
165
+ readonly rowID?: DataGridRowID;
166
+ readonly column: Column;
167
+ }
168
+ export interface DataGridEditorProps<Column extends string = string> extends DataGridCellProps<Column> {
169
+ readonly parseValue?: (value: string) => TabularResult<TabularWireValue>;
170
+ readonly commitOnChange?: boolean;
171
+ }
172
+ export type DataGridHeaderProps = DataGridPartProps;
173
+ export interface DataGridBodyProps extends DataGridPartProps {
174
+ readonly manual?: boolean;
175
+ }
176
+ export interface DataGridPartSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> extends DataGridRootSlotProps<LeafCells, GroupCells> {
177
+ readonly row?: DataGridViewRow<LeafCells, GroupCells>;
178
+ readonly isGroup?: boolean;
179
+ }
180
+ export type DataGridProviderSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
181
+ export interface DataGridBodySlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> extends DataGridRootSlotProps<LeafCells, GroupCells> {
182
+ readonly row: DataGridViewRow<LeafCells, GroupCells>;
183
+ readonly rowIndex: number;
184
+ readonly isGroup: boolean;
185
+ }
186
+ export type DataGridHeaderSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
187
+ export type DataGridHeaderRowSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
188
+ export type DataGridColumnHeaderSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
189
+ export type DataGridSortTriggerSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
190
+ export type DataGridFilterControlSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
191
+ export type DataGridColumnResizeHandleSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
192
+ export type DataGridRowSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
193
+ export type DataGridRowSelectionControlSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridPartSlotProps<LeafCells, GroupCells>;
194
+ export type DataGridBulkSelectionControlSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridRootSlotProps<LeafCells, GroupCells>;
195
+ export type DataGridCellSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridPartSlotProps<LeafCells, GroupCells>;
196
+ export type DataGridEditorSlotProps<LeafCells extends object = TabularCellRecord, GroupCells extends object = LeafCells> = DataGridPartSlotProps<LeafCells, GroupCells>;
197
+ export interface DataGridComponents<LeafCells extends object, GroupCells extends object = LeafCells> {
198
+ readonly Provider: TabularComponent<DataGridProviderProps, DataGridProviderSlotProps<LeafCells, GroupCells>>;
199
+ readonly Root: TabularComponent<DataGridRootProps, DataGridRootSlotProps<LeafCells, GroupCells>>;
200
+ readonly Header: TabularComponent<DataGridHeaderProps, DataGridHeaderSlotProps<LeafCells, GroupCells>>;
201
+ readonly HeaderRow: TabularComponent<DataGridHeaderRowProps, DataGridHeaderRowSlotProps<LeafCells, GroupCells>>;
202
+ readonly ColumnHeader: TabularComponent<DataGridColumnHeaderProps<DataTableColumnID<LeafCells, GroupCells>>, DataGridColumnHeaderSlotProps<LeafCells, GroupCells>>;
203
+ readonly SortTrigger: TabularComponent<DataGridSortTriggerProps<DataTableColumnID<LeafCells, GroupCells>>, DataGridSortTriggerSlotProps<LeafCells, GroupCells>>;
204
+ readonly FilterControl: TabularComponent<DataGridFilterControlProps<DataTableColumnID<LeafCells, GroupCells>>, DataGridFilterControlSlotProps<LeafCells, GroupCells>>;
205
+ readonly ColumnResizeHandle: TabularComponent<DataGridColumnResizeHandleProps<DataTableColumnID<LeafCells, GroupCells>>, DataGridColumnResizeHandleSlotProps<LeafCells, GroupCells>>;
206
+ readonly Body: TabularBodyComponent<DataGridBodyProps, DataGridRootSlotProps<LeafCells, GroupCells>, DataGridBodySlotProps<LeafCells, GroupCells>>;
207
+ readonly Row: TabularComponent<DataGridRowProps, DataGridRowSlotProps<LeafCells, GroupCells>>;
208
+ readonly RowSelectionControl: TabularComponent<DataGridRowSelectionControlProps, DataGridRowSelectionControlSlotProps<LeafCells, GroupCells>>;
209
+ readonly BulkSelectionControl: TabularComponent<DataGridBulkSelectionControlProps, DataGridBulkSelectionControlSlotProps<LeafCells, GroupCells>>;
210
+ readonly Cell: TabularComponent<DataGridCellProps<DataTableColumnID<LeafCells, GroupCells>>, DataGridCellSlotProps<LeafCells, GroupCells>>;
211
+ readonly Editor: TabularComponent<DataGridEditorProps<DataTableColumnID<LeafCells, GroupCells>>, DataGridEditorSlotProps<LeafCells, GroupCells>>;
212
+ }
213
+ export declare function createDataGridComponents<LeafCells extends object, GroupCells extends object>(controller: DataGridController<LeafCells, GroupCells>): DataGridComponents<LeafCells, GroupCells>;
214
+ export type { DataGridCursorState, DataGridEditState, DataGridEvent, DataGridProjection, DataGridState, DataGridUpdate, SemanticDataGridController };
@@ -0,0 +1,107 @@
1
+ import { getCurrentScope, onScopeDispose, toValue, watch } from 'vue';
2
+ import { connectDataGrid } from '@sectile/dom/tabular';
3
+ import { createDataGrid, } from '@sectile/tabular/data-grid';
4
+ import { createTabularComponentSuite } from './internal/tabular-components.js';
5
+ import { createTabularParts } from './internal/tabular-parts.js';
6
+ import { aliasVueProfileController, controlledValues, createVueProfileController, useProfile, useProfileSource } from './internal/tabular-profile.js';
7
+ const hosts = new WeakMap();
8
+ export function defineDataGridColumns(columns) { return columns; }
9
+ export function useDataGrid(options) {
10
+ for (const property of ['query', 'rowSelection', 'columnState', 'accessState', 'cursor', 'editState', 'columnSizeState'])
11
+ assertExclusive(options, property);
12
+ const semantic = createDataGrid({
13
+ columns: stripColumns(toValue(options.columns)),
14
+ ...(options.headers === undefined ? {} : { headers: toValue(options.headers) }),
15
+ ...(options.limits === undefined ? {} : { limits: options.limits }),
16
+ ...(options.isCellDisabled === undefined ? {} : { isCellDisabled: options.isCellDisabled }),
17
+ controlled: { query: options.query !== undefined, rowSelection: options.rowSelection !== undefined, columnState: options.columnState !== undefined, accessState: options.accessState !== undefined, expansion: false },
18
+ initialValues: {
19
+ ...(options.query === undefined && options.defaultQuery === undefined ? {} : { query: options.query?.value ?? options.defaultQuery }),
20
+ ...(options.rowSelection === undefined && options.defaultRowSelection === undefined ? {} : { rowSelection: options.rowSelection?.value ?? options.defaultRowSelection }),
21
+ ...(options.columnState === undefined && options.defaultColumnState === undefined ? {} : { columnState: options.columnState?.value ?? options.defaultColumnState }),
22
+ ...(options.accessState === undefined && options.defaultAccessState === undefined ? {} : { accessState: options.accessState?.value ?? options.defaultAccessState }),
23
+ },
24
+ ...(options.onQueryChange === undefined ? {} : { onQueryChange: options.onQueryChange }),
25
+ ...(options.onRowSelectionChange === undefined ? {} : { onRowSelectionChange: options.onRowSelectionChange }),
26
+ ...(options.onColumnStateChange === undefined ? {} : { onColumnStateChange: options.onColumnStateChange }),
27
+ ...(options.onAccessStateChange === undefined ? {} : { onAccessStateChange: options.onAccessStateChange }),
28
+ });
29
+ const base = createVueProfileController(semantic);
30
+ const notify = (before, after) => {
31
+ if (before.cursor !== after.cursor)
32
+ options.onCursorChange?.(after.cursor);
33
+ if (before.edit !== after.edit)
34
+ options.onEditStateChange?.(after.edit);
35
+ };
36
+ const controller = Object.freeze({
37
+ ...base,
38
+ dispatch: (event, revision) => { const before = base.getSnapshot(); const result = base.dispatch(event, revision); if (result.ok)
39
+ notify(before, result.value.snapshot); return result; },
40
+ synchronizeView: (response) => { const before = base.getSnapshot(); const result = base.synchronizeView(response); if (result.ok)
41
+ notify(before, result.value); return result; },
42
+ syncControlledValues: (values) => { const before = base.getSnapshot(); const result = base.syncControlledValues(values); if (result.ok)
43
+ notify(before, result.value); return result; },
44
+ requestView: () => { const before = base.getSnapshot(); const result = base.requestView(); if (result.ok)
45
+ notify(before, result.value); return result; },
46
+ abandonRequest: (requestID) => { const before = base.getSnapshot(); const result = base.abandonRequest(requestID); if (result.ok)
47
+ notify(before, result.value); return result; },
48
+ getProjection: () => semantic.getProjection(),
49
+ });
50
+ aliasVueProfileController(controller, base);
51
+ hosts.set(controller, Object.freeze({ ...(options.columnSizeState === undefined ? {} : { columnSizes: options.columnSizeState.value }), ...(options.defaultColumnSizeState === undefined ? {} : { defaultColumnSizes: options.defaultColumnSizeState }), ...(options.onColumnSizeStateChange === undefined ? {} : { onColumnSizesChange: options.onColumnSizeStateChange }) }));
52
+ if (options.initialView !== undefined)
53
+ unwrap(controller.synchronizeView(options.initialView));
54
+ const desiredCursor = options.cursor?.value ?? options.defaultCursor;
55
+ if (desiredCursor?.current !== null && desiredCursor?.current !== undefined && controller.getProjection().rows.length > 0)
56
+ unwrap(controller.dispatch({ type: 'focus-cell', cell: desiredCursor.current }));
57
+ const stops = [];
58
+ const sync = () => unwrap(controller.syncControlledValues(controlledValues(options)));
59
+ for (const source of [options.query, options.rowSelection, options.columnState, options.accessState])
60
+ if (source !== undefined)
61
+ stops.push(watch(() => source.value, sync));
62
+ if (options.sourceKey !== undefined)
63
+ stops.push(watch(() => toValue(options.sourceKey), () => { unwrap(controller.dispatch({ type: 'replace-source' })); }));
64
+ stops.push(watch(() => toValue(options.columns), () => { unwrap(controller.dispatch({ type: 'replace-source' })); }, { deep: false }));
65
+ if (options.cursor !== undefined)
66
+ stops.push(watch(() => options.cursor.value, (value) => { if (value.current !== null)
67
+ unwrap(controller.dispatch({ type: 'focus-cell', cell: value.current })); }));
68
+ if (options.editState !== undefined)
69
+ stops.push(watch(() => options.editState.value, (value) => { unwrap(controller.dispatch(value.kind === 'editing' ? { type: 'begin-edit', cell: value.cell } : { type: 'cancel-edit', reason: 'application' })); }));
70
+ const rawDispose = controller.dispose;
71
+ const wrapped = Object.freeze({ ...controller, dispose: () => { for (const stop of stops.splice(0))
72
+ stop(); rawDispose(); } });
73
+ aliasVueProfileController(wrapped, controller);
74
+ hosts.set(wrapped, hosts.get(controller) ?? {});
75
+ if (getCurrentScope() !== undefined)
76
+ onScopeDispose(wrapped.dispose);
77
+ return wrapped;
78
+ }
79
+ export function useDataGridSource(controller, resolver, options) { return useProfileSource(controller, resolver, options); }
80
+ const publicKey = Symbol('SectileDataGrid');
81
+ const privateKey = Symbol('SectileDataGridHost');
82
+ export function useDataGridContext() { return useProfile(publicKey, 'useDataGridContext'); }
83
+ const parts = createTabularParts({ profile: 'data-grid', prefix: 'DataGrid', publicKey, privateKey, connect: (element, controller, callbacks) => connectDataGrid({ controller: controller, root: element, ...hosts.get(controller), ...(callbacks.onCommand === undefined ? {} : { onCommand: callbacks.onCommand }), onSnapshotChange: callbacks.onSnapshotChange }) });
84
+ const componentSuites = new WeakMap();
85
+ export function createDataGridComponents(controller) {
86
+ return createTabularComponentSuite(parts, controller, componentSuites, 'DataGrid', {
87
+ Root: 'Root',
88
+ Header: 'Header',
89
+ HeaderRow: 'HeaderRow',
90
+ ColumnHeader: 'ColumnHeader',
91
+ SortTrigger: 'SortTrigger',
92
+ FilterControl: 'FilterControl',
93
+ ColumnResizeHandle: 'ColumnResizeHandle',
94
+ Body: 'Body',
95
+ Row: 'Row',
96
+ RowSelectionControl: 'SelectionControl',
97
+ BulkSelectionControl: 'BulkSelectionControl',
98
+ Cell: 'Cell',
99
+ Editor: 'Editor',
100
+ });
101
+ }
102
+ function stripColumns(columns) { return columns.map(({ getValue: _getValue, groupValue: _groupValue, aggregate: _aggregate, ...column }) => Object.freeze(column)); }
103
+ function assertExclusive(options, property) { const values = options; const fallback = `default${property[0].toUpperCase()}${property.slice(1)}`; if (values[property] !== undefined && values[fallback] !== undefined)
104
+ throw new TypeError(`${property} and ${fallback} are mutually exclusive.`); }
105
+ function unwrap(result) { if (!result.ok)
106
+ throw new TypeError(result.error.message); return result.value; }
107
+ //# sourceMappingURL=data-grid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"data-grid.js","sourceRoot":"","sources":["../src/data-grid.ts"],"names":[],"mappings":"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"}