@svgrid/grid 2.6.21 → 2.6.23

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 (151) hide show
  1. package/CHANGELOG.md +62 -0
  2. package/README.md +22 -0
  3. package/dist/GridMenus.svelte +201 -18
  4. package/dist/SvAutoComplete.svelte +4 -0
  5. package/dist/SvComboBox.svelte +5 -1
  6. package/dist/SvDateRangeInput.svelte +25 -3
  7. package/dist/SvDropDownList.svelte +4 -0
  8. package/dist/SvForm.svelte +8 -8
  9. package/dist/SvGrid.controller.svelte.d.ts +61 -9
  10. package/dist/SvGrid.controller.svelte.js +363 -123
  11. package/dist/SvGrid.css +222 -1
  12. package/dist/SvGrid.helpers.d.ts +55 -0
  13. package/dist/SvGrid.helpers.js +83 -0
  14. package/dist/SvGrid.svelte +255 -56
  15. package/dist/SvGrid.types.d.ts +146 -1
  16. package/dist/SvGridCellEditor.svelte +99 -17
  17. package/dist/SvGridSelect.svelte +6 -2
  18. package/dist/SvGridSelect.svelte.d.ts +1 -1
  19. package/dist/SvListBox.svelte +8 -0
  20. package/dist/SvMultiSelect.svelte +6 -2
  21. package/dist/SvMultiSelect.svelte.d.ts +1 -1
  22. package/dist/SvNumberInput.svelte +4 -0
  23. package/dist/SvRichCell.svelte +125 -0
  24. package/dist/SvRichCell.svelte.d.ts +15 -0
  25. package/dist/SvTextArea.svelte +5 -1
  26. package/dist/SvTreeSelect.svelte +6 -2
  27. package/dist/SvTreeSelect.svelte.d.ts +1 -1
  28. package/dist/builtin-editors.d.ts +2 -2
  29. package/dist/builtin-editors.js +19 -3
  30. package/dist/cdn/GridMenus-BzWXQjv3.js +600 -0
  31. package/dist/cdn/GridMenus-xr_rHx8F.js +601 -0
  32. package/dist/cdn/SvDateRangeInput-CaOuMs8O.js +198 -0
  33. package/dist/cdn/SvDateRangeInput-DMLKmGEc.js +199 -0
  34. package/dist/cdn/SvDateTimePicker-CCbDZNZB.js +816 -0
  35. package/dist/cdn/SvDateTimePicker-sonaH0oh.js +812 -0
  36. package/dist/cdn/SvGridCellEditor-BAPSC7EL.js +550 -0
  37. package/dist/cdn/SvGridCellEditor-BwzmUWtL.js +549 -0
  38. package/dist/cdn/column-resize-DsfNXMom.js +102 -0
  39. package/dist/cdn/date-format-BNii4zeD.js +1393 -0
  40. package/dist/cdn/date-format-BnnHlqGw.js +1395 -0
  41. package/dist/cdn/{editor-registry-CiI0xlKg.js → editor-registry-BhgE3S84.js} +51 -25
  42. package/dist/cdn/row-resize-BRcimkUT.js +95 -0
  43. package/dist/cdn/{src-DBel9wRZ.js → src-DGo7IHug.js} +10017 -9488
  44. package/dist/cdn/{src-BYq-qyrp.js → src-skQN5eqh.js} +7829 -7300
  45. package/dist/cdn/svgrid.js +14 -10
  46. package/dist/cdn/svgrid.svelte-external.js +14 -10
  47. package/dist/cell-values.d.ts +16 -0
  48. package/dist/cell-values.js +28 -0
  49. package/dist/clipboard.d.ts +22 -0
  50. package/dist/clipboard.js +405 -27
  51. package/dist/column-groups.js +1 -1
  52. package/dist/column-resize.d.ts +46 -0
  53. package/dist/column-resize.js +205 -0
  54. package/dist/columns.d.ts +0 -3
  55. package/dist/columns.js +0 -57
  56. package/dist/core.d.ts +19 -4
  57. package/dist/core.js +460 -119
  58. package/dist/editing.js +12 -7
  59. package/dist/editors/cell-editors.d.ts +11 -0
  60. package/dist/editors/cell-editors.js +18 -1
  61. package/dist/filtering/excel-filters.js +28 -0
  62. package/dist/grid-messages.d.ts +15 -0
  63. package/dist/grid-messages.js +15 -0
  64. package/dist/group-display.d.ts +1 -1
  65. package/dist/index.d.ts +6 -1
  66. package/dist/index.js +10 -0
  67. package/dist/list-option.d.ts +6 -0
  68. package/dist/menus.js +41 -8
  69. package/dist/row-resize.d.ts +11 -0
  70. package/dist/row-resize.js +7 -1
  71. package/dist/sanitize-html.d.ts +37 -0
  72. package/dist/sanitize-html.js +234 -0
  73. package/dist/selection-bar-view.svelte.d.ts +25 -0
  74. package/dist/selection-bar-view.svelte.js +13 -0
  75. package/dist/selection.d.ts +2 -1
  76. package/dist/selection.js +133 -8
  77. package/dist/spreadsheet.d.ts +1 -1
  78. package/dist/spreadsheet.js +1 -1
  79. package/package.json +1 -1
  80. package/src/GridMenus.svelte +201 -18
  81. package/src/SvAutoComplete.svelte +4 -0
  82. package/src/SvComboBox.svelte +5 -1
  83. package/src/SvDateRangeInput.svelte +25 -3
  84. package/src/SvDropDownList.svelte +4 -0
  85. package/src/SvForm.svelte +8 -8
  86. package/src/SvGrid.controller.svelte.ts +404 -133
  87. package/src/SvGrid.css +222 -1
  88. package/src/SvGrid.helpers.ts +87 -0
  89. package/src/SvGrid.svelte +255 -56
  90. package/src/SvGrid.types.ts +153 -1
  91. package/src/SvGridCellEditor.svelte +99 -17
  92. package/src/SvGridSelect.svelte +6 -2
  93. package/src/SvListBox.svelte +8 -0
  94. package/src/SvMultiSelect.svelte +6 -2
  95. package/src/SvNumberInput.svelte +4 -0
  96. package/src/SvRichCell.svelte +125 -0
  97. package/src/SvTextArea.svelte +5 -1
  98. package/src/SvTreeSelect.svelte +6 -2
  99. package/src/builtin-editors.test.ts +18 -1
  100. package/src/builtin-editors.ts +19 -3
  101. package/src/cell-values.ts +30 -0
  102. package/src/clipboard.test.ts +93 -20
  103. package/src/clipboard.ts +433 -33
  104. package/src/column-groups.ts +1 -1
  105. package/src/column-resize.test.ts +381 -0
  106. package/src/column-resize.ts +227 -0
  107. package/src/columns.test.ts +0 -103
  108. package/src/columns.ts +0 -58
  109. package/src/core.aggregate.test.ts +134 -0
  110. package/src/core.filter.test.ts +156 -0
  111. package/src/core.grouping.test.ts +146 -0
  112. package/src/core.row-shape.test.ts +119 -0
  113. package/src/core.rowmodel-cache.test.ts +121 -0
  114. package/src/core.sort.test.ts +293 -0
  115. package/src/core.ts +516 -119
  116. package/src/date-string-column.test.ts +87 -0
  117. package/src/editing.test.ts +25 -0
  118. package/src/editing.ts +12 -9
  119. package/src/editor-block-prop.test.ts +132 -0
  120. package/src/editors/cell-editors.ts +27 -1
  121. package/src/filtering/excel-filters.ts +30 -0
  122. package/src/filtering/normalize-fast-path.test.ts +104 -0
  123. package/src/grid-messages.ts +34 -0
  124. package/src/group-display.ts +1 -1
  125. package/src/index.ts +25 -1
  126. package/src/list-option.ts +6 -0
  127. package/src/menus.test.ts +43 -0
  128. package/src/menus.ts +38 -8
  129. package/src/move-cells.test.ts +850 -0
  130. package/src/number-editor-literal.test.ts +84 -0
  131. package/src/number-editor.grid.test.ts +160 -0
  132. package/src/resize-props.test.ts +361 -0
  133. package/src/row-resize.test.ts +31 -0
  134. package/src/row-resize.ts +21 -3
  135. package/src/sanitize-html.test.ts +182 -0
  136. package/src/sanitize-html.ts +235 -0
  137. package/src/selection-bar-view.svelte.ts +36 -0
  138. package/src/selection.test.ts +157 -0
  139. package/src/selection.ts +135 -8
  140. package/src/spreadsheet.ts +1 -1
  141. package/src/svgrid.filter-menu-listbox.svelte.test.ts +56 -10
  142. package/src/svgrid.in-suggest-snapshot.svelte.test.ts +91 -0
  143. package/src/svgrid.menu-scroll-close.test.ts +204 -0
  144. package/src/svgrid.selection-bar-seam.test.ts +185 -0
  145. package/src/svgrid.upsell-license.test.ts +117 -0
  146. package/dist/cdn/GridMenus-BfTAKn84.js +0 -488
  147. package/dist/cdn/GridMenus-C3bJd7w8.js +0 -489
  148. package/dist/cdn/SvDateTimePicker-CHnUkWcH.js +0 -2206
  149. package/dist/cdn/SvDateTimePicker-CRQH_U7E.js +0 -2201
  150. package/dist/cdn/SvGridCellEditor-BGUCzuPB.js +0 -523
  151. package/dist/cdn/SvGridCellEditor-G8IMWIws.js +0 -522
@@ -51,6 +51,18 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
51
51
  targetRow: number;
52
52
  targetCol: number;
53
53
  } | null;
54
+ moveDrag: {
55
+ sourceMinRow: number;
56
+ sourceMaxRow: number;
57
+ sourceMinCol: number;
58
+ sourceMaxCol: number;
59
+ grabRow: number;
60
+ grabCol: number;
61
+ targetRow: number;
62
+ targetCol: number;
63
+ copy: boolean;
64
+ } | null;
65
+ moveGrabHover: boolean;
54
66
  activeAtPointerDown: {
55
67
  rowIndex: number;
56
68
  colIndex: number;
@@ -92,9 +104,6 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
92
104
  headerHeight: number;
93
105
  editorSelectAll: boolean;
94
106
  columnWidths: Record<string, number>;
95
- resizingColumnId: string | null;
96
- resizeStartX: number;
97
- resizeStartWidth: number;
98
107
  readonly MIN_COLUMN_WIDTH: number;
99
108
  columnPinning: {
100
109
  left: Array<string>;
@@ -130,6 +139,7 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
130
139
  readonly inSuggestOptions: {
131
140
  value: string;
132
141
  label: string;
142
+ hint: string | undefined;
133
143
  }[];
134
144
  readonly facetValuesForColumn: (columnId: string) => Array<string>;
135
145
  chooseColumnsPos: MenuPosition | null;
@@ -162,6 +172,7 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
162
172
  readonly showRowSelectionEffective: boolean;
163
173
  readonly rowSummariesEnabled: boolean;
164
174
  readonly enableCellSelectionEffective: boolean;
175
+ readonly moveCellsEffective: boolean;
165
176
  readonly flushScheduledScrollSync: () => void;
166
177
  readonly scheduleScrollSync: (scrollTop: number, scrollLeft: number) => void;
167
178
  internalData: readonly TData[];
@@ -279,6 +290,15 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
279
290
  readonly allRowsBeforePagination: Row<TData>[];
280
291
  readonly allRows: Row<TData>[];
281
292
  readonly rowSelectionState: any;
293
+ readonly selectionBarOn: boolean;
294
+ readonly selectionBarActions: unknown[];
295
+ readonly selectionBarPosition: "top" | "bottom";
296
+ readonly selectionBarMaxVisible: number;
297
+ readonly selectionBarHideClear: boolean;
298
+ readonly selectionBarTarget: {
299
+ rows: TData[];
300
+ ids: string[];
301
+ };
282
302
  lastSelectionSerialized: string;
283
303
  lastCellRangeSerialized: string;
284
304
  readonly statusBarEnabled: boolean;
@@ -432,6 +452,12 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
432
452
  /** A row's measured height, or undefined before it has been measured.
433
453
  * The non-virtualized body reads this directly (it has no virtual item). */
434
454
  readonly measuredRowHeightPx: (index: number) => number | undefined;
455
+ /** True when the `rowResize` prop is on and nothing overrides it. */
456
+ readonly rowResizeOn: boolean;
457
+ /** Record the height the user dragged a row to. */
458
+ readonly setRowResizeHeight: (index: number, height: number) => void;
459
+ /** A row's dragged height, or undefined when it has not been resized. */
460
+ readonly rowResizeHeightPx: (index: number) => number | undefined;
435
461
  readonly virtualRowTotalSize: number;
436
462
  readonly virtualRowStart: number;
437
463
  readonly virtualRowEnd: number;
@@ -508,11 +534,6 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
508
534
  readonly getColumnBaseWidth: (columnId: string) => any;
509
535
  readonly fittedColumnWidths: Record<string, number> | null;
510
536
  readonly getColumnWidth: (columnId: string) => any;
511
- resizePendingWidth: number;
512
- resizeRaf: number | null;
513
- readonly startColumnResize: (event: PointerEvent, columnId: string) => void;
514
- readonly onColumnResizeMove: (event: PointerEvent) => void;
515
- readonly endColumnResize: () => void;
516
537
  readonly setSelection: (rowIndex: number, colIndex: number, additive?: boolean) => void;
517
538
  readonly extendSelection: (rowIndex: number, colIndex: number) => void;
518
539
  readonly isCellInSelectedRange: (rowIndex: number, colIndex: number) => boolean;
@@ -533,6 +554,7 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
533
554
  colIndex: any;
534
555
  } | null;
535
556
  readonly isInFillPreview: (rowIndex: number, colIndex: number) => boolean;
557
+ readonly dragPreviewRect: () => any;
536
558
  readonly fillMarqueeEdges: (rowIndex: number, colIndex: number) => {
537
559
  top: boolean;
538
560
  bottom: boolean;
@@ -540,6 +562,13 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
540
562
  right: boolean;
541
563
  } | null;
542
564
  readonly findColumnById: (columnId: string) => any;
565
+ /**
566
+ * Whether this column may be resized by the user, from its
567
+ * `ColumnDef.resizable`. Defaults to true, so a column only opts out by
568
+ * saying so; the grid-wide `columnResize` prop gates all of them above
569
+ * this. Used by the resize action and by the column menu's Autosize item.
570
+ */
571
+ columnResizable(columnId: string): boolean;
543
572
  readonly readCellRaw: (rowIndex: number, columnId: string) => unknown;
544
573
  readonly writeCellRaw: (rowIndex: number, columnId: string, value: unknown) => void;
545
574
  readonly applyFillPattern: () => void;
@@ -547,10 +576,32 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
547
576
  readonly startFillDrag: (event: PointerEvent, rowIndex: number, colIndex: number) => void;
548
577
  readonly onFillPointerMove: (event: PointerEvent) => void;
549
578
  readonly onFillPointerUp: () => void;
579
+ readonly isOnMoveGrabStrip: (cell: HTMLElement, rowIndex: number, colIndex: number, clientX: number, clientY: number) => boolean;
580
+ readonly startMoveDrag: (event: PointerEvent, rowIndex: number, colIndex: number) => boolean;
581
+ readonly onMovePointerMove: (event: PointerEvent) => void;
582
+ readonly onMovePointerUp: (event?: PointerEvent) => void;
583
+ readonly trackEdgeScroll: (event: PointerEvent) => void;
584
+ readonly stopEdgeScroll: () => void;
585
+ readonly applyMoveRange: () => void;
586
+ readonly moveDestRect: (d: {
587
+ sourceMinRow: number;
588
+ sourceMaxRow: number;
589
+ sourceMinCol: number;
590
+ sourceMaxCol: number;
591
+ grabRow: number;
592
+ grabCol: number;
593
+ targetRow: number;
594
+ targetCol: number;
595
+ }) => {
596
+ minRow: number;
597
+ maxRow: number;
598
+ minCol: number;
599
+ maxCol: number;
600
+ } | null;
550
601
  readonly toggleBooleanCell: (rowIndex: number, colIndex: number) => void;
551
602
  readonly onCellPointerDown: (rowIndex: number, colIndex: number, event: PointerEvent) => void;
552
603
  readonly onCellPointerEnter: (rowIndex: number, colIndex: number) => void;
553
- readonly endDragSelection: () => void;
604
+ readonly endDragSelection: (event?: PointerEvent) => void;
554
605
  readonly onWindowPointerMove: (event: PointerEvent) => void;
555
606
  readonly onCellClick: (rowIndex: number, colIndex: number) => void;
556
607
  readonly emitCellDoubleClick: (rowIndex: number, colIndex: number) => void;
@@ -638,6 +689,7 @@ export declare function createSvGridController<TFeatures extends TableFeatures =
638
689
  readonly columnMenuFacetOptions: {
639
690
  value: string;
640
691
  label: string;
692
+ hint: string | undefined;
641
693
  }[];
642
694
  readonly columnMenuSelectedFacets: ReadonlySet<string>;
643
695
  readonly isFacetChecked: (columnId: string, value: string) => any;