@toclocoinc/lattice-grid 1.88.2 → 1.88.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (309) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/README.md +1 -1
  3. package/angular/fesm2022/toclocoinc-lattice-grid-angular.mjs +6 -2
  4. package/angular/package.json +1 -1
  5. package/angular/types/toclocoinc-lattice-grid-angular.d.ts +3 -1
  6. package/docs/API.html +62 -6
  7. package/docs/api/adapters.html +1 -1
  8. package/docs/api/ai.html +1 -1
  9. package/docs/api/alarms.html +1 -1
  10. package/docs/api/calendar.html +1 -1
  11. package/docs/api/charts.html +1 -1
  12. package/docs/api/dashboard.html +1 -1
  13. package/docs/api/data-router.html +1 -1
  14. package/docs/api/deckgl.html +1 -1
  15. package/docs/api/gantt.html +58 -2
  16. package/docs/api/geometry.html +1 -1
  17. package/docs/api/grid.html +2 -2
  18. package/docs/api/index.html +2 -2
  19. package/docs/api/kanban.html +1 -1
  20. package/docs/api/kpi.html +1 -1
  21. package/docs/api/layout.html +1 -1
  22. package/docs/api/leaflet.html +1 -1
  23. package/docs/api/list.html +1 -1
  24. package/docs/api/mapview.html +1 -1
  25. package/docs/api/mock-socket.html +1 -1
  26. package/docs/api/presets.html +1 -1
  27. package/docs/api/tabs.html +1 -1
  28. package/docs/api/types.html +2 -2
  29. package/docs/api-detail.html +4 -4
  30. package/docs/warnings.json +1 -1
  31. package/lattice-grid.d.ts +1 -1
  32. package/lattice-grid.esm.min.js +3 -3
  33. package/lattice-grid.min.cjs +3 -3
  34. package/lattice-grid.min.js +3 -3
  35. package/modules/ai.d.ts +1 -1
  36. package/modules/ai.esm.min.js +2 -2
  37. package/modules/ai.min.cjs +2 -2
  38. package/modules/ai.min.js +2 -2
  39. package/modules/alarms.d.ts +1 -1
  40. package/modules/alarms.esm.min.js +2 -2
  41. package/modules/alarms.min.cjs +2 -2
  42. package/modules/alarms.min.js +2 -2
  43. package/modules/angular.d.ts +1 -1
  44. package/modules/angular.esm.min.js +2 -2
  45. package/modules/angular.min.cjs +2 -2
  46. package/modules/angular.min.js +2 -2
  47. package/modules/calendar.d.ts +1 -1
  48. package/modules/calendar.esm.min.js +2 -2
  49. package/modules/calendar.min.cjs +2 -2
  50. package/modules/calendar.min.js +2 -2
  51. package/modules/chart-alluvial.d.ts +1 -1
  52. package/modules/chart-alluvial.esm.min.js +1 -1
  53. package/modules/chart-alluvial.min.cjs +1 -1
  54. package/modules/chart-alluvial.min.js +1 -1
  55. package/modules/chart-arc.d.ts +1 -1
  56. package/modules/chart-arc.esm.min.js +1 -1
  57. package/modules/chart-arc.min.cjs +1 -1
  58. package/modules/chart-arc.min.js +1 -1
  59. package/modules/chart-barrace.d.ts +1 -1
  60. package/modules/chart-barrace.esm.min.js +1 -1
  61. package/modules/chart-barrace.min.cjs +1 -1
  62. package/modules/chart-barrace.min.js +1 -1
  63. package/modules/chart-bubblemap.d.ts +1 -1
  64. package/modules/chart-bubblemap.esm.min.js +1 -1
  65. package/modules/chart-bubblemap.min.cjs +1 -1
  66. package/modules/chart-bubblemap.min.js +1 -1
  67. package/modules/chart-bump.d.ts +1 -1
  68. package/modules/chart-bump.esm.min.js +1 -1
  69. package/modules/chart-bump.min.cjs +1 -1
  70. package/modules/chart-bump.min.js +1 -1
  71. package/modules/chart-calendar.d.ts +1 -1
  72. package/modules/chart-calendar.esm.min.js +1 -1
  73. package/modules/chart-calendar.min.cjs +1 -1
  74. package/modules/chart-calendar.min.js +1 -1
  75. package/modules/chart-choropleth.d.ts +1 -1
  76. package/modules/chart-choropleth.esm.min.js +1 -1
  77. package/modules/chart-choropleth.min.cjs +1 -1
  78. package/modules/chart-choropleth.min.js +1 -1
  79. package/modules/chart-decomposition.d.ts +1 -1
  80. package/modules/chart-decomposition.esm.min.js +1 -1
  81. package/modules/chart-decomposition.min.cjs +1 -1
  82. package/modules/chart-decomposition.min.js +1 -1
  83. package/modules/chart-diverging.d.ts +1 -1
  84. package/modules/chart-diverging.esm.min.js +1 -1
  85. package/modules/chart-diverging.min.cjs +1 -1
  86. package/modules/chart-diverging.min.js +1 -1
  87. package/modules/chart-dumbbell.d.ts +1 -1
  88. package/modules/chart-dumbbell.esm.min.js +1 -1
  89. package/modules/chart-dumbbell.min.cjs +1 -1
  90. package/modules/chart-dumbbell.min.js +1 -1
  91. package/modules/chart-fan.d.ts +1 -1
  92. package/modules/chart-fan.esm.min.js +1 -1
  93. package/modules/chart-fan.min.cjs +1 -1
  94. package/modules/chart-fan.min.js +1 -1
  95. package/modules/chart-forcetree.d.ts +1 -1
  96. package/modules/chart-forcetree.esm.min.js +1 -1
  97. package/modules/chart-forcetree.min.cjs +1 -1
  98. package/modules/chart-forcetree.min.js +1 -1
  99. package/modules/chart-hexbin.d.ts +1 -1
  100. package/modules/chart-hexbin.esm.min.js +1 -1
  101. package/modules/chart-hexbin.min.cjs +1 -1
  102. package/modules/chart-hexbin.min.js +1 -1
  103. package/modules/chart-hexmap.d.ts +1 -1
  104. package/modules/chart-hexmap.esm.min.js +1 -1
  105. package/modules/chart-hexmap.min.cjs +1 -1
  106. package/modules/chart-hexmap.min.js +1 -1
  107. package/modules/chart-icicle.d.ts +1 -1
  108. package/modules/chart-icicle.esm.min.js +1 -1
  109. package/modules/chart-icicle.min.cjs +1 -1
  110. package/modules/chart-icicle.min.js +1 -1
  111. package/modules/chart-markermap.d.ts +1 -1
  112. package/modules/chart-markermap.esm.min.js +1 -1
  113. package/modules/chart-markermap.min.cjs +1 -1
  114. package/modules/chart-markermap.min.js +1 -1
  115. package/modules/chart-motion.d.ts +1 -1
  116. package/modules/chart-motion.esm.min.js +1 -1
  117. package/modules/chart-motion.min.cjs +1 -1
  118. package/modules/chart-motion.min.js +1 -1
  119. package/modules/chart-pack.d.ts +1 -1
  120. package/modules/chart-pack.esm.min.js +1 -1
  121. package/modules/chart-pack.min.cjs +1 -1
  122. package/modules/chart-pack.min.js +1 -1
  123. package/modules/chart-parallel.d.ts +1 -1
  124. package/modules/chart-parallel.esm.min.js +1 -1
  125. package/modules/chart-parallel.min.cjs +1 -1
  126. package/modules/chart-parallel.min.js +1 -1
  127. package/modules/chart-pictorial.d.ts +1 -1
  128. package/modules/chart-pictorial.esm.min.js +1 -1
  129. package/modules/chart-pictorial.min.cjs +1 -1
  130. package/modules/chart-pictorial.min.js +1 -1
  131. package/modules/chart-polararea.d.ts +1 -1
  132. package/modules/chart-polararea.esm.min.js +1 -1
  133. package/modules/chart-polararea.min.cjs +1 -1
  134. package/modules/chart-polararea.min.js +1 -1
  135. package/modules/chart-polarscatter.d.ts +1 -1
  136. package/modules/chart-polarscatter.esm.min.js +1 -1
  137. package/modules/chart-polarscatter.min.cjs +1 -1
  138. package/modules/chart-polarscatter.min.js +1 -1
  139. package/modules/chart-pyramid.d.ts +1 -1
  140. package/modules/chart-pyramid.esm.min.js +1 -1
  141. package/modules/chart-pyramid.min.cjs +1 -1
  142. package/modules/chart-pyramid.min.js +1 -1
  143. package/modules/chart-radialbar.d.ts +1 -1
  144. package/modules/chart-radialbar.esm.min.js +1 -1
  145. package/modules/chart-radialbar.min.cjs +1 -1
  146. package/modules/chart-radialbar.min.js +1 -1
  147. package/modules/chart-ridgeline.d.ts +1 -1
  148. package/modules/chart-ridgeline.esm.min.js +1 -1
  149. package/modules/chart-ridgeline.min.cjs +1 -1
  150. package/modules/chart-ridgeline.min.js +1 -1
  151. package/modules/chart-roc.d.ts +1 -1
  152. package/modules/chart-roc.esm.min.js +1 -1
  153. package/modules/chart-roc.min.cjs +1 -1
  154. package/modules/chart-roc.min.js +1 -1
  155. package/modules/chart-serpentine.d.ts +1 -1
  156. package/modules/chart-serpentine.esm.min.js +1 -1
  157. package/modules/chart-serpentine.min.cjs +1 -1
  158. package/modules/chart-serpentine.min.js +1 -1
  159. package/modules/chart-slope.d.ts +1 -1
  160. package/modules/chart-slope.esm.min.js +1 -1
  161. package/modules/chart-slope.min.cjs +1 -1
  162. package/modules/chart-slope.min.js +1 -1
  163. package/modules/chart-spiral.d.ts +1 -1
  164. package/modules/chart-spiral.esm.min.js +1 -1
  165. package/modules/chart-spiral.min.cjs +1 -1
  166. package/modules/chart-spiral.min.js +1 -1
  167. package/modules/chart-splom.d.ts +1 -1
  168. package/modules/chart-splom.esm.min.js +1 -1
  169. package/modules/chart-splom.min.cjs +1 -1
  170. package/modules/chart-splom.min.js +1 -1
  171. package/modules/chart-tree.d.ts +1 -1
  172. package/modules/chart-tree.esm.min.js +1 -1
  173. package/modules/chart-tree.min.cjs +1 -1
  174. package/modules/chart-tree.min.js +1 -1
  175. package/modules/chart-venn.d.ts +1 -1
  176. package/modules/chart-venn.esm.min.js +1 -1
  177. package/modules/chart-venn.min.cjs +1 -1
  178. package/modules/chart-venn.min.js +1 -1
  179. package/modules/chart-voronoi.d.ts +1 -1
  180. package/modules/chart-voronoi.esm.min.js +1 -1
  181. package/modules/chart-voronoi.min.cjs +1 -1
  182. package/modules/chart-voronoi.min.js +1 -1
  183. package/modules/chart-waffle.d.ts +1 -1
  184. package/modules/chart-waffle.esm.min.js +1 -1
  185. package/modules/chart-waffle.min.cjs +1 -1
  186. package/modules/chart-waffle.min.js +1 -1
  187. package/modules/chart-wordcloud.d.ts +1 -1
  188. package/modules/chart-wordcloud.esm.min.js +1 -1
  189. package/modules/chart-wordcloud.min.cjs +1 -1
  190. package/modules/chart-wordcloud.min.js +1 -1
  191. package/modules/charts.d.ts +1 -1
  192. package/modules/charts.esm.min.js +2 -2
  193. package/modules/charts.min.cjs +2 -2
  194. package/modules/charts.min.js +2 -2
  195. package/modules/dashboard.d.ts +1 -1
  196. package/modules/dashboard.esm.min.js +2 -2
  197. package/modules/dashboard.min.cjs +2 -2
  198. package/modules/dashboard.min.js +2 -2
  199. package/modules/data-router.d.ts +1 -1
  200. package/modules/data-router.esm.min.js +2 -2
  201. package/modules/data-router.min.cjs +2 -2
  202. package/modules/data-router.min.js +2 -2
  203. package/modules/deckgl.d.ts +1 -1
  204. package/modules/deckgl.esm.min.js +2 -2
  205. package/modules/deckgl.min.cjs +2 -2
  206. package/modules/deckgl.min.js +2 -2
  207. package/modules/devtools.d.ts +1 -1
  208. package/modules/devtools.esm.min.js +1 -1
  209. package/modules/devtools.min.cjs +1 -1
  210. package/modules/devtools.min.js +1 -1
  211. package/modules/dhtmlx-compat.d.ts +1 -1
  212. package/modules/dhtmlx-compat.esm.min.js +2 -2
  213. package/modules/dhtmlx-compat.min.cjs +2 -2
  214. package/modules/dhtmlx-compat.min.js +2 -2
  215. package/modules/gantt.d.ts +58 -3
  216. package/modules/gantt.esm.min.js +223 -217
  217. package/modules/gantt.esm.min.js.map +2 -2
  218. package/modules/gantt.min.cjs +222 -216
  219. package/modules/gantt.min.js +222 -216
  220. package/modules/gantt.min.js.map +2 -2
  221. package/modules/geo-europe-nuts.d.ts +1 -1
  222. package/modules/geo-europe-nuts.esm.min.js +1 -1
  223. package/modules/geo-europe-nuts.min.cjs +1 -1
  224. package/modules/geo-europe-nuts.min.js +1 -1
  225. package/modules/geo-uk.d.ts +1 -1
  226. package/modules/geo-uk.esm.min.js +1 -1
  227. package/modules/geo-uk.min.cjs +1 -1
  228. package/modules/geo-uk.min.js +1 -1
  229. package/modules/geo-us-states.d.ts +1 -1
  230. package/modules/geo-us-states.esm.min.js +1 -1
  231. package/modules/geo-us-states.min.cjs +1 -1
  232. package/modules/geo-us-states.min.js +1 -1
  233. package/modules/geo-world-110m.d.ts +1 -1
  234. package/modules/geo-world-110m.esm.min.js +1 -1
  235. package/modules/geo-world-110m.min.cjs +1 -1
  236. package/modules/geo-world-110m.min.js +1 -1
  237. package/modules/geo-world-50m.d.ts +1 -1
  238. package/modules/geo-world-50m.esm.min.js +1 -1
  239. package/modules/geo-world-50m.min.cjs +1 -1
  240. package/modules/geo-world-50m.min.js +1 -1
  241. package/modules/geometry.d.ts +1 -1
  242. package/modules/geometry.esm.min.js +2 -2
  243. package/modules/geometry.min.cjs +2 -2
  244. package/modules/geometry.min.js +2 -2
  245. package/modules/htmx.d.ts +1 -1
  246. package/modules/htmx.esm.min.js +3 -3
  247. package/modules/htmx.min.cjs +3 -3
  248. package/modules/htmx.min.js +3 -3
  249. package/modules/kanban.d.ts +1 -1
  250. package/modules/kanban.esm.min.js +2 -2
  251. package/modules/kanban.min.cjs +2 -2
  252. package/modules/kanban.min.js +2 -2
  253. package/modules/kpi.d.ts +1 -1
  254. package/modules/kpi.esm.min.js +2 -2
  255. package/modules/kpi.min.cjs +2 -2
  256. package/modules/kpi.min.js +2 -2
  257. package/modules/layout.d.ts +1 -1
  258. package/modules/layout.esm.min.js +2 -2
  259. package/modules/layout.min.cjs +2 -2
  260. package/modules/layout.min.js +2 -2
  261. package/modules/leaflet.d.ts +1 -1
  262. package/modules/leaflet.esm.min.js +2 -2
  263. package/modules/leaflet.min.cjs +2 -2
  264. package/modules/leaflet.min.js +2 -2
  265. package/modules/list.d.ts +1 -1
  266. package/modules/list.esm.min.js +2 -2
  267. package/modules/list.min.cjs +2 -2
  268. package/modules/list.min.js +2 -2
  269. package/modules/mapview.d.ts +1 -1
  270. package/modules/mapview.esm.min.js +2 -2
  271. package/modules/mapview.min.cjs +2 -2
  272. package/modules/mapview.min.js +2 -2
  273. package/modules/mock-socket.d.ts +1 -1
  274. package/modules/mock-socket.esm.min.js +1 -1
  275. package/modules/mock-socket.min.cjs +1 -1
  276. package/modules/mock-socket.min.js +1 -1
  277. package/modules/presets.d.ts +1 -1
  278. package/modules/presets.esm.min.js +2 -2
  279. package/modules/presets.min.cjs +2 -2
  280. package/modules/presets.min.js +2 -2
  281. package/modules/react.d.ts +1 -1
  282. package/modules/react.esm.min.js +2 -2
  283. package/modules/react.esm.min.js.map +1 -1
  284. package/modules/react.min.cjs +2 -2
  285. package/modules/react.min.js +2 -2
  286. package/modules/react.min.js.map +1 -1
  287. package/modules/svelte.d.ts +1 -1
  288. package/modules/svelte.esm.min.js +3 -3
  289. package/modules/svelte.esm.min.js.map +1 -1
  290. package/modules/svelte.min.cjs +2 -2
  291. package/modules/svelte.min.js +2 -2
  292. package/modules/svelte.min.js.map +1 -1
  293. package/modules/tabs.d.ts +1 -1
  294. package/modules/tabs.esm.min.js +2 -2
  295. package/modules/tabs.min.cjs +2 -2
  296. package/modules/tabs.min.js +2 -2
  297. package/modules/vue.d.ts +1 -1
  298. package/modules/vue.esm.min.js +2 -2
  299. package/modules/vue.esm.min.js.map +1 -1
  300. package/modules/vue.min.cjs +2 -2
  301. package/modules/vue.min.js +2 -2
  302. package/modules/vue.min.js.map +1 -1
  303. package/modules/webcomponent.d.ts +1 -1
  304. package/modules/webcomponent.esm.min.js +4 -4
  305. package/modules/webcomponent.esm.min.js.map +1 -1
  306. package/modules/webcomponent.min.cjs +4 -4
  307. package/modules/webcomponent.min.js +4 -4
  308. package/modules/webcomponent.min.js.map +1 -1
  309. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Lattice Grid 1.88.2, presets module
2
+ * Lattice Grid 1.88.3, presets module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
6
- var z=Object.create(null),q=Object.create(null);function V(i,b){z[i]=b}function W(i){var b=q[i];if(b)return b;var p=Object.create(null);q[i]=p;var j=z[i];if(!j)throw new Error("[lattice] missing module: "+i);return j(p,W),p}V("packages/core/src/internal/util.js",function(i,b){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return S}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return $}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return H}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return U}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return k}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return T}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return te}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return C}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return R}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return v}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return le}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return de}});const p="1.88.2";async function j(){return p}const y="1.88.2",d=new Set,w=2e3;function P(e){if(d.add(e),d.size>w){const t=d.values().next().value;t!==void 0&&d.delete(t)}}const h=[],c=500;function u(e,t,n){h.push({key:e,level:t,message:n.map(r=>typeof r=="string"?r:a(r)).join(" "),at:Date.now()}),h.length>c&&h.shift()}function a(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function m(){return h.map(e=>({...e}))}function O(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 S(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"warn",n),console.warn("[lattice]",...n)}function N(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"info",n),console.info("[lattice]",...n)}function L(){d.clear(),h.length=0}function $(e,t){const n=new Error(`[lattice] ${e}`);throw t!==void 0&&(n.cause=t),n}function G(e,t){e||$(t)}const Z=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function g(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function H(e){return typeof e=="function"}function J(e){return e==null}function U(e){return e==null||e===""}function K(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const I=new Map;function k(e){let t=I.get(e);if(t)return t;if(!e.includes("."))t=n=>n?.[e];else{const n=e.split("."),r=n.length;t=l=>{let f=l;for(let o=0;o<r;o++){if(f==null)return;f=f[n[o]]}return f}}return I.set(e,t),t}const A=new Map;function T(e){let t=A.get(e);if(t)return t;if(!e.includes("."))t=(n,r)=>{n!=null&&(n[e]=r)};else{const n=e.split("."),r=n.length-1;t=(l,f)=>{let o=l;for(let s=0;s<r;s++){if(o==null)return;const F=n[s];o[F]==null&&(o[F]={}),o=o[F]}o!=null&&(o[n[r]]=f)}}return A.set(e,t),t}function Y(e,t){return k(t)(e)}function Q(e,t,n){T(t)(e,n)}function X(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(/^./,n=>n.toUpperCase()):""}const x={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function _(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,n=>x[n]):t}function ee(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function te(e,t,n){if(e!==void 0)return e===!0?{enabled:!0,...n}:e===!1?{enabled:!1}:g(e)?e:{[t]:e,enabled:!0}}function ne(e){return e==null?[]:Array.isArray(e)?e:[e]}const re=Object.freeze(new Set(["__proto__","constructor","prototype"]));function C(e,t){if(!g(e))return g(t)?{...t}:t;if(!g(t))return t===void 0?e:t;const n={...e};for(const r of Object.keys(t)){if(re.has(r))continue;const l=t[r];l!==void 0&&(n[r]=g(l)&&g(n[r])?C(n[r],l):l)}return n}function ie(e,t){if(!g(e)||!g(t)||e===t)return t;const n=Object.create(Object.getPrototypeOf(e));return Object.assign(n,e,t),n}class ue{#n;#e=new Map;#t;constructor(t=256,n=null){this.#n=t,this.#t=n}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 n=this.#e;if(!n.has(t))return;const r=n.get(t);return n.delete(t),n.set(t,r),r}peek(t){return this.#e.get(t)}set(t,n){const r=this.#e;return r.has(t)&&r.delete(t),r.set(t,n),this.#r(),n}delete(t){const n=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(n,t),n}clear(){if(this.#t)for(const[t,n]of this.#e)this.#t(n,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 n=t.keys().next().value,r=t.get(n);t.delete(n),this.#t&&this.#t(r,n)}}}const M=new Map;function ce(e,t){const n=`${e||""}|${t?JSON.stringify(t):""}`;let r=M.get(n);return r||(r=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),M.set(n,r)),r}function oe(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 n=String(e),r=String(t);return n<r?-1:n>r?1:0}function R(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const D=typeof requestAnimationFrame=="function";function v(e){return D?requestAnimationFrame(e):setTimeout(()=>e(R()),16)}function E(e){e!=null&&(D?cancelAnimationFrame(e):clearTimeout(e))}function ae(e){let t=null,n=null;const r=()=>{t=null;const f=n;n=null,e(...f||[])},l=(...f)=>{n=f,t===null&&(t=v(r))};return l.cancel=()=>{E(t),t=null,n=null},l.flush=()=>{t!==null&&(E(t),r())},l}function le(e,t){let n=null,r=null;const l=()=>{if(n=null,r===null)return;const s=r;r=null,e(...s),f()},f=()=>{n=setTimeout(l,t),typeof n?.unref=="function"&&n.unref()},o=(...s)=>{n===null?(e(...s),f()):(r=s,clearTimeout(n),f())};return o.flush=()=>{if(n!==null&&clearTimeout(n),n=null,r===null)return;const s=r;r=null,e(...s)},o.cancel=()=>{n!==null&&clearTimeout(n),n=null,r=null},o.pending=()=>n!==null||r!==null,o}function fe(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let se=0;function de(e="l"){return`${e}${(++se).toString(36)}`}}),V("packages/modules/presets/index.js",function(i,b){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return P}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return h}});const j=b("packages/core/src/internal/util.js").warnOnce;function y(c,u){if(typeof c!="string")return c;const a=c.trim().match(/^#([0-9a-f]{6})$/i);if(!a)return c;const m=a[1],O=parseInt(m.slice(0,2),16),S=parseInt(m.slice(2,4),16),N=parseInt(m.slice(4,6),16);return`rgba(${O}, ${S}, ${N}, ${u})`}function d(c){const u=c.palette,a=u.mode==="dark";return{"--lattice-background":u.background.default,"--lattice-surface":u.background.paper,"--lattice-surface-alt":a?"#2a2a2a":u.grey[50],"--lattice-border-color":u.divider,"--lattice-border-strong":a?u.grey[600]:u.grey[400],"--lattice-foreground":u.text.primary,"--lattice-foreground-muted":u.text.secondary,"--lattice-header-foreground":u.text.primary,"--lattice-accent":u.primary.main,"--lattice-accent-contrast":u.primary.contrastText,"--lattice-link-color":u.primary.main,"--lattice-selected-background":y(u.primary.main,.12),"--lattice-hovered-background":y(u.text.primary,.06),"--lattice-focus-color":u.primary.main,"--lattice-variant-danger-solid":u.error.main,"--lattice-variant-danger-fill":y(u.error.main,.12),"--lattice-variant-warning-solid":u.warning.main,"--lattice-variant-warning-fill":y(u.warning.main,.12),"--lattice-variant-success-solid":u.success.main,"--lattice-variant-success-fill":y(u.success.main,.12),"--lattice-variant-info-solid":u.info.main,"--lattice-variant-info-fill":y(u.info.main,.12),"--lattice-radius":`${c.shape.borderRadius}px`,"--lattice-font-family":c.typography.fontFamily,"--lattice-font-size":`${c.typography.body2.fontSize}`,"--lattice-header-font-weight":String(c.typography.fontWeightMedium)}}function w(c){return`.lattice {
6
+ var z=Object.create(null),q=Object.create(null);function V(i,b){z[i]=b}function W(i){var b=q[i];if(b)return b;var p=Object.create(null);q[i]=p;var j=z[i];if(!j)throw new Error("[lattice] missing module: "+i);return j(p,W),p}V("packages/core/src/internal/util.js",function(i,b){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return S}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return $}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return H}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return U}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return k}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return T}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return _}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return te}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return C}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return ie}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return R}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return v}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return le}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return de}});const p="1.88.3";async function j(){return p}const y="1.88.3",d=new Set,w=2e3;function P(e){if(d.add(e),d.size>w){const t=d.values().next().value;t!==void 0&&d.delete(t)}}const h=[],c=500;function u(e,t,n){h.push({key:e,level:t,message:n.map(r=>typeof r=="string"?r:a(r)).join(" "),at:Date.now()}),h.length>c&&h.shift()}function a(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function m(){return h.map(e=>({...e}))}function O(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 S(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"warn",n),console.warn("[lattice]",...n)}function N(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"info",n),console.info("[lattice]",...n)}function L(){d.clear(),h.length=0}function $(e,t){const n=new Error(`[lattice] ${e}`);throw t!==void 0&&(n.cause=t),n}function G(e,t){e||$(t)}const Z=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function g(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function H(e){return typeof e=="function"}function J(e){return e==null}function U(e){return e==null||e===""}function K(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const I=new Map;function k(e){let t=I.get(e);if(t)return t;if(!e.includes("."))t=n=>n?.[e];else{const n=e.split("."),r=n.length;t=l=>{let f=l;for(let o=0;o<r;o++){if(f==null)return;f=f[n[o]]}return f}}return I.set(e,t),t}const A=new Map;function T(e){let t=A.get(e);if(t)return t;if(!e.includes("."))t=(n,r)=>{n!=null&&(n[e]=r)};else{const n=e.split("."),r=n.length-1;t=(l,f)=>{let o=l;for(let s=0;s<r;s++){if(o==null)return;const F=n[s];o[F]==null&&(o[F]={}),o=o[F]}o!=null&&(o[n[r]]=f)}}return A.set(e,t),t}function Y(e,t){return k(t)(e)}function Q(e,t,n){T(t)(e,n)}function X(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(/^./,n=>n.toUpperCase()):""}const x={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function _(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,n=>x[n]):t}function ee(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function te(e,t,n){if(e!==void 0)return e===!0?{enabled:!0,...n}:e===!1?{enabled:!1}:g(e)?e:{[t]:e,enabled:!0}}function ne(e){return e==null?[]:Array.isArray(e)?e:[e]}const re=Object.freeze(new Set(["__proto__","constructor","prototype"]));function C(e,t){if(!g(e))return g(t)?{...t}:t;if(!g(t))return t===void 0?e:t;const n={...e};for(const r of Object.keys(t)){if(re.has(r))continue;const l=t[r];l!==void 0&&(n[r]=g(l)&&g(n[r])?C(n[r],l):l)}return n}function ie(e,t){if(!g(e)||!g(t)||e===t)return t;const n=Object.create(Object.getPrototypeOf(e));return Object.assign(n,e,t),n}class ue{#n;#e=new Map;#t;constructor(t=256,n=null){this.#n=t,this.#t=n}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 n=this.#e;if(!n.has(t))return;const r=n.get(t);return n.delete(t),n.set(t,r),r}peek(t){return this.#e.get(t)}set(t,n){const r=this.#e;return r.has(t)&&r.delete(t),r.set(t,n),this.#r(),n}delete(t){const n=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(n,t),n}clear(){if(this.#t)for(const[t,n]of this.#e)this.#t(n,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 n=t.keys().next().value,r=t.get(n);t.delete(n),this.#t&&this.#t(r,n)}}}const M=new Map;function ce(e,t){const n=`${e||""}|${t?JSON.stringify(t):""}`;let r=M.get(n);return r||(r=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),M.set(n,r)),r}function oe(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 n=String(e),r=String(t);return n<r?-1:n>r?1:0}function R(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const D=typeof requestAnimationFrame=="function";function v(e){return D?requestAnimationFrame(e):setTimeout(()=>e(R()),16)}function E(e){e!=null&&(D?cancelAnimationFrame(e):clearTimeout(e))}function ae(e){let t=null,n=null;const r=()=>{t=null;const f=n;n=null,e(...f||[])},l=(...f)=>{n=f,t===null&&(t=v(r))};return l.cancel=()=>{E(t),t=null,n=null},l.flush=()=>{t!==null&&(E(t),r())},l}function le(e,t){let n=null,r=null;const l=()=>{if(n=null,r===null)return;const s=r;r=null,e(...s),f()},f=()=>{n=setTimeout(l,t),typeof n?.unref=="function"&&n.unref()},o=(...s)=>{n===null?(e(...s),f()):(r=s,clearTimeout(n),f())};return o.flush=()=>{if(n!==null&&clearTimeout(n),n=null,r===null)return;const s=r;r=null,e(...s)},o.cancel=()=>{n!==null&&clearTimeout(n),n=null,r=null},o.pending=()=>n!==null||r!==null,o}function fe(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let se=0;function de(e="l"){return`${e}${(++se).toString(36)}`}}),V("packages/modules/presets/index.js",function(i,b){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return P}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return h}});const j=b("packages/core/src/internal/util.js").warnOnce;function y(c,u){if(typeof c!="string")return c;const a=c.trim().match(/^#([0-9a-f]{6})$/i);if(!a)return c;const m=a[1],O=parseInt(m.slice(0,2),16),S=parseInt(m.slice(2,4),16),N=parseInt(m.slice(4,6),16);return`rgba(${O}, ${S}, ${N}, ${u})`}function d(c){const u=c.palette,a=u.mode==="dark";return{"--lattice-background":u.background.default,"--lattice-surface":u.background.paper,"--lattice-surface-alt":a?"#2a2a2a":u.grey[50],"--lattice-border-color":u.divider,"--lattice-border-strong":a?u.grey[600]:u.grey[400],"--lattice-foreground":u.text.primary,"--lattice-foreground-muted":u.text.secondary,"--lattice-header-foreground":u.text.primary,"--lattice-accent":u.primary.main,"--lattice-accent-contrast":u.primary.contrastText,"--lattice-link-color":u.primary.main,"--lattice-selected-background":y(u.primary.main,.12),"--lattice-hovered-background":y(u.text.primary,.06),"--lattice-focus-color":u.primary.main,"--lattice-variant-danger-solid":u.error.main,"--lattice-variant-danger-fill":y(u.error.main,.12),"--lattice-variant-warning-solid":u.warning.main,"--lattice-variant-warning-fill":y(u.warning.main,.12),"--lattice-variant-success-solid":u.success.main,"--lattice-variant-success-fill":y(u.success.main,.12),"--lattice-variant-info-solid":u.info.main,"--lattice-variant-info-fill":y(u.info.main,.12),"--lattice-radius":`${c.shape.borderRadius}px`,"--lattice-font-family":c.typography.fontFamily,"--lattice-font-size":`${c.typography.body2.fontSize}`,"--lattice-header-font-weight":String(c.typography.fontWeightMedium)}}function w(c){return`.lattice {
7
7
  ${Object.entries(c).map(([a,m])=>` ${a}: ${m};`).join(`
8
8
  `)}
9
9
  }
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Lattice Grid 1.88.2, presets module
2
+ * Lattice Grid 1.88.3, presets module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
6
- (function(B){"use strict";var F=Object.create(null),I=Object.create(null);function k(i,b){F[i]=b}function A(i){var b=I[i];if(b)return b;var p=Object.create(null);I[i]=p;var j=F[i];if(!j)throw new Error("[lattice] missing module: "+i);return j(p,A),p}k("packages/core/src/internal/util.js",function(i,b){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return C}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return H}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return U}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return M}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return D}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return x}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return te}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return re}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return V}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return $}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return le}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return se}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return me}});const p="1.88.2";async function j(){return p}const y="1.88.2",d=new Set,S=2e3;function P(e){if(d.add(e),d.size>S){const t=d.values().next().value;t!==void 0&&d.delete(t)}}const h=[],c=500;function u(e,t,n){h.push({key:e,level:t,message:n.map(r=>typeof r=="string"?r:a(r)).join(" "),at:Date.now()}),h.length>c&&h.shift()}function a(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function m(){return h.map(e=>({...e}))}function O(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(d.has(e))return;P(e);const n=O(t);u(e,"warn",n),console.warn("[lattice]",...n)}function E(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"info",n),console.info("[lattice]",...n)}function G(){d.clear(),h.length=0}function C(e,t){const n=new Error(`[lattice] ${e}`);throw t!==void 0&&(n.cause=t),n}function Z(e,t){e||C(t)}const H=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function g(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function J(e){return typeof e=="function"}function U(e){return e==null}function K(e){return e==null||e===""}function Y(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const R=new Map;function M(e){let t=R.get(e);if(t)return t;if(!e.includes("."))t=n=>n?.[e];else{const n=e.split("."),r=n.length;t=l=>{let f=l;for(let o=0;o<r;o++){if(f==null)return;f=f[n[o]]}return f}}return R.set(e,t),t}const v=new Map;function D(e){let t=v.get(e);if(t)return t;if(!e.includes("."))t=(n,r)=>{n!=null&&(n[e]=r)};else{const n=e.split("."),r=n.length-1;t=(l,f)=>{let o=l;for(let s=0;s<r;s++){if(o==null)return;const T=n[s];o[T]==null&&(o[T]={}),o=o[T]}o!=null&&(o[n[r]]=f)}}return v.set(e,t),t}function Q(e,t){return M(t)(e)}function X(e,t,n){D(t)(e,n)}function x(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(/^./,n=>n.toUpperCase()):""}const _={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function ee(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,n=>_[n]):t}function te(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ne(e,t,n){if(e!==void 0)return e===!0?{enabled:!0,...n}:e===!1?{enabled:!1}:g(e)?e:{[t]:e,enabled:!0}}function re(e){return e==null?[]:Array.isArray(e)?e:[e]}const ie=Object.freeze(new Set(["__proto__","constructor","prototype"]));function z(e,t){if(!g(e))return g(t)?{...t}:t;if(!g(t))return t===void 0?e:t;const n={...e};for(const r of Object.keys(t)){if(ie.has(r))continue;const l=t[r];l!==void 0&&(n[r]=g(l)&&g(n[r])?z(n[r],l):l)}return n}function ue(e,t){if(!g(e)||!g(t)||e===t)return t;const n=Object.create(Object.getPrototypeOf(e));return Object.assign(n,e,t),n}class ce{#n;#e=new Map;#t;constructor(t=256,n=null){this.#n=t,this.#t=n}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 n=this.#e;if(!n.has(t))return;const r=n.get(t);return n.delete(t),n.set(t,r),r}peek(t){return this.#e.get(t)}set(t,n){const r=this.#e;return r.has(t)&&r.delete(t),r.set(t,n),this.#r(),n}delete(t){const n=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(n,t),n}clear(){if(this.#t)for(const[t,n]of this.#e)this.#t(n,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 n=t.keys().next().value,r=t.get(n);t.delete(n),this.#t&&this.#t(r,n)}}}const q=new Map;function oe(e,t){const n=`${e||""}|${t?JSON.stringify(t):""}`;let r=q.get(n);return r||(r=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),q.set(n,r)),r}function ae(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 n=String(e),r=String(t);return n<r?-1:n>r?1:0}function V(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const W=typeof requestAnimationFrame=="function";function L(e){return W?requestAnimationFrame(e):setTimeout(()=>e(V()),16)}function $(e){e!=null&&(W?cancelAnimationFrame(e):clearTimeout(e))}function le(e){let t=null,n=null;const r=()=>{t=null;const f=n;n=null,e(...f||[])},l=(...f)=>{n=f,t===null&&(t=L(r))};return l.cancel=()=>{$(t),t=null,n=null},l.flush=()=>{t!==null&&($(t),r())},l}function fe(e,t){let n=null,r=null;const l=()=>{if(n=null,r===null)return;const s=r;r=null,e(...s),f()},f=()=>{n=setTimeout(l,t),typeof n?.unref=="function"&&n.unref()},o=(...s)=>{n===null?(e(...s),f()):(r=s,clearTimeout(n),f())};return o.flush=()=>{if(n!==null&&clearTimeout(n),n=null,r===null)return;const s=r;r=null,e(...s)},o.cancel=()=>{n!==null&&clearTimeout(n),n=null,r=null},o.pending=()=>n!==null||r!==null,o}function se(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let de=0;function me(e="l"){return`${e}${(++de).toString(36)}`}}),k("packages/modules/presets/index.js",function(i,b){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return P}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return h}});const j=b("packages/core/src/internal/util.js").warnOnce;function y(c,u){if(typeof c!="string")return c;const a=c.trim().match(/^#([0-9a-f]{6})$/i);if(!a)return c;const m=a[1],O=parseInt(m.slice(0,2),16),N=parseInt(m.slice(2,4),16),E=parseInt(m.slice(4,6),16);return`rgba(${O}, ${N}, ${E}, ${u})`}function d(c){const u=c.palette,a=u.mode==="dark";return{"--lattice-background":u.background.default,"--lattice-surface":u.background.paper,"--lattice-surface-alt":a?"#2a2a2a":u.grey[50],"--lattice-border-color":u.divider,"--lattice-border-strong":a?u.grey[600]:u.grey[400],"--lattice-foreground":u.text.primary,"--lattice-foreground-muted":u.text.secondary,"--lattice-header-foreground":u.text.primary,"--lattice-accent":u.primary.main,"--lattice-accent-contrast":u.primary.contrastText,"--lattice-link-color":u.primary.main,"--lattice-selected-background":y(u.primary.main,.12),"--lattice-hovered-background":y(u.text.primary,.06),"--lattice-focus-color":u.primary.main,"--lattice-variant-danger-solid":u.error.main,"--lattice-variant-danger-fill":y(u.error.main,.12),"--lattice-variant-warning-solid":u.warning.main,"--lattice-variant-warning-fill":y(u.warning.main,.12),"--lattice-variant-success-solid":u.success.main,"--lattice-variant-success-fill":y(u.success.main,.12),"--lattice-variant-info-solid":u.info.main,"--lattice-variant-info-fill":y(u.info.main,.12),"--lattice-radius":`${c.shape.borderRadius}px`,"--lattice-font-family":c.typography.fontFamily,"--lattice-font-size":`${c.typography.body2.fontSize}`,"--lattice-header-font-weight":String(c.typography.fontWeightMedium)}}function S(c){return`.lattice {
6
+ (function(B){"use strict";var F=Object.create(null),I=Object.create(null);function k(i,b){F[i]=b}function A(i){var b=I[i];if(b)return b;var p=Object.create(null);I[i]=p;var j=F[i];if(!j)throw new Error("[lattice] missing module: "+i);return j(p,A),p}k("packages/core/src/internal/util.js",function(i,b){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return C}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return H}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return U}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return M}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return D}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return x}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return te}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return re}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return V}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return $}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return le}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return se}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return me}});const p="1.88.3";async function j(){return p}const y="1.88.3",d=new Set,S=2e3;function P(e){if(d.add(e),d.size>S){const t=d.values().next().value;t!==void 0&&d.delete(t)}}const h=[],c=500;function u(e,t,n){h.push({key:e,level:t,message:n.map(r=>typeof r=="string"?r:a(r)).join(" "),at:Date.now()}),h.length>c&&h.shift()}function a(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function m(){return h.map(e=>({...e}))}function O(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(d.has(e))return;P(e);const n=O(t);u(e,"warn",n),console.warn("[lattice]",...n)}function E(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"info",n),console.info("[lattice]",...n)}function G(){d.clear(),h.length=0}function C(e,t){const n=new Error(`[lattice] ${e}`);throw t!==void 0&&(n.cause=t),n}function Z(e,t){e||C(t)}const H=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function g(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function J(e){return typeof e=="function"}function U(e){return e==null}function K(e){return e==null||e===""}function Y(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const R=new Map;function M(e){let t=R.get(e);if(t)return t;if(!e.includes("."))t=n=>n?.[e];else{const n=e.split("."),r=n.length;t=l=>{let f=l;for(let o=0;o<r;o++){if(f==null)return;f=f[n[o]]}return f}}return R.set(e,t),t}const v=new Map;function D(e){let t=v.get(e);if(t)return t;if(!e.includes("."))t=(n,r)=>{n!=null&&(n[e]=r)};else{const n=e.split("."),r=n.length-1;t=(l,f)=>{let o=l;for(let s=0;s<r;s++){if(o==null)return;const T=n[s];o[T]==null&&(o[T]={}),o=o[T]}o!=null&&(o[n[r]]=f)}}return v.set(e,t),t}function Q(e,t){return M(t)(e)}function X(e,t,n){D(t)(e,n)}function x(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(/^./,n=>n.toUpperCase()):""}const _={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function ee(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,n=>_[n]):t}function te(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ne(e,t,n){if(e!==void 0)return e===!0?{enabled:!0,...n}:e===!1?{enabled:!1}:g(e)?e:{[t]:e,enabled:!0}}function re(e){return e==null?[]:Array.isArray(e)?e:[e]}const ie=Object.freeze(new Set(["__proto__","constructor","prototype"]));function z(e,t){if(!g(e))return g(t)?{...t}:t;if(!g(t))return t===void 0?e:t;const n={...e};for(const r of Object.keys(t)){if(ie.has(r))continue;const l=t[r];l!==void 0&&(n[r]=g(l)&&g(n[r])?z(n[r],l):l)}return n}function ue(e,t){if(!g(e)||!g(t)||e===t)return t;const n=Object.create(Object.getPrototypeOf(e));return Object.assign(n,e,t),n}class ce{#n;#e=new Map;#t;constructor(t=256,n=null){this.#n=t,this.#t=n}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 n=this.#e;if(!n.has(t))return;const r=n.get(t);return n.delete(t),n.set(t,r),r}peek(t){return this.#e.get(t)}set(t,n){const r=this.#e;return r.has(t)&&r.delete(t),r.set(t,n),this.#r(),n}delete(t){const n=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(n,t),n}clear(){if(this.#t)for(const[t,n]of this.#e)this.#t(n,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 n=t.keys().next().value,r=t.get(n);t.delete(n),this.#t&&this.#t(r,n)}}}const q=new Map;function oe(e,t){const n=`${e||""}|${t?JSON.stringify(t):""}`;let r=q.get(n);return r||(r=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),q.set(n,r)),r}function ae(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 n=String(e),r=String(t);return n<r?-1:n>r?1:0}function V(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const W=typeof requestAnimationFrame=="function";function L(e){return W?requestAnimationFrame(e):setTimeout(()=>e(V()),16)}function $(e){e!=null&&(W?cancelAnimationFrame(e):clearTimeout(e))}function le(e){let t=null,n=null;const r=()=>{t=null;const f=n;n=null,e(...f||[])},l=(...f)=>{n=f,t===null&&(t=L(r))};return l.cancel=()=>{$(t),t=null,n=null},l.flush=()=>{t!==null&&($(t),r())},l}function fe(e,t){let n=null,r=null;const l=()=>{if(n=null,r===null)return;const s=r;r=null,e(...s),f()},f=()=>{n=setTimeout(l,t),typeof n?.unref=="function"&&n.unref()},o=(...s)=>{n===null?(e(...s),f()):(r=s,clearTimeout(n),f())};return o.flush=()=>{if(n!==null&&clearTimeout(n),n=null,r===null)return;const s=r;r=null,e(...s)},o.cancel=()=>{n!==null&&clearTimeout(n),n=null,r=null},o.pending=()=>n!==null||r!==null,o}function se(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let de=0;function me(e="l"){return`${e}${(++de).toString(36)}`}}),k("packages/modules/presets/index.js",function(i,b){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return P}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return h}});const j=b("packages/core/src/internal/util.js").warnOnce;function y(c,u){if(typeof c!="string")return c;const a=c.trim().match(/^#([0-9a-f]{6})$/i);if(!a)return c;const m=a[1],O=parseInt(m.slice(0,2),16),N=parseInt(m.slice(2,4),16),E=parseInt(m.slice(4,6),16);return`rgba(${O}, ${N}, ${E}, ${u})`}function d(c){const u=c.palette,a=u.mode==="dark";return{"--lattice-background":u.background.default,"--lattice-surface":u.background.paper,"--lattice-surface-alt":a?"#2a2a2a":u.grey[50],"--lattice-border-color":u.divider,"--lattice-border-strong":a?u.grey[600]:u.grey[400],"--lattice-foreground":u.text.primary,"--lattice-foreground-muted":u.text.secondary,"--lattice-header-foreground":u.text.primary,"--lattice-accent":u.primary.main,"--lattice-accent-contrast":u.primary.contrastText,"--lattice-link-color":u.primary.main,"--lattice-selected-background":y(u.primary.main,.12),"--lattice-hovered-background":y(u.text.primary,.06),"--lattice-focus-color":u.primary.main,"--lattice-variant-danger-solid":u.error.main,"--lattice-variant-danger-fill":y(u.error.main,.12),"--lattice-variant-warning-solid":u.warning.main,"--lattice-variant-warning-fill":y(u.warning.main,.12),"--lattice-variant-success-solid":u.success.main,"--lattice-variant-success-fill":y(u.success.main,.12),"--lattice-variant-info-solid":u.info.main,"--lattice-variant-info-fill":y(u.info.main,.12),"--lattice-radius":`${c.shape.borderRadius}px`,"--lattice-font-family":c.typography.fontFamily,"--lattice-font-size":`${c.typography.body2.fontSize}`,"--lattice-header-font-weight":String(c.typography.fontWeightMedium)}}function S(c){return`.lattice {
7
7
  ${Object.entries(c).map(([a,m])=>` ${a}: ${m};`).join(`
8
8
  `)}
9
9
  }
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Lattice Grid 1.88.2, presets module
2
+ * Lattice Grid 1.88.3, presets module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
6
- (function(B){"use strict";var F=Object.create(null),I=Object.create(null);function k(i,b){F[i]=b}function A(i){var b=I[i];if(b)return b;var p=Object.create(null);I[i]=p;var j=F[i];if(!j)throw new Error("[lattice] missing module: "+i);return j(p,A),p}k("packages/core/src/internal/util.js",function(i,b){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return C}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return H}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return U}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return M}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return D}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return x}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return te}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return re}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return V}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return $}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return le}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return se}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return me}});const p="1.88.2";async function j(){return p}const y="1.88.2",d=new Set,S=2e3;function P(e){if(d.add(e),d.size>S){const t=d.values().next().value;t!==void 0&&d.delete(t)}}const h=[],c=500;function u(e,t,n){h.push({key:e,level:t,message:n.map(r=>typeof r=="string"?r:a(r)).join(" "),at:Date.now()}),h.length>c&&h.shift()}function a(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function m(){return h.map(e=>({...e}))}function O(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(d.has(e))return;P(e);const n=O(t);u(e,"warn",n),console.warn("[lattice]",...n)}function E(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"info",n),console.info("[lattice]",...n)}function G(){d.clear(),h.length=0}function C(e,t){const n=new Error(`[lattice] ${e}`);throw t!==void 0&&(n.cause=t),n}function Z(e,t){e||C(t)}const H=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function g(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function J(e){return typeof e=="function"}function U(e){return e==null}function K(e){return e==null||e===""}function Y(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const R=new Map;function M(e){let t=R.get(e);if(t)return t;if(!e.includes("."))t=n=>n?.[e];else{const n=e.split("."),r=n.length;t=l=>{let f=l;for(let o=0;o<r;o++){if(f==null)return;f=f[n[o]]}return f}}return R.set(e,t),t}const v=new Map;function D(e){let t=v.get(e);if(t)return t;if(!e.includes("."))t=(n,r)=>{n!=null&&(n[e]=r)};else{const n=e.split("."),r=n.length-1;t=(l,f)=>{let o=l;for(let s=0;s<r;s++){if(o==null)return;const T=n[s];o[T]==null&&(o[T]={}),o=o[T]}o!=null&&(o[n[r]]=f)}}return v.set(e,t),t}function Q(e,t){return M(t)(e)}function X(e,t,n){D(t)(e,n)}function x(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(/^./,n=>n.toUpperCase()):""}const _={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function ee(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,n=>_[n]):t}function te(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ne(e,t,n){if(e!==void 0)return e===!0?{enabled:!0,...n}:e===!1?{enabled:!1}:g(e)?e:{[t]:e,enabled:!0}}function re(e){return e==null?[]:Array.isArray(e)?e:[e]}const ie=Object.freeze(new Set(["__proto__","constructor","prototype"]));function z(e,t){if(!g(e))return g(t)?{...t}:t;if(!g(t))return t===void 0?e:t;const n={...e};for(const r of Object.keys(t)){if(ie.has(r))continue;const l=t[r];l!==void 0&&(n[r]=g(l)&&g(n[r])?z(n[r],l):l)}return n}function ue(e,t){if(!g(e)||!g(t)||e===t)return t;const n=Object.create(Object.getPrototypeOf(e));return Object.assign(n,e,t),n}class ce{#n;#e=new Map;#t;constructor(t=256,n=null){this.#n=t,this.#t=n}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 n=this.#e;if(!n.has(t))return;const r=n.get(t);return n.delete(t),n.set(t,r),r}peek(t){return this.#e.get(t)}set(t,n){const r=this.#e;return r.has(t)&&r.delete(t),r.set(t,n),this.#r(),n}delete(t){const n=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(n,t),n}clear(){if(this.#t)for(const[t,n]of this.#e)this.#t(n,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 n=t.keys().next().value,r=t.get(n);t.delete(n),this.#t&&this.#t(r,n)}}}const q=new Map;function oe(e,t){const n=`${e||""}|${t?JSON.stringify(t):""}`;let r=q.get(n);return r||(r=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),q.set(n,r)),r}function ae(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 n=String(e),r=String(t);return n<r?-1:n>r?1:0}function V(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const W=typeof requestAnimationFrame=="function";function L(e){return W?requestAnimationFrame(e):setTimeout(()=>e(V()),16)}function $(e){e!=null&&(W?cancelAnimationFrame(e):clearTimeout(e))}function le(e){let t=null,n=null;const r=()=>{t=null;const f=n;n=null,e(...f||[])},l=(...f)=>{n=f,t===null&&(t=L(r))};return l.cancel=()=>{$(t),t=null,n=null},l.flush=()=>{t!==null&&($(t),r())},l}function fe(e,t){let n=null,r=null;const l=()=>{if(n=null,r===null)return;const s=r;r=null,e(...s),f()},f=()=>{n=setTimeout(l,t),typeof n?.unref=="function"&&n.unref()},o=(...s)=>{n===null?(e(...s),f()):(r=s,clearTimeout(n),f())};return o.flush=()=>{if(n!==null&&clearTimeout(n),n=null,r===null)return;const s=r;r=null,e(...s)},o.cancel=()=>{n!==null&&clearTimeout(n),n=null,r=null},o.pending=()=>n!==null||r!==null,o}function se(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let de=0;function me(e="l"){return`${e}${(++de).toString(36)}`}}),k("packages/modules/presets/index.js",function(i,b){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return P}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return h}});const j=b("packages/core/src/internal/util.js").warnOnce;function y(c,u){if(typeof c!="string")return c;const a=c.trim().match(/^#([0-9a-f]{6})$/i);if(!a)return c;const m=a[1],O=parseInt(m.slice(0,2),16),N=parseInt(m.slice(2,4),16),E=parseInt(m.slice(4,6),16);return`rgba(${O}, ${N}, ${E}, ${u})`}function d(c){const u=c.palette,a=u.mode==="dark";return{"--lattice-background":u.background.default,"--lattice-surface":u.background.paper,"--lattice-surface-alt":a?"#2a2a2a":u.grey[50],"--lattice-border-color":u.divider,"--lattice-border-strong":a?u.grey[600]:u.grey[400],"--lattice-foreground":u.text.primary,"--lattice-foreground-muted":u.text.secondary,"--lattice-header-foreground":u.text.primary,"--lattice-accent":u.primary.main,"--lattice-accent-contrast":u.primary.contrastText,"--lattice-link-color":u.primary.main,"--lattice-selected-background":y(u.primary.main,.12),"--lattice-hovered-background":y(u.text.primary,.06),"--lattice-focus-color":u.primary.main,"--lattice-variant-danger-solid":u.error.main,"--lattice-variant-danger-fill":y(u.error.main,.12),"--lattice-variant-warning-solid":u.warning.main,"--lattice-variant-warning-fill":y(u.warning.main,.12),"--lattice-variant-success-solid":u.success.main,"--lattice-variant-success-fill":y(u.success.main,.12),"--lattice-variant-info-solid":u.info.main,"--lattice-variant-info-fill":y(u.info.main,.12),"--lattice-radius":`${c.shape.borderRadius}px`,"--lattice-font-family":c.typography.fontFamily,"--lattice-font-size":`${c.typography.body2.fontSize}`,"--lattice-header-font-weight":String(c.typography.fontWeightMedium)}}function S(c){return`.lattice {
6
+ (function(B){"use strict";var F=Object.create(null),I=Object.create(null);function k(i,b){F[i]=b}function A(i){var b=I[i];if(b)return b;var p=Object.create(null);I[i]=p;var j=F[i];if(!j)throw new Error("[lattice] missing module: "+i);return j(p,A),p}k("packages/core/src/internal/util.js",function(i,b){"use strict";Object.defineProperty(i,"VERSION",{enumerable:!0,get:function(){return y}}),Object.defineProperty(i,"reportedWarnings",{enumerable:!0,get:function(){return m}}),Object.defineProperty(i,"warnOnce",{enumerable:!0,get:function(){return N}}),Object.defineProperty(i,"infoOnce",{enumerable:!0,get:function(){return E}}),Object.defineProperty(i,"resetWarnings",{enumerable:!0,get:function(){return G}}),Object.defineProperty(i,"fail",{enumerable:!0,get:function(){return C}}),Object.defineProperty(i,"invariant",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(i,"DEV",{enumerable:!0,get:function(){return H}}),Object.defineProperty(i,"isObject",{enumerable:!0,get:function(){return g}}),Object.defineProperty(i,"isFunction",{enumerable:!0,get:function(){return J}}),Object.defineProperty(i,"isNil",{enumerable:!0,get:function(){return U}}),Object.defineProperty(i,"isBlank",{enumerable:!0,get:function(){return K}}),Object.defineProperty(i,"isCtor",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(i,"pathGetter",{enumerable:!0,get:function(){return M}}),Object.defineProperty(i,"pathSetter",{enumerable:!0,get:function(){return D}}),Object.defineProperty(i,"getPath",{enumerable:!0,get:function(){return Q}}),Object.defineProperty(i,"setPath",{enumerable:!0,get:function(){return X}}),Object.defineProperty(i,"humanise",{enumerable:!0,get:function(){return x}}),Object.defineProperty(i,"escapeHtml",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(i,"titleCase",{enumerable:!0,get:function(){return te}}),Object.defineProperty(i,"expand",{enumerable:!0,get:function(){return ne}}),Object.defineProperty(i,"toArray",{enumerable:!0,get:function(){return re}}),Object.defineProperty(i,"merge",{enumerable:!0,get:function(){return z}}),Object.defineProperty(i,"mergeRow",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(i,"Lru",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(i,"collator",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(i,"defaultCompare",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(i,"now",{enumerable:!0,get:function(){return V}}),Object.defineProperty(i,"nextFrame",{enumerable:!0,get:function(){return L}}),Object.defineProperty(i,"cancelFrame",{enumerable:!0,get:function(){return $}}),Object.defineProperty(i,"frameBatched",{enumerable:!0,get:function(){return le}}),Object.defineProperty(i,"settleDebounce",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(i,"whenIdle",{enumerable:!0,get:function(){return se}}),Object.defineProperty(i,"uid",{enumerable:!0,get:function(){return me}});const p="1.88.3";async function j(){return p}const y="1.88.3",d=new Set,S=2e3;function P(e){if(d.add(e),d.size>S){const t=d.values().next().value;t!==void 0&&d.delete(t)}}const h=[],c=500;function u(e,t,n){h.push({key:e,level:t,message:n.map(r=>typeof r=="string"?r:a(r)).join(" "),at:Date.now()}),h.length>c&&h.shift()}function a(e){if(e instanceof Error)return e.message;try{return JSON.stringify(e)}catch{return String(e)}}function m(){return h.map(e=>({...e}))}function O(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(d.has(e))return;P(e);const n=O(t);u(e,"warn",n),console.warn("[lattice]",...n)}function E(e,...t){if(d.has(e))return;P(e);const n=O(t);u(e,"info",n),console.info("[lattice]",...n)}function G(){d.clear(),h.length=0}function C(e,t){const n=new Error(`[lattice] ${e}`);throw t!==void 0&&(n.cause=t),n}function Z(e,t){e||C(t)}const H=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function g(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}function J(e){return typeof e=="function"}function U(e){return e==null}function K(e){return e==null||e===""}function Y(e){return typeof e!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(e))?!0:!!(e.prototype&&Object.getOwnPropertyNames(e.prototype).length>1)}const R=new Map;function M(e){let t=R.get(e);if(t)return t;if(!e.includes("."))t=n=>n?.[e];else{const n=e.split("."),r=n.length;t=l=>{let f=l;for(let o=0;o<r;o++){if(f==null)return;f=f[n[o]]}return f}}return R.set(e,t),t}const v=new Map;function D(e){let t=v.get(e);if(t)return t;if(!e.includes("."))t=(n,r)=>{n!=null&&(n[e]=r)};else{const n=e.split("."),r=n.length-1;t=(l,f)=>{let o=l;for(let s=0;s<r;s++){if(o==null)return;const T=n[s];o[T]==null&&(o[T]={}),o=o[T]}o!=null&&(o[n[r]]=f)}}return v.set(e,t),t}function Q(e,t){return M(t)(e)}function X(e,t,n){D(t)(e,n)}function x(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(/^./,n=>n.toUpperCase()):""}const _={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function ee(e){const t=e==null?"":String(e);return/[&<>"']/.test(t)?t.replace(/[&<>"']/g,n=>_[n]):t}function te(e){return String(e).replace(/\w\S*/g,t=>t[0].toUpperCase()+t.slice(1).toLowerCase())}function ne(e,t,n){if(e!==void 0)return e===!0?{enabled:!0,...n}:e===!1?{enabled:!1}:g(e)?e:{[t]:e,enabled:!0}}function re(e){return e==null?[]:Array.isArray(e)?e:[e]}const ie=Object.freeze(new Set(["__proto__","constructor","prototype"]));function z(e,t){if(!g(e))return g(t)?{...t}:t;if(!g(t))return t===void 0?e:t;const n={...e};for(const r of Object.keys(t)){if(ie.has(r))continue;const l=t[r];l!==void 0&&(n[r]=g(l)&&g(n[r])?z(n[r],l):l)}return n}function ue(e,t){if(!g(e)||!g(t)||e===t)return t;const n=Object.create(Object.getPrototypeOf(e));return Object.assign(n,e,t),n}class ce{#n;#e=new Map;#t;constructor(t=256,n=null){this.#n=t,this.#t=n}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 n=this.#e;if(!n.has(t))return;const r=n.get(t);return n.delete(t),n.set(t,r),r}peek(t){return this.#e.get(t)}set(t,n){const r=this.#e;return r.has(t)&&r.delete(t),r.set(t,n),this.#r(),n}delete(t){const n=this.#e.get(t);return this.#e.delete(t)&&this.#t&&this.#t(n,t),n}clear(){if(this.#t)for(const[t,n]of this.#e)this.#t(n,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 n=t.keys().next().value,r=t.get(n);t.delete(n),this.#t&&this.#t(r,n)}}}const q=new Map;function oe(e,t){const n=`${e||""}|${t?JSON.stringify(t):""}`;let r=q.get(n);return r||(r=new Intl.Collator(e||void 0,{numeric:!0,sensitivity:"variant",...t}),q.set(n,r)),r}function ae(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 n=String(e),r=String(t);return n<r?-1:n>r?1:0}function V(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const W=typeof requestAnimationFrame=="function";function L(e){return W?requestAnimationFrame(e):setTimeout(()=>e(V()),16)}function $(e){e!=null&&(W?cancelAnimationFrame(e):clearTimeout(e))}function le(e){let t=null,n=null;const r=()=>{t=null;const f=n;n=null,e(...f||[])},l=(...f)=>{n=f,t===null&&(t=L(r))};return l.cancel=()=>{$(t),t=null,n=null},l.flush=()=>{t!==null&&($(t),r())},l}function fe(e,t){let n=null,r=null;const l=()=>{if(n=null,r===null)return;const s=r;r=null,e(...s),f()},f=()=>{n=setTimeout(l,t),typeof n?.unref=="function"&&n.unref()},o=(...s)=>{n===null?(e(...s),f()):(r=s,clearTimeout(n),f())};return o.flush=()=>{if(n!==null&&clearTimeout(n),n=null,r===null)return;const s=r;r=null,e(...s)},o.cancel=()=>{n!==null&&clearTimeout(n),n=null,r=null},o.pending=()=>n!==null||r!==null,o}function se(e,t=50){return typeof requestIdleCallback=="function"?requestIdleCallback(e,{timeout:t}):setTimeout(()=>e({timeRemaining:()=>0,didTimeout:!0}),1)}let de=0;function me(e="l"){return`${e}${(++de).toString(36)}`}}),k("packages/modules/presets/index.js",function(i,b){"use strict";Object.defineProperty(i,"themeFromMui",{enumerable:!0,get:function(){return P}}),Object.defineProperty(i,"default",{enumerable:!0,get:function(){return h}});const j=b("packages/core/src/internal/util.js").warnOnce;function y(c,u){if(typeof c!="string")return c;const a=c.trim().match(/^#([0-9a-f]{6})$/i);if(!a)return c;const m=a[1],O=parseInt(m.slice(0,2),16),N=parseInt(m.slice(2,4),16),E=parseInt(m.slice(4,6),16);return`rgba(${O}, ${N}, ${E}, ${u})`}function d(c){const u=c.palette,a=u.mode==="dark";return{"--lattice-background":u.background.default,"--lattice-surface":u.background.paper,"--lattice-surface-alt":a?"#2a2a2a":u.grey[50],"--lattice-border-color":u.divider,"--lattice-border-strong":a?u.grey[600]:u.grey[400],"--lattice-foreground":u.text.primary,"--lattice-foreground-muted":u.text.secondary,"--lattice-header-foreground":u.text.primary,"--lattice-accent":u.primary.main,"--lattice-accent-contrast":u.primary.contrastText,"--lattice-link-color":u.primary.main,"--lattice-selected-background":y(u.primary.main,.12),"--lattice-hovered-background":y(u.text.primary,.06),"--lattice-focus-color":u.primary.main,"--lattice-variant-danger-solid":u.error.main,"--lattice-variant-danger-fill":y(u.error.main,.12),"--lattice-variant-warning-solid":u.warning.main,"--lattice-variant-warning-fill":y(u.warning.main,.12),"--lattice-variant-success-solid":u.success.main,"--lattice-variant-success-fill":y(u.success.main,.12),"--lattice-variant-info-solid":u.info.main,"--lattice-variant-info-fill":y(u.info.main,.12),"--lattice-radius":`${c.shape.borderRadius}px`,"--lattice-font-family":c.typography.fontFamily,"--lattice-font-size":`${c.typography.body2.fontSize}`,"--lattice-header-font-weight":String(c.typography.fontWeightMedium)}}function S(c){return`.lattice {
7
7
  ${Object.entries(c).map(([a,m])=>` ${a}: ${m};`).join(`
8
8
  `)}
9
9
  }
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.88.2, react module type declarations
2
+ * Lattice Grid 1.88.3, react module type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,9 +1,9 @@
1
1
  /*!
2
- * Lattice Grid 1.88.2, react module
2
+ * Lattice Grid 1.88.3, react module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
6
- var Ge=Object.create(null),Ne=Object.create(null);function ve(a,le){Ge[a]=le}function Te(a){var le=Ne[a];if(le)return le;var he=Object.create(null);Ne[a]=he;var pe=Ge[a];if(!pe)throw new Error("[lattice] missing module: "+a);return pe(he,Te),he}ve("packages/core/src/internal/util.js",function(a,le){"use strict";Object.defineProperty(a,"VERSION",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(a,"reportedWarnings",{enumerable:!0,get:function(){return l}}),Object.defineProperty(a,"warnOnce",{enumerable:!0,get:function(){return U}}),Object.defineProperty(a,"infoOnce",{enumerable:!0,get:function(){return D}}),Object.defineProperty(a,"resetWarnings",{enumerable:!0,get:function(){return v}}),Object.defineProperty(a,"fail",{enumerable:!0,get:function(){return X}}),Object.defineProperty(a,"invariant",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(a,"DEV",{enumerable:!0,get:function(){return N}}),Object.defineProperty(a,"isObject",{enumerable:!0,get:function(){return I}}),Object.defineProperty(a,"isFunction",{enumerable:!0,get:function(){return de}}),Object.defineProperty(a,"isNil",{enumerable:!0,get:function(){return V}}),Object.defineProperty(a,"isBlank",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"isCtor",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(a,"pathGetter",{enumerable:!0,get:function(){return J}}),Object.defineProperty(a,"pathSetter",{enumerable:!0,get:function(){return K}}),Object.defineProperty(a,"getPath",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(a,"setPath",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(a,"humanise",{enumerable:!0,get:function(){return f}}),Object.defineProperty(a,"escapeHtml",{enumerable:!0,get:function(){return L}}),Object.defineProperty(a,"titleCase",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(a,"expand",{enumerable:!0,get:function(){return o}}),Object.defineProperty(a,"toArray",{enumerable:!0,get:function(){return p}}),Object.defineProperty(a,"merge",{enumerable:!0,get:function(){return r}}),Object.defineProperty(a,"mergeRow",{enumerable:!0,get:function(){return i}}),Object.defineProperty(a,"Lru",{enumerable:!0,get:function(){return g}}),Object.defineProperty(a,"collator",{enumerable:!0,get:function(){return y}}),Object.defineProperty(a,"defaultCompare",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"now",{enumerable:!0,get:function(){return E}}),Object.defineProperty(a,"nextFrame",{enumerable:!0,get:function(){return H}}),Object.defineProperty(a,"cancelFrame",{enumerable:!0,get:function(){return T}}),Object.defineProperty(a,"frameBatched",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(a,"settleDebounce",{enumerable:!0,get:function(){return P}}),Object.defineProperty(a,"whenIdle",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"uid",{enumerable:!0,get:function(){return ge}});const he="1.88.2";async function pe(){return he}const Z="1.88.2",oe=new Set,ue=2e3;function q(t){if(oe.add(t),oe.size>ue){const n=oe.values().next().value;n!==void 0&&oe.delete(n)}}const ie=[],S=500;function C(t,n,c){ie.push({key:t,level:n,message:c.map(d=>typeof d=="string"?d:m(d)).join(" "),at:Date.now()}),ie.length>S&&ie.shift()}function m(t){if(t instanceof Error)return t.message;try{return JSON.stringify(t)}catch{return String(t)}}function l(){return ie.map(t=>({...t}))}function R(t){if(t.length===0||typeof t[0]!="string")return t;const n=t[0].replace(/^\[lattice\]\s*/,"");return n===t[0]?t:[n,...t.slice(1)]}function U(t,...n){if(oe.has(t))return;q(t);const c=R(n);C(t,"warn",c),console.warn("[lattice]",...c)}function D(t,...n){if(oe.has(t))return;q(t);const c=R(n);C(t,"info",c),console.info("[lattice]",...c)}function v(){oe.clear(),ie.length=0}function X(t,n){const c=new Error(`[lattice] ${t}`);throw n!==void 0&&(c.cause=n),c}function ee(t,n){t||X(n)}const N=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function I(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function de(t){return typeof t=="function"}function V(t){return t==null}function M(t){return t==null||t===""}function ce(t){return typeof t!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(t))?!0:!!(t.prototype&&Object.getOwnPropertyNames(t.prototype).length>1)}const z=new Map;function J(t){let n=z.get(t);if(n)return n;if(!t.includes("."))n=c=>c?.[t];else{const c=t.split("."),d=c.length;n=$=>{let k=$;for(let G=0;G<d;G++){if(k==null)return;k=k[c[G]]}return k}}return z.set(t,n),n}const F=new Map;function K(t){let n=F.get(t);if(n)return n;if(!t.includes("."))n=(c,d)=>{c!=null&&(c[t]=d)};else{const c=t.split("."),d=c.length-1;n=($,k)=>{let G=$;for(let te=0;te<d;te++){if(G==null)return;const ne=c[te];G[ne]==null&&(G[ne]={}),G=G[ne]}G!=null&&(G[c[d]]=k)}}return F.set(t,n),n}function fe(t,n){return J(n)(t)}function Le(t,n,c){K(n)(t,c)}function f(t){return t?(t.includes(".")?t.slice(t.lastIndexOf(".")+1):t).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 b={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function L(t){const n=t==null?"":String(t);return/[&<>"']/.test(n)?n.replace(/[&<>"']/g,c=>b[c]):n}function ae(t){return String(t).replace(/\w\S*/g,n=>n[0].toUpperCase()+n.slice(1).toLowerCase())}function o(t,n,c){if(t!==void 0)return t===!0?{enabled:!0,...c}:t===!1?{enabled:!1}:I(t)?t:{[n]:t,enabled:!0}}function p(t){return t==null?[]:Array.isArray(t)?t:[t]}const x=Object.freeze(new Set(["__proto__","constructor","prototype"]));function r(t,n){if(!I(t))return I(n)?{...n}:n;if(!I(n))return n===void 0?t:n;const c={...t};for(const d of Object.keys(n)){if(x.has(d))continue;const $=n[d];$!==void 0&&(c[d]=I($)&&I(c[d])?r(c[d],$):$)}return c}function i(t,n){if(!I(t)||!I(n)||t===n)return n;const c=Object.create(Object.getPrototypeOf(t));return Object.assign(c,t,n),c}class g{#n;#e=new Map;#t;constructor(n=256,c=null){this.#n=n,this.#t=c}get size(){return this.#e.size}get max(){return this.#n}set max(n){this.#n=n,this.#r()}has(n){return this.#e.has(n)}get(n){const c=this.#e;if(!c.has(n))return;const d=c.get(n);return c.delete(n),c.set(n,d),d}peek(n){return this.#e.get(n)}set(n,c){const d=this.#e;return d.has(n)&&d.delete(n),d.set(n,c),this.#r(),c}delete(n){const c=this.#e.get(n);return this.#e.delete(n)&&this.#t&&this.#t(c,n),c}clear(){if(this.#t)for(const[n,c]of this.#e)this.#t(c,n);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const n=this.#e;for(;n.size>this.#n;){const c=n.keys().next().value,d=n.get(c);n.delete(c),this.#t&&this.#t(d,c)}}}const h=new Map;function y(t,n){const c=`${t||""}|${n?JSON.stringify(n):""}`;let d=h.get(c);return d||(d=new Intl.Collator(t||void 0,{numeric:!0,sensitivity:"variant",...n}),h.set(c,d)),d}function O(t,n){if(t===n)return 0;if(t==null)return 1;if(n==null)return-1;if(typeof t=="number"&&typeof n=="number")return Number.isNaN(t)?Number.isNaN(n)?0:1:Number.isNaN(n)||t<n?-1:t>n?1:0;const c=String(t),d=String(n);return c<d?-1:c>d?1:0}function E(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const W=typeof requestAnimationFrame=="function";function H(t){return W?requestAnimationFrame(t):setTimeout(()=>t(E()),16)}function T(t){t!=null&&(W?cancelAnimationFrame(t):clearTimeout(t))}function Y(t){let n=null,c=null;const d=()=>{n=null;const k=c;c=null,t(...k||[])},$=(...k)=>{c=k,n===null&&(n=H(d))};return $.cancel=()=>{T(n),n=null,c=null},$.flush=()=>{n!==null&&(T(n),d())},$}function P(t,n){let c=null,d=null;const $=()=>{if(c=null,d===null)return;const te=d;d=null,t(...te),k()},k=()=>{c=setTimeout($,n),typeof c?.unref=="function"&&c.unref()},G=(...te)=>{c===null?(t(...te),k()):(d=te,clearTimeout(c),k())};return G.flush=()=>{if(c!==null&&clearTimeout(c),c=null,d===null)return;const te=d;d=null,t(...te)},G.cancel=()=>{c!==null&&clearTimeout(c),c=null,d=null},G.pending=()=>c!==null||d!==null,G}function w(t,n=50){return typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:n}):setTimeout(()=>t({timeRemaining:()=>0,didTimeout:!0}),1)}let Q=0;function ge(t="l"){return`${t}${(++Q).toString(36)}`}}),ve("packages/modules/shared/adapter.js",function(a,le){"use strict";Object.defineProperty(a,"EVENT_NAMES",{enumerable:!0,get:function(){return he}}),Object.defineProperty(a,"handlerName",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(a,"dashedName",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(a,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(a,"aliasConfigKey",{enumerable:!0,get:function(){return q}}),Object.defineProperty(a,"isHandlerProp",{enumerable:!0,get:function(){return S}}),Object.defineProperty(a,"partition",{enumerable:!0,get:function(){return C}}),Object.defineProperty(a,"createGridController",{enumerable:!0,get:function(){return m}});const he=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"]),pe=Object.freeze({sort:(l,R)=>l.sort.set(R||[]),filters:(l,R)=>l.filters.set(R||null),quickFilter:(l,R)=>{if(R&&typeof R=="object"){l.filters.quick(R.text||"",{mode:R.mode});return}l.filters.quick(typeof R=="string"?R:"")},selectedKeys:(l,R)=>l.selection.set(Array.isArray(R)?R:[])});function Z(l){return`on${String(l).split(":").map(U=>U.charAt(0).toUpperCase()+U.slice(1)).join("")}`}function oe(l){return String(l).replace(/:/g,"-")}const ue=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function q(l){return Object.hasOwn(ue,l)?ue[l]:l}const ie=Object.freeze(Object.fromEntries(he.map(l=>[Z(l),l])));function S(l){return Object.hasOwn(ie,l)}function C(l){const R={},U={},D={};for(const[v,X]of Object.entries(l||{})){if(S(v)){D[v]=X;continue}if(Object.hasOwn(pe,v)){U[v]=X;continue}R[v]=X}return{config:R,imperative:U,handlers:D}}function m(l){const R=l.createGrid;if(typeof R!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const U=C(l.props||{}),D=R(l.element,{...U.config});let v=U.handlers,X=U.config,ee={};const N=V=>{if(!V||typeof V.type!="string")return;const M=v[Z(V.type)];typeof M=="function"&&M(V)},I=D.on("*",N);for(const[V,M]of Object.entries(U.imperative))M!==void 0&&(pe[V](D,M),ee[V]=M);let de=!1;return{grid:D,update(V){if(de)return;const M=C(V||{});v=M.handlers;const ce={};for(const[z,J]of Object.entries(M.config))Object.is(X[z],J)||(ce[z]=J);for(const z of Object.keys(X))Object.hasOwn(M.config,z)||(ce[z]=void 0);Object.keys(ce).length&&D.setAll(ce),X=M.config;for(const[z,J]of Object.entries(pe)){const F=M.imperative[z];Object.is(ee[z],F)||F===void 0&&!Object.hasOwn(ee,z)||(J(D,F),ee[z]=F)}},destroy(){de||(de=!0,I(),D.destroy())}}}}),ve("packages/modules/react/viewers.js",function(a,le){"use strict";Object.defineProperty(a,"VIEWER_EVENTS",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(a,"VIEWER_APPLY",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(a,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(a,"viewerHandlerName",{enumerable:!0,get:function(){return q}}),Object.defineProperty(a,"partitionViewerProps",{enumerable:!0,get:function(){return S}}),Object.defineProperty(a,"createViewerController",{enumerable:!0,get:function(){return C}});const pe=le("packages/core/src/internal/util.js").warnOnce,Z=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","history"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),oe=Object.freeze({kpi:Object.freeze({rows:(m,l)=>m.setRows(Array.isArray(l)?l:[])}),kanban:Object.freeze({rows:(m,l)=>m.setRows(Array.isArray(l)?l:[]),quickFilter:(m,l)=>m.setQuickFilter(typeof l=="string"?l:""),sprint:(m,l)=>m.setSprint(l),epic:(m,l)=>m.setEpic(l),loading:(m,l)=>m.setLoading(!!l),error:(m,l)=>m.setError(l??null)}),gantt:Object.freeze({tasks:(m,l)=>m.setTasks(Array.isArray(l)?l:[]),dependencies:(m,l)=>m.setDependencies(Array.isArray(l)?l:[])}),tabs:Object.freeze({active:(m,l)=>{typeof l=="string"&&m.activate(l)}}),calendar:Object.freeze({rows:(m,l)=>m.setRows(Array.isArray(l)?l:[]),view:(m,l)=>m.setView(l),date:(m,l)=>m.goTo(l),move:(m,l,R)=>m.move(l,R)}),chart:Object.freeze({}),layout:Object.freeze({})}),ue=Object.freeze({chart:"update"});function q(m){return`on${String(m).split(":").map(R=>R.charAt(0).toUpperCase()+R.slice(1)).join("")}`}const ie=Object.freeze(Object.fromEntries(Object.entries(Z).map(([m,l])=>[m,Object.freeze(Object.fromEntries(l.map(R=>[q(R),R])))])));function S(m,l){const R=ie[m]||{},U=oe[m]||{},D={},v={},X={};for(const[ee,N]of Object.entries(l||{})){if(Object.hasOwn(R,ee)){X[ee]=N;continue}if(Object.hasOwn(U,ee)){v[ee]=N,D[ee]=N;continue}D[ee]=N}return{config:D,live:v,handlers:X}}function C(m){const l=String(m.viewer),R=m.mount,U=m.name||l;if(typeof R!="function")throw new TypeError(`createViewerController needs a mount factory for "${l}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const D=S(l,m.props||{}),v=R(m.element,{...D.config});if(!v||typeof v!="object")throw new TypeError(`the ${U} factory returned no instance; nothing can be driven.`);let X=D.handlers,ee=D.config;const N={...D.live},I=[];if(typeof v.on=="function")for(const ce of Z[l]||[]){const z=q(ce),J=v.on(ce,F=>{const K=X[z];typeof K=="function"&&K(F)});typeof J=="function"&&I.push(J)}const de=ue[l],V=oe[l]||{};let M=!1;return{instance:v,update(ce){if(M)return;const z=S(l,ce||{});X=z.handlers;const J={};for(const[K,fe]of Object.entries(z.config))Object.is(ee[K],fe)||(J[K]=fe);if(ee=z.config,!Object.keys(J).length)return;const F=[];for(const K of Object.keys(J)){const fe=V[K];if(fe){fe(v,J[K]),N[K]=J[K];continue}de&&typeof v[de]=="function"||F.push(K)}if(de&&typeof v[de]=="function"){const K={};for(const fe of Object.keys(J))V[fe]||(K[fe]=J[fe]);Object.keys(K).length&&v[de](K)}F.length&&pe(`react.viewer.${l}.mountOnly.${F.join(".")}`,`${U}: ${F.map(K=>`\`${K}\``).join(", ")} changed, but ${U} takes ${F.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(!M){M=!0;for(const ce of I)try{ce()}catch{}I.length=0,typeof v.destroy=="function"&&v.destroy()}}}}}),ve("packages/modules/presets/index.js",function(a,le){"use strict";Object.defineProperty(a,"themeFromMui",{enumerable:!0,get:function(){return q}}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return ie}});const pe=le("packages/core/src/internal/util.js").warnOnce;function Z(S,C){if(typeof S!="string")return S;const m=S.trim().match(/^#([0-9a-f]{6})$/i);if(!m)return S;const l=m[1],R=parseInt(l.slice(0,2),16),U=parseInt(l.slice(2,4),16),D=parseInt(l.slice(4,6),16);return`rgba(${R}, ${U}, ${D}, ${C})`}function oe(S){const C=S.palette,m=C.mode==="dark";return{"--lattice-background":C.background.default,"--lattice-surface":C.background.paper,"--lattice-surface-alt":m?"#2a2a2a":C.grey[50],"--lattice-border-color":C.divider,"--lattice-border-strong":m?C.grey[600]:C.grey[400],"--lattice-foreground":C.text.primary,"--lattice-foreground-muted":C.text.secondary,"--lattice-header-foreground":C.text.primary,"--lattice-accent":C.primary.main,"--lattice-accent-contrast":C.primary.contrastText,"--lattice-link-color":C.primary.main,"--lattice-selected-background":Z(C.primary.main,.12),"--lattice-hovered-background":Z(C.text.primary,.06),"--lattice-focus-color":C.primary.main,"--lattice-variant-danger-solid":C.error.main,"--lattice-variant-danger-fill":Z(C.error.main,.12),"--lattice-variant-warning-solid":C.warning.main,"--lattice-variant-warning-fill":Z(C.warning.main,.12),"--lattice-variant-success-solid":C.success.main,"--lattice-variant-success-fill":Z(C.success.main,.12),"--lattice-variant-info-solid":C.info.main,"--lattice-variant-info-fill":Z(C.info.main,.12),"--lattice-radius":`${S.shape.borderRadius}px`,"--lattice-font-family":S.typography.fontFamily,"--lattice-font-size":`${S.typography.body2.fontSize}`,"--lattice-header-font-weight":String(S.typography.fontWeightMedium)}}function ue(S){return`.lattice {
6
+ var Ge=Object.create(null),Ne=Object.create(null);function ve(a,le){Ge[a]=le}function Te(a){var le=Ne[a];if(le)return le;var he=Object.create(null);Ne[a]=he;var pe=Ge[a];if(!pe)throw new Error("[lattice] missing module: "+a);return pe(he,Te),he}ve("packages/core/src/internal/util.js",function(a,le){"use strict";Object.defineProperty(a,"VERSION",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(a,"reportedWarnings",{enumerable:!0,get:function(){return l}}),Object.defineProperty(a,"warnOnce",{enumerable:!0,get:function(){return U}}),Object.defineProperty(a,"infoOnce",{enumerable:!0,get:function(){return D}}),Object.defineProperty(a,"resetWarnings",{enumerable:!0,get:function(){return v}}),Object.defineProperty(a,"fail",{enumerable:!0,get:function(){return X}}),Object.defineProperty(a,"invariant",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(a,"DEV",{enumerable:!0,get:function(){return N}}),Object.defineProperty(a,"isObject",{enumerable:!0,get:function(){return I}}),Object.defineProperty(a,"isFunction",{enumerable:!0,get:function(){return de}}),Object.defineProperty(a,"isNil",{enumerable:!0,get:function(){return V}}),Object.defineProperty(a,"isBlank",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"isCtor",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(a,"pathGetter",{enumerable:!0,get:function(){return J}}),Object.defineProperty(a,"pathSetter",{enumerable:!0,get:function(){return K}}),Object.defineProperty(a,"getPath",{enumerable:!0,get:function(){return fe}}),Object.defineProperty(a,"setPath",{enumerable:!0,get:function(){return Le}}),Object.defineProperty(a,"humanise",{enumerable:!0,get:function(){return f}}),Object.defineProperty(a,"escapeHtml",{enumerable:!0,get:function(){return L}}),Object.defineProperty(a,"titleCase",{enumerable:!0,get:function(){return ae}}),Object.defineProperty(a,"expand",{enumerable:!0,get:function(){return o}}),Object.defineProperty(a,"toArray",{enumerable:!0,get:function(){return p}}),Object.defineProperty(a,"merge",{enumerable:!0,get:function(){return r}}),Object.defineProperty(a,"mergeRow",{enumerable:!0,get:function(){return i}}),Object.defineProperty(a,"Lru",{enumerable:!0,get:function(){return g}}),Object.defineProperty(a,"collator",{enumerable:!0,get:function(){return y}}),Object.defineProperty(a,"defaultCompare",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"now",{enumerable:!0,get:function(){return E}}),Object.defineProperty(a,"nextFrame",{enumerable:!0,get:function(){return H}}),Object.defineProperty(a,"cancelFrame",{enumerable:!0,get:function(){return T}}),Object.defineProperty(a,"frameBatched",{enumerable:!0,get:function(){return Y}}),Object.defineProperty(a,"settleDebounce",{enumerable:!0,get:function(){return P}}),Object.defineProperty(a,"whenIdle",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"uid",{enumerable:!0,get:function(){return ge}});const he="1.88.3";async function pe(){return he}const Z="1.88.3",oe=new Set,ue=2e3;function q(t){if(oe.add(t),oe.size>ue){const n=oe.values().next().value;n!==void 0&&oe.delete(n)}}const ie=[],S=500;function C(t,n,c){ie.push({key:t,level:n,message:c.map(d=>typeof d=="string"?d:m(d)).join(" "),at:Date.now()}),ie.length>S&&ie.shift()}function m(t){if(t instanceof Error)return t.message;try{return JSON.stringify(t)}catch{return String(t)}}function l(){return ie.map(t=>({...t}))}function R(t){if(t.length===0||typeof t[0]!="string")return t;const n=t[0].replace(/^\[lattice\]\s*/,"");return n===t[0]?t:[n,...t.slice(1)]}function U(t,...n){if(oe.has(t))return;q(t);const c=R(n);C(t,"warn",c),console.warn("[lattice]",...c)}function D(t,...n){if(oe.has(t))return;q(t);const c=R(n);C(t,"info",c),console.info("[lattice]",...c)}function v(){oe.clear(),ie.length=0}function X(t,n){const c=new Error(`[lattice] ${t}`);throw n!==void 0&&(c.cause=n),c}function ee(t,n){t||X(n)}const N=(()=>{try{return!(typeof process<"u"&&process.env&&process.env.NODE_ENV==="production")}catch{return!0}})();function I(t){return t!==null&&typeof t=="object"&&!Array.isArray(t)}function de(t){return typeof t=="function"}function V(t){return t==null}function M(t){return t==null||t===""}function ce(t){return typeof t!="function"?!1:/^class[\s{]/.test(Function.prototype.toString.call(t))?!0:!!(t.prototype&&Object.getOwnPropertyNames(t.prototype).length>1)}const z=new Map;function J(t){let n=z.get(t);if(n)return n;if(!t.includes("."))n=c=>c?.[t];else{const c=t.split("."),d=c.length;n=$=>{let k=$;for(let G=0;G<d;G++){if(k==null)return;k=k[c[G]]}return k}}return z.set(t,n),n}const F=new Map;function K(t){let n=F.get(t);if(n)return n;if(!t.includes("."))n=(c,d)=>{c!=null&&(c[t]=d)};else{const c=t.split("."),d=c.length-1;n=($,k)=>{let G=$;for(let te=0;te<d;te++){if(G==null)return;const ne=c[te];G[ne]==null&&(G[ne]={}),G=G[ne]}G!=null&&(G[c[d]]=k)}}return F.set(t,n),n}function fe(t,n){return J(n)(t)}function Le(t,n,c){K(n)(t,c)}function f(t){return t?(t.includes(".")?t.slice(t.lastIndexOf(".")+1):t).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 b={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"};function L(t){const n=t==null?"":String(t);return/[&<>"']/.test(n)?n.replace(/[&<>"']/g,c=>b[c]):n}function ae(t){return String(t).replace(/\w\S*/g,n=>n[0].toUpperCase()+n.slice(1).toLowerCase())}function o(t,n,c){if(t!==void 0)return t===!0?{enabled:!0,...c}:t===!1?{enabled:!1}:I(t)?t:{[n]:t,enabled:!0}}function p(t){return t==null?[]:Array.isArray(t)?t:[t]}const x=Object.freeze(new Set(["__proto__","constructor","prototype"]));function r(t,n){if(!I(t))return I(n)?{...n}:n;if(!I(n))return n===void 0?t:n;const c={...t};for(const d of Object.keys(n)){if(x.has(d))continue;const $=n[d];$!==void 0&&(c[d]=I($)&&I(c[d])?r(c[d],$):$)}return c}function i(t,n){if(!I(t)||!I(n)||t===n)return n;const c=Object.create(Object.getPrototypeOf(t));return Object.assign(c,t,n),c}class g{#n;#e=new Map;#t;constructor(n=256,c=null){this.#n=n,this.#t=c}get size(){return this.#e.size}get max(){return this.#n}set max(n){this.#n=n,this.#r()}has(n){return this.#e.has(n)}get(n){const c=this.#e;if(!c.has(n))return;const d=c.get(n);return c.delete(n),c.set(n,d),d}peek(n){return this.#e.get(n)}set(n,c){const d=this.#e;return d.has(n)&&d.delete(n),d.set(n,c),this.#r(),c}delete(n){const c=this.#e.get(n);return this.#e.delete(n)&&this.#t&&this.#t(c,n),c}clear(){if(this.#t)for(const[n,c]of this.#e)this.#t(c,n);this.#e.clear()}keys(){return this.#e.keys()}values(){return this.#e.values()}#r(){const n=this.#e;for(;n.size>this.#n;){const c=n.keys().next().value,d=n.get(c);n.delete(c),this.#t&&this.#t(d,c)}}}const h=new Map;function y(t,n){const c=`${t||""}|${n?JSON.stringify(n):""}`;let d=h.get(c);return d||(d=new Intl.Collator(t||void 0,{numeric:!0,sensitivity:"variant",...n}),h.set(c,d)),d}function O(t,n){if(t===n)return 0;if(t==null)return 1;if(n==null)return-1;if(typeof t=="number"&&typeof n=="number")return Number.isNaN(t)?Number.isNaN(n)?0:1:Number.isNaN(n)||t<n?-1:t>n?1:0;const c=String(t),d=String(n);return c<d?-1:c>d?1:0}function E(){return typeof performance<"u"&&performance.now?performance.now():Date.now()}const W=typeof requestAnimationFrame=="function";function H(t){return W?requestAnimationFrame(t):setTimeout(()=>t(E()),16)}function T(t){t!=null&&(W?cancelAnimationFrame(t):clearTimeout(t))}function Y(t){let n=null,c=null;const d=()=>{n=null;const k=c;c=null,t(...k||[])},$=(...k)=>{c=k,n===null&&(n=H(d))};return $.cancel=()=>{T(n),n=null,c=null},$.flush=()=>{n!==null&&(T(n),d())},$}function P(t,n){let c=null,d=null;const $=()=>{if(c=null,d===null)return;const te=d;d=null,t(...te),k()},k=()=>{c=setTimeout($,n),typeof c?.unref=="function"&&c.unref()},G=(...te)=>{c===null?(t(...te),k()):(d=te,clearTimeout(c),k())};return G.flush=()=>{if(c!==null&&clearTimeout(c),c=null,d===null)return;const te=d;d=null,t(...te)},G.cancel=()=>{c!==null&&clearTimeout(c),c=null,d=null},G.pending=()=>c!==null||d!==null,G}function w(t,n=50){return typeof requestIdleCallback=="function"?requestIdleCallback(t,{timeout:n}):setTimeout(()=>t({timeRemaining:()=>0,didTimeout:!0}),1)}let Q=0;function ge(t="l"){return`${t}${(++Q).toString(36)}`}}),ve("packages/modules/shared/adapter.js",function(a,le){"use strict";Object.defineProperty(a,"EVENT_NAMES",{enumerable:!0,get:function(){return he}}),Object.defineProperty(a,"handlerName",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(a,"dashedName",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(a,"CONFIG_KEY_ALIASES",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(a,"aliasConfigKey",{enumerable:!0,get:function(){return q}}),Object.defineProperty(a,"isHandlerProp",{enumerable:!0,get:function(){return S}}),Object.defineProperty(a,"partition",{enumerable:!0,get:function(){return C}}),Object.defineProperty(a,"createGridController",{enumerable:!0,get:function(){return m}});const he=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"]),pe=Object.freeze({sort:(l,R)=>l.sort.set(R||[]),filters:(l,R)=>l.filters.set(R||null),quickFilter:(l,R)=>{if(R&&typeof R=="object"){l.filters.quick(R.text||"",{mode:R.mode});return}l.filters.quick(typeof R=="string"?R:"")},selectedKeys:(l,R)=>l.selection.set(Array.isArray(R)?R:[])});function Z(l){return`on${String(l).split(":").map(U=>U.charAt(0).toUpperCase()+U.slice(1)).join("")}`}function oe(l){return String(l).replace(/:/g,"-")}const ue=Object.freeze({"row-key":"rowKey","row-height":"rowHeight","header-height":"headerHeight","auto-height":"autoHeight"});function q(l){return Object.hasOwn(ue,l)?ue[l]:l}const ie=Object.freeze(Object.fromEntries(he.map(l=>[Z(l),l])));function S(l){return Object.hasOwn(ie,l)}function C(l){const R={},U={},D={};for(const[v,X]of Object.entries(l||{})){if(S(v)){D[v]=X;continue}if(Object.hasOwn(pe,v)){U[v]=X;continue}R[v]=X}return{config:R,imperative:U,handlers:D}}function m(l){const R=l.createGrid;if(typeof R!="function")throw new TypeError("createGridController needs createGrid; pass it in from the grid package.");const U=C(l.props||{}),D=R(l.element,{...U.config});let v=U.handlers,X=U.config,ee={};const N=V=>{if(!V||typeof V.type!="string")return;const M=v[Z(V.type)];typeof M=="function"&&M(V)},I=D.on("*",N);for(const[V,M]of Object.entries(U.imperative))M!==void 0&&(pe[V](D,M),ee[V]=M);let de=!1;return{grid:D,update(V){if(de)return;const M=C(V||{});v=M.handlers;const ce={};for(const[z,J]of Object.entries(M.config))Object.is(X[z],J)||(ce[z]=J);for(const z of Object.keys(X))Object.hasOwn(M.config,z)||(ce[z]=void 0);Object.keys(ce).length&&D.setAll(ce),X=M.config;for(const[z,J]of Object.entries(pe)){const F=M.imperative[z];Object.is(ee[z],F)||F===void 0&&!Object.hasOwn(ee,z)||(J(D,F),ee[z]=F)}},destroy(){de||(de=!0,I(),D.destroy())}}}}),ve("packages/modules/react/viewers.js",function(a,le){"use strict";Object.defineProperty(a,"VIEWER_EVENTS",{enumerable:!0,get:function(){return Z}}),Object.defineProperty(a,"VIEWER_APPLY",{enumerable:!0,get:function(){return oe}}),Object.defineProperty(a,"VIEWER_BULK_UPDATE",{enumerable:!0,get:function(){return ue}}),Object.defineProperty(a,"viewerHandlerName",{enumerable:!0,get:function(){return q}}),Object.defineProperty(a,"partitionViewerProps",{enumerable:!0,get:function(){return S}}),Object.defineProperty(a,"createViewerController",{enumerable:!0,get:function(){return C}});const pe=le("packages/core/src/internal/util.js").warnOnce,Z=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","history","columnResize"]),layout:Object.freeze(["layout:changed","window:moved","window:resized","window:closed","beforeWindowClose","windowClose:cancelled"]),router:Object.freeze(["metrics","fields:changed"])}),oe=Object.freeze({kpi:Object.freeze({rows:(m,l)=>m.setRows(Array.isArray(l)?l:[])}),kanban:Object.freeze({rows:(m,l)=>m.setRows(Array.isArray(l)?l:[]),quickFilter:(m,l)=>m.setQuickFilter(typeof l=="string"?l:""),sprint:(m,l)=>m.setSprint(l),epic:(m,l)=>m.setEpic(l),loading:(m,l)=>m.setLoading(!!l),error:(m,l)=>m.setError(l??null)}),gantt:Object.freeze({tasks:(m,l)=>m.setTasks(Array.isArray(l)?l:[]),dependencies:(m,l)=>m.setDependencies(Array.isArray(l)?l:[])}),tabs:Object.freeze({active:(m,l)=>{typeof l=="string"&&m.activate(l)}}),calendar:Object.freeze({rows:(m,l)=>m.setRows(Array.isArray(l)?l:[]),view:(m,l)=>m.setView(l),date:(m,l)=>m.goTo(l),move:(m,l,R)=>m.move(l,R)}),chart:Object.freeze({}),layout:Object.freeze({})}),ue=Object.freeze({chart:"update"});function q(m){return`on${String(m).split(":").map(R=>R.charAt(0).toUpperCase()+R.slice(1)).join("")}`}const ie=Object.freeze(Object.fromEntries(Object.entries(Z).map(([m,l])=>[m,Object.freeze(Object.fromEntries(l.map(R=>[q(R),R])))])));function S(m,l){const R=ie[m]||{},U=oe[m]||{},D={},v={},X={};for(const[ee,N]of Object.entries(l||{})){if(Object.hasOwn(R,ee)){X[ee]=N;continue}if(Object.hasOwn(U,ee)){v[ee]=N,D[ee]=N;continue}D[ee]=N}return{config:D,live:v,handlers:X}}function C(m){const l=String(m.viewer),R=m.mount,U=m.name||l;if(typeof R!="function")throw new TypeError(`createViewerController needs a mount factory for "${l}"; pass the module's own factory in, e.g. { createKPI } from lattice-grid/modules/kpi.`);const D=S(l,m.props||{}),v=R(m.element,{...D.config});if(!v||typeof v!="object")throw new TypeError(`the ${U} factory returned no instance; nothing can be driven.`);let X=D.handlers,ee=D.config;const N={...D.live},I=[];if(typeof v.on=="function")for(const ce of Z[l]||[]){const z=q(ce),J=v.on(ce,F=>{const K=X[z];typeof K=="function"&&K(F)});typeof J=="function"&&I.push(J)}const de=ue[l],V=oe[l]||{};let M=!1;return{instance:v,update(ce){if(M)return;const z=S(l,ce||{});X=z.handlers;const J={};for(const[K,fe]of Object.entries(z.config))Object.is(ee[K],fe)||(J[K]=fe);if(ee=z.config,!Object.keys(J).length)return;const F=[];for(const K of Object.keys(J)){const fe=V[K];if(fe){fe(v,J[K]),N[K]=J[K];continue}de&&typeof v[de]=="function"||F.push(K)}if(de&&typeof v[de]=="function"){const K={};for(const fe of Object.keys(J))V[fe]||(K[fe]=J[fe]);Object.keys(K).length&&v[de](K)}F.length&&pe(`react.viewer.${l}.mountOnly.${F.join(".")}`,`${U}: ${F.map(K=>`\`${K}\``).join(", ")} changed, but ${U} takes ${F.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(!M){M=!0;for(const ce of I)try{ce()}catch{}I.length=0,typeof v.destroy=="function"&&v.destroy()}}}}}),ve("packages/modules/presets/index.js",function(a,le){"use strict";Object.defineProperty(a,"themeFromMui",{enumerable:!0,get:function(){return q}}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return ie}});const pe=le("packages/core/src/internal/util.js").warnOnce;function Z(S,C){if(typeof S!="string")return S;const m=S.trim().match(/^#([0-9a-f]{6})$/i);if(!m)return S;const l=m[1],R=parseInt(l.slice(0,2),16),U=parseInt(l.slice(2,4),16),D=parseInt(l.slice(4,6),16);return`rgba(${R}, ${U}, ${D}, ${C})`}function oe(S){const C=S.palette,m=C.mode==="dark";return{"--lattice-background":C.background.default,"--lattice-surface":C.background.paper,"--lattice-surface-alt":m?"#2a2a2a":C.grey[50],"--lattice-border-color":C.divider,"--lattice-border-strong":m?C.grey[600]:C.grey[400],"--lattice-foreground":C.text.primary,"--lattice-foreground-muted":C.text.secondary,"--lattice-header-foreground":C.text.primary,"--lattice-accent":C.primary.main,"--lattice-accent-contrast":C.primary.contrastText,"--lattice-link-color":C.primary.main,"--lattice-selected-background":Z(C.primary.main,.12),"--lattice-hovered-background":Z(C.text.primary,.06),"--lattice-focus-color":C.primary.main,"--lattice-variant-danger-solid":C.error.main,"--lattice-variant-danger-fill":Z(C.error.main,.12),"--lattice-variant-warning-solid":C.warning.main,"--lattice-variant-warning-fill":Z(C.warning.main,.12),"--lattice-variant-success-solid":C.success.main,"--lattice-variant-success-fill":Z(C.success.main,.12),"--lattice-variant-info-solid":C.info.main,"--lattice-variant-info-fill":Z(C.info.main,.12),"--lattice-radius":`${S.shape.borderRadius}px`,"--lattice-font-family":S.typography.fontFamily,"--lattice-font-size":`${S.typography.body2.fontSize}`,"--lattice-header-font-weight":String(S.typography.fontWeightMedium)}}function ue(S){return`.lattice {
7
7
  ${Object.entries(S).map(([m,l])=>` ${m}: ${l};`).join(`
8
8
  `)}
9
9
  }