@svgrid/grid 2.2.16 → 2.2.18

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 (290) hide show
  1. package/README.md +1 -1
  2. package/dist/GridFooter.svelte +12 -11
  3. package/dist/SvAnchor.svelte +65 -0
  4. package/dist/SvAnchor.svelte.d.ts +24 -0
  5. package/dist/SvAspectRatio.svelte +38 -0
  6. package/dist/SvAspectRatio.svelte.d.ts +16 -0
  7. package/dist/SvAutoComplete.svelte +52 -7
  8. package/dist/SvAutoComplete.svelte.d.ts +4 -1
  9. package/dist/SvBlockquote.svelte +43 -0
  10. package/dist/SvBlockquote.svelte.d.ts +16 -0
  11. package/dist/SvCalendar.svelte +33 -2
  12. package/dist/SvCalendar.svelte.d.ts +8 -1
  13. package/dist/SvCheckBox.svelte +6 -2
  14. package/dist/SvCode.svelte +52 -0
  15. package/dist/SvCode.svelte.d.ts +19 -0
  16. package/dist/SvCollapsible.svelte +75 -0
  17. package/dist/SvCollapsible.svelte.d.ts +27 -0
  18. package/dist/SvColorInput.svelte +11 -17
  19. package/dist/SvColorInput.svelte.d.ts +2 -0
  20. package/dist/SvComboBox.svelte +85 -8
  21. package/dist/SvComboBox.svelte.d.ts +14 -0
  22. package/dist/SvCountryInput.svelte +2 -2
  23. package/dist/SvCountryInput.svelte.d.ts +1 -1
  24. package/dist/SvDropDownList.svelte +154 -51
  25. package/dist/SvDropDownList.svelte.d.ts +17 -3
  26. package/dist/SvDurationInput.svelte +59 -41
  27. package/dist/SvDurationInput.svelte.d.ts +18 -0
  28. package/dist/SvField.svelte +203 -12
  29. package/dist/SvField.svelte.d.ts +45 -8
  30. package/dist/SvForm.svelte +195 -21
  31. package/dist/SvForm.svelte.d.ts +23 -0
  32. package/dist/SvGrid.controller.svelte.d.ts +12 -1
  33. package/dist/SvGrid.controller.svelte.js +87 -7
  34. package/dist/SvGrid.svelte +383 -181
  35. package/dist/SvGrid.types.d.ts +123 -2
  36. package/dist/SvGridChartView.svelte +70 -0
  37. package/dist/SvGridChartView.svelte.d.ts +11 -0
  38. package/dist/SvGridDropdown.svelte +9 -2
  39. package/dist/SvGridSelect.svelte +5 -2
  40. package/dist/SvGridSelect.svelte.d.ts +1 -1
  41. package/dist/SvGroup.svelte +41 -0
  42. package/dist/SvGroup.svelte.d.ts +27 -0
  43. package/dist/SvHoverCard.svelte +70 -0
  44. package/dist/SvHoverCard.svelte.d.ts +41 -0
  45. package/dist/SvKbd.svelte +51 -0
  46. package/dist/SvKbd.svelte.d.ts +18 -0
  47. package/dist/SvList.svelte +55 -0
  48. package/dist/SvList.svelte.d.ts +23 -0
  49. package/dist/SvListBox.svelte +166 -77
  50. package/dist/SvListBox.svelte.d.ts +17 -4
  51. package/dist/SvLoadingOverlay.svelte +53 -0
  52. package/dist/SvLoadingOverlay.svelte.d.ts +28 -0
  53. package/dist/SvMark.svelte +36 -0
  54. package/dist/SvMark.svelte.d.ts +14 -0
  55. package/dist/SvMaskedInput.svelte +50 -35
  56. package/dist/SvMaskedInput.svelte.d.ts +17 -2
  57. package/dist/SvMenuList.svelte +32 -3
  58. package/dist/SvMenubar.svelte +200 -0
  59. package/dist/SvMenubar.svelte.d.ts +18 -0
  60. package/dist/SvMultiSelect.svelte +7 -4
  61. package/dist/SvMultiSelect.svelte.d.ts +1 -1
  62. package/dist/SvNumberInput.svelte +79 -42
  63. package/dist/SvNumberInput.svelte.d.ts +25 -0
  64. package/dist/SvOtpInput.svelte +2 -2
  65. package/dist/SvPasswordInput.svelte +51 -31
  66. package/dist/SvPasswordInput.svelte.d.ts +17 -0
  67. package/dist/SvPhoneInput.svelte +39 -28
  68. package/dist/SvPhoneInput.svelte.d.ts +4 -0
  69. package/dist/SvPopconfirm.svelte +79 -0
  70. package/dist/SvPopconfirm.svelte.d.ts +42 -0
  71. package/dist/SvPopover.svelte +87 -29
  72. package/dist/SvPopover.svelte.d.ts +18 -4
  73. package/dist/SvRadioGroup.svelte +5 -1
  74. package/dist/SvResult.svelte +73 -0
  75. package/dist/SvResult.svelte.d.ts +28 -0
  76. package/dist/SvSegmented.svelte +114 -0
  77. package/dist/SvSegmented.svelte.d.ts +29 -0
  78. package/dist/SvSimpleGrid.svelte +41 -0
  79. package/dist/SvSimpleGrid.svelte.d.ts +25 -0
  80. package/dist/SvSlider.svelte +23 -10
  81. package/dist/SvSpinner.svelte +43 -0
  82. package/dist/SvSpinner.svelte.d.ts +20 -0
  83. package/dist/SvStack.svelte +37 -0
  84. package/dist/SvStack.svelte.d.ts +24 -0
  85. package/dist/SvSwitchButton.svelte +6 -1
  86. package/dist/SvTagsInput.svelte +9 -5
  87. package/dist/SvText.svelte +76 -0
  88. package/dist/SvText.svelte.d.ts +31 -0
  89. package/dist/SvTextInput.svelte +75 -43
  90. package/dist/SvTextInput.svelte.d.ts +28 -1
  91. package/dist/SvTimePicker.svelte +32 -2
  92. package/dist/SvTimePicker.svelte.d.ts +8 -9
  93. package/dist/SvTitle.svelte +57 -0
  94. package/dist/SvTitle.svelte.d.ts +24 -0
  95. package/dist/SvToaster.svelte +41 -6
  96. package/dist/SvToggleButton.svelte +4 -1
  97. package/dist/SvTooltip.svelte +68 -34
  98. package/dist/SvTooltip.svelte.d.ts +14 -2
  99. package/dist/SvTree.svelte +81 -21
  100. package/dist/SvTree.svelte.d.ts +3 -2
  101. package/dist/SvTreeSelect.svelte +5 -2
  102. package/dist/SvTreeSelect.svelte.d.ts +1 -1
  103. package/dist/SvVisuallyHidden.svelte +49 -0
  104. package/dist/SvVisuallyHidden.svelte.d.ts +19 -0
  105. package/dist/ai.d.ts +289 -0
  106. package/dist/ai.js +1013 -0
  107. package/dist/board-view.svelte.d.ts +22 -0
  108. package/dist/board-view.svelte.js +13 -0
  109. package/dist/build-api.js +36 -6
  110. package/dist/cdn/GridMenus-0AK9O7qG.js +420 -0
  111. package/dist/cdn/GridMenus-BjUoCXoD.js +416 -0
  112. package/dist/cdn/SvDateTimePicker-CYC7gRER.js +2176 -0
  113. package/dist/cdn/SvDateTimePicker-DtQKd4Ns.js +2198 -0
  114. package/dist/cdn/SvGridChart-BcLCYvw9.js +1195 -0
  115. package/dist/cdn/SvGridChart-BhnFdLd0.js +1203 -0
  116. package/dist/cdn/SvGridChartPanel-Cmx9DHAS.js +561 -0
  117. package/dist/cdn/SvGridChartPanel-DvjwxLvK.js +577 -0
  118. package/dist/cdn/SvGridChartView-B40DTJSX.js +54 -0
  119. package/dist/cdn/SvGridChartView-PwqI4s02.js +53 -0
  120. package/dist/cdn/SvGridDropdown-DjALc_4f.js +255 -0
  121. package/dist/cdn/SvGridDropdown-hpnHvOGt.js +254 -0
  122. package/dist/cdn/chart-T1usDN0o.js +1212 -0
  123. package/dist/cdn/disclose-version-DoD9AFD_.js +2958 -0
  124. package/dist/cdn/export-format-JT5pWVT8.js +561 -0
  125. package/dist/cdn/popover-P-9P2YYn.js +69 -0
  126. package/dist/cdn/rolldown-runtime-Dy4uBu1J.js +11 -0
  127. package/dist/cdn/src-BLhdLmoN.js +25707 -0
  128. package/dist/cdn/src-BwnUVj3T.js +25623 -0
  129. package/dist/cdn/svgrid.js +9 -32897
  130. package/dist/cdn/svgrid.svelte-external.js +9 -30052
  131. package/dist/cell-formatting.d.ts +2 -2
  132. package/dist/cell-render.js +4 -4
  133. package/dist/chart-view.svelte.d.ts +25 -0
  134. package/dist/chart-view.svelte.js +14 -0
  135. package/dist/createCombobox.svelte.d.ts +5 -0
  136. package/dist/createCombobox.svelte.js +21 -5
  137. package/dist/createDropdownList.svelte.d.ts +3 -0
  138. package/dist/createDropdownList.svelte.js +8 -2
  139. package/dist/createForm.svelte.d.ts +18 -0
  140. package/dist/createForm.svelte.js +51 -6
  141. package/dist/createMenu.svelte.js +27 -0
  142. package/dist/createPopoverSelect.svelte.d.ts +3 -0
  143. package/dist/createPopoverSelect.svelte.js +9 -1
  144. package/dist/createSlider.svelte.d.ts +8 -21
  145. package/dist/createSlider.svelte.js +34 -0
  146. package/dist/createTooltip.svelte.d.ts +12 -0
  147. package/dist/createTooltip.svelte.js +72 -9
  148. package/dist/editor-contract.d.ts +15 -0
  149. package/dist/export-provider.d.ts +27 -0
  150. package/dist/export-provider.js +9 -0
  151. package/dist/filter-operators.d.ts +6 -0
  152. package/dist/filter-operators.js +33 -0
  153. package/dist/form-field.d.ts +45 -2
  154. package/dist/grid-messages.d.ts +61 -0
  155. package/dist/grid-messages.js +72 -0
  156. package/dist/group-display.d.ts +62 -0
  157. package/dist/group-display.js +78 -0
  158. package/dist/index.d.ts +36 -4
  159. package/dist/index.js +43 -2
  160. package/dist/js-scroller.svelte.d.ts +35 -0
  161. package/dist/js-scroller.svelte.js +154 -0
  162. package/dist/list-option.d.ts +46 -0
  163. package/dist/list-option.js +53 -0
  164. package/dist/menus.js +25 -11
  165. package/dist/pivot-view.svelte.d.ts +72 -0
  166. package/dist/pivot-view.svelte.js +13 -0
  167. package/dist/positioning.d.ts +111 -0
  168. package/dist/positioning.js +191 -0
  169. package/dist/scheduler-model.d.ts +3 -0
  170. package/dist/scheduler-model.js +22 -5
  171. package/dist/svgrid-wrapper.types.d.ts +18 -0
  172. package/dist/toast-store.svelte.d.ts +54 -0
  173. package/dist/toast-store.svelte.js +65 -15
  174. package/package.json +9 -1
  175. package/src/GridFooter.svelte +12 -11
  176. package/src/SvAnchor.svelte +65 -0
  177. package/src/SvAspectRatio.svelte +38 -0
  178. package/src/SvAutoComplete.svelte +52 -7
  179. package/src/SvBlockquote.svelte +43 -0
  180. package/src/SvCalendar.svelte +33 -2
  181. package/src/SvCalendar.test.ts +15 -0
  182. package/src/SvCheckBox.svelte +6 -2
  183. package/src/SvCode.svelte +52 -0
  184. package/src/SvCollapsible.svelte +75 -0
  185. package/src/SvColorInput.svelte +11 -17
  186. package/src/SvComboBox.svelte +85 -8
  187. package/src/SvCountryInput.svelte +2 -2
  188. package/src/SvDropDownList.svelte +154 -51
  189. package/src/SvDurationInput.svelte +59 -41
  190. package/src/SvField.svelte +203 -12
  191. package/src/SvForm.svelte +195 -21
  192. package/src/SvForm.test.ts +112 -0
  193. package/src/SvGrid.controller.svelte.ts +88 -7
  194. package/src/SvGrid.svelte +383 -181
  195. package/src/SvGrid.types.ts +125 -1
  196. package/src/SvGridChartView.svelte +70 -0
  197. package/src/SvGridDropdown.svelte +9 -2
  198. package/src/SvGridSelect.svelte +5 -2
  199. package/src/SvGroup.svelte +41 -0
  200. package/src/SvHoverCard.svelte +70 -0
  201. package/src/SvKbd.svelte +51 -0
  202. package/src/SvList.svelte +55 -0
  203. package/src/SvListBox.svelte +166 -77
  204. package/src/SvLoadingOverlay.svelte +53 -0
  205. package/src/SvMark.svelte +36 -0
  206. package/src/SvMaskedInput.svelte +50 -35
  207. package/src/SvMenuList.svelte +32 -3
  208. package/src/SvMenubar.svelte +200 -0
  209. package/src/SvMultiSelect.svelte +7 -4
  210. package/src/SvNumberInput.svelte +79 -42
  211. package/src/SvOtpInput.svelte +2 -2
  212. package/src/SvPasswordInput.svelte +51 -31
  213. package/src/SvPhoneInput.svelte +39 -28
  214. package/src/SvPopconfirm.svelte +79 -0
  215. package/src/SvPopover.svelte +87 -29
  216. package/src/SvRadioGroup.svelte +5 -1
  217. package/src/SvResult.svelte +73 -0
  218. package/src/SvSegmented.svelte +114 -0
  219. package/src/SvSimpleGrid.svelte +41 -0
  220. package/src/SvSlider.svelte +23 -10
  221. package/src/SvSpinner.svelte +43 -0
  222. package/src/SvStack.svelte +37 -0
  223. package/src/SvSwitchButton.svelte +6 -1
  224. package/src/SvTagsInput.svelte +9 -5
  225. package/src/SvText.svelte +76 -0
  226. package/src/SvTextInput.svelte +75 -43
  227. package/src/SvTimePicker.svelte +32 -2
  228. package/src/SvTitle.svelte +57 -0
  229. package/src/SvToaster.svelte +41 -6
  230. package/src/SvToaster.test.ts +32 -0
  231. package/src/SvToggleButton.svelte +4 -1
  232. package/src/SvTooltip.svelte +68 -34
  233. package/src/SvTree.svelte +81 -21
  234. package/src/SvTreeSelect.svelte +5 -2
  235. package/src/SvVisuallyHidden.svelte +49 -0
  236. package/src/ai.test.ts +502 -0
  237. package/src/ai.ts +1391 -0
  238. package/src/board-view.svelte.ts +33 -0
  239. package/src/build-api.coverage.test.ts +101 -0
  240. package/src/build-api.ts +43 -18
  241. package/src/builtin-editors.grid.test.ts +1 -1
  242. package/src/cell-formatting.ts +5 -5
  243. package/src/cell-render.ts +4 -4
  244. package/src/chart-view.svelte.ts +36 -0
  245. package/src/createCombobox.svelte.ts +17 -5
  246. package/src/createDropdownList.svelte.ts +8 -2
  247. package/src/createForm.svelte.ts +59 -6
  248. package/src/createMenu.svelte.ts +23 -0
  249. package/src/createPopoverSelect.svelte.ts +8 -1
  250. package/src/createSlider.svelte.ts +20 -0
  251. package/src/createTooltip.svelte.ts +67 -9
  252. package/src/editor-contract.ts +16 -0
  253. package/src/export-provider.ts +40 -0
  254. package/src/filter-operators.ts +37 -0
  255. package/src/form-field.ts +42 -2
  256. package/src/grid-messages.test.ts +24 -0
  257. package/src/grid-messages.ts +137 -0
  258. package/src/group-display.test.ts +77 -0
  259. package/src/group-display.ts +117 -0
  260. package/src/i18n.grid.test.ts +73 -0
  261. package/src/index.ts +91 -2
  262. package/src/js-scroller.svelte.ts +173 -0
  263. package/src/list-option.test.ts +56 -0
  264. package/src/list-option.ts +81 -0
  265. package/src/menus.test.ts +32 -0
  266. package/src/menus.ts +25 -12
  267. package/src/pivot-view.svelte.ts +90 -0
  268. package/src/pivot-view.test.ts +38 -0
  269. package/src/pivot.grid.test.ts +102 -0
  270. package/src/positioning.test.ts +141 -0
  271. package/src/positioning.ts +266 -0
  272. package/src/scheduler-model.test.ts +16 -0
  273. package/src/scheduler-model.ts +24 -5
  274. package/src/svgrid-wrapper.types.ts +23 -0
  275. package/src/svgrid.charting.test.ts +8 -1
  276. package/src/svgrid.comments-autocomplete.test.ts +7 -2
  277. package/src/svgrid.context-menu.test.ts +8 -3
  278. package/src/toast-store.svelte.ts +98 -0
  279. package/src/toast-store.test.ts +62 -1
  280. package/src/ui-breadth.test.ts +138 -0
  281. package/src/ui-buttons.test.ts +39 -0
  282. package/src/ui-inputs.test.ts +2 -2
  283. package/src/ui-range.test.ts +9 -0
  284. package/src/ui-selection.test.ts +36 -0
  285. package/src/ui-tier1.test.ts +1 -1
  286. package/src/virtual.test.ts +20 -6
  287. package/dist/SvGridBoard.svelte +0 -2339
  288. package/dist/SvGridBoard.svelte.d.ts +0 -31
  289. package/src/SvGridBoard.svelte +0 -2339
  290. package/src/board.test.ts +0 -927
@@ -0,0 +1,22 @@
1
+ /**
2
+ * board-view registry - the injection seam for the Kanban *board view of the
3
+ * grid*. Setting the `board` prop on `<SvGrid>` switches the table for lanes of
4
+ * cards, but the renderer itself ships in `@svgrid/enterprise` (a paid feature).
5
+ * This tiny reactive holder lets enterprise register that renderer at import
6
+ * time; the grid looks it up and mounts it, or shows an upsell placeholder when
7
+ * it is absent. Mirrors the `scheduler-view` / `editor-registry` pattern.
8
+ *
9
+ * ```ts
10
+ * // in @svgrid/enterprise, at module load:
11
+ * import { registerBoardView } from '@svgrid/grid'
12
+ * import SvGridBoard from './SvGridBoard.svelte'
13
+ * registerBoardView(SvGridBoard)
14
+ * ```
15
+ */
16
+ import type { Component } from 'svelte';
17
+ /** Register the component that renders `board` mode. Enterprise calls this. */
18
+ export declare function registerBoardView(component: Component<any>): void;
19
+ /** The registered board renderer, or null when enterprise is not installed. */
20
+ export declare function getBoardView(): Component<any> | null;
21
+ /** Whether a board renderer has been registered. */
22
+ export declare function hasBoardView(): boolean;
@@ -0,0 +1,13 @@
1
+ let renderer = $state(null);
2
+ /** Register the component that renders `board` mode. Enterprise calls this. */
3
+ export function registerBoardView(component) {
4
+ renderer = component;
5
+ }
6
+ /** The registered board renderer, or null when enterprise is not installed. */
7
+ export function getBoardView() {
8
+ return renderer;
9
+ }
10
+ /** Whether a board renderer has been registered. */
11
+ export function hasBoardView() {
12
+ return renderer != null;
13
+ }
package/dist/build-api.js CHANGED
@@ -1,6 +1,5 @@
1
1
  import "./sv-grid-scrollbar";
2
2
  import { untrack } from "svelte";
3
- import { projectGridRows, serializeDelimited, serializeJson, serializeMarkdown, downloadTextFile, copyTextToClipboard, } from "./export-format";
4
3
  import { isGroupRow, getColumnAlign, columnDefMatchesId, } from "./cell-values";
5
4
  export function createGridApi(ctx) {
6
5
  function buildApi() {
@@ -30,7 +29,10 @@ export function createGridApi(ctx) {
30
29
  }
31
30
  return out;
32
31
  };
33
- const projectForExport = (scope, columns, rawValues) => projectGridRows(exportScopeRows(scope), exportColumns(), { columns, rawValues });
32
+ const projectForExport = async (scope, columns, rawValues) => {
33
+ const { projectGridRows } = await import("./export-format");
34
+ return projectGridRows(exportScopeRows(scope), exportColumns(), { columns, rawValues });
35
+ };
34
36
  return {
35
37
  getCellValue(rowIndex, columnId) {
36
38
  const row = ctx.internalData[rowIndex];
@@ -226,6 +228,30 @@ export function createGridApi(ctx) {
226
228
  setGroupBy(columnIds) {
227
229
  ctx.grid.setGrouping([...columnIds]);
228
230
  },
231
+ setOption(key, value) {
232
+ // Runtime prop override. Writes into the controller's `optionOverrides`
233
+ // store, which the effective-props proxy merges over the incoming prop, so
234
+ // the grid re-renders exactly as if the parent had changed that prop.
235
+ // `undefined` clears the override (falls back to the prop). Reassign the
236
+ // whole object for reliable reactivity; `untrack` per the `setFilter` note.
237
+ untrack(() => {
238
+ const next = { ...ctx.optionOverrides };
239
+ if (value === undefined)
240
+ delete next[key];
241
+ else
242
+ next[key] = value;
243
+ ctx.optionOverrides = next;
244
+ });
245
+ },
246
+ getOption(key) {
247
+ // The effective value: the override if set, otherwise the incoming prop.
248
+ return ctx.props[key];
249
+ },
250
+ resetOptions() {
251
+ untrack(() => {
252
+ ctx.optionOverrides = {};
253
+ });
254
+ },
229
255
  setFilter(columnId, filter) {
230
256
  // `untrack`: these imperative mutators read the same filter state they
231
257
  // write (read-modify-write on `filterMenuValues`). When a consumer
@@ -365,7 +391,8 @@ export function createGridApi(ctx) {
365
391
  },
366
392
  // ---- Free data export (CSV / TSV / JSON + clipboard) -----------------
367
393
  async exportCsv(options = {}) {
368
- const { records, fields } = projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
394
+ const { serializeDelimited, downloadTextFile } = await import("./export-format");
395
+ const { records, fields } = await projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
369
396
  const text = await serializeDelimited(records, fields, {
370
397
  csv: { delimiter: ",", bom: options.bom ?? true },
371
398
  signal: options.signal,
@@ -376,7 +403,8 @@ export function createGridApi(ctx) {
376
403
  return text;
377
404
  },
378
405
  async exportTsv(options = {}) {
379
- const { records, fields } = projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
406
+ const { serializeDelimited, downloadTextFile } = await import("./export-format");
407
+ const { records, fields } = await projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
380
408
  const text = await serializeDelimited(records, fields, {
381
409
  csv: { delimiter: "\t", bom: options.bom ?? true },
382
410
  signal: options.signal,
@@ -387,7 +415,8 @@ export function createGridApi(ctx) {
387
415
  return text;
388
416
  },
389
417
  async exportJson(options = {}) {
390
- const { records, fields } = projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
418
+ const { serializeJson, downloadTextFile } = await import("./export-format");
419
+ const { records, fields } = await projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
391
420
  const text = await serializeJson(records, fields, {
392
421
  signal: options.signal,
393
422
  onProgress: options.onProgress,
@@ -397,7 +426,8 @@ export function createGridApi(ctx) {
397
426
  return text;
398
427
  },
399
428
  async copyToClipboard(options = {}) {
400
- const { records, fields, align } = projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
429
+ const { serializeDelimited, serializeMarkdown, copyTextToClipboard } = await import("./export-format");
430
+ const { records, fields, align } = await projectForExport(options.rows ?? "displayed", options.columns, options.rawValues);
401
431
  const format = options.format ?? "tsv";
402
432
  const text = format === "markdown"
403
433
  ? await serializeMarkdown(records, fields, { align })
@@ -0,0 +1,420 @@
1
+ import { eo as e, to as t } from "./src-BLhdLmoN.js";
2
+ import * as n from "svelte/internal/client";
3
+ import "svelte/internal/disclose-version";
4
+ //#region src/GridMenus.svelte
5
+ var r = n.from_html("<option> </option>"), i = n.from_html("<option></option>"), a = n.from_html("<datalist></datalist>"), o = n.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), s = n.from_html("<option> </option>"), c = n.from_html("<input class=\"sv-grid-menu-condition-value\" placeholder=\"To\"/>"), l = n.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!>", 1), u = n.from_html("<div class=\"sv-grid-menu-join\" role=\"radiogroup\" aria-label=\"Combine conditions\"><button type=\"button\">AND</button> <button type=\"button\">OR</button> <button type=\"button\" class=\"sv-grid-menu-join-x\" title=\"Remove second condition\" aria-label=\"Remove second condition\">×</button></div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Second filter condition\"></select> <!>", 1), d = n.from_html("<button type=\"button\" class=\"sv-grid-menu-add-cond\">+ Add condition</button>"), f = n.from_html("<input class=\"sv-grid-menu-condition-value\"/> <!> <!> <!>", 1), p = n.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), m = n.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), h = n.from_html("<div class=\"sv-grid-facet-note\"> </div>"), g = n.from_html("<div class=\"sv-grid-menu-filter\"><div class=\"sv-grid-menu-filter-head\"><span class=\"sv-grid-header-icon\"><!></span> Filter\n condition</div> <select class=\"sv-grid-menu-operator-select\" aria-label=\"Filter condition\"></select> <!> <div class=\"sv-grid-menu-sep\"></div> <div class=\"sv-grid-menu-filter-head\">Values</div> <input class=\"sv-grid-menu-search\" placeholder=\"Search values...\"/> <label class=\"sv-grid-facet sv-grid-facet-all\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\">(Select all)</span></label> <div class=\"sv-grid-facet-list\"></div> <!> <div class=\"sv-grid-menu-actions\"><button type=\"button\" class=\"sv-grid-menu-btn\">Clear filter</button> <button type=\"button\" class=\"sv-grid-menu-btn sv-grid-menu-btn-primary\">Done</button></div></div>"), _ = n.from_html("<div role=\"tooltip\"> </div>"), v = n.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div>"), y = n.from_html("<button type=\"button\" role=\"tab\">Filter</button>"), b = n.from_html("<div class=\"sv-grid-menu-tabs\" role=\"tablist\"><button type=\"button\" role=\"tab\">General</button> <!> <button type=\"button\" role=\"tab\">Columns</button></div>"), x = n.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), S = n.from_html("<div class=\"sv-grid-menu-filter-head\">Visible columns</div> <div class=\"sv-grid-facet-list\"></div>", 1), C = n.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n ascending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Sort\n descending</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove sort</button>", 1), w = n.from_html("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to left</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Pin to right</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Unpin column</button>", 1), T = n.from_html("<div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Group\n by this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Remove grouping</button>", 1), E = n.from_html("<button type=\"button\" role=\"menuitem\" aria-haspopup=\"menu\"><span class=\"sv-grid-header-icon\"><!></span> Choose columns <span class=\"sv-grid-header-icon sv-grid-menu-item-chevron\"><!></span></button>"), D = n.from_html("<!> <!> <div class=\"sv-grid-menu-sep\"></div> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n this column</button> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Autosize\n all columns</button> <!> <div class=\"sv-grid-menu-sep\"></div> <!> <button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"><span class=\"sv-grid-header-icon\"><!></span> Reset columns</button>", 1), O = n.from_html("<div class=\"sv-grid-menu sv-grid-column-menu\" role=\"menu\"><!> <!></div>"), ee = n.from_html("<div class=\"sv-grid-menu sv-grid-filter-menu\" role=\"menu\"><!></div>"), k = n.from_html("<label class=\"sv-grid-facet\"><input type=\"checkbox\"/> <span class=\"sv-grid-facet-label\"> </span></label>"), A = n.from_html("<div class=\"sv-grid-menu sv-grid-choose-columns-menu\" role=\"menu\"><div class=\"sv-grid-menu-filter-head\">Visible columns</div> <div class=\"sv-grid-facet-list\"></div></div>"), j = n.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitemradio\"><span class=\"sv-grid-header-icon\"><!></span> </button>"), M = n.from_html("<div class=\"sv-grid-menu sv-grid-operator-menu\" role=\"menu\"></div>"), N = n.from_html("<button type=\"button\" class=\"sv-grid-menu-item sv-grid-in-suggest-item\" role=\"option\"><span class=\"sv-grid-in-suggest-check\" aria-hidden=\"true\"> </span> <span class=\"sv-grid-in-suggest-label\"> </span></button>"), te = n.from_html("<div class=\"sv-grid-facet-empty\">No values</div>"), ne = n.from_html("<div class=\"sv-grid-menu sv-grid-in-suggest\" role=\"listbox\" aria-multiselectable=\"true\" aria-label=\"Filter values\"></div>"), P = n.from_html("<div class=\"sv-grid-menu-sep\"></div>"), re = n.from_html("<button type=\"button\" class=\"sv-grid-menu-item\" role=\"menuitem\"> </button>"), ie = n.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-context-menu\" role=\"menu\"></div>", 1), ae = n.from_html("<div class=\"sv-grid-menu-backdrop\" role=\"presentation\"></div> <div class=\"sv-grid-menu sv-grid-comment-editor\" role=\"dialog\" aria-label=\"Edit comment\"><textarea class=\"sv-grid-comment-textarea\" rows=\"3\" placeholder=\"Add a comment…\"></textarea> <div class=\"sv-grid-comment-actions\"><button type=\"button\" class=\"sv-grid-comment-remove\">Remove</button> <span class=\"sv-grid-comment-spacer\"></span> <button type=\"button\" class=\"sv-grid-comment-cancel\">Cancel</button> <button type=\"button\" class=\"sv-grid-comment-save\">Save</button></div></div>", 1), oe = n.from_html("<!> <!> <!> <!> <!> <!> <!> <!> <!>", 1);
6
+ function se(se, F) {
7
+ n.push(F, !0);
8
+ let ce = (e, _ = n.noop) => {
9
+ let v = n.derived(() => n.get(q).find((e) => e.id === _())), y = n.derived(() => n.get(Se)(n.get(v))), b = n.derived(() => n.get(L)[_()]?.operator ?? n.get(J)(n.get(v))), x = n.derived(() => t(n.get(v)?.columnDef.editorType ?? "text"));
10
+ var S = g(), C = n.child(S), w = n.child(C), T = n.child(w);
11
+ n.snippet(T, () => F.icon, () => "filter"), n.reset(w), n.next(), n.reset(C);
12
+ var E = n.sibling(C, 2);
13
+ n.each(E, 21, () => n.get(y), (e) => e.value, (e, t) => {
14
+ var i = r(), a = n.child(i, !0);
15
+ n.reset(i);
16
+ var o = {};
17
+ n.template_effect((e) => {
18
+ n.set_text(a, e), o !== (o = n.get(t).value) && (i.value = (i.__value = n.get(t).value) ?? "");
19
+ }, [() => n.get(Y)(n.get(t), n.get(v))]), n.append(e, i);
20
+ }), n.reset(E);
21
+ var D;
22
+ n.init_select(E);
23
+ var O = n.sibling(E, 2), ee = (e) => {
24
+ let t = n.derived(() => n.get(b) === "in" || n.get(b) === "notIn"), r = n.derived(() => n.get(L)[_()]);
25
+ var p = f(), m = n.first_child(p);
26
+ n.remove_input_defaults(m);
27
+ var h = n.sibling(m, 2), g = (e) => {
28
+ var t = a();
29
+ n.each(t, 20, () => n.get(Oe)(_()).slice(0, 200), (e) => e, (e, t) => {
30
+ var r = i(), a = {};
31
+ n.template_effect(() => {
32
+ a !== (a = t) && (r.value = (r.__value = t) ?? "");
33
+ }), n.append(e, r);
34
+ }), n.reset(t), n.template_effect(() => n.set_attribute(t, "id", `sv-in-list-${_()}`)), n.append(e, t);
35
+ };
36
+ n.if(h, (e) => {
37
+ n.get(t) && e(g);
38
+ });
39
+ var S = n.sibling(h, 2), C = (e) => {
40
+ var t = o();
41
+ n.remove_input_defaults(t), n.template_effect(() => {
42
+ n.set_attribute(t, "type", n.get(x)), n.set_value(t, n.get(L)[_()]?.valueTo ?? "");
43
+ }), n.delegated("input", t, (e) => n.get(xe)(_(), e.currentTarget.value)), n.append(e, t);
44
+ };
45
+ n.if(S, (e) => {
46
+ n.get(b) === "between" && e(C);
47
+ });
48
+ var w = n.sibling(S, 2), T = (e) => {
49
+ let t = n.derived(() => n.get(r).operator2 ?? n.get(J)(n.get(v)));
50
+ var i = u(), a = n.first_child(i), o = n.child(a);
51
+ let d;
52
+ var f = n.sibling(o, 2);
53
+ let p;
54
+ var m = n.sibling(f, 2);
55
+ n.reset(a);
56
+ var h = n.sibling(a, 2);
57
+ n.each(h, 21, () => n.get(y), (e) => e.value, (e, t) => {
58
+ var r = s(), i = n.child(r, !0);
59
+ n.reset(r);
60
+ var a = {};
61
+ n.template_effect((e) => {
62
+ n.set_text(i, e), a !== (a = n.get(t).value) && (r.value = (r.__value = n.get(t).value) ?? "");
63
+ }, [() => n.get(Y)(n.get(t), n.get(v))]), n.append(e, r);
64
+ }), n.reset(h);
65
+ var g;
66
+ n.init_select(h);
67
+ var b = n.sibling(h, 2), S = (e) => {
68
+ var i = l(), a = n.first_child(i);
69
+ n.remove_input_defaults(a);
70
+ var o = n.sibling(a, 2), s = (e) => {
71
+ var t = c();
72
+ n.remove_input_defaults(t), n.template_effect(() => {
73
+ n.set_attribute(t, "type", n.get(x)), n.set_value(t, n.get(r).valueTo2 ?? "");
74
+ }), n.delegated("input", t, (e) => X(_(), { valueTo2: e.currentTarget.value })), n.append(e, t);
75
+ };
76
+ n.if(o, (e) => {
77
+ n.get(t) === "between" && e(s);
78
+ }), n.template_effect(() => {
79
+ n.set_attribute(a, "type", n.get(x)), n.set_value(a, n.get(r).value2 ?? ""), n.set_attribute(a, "placeholder", n.get(t) === "between" ? "From" : "Filter value...");
80
+ }), n.delegated("input", a, (e) => X(_(), { value2: e.currentTarget.value })), n.append(e, i);
81
+ };
82
+ n.if(b, (e) => {
83
+ n.get(t) !== "isBlank" && e(S);
84
+ }), n.template_effect(() => {
85
+ d = n.set_class(o, 1, "", null, d, { "is-on": (n.get(r).join ?? "AND") === "AND" }), p = n.set_class(f, 1, "", null, p, { "is-on": n.get(r).join === "OR" }), g !== (g = n.get(t)) && (h.value = (h.__value = n.get(t)) ?? "", n.select_option(h, n.get(t)));
86
+ }), n.delegated("click", o, () => X(_(), { join: "AND" })), n.delegated("click", f, () => X(_(), { join: "OR" })), n.delegated("click", m, () => X(_(), {
87
+ operator2: void 0,
88
+ value2: void 0,
89
+ valueTo2: void 0,
90
+ join: void 0
91
+ })), n.delegated("change", h, (e) => X(_(), { operator2: e.currentTarget.value })), n.append(e, i);
92
+ }, E = (e) => {
93
+ var t = d();
94
+ n.delegated("click", t, () => X(_(), {
95
+ operator2: n.get(J)(n.get(v)),
96
+ value2: "",
97
+ join: "AND"
98
+ })), n.append(e, t);
99
+ };
100
+ n.if(w, (e) => {
101
+ n.get(r)?.operator2 ? e(T) : e(E, -1);
102
+ }), n.template_effect(() => {
103
+ n.set_attribute(m, "type", n.get(b) === "regex" ? "text" : n.get(x)), n.set_attribute(m, "list", n.get(t) ? `sv-in-list-${_()}` : void 0), n.set_value(m, n.get(L)[_()]?.value ?? ""), n.set_attribute(m, "placeholder", n.get(b) === "between" ? "From" : n.get(t) ? "value, value..." : n.get(b) === "regex" ? "Pattern..." : "Filter value...");
104
+ }), n.delegated("input", m, (e) => n.get(be)(_(), e.currentTarget.value)), n.append(e, p);
105
+ };
106
+ n.if(O, (e) => {
107
+ n.get(b) !== "isBlank" && n.get(b) !== "isNotBlank" && e(ee);
108
+ });
109
+ var k = n.sibling(O, 6);
110
+ n.remove_input_defaults(k);
111
+ var A = n.sibling(k, 2), j = n.child(A);
112
+ n.remove_input_defaults(j), n.next(2), n.reset(A);
113
+ var M = n.sibling(A, 2);
114
+ n.each(M, 20, () => n.get(Q), (e) => e, (e, t) => {
115
+ var r = p(), i = n.child(r);
116
+ n.remove_input_defaults(i);
117
+ var a = n.sibling(i, 2), o = n.child(a, !0);
118
+ n.reset(a), n.reset(r), n.template_effect((e) => {
119
+ n.set_checked(i, e), n.set_text(o, t === "" ? "(Blanks)" : t);
120
+ }, [() => n.get(ze)(_(), t)]), n.delegated("change", i, () => n.get(Be)(_(), t)), n.append(e, r);
121
+ }, (e) => {
122
+ var t = m();
123
+ n.append(e, t);
124
+ }), n.reset(M);
125
+ var N = n.sibling(M, 2), te = (e) => {
126
+ var t = h(), r = n.child(t);
127
+ n.reset(t), n.template_effect(() => n.set_text(r, `Showing ${n.get(Q).length ?? ""} of ${n.get(Re).length ?? ""}`)), n.append(e, t);
128
+ };
129
+ n.if(N, (e) => {
130
+ n.get(Re).length > n.get(Q).length && e(te);
131
+ });
132
+ var ne = n.sibling(N, 2), P = n.child(ne), re = n.sibling(P, 2);
133
+ n.reset(ne), n.reset(S), n.template_effect((e, t) => {
134
+ D !== (D = n.get(b)) && (E.value = (E.__value = n.get(b)) ?? "", n.select_option(E, n.get(b))), n.set_checked(j, e), P.disabled = t;
135
+ }, [() => n.get(Ve)(_()), () => !n.get(ke)(_())]), n.delegated("change", E, (e) => n.get(ye)(_(), e.currentTarget.value)), n.bind_value(k, () => I().columnMenuSearch, (e) => I().columnMenuSearch = e), n.delegated("change", j, () => n.get(He)(_())), n.delegated("click", P, () => n.get(Ue)(_())), n.delegated("click", re, function(...e) {
136
+ n.get(Z)?.apply(this, e);
137
+ }), n.append(e, S);
138
+ }, I = n.prop(F, "ctrl", 7), le = n.derived(() => I().groupingControlsEnabled), L = n.derived(() => I().filterMenuValues), R = n.derived(() => I().tooltip);
139
+ n.derived(() => I().showTooltipFor);
140
+ let z = n.derived(() => I().columnMenuFor), B = n.derived(() => I().columnMenuPos), V = n.derived(() => I().filterMenuFor), H = n.derived(() => I().filterMenuPos), U = n.derived(() => I().operatorMenuFor), ue = n.derived(() => I().operatorMenuPos), W = n.derived(() => I().chooseColumnsPos), G = n.derived(() => I().showColumnFiltersEffective), K = n.derived(() => I().props.columnMenuTabs === !0), de = n.derived(() => I().grid), q = n.derived(() => I().allColumns), fe = n.derived(() => I().isColumnPinned), pe = n.derived(() => I().pinColumnLeft), me = n.derived(() => I().pinColumnRight), he = n.derived(() => I().unpinColumn), ge = n.derived(() => I().sortDirectionByColumn), _e = n.derived(() => I().groupingColumns), ve = n.derived(() => I().columnVirtualizationEnabled), ye = n.derived(() => I().updateFilterOperator), be = n.derived(() => I().updateFilterMenuValue), xe = n.derived(() => I().updateFilterMenuValueTo), Se = n.derived(() => I().operatorsForColumn), J = n.derived(() => I().defaultOperatorFor), Y = n.derived(() => I().operatorLabelFor), Ce = n.derived(() => I().filterRowValues), we = n.derived(() => I().inSuggestFor), Te = n.derived(() => I().inSuggestPos), Ee = n.derived(() => I().inSuggestValues), De = n.derived(() => I().toggleFilterToken), Oe = n.derived(() => I().facetValuesForColumn);
141
+ function X(e, t) {
142
+ let r = n.get(q).find((t) => t.id === e), i = I().filterMenuValues[e] ?? {
143
+ operator: n.get(J)(r),
144
+ value: ""
145
+ };
146
+ I().filterMenuValues = {
147
+ ...I().filterMenuValues,
148
+ [e]: {
149
+ ...i,
150
+ ...t
151
+ }
152
+ };
153
+ }
154
+ let ke = n.derived(() => I().isColumnFiltered), Z = n.derived(() => I().closeMenus);
155
+ n.user_effect(() => {
156
+ if (!(n.get(z) || n.get(V) || n.get(U) || n.get(W))) return;
157
+ let e = () => n.get(Z)();
158
+ return window.addEventListener("scroll", e, !0), window.addEventListener("resize", e), () => {
159
+ window.removeEventListener("scroll", e, !0), window.removeEventListener("resize", e);
160
+ };
161
+ });
162
+ let Ae = n.derived(() => I().autosizeColumn), je = n.derived(() => I().autosizeAllColumns), Me = n.derived(() => I().resetColumns), Ne = n.derived(() => I().openChooseColumns), Pe = n.derived(() => I().sortColumnFromMenu), Fe = n.derived(() => I().clearColumnSort), Ie = n.derived(() => I().groupByColumnFromMenu), Le = n.derived(() => I().clearGroupingFromMenu), Re = n.derived(() => I().columnMenuFacetValues), Q = n.derived(() => I().columnMenuVisibleFacets), ze = n.derived(() => I().isFacetChecked), Be = n.derived(() => I().toggleFacetValue), Ve = n.derived(() => I().isAllFacetsChecked), He = n.derived(() => I().toggleAllFacets), Ue = n.derived(() => I().clearColumnFilter), We = n.derived(() => I().contextMenuFor), Ge = n.derived(() => I().contextMenuPos), Ke = n.derived(() => I().contextMenuItems), $ = n.derived(() => I().closeContextMenu), qe = n.derived(() => I().commentEditFor), Je = n.derived(() => I().saveComment), Ye = n.derived(() => I().removeComment), Xe = n.derived(() => I().closeCommentEditor);
163
+ var Ze = oe(), Qe = n.first_child(Ze), $e = (e) => {
164
+ var t = _();
165
+ let r;
166
+ var i = n.child(t, !0);
167
+ n.reset(t), n.template_effect(() => {
168
+ r = n.set_class(t, 1, "sv-grid-tooltip", null, r, { "sv-grid-tooltip-above": !n.get(R).below }), n.set_style(t, `left: ${n.get(R).x}px; top: ${n.get(R).y}px; ${n.get(R).below ? "" : "transform: translateY(-100%);"}`), n.set_text(i, n.get(R).text);
169
+ }), n.append(e, t);
170
+ };
171
+ n.if(Qe, (e) => {
172
+ n.get(R) && e($e);
173
+ });
174
+ var et = n.sibling(Qe, 2), tt = (e) => {
175
+ var t = v();
176
+ n.delegated("click", t, function(...e) {
177
+ n.get(Z)?.apply(this, e);
178
+ }), n.append(e, t);
179
+ };
180
+ n.if(et, (e) => {
181
+ (n.get(z) || n.get(V) || n.get(U) || n.get(W)) && e(tt);
182
+ });
183
+ var nt = n.sibling(et, 2), rt = (e) => {
184
+ let t = n.derived(() => n.get(z)), r = n.derived(() => n.get(q).find((e) => e.id === n.get(t))), i = n.derived(() => n.get(r)?.getCanSort?.() ?? !1), a = n.derived(() => n.get(r)?.columnDef.field != null && n.get(r)?.columnDef.filterable !== !1), o = n.derived(() => I().columnMenuTab);
185
+ var s = O(), c = n.child(s), l = (e) => {
186
+ var t = b(), r = n.child(t);
187
+ let i;
188
+ var s = n.sibling(r, 2), c = (e) => {
189
+ var t = y();
190
+ let r;
191
+ n.template_effect(() => {
192
+ r = n.set_class(t, 1, "sv-grid-menu-tab", null, r, { "is-active": n.get(o) === "filter" }), n.set_attribute(t, "aria-selected", n.get(o) === "filter");
193
+ }), n.delegated("click", t, () => I().columnMenuTab = "filter"), n.append(e, t);
194
+ };
195
+ n.if(s, (e) => {
196
+ n.get(a) && n.get(G) && e(c);
197
+ });
198
+ var l = n.sibling(s, 2);
199
+ let u;
200
+ n.reset(t), n.template_effect(() => {
201
+ i = n.set_class(r, 1, "sv-grid-menu-tab", null, i, { "is-active": n.get(o) === "general" }), n.set_attribute(r, "aria-selected", n.get(o) === "general"), u = n.set_class(l, 1, "sv-grid-menu-tab", null, u, { "is-active": n.get(o) === "columns" }), n.set_attribute(l, "aria-selected", n.get(o) === "columns");
202
+ }), n.delegated("click", r, () => I().columnMenuTab = "general"), n.delegated("click", l, () => I().columnMenuTab = "columns"), n.append(e, t);
203
+ };
204
+ n.if(c, (e) => {
205
+ n.get(K) && e(l);
206
+ });
207
+ var u = n.sibling(c, 2), d = (e) => {
208
+ ce(e, () => n.get(t));
209
+ }, f = (e) => {
210
+ var t = S(), r = n.sibling(n.first_child(t), 2);
211
+ n.each(r, 21, () => n.get(de).getAllColumns(), (e) => e.id, (e, t) => {
212
+ var r = x(), i = n.child(r);
213
+ n.remove_input_defaults(i);
214
+ var a = n.sibling(i, 2), o = n.child(a, !0);
215
+ n.reset(a), n.reset(r), n.template_effect(() => {
216
+ n.set_checked(i, !I().hiddenColumns[n.get(t).id]), n.set_text(o, typeof n.get(t).columnDef.header == "string" ? n.get(t).columnDef.header : n.get(t).id);
217
+ }), n.delegated("change", i, (e) => {
218
+ if (e.currentTarget.checked) {
219
+ let e = { ...I().hiddenColumns };
220
+ delete e[n.get(t).id], I().hiddenColumns = e;
221
+ } else I().hiddenColumns = {
222
+ ...I().hiddenColumns,
223
+ [n.get(t).id]: !0
224
+ };
225
+ }), n.append(e, r);
226
+ }), n.reset(r), n.append(e, t);
227
+ }, p = (e) => {
228
+ var r = D(), a = n.first_child(r), o = (e) => {
229
+ var r = C(), i = n.first_child(r), a = n.child(i), o = n.child(a);
230
+ n.snippet(o, () => F.icon, () => "sort-asc"), n.reset(a), n.next(), n.reset(i);
231
+ var s = n.sibling(i, 2), c = n.child(s), l = n.child(c);
232
+ n.snippet(l, () => F.icon, () => "sort-desc"), n.reset(c), n.next(), n.reset(s);
233
+ var u = n.sibling(s, 2), d = n.child(u), f = n.child(d);
234
+ n.snippet(f, () => F.icon, () => "x"), n.reset(d), n.next(), n.reset(u), n.template_effect(() => u.disabled = !n.get(ge)[n.get(t)]), n.delegated("click", i, () => n.get(Pe)(n.get(t), !1)), n.delegated("click", s, () => n.get(Pe)(n.get(t), !0)), n.delegated("click", u, () => n.get(Fe)(n.get(t))), n.append(e, r);
235
+ };
236
+ n.if(a, (e) => {
237
+ n.get(i) && e(o);
238
+ });
239
+ var s = n.sibling(a, 2), c = (e) => {
240
+ let r = n.derived(() => n.get(fe)(n.get(t)));
241
+ var i = w(), a = n.sibling(n.first_child(i), 2), o = n.child(a), s = n.child(o);
242
+ n.snippet(s, () => F.icon, () => "op-startsWith"), n.reset(o), n.next(), n.reset(a);
243
+ var c = n.sibling(a, 2), l = n.child(c), u = n.child(l);
244
+ n.snippet(u, () => F.icon, () => "op-greaterThan"), n.reset(l), n.next(), n.reset(c);
245
+ var d = n.sibling(c, 2), f = n.child(d), p = n.child(f);
246
+ n.snippet(p, () => F.icon, () => "x"), n.reset(f), n.next(), n.reset(d), n.template_effect(() => {
247
+ a.disabled = n.get(r) === "left", c.disabled = n.get(r) === "right", d.disabled = !n.get(r);
248
+ }), n.delegated("click", a, () => n.get(pe)(n.get(t))), n.delegated("click", c, () => n.get(me)(n.get(t))), n.delegated("click", d, () => n.get(he)(n.get(t))), n.append(e, i);
249
+ };
250
+ n.if(s, (e) => {
251
+ n.get(ve) || e(c);
252
+ });
253
+ var l = n.sibling(s, 4), u = n.child(l), d = n.child(u);
254
+ n.snippet(d, () => F.icon, () => "autosize"), n.reset(u), n.next(), n.reset(l);
255
+ var f = n.sibling(l, 2), p = n.child(f), m = n.child(p);
256
+ n.snippet(m, () => F.icon, () => "autosize"), n.reset(p), n.next(), n.reset(f);
257
+ var h = n.sibling(f, 2), g = (e) => {
258
+ var r = T(), i = n.sibling(n.first_child(r), 2), a = n.child(i), o = n.child(a);
259
+ n.snippet(o, () => F.icon, () => "group"), n.reset(a), n.next(), n.reset(i);
260
+ var s = n.sibling(i, 2), c = n.child(s), l = n.child(c);
261
+ n.snippet(l, () => F.icon, () => "x"), n.reset(c), n.next(), n.reset(s), n.template_effect((e, t) => {
262
+ i.disabled = e, s.disabled = t;
263
+ }, [() => n.get(_e).includes(n.get(t)), () => !n.get(_e).includes(n.get(t))]), n.delegated("click", i, () => n.get(Ie)(n.get(t))), n.delegated("click", s, () => n.get(Le)(n.get(t))), n.append(e, r);
264
+ };
265
+ n.if(h, (e) => {
266
+ n.get(le) && e(g);
267
+ });
268
+ var _ = n.sibling(h, 4), v = (e) => {
269
+ var t = E();
270
+ let r;
271
+ var i = n.child(t), a = n.child(i);
272
+ n.snippet(a, () => F.icon, () => "columns"), n.reset(i);
273
+ var o = n.sibling(i, 2), s = n.child(o);
274
+ n.snippet(s, () => F.icon, () => "chevron-down"), n.reset(o), n.reset(t), n.template_effect(() => {
275
+ r = n.set_class(t, 1, "sv-grid-menu-item", null, r, { "is-open": n.get(W) !== null }), n.set_attribute(t, "aria-expanded", n.get(W) !== null);
276
+ }), n.delegated("click", t, (e) => n.get(Ne)(e)), n.append(e, t);
277
+ };
278
+ n.if(_, (e) => {
279
+ n.get(K) || e(v);
280
+ });
281
+ var y = n.sibling(_, 2), b = n.child(y), x = n.child(b);
282
+ n.snippet(x, () => F.icon, () => "reset"), n.reset(b), n.next(), n.reset(y), n.delegated("click", l, () => {
283
+ n.get(Ae)(n.get(t)), n.get(Z)();
284
+ }), n.delegated("click", f, () => {
285
+ n.get(je)(), n.get(Z)();
286
+ }), n.delegated("click", y, () => {
287
+ n.get(Me)(), n.get(Z)();
288
+ }), n.append(e, r);
289
+ };
290
+ n.if(u, (e) => {
291
+ n.get(K) && n.get(o) === "filter" && n.get(a) && n.get(G) ? e(d) : n.get(K) && n.get(o) === "columns" ? e(f, 1) : e(p, -1);
292
+ }), n.reset(s), n.template_effect(() => n.set_style(s, `left: ${n.get(B).x}px; top: ${n.get(B).y}px; max-height: calc(100vh - ${n.get(B).y}px - 12px);`)), n.append(e, s);
293
+ };
294
+ n.if(nt, (e) => {
295
+ n.get(z) && e(rt);
296
+ });
297
+ var it = n.sibling(nt, 2), at = (e) => {
298
+ var t = ee();
299
+ ce(n.child(t), () => n.get(V)), n.reset(t), n.template_effect(() => n.set_style(t, `left: ${n.get(H).x}px; top: ${n.get(H).y}px; max-height: calc(100vh - ${n.get(H).y}px - 12px);`)), n.append(e, t);
300
+ };
301
+ n.if(it, (e) => {
302
+ n.get(V) && n.get(G) && e(at);
303
+ });
304
+ var ot = n.sibling(it, 2), st = (e) => {
305
+ let t = n.derived(() => n.get(de).getAllColumns());
306
+ var r = A(), i = n.sibling(n.child(r), 2);
307
+ n.each(i, 21, () => n.get(t), (e) => e.id, (e, t) => {
308
+ var r = k(), i = n.child(r);
309
+ n.remove_input_defaults(i);
310
+ var a = n.sibling(i, 2), o = n.child(a, !0);
311
+ n.reset(a), n.reset(r), n.template_effect(() => {
312
+ n.set_checked(i, !I().hiddenColumns[n.get(t).id]), n.set_text(o, typeof n.get(t).columnDef.header == "string" ? n.get(t).columnDef.header : n.get(t).id);
313
+ }), n.delegated("change", i, (e) => {
314
+ if (e.currentTarget.checked) {
315
+ let e = { ...I().hiddenColumns };
316
+ delete e[n.get(t).id], I().hiddenColumns = e;
317
+ } else I().hiddenColumns = {
318
+ ...I().hiddenColumns,
319
+ [n.get(t).id]: !0
320
+ };
321
+ }), n.append(e, r);
322
+ }), n.reset(i), n.reset(r), n.template_effect(() => n.set_style(r, `left: ${n.get(W).x}px; top: ${n.get(W).y}px;`)), n.append(e, r);
323
+ };
324
+ n.if(ot, (e) => {
325
+ n.get(W) && e(st);
326
+ });
327
+ var ct = n.sibling(ot, 2), lt = (e) => {
328
+ let t = n.derived(() => n.get(U)), r = n.derived(() => n.get(q).find((e) => e.id === n.get(t))), i = n.derived(() => n.get(Se)(n.get(r))), a = n.derived(() => n.get(L)[n.get(t)]?.operator ?? n.get(J)(n.get(r)));
329
+ var o = M();
330
+ n.each(o, 21, () => n.get(i), (e) => e.value, (e, i) => {
331
+ var o = j(), s = n.child(o), c = n.child(s);
332
+ n.snippet(c, () => F.icon, () => n.get(i).iconName), n.reset(s);
333
+ var l = n.sibling(s);
334
+ n.reset(o), n.template_effect((e) => {
335
+ n.set_attribute(o, "aria-checked", n.get(a) === n.get(i).value), n.set_text(l, ` ${e ?? ""}`);
336
+ }, [() => n.get(Y)(n.get(i), n.get(r))]), n.delegated("click", o, () => {
337
+ n.get(ye)(n.get(t), n.get(i).value), n.get(Z)();
338
+ }), n.append(e, o);
339
+ }), n.reset(o), n.template_effect(() => n.set_style(o, `left: ${n.get(ue).x}px; top: ${n.get(ue).y}px;`)), n.append(e, o);
340
+ };
341
+ n.if(ct, (e) => {
342
+ n.get(U) && e(lt);
343
+ });
344
+ var ut = n.sibling(ct, 2), dt = (t) => {
345
+ let r = n.derived(() => n.get(we)), i = n.derived(() => new Set(e(n.get(Ce)[n.get(r)] ?? "")));
346
+ var a = ne();
347
+ n.each(a, 20, () => n.get(Ee), (e) => e, (e, t) => {
348
+ let a = n.derived(() => n.get(i).has(t));
349
+ var o = N(), s = n.child(o), c = n.child(s, !0);
350
+ n.reset(s);
351
+ var l = n.sibling(s, 2), u = n.child(l, !0);
352
+ n.reset(l), n.reset(o), n.template_effect(() => {
353
+ n.set_attribute(o, "aria-selected", n.get(a)), n.set_text(c, n.get(a) ? "✓" : ""), n.set_text(u, t === "" ? "(Blanks)" : t);
354
+ }), n.delegated("mousedown", o, (e) => {
355
+ e.preventDefault(), n.get(De)(n.get(r), t);
356
+ }), n.append(e, o);
357
+ }, (e) => {
358
+ var t = te();
359
+ n.append(e, t);
360
+ }), n.reset(a), n.template_effect(() => n.set_style(a, `left: ${n.get(Te).x}px; top: ${n.get(Te).y}px;`)), n.append(t, a);
361
+ };
362
+ n.if(ut, (e) => {
363
+ n.get(we) && e(dt);
364
+ });
365
+ var ft = n.sibling(ut, 2), pt = (e) => {
366
+ var t = ie(), r = n.first_child(t), i = n.sibling(r, 2);
367
+ n.each(i, 21, () => n.get(Ke)(), (e) => e.key, (e, t) => {
368
+ var r = n.comment(), i = n.first_child(r), a = (e) => {
369
+ var t = P();
370
+ n.append(e, t);
371
+ }, o = (e) => {
372
+ var r = re(), i = n.child(r, !0);
373
+ n.reset(r), n.template_effect(() => {
374
+ r.disabled = n.get(t).disabled, n.set_text(i, n.get(t).label);
375
+ }), n.delegated("click", r, () => {
376
+ n.get(t).run?.(), n.get($)();
377
+ }), n.append(e, r);
378
+ };
379
+ n.if(i, (e) => {
380
+ n.get(t).separator ? e(a) : e(o, -1);
381
+ }), n.append(e, r);
382
+ }), n.reset(i), n.template_effect(() => n.set_style(i, `left: ${n.get(Ge).x}px; top: ${n.get(Ge).y}px;`)), n.delegated("contextmenu", r, (e) => {
383
+ e.preventDefault(), n.get($)();
384
+ }), n.delegated("click", r, function(...e) {
385
+ n.get($)?.apply(this, e);
386
+ }), n.append(e, t);
387
+ };
388
+ n.if(ft, (e) => {
389
+ n.get(We) && e(pt);
390
+ });
391
+ var mt = n.sibling(ft, 2), ht = (e) => {
392
+ var t = ae(), r = n.first_child(t), i = n.sibling(r, 2), a = n.child(i);
393
+ n.remove_textarea_child(a), n.autofocus(a, !0);
394
+ var o = n.sibling(a, 2), s = n.child(o), c = n.sibling(s, 4), l = n.sibling(c, 2);
395
+ n.reset(o), n.reset(i), n.template_effect(() => n.set_style(i, `left: ${n.get(qe).x}px; top: ${n.get(qe).y}px;`)), n.delegated("click", r, function(...e) {
396
+ n.get(Xe)?.apply(this, e);
397
+ }), n.delegated("keydown", a, (e) => {
398
+ e.stopPropagation(), e.key === "Escape" && (e.preventDefault(), n.get(Xe)()), e.key === "Enter" && (e.ctrlKey || e.metaKey) && (e.preventDefault(), n.get(Je)());
399
+ }), n.bind_value(a, () => I().commentDraft, (e) => I().commentDraft = e), n.delegated("click", s, function(...e) {
400
+ n.get(Ye)?.apply(this, e);
401
+ }), n.delegated("click", c, function(...e) {
402
+ n.get(Xe)?.apply(this, e);
403
+ }), n.delegated("click", l, function(...e) {
404
+ n.get(Je)?.apply(this, e);
405
+ }), n.append(e, t);
406
+ };
407
+ n.if(mt, (e) => {
408
+ n.get(qe) && e(ht);
409
+ }), n.append(se, Ze), n.pop();
410
+ }
411
+ n.delegate([
412
+ "change",
413
+ "input",
414
+ "click",
415
+ "mousedown",
416
+ "contextmenu",
417
+ "keydown"
418
+ ]);
419
+ //#endregion
420
+ export { se as default };