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