@svgrid/grid 2.6.7 → 2.6.9

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 (381) hide show
  1. package/CHANGELOG.md +346 -346
  2. package/README.md +199 -199
  3. package/dist/FlexRender.svelte +96 -96
  4. package/dist/GridFooter.svelte +178 -178
  5. package/dist/GridMenus.svelte +705 -705
  6. package/dist/SvAutoComplete.svelte +165 -165
  7. package/dist/SvAvatar.svelte +75 -75
  8. package/dist/SvCalendar.svelte +503 -503
  9. package/dist/SvCarousel.svelte +141 -141
  10. package/dist/SvCheckBox.svelte +102 -102
  11. package/dist/SvCircularProgress.svelte +109 -109
  12. package/dist/SvColorInput.svelte +181 -181
  13. package/dist/SvComboBox.svelte +275 -275
  14. package/dist/SvContextMenu.svelte +116 -116
  15. package/dist/SvCountryInput.svelte +163 -163
  16. package/dist/SvDrawer.svelte +254 -254
  17. package/dist/SvDropDownList.svelte +374 -374
  18. package/dist/SvDurationInput.svelte +126 -126
  19. package/dist/SvField.svelte +293 -293
  20. package/dist/SvForm.svelte +437 -437
  21. package/dist/SvGrid.controller.svelte.js +42 -11
  22. package/dist/SvGrid.css +2856 -2856
  23. package/dist/SvGrid.svelte +2956 -2956
  24. package/dist/SvGridCellEditor.svelte +662 -662
  25. package/dist/SvGridChart.svelte +1716 -1716
  26. package/dist/SvGridChartPanel.svelte +485 -485
  27. package/dist/SvGridChartView.svelte +70 -70
  28. package/dist/SvGridDropdown.svelte +728 -728
  29. package/dist/SvGridSelect.svelte +266 -266
  30. package/dist/SvGroupCell.svelte +116 -116
  31. package/dist/SvListBox.svelte +326 -326
  32. package/dist/SvMaskedInput.svelte +122 -122
  33. package/dist/SvMenu.svelte +124 -124
  34. package/dist/SvMenuList.svelte +146 -146
  35. package/dist/SvMultiSelect.svelte +289 -289
  36. package/dist/SvNumberInput.svelte +168 -168
  37. package/dist/SvOtpInput.svelte +158 -158
  38. package/dist/SvPasswordInput.svelte +151 -151
  39. package/dist/SvPhoneInput.svelte +133 -133
  40. package/dist/SvPopover.svelte +197 -197
  41. package/dist/SvProgress.svelte +116 -116
  42. package/dist/SvRadioGroup.svelte +107 -107
  43. package/dist/SvRating.svelte +112 -112
  44. package/dist/SvResult.svelte +73 -73
  45. package/dist/SvRichText.svelte +211 -211
  46. package/dist/SvRowGroupPanel.svelte +170 -170
  47. package/dist/SvScrollArea.svelte +61 -61
  48. package/dist/SvSlider.svelte +203 -203
  49. package/dist/SvSwitchButton.svelte +108 -108
  50. package/dist/SvTagsInput.svelte +115 -115
  51. package/dist/SvTextInput.svelte +147 -147
  52. package/dist/SvTimePicker.svelte +245 -245
  53. package/dist/SvToaster.svelte +159 -159
  54. package/dist/SvToggleButton.svelte +85 -85
  55. package/dist/SvTooltip.svelte +161 -161
  56. package/dist/SvTour.svelte +208 -208
  57. package/dist/SvTree.svelte +444 -444
  58. package/dist/SvTreeSelect.svelte +235 -235
  59. package/dist/cdn/{GridMenus-C7SFm3Dp.js → GridMenus-BLajq_RP.js} +2 -2
  60. package/dist/cdn/{GridMenus-0i2QnChI.js → GridMenus-CPdy5dxw.js} +2 -2
  61. package/dist/cdn/{SvDateTimePicker-DSUhIta8.js → SvDateTimePicker-CHnUkWcH.js} +2 -2
  62. package/dist/cdn/{SvDateTimePicker-h9kPyszT.js → SvDateTimePicker-CRQH_U7E.js} +2 -2
  63. package/dist/cdn/{SvGridCellEditor-DkyQO6FV.js → SvGridCellEditor-BGUCzuPB.js} +1 -1
  64. package/dist/cdn/{SvGridCellEditor-JpJSRhDx.js → SvGridCellEditor-G8IMWIws.js} +1 -1
  65. package/dist/cdn/{SvGridChart-CwhFz7GV.js → SvGridChart-BEJmNNx9.js} +1 -1
  66. package/dist/cdn/{SvGridChart-Bs2GIR2Q.js → SvGridChart-BwVos976.js} +1 -1
  67. package/dist/cdn/{SvGridChartPanel-1WXuStzM.js → SvGridChartPanel-BOknOkrP.js} +1 -1
  68. package/dist/cdn/{SvGridChartPanel-e5_nqNP9.js → SvGridChartPanel-D2PjII4O.js} +1 -1
  69. package/dist/cdn/{SvGridChartView-SmPW10dI.js → SvGridChartView-00LPUHL1.js} +1 -1
  70. package/dist/cdn/{SvGridChartView-eSPuJE6g.js → SvGridChartView-BhUEJ5ki.js} +1 -1
  71. package/dist/cdn/{SvGridDropdown-B1ZcLpgs.js → SvGridDropdown-D0VdjeR8.js} +1 -1
  72. package/dist/cdn/{SvGridDropdown-CtdbHcIS.js → SvGridDropdown-D13MtJ2j.js} +1 -1
  73. package/dist/cdn/{src-V2_KUw2j.js → src-CKpl94Cx.js} +2751 -2738
  74. package/dist/cdn/{src-BkucJd50.js → src-ogpR-lHu.js} +2650 -2637
  75. package/dist/cdn/svgrid.js +6 -6
  76. package/dist/cdn/svgrid.svelte-external.js +6 -6
  77. package/dist/chart-export.js +8 -8
  78. package/dist/virtualization/virtualizer.d.ts +14 -0
  79. package/dist/virtualization/virtualizer.js +21 -0
  80. package/package.json +11 -11
  81. package/src/FlexRender.svelte +96 -96
  82. package/src/GridFooter.svelte +178 -178
  83. package/src/GridMenus.svelte +705 -705
  84. package/src/SvAutoComplete.svelte +165 -165
  85. package/src/SvAvatar.svelte +75 -75
  86. package/src/SvCalendar.svelte +503 -503
  87. package/src/SvCalendar.test.ts +226 -226
  88. package/src/SvCarousel.svelte +141 -141
  89. package/src/SvCheckBox.svelte +102 -102
  90. package/src/SvCircularProgress.svelte +109 -109
  91. package/src/SvColorInput.svelte +181 -181
  92. package/src/SvComboBox.svelte +275 -275
  93. package/src/SvContextMenu.svelte +116 -116
  94. package/src/SvCountryInput.svelte +163 -163
  95. package/src/SvDrawer.svelte +254 -254
  96. package/src/SvDropDownList.svelte +374 -374
  97. package/src/SvDurationInput.svelte +126 -126
  98. package/src/SvField.svelte +293 -293
  99. package/src/SvForm.svelte +437 -437
  100. package/src/SvForm.test.ts +411 -411
  101. package/src/SvGrid.controller.svelte.ts +3898 -3859
  102. package/src/SvGrid.css +2856 -2856
  103. package/src/SvGrid.svelte +2956 -2956
  104. package/src/SvGrid.types.ts +1769 -1769
  105. package/src/SvGridCellEditor.svelte +662 -662
  106. package/src/SvGridChart.svelte +1716 -1716
  107. package/src/SvGridChartPanel.svelte +485 -485
  108. package/src/SvGridChartView.svelte +70 -70
  109. package/src/SvGridDropdown.svelte +728 -728
  110. package/src/SvGridSelect.svelte +266 -266
  111. package/src/SvGroupCell.svelte +116 -116
  112. package/src/SvListBox.svelte +326 -326
  113. package/src/SvMaskedInput.svelte +122 -122
  114. package/src/SvMenu.svelte +124 -124
  115. package/src/SvMenu.test.ts +97 -97
  116. package/src/SvMenuList.svelte +146 -146
  117. package/src/SvMultiSelect.svelte +289 -289
  118. package/src/SvNumberInput.svelte +168 -168
  119. package/src/SvOtpInput.svelte +158 -158
  120. package/src/SvPasswordInput.svelte +151 -151
  121. package/src/SvPhoneInput.svelte +133 -133
  122. package/src/SvPopover.svelte +197 -197
  123. package/src/SvProgress.svelte +116 -116
  124. package/src/SvRadioGroup.svelte +107 -107
  125. package/src/SvRating.svelte +112 -112
  126. package/src/SvResult.svelte +73 -73
  127. package/src/SvRichText.svelte +211 -211
  128. package/src/SvRowGroupPanel.svelte +170 -170
  129. package/src/SvScrollArea.svelte +61 -61
  130. package/src/SvSlider.svelte +203 -203
  131. package/src/SvSwitchButton.svelte +108 -108
  132. package/src/SvTagsInput.svelte +115 -115
  133. package/src/SvTextInput.svelte +147 -147
  134. package/src/SvTimePicker.svelte +245 -245
  135. package/src/SvToaster.svelte +159 -159
  136. package/src/SvToaster.test.ts +95 -95
  137. package/src/SvToggleButton.svelte +85 -85
  138. package/src/SvTooltip.svelte +161 -161
  139. package/src/SvTour.svelte +208 -208
  140. package/src/SvTree.svelte +444 -444
  141. package/src/SvTreeSelect.svelte +235 -235
  142. package/src/a11y/dismissable.test.ts +119 -119
  143. package/src/a11y/dismissable.ts +114 -114
  144. package/src/a11y.contract.test.ts +49 -49
  145. package/src/a11y.test.ts +59 -59
  146. package/src/a11y.ts +61 -61
  147. package/src/ai.test.ts +502 -502
  148. package/src/ai.ts +1391 -1391
  149. package/src/build-api.coverage.test.ts +633 -633
  150. package/src/build-api.ts +846 -846
  151. package/src/builtin-editors.grid.test.ts +83 -83
  152. package/src/cell-formatting.ts +169 -169
  153. package/src/cell-render.test.ts +513 -513
  154. package/src/cell-render.ts +496 -496
  155. package/src/cell-values.ts +118 -118
  156. package/src/chart-export.ts +201 -201
  157. package/src/chart-view.svelte.ts +36 -36
  158. package/src/chart.ts +2295 -2295
  159. package/src/collaboration.test.ts +104 -104
  160. package/src/collaboration.ts +167 -167
  161. package/src/core.performance.test.ts +30 -30
  162. package/src/core.ts +1261 -1261
  163. package/src/createAutocomplete.svelte.ts +132 -132
  164. package/src/createCombobox.svelte.ts +191 -191
  165. package/src/createCountryInput.svelte.ts +157 -157
  166. package/src/createDropdownList.svelte.ts +168 -168
  167. package/src/createForm.svelte.ts +386 -386
  168. package/src/createGrid.svelte.ts +42 -42
  169. package/src/createGrid.test.ts +10 -10
  170. package/src/createGridState.svelte.ts +17 -17
  171. package/src/createListbox.svelte.ts +250 -250
  172. package/src/createMenu.svelte.ts +224 -224
  173. package/src/createPopoverSelect.svelte.ts +213 -213
  174. package/src/createSlider.svelte.ts +191 -191
  175. package/src/createTooltip.svelte.ts +144 -144
  176. package/src/createTree.svelte.ts +319 -319
  177. package/src/editing.test.ts +949 -949
  178. package/src/editing.ts +606 -606
  179. package/src/editor-contract.ts +170 -170
  180. package/src/editor-registry.grid.test.ts +144 -144
  181. package/src/editor-registry.ts +122 -122
  182. package/src/export-data-api.test.ts +126 -126
  183. package/src/export-format.test.ts +107 -107
  184. package/src/export-format.ts +601 -601
  185. package/src/filter-operators.ts +160 -160
  186. package/src/flex-render.ts +3 -3
  187. package/src/form-field.ts +127 -127
  188. package/src/group-display.test.ts +167 -167
  189. package/src/group-display.ts +200 -200
  190. package/src/headless.ts +80 -80
  191. package/src/index.ts +754 -754
  192. package/src/js-scroller.svelte.ts +173 -173
  193. package/src/keyboard-handlers.ts +270 -270
  194. package/src/keyboard.test.ts +59 -59
  195. package/src/keyboard.ts +97 -97
  196. package/src/list-nav.test.ts +49 -49
  197. package/src/list-nav.ts +29 -29
  198. package/src/list-option.test.ts +56 -56
  199. package/src/list-option.ts +172 -172
  200. package/src/menus.ts +567 -567
  201. package/src/merge-objects.ts +48 -48
  202. package/src/overlays.test.ts +90 -90
  203. package/src/render-component.ts +28 -28
  204. package/src/row-drag-touch.ts +211 -211
  205. package/src/row-drag.test.ts +353 -353
  206. package/src/row-drag.ts +415 -415
  207. package/src/row-resize.ts +210 -210
  208. package/src/scheduler-model.test.ts +562 -562
  209. package/src/scheduler-model.ts +872 -872
  210. package/src/selection.test.ts +754 -754
  211. package/src/selection.ts +491 -491
  212. package/src/server-data-source.test.ts +383 -383
  213. package/src/server-data-source.ts +469 -469
  214. package/src/sparkline.test.ts +68 -68
  215. package/src/sparkline.ts +169 -169
  216. package/src/spreadsheet.test.ts +488 -488
  217. package/src/spreadsheet.ts +312 -312
  218. package/src/static-functions.ts +11 -11
  219. package/src/subscribe.ts +38 -38
  220. package/src/svgrid-wrapper.types.ts +558 -558
  221. package/src/svgrid.async-editor-options.test.ts +273 -273
  222. package/src/svgrid.auto-row-height.test.ts +204 -204
  223. package/src/svgrid.behavior.test.ts +705 -705
  224. package/src/svgrid.charting.test.ts +534 -534
  225. package/src/svgrid.comments-autocomplete.test.ts +127 -127
  226. package/src/svgrid.context-menu.test.ts +147 -147
  227. package/src/svgrid.features.test.ts +157 -157
  228. package/src/svgrid.filter-depth.test.ts +163 -163
  229. package/src/svgrid.filter-menu-listbox.svelte.test.ts +331 -331
  230. package/src/svgrid.filter-menu-scroll.test.ts +112 -112
  231. package/src/svgrid.grand-total.test.ts +188 -188
  232. package/src/svgrid.group-display-mode.test.ts +171 -171
  233. package/src/svgrid.group-footers.test.ts +121 -121
  234. package/src/svgrid.group-pagination.test.ts +153 -153
  235. package/src/svgrid.new-features.wrapper.test.ts +251 -251
  236. package/src/svgrid.tree-data.test.ts +186 -186
  237. package/src/svgrid.wrapper.test.ts +63 -63
  238. package/src/svgriddropdown.async-panel.svelte.test.ts +195 -195
  239. package/src/test-setup.ts +62 -62
  240. package/src/themes/index.ts +286 -286
  241. package/src/toast-store.svelte.ts +246 -246
  242. package/src/toast-store.test.ts +147 -147
  243. package/src/tree-row-model.test.ts +168 -168
  244. package/src/ui-buttons.test.ts +144 -144
  245. package/src/ui-inputs.test.ts +118 -118
  246. package/src/ui-localization.test.ts +113 -113
  247. package/src/ui-range.test.ts +70 -70
  248. package/src/ui-selection.test.ts +155 -155
  249. package/src/ui-tier1.test.ts +142 -142
  250. package/src/virtual.test.ts +88 -88
  251. package/src/virtualization/column-virtualizer.test.ts +27 -27
  252. package/src/virtualization/column-virtualizer.ts +30 -30
  253. package/src/virtualization/pre-measure.test.ts +65 -0
  254. package/src/virtualization/svelte-virtualizer.svelte.ts +26 -26
  255. package/src/virtualization/types.ts +30 -30
  256. package/src/virtualization/virtualizer.test.ts +47 -47
  257. package/src/virtualization/virtualizer.ts +322 -296
  258. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/_svelte_metadata.json +0 -1
  259. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/_metadata.json +0 -178
  260. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js +0 -3843
  261. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js.map +0 -1
  262. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js +0 -23
  263. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js.map +0 -1
  264. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js +0 -1925
  265. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js.map +0 -1
  266. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js +0 -206
  267. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js.map +0 -1
  268. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js +0 -20
  269. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js.map +0 -1
  270. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js +0 -264
  271. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js.map +0 -1
  272. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js +0 -698
  273. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js.map +0 -1
  274. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/package.json +0 -3
  275. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js +0 -135
  276. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js.map +0 -1
  277. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js +0 -57
  278. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js.map +0 -1
  279. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_attachments.js +0 -2
  280. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js +0 -46691
  281. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js.map +0 -1
  282. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js +0 -239
  283. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js.map +0 -1
  284. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_events.js +0 -2
  285. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js +0 -6
  286. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js.map +0 -1
  287. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_client.js +0 -7
  288. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js +0 -6
  289. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js.map +0 -1
  290. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js +0 -7
  291. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js.map +0 -1
  292. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js +0 -7
  293. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js.map +0 -1
  294. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js +0 -7
  295. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js.map +0 -1
  296. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_server.js +0 -6
  297. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js +0 -85
  298. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js.map +0 -1
  299. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js +0 -561
  300. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js.map +0 -1
  301. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js +0 -26
  302. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js.map +0 -1
  303. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js +0 -124
  304. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js.map +0 -1
  305. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_server.js +0 -2
  306. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js +0 -91
  307. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js.map +0 -1
  308. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js +0 -242
  309. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js.map +0 -1
  310. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js +0 -497
  311. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js.map +0 -1
  312. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js +0 -4929
  313. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js.map +0 -1
  314. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js +0 -192
  315. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js.map +0 -1
  316. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js +0 -10
  317. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js.map +0 -1
  318. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js +0 -140
  319. package/dist/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js.map +0 -1
  320. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/_svelte_metadata.json +0 -1
  321. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/_metadata.json +0 -178
  322. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js +0 -3843
  323. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/attachments-qzRy9DX4.js.map +0 -1
  324. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js +0 -23
  325. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/constants-RLNOXCpz.js.map +0 -1
  326. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js +0 -1925
  327. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/dev-DPd12uEU.js.map +0 -1
  328. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js +0 -206
  329. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/events-CDC4DKuQ.js.map +0 -1
  330. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js +0 -20
  331. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/flags-BD-lYX7s.js.map +0 -1
  332. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js +0 -264
  333. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/hydration-D3UBU2t8.js.map +0 -1
  334. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js +0 -698
  335. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/legacy-client-B0ZUlbSQ.js.map +0 -1
  336. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/package.json +0 -3
  337. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js +0 -135
  338. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte.js.map +0 -1
  339. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js +0 -57
  340. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_animate.js.map +0 -1
  341. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_attachments.js +0 -2
  342. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js +0 -46691
  343. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_compiler.js.map +0 -1
  344. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js +0 -239
  345. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_easing.js.map +0 -1
  346. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_events.js +0 -2
  347. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js +0 -6
  348. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal.js.map +0 -1
  349. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_client.js +0 -7
  350. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js +0 -6
  351. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_disclose-version.js.map +0 -1
  352. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js +0 -7
  353. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_async.js.map +0 -1
  354. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js +0 -7
  355. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_legacy.js.map +0 -1
  356. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js +0 -7
  357. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_flags_tracing.js.map +0 -1
  358. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_internal_server.js +0 -6
  359. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js +0 -85
  360. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_legacy.js.map +0 -1
  361. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js +0 -561
  362. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_motion.js.map +0 -1
  363. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js +0 -26
  364. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity.js.map +0 -1
  365. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js +0 -124
  366. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_reactivity_window.js.map +0 -1
  367. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_server.js +0 -2
  368. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js +0 -91
  369. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_store.js.map +0 -1
  370. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js +0 -242
  371. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/svelte_transition.js.map +0 -1
  372. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js +0 -497
  373. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-lObbumRX.js.map +0 -1
  374. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js +0 -4929
  375. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/utils-mR9mAWyK.js.map +0 -1
  376. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js +0 -192
  377. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/validate-CezNmRkM.js.map +0 -1
  378. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js +0 -10
  379. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/version-BHHo0WE-.js.map +0 -1
  380. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js +0 -140
  381. package/src/node_modules/.vite/vitest/67d8ed22ed986c5e2e948f64d892f30be166cc36/deps___vitest__/warnings-yiExAB06.js.map +0 -1
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.