@svgrid/grid 2.1.22 → 2.2.0

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