@toclocoinc/lattice-grid 1.99.0 → 1.99.1

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 (407) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +83 -14
  3. package/angular/package.json +1 -1
  4. package/docs/API.html +4 -4
  5. package/docs/api/adapters.html +1 -1
  6. package/docs/api/ai.html +1 -1
  7. package/docs/api/alarms.html +1 -1
  8. package/docs/api/calendar.html +1 -1
  9. package/docs/api/charts.html +1 -1
  10. package/docs/api/dashboard.html +1 -1
  11. package/docs/api/data-router.html +1 -1
  12. package/docs/api/deckgl.html +1 -1
  13. package/docs/api/designer.html +1 -1
  14. package/docs/api/form.html +1 -1
  15. package/docs/api/gantt.html +1 -1
  16. package/docs/api/geometry.html +1 -1
  17. package/docs/api/grid.html +2 -2
  18. package/docs/api/index.html +1 -1
  19. package/docs/api/kanban.html +1 -1
  20. package/docs/api/kpi.html +1 -1
  21. package/docs/api/layout.html +1 -1
  22. package/docs/api/leaflet.html +1 -1
  23. package/docs/api/list.html +1 -1
  24. package/docs/api/mapview.html +1 -1
  25. package/docs/api/mock-socket.html +1 -1
  26. package/docs/api/presets.html +1 -1
  27. package/docs/api/scheduler.html +1 -1
  28. package/docs/api/shell.html +1 -1
  29. package/docs/api/tabs.html +1 -1
  30. package/docs/api/types.html +1 -1
  31. package/docs/api-detail.html +4 -4
  32. package/docs/warnings.json +1 -1
  33. package/lattice-grid.d.ts +1 -1
  34. package/lattice-grid.esm.min.js +2 -2
  35. package/lattice-grid.min.cjs +2 -2
  36. package/lattice-grid.min.js +2 -2
  37. package/locales/all.d.ts +1 -1
  38. package/locales/all.esm.min.js +1 -1
  39. package/locales/all.min.cjs +1 -1
  40. package/locales/all.min.js +1 -1
  41. package/locales/ar.d.ts +1 -1
  42. package/locales/ar.esm.min.js +1 -1
  43. package/locales/ar.min.cjs +1 -1
  44. package/locales/ar.min.js +1 -1
  45. package/locales/cs-CZ.d.ts +1 -1
  46. package/locales/cs-CZ.esm.min.js +1 -1
  47. package/locales/cs-CZ.min.cjs +1 -1
  48. package/locales/cs-CZ.min.js +1 -1
  49. package/locales/da-DK.d.ts +1 -1
  50. package/locales/da-DK.esm.min.js +1 -1
  51. package/locales/da-DK.min.cjs +1 -1
  52. package/locales/da-DK.min.js +1 -1
  53. package/locales/de-DE.d.ts +1 -1
  54. package/locales/de-DE.esm.min.js +1 -1
  55. package/locales/de-DE.min.cjs +1 -1
  56. package/locales/de-DE.min.js +1 -1
  57. package/locales/el-GR.d.ts +1 -1
  58. package/locales/el-GR.esm.min.js +1 -1
  59. package/locales/el-GR.min.cjs +1 -1
  60. package/locales/el-GR.min.js +1 -1
  61. package/locales/en-US.d.ts +1 -1
  62. package/locales/en-US.esm.min.js +1 -1
  63. package/locales/en-US.min.cjs +1 -1
  64. package/locales/en-US.min.js +1 -1
  65. package/locales/es-ES.d.ts +1 -1
  66. package/locales/es-ES.esm.min.js +1 -1
  67. package/locales/es-ES.min.cjs +1 -1
  68. package/locales/es-ES.min.js +1 -1
  69. package/locales/fi-FI.d.ts +1 -1
  70. package/locales/fi-FI.esm.min.js +1 -1
  71. package/locales/fi-FI.min.cjs +1 -1
  72. package/locales/fi-FI.min.js +1 -1
  73. package/locales/fr-CA.d.ts +1 -1
  74. package/locales/fr-CA.esm.min.js +1 -1
  75. package/locales/fr-CA.min.cjs +1 -1
  76. package/locales/fr-CA.min.js +1 -1
  77. package/locales/fr-FR.d.ts +1 -1
  78. package/locales/fr-FR.esm.min.js +1 -1
  79. package/locales/fr-FR.min.cjs +1 -1
  80. package/locales/fr-FR.min.js +1 -1
  81. package/locales/hu-HU.d.ts +1 -1
  82. package/locales/hu-HU.esm.min.js +1 -1
  83. package/locales/hu-HU.min.cjs +1 -1
  84. package/locales/hu-HU.min.js +1 -1
  85. package/locales/it-IT.d.ts +1 -1
  86. package/locales/it-IT.esm.min.js +1 -1
  87. package/locales/it-IT.min.cjs +1 -1
  88. package/locales/it-IT.min.js +1 -1
  89. package/locales/ja-JP.d.ts +1 -1
  90. package/locales/ja-JP.esm.min.js +1 -1
  91. package/locales/ja-JP.min.cjs +1 -1
  92. package/locales/ja-JP.min.js +1 -1
  93. package/locales/nb-NO.d.ts +1 -1
  94. package/locales/nb-NO.esm.min.js +1 -1
  95. package/locales/nb-NO.min.cjs +1 -1
  96. package/locales/nb-NO.min.js +1 -1
  97. package/locales/nl-NL.d.ts +1 -1
  98. package/locales/nl-NL.esm.min.js +1 -1
  99. package/locales/nl-NL.min.cjs +1 -1
  100. package/locales/nl-NL.min.js +1 -1
  101. package/locales/pl-PL.d.ts +1 -1
  102. package/locales/pl-PL.esm.min.js +1 -1
  103. package/locales/pl-PL.min.cjs +1 -1
  104. package/locales/pl-PL.min.js +1 -1
  105. package/locales/pt-BR.d.ts +1 -1
  106. package/locales/pt-BR.esm.min.js +1 -1
  107. package/locales/pt-BR.min.cjs +1 -1
  108. package/locales/pt-BR.min.js +1 -1
  109. package/locales/ro-RO.d.ts +1 -1
  110. package/locales/ro-RO.esm.min.js +1 -1
  111. package/locales/ro-RO.min.cjs +1 -1
  112. package/locales/ro-RO.min.js +1 -1
  113. package/locales/sv-SE.d.ts +1 -1
  114. package/locales/sv-SE.esm.min.js +1 -1
  115. package/locales/sv-SE.min.cjs +1 -1
  116. package/locales/sv-SE.min.js +1 -1
  117. package/locales/uk-UA.d.ts +1 -1
  118. package/locales/uk-UA.esm.min.js +1 -1
  119. package/locales/uk-UA.min.cjs +1 -1
  120. package/locales/uk-UA.min.js +1 -1
  121. package/modules/ai.d.ts +1 -1
  122. package/modules/ai.esm.min.js +1 -1
  123. package/modules/ai.min.cjs +1 -1
  124. package/modules/ai.min.js +1 -1
  125. package/modules/alarms.d.ts +1 -1
  126. package/modules/alarms.esm.min.js +1 -1
  127. package/modules/alarms.min.cjs +1 -1
  128. package/modules/alarms.min.js +1 -1
  129. package/modules/angular.d.ts +1 -1
  130. package/modules/angular.esm.min.js +1 -1
  131. package/modules/angular.min.cjs +1 -1
  132. package/modules/angular.min.js +1 -1
  133. package/modules/calendar.d.ts +1 -1
  134. package/modules/calendar.esm.min.js +1 -1
  135. package/modules/calendar.min.cjs +1 -1
  136. package/modules/calendar.min.js +1 -1
  137. package/modules/chart-alluvial.d.ts +1 -1
  138. package/modules/chart-alluvial.esm.min.js +1 -1
  139. package/modules/chart-alluvial.min.cjs +1 -1
  140. package/modules/chart-alluvial.min.js +1 -1
  141. package/modules/chart-arc.d.ts +1 -1
  142. package/modules/chart-arc.esm.min.js +1 -1
  143. package/modules/chart-arc.min.cjs +1 -1
  144. package/modules/chart-arc.min.js +1 -1
  145. package/modules/chart-barrace.d.ts +1 -1
  146. package/modules/chart-barrace.esm.min.js +1 -1
  147. package/modules/chart-barrace.min.cjs +1 -1
  148. package/modules/chart-barrace.min.js +1 -1
  149. package/modules/chart-bubblemap.d.ts +1 -1
  150. package/modules/chart-bubblemap.esm.min.js +1 -1
  151. package/modules/chart-bubblemap.min.cjs +1 -1
  152. package/modules/chart-bubblemap.min.js +1 -1
  153. package/modules/chart-bump.d.ts +1 -1
  154. package/modules/chart-bump.esm.min.js +1 -1
  155. package/modules/chart-bump.min.cjs +1 -1
  156. package/modules/chart-bump.min.js +1 -1
  157. package/modules/chart-calendar.d.ts +1 -1
  158. package/modules/chart-calendar.esm.min.js +1 -1
  159. package/modules/chart-calendar.min.cjs +1 -1
  160. package/modules/chart-calendar.min.js +1 -1
  161. package/modules/chart-choropleth.d.ts +1 -1
  162. package/modules/chart-choropleth.esm.min.js +1 -1
  163. package/modules/chart-choropleth.min.cjs +1 -1
  164. package/modules/chart-choropleth.min.js +1 -1
  165. package/modules/chart-decomposition.d.ts +1 -1
  166. package/modules/chart-decomposition.esm.min.js +1 -1
  167. package/modules/chart-decomposition.min.cjs +1 -1
  168. package/modules/chart-decomposition.min.js +1 -1
  169. package/modules/chart-diverging.d.ts +1 -1
  170. package/modules/chart-diverging.esm.min.js +1 -1
  171. package/modules/chart-diverging.min.cjs +1 -1
  172. package/modules/chart-diverging.min.js +1 -1
  173. package/modules/chart-dumbbell.d.ts +1 -1
  174. package/modules/chart-dumbbell.esm.min.js +1 -1
  175. package/modules/chart-dumbbell.min.cjs +1 -1
  176. package/modules/chart-dumbbell.min.js +1 -1
  177. package/modules/chart-fan.d.ts +1 -1
  178. package/modules/chart-fan.esm.min.js +1 -1
  179. package/modules/chart-fan.min.cjs +1 -1
  180. package/modules/chart-fan.min.js +1 -1
  181. package/modules/chart-forcetree.d.ts +1 -1
  182. package/modules/chart-forcetree.esm.min.js +1 -1
  183. package/modules/chart-forcetree.min.cjs +1 -1
  184. package/modules/chart-forcetree.min.js +1 -1
  185. package/modules/chart-hexbin.d.ts +1 -1
  186. package/modules/chart-hexbin.esm.min.js +1 -1
  187. package/modules/chart-hexbin.min.cjs +1 -1
  188. package/modules/chart-hexbin.min.js +1 -1
  189. package/modules/chart-hexmap.d.ts +1 -1
  190. package/modules/chart-hexmap.esm.min.js +1 -1
  191. package/modules/chart-hexmap.min.cjs +1 -1
  192. package/modules/chart-hexmap.min.js +1 -1
  193. package/modules/chart-icicle.d.ts +1 -1
  194. package/modules/chart-icicle.esm.min.js +1 -1
  195. package/modules/chart-icicle.min.cjs +1 -1
  196. package/modules/chart-icicle.min.js +1 -1
  197. package/modules/chart-markermap.d.ts +1 -1
  198. package/modules/chart-markermap.esm.min.js +1 -1
  199. package/modules/chart-markermap.min.cjs +1 -1
  200. package/modules/chart-markermap.min.js +1 -1
  201. package/modules/chart-motion.d.ts +1 -1
  202. package/modules/chart-motion.esm.min.js +1 -1
  203. package/modules/chart-motion.min.cjs +1 -1
  204. package/modules/chart-motion.min.js +1 -1
  205. package/modules/chart-pack.d.ts +1 -1
  206. package/modules/chart-pack.esm.min.js +1 -1
  207. package/modules/chart-pack.min.cjs +1 -1
  208. package/modules/chart-pack.min.js +1 -1
  209. package/modules/chart-parallel.d.ts +1 -1
  210. package/modules/chart-parallel.esm.min.js +1 -1
  211. package/modules/chart-parallel.min.cjs +1 -1
  212. package/modules/chart-parallel.min.js +1 -1
  213. package/modules/chart-pictorial.d.ts +1 -1
  214. package/modules/chart-pictorial.esm.min.js +1 -1
  215. package/modules/chart-pictorial.min.cjs +1 -1
  216. package/modules/chart-pictorial.min.js +1 -1
  217. package/modules/chart-polararea.d.ts +1 -1
  218. package/modules/chart-polararea.esm.min.js +1 -1
  219. package/modules/chart-polararea.min.cjs +1 -1
  220. package/modules/chart-polararea.min.js +1 -1
  221. package/modules/chart-polarscatter.d.ts +1 -1
  222. package/modules/chart-polarscatter.esm.min.js +1 -1
  223. package/modules/chart-polarscatter.min.cjs +1 -1
  224. package/modules/chart-polarscatter.min.js +1 -1
  225. package/modules/chart-pyramid.d.ts +1 -1
  226. package/modules/chart-pyramid.esm.min.js +1 -1
  227. package/modules/chart-pyramid.min.cjs +1 -1
  228. package/modules/chart-pyramid.min.js +1 -1
  229. package/modules/chart-radialbar.d.ts +1 -1
  230. package/modules/chart-radialbar.esm.min.js +1 -1
  231. package/modules/chart-radialbar.min.cjs +1 -1
  232. package/modules/chart-radialbar.min.js +1 -1
  233. package/modules/chart-ridgeline.d.ts +1 -1
  234. package/modules/chart-ridgeline.esm.min.js +1 -1
  235. package/modules/chart-ridgeline.min.cjs +1 -1
  236. package/modules/chart-ridgeline.min.js +1 -1
  237. package/modules/chart-roc.d.ts +1 -1
  238. package/modules/chart-roc.esm.min.js +1 -1
  239. package/modules/chart-roc.min.cjs +1 -1
  240. package/modules/chart-roc.min.js +1 -1
  241. package/modules/chart-scatter3d.d.ts +1 -1
  242. package/modules/chart-scatter3d.esm.min.js +1 -1
  243. package/modules/chart-scatter3d.min.cjs +1 -1
  244. package/modules/chart-scatter3d.min.js +1 -1
  245. package/modules/chart-serpentine.d.ts +1 -1
  246. package/modules/chart-serpentine.esm.min.js +1 -1
  247. package/modules/chart-serpentine.min.cjs +1 -1
  248. package/modules/chart-serpentine.min.js +1 -1
  249. package/modules/chart-slope.d.ts +1 -1
  250. package/modules/chart-slope.esm.min.js +1 -1
  251. package/modules/chart-slope.min.cjs +1 -1
  252. package/modules/chart-slope.min.js +1 -1
  253. package/modules/chart-spiral.d.ts +1 -1
  254. package/modules/chart-spiral.esm.min.js +1 -1
  255. package/modules/chart-spiral.min.cjs +1 -1
  256. package/modules/chart-spiral.min.js +1 -1
  257. package/modules/chart-splom.d.ts +1 -1
  258. package/modules/chart-splom.esm.min.js +1 -1
  259. package/modules/chart-splom.min.cjs +1 -1
  260. package/modules/chart-splom.min.js +1 -1
  261. package/modules/chart-tree.d.ts +1 -1
  262. package/modules/chart-tree.esm.min.js +1 -1
  263. package/modules/chart-tree.min.cjs +1 -1
  264. package/modules/chart-tree.min.js +1 -1
  265. package/modules/chart-venn.d.ts +1 -1
  266. package/modules/chart-venn.esm.min.js +1 -1
  267. package/modules/chart-venn.min.cjs +1 -1
  268. package/modules/chart-venn.min.js +1 -1
  269. package/modules/chart-voronoi.d.ts +1 -1
  270. package/modules/chart-voronoi.esm.min.js +1 -1
  271. package/modules/chart-voronoi.min.cjs +1 -1
  272. package/modules/chart-voronoi.min.js +1 -1
  273. package/modules/chart-waffle.d.ts +1 -1
  274. package/modules/chart-waffle.esm.min.js +1 -1
  275. package/modules/chart-waffle.min.cjs +1 -1
  276. package/modules/chart-waffle.min.js +1 -1
  277. package/modules/chart-wordcloud.d.ts +1 -1
  278. package/modules/chart-wordcloud.esm.min.js +1 -1
  279. package/modules/chart-wordcloud.min.cjs +1 -1
  280. package/modules/chart-wordcloud.min.js +1 -1
  281. package/modules/charts.d.ts +1 -1
  282. package/modules/charts.esm.min.js +1 -1
  283. package/modules/charts.min.cjs +1 -1
  284. package/modules/charts.min.js +1 -1
  285. package/modules/dashboard.d.ts +1 -1
  286. package/modules/dashboard.esm.min.js +1 -1
  287. package/modules/dashboard.min.cjs +1 -1
  288. package/modules/dashboard.min.js +1 -1
  289. package/modules/data-router.d.ts +1 -1
  290. package/modules/data-router.esm.min.js +1 -1
  291. package/modules/data-router.min.cjs +1 -1
  292. package/modules/data-router.min.js +1 -1
  293. package/modules/deckgl.d.ts +1 -1
  294. package/modules/deckgl.esm.min.js +1 -1
  295. package/modules/deckgl.min.cjs +1 -1
  296. package/modules/deckgl.min.js +1 -1
  297. package/modules/designer.d.ts +1 -1
  298. package/modules/designer.esm.min.js +1 -1
  299. package/modules/designer.min.cjs +1 -1
  300. package/modules/designer.min.js +1 -1
  301. package/modules/devtools.d.ts +1 -1
  302. package/modules/devtools.esm.min.js +1 -1
  303. package/modules/devtools.min.cjs +1 -1
  304. package/modules/devtools.min.js +1 -1
  305. package/modules/dhtmlx-compat.d.ts +1 -1
  306. package/modules/dhtmlx-compat.esm.min.js +1 -1
  307. package/modules/dhtmlx-compat.min.cjs +1 -1
  308. package/modules/dhtmlx-compat.min.js +1 -1
  309. package/modules/form.d.ts +1 -1
  310. package/modules/form.esm.min.js +17 -14
  311. package/modules/form.esm.min.js.map +2 -2
  312. package/modules/form.min.cjs +17 -14
  313. package/modules/form.min.js +17 -14
  314. package/modules/form.min.js.map +2 -2
  315. package/modules/gantt.d.ts +1 -1
  316. package/modules/gantt.esm.min.js +1 -1
  317. package/modules/gantt.min.cjs +1 -1
  318. package/modules/gantt.min.js +1 -1
  319. package/modules/geo-europe-nuts.d.ts +1 -1
  320. package/modules/geo-europe-nuts.esm.min.js +1 -1
  321. package/modules/geo-europe-nuts.min.cjs +1 -1
  322. package/modules/geo-europe-nuts.min.js +1 -1
  323. package/modules/geo-uk.d.ts +1 -1
  324. package/modules/geo-uk.esm.min.js +1 -1
  325. package/modules/geo-uk.min.cjs +1 -1
  326. package/modules/geo-uk.min.js +1 -1
  327. package/modules/geo-us-states.d.ts +1 -1
  328. package/modules/geo-us-states.esm.min.js +1 -1
  329. package/modules/geo-us-states.min.cjs +1 -1
  330. package/modules/geo-us-states.min.js +1 -1
  331. package/modules/geo-world-110m.d.ts +1 -1
  332. package/modules/geo-world-110m.esm.min.js +1 -1
  333. package/modules/geo-world-110m.min.cjs +1 -1
  334. package/modules/geo-world-110m.min.js +1 -1
  335. package/modules/geo-world-50m.d.ts +1 -1
  336. package/modules/geo-world-50m.esm.min.js +1 -1
  337. package/modules/geo-world-50m.min.cjs +1 -1
  338. package/modules/geo-world-50m.min.js +1 -1
  339. package/modules/geometry.d.ts +1 -1
  340. package/modules/geometry.esm.min.js +1 -1
  341. package/modules/geometry.min.cjs +1 -1
  342. package/modules/geometry.min.js +1 -1
  343. package/modules/htmx.d.ts +1 -1
  344. package/modules/htmx.esm.min.js +2 -2
  345. package/modules/htmx.min.cjs +2 -2
  346. package/modules/htmx.min.js +2 -2
  347. package/modules/kanban.d.ts +1 -1
  348. package/modules/kanban.esm.min.js +1 -1
  349. package/modules/kanban.min.cjs +1 -1
  350. package/modules/kanban.min.js +1 -1
  351. package/modules/kpi.d.ts +1 -1
  352. package/modules/kpi.esm.min.js +1 -1
  353. package/modules/kpi.min.cjs +1 -1
  354. package/modules/kpi.min.js +1 -1
  355. package/modules/layout.d.ts +1 -1
  356. package/modules/layout.esm.min.js +1 -1
  357. package/modules/layout.min.cjs +1 -1
  358. package/modules/layout.min.js +1 -1
  359. package/modules/leaflet.d.ts +1 -1
  360. package/modules/leaflet.esm.min.js +1 -1
  361. package/modules/leaflet.min.cjs +1 -1
  362. package/modules/leaflet.min.js +1 -1
  363. package/modules/list.d.ts +1 -1
  364. package/modules/list.esm.min.js +1 -1
  365. package/modules/list.min.cjs +1 -1
  366. package/modules/list.min.js +1 -1
  367. package/modules/mapview.d.ts +1 -1
  368. package/modules/mapview.esm.min.js +1 -1
  369. package/modules/mapview.min.cjs +1 -1
  370. package/modules/mapview.min.js +1 -1
  371. package/modules/mock-socket.d.ts +1 -1
  372. package/modules/mock-socket.esm.min.js +1 -1
  373. package/modules/mock-socket.min.cjs +1 -1
  374. package/modules/mock-socket.min.js +1 -1
  375. package/modules/presets.d.ts +1 -1
  376. package/modules/presets.esm.min.js +1 -1
  377. package/modules/presets.min.cjs +1 -1
  378. package/modules/presets.min.js +1 -1
  379. package/modules/react.d.ts +1 -1
  380. package/modules/react.esm.min.js +1 -1
  381. package/modules/react.min.cjs +1 -1
  382. package/modules/react.min.js +1 -1
  383. package/modules/scheduler.d.ts +1 -1
  384. package/modules/scheduler.esm.min.js +1 -1
  385. package/modules/scheduler.min.cjs +1 -1
  386. package/modules/scheduler.min.js +1 -1
  387. package/modules/shell.d.ts +1 -1
  388. package/modules/shell.esm.min.js +1 -1
  389. package/modules/shell.min.cjs +1 -1
  390. package/modules/shell.min.js +1 -1
  391. package/modules/svelte.d.ts +1 -1
  392. package/modules/svelte.esm.min.js +1 -1
  393. package/modules/svelte.min.cjs +1 -1
  394. package/modules/svelte.min.js +1 -1
  395. package/modules/tabs.d.ts +1 -1
  396. package/modules/tabs.esm.min.js +1 -1
  397. package/modules/tabs.min.cjs +1 -1
  398. package/modules/tabs.min.js +1 -1
  399. package/modules/vue.d.ts +1 -1
  400. package/modules/vue.esm.min.js +1 -1
  401. package/modules/vue.min.cjs +1 -1
  402. package/modules/vue.min.js +1 -1
  403. package/modules/webcomponent.d.ts +1 -1
  404. package/modules/webcomponent.esm.min.js +2 -2
  405. package/modules/webcomponent.min.cjs +2 -2
  406. package/modules/webcomponent.min.js +2 -2
  407. package/package.json +9 -2
package/CHANGELOG.md CHANGED
@@ -9,6 +9,18 @@ and what it means for a grid already in production.
9
9
 
10
10
  ## [Unreleased]
11
11
 
12
+ ## [1.99.1] - 2026-10-12
13
+
14
+ ### Changed
15
+
16
+ - The README presents Lattice as one typed, virtualised data layer with every view on it — the data grid, Kanban, Gantt, calendar, resource scheduler, form, shell layout, dashboards and the Designer, plus KPI tiles and map views — and its module tables name every shipped feature module and adapter, with the scheduler row corrected to state that events drag, resize and reassign (BACKLOG-0002215).
17
+
18
+ ### Fixed
19
+
20
+ - **Clearing a required number field and tabbing away redrew the old number while the form still said the field was required** (BACKLOG-0002213). *Recognise your own case: a `number`/unit/temperature form field holding `5`, select-all and Delete, then Tab or click elsewhere — the box showed `5` again, refusing to clear until a new value overwrote it, even though the committed value was already blank.* A native text input fires `change` before `blur`, so the control's own read already committed the blank edit; its `onBlur` handler disagreed and kept redrawing the last committed number. A blank edit now commits blank on every path — Tab, click-away, a Save button, and `validate()` called while the field is still focused — leaving the box empty (or the configured `nullDisplay` for a unit/temperature field) in agreement with `getValue()`. Unparseable text is unchanged: it still keeps the previous value and flags the item.
21
+
22
+ - **A form validation message in a left-label layout now sits under the control instead of beside it** (BACKLOG-0002214). The message rendered as a third column next to the input, shrinking the invalid row's field narrower than the rows above. Help, validation and refusal messages now live inside the control cell, so they stay under the control in every label position (`top`, `left`, `hidden`), the control keeps its width, a long message wraps within the control width, and the message is announced through `aria-describedby`. The error colour still reads `--lattice-danger` in the dark theme.
23
+
12
24
  ## [1.99.0] - 2026-10-11
13
25
 
14
26
  ### Breaking
package/README.md CHANGED
@@ -1,11 +1,13 @@
1
1
  # Lattice Grid
2
2
 
3
- **A high-performance data grid for the browser.** Vanilla JavaScript, no runtime
4
- dependencies, no build step required. Optional adapters for React, Vue, Svelte
5
- and Web Components ship alongside it, and Angular has compiled components of its
6
- own at `@toclocoinc/lattice-grid/angular` — inside this package, not beside it.
3
+ **Lattice is one typed, virtualised data layer in the browser and a family of
4
+ views on it**: data grid, Kanban board, Gantt chart, calendar, resource
5
+ scheduler, form, shell layout, dashboards and the Designer, 38+ chart types, KPI
6
+ tiles and map views, all reading the same rows, filters and theme. Vanilla
7
+ JavaScript, no runtime dependencies, no build step; adapters for React, Vue,
8
+ Svelte, Web Components and htmx, Angular compiled inside the package.
7
9
 
8
- Version 1.99.0 · [latticegrid.dev](https://www.latticegrid.dev) · TOCLOCO Inc
10
+ Version 1.99.1 · [latticegrid.dev](https://www.latticegrid.dev) · TOCLOCO Inc
9
11
 
10
12
  ---
11
13
 
@@ -31,13 +33,34 @@ Every module is optional and none of them is loaded unless you import it.
31
33
  | Module | What it is |
32
34
  |---|---|
33
35
  | `modules/charts.esm.min.js` | Thirty-eight chart types drawn from the grid's data, including control and capability charts. |
36
+ | `modules/data-router.esm.min.js` | One stream split by property and routed to many grids and views. |
37
+ | `modules/kanban.esm.min.js` | Board view: rows as cards grouped into columns. |
38
+ | `modules/gantt.esm.min.js` | Editable, dependency-aware project plan with a computed critical path. |
39
+ | `modules/calendar.esm.min.js` | Month and week views of rows as cards, keyed by a date field. |
40
+ | `modules/scheduler.esm.min.js` | Resource scheduler: resources as rows and events as editable bars on a shared time axis. |
41
+ | `modules/form.esm.min.js` | An opt-in form: named fields in nested rows and columns, validation and rules, bound to a grid row or the data router. |
42
+ | `modules/shell.esm.min.js` | Cells nested as rows and columns to any depth, sized synchronously by CSS. |
43
+ | `modules/layout.esm.min.js` | A reconfigurable dashboard surface: windows on a cell grid. |
44
+ | `modules/dashboard.esm.min.js` | One JSON spec naming a layout, panels and links, built into a wired page. |
45
+ | `modules/designer.esm.min.js` | A designer over the dashboard spec, whose view mode is `createDashboard`. |
46
+ | `modules/kpi.esm.min.js` | A panel of stat tiles, each an aggregate over the dataset. |
47
+ | `modules/mapview.esm.min.js` | A 3D map of the grid's rows, linked to its filters and selection both ways. |
48
+ | `modules/leaflet.esm.min.js` | Your Leaflet map as one more viewer of a grid. |
49
+ | `modules/deckgl.esm.min.js` | Your deck.gl map as one more viewer of a grid. |
50
+ | `modules/geometry.esm.min.js` | The `geometry` column type, registered by import, with spatial operators. |
51
+ | `modules/alarms.esm.min.js` | Turns graded data into alarm events: level, clear and per-key identity. |
52
+ | `modules/list.esm.min.js` | The `list` column type, registered by import, with its own filter and editor. |
53
+ | `modules/tabs.esm.min.js` | A tab strip where each tab is its own full grid. |
54
+ | `modules/presets.esm.min.js` | Design-system presets: a variable file and a function over the theme-token contract. |
55
+ | `modules/ai.esm.min.js` | Bring-your-own-model narrative and insights grounded on computed figures. |
56
+ | `modules/mock-socket.esm.min.js` | A serverless stand-in for a live WebSocket feed. |
57
+ | `modules/htmx.esm.min.js` | htmx integration: survives htmx's DOM swaps, hydrates from a server-rendered `<table>`, and drives sort, filter and infinite scroll over plain htmx requests. UMD and CJS builds sit beside it. |
58
+ | `modules/dhtmlx-compat.esm.min.js` | A compatibility wrapper for an existing grid API, for moving an existing integration across without rewriting it. |
59
+ | `modules/devtools.esm.min.js` | The devtools panel, including the accessibility checks. |
34
60
  | `modules/react.esm.min.js` | React adapter. |
35
61
  | `modules/vue.esm.min.js` | Vue adapter. |
36
62
  | `modules/svelte.esm.min.js` | Svelte adapter. |
37
63
  | `modules/webcomponent.esm.min.js` | `<lattice-grid>` as a custom element. |
38
- | `modules/htmx.esm.min.js` | htmx integration: survives htmx's DOM swaps, hydrates from a server-rendered `<table>`, and drives sort, filter and infinite scroll over plain htmx requests. UMD and CJS builds sit beside it. |
39
- | `modules/dhtmlx-compat.esm.min.js` | A compatibility wrapper for an existing grid API, for moving an existing integration across without rewriting it. |
40
- | `modules/devtools.esm.min.js` | The devtools panel, including the accessibility checks. |
41
64
 
42
65
  This is the short list. [Modules & entry points](#modules--entry-points) is the
43
66
  complete map — every framework adapter, feature module and chart-type extension,
@@ -148,6 +171,43 @@ enough to know whether the grid covers what you need.
148
171
  - **In-cell charts**, sparklines, data bars, progress, ratings and pills.
149
172
  - **Header histograms** that double as a filter.
150
173
 
174
+ ### Views on the same data
175
+
176
+ Every view below is a viewer of the same dataset, not a copy of it. Each reads
177
+ rows through the same keyed-diff contract a grid exposes
178
+ (`rows.apply({ add, update, remove })`), so a sort, filter, group or edit made
179
+ in one is the sort, filter, group or edit the others already see, and a Data
180
+ Router can drive a grid, a board, a chart and a map off one feed.
181
+
182
+ - **Kanban.** `modules/kanban` draws rows as cards grouped into columns by a
183
+ configurable property, with workflow rules, swimlanes, sprints and an undo
184
+ history. It binds to a live grid or takes rows directly.
185
+ - **Gantt.** `modules/gantt` turns a task list into a real schedule: a CPM
186
+ engine computes each task's early/late start and finish, its slack and the
187
+ zero-float critical path, recomputing on every edit. Map your own field
188
+ names so the rows you already have arrive as they are.
189
+ - **Calendar.** `modules/calendar` lays rows out as cards on a month grid or a
190
+ week day-grid, keyed by a date field, with rescheduling that writes back.
191
+ - **Resource scheduler.** `modules/scheduler` shows resources as rows in a real
192
+ grid and each event as a bar on a shared time axis; events drag, resize and
193
+ reassign, and every change writes back through `events.apply` as one undo
194
+ step.
195
+ - **Form.** `modules/form` builds named items in nested rows and columns, and
196
+ the whole form is already in the document and measurable the moment
197
+ `createForm` returns.
198
+ - **Shell and layout.** `modules/shell` nests cells as rows and columns sized
199
+ by pure CSS flexbox, and `modules/layout` puts movable, resizable windows on
200
+ a cell grid for a reconfigurable dashboard surface.
201
+ - **Dashboard and Designer.** `modules/dashboard` describes a dashboard as one
202
+ JSON spec (the layout, the panels and the links between them) and
203
+ `createDashboard` builds the wired page; `modules/designer` edits that same
204
+ spec, its view mode being `createDashboard` itself.
205
+ - **KPI.** `modules/kpi` renders a panel of stat tiles, each an aggregate over
206
+ the routed rows.
207
+ - **Maps.** `modules/mapview` puts a 3D map beside the grid that is always a
208
+ picture of the grid's current rows; `modules/leaflet` and `modules/deckgl`
209
+ make your own Leaflet or deck.gl map one more viewer, linked both ways.
210
+
151
211
  ### The interface
152
212
 
153
213
  - **Tool panels** for columns, filters, views, quick filter, formatting and
@@ -361,23 +421,32 @@ the UMD build or `.cjs` for CommonJS.
361
421
  | kanban | `@toclocoinc/lattice-grid/modules/kanban` | `modules/kanban.min.js` | `LatticeGridKanban` | Board view: grid rows as cards grouped into columns (`createKanban`). |
362
422
  | gantt | `@toclocoinc/lattice-grid/modules/gantt` | `modules/gantt.min.js` | `LatticeGridGantt` | Editable, dependency-aware project plan with a computed critical path (`createGantt`). |
363
423
  | calendar | `@toclocoinc/lattice-grid/modules/calendar` | `modules/calendar.min.js` | `LatticeGridCalendar` | A month grid and a week day-grid of rows as cards, keyed by a date field (`createCalendar`). |
364
- | scheduler | `@toclocoinc/lattice-grid/modules/scheduler` | `modules/scheduler.min.js` | `LatticeGridScheduler` | Read-only resource scheduler: resources as grid rows and events as bars on a shared time axis (`createScheduler`). |
424
+ | scheduler | `@toclocoinc/lattice-grid/modules/scheduler` | `modules/scheduler.min.js` | `LatticeGridScheduler` | Resource scheduler: resources as grid rows and events as bars on a shared time axis; events drag, resize and reassign (`createScheduler`). |
365
425
  | mapview | `@toclocoinc/lattice-grid/modules/mapview` | `modules/mapview.min.js` | `LatticeGridMapView` | A 3D map of the grid's rows over MapLibre with deck.gl layers, linked to the grid's filters and selection both ways (`createMapView`). |
426
+ | leaflet | `@toclocoinc/lattice-grid/modules/leaflet` | `modules/leaflet.min.js` | `LatticeGridLeaflet` | Your Leaflet `L.Map` and layer function become one more viewer of a grid, linked both ways (`bindLeaflet`). |
427
+ | deckgl | `@toclocoinc/lattice-grid/modules/deckgl` | `modules/deckgl.min.js` | `LatticeGridDeck` | Your deck.gl `Deck` and layer function become one more viewer of a grid, linked both ways (`bindDeck`). |
428
+ | geometry | `@toclocoinc/lattice-grid/modules/geometry` | `modules/geometry.min.js` | `LatticeGrid` (extends it) | The `geometry` column type, registered by import, with spatial operators and geometry-aware maps (`geometryModule`). |
429
+ | list | `@toclocoinc/lattice-grid/modules/list` | `modules/list.min.js` | `LatticeGrid` (extends it) | The `list` column type, registered by import, with its own filter and editor (`listModule`). |
366
430
  | kpi | `@toclocoinc/lattice-grid/modules/kpi` | `modules/kpi.min.js` | `LatticeGridKPI` | A grid of stat tiles, each an aggregate over a dataset (`createKPI`). |
431
+ | alarms | `@toclocoinc/lattice-grid/modules/alarms` | `modules/alarms.min.js` | `LatticeGridAlarms` | Turns graded data into alarm events (level, clear and per-key identity) for a NOC wall, ticketing or an on-call rota; no UI of its own (`createAlarms`). |
367
432
  | tabs | `@toclocoinc/lattice-grid/modules/tabs` | `modules/tabs.min.js` | `LatticeGridTabs` | A tab strip where each tab is its own full grid, optionally derived from another (`createTabs`). |
368
433
  | layout | `@toclocoinc/lattice-grid/modules/layout` | `modules/layout.min.js` | `LatticeGridLayout` | A reconfigurable dashboard: windows on a cell grid, moved and resized by drag or keyboard (`createLayout`). |
434
+ | dashboard | `@toclocoinc/lattice-grid/modules/dashboard` | `modules/dashboard.min.js` | `LatticeGridDashboard` | One JSON spec naming a layout, panels and links, built into a wired page (`createDashboard`). |
435
+ | designer | `@toclocoinc/lattice-grid/modules/designer` | `modules/designer.min.js` | `LatticeGridDesigner` | A designer over the dashboard spec, with pages; its view mode is `createDashboard` (`createDesigner`). |
369
436
  | shell | `@toclocoinc/lattice-grid/modules/shell` | `modules/shell.min.js` | `LatticeGridShell` | A flexbox shell: cells nested as rows and columns to any depth, sized synchronously by CSS (`createShell`). |
370
437
  | form | `@toclocoinc/lattice-grid/modules/form` | `modules/form.min.js` | `LatticeGridForm` | An opt-in form: named items in nested rows and columns, basic controls, events and grid-token density (`createForm`). |
371
438
  | ai | `@toclocoinc/lattice-grid/modules/ai` | `modules/ai.min.js` | `LatticeGridAI` | Bring-your-own-model narrative and insights grounded on computed figures (`createAI`). |
439
+ | presets | `@toclocoinc/lattice-grid/modules/presets` | `modules/presets.min.js` | `LatticeGridPresets` | Design-system presets: a variable file over the theme-token contract and a function that drives it from a real MUI theme (`themeFromMui`). |
372
440
  | mock-socket | `@toclocoinc/lattice-grid/modules/mock-socket` | `modules/mock-socket.min.js` | `LatticeGridMockSocket` | A serverless stand-in for a live WebSocket feed (`MockWebSocket`, `opsFeed`). |
373
441
  | devtools | `@toclocoinc/lattice-grid/modules/devtools` | `modules/devtools.min.js` | `LatticeGrid` (extends it) | The in-page diagnostic panel, including the accessibility checks (`createDevtools`). |
374
442
  | dhtmlx-compat | `@toclocoinc/lattice-grid/modules/dhtmlx-compat` | `modules/dhtmlx-compat.min.js` | `LatticeGrid` (extends it) | A `Grid`-shaped API for moving an existing integration across. |
375
443
 
376
- The four modules that extend `LatticeGrid` (charts, devtools, dhtmlx-compat,
377
- webcomponent) fold their exports into the core global, so load the core
378
- `<script>` first and then the module — for example `LatticeGrid.createChart(...)`
379
- becomes available once both are loaded. With a bundler they share the one core
380
- the page already imported rather than carrying a second copy.
444
+ The six modules that extend `LatticeGrid` (charts, devtools, dhtmlx-compat,
445
+ webcomponent, geometry, list) fold their exports into the core global, so load
446
+ the core `<script>` first and then the module, for example
447
+ `LatticeGrid.createChart(...)` becomes available once both are loaded. With a
448
+ bundler they share the one core the page already imported rather than carrying
449
+ a second copy.
381
450
 
382
451
  ### Chart-type extensions
383
452
 
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.99.0",
2
+ "version": "1.99.1",
3
3
  "type": "module",
4
4
  "sideEffects": false,
5
5
  "module": "./fesm2022/toclocoinc-lattice-grid-angular.mjs",
package/docs/API.html CHANGED
@@ -382,7 +382,7 @@
382
382
  <div class="shell">
383
383
  <aside class="rail">
384
384
  <p class="rail__brand">Lattice Grid</p>
385
- <p class="rail__sub">API reference · v1.99.0</p>
385
+ <p class="rail__sub">API reference · v1.99.1</p>
386
386
  <nav>
387
387
  <div class="rail__group">
388
388
  <span class="rail__label">Start</span>
@@ -582,7 +582,7 @@
582
582
  </header>
583
583
 
584
584
  <p class="chips">
585
- <span class="chip">Version 1.99.0</span>
585
+ <span class="chip">Version 1.99.1</span>
586
586
  <span class="chip">Zero dependencies</span>
587
587
  <span class="chip"><a href="api-detail.html">Developer guide &rarr;</a></span>
588
588
  </p>
@@ -3504,7 +3504,7 @@ grid.destroy();
3504
3504
  <table>
3505
3505
  <thead><tr><th>Member</th><th>Returns</th><th>Description</th></tr></thead>
3506
3506
  <tbody>
3507
- <tr><td class="sig">getVersion()</td><td class="type">string</td><td class="desc">The version this grid came from, e.g. <code>'1.99.0'</code>. Also on the module as <code>getVersion()</code>, for when you have no grid to hand.</td></tr>
3507
+ <tr><td class="sig">getVersion()</td><td class="type">string</td><td class="desc">The version this grid came from, e.g. <code>'1.99.1'</code>. Also on the module as <code>getVersion()</code>, for when you have no grid to hand.</td></tr>
3508
3508
  <tr><td class="sig">get(key)</td><td class="type">unknown</td><td class="desc">Read any configuration key.</td></tr>
3509
3509
  <tr><td class="sig">set(key, value)</td><td class="type">void</td><td class="desc">Write one key. Every key is live; nothing needs a rebuild.</td></tr>
3510
3510
  <tr><td class="sig">setAll(values)</td><td class="type">void</td><td class="desc">Write several in one pass. Emits one <code>config:changed</code> for the batch, not one per key.</td></tr>
@@ -37856,7 +37856,7 @@ return `next ${p.mean.toFixed(1)}; r2 ${f.r2.toFixed(1)}; band ${p.upper - p.low
37856
37856
  <!-- END GENERATED TYPE REFERENCE -->
37857
37857
 
37858
37858
  <footer>
37859
- Lattice Grid 1.99.0 · Copyright © 2026 TOCLOCO Inc. All rights reserved.
37859
+ Lattice Grid 1.99.1 · Copyright © 2026 TOCLOCO Inc. All rights reserved.
37860
37860
  This document describes the behaviour of the shipped library. Where this guide and the code
37861
37861
  disagree, the code wins: please <a href="https://www.latticegrid.dev">tell us</a>.
37862
37862
  </footer>
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Adapters API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Adapters API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
package/docs/api/ai.html CHANGED
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>AI API Reference — Lattice Grid 1.99.0</title>
16
+ <title>AI API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Alarms API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Alarms API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Calendar API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Calendar API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Charts API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Charts API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Dashboard API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Dashboard API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Data router API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Data router API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>deck.gl API Reference — Lattice Grid 1.99.0</title>
16
+ <title>deck.gl API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Designer API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Designer API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Form API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Form API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Gantt API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Gantt API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Geometry API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Geometry API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Grid API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Grid API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -1912,7 +1912,7 @@ grid.destroy();
1912
1912
  <table>
1913
1913
  <thead><tr><th>Member</th><th>Returns</th><th>Description</th></tr></thead>
1914
1914
  <tbody>
1915
- <tr><td class="sig">getVersion()</td><td class="type">string</td><td class="desc">The version this grid came from, e.g. <code>'1.99.0'</code>. Also on the module as <code>getVersion()</code>, for when you have no grid to hand.</td></tr>
1915
+ <tr><td class="sig">getVersion()</td><td class="type">string</td><td class="desc">The version this grid came from, e.g. <code>'1.99.1'</code>. Also on the module as <code>getVersion()</code>, for when you have no grid to hand.</td></tr>
1916
1916
  <tr><td class="sig">get(key)</td><td class="type">unknown</td><td class="desc">Read any configuration key.</td></tr>
1917
1917
  <tr><td class="sig">set(key, value)</td><td class="type">void</td><td class="desc">Write one key. Every key is live; nothing needs a rebuild.</td></tr>
1918
1918
  <tr><td class="sig">setAll(values)</td><td class="type">void</td><td class="desc">Write several in one pass. Emits one <code>config:changed</code> for the batch, not one per key.</td></tr>
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>API Reference — Lattice Grid 1.99.0</title>
16
+ <title>API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Kanban API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Kanban API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
package/docs/api/kpi.html CHANGED
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>KPI API Reference — Lattice Grid 1.99.0</title>
16
+ <title>KPI API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Layout API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Layout API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Leaflet API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Leaflet API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>List API Reference — Lattice Grid 1.99.0</title>
16
+ <title>List API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Map view API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Map view API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Mock socket API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Mock socket API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Presets API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Presets API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Scheduler API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Scheduler API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Shell API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Shell API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Tabs API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Tabs API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -13,7 +13,7 @@
13
13
  Self-contained: no stylesheet, script or font is fetched, so this opens from disk, from
14
14
  a file share or from behind a firewall with nothing else present.
15
15
  -->
16
- <title>Types API Reference — Lattice Grid 1.99.0</title>
16
+ <title>Types API Reference — Lattice Grid 1.99.1</title>
17
17
  <style>
18
18
  /* ---------------------------------------------------------------
19
19
  Palette lifted from the grid's own theme, so the reference reads as an
@@ -437,7 +437,7 @@
437
437
  <div class="shell">
438
438
  <aside class="rail">
439
439
  <p class="rail__brand">Lattice Grid</p>
440
- <p class="rail__sub">Developer guide · v1.99.0</p>
440
+ <p class="rail__sub">Developer guide · v1.99.1</p>
441
441
  <nav>
442
442
  <div class="rail__group">
443
443
  <span class="rail__label">Start here</span>
@@ -554,7 +554,7 @@
554
554
  <a href="API.html">reference tables</a> are the shorter version for when you already know.
555
555
  </p>
556
556
  <p class="chips">
557
- <span class="chip">Version 1.99.0</span>
557
+ <span class="chip">Version 1.99.1</span>
558
558
  <span class="chip">Zero dependencies</span>
559
559
  <span class="chip">No build step</span>
560
560
  </p>
@@ -1886,7 +1886,7 @@ off(); <span class="cmt">// every subscrip
1886
1886
  </p>
1887
1887
  <div class="example">
1888
1888
  <p class="example__label">Which version am I running?</p>
1889
- <pre><code>grid.getVersion(); <span class="cmt">// '1.99.0'</span>
1889
+ <pre><code>grid.getVersion(); <span class="cmt">// '1.99.1'</span>
1890
1890
  LatticeGrid.getVersion(); <span class="cmt">// the same, when you have no grid to hand</span></code></pre>
1891
1891
  </div>
1892
1892
  <p class="lead-in">
@@ -13256,7 +13256,7 @@ grid.licence.state(); <span class="cmt">// 'licensed' | 'localhost' | 'trial'<
13256
13256
 
13257
13257
  <footer>
13258
13258
  <p>
13259
- Lattice Grid 1.99.0 · Copyright © 2026 TOCLOCO Inc. All rights reserved.
13259
+ Lattice Grid 1.99.1 · Copyright © 2026 TOCLOCO Inc. All rights reserved.
13260
13260
  Written against the shipped source. Where this guide and the code disagree, the code wins,
13261
13261
  please <a href="https://www.latticegrid.dev">tell us</a>.
13262
13262
  </p>
@@ -1,5 +1,5 @@
1
1
  {
2
- "version": "1.99.0",
2
+ "version": "1.99.1",
3
3
  "generated": "tools/build.js from docs/warnings/catalogue.json",
4
4
  "about": "Every developer-facing diagnostic Lattice Grid prints to the console, by the key it de-duplicates on. The key is the stable identifier: it is the `id` of every reported entry `grid.diagnostics.warnings()` hands back, what the devtools panel lists, and what to quote in a support conversation. A `*` in an id stands for a value filled in at runtime (a column id, a chart id, an event name), so `icon:*` is one entry covering every column the icon renderer refuses.",
5
5
  "fields": {
package/lattice-grid.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.99.0, type declarations
2
+ * Lattice Grid 1.99.1, type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */