@svgrid/grid 2.2.25 → 2.2.27

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 (218) hide show
  1. package/README.md +199 -145
  2. package/dist/FlexRender.svelte +96 -96
  3. package/dist/GridFooter.svelte +179 -179
  4. package/dist/GridMenus.svelte +734 -728
  5. package/dist/SvAutoComplete.svelte +165 -165
  6. package/dist/SvCalendar.svelte +503 -503
  7. package/dist/SvCarousel.svelte +141 -141
  8. package/dist/SvCheckBox.svelte +101 -101
  9. package/dist/SvColorInput.svelte +181 -181
  10. package/dist/SvComboBox.svelte +275 -275
  11. package/dist/SvContextMenu.svelte +116 -116
  12. package/dist/SvCountryInput.svelte +160 -160
  13. package/dist/SvDrawer.svelte +250 -250
  14. package/dist/SvDropDownList.svelte +374 -374
  15. package/dist/SvDurationInput.svelte +126 -126
  16. package/dist/SvField.svelte +293 -293
  17. package/dist/SvForm.svelte +437 -437
  18. package/dist/SvGrid.css +2723 -2719
  19. package/dist/SvGrid.svelte +3333 -3333
  20. package/dist/SvGridChart.svelte +1724 -1724
  21. package/dist/SvGridChartPanel.svelte +485 -485
  22. package/dist/SvGridChartView.svelte +70 -70
  23. package/dist/SvGridDropdown.svelte +696 -696
  24. package/dist/SvGridSelect.svelte +259 -259
  25. package/dist/SvGroupCell.svelte +109 -109
  26. package/dist/SvListBox.svelte +287 -287
  27. package/dist/SvMaskedInput.svelte +122 -122
  28. package/dist/SvMenu.svelte +124 -124
  29. package/dist/SvMenuList.svelte +146 -146
  30. package/dist/SvMultiSelect.svelte +281 -281
  31. package/dist/SvNumberInput.svelte +168 -168
  32. package/dist/SvOtpInput.svelte +158 -158
  33. package/dist/SvPasswordInput.svelte +151 -151
  34. package/dist/SvPhoneInput.svelte +131 -131
  35. package/dist/SvPopover.svelte +197 -197
  36. package/dist/SvRadioGroup.svelte +107 -107
  37. package/dist/SvRowGroupPanel.svelte +170 -170
  38. package/dist/SvScrollArea.svelte +61 -61
  39. package/dist/SvSlider.svelte +200 -200
  40. package/dist/SvSwitchButton.svelte +107 -107
  41. package/dist/SvTagsInput.svelte +112 -112
  42. package/dist/SvTextInput.svelte +147 -147
  43. package/dist/SvTimePicker.svelte +245 -245
  44. package/dist/SvToaster.svelte +159 -159
  45. package/dist/SvToggleButton.svelte +85 -85
  46. package/dist/SvTooltip.svelte +161 -161
  47. package/dist/SvTour.svelte +204 -204
  48. package/dist/SvTree.svelte +437 -437
  49. package/dist/SvTreeSelect.svelte +233 -233
  50. package/dist/a11y/dismissable.d.ts +11 -0
  51. package/dist/a11y/dismissable.js +21 -0
  52. package/dist/ai.js +3 -3
  53. package/dist/cdn/GridMenus-BzxEYNtW.js +421 -0
  54. package/dist/cdn/GridMenus-Dr-nGEXn.js +417 -0
  55. package/dist/cdn/{SvDateTimePicker-CYC7gRER.js → SvDateTimePicker-B1sDc9Pz.js} +451 -444
  56. package/dist/cdn/{SvDateTimePicker-DtQKd4Ns.js → SvDateTimePicker-Bh0FTs1E.js} +114 -107
  57. package/dist/cdn/{SvGridChart-BhnFdLd0.js → SvGridChart-BKQsO5fZ.js} +1 -1
  58. package/dist/cdn/{SvGridChart-BcLCYvw9.js → SvGridChart-Bgk4hDs8.js} +1 -1
  59. package/dist/cdn/{SvGridChartPanel-DvjwxLvK.js → SvGridChartPanel-DSkHIQDd.js} +1 -1
  60. package/dist/cdn/{SvGridChartPanel-Cmx9DHAS.js → SvGridChartPanel-DkCc2Z7b.js} +1 -1
  61. package/dist/cdn/{SvGridChartView-B40DTJSX.js → SvGridChartView-BrbVaELm.js} +1 -1
  62. package/dist/cdn/{SvGridChartView-PwqI4s02.js → SvGridChartView-i9rWvSKg.js} +1 -1
  63. package/dist/cdn/{SvGridDropdown-hpnHvOGt.js → SvGridDropdown-CGxxopQ4.js} +1 -1
  64. package/dist/cdn/{SvGridDropdown-DjALc_4f.js → SvGridDropdown-D08sVmAy.js} +1 -1
  65. package/dist/cdn/{src-DysW9qbk.js → src-Cw8d9U8j.js} +5753 -5753
  66. package/dist/cdn/{src-bYfr_7aR.js → src-cgs1wcUS.js} +8102 -8102
  67. package/dist/cdn/svgrid.js +9 -9
  68. package/dist/cdn/svgrid.svelte-external.js +9 -9
  69. package/dist/chart-export.js +8 -8
  70. package/dist/index.d.ts +1 -1
  71. package/dist/index.js +1 -1
  72. package/package.json +30 -13
  73. package/src/FlexRender.svelte +96 -96
  74. package/src/GridFooter.svelte +179 -179
  75. package/src/GridMenus.svelte +734 -728
  76. package/src/SvAutoComplete.svelte +165 -165
  77. package/src/SvCalendar.svelte +503 -503
  78. package/src/SvCalendar.test.ts +226 -226
  79. package/src/SvCarousel.svelte +141 -141
  80. package/src/SvCheckBox.svelte +101 -101
  81. package/src/SvColorInput.svelte +181 -181
  82. package/src/SvComboBox.svelte +275 -275
  83. package/src/SvContextMenu.svelte +116 -116
  84. package/src/SvCountryInput.svelte +160 -160
  85. package/src/SvDrawer.svelte +250 -250
  86. package/src/SvDropDownList.svelte +374 -374
  87. package/src/SvDurationInput.svelte +126 -126
  88. package/src/SvField.svelte +293 -293
  89. package/src/SvForm.svelte +437 -437
  90. package/src/SvForm.test.ts +411 -411
  91. package/src/SvGrid.controller.svelte.ts +3239 -3239
  92. package/src/SvGrid.css +2723 -2719
  93. package/src/SvGrid.svelte +3333 -3333
  94. package/src/SvGrid.types.ts +1613 -1613
  95. package/src/SvGridChart.svelte +1724 -1724
  96. package/src/SvGridChartPanel.svelte +485 -485
  97. package/src/SvGridChartView.svelte +70 -70
  98. package/src/SvGridDropdown.svelte +696 -696
  99. package/src/SvGridSelect.svelte +259 -259
  100. package/src/SvGroupCell.svelte +109 -109
  101. package/src/SvListBox.svelte +287 -287
  102. package/src/SvMaskedInput.svelte +122 -122
  103. package/src/SvMenu.svelte +124 -124
  104. package/src/SvMenu.test.ts +97 -97
  105. package/src/SvMenuList.svelte +146 -146
  106. package/src/SvMultiSelect.svelte +281 -281
  107. package/src/SvNumberInput.svelte +168 -168
  108. package/src/SvOtpInput.svelte +158 -158
  109. package/src/SvPasswordInput.svelte +151 -151
  110. package/src/SvPhoneInput.svelte +131 -131
  111. package/src/SvPopover.svelte +197 -197
  112. package/src/SvRadioGroup.svelte +107 -107
  113. package/src/SvRowGroupPanel.svelte +170 -170
  114. package/src/SvScrollArea.svelte +61 -61
  115. package/src/SvSlider.svelte +200 -200
  116. package/src/SvSwitchButton.svelte +107 -107
  117. package/src/SvTagsInput.svelte +112 -112
  118. package/src/SvTextInput.svelte +147 -147
  119. package/src/SvTimePicker.svelte +245 -245
  120. package/src/SvToaster.svelte +159 -159
  121. package/src/SvToaster.test.ts +95 -95
  122. package/src/SvToggleButton.svelte +85 -85
  123. package/src/SvTooltip.svelte +161 -161
  124. package/src/SvTour.svelte +204 -204
  125. package/src/SvTree.svelte +437 -437
  126. package/src/SvTreeSelect.svelte +233 -233
  127. package/src/a11y/dismissable.test.ts +119 -95
  128. package/src/a11y/dismissable.ts +114 -94
  129. package/src/a11y.contract.test.ts +49 -49
  130. package/src/a11y.test.ts +59 -59
  131. package/src/a11y.ts +61 -61
  132. package/src/ai.test.ts +502 -502
  133. package/src/ai.ts +1391 -1391
  134. package/src/build-api.coverage.test.ts +633 -633
  135. package/src/build-api.ts +895 -895
  136. package/src/builtin-editors.grid.test.ts +85 -85
  137. package/src/cell-formatting.ts +169 -169
  138. package/src/cell-render.ts +469 -469
  139. package/src/chart-export.ts +201 -201
  140. package/src/chart-view.svelte.ts +36 -36
  141. package/src/chart.ts +2296 -2296
  142. package/src/collaboration.test.ts +104 -104
  143. package/src/collaboration.ts +167 -167
  144. package/src/core.performance.test.ts +30 -30
  145. package/src/core.ts +1111 -1111
  146. package/src/createAutocomplete.svelte.ts +132 -132
  147. package/src/createCombobox.svelte.ts +191 -191
  148. package/src/createCountryInput.svelte.ts +157 -157
  149. package/src/createDropdownList.svelte.ts +168 -168
  150. package/src/createForm.svelte.ts +386 -386
  151. package/src/createGrid.svelte.ts +42 -42
  152. package/src/createGrid.test.ts +10 -10
  153. package/src/createGridState.svelte.ts +17 -17
  154. package/src/createMenu.svelte.ts +225 -225
  155. package/src/createPopoverSelect.svelte.ts +213 -213
  156. package/src/createSlider.svelte.ts +191 -191
  157. package/src/createTooltip.svelte.ts +144 -144
  158. package/src/createTree.svelte.ts +319 -319
  159. package/src/editing.test.ts +859 -859
  160. package/src/editing.ts +675 -675
  161. package/src/editor-contract.ts +157 -157
  162. package/src/export-data-api.test.ts +126 -126
  163. package/src/export-format.test.ts +107 -107
  164. package/src/export-format.ts +598 -598
  165. package/src/filter-operators.ts +157 -157
  166. package/src/flex-render.ts +3 -3
  167. package/src/form-field.ts +127 -127
  168. package/src/index.ts +713 -712
  169. package/src/js-scroller.svelte.ts +173 -173
  170. package/src/keyboard.test.ts +59 -59
  171. package/src/keyboard.ts +97 -97
  172. package/src/list-nav.test.ts +49 -49
  173. package/src/list-nav.ts +29 -29
  174. package/src/list-option.test.ts +56 -56
  175. package/src/list-option.ts +172 -172
  176. package/src/menus.test.ts +700 -700
  177. package/src/menus.ts +652 -652
  178. package/src/merge-objects.ts +48 -48
  179. package/src/overlays.test.ts +90 -90
  180. package/src/render-component.ts +28 -28
  181. package/src/scheduler-model.test.ts +562 -562
  182. package/src/scheduler-model.ts +872 -872
  183. package/src/selection.test.ts +754 -754
  184. package/src/selection.ts +600 -600
  185. package/src/server-data-source.test.ts +289 -289
  186. package/src/server-data-source.ts +413 -413
  187. package/src/sparkline.test.ts +68 -68
  188. package/src/sparkline.ts +169 -169
  189. package/src/spreadsheet.test.ts +489 -489
  190. package/src/spreadsheet.ts +312 -312
  191. package/src/static-functions.ts +11 -11
  192. package/src/subscribe.ts +38 -38
  193. package/src/svgrid-wrapper.types.ts +524 -524
  194. package/src/svgrid.behavior.test.ts +706 -706
  195. package/src/svgrid.charting.test.ts +534 -534
  196. package/src/svgrid.features.test.ts +157 -157
  197. package/src/svgrid.filter-menu-scroll.test.ts +102 -0
  198. package/src/svgrid.new-features.wrapper.test.ts +251 -251
  199. package/src/svgrid.wrapper.test.ts +40 -40
  200. package/src/test-setup.ts +62 -62
  201. package/src/themes/index.ts +215 -215
  202. package/src/toast-store.svelte.ts +246 -246
  203. package/src/toast-store.test.ts +147 -147
  204. package/src/ui-buttons.test.ts +144 -144
  205. package/src/ui-inputs.test.ts +118 -118
  206. package/src/ui-range.test.ts +70 -70
  207. package/src/ui-selection.test.ts +155 -155
  208. package/src/ui-tier1.test.ts +142 -142
  209. package/src/virtual.test.ts +88 -88
  210. package/src/virtualization/column-virtualizer.test.ts +27 -27
  211. package/src/virtualization/column-virtualizer.ts +30 -30
  212. package/src/virtualization/svelte-virtualizer.svelte.ts +26 -26
  213. package/src/virtualization/types.ts +30 -30
  214. package/src/virtualization/virtualizer.test.ts +47 -47
  215. package/src/virtualization/virtualizer.ts +296 -296
  216. package/themes/ember.css +71 -71
  217. package/dist/cdn/GridMenus-GfCAHgkZ.js +0 -420
  218. package/dist/cdn/GridMenus-GiVNSeDU.js +0 -416
package/src/index.ts CHANGED
@@ -1,712 +1,713 @@
1
- export { formatNumericWithConfig, resolveDatePattern } from './cell-formatting'
2
- export {
3
- coerceExportDate,
4
- formatValueForExport,
5
- projectGridRows,
6
- toExcelNumFmt,
7
- valueForExcel,
8
- serializeDelimited,
9
- serializeJson,
10
- serializeMarkdown,
11
- serializeHtml,
12
- serializeXml,
13
- downloadTextFile,
14
- downloadBlobFile,
15
- copyTextToClipboard,
16
- type GridExportOptions,
17
- type GridExportScope,
18
- type GridExportColumn,
19
- type GridClipboardOptions,
20
- type GridClipboardFormat,
21
- type SerializeProgress,
22
- type SerializeOptions,
23
- type CsvOptions,
24
- } from './export-format'
25
-
26
- export {
27
- columnFilteringFeature,
28
- columnGroupingFeature,
29
- createCoreRowModel,
30
- createExpandedRowModel,
31
- createFilteredRowModel,
32
- createGroupedRowModel,
33
- createPaginatedRowModel,
34
- createSortedRowModel,
35
- applyGroupAggregate,
36
- filterFns,
37
- rowExpandingFeature,
38
- rowPaginationFeature,
39
- rowSelectionFeature,
40
- rowSortingFeature,
41
- sortFns,
42
- tableFeatures,
43
- type Cell,
44
- type CellContext,
45
- type CellSpanParams,
46
- type ValueParserParams,
47
- type EditorContext,
48
- type CellData,
49
- type ActiveCellState,
50
- type CellFormatConfig,
51
- type CellFormatter,
52
- type Column,
53
- type ColumnDef,
54
- type ColumnDefTemplate,
55
- type GroupAggregator,
56
- type Header,
57
- type HeaderContext,
58
- type HeaderGroup,
59
- type Row,
60
- type RowData,
61
- type SortingState,
62
- type SvGrid as SvGridInstance,
63
- type SvGridOptions,
64
- type TableFeatures,
65
- type Updater,
66
- } from './core'
67
-
68
- export { createGrid, createSvGrid, type SvelteGrid } from './createGrid.svelte'
69
- export { createGridState, createSvGridState } from './createGridState.svelte'
70
- export { subscribeGrid, subscribeSvGrid } from './subscribe'
71
- export { default as SvGrid } from './SvGrid.svelte'
72
- // Kanban board view. The `board` prop + its config types live in the free grid,
73
- // but the RENDERER (SvGridBoard) ships in @svgrid/enterprise and registers itself
74
- // through this seam (see board-view.svelte.ts). Mirrors the scheduler-view seam.
75
- export type { BoardConfig, BoardLane, BoardCardMoveEvent, BoardCardCommitEvent, BoardLayout, BoardSubtask, BoardComment, BoardMenuContext, BoardLaneMenuContext, BoardDrawerConfig } from './SvGrid.types'
76
- export { registerBoardView, getBoardView, hasBoardView } from './board-view.svelte'
77
- // Built-in AI helpers (free): natural-language filter, smart-fill, summarize,
78
- // classify, anomaly detection, chart-this and export planning. They ship no
79
- // model client and no-op until you register one with `setAIProvider(...)`, so
80
- // they tree-shake out of the base bundle unless you actually import them. The
81
- // export-provider seam lets @svgrid/enterprise register its Excel/PDF engine so
82
- // AI-planned exports can WRITE those formats.
83
- export * from './ai'
84
- export {
85
- registerExportProvider,
86
- getExportProvider,
87
- type GridExportProvider,
88
- type GridExportRunOptions,
89
- } from './export-provider'
90
- // Scheduler / calendar view. The `scheduler` prop + its config types live in
91
- // the free grid, but the RENDERER ships in @svgrid/enterprise and registers
92
- // itself through this seam (see scheduler-view.svelte.ts). Mirrors editor-registry.
93
- export type {
94
- SchedulerConfig,
95
- SchedulerDrawerConfig,
96
- SchedulerEventMoveEvent,
97
- SchedulerEventResizeEvent,
98
- SchedulerEventCommitEvent,
99
- SchedulerRangeSelection,
100
- SchedulerView,
101
- SchedulerResource,
102
- SchedulerCollisionMode,
103
- SchedulerException,
104
- SchedulerEditScope,
105
- SchedulerOccurrenceChangeEvent,
106
- } from './SvGrid.types'
107
- export { registerSchedulerView, getSchedulerView, hasSchedulerView } from './scheduler-view.svelte'
108
- // Chart view. The `chart` prop + its config live in the free grid AND so does the
109
- // renderer (SvGridChartView wraps the free SvChart) - so unlike board/scheduler
110
- // it works out of the box. This seam only lets a host OVERRIDE the built-in view.
111
- export type { ChartViewConfig } from './SvGrid.types'
112
- export { registerChartView, getChartView, hasChartView } from './chart-view.svelte'
113
- export {
114
- registerPivotEngine,
115
- getPivotEngine,
116
- hasPivotEngine,
117
- type PivotEngine,
118
- type GridPivotConfig,
119
- type GridPivotValue,
120
- type GridPivotRow,
121
- } from './pivot-view.svelte'
122
- // Pure scheduler layout/model helpers (framework-free, like recurrence/date-core).
123
- // The calendar RENDERER that consumes these ships in @svgrid/enterprise.
124
- export {
125
- resolveEvents,
126
- hasConflict,
127
- overlapCount,
128
- overlapsBands,
129
- workingIntervals,
130
- withinWorking,
131
- type WorkingWindow,
132
- eventsOnDay,
133
- layoutDayEvents,
134
- monthWeekSegments,
135
- agendaGroups,
136
- rangeForView,
137
- daysForView,
138
- navigateAnchor,
139
- timelineAxis,
140
- timelineGeom,
141
- timelineRows,
142
- type ResolvedEvent,
143
- type EventSpec,
144
- type RecurrenceException,
145
- type PositionedEvent,
146
- type OverflowMarker,
147
- type DayLayout,
148
- type LayoutOptions,
149
- type MonthSegment,
150
- type AgendaGroup,
151
- type TimelineTick,
152
- type TimelineMajor,
153
- type TimelineAxis,
154
- type TimelineRow,
155
- } from './scheduler-model'
156
- export { default as SvGridDropdown } from './SvGridDropdown.svelte'
157
- export { default as SvCalendar, type CalendarValue, type CalendarPreset, type CalendarAnimation } from './SvCalendar.svelte'
158
- export {
159
- matchesRecurrence,
160
- expandRecurrence,
161
- describeRecurrence,
162
- type RecurrenceRule,
163
- type RecurrenceFreq,
164
- type RecurrenceLabels,
165
- } from './recurrence'
166
- export { default as SvTimePicker, type TimeValue } from './SvTimePicker.svelte'
167
- export { default as SvDateTimePicker, type DateTimeValue } from './SvDateTimePicker.svelte'
168
- export { default as SvDateRangeInput, type DateRangeValue } from './SvDateRangeInput.svelte'
169
- export { default as SvButtonGroup, type ButtonGroupItem, type ButtonGroupMode, type ButtonGroupValue } from './SvButtonGroup.svelte'
170
- // UI kit - shared editor contract (common props + a11y wiring for every editor)
171
- export {
172
- editorAria,
173
- editorErrorId,
174
- editorHintId,
175
- nextEditorId,
176
- resolveMessages,
177
- type SvEditorProps,
178
- type EditorSize,
179
- type EditorDir,
180
- type EditorAction,
181
- type EditorAriaState,
182
- } from './editor-contract'
183
- // UI kit - editor interaction surface (commit/cancel/close for grid-cell use)
184
- export { type EditorInteraction } from './editor-contract'
185
- // UI kit - shared a11y primitives (focus trap, scroll lock, dismissable layers, live region)
186
- export {
187
- FOCUSABLE_SELECTOR,
188
- getFocusable,
189
- createFocusTrap,
190
- type FocusTrap,
191
- type FocusTrapOptions,
192
- } from './a11y/focus-trap'
193
- export { lockScroll, scrollLockDepth } from './a11y/scroll-lock'
194
- export {
195
- createDismissableLayer,
196
- dismissableDepth,
197
- type DismissableLayer,
198
- type DismissableOptions,
199
- } from './a11y/dismissable'
200
- export { announce, type AnnounceOptions } from './a11y/live-region'
201
- // Dialog-overlay core (SvModal / SvDrawer): open -> focus-trap + scroll-lock +
202
- // Escape/backdrop dismissal -> restore, on the primitives above.
203
- export { createOverlay, type Overlay, type OverlayConfig, type DialogProps } from './createOverlay.svelte'
204
- // Tooltip core (SvTooltip): hover/focus open with a show delay, Escape-to-hide,
205
- // and aria-describedby / role=tooltip wiring. (Toasts are already headless: see
206
- // the toastStore / toast() exports below.)
207
- export { createTooltip, type Tooltip, type TooltipConfig, type TooltipAnchorProps, type TooltipProps } from './createTooltip.svelte'
208
- // Navigation cores: pager (SvPagination), wizard steps (SvStepper), slideshow
209
- // (SvCarousel). Pagination + stepper are pure/rune-free; carousel owns autoplay.
210
- export { createPagination, type Pagination, type PaginationConfig } from './createPagination'
211
- export { createStepper, type Stepper, type StepperConfig, type StepStatus } from './createStepper'
212
- export { createCarousel, type Carousel, type CarouselConfig } from './createCarousel.svelte'
213
- // Command palette core (SvCommand): fuzzy filter + roving + hotkey. Pair with
214
- // createOverlay for the focus-trap/scroll-lock/dismissal lifecycle.
215
- export { createCommand, type Command, type CommandConfig } from './createCommand.svelte'
216
- // Schema-driven form core (SvForm): values/errors/touched + validation + submit.
217
- export { createForm, type Form, type FormConfig, type FormMessages } from './createForm.svelte'
218
- export { default as SvSegmented, type SegmentedOption } from './SvSegmented.svelte'
219
- export { default as SvSpinner } from './SvSpinner.svelte'
220
- export { default as SvLoadingOverlay } from './SvLoadingOverlay.svelte'
221
- export { default as SvResult } from './SvResult.svelte'
222
- export { default as SvCollapsible } from './SvCollapsible.svelte'
223
- export { default as SvStack } from './SvStack.svelte'
224
- export { default as SvGroup } from './SvGroup.svelte'
225
- export { default as SvSimpleGrid } from './SvSimpleGrid.svelte'
226
- // UI kit - typography + display primitives (Pillar C2)
227
- export { default as SvText } from './SvText.svelte'
228
- export { default as SvTitle } from './SvTitle.svelte'
229
- export { default as SvAnchor } from './SvAnchor.svelte'
230
- export { default as SvBlockquote } from './SvBlockquote.svelte'
231
- export { default as SvMark } from './SvMark.svelte'
232
- export { default as SvList } from './SvList.svelte'
233
- export { default as SvKbd } from './SvKbd.svelte'
234
- export { default as SvCode } from './SvCode.svelte'
235
- export { default as SvVisuallyHidden } from './SvVisuallyHidden.svelte'
236
- export { default as SvAspectRatio } from './SvAspectRatio.svelte'
237
- // UI kit - custom cell-editor registry (register any component as a grid editor)
238
- export {
239
- registerCellEditor,
240
- getCellEditor,
241
- hasCellEditor,
242
- unregisterCellEditor,
243
- registeredCellEditorTypes,
244
- defaultEditorProps,
245
- resolveEditorProps,
246
- type CellEditorContext,
247
- type CellEditorRegistration,
248
- } from './editor-registry'
249
- export { registerBuiltinEditors } from './builtin-editors'
250
- // UI kit - shared field chrome (label + hint + error + direction wrapper)
251
- export { default as SvField } from './SvField.svelte'
252
- // UI kit - headless cores (state + prop-getters you render yourself, like createSvGrid)
253
- export {
254
- createListbox,
255
- toSelectedArray,
256
- type Listbox,
257
- type ListboxConfig,
258
- type ListboxValue,
259
- type ListboxRootProps,
260
- type OptionProps,
261
- } from './createListbox.svelte'
262
- // Selection family cores
263
- export { createCombobox, type Combobox, type ComboboxConfig, type ComboboxValue } from './createCombobox.svelte'
264
- export { createDropdownList, type DropdownList, type DropdownListConfig, type DropdownValue } from './createDropdownList.svelte'
265
- // Shared engine behind the anchored-panel selects (SvMultiSelect / SvTreeSelect /
266
- // SvGridSelect): open/close, positioning, dismissal, roving active index, ARIA.
267
- export { createPopoverSelect, type PopoverSelect, type PopoverSelectConfig } from './createPopoverSelect.svelte'
268
- // Menu family core (SvMenu / SvMenuList / SvContextMenu): roving focus, submenus,
269
- // keyboard. `MenuItem` also re-exported from SvMenuList for back-compat.
270
- export { createMenu, type Menu, type MenuConfig, type MenuItemProps } from './createMenu.svelte'
271
- // Pure roving-focus navigation math shared by the cores above.
272
- export { enabledIndices, wrapMove } from './list-nav'
273
- export { createAutocomplete, type Autocomplete, type AutocompleteConfig } from './createAutocomplete.svelte'
274
- export { createTagsInput, type TagsInput, type TagsInputConfig } from './createTagsInput.svelte'
275
- export { createCountryInput, type CountryInput, type CountryInputConfig } from './createCountryInput.svelte'
276
- // Text-input family cores
277
- export { createNumberInput, type NumberInputConfig, type NumberInputCore } from './createNumberInput.svelte'
278
- export { createMaskedInput, type MaskedInputConfig, type MaskedInputCore } from './createMaskedInput.svelte'
279
- export { createPhoneInput, type PhoneInputConfig, type PhoneInputCore, type PhoneParts } from './createPhoneInput.svelte'
280
- export { createColorInput, normalizeHex, type ColorInputConfig, type ColorInputCore } from './createColorInput.svelte'
281
- export { createPasswordInput, passwordStrength, STRENGTH_LABELS, type PasswordInputConfig, type PasswordInputCore } from './createPasswordInput.svelte'
282
- // Buttons & toggles family cores
283
- export { createToggle, type Toggle, type ToggleConfig, type ToggleButtonProps } from './createToggle.svelte'
284
- export { createSwitch, type Switch, type SwitchConfig, type SwitchProps } from './createSwitch.svelte'
285
- export { createCheckbox, type Checkbox, type CheckboxConfig, type CheckboxBoxProps } from './createCheckbox.svelte'
286
- export { createRadioGroup, type RadioGroup, type RadioGroupConfig, type RadioProps, type RadioGroupProps } from './createRadioGroup.svelte'
287
- export { createRating, type Rating, type RatingConfig, type RatingFill, type RatingRootProps, type RatingStarProps } from './createRating.svelte'
288
- // Date & time family cores
289
- export { createCalendar, normalizeCalendarValue, type Calendar, type CalendarConfig, type CalendarDayState, type CalendarNavDir, type CalendarNameFormat, type DisplayMode } from './createCalendar.svelte'
290
- export { createTimePicker, parseTimeValue, type TimePicker, type TimePickerConfig, type TimeSelection, type TimeFormat, type DialTick } from './createTimePicker.svelte'
291
- export { createDateTimePicker, type DateTimePicker, type DateTimePickerConfig, type DropDownDisplayMode, type DateTimeTab } from './createDateTimePicker.svelte'
292
- // Layout & range family cores
293
- export { createTabs, type Tabs, type TabsConfig, type TabsOrientation, type TabsActivation } from './createTabs.svelte'
294
- export { createTree, treeDescendantIds, treeCheckState, moveTreeNode, sortTreeNodes, treeContains, type Tree, type TreeConfig, type TreeRow, type CheckState, type TreeDropPosition } from './createTree.svelte'
295
- export { createSlider, type Slider, type SliderConfig, type SliderValue, type SliderOrientation, type SliderThumb, type SliderPoint } from './createSlider.svelte'
296
- export { createGauge, type Gauge, type GaugeConfig, type GaugePoint } from './createGauge.svelte'
297
- export { createButtonGroup, toGroupArray, type ButtonGroup, type ButtonGroupConfig } from './createButtonGroup.svelte'
298
- // UI kit - Group B (buttons & toggles)
299
- export { default as SvButton } from './SvButton.svelte'
300
- export { default as SvRepeatButton } from './SvRepeatButton.svelte'
301
- export { default as SvToggleButton } from './SvToggleButton.svelte'
302
- export { default as SvSwitchButton } from './SvSwitchButton.svelte'
303
- export { default as SvCheckBox } from './SvCheckBox.svelte'
304
- export { default as SvRadioGroup, type RadioOption } from './SvRadioGroup.svelte'
305
- export { default as SvRating } from './SvRating.svelte'
306
- // UI kit - Group C (text inputs)
307
- export { default as SvTextInput } from './SvTextInput.svelte'
308
- export { default as SvTextArea } from './SvTextArea.svelte'
309
- export { default as SvOtpInput } from './SvOtpInput.svelte'
310
- export { sanitizeOtp, otpCells, isOtpComplete } from './otp'
311
- export { default as SvDurationInput } from './SvDurationInput.svelte'
312
- export { parseDuration, formatDuration } from './duration'
313
- export { default as SvNumberInput } from './SvNumberInput.svelte'
314
- export { default as SvPasswordInput } from './SvPasswordInput.svelte'
315
- export { default as SvMaskedInput } from './SvMaskedInput.svelte'
316
- export { default as SvPhoneInput } from './SvPhoneInput.svelte'
317
- export { default as SvColorInput } from './SvColorInput.svelte'
318
- export { applyMask, unmask, isMaskComplete } from './datetime/mask'
319
- export { COUNTRIES, COUNTRY_BY_CODE, flagEmoji, phoneDigitsValid, PHONE_NATIONAL_LENGTHS, type Country } from './countries'
320
- // UI kit - Group D (selection overlays)
321
- export { default as SvListBox } from './SvListBox.svelte'
322
- export { default as SvDropDownList } from './SvDropDownList.svelte'
323
- export { default as SvComboBox } from './SvComboBox.svelte'
324
- export { default as SvAutoComplete } from './SvAutoComplete.svelte'
325
- export { default as SvTagsInput } from './SvTagsInput.svelte'
326
- export { default as SvMultiSelect, type MultiSelectOption } from './SvMultiSelect.svelte'
327
- export { debounce, type Debounced } from './debounce'
328
- export { default as SvTreeSelect, type TreeSelectNode } from './SvTreeSelect.svelte'
329
- export { flattenVisible, findNodePath, branchValues, type FlatRow } from './tree-select'
330
- export { default as SvGridSelect, type GridSelectColumn } from './SvGridSelect.svelte'
331
- export { filterGridRows } from './grid-select'
332
- export { default as SvCountryInput } from './SvCountryInput.svelte'
333
- export {
334
- filterOptions,
335
- groupOptions,
336
- hasGroups,
337
- nextTypeaheadIndex,
338
- createTypeaheadBuffer,
339
- isTypeaheadKey,
340
- type ListOption,
341
- type IndexedOption,
342
- type OptionGroup,
343
- } from './list-option'
344
- export { virtualRange, scrollToIndex, type VirtualRange, type VirtualParams } from './virtual'
345
- // UI kit - Group E (range & feedback)
346
- export { default as SvSlider } from './SvSlider.svelte'
347
- export { default as SvGauge } from './SvGauge.svelte'
348
- // UI kit - Group F (composite / layout)
349
- export { default as SvTabs, type TabItem } from './SvTabs.svelte'
350
- export { default as SvTree, type TreeNode as SvTreeNode } from './SvTree.svelte'
351
- export { default as SvAccordion, type AccordionItem, type AccordionExpandMode } from './SvAccordion.svelte'
352
- export { createAccordion, type Accordion, type AccordionConfig } from './createAccordion.svelte'
353
- export { default as SvSplitter, type SplitterOrientation } from './SvSplitter.svelte'
354
- export { createSplitter, type Splitter, type SplitterConfig, type SplitterPoint } from './createSplitter.svelte'
355
- export { default as SvDockLayout } from './SvDockLayout.svelte'
356
- export { default as SvDockManager, type DockManagerApi, type DockEvent } from './SvDockManager.svelte'
357
- export {
358
- dockPane,
359
- dockTabs,
360
- dockGroup,
361
- removePane,
362
- movePane,
363
- dockInto,
364
- reorderPane,
365
- removeLeaf,
366
- dockLeafToEdge,
367
- setActive as dockSetActive,
368
- setSizes as dockSetSizes,
369
- normalize as dockNormalize,
370
- findTabsWithPane,
371
- allPaneIds,
372
- type DockNode,
373
- type DockGroup,
374
- type DockTabs,
375
- type DockPane,
376
- type DockZone,
377
- } from './dock-model'
378
- export {
379
- floatPane,
380
- dockPaneOnto,
381
- dockWindowOnto,
382
- dockPaneToEmptyMain,
383
- reorderTab,
384
- autoHideLeaf,
385
- autoHidePaneToSide,
386
- pinAutoHidden,
387
- setAutoHideSize,
388
- closePane as dockManagerClosePane,
389
- moveWindow,
390
- resizeWindow,
391
- bringToFront,
392
- setWindowMinimized,
393
- toggleWindowMaximized,
394
- closeWindow,
395
- autoHideWindow,
396
- toggleMaximizeLeaf,
397
- findLeafById,
398
- addPaneToMain,
399
- resizeGroup as dockManagerResizeGroup,
400
- setManagerActive,
401
- locatePane,
402
- surfaceOfTabs,
403
- allManagerPaneIds,
404
- allManagerIds,
405
- dedupeManagerNodeIds,
406
- type DockManagerState,
407
- type FloatWindow,
408
- type AutoHideEntry,
409
- type DockSide,
410
- type PaneLocation,
411
- } from './dock-manager-model'
412
- export { default as SvFileUpload, type FileRejection, type FileRejectReason } from './SvFileUpload.svelte'
413
- export { createFileUpload, fileMatchesAccept, type FileUpload, type FileUploadConfig } from './createFileUpload.svelte'
414
- // UI kit - overlays (popover / tooltip / modal), sharing the popover.ts positioning + animation
415
- export { default as SvPopover } from './SvPopover.svelte'
416
- export { default as SvTooltip } from './SvTooltip.svelte'
417
- export { default as SvModal } from './SvModal.svelte'
418
- export { default as SvDrawer } from './SvDrawer.svelte'
419
- export type DrawerSide = 'right' | 'left' | 'top' | 'bottom'
420
- export { default as SvToaster } from './SvToaster.svelte'
421
- export { default as SvBadge } from './SvBadge.svelte'
422
- export { default as SvSkeleton } from './SvSkeleton.svelte'
423
- export { default as SvCard } from './SvCard.svelte'
424
- export { default as SvAlert } from './SvAlert.svelte'
425
- export { default as SvEmptyState } from './SvEmptyState.svelte'
426
- export { default as SvDivider } from './SvDivider.svelte'
427
- export { default as SvChip } from './SvChip.svelte'
428
- export { default as SvStat } from './SvStat.svelte'
429
- export { default as SvTimeline, type TimelineItem } from './SvTimeline.svelte'
430
- export { default as SvSparkline } from './SvSparkline.svelte'
431
- export { default as SvScrollArea } from './SvScrollArea.svelte'
432
- export { default as SvAvatarGroup } from './SvAvatarGroup.svelte'
433
- export { default as SvCommand, type CommandItem } from './SvCommand.svelte'
434
- export { fuzzyScore, fuzzyMatch } from './fuzzy'
435
- export { default as SvRichText, type RichTextTool } from './SvRichText.svelte'
436
- export { default as SvCarousel } from './SvCarousel.svelte'
437
- export { default as SvTour, type TourStep } from './SvTour.svelte'
438
- export { default as SvPagination } from './SvPagination.svelte'
439
- export { paginationRange, type PaginationItem, type PaginationRangeOptions } from './paginate'
440
- export { default as SvBreadcrumb, type BreadcrumbItem } from './SvBreadcrumb.svelte'
441
- export { default as SvStepper, type StepItem } from './SvStepper.svelte'
442
- export { default as SvAvatar } from './SvAvatar.svelte'
443
- export { avatarInitials, avatarColorHue } from './avatar'
444
- export { default as SvContextMenu } from './SvContextMenu.svelte'
445
- export {
446
- toast,
447
- dismissToast,
448
- updateToast,
449
- clearToasts,
450
- pauseToast,
451
- resumeToast,
452
- toastStore,
453
- type Toast,
454
- type ToastVariant,
455
- type ToastOptions,
456
- type ToastFn,
457
- type ToastAction,
458
- type UpdateToast,
459
- type PromiseMessages,
460
- } from './toast-store.svelte'
461
- export { default as SvMenu, type MenuItem } from './SvMenu.svelte'
462
- export { default as SvMenuList } from './SvMenuList.svelte'
463
- export { default as SvMenubar, type MenubarMenu } from './SvMenubar.svelte'
464
- export { default as SvHoverCard } from './SvHoverCard.svelte'
465
- export { default as SvPopconfirm } from './SvPopconfirm.svelte'
466
- export { default as SvNavPane, type NavItem, type NavSection, type NavModule } from './SvNavPane.svelte'
467
- export { default as SvProgress } from './SvProgress.svelte'
468
- export { default as SvCircularProgress } from './SvCircularProgress.svelte'
469
- export { popIn } from './popover'
470
- export { default as SvForm, type FormField, type FormFieldType, type FormSection, type FormEntry } from './SvForm.svelte'
471
- export { rules, runRules, isEmptyValue, type Validator, type RuleOptions, type CompareOp } from './validators'
472
- export { anchoredRect, portalToBody, PANEL_THEME_VARS, type AnchoredRect } from './popover'
473
- export {
474
- computePosition,
475
- autoUpdate,
476
- parsePlacement,
477
- type Placement,
478
- type Side,
479
- type Align,
480
- type Rect,
481
- type Viewport,
482
- type ComputePositionOptions,
483
- type ComputePositionResult,
484
- } from './positioning'
485
- export {
486
- toDate, startOfDay, startOfWeek, startOfMonth, addDays, addMonths, addYears, clampDate, isSameDay,
487
- monthMatrix, weekdayOrder, isoWeek, decadeRange, withTime, snapMinute, type DateLike,
488
- } from './datetime/date-core'
489
- export { formatDate, parseDate, tokenizeMask } from './datetime/date-format'
490
- export { toICS, fromICS, ruleToRRule, rruleToRule, type ICalEvent } from './scheduler-ical'
491
- export {
492
- zoneParts, zoneOffsetMs, toZonedLocal, fromZonedLocal, instantFromWallClock, zoneAbbr, normalizeTimeZone,
493
- type ZoneParts,
494
- } from './datetime/timezone'
495
- export {
496
- selectDate, rangeDays, isSelected, isMultiSelectMode, emptySelection,
497
- type SelectionMode, type SelectionState,
498
- } from './datetime/date-selection'
499
- export {
500
- isDisabledDay, isOutOfRange, isRestricted, isImportant, type RestrictOptions,
501
- } from './datetime/date-restrict'
502
- export { default as FlexRender } from './FlexRender.svelte'
503
- export { renderComponent, renderSnippet } from './render-component'
504
- export { default as SvGridChart } from './SvGridChart.svelte'
505
- export { default as SvGridChartPanel } from './SvGridChartPanel.svelte'
506
- // Preferred names for the standalone chart primitives. `SvChart` is a genuine
507
- // standalone component (spec-driven, no grid needed), so it sits alongside its
508
- // unprefixed siblings SvGauge / SvSparkline. The `SvGrid*` names remain exported
509
- // as aliases so existing imports keep working.
510
- export { default as SvChart } from './SvGridChart.svelte'
511
- export { default as SvChartPanel } from './SvGridChartPanel.svelte'
512
- export type { ChartingConfig, ChartAggregateRequest, ChartAggregateBucket } from './SvGrid.types'
513
- export type { GridLocalization } from './SvGrid.types'
514
- export {
515
- buildChart,
516
- formatChartValue,
517
- rowsToChartSpec,
518
- niceScale,
519
- niceLogScale,
520
- linearTrend,
521
- simpleMovingAverage,
522
- exponentialMovingAverage,
523
- computeOverlay,
524
- buildLinePath,
525
- sampleGradient,
526
- pickContrastText,
527
- DEFAULT_PALETTE,
528
- type ChartType,
529
- type ChartSpec,
530
- type ChartSeries,
531
- type ChartGeometry,
532
- type ChartBar,
533
- type ChartLine,
534
- type ChartLinePoint,
535
- type ChartPieSlice,
536
- type ChartSelection,
537
- type ChartReferenceLine,
538
- type ChartRefLineGeo,
539
- type ChartRefLineGeoV,
540
- type ChartScatterDot,
541
- type ScatterPoint,
542
- type NiceScale,
543
- type SeriesOverlay,
544
- type SeriesPattern,
545
- type ChartAnnotation,
546
- type ChartHeatmapCell,
547
- type ChartFunnelSegment,
548
- type ChartRadarSeries,
549
- type ChartRadarAxis,
550
- type ChartTreemapCell,
551
- type ChartCalendarCell,
552
- type ChartGaugeLayout,
553
- type ChartSankeyNode,
554
- type ChartSankeyLink,
555
- type ChartValueFormat,
556
- type TreeNode,
557
- } from './chart'
558
- export {
559
- chartToSvgString,
560
- downloadChartSvg,
561
- chartToPngBlob,
562
- downloadChartPng,
563
- chartSpecToCsv,
564
- downloadChartCsv,
565
- type ChartExportOptions,
566
- } from './chart-export'
567
- export {
568
- buildSparkline,
569
- toSparklineValues,
570
- type SparklineConfig,
571
- type SparklineType,
572
- type SparklineGeometry,
573
- } from './sparkline'
574
- export {
575
- spreadsheetLayout,
576
- spansToMerges,
577
- type SpanColumn,
578
- type SpreadsheetActionOptions,
579
- type MergeSpec,
580
- type CellBorderSpec,
581
- type BorderSpec,
582
- } from './spreadsheet'
583
- export { rowResize, type RowResizeOptions } from './row-resize'
584
- export { rowDropZone, type RowDragEndEvent, type RowDropZoneOptions } from './row-drag'
585
- export { resolveColumnTypes, inferCellDataType, type CellDataType } from './column-types'
586
- export {
587
- computeColumnGroupMeta,
588
- hiddenLeavesForCollapse,
589
- type ColumnGroupMeta,
590
- type ColumnGroupShow,
591
- } from './column-groups'
592
- export {
593
- createHyperFormulaSheet,
594
- type HyperFormulaSheet,
595
- type HyperFormulaSheetConfig,
596
- type HyperFormulaInstance,
597
- } from './hyperformula-adapter'
598
- export {
599
- createCollaboration,
600
- broadcastChannelTransport,
601
- type CollabUser,
602
- type CollabCell,
603
- type CollabPresence,
604
- type CollabMessage,
605
- type CollabTransport,
606
- type Collaboration,
607
- } from './collaboration'
608
- export {
609
- createServerDataSource,
610
- type ServerDataSource,
611
- type ServerRequest,
612
- type ServerResult,
613
- type ServerController,
614
- type ServerState,
615
- type ServerSortModel,
616
- type ServerFilterModel,
617
- type ServerAggregation,
618
- type ServerGroupRow,
619
- type ServerLeafRow,
620
- type ServerMoreRow,
621
- type ServerFooterRow,
622
- type ServerSkeletonRow,
623
- type ServerDisplayRow,
624
- } from './server-data-source'
625
- export {
626
- createServerGroupModel,
627
- serverGroupRows,
628
- serverGroupNav,
629
- type ServerGroupController,
630
- type ServerGroupControllerOptions,
631
- type ServerGroupState,
632
- type ServerGroupGridRow,
633
- } from './server-group-model'
634
- export { default as SvGroupCell } from './SvGroupCell.svelte'
635
- export { default as SvRowGroupPanel } from './SvRowGroupPanel.svelte'
636
- export {
637
- createNamedViews,
638
- memoryViews,
639
- localStorageViews,
640
- attachAutoSavedView,
641
- type SavedView,
642
- type ViewStorage,
643
- type NamedViews,
644
- type AutoSavedViewOptions,
645
- } from './named-views'
646
- export {
647
- resolveCellFormat,
648
- computeColumnStat,
649
- lerpColor,
650
- rgba,
651
- contrastText,
652
- formatNeedsStats,
653
- formatsNeedingStats,
654
- type ConditionalFormat,
655
- type ConditionalFormatSpec,
656
- type ColorScaleFormat,
657
- type ColorScaleStop,
658
- type ScaleBounds,
659
- type DataBarFormat,
660
- type IconSetFormat,
661
- type RuleFormat,
662
- type ResolvedCellFormat,
663
- } from './conditional-formatting'
664
- export {
665
- defaultGridMessages,
666
- resolveGridMessages,
667
- type GridMessages,
668
- } from './grid-messages'
669
- export {
670
- insertGroupFooters,
671
- buildAutoGroupColumns,
672
- type GroupDisplayType,
673
- type GroupFooterOptions,
674
- type AutoGroupColumnSpec,
675
- type AutoGroupResult,
676
- } from './group-display'
677
- export { getKeyboardIntent, getNextActiveCell, type GridKeyboardIntent } from './keyboard'
678
- export { createVirtualizer } from './virtualization/virtualizer'
679
- export { createSvelteVirtualizer } from './virtualization/svelte-virtualizer.svelte'
680
- export { createColumnVirtualizer } from './virtualization/column-virtualizer'
681
- export type { VirtualItem, VirtualizerOptions, VirtualizerState } from './virtualization/types'
682
- export type { SvGridApi, SvGridFilterOperator, SvGridWrapperProps } from './svgrid-wrapper.types'
683
- export {
684
- parseEditorValue,
685
- normalizeEditorOptions,
686
- type CellEditorType,
687
- type CellEditorOption,
688
- } from './editors/cell-editors'
689
- export {
690
- applyExcelFilter,
691
- normalizeForFilter,
692
- splitInTokens,
693
- joinInTokens,
694
- type ExcelFilter,
695
- type ExcelFilterOperator,
696
- type ExcelFilterOptions,
697
- } from './filtering/excel-filters'
698
- export {
699
- getGridCellDomId,
700
- getGridCellA11yProps,
701
- getGridHeaderA11yProps,
702
- getGridRootA11yProps,
703
- getGridRowA11yProps,
704
- type GridCellA11yInput,
705
- type GridColumnA11yInput,
706
- type GridSortDirection,
707
- } from './a11y'
708
-
709
- /**
710
- * Compatibility alias for teams migrating from `createTable`.
711
- */
712
- export { createSvGrid as createTable } from './createGrid.svelte'
1
+ export { formatNumericWithConfig, resolveDatePattern } from './cell-formatting'
2
+ export {
3
+ coerceExportDate,
4
+ formatValueForExport,
5
+ projectGridRows,
6
+ toExcelNumFmt,
7
+ valueForExcel,
8
+ serializeDelimited,
9
+ serializeJson,
10
+ serializeMarkdown,
11
+ serializeHtml,
12
+ serializeXml,
13
+ downloadTextFile,
14
+ downloadBlobFile,
15
+ copyTextToClipboard,
16
+ type GridExportOptions,
17
+ type GridExportScope,
18
+ type GridExportColumn,
19
+ type GridClipboardOptions,
20
+ type GridClipboardFormat,
21
+ type SerializeProgress,
22
+ type SerializeOptions,
23
+ type CsvOptions,
24
+ } from './export-format'
25
+
26
+ export {
27
+ columnFilteringFeature,
28
+ columnGroupingFeature,
29
+ createCoreRowModel,
30
+ createExpandedRowModel,
31
+ createFilteredRowModel,
32
+ createGroupedRowModel,
33
+ createPaginatedRowModel,
34
+ createSortedRowModel,
35
+ applyGroupAggregate,
36
+ filterFns,
37
+ rowExpandingFeature,
38
+ rowPaginationFeature,
39
+ rowSelectionFeature,
40
+ rowSortingFeature,
41
+ sortFns,
42
+ tableFeatures,
43
+ type Cell,
44
+ type CellContext,
45
+ type CellSpanParams,
46
+ type ValueParserParams,
47
+ type EditorContext,
48
+ type CellData,
49
+ type ActiveCellState,
50
+ type CellFormatConfig,
51
+ type CellFormatter,
52
+ type Column,
53
+ type ColumnDef,
54
+ type ColumnDefTemplate,
55
+ type GroupAggregator,
56
+ type Header,
57
+ type HeaderContext,
58
+ type HeaderGroup,
59
+ type Row,
60
+ type RowData,
61
+ type SortingState,
62
+ type SvGrid as SvGridInstance,
63
+ type SvGridOptions,
64
+ type TableFeatures,
65
+ type Updater,
66
+ } from './core'
67
+
68
+ export { createGrid, createSvGrid, type SvelteGrid } from './createGrid.svelte'
69
+ export { createGridState, createSvGridState } from './createGridState.svelte'
70
+ export { subscribeGrid, subscribeSvGrid } from './subscribe'
71
+ export { default as SvGrid } from './SvGrid.svelte'
72
+ // Kanban board view. The `board` prop + its config types live in the free grid,
73
+ // but the RENDERER (SvGridBoard) ships in @svgrid/enterprise and registers itself
74
+ // through this seam (see board-view.svelte.ts). Mirrors the scheduler-view seam.
75
+ export type { BoardConfig, BoardLane, BoardCardMoveEvent, BoardCardCommitEvent, BoardLayout, BoardSubtask, BoardComment, BoardMenuContext, BoardLaneMenuContext, BoardDrawerConfig } from './SvGrid.types'
76
+ export { registerBoardView, getBoardView, hasBoardView } from './board-view.svelte'
77
+ // Built-in AI helpers (free): natural-language filter, smart-fill, summarize,
78
+ // classify, anomaly detection, chart-this and export planning. They ship no
79
+ // model client and no-op until you register one with `setAIProvider(...)`, so
80
+ // they tree-shake out of the base bundle unless you actually import them. The
81
+ // export-provider seam lets @svgrid/enterprise register its Excel/PDF engine so
82
+ // AI-planned exports can WRITE those formats.
83
+ export * from './ai'
84
+ export {
85
+ registerExportProvider,
86
+ getExportProvider,
87
+ type GridExportProvider,
88
+ type GridExportRunOptions,
89
+ } from './export-provider'
90
+ // Scheduler / calendar view. The `scheduler` prop + its config types live in
91
+ // the free grid, but the RENDERER ships in @svgrid/enterprise and registers
92
+ // itself through this seam (see scheduler-view.svelte.ts). Mirrors editor-registry.
93
+ export type {
94
+ SchedulerConfig,
95
+ SchedulerDrawerConfig,
96
+ SchedulerEventMoveEvent,
97
+ SchedulerEventResizeEvent,
98
+ SchedulerEventCommitEvent,
99
+ SchedulerRangeSelection,
100
+ SchedulerView,
101
+ SchedulerResource,
102
+ SchedulerCollisionMode,
103
+ SchedulerException,
104
+ SchedulerEditScope,
105
+ SchedulerOccurrenceChangeEvent,
106
+ } from './SvGrid.types'
107
+ export { registerSchedulerView, getSchedulerView, hasSchedulerView } from './scheduler-view.svelte'
108
+ // Chart view. The `chart` prop + its config live in the free grid AND so does the
109
+ // renderer (SvGridChartView wraps the free SvChart) - so unlike board/scheduler
110
+ // it works out of the box. This seam only lets a host OVERRIDE the built-in view.
111
+ export type { ChartViewConfig } from './SvGrid.types'
112
+ export { registerChartView, getChartView, hasChartView } from './chart-view.svelte'
113
+ export {
114
+ registerPivotEngine,
115
+ getPivotEngine,
116
+ hasPivotEngine,
117
+ type PivotEngine,
118
+ type GridPivotConfig,
119
+ type GridPivotValue,
120
+ type GridPivotRow,
121
+ } from './pivot-view.svelte'
122
+ // Pure scheduler layout/model helpers (framework-free, like recurrence/date-core).
123
+ // The calendar RENDERER that consumes these ships in @svgrid/enterprise.
124
+ export {
125
+ resolveEvents,
126
+ hasConflict,
127
+ overlapCount,
128
+ overlapsBands,
129
+ workingIntervals,
130
+ withinWorking,
131
+ type WorkingWindow,
132
+ eventsOnDay,
133
+ layoutDayEvents,
134
+ monthWeekSegments,
135
+ agendaGroups,
136
+ rangeForView,
137
+ daysForView,
138
+ navigateAnchor,
139
+ timelineAxis,
140
+ timelineGeom,
141
+ timelineRows,
142
+ type ResolvedEvent,
143
+ type EventSpec,
144
+ type RecurrenceException,
145
+ type PositionedEvent,
146
+ type OverflowMarker,
147
+ type DayLayout,
148
+ type LayoutOptions,
149
+ type MonthSegment,
150
+ type AgendaGroup,
151
+ type TimelineTick,
152
+ type TimelineMajor,
153
+ type TimelineAxis,
154
+ type TimelineRow,
155
+ } from './scheduler-model'
156
+ export { default as SvGridDropdown } from './SvGridDropdown.svelte'
157
+ export { default as SvCalendar, type CalendarValue, type CalendarPreset, type CalendarAnimation } from './SvCalendar.svelte'
158
+ export {
159
+ matchesRecurrence,
160
+ expandRecurrence,
161
+ describeRecurrence,
162
+ type RecurrenceRule,
163
+ type RecurrenceFreq,
164
+ type RecurrenceLabels,
165
+ } from './recurrence'
166
+ export { default as SvTimePicker, type TimeValue } from './SvTimePicker.svelte'
167
+ export { default as SvDateTimePicker, type DateTimeValue } from './SvDateTimePicker.svelte'
168
+ export { default as SvDateRangeInput, type DateRangeValue } from './SvDateRangeInput.svelte'
169
+ export { default as SvButtonGroup, type ButtonGroupItem, type ButtonGroupMode, type ButtonGroupValue } from './SvButtonGroup.svelte'
170
+ // UI kit - shared editor contract (common props + a11y wiring for every editor)
171
+ export {
172
+ editorAria,
173
+ editorErrorId,
174
+ editorHintId,
175
+ nextEditorId,
176
+ resolveMessages,
177
+ type SvEditorProps,
178
+ type EditorSize,
179
+ type EditorDir,
180
+ type EditorAction,
181
+ type EditorAriaState,
182
+ } from './editor-contract'
183
+ // UI kit - editor interaction surface (commit/cancel/close for grid-cell use)
184
+ export { type EditorInteraction } from './editor-contract'
185
+ // UI kit - shared a11y primitives (focus trap, scroll lock, dismissable layers, live region)
186
+ export {
187
+ FOCUSABLE_SELECTOR,
188
+ getFocusable,
189
+ createFocusTrap,
190
+ type FocusTrap,
191
+ type FocusTrapOptions,
192
+ } from './a11y/focus-trap'
193
+ export { lockScroll, scrollLockDepth } from './a11y/scroll-lock'
194
+ export {
195
+ createDismissableLayer,
196
+ dismissableDepth,
197
+ onScrollOutside,
198
+ type DismissableLayer,
199
+ type DismissableOptions,
200
+ } from './a11y/dismissable'
201
+ export { announce, type AnnounceOptions } from './a11y/live-region'
202
+ // Dialog-overlay core (SvModal / SvDrawer): open -> focus-trap + scroll-lock +
203
+ // Escape/backdrop dismissal -> restore, on the primitives above.
204
+ export { createOverlay, type Overlay, type OverlayConfig, type DialogProps } from './createOverlay.svelte'
205
+ // Tooltip core (SvTooltip): hover/focus open with a show delay, Escape-to-hide,
206
+ // and aria-describedby / role=tooltip wiring. (Toasts are already headless: see
207
+ // the toastStore / toast() exports below.)
208
+ export { createTooltip, type Tooltip, type TooltipConfig, type TooltipAnchorProps, type TooltipProps } from './createTooltip.svelte'
209
+ // Navigation cores: pager (SvPagination), wizard steps (SvStepper), slideshow
210
+ // (SvCarousel). Pagination + stepper are pure/rune-free; carousel owns autoplay.
211
+ export { createPagination, type Pagination, type PaginationConfig } from './createPagination'
212
+ export { createStepper, type Stepper, type StepperConfig, type StepStatus } from './createStepper'
213
+ export { createCarousel, type Carousel, type CarouselConfig } from './createCarousel.svelte'
214
+ // Command palette core (SvCommand): fuzzy filter + roving + hotkey. Pair with
215
+ // createOverlay for the focus-trap/scroll-lock/dismissal lifecycle.
216
+ export { createCommand, type Command, type CommandConfig } from './createCommand.svelte'
217
+ // Schema-driven form core (SvForm): values/errors/touched + validation + submit.
218
+ export { createForm, type Form, type FormConfig, type FormMessages } from './createForm.svelte'
219
+ export { default as SvSegmented, type SegmentedOption } from './SvSegmented.svelte'
220
+ export { default as SvSpinner } from './SvSpinner.svelte'
221
+ export { default as SvLoadingOverlay } from './SvLoadingOverlay.svelte'
222
+ export { default as SvResult } from './SvResult.svelte'
223
+ export { default as SvCollapsible } from './SvCollapsible.svelte'
224
+ export { default as SvStack } from './SvStack.svelte'
225
+ export { default as SvGroup } from './SvGroup.svelte'
226
+ export { default as SvSimpleGrid } from './SvSimpleGrid.svelte'
227
+ // UI kit - typography + display primitives (Pillar C2)
228
+ export { default as SvText } from './SvText.svelte'
229
+ export { default as SvTitle } from './SvTitle.svelte'
230
+ export { default as SvAnchor } from './SvAnchor.svelte'
231
+ export { default as SvBlockquote } from './SvBlockquote.svelte'
232
+ export { default as SvMark } from './SvMark.svelte'
233
+ export { default as SvList } from './SvList.svelte'
234
+ export { default as SvKbd } from './SvKbd.svelte'
235
+ export { default as SvCode } from './SvCode.svelte'
236
+ export { default as SvVisuallyHidden } from './SvVisuallyHidden.svelte'
237
+ export { default as SvAspectRatio } from './SvAspectRatio.svelte'
238
+ // UI kit - custom cell-editor registry (register any component as a grid editor)
239
+ export {
240
+ registerCellEditor,
241
+ getCellEditor,
242
+ hasCellEditor,
243
+ unregisterCellEditor,
244
+ registeredCellEditorTypes,
245
+ defaultEditorProps,
246
+ resolveEditorProps,
247
+ type CellEditorContext,
248
+ type CellEditorRegistration,
249
+ } from './editor-registry'
250
+ export { registerBuiltinEditors } from './builtin-editors'
251
+ // UI kit - shared field chrome (label + hint + error + direction wrapper)
252
+ export { default as SvField } from './SvField.svelte'
253
+ // UI kit - headless cores (state + prop-getters you render yourself, like createSvGrid)
254
+ export {
255
+ createListbox,
256
+ toSelectedArray,
257
+ type Listbox,
258
+ type ListboxConfig,
259
+ type ListboxValue,
260
+ type ListboxRootProps,
261
+ type OptionProps,
262
+ } from './createListbox.svelte'
263
+ // Selection family cores
264
+ export { createCombobox, type Combobox, type ComboboxConfig, type ComboboxValue } from './createCombobox.svelte'
265
+ export { createDropdownList, type DropdownList, type DropdownListConfig, type DropdownValue } from './createDropdownList.svelte'
266
+ // Shared engine behind the anchored-panel selects (SvMultiSelect / SvTreeSelect /
267
+ // SvGridSelect): open/close, positioning, dismissal, roving active index, ARIA.
268
+ export { createPopoverSelect, type PopoverSelect, type PopoverSelectConfig } from './createPopoverSelect.svelte'
269
+ // Menu family core (SvMenu / SvMenuList / SvContextMenu): roving focus, submenus,
270
+ // keyboard. `MenuItem` also re-exported from SvMenuList for back-compat.
271
+ export { createMenu, type Menu, type MenuConfig, type MenuItemProps } from './createMenu.svelte'
272
+ // Pure roving-focus navigation math shared by the cores above.
273
+ export { enabledIndices, wrapMove } from './list-nav'
274
+ export { createAutocomplete, type Autocomplete, type AutocompleteConfig } from './createAutocomplete.svelte'
275
+ export { createTagsInput, type TagsInput, type TagsInputConfig } from './createTagsInput.svelte'
276
+ export { createCountryInput, type CountryInput, type CountryInputConfig } from './createCountryInput.svelte'
277
+ // Text-input family cores
278
+ export { createNumberInput, type NumberInputConfig, type NumberInputCore } from './createNumberInput.svelte'
279
+ export { createMaskedInput, type MaskedInputConfig, type MaskedInputCore } from './createMaskedInput.svelte'
280
+ export { createPhoneInput, type PhoneInputConfig, type PhoneInputCore, type PhoneParts } from './createPhoneInput.svelte'
281
+ export { createColorInput, normalizeHex, type ColorInputConfig, type ColorInputCore } from './createColorInput.svelte'
282
+ export { createPasswordInput, passwordStrength, STRENGTH_LABELS, type PasswordInputConfig, type PasswordInputCore } from './createPasswordInput.svelte'
283
+ // Buttons & toggles family cores
284
+ export { createToggle, type Toggle, type ToggleConfig, type ToggleButtonProps } from './createToggle.svelte'
285
+ export { createSwitch, type Switch, type SwitchConfig, type SwitchProps } from './createSwitch.svelte'
286
+ export { createCheckbox, type Checkbox, type CheckboxConfig, type CheckboxBoxProps } from './createCheckbox.svelte'
287
+ export { createRadioGroup, type RadioGroup, type RadioGroupConfig, type RadioProps, type RadioGroupProps } from './createRadioGroup.svelte'
288
+ export { createRating, type Rating, type RatingConfig, type RatingFill, type RatingRootProps, type RatingStarProps } from './createRating.svelte'
289
+ // Date & time family cores
290
+ export { createCalendar, normalizeCalendarValue, type Calendar, type CalendarConfig, type CalendarDayState, type CalendarNavDir, type CalendarNameFormat, type DisplayMode } from './createCalendar.svelte'
291
+ export { createTimePicker, parseTimeValue, type TimePicker, type TimePickerConfig, type TimeSelection, type TimeFormat, type DialTick } from './createTimePicker.svelte'
292
+ export { createDateTimePicker, type DateTimePicker, type DateTimePickerConfig, type DropDownDisplayMode, type DateTimeTab } from './createDateTimePicker.svelte'
293
+ // Layout & range family cores
294
+ export { createTabs, type Tabs, type TabsConfig, type TabsOrientation, type TabsActivation } from './createTabs.svelte'
295
+ export { createTree, treeDescendantIds, treeCheckState, moveTreeNode, sortTreeNodes, treeContains, type Tree, type TreeConfig, type TreeRow, type CheckState, type TreeDropPosition } from './createTree.svelte'
296
+ export { createSlider, type Slider, type SliderConfig, type SliderValue, type SliderOrientation, type SliderThumb, type SliderPoint } from './createSlider.svelte'
297
+ export { createGauge, type Gauge, type GaugeConfig, type GaugePoint } from './createGauge.svelte'
298
+ export { createButtonGroup, toGroupArray, type ButtonGroup, type ButtonGroupConfig } from './createButtonGroup.svelte'
299
+ // UI kit - Group B (buttons & toggles)
300
+ export { default as SvButton } from './SvButton.svelte'
301
+ export { default as SvRepeatButton } from './SvRepeatButton.svelte'
302
+ export { default as SvToggleButton } from './SvToggleButton.svelte'
303
+ export { default as SvSwitchButton } from './SvSwitchButton.svelte'
304
+ export { default as SvCheckBox } from './SvCheckBox.svelte'
305
+ export { default as SvRadioGroup, type RadioOption } from './SvRadioGroup.svelte'
306
+ export { default as SvRating } from './SvRating.svelte'
307
+ // UI kit - Group C (text inputs)
308
+ export { default as SvTextInput } from './SvTextInput.svelte'
309
+ export { default as SvTextArea } from './SvTextArea.svelte'
310
+ export { default as SvOtpInput } from './SvOtpInput.svelte'
311
+ export { sanitizeOtp, otpCells, isOtpComplete } from './otp'
312
+ export { default as SvDurationInput } from './SvDurationInput.svelte'
313
+ export { parseDuration, formatDuration } from './duration'
314
+ export { default as SvNumberInput } from './SvNumberInput.svelte'
315
+ export { default as SvPasswordInput } from './SvPasswordInput.svelte'
316
+ export { default as SvMaskedInput } from './SvMaskedInput.svelte'
317
+ export { default as SvPhoneInput } from './SvPhoneInput.svelte'
318
+ export { default as SvColorInput } from './SvColorInput.svelte'
319
+ export { applyMask, unmask, isMaskComplete } from './datetime/mask'
320
+ export { COUNTRIES, COUNTRY_BY_CODE, flagEmoji, phoneDigitsValid, PHONE_NATIONAL_LENGTHS, type Country } from './countries'
321
+ // UI kit - Group D (selection overlays)
322
+ export { default as SvListBox } from './SvListBox.svelte'
323
+ export { default as SvDropDownList } from './SvDropDownList.svelte'
324
+ export { default as SvComboBox } from './SvComboBox.svelte'
325
+ export { default as SvAutoComplete } from './SvAutoComplete.svelte'
326
+ export { default as SvTagsInput } from './SvTagsInput.svelte'
327
+ export { default as SvMultiSelect, type MultiSelectOption } from './SvMultiSelect.svelte'
328
+ export { debounce, type Debounced } from './debounce'
329
+ export { default as SvTreeSelect, type TreeSelectNode } from './SvTreeSelect.svelte'
330
+ export { flattenVisible, findNodePath, branchValues, type FlatRow } from './tree-select'
331
+ export { default as SvGridSelect, type GridSelectColumn } from './SvGridSelect.svelte'
332
+ export { filterGridRows } from './grid-select'
333
+ export { default as SvCountryInput } from './SvCountryInput.svelte'
334
+ export {
335
+ filterOptions,
336
+ groupOptions,
337
+ hasGroups,
338
+ nextTypeaheadIndex,
339
+ createTypeaheadBuffer,
340
+ isTypeaheadKey,
341
+ type ListOption,
342
+ type IndexedOption,
343
+ type OptionGroup,
344
+ } from './list-option'
345
+ export { virtualRange, scrollToIndex, type VirtualRange, type VirtualParams } from './virtual'
346
+ // UI kit - Group E (range & feedback)
347
+ export { default as SvSlider } from './SvSlider.svelte'
348
+ export { default as SvGauge } from './SvGauge.svelte'
349
+ // UI kit - Group F (composite / layout)
350
+ export { default as SvTabs, type TabItem } from './SvTabs.svelte'
351
+ export { default as SvTree, type TreeNode as SvTreeNode } from './SvTree.svelte'
352
+ export { default as SvAccordion, type AccordionItem, type AccordionExpandMode } from './SvAccordion.svelte'
353
+ export { createAccordion, type Accordion, type AccordionConfig } from './createAccordion.svelte'
354
+ export { default as SvSplitter, type SplitterOrientation } from './SvSplitter.svelte'
355
+ export { createSplitter, type Splitter, type SplitterConfig, type SplitterPoint } from './createSplitter.svelte'
356
+ export { default as SvDockLayout } from './SvDockLayout.svelte'
357
+ export { default as SvDockManager, type DockManagerApi, type DockEvent } from './SvDockManager.svelte'
358
+ export {
359
+ dockPane,
360
+ dockTabs,
361
+ dockGroup,
362
+ removePane,
363
+ movePane,
364
+ dockInto,
365
+ reorderPane,
366
+ removeLeaf,
367
+ dockLeafToEdge,
368
+ setActive as dockSetActive,
369
+ setSizes as dockSetSizes,
370
+ normalize as dockNormalize,
371
+ findTabsWithPane,
372
+ allPaneIds,
373
+ type DockNode,
374
+ type DockGroup,
375
+ type DockTabs,
376
+ type DockPane,
377
+ type DockZone,
378
+ } from './dock-model'
379
+ export {
380
+ floatPane,
381
+ dockPaneOnto,
382
+ dockWindowOnto,
383
+ dockPaneToEmptyMain,
384
+ reorderTab,
385
+ autoHideLeaf,
386
+ autoHidePaneToSide,
387
+ pinAutoHidden,
388
+ setAutoHideSize,
389
+ closePane as dockManagerClosePane,
390
+ moveWindow,
391
+ resizeWindow,
392
+ bringToFront,
393
+ setWindowMinimized,
394
+ toggleWindowMaximized,
395
+ closeWindow,
396
+ autoHideWindow,
397
+ toggleMaximizeLeaf,
398
+ findLeafById,
399
+ addPaneToMain,
400
+ resizeGroup as dockManagerResizeGroup,
401
+ setManagerActive,
402
+ locatePane,
403
+ surfaceOfTabs,
404
+ allManagerPaneIds,
405
+ allManagerIds,
406
+ dedupeManagerNodeIds,
407
+ type DockManagerState,
408
+ type FloatWindow,
409
+ type AutoHideEntry,
410
+ type DockSide,
411
+ type PaneLocation,
412
+ } from './dock-manager-model'
413
+ export { default as SvFileUpload, type FileRejection, type FileRejectReason } from './SvFileUpload.svelte'
414
+ export { createFileUpload, fileMatchesAccept, type FileUpload, type FileUploadConfig } from './createFileUpload.svelte'
415
+ // UI kit - overlays (popover / tooltip / modal), sharing the popover.ts positioning + animation
416
+ export { default as SvPopover } from './SvPopover.svelte'
417
+ export { default as SvTooltip } from './SvTooltip.svelte'
418
+ export { default as SvModal } from './SvModal.svelte'
419
+ export { default as SvDrawer } from './SvDrawer.svelte'
420
+ export type DrawerSide = 'right' | 'left' | 'top' | 'bottom'
421
+ export { default as SvToaster } from './SvToaster.svelte'
422
+ export { default as SvBadge } from './SvBadge.svelte'
423
+ export { default as SvSkeleton } from './SvSkeleton.svelte'
424
+ export { default as SvCard } from './SvCard.svelte'
425
+ export { default as SvAlert } from './SvAlert.svelte'
426
+ export { default as SvEmptyState } from './SvEmptyState.svelte'
427
+ export { default as SvDivider } from './SvDivider.svelte'
428
+ export { default as SvChip } from './SvChip.svelte'
429
+ export { default as SvStat } from './SvStat.svelte'
430
+ export { default as SvTimeline, type TimelineItem } from './SvTimeline.svelte'
431
+ export { default as SvSparkline } from './SvSparkline.svelte'
432
+ export { default as SvScrollArea } from './SvScrollArea.svelte'
433
+ export { default as SvAvatarGroup } from './SvAvatarGroup.svelte'
434
+ export { default as SvCommand, type CommandItem } from './SvCommand.svelte'
435
+ export { fuzzyScore, fuzzyMatch } from './fuzzy'
436
+ export { default as SvRichText, type RichTextTool } from './SvRichText.svelte'
437
+ export { default as SvCarousel } from './SvCarousel.svelte'
438
+ export { default as SvTour, type TourStep } from './SvTour.svelte'
439
+ export { default as SvPagination } from './SvPagination.svelte'
440
+ export { paginationRange, type PaginationItem, type PaginationRangeOptions } from './paginate'
441
+ export { default as SvBreadcrumb, type BreadcrumbItem } from './SvBreadcrumb.svelte'
442
+ export { default as SvStepper, type StepItem } from './SvStepper.svelte'
443
+ export { default as SvAvatar } from './SvAvatar.svelte'
444
+ export { avatarInitials, avatarColorHue } from './avatar'
445
+ export { default as SvContextMenu } from './SvContextMenu.svelte'
446
+ export {
447
+ toast,
448
+ dismissToast,
449
+ updateToast,
450
+ clearToasts,
451
+ pauseToast,
452
+ resumeToast,
453
+ toastStore,
454
+ type Toast,
455
+ type ToastVariant,
456
+ type ToastOptions,
457
+ type ToastFn,
458
+ type ToastAction,
459
+ type UpdateToast,
460
+ type PromiseMessages,
461
+ } from './toast-store.svelte'
462
+ export { default as SvMenu, type MenuItem } from './SvMenu.svelte'
463
+ export { default as SvMenuList } from './SvMenuList.svelte'
464
+ export { default as SvMenubar, type MenubarMenu } from './SvMenubar.svelte'
465
+ export { default as SvHoverCard } from './SvHoverCard.svelte'
466
+ export { default as SvPopconfirm } from './SvPopconfirm.svelte'
467
+ export { default as SvNavPane, type NavItem, type NavSection, type NavModule } from './SvNavPane.svelte'
468
+ export { default as SvProgress } from './SvProgress.svelte'
469
+ export { default as SvCircularProgress } from './SvCircularProgress.svelte'
470
+ export { popIn } from './popover'
471
+ export { default as SvForm, type FormField, type FormFieldType, type FormSection, type FormEntry } from './SvForm.svelte'
472
+ export { rules, runRules, isEmptyValue, type Validator, type RuleOptions, type CompareOp } from './validators'
473
+ export { anchoredRect, portalToBody, PANEL_THEME_VARS, type AnchoredRect } from './popover'
474
+ export {
475
+ computePosition,
476
+ autoUpdate,
477
+ parsePlacement,
478
+ type Placement,
479
+ type Side,
480
+ type Align,
481
+ type Rect,
482
+ type Viewport,
483
+ type ComputePositionOptions,
484
+ type ComputePositionResult,
485
+ } from './positioning'
486
+ export {
487
+ toDate, startOfDay, startOfWeek, startOfMonth, addDays, addMonths, addYears, clampDate, isSameDay,
488
+ monthMatrix, weekdayOrder, isoWeek, decadeRange, withTime, snapMinute, type DateLike,
489
+ } from './datetime/date-core'
490
+ export { formatDate, parseDate, tokenizeMask } from './datetime/date-format'
491
+ export { toICS, fromICS, ruleToRRule, rruleToRule, type ICalEvent } from './scheduler-ical'
492
+ export {
493
+ zoneParts, zoneOffsetMs, toZonedLocal, fromZonedLocal, instantFromWallClock, zoneAbbr, normalizeTimeZone,
494
+ type ZoneParts,
495
+ } from './datetime/timezone'
496
+ export {
497
+ selectDate, rangeDays, isSelected, isMultiSelectMode, emptySelection,
498
+ type SelectionMode, type SelectionState,
499
+ } from './datetime/date-selection'
500
+ export {
501
+ isDisabledDay, isOutOfRange, isRestricted, isImportant, type RestrictOptions,
502
+ } from './datetime/date-restrict'
503
+ export { default as FlexRender } from './FlexRender.svelte'
504
+ export { renderComponent, renderSnippet } from './render-component'
505
+ export { default as SvGridChart } from './SvGridChart.svelte'
506
+ export { default as SvGridChartPanel } from './SvGridChartPanel.svelte'
507
+ // Preferred names for the standalone chart primitives. `SvChart` is a genuine
508
+ // standalone component (spec-driven, no grid needed), so it sits alongside its
509
+ // unprefixed siblings SvGauge / SvSparkline. The `SvGrid*` names remain exported
510
+ // as aliases so existing imports keep working.
511
+ export { default as SvChart } from './SvGridChart.svelte'
512
+ export { default as SvChartPanel } from './SvGridChartPanel.svelte'
513
+ export type { ChartingConfig, ChartAggregateRequest, ChartAggregateBucket } from './SvGrid.types'
514
+ export type { GridLocalization } from './SvGrid.types'
515
+ export {
516
+ buildChart,
517
+ formatChartValue,
518
+ rowsToChartSpec,
519
+ niceScale,
520
+ niceLogScale,
521
+ linearTrend,
522
+ simpleMovingAverage,
523
+ exponentialMovingAverage,
524
+ computeOverlay,
525
+ buildLinePath,
526
+ sampleGradient,
527
+ pickContrastText,
528
+ DEFAULT_PALETTE,
529
+ type ChartType,
530
+ type ChartSpec,
531
+ type ChartSeries,
532
+ type ChartGeometry,
533
+ type ChartBar,
534
+ type ChartLine,
535
+ type ChartLinePoint,
536
+ type ChartPieSlice,
537
+ type ChartSelection,
538
+ type ChartReferenceLine,
539
+ type ChartRefLineGeo,
540
+ type ChartRefLineGeoV,
541
+ type ChartScatterDot,
542
+ type ScatterPoint,
543
+ type NiceScale,
544
+ type SeriesOverlay,
545
+ type SeriesPattern,
546
+ type ChartAnnotation,
547
+ type ChartHeatmapCell,
548
+ type ChartFunnelSegment,
549
+ type ChartRadarSeries,
550
+ type ChartRadarAxis,
551
+ type ChartTreemapCell,
552
+ type ChartCalendarCell,
553
+ type ChartGaugeLayout,
554
+ type ChartSankeyNode,
555
+ type ChartSankeyLink,
556
+ type ChartValueFormat,
557
+ type TreeNode,
558
+ } from './chart'
559
+ export {
560
+ chartToSvgString,
561
+ downloadChartSvg,
562
+ chartToPngBlob,
563
+ downloadChartPng,
564
+ chartSpecToCsv,
565
+ downloadChartCsv,
566
+ type ChartExportOptions,
567
+ } from './chart-export'
568
+ export {
569
+ buildSparkline,
570
+ toSparklineValues,
571
+ type SparklineConfig,
572
+ type SparklineType,
573
+ type SparklineGeometry,
574
+ } from './sparkline'
575
+ export {
576
+ spreadsheetLayout,
577
+ spansToMerges,
578
+ type SpanColumn,
579
+ type SpreadsheetActionOptions,
580
+ type MergeSpec,
581
+ type CellBorderSpec,
582
+ type BorderSpec,
583
+ } from './spreadsheet'
584
+ export { rowResize, type RowResizeOptions } from './row-resize'
585
+ export { rowDropZone, type RowDragEndEvent, type RowDropZoneOptions } from './row-drag'
586
+ export { resolveColumnTypes, inferCellDataType, type CellDataType } from './column-types'
587
+ export {
588
+ computeColumnGroupMeta,
589
+ hiddenLeavesForCollapse,
590
+ type ColumnGroupMeta,
591
+ type ColumnGroupShow,
592
+ } from './column-groups'
593
+ export {
594
+ createHyperFormulaSheet,
595
+ type HyperFormulaSheet,
596
+ type HyperFormulaSheetConfig,
597
+ type HyperFormulaInstance,
598
+ } from './hyperformula-adapter'
599
+ export {
600
+ createCollaboration,
601
+ broadcastChannelTransport,
602
+ type CollabUser,
603
+ type CollabCell,
604
+ type CollabPresence,
605
+ type CollabMessage,
606
+ type CollabTransport,
607
+ type Collaboration,
608
+ } from './collaboration'
609
+ export {
610
+ createServerDataSource,
611
+ type ServerDataSource,
612
+ type ServerRequest,
613
+ type ServerResult,
614
+ type ServerController,
615
+ type ServerState,
616
+ type ServerSortModel,
617
+ type ServerFilterModel,
618
+ type ServerAggregation,
619
+ type ServerGroupRow,
620
+ type ServerLeafRow,
621
+ type ServerMoreRow,
622
+ type ServerFooterRow,
623
+ type ServerSkeletonRow,
624
+ type ServerDisplayRow,
625
+ } from './server-data-source'
626
+ export {
627
+ createServerGroupModel,
628
+ serverGroupRows,
629
+ serverGroupNav,
630
+ type ServerGroupController,
631
+ type ServerGroupControllerOptions,
632
+ type ServerGroupState,
633
+ type ServerGroupGridRow,
634
+ } from './server-group-model'
635
+ export { default as SvGroupCell } from './SvGroupCell.svelte'
636
+ export { default as SvRowGroupPanel } from './SvRowGroupPanel.svelte'
637
+ export {
638
+ createNamedViews,
639
+ memoryViews,
640
+ localStorageViews,
641
+ attachAutoSavedView,
642
+ type SavedView,
643
+ type ViewStorage,
644
+ type NamedViews,
645
+ type AutoSavedViewOptions,
646
+ } from './named-views'
647
+ export {
648
+ resolveCellFormat,
649
+ computeColumnStat,
650
+ lerpColor,
651
+ rgba,
652
+ contrastText,
653
+ formatNeedsStats,
654
+ formatsNeedingStats,
655
+ type ConditionalFormat,
656
+ type ConditionalFormatSpec,
657
+ type ColorScaleFormat,
658
+ type ColorScaleStop,
659
+ type ScaleBounds,
660
+ type DataBarFormat,
661
+ type IconSetFormat,
662
+ type RuleFormat,
663
+ type ResolvedCellFormat,
664
+ } from './conditional-formatting'
665
+ export {
666
+ defaultGridMessages,
667
+ resolveGridMessages,
668
+ type GridMessages,
669
+ } from './grid-messages'
670
+ export {
671
+ insertGroupFooters,
672
+ buildAutoGroupColumns,
673
+ type GroupDisplayType,
674
+ type GroupFooterOptions,
675
+ type AutoGroupColumnSpec,
676
+ type AutoGroupResult,
677
+ } from './group-display'
678
+ export { getKeyboardIntent, getNextActiveCell, type GridKeyboardIntent } from './keyboard'
679
+ export { createVirtualizer } from './virtualization/virtualizer'
680
+ export { createSvelteVirtualizer } from './virtualization/svelte-virtualizer.svelte'
681
+ export { createColumnVirtualizer } from './virtualization/column-virtualizer'
682
+ export type { VirtualItem, VirtualizerOptions, VirtualizerState } from './virtualization/types'
683
+ export type { SvGridApi, SvGridFilterOperator, SvGridWrapperProps } from './svgrid-wrapper.types'
684
+ export {
685
+ parseEditorValue,
686
+ normalizeEditorOptions,
687
+ type CellEditorType,
688
+ type CellEditorOption,
689
+ } from './editors/cell-editors'
690
+ export {
691
+ applyExcelFilter,
692
+ normalizeForFilter,
693
+ splitInTokens,
694
+ joinInTokens,
695
+ type ExcelFilter,
696
+ type ExcelFilterOperator,
697
+ type ExcelFilterOptions,
698
+ } from './filtering/excel-filters'
699
+ export {
700
+ getGridCellDomId,
701
+ getGridCellA11yProps,
702
+ getGridHeaderA11yProps,
703
+ getGridRootA11yProps,
704
+ getGridRowA11yProps,
705
+ type GridCellA11yInput,
706
+ type GridColumnA11yInput,
707
+ type GridSortDirection,
708
+ } from './a11y'
709
+
710
+ /**
711
+ * Compatibility alias for teams migrating from `createTable`.
712
+ */
713
+ export { createSvGrid as createTable } from './createGrid.svelte'