@svgrid/grid 2.6.16 → 2.6.17

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 (449) hide show
  1. package/CHANGELOG.md +346 -346
  2. package/README.md +199 -199
  3. package/dist/DockNodeView.svelte.d.ts +1 -1
  4. package/dist/DockPopoutHost.svelte.d.ts +1 -1
  5. package/dist/FlexRender.svelte +96 -96
  6. package/dist/FlexRender.svelte.d.ts +1 -1
  7. package/dist/GridFooter.svelte +181 -178
  8. package/dist/GridFooter.svelte.d.ts +3 -3
  9. package/dist/GridMenus.svelte +705 -705
  10. package/dist/GridMenus.svelte.d.ts +3 -3
  11. package/dist/SvAccordion.svelte.d.ts +3 -3
  12. package/dist/SvAutoComplete.svelte +165 -165
  13. package/dist/SvAutoComplete.svelte.d.ts +2 -2
  14. package/dist/SvAvatar.svelte +75 -75
  15. package/dist/SvBreadcrumb.svelte.d.ts +2 -2
  16. package/dist/SvButtonGroup.svelte.d.ts +3 -3
  17. package/dist/SvCalendar.svelte +503 -503
  18. package/dist/SvCalendar.svelte.d.ts +7 -7
  19. package/dist/SvCarousel.svelte +141 -141
  20. package/dist/SvCarousel.svelte.d.ts +1 -1
  21. package/dist/SvCheckBox.svelte +102 -102
  22. package/dist/SvCheckBox.svelte.d.ts +1 -1
  23. package/dist/SvCircularProgress.svelte +109 -109
  24. package/dist/SvColorInput.svelte +181 -181
  25. package/dist/SvColorInput.svelte.d.ts +1 -1
  26. package/dist/SvComboBox.svelte +275 -275
  27. package/dist/SvComboBox.svelte.d.ts +2 -2
  28. package/dist/SvCommand.svelte.d.ts +2 -2
  29. package/dist/SvContextMenu.svelte +116 -116
  30. package/dist/SvCountryInput.svelte +163 -163
  31. package/dist/SvCountryInput.svelte.d.ts +1 -1
  32. package/dist/SvDateRangeInput.svelte.d.ts +3 -3
  33. package/dist/SvDateTimePicker.svelte.d.ts +4 -4
  34. package/dist/SvDockLayout.svelte.d.ts +2 -2
  35. package/dist/SvDockManager.svelte.d.ts +2 -2
  36. package/dist/SvDrawer.svelte +254 -254
  37. package/dist/SvDropDownList.svelte +374 -374
  38. package/dist/SvDropDownList.svelte.d.ts +2 -2
  39. package/dist/SvDurationInput.svelte +126 -126
  40. package/dist/SvDurationInput.svelte.d.ts +1 -1
  41. package/dist/SvField.svelte +293 -293
  42. package/dist/SvField.svelte.d.ts +1 -1
  43. package/dist/SvFileUpload.svelte.d.ts +3 -3
  44. package/dist/SvForm.svelte +437 -437
  45. package/dist/SvForm.svelte.d.ts +4 -4
  46. package/dist/SvGauge.svelte.d.ts +1 -1
  47. package/dist/SvGrid.controller.svelte.d.ts +28 -28
  48. package/dist/SvGrid.controller.svelte.js +117 -45
  49. package/dist/SvGrid.css +2896 -2856
  50. package/dist/SvGrid.helpers.d.ts +2 -2
  51. package/dist/SvGrid.svelte +2956 -2956
  52. package/dist/SvGrid.svelte.d.ts +3 -3
  53. package/dist/SvGrid.types.d.ts +28 -7
  54. package/dist/SvGridCellEditor.svelte +662 -662
  55. package/dist/SvGridCellEditor.svelte.d.ts +2 -2
  56. package/dist/SvGridChart.svelte +1716 -1716
  57. package/dist/SvGridChart.svelte.d.ts +1 -1
  58. package/dist/SvGridChartPanel.svelte +485 -485
  59. package/dist/SvGridChartPanel.svelte.d.ts +2 -2
  60. package/dist/SvGridChartView.svelte +70 -70
  61. package/dist/SvGridChartView.svelte.d.ts +1 -1
  62. package/dist/SvGridDropdown.svelte +728 -728
  63. package/dist/SvGridDropdown.svelte.d.ts +1 -1
  64. package/dist/SvGridSelect.svelte +266 -266
  65. package/dist/SvGridSelect.svelte.d.ts +4 -4
  66. package/dist/SvGroupCell.svelte +116 -116
  67. package/dist/SvGroupCell.svelte.d.ts +1 -1
  68. package/dist/SvHoverCard.svelte.d.ts +1 -1
  69. package/dist/SvListBox.svelte +326 -326
  70. package/dist/SvListBox.svelte.d.ts +2 -2
  71. package/dist/SvMaskedInput.svelte +122 -122
  72. package/dist/SvMaskedInput.svelte.d.ts +1 -1
  73. package/dist/SvMenu.svelte +124 -124
  74. package/dist/SvMenu.svelte.d.ts +1 -1
  75. package/dist/SvMenuList.svelte +146 -146
  76. package/dist/SvMenuList.svelte.d.ts +3 -3
  77. package/dist/SvMenubar.svelte.d.ts +3 -3
  78. package/dist/SvMultiSelect.svelte +289 -289
  79. package/dist/SvMultiSelect.svelte.d.ts +3 -3
  80. package/dist/SvNavPane.svelte.d.ts +1 -1
  81. package/dist/SvNumberInput.svelte +168 -168
  82. package/dist/SvNumberInput.svelte.d.ts +1 -1
  83. package/dist/SvOtpInput.svelte +158 -158
  84. package/dist/SvOtpInput.svelte.d.ts +1 -1
  85. package/dist/SvPasswordInput.svelte +151 -151
  86. package/dist/SvPasswordInput.svelte.d.ts +1 -1
  87. package/dist/SvPhoneInput.svelte +133 -133
  88. package/dist/SvPhoneInput.svelte.d.ts +2 -2
  89. package/dist/SvPopconfirm.svelte.d.ts +1 -1
  90. package/dist/SvPopover.svelte +197 -197
  91. package/dist/SvPopover.svelte.d.ts +1 -1
  92. package/dist/SvProgress.svelte +116 -116
  93. package/dist/SvRadioGroup.svelte +107 -107
  94. package/dist/SvRadioGroup.svelte.d.ts +3 -3
  95. package/dist/SvRating.svelte +112 -112
  96. package/dist/SvRating.svelte.d.ts +1 -1
  97. package/dist/SvResult.svelte +73 -73
  98. package/dist/SvRichText.svelte +211 -211
  99. package/dist/SvRowGroupPanel.svelte +170 -170
  100. package/dist/SvScrollArea.svelte +61 -61
  101. package/dist/SvSegmented.svelte.d.ts +3 -3
  102. package/dist/SvSlider.svelte +203 -203
  103. package/dist/SvSlider.svelte.d.ts +1 -1
  104. package/dist/SvSparkline.svelte.d.ts +1 -1
  105. package/dist/SvSplitter.svelte.d.ts +3 -3
  106. package/dist/SvStepper.svelte.d.ts +2 -2
  107. package/dist/SvSwitchButton.svelte +108 -108
  108. package/dist/SvSwitchButton.svelte.d.ts +1 -1
  109. package/dist/SvTabs.svelte.d.ts +3 -3
  110. package/dist/SvTagsInput.svelte +115 -115
  111. package/dist/SvTagsInput.svelte.d.ts +1 -1
  112. package/dist/SvTextArea.svelte.d.ts +1 -1
  113. package/dist/SvTextInput.svelte +147 -147
  114. package/dist/SvTextInput.svelte.d.ts +1 -1
  115. package/dist/SvTimePicker.svelte +245 -245
  116. package/dist/SvTimePicker.svelte.d.ts +3 -3
  117. package/dist/SvTimeline.svelte.d.ts +2 -2
  118. package/dist/SvToaster.svelte +159 -159
  119. package/dist/SvToggleButton.svelte +85 -85
  120. package/dist/SvToggleButton.svelte.d.ts +1 -1
  121. package/dist/SvTooltip.svelte +161 -161
  122. package/dist/SvTooltip.svelte.d.ts +1 -1
  123. package/dist/SvTour.svelte +208 -208
  124. package/dist/SvTour.svelte.d.ts +3 -3
  125. package/dist/SvTree.svelte +444 -444
  126. package/dist/SvTree.svelte.d.ts +3 -3
  127. package/dist/SvTreeSelect.svelte +235 -235
  128. package/dist/SvTreeSelect.svelte.d.ts +3 -3
  129. package/dist/advanced-filter.svelte.d.ts +1 -1
  130. package/dist/ai.d.ts +1 -1
  131. package/dist/ai.js +1 -1
  132. package/dist/build-api.d.ts +2 -2
  133. package/dist/build-api.js +8 -8
  134. package/dist/builtin-editors.js +1 -1
  135. package/dist/cdn/{GridMenus-CPdy5dxw.js → GridMenus-3kKYmYOE.js} +2 -2
  136. package/dist/cdn/{GridMenus-BLajq_RP.js → GridMenus-BcDiwQ9U.js} +2 -2
  137. package/dist/cdn/{SvDateTimePicker-CHnUkWcH.js → SvDateTimePicker-DSUhIta8.js} +2 -2
  138. package/dist/cdn/{SvDateTimePicker-CRQH_U7E.js → SvDateTimePicker-h9kPyszT.js} +2 -2
  139. package/dist/cdn/{SvGridCellEditor-BGUCzuPB.js → SvGridCellEditor-DkyQO6FV.js} +1 -1
  140. package/dist/cdn/{SvGridCellEditor-G8IMWIws.js → SvGridCellEditor-JpJSRhDx.js} +1 -1
  141. package/dist/cdn/{SvGridChart-BwVos976.js → SvGridChart-Bs2GIR2Q.js} +1 -1
  142. package/dist/cdn/{SvGridChart-BEJmNNx9.js → SvGridChart-CwhFz7GV.js} +1 -1
  143. package/dist/cdn/{SvGridChartPanel-BOknOkrP.js → SvGridChartPanel-1WXuStzM.js} +1 -1
  144. package/dist/cdn/{SvGridChartPanel-D2PjII4O.js → SvGridChartPanel-e5_nqNP9.js} +1 -1
  145. package/dist/cdn/{SvGridChartView-00LPUHL1.js → SvGridChartView-SmPW10dI.js} +1 -1
  146. package/dist/cdn/{SvGridChartView-BhUEJ5ki.js → SvGridChartView-eSPuJE6g.js} +1 -1
  147. package/dist/cdn/{SvGridDropdown-D0VdjeR8.js → SvGridDropdown-B1ZcLpgs.js} +1 -1
  148. package/dist/cdn/{SvGridDropdown-D13MtJ2j.js → SvGridDropdown-CtdbHcIS.js} +1 -1
  149. package/dist/cdn/{src-ogpR-lHu.js → src-D79V6bCA.js} +298 -296
  150. package/dist/cdn/{src-CKpl94Cx.js → src-DMZZVVFd.js} +297 -295
  151. package/dist/cdn/svgrid.js +6 -6
  152. package/dist/cdn/svgrid.svelte-external.js +6 -6
  153. package/dist/cell-render.d.ts +3 -3
  154. package/dist/cell-render.js +6 -6
  155. package/dist/cell-values.d.ts +1 -1
  156. package/dist/cell-values.js +1 -1
  157. package/dist/chart-export.d.ts +1 -1
  158. package/dist/chart-export.js +8 -8
  159. package/dist/clipboard.d.ts +2 -2
  160. package/dist/clipboard.js +5 -5
  161. package/dist/column-groups.js +1 -1
  162. package/dist/columns.d.ts +2 -2
  163. package/dist/columns.js +1 -1
  164. package/dist/core.d.ts +1 -1
  165. package/dist/core.js +1 -1
  166. package/dist/createAutocomplete.svelte.d.ts +1 -1
  167. package/dist/createAutocomplete.svelte.js +2 -2
  168. package/dist/createButtonGroup.svelte.js +1 -1
  169. package/dist/createCalendar.svelte.d.ts +4 -4
  170. package/dist/createCalendar.svelte.js +4 -4
  171. package/dist/createCarousel.svelte.d.ts +1 -1
  172. package/dist/createCheckbox.svelte.js +1 -1
  173. package/dist/createColorInput.svelte.js +1 -1
  174. package/dist/createCombobox.svelte.d.ts +1 -1
  175. package/dist/createCombobox.svelte.js +2 -2
  176. package/dist/createCommand.svelte.d.ts +1 -1
  177. package/dist/createCommand.svelte.js +2 -2
  178. package/dist/createCountryInput.svelte.d.ts +1 -1
  179. package/dist/createCountryInput.svelte.js +2 -2
  180. package/dist/createDateTimePicker.svelte.d.ts +1 -1
  181. package/dist/createDateTimePicker.svelte.js +3 -3
  182. package/dist/createDropdownList.svelte.d.ts +1 -1
  183. package/dist/createDropdownList.svelte.js +2 -2
  184. package/dist/createFileUpload.svelte.js +1 -1
  185. package/dist/createForm.svelte.d.ts +1 -1
  186. package/dist/createForm.svelte.js +2 -2
  187. package/dist/createGrid.svelte.d.ts +1 -1
  188. package/dist/createGrid.svelte.js +1 -1
  189. package/dist/createGridState.svelte.d.ts +1 -1
  190. package/dist/createListbox.svelte.d.ts +1 -1
  191. package/dist/createListbox.svelte.js +2 -2
  192. package/dist/createMaskedInput.svelte.js +2 -2
  193. package/dist/createMenu.svelte.d.ts +2 -2
  194. package/dist/createMenu.svelte.js +2 -2
  195. package/dist/createNumberInput.svelte.js +1 -1
  196. package/dist/createOverlay.svelte.js +3 -3
  197. package/dist/createPagination.d.ts +1 -1
  198. package/dist/createPagination.js +1 -1
  199. package/dist/createPasswordInput.svelte.js +1 -1
  200. package/dist/createPhoneInput.svelte.js +3 -3
  201. package/dist/createPopoverSelect.svelte.d.ts +1 -1
  202. package/dist/createPopoverSelect.svelte.js +3 -3
  203. package/dist/createRadioGroup.svelte.js +1 -1
  204. package/dist/createRating.svelte.js +1 -1
  205. package/dist/createSlider.svelte.js +1 -1
  206. package/dist/createSwitch.svelte.js +1 -1
  207. package/dist/createTabs.svelte.d.ts +1 -1
  208. package/dist/createTagsInput.svelte.js +1 -1
  209. package/dist/createToggle.svelte.js +1 -1
  210. package/dist/createTooltip.svelte.js +1 -1
  211. package/dist/createTree.svelte.d.ts +1 -1
  212. package/dist/datetime/date-restrict.d.ts +1 -1
  213. package/dist/datetime/date-restrict.js +1 -1
  214. package/dist/datetime/date-selection.js +1 -1
  215. package/dist/dock-context.d.ts +1 -1
  216. package/dist/dock-manager-model.d.ts +1 -1
  217. package/dist/dock-manager-model.js +1 -1
  218. package/dist/dock-popout.d.ts +1 -1
  219. package/dist/dock-popout.js +1 -1
  220. package/dist/editing.d.ts +2 -2
  221. package/dist/editing.js +5 -5
  222. package/dist/editor-registry.d.ts +1 -1
  223. package/dist/editors/cell-editors.js +1 -1
  224. package/dist/export-format.d.ts +2 -2
  225. package/dist/export-format.js +2 -2
  226. package/dist/export-provider.d.ts +1 -1
  227. package/dist/facet-buckets.d.ts +1 -1
  228. package/dist/facet-buckets.js +1 -1
  229. package/dist/features.d.ts +2 -2
  230. package/dist/features.js +2 -2
  231. package/dist/filter-operators.d.ts +2 -2
  232. package/dist/filter-operators.js +1 -1
  233. package/dist/form-field.d.ts +1 -1
  234. package/dist/grid-messages.js +1 -1
  235. package/dist/headless.d.ts +11 -4
  236. package/dist/headless.js +11 -4
  237. package/dist/index.d.ts +120 -120
  238. package/dist/index.js +111 -111
  239. package/dist/keyboard-handlers.d.ts +2 -2
  240. package/dist/keyboard-handlers.js +2 -2
  241. package/dist/keyboard.d.ts +1 -1
  242. package/dist/menus.d.ts +3 -3
  243. package/dist/menus.js +3 -3
  244. package/dist/named-views.d.ts +1 -1
  245. package/dist/pivot-view.svelte.d.ts +1 -1
  246. package/dist/recurrence.d.ts +1 -1
  247. package/dist/recurrence.js +1 -1
  248. package/dist/row-drag.js +1 -1
  249. package/dist/scheduler-ical.d.ts +1 -1
  250. package/dist/scheduler-model.d.ts +3 -3
  251. package/dist/scheduler-model.js +2 -2
  252. package/dist/scroll-sync.d.ts +2 -2
  253. package/dist/scroll-sync.js +1 -1
  254. package/dist/selection.d.ts +2 -2
  255. package/dist/selection.js +3 -3
  256. package/dist/server-data-source.d.ts +1 -1
  257. package/dist/server-group-model.d.ts +1 -1
  258. package/dist/static-functions.d.ts +1 -1
  259. package/dist/static-functions.js +1 -1
  260. package/dist/subscribe.d.ts +1 -1
  261. package/dist/summaries.d.ts +2 -2
  262. package/dist/summaries.js +3 -3
  263. package/dist/svgrid-wrapper.types.d.ts +5 -5
  264. package/dist/themes/index.d.ts +3 -1
  265. package/dist/themes/index.js +4 -2
  266. package/dist/toast-store.svelte.js +1 -1
  267. package/dist/tree-select.d.ts +1 -1
  268. package/dist/virtualization/column-virtualizer.d.ts +3 -3
  269. package/dist/virtualization/column-virtualizer.js +1 -1
  270. package/dist/virtualization/svelte-virtualizer.svelte.d.ts +3 -3
  271. package/dist/virtualization/svelte-virtualizer.svelte.js +1 -1
  272. package/dist/virtualization/virtualizer.d.ts +1 -1
  273. package/package.json +23 -11
  274. package/src/FlexRender.svelte +96 -96
  275. package/src/GridFooter.svelte +181 -178
  276. package/src/GridMenus.svelte +705 -705
  277. package/src/SvAutoComplete.svelte +165 -165
  278. package/src/SvAvatar.svelte +75 -75
  279. package/src/SvCalendar.svelte +503 -503
  280. package/src/SvCalendar.test.ts +226 -226
  281. package/src/SvCarousel.svelte +141 -141
  282. package/src/SvCheckBox.svelte +102 -102
  283. package/src/SvCircularProgress.svelte +109 -109
  284. package/src/SvColorInput.svelte +181 -181
  285. package/src/SvComboBox.svelte +275 -275
  286. package/src/SvContextMenu.svelte +116 -116
  287. package/src/SvCountryInput.svelte +163 -163
  288. package/src/SvDrawer.svelte +254 -254
  289. package/src/SvDropDownList.svelte +374 -374
  290. package/src/SvDurationInput.svelte +126 -126
  291. package/src/SvField.svelte +293 -293
  292. package/src/SvForm.svelte +437 -437
  293. package/src/SvForm.test.ts +411 -411
  294. package/src/SvGrid.controller.svelte.ts +3974 -3898
  295. package/src/SvGrid.css +2896 -2856
  296. package/src/SvGrid.svelte +2956 -2956
  297. package/src/SvGrid.types.ts +1790 -1769
  298. package/src/SvGridCellEditor.svelte +662 -662
  299. package/src/SvGridChart.svelte +1716 -1716
  300. package/src/SvGridChartPanel.svelte +485 -485
  301. package/src/SvGridChartView.svelte +70 -70
  302. package/src/SvGridDropdown.svelte +728 -728
  303. package/src/SvGridSelect.svelte +266 -266
  304. package/src/SvGroupCell.svelte +116 -116
  305. package/src/SvListBox.svelte +326 -326
  306. package/src/SvMaskedInput.svelte +122 -122
  307. package/src/SvMenu.svelte +124 -124
  308. package/src/SvMenu.test.ts +97 -97
  309. package/src/SvMenuList.svelte +146 -146
  310. package/src/SvMultiSelect.svelte +289 -289
  311. package/src/SvNumberInput.svelte +168 -168
  312. package/src/SvOtpInput.svelte +158 -158
  313. package/src/SvPasswordInput.svelte +151 -151
  314. package/src/SvPhoneInput.svelte +133 -133
  315. package/src/SvPopover.svelte +197 -197
  316. package/src/SvProgress.svelte +116 -116
  317. package/src/SvRadioGroup.svelte +107 -107
  318. package/src/SvRating.svelte +112 -112
  319. package/src/SvResult.svelte +73 -73
  320. package/src/SvRichText.svelte +211 -211
  321. package/src/SvRowGroupPanel.svelte +170 -170
  322. package/src/SvScrollArea.svelte +61 -61
  323. package/src/SvSlider.svelte +203 -203
  324. package/src/SvSwitchButton.svelte +108 -108
  325. package/src/SvTagsInput.svelte +115 -115
  326. package/src/SvTextInput.svelte +147 -147
  327. package/src/SvTimePicker.svelte +245 -245
  328. package/src/SvToaster.svelte +159 -159
  329. package/src/SvToaster.test.ts +95 -95
  330. package/src/SvToggleButton.svelte +85 -85
  331. package/src/SvTooltip.svelte +161 -161
  332. package/src/SvTour.svelte +208 -208
  333. package/src/SvTree.svelte +444 -444
  334. package/src/SvTreeSelect.svelte +235 -235
  335. package/src/a11y/dismissable.test.ts +119 -119
  336. package/src/a11y/dismissable.ts +114 -114
  337. package/src/a11y.contract.test.ts +49 -49
  338. package/src/a11y.test.ts +59 -59
  339. package/src/a11y.ts +61 -61
  340. package/src/ai.test.ts +502 -502
  341. package/src/ai.ts +1391 -1391
  342. package/src/build-api.coverage.test.ts +633 -633
  343. package/src/build-api.ts +846 -846
  344. package/src/builtin-editors.grid.test.ts +83 -83
  345. package/src/cell-formatting.ts +169 -169
  346. package/src/cell-render.test.ts +513 -513
  347. package/src/cell-render.ts +496 -496
  348. package/src/cell-values.ts +118 -118
  349. package/src/chart-export.ts +201 -201
  350. package/src/chart-view.svelte.ts +36 -36
  351. package/src/chart.ts +2295 -2295
  352. package/src/collaboration.test.ts +104 -104
  353. package/src/collaboration.ts +167 -167
  354. package/src/core.performance.test.ts +30 -30
  355. package/src/core.ts +1261 -1261
  356. package/src/createAutocomplete.svelte.ts +132 -132
  357. package/src/createCombobox.svelte.ts +191 -191
  358. package/src/createCountryInput.svelte.ts +157 -157
  359. package/src/createDropdownList.svelte.ts +168 -168
  360. package/src/createForm.svelte.ts +386 -386
  361. package/src/createGrid.svelte.ts +42 -42
  362. package/src/createGrid.test.ts +10 -10
  363. package/src/createGridState.svelte.ts +17 -17
  364. package/src/createListbox.svelte.ts +250 -250
  365. package/src/createMenu.svelte.ts +224 -224
  366. package/src/createPopoverSelect.svelte.ts +213 -213
  367. package/src/createSlider.svelte.ts +191 -191
  368. package/src/createTooltip.svelte.ts +144 -144
  369. package/src/createTree.svelte.ts +319 -319
  370. package/src/editing.test.ts +949 -949
  371. package/src/editing.ts +606 -606
  372. package/src/editor-contract.ts +170 -170
  373. package/src/editor-registry.grid.test.ts +144 -144
  374. package/src/editor-registry.ts +122 -122
  375. package/src/export-data-api.test.ts +126 -126
  376. package/src/export-format.test.ts +107 -107
  377. package/src/export-format.ts +601 -601
  378. package/src/filter-operators.ts +160 -160
  379. package/src/flex-render.ts +3 -3
  380. package/src/form-field.ts +127 -127
  381. package/src/group-display.test.ts +167 -167
  382. package/src/group-display.ts +200 -200
  383. package/src/headless.ts +87 -80
  384. package/src/index.ts +754 -754
  385. package/src/js-scroller.svelte.ts +173 -173
  386. package/src/keyboard-handlers.ts +270 -270
  387. package/src/keyboard.test.ts +59 -59
  388. package/src/keyboard.ts +97 -97
  389. package/src/list-nav.test.ts +49 -49
  390. package/src/list-nav.ts +29 -29
  391. package/src/list-option.test.ts +56 -56
  392. package/src/list-option.ts +172 -172
  393. package/src/menus.ts +567 -567
  394. package/src/merge-objects.ts +48 -48
  395. package/src/overlays.test.ts +90 -90
  396. package/src/render-component.ts +28 -28
  397. package/src/row-drag-touch.ts +211 -211
  398. package/src/row-drag.test.ts +353 -353
  399. package/src/row-drag.ts +415 -415
  400. package/src/row-resize.ts +210 -210
  401. package/src/scheduler-model.test.ts +562 -562
  402. package/src/scheduler-model.ts +872 -872
  403. package/src/selection.test.ts +754 -754
  404. package/src/selection.ts +491 -491
  405. package/src/server-data-source.test.ts +383 -383
  406. package/src/server-data-source.ts +469 -469
  407. package/src/sparkline.test.ts +68 -68
  408. package/src/sparkline.ts +169 -169
  409. package/src/spreadsheet.test.ts +488 -488
  410. package/src/spreadsheet.ts +312 -312
  411. package/src/static-functions.ts +11 -11
  412. package/src/subscribe.ts +38 -38
  413. package/src/svgrid-wrapper.types.ts +558 -558
  414. package/src/svgrid.async-editor-options.test.ts +273 -273
  415. package/src/svgrid.auto-row-height.test.ts +204 -204
  416. package/src/svgrid.behavior.test.ts +912 -704
  417. package/src/svgrid.charting.test.ts +534 -534
  418. package/src/svgrid.comments-autocomplete.test.ts +127 -127
  419. package/src/svgrid.context-menu.test.ts +147 -147
  420. package/src/svgrid.features.test.ts +157 -157
  421. package/src/svgrid.filter-depth.test.ts +163 -163
  422. package/src/svgrid.filter-menu-listbox.svelte.test.ts +331 -331
  423. package/src/svgrid.filter-menu-scroll.test.ts +112 -112
  424. package/src/svgrid.grand-total.test.ts +188 -188
  425. package/src/svgrid.group-display-mode.test.ts +171 -171
  426. package/src/svgrid.group-footers.test.ts +121 -121
  427. package/src/svgrid.group-pagination.test.ts +153 -153
  428. package/src/svgrid.new-features.wrapper.test.ts +251 -251
  429. package/src/svgrid.tree-data.test.ts +186 -186
  430. package/src/svgrid.wrapper.test.ts +63 -63
  431. package/src/svgriddropdown.async-panel.svelte.test.ts +195 -195
  432. package/src/test-setup.ts +62 -62
  433. package/src/themes/index.ts +288 -286
  434. package/src/toast-store.svelte.ts +246 -246
  435. package/src/toast-store.test.ts +147 -147
  436. package/src/tree-row-model.test.ts +168 -168
  437. package/src/ui-buttons.test.ts +144 -144
  438. package/src/ui-inputs.test.ts +118 -118
  439. package/src/ui-localization.test.ts +113 -113
  440. package/src/ui-range.test.ts +70 -70
  441. package/src/ui-selection.test.ts +155 -155
  442. package/src/ui-tier1.test.ts +142 -142
  443. package/src/virtual.test.ts +88 -88
  444. package/src/virtualization/column-virtualizer.test.ts +27 -27
  445. package/src/virtualization/column-virtualizer.ts +30 -30
  446. package/src/virtualization/svelte-virtualizer.svelte.ts +26 -26
  447. package/src/virtualization/types.ts +30 -30
  448. package/src/virtualization/virtualizer.test.ts +47 -47
  449. package/src/virtualization/virtualizer.ts +322 -322
package/CHANGELOG.md CHANGED
@@ -1,346 +1,346 @@
1
- # @svgrid/grid changelog
2
-
3
- Releases above 1.2.3 are generated from the commit subjects in each release tag range
4
- (`node tools/build-changelog.mjs`), so they describe what changed rather than
5
- reading as polished release notes. Entries from 1.2.3 down are hand-written.
6
-
7
- ## 2.6.5
8
-
9
- _2026-08-24_
10
-
11
- - Track the enterprise bump in SVGRID_VERSION
12
- - Fix the /filtering entry for raw Node, and guard it
13
- - Advanced filter: toolbar indicator, change notification, docs
14
- - Nested groups in the filter builder
15
- - Accessibility: axe in CI, theme contrast, and two real defects
16
- - Server-side grouping across all three adapters
17
- - Advanced filter: point the expression engine at the grid
18
- - Make the compliance claims true instead of deleting them
19
-
20
- ## 2.6.2
21
-
22
- _2026-08-23_
23
-
24
- - Make form controls fill their cell
25
- - Actually apply the size class to an inline form
26
- - Document the round-2 builder
27
- - Model support for the round-2 builder
28
- - Stop capping an inline form at 460px, and let a condition row shrink
29
- - Document the wizard, and why SSR does not step
30
- - Ask one section at a time
31
- - Document folding, and what it is not
32
- - Let a long form fold itself away
33
- - Document where a form comes from
34
- - Make the Form block a real block: one that creates
35
-
36
- ## 2.5.2
37
-
38
- _2026-08-23_
39
-
40
- - Update contact email in LICENSE file
41
-
42
- ## 2.5.1
43
-
44
- _2026-08-22_
45
-
46
- - Publish @svgrid/enterprise as compiled dist, not raw source
47
- - Verify the generated app actually builds, in CI
48
- - Document the forms work
49
- - Let an agent build the form too
50
- - Generate real SvelteKit by default, and give the form layout a model
51
- - Tell a typo apart from a crash in the Studio CLI
52
- - Show conditional fields working in three sample apps
53
- - Let a form react to its own answers, and stop scolding as you type
54
- - Pin generated apps to the generator's own version, not latest
55
- - Give an expired trial its own message
56
- - Fix accent contrast in the themes that failed it
57
-
58
- ## 2.2.34
59
-
60
- _2026-08-20_
61
-
62
- - Update docs-snippets.test.ts
63
- - fixed broken tests, moved AI features to the Grid package from Enterprise
64
- - Correct the published bundle figures to the measured 78.2 KB
65
- - Restore SvGridDropdown's lazy boundary: base 84.1 -> 78.2 KB
66
- - Keep the .mcpb spec-valid; Smithery's bundle publish is broken
67
- - Add an .mcpb bundle build for Smithery and one-click desktop installs
68
- - Fix the last alert: vulnerable adapter in the scaffolded starter
69
- - Release @svgrid/enterprise 2.3.2 so the adapter fix reaches Studio users
70
- - Clear all 37 Dependabot alerts, incl. an adapter shipped to users
71
-
72
- ## 2.2.33
73
-
74
- _2026-08-19_
75
-
76
- - Release @svgrid/mcp 2.3.3 to npm and the MCP registry
77
- - updates - studio wizard
78
-
79
- ## 2.2.32
80
-
81
- _2026-08-19_
82
-
83
- - Fix demo type errors, including dead bind: directives
84
- - Fix enterprise type errors, incl. a real async-options crash
85
- - Get CI green: 131 type errors to zero, honest coverage gates
86
- - Fix invalid test.yml so CI can run at all
87
- - Fix AI-crawler doc URLs, enrich demo pages, harden the prerenderer
88
-
89
- ## 2.2.29
90
-
91
- _2026-08-17_
92
-
93
- - Excel Filtering performance and Listbox extensions
94
-
95
- ## 2.2.27
96
-
97
- _2026-08-17_
98
-
99
- - Update data.ts
100
- - website: bump submodule to ae50cbd
101
-
102
- ## 2.2.19
103
-
104
- _2026-08-13_
105
-
106
- - Grid: keep the scrollbar custom element out of tree-shaking
107
-
108
- ## 2.2.17
109
-
110
- _2026-08-12_
111
-
112
- - i
113
- - u
114
- - themes: add Ember, SvGrid's signature warm-neutral theme
115
- - demo improvements, seo optimization and minor fixes
116
- - Studio: event handlers as code-behind in handlers.ts
117
- - Studio: Properties + Events tabs show the FULL per-component surface
118
- - grid: list controls tolerate primitive/duplicate options (no more each_key_duplicate)
119
- - Studio codegen: type chips/tags fields as string[] in the emitted row type
120
- - Studio fragment mode: emit routes + lib to drop into an existing SvelteKit app (X2)
121
- - Studio form depth: column count, field selection/order, titled sections, dialog chrome
122
- - Studio: import an OpenAPI spec -> entities + REST sources (D4)
123
- - Studio SSR: read-only screens (data-viz / detail / master-detail) render server-side
124
- - `svgrid-studio dev`: the designer edits the RUNNING app (+ SSR bug it caught)
125
- - Studio Copilot ships: `svgrid-studio designer --ai` wires the AI panel to Claude
126
- - Studio toolbox: extractor-driven full prop/event surface for every component
127
- - Studio designer-server: manifest clobber guard on Save-to-folder
128
- - Studio: `svgrid-studio deploy` - build + publish via the provider CLI
129
- - create-studio: default scaffold gets the production kit (parity with the bundle)
130
- - Studio: real-DB last mile - schema.sql/seed.sql, drizzle db:seed, footgun warnings
131
- - SvGrid: initialSorting prop; Studio SSR uses it so the sort indicator matches URL
132
- - Studio SSR: URL-driven filter row (completes sort/filter/paginate over the URL)
133
- - Studio: SPA grid page defaults pageSize when unset (was emitting undefined)
134
- - Studio SSR: SQL relation fields render a <select> too (prefetch via related /api)
135
- - Studio/enterprise: clear the last generated-app svelte-check errors
136
- - Studio: facet filter emits string values (fixes consumer type-check)
137
- - Studio: computed / formula fields are optional in the generated row type
138
- - enterprise: stop optional-peer dynamic imports from breaking consumer type-checks
139
- - Studio SSR slice 2b: relation fields render a native <select> in the SSR form
140
- - Studio SSR slice 2c: RBAC enforced in memory SSR load/actions
141
- - Studio: secure-by-default auth (slice 2d)
142
- - Studio SSR slice 2a: SQL/Drizzle entities can render SSR-native
143
- - Studio: SSR-native output for CRUD screens (slice 1, opt-in)
144
-
145
- ## 2.2.1
146
-
147
- _2026-08-04_
148
-
149
- - Stop tracking internal marketing/GTM docs; gitignore marketing/
150
- - ui 0.3.4: full component catalogue + suite image in the README
151
- - docs: document `try` with multiple components / a family at once
152
- - ui 0.3.3: theme picker + light/dark toggle in the try sandbox
153
- - docs: add "see it with try" line to the 9 UI component family pages
154
- - ui 0.3.2: add is project-aware - guide to try/create when there's no project
155
- - docs: add "see it with try" line to all 72 UI component pages
156
- - docs: changelog entries for ui try/preview + enterprise/mcp/create-studio fixes
157
- - ui 0.3.1: point users to the "see it" step after add + refresh docs
158
- - Fixes from package smoke-tests + @svgrid/ui preview UX
159
-
160
- ## 2.1.23
161
-
162
- _2026-08-03_
163
-
164
- - updates
165
- - installation updates of the editors
166
- - Update SvDockLayout.svelte
167
- - Update dock-context.ts
168
- - added more filter options and browser bounds detection to the grid editors
169
- - Studio: wire code-behind into entity screens + expose ctx.grid everywhere
170
- - Studio: expose the Grid as its real SvGridApi (ctx.grid), strongly typed
171
- - Studio: components become named imperative handles (btn.setLabel, btn.onclick)
172
- - Studio code model: always-present onLoad(ctx) + Svelte refs (not getElementById)
173
- - Studio codegen: structured onLoad slot + page-element id manifest
174
- - Studio codegen: user-owned handler companions (design + your own code)
175
-
176
- ## 2.1.7
177
-
178
- _2026-07-26_
179
-
180
- - feat(charting): integrated chart panel + enterprise pivot/AI charting
181
-
182
- ## 2.1.5
183
-
184
- _2026-07-25_
185
-
186
- - Update daily-tweet.yml
187
-
188
- ## 2.1.1
189
-
190
- _2026-07-23_
191
-
192
- - fix: SvelteKit vite plugin import broke every scaffolded/generated app
193
- - Fixed Theming and CLI options to choose a default theme
194
-
195
- ## 2.0.1
196
-
197
- _2026-07-22_
198
-
199
- - 2.0.0
200
- - chore: bump website submodule pointer (custom CSS)
201
- - Studio: custom CSS - brand the generated app beyond the theme presets
202
- - chore: bump website submodule pointer (data model view)
203
- - chore: bump website submodule pointer (copy/paste + screen mgmt + shortcuts)
204
- - Studio: insertBlock / duplicateScreen / reorderScreen ops (paste + screen mgmt)
205
- - chore: bump website submodule pointer (inline validation)
206
- - Studio: attribute validation issues to blocks + more per-block checks
207
- - chore: bump website submodule pointer (designer autosave/restore)
208
- - chore: bump website submodule pointer (record panel presentation)
209
- - Studio: record panel can open as a modal or sidebar drawer (not just inline)
210
- - examples(334-checkout-form): keep all fields inside the card
211
- - chore: bump website submodule pointer (SvGrid UI icons + Recipes)
212
- - examples: real-world SvGrid UI recipes (checkout, booking, product filter)
213
- - chore: bump website submodule pointer (SvGrid UI rename)
214
- - test: expand SvGridEditPanel DOM coverage (editorType routing + submit round-trip)
215
- - chore: bump website submodule pointer (record Save updates preview grid)
216
- - chore: bump website submodule pointer (record panel preview fix)
217
- - chore: bump website submodule pointer (designer number options + chips fix)
218
- - Studio fixes: PGlite migration, i18n block labels, CSV delimiter, number options, DOM tests
219
- - chore: point website submodule at the Studio designer commit
220
- - Studio: rich editors in forms, Gauge/Tree/Tabs blocks, onboarding + provisioning
221
-
222
- ## 1.2.24
223
-
224
- _2026-07-17_
225
-
226
- - headless editors
227
- - Delete __headless_demo_check.svelte.ts
228
- - Create __headless_demo_check.svelte.ts
229
- - more editor fixes
230
- - Update SvTree.svelte
231
- - Create createDateTimePicker.svelte.ts
232
- - headless editors updates
233
- - updates for headless editors and website
234
- - Convert website to a private git submodule
235
- - ci: restore private Studio designer during website build
236
-
237
- ## 1.2.23
238
-
239
- _2026-07-16_
240
-
241
- - Grid Editors
242
-
243
- ## 1.2.8
244
-
245
- _2026-07-09_
246
-
247
- - Update publish-npm.yml
248
-
249
- ## 1.2.4
250
-
251
- _2026-07-07_
252
-
253
- - Fixed home page responsiveness on phone and pinned columns bug fix
254
- - Fixes and Examples switcher in the Playground
255
- - Bug fixes
256
-
257
- <!-- build-changelog: hand-written entries below this line -->
258
-
259
- ## 1.2.3
260
-
261
- ### Fixed
262
-
263
- - **Pinned columns no longer disappear when column virtualization is on.** A
264
- pinned column is `position: sticky`, so it only stays pinned while its cell is
265
- in the DOM - but column virtualization dropped it once it scrolled out of the
266
- window, so scrolling far enough sideways made the frozen column vanish (the
267
- workaround was `columnVirtualization={false}`). The rendered column window now
268
- stays contiguous through the pinned-left prefix and pinned-right suffix, so
269
- pinned cells are always rendered and pinning + column virtualization work
270
- together. No API change.
271
- - **No more "ResizeObserver loop completed with undelivered notifications"
272
- console noise.** The grid's internal `ResizeObserver`s (header height, root
273
- size, viewport size, and the custom scrollbar) mutated layout state
274
- synchronously inside the observe callback, which the browser reports with that
275
- benign-but-noisy warning - most visibly when a whole grid is swapped at once
276
- (e.g. switching demos in the playground). The callbacks now coalesce onto the
277
- next animation frame, so each delivery cycle finishes cleanly and the warning
278
- is gone. Behaviour is unchanged; the remeasure just happens one frame later.
279
-
280
- ## 1.2.2
281
-
282
- ### Fixed
283
-
284
- - **The grid now themes itself out of the box.** Styling that previously lived
285
- only in the examples' host stylesheet is now shipped in the grid's own CSS, so
286
- a bare `@svgrid/grid` install (or the single-file / CDN builds) renders a
287
- complete grid with no extra stylesheet:
288
- - **Cell grid lines** (per-cell right + bottom borders, clean outer edge),
289
- - **Row hover** tint,
290
- - **Pagination footer** (layout, page-size select, prev/next buttons, labels)
291
- - `GridFooter.svelte` shipped with no styles at all before,
292
- - **Filter inputs** - the header filter row, per-column filter, global search
293
- box, and menu search/condition inputs now get a tokenized background +
294
- border out of the box (previously only the inline cell editor + menu inputs
295
- were styled), with a calm box-shadow focus instead of a hard outline.
296
- - **Column menu + filter chrome** - the filter-operator `<select>`, the
297
- "search values" magnifier, the facet checklist's native checkboxes
298
- (accent-colored), the submenu chevron, the filter/choose-columns popover
299
- widths, the filter-menu spacing, and the active-filter funnel tint are now
300
- themed by the grid (were host-only, so bare consumers saw unstyled menus).
301
- - **Selection checkbox** fills with the accent (was the lighter selection
302
- tint); **column resize handle** shows an accent center pill on hover/drag;
303
- scrollbar-corner divider, group-row label, and a few operator/button states
304
- now use tokens instead of hardcoded values.
305
-
306
- All driven by the existing `--sg-*` tokens with sensible fallbacks; consumer
307
- overrides still win, so the examples/site look unchanged. Every redundant
308
- `.sv-grid-*` override was removed from the examples' + website's host
309
- stylesheets - they now carry only demo helpers, no grid chrome.
310
-
311
- - **Pinned columns were semi-transparent.** The default pinned-cell tint used
312
- `color-mix(... 70%, ... 8%)` whose percentages sum to 78%, which per spec
313
- yields a 78%-opaque colour - so scrolling rows bled through the frozen column.
314
- The mixes now sum to 100% (`92%/8%`, `86%/14%`) and are fully opaque.
315
- - **Right-aligned values hid under the vertical scrollbar.** The custom
316
- scrollbar overlays the right 16px of the viewport, and the scrollbar-width
317
- reservation only ran in `fitColumns` mode. The last column's right-aligned
318
- content now gets 16px of extra right padding whenever the vertical scrollbar
319
- is visible, so numbers stay clear of it.
320
-
321
- ## 1.2.0
322
-
323
- ### Added
324
-
325
- - **CDN bundles.** Pre-compiled ESM bundles under `dist/cdn/` (CSS inlined):
326
- - `svgrid.js` - Svelte runtime bundled in; a self-contained drop-in exposed
327
- via the `unpkg` / `jsdelivr` fields and the `./cdn` export.
328
- - `svgrid.svelte-external.js` - Svelte kept external (`./cdn/svelte-external`
329
- export), so a page that compiles its own component can share ONE Svelte
330
- runtime with the grid. Powers the website's "copy runnable Svelte HTML"
331
- single-file export.
332
-
333
- The main `exports` still ship the Svelte-source library, so npm + Vite /
334
- SvelteKit consumers keep tree-shaking and normal compilation - nothing
335
- changes for them.
336
-
337
- ### Fixed
338
-
339
- - **Smaller install.** Test artifacts (`*.test.*`, `*.spec.*`, `test-setup.*`,
340
- `test-fixtures/`) are stripped from the published `dist/` (~130 files that
341
- were previously shipped to every installer).
342
- - **Valid HTML / accessibility.** The multi-select dropdown no longer nests a
343
- `<button>` (the chip "remove" control) inside the trigger `<button>` - the
344
- remove control is now a `role="button"` span with identical behaviour. The
345
- Excel fill handle carries an explicit `tabindex`, and a stray tabindex lint on
346
- the free-form chips editor was resolved.
1
+ # @svgrid/grid changelog
2
+
3
+ Releases above 1.2.3 are generated from the commit subjects in each release tag range
4
+ (`node tools/build-changelog.mjs`), so they describe what changed rather than
5
+ reading as polished release notes. Entries from 1.2.3 down are hand-written.
6
+
7
+ ## 2.6.5
8
+
9
+ _2026-08-24_
10
+
11
+ - Track the enterprise bump in SVGRID_VERSION
12
+ - Fix the /filtering entry for raw Node, and guard it
13
+ - Advanced filter: toolbar indicator, change notification, docs
14
+ - Nested groups in the filter builder
15
+ - Accessibility: axe in CI, theme contrast, and two real defects
16
+ - Server-side grouping across all three adapters
17
+ - Advanced filter: point the expression engine at the grid
18
+ - Make the compliance claims true instead of deleting them
19
+
20
+ ## 2.6.2
21
+
22
+ _2026-08-23_
23
+
24
+ - Make form controls fill their cell
25
+ - Actually apply the size class to an inline form
26
+ - Document the round-2 builder
27
+ - Model support for the round-2 builder
28
+ - Stop capping an inline form at 460px, and let a condition row shrink
29
+ - Document the wizard, and why SSR does not step
30
+ - Ask one section at a time
31
+ - Document folding, and what it is not
32
+ - Let a long form fold itself away
33
+ - Document where a form comes from
34
+ - Make the Form block a real block: one that creates
35
+
36
+ ## 2.5.2
37
+
38
+ _2026-08-23_
39
+
40
+ - Update contact email in LICENSE file
41
+
42
+ ## 2.5.1
43
+
44
+ _2026-08-22_
45
+
46
+ - Publish @svgrid/enterprise as compiled dist, not raw source
47
+ - Verify the generated app actually builds, in CI
48
+ - Document the forms work
49
+ - Let an agent build the form too
50
+ - Generate real SvelteKit by default, and give the form layout a model
51
+ - Tell a typo apart from a crash in the Studio CLI
52
+ - Show conditional fields working in three sample apps
53
+ - Let a form react to its own answers, and stop scolding as you type
54
+ - Pin generated apps to the generator's own version, not latest
55
+ - Give an expired trial its own message
56
+ - Fix accent contrast in the themes that failed it
57
+
58
+ ## 2.2.34
59
+
60
+ _2026-08-20_
61
+
62
+ - Update docs-snippets.test.ts
63
+ - fixed broken tests, moved AI features to the Grid package from Enterprise
64
+ - Correct the published bundle figures to the measured 78.2 KB
65
+ - Restore SvGridDropdown's lazy boundary: base 84.1 -> 78.2 KB
66
+ - Keep the .mcpb spec-valid; Smithery's bundle publish is broken
67
+ - Add an .mcpb bundle build for Smithery and one-click desktop installs
68
+ - Fix the last alert: vulnerable adapter in the scaffolded starter
69
+ - Release @svgrid/enterprise 2.3.2 so the adapter fix reaches Studio users
70
+ - Clear all 37 Dependabot alerts, incl. an adapter shipped to users
71
+
72
+ ## 2.2.33
73
+
74
+ _2026-08-19_
75
+
76
+ - Release @svgrid/mcp 2.3.3 to npm and the MCP registry
77
+ - updates - studio wizard
78
+
79
+ ## 2.2.32
80
+
81
+ _2026-08-19_
82
+
83
+ - Fix demo type errors, including dead bind: directives
84
+ - Fix enterprise type errors, incl. a real async-options crash
85
+ - Get CI green: 131 type errors to zero, honest coverage gates
86
+ - Fix invalid test.yml so CI can run at all
87
+ - Fix AI-crawler doc URLs, enrich demo pages, harden the prerenderer
88
+
89
+ ## 2.2.29
90
+
91
+ _2026-08-17_
92
+
93
+ - Excel Filtering performance and Listbox extensions
94
+
95
+ ## 2.2.27
96
+
97
+ _2026-08-17_
98
+
99
+ - Update data.ts
100
+ - website: bump submodule to ae50cbd
101
+
102
+ ## 2.2.19
103
+
104
+ _2026-08-13_
105
+
106
+ - Grid: keep the scrollbar custom element out of tree-shaking
107
+
108
+ ## 2.2.17
109
+
110
+ _2026-08-12_
111
+
112
+ - i
113
+ - u
114
+ - themes: add Ember, SvGrid's signature warm-neutral theme
115
+ - demo improvements, seo optimization and minor fixes
116
+ - Studio: event handlers as code-behind in handlers.ts
117
+ - Studio: Properties + Events tabs show the FULL per-component surface
118
+ - grid: list controls tolerate primitive/duplicate options (no more each_key_duplicate)
119
+ - Studio codegen: type chips/tags fields as string[] in the emitted row type
120
+ - Studio fragment mode: emit routes + lib to drop into an existing SvelteKit app (X2)
121
+ - Studio form depth: column count, field selection/order, titled sections, dialog chrome
122
+ - Studio: import an OpenAPI spec -> entities + REST sources (D4)
123
+ - Studio SSR: read-only screens (data-viz / detail / master-detail) render server-side
124
+ - `svgrid-studio dev`: the designer edits the RUNNING app (+ SSR bug it caught)
125
+ - Studio Copilot ships: `svgrid-studio designer --ai` wires the AI panel to Claude
126
+ - Studio toolbox: extractor-driven full prop/event surface for every component
127
+ - Studio designer-server: manifest clobber guard on Save-to-folder
128
+ - Studio: `svgrid-studio deploy` - build + publish via the provider CLI
129
+ - create-studio: default scaffold gets the production kit (parity with the bundle)
130
+ - Studio: real-DB last mile - schema.sql/seed.sql, drizzle db:seed, footgun warnings
131
+ - SvGrid: initialSorting prop; Studio SSR uses it so the sort indicator matches URL
132
+ - Studio SSR: URL-driven filter row (completes sort/filter/paginate over the URL)
133
+ - Studio: SPA grid page defaults pageSize when unset (was emitting undefined)
134
+ - Studio SSR: SQL relation fields render a <select> too (prefetch via related /api)
135
+ - Studio/enterprise: clear the last generated-app svelte-check errors
136
+ - Studio: facet filter emits string values (fixes consumer type-check)
137
+ - Studio: computed / formula fields are optional in the generated row type
138
+ - enterprise: stop optional-peer dynamic imports from breaking consumer type-checks
139
+ - Studio SSR slice 2b: relation fields render a native <select> in the SSR form
140
+ - Studio SSR slice 2c: RBAC enforced in memory SSR load/actions
141
+ - Studio: secure-by-default auth (slice 2d)
142
+ - Studio SSR slice 2a: SQL/Drizzle entities can render SSR-native
143
+ - Studio: SSR-native output for CRUD screens (slice 1, opt-in)
144
+
145
+ ## 2.2.1
146
+
147
+ _2026-08-04_
148
+
149
+ - Stop tracking internal marketing/GTM docs; gitignore marketing/
150
+ - ui 0.3.4: full component catalogue + suite image in the README
151
+ - docs: document `try` with multiple components / a family at once
152
+ - ui 0.3.3: theme picker + light/dark toggle in the try sandbox
153
+ - docs: add "see it with try" line to the 9 UI component family pages
154
+ - ui 0.3.2: add is project-aware - guide to try/create when there's no project
155
+ - docs: add "see it with try" line to all 72 UI component pages
156
+ - docs: changelog entries for ui try/preview + enterprise/mcp/create-studio fixes
157
+ - ui 0.3.1: point users to the "see it" step after add + refresh docs
158
+ - Fixes from package smoke-tests + @svgrid/ui preview UX
159
+
160
+ ## 2.1.23
161
+
162
+ _2026-08-03_
163
+
164
+ - updates
165
+ - installation updates of the editors
166
+ - Update SvDockLayout.svelte
167
+ - Update dock-context.ts
168
+ - added more filter options and browser bounds detection to the grid editors
169
+ - Studio: wire code-behind into entity screens + expose ctx.grid everywhere
170
+ - Studio: expose the Grid as its real SvGridApi (ctx.grid), strongly typed
171
+ - Studio: components become named imperative handles (btn.setLabel, btn.onclick)
172
+ - Studio code model: always-present onLoad(ctx) + Svelte refs (not getElementById)
173
+ - Studio codegen: structured onLoad slot + page-element id manifest
174
+ - Studio codegen: user-owned handler companions (design + your own code)
175
+
176
+ ## 2.1.7
177
+
178
+ _2026-07-26_
179
+
180
+ - feat(charting): integrated chart panel + enterprise pivot/AI charting
181
+
182
+ ## 2.1.5
183
+
184
+ _2026-07-25_
185
+
186
+ - Update daily-tweet.yml
187
+
188
+ ## 2.1.1
189
+
190
+ _2026-07-23_
191
+
192
+ - fix: SvelteKit vite plugin import broke every scaffolded/generated app
193
+ - Fixed Theming and CLI options to choose a default theme
194
+
195
+ ## 2.0.1
196
+
197
+ _2026-07-22_
198
+
199
+ - 2.0.0
200
+ - chore: bump website submodule pointer (custom CSS)
201
+ - Studio: custom CSS - brand the generated app beyond the theme presets
202
+ - chore: bump website submodule pointer (data model view)
203
+ - chore: bump website submodule pointer (copy/paste + screen mgmt + shortcuts)
204
+ - Studio: insertBlock / duplicateScreen / reorderScreen ops (paste + screen mgmt)
205
+ - chore: bump website submodule pointer (inline validation)
206
+ - Studio: attribute validation issues to blocks + more per-block checks
207
+ - chore: bump website submodule pointer (designer autosave/restore)
208
+ - chore: bump website submodule pointer (record panel presentation)
209
+ - Studio: record panel can open as a modal or sidebar drawer (not just inline)
210
+ - examples(334-checkout-form): keep all fields inside the card
211
+ - chore: bump website submodule pointer (SvGrid UI icons + Recipes)
212
+ - examples: real-world SvGrid UI recipes (checkout, booking, product filter)
213
+ - chore: bump website submodule pointer (SvGrid UI rename)
214
+ - test: expand SvGridEditPanel DOM coverage (editorType routing + submit round-trip)
215
+ - chore: bump website submodule pointer (record Save updates preview grid)
216
+ - chore: bump website submodule pointer (record panel preview fix)
217
+ - chore: bump website submodule pointer (designer number options + chips fix)
218
+ - Studio fixes: PGlite migration, i18n block labels, CSV delimiter, number options, DOM tests
219
+ - chore: point website submodule at the Studio designer commit
220
+ - Studio: rich editors in forms, Gauge/Tree/Tabs blocks, onboarding + provisioning
221
+
222
+ ## 1.2.24
223
+
224
+ _2026-07-17_
225
+
226
+ - headless editors
227
+ - Delete __headless_demo_check.svelte.ts
228
+ - Create __headless_demo_check.svelte.ts
229
+ - more editor fixes
230
+ - Update SvTree.svelte
231
+ - Create createDateTimePicker.svelte.ts
232
+ - headless editors updates
233
+ - updates for headless editors and website
234
+ - Convert website to a private git submodule
235
+ - ci: restore private Studio designer during website build
236
+
237
+ ## 1.2.23
238
+
239
+ _2026-07-16_
240
+
241
+ - Grid Editors
242
+
243
+ ## 1.2.8
244
+
245
+ _2026-07-09_
246
+
247
+ - Update publish-npm.yml
248
+
249
+ ## 1.2.4
250
+
251
+ _2026-07-07_
252
+
253
+ - Fixed home page responsiveness on phone and pinned columns bug fix
254
+ - Fixes and Examples switcher in the Playground
255
+ - Bug fixes
256
+
257
+ <!-- build-changelog: hand-written entries below this line -->
258
+
259
+ ## 1.2.3
260
+
261
+ ### Fixed
262
+
263
+ - **Pinned columns no longer disappear when column virtualization is on.** A
264
+ pinned column is `position: sticky`, so it only stays pinned while its cell is
265
+ in the DOM - but column virtualization dropped it once it scrolled out of the
266
+ window, so scrolling far enough sideways made the frozen column vanish (the
267
+ workaround was `columnVirtualization={false}`). The rendered column window now
268
+ stays contiguous through the pinned-left prefix and pinned-right suffix, so
269
+ pinned cells are always rendered and pinning + column virtualization work
270
+ together. No API change.
271
+ - **No more "ResizeObserver loop completed with undelivered notifications"
272
+ console noise.** The grid's internal `ResizeObserver`s (header height, root
273
+ size, viewport size, and the custom scrollbar) mutated layout state
274
+ synchronously inside the observe callback, which the browser reports with that
275
+ benign-but-noisy warning - most visibly when a whole grid is swapped at once
276
+ (e.g. switching demos in the playground). The callbacks now coalesce onto the
277
+ next animation frame, so each delivery cycle finishes cleanly and the warning
278
+ is gone. Behaviour is unchanged; the remeasure just happens one frame later.
279
+
280
+ ## 1.2.2
281
+
282
+ ### Fixed
283
+
284
+ - **The grid now themes itself out of the box.** Styling that previously lived
285
+ only in the examples' host stylesheet is now shipped in the grid's own CSS, so
286
+ a bare `@svgrid/grid` install (or the single-file / CDN builds) renders a
287
+ complete grid with no extra stylesheet:
288
+ - **Cell grid lines** (per-cell right + bottom borders, clean outer edge),
289
+ - **Row hover** tint,
290
+ - **Pagination footer** (layout, page-size select, prev/next buttons, labels)
291
+ - `GridFooter.svelte` shipped with no styles at all before,
292
+ - **Filter inputs** - the header filter row, per-column filter, global search
293
+ box, and menu search/condition inputs now get a tokenized background +
294
+ border out of the box (previously only the inline cell editor + menu inputs
295
+ were styled), with a calm box-shadow focus instead of a hard outline.
296
+ - **Column menu + filter chrome** - the filter-operator `<select>`, the
297
+ "search values" magnifier, the facet checklist's native checkboxes
298
+ (accent-colored), the submenu chevron, the filter/choose-columns popover
299
+ widths, the filter-menu spacing, and the active-filter funnel tint are now
300
+ themed by the grid (were host-only, so bare consumers saw unstyled menus).
301
+ - **Selection checkbox** fills with the accent (was the lighter selection
302
+ tint); **column resize handle** shows an accent center pill on hover/drag;
303
+ scrollbar-corner divider, group-row label, and a few operator/button states
304
+ now use tokens instead of hardcoded values.
305
+
306
+ All driven by the existing `--sg-*` tokens with sensible fallbacks; consumer
307
+ overrides still win, so the examples/site look unchanged. Every redundant
308
+ `.sv-grid-*` override was removed from the examples' + website's host
309
+ stylesheets - they now carry only demo helpers, no grid chrome.
310
+
311
+ - **Pinned columns were semi-transparent.** The default pinned-cell tint used
312
+ `color-mix(... 70%, ... 8%)` whose percentages sum to 78%, which per spec
313
+ yields a 78%-opaque colour - so scrolling rows bled through the frozen column.
314
+ The mixes now sum to 100% (`92%/8%`, `86%/14%`) and are fully opaque.
315
+ - **Right-aligned values hid under the vertical scrollbar.** The custom
316
+ scrollbar overlays the right 16px of the viewport, and the scrollbar-width
317
+ reservation only ran in `fitColumns` mode. The last column's right-aligned
318
+ content now gets 16px of extra right padding whenever the vertical scrollbar
319
+ is visible, so numbers stay clear of it.
320
+
321
+ ## 1.2.0
322
+
323
+ ### Added
324
+
325
+ - **CDN bundles.** Pre-compiled ESM bundles under `dist/cdn/` (CSS inlined):
326
+ - `svgrid.js` - Svelte runtime bundled in; a self-contained drop-in exposed
327
+ via the `unpkg` / `jsdelivr` fields and the `./cdn` export.
328
+ - `svgrid.svelte-external.js` - Svelte kept external (`./cdn/svelte-external`
329
+ export), so a page that compiles its own component can share ONE Svelte
330
+ runtime with the grid. Powers the website's "copy runnable Svelte HTML"
331
+ single-file export.
332
+
333
+ The main `exports` still ship the Svelte-source library, so npm + Vite /
334
+ SvelteKit consumers keep tree-shaking and normal compilation - nothing
335
+ changes for them.
336
+
337
+ ### Fixed
338
+
339
+ - **Smaller install.** Test artifacts (`*.test.*`, `*.spec.*`, `test-setup.*`,
340
+ `test-fixtures/`) are stripped from the published `dist/` (~130 files that
341
+ were previously shipped to every installer).
342
+ - **Valid HTML / accessibility.** The multi-select dropdown no longer nests a
343
+ `<button>` (the chip "remove" control) inside the trigger `<button>` - the
344
+ remove control is now a `role="button"` span with identical behaviour. The
345
+ Excel fill handle carries an explicit `tabindex`, and a stray tabindex lint on
346
+ the free-form chips editor was resolved.