@toclocoinc/lattice-grid 1.103.1 → 1.103.2
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.
- package/CHANGELOG.md +20 -0
- package/README.md +1 -1
- package/angular/package.json +1 -1
- package/docs/API.html +12 -8
- package/docs/api/adapters.html +1 -1
- package/docs/api/ai.html +1 -1
- package/docs/api/alarms.html +1 -1
- package/docs/api/calendar.html +1 -1
- package/docs/api/charts.html +1 -1
- package/docs/api/dashboard.html +1 -1
- package/docs/api/data-router.html +1 -1
- package/docs/api/deckgl.html +1 -1
- package/docs/api/designer.html +1 -1
- package/docs/api/form.html +9 -5
- package/docs/api/gantt.html +1 -1
- package/docs/api/geometry.html +1 -1
- package/docs/api/grid.html +2 -2
- package/docs/api/index.html +1 -1
- package/docs/api/kanban.html +1 -1
- package/docs/api/kpi.html +1 -1
- package/docs/api/layout.html +1 -1
- package/docs/api/leaflet.html +1 -1
- package/docs/api/list.html +1 -1
- package/docs/api/mapview.html +1 -1
- package/docs/api/mock-socket.html +1 -1
- package/docs/api/presets.html +1 -1
- package/docs/api/scheduler.html +1 -1
- package/docs/api/shell.html +1 -1
- package/docs/api/tabs.html +1 -1
- package/docs/api/types.html +1 -1
- package/docs/api-detail.html +4 -4
- package/docs/warnings.json +1 -1
- package/lattice-grid.d.ts +1 -1
- package/lattice-grid.esm.min.js +2 -2
- package/lattice-grid.min.cjs +2 -2
- package/lattice-grid.min.css +1 -1
- package/lattice-grid.min.js +2 -2
- package/locales/all.d.ts +1 -1
- package/locales/all.esm.min.js +1 -1
- package/locales/all.min.cjs +1 -1
- package/locales/all.min.js +1 -1
- package/locales/ar.d.ts +1 -1
- package/locales/ar.esm.min.js +1 -1
- package/locales/ar.min.cjs +1 -1
- package/locales/ar.min.js +1 -1
- package/locales/cs-CZ.d.ts +1 -1
- package/locales/cs-CZ.esm.min.js +1 -1
- package/locales/cs-CZ.min.cjs +1 -1
- package/locales/cs-CZ.min.js +1 -1
- package/locales/da-DK.d.ts +1 -1
- package/locales/da-DK.esm.min.js +1 -1
- package/locales/da-DK.min.cjs +1 -1
- package/locales/da-DK.min.js +1 -1
- package/locales/de-DE.d.ts +1 -1
- package/locales/de-DE.esm.min.js +1 -1
- package/locales/de-DE.min.cjs +1 -1
- package/locales/de-DE.min.js +1 -1
- package/locales/el-GR.d.ts +1 -1
- package/locales/el-GR.esm.min.js +1 -1
- package/locales/el-GR.min.cjs +1 -1
- package/locales/el-GR.min.js +1 -1
- package/locales/en-US.d.ts +1 -1
- package/locales/en-US.esm.min.js +1 -1
- package/locales/en-US.min.cjs +1 -1
- package/locales/en-US.min.js +1 -1
- package/locales/es-ES.d.ts +1 -1
- package/locales/es-ES.esm.min.js +1 -1
- package/locales/es-ES.min.cjs +1 -1
- package/locales/es-ES.min.js +1 -1
- package/locales/fi-FI.d.ts +1 -1
- package/locales/fi-FI.esm.min.js +1 -1
- package/locales/fi-FI.min.cjs +1 -1
- package/locales/fi-FI.min.js +1 -1
- package/locales/fr-CA.d.ts +1 -1
- package/locales/fr-CA.esm.min.js +1 -1
- package/locales/fr-CA.min.cjs +1 -1
- package/locales/fr-CA.min.js +1 -1
- package/locales/fr-FR.d.ts +1 -1
- package/locales/fr-FR.esm.min.js +1 -1
- package/locales/fr-FR.min.cjs +1 -1
- package/locales/fr-FR.min.js +1 -1
- package/locales/hu-HU.d.ts +1 -1
- package/locales/hu-HU.esm.min.js +1 -1
- package/locales/hu-HU.min.cjs +1 -1
- package/locales/hu-HU.min.js +1 -1
- package/locales/it-IT.d.ts +1 -1
- package/locales/it-IT.esm.min.js +1 -1
- package/locales/it-IT.min.cjs +1 -1
- package/locales/it-IT.min.js +1 -1
- package/locales/ja-JP.d.ts +1 -1
- package/locales/ja-JP.esm.min.js +1 -1
- package/locales/ja-JP.min.cjs +1 -1
- package/locales/ja-JP.min.js +1 -1
- package/locales/nb-NO.d.ts +1 -1
- package/locales/nb-NO.esm.min.js +1 -1
- package/locales/nb-NO.min.cjs +1 -1
- package/locales/nb-NO.min.js +1 -1
- package/locales/nl-NL.d.ts +1 -1
- package/locales/nl-NL.esm.min.js +1 -1
- package/locales/nl-NL.min.cjs +1 -1
- package/locales/nl-NL.min.js +1 -1
- package/locales/pl-PL.d.ts +1 -1
- package/locales/pl-PL.esm.min.js +1 -1
- package/locales/pl-PL.min.cjs +1 -1
- package/locales/pl-PL.min.js +1 -1
- package/locales/pt-BR.d.ts +1 -1
- package/locales/pt-BR.esm.min.js +1 -1
- package/locales/pt-BR.min.cjs +1 -1
- package/locales/pt-BR.min.js +1 -1
- package/locales/ro-RO.d.ts +1 -1
- package/locales/ro-RO.esm.min.js +1 -1
- package/locales/ro-RO.min.cjs +1 -1
- package/locales/ro-RO.min.js +1 -1
- package/locales/sv-SE.d.ts +1 -1
- package/locales/sv-SE.esm.min.js +1 -1
- package/locales/sv-SE.min.cjs +1 -1
- package/locales/sv-SE.min.js +1 -1
- package/locales/uk-UA.d.ts +1 -1
- package/locales/uk-UA.esm.min.js +1 -1
- package/locales/uk-UA.min.cjs +1 -1
- package/locales/uk-UA.min.js +1 -1
- package/modules/ai.d.ts +1 -1
- package/modules/ai.esm.min.js +1 -1
- package/modules/ai.min.cjs +1 -1
- package/modules/ai.min.js +1 -1
- package/modules/alarms.d.ts +1 -1
- package/modules/alarms.esm.min.js +1 -1
- package/modules/alarms.min.cjs +1 -1
- package/modules/alarms.min.js +1 -1
- package/modules/angular.d.ts +1 -1
- package/modules/angular.esm.min.js +1 -1
- package/modules/angular.min.cjs +1 -1
- package/modules/angular.min.js +1 -1
- package/modules/calendar.d.ts +1 -1
- package/modules/calendar.esm.min.js +1 -1
- package/modules/calendar.min.cjs +1 -1
- package/modules/calendar.min.js +1 -1
- package/modules/chart-alluvial.d.ts +1 -1
- package/modules/chart-alluvial.esm.min.js +1 -1
- package/modules/chart-alluvial.min.cjs +1 -1
- package/modules/chart-alluvial.min.js +1 -1
- package/modules/chart-arc.d.ts +1 -1
- package/modules/chart-arc.esm.min.js +1 -1
- package/modules/chart-arc.min.cjs +1 -1
- package/modules/chart-arc.min.js +1 -1
- package/modules/chart-barrace.d.ts +1 -1
- package/modules/chart-barrace.esm.min.js +1 -1
- package/modules/chart-barrace.min.cjs +1 -1
- package/modules/chart-barrace.min.js +1 -1
- package/modules/chart-bubblemap.d.ts +1 -1
- package/modules/chart-bubblemap.esm.min.js +1 -1
- package/modules/chart-bubblemap.min.cjs +1 -1
- package/modules/chart-bubblemap.min.js +1 -1
- package/modules/chart-bump.d.ts +1 -1
- package/modules/chart-bump.esm.min.js +1 -1
- package/modules/chart-bump.min.cjs +1 -1
- package/modules/chart-bump.min.js +1 -1
- package/modules/chart-calendar.d.ts +1 -1
- package/modules/chart-calendar.esm.min.js +1 -1
- package/modules/chart-calendar.min.cjs +1 -1
- package/modules/chart-calendar.min.js +1 -1
- package/modules/chart-choropleth.d.ts +1 -1
- package/modules/chart-choropleth.esm.min.js +1 -1
- package/modules/chart-choropleth.min.cjs +1 -1
- package/modules/chart-choropleth.min.js +1 -1
- package/modules/chart-decomposition.d.ts +1 -1
- package/modules/chart-decomposition.esm.min.js +1 -1
- package/modules/chart-decomposition.min.cjs +1 -1
- package/modules/chart-decomposition.min.js +1 -1
- package/modules/chart-diverging.d.ts +1 -1
- package/modules/chart-diverging.esm.min.js +1 -1
- package/modules/chart-diverging.min.cjs +1 -1
- package/modules/chart-diverging.min.js +1 -1
- package/modules/chart-dumbbell.d.ts +1 -1
- package/modules/chart-dumbbell.esm.min.js +1 -1
- package/modules/chart-dumbbell.min.cjs +1 -1
- package/modules/chart-dumbbell.min.js +1 -1
- package/modules/chart-fan.d.ts +1 -1
- package/modules/chart-fan.esm.min.js +1 -1
- package/modules/chart-fan.min.cjs +1 -1
- package/modules/chart-fan.min.js +1 -1
- package/modules/chart-forcetree.d.ts +1 -1
- package/modules/chart-forcetree.esm.min.js +1 -1
- package/modules/chart-forcetree.min.cjs +1 -1
- package/modules/chart-forcetree.min.js +1 -1
- package/modules/chart-hexbin.d.ts +1 -1
- package/modules/chart-hexbin.esm.min.js +1 -1
- package/modules/chart-hexbin.min.cjs +1 -1
- package/modules/chart-hexbin.min.js +1 -1
- package/modules/chart-hexmap.d.ts +1 -1
- package/modules/chart-hexmap.esm.min.js +1 -1
- package/modules/chart-hexmap.min.cjs +1 -1
- package/modules/chart-hexmap.min.js +1 -1
- package/modules/chart-icicle.d.ts +1 -1
- package/modules/chart-icicle.esm.min.js +1 -1
- package/modules/chart-icicle.min.cjs +1 -1
- package/modules/chart-icicle.min.js +1 -1
- package/modules/chart-markermap.d.ts +1 -1
- package/modules/chart-markermap.esm.min.js +1 -1
- package/modules/chart-markermap.min.cjs +1 -1
- package/modules/chart-markermap.min.js +1 -1
- package/modules/chart-motion.d.ts +1 -1
- package/modules/chart-motion.esm.min.js +1 -1
- package/modules/chart-motion.min.cjs +1 -1
- package/modules/chart-motion.min.js +1 -1
- package/modules/chart-pack.d.ts +1 -1
- package/modules/chart-pack.esm.min.js +1 -1
- package/modules/chart-pack.min.cjs +1 -1
- package/modules/chart-pack.min.js +1 -1
- package/modules/chart-parallel.d.ts +1 -1
- package/modules/chart-parallel.esm.min.js +1 -1
- package/modules/chart-parallel.min.cjs +1 -1
- package/modules/chart-parallel.min.js +1 -1
- package/modules/chart-pictorial.d.ts +1 -1
- package/modules/chart-pictorial.esm.min.js +1 -1
- package/modules/chart-pictorial.min.cjs +1 -1
- package/modules/chart-pictorial.min.js +1 -1
- package/modules/chart-polararea.d.ts +1 -1
- package/modules/chart-polararea.esm.min.js +1 -1
- package/modules/chart-polararea.min.cjs +1 -1
- package/modules/chart-polararea.min.js +1 -1
- package/modules/chart-polarscatter.d.ts +1 -1
- package/modules/chart-polarscatter.esm.min.js +1 -1
- package/modules/chart-polarscatter.min.cjs +1 -1
- package/modules/chart-polarscatter.min.js +1 -1
- package/modules/chart-pyramid.d.ts +1 -1
- package/modules/chart-pyramid.esm.min.js +1 -1
- package/modules/chart-pyramid.min.cjs +1 -1
- package/modules/chart-pyramid.min.js +1 -1
- package/modules/chart-radialbar.d.ts +1 -1
- package/modules/chart-radialbar.esm.min.js +1 -1
- package/modules/chart-radialbar.min.cjs +1 -1
- package/modules/chart-radialbar.min.js +1 -1
- package/modules/chart-ridgeline.d.ts +1 -1
- package/modules/chart-ridgeline.esm.min.js +1 -1
- package/modules/chart-ridgeline.min.cjs +1 -1
- package/modules/chart-ridgeline.min.js +1 -1
- package/modules/chart-roc.d.ts +1 -1
- package/modules/chart-roc.esm.min.js +1 -1
- package/modules/chart-roc.min.cjs +1 -1
- package/modules/chart-roc.min.js +1 -1
- package/modules/chart-scatter3d.d.ts +1 -1
- package/modules/chart-scatter3d.esm.min.js +1 -1
- package/modules/chart-scatter3d.min.cjs +1 -1
- package/modules/chart-scatter3d.min.js +1 -1
- package/modules/chart-serpentine.d.ts +1 -1
- package/modules/chart-serpentine.esm.min.js +1 -1
- package/modules/chart-serpentine.min.cjs +1 -1
- package/modules/chart-serpentine.min.js +1 -1
- package/modules/chart-slope.d.ts +1 -1
- package/modules/chart-slope.esm.min.js +1 -1
- package/modules/chart-slope.min.cjs +1 -1
- package/modules/chart-slope.min.js +1 -1
- package/modules/chart-spiral.d.ts +1 -1
- package/modules/chart-spiral.esm.min.js +1 -1
- package/modules/chart-spiral.min.cjs +1 -1
- package/modules/chart-spiral.min.js +1 -1
- package/modules/chart-splom.d.ts +1 -1
- package/modules/chart-splom.esm.min.js +1 -1
- package/modules/chart-splom.min.cjs +1 -1
- package/modules/chart-splom.min.js +1 -1
- package/modules/chart-tree.d.ts +1 -1
- package/modules/chart-tree.esm.min.js +1 -1
- package/modules/chart-tree.min.cjs +1 -1
- package/modules/chart-tree.min.js +1 -1
- package/modules/chart-venn.d.ts +1 -1
- package/modules/chart-venn.esm.min.js +1 -1
- package/modules/chart-venn.min.cjs +1 -1
- package/modules/chart-venn.min.js +1 -1
- package/modules/chart-voronoi.d.ts +1 -1
- package/modules/chart-voronoi.esm.min.js +1 -1
- package/modules/chart-voronoi.min.cjs +1 -1
- package/modules/chart-voronoi.min.js +1 -1
- package/modules/chart-waffle.d.ts +1 -1
- package/modules/chart-waffle.esm.min.js +1 -1
- package/modules/chart-waffle.min.cjs +1 -1
- package/modules/chart-waffle.min.js +1 -1
- package/modules/chart-wordcloud.d.ts +1 -1
- package/modules/chart-wordcloud.esm.min.js +1 -1
- package/modules/chart-wordcloud.min.cjs +1 -1
- package/modules/chart-wordcloud.min.js +1 -1
- package/modules/charts.d.ts +1 -1
- package/modules/charts.esm.min.js +1 -1
- package/modules/charts.min.cjs +1 -1
- package/modules/charts.min.js +1 -1
- package/modules/dashboard.d.ts +1 -1
- package/modules/dashboard.esm.min.js +1 -1
- package/modules/dashboard.min.cjs +1 -1
- package/modules/dashboard.min.js +1 -1
- package/modules/data-router.d.ts +1 -1
- package/modules/data-router.esm.min.js +1 -1
- package/modules/data-router.min.cjs +1 -1
- package/modules/data-router.min.js +1 -1
- package/modules/deckgl.d.ts +1 -1
- package/modules/deckgl.esm.min.js +1 -1
- package/modules/deckgl.min.cjs +1 -1
- package/modules/deckgl.min.js +1 -1
- package/modules/designer.d.ts +1 -1
- package/modules/designer.esm.min.js +1 -1
- package/modules/designer.min.cjs +1 -1
- package/modules/designer.min.js +1 -1
- package/modules/devtools.d.ts +1 -1
- package/modules/devtools.esm.min.js +1 -1
- package/modules/devtools.min.cjs +1 -1
- package/modules/devtools.min.js +1 -1
- package/modules/dhtmlx-compat.d.ts +1 -1
- package/modules/dhtmlx-compat.esm.min.js +1 -1
- package/modules/dhtmlx-compat.min.cjs +1 -1
- package/modules/dhtmlx-compat.min.js +1 -1
- package/modules/form.d.ts +2 -2
- package/modules/form.esm.min.js +252 -222
- package/modules/form.esm.min.js.map +2 -2
- package/modules/form.min.cjs +252 -222
- package/modules/form.min.js +252 -222
- package/modules/form.min.js.map +2 -2
- package/modules/gantt.d.ts +1 -1
- package/modules/gantt.esm.min.js +1 -1
- package/modules/gantt.min.cjs +1 -1
- package/modules/gantt.min.js +1 -1
- package/modules/geo-europe-nuts.d.ts +1 -1
- package/modules/geo-europe-nuts.esm.min.js +1 -1
- package/modules/geo-europe-nuts.min.cjs +1 -1
- package/modules/geo-europe-nuts.min.js +1 -1
- package/modules/geo-uk.d.ts +1 -1
- package/modules/geo-uk.esm.min.js +1 -1
- package/modules/geo-uk.min.cjs +1 -1
- package/modules/geo-uk.min.js +1 -1
- package/modules/geo-us-states.d.ts +1 -1
- package/modules/geo-us-states.esm.min.js +1 -1
- package/modules/geo-us-states.min.cjs +1 -1
- package/modules/geo-us-states.min.js +1 -1
- package/modules/geo-world-110m.d.ts +1 -1
- package/modules/geo-world-110m.esm.min.js +1 -1
- package/modules/geo-world-110m.min.cjs +1 -1
- package/modules/geo-world-110m.min.js +1 -1
- package/modules/geo-world-50m.d.ts +1 -1
- package/modules/geo-world-50m.esm.min.js +1 -1
- package/modules/geo-world-50m.min.cjs +1 -1
- package/modules/geo-world-50m.min.js +1 -1
- package/modules/geometry.d.ts +1 -1
- package/modules/geometry.esm.min.js +1 -1
- package/modules/geometry.min.cjs +1 -1
- package/modules/geometry.min.js +1 -1
- package/modules/htmx.d.ts +1 -1
- package/modules/htmx.esm.min.js +2 -2
- package/modules/htmx.min.cjs +2 -2
- package/modules/htmx.min.js +2 -2
- package/modules/kanban.d.ts +1 -1
- package/modules/kanban.esm.min.js +1 -1
- package/modules/kanban.min.cjs +1 -1
- package/modules/kanban.min.js +1 -1
- package/modules/kpi.d.ts +1 -1
- package/modules/kpi.esm.min.js +1 -1
- package/modules/kpi.min.cjs +1 -1
- package/modules/kpi.min.js +1 -1
- package/modules/layout.d.ts +1 -1
- package/modules/layout.esm.min.js +1 -1
- package/modules/layout.min.cjs +1 -1
- package/modules/layout.min.js +1 -1
- package/modules/leaflet.d.ts +1 -1
- package/modules/leaflet.esm.min.js +1 -1
- package/modules/leaflet.min.cjs +1 -1
- package/modules/leaflet.min.js +1 -1
- package/modules/list.d.ts +1 -1
- package/modules/list.esm.min.js +1 -1
- package/modules/list.min.cjs +1 -1
- package/modules/list.min.js +1 -1
- package/modules/mapview.d.ts +1 -1
- package/modules/mapview.esm.min.js +1 -1
- package/modules/mapview.min.cjs +1 -1
- package/modules/mapview.min.js +1 -1
- package/modules/mock-socket.d.ts +1 -1
- package/modules/mock-socket.esm.min.js +1 -1
- package/modules/mock-socket.min.cjs +1 -1
- package/modules/mock-socket.min.js +1 -1
- package/modules/presets.d.ts +1 -1
- package/modules/presets.esm.min.js +1 -1
- package/modules/presets.min.cjs +1 -1
- package/modules/presets.min.js +1 -1
- package/modules/react.d.ts +1 -1
- package/modules/react.esm.min.js +1 -1
- package/modules/react.min.cjs +1 -1
- package/modules/react.min.js +1 -1
- package/modules/scheduler.d.ts +1 -1
- package/modules/scheduler.esm.min.js +1 -1
- package/modules/scheduler.min.cjs +1 -1
- package/modules/scheduler.min.js +1 -1
- package/modules/shell.d.ts +1 -1
- package/modules/shell.esm.min.js +1 -1
- package/modules/shell.min.cjs +1 -1
- package/modules/shell.min.js +1 -1
- package/modules/svelte.d.ts +1 -1
- package/modules/svelte.esm.min.js +1 -1
- package/modules/svelte.min.cjs +1 -1
- package/modules/svelte.min.js +1 -1
- package/modules/tabs.d.ts +1 -1
- package/modules/tabs.esm.min.js +1 -1
- package/modules/tabs.min.cjs +1 -1
- package/modules/tabs.min.js +1 -1
- package/modules/vue.d.ts +1 -1
- package/modules/vue.esm.min.js +1 -1
- package/modules/vue.min.cjs +1 -1
- package/modules/vue.min.js +1 -1
- package/modules/webcomponent.d.ts +1 -1
- package/modules/webcomponent.esm.min.js +2 -2
- package/modules/webcomponent.min.cjs +2 -2
- package/modules/webcomponent.min.js +2 -2
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -9,6 +9,26 @@ and what it means for a grid already in production.
|
|
|
9
9
|
|
|
10
10
|
## [Unreleased]
|
|
11
11
|
|
|
12
|
+
## [1.103.2] - 2026-10-15
|
|
13
|
+
|
|
14
|
+
### Fixed
|
|
15
|
+
|
|
16
|
+
- A clearable form select's clear control covered the selected value: the clear button's single-class rule lost to the whole-control button rule and stretched to the field's width and row height. It is now a two-class rule, the shown value reserves its slot so a long value ellipsises before it, and it hides on a read-only select, keeping it a control-size square beside the arrow (BACKLOG-0002425).
|
|
17
|
+
|
|
18
|
+
- A plain button (or input, select, link, image or table) a host put in an `html` item or a content container took the form's field sizing and font: the field's whole-control and state rules styled it by tag, and the form's font inherited into it. Those rules now target only the form's own control classes, and the container resets the form's inherited font and colour, so host markup keeps the same computed width, height, font, colours and borders it has outside the form (BACKLOG-0002426).
|
|
19
|
+
|
|
20
|
+
- **A single-select combo's drop-down arrow wrapped onto a second line below the input in a narrow field** (BACKLOG-0002427). The input now shrinks instead of keeping an 80px minimum, so the toggle and the clear control keep their size on the input's line and the field stays one row tall at any width down to 120px at every density.
|
|
21
|
+
|
|
22
|
+
- A multi combo's open list stayed in place when a chip was added or removed, growing or shrinking the control, so the list overlapped the input and a click meant for the field toggled an option instead; `select` and the date picker had the same gap whenever their own anchor resized. The shared popup layer now watches the anchor with a `ResizeObserver` and repositions the open list every time its box changes, in the same frame (BACKLOG-0002428).
|
|
23
|
+
|
|
24
|
+
- A `date-time` or `time` form `datepicker`'s typed text was not always committed before a click handler outside the form read the value: an outside pointerdown reached the picker's own focus-leaving commit before the input's native `change` did, and that commit read the popup's clock boxes (or, in `date-time`, its day/time draft) instead of the still-unparsed typed text. Typed text in both modes now parses and commits on that focus-leaving pointerdown itself, before any outside click handler runs — the same guarantee `date` mode already had — with one `change`; text that fails to parse restores the previous value with no `change` (BACKLOG-0002429).
|
|
25
|
+
|
|
26
|
+
- A sorted narrow grid column kept its hover-only header controls (menu, filter) drawn over the title after the pointer left: clicking the header to sort it focuses the cell, and the stylesheet revealed the controls on `:focus-within`. They now show only on hover or visible keyboard focus (`:focus-visible`), the sort indicator keeps a reserved slot at the end of the header, and the title's box (margin, not padding) ends before every control so it ellipsises instead of running underneath (BACKLOG-0002430).
|
|
27
|
+
|
|
28
|
+
- A form `datepicker` in any mode had no way to empty an optional date, and clearing its text restored the previous value instead of committing `null`. Emptied text now commits `null` with one `change` on blur, Tab or Enter, and `clearable: true` adds a clear control inside the field — shown only while a value is held and not read only — that empties the value the same way and returns focus to the input; unparseable text still restores the previous value with no `change` (BACKLOG-0002431).
|
|
29
|
+
|
|
30
|
+
- A number field with a `min`, `max` or `step` silently reverted a value typed outside the bound and showed no validation message. The value now stays as typed and commits, the field is marked invalid, and the message names the limit, so a wrong value is reported rather than silently undone (BACKLOG-0002432).
|
|
31
|
+
|
|
12
32
|
## [1.103.1] - 2026-10-15
|
|
13
33
|
|
|
14
34
|
### Fixed
|
package/README.md
CHANGED
|
@@ -7,7 +7,7 @@ tiles and map views, all reading the same rows, filters and theme. Vanilla
|
|
|
7
7
|
JavaScript, no runtime dependencies, no build step; adapters for React, Vue,
|
|
8
8
|
Svelte, Web Components and htmx, Angular compiled inside the package.
|
|
9
9
|
|
|
10
|
-
Version 1.103.
|
|
10
|
+
Version 1.103.2 · [latticegrid.dev](https://www.latticegrid.dev) · TOCLOCO Inc
|
|
11
11
|
|
|
12
12
|
---
|
|
13
13
|
|
package/angular/package.json
CHANGED
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.103.
|
|
385
|
+
<p class="rail__sub">API reference · v1.103.2</p>
|
|
386
386
|
<nav>
|
|
387
387
|
<div class="rail__group">
|
|
388
388
|
<span class="rail__label">Start</span>
|
|
@@ -584,7 +584,7 @@
|
|
|
584
584
|
</header>
|
|
585
585
|
|
|
586
586
|
<p class="chips">
|
|
587
|
-
<span class="chip">Version 1.103.
|
|
587
|
+
<span class="chip">Version 1.103.2</span>
|
|
588
588
|
<span class="chip">Zero dependencies</span>
|
|
589
589
|
<span class="chip"><a href="api-detail.html">Developer guide →</a></span>
|
|
590
590
|
</p>
|
|
@@ -3506,7 +3506,7 @@ grid.destroy();
|
|
|
3506
3506
|
<table>
|
|
3507
3507
|
<thead><tr><th>Member</th><th>Returns</th><th>Description</th></tr></thead>
|
|
3508
3508
|
<tbody>
|
|
3509
|
-
<tr><td class="sig">getVersion()</td><td class="type">string</td><td class="desc">The version this grid came from, e.g. <code>'1.103.
|
|
3509
|
+
<tr><td class="sig">getVersion()</td><td class="type">string</td><td class="desc">The version this grid came from, e.g. <code>'1.103.2'</code>. Also on the module as <code>getVersion()</code>, for when you have no grid to hand.</td></tr>
|
|
3510
3510
|
<tr><td class="sig">get(key)</td><td class="type">unknown</td><td class="desc">Read any configuration key.</td></tr>
|
|
3511
3511
|
<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>
|
|
3512
3512
|
<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>
|
|
@@ -17180,7 +17180,7 @@ built[0].setValue({ email: 'changed@x.y' }); <span class="cmt">// a lat
|
|
|
17180
17180
|
HTML string, sanitised before insertion). Values supplied in <code>options</code> keep their own type through
|
|
17181
17181
|
<code>getValue()</code> and the <code>change</code> payload — choosing <code>{ value: 1 }</code> commits the
|
|
17182
17182
|
number <code>1</code>, not the string <code>'1'</code> (BACKLOG-0002293).</p>
|
|
17183
|
-
<pre data-run="js" data-expect="m|green|tow|true|2026-06-15|2026-06-15T09:30|07:45|l|red|roof,tow|false|4|2026-06-01|2026-06-01|2026-07-04|23:59|true|l" data-covers="export:createForm method:form.getItem method:form.getValue method:form.setValue method:form.on method:form.destroy config:FormItemConfig.type config:FormItemConfig.options config:FormItemConfig.mode config:FormItemConfig.locale config:FormItemConfig.timeZone config:FormItemConfig.min config:FormItemConfig.max config:FormItemConfig.value config:FormItemConfig.native"><code>const { createTestDom, TestEvent } = await import('../packages/dom/src/renderer/testdom.js');
|
|
17183
|
+
<pre data-run="js" data-expect="m|green|tow|true|2026-06-15|2026-06-15T09:30|07:45|l|red|roof,tow|false|4|2026-06-01|2026-06-01|2026-07-04|23:59|true|l|true" data-covers="export:createForm method:form.getItem method:form.getValue method:form.setValue method:form.on method:form.destroy config:FormItemConfig.type config:FormItemConfig.options config:FormItemConfig.mode config:FormItemConfig.locale config:FormItemConfig.timeZone config:FormItemConfig.min config:FormItemConfig.max config:FormItemConfig.value config:FormItemConfig.native config:FormItemConfig.clearable"><code>const { createTestDom, TestEvent } = await import('../packages/dom/src/renderer/testdom.js');
|
|
17184
17184
|
const { createForm } = await import('../packages/modules/form/index.js');
|
|
17185
17185
|
|
|
17186
17186
|
const { root } = createTestDom();
|
|
@@ -17191,7 +17191,7 @@ const form = createForm(root, {
|
|
|
17191
17191
|
{ type: 'radiogroup', name: 'colour', label: 'Colour', options: ['red', 'green'], value: 'green' },
|
|
17192
17192
|
{ type: 'checkboxgroup', name: 'extras', label: 'Extras', options: [{ value: 'roof', label: 'Roof' }, { value: 'tow', label: 'Tow bar' }], value: ['tow'] },
|
|
17193
17193
|
{ type: 'toggle', name: 'auto', label: 'Automatic', value: true },
|
|
17194
|
-
{ type: 'datepicker', name: 'day', label: 'Day', locale: 'en-GB', min: '2026-01-01', max: '2026-12-31', value: '2026-06-15' },
|
|
17194
|
+
{ type: 'datepicker', name: 'day', label: 'Day', locale: 'en-GB', min: '2026-01-01', max: '2026-12-31', value: '2026-06-15', clearable: true },
|
|
17195
17195
|
{ type: 'datepicker', name: 'slot', label: 'Slot', mode: 'date-time', timeZone: 'UTC', value: new Date('2026-06-15T09:30:00Z') },
|
|
17196
17196
|
{ type: 'datepicker', name: 'clock', label: 'Clock', mode: 'time', value: '07:45' },
|
|
17197
17197
|
],
|
|
@@ -17234,6 +17234,10 @@ dayInput.value = '2026-07-04';
|
|
|
17234
17234
|
dayInput.dispatchEvent(new TestEvent('change', { bubbles: true }));
|
|
17235
17235
|
const accepted = form.getValue().day;
|
|
17236
17236
|
|
|
17237
|
+
const dayClear = form.getItem('day').el.querySelector('.lat-form__datepicker-clear');
|
|
17238
|
+
dayClear.dispatchEvent(new TestEvent('click', { bubbles: true }));
|
|
17239
|
+
const cleared = form.getValue().day === null;
|
|
17240
|
+
|
|
17237
17241
|
form.getItem('clock').setValue('23:59');
|
|
17238
17242
|
const clock = form.getItem('clock').getValue();
|
|
17239
17243
|
|
|
@@ -17245,7 +17249,7 @@ const nativeValue = form.getValue().nativeSize;
|
|
|
17245
17249
|
const native = [nativeRendered, nativeValue].join('|');
|
|
17246
17250
|
|
|
17247
17251
|
form.destroy();
|
|
17248
|
-
return [started, committed, clicked, refused, accepted, clock, native].join('|');</code></pre>
|
|
17252
|
+
return [started, committed, clicked, refused, accepted, clock, native, cleared].join('|');</code></pre>
|
|
17249
17253
|
|
|
17250
17254
|
<h3 id="form-daterange-example">A date range picker, executed</h3>
|
|
17251
17255
|
<p class="section-note">A <code>daterange</code> item stores <code>{ start, end }</code> ISO dates (or
|
|
@@ -32895,7 +32899,7 @@ return `next ${p.mean.toFixed(1)}; r2 ${f.r2.toFixed(1)}; band ${p.upper - p.low
|
|
|
32895
32899
|
<tr><td class="name">customColors</td><td class="type">string[]</td><td class="desc">A `color` item's custom-colours row to start with — extended, newest first and deduplicated to at most ten, by every colour picked in the picker view (BACKLOG-0002252). <small>(optional)</small></td></tr>
|
|
32896
32900
|
<tr><td class="name">pickerOnly</td><td class="type">boolean</td><td class="desc">Remove a `color` item's palette view, leaving only the picker (BACKLOG-0002252). <small>(optional)</small></td></tr>
|
|
32897
32901
|
<tr><td class="name">editable</td><td class="type">boolean</td><td class="desc">Let a `color` item's text part be typed into (default true); `false` makes it read-only, so only the popover sets the value (BACKLOG-0002252) — or a `time` item's field text (default false there, the popup sets it; `true` accepts typed `HH:MM`/`hh:MM AM`, committed on blur or Enter) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
|
32898
|
-
<tr><td class="name">clearable</td><td class="type">boolean</td><td class="desc">Show a clear control: on a `color` item it sets the value to `null` (BACKLOG-0002252); on a `daterange` item a null/null pair (BACKLOG-0002255); on a single-select `combo` it empties the value to `null`, and on a `select` item to its empty value `''`, with one `change` (BACKLOG-0002393). An optional single-select combo is also emptied when its text is cleared and Enter is pressed or focus leaves. <small>(optional)</small></td></tr>
|
|
32902
|
+
<tr><td class="name">clearable</td><td class="type">boolean</td><td class="desc">Show a clear control: on a `color` item it sets the value to `null` (BACKLOG-0002252); on a `daterange` item a null/null pair (BACKLOG-0002255); on a single-select `combo` it empties the value to `null`, and on a `select` item to its empty value `''`, with one `change` (BACKLOG-0002393); on a `datepicker` item it empties the value to `null`, shown only while a value is held and not read only (BACKLOG-0002431). An optional single-select combo is also emptied when its text is cleared and Enter is pressed or focus leaves. <small>(optional)</small></td></tr>
|
|
32899
32903
|
<tr><td class="name">timeFormat</td><td class="type">12 | 24</td><td class="desc">The clock format of a `time` item: `24` (default, `HH:MM`) or `12` (`hh:MM` with an AM/PM segment in the popup and display) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
|
32900
32904
|
<tr><td class="name">valueFormat</td><td class="type">'string' | 'object'</td><td class="desc">How a `time` item stores its value: `'string'` (default, `'HH:MM'` or `'hh:MM AM'` in 12-hour) or `'object'` (`{ hour, minute, AM? }`) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
|
32901
32905
|
<tr><td class="name">controls</td><td class="type">boolean</td><td class="desc">Add Close and Save buttons to a `time` item's popup so nothing commits until Save and Close discards (default false: the popup commits as the clock changes) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
|
@@ -39241,7 +39245,7 @@ return `next ${p.mean.toFixed(1)}; r2 ${f.r2.toFixed(1)}; band ${p.upper - p.low
|
|
|
39241
39245
|
<!-- END GENERATED TYPE REFERENCE -->
|
|
39242
39246
|
|
|
39243
39247
|
<footer>
|
|
39244
|
-
Lattice Grid 1.103.
|
|
39248
|
+
Lattice Grid 1.103.2 · Copyright © 2026 TOCLOCO Inc. All rights reserved.
|
|
39245
39249
|
This document describes the behaviour of the shipped library. Where this guide and the code
|
|
39246
39250
|
disagree, the code wins: please <a href="https://www.latticegrid.dev">tell us</a>.
|
|
39247
39251
|
</footer>
|
package/docs/api/adapters.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>Adapters API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Adapters API Reference — Lattice Grid 1.103.2</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.103.
|
|
16
|
+
<title>AI API Reference — Lattice Grid 1.103.2</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/alarms.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>Alarms API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Alarms API Reference — Lattice Grid 1.103.2</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/calendar.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>Calendar API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Calendar API Reference — Lattice Grid 1.103.2</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/charts.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>Charts API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Charts API Reference — Lattice Grid 1.103.2</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/dashboard.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>Dashboard API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Dashboard API Reference — Lattice Grid 1.103.2</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.103.
|
|
16
|
+
<title>Data router API Reference — Lattice Grid 1.103.2</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/deckgl.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>deck.gl API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>deck.gl API Reference — Lattice Grid 1.103.2</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/designer.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>Designer API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Designer API Reference — Lattice Grid 1.103.2</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/form.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>Form API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Form API Reference — Lattice Grid 1.103.2</title>
|
|
17
17
|
<style>
|
|
18
18
|
/* ---------------------------------------------------------------
|
|
19
19
|
Palette lifted from the grid's own theme, so the reference reads as an
|
|
@@ -1645,7 +1645,7 @@ built[0].setValue({ email: 'changed@x.y' }); <span class="cmt">// a lat
|
|
|
1645
1645
|
HTML string, sanitised before insertion). Values supplied in <code>options</code> keep their own type through
|
|
1646
1646
|
<code>getValue()</code> and the <code>change</code> payload — choosing <code>{ value: 1 }</code> commits the
|
|
1647
1647
|
number <code>1</code>, not the string <code>'1'</code> (BACKLOG-0002293).</p>
|
|
1648
|
-
<pre data-run="js" data-expect="m|green|tow|true|2026-06-15|2026-06-15T09:30|07:45|l|red|roof,tow|false|4|2026-06-01|2026-06-01|2026-07-04|23:59|true|l" data-covers="export:createForm method:form.getItem method:form.getValue method:form.setValue method:form.on method:form.destroy config:FormItemConfig.type config:FormItemConfig.options config:FormItemConfig.mode config:FormItemConfig.locale config:FormItemConfig.timeZone config:FormItemConfig.min config:FormItemConfig.max config:FormItemConfig.value config:FormItemConfig.native"><code>const { createTestDom, TestEvent } = await import('../packages/dom/src/renderer/testdom.js');
|
|
1648
|
+
<pre data-run="js" data-expect="m|green|tow|true|2026-06-15|2026-06-15T09:30|07:45|l|red|roof,tow|false|4|2026-06-01|2026-06-01|2026-07-04|23:59|true|l|true" data-covers="export:createForm method:form.getItem method:form.getValue method:form.setValue method:form.on method:form.destroy config:FormItemConfig.type config:FormItemConfig.options config:FormItemConfig.mode config:FormItemConfig.locale config:FormItemConfig.timeZone config:FormItemConfig.min config:FormItemConfig.max config:FormItemConfig.value config:FormItemConfig.native config:FormItemConfig.clearable"><code>const { createTestDom, TestEvent } = await import('../packages/dom/src/renderer/testdom.js');
|
|
1649
1649
|
const { createForm } = await import('../packages/modules/form/index.js');
|
|
1650
1650
|
|
|
1651
1651
|
const { root } = createTestDom();
|
|
@@ -1656,7 +1656,7 @@ const form = createForm(root, {
|
|
|
1656
1656
|
{ type: 'radiogroup', name: 'colour', label: 'Colour', options: ['red', 'green'], value: 'green' },
|
|
1657
1657
|
{ type: 'checkboxgroup', name: 'extras', label: 'Extras', options: [{ value: 'roof', label: 'Roof' }, { value: 'tow', label: 'Tow bar' }], value: ['tow'] },
|
|
1658
1658
|
{ type: 'toggle', name: 'auto', label: 'Automatic', value: true },
|
|
1659
|
-
{ type: 'datepicker', name: 'day', label: 'Day', locale: 'en-GB', min: '2026-01-01', max: '2026-12-31', value: '2026-06-15' },
|
|
1659
|
+
{ type: 'datepicker', name: 'day', label: 'Day', locale: 'en-GB', min: '2026-01-01', max: '2026-12-31', value: '2026-06-15', clearable: true },
|
|
1660
1660
|
{ type: 'datepicker', name: 'slot', label: 'Slot', mode: 'date-time', timeZone: 'UTC', value: new Date('2026-06-15T09:30:00Z') },
|
|
1661
1661
|
{ type: 'datepicker', name: 'clock', label: 'Clock', mode: 'time', value: '07:45' },
|
|
1662
1662
|
],
|
|
@@ -1699,6 +1699,10 @@ dayInput.value = '2026-07-04';
|
|
|
1699
1699
|
dayInput.dispatchEvent(new TestEvent('change', { bubbles: true }));
|
|
1700
1700
|
const accepted = form.getValue().day;
|
|
1701
1701
|
|
|
1702
|
+
const dayClear = form.getItem('day').el.querySelector('.lat-form__datepicker-clear');
|
|
1703
|
+
dayClear.dispatchEvent(new TestEvent('click', { bubbles: true }));
|
|
1704
|
+
const cleared = form.getValue().day === null;
|
|
1705
|
+
|
|
1702
1706
|
form.getItem('clock').setValue('23:59');
|
|
1703
1707
|
const clock = form.getItem('clock').getValue();
|
|
1704
1708
|
|
|
@@ -1710,7 +1714,7 @@ const nativeValue = form.getValue().nativeSize;
|
|
|
1710
1714
|
const native = [nativeRendered, nativeValue].join('|');
|
|
1711
1715
|
|
|
1712
1716
|
form.destroy();
|
|
1713
|
-
return [started, committed, clicked, refused, accepted, clock, native].join('|');</code></pre>
|
|
1717
|
+
return [started, committed, clicked, refused, accepted, clock, native, cleared].join('|');</code></pre>
|
|
1714
1718
|
|
|
1715
1719
|
<h3 id="form-daterange-example">A date range picker, executed</h3>
|
|
1716
1720
|
<p class="section-note">A <code>daterange</code> item stores <code>{ start, end }</code> ISO dates (or
|
|
@@ -2832,7 +2836,7 @@ shell.destroy();
|
|
|
2832
2836
|
<tr><td class="name">customColors</td><td class="type">string[]</td><td class="desc">A `color` item's custom-colours row to start with — extended, newest first and deduplicated to at most ten, by every colour picked in the picker view (BACKLOG-0002252). <small>(optional)</small></td></tr>
|
|
2833
2837
|
<tr><td class="name">pickerOnly</td><td class="type">boolean</td><td class="desc">Remove a `color` item's palette view, leaving only the picker (BACKLOG-0002252). <small>(optional)</small></td></tr>
|
|
2834
2838
|
<tr><td class="name">editable</td><td class="type">boolean</td><td class="desc">Let a `color` item's text part be typed into (default true); `false` makes it read-only, so only the popover sets the value (BACKLOG-0002252) — or a `time` item's field text (default false there, the popup sets it; `true` accepts typed `HH:MM`/`hh:MM AM`, committed on blur or Enter) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
|
2835
|
-
<tr><td class="name">clearable</td><td class="type">boolean</td><td class="desc">Show a clear control: on a `color` item it sets the value to `null` (BACKLOG-0002252); on a `daterange` item a null/null pair (BACKLOG-0002255); on a single-select `combo` it empties the value to `null`, and on a `select` item to its empty value `''`, with one `change` (BACKLOG-0002393). An optional single-select combo is also emptied when its text is cleared and Enter is pressed or focus leaves. <small>(optional)</small></td></tr>
|
|
2839
|
+
<tr><td class="name">clearable</td><td class="type">boolean</td><td class="desc">Show a clear control: on a `color` item it sets the value to `null` (BACKLOG-0002252); on a `daterange` item a null/null pair (BACKLOG-0002255); on a single-select `combo` it empties the value to `null`, and on a `select` item to its empty value `''`, with one `change` (BACKLOG-0002393); on a `datepicker` item it empties the value to `null`, shown only while a value is held and not read only (BACKLOG-0002431). An optional single-select combo is also emptied when its text is cleared and Enter is pressed or focus leaves. <small>(optional)</small></td></tr>
|
|
2836
2840
|
<tr><td class="name">timeFormat</td><td class="type">12 | 24</td><td class="desc">The clock format of a `time` item: `24` (default, `HH:MM`) or `12` (`hh:MM` with an AM/PM segment in the popup and display) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
|
2837
2841
|
<tr><td class="name">valueFormat</td><td class="type">'string' | 'object'</td><td class="desc">How a `time` item stores its value: `'string'` (default, `'HH:MM'` or `'hh:MM AM'` in 12-hour) or `'object'` (`{ hour, minute, AM? }`) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
|
2838
2842
|
<tr><td class="name">controls</td><td class="type">boolean</td><td class="desc">Add Close and Save buttons to a `time` item's popup so nothing commits until Save and Close discards (default false: the popup commits as the clock changes) (BACKLOG-0002343). <small>(optional)</small></td></tr>
|
package/docs/api/gantt.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>Gantt API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Gantt API Reference — Lattice Grid 1.103.2</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/geometry.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>Geometry API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Geometry API Reference — Lattice Grid 1.103.2</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/grid.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>Grid API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Grid API Reference — Lattice Grid 1.103.2</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.103.
|
|
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.103.2'</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>
|
package/docs/api/index.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>API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>API Reference — Lattice Grid 1.103.2</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/kanban.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>Kanban API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Kanban API Reference — Lattice Grid 1.103.2</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.103.
|
|
16
|
+
<title>KPI API Reference — Lattice Grid 1.103.2</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/layout.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>Layout API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Layout API Reference — Lattice Grid 1.103.2</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/leaflet.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>Leaflet API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Leaflet API Reference — Lattice Grid 1.103.2</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/list.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>List API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>List API Reference — Lattice Grid 1.103.2</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/mapview.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>Map view API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Map view API Reference — Lattice Grid 1.103.2</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.103.
|
|
16
|
+
<title>Mock socket API Reference — Lattice Grid 1.103.2</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/presets.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>Presets API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Presets API Reference — Lattice Grid 1.103.2</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/scheduler.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>Scheduler API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Scheduler API Reference — Lattice Grid 1.103.2</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/shell.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>Shell API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Shell API Reference — Lattice Grid 1.103.2</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/tabs.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>Tabs API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Tabs API Reference — Lattice Grid 1.103.2</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/types.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>Types API Reference — Lattice Grid 1.103.
|
|
16
|
+
<title>Types API Reference — Lattice Grid 1.103.2</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-detail.html
CHANGED
|
@@ -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.103.
|
|
440
|
+
<p class="rail__sub">Developer guide · v1.103.2</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.103.
|
|
557
|
+
<span class="chip">Version 1.103.2</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.103.
|
|
1889
|
+
<pre><code>grid.getVersion(); <span class="cmt">// '1.103.2'</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">
|
|
@@ -13440,7 +13440,7 @@ grid.licence.state(); <span class="cmt">// 'licensed' | 'localhost' | 'trial'<
|
|
|
13440
13440
|
|
|
13441
13441
|
<footer>
|
|
13442
13442
|
<p>
|
|
13443
|
-
Lattice Grid 1.103.
|
|
13443
|
+
Lattice Grid 1.103.2 · Copyright © 2026 TOCLOCO Inc. All rights reserved.
|
|
13444
13444
|
Written against the shipped source. Where this guide and the code disagree, the code wins,
|
|
13445
13445
|
please <a href="https://www.latticegrid.dev">tell us</a>.
|
|
13446
13446
|
</p>
|
package/docs/warnings.json
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "1.103.
|
|
2
|
+
"version": "1.103.2",
|
|
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