@toclocoinc/lattice-grid 1.86.4 → 1.86.5
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 +10 -0
- package/README.md +1 -1
- package/angular/package.json +1 -1
- package/docs/API.html +4 -4
- 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/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/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 +3 -3
- package/lattice-grid.min.cjs +3 -3
- package/lattice-grid.min.css +1 -1
- package/lattice-grid.min.js +3 -3
- package/modules/ai.d.ts +1 -1
- package/modules/ai.esm.min.js +2 -2
- package/modules/ai.min.cjs +2 -2
- package/modules/ai.min.js +2 -2
- package/modules/alarms.d.ts +1 -1
- package/modules/alarms.esm.min.js +2 -2
- package/modules/alarms.min.cjs +2 -2
- package/modules/alarms.min.js +2 -2
- package/modules/angular.d.ts +1 -1
- package/modules/angular.esm.min.js +2 -2
- package/modules/angular.min.cjs +2 -2
- package/modules/angular.min.js +2 -2
- package/modules/calendar.d.ts +1 -1
- package/modules/calendar.esm.min.js +2 -2
- package/modules/calendar.min.cjs +2 -2
- package/modules/calendar.min.js +2 -2
- 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 +2 -2
- package/modules/chart-forcetree.esm.min.js.map +2 -2
- package/modules/chart-forcetree.min.cjs +2 -2
- package/modules/chart-forcetree.min.js +2 -2
- package/modules/chart-forcetree.min.js.map +2 -2
- package/modules/chart-hexbin.d.ts +1 -1
- package/modules/chart-hexbin.esm.min.js +2 -2
- package/modules/chart-hexbin.esm.min.js.map +1 -1
- package/modules/chart-hexbin.min.cjs +2 -2
- package/modules/chart-hexbin.min.js +2 -2
- package/modules/chart-hexbin.min.js.map +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-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 +2 -2
- package/modules/chart-tree.esm.min.js.map +2 -2
- package/modules/chart-tree.min.cjs +2 -2
- package/modules/chart-tree.min.js +2 -2
- package/modules/chart-tree.min.js.map +2 -2
- 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 +235 -235
- package/modules/charts.esm.min.js.map +2 -2
- package/modules/charts.min.cjs +235 -235
- package/modules/charts.min.js +235 -235
- package/modules/charts.min.js.map +2 -2
- package/modules/dashboard.d.ts +1 -1
- package/modules/dashboard.esm.min.js +2 -2
- package/modules/dashboard.min.cjs +2 -2
- package/modules/dashboard.min.js +2 -2
- package/modules/data-router.d.ts +1 -1
- package/modules/data-router.esm.min.js +2 -2
- package/modules/data-router.min.cjs +2 -2
- package/modules/data-router.min.js +2 -2
- package/modules/deckgl.d.ts +1 -1
- package/modules/deckgl.esm.min.js +2 -2
- package/modules/deckgl.min.cjs +2 -2
- package/modules/deckgl.min.js +2 -2
- 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 +2 -2
- package/modules/dhtmlx-compat.min.cjs +2 -2
- package/modules/dhtmlx-compat.min.js +2 -2
- package/modules/gantt.d.ts +1 -1
- package/modules/gantt.esm.min.js +2 -2
- package/modules/gantt.min.cjs +2 -2
- package/modules/gantt.min.js +2 -2
- 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 +2 -2
- package/modules/geometry.min.cjs +2 -2
- package/modules/geometry.min.js +2 -2
- package/modules/htmx.d.ts +1 -1
- package/modules/htmx.esm.min.js +3 -3
- package/modules/htmx.min.cjs +3 -3
- package/modules/htmx.min.js +3 -3
- package/modules/kanban.d.ts +1 -1
- package/modules/kanban.esm.min.js +2 -2
- package/modules/kanban.min.cjs +2 -2
- package/modules/kanban.min.js +2 -2
- package/modules/kpi.d.ts +1 -1
- package/modules/kpi.esm.min.js +2 -2
- package/modules/kpi.min.cjs +2 -2
- package/modules/kpi.min.js +2 -2
- package/modules/layout.d.ts +1 -1
- package/modules/layout.esm.min.js +2 -2
- package/modules/layout.min.cjs +2 -2
- package/modules/layout.min.js +2 -2
- package/modules/leaflet.d.ts +1 -1
- package/modules/leaflet.esm.min.js +2 -2
- package/modules/leaflet.min.cjs +2 -2
- package/modules/leaflet.min.js +2 -2
- package/modules/list.d.ts +1 -1
- package/modules/list.esm.min.js +2 -2
- package/modules/list.min.cjs +2 -2
- package/modules/list.min.js +2 -2
- package/modules/mapview.d.ts +1 -1
- package/modules/mapview.esm.min.js +2 -2
- package/modules/mapview.min.cjs +2 -2
- package/modules/mapview.min.js +2 -2
- 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 +2 -2
- package/modules/presets.min.cjs +2 -2
- package/modules/presets.min.js +2 -2
- package/modules/react.d.ts +1 -1
- package/modules/react.esm.min.js +2 -2
- package/modules/react.min.cjs +2 -2
- package/modules/react.min.js +2 -2
- package/modules/svelte.d.ts +1 -1
- package/modules/svelte.esm.min.js +2 -2
- package/modules/svelte.min.cjs +2 -2
- package/modules/svelte.min.js +2 -2
- package/modules/tabs.d.ts +1 -1
- package/modules/tabs.esm.min.js +2 -2
- package/modules/tabs.min.cjs +2 -2
- package/modules/tabs.min.js +2 -2
- package/modules/vue.d.ts +1 -1
- package/modules/vue.esm.min.js +2 -2
- package/modules/vue.min.cjs +2 -2
- package/modules/vue.min.js +2 -2
- package/modules/webcomponent.d.ts +1 -1
- package/modules/webcomponent.esm.min.js +3 -3
- package/modules/webcomponent.min.cjs +3 -3
- package/modules/webcomponent.min.js +3 -3
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.86.
|
|
2
|
+
* Lattice Grid 1.86.5, svelte module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
6
|
-
var le=Object.create(null),de=Object.create(null);function te(i,U){le[i]=U}function fe(i){var U=de[i];if(U)return U;var J=Object.create(null);de[i]=J;var Y=le[i];if(!Y)throw new Error("[lattice] missing module: "+i);return Y(J,fe),J}te("packages/core/src/internal/util.js",function(i,U){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return I}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return n}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return A}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return T}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return O}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return V}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return D}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return x}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return M}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return F}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return W}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return v}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return w}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return re}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return c}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return p}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return d}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return a}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return s}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return j}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return R}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return P}});const J="1.86.4";async function Y(){return J}const I="1.86.4",z=new Set,K=2e3;function q(e){if(z.add(e),z.size>K){const t=z.values().next().value;t!==void 0&&z.delete(t)}}const Q=[],k=500;function f(e,t,r){Q.push({key:e,level:t,message:r.map(l=>typeof l=="string"?l:o(l)).join(" "),at:Date.now()}),Q.length>k&&Q.shift()}function o(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function n(){return Q.map(e=>({...e}))}function b(e){if(e.length===0||typeof e[0]!="string")return e;const t=e[0].replace(/^\[lattice\]\s*/,"");return t===e[0]?e:[t,...e.slice(1)]}function A(e,...t){if(z.has(e))return;q(e);const r=b(t);f(e,"warn",r),console.warn("[lattice]",...r)}function T(e,...t){if(z.has(e))return;q(e);const r=b(t);f(e,"info",r),console.info("[lattice]",...r)}function O(){z.clear(),Q.length=0}function V(e,t){const r=new Error(`[lattice] ${e}`);throw t!==void 0&&(r.cause=t),r}function D(e,t){e||V(t)}const x=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function M(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function L(e){return typeof e=="function"}function F(e){return e==null}function G(e){return e==null||e===""}function W(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const S=new Map;function v(e){let t=S.get(e);if(t)return t;if(!e.includes("."))t=r=>r?.[e];else{const r=e.split("."),l=r.length;t=B=>{let Z=B;for(let H=0;H<l;H++){if(Z==null)return;Z=Z[r[H]]}return Z}}return S.set(e,t),t}const $=new Map;function w(e){let t=$.get(e);if(t)return t;if(!e.includes("."))t=(r,l)=>{r!=null&&(r[e]=l)};else{const r=e.split("."),l=r.length-1;t=(B,Z)=>{let H=B;for(let _=0;_<l;_++){if(H==null)return;const se=r[_];H[se]==null&&(H[se]={}),H=H[se]}H!=null&&(H[r[l]]=Z)}}return $.set(e,t),t}function X(e,t){return v(t)(e)}function ne(e,t,r){w(t)(e,r)}function ie(e){return e?(e.includes(".")?e.slice(e.lastIndexOf(".")+1):e).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,r=>r.toUpperCase()):""}const ee={"&":"&","<":"<",">":">",'"':""","'":"'"};function re(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,r=>ee[r]):t}function oe(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ce(e,t,r){if(e!==void 0)return e===!0?{enabled:!0,...r}:e===!1?{enabled:!1}:M(e)?e:{[t]:e,enabled:!0}}function ae(e){return e==null?[]:Array.isArray(e)?e:[e]}const ue=Object.freeze(new Set(["__proto__","constructor","prototype"]));function c(e,t){if(!M(e))return M(t)?{...t}:t;if(!M(t))return t===void 0?e:t;const r={...e};for(const l of Object.keys(t)){if(ue.has(l))continue;const B=t[l];B!==void 0&&(r[l]=M(B)&&M(r[l])?c(r[l],B):B)}return r}function p(e,t){if(!M(e)||!M(t)||e===t)return t;const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,t),r}class d{#n;#e=new Map;#t;constructor(t=256,r=null){this.#n=t,this.#t=r}get size(){return this.#e.size}get max(){return this.#n}set max(t){this.#n=t,this.#r()}has(t){return this.#e.has(t)}get(t){const r=this.#e;if(!r.has(t))return;const l=r.get(t);return r.delete(t),r.set(t,l),l}peek(t){return this.#e.get(t)}set(t,r){const l=this.#e;return l.has(t)&&l.delete(t),l.set(t,r),this.#r(),r}delete(t){const r=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(r,t),r}clear(){if(this.#t)for(const[t,r]of this.#e)this.#t(r,t);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const t=this.#e;for(;t.size>this.#n;){const r=t.keys().next().value,l=t.get(r);t.delete(r),this.#t&&this.#t(l,r)}}}const u=new Map;function a(e,t){const r=`${e||""}|${t?JSON.stringify(t):""}`;let l=u.get(r);return l||(l=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),u.set(r,l)),l}function m(e,t){if(e===t)return 0;if(e==null)return 1;if(t==null)return-1;if(typeof e=="number"&&typeof t=="number")return Number.isNaN(e)?Number.isNaN(t)?0:1:Number.isNaN(t)||e<t?-1:e>t?1:0;const r=String(e),l=String(t);return r<l?-1:r>l?1:0}function s(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const h=typeof requestAnimationFrame=="function";function j(e){return h?requestAnimationFrame(e):setTimeout(()=>e(s()),16)}function N(e){e!=null&&(h?cancelAnimationFrame(e):clearTimeout(e))}function E(e){let t=null,r=null;const l=()=>{t=null;const Z=r;r=null,e(...Z||[])},B=(...Z)=>{r=Z,t===null&&(t=j(l))};return B.cancel=()=>{N(t),t=null,r=null},B.flush=()=>{t!==null&&(N(t),l())},B}function g(e,t){let r=null,l=null;const B=()=>{if(r=null,l===null)return;const _=l;l=null,e(..._),Z()},Z=()=>{r=setTimeout(B,t),typeof r?.unref=="function"&&r.unref()},H=(..._)=>{r===null?(e(..._),Z()):(l=_,clearTimeout(r),Z())};return H.flush=()=>{if(r!==null&&clearTimeout(r),r=null,l===null)return;const _=l;l=null,e(..._)},H.cancel=()=>{r!==null&&clearTimeout(r),r=null,l=null},H.pending=()=>r!==null||l!==null,H}function R(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let y=0;function P(e="l"){return`${e}${(++y).toString(36)}`}}),te("packages/modules/shared/adapter.js",function(i,U){"use strict";Object.defineProperty(i,"EVENT_NAMES",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"handlerName",{enumerable:!0,get:function(){return I}}),Object.defineProperty(i,"dashedName",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"aliasConfigKey",{enumerable:!0,get:function(){return q}}),Object.defineProperty(i,"isHandlerProp",{enumerable:!0,get:function(){return k}}),Object.defineProperty(i,"partition",{enumerable:!0,get:function(){return f}}),Object.defineProperty(i,"createGridController",{enumerable:!0,get:function(){return o}});const J=Object.freeze(["ready","destroy","render:first","render:done","config:changed","licence:changed","model:changed","rows:changed","rows:queued","rows:deferred","rows:paused","rows:resumed","row:received","row:sent","row:copied","row:moved","source:error","source:total","stream:chunk","stream:end","stream:evicted","rowDrag:started","rowDrag:moved","rowDrag:left","rowDrag:ended","cell:changed","cell:pending","cell:confirmed","cell:reverted","cell:conflict","cell:clicked","cell:dblclicked","cell:contextmenu","cell:mouseover","cell:mouseout","cell:mousedown","cell:mouseup","cell:edit:start","cell:edit:end","row:edit:start","row:edit:end","row:clicked","row:dblclicked","row:pending","row:confirmed","row:reverted","row:conflict","form:opened","form:closed","form:saved","form:error","sort:changed","filter:changed","group:toggled","facet:computed","facet:filtered","facet:expanded","facet:failed","column:moved","column:resized","column:visible","column:pinned","column:grouped","column:pivoted","column:filter:open","column:profile:open","column:menu:open","columns:changed","columns:tagged","columngroup:changed","header:contextmenu","pivot:drill","selection:changed","range:changed","clipboard:copy","page:changed","scroll","scroll:end","size:changed","detail:toggled","detail:cell:edit:start","detail:cell:edit:end","detail:row:edit:start","detail:row:edit:end","detail:cell:changed","toolpanel:focus","highlight:changed","find:changed","tree:loading","tree:loaded","tree:loadFailed","tree:loadAborted","state:changed","state:reset","history:changed","history:applied","views:changed","view:applied","view:saved","view:removed","view:renamed","view:default","formatting:changed","redaction:changed","permissions:changed","presentation:changed","presentation:started","presentation:ended","presentation:view","presentation:scale","presentation:spotlight","presentation:captured","comment:added","comment:edited","comment:deleted","comment:failed","comment:resolved","comment:unresolved","comment:threadOpened","comment:threadClosed","comment:indexLoaded","presence:published","presence:joined","presence:updated","presence:left","presence:failed","presence:lockRefused","diff:changed","diff:swapped","timeline:attached","timeline:detached","timeline:seek","timeline:seeking","annotation:changed","validation:failed","validation:cleared","export:progress","export:request","export:done","shortcuts:opened","shortcuts:closed","print:before","print:after","beforeEdit","beforeSort","beforeFilter","beforeColumnMove","beforeColumnResize","beforeColumnHide","beforeSelect","beforeRowAdd","beforeDelete","beforeRowMove","beforeGroup","beforeRowReceive","edit:cancelled","sort:cancelled","filter:cancelled","columnMove:cancelled","columnResize:cancelled","columnHide:cancelled","selection:cancelled","rowAdd:cancelled","delete:cancelled","rowMove:cancelled","group:cancelled","rowReceive:cancelled"]),Y=Object.freeze({sort:(n,b)=>n.sort.set(b||[]),filters:(n,b)=>n.filters.set(b||null),quickFilter:(n,b)=>{if(b&&typeof b=="object"){n.filters.quick(b.text||"",{mode:b.mode});return}n.filters.quick(typeof b=="string"?b:"")},selectedKeys:(n,b)=>n.selection.set(Array.isArray(b)?b:[])});function I(n){return`on${String(n).split(":").map(A=>A.charAt(0).toUpperCase()+A.slice(1)).join("")}`}function z(n){return String(n).replace(/:/g,"-")}const K=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function q(n){return Object.hasOwn(K,n)?K[n]:n}const Q=Object.freeze(Object.fromEntries(J.map(n=>[I(n),n])));function k(n){return Object.hasOwn(Q,n)}function f(n){const b={},A={},T={};for(const[O,V]of Object.entries(n||{})){if(k(O)){T[O]=V;continue}if(Object.hasOwn(Y,O)){A[O]=V;continue}b[O]=V}return{config:b,imperative:A,handlers:T}}function o(n){const b=n.createGrid;if(typeof b!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const A=f(n.props||{}),T=b(n.element,{...A.config});let O=A.handlers,V=A.config,D={};const x=F=>{if(!F||typeof F.type!="string")return;const G=O[I(F.type)];typeof G=="function"&&G(F)},M=T.on("*",x);for(const[F,G]of Object.entries(A.imperative))G!==void 0&&(Y[F](T,G),D[F]=G);let L=!1;return{grid:T,update(F){if(L)return;const G=f(F||{});O=G.handlers;const W={};for(const[S,v]of Object.entries(G.config))Object.is(V[S],v)||(W[S]=v);for(const S of Object.keys(V))Object.hasOwn(G.config,S)||(W[S]=void 0);Object.keys(W).length&&T.setAll(W),V=G.config;for(const[S,v]of Object.entries(Y)){const $=G.imperative[S];Object.is(D[S],$)||$===void 0&&!Object.hasOwn(D,S)||(v(T,$),D[S]=$)}},destroy(){L||(L=!0,M(),T.destroy())}}}}),te("packages/modules/react/viewers.js",function(i,U){"use strict";Object.defineProperty(i,"VIEWER_EVENTS",{enumerable:!0,get:function(){return I}}),Object.defineProperty(i,"VIEWER_APPLY",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"viewerHandlerName",{enumerable:!0,get:function(){return q}}),Object.defineProperty(i,"partitionViewerProps",{enumerable:!0,get:function(){return k}}),Object.defineProperty(i,"createViewerController",{enumerable:!0,get:function(){return f}});const Y=U("packages/core/src/internal/util.js").warnOnce,I=Object.freeze({kpi:Object.freeze(["tile:click","tile:dblclick","tile:contextmenu","node:toggle","change","tile:status"]),kanban:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:move","card:reverted","card:confirmed","selection:changed","column:collapse","card:add","drag:start","drag:end","swimlane:collapse","swimlane:reorder","column:reorder","filter:changed","sprint:changed","epic:changed","card:expand","card:drill","card:edit","card:sla","beforeMove","beforeAdd","beforeEdit","beforeLaneReorder","beforeColumnReorder","beforeColumnChange","move:cancelled","add:cancelled","edit:cancelled","laneReorder:cancelled","columnReorder:cancelled","columnChange:cancelled"]),tabs:Object.freeze(["beforeTabChange","tab:changed","tabChange:cancelled"]),calendar:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:mount","range:change","beforeMove","card:move"]),chart:Object.freeze(["click","hover","leave","draw","legend"]),gantt:Object.freeze(["schedule","error"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),z=Object.freeze({kpi:Object.freeze({rows:(o,n)=>o.setRows(Array.isArray(n)?n:[])}),kanban:Object.freeze({rows:(o,n)=>o.setRows(Array.isArray(n)?n:[]),quickFilter:(o,n)=>o.setQuickFilter(typeof n=="string"?n:""),sprint:(o,n)=>o.setSprint(n),epic:(o,n)=>o.setEpic(n),loading:(o,n)=>o.setLoading(!!n),error:(o,n)=>o.setError(n??null)}),gantt:Object.freeze({tasks:(o,n)=>o.setTasks(Array.isArray(n)?n:[]),dependencies:(o,n)=>o.setDependencies(Array.isArray(n)?n:[])}),tabs:Object.freeze({active:(o,n)=>{typeof n=="string"&&o.activate(n)}}),calendar:Object.freeze({rows:(o,n)=>o.setRows(Array.isArray(n)?n:[]),view:(o,n)=>o.setView(n),date:(o,n)=>o.goTo(n),move:(o,n,b)=>o.move(n,b)}),chart:Object.freeze({}),layout:Object.freeze({})}),K=Object.freeze({chart:"update"});function q(o){return`on${String(o).split(":").map(b=>b.charAt(0).toUpperCase()+b.slice(1)).join("")}`}const Q=Object.freeze(Object.fromEntries(Object.entries(I).map(([o,n])=>[o,Object.freeze(Object.fromEntries(n.map(b=>[q(b),b])))])));function k(o,n){const b=Q[o]||{},A=z[o]||{},T={},O={},V={};for(const[D,x]of Object.entries(n||{})){if(Object.hasOwn(b,D)){V[D]=x;continue}if(Object.hasOwn(A,D)){O[D]=x,T[D]=x;continue}T[D]=x}return{config:T,live:O,handlers:V}}function f(o){const n=String(o.viewer),b=o.mount,A=o.name||n;if(typeof b!="function")throw new TypeError(`createViewerController needs a mount factory for "${n}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const T=k(n,o.props||{}),O=b(o.element,{...T.config});if(!O||typeof O!="object")throw new TypeError(`the ${A} factory returned no instance; nothing can be driven.`);let V=T.handlers,D=T.config;const x={...T.live},M=[];if(typeof O.on=="function")for(const W of I[n]||[]){const S=q(W),v=O.on(W,$=>{const w=V[S];typeof w=="function"&&w($)});typeof v=="function"&&M.push(v)}const L=K[n],F=z[n]||{};let G=!1;return{instance:O,update(W){if(G)return;const S=k(n,W||{});V=S.handlers;const v={};for(const[w,X]of Object.entries(S.config))Object.is(D[w],X)||(v[w]=X);if(D=S.config,!Object.keys(v).length)return;const $=[];for(const w of Object.keys(v)){const X=F[w];if(X){X(O,v[w]),x[w]=v[w];continue}L&&typeof O[L]=="function"||$.push(w)}if(L&&typeof O[L]=="function"){const w={};for(const X of Object.keys(v))F[X]||(w[X]=v[X]);Object.keys(w).length&&O[L](w)}$.length&&Y(`react.viewer.${n}.mountOnly.${$.join(".")}`,`${A}: ${$.map(w=>`\`${w}\``).join(", ")} changed, but ${A} takes ${$.length===1?"it":"them"} only when the viewer is created. Nothing was applied and the viewer was NOT rebuilt — rebuilding it silently would throw away scroll position, selection and expansion. Give the component a \`key\` that changes when this must take effect, so the rebuild is yours and visible, or drive the instance through the ref.`)},destroy(){if(!G){G=!0;for(const W of M)try{W()}catch{}M.length=0,typeof O.destroy=="function"&&O.destroy()}}}}}),te("packages/modules/presets/index.js",function(i,U){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return q}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return Q}});const Y=U("packages/core/src/internal/util.js").warnOnce;function I(k,f){if(typeof k!="string")return k;const o=k.trim().match(/^#([0-9a-f]{6})$/i);if(!o)return k;const n=o[1],b=parseInt(n.slice(0,2),16),A=parseInt(n.slice(2,4),16),T=parseInt(n.slice(4,6),16);return`rgba(${b}, ${A}, ${T}, ${f})`}function z(k){const f=k.palette,o=f.mode==="dark";return{"--lattice-background":f.background.default,"--lattice-surface":f.background.paper,"--lattice-surface-alt":o?"#2a2a2a":f.grey[50],"--lattice-border-color":f.divider,"--lattice-border-strong":o?f.grey[600]:f.grey[400],"--lattice-foreground":f.text.primary,"--lattice-foreground-muted":f.text.secondary,"--lattice-header-foreground":f.text.primary,"--lattice-accent":f.primary.main,"--lattice-accent-contrast":f.primary.contrastText,"--lattice-link-color":f.primary.main,"--lattice-selected-background":I(f.primary.main,.12),"--lattice-hovered-background":I(f.text.primary,.06),"--lattice-focus-color":f.primary.main,"--lattice-variant-danger-solid":f.error.main,"--lattice-variant-danger-fill":I(f.error.main,.12),"--lattice-variant-warning-solid":f.warning.main,"--lattice-variant-warning-fill":I(f.warning.main,.12),"--lattice-variant-success-solid":f.success.main,"--lattice-variant-success-fill":I(f.success.main,.12),"--lattice-variant-info-solid":f.info.main,"--lattice-variant-info-fill":I(f.info.main,.12),"--lattice-radius":`${k.shape.borderRadius}px`,"--lattice-font-family":k.typography.fontFamily,"--lattice-font-size":`${k.typography.body2.fontSize}`,"--lattice-header-font-weight":String(k.typography.fontWeightMedium)}}function K(k){return`.lattice {
|
|
6
|
+
var le=Object.create(null),de=Object.create(null);function te(i,U){le[i]=U}function fe(i){var U=de[i];if(U)return U;var J=Object.create(null);de[i]=J;var Y=le[i];if(!Y)throw new Error("[lattice] missing module: "+i);return Y(J,fe),J}te("packages/core/src/internal/util.js",function(i,U){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return I}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return n}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return A}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return T}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return O}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return V}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return D}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return x}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return M}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return F}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return W}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return v}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return w}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return re}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return c}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return p}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return d}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return a}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return s}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return j}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return R}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return P}});const J="1.86.5";async function Y(){return J}const I="1.86.5",z=new Set,K=2e3;function q(e){if(z.add(e),z.size>K){const t=z.values().next().value;t!==void 0&&z.delete(t)}}const Q=[],k=500;function f(e,t,r){Q.push({key:e,level:t,message:r.map(l=>typeof l=="string"?l:o(l)).join(" "),at:Date.now()}),Q.length>k&&Q.shift()}function o(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function n(){return Q.map(e=>({...e}))}function b(e){if(e.length===0||typeof e[0]!="string")return e;const t=e[0].replace(/^\[lattice\]\s*/,"");return t===e[0]?e:[t,...e.slice(1)]}function A(e,...t){if(z.has(e))return;q(e);const r=b(t);f(e,"warn",r),console.warn("[lattice]",...r)}function T(e,...t){if(z.has(e))return;q(e);const r=b(t);f(e,"info",r),console.info("[lattice]",...r)}function O(){z.clear(),Q.length=0}function V(e,t){const r=new Error(`[lattice] ${e}`);throw t!==void 0&&(r.cause=t),r}function D(e,t){e||V(t)}const x=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function M(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function L(e){return typeof e=="function"}function F(e){return e==null}function G(e){return e==null||e===""}function W(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const S=new Map;function v(e){let t=S.get(e);if(t)return t;if(!e.includes("."))t=r=>r?.[e];else{const r=e.split("."),l=r.length;t=B=>{let Z=B;for(let H=0;H<l;H++){if(Z==null)return;Z=Z[r[H]]}return Z}}return S.set(e,t),t}const $=new Map;function w(e){let t=$.get(e);if(t)return t;if(!e.includes("."))t=(r,l)=>{r!=null&&(r[e]=l)};else{const r=e.split("."),l=r.length-1;t=(B,Z)=>{let H=B;for(let _=0;_<l;_++){if(H==null)return;const se=r[_];H[se]==null&&(H[se]={}),H=H[se]}H!=null&&(H[r[l]]=Z)}}return $.set(e,t),t}function X(e,t){return v(t)(e)}function ne(e,t,r){w(t)(e,r)}function ie(e){return e?(e.includes(".")?e.slice(e.lastIndexOf(".")+1):e).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,r=>r.toUpperCase()):""}const ee={"&":"&","<":"<",">":">",'"':""","'":"'"};function re(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,r=>ee[r]):t}function oe(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ce(e,t,r){if(e!==void 0)return e===!0?{enabled:!0,...r}:e===!1?{enabled:!1}:M(e)?e:{[t]:e,enabled:!0}}function ae(e){return e==null?[]:Array.isArray(e)?e:[e]}const ue=Object.freeze(new Set(["__proto__","constructor","prototype"]));function c(e,t){if(!M(e))return M(t)?{...t}:t;if(!M(t))return t===void 0?e:t;const r={...e};for(const l of Object.keys(t)){if(ue.has(l))continue;const B=t[l];B!==void 0&&(r[l]=M(B)&&M(r[l])?c(r[l],B):B)}return r}function p(e,t){if(!M(e)||!M(t)||e===t)return t;const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,t),r}class d{#n;#e=new Map;#t;constructor(t=256,r=null){this.#n=t,this.#t=r}get size(){return this.#e.size}get max(){return this.#n}set max(t){this.#n=t,this.#r()}has(t){return this.#e.has(t)}get(t){const r=this.#e;if(!r.has(t))return;const l=r.get(t);return r.delete(t),r.set(t,l),l}peek(t){return this.#e.get(t)}set(t,r){const l=this.#e;return l.has(t)&&l.delete(t),l.set(t,r),this.#r(),r}delete(t){const r=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(r,t),r}clear(){if(this.#t)for(const[t,r]of this.#e)this.#t(r,t);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const t=this.#e;for(;t.size>this.#n;){const r=t.keys().next().value,l=t.get(r);t.delete(r),this.#t&&this.#t(l,r)}}}const u=new Map;function a(e,t){const r=`${e||""}|${t?JSON.stringify(t):""}`;let l=u.get(r);return l||(l=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),u.set(r,l)),l}function m(e,t){if(e===t)return 0;if(e==null)return 1;if(t==null)return-1;if(typeof e=="number"&&typeof t=="number")return Number.isNaN(e)?Number.isNaN(t)?0:1:Number.isNaN(t)||e<t?-1:e>t?1:0;const r=String(e),l=String(t);return r<l?-1:r>l?1:0}function s(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const h=typeof requestAnimationFrame=="function";function j(e){return h?requestAnimationFrame(e):setTimeout(()=>e(s()),16)}function N(e){e!=null&&(h?cancelAnimationFrame(e):clearTimeout(e))}function E(e){let t=null,r=null;const l=()=>{t=null;const Z=r;r=null,e(...Z||[])},B=(...Z)=>{r=Z,t===null&&(t=j(l))};return B.cancel=()=>{N(t),t=null,r=null},B.flush=()=>{t!==null&&(N(t),l())},B}function g(e,t){let r=null,l=null;const B=()=>{if(r=null,l===null)return;const _=l;l=null,e(..._),Z()},Z=()=>{r=setTimeout(B,t),typeof r?.unref=="function"&&r.unref()},H=(..._)=>{r===null?(e(..._),Z()):(l=_,clearTimeout(r),Z())};return H.flush=()=>{if(r!==null&&clearTimeout(r),r=null,l===null)return;const _=l;l=null,e(..._)},H.cancel=()=>{r!==null&&clearTimeout(r),r=null,l=null},H.pending=()=>r!==null||l!==null,H}function R(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let y=0;function P(e="l"){return`${e}${(++y).toString(36)}`}}),te("packages/modules/shared/adapter.js",function(i,U){"use strict";Object.defineProperty(i,"EVENT_NAMES",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"handlerName",{enumerable:!0,get:function(){return I}}),Object.defineProperty(i,"dashedName",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"aliasConfigKey",{enumerable:!0,get:function(){return q}}),Object.defineProperty(i,"isHandlerProp",{enumerable:!0,get:function(){return k}}),Object.defineProperty(i,"partition",{enumerable:!0,get:function(){return f}}),Object.defineProperty(i,"createGridController",{enumerable:!0,get:function(){return o}});const J=Object.freeze(["ready","destroy","render:first","render:done","config:changed","licence:changed","model:changed","rows:changed","rows:queued","rows:deferred","rows:paused","rows:resumed","row:received","row:sent","row:copied","row:moved","source:error","source:total","stream:chunk","stream:end","stream:evicted","rowDrag:started","rowDrag:moved","rowDrag:left","rowDrag:ended","cell:changed","cell:pending","cell:confirmed","cell:reverted","cell:conflict","cell:clicked","cell:dblclicked","cell:contextmenu","cell:mouseover","cell:mouseout","cell:mousedown","cell:mouseup","cell:edit:start","cell:edit:end","row:edit:start","row:edit:end","row:clicked","row:dblclicked","row:pending","row:confirmed","row:reverted","row:conflict","form:opened","form:closed","form:saved","form:error","sort:changed","filter:changed","group:toggled","facet:computed","facet:filtered","facet:expanded","facet:failed","column:moved","column:resized","column:visible","column:pinned","column:grouped","column:pivoted","column:filter:open","column:profile:open","column:menu:open","columns:changed","columns:tagged","columngroup:changed","header:contextmenu","pivot:drill","selection:changed","range:changed","clipboard:copy","page:changed","scroll","scroll:end","size:changed","detail:toggled","detail:cell:edit:start","detail:cell:edit:end","detail:row:edit:start","detail:row:edit:end","detail:cell:changed","toolpanel:focus","highlight:changed","find:changed","tree:loading","tree:loaded","tree:loadFailed","tree:loadAborted","state:changed","state:reset","history:changed","history:applied","views:changed","view:applied","view:saved","view:removed","view:renamed","view:default","formatting:changed","redaction:changed","permissions:changed","presentation:changed","presentation:started","presentation:ended","presentation:view","presentation:scale","presentation:spotlight","presentation:captured","comment:added","comment:edited","comment:deleted","comment:failed","comment:resolved","comment:unresolved","comment:threadOpened","comment:threadClosed","comment:indexLoaded","presence:published","presence:joined","presence:updated","presence:left","presence:failed","presence:lockRefused","diff:changed","diff:swapped","timeline:attached","timeline:detached","timeline:seek","timeline:seeking","annotation:changed","validation:failed","validation:cleared","export:progress","export:request","export:done","shortcuts:opened","shortcuts:closed","print:before","print:after","beforeEdit","beforeSort","beforeFilter","beforeColumnMove","beforeColumnResize","beforeColumnHide","beforeSelect","beforeRowAdd","beforeDelete","beforeRowMove","beforeGroup","beforeRowReceive","edit:cancelled","sort:cancelled","filter:cancelled","columnMove:cancelled","columnResize:cancelled","columnHide:cancelled","selection:cancelled","rowAdd:cancelled","delete:cancelled","rowMove:cancelled","group:cancelled","rowReceive:cancelled"]),Y=Object.freeze({sort:(n,b)=>n.sort.set(b||[]),filters:(n,b)=>n.filters.set(b||null),quickFilter:(n,b)=>{if(b&&typeof b=="object"){n.filters.quick(b.text||"",{mode:b.mode});return}n.filters.quick(typeof b=="string"?b:"")},selectedKeys:(n,b)=>n.selection.set(Array.isArray(b)?b:[])});function I(n){return`on${String(n).split(":").map(A=>A.charAt(0).toUpperCase()+A.slice(1)).join("")}`}function z(n){return String(n).replace(/:/g,"-")}const K=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function q(n){return Object.hasOwn(K,n)?K[n]:n}const Q=Object.freeze(Object.fromEntries(J.map(n=>[I(n),n])));function k(n){return Object.hasOwn(Q,n)}function f(n){const b={},A={},T={};for(const[O,V]of Object.entries(n||{})){if(k(O)){T[O]=V;continue}if(Object.hasOwn(Y,O)){A[O]=V;continue}b[O]=V}return{config:b,imperative:A,handlers:T}}function o(n){const b=n.createGrid;if(typeof b!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const A=f(n.props||{}),T=b(n.element,{...A.config});let O=A.handlers,V=A.config,D={};const x=F=>{if(!F||typeof F.type!="string")return;const G=O[I(F.type)];typeof G=="function"&&G(F)},M=T.on("*",x);for(const[F,G]of Object.entries(A.imperative))G!==void 0&&(Y[F](T,G),D[F]=G);let L=!1;return{grid:T,update(F){if(L)return;const G=f(F||{});O=G.handlers;const W={};for(const[S,v]of Object.entries(G.config))Object.is(V[S],v)||(W[S]=v);for(const S of Object.keys(V))Object.hasOwn(G.config,S)||(W[S]=void 0);Object.keys(W).length&&T.setAll(W),V=G.config;for(const[S,v]of Object.entries(Y)){const $=G.imperative[S];Object.is(D[S],$)||$===void 0&&!Object.hasOwn(D,S)||(v(T,$),D[S]=$)}},destroy(){L||(L=!0,M(),T.destroy())}}}}),te("packages/modules/react/viewers.js",function(i,U){"use strict";Object.defineProperty(i,"VIEWER_EVENTS",{enumerable:!0,get:function(){return I}}),Object.defineProperty(i,"VIEWER_APPLY",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"viewerHandlerName",{enumerable:!0,get:function(){return q}}),Object.defineProperty(i,"partitionViewerProps",{enumerable:!0,get:function(){return k}}),Object.defineProperty(i,"createViewerController",{enumerable:!0,get:function(){return f}});const Y=U("packages/core/src/internal/util.js").warnOnce,I=Object.freeze({kpi:Object.freeze(["tile:click","tile:dblclick","tile:contextmenu","node:toggle","change","tile:status"]),kanban:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:move","card:reverted","card:confirmed","selection:changed","column:collapse","card:add","drag:start","drag:end","swimlane:collapse","swimlane:reorder","column:reorder","filter:changed","sprint:changed","epic:changed","card:expand","card:drill","card:edit","card:sla","beforeMove","beforeAdd","beforeEdit","beforeLaneReorder","beforeColumnReorder","beforeColumnChange","move:cancelled","add:cancelled","edit:cancelled","laneReorder:cancelled","columnReorder:cancelled","columnChange:cancelled"]),tabs:Object.freeze(["beforeTabChange","tab:changed","tabChange:cancelled"]),calendar:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:mount","range:change","beforeMove","card:move"]),chart:Object.freeze(["click","hover","leave","draw","legend"]),gantt:Object.freeze(["schedule","error"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),z=Object.freeze({kpi:Object.freeze({rows:(o,n)=>o.setRows(Array.isArray(n)?n:[])}),kanban:Object.freeze({rows:(o,n)=>o.setRows(Array.isArray(n)?n:[]),quickFilter:(o,n)=>o.setQuickFilter(typeof n=="string"?n:""),sprint:(o,n)=>o.setSprint(n),epic:(o,n)=>o.setEpic(n),loading:(o,n)=>o.setLoading(!!n),error:(o,n)=>o.setError(n??null)}),gantt:Object.freeze({tasks:(o,n)=>o.setTasks(Array.isArray(n)?n:[]),dependencies:(o,n)=>o.setDependencies(Array.isArray(n)?n:[])}),tabs:Object.freeze({active:(o,n)=>{typeof n=="string"&&o.activate(n)}}),calendar:Object.freeze({rows:(o,n)=>o.setRows(Array.isArray(n)?n:[]),view:(o,n)=>o.setView(n),date:(o,n)=>o.goTo(n),move:(o,n,b)=>o.move(n,b)}),chart:Object.freeze({}),layout:Object.freeze({})}),K=Object.freeze({chart:"update"});function q(o){return`on${String(o).split(":").map(b=>b.charAt(0).toUpperCase()+b.slice(1)).join("")}`}const Q=Object.freeze(Object.fromEntries(Object.entries(I).map(([o,n])=>[o,Object.freeze(Object.fromEntries(n.map(b=>[q(b),b])))])));function k(o,n){const b=Q[o]||{},A=z[o]||{},T={},O={},V={};for(const[D,x]of Object.entries(n||{})){if(Object.hasOwn(b,D)){V[D]=x;continue}if(Object.hasOwn(A,D)){O[D]=x,T[D]=x;continue}T[D]=x}return{config:T,live:O,handlers:V}}function f(o){const n=String(o.viewer),b=o.mount,A=o.name||n;if(typeof b!="function")throw new TypeError(`createViewerController needs a mount factory for "${n}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const T=k(n,o.props||{}),O=b(o.element,{...T.config});if(!O||typeof O!="object")throw new TypeError(`the ${A} factory returned no instance; nothing can be driven.`);let V=T.handlers,D=T.config;const x={...T.live},M=[];if(typeof O.on=="function")for(const W of I[n]||[]){const S=q(W),v=O.on(W,$=>{const w=V[S];typeof w=="function"&&w($)});typeof v=="function"&&M.push(v)}const L=K[n],F=z[n]||{};let G=!1;return{instance:O,update(W){if(G)return;const S=k(n,W||{});V=S.handlers;const v={};for(const[w,X]of Object.entries(S.config))Object.is(D[w],X)||(v[w]=X);if(D=S.config,!Object.keys(v).length)return;const $=[];for(const w of Object.keys(v)){const X=F[w];if(X){X(O,v[w]),x[w]=v[w];continue}L&&typeof O[L]=="function"||$.push(w)}if(L&&typeof O[L]=="function"){const w={};for(const X of Object.keys(v))F[X]||(w[X]=v[X]);Object.keys(w).length&&O[L](w)}$.length&&Y(`react.viewer.${n}.mountOnly.${$.join(".")}`,`${A}: ${$.map(w=>`\`${w}\``).join(", ")} changed, but ${A} takes ${$.length===1?"it":"them"} only when the viewer is created. Nothing was applied and the viewer was NOT rebuilt — rebuilding it silently would throw away scroll position, selection and expansion. Give the component a \`key\` that changes when this must take effect, so the rebuild is yours and visible, or drive the instance through the ref.`)},destroy(){if(!G){G=!0;for(const W of M)try{W()}catch{}M.length=0,typeof O.destroy=="function"&&O.destroy()}}}}}),te("packages/modules/presets/index.js",function(i,U){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return q}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return Q}});const Y=U("packages/core/src/internal/util.js").warnOnce;function I(k,f){if(typeof k!="string")return k;const o=k.trim().match(/^#([0-9a-f]{6})$/i);if(!o)return k;const n=o[1],b=parseInt(n.slice(0,2),16),A=parseInt(n.slice(2,4),16),T=parseInt(n.slice(4,6),16);return`rgba(${b}, ${A}, ${T}, ${f})`}function z(k){const f=k.palette,o=f.mode==="dark";return{"--lattice-background":f.background.default,"--lattice-surface":f.background.paper,"--lattice-surface-alt":o?"#2a2a2a":f.grey[50],"--lattice-border-color":f.divider,"--lattice-border-strong":o?f.grey[600]:f.grey[400],"--lattice-foreground":f.text.primary,"--lattice-foreground-muted":f.text.secondary,"--lattice-header-foreground":f.text.primary,"--lattice-accent":f.primary.main,"--lattice-accent-contrast":f.primary.contrastText,"--lattice-link-color":f.primary.main,"--lattice-selected-background":I(f.primary.main,.12),"--lattice-hovered-background":I(f.text.primary,.06),"--lattice-focus-color":f.primary.main,"--lattice-variant-danger-solid":f.error.main,"--lattice-variant-danger-fill":I(f.error.main,.12),"--lattice-variant-warning-solid":f.warning.main,"--lattice-variant-warning-fill":I(f.warning.main,.12),"--lattice-variant-success-solid":f.success.main,"--lattice-variant-success-fill":I(f.success.main,.12),"--lattice-variant-info-solid":f.info.main,"--lattice-variant-info-fill":I(f.info.main,.12),"--lattice-radius":`${k.shape.borderRadius}px`,"--lattice-font-family":k.typography.fontFamily,"--lattice-font-size":`${k.typography.body2.fontSize}`,"--lattice-header-font-weight":String(k.typography.fontWeightMedium)}}function K(k){return`.lattice {
|
|
7
7
|
${Object.entries(k).map(([o,n])=>` ${o}: ${n};`).join(`
|
|
8
8
|
`)}
|
|
9
9
|
}
|
package/modules/svelte.min.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.86.
|
|
2
|
+
* Lattice Grid 1.86.5, svelte module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
6
|
-
(function(be){"use strict";var le=Object.create(null),fe=Object.create(null);function ee(o,H){le[o]=H}function de(o){var H=fe[o];if(H)return H;var Z=Object.create(null);fe[o]=Z;var U=le[o];if(!U)throw new Error("[lattice] missing module: "+o);return U(Z,de),Z}ee("packages/core/src/internal/util.js",function(o,H){"use strict";Object.defineProperty(o,"VERSION",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"reportedWarnings",{enumerable:!0,get:function(){return n}}),Object.defineProperty(o,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(o,"infoOnce",{enumerable:!0,get:function(){return T}}),Object.defineProperty(o,"resetWarnings",{enumerable:!0,get:function(){return O}}),Object.defineProperty(o,"fail",{enumerable:!0,get:function(){return I}}),Object.defineProperty(o,"invariant",{enumerable:!0,get:function(){return V}}),Object.defineProperty(o,"DEV",{enumerable:!0,get:function(){return X}}),Object.defineProperty(o,"isObject",{enumerable:!0,get:function(){return D}}),Object.defineProperty(o,"isFunction",{enumerable:!0,get:function(){return L}}),Object.defineProperty(o,"isNil",{enumerable:!0,get:function(){return M}}),Object.defineProperty(o,"isBlank",{enumerable:!0,get:function(){return z}}),Object.defineProperty(o,"isCtor",{enumerable:!0,get:function(){return F}}),Object.defineProperty(o,"pathGetter",{enumerable:!0,get:function(){return v}}),Object.defineProperty(o,"pathSetter",{enumerable:!0,get:function(){return w}}),Object.defineProperty(o,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(o,"setPath",{enumerable:!0,get:function(){return te}}),Object.defineProperty(o,"humanise",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(o,"escapeHtml",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(o,"titleCase",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(o,"expand",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(o,"toArray",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(o,"merge",{enumerable:!0,get:function(){return c}}),Object.defineProperty(o,"mergeRow",{enumerable:!0,get:function(){return m}}),Object.defineProperty(o,"Lru",{enumerable:!0,get:function(){return f}}),Object.defineProperty(o,"collator",{enumerable:!0,get:function(){return a}}),Object.defineProperty(o,"defaultCompare",{enumerable:!0,get:function(){return p}}),Object.defineProperty(o,"now",{enumerable:!0,get:function(){return s}}),Object.defineProperty(o,"nextFrame",{enumerable:!0,get:function(){return j}}),Object.defineProperty(o,"cancelFrame",{enumerable:!0,get:function(){return A}}),Object.defineProperty(o,"frameBatched",{enumerable:!0,get:function(){return E}}),Object.defineProperty(o,"settleDebounce",{enumerable:!0,get:function(){return g}}),Object.defineProperty(o,"whenIdle",{enumerable:!0,get:function(){return k}}),Object.defineProperty(o,"uid",{enumerable:!0,get:function(){return P}});const Z="1.86.4";async function U(){return Z}const S="1.86.4",G=new Set,q=2e3;function K(e){if(G.add(e),G.size>q){const t=G.values().next().value;t!==void 0&&G.delete(t)}}const J=[],R=500;function d(e,t,r){J.push({key:e,level:t,message:r.map(l=>typeof l=="string"?l:i(l)).join(" "),at:Date.now()}),J.length>R&&J.shift()}function i(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function n(){return J.map(e=>({...e}))}function b(e){if(e.length===0||typeof e[0]!="string")return e;const t=e[0].replace(/^\[lattice\]\s*/,"");return t===e[0]?e:[t,...e.slice(1)]}function N(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"warn",r),console.warn("[lattice]",...r)}function T(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"info",r),console.info("[lattice]",...r)}function O(){G.clear(),J.length=0}function I(e,t){const r=new Error(`[lattice] ${e}`);throw t!==void 0&&(r.cause=t),r}function V(e,t){e||I(t)}const X=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function D(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function L(e){return typeof e=="function"}function M(e){return e==null}function z(e){return e==null||e===""}function F(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const C=new Map;function v(e){let t=C.get(e);if(t)return t;if(!e.includes("."))t=r=>r?.[e];else{const r=e.split("."),l=r.length;t=Y=>{let B=Y;for(let W=0;W<l;W++){if(B==null)return;B=B[r[W]]}return B}}return C.set(e,t),t}const $=new Map;function w(e){let t=$.get(e);if(t)return t;if(!e.includes("."))t=(r,l)=>{r!=null&&(r[e]=l)};else{const r=e.split("."),l=r.length-1;t=(Y,B)=>{let W=Y;for(let x=0;x<l;x++){if(W==null)return;const se=r[x];W[se]==null&&(W[se]={}),W=W[se]}W!=null&&(W[r[l]]=B)}}return $.set(e,t),t}function Q(e,t){return v(t)(e)}function te(e,t,r){w(t)(e,r)}function oe(e){return e?(e.includes(".")?e.slice(e.lastIndexOf(".")+1):e).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,r=>r.toUpperCase()):""}const _={"&":"&","<":"<",">":">",'"':""","'":"'"};function ne(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,r=>_[r]):t}function ie(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ce(e,t,r){if(e!==void 0)return e===!0?{enabled:!0,...r}:e===!1?{enabled:!1}:D(e)?e:{[t]:e,enabled:!0}}function ae(e){return e==null?[]:Array.isArray(e)?e:[e]}const ue=Object.freeze(new Set(["__proto__","constructor","prototype"]));function c(e,t){if(!D(e))return D(t)?{...t}:t;if(!D(t))return t===void 0?e:t;const r={...e};for(const l of Object.keys(t)){if(ue.has(l))continue;const Y=t[l];Y!==void 0&&(r[l]=D(Y)&&D(r[l])?c(r[l],Y):Y)}return r}function m(e,t){if(!D(e)||!D(t)||e===t)return t;const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,t),r}class f{#n;#e=new Map;#t;constructor(t=256,r=null){this.#n=t,this.#t=r}get size(){return this.#e.size}get max(){return this.#n}set max(t){this.#n=t,this.#r()}has(t){return this.#e.has(t)}get(t){const r=this.#e;if(!r.has(t))return;const l=r.get(t);return r.delete(t),r.set(t,l),l}peek(t){return this.#e.get(t)}set(t,r){const l=this.#e;return l.has(t)&&l.delete(t),l.set(t,r),this.#r(),r}delete(t){const r=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(r,t),r}clear(){if(this.#t)for(const[t,r]of this.#e)this.#t(r,t);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const t=this.#e;for(;t.size>this.#n;){const r=t.keys().next().value,l=t.get(r);t.delete(r),this.#t&&this.#t(l,r)}}}const u=new Map;function a(e,t){const r=`${e||""}|${t?JSON.stringify(t):""}`;let l=u.get(r);return l||(l=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),u.set(r,l)),l}function p(e,t){if(e===t)return 0;if(e==null)return 1;if(t==null)return-1;if(typeof e=="number"&&typeof t=="number")return Number.isNaN(e)?Number.isNaN(t)?0:1:Number.isNaN(t)||e<t?-1:e>t?1:0;const r=String(e),l=String(t);return r<l?-1:r>l?1:0}function s(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const h=typeof requestAnimationFrame=="function";function j(e){return h?requestAnimationFrame(e):setTimeout(()=>e(s()),16)}function A(e){e!=null&&(h?cancelAnimationFrame(e):clearTimeout(e))}function E(e){let t=null,r=null;const l=()=>{t=null;const B=r;r=null,e(...B||[])},Y=(...B)=>{r=B,t===null&&(t=j(l))};return Y.cancel=()=>{A(t),t=null,r=null},Y.flush=()=>{t!==null&&(A(t),l())},Y}function g(e,t){let r=null,l=null;const Y=()=>{if(r=null,l===null)return;const x=l;l=null,e(...x),B()},B=()=>{r=setTimeout(Y,t),typeof r?.unref=="function"&&r.unref()},W=(...x)=>{r===null?(e(...x),B()):(l=x,clearTimeout(r),B())};return W.flush=()=>{if(r!==null&&clearTimeout(r),r=null,l===null)return;const x=l;l=null,e(...x)},W.cancel=()=>{r!==null&&clearTimeout(r),r=null,l=null},W.pending=()=>r!==null||l!==null,W}function k(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let y=0;function P(e="l"){return`${e}${(++y).toString(36)}`}}),ee("packages/modules/shared/adapter.js",function(o,H){"use strict";Object.defineProperty(o,"EVENT_NAMES",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(o,"handlerName",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"dashedName",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"aliasConfigKey",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"isHandlerProp",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"partition",{enumerable:!0,get:function(){return d}}),Object.defineProperty(o,"createGridController",{enumerable:!0,get:function(){return i}});const Z=Object.freeze(["ready","destroy","render:first","render:done","config:changed","licence:changed","model:changed","rows:changed","rows:queued","rows:deferred","rows:paused","rows:resumed","row:received","row:sent","row:copied","row:moved","source:error","source:total","stream:chunk","stream:end","stream:evicted","rowDrag:started","rowDrag:moved","rowDrag:left","rowDrag:ended","cell:changed","cell:pending","cell:confirmed","cell:reverted","cell:conflict","cell:clicked","cell:dblclicked","cell:contextmenu","cell:mouseover","cell:mouseout","cell:mousedown","cell:mouseup","cell:edit:start","cell:edit:end","row:edit:start","row:edit:end","row:clicked","row:dblclicked","row:pending","row:confirmed","row:reverted","row:conflict","form:opened","form:closed","form:saved","form:error","sort:changed","filter:changed","group:toggled","facet:computed","facet:filtered","facet:expanded","facet:failed","column:moved","column:resized","column:visible","column:pinned","column:grouped","column:pivoted","column:filter:open","column:profile:open","column:menu:open","columns:changed","columns:tagged","columngroup:changed","header:contextmenu","pivot:drill","selection:changed","range:changed","clipboard:copy","page:changed","scroll","scroll:end","size:changed","detail:toggled","detail:cell:edit:start","detail:cell:edit:end","detail:row:edit:start","detail:row:edit:end","detail:cell:changed","toolpanel:focus","highlight:changed","find:changed","tree:loading","tree:loaded","tree:loadFailed","tree:loadAborted","state:changed","state:reset","history:changed","history:applied","views:changed","view:applied","view:saved","view:removed","view:renamed","view:default","formatting:changed","redaction:changed","permissions:changed","presentation:changed","presentation:started","presentation:ended","presentation:view","presentation:scale","presentation:spotlight","presentation:captured","comment:added","comment:edited","comment:deleted","comment:failed","comment:resolved","comment:unresolved","comment:threadOpened","comment:threadClosed","comment:indexLoaded","presence:published","presence:joined","presence:updated","presence:left","presence:failed","presence:lockRefused","diff:changed","diff:swapped","timeline:attached","timeline:detached","timeline:seek","timeline:seeking","annotation:changed","validation:failed","validation:cleared","export:progress","export:request","export:done","shortcuts:opened","shortcuts:closed","print:before","print:after","beforeEdit","beforeSort","beforeFilter","beforeColumnMove","beforeColumnResize","beforeColumnHide","beforeSelect","beforeRowAdd","beforeDelete","beforeRowMove","beforeGroup","beforeRowReceive","edit:cancelled","sort:cancelled","filter:cancelled","columnMove:cancelled","columnResize:cancelled","columnHide:cancelled","selection:cancelled","rowAdd:cancelled","delete:cancelled","rowMove:cancelled","group:cancelled","rowReceive:cancelled"]),U=Object.freeze({sort:(n,b)=>n.sort.set(b||[]),filters:(n,b)=>n.filters.set(b||null),quickFilter:(n,b)=>{if(b&&typeof b=="object"){n.filters.quick(b.text||"",{mode:b.mode});return}n.filters.quick(typeof b=="string"?b:"")},selectedKeys:(n,b)=>n.selection.set(Array.isArray(b)?b:[])});function S(n){return`on${String(n).split(":").map(N=>N.charAt(0).toUpperCase()+N.slice(1)).join("")}`}function G(n){return String(n).replace(/:/g,"-")}const q=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function K(n){return Object.hasOwn(q,n)?q[n]:n}const J=Object.freeze(Object.fromEntries(Z.map(n=>[S(n),n])));function R(n){return Object.hasOwn(J,n)}function d(n){const b={},N={},T={};for(const[O,I]of Object.entries(n||{})){if(R(O)){T[O]=I;continue}if(Object.hasOwn(U,O)){N[O]=I;continue}b[O]=I}return{config:b,imperative:N,handlers:T}}function i(n){const b=n.createGrid;if(typeof b!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const N=d(n.props||{}),T=b(n.element,{...N.config});let O=N.handlers,I=N.config,V={};const X=M=>{if(!M||typeof M.type!="string")return;const z=O[S(M.type)];typeof z=="function"&&z(M)},D=T.on("*",X);for(const[M,z]of Object.entries(N.imperative))z!==void 0&&(U[M](T,z),V[M]=z);let L=!1;return{grid:T,update(M){if(L)return;const z=d(M||{});O=z.handlers;const F={};for(const[C,v]of Object.entries(z.config))Object.is(I[C],v)||(F[C]=v);for(const C of Object.keys(I))Object.hasOwn(z.config,C)||(F[C]=void 0);Object.keys(F).length&&T.setAll(F),I=z.config;for(const[C,v]of Object.entries(U)){const $=z.imperative[C];Object.is(V[C],$)||$===void 0&&!Object.hasOwn(V,C)||(v(T,$),V[C]=$)}},destroy(){L||(L=!0,D(),T.destroy())}}}}),ee("packages/modules/react/viewers.js",function(o,H){"use strict";Object.defineProperty(o,"VIEWER_EVENTS",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"VIEWER_APPLY",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"viewerHandlerName",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"partitionViewerProps",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"createViewerController",{enumerable:!0,get:function(){return d}});const U=H("packages/core/src/internal/util.js").warnOnce,S=Object.freeze({kpi:Object.freeze(["tile:click","tile:dblclick","tile:contextmenu","node:toggle","change","tile:status"]),kanban:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:move","card:reverted","card:confirmed","selection:changed","column:collapse","card:add","drag:start","drag:end","swimlane:collapse","swimlane:reorder","column:reorder","filter:changed","sprint:changed","epic:changed","card:expand","card:drill","card:edit","card:sla","beforeMove","beforeAdd","beforeEdit","beforeLaneReorder","beforeColumnReorder","beforeColumnChange","move:cancelled","add:cancelled","edit:cancelled","laneReorder:cancelled","columnReorder:cancelled","columnChange:cancelled"]),tabs:Object.freeze(["beforeTabChange","tab:changed","tabChange:cancelled"]),calendar:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:mount","range:change","beforeMove","card:move"]),chart:Object.freeze(["click","hover","leave","draw","legend"]),gantt:Object.freeze(["schedule","error"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),G=Object.freeze({kpi:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[])}),kanban:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),quickFilter:(i,n)=>i.setQuickFilter(typeof n=="string"?n:""),sprint:(i,n)=>i.setSprint(n),epic:(i,n)=>i.setEpic(n),loading:(i,n)=>i.setLoading(!!n),error:(i,n)=>i.setError(n??null)}),gantt:Object.freeze({tasks:(i,n)=>i.setTasks(Array.isArray(n)?n:[]),dependencies:(i,n)=>i.setDependencies(Array.isArray(n)?n:[])}),tabs:Object.freeze({active:(i,n)=>{typeof n=="string"&&i.activate(n)}}),calendar:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),view:(i,n)=>i.setView(n),date:(i,n)=>i.goTo(n),move:(i,n,b)=>i.move(n,b)}),chart:Object.freeze({}),layout:Object.freeze({})}),q=Object.freeze({chart:"update"});function K(i){return`on${String(i).split(":").map(b=>b.charAt(0).toUpperCase()+b.slice(1)).join("")}`}const J=Object.freeze(Object.fromEntries(Object.entries(S).map(([i,n])=>[i,Object.freeze(Object.fromEntries(n.map(b=>[K(b),b])))])));function R(i,n){const b=J[i]||{},N=G[i]||{},T={},O={},I={};for(const[V,X]of Object.entries(n||{})){if(Object.hasOwn(b,V)){I[V]=X;continue}if(Object.hasOwn(N,V)){O[V]=X,T[V]=X;continue}T[V]=X}return{config:T,live:O,handlers:I}}function d(i){const n=String(i.viewer),b=i.mount,N=i.name||n;if(typeof b!="function")throw new TypeError(`createViewerController needs a mount factory for "${n}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const T=R(n,i.props||{}),O=b(i.element,{...T.config});if(!O||typeof O!="object")throw new TypeError(`the ${N} factory returned no instance; nothing can be driven.`);let I=T.handlers,V=T.config;const X={...T.live},D=[];if(typeof O.on=="function")for(const F of S[n]||[]){const C=K(F),v=O.on(F,$=>{const w=I[C];typeof w=="function"&&w($)});typeof v=="function"&&D.push(v)}const L=q[n],M=G[n]||{};let z=!1;return{instance:O,update(F){if(z)return;const C=R(n,F||{});I=C.handlers;const v={};for(const[w,Q]of Object.entries(C.config))Object.is(V[w],Q)||(v[w]=Q);if(V=C.config,!Object.keys(v).length)return;const $=[];for(const w of Object.keys(v)){const Q=M[w];if(Q){Q(O,v[w]),X[w]=v[w];continue}L&&typeof O[L]=="function"||$.push(w)}if(L&&typeof O[L]=="function"){const w={};for(const Q of Object.keys(v))M[Q]||(w[Q]=v[Q]);Object.keys(w).length&&O[L](w)}$.length&&U(`react.viewer.${n}.mountOnly.${$.join(".")}`,`${N}: ${$.map(w=>`\`${w}\``).join(", ")} changed, but ${N} takes ${$.length===1?"it":"them"} only when the viewer is created. Nothing was applied and the viewer was NOT rebuilt — rebuilding it silently would throw away scroll position, selection and expansion. Give the component a \`key\` that changes when this must take effect, so the rebuild is yours and visible, or drive the instance through the ref.`)},destroy(){if(!z){z=!0;for(const F of D)try{F()}catch{}D.length=0,typeof O.destroy=="function"&&O.destroy()}}}}}),ee("packages/modules/presets/index.js",function(o,H){"use strict";Object.defineProperty(o,"themeFromMui",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"default",{enumerable:!0,get:function(){return J}});const U=H("packages/core/src/internal/util.js").warnOnce;function S(R,d){if(typeof R!="string")return R;const i=R.trim().match(/^#([0-9a-f]{6})$/i);if(!i)return R;const n=i[1],b=parseInt(n.slice(0,2),16),N=parseInt(n.slice(2,4),16),T=parseInt(n.slice(4,6),16);return`rgba(${b}, ${N}, ${T}, ${d})`}function G(R){const d=R.palette,i=d.mode==="dark";return{"--lattice-background":d.background.default,"--lattice-surface":d.background.paper,"--lattice-surface-alt":i?"#2a2a2a":d.grey[50],"--lattice-border-color":d.divider,"--lattice-border-strong":i?d.grey[600]:d.grey[400],"--lattice-foreground":d.text.primary,"--lattice-foreground-muted":d.text.secondary,"--lattice-header-foreground":d.text.primary,"--lattice-accent":d.primary.main,"--lattice-accent-contrast":d.primary.contrastText,"--lattice-link-color":d.primary.main,"--lattice-selected-background":S(d.primary.main,.12),"--lattice-hovered-background":S(d.text.primary,.06),"--lattice-focus-color":d.primary.main,"--lattice-variant-danger-solid":d.error.main,"--lattice-variant-danger-fill":S(d.error.main,.12),"--lattice-variant-warning-solid":d.warning.main,"--lattice-variant-warning-fill":S(d.warning.main,.12),"--lattice-variant-success-solid":d.success.main,"--lattice-variant-success-fill":S(d.success.main,.12),"--lattice-variant-info-solid":d.info.main,"--lattice-variant-info-fill":S(d.info.main,.12),"--lattice-radius":`${R.shape.borderRadius}px`,"--lattice-font-family":R.typography.fontFamily,"--lattice-font-size":`${R.typography.body2.fontSize}`,"--lattice-header-font-weight":String(R.typography.fontWeightMedium)}}function q(R){return`.lattice {
|
|
6
|
+
(function(be){"use strict";var le=Object.create(null),fe=Object.create(null);function ee(o,H){le[o]=H}function de(o){var H=fe[o];if(H)return H;var Z=Object.create(null);fe[o]=Z;var U=le[o];if(!U)throw new Error("[lattice] missing module: "+o);return U(Z,de),Z}ee("packages/core/src/internal/util.js",function(o,H){"use strict";Object.defineProperty(o,"VERSION",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"reportedWarnings",{enumerable:!0,get:function(){return n}}),Object.defineProperty(o,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(o,"infoOnce",{enumerable:!0,get:function(){return T}}),Object.defineProperty(o,"resetWarnings",{enumerable:!0,get:function(){return O}}),Object.defineProperty(o,"fail",{enumerable:!0,get:function(){return I}}),Object.defineProperty(o,"invariant",{enumerable:!0,get:function(){return V}}),Object.defineProperty(o,"DEV",{enumerable:!0,get:function(){return X}}),Object.defineProperty(o,"isObject",{enumerable:!0,get:function(){return D}}),Object.defineProperty(o,"isFunction",{enumerable:!0,get:function(){return L}}),Object.defineProperty(o,"isNil",{enumerable:!0,get:function(){return M}}),Object.defineProperty(o,"isBlank",{enumerable:!0,get:function(){return z}}),Object.defineProperty(o,"isCtor",{enumerable:!0,get:function(){return F}}),Object.defineProperty(o,"pathGetter",{enumerable:!0,get:function(){return v}}),Object.defineProperty(o,"pathSetter",{enumerable:!0,get:function(){return w}}),Object.defineProperty(o,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(o,"setPath",{enumerable:!0,get:function(){return te}}),Object.defineProperty(o,"humanise",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(o,"escapeHtml",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(o,"titleCase",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(o,"expand",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(o,"toArray",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(o,"merge",{enumerable:!0,get:function(){return c}}),Object.defineProperty(o,"mergeRow",{enumerable:!0,get:function(){return m}}),Object.defineProperty(o,"Lru",{enumerable:!0,get:function(){return f}}),Object.defineProperty(o,"collator",{enumerable:!0,get:function(){return a}}),Object.defineProperty(o,"defaultCompare",{enumerable:!0,get:function(){return p}}),Object.defineProperty(o,"now",{enumerable:!0,get:function(){return s}}),Object.defineProperty(o,"nextFrame",{enumerable:!0,get:function(){return j}}),Object.defineProperty(o,"cancelFrame",{enumerable:!0,get:function(){return A}}),Object.defineProperty(o,"frameBatched",{enumerable:!0,get:function(){return E}}),Object.defineProperty(o,"settleDebounce",{enumerable:!0,get:function(){return g}}),Object.defineProperty(o,"whenIdle",{enumerable:!0,get:function(){return k}}),Object.defineProperty(o,"uid",{enumerable:!0,get:function(){return P}});const Z="1.86.5";async function U(){return Z}const S="1.86.5",G=new Set,q=2e3;function K(e){if(G.add(e),G.size>q){const t=G.values().next().value;t!==void 0&&G.delete(t)}}const J=[],R=500;function d(e,t,r){J.push({key:e,level:t,message:r.map(l=>typeof l=="string"?l:i(l)).join(" "),at:Date.now()}),J.length>R&&J.shift()}function i(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function n(){return J.map(e=>({...e}))}function b(e){if(e.length===0||typeof e[0]!="string")return e;const t=e[0].replace(/^\[lattice\]\s*/,"");return t===e[0]?e:[t,...e.slice(1)]}function N(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"warn",r),console.warn("[lattice]",...r)}function T(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"info",r),console.info("[lattice]",...r)}function O(){G.clear(),J.length=0}function I(e,t){const r=new Error(`[lattice] ${e}`);throw t!==void 0&&(r.cause=t),r}function V(e,t){e||I(t)}const X=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function D(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function L(e){return typeof e=="function"}function M(e){return e==null}function z(e){return e==null||e===""}function F(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const C=new Map;function v(e){let t=C.get(e);if(t)return t;if(!e.includes("."))t=r=>r?.[e];else{const r=e.split("."),l=r.length;t=Y=>{let B=Y;for(let W=0;W<l;W++){if(B==null)return;B=B[r[W]]}return B}}return C.set(e,t),t}const $=new Map;function w(e){let t=$.get(e);if(t)return t;if(!e.includes("."))t=(r,l)=>{r!=null&&(r[e]=l)};else{const r=e.split("."),l=r.length-1;t=(Y,B)=>{let W=Y;for(let x=0;x<l;x++){if(W==null)return;const se=r[x];W[se]==null&&(W[se]={}),W=W[se]}W!=null&&(W[r[l]]=B)}}return $.set(e,t),t}function Q(e,t){return v(t)(e)}function te(e,t,r){w(t)(e,r)}function oe(e){return e?(e.includes(".")?e.slice(e.lastIndexOf(".")+1):e).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,r=>r.toUpperCase()):""}const _={"&":"&","<":"<",">":">",'"':""","'":"'"};function ne(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,r=>_[r]):t}function ie(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ce(e,t,r){if(e!==void 0)return e===!0?{enabled:!0,...r}:e===!1?{enabled:!1}:D(e)?e:{[t]:e,enabled:!0}}function ae(e){return e==null?[]:Array.isArray(e)?e:[e]}const ue=Object.freeze(new Set(["__proto__","constructor","prototype"]));function c(e,t){if(!D(e))return D(t)?{...t}:t;if(!D(t))return t===void 0?e:t;const r={...e};for(const l of Object.keys(t)){if(ue.has(l))continue;const Y=t[l];Y!==void 0&&(r[l]=D(Y)&&D(r[l])?c(r[l],Y):Y)}return r}function m(e,t){if(!D(e)||!D(t)||e===t)return t;const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,t),r}class f{#n;#e=new Map;#t;constructor(t=256,r=null){this.#n=t,this.#t=r}get size(){return this.#e.size}get max(){return this.#n}set max(t){this.#n=t,this.#r()}has(t){return this.#e.has(t)}get(t){const r=this.#e;if(!r.has(t))return;const l=r.get(t);return r.delete(t),r.set(t,l),l}peek(t){return this.#e.get(t)}set(t,r){const l=this.#e;return l.has(t)&&l.delete(t),l.set(t,r),this.#r(),r}delete(t){const r=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(r,t),r}clear(){if(this.#t)for(const[t,r]of this.#e)this.#t(r,t);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const t=this.#e;for(;t.size>this.#n;){const r=t.keys().next().value,l=t.get(r);t.delete(r),this.#t&&this.#t(l,r)}}}const u=new Map;function a(e,t){const r=`${e||""}|${t?JSON.stringify(t):""}`;let l=u.get(r);return l||(l=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),u.set(r,l)),l}function p(e,t){if(e===t)return 0;if(e==null)return 1;if(t==null)return-1;if(typeof e=="number"&&typeof t=="number")return Number.isNaN(e)?Number.isNaN(t)?0:1:Number.isNaN(t)||e<t?-1:e>t?1:0;const r=String(e),l=String(t);return r<l?-1:r>l?1:0}function s(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const h=typeof requestAnimationFrame=="function";function j(e){return h?requestAnimationFrame(e):setTimeout(()=>e(s()),16)}function A(e){e!=null&&(h?cancelAnimationFrame(e):clearTimeout(e))}function E(e){let t=null,r=null;const l=()=>{t=null;const B=r;r=null,e(...B||[])},Y=(...B)=>{r=B,t===null&&(t=j(l))};return Y.cancel=()=>{A(t),t=null,r=null},Y.flush=()=>{t!==null&&(A(t),l())},Y}function g(e,t){let r=null,l=null;const Y=()=>{if(r=null,l===null)return;const x=l;l=null,e(...x),B()},B=()=>{r=setTimeout(Y,t),typeof r?.unref=="function"&&r.unref()},W=(...x)=>{r===null?(e(...x),B()):(l=x,clearTimeout(r),B())};return W.flush=()=>{if(r!==null&&clearTimeout(r),r=null,l===null)return;const x=l;l=null,e(...x)},W.cancel=()=>{r!==null&&clearTimeout(r),r=null,l=null},W.pending=()=>r!==null||l!==null,W}function k(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let y=0;function P(e="l"){return`${e}${(++y).toString(36)}`}}),ee("packages/modules/shared/adapter.js",function(o,H){"use strict";Object.defineProperty(o,"EVENT_NAMES",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(o,"handlerName",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"dashedName",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"aliasConfigKey",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"isHandlerProp",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"partition",{enumerable:!0,get:function(){return d}}),Object.defineProperty(o,"createGridController",{enumerable:!0,get:function(){return i}});const Z=Object.freeze(["ready","destroy","render:first","render:done","config:changed","licence:changed","model:changed","rows:changed","rows:queued","rows:deferred","rows:paused","rows:resumed","row:received","row:sent","row:copied","row:moved","source:error","source:total","stream:chunk","stream:end","stream:evicted","rowDrag:started","rowDrag:moved","rowDrag:left","rowDrag:ended","cell:changed","cell:pending","cell:confirmed","cell:reverted","cell:conflict","cell:clicked","cell:dblclicked","cell:contextmenu","cell:mouseover","cell:mouseout","cell:mousedown","cell:mouseup","cell:edit:start","cell:edit:end","row:edit:start","row:edit:end","row:clicked","row:dblclicked","row:pending","row:confirmed","row:reverted","row:conflict","form:opened","form:closed","form:saved","form:error","sort:changed","filter:changed","group:toggled","facet:computed","facet:filtered","facet:expanded","facet:failed","column:moved","column:resized","column:visible","column:pinned","column:grouped","column:pivoted","column:filter:open","column:profile:open","column:menu:open","columns:changed","columns:tagged","columngroup:changed","header:contextmenu","pivot:drill","selection:changed","range:changed","clipboard:copy","page:changed","scroll","scroll:end","size:changed","detail:toggled","detail:cell:edit:start","detail:cell:edit:end","detail:row:edit:start","detail:row:edit:end","detail:cell:changed","toolpanel:focus","highlight:changed","find:changed","tree:loading","tree:loaded","tree:loadFailed","tree:loadAborted","state:changed","state:reset","history:changed","history:applied","views:changed","view:applied","view:saved","view:removed","view:renamed","view:default","formatting:changed","redaction:changed","permissions:changed","presentation:changed","presentation:started","presentation:ended","presentation:view","presentation:scale","presentation:spotlight","presentation:captured","comment:added","comment:edited","comment:deleted","comment:failed","comment:resolved","comment:unresolved","comment:threadOpened","comment:threadClosed","comment:indexLoaded","presence:published","presence:joined","presence:updated","presence:left","presence:failed","presence:lockRefused","diff:changed","diff:swapped","timeline:attached","timeline:detached","timeline:seek","timeline:seeking","annotation:changed","validation:failed","validation:cleared","export:progress","export:request","export:done","shortcuts:opened","shortcuts:closed","print:before","print:after","beforeEdit","beforeSort","beforeFilter","beforeColumnMove","beforeColumnResize","beforeColumnHide","beforeSelect","beforeRowAdd","beforeDelete","beforeRowMove","beforeGroup","beforeRowReceive","edit:cancelled","sort:cancelled","filter:cancelled","columnMove:cancelled","columnResize:cancelled","columnHide:cancelled","selection:cancelled","rowAdd:cancelled","delete:cancelled","rowMove:cancelled","group:cancelled","rowReceive:cancelled"]),U=Object.freeze({sort:(n,b)=>n.sort.set(b||[]),filters:(n,b)=>n.filters.set(b||null),quickFilter:(n,b)=>{if(b&&typeof b=="object"){n.filters.quick(b.text||"",{mode:b.mode});return}n.filters.quick(typeof b=="string"?b:"")},selectedKeys:(n,b)=>n.selection.set(Array.isArray(b)?b:[])});function S(n){return`on${String(n).split(":").map(N=>N.charAt(0).toUpperCase()+N.slice(1)).join("")}`}function G(n){return String(n).replace(/:/g,"-")}const q=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function K(n){return Object.hasOwn(q,n)?q[n]:n}const J=Object.freeze(Object.fromEntries(Z.map(n=>[S(n),n])));function R(n){return Object.hasOwn(J,n)}function d(n){const b={},N={},T={};for(const[O,I]of Object.entries(n||{})){if(R(O)){T[O]=I;continue}if(Object.hasOwn(U,O)){N[O]=I;continue}b[O]=I}return{config:b,imperative:N,handlers:T}}function i(n){const b=n.createGrid;if(typeof b!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const N=d(n.props||{}),T=b(n.element,{...N.config});let O=N.handlers,I=N.config,V={};const X=M=>{if(!M||typeof M.type!="string")return;const z=O[S(M.type)];typeof z=="function"&&z(M)},D=T.on("*",X);for(const[M,z]of Object.entries(N.imperative))z!==void 0&&(U[M](T,z),V[M]=z);let L=!1;return{grid:T,update(M){if(L)return;const z=d(M||{});O=z.handlers;const F={};for(const[C,v]of Object.entries(z.config))Object.is(I[C],v)||(F[C]=v);for(const C of Object.keys(I))Object.hasOwn(z.config,C)||(F[C]=void 0);Object.keys(F).length&&T.setAll(F),I=z.config;for(const[C,v]of Object.entries(U)){const $=z.imperative[C];Object.is(V[C],$)||$===void 0&&!Object.hasOwn(V,C)||(v(T,$),V[C]=$)}},destroy(){L||(L=!0,D(),T.destroy())}}}}),ee("packages/modules/react/viewers.js",function(o,H){"use strict";Object.defineProperty(o,"VIEWER_EVENTS",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"VIEWER_APPLY",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"viewerHandlerName",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"partitionViewerProps",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"createViewerController",{enumerable:!0,get:function(){return d}});const U=H("packages/core/src/internal/util.js").warnOnce,S=Object.freeze({kpi:Object.freeze(["tile:click","tile:dblclick","tile:contextmenu","node:toggle","change","tile:status"]),kanban:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:move","card:reverted","card:confirmed","selection:changed","column:collapse","card:add","drag:start","drag:end","swimlane:collapse","swimlane:reorder","column:reorder","filter:changed","sprint:changed","epic:changed","card:expand","card:drill","card:edit","card:sla","beforeMove","beforeAdd","beforeEdit","beforeLaneReorder","beforeColumnReorder","beforeColumnChange","move:cancelled","add:cancelled","edit:cancelled","laneReorder:cancelled","columnReorder:cancelled","columnChange:cancelled"]),tabs:Object.freeze(["beforeTabChange","tab:changed","tabChange:cancelled"]),calendar:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:mount","range:change","beforeMove","card:move"]),chart:Object.freeze(["click","hover","leave","draw","legend"]),gantt:Object.freeze(["schedule","error"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),G=Object.freeze({kpi:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[])}),kanban:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),quickFilter:(i,n)=>i.setQuickFilter(typeof n=="string"?n:""),sprint:(i,n)=>i.setSprint(n),epic:(i,n)=>i.setEpic(n),loading:(i,n)=>i.setLoading(!!n),error:(i,n)=>i.setError(n??null)}),gantt:Object.freeze({tasks:(i,n)=>i.setTasks(Array.isArray(n)?n:[]),dependencies:(i,n)=>i.setDependencies(Array.isArray(n)?n:[])}),tabs:Object.freeze({active:(i,n)=>{typeof n=="string"&&i.activate(n)}}),calendar:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),view:(i,n)=>i.setView(n),date:(i,n)=>i.goTo(n),move:(i,n,b)=>i.move(n,b)}),chart:Object.freeze({}),layout:Object.freeze({})}),q=Object.freeze({chart:"update"});function K(i){return`on${String(i).split(":").map(b=>b.charAt(0).toUpperCase()+b.slice(1)).join("")}`}const J=Object.freeze(Object.fromEntries(Object.entries(S).map(([i,n])=>[i,Object.freeze(Object.fromEntries(n.map(b=>[K(b),b])))])));function R(i,n){const b=J[i]||{},N=G[i]||{},T={},O={},I={};for(const[V,X]of Object.entries(n||{})){if(Object.hasOwn(b,V)){I[V]=X;continue}if(Object.hasOwn(N,V)){O[V]=X,T[V]=X;continue}T[V]=X}return{config:T,live:O,handlers:I}}function d(i){const n=String(i.viewer),b=i.mount,N=i.name||n;if(typeof b!="function")throw new TypeError(`createViewerController needs a mount factory for "${n}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const T=R(n,i.props||{}),O=b(i.element,{...T.config});if(!O||typeof O!="object")throw new TypeError(`the ${N} factory returned no instance; nothing can be driven.`);let I=T.handlers,V=T.config;const X={...T.live},D=[];if(typeof O.on=="function")for(const F of S[n]||[]){const C=K(F),v=O.on(F,$=>{const w=I[C];typeof w=="function"&&w($)});typeof v=="function"&&D.push(v)}const L=q[n],M=G[n]||{};let z=!1;return{instance:O,update(F){if(z)return;const C=R(n,F||{});I=C.handlers;const v={};for(const[w,Q]of Object.entries(C.config))Object.is(V[w],Q)||(v[w]=Q);if(V=C.config,!Object.keys(v).length)return;const $=[];for(const w of Object.keys(v)){const Q=M[w];if(Q){Q(O,v[w]),X[w]=v[w];continue}L&&typeof O[L]=="function"||$.push(w)}if(L&&typeof O[L]=="function"){const w={};for(const Q of Object.keys(v))M[Q]||(w[Q]=v[Q]);Object.keys(w).length&&O[L](w)}$.length&&U(`react.viewer.${n}.mountOnly.${$.join(".")}`,`${N}: ${$.map(w=>`\`${w}\``).join(", ")} changed, but ${N} takes ${$.length===1?"it":"them"} only when the viewer is created. Nothing was applied and the viewer was NOT rebuilt — rebuilding it silently would throw away scroll position, selection and expansion. Give the component a \`key\` that changes when this must take effect, so the rebuild is yours and visible, or drive the instance through the ref.`)},destroy(){if(!z){z=!0;for(const F of D)try{F()}catch{}D.length=0,typeof O.destroy=="function"&&O.destroy()}}}}}),ee("packages/modules/presets/index.js",function(o,H){"use strict";Object.defineProperty(o,"themeFromMui",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"default",{enumerable:!0,get:function(){return J}});const U=H("packages/core/src/internal/util.js").warnOnce;function S(R,d){if(typeof R!="string")return R;const i=R.trim().match(/^#([0-9a-f]{6})$/i);if(!i)return R;const n=i[1],b=parseInt(n.slice(0,2),16),N=parseInt(n.slice(2,4),16),T=parseInt(n.slice(4,6),16);return`rgba(${b}, ${N}, ${T}, ${d})`}function G(R){const d=R.palette,i=d.mode==="dark";return{"--lattice-background":d.background.default,"--lattice-surface":d.background.paper,"--lattice-surface-alt":i?"#2a2a2a":d.grey[50],"--lattice-border-color":d.divider,"--lattice-border-strong":i?d.grey[600]:d.grey[400],"--lattice-foreground":d.text.primary,"--lattice-foreground-muted":d.text.secondary,"--lattice-header-foreground":d.text.primary,"--lattice-accent":d.primary.main,"--lattice-accent-contrast":d.primary.contrastText,"--lattice-link-color":d.primary.main,"--lattice-selected-background":S(d.primary.main,.12),"--lattice-hovered-background":S(d.text.primary,.06),"--lattice-focus-color":d.primary.main,"--lattice-variant-danger-solid":d.error.main,"--lattice-variant-danger-fill":S(d.error.main,.12),"--lattice-variant-warning-solid":d.warning.main,"--lattice-variant-warning-fill":S(d.warning.main,.12),"--lattice-variant-success-solid":d.success.main,"--lattice-variant-success-fill":S(d.success.main,.12),"--lattice-variant-info-solid":d.info.main,"--lattice-variant-info-fill":S(d.info.main,.12),"--lattice-radius":`${R.shape.borderRadius}px`,"--lattice-font-family":R.typography.fontFamily,"--lattice-font-size":`${R.typography.body2.fontSize}`,"--lattice-header-font-weight":String(R.typography.fontWeightMedium)}}function q(R){return`.lattice {
|
|
7
7
|
${Object.entries(R).map(([i,n])=>` ${i}: ${n};`).join(`
|
|
8
8
|
`)}
|
|
9
9
|
}
|
package/modules/svelte.min.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.86.
|
|
2
|
+
* Lattice Grid 1.86.5, svelte module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
6
|
-
(function(be){"use strict";var le=Object.create(null),fe=Object.create(null);function ee(o,H){le[o]=H}function de(o){var H=fe[o];if(H)return H;var Z=Object.create(null);fe[o]=Z;var U=le[o];if(!U)throw new Error("[lattice] missing module: "+o);return U(Z,de),Z}ee("packages/core/src/internal/util.js",function(o,H){"use strict";Object.defineProperty(o,"VERSION",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"reportedWarnings",{enumerable:!0,get:function(){return n}}),Object.defineProperty(o,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(o,"infoOnce",{enumerable:!0,get:function(){return T}}),Object.defineProperty(o,"resetWarnings",{enumerable:!0,get:function(){return O}}),Object.defineProperty(o,"fail",{enumerable:!0,get:function(){return I}}),Object.defineProperty(o,"invariant",{enumerable:!0,get:function(){return V}}),Object.defineProperty(o,"DEV",{enumerable:!0,get:function(){return X}}),Object.defineProperty(o,"isObject",{enumerable:!0,get:function(){return D}}),Object.defineProperty(o,"isFunction",{enumerable:!0,get:function(){return L}}),Object.defineProperty(o,"isNil",{enumerable:!0,get:function(){return M}}),Object.defineProperty(o,"isBlank",{enumerable:!0,get:function(){return z}}),Object.defineProperty(o,"isCtor",{enumerable:!0,get:function(){return F}}),Object.defineProperty(o,"pathGetter",{enumerable:!0,get:function(){return v}}),Object.defineProperty(o,"pathSetter",{enumerable:!0,get:function(){return w}}),Object.defineProperty(o,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(o,"setPath",{enumerable:!0,get:function(){return te}}),Object.defineProperty(o,"humanise",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(o,"escapeHtml",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(o,"titleCase",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(o,"expand",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(o,"toArray",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(o,"merge",{enumerable:!0,get:function(){return c}}),Object.defineProperty(o,"mergeRow",{enumerable:!0,get:function(){return m}}),Object.defineProperty(o,"Lru",{enumerable:!0,get:function(){return f}}),Object.defineProperty(o,"collator",{enumerable:!0,get:function(){return a}}),Object.defineProperty(o,"defaultCompare",{enumerable:!0,get:function(){return p}}),Object.defineProperty(o,"now",{enumerable:!0,get:function(){return s}}),Object.defineProperty(o,"nextFrame",{enumerable:!0,get:function(){return j}}),Object.defineProperty(o,"cancelFrame",{enumerable:!0,get:function(){return A}}),Object.defineProperty(o,"frameBatched",{enumerable:!0,get:function(){return E}}),Object.defineProperty(o,"settleDebounce",{enumerable:!0,get:function(){return g}}),Object.defineProperty(o,"whenIdle",{enumerable:!0,get:function(){return k}}),Object.defineProperty(o,"uid",{enumerable:!0,get:function(){return P}});const Z="1.86.4";async function U(){return Z}const S="1.86.4",G=new Set,q=2e3;function K(e){if(G.add(e),G.size>q){const t=G.values().next().value;t!==void 0&&G.delete(t)}}const J=[],R=500;function d(e,t,r){J.push({key:e,level:t,message:r.map(l=>typeof l=="string"?l:i(l)).join(" "),at:Date.now()}),J.length>R&&J.shift()}function i(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function n(){return J.map(e=>({...e}))}function b(e){if(e.length===0||typeof e[0]!="string")return e;const t=e[0].replace(/^\[lattice\]\s*/,"");return t===e[0]?e:[t,...e.slice(1)]}function N(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"warn",r),console.warn("[lattice]",...r)}function T(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"info",r),console.info("[lattice]",...r)}function O(){G.clear(),J.length=0}function I(e,t){const r=new Error(`[lattice] ${e}`);throw t!==void 0&&(r.cause=t),r}function V(e,t){e||I(t)}const X=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function D(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function L(e){return typeof e=="function"}function M(e){return e==null}function z(e){return e==null||e===""}function F(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const C=new Map;function v(e){let t=C.get(e);if(t)return t;if(!e.includes("."))t=r=>r?.[e];else{const r=e.split("."),l=r.length;t=Y=>{let B=Y;for(let W=0;W<l;W++){if(B==null)return;B=B[r[W]]}return B}}return C.set(e,t),t}const $=new Map;function w(e){let t=$.get(e);if(t)return t;if(!e.includes("."))t=(r,l)=>{r!=null&&(r[e]=l)};else{const r=e.split("."),l=r.length-1;t=(Y,B)=>{let W=Y;for(let x=0;x<l;x++){if(W==null)return;const se=r[x];W[se]==null&&(W[se]={}),W=W[se]}W!=null&&(W[r[l]]=B)}}return $.set(e,t),t}function Q(e,t){return v(t)(e)}function te(e,t,r){w(t)(e,r)}function oe(e){return e?(e.includes(".")?e.slice(e.lastIndexOf(".")+1):e).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,r=>r.toUpperCase()):""}const _={"&":"&","<":"<",">":">",'"':""","'":"'"};function ne(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,r=>_[r]):t}function ie(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ce(e,t,r){if(e!==void 0)return e===!0?{enabled:!0,...r}:e===!1?{enabled:!1}:D(e)?e:{[t]:e,enabled:!0}}function ae(e){return e==null?[]:Array.isArray(e)?e:[e]}const ue=Object.freeze(new Set(["__proto__","constructor","prototype"]));function c(e,t){if(!D(e))return D(t)?{...t}:t;if(!D(t))return t===void 0?e:t;const r={...e};for(const l of Object.keys(t)){if(ue.has(l))continue;const Y=t[l];Y!==void 0&&(r[l]=D(Y)&&D(r[l])?c(r[l],Y):Y)}return r}function m(e,t){if(!D(e)||!D(t)||e===t)return t;const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,t),r}class f{#n;#e=new Map;#t;constructor(t=256,r=null){this.#n=t,this.#t=r}get size(){return this.#e.size}get max(){return this.#n}set max(t){this.#n=t,this.#r()}has(t){return this.#e.has(t)}get(t){const r=this.#e;if(!r.has(t))return;const l=r.get(t);return r.delete(t),r.set(t,l),l}peek(t){return this.#e.get(t)}set(t,r){const l=this.#e;return l.has(t)&&l.delete(t),l.set(t,r),this.#r(),r}delete(t){const r=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(r,t),r}clear(){if(this.#t)for(const[t,r]of this.#e)this.#t(r,t);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const t=this.#e;for(;t.size>this.#n;){const r=t.keys().next().value,l=t.get(r);t.delete(r),this.#t&&this.#t(l,r)}}}const u=new Map;function a(e,t){const r=`${e||""}|${t?JSON.stringify(t):""}`;let l=u.get(r);return l||(l=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),u.set(r,l)),l}function p(e,t){if(e===t)return 0;if(e==null)return 1;if(t==null)return-1;if(typeof e=="number"&&typeof t=="number")return Number.isNaN(e)?Number.isNaN(t)?0:1:Number.isNaN(t)||e<t?-1:e>t?1:0;const r=String(e),l=String(t);return r<l?-1:r>l?1:0}function s(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const h=typeof requestAnimationFrame=="function";function j(e){return h?requestAnimationFrame(e):setTimeout(()=>e(s()),16)}function A(e){e!=null&&(h?cancelAnimationFrame(e):clearTimeout(e))}function E(e){let t=null,r=null;const l=()=>{t=null;const B=r;r=null,e(...B||[])},Y=(...B)=>{r=B,t===null&&(t=j(l))};return Y.cancel=()=>{A(t),t=null,r=null},Y.flush=()=>{t!==null&&(A(t),l())},Y}function g(e,t){let r=null,l=null;const Y=()=>{if(r=null,l===null)return;const x=l;l=null,e(...x),B()},B=()=>{r=setTimeout(Y,t),typeof r?.unref=="function"&&r.unref()},W=(...x)=>{r===null?(e(...x),B()):(l=x,clearTimeout(r),B())};return W.flush=()=>{if(r!==null&&clearTimeout(r),r=null,l===null)return;const x=l;l=null,e(...x)},W.cancel=()=>{r!==null&&clearTimeout(r),r=null,l=null},W.pending=()=>r!==null||l!==null,W}function k(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let y=0;function P(e="l"){return`${e}${(++y).toString(36)}`}}),ee("packages/modules/shared/adapter.js",function(o,H){"use strict";Object.defineProperty(o,"EVENT_NAMES",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(o,"handlerName",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"dashedName",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"aliasConfigKey",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"isHandlerProp",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"partition",{enumerable:!0,get:function(){return d}}),Object.defineProperty(o,"createGridController",{enumerable:!0,get:function(){return i}});const Z=Object.freeze(["ready","destroy","render:first","render:done","config:changed","licence:changed","model:changed","rows:changed","rows:queued","rows:deferred","rows:paused","rows:resumed","row:received","row:sent","row:copied","row:moved","source:error","source:total","stream:chunk","stream:end","stream:evicted","rowDrag:started","rowDrag:moved","rowDrag:left","rowDrag:ended","cell:changed","cell:pending","cell:confirmed","cell:reverted","cell:conflict","cell:clicked","cell:dblclicked","cell:contextmenu","cell:mouseover","cell:mouseout","cell:mousedown","cell:mouseup","cell:edit:start","cell:edit:end","row:edit:start","row:edit:end","row:clicked","row:dblclicked","row:pending","row:confirmed","row:reverted","row:conflict","form:opened","form:closed","form:saved","form:error","sort:changed","filter:changed","group:toggled","facet:computed","facet:filtered","facet:expanded","facet:failed","column:moved","column:resized","column:visible","column:pinned","column:grouped","column:pivoted","column:filter:open","column:profile:open","column:menu:open","columns:changed","columns:tagged","columngroup:changed","header:contextmenu","pivot:drill","selection:changed","range:changed","clipboard:copy","page:changed","scroll","scroll:end","size:changed","detail:toggled","detail:cell:edit:start","detail:cell:edit:end","detail:row:edit:start","detail:row:edit:end","detail:cell:changed","toolpanel:focus","highlight:changed","find:changed","tree:loading","tree:loaded","tree:loadFailed","tree:loadAborted","state:changed","state:reset","history:changed","history:applied","views:changed","view:applied","view:saved","view:removed","view:renamed","view:default","formatting:changed","redaction:changed","permissions:changed","presentation:changed","presentation:started","presentation:ended","presentation:view","presentation:scale","presentation:spotlight","presentation:captured","comment:added","comment:edited","comment:deleted","comment:failed","comment:resolved","comment:unresolved","comment:threadOpened","comment:threadClosed","comment:indexLoaded","presence:published","presence:joined","presence:updated","presence:left","presence:failed","presence:lockRefused","diff:changed","diff:swapped","timeline:attached","timeline:detached","timeline:seek","timeline:seeking","annotation:changed","validation:failed","validation:cleared","export:progress","export:request","export:done","shortcuts:opened","shortcuts:closed","print:before","print:after","beforeEdit","beforeSort","beforeFilter","beforeColumnMove","beforeColumnResize","beforeColumnHide","beforeSelect","beforeRowAdd","beforeDelete","beforeRowMove","beforeGroup","beforeRowReceive","edit:cancelled","sort:cancelled","filter:cancelled","columnMove:cancelled","columnResize:cancelled","columnHide:cancelled","selection:cancelled","rowAdd:cancelled","delete:cancelled","rowMove:cancelled","group:cancelled","rowReceive:cancelled"]),U=Object.freeze({sort:(n,b)=>n.sort.set(b||[]),filters:(n,b)=>n.filters.set(b||null),quickFilter:(n,b)=>{if(b&&typeof b=="object"){n.filters.quick(b.text||"",{mode:b.mode});return}n.filters.quick(typeof b=="string"?b:"")},selectedKeys:(n,b)=>n.selection.set(Array.isArray(b)?b:[])});function S(n){return`on${String(n).split(":").map(N=>N.charAt(0).toUpperCase()+N.slice(1)).join("")}`}function G(n){return String(n).replace(/:/g,"-")}const q=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function K(n){return Object.hasOwn(q,n)?q[n]:n}const J=Object.freeze(Object.fromEntries(Z.map(n=>[S(n),n])));function R(n){return Object.hasOwn(J,n)}function d(n){const b={},N={},T={};for(const[O,I]of Object.entries(n||{})){if(R(O)){T[O]=I;continue}if(Object.hasOwn(U,O)){N[O]=I;continue}b[O]=I}return{config:b,imperative:N,handlers:T}}function i(n){const b=n.createGrid;if(typeof b!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const N=d(n.props||{}),T=b(n.element,{...N.config});let O=N.handlers,I=N.config,V={};const X=M=>{if(!M||typeof M.type!="string")return;const z=O[S(M.type)];typeof z=="function"&&z(M)},D=T.on("*",X);for(const[M,z]of Object.entries(N.imperative))z!==void 0&&(U[M](T,z),V[M]=z);let L=!1;return{grid:T,update(M){if(L)return;const z=d(M||{});O=z.handlers;const F={};for(const[C,v]of Object.entries(z.config))Object.is(I[C],v)||(F[C]=v);for(const C of Object.keys(I))Object.hasOwn(z.config,C)||(F[C]=void 0);Object.keys(F).length&&T.setAll(F),I=z.config;for(const[C,v]of Object.entries(U)){const $=z.imperative[C];Object.is(V[C],$)||$===void 0&&!Object.hasOwn(V,C)||(v(T,$),V[C]=$)}},destroy(){L||(L=!0,D(),T.destroy())}}}}),ee("packages/modules/react/viewers.js",function(o,H){"use strict";Object.defineProperty(o,"VIEWER_EVENTS",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"VIEWER_APPLY",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"viewerHandlerName",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"partitionViewerProps",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"createViewerController",{enumerable:!0,get:function(){return d}});const U=H("packages/core/src/internal/util.js").warnOnce,S=Object.freeze({kpi:Object.freeze(["tile:click","tile:dblclick","tile:contextmenu","node:toggle","change","tile:status"]),kanban:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:move","card:reverted","card:confirmed","selection:changed","column:collapse","card:add","drag:start","drag:end","swimlane:collapse","swimlane:reorder","column:reorder","filter:changed","sprint:changed","epic:changed","card:expand","card:drill","card:edit","card:sla","beforeMove","beforeAdd","beforeEdit","beforeLaneReorder","beforeColumnReorder","beforeColumnChange","move:cancelled","add:cancelled","edit:cancelled","laneReorder:cancelled","columnReorder:cancelled","columnChange:cancelled"]),tabs:Object.freeze(["beforeTabChange","tab:changed","tabChange:cancelled"]),calendar:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:mount","range:change","beforeMove","card:move"]),chart:Object.freeze(["click","hover","leave","draw","legend"]),gantt:Object.freeze(["schedule","error"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),G=Object.freeze({kpi:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[])}),kanban:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),quickFilter:(i,n)=>i.setQuickFilter(typeof n=="string"?n:""),sprint:(i,n)=>i.setSprint(n),epic:(i,n)=>i.setEpic(n),loading:(i,n)=>i.setLoading(!!n),error:(i,n)=>i.setError(n??null)}),gantt:Object.freeze({tasks:(i,n)=>i.setTasks(Array.isArray(n)?n:[]),dependencies:(i,n)=>i.setDependencies(Array.isArray(n)?n:[])}),tabs:Object.freeze({active:(i,n)=>{typeof n=="string"&&i.activate(n)}}),calendar:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),view:(i,n)=>i.setView(n),date:(i,n)=>i.goTo(n),move:(i,n,b)=>i.move(n,b)}),chart:Object.freeze({}),layout:Object.freeze({})}),q=Object.freeze({chart:"update"});function K(i){return`on${String(i).split(":").map(b=>b.charAt(0).toUpperCase()+b.slice(1)).join("")}`}const J=Object.freeze(Object.fromEntries(Object.entries(S).map(([i,n])=>[i,Object.freeze(Object.fromEntries(n.map(b=>[K(b),b])))])));function R(i,n){const b=J[i]||{},N=G[i]||{},T={},O={},I={};for(const[V,X]of Object.entries(n||{})){if(Object.hasOwn(b,V)){I[V]=X;continue}if(Object.hasOwn(N,V)){O[V]=X,T[V]=X;continue}T[V]=X}return{config:T,live:O,handlers:I}}function d(i){const n=String(i.viewer),b=i.mount,N=i.name||n;if(typeof b!="function")throw new TypeError(`createViewerController needs a mount factory for "${n}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const T=R(n,i.props||{}),O=b(i.element,{...T.config});if(!O||typeof O!="object")throw new TypeError(`the ${N} factory returned no instance; nothing can be driven.`);let I=T.handlers,V=T.config;const X={...T.live},D=[];if(typeof O.on=="function")for(const F of S[n]||[]){const C=K(F),v=O.on(F,$=>{const w=I[C];typeof w=="function"&&w($)});typeof v=="function"&&D.push(v)}const L=q[n],M=G[n]||{};let z=!1;return{instance:O,update(F){if(z)return;const C=R(n,F||{});I=C.handlers;const v={};for(const[w,Q]of Object.entries(C.config))Object.is(V[w],Q)||(v[w]=Q);if(V=C.config,!Object.keys(v).length)return;const $=[];for(const w of Object.keys(v)){const Q=M[w];if(Q){Q(O,v[w]),X[w]=v[w];continue}L&&typeof O[L]=="function"||$.push(w)}if(L&&typeof O[L]=="function"){const w={};for(const Q of Object.keys(v))M[Q]||(w[Q]=v[Q]);Object.keys(w).length&&O[L](w)}$.length&&U(`react.viewer.${n}.mountOnly.${$.join(".")}`,`${N}: ${$.map(w=>`\`${w}\``).join(", ")} changed, but ${N} takes ${$.length===1?"it":"them"} only when the viewer is created. Nothing was applied and the viewer was NOT rebuilt — rebuilding it silently would throw away scroll position, selection and expansion. Give the component a \`key\` that changes when this must take effect, so the rebuild is yours and visible, or drive the instance through the ref.`)},destroy(){if(!z){z=!0;for(const F of D)try{F()}catch{}D.length=0,typeof O.destroy=="function"&&O.destroy()}}}}}),ee("packages/modules/presets/index.js",function(o,H){"use strict";Object.defineProperty(o,"themeFromMui",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"default",{enumerable:!0,get:function(){return J}});const U=H("packages/core/src/internal/util.js").warnOnce;function S(R,d){if(typeof R!="string")return R;const i=R.trim().match(/^#([0-9a-f]{6})$/i);if(!i)return R;const n=i[1],b=parseInt(n.slice(0,2),16),N=parseInt(n.slice(2,4),16),T=parseInt(n.slice(4,6),16);return`rgba(${b}, ${N}, ${T}, ${d})`}function G(R){const d=R.palette,i=d.mode==="dark";return{"--lattice-background":d.background.default,"--lattice-surface":d.background.paper,"--lattice-surface-alt":i?"#2a2a2a":d.grey[50],"--lattice-border-color":d.divider,"--lattice-border-strong":i?d.grey[600]:d.grey[400],"--lattice-foreground":d.text.primary,"--lattice-foreground-muted":d.text.secondary,"--lattice-header-foreground":d.text.primary,"--lattice-accent":d.primary.main,"--lattice-accent-contrast":d.primary.contrastText,"--lattice-link-color":d.primary.main,"--lattice-selected-background":S(d.primary.main,.12),"--lattice-hovered-background":S(d.text.primary,.06),"--lattice-focus-color":d.primary.main,"--lattice-variant-danger-solid":d.error.main,"--lattice-variant-danger-fill":S(d.error.main,.12),"--lattice-variant-warning-solid":d.warning.main,"--lattice-variant-warning-fill":S(d.warning.main,.12),"--lattice-variant-success-solid":d.success.main,"--lattice-variant-success-fill":S(d.success.main,.12),"--lattice-variant-info-solid":d.info.main,"--lattice-variant-info-fill":S(d.info.main,.12),"--lattice-radius":`${R.shape.borderRadius}px`,"--lattice-font-family":R.typography.fontFamily,"--lattice-font-size":`${R.typography.body2.fontSize}`,"--lattice-header-font-weight":String(R.typography.fontWeightMedium)}}function q(R){return`.lattice {
|
|
6
|
+
(function(be){"use strict";var le=Object.create(null),fe=Object.create(null);function ee(o,H){le[o]=H}function de(o){var H=fe[o];if(H)return H;var Z=Object.create(null);fe[o]=Z;var U=le[o];if(!U)throw new Error("[lattice] missing module: "+o);return U(Z,de),Z}ee("packages/core/src/internal/util.js",function(o,H){"use strict";Object.defineProperty(o,"VERSION",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"reportedWarnings",{enumerable:!0,get:function(){return n}}),Object.defineProperty(o,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(o,"infoOnce",{enumerable:!0,get:function(){return T}}),Object.defineProperty(o,"resetWarnings",{enumerable:!0,get:function(){return O}}),Object.defineProperty(o,"fail",{enumerable:!0,get:function(){return I}}),Object.defineProperty(o,"invariant",{enumerable:!0,get:function(){return V}}),Object.defineProperty(o,"DEV",{enumerable:!0,get:function(){return X}}),Object.defineProperty(o,"isObject",{enumerable:!0,get:function(){return D}}),Object.defineProperty(o,"isFunction",{enumerable:!0,get:function(){return L}}),Object.defineProperty(o,"isNil",{enumerable:!0,get:function(){return M}}),Object.defineProperty(o,"isBlank",{enumerable:!0,get:function(){return z}}),Object.defineProperty(o,"isCtor",{enumerable:!0,get:function(){return F}}),Object.defineProperty(o,"pathGetter",{enumerable:!0,get:function(){return v}}),Object.defineProperty(o,"pathSetter",{enumerable:!0,get:function(){return w}}),Object.defineProperty(o,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(o,"setPath",{enumerable:!0,get:function(){return te}}),Object.defineProperty(o,"humanise",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(o,"escapeHtml",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(o,"titleCase",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(o,"expand",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(o,"toArray",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(o,"merge",{enumerable:!0,get:function(){return c}}),Object.defineProperty(o,"mergeRow",{enumerable:!0,get:function(){return m}}),Object.defineProperty(o,"Lru",{enumerable:!0,get:function(){return f}}),Object.defineProperty(o,"collator",{enumerable:!0,get:function(){return a}}),Object.defineProperty(o,"defaultCompare",{enumerable:!0,get:function(){return p}}),Object.defineProperty(o,"now",{enumerable:!0,get:function(){return s}}),Object.defineProperty(o,"nextFrame",{enumerable:!0,get:function(){return j}}),Object.defineProperty(o,"cancelFrame",{enumerable:!0,get:function(){return A}}),Object.defineProperty(o,"frameBatched",{enumerable:!0,get:function(){return E}}),Object.defineProperty(o,"settleDebounce",{enumerable:!0,get:function(){return g}}),Object.defineProperty(o,"whenIdle",{enumerable:!0,get:function(){return k}}),Object.defineProperty(o,"uid",{enumerable:!0,get:function(){return P}});const Z="1.86.5";async function U(){return Z}const S="1.86.5",G=new Set,q=2e3;function K(e){if(G.add(e),G.size>q){const t=G.values().next().value;t!==void 0&&G.delete(t)}}const J=[],R=500;function d(e,t,r){J.push({key:e,level:t,message:r.map(l=>typeof l=="string"?l:i(l)).join(" "),at:Date.now()}),J.length>R&&J.shift()}function i(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function n(){return J.map(e=>({...e}))}function b(e){if(e.length===0||typeof e[0]!="string")return e;const t=e[0].replace(/^\[lattice\]\s*/,"");return t===e[0]?e:[t,...e.slice(1)]}function N(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"warn",r),console.warn("[lattice]",...r)}function T(e,...t){if(G.has(e))return;K(e);const r=b(t);d(e,"info",r),console.info("[lattice]",...r)}function O(){G.clear(),J.length=0}function I(e,t){const r=new Error(`[lattice] ${e}`);throw t!==void 0&&(r.cause=t),r}function V(e,t){e||I(t)}const X=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function D(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function L(e){return typeof e=="function"}function M(e){return e==null}function z(e){return e==null||e===""}function F(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const C=new Map;function v(e){let t=C.get(e);if(t)return t;if(!e.includes("."))t=r=>r?.[e];else{const r=e.split("."),l=r.length;t=Y=>{let B=Y;for(let W=0;W<l;W++){if(B==null)return;B=B[r[W]]}return B}}return C.set(e,t),t}const $=new Map;function w(e){let t=$.get(e);if(t)return t;if(!e.includes("."))t=(r,l)=>{r!=null&&(r[e]=l)};else{const r=e.split("."),l=r.length-1;t=(Y,B)=>{let W=Y;for(let x=0;x<l;x++){if(W==null)return;const se=r[x];W[se]==null&&(W[se]={}),W=W[se]}W!=null&&(W[r[l]]=B)}}return $.set(e,t),t}function Q(e,t){return v(t)(e)}function te(e,t,r){w(t)(e,r)}function oe(e){return e?(e.includes(".")?e.slice(e.lastIndexOf(".")+1):e).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,r=>r.toUpperCase()):""}const _={"&":"&","<":"<",">":">",'"':""","'":"'"};function ne(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,r=>_[r]):t}function ie(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ce(e,t,r){if(e!==void 0)return e===!0?{enabled:!0,...r}:e===!1?{enabled:!1}:D(e)?e:{[t]:e,enabled:!0}}function ae(e){return e==null?[]:Array.isArray(e)?e:[e]}const ue=Object.freeze(new Set(["__proto__","constructor","prototype"]));function c(e,t){if(!D(e))return D(t)?{...t}:t;if(!D(t))return t===void 0?e:t;const r={...e};for(const l of Object.keys(t)){if(ue.has(l))continue;const Y=t[l];Y!==void 0&&(r[l]=D(Y)&&D(r[l])?c(r[l],Y):Y)}return r}function m(e,t){if(!D(e)||!D(t)||e===t)return t;const r=Object.create(Object.getPrototypeOf(e));return Object.assign(r,e,t),r}class f{#n;#e=new Map;#t;constructor(t=256,r=null){this.#n=t,this.#t=r}get size(){return this.#e.size}get max(){return this.#n}set max(t){this.#n=t,this.#r()}has(t){return this.#e.has(t)}get(t){const r=this.#e;if(!r.has(t))return;const l=r.get(t);return r.delete(t),r.set(t,l),l}peek(t){return this.#e.get(t)}set(t,r){const l=this.#e;return l.has(t)&&l.delete(t),l.set(t,r),this.#r(),r}delete(t){const r=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(r,t),r}clear(){if(this.#t)for(const[t,r]of this.#e)this.#t(r,t);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const t=this.#e;for(;t.size>this.#n;){const r=t.keys().next().value,l=t.get(r);t.delete(r),this.#t&&this.#t(l,r)}}}const u=new Map;function a(e,t){const r=`${e||""}|${t?JSON.stringify(t):""}`;let l=u.get(r);return l||(l=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),u.set(r,l)),l}function p(e,t){if(e===t)return 0;if(e==null)return 1;if(t==null)return-1;if(typeof e=="number"&&typeof t=="number")return Number.isNaN(e)?Number.isNaN(t)?0:1:Number.isNaN(t)||e<t?-1:e>t?1:0;const r=String(e),l=String(t);return r<l?-1:r>l?1:0}function s(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const h=typeof requestAnimationFrame=="function";function j(e){return h?requestAnimationFrame(e):setTimeout(()=>e(s()),16)}function A(e){e!=null&&(h?cancelAnimationFrame(e):clearTimeout(e))}function E(e){let t=null,r=null;const l=()=>{t=null;const B=r;r=null,e(...B||[])},Y=(...B)=>{r=B,t===null&&(t=j(l))};return Y.cancel=()=>{A(t),t=null,r=null},Y.flush=()=>{t!==null&&(A(t),l())},Y}function g(e,t){let r=null,l=null;const Y=()=>{if(r=null,l===null)return;const x=l;l=null,e(...x),B()},B=()=>{r=setTimeout(Y,t),typeof r?.unref=="function"&&r.unref()},W=(...x)=>{r===null?(e(...x),B()):(l=x,clearTimeout(r),B())};return W.flush=()=>{if(r!==null&&clearTimeout(r),r=null,l===null)return;const x=l;l=null,e(...x)},W.cancel=()=>{r!==null&&clearTimeout(r),r=null,l=null},W.pending=()=>r!==null||l!==null,W}function k(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let y=0;function P(e="l"){return`${e}${(++y).toString(36)}`}}),ee("packages/modules/shared/adapter.js",function(o,H){"use strict";Object.defineProperty(o,"EVENT_NAMES",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(o,"handlerName",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"dashedName",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"aliasConfigKey",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"isHandlerProp",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"partition",{enumerable:!0,get:function(){return d}}),Object.defineProperty(o,"createGridController",{enumerable:!0,get:function(){return i}});const Z=Object.freeze(["ready","destroy","render:first","render:done","config:changed","licence:changed","model:changed","rows:changed","rows:queued","rows:deferred","rows:paused","rows:resumed","row:received","row:sent","row:copied","row:moved","source:error","source:total","stream:chunk","stream:end","stream:evicted","rowDrag:started","rowDrag:moved","rowDrag:left","rowDrag:ended","cell:changed","cell:pending","cell:confirmed","cell:reverted","cell:conflict","cell:clicked","cell:dblclicked","cell:contextmenu","cell:mouseover","cell:mouseout","cell:mousedown","cell:mouseup","cell:edit:start","cell:edit:end","row:edit:start","row:edit:end","row:clicked","row:dblclicked","row:pending","row:confirmed","row:reverted","row:conflict","form:opened","form:closed","form:saved","form:error","sort:changed","filter:changed","group:toggled","facet:computed","facet:filtered","facet:expanded","facet:failed","column:moved","column:resized","column:visible","column:pinned","column:grouped","column:pivoted","column:filter:open","column:profile:open","column:menu:open","columns:changed","columns:tagged","columngroup:changed","header:contextmenu","pivot:drill","selection:changed","range:changed","clipboard:copy","page:changed","scroll","scroll:end","size:changed","detail:toggled","detail:cell:edit:start","detail:cell:edit:end","detail:row:edit:start","detail:row:edit:end","detail:cell:changed","toolpanel:focus","highlight:changed","find:changed","tree:loading","tree:loaded","tree:loadFailed","tree:loadAborted","state:changed","state:reset","history:changed","history:applied","views:changed","view:applied","view:saved","view:removed","view:renamed","view:default","formatting:changed","redaction:changed","permissions:changed","presentation:changed","presentation:started","presentation:ended","presentation:view","presentation:scale","presentation:spotlight","presentation:captured","comment:added","comment:edited","comment:deleted","comment:failed","comment:resolved","comment:unresolved","comment:threadOpened","comment:threadClosed","comment:indexLoaded","presence:published","presence:joined","presence:updated","presence:left","presence:failed","presence:lockRefused","diff:changed","diff:swapped","timeline:attached","timeline:detached","timeline:seek","timeline:seeking","annotation:changed","validation:failed","validation:cleared","export:progress","export:request","export:done","shortcuts:opened","shortcuts:closed","print:before","print:after","beforeEdit","beforeSort","beforeFilter","beforeColumnMove","beforeColumnResize","beforeColumnHide","beforeSelect","beforeRowAdd","beforeDelete","beforeRowMove","beforeGroup","beforeRowReceive","edit:cancelled","sort:cancelled","filter:cancelled","columnMove:cancelled","columnResize:cancelled","columnHide:cancelled","selection:cancelled","rowAdd:cancelled","delete:cancelled","rowMove:cancelled","group:cancelled","rowReceive:cancelled"]),U=Object.freeze({sort:(n,b)=>n.sort.set(b||[]),filters:(n,b)=>n.filters.set(b||null),quickFilter:(n,b)=>{if(b&&typeof b=="object"){n.filters.quick(b.text||"",{mode:b.mode});return}n.filters.quick(typeof b=="string"?b:"")},selectedKeys:(n,b)=>n.selection.set(Array.isArray(b)?b:[])});function S(n){return`on${String(n).split(":").map(N=>N.charAt(0).toUpperCase()+N.slice(1)).join("")}`}function G(n){return String(n).replace(/:/g,"-")}const q=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function K(n){return Object.hasOwn(q,n)?q[n]:n}const J=Object.freeze(Object.fromEntries(Z.map(n=>[S(n),n])));function R(n){return Object.hasOwn(J,n)}function d(n){const b={},N={},T={};for(const[O,I]of Object.entries(n||{})){if(R(O)){T[O]=I;continue}if(Object.hasOwn(U,O)){N[O]=I;continue}b[O]=I}return{config:b,imperative:N,handlers:T}}function i(n){const b=n.createGrid;if(typeof b!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const N=d(n.props||{}),T=b(n.element,{...N.config});let O=N.handlers,I=N.config,V={};const X=M=>{if(!M||typeof M.type!="string")return;const z=O[S(M.type)];typeof z=="function"&&z(M)},D=T.on("*",X);for(const[M,z]of Object.entries(N.imperative))z!==void 0&&(U[M](T,z),V[M]=z);let L=!1;return{grid:T,update(M){if(L)return;const z=d(M||{});O=z.handlers;const F={};for(const[C,v]of Object.entries(z.config))Object.is(I[C],v)||(F[C]=v);for(const C of Object.keys(I))Object.hasOwn(z.config,C)||(F[C]=void 0);Object.keys(F).length&&T.setAll(F),I=z.config;for(const[C,v]of Object.entries(U)){const $=z.imperative[C];Object.is(V[C],$)||$===void 0&&!Object.hasOwn(V,C)||(v(T,$),V[C]=$)}},destroy(){L||(L=!0,D(),T.destroy())}}}}),ee("packages/modules/react/viewers.js",function(o,H){"use strict";Object.defineProperty(o,"VIEWER_EVENTS",{enumerable:!0,get:function(){return S}}),Object.defineProperty(o,"VIEWER_APPLY",{enumerable:!0,get:function(){return G}}),Object.defineProperty(o,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return q}}),Object.defineProperty(o,"viewerHandlerName",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"partitionViewerProps",{enumerable:!0,get:function(){return R}}),Object.defineProperty(o,"createViewerController",{enumerable:!0,get:function(){return d}});const U=H("packages/core/src/internal/util.js").warnOnce,S=Object.freeze({kpi:Object.freeze(["tile:click","tile:dblclick","tile:contextmenu","node:toggle","change","tile:status"]),kanban:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:move","card:reverted","card:confirmed","selection:changed","column:collapse","card:add","drag:start","drag:end","swimlane:collapse","swimlane:reorder","column:reorder","filter:changed","sprint:changed","epic:changed","card:expand","card:drill","card:edit","card:sla","beforeMove","beforeAdd","beforeEdit","beforeLaneReorder","beforeColumnReorder","beforeColumnChange","move:cancelled","add:cancelled","edit:cancelled","laneReorder:cancelled","columnReorder:cancelled","columnChange:cancelled"]),tabs:Object.freeze(["beforeTabChange","tab:changed","tabChange:cancelled"]),calendar:Object.freeze(["card:click","card:dblclick","card:contextmenu","card:mount","range:change","beforeMove","card:move"]),chart:Object.freeze(["click","hover","leave","draw","legend"]),gantt:Object.freeze(["schedule","error"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),G=Object.freeze({kpi:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[])}),kanban:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),quickFilter:(i,n)=>i.setQuickFilter(typeof n=="string"?n:""),sprint:(i,n)=>i.setSprint(n),epic:(i,n)=>i.setEpic(n),loading:(i,n)=>i.setLoading(!!n),error:(i,n)=>i.setError(n??null)}),gantt:Object.freeze({tasks:(i,n)=>i.setTasks(Array.isArray(n)?n:[]),dependencies:(i,n)=>i.setDependencies(Array.isArray(n)?n:[])}),tabs:Object.freeze({active:(i,n)=>{typeof n=="string"&&i.activate(n)}}),calendar:Object.freeze({rows:(i,n)=>i.setRows(Array.isArray(n)?n:[]),view:(i,n)=>i.setView(n),date:(i,n)=>i.goTo(n),move:(i,n,b)=>i.move(n,b)}),chart:Object.freeze({}),layout:Object.freeze({})}),q=Object.freeze({chart:"update"});function K(i){return`on${String(i).split(":").map(b=>b.charAt(0).toUpperCase()+b.slice(1)).join("")}`}const J=Object.freeze(Object.fromEntries(Object.entries(S).map(([i,n])=>[i,Object.freeze(Object.fromEntries(n.map(b=>[K(b),b])))])));function R(i,n){const b=J[i]||{},N=G[i]||{},T={},O={},I={};for(const[V,X]of Object.entries(n||{})){if(Object.hasOwn(b,V)){I[V]=X;continue}if(Object.hasOwn(N,V)){O[V]=X,T[V]=X;continue}T[V]=X}return{config:T,live:O,handlers:I}}function d(i){const n=String(i.viewer),b=i.mount,N=i.name||n;if(typeof b!="function")throw new TypeError(`createViewerController needs a mount factory for "${n}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const T=R(n,i.props||{}),O=b(i.element,{...T.config});if(!O||typeof O!="object")throw new TypeError(`the ${N} factory returned no instance; nothing can be driven.`);let I=T.handlers,V=T.config;const X={...T.live},D=[];if(typeof O.on=="function")for(const F of S[n]||[]){const C=K(F),v=O.on(F,$=>{const w=I[C];typeof w=="function"&&w($)});typeof v=="function"&&D.push(v)}const L=q[n],M=G[n]||{};let z=!1;return{instance:O,update(F){if(z)return;const C=R(n,F||{});I=C.handlers;const v={};for(const[w,Q]of Object.entries(C.config))Object.is(V[w],Q)||(v[w]=Q);if(V=C.config,!Object.keys(v).length)return;const $=[];for(const w of Object.keys(v)){const Q=M[w];if(Q){Q(O,v[w]),X[w]=v[w];continue}L&&typeof O[L]=="function"||$.push(w)}if(L&&typeof O[L]=="function"){const w={};for(const Q of Object.keys(v))M[Q]||(w[Q]=v[Q]);Object.keys(w).length&&O[L](w)}$.length&&U(`react.viewer.${n}.mountOnly.${$.join(".")}`,`${N}: ${$.map(w=>`\`${w}\``).join(", ")} changed, but ${N} takes ${$.length===1?"it":"them"} only when the viewer is created. Nothing was applied and the viewer was NOT rebuilt — rebuilding it silently would throw away scroll position, selection and expansion. Give the component a \`key\` that changes when this must take effect, so the rebuild is yours and visible, or drive the instance through the ref.`)},destroy(){if(!z){z=!0;for(const F of D)try{F()}catch{}D.length=0,typeof O.destroy=="function"&&O.destroy()}}}}}),ee("packages/modules/presets/index.js",function(o,H){"use strict";Object.defineProperty(o,"themeFromMui",{enumerable:!0,get:function(){return K}}),Object.defineProperty(o,"default",{enumerable:!0,get:function(){return J}});const U=H("packages/core/src/internal/util.js").warnOnce;function S(R,d){if(typeof R!="string")return R;const i=R.trim().match(/^#([0-9a-f]{6})$/i);if(!i)return R;const n=i[1],b=parseInt(n.slice(0,2),16),N=parseInt(n.slice(2,4),16),T=parseInt(n.slice(4,6),16);return`rgba(${b}, ${N}, ${T}, ${d})`}function G(R){const d=R.palette,i=d.mode==="dark";return{"--lattice-background":d.background.default,"--lattice-surface":d.background.paper,"--lattice-surface-alt":i?"#2a2a2a":d.grey[50],"--lattice-border-color":d.divider,"--lattice-border-strong":i?d.grey[600]:d.grey[400],"--lattice-foreground":d.text.primary,"--lattice-foreground-muted":d.text.secondary,"--lattice-header-foreground":d.text.primary,"--lattice-accent":d.primary.main,"--lattice-accent-contrast":d.primary.contrastText,"--lattice-link-color":d.primary.main,"--lattice-selected-background":S(d.primary.main,.12),"--lattice-hovered-background":S(d.text.primary,.06),"--lattice-focus-color":d.primary.main,"--lattice-variant-danger-solid":d.error.main,"--lattice-variant-danger-fill":S(d.error.main,.12),"--lattice-variant-warning-solid":d.warning.main,"--lattice-variant-warning-fill":S(d.warning.main,.12),"--lattice-variant-success-solid":d.success.main,"--lattice-variant-success-fill":S(d.success.main,.12),"--lattice-variant-info-solid":d.info.main,"--lattice-variant-info-fill":S(d.info.main,.12),"--lattice-radius":`${R.shape.borderRadius}px`,"--lattice-font-family":R.typography.fontFamily,"--lattice-font-size":`${R.typography.body2.fontSize}`,"--lattice-header-font-weight":String(R.typography.fontWeightMedium)}}function q(R){return`.lattice {
|
|
7
7
|
${Object.entries(R).map(([i,n])=>` ${i}: ${n};`).join(`
|
|
8
8
|
`)}
|
|
9
9
|
}
|
package/modules/tabs.d.ts
CHANGED
package/modules/tabs.esm.min.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.86.
|
|
2
|
+
* Lattice Grid 1.86.5, tabs module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
6
|
-
var $e=Object.create(null),Oe=Object.create(null);function re(u,H){$e[u]=H}function je(u){var H=Oe[u];if(H)return H;var N=Object.create(null);Oe[u]=N;var D=$e[u];if(!D)throw new Error("[lattice] missing module: "+u);return D(N,je),N}re("packages/core/src/internal/util.js",function(u,H){"use strict";Object.defineProperty(u,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(u,"reportedWarnings",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"warnOnce",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"infoOnce",{enumerable:!0,get:function(){return F}}),Object.defineProperty(u,"resetWarnings",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"fail",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"invariant",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"DEV",{enumerable:!0,get:function(){return s}}),Object.defineProperty(u,"isObject",{enumerable:!0,get:function(){return l}}),Object.defineProperty(u,"isFunction",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"isNil",{enumerable:!0,get:function(){return d}}),Object.defineProperty(u,"isBlank",{enumerable:!0,get:function(){return j}}),Object.defineProperty(u,"isCtor",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"pathGetter",{enumerable:!0,get:function(){return A}}),Object.defineProperty(u,"pathSetter",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"getPath",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(u,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(u,"humanise",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(u,"titleCase",{enumerable:!0,get:function(){return be}}),Object.defineProperty(u,"expand",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(u,"toArray",{enumerable:!0,get:function(){return he}}),Object.defineProperty(u,"merge",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(u,"mergeRow",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(u,"Lru",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(u,"collator",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"defaultCompare",{enumerable:!0,get:function(){return se}}),Object.defineProperty(u,"now",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(u,"nextFrame",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"cancelFrame",{enumerable:!0,get:function(){return X}}),Object.defineProperty(u,"frameBatched",{enumerable:!0,get:function(){return me}}),Object.defineProperty(u,"settleDebounce",{enumerable:!0,get:function(){return te}}),Object.defineProperty(u,"whenIdle",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(u,"uid",{enumerable:!0,get:function(){return ve}});const N="1.86.
|
|
6
|
+
var $e=Object.create(null),Oe=Object.create(null);function re(u,H){$e[u]=H}function je(u){var H=Oe[u];if(H)return H;var N=Object.create(null);Oe[u]=N;var D=$e[u];if(!D)throw new Error("[lattice] missing module: "+u);return D(N,je),N}re("packages/core/src/internal/util.js",function(u,H){"use strict";Object.defineProperty(u,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(u,"reportedWarnings",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"warnOnce",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"infoOnce",{enumerable:!0,get:function(){return F}}),Object.defineProperty(u,"resetWarnings",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"fail",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"invariant",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"DEV",{enumerable:!0,get:function(){return s}}),Object.defineProperty(u,"isObject",{enumerable:!0,get:function(){return l}}),Object.defineProperty(u,"isFunction",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"isNil",{enumerable:!0,get:function(){return d}}),Object.defineProperty(u,"isBlank",{enumerable:!0,get:function(){return j}}),Object.defineProperty(u,"isCtor",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"pathGetter",{enumerable:!0,get:function(){return A}}),Object.defineProperty(u,"pathSetter",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"getPath",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(u,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(u,"humanise",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(u,"titleCase",{enumerable:!0,get:function(){return be}}),Object.defineProperty(u,"expand",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(u,"toArray",{enumerable:!0,get:function(){return he}}),Object.defineProperty(u,"merge",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(u,"mergeRow",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(u,"Lru",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(u,"collator",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"defaultCompare",{enumerable:!0,get:function(){return se}}),Object.defineProperty(u,"now",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(u,"nextFrame",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"cancelFrame",{enumerable:!0,get:function(){return X}}),Object.defineProperty(u,"frameBatched",{enumerable:!0,get:function(){return me}}),Object.defineProperty(u,"settleDebounce",{enumerable:!0,get:function(){return te}}),Object.defineProperty(u,"whenIdle",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(u,"uid",{enumerable:!0,get:function(){return ve}});const N="1.86.5";async function D(){return N}const y="1.86.5",i=new Set,$=2e3;function P(n){if(i.add(n),i.size>$){const r=i.values().next().value;r!==void 0&&i.delete(r)}}const I=[],M=500;function C(n,r,c){I.push({key:n,level:r,message:c.map(g=>typeof g=="string"?g:O(g)).join(" "),at:Date.now()}),I.length>M&&I.shift()}function O(n){if(n instanceof Error)return n.message;try{return JSON.stringify(n)}catch{return String(n)}}function E(){return I.map(n=>({...n}))}function v(n){if(n.length===0||typeof n[0]!="string")return n;const r=n[0].replace(/^\[lattice\]\s*/,"");return r===n[0]?n:[r,...n.slice(1)]}function k(n,...r){if(i.has(n))return;P(n);const c=v(r);C(n,"warn",c),console.warn("[lattice]",...c)}function F(n,...r){if(i.has(n))return;P(n);const c=v(r);C(n,"info",c),console.info("[lattice]",...c)}function V(){i.clear(),I.length=0}function z(n,r){const c=new Error(`[lattice] ${n}`);throw r!==void 0&&(c.cause=r),c}function J(n,r){n||z(r)}const s=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function l(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function w(n){return typeof n=="function"}function d(n){return n==null}function j(n){return n==null||n===""}function b(n){return typeof n!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(n))?!0:!!(n.prototype&&Object.getOwnPropertyNames(n.prototype).length>1)}const p=new Map;function A(n){let r=p.get(n);if(r)return r;if(!n.includes("."))r=c=>c?.[n];else{const c=n.split("."),g=c.length;r=L=>{let R=L;for(let B=0;B<g;B++){if(R==null)return;R=R[c[B]]}return R}}return p.set(n,r),r}const G=new Map;function W(n){let r=G.get(n);if(r)return r;if(!n.includes("."))r=(c,g)=>{c!=null&&(c[n]=g)};else{const c=n.split("."),g=c.length-1;r=(L,R)=>{let B=L;for(let U=0;U<g;U++){if(B==null)return;const e=c[U];B[e]==null&&(B[e]={}),B=B[e]}B!=null&&(B[c[g]]=R)}}return G.set(n,r),r}function Z(n,r){return A(r)(n)}function Q(n,r,c){W(r)(n,c)}function Y(n){return n?(n.includes(".")?n.slice(n.lastIndexOf(".")+1):n).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,c=>c.toUpperCase()):""}const x={"&":"&","<":"<",">":">",'"':""","'":"'"};function _(n){const r=n==null?"":String(n);return/[&<>"']/.test(r)?r.replace(/[&<>"']/g,c=>x[c]):r}function be(n){return String(n).replace(/\w\S*/g,r=>r[0].toUpperCase()+r.slice(1).toLowerCase())}function ge(n,r,c){if(n!==void 0)return n===!0?{enabled:!0,...c}:n===!1?{enabled:!1}:l(n)?n:{[r]:n,enabled:!0}}function he(n){return n==null?[]:Array.isArray(n)?n:[n]}const ie=Object.freeze(new Set(["__proto__","constructor","prototype"]));function ee(n,r){if(!l(n))return l(r)?{...r}:r;if(!l(r))return r===void 0?n:r;const c={...n};for(const g of Object.keys(r)){if(ie.has(g))continue;const L=r[g];L!==void 0&&(c[g]=l(L)&&l(c[g])?ee(c[g],L):L)}return c}function oe(n,r){if(!l(n)||!l(r)||n===r)return r;const c=Object.create(Object.getPrototypeOf(n));return Object.assign(c,n,r),c}class ae{#t;#e=new Map;#n;constructor(r=256,c=null){this.#t=r,this.#n=c}get size(){return this.#e.size}get max(){return this.#t}set max(r){this.#t=r,this.#r()}has(r){return this.#e.has(r)}get(r){const c=this.#e;if(!c.has(r))return;const g=c.get(r);return c.delete(r),c.set(r,g),g}peek(r){return this.#e.get(r)}set(r,c){const g=this.#e;return g.has(r)&&g.delete(r),g.set(r,c),this.#r(),c}delete(r){const c=this.#e.get(r);return this.#e.delete(r)&&this.#n&&this.#n(c,r),c}clear(){if(this.#n)for(const[r,c]of this.#e)this.#n(c,r);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const r=this.#e;for(;r.size>this.#t;){const c=r.keys().next().value,g=r.get(c);r.delete(c),this.#n&&this.#n(g,c)}}}const ce=new Map;function pe(n,r){const c=`${n||""}|${r?JSON.stringify(r):""}`;let g=ce.get(c);return g||(g=new Intl.Collator(n||void 0,{numeric:!0,sensitivity:"variant",...r}),ce.set(c,g)),g}function se(n,r){if(n===r)return 0;if(n==null)return 1;if(r==null)return-1;if(typeof n=="number"&&typeof r=="number")return Number.isNaN(n)?Number.isNaN(r)?0:1:Number.isNaN(r)||n<r?-1:n>r?1:0;const c=String(n),g=String(r);return c<g?-1:c>g?1:0}function ue(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const le=typeof requestAnimationFrame=="function";function fe(n){return le?requestAnimationFrame(n):setTimeout(()=>n(ue()),16)}function X(n){n!=null&&(le?cancelAnimationFrame(n):clearTimeout(n))}function me(n){let r=null,c=null;const g=()=>{r=null;const R=c;c=null,n(...R||[])},L=(...R)=>{c=R,r===null&&(r=fe(g))};return L.cancel=()=>{X(r),r=null,c=null},L.flush=()=>{r!==null&&(X(r),g())},L}function te(n,r){let c=null,g=null;const L=()=>{if(c=null,g===null)return;const U=g;g=null,n(...U),R()},R=()=>{c=setTimeout(L,r),typeof c?.unref=="function"&&c.unref()},B=(...U)=>{c===null?(n(...U),R()):(g=U,clearTimeout(c),R())};return B.flush=()=>{if(c!==null&&clearTimeout(c),c=null,g===null)return;const U=g;g=null,n(...U)},B.cancel=()=>{c!==null&&clearTimeout(c),c=null,g=null},B.pending=()=>c!==null||g!==null,B}function ye(n,r=50){return typeof requestIdleCallback=="function"?requestIdleCallback(n,{timeout:r}):setTimeout(()=>n({timeRemaining:()=>0,didTimeout:!0}),1)}let de=0;function ve(n="l"){return`${n}${(++de).toString(36)}`}}),re("packages/modules/tabs/view.js",function(u,H){"use strict";Object.defineProperty(u,"NS",{enumerable:!0,get:function(){return i}}),Object.defineProperty(u,"BADGE_TONES",{enumerable:!0,get:function(){return $}}),Object.defineProperty(u,"injectStyles",{enumerable:!0,get:function(){return P}}),Object.defineProperty(u,"renderShell",{enumerable:!0,get:function(){return I}}),Object.defineProperty(u,"paintBadge",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"setRoving",{enumerable:!0,get:function(){return v}}),Object.defineProperty(u,"wireKeyboard",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"paintActive",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"revealPanel",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"announce",{enumerable:!0,get:function(){return J}});const N=H("packages/core/src/internal/util.js"),D=N.isFunction,y=N.warnOnce,i="lat-tabs",$=Object.freeze(["good","warn","bad","unknown"]);function P(s){if(!s||s.getElementById&&s.getElementById(`${i}-styles`))return;const l=s.createElement("style");l.id=`${i}-styles`,l.setAttribute("id",`${i}-styles`),l.textContent=`
|
|
7
7
|
:where(.${i}){display:flex;flex-direction:column;height:100%;
|
|
8
8
|
font-family:var(--${i}-font-family,var(--lattice-font-family,var(--lat-chrome-font-family,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)));
|
|
9
9
|
font-size:var(--${i}-font-size,var(--lattice-font-size,var(--lat-chrome-font-size,13px)));
|
package/modules/tabs.min.cjs
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.86.
|
|
2
|
+
* Lattice Grid 1.86.5, tabs module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
6
|
-
(function(Ee){"use strict";var $e=Object.create(null),Oe=Object.create(null);function ee(u,H){$e[u]=H}function je(u){var H=Oe[u];if(H)return H;var N=Object.create(null);Oe[u]=N;var D=$e[u];if(!D)throw new Error("[lattice] missing module: "+u);return D(N,je),N}ee("packages/core/src/internal/util.js",function(u,H){"use strict";Object.defineProperty(u,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(u,"reportedWarnings",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"warnOnce",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"infoOnce",{enumerable:!0,get:function(){return F}}),Object.defineProperty(u,"resetWarnings",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"fail",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"invariant",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"DEV",{enumerable:!0,get:function(){return s}}),Object.defineProperty(u,"isObject",{enumerable:!0,get:function(){return l}}),Object.defineProperty(u,"isFunction",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"isNil",{enumerable:!0,get:function(){return d}}),Object.defineProperty(u,"isBlank",{enumerable:!0,get:function(){return j}}),Object.defineProperty(u,"isCtor",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"pathGetter",{enumerable:!0,get:function(){return A}}),Object.defineProperty(u,"pathSetter",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"getPath",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(u,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(u,"humanise",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(u,"titleCase",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(u,"expand",{enumerable:!0,get:function(){return he}}),Object.defineProperty(u,"toArray",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"merge",{enumerable:!0,get:function(){return te}}),Object.defineProperty(u,"mergeRow",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(u,"Lru",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(u,"collator",{enumerable:!0,get:function(){return me}}),Object.defineProperty(u,"defaultCompare",{enumerable:!0,get:function(){return se}}),Object.defineProperty(u,"now",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(u,"nextFrame",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"cancelFrame",{enumerable:!0,get:function(){return X}}),Object.defineProperty(u,"frameBatched",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(u,"settleDebounce",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"whenIdle",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(u,"uid",{enumerable:!0,get:function(){return we}});const N="1.86.
|
|
6
|
+
(function(Ee){"use strict";var $e=Object.create(null),Oe=Object.create(null);function ee(u,H){$e[u]=H}function je(u){var H=Oe[u];if(H)return H;var N=Object.create(null);Oe[u]=N;var D=$e[u];if(!D)throw new Error("[lattice] missing module: "+u);return D(N,je),N}ee("packages/core/src/internal/util.js",function(u,H){"use strict";Object.defineProperty(u,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(u,"reportedWarnings",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"warnOnce",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"infoOnce",{enumerable:!0,get:function(){return F}}),Object.defineProperty(u,"resetWarnings",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"fail",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"invariant",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"DEV",{enumerable:!0,get:function(){return s}}),Object.defineProperty(u,"isObject",{enumerable:!0,get:function(){return l}}),Object.defineProperty(u,"isFunction",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"isNil",{enumerable:!0,get:function(){return d}}),Object.defineProperty(u,"isBlank",{enumerable:!0,get:function(){return j}}),Object.defineProperty(u,"isCtor",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"pathGetter",{enumerable:!0,get:function(){return A}}),Object.defineProperty(u,"pathSetter",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"getPath",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(u,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(u,"humanise",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(u,"titleCase",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(u,"expand",{enumerable:!0,get:function(){return he}}),Object.defineProperty(u,"toArray",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"merge",{enumerable:!0,get:function(){return te}}),Object.defineProperty(u,"mergeRow",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(u,"Lru",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(u,"collator",{enumerable:!0,get:function(){return me}}),Object.defineProperty(u,"defaultCompare",{enumerable:!0,get:function(){return se}}),Object.defineProperty(u,"now",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(u,"nextFrame",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"cancelFrame",{enumerable:!0,get:function(){return X}}),Object.defineProperty(u,"frameBatched",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(u,"settleDebounce",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"whenIdle",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(u,"uid",{enumerable:!0,get:function(){return we}});const N="1.86.5";async function D(){return N}const y="1.86.5",i=new Set,$=2e3;function P(n){if(i.add(n),i.size>$){const r=i.values().next().value;r!==void 0&&i.delete(r)}}const I=[],M=500;function C(n,r,c){I.push({key:n,level:r,message:c.map(g=>typeof g=="string"?g:O(g)).join(" "),at:Date.now()}),I.length>M&&I.shift()}function O(n){if(n instanceof Error)return n.message;try{return JSON.stringify(n)}catch{return String(n)}}function E(){return I.map(n=>({...n}))}function v(n){if(n.length===0||typeof n[0]!="string")return n;const r=n[0].replace(/^\[lattice\]\s*/,"");return r===n[0]?n:[r,...n.slice(1)]}function k(n,...r){if(i.has(n))return;P(n);const c=v(r);C(n,"warn",c),console.warn("[lattice]",...c)}function F(n,...r){if(i.has(n))return;P(n);const c=v(r);C(n,"info",c),console.info("[lattice]",...c)}function V(){i.clear(),I.length=0}function z(n,r){const c=new Error(`[lattice] ${n}`);throw r!==void 0&&(c.cause=r),c}function J(n,r){n||z(r)}const s=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function l(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function w(n){return typeof n=="function"}function d(n){return n==null}function j(n){return n==null||n===""}function b(n){return typeof n!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(n))?!0:!!(n.prototype&&Object.getOwnPropertyNames(n.prototype).length>1)}const p=new Map;function A(n){let r=p.get(n);if(r)return r;if(!n.includes("."))r=c=>c?.[n];else{const c=n.split("."),g=c.length;r=L=>{let R=L;for(let B=0;B<g;B++){if(R==null)return;R=R[c[B]]}return R}}return p.set(n,r),r}const G=new Map;function W(n){let r=G.get(n);if(r)return r;if(!n.includes("."))r=(c,g)=>{c!=null&&(c[n]=g)};else{const c=n.split("."),g=c.length-1;r=(L,R)=>{let B=L;for(let U=0;U<g;U++){if(B==null)return;const e=c[U];B[e]==null&&(B[e]={}),B=B[e]}B!=null&&(B[c[g]]=R)}}return G.set(n,r),r}function Z(n,r){return A(r)(n)}function Q(n,r,c){W(r)(n,c)}function Y(n){return n?(n.includes(".")?n.slice(n.lastIndexOf(".")+1):n).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,c=>c.toUpperCase()):""}const x={"&":"&","<":"<",">":">",'"':""","'":"'"};function _(n){const r=n==null?"":String(n);return/[&<>"']/.test(r)?r.replace(/[&<>"']/g,c=>x[c]):r}function ge(n){return String(n).replace(/\w\S*/g,r=>r[0].toUpperCase()+r.slice(1).toLowerCase())}function he(n,r,c){if(n!==void 0)return n===!0?{enabled:!0,...c}:n===!1?{enabled:!1}:l(n)?n:{[r]:n,enabled:!0}}function pe(n){return n==null?[]:Array.isArray(n)?n:[n]}const ie=Object.freeze(new Set(["__proto__","constructor","prototype"]));function te(n,r){if(!l(n))return l(r)?{...r}:r;if(!l(r))return r===void 0?n:r;const c={...n};for(const g of Object.keys(r)){if(ie.has(g))continue;const L=r[g];L!==void 0&&(c[g]=l(L)&&l(c[g])?te(c[g],L):L)}return c}function oe(n,r){if(!l(n)||!l(r)||n===r)return r;const c=Object.create(Object.getPrototypeOf(n));return Object.assign(c,n,r),c}class ae{#t;#e=new Map;#n;constructor(r=256,c=null){this.#t=r,this.#n=c}get size(){return this.#e.size}get max(){return this.#t}set max(r){this.#t=r,this.#r()}has(r){return this.#e.has(r)}get(r){const c=this.#e;if(!c.has(r))return;const g=c.get(r);return c.delete(r),c.set(r,g),g}peek(r){return this.#e.get(r)}set(r,c){const g=this.#e;return g.has(r)&&g.delete(r),g.set(r,c),this.#r(),c}delete(r){const c=this.#e.get(r);return this.#e.delete(r)&&this.#n&&this.#n(c,r),c}clear(){if(this.#n)for(const[r,c]of this.#e)this.#n(c,r);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const r=this.#e;for(;r.size>this.#t;){const c=r.keys().next().value,g=r.get(c);r.delete(c),this.#n&&this.#n(g,c)}}}const ce=new Map;function me(n,r){const c=`${n||""}|${r?JSON.stringify(r):""}`;let g=ce.get(c);return g||(g=new Intl.Collator(n||void 0,{numeric:!0,sensitivity:"variant",...r}),ce.set(c,g)),g}function se(n,r){if(n===r)return 0;if(n==null)return 1;if(r==null)return-1;if(typeof n=="number"&&typeof r=="number")return Number.isNaN(n)?Number.isNaN(r)?0:1:Number.isNaN(r)||n<r?-1:n>r?1:0;const c=String(n),g=String(r);return c<g?-1:c>g?1:0}function ue(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const le=typeof requestAnimationFrame=="function";function fe(n){return le?requestAnimationFrame(n):setTimeout(()=>n(ue()),16)}function X(n){n!=null&&(le?cancelAnimationFrame(n):clearTimeout(n))}function ye(n){let r=null,c=null;const g=()=>{r=null;const R=c;c=null,n(...R||[])},L=(...R)=>{c=R,r===null&&(r=fe(g))};return L.cancel=()=>{X(r),r=null,c=null},L.flush=()=>{r!==null&&(X(r),g())},L}function ne(n,r){let c=null,g=null;const L=()=>{if(c=null,g===null)return;const U=g;g=null,n(...U),R()},R=()=>{c=setTimeout(L,r),typeof c?.unref=="function"&&c.unref()},B=(...U)=>{c===null?(n(...U),R()):(g=U,clearTimeout(c),R())};return B.flush=()=>{if(c!==null&&clearTimeout(c),c=null,g===null)return;const U=g;g=null,n(...U)},B.cancel=()=>{c!==null&&clearTimeout(c),c=null,g=null},B.pending=()=>c!==null||g!==null,B}function ve(n,r=50){return typeof requestIdleCallback=="function"?requestIdleCallback(n,{timeout:r}):setTimeout(()=>n({timeRemaining:()=>0,didTimeout:!0}),1)}let de=0;function we(n="l"){return`${n}${(++de).toString(36)}`}}),ee("packages/modules/tabs/view.js",function(u,H){"use strict";Object.defineProperty(u,"NS",{enumerable:!0,get:function(){return i}}),Object.defineProperty(u,"BADGE_TONES",{enumerable:!0,get:function(){return $}}),Object.defineProperty(u,"injectStyles",{enumerable:!0,get:function(){return P}}),Object.defineProperty(u,"renderShell",{enumerable:!0,get:function(){return I}}),Object.defineProperty(u,"paintBadge",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"setRoving",{enumerable:!0,get:function(){return v}}),Object.defineProperty(u,"wireKeyboard",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"paintActive",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"revealPanel",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"announce",{enumerable:!0,get:function(){return J}});const N=H("packages/core/src/internal/util.js"),D=N.isFunction,y=N.warnOnce,i="lat-tabs",$=Object.freeze(["good","warn","bad","unknown"]);function P(s){if(!s||s.getElementById&&s.getElementById(`${i}-styles`))return;const l=s.createElement("style");l.id=`${i}-styles`,l.setAttribute("id",`${i}-styles`),l.textContent=`
|
|
7
7
|
:where(.${i}){display:flex;flex-direction:column;height:100%;
|
|
8
8
|
font-family:var(--${i}-font-family,var(--lattice-font-family,var(--lat-chrome-font-family,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)));
|
|
9
9
|
font-size:var(--${i}-font-size,var(--lattice-font-size,var(--lat-chrome-font-size,13px)));
|
package/modules/tabs.min.js
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Lattice Grid 1.86.
|
|
2
|
+
* Lattice Grid 1.86.5, tabs module
|
|
3
3
|
* Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
|
|
4
4
|
* https://latticegrid.dev
|
|
5
5
|
*/
|
|
6
|
-
(function(Ee){"use strict";var $e=Object.create(null),Oe=Object.create(null);function ee(u,H){$e[u]=H}function je(u){var H=Oe[u];if(H)return H;var N=Object.create(null);Oe[u]=N;var D=$e[u];if(!D)throw new Error("[lattice] missing module: "+u);return D(N,je),N}ee("packages/core/src/internal/util.js",function(u,H){"use strict";Object.defineProperty(u,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(u,"reportedWarnings",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"warnOnce",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"infoOnce",{enumerable:!0,get:function(){return F}}),Object.defineProperty(u,"resetWarnings",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"fail",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"invariant",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"DEV",{enumerable:!0,get:function(){return s}}),Object.defineProperty(u,"isObject",{enumerable:!0,get:function(){return l}}),Object.defineProperty(u,"isFunction",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"isNil",{enumerable:!0,get:function(){return d}}),Object.defineProperty(u,"isBlank",{enumerable:!0,get:function(){return j}}),Object.defineProperty(u,"isCtor",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"pathGetter",{enumerable:!0,get:function(){return A}}),Object.defineProperty(u,"pathSetter",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"getPath",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(u,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(u,"humanise",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(u,"titleCase",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(u,"expand",{enumerable:!0,get:function(){return he}}),Object.defineProperty(u,"toArray",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"merge",{enumerable:!0,get:function(){return te}}),Object.defineProperty(u,"mergeRow",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(u,"Lru",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(u,"collator",{enumerable:!0,get:function(){return me}}),Object.defineProperty(u,"defaultCompare",{enumerable:!0,get:function(){return se}}),Object.defineProperty(u,"now",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(u,"nextFrame",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"cancelFrame",{enumerable:!0,get:function(){return X}}),Object.defineProperty(u,"frameBatched",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(u,"settleDebounce",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"whenIdle",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(u,"uid",{enumerable:!0,get:function(){return we}});const N="1.86.
|
|
6
|
+
(function(Ee){"use strict";var $e=Object.create(null),Oe=Object.create(null);function ee(u,H){$e[u]=H}function je(u){var H=Oe[u];if(H)return H;var N=Object.create(null);Oe[u]=N;var D=$e[u];if(!D)throw new Error("[lattice] missing module: "+u);return D(N,je),N}ee("packages/core/src/internal/util.js",function(u,H){"use strict";Object.defineProperty(u,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(u,"reportedWarnings",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"warnOnce",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"infoOnce",{enumerable:!0,get:function(){return F}}),Object.defineProperty(u,"resetWarnings",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"fail",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"invariant",{enumerable:!0,get:function(){return J}}),Object.defineProperty(u,"DEV",{enumerable:!0,get:function(){return s}}),Object.defineProperty(u,"isObject",{enumerable:!0,get:function(){return l}}),Object.defineProperty(u,"isFunction",{enumerable:!0,get:function(){return w}}),Object.defineProperty(u,"isNil",{enumerable:!0,get:function(){return d}}),Object.defineProperty(u,"isBlank",{enumerable:!0,get:function(){return j}}),Object.defineProperty(u,"isCtor",{enumerable:!0,get:function(){return b}}),Object.defineProperty(u,"pathGetter",{enumerable:!0,get:function(){return A}}),Object.defineProperty(u,"pathSetter",{enumerable:!0,get:function(){return W}}),Object.defineProperty(u,"getPath",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(u,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(u,"humanise",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(u,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(u,"titleCase",{enumerable:!0,get:function(){return ge}}),Object.defineProperty(u,"expand",{enumerable:!0,get:function(){return he}}),Object.defineProperty(u,"toArray",{enumerable:!0,get:function(){return pe}}),Object.defineProperty(u,"merge",{enumerable:!0,get:function(){return te}}),Object.defineProperty(u,"mergeRow",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(u,"Lru",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(u,"collator",{enumerable:!0,get:function(){return me}}),Object.defineProperty(u,"defaultCompare",{enumerable:!0,get:function(){return se}}),Object.defineProperty(u,"now",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(u,"nextFrame",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(u,"cancelFrame",{enumerable:!0,get:function(){return X}}),Object.defineProperty(u,"frameBatched",{enumerable:!0,get:function(){return ye}}),Object.defineProperty(u,"settleDebounce",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(u,"whenIdle",{enumerable:!0,get:function(){return ve}}),Object.defineProperty(u,"uid",{enumerable:!0,get:function(){return we}});const N="1.86.5";async function D(){return N}const y="1.86.5",i=new Set,$=2e3;function P(n){if(i.add(n),i.size>$){const r=i.values().next().value;r!==void 0&&i.delete(r)}}const I=[],M=500;function C(n,r,c){I.push({key:n,level:r,message:c.map(g=>typeof g=="string"?g:O(g)).join(" "),at:Date.now()}),I.length>M&&I.shift()}function O(n){if(n instanceof Error)return n.message;try{return JSON.stringify(n)}catch{return String(n)}}function E(){return I.map(n=>({...n}))}function v(n){if(n.length===0||typeof n[0]!="string")return n;const r=n[0].replace(/^\[lattice\]\s*/,"");return r===n[0]?n:[r,...n.slice(1)]}function k(n,...r){if(i.has(n))return;P(n);const c=v(r);C(n,"warn",c),console.warn("[lattice]",...c)}function F(n,...r){if(i.has(n))return;P(n);const c=v(r);C(n,"info",c),console.info("[lattice]",...c)}function V(){i.clear(),I.length=0}function z(n,r){const c=new Error(`[lattice] ${n}`);throw r!==void 0&&(c.cause=r),c}function J(n,r){n||z(r)}const s=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function l(n){return n!==null&&typeof n=="object"&&!Array.isArray(n)}function w(n){return typeof n=="function"}function d(n){return n==null}function j(n){return n==null||n===""}function b(n){return typeof n!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(n))?!0:!!(n.prototype&&Object.getOwnPropertyNames(n.prototype).length>1)}const p=new Map;function A(n){let r=p.get(n);if(r)return r;if(!n.includes("."))r=c=>c?.[n];else{const c=n.split("."),g=c.length;r=L=>{let R=L;for(let B=0;B<g;B++){if(R==null)return;R=R[c[B]]}return R}}return p.set(n,r),r}const G=new Map;function W(n){let r=G.get(n);if(r)return r;if(!n.includes("."))r=(c,g)=>{c!=null&&(c[n]=g)};else{const c=n.split("."),g=c.length-1;r=(L,R)=>{let B=L;for(let U=0;U<g;U++){if(B==null)return;const e=c[U];B[e]==null&&(B[e]={}),B=B[e]}B!=null&&(B[c[g]]=R)}}return G.set(n,r),r}function Z(n,r){return A(r)(n)}function Q(n,r,c){W(r)(n,c)}function Y(n){return n?(n.includes(".")?n.slice(n.lastIndexOf(".")+1):n).replace(/[_-]+/g," ").replace(/([a-z0-9])([A-Z])/g,"$1 $2").replace(/([A-Z]+)([A-Z][a-z])/g,"$1 $2").replace(/\s+/g," ").trim().replace(/^./,c=>c.toUpperCase()):""}const x={"&":"&","<":"<",">":">",'"':""","'":"'"};function _(n){const r=n==null?"":String(n);return/[&<>"']/.test(r)?r.replace(/[&<>"']/g,c=>x[c]):r}function ge(n){return String(n).replace(/\w\S*/g,r=>r[0].toUpperCase()+r.slice(1).toLowerCase())}function he(n,r,c){if(n!==void 0)return n===!0?{enabled:!0,...c}:n===!1?{enabled:!1}:l(n)?n:{[r]:n,enabled:!0}}function pe(n){return n==null?[]:Array.isArray(n)?n:[n]}const ie=Object.freeze(new Set(["__proto__","constructor","prototype"]));function te(n,r){if(!l(n))return l(r)?{...r}:r;if(!l(r))return r===void 0?n:r;const c={...n};for(const g of Object.keys(r)){if(ie.has(g))continue;const L=r[g];L!==void 0&&(c[g]=l(L)&&l(c[g])?te(c[g],L):L)}return c}function oe(n,r){if(!l(n)||!l(r)||n===r)return r;const c=Object.create(Object.getPrototypeOf(n));return Object.assign(c,n,r),c}class ae{#t;#e=new Map;#n;constructor(r=256,c=null){this.#t=r,this.#n=c}get size(){return this.#e.size}get max(){return this.#t}set max(r){this.#t=r,this.#r()}has(r){return this.#e.has(r)}get(r){const c=this.#e;if(!c.has(r))return;const g=c.get(r);return c.delete(r),c.set(r,g),g}peek(r){return this.#e.get(r)}set(r,c){const g=this.#e;return g.has(r)&&g.delete(r),g.set(r,c),this.#r(),c}delete(r){const c=this.#e.get(r);return this.#e.delete(r)&&this.#n&&this.#n(c,r),c}clear(){if(this.#n)for(const[r,c]of this.#e)this.#n(c,r);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const r=this.#e;for(;r.size>this.#t;){const c=r.keys().next().value,g=r.get(c);r.delete(c),this.#n&&this.#n(g,c)}}}const ce=new Map;function me(n,r){const c=`${n||""}|${r?JSON.stringify(r):""}`;let g=ce.get(c);return g||(g=new Intl.Collator(n||void 0,{numeric:!0,sensitivity:"variant",...r}),ce.set(c,g)),g}function se(n,r){if(n===r)return 0;if(n==null)return 1;if(r==null)return-1;if(typeof n=="number"&&typeof r=="number")return Number.isNaN(n)?Number.isNaN(r)?0:1:Number.isNaN(r)||n<r?-1:n>r?1:0;const c=String(n),g=String(r);return c<g?-1:c>g?1:0}function ue(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const le=typeof requestAnimationFrame=="function";function fe(n){return le?requestAnimationFrame(n):setTimeout(()=>n(ue()),16)}function X(n){n!=null&&(le?cancelAnimationFrame(n):clearTimeout(n))}function ye(n){let r=null,c=null;const g=()=>{r=null;const R=c;c=null,n(...R||[])},L=(...R)=>{c=R,r===null&&(r=fe(g))};return L.cancel=()=>{X(r),r=null,c=null},L.flush=()=>{r!==null&&(X(r),g())},L}function ne(n,r){let c=null,g=null;const L=()=>{if(c=null,g===null)return;const U=g;g=null,n(...U),R()},R=()=>{c=setTimeout(L,r),typeof c?.unref=="function"&&c.unref()},B=(...U)=>{c===null?(n(...U),R()):(g=U,clearTimeout(c),R())};return B.flush=()=>{if(c!==null&&clearTimeout(c),c=null,g===null)return;const U=g;g=null,n(...U)},B.cancel=()=>{c!==null&&clearTimeout(c),c=null,g=null},B.pending=()=>c!==null||g!==null,B}function ve(n,r=50){return typeof requestIdleCallback=="function"?requestIdleCallback(n,{timeout:r}):setTimeout(()=>n({timeRemaining:()=>0,didTimeout:!0}),1)}let de=0;function we(n="l"){return`${n}${(++de).toString(36)}`}}),ee("packages/modules/tabs/view.js",function(u,H){"use strict";Object.defineProperty(u,"NS",{enumerable:!0,get:function(){return i}}),Object.defineProperty(u,"BADGE_TONES",{enumerable:!0,get:function(){return $}}),Object.defineProperty(u,"injectStyles",{enumerable:!0,get:function(){return P}}),Object.defineProperty(u,"renderShell",{enumerable:!0,get:function(){return I}}),Object.defineProperty(u,"paintBadge",{enumerable:!0,get:function(){return E}}),Object.defineProperty(u,"setRoving",{enumerable:!0,get:function(){return v}}),Object.defineProperty(u,"wireKeyboard",{enumerable:!0,get:function(){return k}}),Object.defineProperty(u,"paintActive",{enumerable:!0,get:function(){return V}}),Object.defineProperty(u,"revealPanel",{enumerable:!0,get:function(){return z}}),Object.defineProperty(u,"announce",{enumerable:!0,get:function(){return J}});const N=H("packages/core/src/internal/util.js"),D=N.isFunction,y=N.warnOnce,i="lat-tabs",$=Object.freeze(["good","warn","bad","unknown"]);function P(s){if(!s||s.getElementById&&s.getElementById(`${i}-styles`))return;const l=s.createElement("style");l.id=`${i}-styles`,l.setAttribute("id",`${i}-styles`),l.textContent=`
|
|
7
7
|
:where(.${i}){display:flex;flex-direction:column;height:100%;
|
|
8
8
|
font-family:var(--${i}-font-family,var(--lattice-font-family,var(--lat-chrome-font-family,system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif)));
|
|
9
9
|
font-size:var(--${i}-font-size,var(--lattice-font-size,var(--lat-chrome-font-size,13px)));
|
package/modules/vue.d.ts
CHANGED