@toclocoinc/lattice-grid 1.86.4 → 1.86.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (306) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/README.md +1 -1
  3. package/angular/package.json +1 -1
  4. package/docs/API.html +4 -4
  5. package/docs/api/adapters.html +1 -1
  6. package/docs/api/ai.html +1 -1
  7. package/docs/api/alarms.html +1 -1
  8. package/docs/api/calendar.html +1 -1
  9. package/docs/api/charts.html +1 -1
  10. package/docs/api/dashboard.html +1 -1
  11. package/docs/api/data-router.html +1 -1
  12. package/docs/api/deckgl.html +1 -1
  13. package/docs/api/gantt.html +1 -1
  14. package/docs/api/geometry.html +1 -1
  15. package/docs/api/grid.html +2 -2
  16. package/docs/api/index.html +1 -1
  17. package/docs/api/kanban.html +1 -1
  18. package/docs/api/kpi.html +1 -1
  19. package/docs/api/layout.html +1 -1
  20. package/docs/api/leaflet.html +1 -1
  21. package/docs/api/list.html +1 -1
  22. package/docs/api/mapview.html +1 -1
  23. package/docs/api/mock-socket.html +1 -1
  24. package/docs/api/presets.html +1 -1
  25. package/docs/api/tabs.html +1 -1
  26. package/docs/api/types.html +1 -1
  27. package/docs/api-detail.html +4 -4
  28. package/docs/warnings.json +1 -1
  29. package/lattice-grid.d.ts +1 -1
  30. package/lattice-grid.esm.min.js +3 -3
  31. package/lattice-grid.min.cjs +3 -3
  32. package/lattice-grid.min.css +1 -1
  33. package/lattice-grid.min.js +3 -3
  34. package/modules/ai.d.ts +1 -1
  35. package/modules/ai.esm.min.js +2 -2
  36. package/modules/ai.min.cjs +2 -2
  37. package/modules/ai.min.js +2 -2
  38. package/modules/alarms.d.ts +1 -1
  39. package/modules/alarms.esm.min.js +2 -2
  40. package/modules/alarms.min.cjs +2 -2
  41. package/modules/alarms.min.js +2 -2
  42. package/modules/angular.d.ts +1 -1
  43. package/modules/angular.esm.min.js +2 -2
  44. package/modules/angular.min.cjs +2 -2
  45. package/modules/angular.min.js +2 -2
  46. package/modules/calendar.d.ts +1 -1
  47. package/modules/calendar.esm.min.js +2 -2
  48. package/modules/calendar.min.cjs +2 -2
  49. package/modules/calendar.min.js +2 -2
  50. package/modules/chart-alluvial.d.ts +1 -1
  51. package/modules/chart-alluvial.esm.min.js +1 -1
  52. package/modules/chart-alluvial.min.cjs +1 -1
  53. package/modules/chart-alluvial.min.js +1 -1
  54. package/modules/chart-arc.d.ts +1 -1
  55. package/modules/chart-arc.esm.min.js +1 -1
  56. package/modules/chart-arc.min.cjs +1 -1
  57. package/modules/chart-arc.min.js +1 -1
  58. package/modules/chart-barrace.d.ts +1 -1
  59. package/modules/chart-barrace.esm.min.js +1 -1
  60. package/modules/chart-barrace.min.cjs +1 -1
  61. package/modules/chart-barrace.min.js +1 -1
  62. package/modules/chart-bubblemap.d.ts +1 -1
  63. package/modules/chart-bubblemap.esm.min.js +1 -1
  64. package/modules/chart-bubblemap.min.cjs +1 -1
  65. package/modules/chart-bubblemap.min.js +1 -1
  66. package/modules/chart-bump.d.ts +1 -1
  67. package/modules/chart-bump.esm.min.js +1 -1
  68. package/modules/chart-bump.min.cjs +1 -1
  69. package/modules/chart-bump.min.js +1 -1
  70. package/modules/chart-calendar.d.ts +1 -1
  71. package/modules/chart-calendar.esm.min.js +1 -1
  72. package/modules/chart-calendar.min.cjs +1 -1
  73. package/modules/chart-calendar.min.js +1 -1
  74. package/modules/chart-choropleth.d.ts +1 -1
  75. package/modules/chart-choropleth.esm.min.js +1 -1
  76. package/modules/chart-choropleth.min.cjs +1 -1
  77. package/modules/chart-choropleth.min.js +1 -1
  78. package/modules/chart-decomposition.d.ts +1 -1
  79. package/modules/chart-decomposition.esm.min.js +1 -1
  80. package/modules/chart-decomposition.min.cjs +1 -1
  81. package/modules/chart-decomposition.min.js +1 -1
  82. package/modules/chart-diverging.d.ts +1 -1
  83. package/modules/chart-diverging.esm.min.js +1 -1
  84. package/modules/chart-diverging.min.cjs +1 -1
  85. package/modules/chart-diverging.min.js +1 -1
  86. package/modules/chart-dumbbell.d.ts +1 -1
  87. package/modules/chart-dumbbell.esm.min.js +1 -1
  88. package/modules/chart-dumbbell.min.cjs +1 -1
  89. package/modules/chart-dumbbell.min.js +1 -1
  90. package/modules/chart-fan.d.ts +1 -1
  91. package/modules/chart-fan.esm.min.js +1 -1
  92. package/modules/chart-fan.min.cjs +1 -1
  93. package/modules/chart-fan.min.js +1 -1
  94. package/modules/chart-forcetree.d.ts +1 -1
  95. package/modules/chart-forcetree.esm.min.js +2 -2
  96. package/modules/chart-forcetree.esm.min.js.map +2 -2
  97. package/modules/chart-forcetree.min.cjs +2 -2
  98. package/modules/chart-forcetree.min.js +2 -2
  99. package/modules/chart-forcetree.min.js.map +2 -2
  100. package/modules/chart-hexbin.d.ts +1 -1
  101. package/modules/chart-hexbin.esm.min.js +2 -2
  102. package/modules/chart-hexbin.esm.min.js.map +1 -1
  103. package/modules/chart-hexbin.min.cjs +2 -2
  104. package/modules/chart-hexbin.min.js +2 -2
  105. package/modules/chart-hexbin.min.js.map +1 -1
  106. package/modules/chart-hexmap.d.ts +1 -1
  107. package/modules/chart-hexmap.esm.min.js +1 -1
  108. package/modules/chart-hexmap.min.cjs +1 -1
  109. package/modules/chart-hexmap.min.js +1 -1
  110. package/modules/chart-icicle.d.ts +1 -1
  111. package/modules/chart-icicle.esm.min.js +1 -1
  112. package/modules/chart-icicle.min.cjs +1 -1
  113. package/modules/chart-icicle.min.js +1 -1
  114. package/modules/chart-markermap.d.ts +1 -1
  115. package/modules/chart-markermap.esm.min.js +1 -1
  116. package/modules/chart-markermap.min.cjs +1 -1
  117. package/modules/chart-markermap.min.js +1 -1
  118. package/modules/chart-motion.d.ts +1 -1
  119. package/modules/chart-motion.esm.min.js +1 -1
  120. package/modules/chart-motion.min.cjs +1 -1
  121. package/modules/chart-motion.min.js +1 -1
  122. package/modules/chart-pack.d.ts +1 -1
  123. package/modules/chart-pack.esm.min.js +1 -1
  124. package/modules/chart-pack.min.cjs +1 -1
  125. package/modules/chart-pack.min.js +1 -1
  126. package/modules/chart-parallel.d.ts +1 -1
  127. package/modules/chart-parallel.esm.min.js +1 -1
  128. package/modules/chart-parallel.min.cjs +1 -1
  129. package/modules/chart-parallel.min.js +1 -1
  130. package/modules/chart-pictorial.d.ts +1 -1
  131. package/modules/chart-pictorial.esm.min.js +1 -1
  132. package/modules/chart-pictorial.min.cjs +1 -1
  133. package/modules/chart-pictorial.min.js +1 -1
  134. package/modules/chart-polararea.d.ts +1 -1
  135. package/modules/chart-polararea.esm.min.js +1 -1
  136. package/modules/chart-polararea.min.cjs +1 -1
  137. package/modules/chart-polararea.min.js +1 -1
  138. package/modules/chart-polarscatter.d.ts +1 -1
  139. package/modules/chart-polarscatter.esm.min.js +1 -1
  140. package/modules/chart-polarscatter.min.cjs +1 -1
  141. package/modules/chart-polarscatter.min.js +1 -1
  142. package/modules/chart-pyramid.d.ts +1 -1
  143. package/modules/chart-pyramid.esm.min.js +1 -1
  144. package/modules/chart-pyramid.min.cjs +1 -1
  145. package/modules/chart-pyramid.min.js +1 -1
  146. package/modules/chart-radialbar.d.ts +1 -1
  147. package/modules/chart-radialbar.esm.min.js +1 -1
  148. package/modules/chart-radialbar.min.cjs +1 -1
  149. package/modules/chart-radialbar.min.js +1 -1
  150. package/modules/chart-ridgeline.d.ts +1 -1
  151. package/modules/chart-ridgeline.esm.min.js +1 -1
  152. package/modules/chart-ridgeline.min.cjs +1 -1
  153. package/modules/chart-ridgeline.min.js +1 -1
  154. package/modules/chart-roc.d.ts +1 -1
  155. package/modules/chart-roc.esm.min.js +1 -1
  156. package/modules/chart-roc.min.cjs +1 -1
  157. package/modules/chart-roc.min.js +1 -1
  158. package/modules/chart-serpentine.d.ts +1 -1
  159. package/modules/chart-serpentine.esm.min.js +1 -1
  160. package/modules/chart-serpentine.min.cjs +1 -1
  161. package/modules/chart-serpentine.min.js +1 -1
  162. package/modules/chart-slope.d.ts +1 -1
  163. package/modules/chart-slope.esm.min.js +1 -1
  164. package/modules/chart-slope.min.cjs +1 -1
  165. package/modules/chart-slope.min.js +1 -1
  166. package/modules/chart-spiral.d.ts +1 -1
  167. package/modules/chart-spiral.esm.min.js +1 -1
  168. package/modules/chart-spiral.min.cjs +1 -1
  169. package/modules/chart-spiral.min.js +1 -1
  170. package/modules/chart-splom.d.ts +1 -1
  171. package/modules/chart-splom.esm.min.js +1 -1
  172. package/modules/chart-splom.min.cjs +1 -1
  173. package/modules/chart-splom.min.js +1 -1
  174. package/modules/chart-tree.d.ts +1 -1
  175. package/modules/chart-tree.esm.min.js +2 -2
  176. package/modules/chart-tree.esm.min.js.map +2 -2
  177. package/modules/chart-tree.min.cjs +2 -2
  178. package/modules/chart-tree.min.js +2 -2
  179. package/modules/chart-tree.min.js.map +2 -2
  180. package/modules/chart-venn.d.ts +1 -1
  181. package/modules/chart-venn.esm.min.js +1 -1
  182. package/modules/chart-venn.min.cjs +1 -1
  183. package/modules/chart-venn.min.js +1 -1
  184. package/modules/chart-voronoi.d.ts +1 -1
  185. package/modules/chart-voronoi.esm.min.js +1 -1
  186. package/modules/chart-voronoi.min.cjs +1 -1
  187. package/modules/chart-voronoi.min.js +1 -1
  188. package/modules/chart-waffle.d.ts +1 -1
  189. package/modules/chart-waffle.esm.min.js +1 -1
  190. package/modules/chart-waffle.min.cjs +1 -1
  191. package/modules/chart-waffle.min.js +1 -1
  192. package/modules/chart-wordcloud.d.ts +1 -1
  193. package/modules/chart-wordcloud.esm.min.js +1 -1
  194. package/modules/chart-wordcloud.min.cjs +1 -1
  195. package/modules/chart-wordcloud.min.js +1 -1
  196. package/modules/charts.d.ts +1 -1
  197. package/modules/charts.esm.min.js +235 -235
  198. package/modules/charts.esm.min.js.map +2 -2
  199. package/modules/charts.min.cjs +235 -235
  200. package/modules/charts.min.js +235 -235
  201. package/modules/charts.min.js.map +2 -2
  202. package/modules/dashboard.d.ts +1 -1
  203. package/modules/dashboard.esm.min.js +2 -2
  204. package/modules/dashboard.min.cjs +2 -2
  205. package/modules/dashboard.min.js +2 -2
  206. package/modules/data-router.d.ts +1 -1
  207. package/modules/data-router.esm.min.js +2 -2
  208. package/modules/data-router.min.cjs +2 -2
  209. package/modules/data-router.min.js +2 -2
  210. package/modules/deckgl.d.ts +1 -1
  211. package/modules/deckgl.esm.min.js +2 -2
  212. package/modules/deckgl.min.cjs +2 -2
  213. package/modules/deckgl.min.js +2 -2
  214. package/modules/devtools.d.ts +1 -1
  215. package/modules/devtools.esm.min.js +1 -1
  216. package/modules/devtools.min.cjs +1 -1
  217. package/modules/devtools.min.js +1 -1
  218. package/modules/dhtmlx-compat.d.ts +1 -1
  219. package/modules/dhtmlx-compat.esm.min.js +2 -2
  220. package/modules/dhtmlx-compat.min.cjs +2 -2
  221. package/modules/dhtmlx-compat.min.js +2 -2
  222. package/modules/gantt.d.ts +1 -1
  223. package/modules/gantt.esm.min.js +2 -2
  224. package/modules/gantt.min.cjs +2 -2
  225. package/modules/gantt.min.js +2 -2
  226. package/modules/geo-europe-nuts.d.ts +1 -1
  227. package/modules/geo-europe-nuts.esm.min.js +1 -1
  228. package/modules/geo-europe-nuts.min.cjs +1 -1
  229. package/modules/geo-europe-nuts.min.js +1 -1
  230. package/modules/geo-uk.d.ts +1 -1
  231. package/modules/geo-uk.esm.min.js +1 -1
  232. package/modules/geo-uk.min.cjs +1 -1
  233. package/modules/geo-uk.min.js +1 -1
  234. package/modules/geo-us-states.d.ts +1 -1
  235. package/modules/geo-us-states.esm.min.js +1 -1
  236. package/modules/geo-us-states.min.cjs +1 -1
  237. package/modules/geo-us-states.min.js +1 -1
  238. package/modules/geo-world-110m.d.ts +1 -1
  239. package/modules/geo-world-110m.esm.min.js +1 -1
  240. package/modules/geo-world-110m.min.cjs +1 -1
  241. package/modules/geo-world-110m.min.js +1 -1
  242. package/modules/geo-world-50m.d.ts +1 -1
  243. package/modules/geo-world-50m.esm.min.js +1 -1
  244. package/modules/geo-world-50m.min.cjs +1 -1
  245. package/modules/geo-world-50m.min.js +1 -1
  246. package/modules/geometry.d.ts +1 -1
  247. package/modules/geometry.esm.min.js +2 -2
  248. package/modules/geometry.min.cjs +2 -2
  249. package/modules/geometry.min.js +2 -2
  250. package/modules/htmx.d.ts +1 -1
  251. package/modules/htmx.esm.min.js +3 -3
  252. package/modules/htmx.min.cjs +3 -3
  253. package/modules/htmx.min.js +3 -3
  254. package/modules/kanban.d.ts +1 -1
  255. package/modules/kanban.esm.min.js +2 -2
  256. package/modules/kanban.min.cjs +2 -2
  257. package/modules/kanban.min.js +2 -2
  258. package/modules/kpi.d.ts +1 -1
  259. package/modules/kpi.esm.min.js +2 -2
  260. package/modules/kpi.min.cjs +2 -2
  261. package/modules/kpi.min.js +2 -2
  262. package/modules/layout.d.ts +1 -1
  263. package/modules/layout.esm.min.js +2 -2
  264. package/modules/layout.min.cjs +2 -2
  265. package/modules/layout.min.js +2 -2
  266. package/modules/leaflet.d.ts +1 -1
  267. package/modules/leaflet.esm.min.js +2 -2
  268. package/modules/leaflet.min.cjs +2 -2
  269. package/modules/leaflet.min.js +2 -2
  270. package/modules/list.d.ts +1 -1
  271. package/modules/list.esm.min.js +2 -2
  272. package/modules/list.min.cjs +2 -2
  273. package/modules/list.min.js +2 -2
  274. package/modules/mapview.d.ts +1 -1
  275. package/modules/mapview.esm.min.js +2 -2
  276. package/modules/mapview.min.cjs +2 -2
  277. package/modules/mapview.min.js +2 -2
  278. package/modules/mock-socket.d.ts +1 -1
  279. package/modules/mock-socket.esm.min.js +1 -1
  280. package/modules/mock-socket.min.cjs +1 -1
  281. package/modules/mock-socket.min.js +1 -1
  282. package/modules/presets.d.ts +1 -1
  283. package/modules/presets.esm.min.js +2 -2
  284. package/modules/presets.min.cjs +2 -2
  285. package/modules/presets.min.js +2 -2
  286. package/modules/react.d.ts +1 -1
  287. package/modules/react.esm.min.js +2 -2
  288. package/modules/react.min.cjs +2 -2
  289. package/modules/react.min.js +2 -2
  290. package/modules/svelte.d.ts +1 -1
  291. package/modules/svelte.esm.min.js +2 -2
  292. package/modules/svelte.min.cjs +2 -2
  293. package/modules/svelte.min.js +2 -2
  294. package/modules/tabs.d.ts +1 -1
  295. package/modules/tabs.esm.min.js +2 -2
  296. package/modules/tabs.min.cjs +2 -2
  297. package/modules/tabs.min.js +2 -2
  298. package/modules/vue.d.ts +1 -1
  299. package/modules/vue.esm.min.js +2 -2
  300. package/modules/vue.min.cjs +2 -2
  301. package/modules/vue.min.js +2 -2
  302. package/modules/webcomponent.d.ts +1 -1
  303. package/modules/webcomponent.esm.min.js +3 -3
  304. package/modules/webcomponent.min.cjs +3 -3
  305. package/modules/webcomponent.min.js +3 -3
  306. package/package.json +1 -1
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-calendar module
2
+ * Lattice Grid 1.86.5, chart-calendar module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-calendar module
2
+ * Lattice Grid 1.86.5, chart-calendar module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-choropleth module type declarations
2
+ * Lattice Grid 1.86.5, chart-choropleth module type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-choropleth module
2
+ * Lattice Grid 1.86.5, chart-choropleth module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-choropleth module
2
+ * Lattice Grid 1.86.5, chart-choropleth module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-choropleth module
2
+ * Lattice Grid 1.86.5, chart-choropleth module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-decomposition module type declarations
2
+ * Lattice Grid 1.86.5, chart-decomposition module type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-decomposition module
2
+ * Lattice Grid 1.86.5, chart-decomposition module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-decomposition module
2
+ * Lattice Grid 1.86.5, chart-decomposition module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-decomposition module
2
+ * Lattice Grid 1.86.5, chart-decomposition module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-diverging module type declarations
2
+ * Lattice Grid 1.86.5, chart-diverging module type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-diverging module
2
+ * Lattice Grid 1.86.5, chart-diverging module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-diverging module
2
+ * Lattice Grid 1.86.5, chart-diverging module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-diverging module
2
+ * Lattice Grid 1.86.5, chart-diverging module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-dumbbell module type declarations
2
+ * Lattice Grid 1.86.5, chart-dumbbell module type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-dumbbell module
2
+ * Lattice Grid 1.86.5, chart-dumbbell module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-dumbbell module
2
+ * Lattice Grid 1.86.5, chart-dumbbell module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-dumbbell module
2
+ * Lattice Grid 1.86.5, chart-dumbbell module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-fan module type declarations
2
+ * Lattice Grid 1.86.5, chart-fan module type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-fan module
2
+ * Lattice Grid 1.86.5, chart-fan module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-fan module
2
+ * Lattice Grid 1.86.5, chart-fan module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-fan module
2
+ * Lattice Grid 1.86.5, chart-fan module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-forcetree module type declarations
2
+ * Lattice Grid 1.86.5, chart-forcetree module type declarations
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-forcetree module
2
+ * Lattice Grid 1.86.5, chart-forcetree module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
6
- import*as Ae from"@toclocoinc/lattice-grid/modules/charts";var de=Object.create(null),he=Object.create(null);function X(a,I){de[a]=I}function ye(a){var I=he[a];if(I)return I;var M=Object.create(null);he[a]=M;var L=de[a];if(!L)throw new Error("[lattice] missing module: "+a);return L(M,ye),M}var me=Object.create(null);me["@toclocoinc/lattice-grid/modules/charts"]=Ae;function Pe(a){var I=me[a],M=typeof globalThis<"u"?globalThis:typeof self<"u"?self:null;if(I)return I;if(a==="@toclocoinc/lattice-grid/modules/charts"&&M&&M.LatticeGrid)return M.LatticeGrid;throw new Error("[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: "+a)}X("packages/modules/charts/force.js",function(a,I){"use strict";Object.defineProperty(a,"ITERATIONS",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"sequence",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"layoutForce",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"layoutNetwork",{enumerable:!0,get:function(){return T}});const M=220,L=2400,R=.006,K=.015;function O(t){let i=t>>>0||1;return()=>(i^=i<<13,i>>>=0,i^=i>>17,i^=i<<5,i>>>=0,i/4294967296)}function w(t){const{nodes:i,links:y,plot:l}=t;if(!i.length)return{nodes:i,ticks:0};const x=Number.isFinite(t.repulsion)?t.repulsion:L,c=Number.isFinite(t.attraction)?t.attraction:R,u=Number.isFinite(t.gravity)?t.gravity:K,b=O(i.length*2654435761),E=l.left+l.width/2,n=l.top+l.height/2,r=Math.min(l.width,l.height)/3;for(const s of i){const v=b()*Math.PI*2,o=r*(.35+b()*.65);if(t.keep&&Number.isFinite(s.x)&&Number.isFinite(s.y)){s.vx=0,s.vy=0;continue}s.x=E+Math.cos(v)*o,s.y=n+Math.sin(v)*o,s.vx=0,s.vy=0}for(const s of i)s.pinned=Number.isFinite(s.fx)&&Number.isFinite(s.fy),s.pinned&&(s.x=l.left+Math.max(0,Math.min(1,s.fx))*l.width,s.y=l.top+Math.max(0,Math.min(1,s.fy))*l.height);const m=t.iterations||M;for(let s=0;s<m;s++){const v=(Number.isFinite(t.heat)?t.heat:1)*(1-s/m);for(let o=0;o<i.length;o++){const g=i[o];for(let p=o+1;p<i.length;p++){const j=i[p];let k=g.x-j.x,h=g.y-j.y,A=Math.sqrt(k*k+h*h);A<.01&&(k=o-p||1,h=1,A=Math.sqrt(k*k+h*h));const W=x/(A*A),B=k/A*W,q=h/A*W;g.vx+=B,g.vy+=q,j.vx-=B,j.vy-=q}}for(const o of y){const g=o.source,p=o.target;if(g===p)continue;const j=p.x-g.x,k=p.y-g.y,h=c*(o.weight||1);g.vx+=j*h,g.vy+=k*h,p.vx-=j*h,p.vy-=k*h}for(const o of i){if(o.pinned){o.vx=0,o.vy=0;continue}o.vx+=(E-o.x)*u,o.vy+=(n-o.y)*u,o.x+=o.vx*v*.08,o.y+=o.vy*v*.08,o.vx*=.82,o.vy*=.82,o.x=Math.max(l.left+8,Math.min(l.right-8,o.x)),o.y=Math.max(l.top+8,Math.min(l.bottom-8,o.y))}}return{nodes:i,ticks:m}}function T(t){return w(t).nodes}}),X("packages/modules/charts/tween.js",function(a,I){"use strict";Object.defineProperty(a,"tween",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"easeOutQuad",{enumerable:!0,get:function(){return L}}),Object.defineProperty(a,"frameLoop",{enumerable:!0,get:function(){return O}});function M(w,T,t){return w+(T-w)*t}function L(w){return 1-(1-w)*(1-w)}const R=new WeakMap;let K=null;function O(w){const T=w&&typeof w.requestAnimationFrame=="function";if(T&&R.has(w))return R.get(w);if(!T&&K)return K;const t=new Map;let i=0,y=null;const l=u=>{y=null;const b=[...t.values()];t.clear();for(const E of b)try{E(u)}catch(n){setTimeout(()=>{throw n},0)}},x=()=>{y===null&&(y=T?w.requestAnimationFrame(l):setTimeout(()=>l(Date.now()),16))},c={request(u){return i+=1,t.set(i,u),x(),i},cancel(u){t.delete(u),!t.size&&y!==null&&(T&&typeof w.cancelAnimationFrame=="function"?w.cancelAnimationFrame(y):T||clearTimeout(y),y=null)},get pending(){return t.size}};return T?R.set(w,c):K=c,c}}),X("packages/modules/charts/htree.js",function(a,I){"use strict";Object.defineProperty(a,"TWEEN_MS",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"stateOf",{enumerable:!0,get:function(){return T}}),Object.defineProperty(a,"topOf",{enumerable:!0,get:function(){return t}}),Object.defineProperty(a,"reducedMotion",{enumerable:!0,get:function(){return i}}),Object.defineProperty(a,"visibleEntries",{enumerable:!0,get:function(){return y}}),Object.defineProperty(a,"toggle",{enumerable:!0,get:function(){return l}}),Object.defineProperty(a,"colourer",{enumerable:!0,get:function(){return x}}),Object.defineProperty(a,"svgOf",{enumerable:!0,get:function(){return c}}),Object.defineProperty(a,"pointerIn",{enumerable:!0,get:function(){return u}}),Object.defineProperty(a,"tween",{enumerable:!0,get:function(){return b}}),Object.defineProperty(a,"fitsInside",{enumerable:!0,get:function(){return E}});const M=I("packages/modules/charts/tween.js"),L=M.easeOutQuad,R=M.frameLoop;Object.defineProperty(a,"lerp",{enumerable:!0,get:function(){return M.tween}});const K="",O=220,w=new WeakMap;function T(n){let r=w.get(n.marks);return r||(r={toggled:new Set,positions:new Map,focus:null,cancel:null,moved:0},w.set(n.marks,r)),r}function t(n){const r=n.root;return r.children.length===1?r.children[0]:r}function i(n,r){if(r&&(r.animate===!1||r.animation===!1))return!0;const m=n&&n.defaultView;if(!m)return!0;if(typeof m.matchMedia!="function")return!1;const s=m.matchMedia("(prefers-reduced-motion: reduce)");return!!(s&&s.matches)}function y(n,r,m){const s=Number.isFinite(m.expandDepth)&&m.expandDepth>=0?m.expandDepth:1/0,v=[],o=(g,p,j,k)=>{const h=j.join(K),A=g.children.length>0,W=p>=s,B=A&&W!==r.toggled.has(h),q={node:g,depth:p,path:j,key:h,parent:k,collapsed:B,children:[]};if(v.push(q),k&&k.children.push(q),!B)for(const Y of g.children)o(Y,p+1,[...j,Y.label],q)};return o(n,0,n===void 0||n.label===""?[]:[n.label],null),v}function l(n,r){n.toggled.has(r)?n.toggled.delete(r):n.toggled.add(r)}function x(n){const r=typeof n.spec.colourBy=="string"&&n.spec.colourBy!=="depth"?n.spec.colourBy:null,m=new Map;return{colour(s,v){if(!r)return n.scheme.series(v,s.label);const o=s.rowKeys&&s.rowKeys[0],g=o===void 0?null:n.grid.rows.value(o,r),p=g==null?"":String(g);return p===""?"var(--lattice-chart-axis, #888)":(m.has(p)||m.set(p,m.size),n.scheme.series(m.get(p),p))},legend(){return r?[...m].map(([s,v])=>({key:s,label:s,index:v})):[]}}}function c(n){let r=n.marks;for(;r&&String(r.tagName||"").toLowerCase()!=="svg";)r=r.parentNode;return r||null}function u(n,r){const m=n.getBoundingClientRect(),s=String(n.getAttribute("viewBox")||"").split(/[\s,]+/).map(Number),v=s.length===4&&m.width?s[2]/m.width:1,o=s.length===4&&m.height?s[3]/m.height:1;return{x:(r.clientX-m.left)*v,y:(r.clientY-m.top)*o}}function b(n,r,m,s){r.cancel&&(r.cancel(),r.cancel=null);const v=n&&n.defaultView;if(m||!v||typeof v.requestAnimationFrame!="function"){s(1);return}const o=R(v);let g=!0,p=null,j=null;const k=h=>{if(j=null,!g)return;p===null&&(p=h);const A=Math.min(1,(h-p)/O);s(A>=1?1:L(A)),A<1?j=o.request(k):r.cancel=null};r.cancel=()=>{g=!1,j!==null&&(o.cancel(j),j=null)},s(0),j=o.request(k)}function E(n,r,m){return n+4<=r*2*.9&&m<=r*1.4}}),X("packages/modules/charts/hnodes.js",function(a,I){"use strict";Object.defineProperty(a,"MIN_HIT",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"isHierarchyDraw",{enumerable:!0,get:function(){return L}}),Object.defineProperty(a,"hnodeAt",{enumerable:!0,get:function(){return R}}),Object.defineProperty(a,"emphasiseHierarchy",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"emphasiseLayout",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"emphasiseChord",{enumerable:!0,get:function(){return T}});const M=7;function L(t){return!!t&&Array.isArray(t.hnodes)}function R(t){const i=t.view||{k:1,tx:0,ty:0},y=i.k||1,l=(t.x-i.tx)/y,x=(t.y-i.ty)/y;let c=null;for(const u of t.hnodes)if(!u.hidden){if(Array.isArray(u.polygon)){if(!K(u.polygon,l,x))continue}else{const b=Math.max(u.r,M/y),E=l-u.x,n=x-u.y;if(E*E+n*n>b*b)continue}(!c||u.r<c.r||u.r===c.r&&u.depth>=c.depth)&&(c=u)}return c}function K(t,i,y){let l=!1;const x=t.length;for(let c=0,u=x-2;c<x;u=c,c+=2){const b=t[c+1],E=t[u+1];b>y!=E>y&&i<(t[u]-t[c])*(y-b)/(E-b)+t[c]&&(l=!l)}return l}function O(t){const i=t.keys||new Set;let y=0;for(const l of t.drawn.hnodes||[]){const x=l.element;if(!x||!x.setAttribute)continue;const c=l.node&&l.node.rowKeys||[];!i.size||c.some(b=>i.has(b))?(x.removeAttribute("data-dim"),y+=1):x.setAttribute("data-dim","true")}return y}function w(t){const i=t.keys||new Set;let y=0;for(const l of t.marks&&t.marks.childNodes||[]){if(!l||!l.getAttribute)continue;const x=l.getAttribute(t.attribute);if(x===null)continue;const c=t.entries[Number(x)],u=c&&(c.node||c.item&&c.item.node),b=u&&(u.rowKeys&&u.rowKeys.length?u.rowKeys:u.rowKey?[u.rowKey]:[])||[];!i.size||b.some(n=>i.has(n))?(l.removeAttribute("data-dim"),y+=1):l.setAttribute("data-dim","true")}return y}function T(t){const i=t.keys||new Set,y=new Map,l=new Map;for(const{link:c}of t.drawn.ribbons||[]){const u=c.rowKeys||[];y.set(`${c.source.key}->${c.target.key}`,u);for(const b of[c.source,c.target]){const E=l.get(b.key)||[];l.set(b.key,E.concat(u))}}let x=0;for(const c of t.marks&&t.marks.childNodes||[]){if(!c||!c.getAttribute)continue;const u=c.getAttribute("data-link"),b=c.getAttribute("data-node");if(u===null&&b===null)continue;const E=(u!==null?y.get(u):l.get(b))||[];!i.size||E.some(r=>i.has(r))?(c.removeAttribute("data-dim"),x+=1):c.setAttribute("data-dim","true")}return x}}),X("packages/modules/chart-forcetree/index.js",function(a,I){"use strict";Object.defineProperty(a,"drawForceTree",{enumerable:!0,get:function(){return p}}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return j}});const L=Pe("@toclocoinc/lattice-grid/modules/charts").registerChartType;if(typeof L>"u")throw new Error("[lattice] chart-forcetree needs registerChartType from the charts module. Load charts before chart-forcetree.");const K=I("packages/modules/charts/force.js").layoutForce,O=I("packages/modules/charts/htree.js"),w=O.colourer,T=O.lerp,t=O.pointerIn,i=O.reducedMotion,y=O.stateOf,l=O.svgOf,x=O.toggle,c=O.topOf,u=O.tween,b=O.visibleEntries,n=I("packages/modules/charts/hnodes.js").hnodeAt,r=220,m=90,s=300,v=4,o=18,g=(k,h,A)=>A?(k-h)/A:.5;function p(k){const{plot:h,bound:A,scheme:W,fontSize:B,groups:q,grid:Y,spec:G,doc:re,helpers:pe}=k,{Pool:ee,attrs:V,round:D,setText:be,path:we,textWidth:xe,applySize:ke,NS:U}=pe;for(const e of["grid","axis","rules","labels"])new ee(q[e]).finish();if(!A.root||!A.root.children.length)return{empty:!0,legend:[]};const f=y(q);f.pinned||(f.pinned=new Map);const oe=b(c(A),f,G),ie=w({grid:Y,spec:G,scheme:W}),ve=oe.reduce((e,d)=>d.parent?Math.max(e,d.node.total):e,0)||1,N=oe.map((e,d)=>{const S=e.parent?e.node.total/ve:1;return{key:e.key,entry:e,node:e.node,depth:e.depth,path:e.path,label:e.node.label,index:d,r:e.parent?v+Math.sqrt(Math.max(0,Math.min(1,S)))*(o-v):o,colour:ie.colour(e.node,e.depth),x:NaN,y:NaN,fx:NaN,fy:NaN,element:null}}),se=new Map(N.map(e=>[e.key,e])),Q=[];for(const e of N)e.entry.parent&&Q.push({source:se.get(e.entry.parent.key),target:e,weight:1});const ce=N[0];ce.fx=.5,ce.fy=.5;const J=N.some(e=>f.positions.has(e.key));for(const e of N){const d=f.pinned.get(e.key);d&&(e.fx=d.fx,e.fy=d.fy);const S=f.positions.get(e.key);if(S)e.x=h.left+S.fx*h.width,e.y=h.top+S.fy*h.height;else if(J&&e.entry.parent){const C=se.get(e.entry.parent.key),F=e.entry.parent.children,_=F.indexOf(e.entry)/Math.max(1,F.length)*Math.PI*2;e.x=C.x+Math.cos(_)*28,e.y=C.y+Math.sin(_)*28}}const Me={repulsion:.78*h.width*h.height/Math.max(4,N.length),attraction:.004},Oe=Number.isFinite(G.iterations)&&G.iterations>0?Math.floor(G.iterations):0,ae=K({nodes:N,links:Q,plot:h,keep:J,iterations:Oe||(J?m:r),heat:J?.35:1,...Me});q.marks.setAttribute("data-ticks",String(ae.ticks));for(const e of N)f.positions.set(e.key,{fx:g(e.x,h.left,h.width),fy:g(e.y,h.top,h.height)});const te=new ee(q.marks);for(const e of Q){const d=te.next("path",`${U}__hlink ${U}__mark`);d.setAttribute("data-decor","true"),e.element=d}for(const e of N){const d=te.next("circle",`${U}__hnode ${U}__mark`);V(d,{r:D(e.r),fill:e.colour,"data-hnode":e.index,"data-depth":e.depth,"data-collapsed":e.entry.collapsed?"true":null,"data-decor":null,display:null,"aria-expanded":e.node.children.length?String(!e.entry.collapsed):null}),e.element=d}te.finish();const le=new ee(q.overlay),ne=k.typography&&k.typography.small||B,je=N.length<=40?N:[...N].sort((e,d)=>d.node.total-e.node.total).slice(0,30);for(const e of je){if(!e.label)continue;const d=le.next("text",`${U}__flow-label`);ke(d,ne),be(d,e.label),V(d,{visibility:null}),e.labelEl=d,e.labelWidth=xe(e.label,ne)}le.finish();const ue=()=>{for(const e of Q)V(e.element,{d:we(["M",D(e.source.x),D(e.source.y),"L",D(e.target.x),D(e.target.y)])});for(const e of N)V(e.element,{cx:D(e.x),cy:D(e.y)}),e.labelEl&&V(e.labelEl,{x:D(e.x),y:D(e.y+e.r+ne),"text-anchor":"middle"})},Z=N.map(e=>({x:e.x,y:e.y})),fe=N.map((e,d)=>{const S=f.shown&&f.shown.get(e.key),C=e.entry.parent&&f.shown&&f.shown.get(e.entry.parent.key),F=S||C||Z[d];return{x:F.x,y:F.y}}),Ne=i(re,G)||!f.shown;f.shown=new Map(N.map((e,d)=>[e.key,Z[d]])),u(re,f,Ne,e=>{N.forEach((d,S)=>{d.x=T(fe[S].x,Z[S].x,e),d.y=T(fe[S].y,Z[S].y,e)}),ue()}),f.live={nodes:N,links:Q,plot:h,paint:ue};const z=l(q);if(z&&!f.installed&&typeof z.addEventListener=="function"){f.installed=!0;const e=C=>{if(C.button)return;const F=t(z,C),_=n({hnodes:f.live.nodes,x:F.x,y:F.y});_&&_!==f.live.nodes[0]&&(f.drag={node:_,from:F,moved:!1})},d=C=>{const F=f.drag;if(!F)return;if(C.buttons===0){f.drag=null;return}const _=t(z,C),P=f.live;if(!F.moved&&Math.hypot(_.x-F.from.x,_.y-F.from.y)<4)return;F.moved=!0,f.cancel&&(f.cancel(),f.cancel=null);const $=F.node;$.x=Math.max(P.plot.left,Math.min(P.plot.right,_.x)),$.y=Math.max(P.plot.top,Math.min(P.plot.bottom,_.y)),$.fx=g($.x,P.plot.left,P.plot.width),$.fy=g($.y,P.plot.top,P.plot.height),f.pinned.set($.key,{fx:$.fx,fy:$.fy}),P.nodes.length<=s&&K({nodes:P.nodes,links:P.links,plot:P.plot,keep:!0,iterations:30,heat:.25});for(const H of P.nodes)f.positions.set(H.key,{fx:g(H.x,P.plot.left,P.plot.width),fy:g(H.y,P.plot.top,P.plot.height)});f.shown=new Map(P.nodes.map(H=>[H.key,{x:H.x,y:H.y}])),P.paint()},S=()=>{f.drag&&f.drag.moved&&(f.dragEnded=Date.now()),f.drag=null};z.addEventListener("pointerdown",e),z.addEventListener("pointermove",d),z.addEventListener("pointerup",S),z.addEventListener("pointercancel",S),z.addEventListener("pointerleave",S)}return{hnodes:N,links:Q,view:{k:1,tx:0,ty:0},ticks:ae.ticks,settled:!0,legend:ie.legend(),activate(e){if(f.dragEnded&&Date.now()-f.dragEnded<400)return f.dragEnded=0,"ignore";const d=N[e.index];return!d||!d.node.children.length?!1:(x(f,d.key),!0)}}}L("forceTree",{draw:p,hierarchical:!0,count:!0,freeform:!0,labelled:!1,animates:!0});const j=p});const ge=ye("packages/modules/chart-forcetree/index.js"),Ee=ge.drawForceTree;var Te=ge.default;export{Te as default,Ee as drawForceTree};
6
+ import*as Te from"@toclocoinc/lattice-grid/modules/charts";var ye=Object.create(null),me=Object.create(null);function U(d,I){ye[d]=I}function ge(d){var I=me[d];if(I)return I;var N=Object.create(null);me[d]=N;var F=ye[d];if(!F)throw new Error("[lattice] missing module: "+d);return F(N,ge),N}var pe=Object.create(null);pe["@toclocoinc/lattice-grid/modules/charts"]=Te;function Ie(d){var I=pe[d],N=typeof globalThis<"u"?globalThis:typeof self<"u"?self:null;if(I)return I;if(d==="@toclocoinc/lattice-grid/modules/charts"&&N&&N.LatticeGrid)return N.LatticeGrid;throw new Error("[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: "+d)}U("packages/modules/charts/force.js",function(d,I){"use strict";Object.defineProperty(d,"ITERATIONS",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"sequence",{enumerable:!0,get:function(){return C}}),Object.defineProperty(d,"layoutForce",{enumerable:!0,get:function(){return j}}),Object.defineProperty(d,"layoutNetwork",{enumerable:!0,get:function(){return v}});const N=220,F=2400,_=.006,q=.015;function C(n){let t=n>>>0||1;return()=>(t^=t<<13,t>>>=0,t^=t>>17,t^=t<<5,t>>>=0,t/4294967296)}function j(n){const{nodes:t,links:i,plot:o}=n;if(!t.length)return{nodes:t,ticks:0};const h=Number.isFinite(n.repulsion)?n.repulsion:F,a=Number.isFinite(n.attraction)?n.attraction:_,l=Number.isFinite(n.gravity)?n.gravity:q,g=C(t.length*2654435761),M=o.left+o.width/2,u=o.top+o.height/2,s=Math.min(o.width,o.height)/3;for(const c of t){const p=g()*Math.PI*2,r=s*(.35+g()*.65);if(n.keep&&Number.isFinite(c.x)&&Number.isFinite(c.y)){c.vx=0,c.vy=0;continue}c.x=M+Math.cos(p)*r,c.y=u+Math.sin(p)*r,c.vx=0,c.vy=0}for(const c of t)c.pinned=Number.isFinite(c.fx)&&Number.isFinite(c.fy),c.pinned&&(c.x=o.left+Math.max(0,Math.min(1,c.fx))*o.width,c.y=o.top+Math.max(0,Math.min(1,c.fy))*o.height);const f=n.iterations||N;for(let c=0;c<f;c++){const p=(Number.isFinite(n.heat)?n.heat:1)*(1-c/f);for(let r=0;r<t.length;r++){const m=t[r];for(let x=r+1;x<t.length;x++){const O=t[x];let E=m.x-O.x,w=m.y-O.y,A=Math.sqrt(E*E+w*w);A<.01&&(E=r-x||1,w=1,A=Math.sqrt(E*E+w*w));const k=h/(A*A),K=E/A*k,$=w/A*k;m.vx+=K,m.vy+=$,O.vx-=K,O.vy-=$}}for(const r of i){const m=r.source,x=r.target;if(m===x)continue;const O=x.x-m.x,E=x.y-m.y,w=a*(r.weight||1);m.vx+=O*w,m.vy+=E*w,x.vx-=O*w,x.vy-=E*w}for(const r of t){if(r.pinned){r.vx=0,r.vy=0;continue}r.vx+=(M-r.x)*l,r.vy+=(u-r.y)*l,r.x+=r.vx*p*.08,r.y+=r.vy*p*.08,r.vx*=.82,r.vy*=.82,r.x=Math.max(o.left+8,Math.min(o.right-8,r.x)),r.y=Math.max(o.top+8,Math.min(o.bottom-8,r.y))}}return{nodes:t,ticks:f}}function v(n){return j(n).nodes}}),U("packages/modules/charts/nodenames.js",function(d,I){"use strict";Object.defineProperty(d,"nameSides",{enumerable:!0,get:function(){return q}}),Object.defineProperty(d,"placeNodeNames",{enumerable:!0,get:function(){return n}});const N=3,F=1.2,_=.4;function q(t,i){const o=i*F,h=i*_;return[{dx:0,dy:t+N+o,anchor:"middle"},{dx:0,dy:-(t+N+h),anchor:"middle"},{dx:t+N,dy:0,anchor:"start"},{dx:-(t+N),dy:0,anchor:"end"}]}function C(t,i,o,h){const a=Math.max(t.x,Math.min(i,t.x+t.width)),l=Math.max(t.y,Math.min(o,t.y+t.height)),g=i-a,M=o-l;return g*g+M*M<=h*h}function j(t,i,o){const h=i.x-o,a=i.x+i.width+o,l=i.y-o,g=i.y+i.height+o,M=t.x2-t.x1,u=t.y2-t.y1;let s=0,f=1;if(Math.abs(M)<1e-9){if(t.x1<h||t.x1>a)return!1}else{const c=1/M;let p=(h-t.x1)*c,r=(a-t.x1)*c;if(p>r){const m=p;p=r,r=m}if(p>s&&(s=p),r<f&&(f=r),s>f)return!1}if(Math.abs(u)<1e-9){if(t.y1<l||t.y1>g)return!1}else{const c=1/u;let p=(l-t.y1)*c,r=(g-t.y1)*c;if(p>r){const m=p;p=r,r=m}if(p>s&&(s=p),r<f&&(f=r),s>f)return!1}return!0}function v(t,i,o){return t.x-o<i.x+i.width&&t.x+t.width+o>i.x&&t.y-o<i.y+i.height&&t.y+i.height+o>i.y}function n(t){const{nodes:i,segments:o,plot:h,size:a,textWidth:l}=t,g=t.minGap===void 0?2:t.minGap,M=t.sides||(f=>q(f.r,a)),u=[],s=new Map;for(const f of i){if(!f.text)continue;const c=l(f.text,a),p=a*F,r=a*_;for(const m of M(f)){const x=f.x+m.dx,O=f.y+m.dy,w={x:m.anchor==="end"?x-c:m.anchor==="start"?x:x-c/2,y:O-p,width:c,height:p+r};if(w.x<h.left-1||w.x+w.width>h.right+1||w.y<h.top-1||w.y+w.height>h.bottom+1)continue;let A=!1;for(const k of i)if(k!==f&&C(w,k.x,k.y,k.r+g)){A=!0;break}if(!A){for(const k of o)if(j(k,w,g)){A=!0;break}if(!A){for(const k of u)if(v(w,k,g)){A=!0;break}if(!A){u.push(w),s.set(f,{dx:m.dx,dy:m.dy,anchor:m.anchor,text:f.text});break}}}}}return s}}),U("packages/modules/charts/tween.js",function(d,I){"use strict";Object.defineProperty(d,"tween",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"easeOutQuad",{enumerable:!0,get:function(){return F}}),Object.defineProperty(d,"frameLoop",{enumerable:!0,get:function(){return C}});function N(j,v,n){return j+(v-j)*n}function F(j){return 1-(1-j)*(1-j)}const _=new WeakMap;let q=null;function C(j){const v=j&&typeof j.requestAnimationFrame=="function";if(v&&_.has(j))return _.get(j);if(!v&&q)return q;const n=new Map;let t=0,i=null;const o=l=>{i=null;const g=[...n.values()];n.clear();for(const M of g)try{M(l)}catch(u){setTimeout(()=>{throw u},0)}},h=()=>{i===null&&(i=v?j.requestAnimationFrame(o):setTimeout(()=>o(Date.now()),16))},a={request(l){return t+=1,n.set(t,l),h(),t},cancel(l){n.delete(l),!n.size&&i!==null&&(v&&typeof j.cancelAnimationFrame=="function"?j.cancelAnimationFrame(i):v||clearTimeout(i),i=null)},get pending(){return n.size}};return v?_.set(j,a):q=a,a}}),U("packages/modules/charts/htree.js",function(d,I){"use strict";Object.defineProperty(d,"TWEEN_MS",{enumerable:!0,get:function(){return C}}),Object.defineProperty(d,"stateOf",{enumerable:!0,get:function(){return v}}),Object.defineProperty(d,"topOf",{enumerable:!0,get:function(){return n}}),Object.defineProperty(d,"reducedMotion",{enumerable:!0,get:function(){return t}}),Object.defineProperty(d,"visibleEntries",{enumerable:!0,get:function(){return i}}),Object.defineProperty(d,"toggle",{enumerable:!0,get:function(){return o}}),Object.defineProperty(d,"colourer",{enumerable:!0,get:function(){return h}}),Object.defineProperty(d,"svgOf",{enumerable:!0,get:function(){return a}}),Object.defineProperty(d,"pointerIn",{enumerable:!0,get:function(){return l}}),Object.defineProperty(d,"tween",{enumerable:!0,get:function(){return g}}),Object.defineProperty(d,"fitsInside",{enumerable:!0,get:function(){return M}});const N=I("packages/modules/charts/tween.js"),F=N.easeOutQuad,_=N.frameLoop;Object.defineProperty(d,"lerp",{enumerable:!0,get:function(){return N.tween}});const q="",C=220,j=new WeakMap;function v(u){let s=j.get(u.marks);return s||(s={toggled:new Set,positions:new Map,focus:null,cancel:null,moved:0},j.set(u.marks,s)),s}function n(u){const s=u.root;return s.children.length===1?s.children[0]:s}function t(u,s){if(s&&(s.animate===!1||s.animation===!1))return!0;const f=u&&u.defaultView;if(!f)return!0;if(typeof f.matchMedia!="function")return!1;const c=f.matchMedia("(prefers-reduced-motion: reduce)");return!!(c&&c.matches)}function i(u,s,f){const c=Number.isFinite(f.expandDepth)&&f.expandDepth>=0?f.expandDepth:1/0,p=[],r=(m,x,O,E)=>{const w=O.join(q),A=m.children.length>0,k=x>=c,K=A&&k!==s.toggled.has(w),$={node:m,depth:x,path:O,key:w,parent:E,collapsed:K,children:[]};if(p.push($),E&&E.children.push($),!K)for(const J of m.children)r(J,x+1,[...O,J.label],$)};return r(u,0,u===void 0||u.label===""?[]:[u.label],null),p}function o(u,s){u.toggled.has(s)?u.toggled.delete(s):u.toggled.add(s)}function h(u){const s=typeof u.spec.colourBy=="string"&&u.spec.colourBy!=="depth"?u.spec.colourBy:null,f=new Map;return{colour(c,p){if(!s)return u.scheme.series(p,c.label);const r=c.rowKeys&&c.rowKeys[0],m=r===void 0?null:u.grid.rows.value(r,s),x=m==null?"":String(m);return x===""?"var(--lattice-chart-axis, #888)":(f.has(x)||f.set(x,f.size),u.scheme.series(f.get(x),x))},legend(){return s?[...f].map(([c,p])=>({key:c,label:c,index:p})):[]}}}function a(u){let s=u.marks;for(;s&&String(s.tagName||"").toLowerCase()!=="svg";)s=s.parentNode;return s||null}function l(u,s){const f=u.getBoundingClientRect(),c=String(u.getAttribute("viewBox")||"").split(/[\s,]+/).map(Number),p=c.length===4&&f.width?c[2]/f.width:1,r=c.length===4&&f.height?c[3]/f.height:1;return{x:(s.clientX-f.left)*p,y:(s.clientY-f.top)*r}}function g(u,s,f,c){s.cancel&&(s.cancel(),s.cancel=null);const p=u&&u.defaultView;if(f||!p||typeof p.requestAnimationFrame!="function"){c(1);return}const r=_(p);let m=!0,x=null,O=null;const E=w=>{if(O=null,!m)return;x===null&&(x=w);const A=Math.min(1,(w-x)/C);c(A>=1?1:F(A)),A<1?O=r.request(E):s.cancel=null};s.cancel=()=>{m=!1,O!==null&&(r.cancel(O),O=null)},c(0),O=r.request(E)}function M(u,s,f){return u+4<=s*2*.9&&f<=s*1.4}}),U("packages/modules/charts/hnodes.js",function(d,I){"use strict";Object.defineProperty(d,"MIN_HIT",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"isHierarchyDraw",{enumerable:!0,get:function(){return F}}),Object.defineProperty(d,"hnodeAt",{enumerable:!0,get:function(){return _}}),Object.defineProperty(d,"emphasiseHierarchy",{enumerable:!0,get:function(){return C}}),Object.defineProperty(d,"emphasiseLayout",{enumerable:!0,get:function(){return j}}),Object.defineProperty(d,"emphasiseChord",{enumerable:!0,get:function(){return v}});const N=7;function F(n){return!!n&&Array.isArray(n.hnodes)}function _(n){const t=n.view||{k:1,tx:0,ty:0},i=t.k||1,o=(n.x-t.tx)/i,h=(n.y-t.ty)/i;let a=null;for(const l of n.hnodes)if(!l.hidden){if(Array.isArray(l.polygon)){if(!q(l.polygon,o,h))continue}else{const g=Math.max(l.r,N/i),M=o-l.x,u=h-l.y;if(M*M+u*u>g*g)continue}(!a||l.r<a.r||l.r===a.r&&l.depth>=a.depth)&&(a=l)}return a}function q(n,t,i){let o=!1;const h=n.length;for(let a=0,l=h-2;a<h;l=a,a+=2){const g=n[a+1],M=n[l+1];g>i!=M>i&&t<(n[l]-n[a])*(i-g)/(M-g)+n[a]&&(o=!o)}return o}function C(n){const t=n.keys||new Set;let i=0;for(const o of n.drawn.hnodes||[]){const h=o.element;if(!h||!h.setAttribute)continue;const a=o.node&&o.node.rowKeys||[];!t.size||a.some(g=>t.has(g))?(h.removeAttribute("data-dim"),i+=1):h.setAttribute("data-dim","true")}return i}function j(n){const t=n.keys||new Set;let i=0;for(const o of n.marks&&n.marks.childNodes||[]){if(!o||!o.getAttribute)continue;const h=o.getAttribute(n.attribute);if(h===null)continue;const a=n.entries[Number(h)],l=a&&(a.node||a.item&&a.item.node),g=l&&(l.rowKeys&&l.rowKeys.length?l.rowKeys:l.rowKey?[l.rowKey]:[])||[];!t.size||g.some(u=>t.has(u))?(o.removeAttribute("data-dim"),i+=1):o.setAttribute("data-dim","true")}return i}function v(n){const t=n.keys||new Set,i=new Map,o=new Map;for(const{link:a}of n.drawn.ribbons||[]){const l=a.rowKeys||[];i.set(`${a.source.key}->${a.target.key}`,l);for(const g of[a.source,a.target]){const M=o.get(g.key)||[];o.set(g.key,M.concat(l))}}let h=0;for(const a of n.marks&&n.marks.childNodes||[]){if(!a||!a.getAttribute)continue;const l=a.getAttribute("data-link"),g=a.getAttribute("data-node");if(l===null&&g===null)continue;const M=(l!==null?i.get(l):o.get(g))||[];!t.size||M.some(s=>t.has(s))?(a.removeAttribute("data-dim"),h+=1):a.setAttribute("data-dim","true")}return h}}),U("packages/modules/chart-forcetree/index.js",function(d,I){"use strict";Object.defineProperty(d,"drawForceTree",{enumerable:!0,get:function(){return E}}),Object.defineProperty(d,"default",{enumerable:!0,get:function(){return w}});const F=Ie("@toclocoinc/lattice-grid/modules/charts").registerChartType;if(typeof F>"u")throw new Error("[lattice] chart-forcetree needs registerChartType from the charts module. Load charts before chart-forcetree.");const q=I("packages/modules/charts/force.js").layoutForce,j=I("packages/modules/charts/nodenames.js").placeNodeNames,v=I("packages/modules/charts/htree.js"),n=v.colourer,t=v.lerp,i=v.pointerIn,o=v.reducedMotion,h=v.stateOf,a=v.svgOf,l=v.toggle,g=v.topOf,M=v.tween,u=v.visibleEntries,f=I("packages/modules/charts/hnodes.js").hnodeAt,c=220,p=90,r=300,m=4,x=18,O=(A,k,K)=>K?(A-k)/K:.5;function E(A){const{plot:k,bound:K,scheme:$,fontSize:J,groups:Q,grid:xe,spec:V,doc:oe,helpers:we}=A,{Pool:te,attrs:X,round:z,setText:ke,path:ve,textWidth:Me,applySize:Oe,NS:Y}=we;for(const e of["grid","axis","rules","labels"])new te(Q[e]).finish();if(!K.root||!K.root.children.length)return{empty:!0,legend:[]};const y=h(Q);y.pinned||(y.pinned=new Map);const re=u(g(K),y,V),ie=n({grid:xe,spec:V,scheme:$}),je=re.reduce((e,b)=>b.parent?Math.max(e,b.node.total):e,0)||1,S=re.map((e,b)=>{const P=e.parent?e.node.total/je:1;return{key:e.key,entry:e,node:e.node,depth:e.depth,path:e.path,label:e.node.label,index:b,r:e.parent?m+Math.sqrt(Math.max(0,Math.min(1,P)))*(x-m):x,colour:ie.colour(e.node,e.depth),x:NaN,y:NaN,fx:NaN,fy:NaN,element:null}}),se=new Map(S.map(e=>[e.key,e])),H=[];for(const e of S)e.entry.parent&&H.push({source:se.get(e.entry.parent.key),target:e,weight:1});const ce=S[0];ce.fx=.5,ce.fy=.5;const Z=S.some(e=>y.positions.has(e.key));for(const e of S){const b=y.pinned.get(e.key);b&&(e.fx=b.fx,e.fy=b.fy);const P=y.positions.get(e.key);if(P)e.x=k.left+P.fx*k.width,e.y=k.top+P.fy*k.height;else if(Z&&e.entry.parent){const R=se.get(e.entry.parent.key),L=e.entry.parent.children,D=L.indexOf(e.entry)/Math.max(1,L.length)*Math.PI*2;e.x=R.x+Math.cos(D)*28,e.y=R.y+Math.sin(D)*28}}const Ne={repulsion:.78*k.width*k.height/Math.max(4,S.length),attraction:.004},Ae=Number.isFinite(V.iterations)&&V.iterations>0?Math.floor(V.iterations):0,ae=q({nodes:S,links:H,plot:k,keep:Z,iterations:Ae||(Z?p:c),heat:Z?.35:1,...Ne});Q.marks.setAttribute("data-ticks",String(ae.ticks));for(const e of S)y.positions.set(e.key,{fx:O(e.x,k.left,k.width),fy:O(e.y,k.top,k.height)});const ne=new te(Q.marks);for(const e of H){const b=ne.next("path",`${Y}__hlink ${Y}__mark`);b.setAttribute("data-decor","true"),e.element=b}for(const e of S){const b=ne.next("circle",`${Y}__hnode ${Y}__mark`);X(b,{r:z(e.r),fill:e.colour,"data-hnode":e.index,"data-depth":e.depth,"data-collapsed":e.entry.collapsed?"true":null,"data-decor":null,display:null,"aria-expanded":e.node.children.length?String(!e.entry.collapsed):null}),e.element=b}ne.finish();const ue=new te(Q.overlay),le=A.typography&&A.typography.small||J,fe=S.length<=40?S:[...S].sort((e,b)=>b.node.total-e.node.total).slice(0,30),Ee=H.map(e=>({x1:e.source.x,y1:e.source.y,x2:e.target.x,y2:e.target.y})),Pe=j({nodes:fe.map(e=>(e.text=e.label,e)),segments:Ee,plot:k,size:le,textWidth:Me});for(const e of fe){const b=Pe.get(e);if(!b)continue;const P=ue.next("text",`${Y}__flow-label`);Oe(P,le),ke(P,b.text),X(P,{visibility:null}),e.labelEl=P,e.labelSpot=b}ue.finish();const de=()=>{for(const e of H)X(e.element,{d:ve(["M",z(e.source.x),z(e.source.y),"L",z(e.target.x),z(e.target.y)])});for(const e of S)X(e.element,{cx:z(e.x),cy:z(e.y)}),e.labelEl&&X(e.labelEl,{x:z(e.x+e.labelSpot.dx),y:z(e.y+e.labelSpot.dy),"text-anchor":e.labelSpot.anchor})},ee=S.map(e=>({x:e.x,y:e.y})),he=S.map((e,b)=>{const P=y.shown&&y.shown.get(e.key),R=e.entry.parent&&y.shown&&y.shown.get(e.entry.parent.key),L=P||R||ee[b];return{x:L.x,y:L.y}}),Se=o(oe,V)||!y.shown;y.shown=new Map(S.map((e,b)=>[e.key,ee[b]])),M(oe,y,Se,e=>{S.forEach((b,P)=>{b.x=t(he[P].x,ee[P].x,e),b.y=t(he[P].y,ee[P].y,e)}),de()}),y.live={nodes:S,links:H,plot:k,paint:de};const B=a(Q);if(B&&!y.installed&&typeof B.addEventListener=="function"){y.installed=!0;const e=R=>{if(R.button)return;const L=i(B,R),D=f({hnodes:y.live.nodes,x:L.x,y:L.y});D&&D!==y.live.nodes[0]&&(y.drag={node:D,from:L,moved:!1})},b=R=>{const L=y.drag;if(!L)return;if(R.buttons===0){y.drag=null;return}const D=i(B,R),T=y.live;if(!L.moved&&Math.hypot(D.x-L.from.x,D.y-L.from.y)<4)return;L.moved=!0,y.cancel&&(y.cancel(),y.cancel=null);const G=L.node;G.x=Math.max(T.plot.left,Math.min(T.plot.right,D.x)),G.y=Math.max(T.plot.top,Math.min(T.plot.bottom,D.y)),G.fx=O(G.x,T.plot.left,T.plot.width),G.fy=O(G.y,T.plot.top,T.plot.height),y.pinned.set(G.key,{fx:G.fx,fy:G.fy}),T.nodes.length<=r&&q({nodes:T.nodes,links:T.links,plot:T.plot,keep:!0,iterations:30,heat:.25});for(const W of T.nodes)y.positions.set(W.key,{fx:O(W.x,T.plot.left,T.plot.width),fy:O(W.y,T.plot.top,T.plot.height)});y.shown=new Map(T.nodes.map(W=>[W.key,{x:W.x,y:W.y}])),T.paint()},P=()=>{y.drag&&y.drag.moved&&(y.dragEnded=Date.now()),y.drag=null};B.addEventListener("pointerdown",e),B.addEventListener("pointermove",b),B.addEventListener("pointerup",P),B.addEventListener("pointercancel",P),B.addEventListener("pointerleave",P)}return{hnodes:S,links:H,view:{k:1,tx:0,ty:0},ticks:ae.ticks,settled:!0,legend:ie.legend(),activate(e){if(y.dragEnded&&Date.now()-y.dragEnded<400)return y.dragEnded=0,"ignore";const b=S[e.index];return!b||!b.node.children.length?!1:(l(y,b.key),!0)}}}F("forceTree",{draw:E,hierarchical:!0,count:!0,freeform:!0,labelled:!1,animates:!0});const w=E});const be=ge("packages/modules/chart-forcetree/index.js"),Fe=be.drawForceTree;var Le=be.default;export{Le as default,Fe as drawForceTree};
7
7
 
8
8
  //# sourceMappingURL=chart-forcetree.esm.min.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
3
  "sources": ["chart-forcetree.esm.js"],
4
- "mappings": "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",
5
- "names": ["__ext_0", "__mods", "__cache", "__def", "id", "fn", "__req", "hit", "exports", "__extmods", "__ext", "spec", "mod", "g", "__exports", "ITERATIONS", "sequence", "layoutForce", "layoutNetwork", "REPULSION", "ATTRACTION", "GRAVITY", "seed", "state", "opts", "nodes", "links", "plot", "repulsion", "attraction", "gravity", "random", "cx", "cy", "spread", "node", "angle", "distance", "rounds", "step", "heat", "i", "a", "j", "b", "dx", "dy", "push", "ux", "uy", "link", "pull", "tween", "easeOutQuad", "frameLoop", "from", "to", "fraction", "t", "LOOPS", "headless", "view", "usable", "queue", "seq", "asked", "tick", "now", "batch", "error", "ask", "loop", "TWEEN_MS", "stateOf", "topOf", "reducedMotion", "visibleEntries", "toggle", "colourer", "svgOf", "pointerIn", "fitsInside", "__m0", "SEP", "STATES", "groups", "bound", "root", "doc", "query", "top", "open", "out", "walk", "depth", "path", "parent", "key", "has", "closedByDefault", "collapsed", "entry", "child", "column", "seen", "rowKey", "raw", "label", "index", "at", "svg", "event", "box", "sx", "sy", "still", "apply", "live", "start", "frame", "width", "radius", "size", "MIN_HIT", "isHierarchyDraw", "hnodeAt", "emphasiseHierarchy", "emphasiseLayout", "emphasiseChord", "drawn", "k", "wx", "wy", "best", "h", "insidePolygon", "reach", "p", "x", "inside", "n", "yi", "yj", "keys", "lit", "el", "rows", "byLink", "byNode", "held", "drawForceTree", "__default", "registerChartType", "__m2", "lerp", "FIRST_TICKS", "RESUME_TICKS", "LIVE_DRAG_LIMIT", "R_MIN", "R_MAX", "value", "span", "ctx", "scheme", "fontSize", "grid", "helpers", "Pool", "attrs", "round", "setText", "textWidth", "applySize", "NS", "name", "entries", "colours", "biggest", "m", "e", "share", "byKey", "resumed", "pin", "siblings", "forces", "wanted", "first", "marks", "overlay", "named", "text", "paint", "finals", "starts", "before", "down", "found", "move", "drag", "one", "up", "datum", "__entry", "chart_forcetree_esm_default"]
4
+ "mappings": "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",
5
+ "names": ["__ext_0", "__mods", "__cache", "__def", "id", "fn", "__req", "hit", "exports", "__extmods", "__ext", "spec", "mod", "g", "__exports", "ITERATIONS", "sequence", "layoutForce", "layoutNetwork", "REPULSION", "ATTRACTION", "GRAVITY", "seed", "state", "opts", "nodes", "links", "plot", "repulsion", "attraction", "gravity", "random", "cx", "cy", "spread", "node", "angle", "distance", "rounds", "step", "heat", "i", "a", "j", "b", "dx", "dy", "push", "ux", "uy", "link", "pull", "nameSides", "placeNodeNames", "NAME_GAP", "ASCENT", "DESCENT", "r", "size", "ascent", "descent", "hitsCircle", "box", "nx", "ny", "hitsSegment", "seg", "gap", "x0", "x1", "y0", "y1", "t0", "t1", "t", "s", "u", "hitsBox", "segments", "textWidth", "sidesOf", "n", "placed", "out", "width", "side", "ax", "ay", "blocked", "other", "taken", "tween", "easeOutQuad", "frameLoop", "from", "to", "fraction", "LOOPS", "headless", "view", "usable", "queue", "seq", "asked", "tick", "now", "batch", "error", "ask", "loop", "TWEEN_MS", "stateOf", "topOf", "reducedMotion", "visibleEntries", "toggle", "colourer", "svgOf", "pointerIn", "fitsInside", "__m0", "SEP", "STATES", "groups", "bound", "root", "doc", "query", "top", "open", "walk", "depth", "path", "parent", "key", "has", "closedByDefault", "collapsed", "entry", "child", "column", "seen", "rowKey", "raw", "label", "index", "at", "svg", "event", "sx", "sy", "still", "apply", "live", "start", "frame", "radius", "MIN_HIT", "isHierarchyDraw", "hnodeAt", "emphasiseHierarchy", "emphasiseLayout", "emphasiseChord", "drawn", "k", "wx", "wy", "best", "h", "insidePolygon", "reach", "p", "x", "y", "inside", "yi", "yj", "keys", "lit", "el", "rows", "byLink", "byNode", "held", "drawForceTree", "__default", "registerChartType", "__m3", "lerp", "FIRST_TICKS", "RESUME_TICKS", "LIVE_DRAG_LIMIT", "R_MIN", "R_MAX", "value", "span", "ctx", "scheme", "fontSize", "grid", "helpers", "Pool", "attrs", "round", "setText", "applySize", "NS", "name", "entries", "colours", "biggest", "m", "e", "share", "byKey", "resumed", "pin", "siblings", "forces", "wanted", "first", "marks", "overlay", "named", "l", "spots", "spot", "text", "paint", "finals", "starts", "before", "down", "found", "move", "drag", "one", "up", "datum", "__entry", "chart_forcetree_esm_default"]
6
6
  }
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-forcetree module
2
+ * Lattice Grid 1.86.5, chart-forcetree module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
6
- (function(te){"use strict";var se=Object.create(null),ce=Object.create(null);function V(a,I){se[a]=I}function ae(a){var I=ce[a];if(I)return I;var M=Object.create(null);ce[a]=M;var F=se[a];if(!F)throw new Error("[lattice] missing module: "+a);return F(M,ae),M}var le=Object.create(null);le["@toclocoinc/lattice-grid/modules/charts"]=te.LatticeGrid||null;function we(a){var I=le[a],M=typeof globalThis<"u"?globalThis:typeof self<"u"?self:null;if(I)return I;if(a==="@toclocoinc/lattice-grid/modules/charts"&&M&&M.LatticeGrid)return M.LatticeGrid;throw new Error("[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: "+a)}V("packages/modules/charts/force.js",function(a,I){"use strict";Object.defineProperty(a,"ITERATIONS",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"sequence",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"layoutForce",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"layoutNetwork",{enumerable:!0,get:function(){return T}});const M=220,F=2400,C=.006,K=.015;function O(t){let i=t>>>0||1;return()=>(i^=i<<13,i>>>=0,i^=i>>17,i^=i<<5,i>>>=0,i/4294967296)}function w(t){const{nodes:i,links:y,plot:l}=t;if(!i.length)return{nodes:i,ticks:0};const x=Number.isFinite(t.repulsion)?t.repulsion:F,c=Number.isFinite(t.attraction)?t.attraction:C,u=Number.isFinite(t.gravity)?t.gravity:K,b=O(i.length*2654435761),E=l.left+l.width/2,n=l.top+l.height/2,r=Math.min(l.width,l.height)/3;for(const s of i){const v=b()*Math.PI*2,o=r*(.35+b()*.65);if(t.keep&&Number.isFinite(s.x)&&Number.isFinite(s.y)){s.vx=0,s.vy=0;continue}s.x=E+Math.cos(v)*o,s.y=n+Math.sin(v)*o,s.vx=0,s.vy=0}for(const s of i)s.pinned=Number.isFinite(s.fx)&&Number.isFinite(s.fy),s.pinned&&(s.x=l.left+Math.max(0,Math.min(1,s.fx))*l.width,s.y=l.top+Math.max(0,Math.min(1,s.fy))*l.height);const m=t.iterations||M;for(let s=0;s<m;s++){const v=(Number.isFinite(t.heat)?t.heat:1)*(1-s/m);for(let o=0;o<i.length;o++){const g=i[o];for(let p=o+1;p<i.length;p++){const j=i[p];let k=g.x-j.x,h=g.y-j.y,A=Math.sqrt(k*k+h*h);A<.01&&(k=o-p||1,h=1,A=Math.sqrt(k*k+h*h));const W=x/(A*A),B=k/A*W,q=h/A*W;g.vx+=B,g.vy+=q,j.vx-=B,j.vy-=q}}for(const o of y){const g=o.source,p=o.target;if(g===p)continue;const j=p.x-g.x,k=p.y-g.y,h=c*(o.weight||1);g.vx+=j*h,g.vy+=k*h,p.vx-=j*h,p.vy-=k*h}for(const o of i){if(o.pinned){o.vx=0,o.vy=0;continue}o.vx+=(E-o.x)*u,o.vy+=(n-o.y)*u,o.x+=o.vx*v*.08,o.y+=o.vy*v*.08,o.vx*=.82,o.vy*=.82,o.x=Math.max(l.left+8,Math.min(l.right-8,o.x)),o.y=Math.max(l.top+8,Math.min(l.bottom-8,o.y))}}return{nodes:i,ticks:m}}function T(t){return w(t).nodes}}),V("packages/modules/charts/tween.js",function(a,I){"use strict";Object.defineProperty(a,"tween",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"easeOutQuad",{enumerable:!0,get:function(){return F}}),Object.defineProperty(a,"frameLoop",{enumerable:!0,get:function(){return O}});function M(w,T,t){return w+(T-w)*t}function F(w){return 1-(1-w)*(1-w)}const C=new WeakMap;let K=null;function O(w){const T=w&&typeof w.requestAnimationFrame=="function";if(T&&C.has(w))return C.get(w);if(!T&&K)return K;const t=new Map;let i=0,y=null;const l=u=>{y=null;const b=[...t.values()];t.clear();for(const E of b)try{E(u)}catch(n){setTimeout(()=>{throw n},0)}},x=()=>{y===null&&(y=T?w.requestAnimationFrame(l):setTimeout(()=>l(Date.now()),16))},c={request(u){return i+=1,t.set(i,u),x(),i},cancel(u){t.delete(u),!t.size&&y!==null&&(T&&typeof w.cancelAnimationFrame=="function"?w.cancelAnimationFrame(y):T||clearTimeout(y),y=null)},get pending(){return t.size}};return T?C.set(w,c):K=c,c}}),V("packages/modules/charts/htree.js",function(a,I){"use strict";Object.defineProperty(a,"TWEEN_MS",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"stateOf",{enumerable:!0,get:function(){return T}}),Object.defineProperty(a,"topOf",{enumerable:!0,get:function(){return t}}),Object.defineProperty(a,"reducedMotion",{enumerable:!0,get:function(){return i}}),Object.defineProperty(a,"visibleEntries",{enumerable:!0,get:function(){return y}}),Object.defineProperty(a,"toggle",{enumerable:!0,get:function(){return l}}),Object.defineProperty(a,"colourer",{enumerable:!0,get:function(){return x}}),Object.defineProperty(a,"svgOf",{enumerable:!0,get:function(){return c}}),Object.defineProperty(a,"pointerIn",{enumerable:!0,get:function(){return u}}),Object.defineProperty(a,"tween",{enumerable:!0,get:function(){return b}}),Object.defineProperty(a,"fitsInside",{enumerable:!0,get:function(){return E}});const M=I("packages/modules/charts/tween.js"),F=M.easeOutQuad,C=M.frameLoop;Object.defineProperty(a,"lerp",{enumerable:!0,get:function(){return M.tween}});const K="",O=220,w=new WeakMap;function T(n){let r=w.get(n.marks);return r||(r={toggled:new Set,positions:new Map,focus:null,cancel:null,moved:0},w.set(n.marks,r)),r}function t(n){const r=n.root;return r.children.length===1?r.children[0]:r}function i(n,r){if(r&&(r.animate===!1||r.animation===!1))return!0;const m=n&&n.defaultView;if(!m)return!0;if(typeof m.matchMedia!="function")return!1;const s=m.matchMedia("(prefers-reduced-motion: reduce)");return!!(s&&s.matches)}function y(n,r,m){const s=Number.isFinite(m.expandDepth)&&m.expandDepth>=0?m.expandDepth:1/0,v=[],o=(g,p,j,k)=>{const h=j.join(K),A=g.children.length>0,W=p>=s,B=A&&W!==r.toggled.has(h),q={node:g,depth:p,path:j,key:h,parent:k,collapsed:B,children:[]};if(v.push(q),k&&k.children.push(q),!B)for(const J of g.children)o(J,p+1,[...j,J.label],q)};return o(n,0,n===void 0||n.label===""?[]:[n.label],null),v}function l(n,r){n.toggled.has(r)?n.toggled.delete(r):n.toggled.add(r)}function x(n){const r=typeof n.spec.colourBy=="string"&&n.spec.colourBy!=="depth"?n.spec.colourBy:null,m=new Map;return{colour(s,v){if(!r)return n.scheme.series(v,s.label);const o=s.rowKeys&&s.rowKeys[0],g=o===void 0?null:n.grid.rows.value(o,r),p=g==null?"":String(g);return p===""?"var(--lattice-chart-axis, #888)":(m.has(p)||m.set(p,m.size),n.scheme.series(m.get(p),p))},legend(){return r?[...m].map(([s,v])=>({key:s,label:s,index:v})):[]}}}function c(n){let r=n.marks;for(;r&&String(r.tagName||"").toLowerCase()!=="svg";)r=r.parentNode;return r||null}function u(n,r){const m=n.getBoundingClientRect(),s=String(n.getAttribute("viewBox")||"").split(/[\s,]+/).map(Number),v=s.length===4&&m.width?s[2]/m.width:1,o=s.length===4&&m.height?s[3]/m.height:1;return{x:(r.clientX-m.left)*v,y:(r.clientY-m.top)*o}}function b(n,r,m,s){r.cancel&&(r.cancel(),r.cancel=null);const v=n&&n.defaultView;if(m||!v||typeof v.requestAnimationFrame!="function"){s(1);return}const o=C(v);let g=!0,p=null,j=null;const k=h=>{if(j=null,!g)return;p===null&&(p=h);const A=Math.min(1,(h-p)/O);s(A>=1?1:F(A)),A<1?j=o.request(k):r.cancel=null};r.cancel=()=>{g=!1,j!==null&&(o.cancel(j),j=null)},s(0),j=o.request(k)}function E(n,r,m){return n+4<=r*2*.9&&m<=r*1.4}}),V("packages/modules/charts/hnodes.js",function(a,I){"use strict";Object.defineProperty(a,"MIN_HIT",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"isHierarchyDraw",{enumerable:!0,get:function(){return F}}),Object.defineProperty(a,"hnodeAt",{enumerable:!0,get:function(){return C}}),Object.defineProperty(a,"emphasiseHierarchy",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"emphasiseLayout",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"emphasiseChord",{enumerable:!0,get:function(){return T}});const M=7;function F(t){return!!t&&Array.isArray(t.hnodes)}function C(t){const i=t.view||{k:1,tx:0,ty:0},y=i.k||1,l=(t.x-i.tx)/y,x=(t.y-i.ty)/y;let c=null;for(const u of t.hnodes)if(!u.hidden){if(Array.isArray(u.polygon)){if(!K(u.polygon,l,x))continue}else{const b=Math.max(u.r,M/y),E=l-u.x,n=x-u.y;if(E*E+n*n>b*b)continue}(!c||u.r<c.r||u.r===c.r&&u.depth>=c.depth)&&(c=u)}return c}function K(t,i,y){let l=!1;const x=t.length;for(let c=0,u=x-2;c<x;u=c,c+=2){const b=t[c+1],E=t[u+1];b>y!=E>y&&i<(t[u]-t[c])*(y-b)/(E-b)+t[c]&&(l=!l)}return l}function O(t){const i=t.keys||new Set;let y=0;for(const l of t.drawn.hnodes||[]){const x=l.element;if(!x||!x.setAttribute)continue;const c=l.node&&l.node.rowKeys||[];!i.size||c.some(b=>i.has(b))?(x.removeAttribute("data-dim"),y+=1):x.setAttribute("data-dim","true")}return y}function w(t){const i=t.keys||new Set;let y=0;for(const l of t.marks&&t.marks.childNodes||[]){if(!l||!l.getAttribute)continue;const x=l.getAttribute(t.attribute);if(x===null)continue;const c=t.entries[Number(x)],u=c&&(c.node||c.item&&c.item.node),b=u&&(u.rowKeys&&u.rowKeys.length?u.rowKeys:u.rowKey?[u.rowKey]:[])||[];!i.size||b.some(n=>i.has(n))?(l.removeAttribute("data-dim"),y+=1):l.setAttribute("data-dim","true")}return y}function T(t){const i=t.keys||new Set,y=new Map,l=new Map;for(const{link:c}of t.drawn.ribbons||[]){const u=c.rowKeys||[];y.set(`${c.source.key}->${c.target.key}`,u);for(const b of[c.source,c.target]){const E=l.get(b.key)||[];l.set(b.key,E.concat(u))}}let x=0;for(const c of t.marks&&t.marks.childNodes||[]){if(!c||!c.getAttribute)continue;const u=c.getAttribute("data-link"),b=c.getAttribute("data-node");if(u===null&&b===null)continue;const E=(u!==null?y.get(u):l.get(b))||[];!i.size||E.some(r=>i.has(r))?(c.removeAttribute("data-dim"),x+=1):c.setAttribute("data-dim","true")}return x}}),V("packages/modules/chart-forcetree/index.js",function(a,I){"use strict";Object.defineProperty(a,"drawForceTree",{enumerable:!0,get:function(){return p}}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return j}});const F=we("@toclocoinc/lattice-grid/modules/charts").registerChartType;if(typeof F>"u")throw new Error("[lattice] chart-forcetree needs registerChartType from the charts module. Load charts before chart-forcetree.");const K=I("packages/modules/charts/force.js").layoutForce,O=I("packages/modules/charts/htree.js"),w=O.colourer,T=O.lerp,t=O.pointerIn,i=O.reducedMotion,y=O.stateOf,l=O.svgOf,x=O.toggle,c=O.topOf,u=O.tween,b=O.visibleEntries,n=I("packages/modules/charts/hnodes.js").hnodeAt,r=220,m=90,s=300,v=4,o=18,g=(k,h,A)=>A?(k-h)/A:.5;function p(k){const{plot:h,bound:A,scheme:W,fontSize:B,groups:q,grid:J,spec:_,doc:ue,helpers:ke}=k,{Pool:re,attrs:U,round:z,setText:ve,path:Me,textWidth:Oe,applySize:je,NS:X}=ke;for(const e of["grid","axis","rules","labels"])new re(q[e]).finish();if(!A.root||!A.root.children.length)return{empty:!0,legend:[]};const f=y(q);f.pinned||(f.pinned=new Map);const fe=b(c(A),f,_),de=w({grid:J,spec:_,scheme:W}),Ne=fe.reduce((e,d)=>d.parent?Math.max(e,d.node.total):e,0)||1,N=fe.map((e,d)=>{const L=e.parent?e.node.total/Ne:1;return{key:e.key,entry:e,node:e.node,depth:e.depth,path:e.path,label:e.node.label,index:d,r:e.parent?v+Math.sqrt(Math.max(0,Math.min(1,L)))*(o-v):o,colour:de.colour(e.node,e.depth),x:NaN,y:NaN,fx:NaN,fy:NaN,element:null}}),he=new Map(N.map(e=>[e.key,e])),Q=[];for(const e of N)e.entry.parent&&Q.push({source:he.get(e.entry.parent.key),target:e,weight:1});const ye=N[0];ye.fx=.5,ye.fy=.5;const Z=N.some(e=>f.positions.has(e.key));for(const e of N){const d=f.pinned.get(e.key);d&&(e.fx=d.fx,e.fy=d.fy);const L=f.positions.get(e.key);if(L)e.x=h.left+L.fx*h.width,e.y=h.top+L.fy*h.height;else if(Z&&e.entry.parent){const D=he.get(e.entry.parent.key),S=e.entry.parent.children,R=S.indexOf(e.entry)/Math.max(1,S.length)*Math.PI*2;e.x=D.x+Math.cos(R)*28,e.y=D.y+Math.sin(R)*28}}const Ae={repulsion:.78*h.width*h.height/Math.max(4,N.length),attraction:.004},Pe=Number.isFinite(_.iterations)&&_.iterations>0?Math.floor(_.iterations):0,me=K({nodes:N,links:Q,plot:h,keep:Z,iterations:Pe||(Z?m:r),heat:Z?.35:1,...Ae});q.marks.setAttribute("data-ticks",String(me.ticks));for(const e of N)f.positions.set(e.key,{fx:g(e.x,h.left,h.width),fy:g(e.y,h.top,h.height)});const oe=new re(q.marks);for(const e of Q){const d=oe.next("path",`${X}__hlink ${X}__mark`);d.setAttribute("data-decor","true"),e.element=d}for(const e of N){const d=oe.next("circle",`${X}__hnode ${X}__mark`);U(d,{r:z(e.r),fill:e.colour,"data-hnode":e.index,"data-depth":e.depth,"data-collapsed":e.entry.collapsed?"true":null,"data-decor":null,display:null,"aria-expanded":e.node.children.length?String(!e.entry.collapsed):null}),e.element=d}oe.finish();const ge=new re(q.overlay),ie=k.typography&&k.typography.small||B,Ee=N.length<=40?N:[...N].sort((e,d)=>d.node.total-e.node.total).slice(0,30);for(const e of Ee){if(!e.label)continue;const d=ge.next("text",`${X}__flow-label`);je(d,ie),ve(d,e.label),U(d,{visibility:null}),e.labelEl=d,e.labelWidth=Oe(e.label,ie)}ge.finish();const pe=()=>{for(const e of Q)U(e.element,{d:Me(["M",z(e.source.x),z(e.source.y),"L",z(e.target.x),z(e.target.y)])});for(const e of N)U(e.element,{cx:z(e.x),cy:z(e.y)}),e.labelEl&&U(e.labelEl,{x:z(e.x),y:z(e.y+e.r+ie),"text-anchor":"middle"})},ee=N.map(e=>({x:e.x,y:e.y})),be=N.map((e,d)=>{const L=f.shown&&f.shown.get(e.key),D=e.entry.parent&&f.shown&&f.shown.get(e.entry.parent.key),S=L||D||ee[d];return{x:S.x,y:S.y}}),Te=i(ue,_)||!f.shown;f.shown=new Map(N.map((e,d)=>[e.key,ee[d]])),u(ue,f,Te,e=>{N.forEach((d,L)=>{d.x=T(be[L].x,ee[L].x,e),d.y=T(be[L].y,ee[L].y,e)}),pe()}),f.live={nodes:N,links:Q,plot:h,paint:pe};const G=l(q);if(G&&!f.installed&&typeof G.addEventListener=="function"){f.installed=!0;const e=D=>{if(D.button)return;const S=t(G,D),R=n({hnodes:f.live.nodes,x:S.x,y:S.y});R&&R!==f.live.nodes[0]&&(f.drag={node:R,from:S,moved:!1})},d=D=>{const S=f.drag;if(!S)return;if(D.buttons===0){f.drag=null;return}const R=t(G,D),P=f.live;if(!S.moved&&Math.hypot(R.x-S.from.x,R.y-S.from.y)<4)return;S.moved=!0,f.cancel&&(f.cancel(),f.cancel=null);const $=S.node;$.x=Math.max(P.plot.left,Math.min(P.plot.right,R.x)),$.y=Math.max(P.plot.top,Math.min(P.plot.bottom,R.y)),$.fx=g($.x,P.plot.left,P.plot.width),$.fy=g($.y,P.plot.top,P.plot.height),f.pinned.set($.key,{fx:$.fx,fy:$.fy}),P.nodes.length<=s&&K({nodes:P.nodes,links:P.links,plot:P.plot,keep:!0,iterations:30,heat:.25});for(const H of P.nodes)f.positions.set(H.key,{fx:g(H.x,P.plot.left,P.plot.width),fy:g(H.y,P.plot.top,P.plot.height)});f.shown=new Map(P.nodes.map(H=>[H.key,{x:H.x,y:H.y}])),P.paint()},L=()=>{f.drag&&f.drag.moved&&(f.dragEnded=Date.now()),f.drag=null};G.addEventListener("pointerdown",e),G.addEventListener("pointermove",d),G.addEventListener("pointerup",L),G.addEventListener("pointercancel",L),G.addEventListener("pointerleave",L)}return{hnodes:N,links:Q,view:{k:1,tx:0,ty:0},ticks:me.ticks,settled:!0,legend:de.legend(),activate(e){if(f.dragEnded&&Date.now()-f.dragEnded<400)return f.dragEnded=0,"ignore";const d=N[e.index];return!d||!d.node.children.length?!1:(x(f,d.key),!0)}}}F("forceTree",{draw:p,hierarchical:!0,count:!0,freeform:!0,labelled:!1,animates:!0});const j=p});var Y=ae("packages/modules/chart-forcetree/index.js");if(typeof module=="object"&&module.exports)module.exports=Y;else if(typeof define=="function"&&define.amd)define(function(){return Y});else{var xe=te.LatticeGrid||(te.LatticeGrid={});for(var ne in Y)ne!=="default"&&(xe[ne]=Y[ne])}})(typeof globalThis<"u"?globalThis:this);
6
+ (function(ne){"use strict";var se=Object.create(null),ce=Object.create(null);function Q(d,I){se[d]=I}function ae(d){var I=ce[d];if(I)return I;var N=Object.create(null);ce[d]=N;var L=se[d];if(!L)throw new Error("[lattice] missing module: "+d);return L(N,ae),N}var ue=Object.create(null);ue["@toclocoinc/lattice-grid/modules/charts"]=ne.LatticeGrid||null;function ke(d){var I=ue[d],N=typeof globalThis<"u"?globalThis:typeof self<"u"?self:null;if(I)return I;if(d==="@toclocoinc/lattice-grid/modules/charts"&&N&&N.LatticeGrid)return N.LatticeGrid;throw new Error("[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: "+d)}Q("packages/modules/charts/force.js",function(d,I){"use strict";Object.defineProperty(d,"ITERATIONS",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"sequence",{enumerable:!0,get:function(){return K}}),Object.defineProperty(d,"layoutForce",{enumerable:!0,get:function(){return j}}),Object.defineProperty(d,"layoutNetwork",{enumerable:!0,get:function(){return v}});const N=220,L=2400,C=.006,q=.015;function K(n){let t=n>>>0||1;return()=>(t^=t<<13,t>>>=0,t^=t>>17,t^=t<<5,t>>>=0,t/4294967296)}function j(n){const{nodes:t,links:i,plot:o}=n;if(!t.length)return{nodes:t,ticks:0};const h=Number.isFinite(n.repulsion)?n.repulsion:L,a=Number.isFinite(n.attraction)?n.attraction:C,l=Number.isFinite(n.gravity)?n.gravity:q,g=K(t.length*2654435761),M=o.left+o.width/2,u=o.top+o.height/2,s=Math.min(o.width,o.height)/3;for(const c of t){const p=g()*Math.PI*2,r=s*(.35+g()*.65);if(n.keep&&Number.isFinite(c.x)&&Number.isFinite(c.y)){c.vx=0,c.vy=0;continue}c.x=M+Math.cos(p)*r,c.y=u+Math.sin(p)*r,c.vx=0,c.vy=0}for(const c of t)c.pinned=Number.isFinite(c.fx)&&Number.isFinite(c.fy),c.pinned&&(c.x=o.left+Math.max(0,Math.min(1,c.fx))*o.width,c.y=o.top+Math.max(0,Math.min(1,c.fy))*o.height);const f=n.iterations||N;for(let c=0;c<f;c++){const p=(Number.isFinite(n.heat)?n.heat:1)*(1-c/f);for(let r=0;r<t.length;r++){const m=t[r];for(let x=r+1;x<t.length;x++){const O=t[x];let E=m.x-O.x,w=m.y-O.y,A=Math.sqrt(E*E+w*w);A<.01&&(E=r-x||1,w=1,A=Math.sqrt(E*E+w*w));const k=h/(A*A),D=E/A*k,$=w/A*k;m.vx+=D,m.vy+=$,O.vx-=D,O.vy-=$}}for(const r of i){const m=r.source,x=r.target;if(m===x)continue;const O=x.x-m.x,E=x.y-m.y,w=a*(r.weight||1);m.vx+=O*w,m.vy+=E*w,x.vx-=O*w,x.vy-=E*w}for(const r of t){if(r.pinned){r.vx=0,r.vy=0;continue}r.vx+=(M-r.x)*l,r.vy+=(u-r.y)*l,r.x+=r.vx*p*.08,r.y+=r.vy*p*.08,r.vx*=.82,r.vy*=.82,r.x=Math.max(o.left+8,Math.min(o.right-8,r.x)),r.y=Math.max(o.top+8,Math.min(o.bottom-8,r.y))}}return{nodes:t,ticks:f}}function v(n){return j(n).nodes}}),Q("packages/modules/charts/nodenames.js",function(d,I){"use strict";Object.defineProperty(d,"nameSides",{enumerable:!0,get:function(){return q}}),Object.defineProperty(d,"placeNodeNames",{enumerable:!0,get:function(){return n}});const N=3,L=1.2,C=.4;function q(t,i){const o=i*L,h=i*C;return[{dx:0,dy:t+N+o,anchor:"middle"},{dx:0,dy:-(t+N+h),anchor:"middle"},{dx:t+N,dy:0,anchor:"start"},{dx:-(t+N),dy:0,anchor:"end"}]}function K(t,i,o,h){const a=Math.max(t.x,Math.min(i,t.x+t.width)),l=Math.max(t.y,Math.min(o,t.y+t.height)),g=i-a,M=o-l;return g*g+M*M<=h*h}function j(t,i,o){const h=i.x-o,a=i.x+i.width+o,l=i.y-o,g=i.y+i.height+o,M=t.x2-t.x1,u=t.y2-t.y1;let s=0,f=1;if(Math.abs(M)<1e-9){if(t.x1<h||t.x1>a)return!1}else{const c=1/M;let p=(h-t.x1)*c,r=(a-t.x1)*c;if(p>r){const m=p;p=r,r=m}if(p>s&&(s=p),r<f&&(f=r),s>f)return!1}if(Math.abs(u)<1e-9){if(t.y1<l||t.y1>g)return!1}else{const c=1/u;let p=(l-t.y1)*c,r=(g-t.y1)*c;if(p>r){const m=p;p=r,r=m}if(p>s&&(s=p),r<f&&(f=r),s>f)return!1}return!0}function v(t,i,o){return t.x-o<i.x+i.width&&t.x+t.width+o>i.x&&t.y-o<i.y+i.height&&t.y+i.height+o>i.y}function n(t){const{nodes:i,segments:o,plot:h,size:a,textWidth:l}=t,g=t.minGap===void 0?2:t.minGap,M=t.sides||(f=>q(f.r,a)),u=[],s=new Map;for(const f of i){if(!f.text)continue;const c=l(f.text,a),p=a*L,r=a*C;for(const m of M(f)){const x=f.x+m.dx,O=f.y+m.dy,w={x:m.anchor==="end"?x-c:m.anchor==="start"?x:x-c/2,y:O-p,width:c,height:p+r};if(w.x<h.left-1||w.x+w.width>h.right+1||w.y<h.top-1||w.y+w.height>h.bottom+1)continue;let A=!1;for(const k of i)if(k!==f&&K(w,k.x,k.y,k.r+g)){A=!0;break}if(!A){for(const k of o)if(j(k,w,g)){A=!0;break}if(!A){for(const k of u)if(v(w,k,g)){A=!0;break}if(!A){u.push(w),s.set(f,{dx:m.dx,dy:m.dy,anchor:m.anchor,text:f.text});break}}}}}return s}}),Q("packages/modules/charts/tween.js",function(d,I){"use strict";Object.defineProperty(d,"tween",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"easeOutQuad",{enumerable:!0,get:function(){return L}}),Object.defineProperty(d,"frameLoop",{enumerable:!0,get:function(){return K}});function N(j,v,n){return j+(v-j)*n}function L(j){return 1-(1-j)*(1-j)}const C=new WeakMap;let q=null;function K(j){const v=j&&typeof j.requestAnimationFrame=="function";if(v&&C.has(j))return C.get(j);if(!v&&q)return q;const n=new Map;let t=0,i=null;const o=l=>{i=null;const g=[...n.values()];n.clear();for(const M of g)try{M(l)}catch(u){setTimeout(()=>{throw u},0)}},h=()=>{i===null&&(i=v?j.requestAnimationFrame(o):setTimeout(()=>o(Date.now()),16))},a={request(l){return t+=1,n.set(t,l),h(),t},cancel(l){n.delete(l),!n.size&&i!==null&&(v&&typeof j.cancelAnimationFrame=="function"?j.cancelAnimationFrame(i):v||clearTimeout(i),i=null)},get pending(){return n.size}};return v?C.set(j,a):q=a,a}}),Q("packages/modules/charts/htree.js",function(d,I){"use strict";Object.defineProperty(d,"TWEEN_MS",{enumerable:!0,get:function(){return K}}),Object.defineProperty(d,"stateOf",{enumerable:!0,get:function(){return v}}),Object.defineProperty(d,"topOf",{enumerable:!0,get:function(){return n}}),Object.defineProperty(d,"reducedMotion",{enumerable:!0,get:function(){return t}}),Object.defineProperty(d,"visibleEntries",{enumerable:!0,get:function(){return i}}),Object.defineProperty(d,"toggle",{enumerable:!0,get:function(){return o}}),Object.defineProperty(d,"colourer",{enumerable:!0,get:function(){return h}}),Object.defineProperty(d,"svgOf",{enumerable:!0,get:function(){return a}}),Object.defineProperty(d,"pointerIn",{enumerable:!0,get:function(){return l}}),Object.defineProperty(d,"tween",{enumerable:!0,get:function(){return g}}),Object.defineProperty(d,"fitsInside",{enumerable:!0,get:function(){return M}});const N=I("packages/modules/charts/tween.js"),L=N.easeOutQuad,C=N.frameLoop;Object.defineProperty(d,"lerp",{enumerable:!0,get:function(){return N.tween}});const q="",K=220,j=new WeakMap;function v(u){let s=j.get(u.marks);return s||(s={toggled:new Set,positions:new Map,focus:null,cancel:null,moved:0},j.set(u.marks,s)),s}function n(u){const s=u.root;return s.children.length===1?s.children[0]:s}function t(u,s){if(s&&(s.animate===!1||s.animation===!1))return!0;const f=u&&u.defaultView;if(!f)return!0;if(typeof f.matchMedia!="function")return!1;const c=f.matchMedia("(prefers-reduced-motion: reduce)");return!!(c&&c.matches)}function i(u,s,f){const c=Number.isFinite(f.expandDepth)&&f.expandDepth>=0?f.expandDepth:1/0,p=[],r=(m,x,O,E)=>{const w=O.join(q),A=m.children.length>0,k=x>=c,D=A&&k!==s.toggled.has(w),$={node:m,depth:x,path:O,key:w,parent:E,collapsed:D,children:[]};if(p.push($),E&&E.children.push($),!D)for(const Z of m.children)r(Z,x+1,[...O,Z.label],$)};return r(u,0,u===void 0||u.label===""?[]:[u.label],null),p}function o(u,s){u.toggled.has(s)?u.toggled.delete(s):u.toggled.add(s)}function h(u){const s=typeof u.spec.colourBy=="string"&&u.spec.colourBy!=="depth"?u.spec.colourBy:null,f=new Map;return{colour(c,p){if(!s)return u.scheme.series(p,c.label);const r=c.rowKeys&&c.rowKeys[0],m=r===void 0?null:u.grid.rows.value(r,s),x=m==null?"":String(m);return x===""?"var(--lattice-chart-axis, #888)":(f.has(x)||f.set(x,f.size),u.scheme.series(f.get(x),x))},legend(){return s?[...f].map(([c,p])=>({key:c,label:c,index:p})):[]}}}function a(u){let s=u.marks;for(;s&&String(s.tagName||"").toLowerCase()!=="svg";)s=s.parentNode;return s||null}function l(u,s){const f=u.getBoundingClientRect(),c=String(u.getAttribute("viewBox")||"").split(/[\s,]+/).map(Number),p=c.length===4&&f.width?c[2]/f.width:1,r=c.length===4&&f.height?c[3]/f.height:1;return{x:(s.clientX-f.left)*p,y:(s.clientY-f.top)*r}}function g(u,s,f,c){s.cancel&&(s.cancel(),s.cancel=null);const p=u&&u.defaultView;if(f||!p||typeof p.requestAnimationFrame!="function"){c(1);return}const r=C(p);let m=!0,x=null,O=null;const E=w=>{if(O=null,!m)return;x===null&&(x=w);const A=Math.min(1,(w-x)/K);c(A>=1?1:L(A)),A<1?O=r.request(E):s.cancel=null};s.cancel=()=>{m=!1,O!==null&&(r.cancel(O),O=null)},c(0),O=r.request(E)}function M(u,s,f){return u+4<=s*2*.9&&f<=s*1.4}}),Q("packages/modules/charts/hnodes.js",function(d,I){"use strict";Object.defineProperty(d,"MIN_HIT",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"isHierarchyDraw",{enumerable:!0,get:function(){return L}}),Object.defineProperty(d,"hnodeAt",{enumerable:!0,get:function(){return C}}),Object.defineProperty(d,"emphasiseHierarchy",{enumerable:!0,get:function(){return K}}),Object.defineProperty(d,"emphasiseLayout",{enumerable:!0,get:function(){return j}}),Object.defineProperty(d,"emphasiseChord",{enumerable:!0,get:function(){return v}});const N=7;function L(n){return!!n&&Array.isArray(n.hnodes)}function C(n){const t=n.view||{k:1,tx:0,ty:0},i=t.k||1,o=(n.x-t.tx)/i,h=(n.y-t.ty)/i;let a=null;for(const l of n.hnodes)if(!l.hidden){if(Array.isArray(l.polygon)){if(!q(l.polygon,o,h))continue}else{const g=Math.max(l.r,N/i),M=o-l.x,u=h-l.y;if(M*M+u*u>g*g)continue}(!a||l.r<a.r||l.r===a.r&&l.depth>=a.depth)&&(a=l)}return a}function q(n,t,i){let o=!1;const h=n.length;for(let a=0,l=h-2;a<h;l=a,a+=2){const g=n[a+1],M=n[l+1];g>i!=M>i&&t<(n[l]-n[a])*(i-g)/(M-g)+n[a]&&(o=!o)}return o}function K(n){const t=n.keys||new Set;let i=0;for(const o of n.drawn.hnodes||[]){const h=o.element;if(!h||!h.setAttribute)continue;const a=o.node&&o.node.rowKeys||[];!t.size||a.some(g=>t.has(g))?(h.removeAttribute("data-dim"),i+=1):h.setAttribute("data-dim","true")}return i}function j(n){const t=n.keys||new Set;let i=0;for(const o of n.marks&&n.marks.childNodes||[]){if(!o||!o.getAttribute)continue;const h=o.getAttribute(n.attribute);if(h===null)continue;const a=n.entries[Number(h)],l=a&&(a.node||a.item&&a.item.node),g=l&&(l.rowKeys&&l.rowKeys.length?l.rowKeys:l.rowKey?[l.rowKey]:[])||[];!t.size||g.some(u=>t.has(u))?(o.removeAttribute("data-dim"),i+=1):o.setAttribute("data-dim","true")}return i}function v(n){const t=n.keys||new Set,i=new Map,o=new Map;for(const{link:a}of n.drawn.ribbons||[]){const l=a.rowKeys||[];i.set(`${a.source.key}->${a.target.key}`,l);for(const g of[a.source,a.target]){const M=o.get(g.key)||[];o.set(g.key,M.concat(l))}}let h=0;for(const a of n.marks&&n.marks.childNodes||[]){if(!a||!a.getAttribute)continue;const l=a.getAttribute("data-link"),g=a.getAttribute("data-node");if(l===null&&g===null)continue;const M=(l!==null?i.get(l):o.get(g))||[];!t.size||M.some(s=>t.has(s))?(a.removeAttribute("data-dim"),h+=1):a.setAttribute("data-dim","true")}return h}}),Q("packages/modules/chart-forcetree/index.js",function(d,I){"use strict";Object.defineProperty(d,"drawForceTree",{enumerable:!0,get:function(){return E}}),Object.defineProperty(d,"default",{enumerable:!0,get:function(){return w}});const L=ke("@toclocoinc/lattice-grid/modules/charts").registerChartType;if(typeof L>"u")throw new Error("[lattice] chart-forcetree needs registerChartType from the charts module. Load charts before chart-forcetree.");const q=I("packages/modules/charts/force.js").layoutForce,j=I("packages/modules/charts/nodenames.js").placeNodeNames,v=I("packages/modules/charts/htree.js"),n=v.colourer,t=v.lerp,i=v.pointerIn,o=v.reducedMotion,h=v.stateOf,a=v.svgOf,l=v.toggle,g=v.topOf,M=v.tween,u=v.visibleEntries,f=I("packages/modules/charts/hnodes.js").hnodeAt,c=220,p=90,r=300,m=4,x=18,O=(A,k,D)=>D?(A-k)/D:.5;function E(A){const{plot:k,bound:D,scheme:$,fontSize:Z,groups:V,grid:Me,spec:U,doc:le,helpers:Oe}=A,{Pool:re,attrs:X,round:z,setText:je,path:Ne,textWidth:Ae,applySize:Ee,NS:Y}=Oe;for(const e of["grid","axis","rules","labels"])new re(V[e]).finish();if(!D.root||!D.root.children.length)return{empty:!0,legend:[]};const y=h(V);y.pinned||(y.pinned=new Map);const fe=u(g(D),y,U),de=n({grid:Me,spec:U,scheme:$}),Pe=fe.reduce((e,b)=>b.parent?Math.max(e,b.node.total):e,0)||1,S=fe.map((e,b)=>{const P=e.parent?e.node.total/Pe:1;return{key:e.key,entry:e,node:e.node,depth:e.depth,path:e.path,label:e.node.label,index:b,r:e.parent?m+Math.sqrt(Math.max(0,Math.min(1,P)))*(x-m):x,colour:de.colour(e.node,e.depth),x:NaN,y:NaN,fx:NaN,fy:NaN,element:null}}),he=new Map(S.map(e=>[e.key,e])),H=[];for(const e of S)e.entry.parent&&H.push({source:he.get(e.entry.parent.key),target:e,weight:1});const ye=S[0];ye.fx=.5,ye.fy=.5;const ee=S.some(e=>y.positions.has(e.key));for(const e of S){const b=y.pinned.get(e.key);b&&(e.fx=b.fx,e.fy=b.fy);const P=y.positions.get(e.key);if(P)e.x=k.left+P.fx*k.width,e.y=k.top+P.fy*k.height;else if(ee&&e.entry.parent){const G=he.get(e.entry.parent.key),F=e.entry.parent.children,R=F.indexOf(e.entry)/Math.max(1,F.length)*Math.PI*2;e.x=G.x+Math.cos(R)*28,e.y=G.y+Math.sin(R)*28}}const Se={repulsion:.78*k.width*k.height/Math.max(4,S.length),attraction:.004},Te=Number.isFinite(U.iterations)&&U.iterations>0?Math.floor(U.iterations):0,me=q({nodes:S,links:H,plot:k,keep:ee,iterations:Te||(ee?p:c),heat:ee?.35:1,...Se});V.marks.setAttribute("data-ticks",String(me.ticks));for(const e of S)y.positions.set(e.key,{fx:O(e.x,k.left,k.width),fy:O(e.y,k.top,k.height)});const ie=new re(V.marks);for(const e of H){const b=ie.next("path",`${Y}__hlink ${Y}__mark`);b.setAttribute("data-decor","true"),e.element=b}for(const e of S){const b=ie.next("circle",`${Y}__hnode ${Y}__mark`);X(b,{r:z(e.r),fill:e.colour,"data-hnode":e.index,"data-depth":e.depth,"data-collapsed":e.entry.collapsed?"true":null,"data-decor":null,display:null,"aria-expanded":e.node.children.length?String(!e.entry.collapsed):null}),e.element=b}ie.finish();const ge=new re(V.overlay),pe=A.typography&&A.typography.small||Z,be=S.length<=40?S:[...S].sort((e,b)=>b.node.total-e.node.total).slice(0,30),Ie=H.map(e=>({x1:e.source.x,y1:e.source.y,x2:e.target.x,y2:e.target.y})),Le=j({nodes:be.map(e=>(e.text=e.label,e)),segments:Ie,plot:k,size:pe,textWidth:Ae});for(const e of be){const b=Le.get(e);if(!b)continue;const P=ge.next("text",`${Y}__flow-label`);Ee(P,pe),je(P,b.text),X(P,{visibility:null}),e.labelEl=P,e.labelSpot=b}ge.finish();const xe=()=>{for(const e of H)X(e.element,{d:Ne(["M",z(e.source.x),z(e.source.y),"L",z(e.target.x),z(e.target.y)])});for(const e of S)X(e.element,{cx:z(e.x),cy:z(e.y)}),e.labelEl&&X(e.labelEl,{x:z(e.x+e.labelSpot.dx),y:z(e.y+e.labelSpot.dy),"text-anchor":e.labelSpot.anchor})},te=S.map(e=>({x:e.x,y:e.y})),we=S.map((e,b)=>{const P=y.shown&&y.shown.get(e.key),G=e.entry.parent&&y.shown&&y.shown.get(e.entry.parent.key),F=P||G||te[b];return{x:F.x,y:F.y}}),Fe=o(le,U)||!y.shown;y.shown=new Map(S.map((e,b)=>[e.key,te[b]])),M(le,y,Fe,e=>{S.forEach((b,P)=>{b.x=t(we[P].x,te[P].x,e),b.y=t(we[P].y,te[P].y,e)}),xe()}),y.live={nodes:S,links:H,plot:k,paint:xe};const _=a(V);if(_&&!y.installed&&typeof _.addEventListener=="function"){y.installed=!0;const e=G=>{if(G.button)return;const F=i(_,G),R=f({hnodes:y.live.nodes,x:F.x,y:F.y});R&&R!==y.live.nodes[0]&&(y.drag={node:R,from:F,moved:!1})},b=G=>{const F=y.drag;if(!F)return;if(G.buttons===0){y.drag=null;return}const R=i(_,G),T=y.live;if(!F.moved&&Math.hypot(R.x-F.from.x,R.y-F.from.y)<4)return;F.moved=!0,y.cancel&&(y.cancel(),y.cancel=null);const B=F.node;B.x=Math.max(T.plot.left,Math.min(T.plot.right,R.x)),B.y=Math.max(T.plot.top,Math.min(T.plot.bottom,R.y)),B.fx=O(B.x,T.plot.left,T.plot.width),B.fy=O(B.y,T.plot.top,T.plot.height),y.pinned.set(B.key,{fx:B.fx,fy:B.fy}),T.nodes.length<=r&&q({nodes:T.nodes,links:T.links,plot:T.plot,keep:!0,iterations:30,heat:.25});for(const W of T.nodes)y.positions.set(W.key,{fx:O(W.x,T.plot.left,T.plot.width),fy:O(W.y,T.plot.top,T.plot.height)});y.shown=new Map(T.nodes.map(W=>[W.key,{x:W.x,y:W.y}])),T.paint()},P=()=>{y.drag&&y.drag.moved&&(y.dragEnded=Date.now()),y.drag=null};_.addEventListener("pointerdown",e),_.addEventListener("pointermove",b),_.addEventListener("pointerup",P),_.addEventListener("pointercancel",P),_.addEventListener("pointerleave",P)}return{hnodes:S,links:H,view:{k:1,tx:0,ty:0},ticks:me.ticks,settled:!0,legend:de.legend(),activate(e){if(y.dragEnded&&Date.now()-y.dragEnded<400)return y.dragEnded=0,"ignore";const b=S[e.index];return!b||!b.node.children.length?!1:(l(y,b.key),!0)}}}L("forceTree",{draw:E,hierarchical:!0,count:!0,freeform:!0,labelled:!1,animates:!0});const w=E});var J=ae("packages/modules/chart-forcetree/index.js");if(typeof module=="object"&&module.exports)module.exports=J;else if(typeof define=="function"&&define.amd)define(function(){return J});else{var ve=ne.LatticeGrid||(ne.LatticeGrid={});for(var oe in J)oe!=="default"&&(ve[oe]=J[oe])}})(typeof globalThis<"u"?globalThis:this);
7
7
 
8
8
  //# sourceMappingURL=chart-forcetree.min.js.map
@@ -1,8 +1,8 @@
1
1
  /*!
2
- * Lattice Grid 1.86.4, chart-forcetree module
2
+ * Lattice Grid 1.86.5, chart-forcetree module
3
3
  * Copyright (c) 2026 TOCLOCO Inc. All rights reserved.
4
4
  * https://latticegrid.dev
5
5
  */
6
- (function(te){"use strict";var se=Object.create(null),ce=Object.create(null);function V(a,I){se[a]=I}function ae(a){var I=ce[a];if(I)return I;var M=Object.create(null);ce[a]=M;var F=se[a];if(!F)throw new Error("[lattice] missing module: "+a);return F(M,ae),M}var le=Object.create(null);le["@toclocoinc/lattice-grid/modules/charts"]=te.LatticeGrid||null;function we(a){var I=le[a],M=typeof globalThis<"u"?globalThis:typeof self<"u"?self:null;if(I)return I;if(a==="@toclocoinc/lattice-grid/modules/charts"&&M&&M.LatticeGrid)return M.LatticeGrid;throw new Error("[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: "+a)}V("packages/modules/charts/force.js",function(a,I){"use strict";Object.defineProperty(a,"ITERATIONS",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"sequence",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"layoutForce",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"layoutNetwork",{enumerable:!0,get:function(){return T}});const M=220,F=2400,C=.006,K=.015;function O(t){let i=t>>>0||1;return()=>(i^=i<<13,i>>>=0,i^=i>>17,i^=i<<5,i>>>=0,i/4294967296)}function w(t){const{nodes:i,links:y,plot:l}=t;if(!i.length)return{nodes:i,ticks:0};const x=Number.isFinite(t.repulsion)?t.repulsion:F,c=Number.isFinite(t.attraction)?t.attraction:C,u=Number.isFinite(t.gravity)?t.gravity:K,b=O(i.length*2654435761),E=l.left+l.width/2,n=l.top+l.height/2,r=Math.min(l.width,l.height)/3;for(const s of i){const v=b()*Math.PI*2,o=r*(.35+b()*.65);if(t.keep&&Number.isFinite(s.x)&&Number.isFinite(s.y)){s.vx=0,s.vy=0;continue}s.x=E+Math.cos(v)*o,s.y=n+Math.sin(v)*o,s.vx=0,s.vy=0}for(const s of i)s.pinned=Number.isFinite(s.fx)&&Number.isFinite(s.fy),s.pinned&&(s.x=l.left+Math.max(0,Math.min(1,s.fx))*l.width,s.y=l.top+Math.max(0,Math.min(1,s.fy))*l.height);const m=t.iterations||M;for(let s=0;s<m;s++){const v=(Number.isFinite(t.heat)?t.heat:1)*(1-s/m);for(let o=0;o<i.length;o++){const g=i[o];for(let p=o+1;p<i.length;p++){const j=i[p];let k=g.x-j.x,h=g.y-j.y,A=Math.sqrt(k*k+h*h);A<.01&&(k=o-p||1,h=1,A=Math.sqrt(k*k+h*h));const W=x/(A*A),B=k/A*W,q=h/A*W;g.vx+=B,g.vy+=q,j.vx-=B,j.vy-=q}}for(const o of y){const g=o.source,p=o.target;if(g===p)continue;const j=p.x-g.x,k=p.y-g.y,h=c*(o.weight||1);g.vx+=j*h,g.vy+=k*h,p.vx-=j*h,p.vy-=k*h}for(const o of i){if(o.pinned){o.vx=0,o.vy=0;continue}o.vx+=(E-o.x)*u,o.vy+=(n-o.y)*u,o.x+=o.vx*v*.08,o.y+=o.vy*v*.08,o.vx*=.82,o.vy*=.82,o.x=Math.max(l.left+8,Math.min(l.right-8,o.x)),o.y=Math.max(l.top+8,Math.min(l.bottom-8,o.y))}}return{nodes:i,ticks:m}}function T(t){return w(t).nodes}}),V("packages/modules/charts/tween.js",function(a,I){"use strict";Object.defineProperty(a,"tween",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"easeOutQuad",{enumerable:!0,get:function(){return F}}),Object.defineProperty(a,"frameLoop",{enumerable:!0,get:function(){return O}});function M(w,T,t){return w+(T-w)*t}function F(w){return 1-(1-w)*(1-w)}const C=new WeakMap;let K=null;function O(w){const T=w&&typeof w.requestAnimationFrame=="function";if(T&&C.has(w))return C.get(w);if(!T&&K)return K;const t=new Map;let i=0,y=null;const l=u=>{y=null;const b=[...t.values()];t.clear();for(const E of b)try{E(u)}catch(n){setTimeout(()=>{throw n},0)}},x=()=>{y===null&&(y=T?w.requestAnimationFrame(l):setTimeout(()=>l(Date.now()),16))},c={request(u){return i+=1,t.set(i,u),x(),i},cancel(u){t.delete(u),!t.size&&y!==null&&(T&&typeof w.cancelAnimationFrame=="function"?w.cancelAnimationFrame(y):T||clearTimeout(y),y=null)},get pending(){return t.size}};return T?C.set(w,c):K=c,c}}),V("packages/modules/charts/htree.js",function(a,I){"use strict";Object.defineProperty(a,"TWEEN_MS",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"stateOf",{enumerable:!0,get:function(){return T}}),Object.defineProperty(a,"topOf",{enumerable:!0,get:function(){return t}}),Object.defineProperty(a,"reducedMotion",{enumerable:!0,get:function(){return i}}),Object.defineProperty(a,"visibleEntries",{enumerable:!0,get:function(){return y}}),Object.defineProperty(a,"toggle",{enumerable:!0,get:function(){return l}}),Object.defineProperty(a,"colourer",{enumerable:!0,get:function(){return x}}),Object.defineProperty(a,"svgOf",{enumerable:!0,get:function(){return c}}),Object.defineProperty(a,"pointerIn",{enumerable:!0,get:function(){return u}}),Object.defineProperty(a,"tween",{enumerable:!0,get:function(){return b}}),Object.defineProperty(a,"fitsInside",{enumerable:!0,get:function(){return E}});const M=I("packages/modules/charts/tween.js"),F=M.easeOutQuad,C=M.frameLoop;Object.defineProperty(a,"lerp",{enumerable:!0,get:function(){return M.tween}});const K="",O=220,w=new WeakMap;function T(n){let r=w.get(n.marks);return r||(r={toggled:new Set,positions:new Map,focus:null,cancel:null,moved:0},w.set(n.marks,r)),r}function t(n){const r=n.root;return r.children.length===1?r.children[0]:r}function i(n,r){if(r&&(r.animate===!1||r.animation===!1))return!0;const m=n&&n.defaultView;if(!m)return!0;if(typeof m.matchMedia!="function")return!1;const s=m.matchMedia("(prefers-reduced-motion: reduce)");return!!(s&&s.matches)}function y(n,r,m){const s=Number.isFinite(m.expandDepth)&&m.expandDepth>=0?m.expandDepth:1/0,v=[],o=(g,p,j,k)=>{const h=j.join(K),A=g.children.length>0,W=p>=s,B=A&&W!==r.toggled.has(h),q={node:g,depth:p,path:j,key:h,parent:k,collapsed:B,children:[]};if(v.push(q),k&&k.children.push(q),!B)for(const J of g.children)o(J,p+1,[...j,J.label],q)};return o(n,0,n===void 0||n.label===""?[]:[n.label],null),v}function l(n,r){n.toggled.has(r)?n.toggled.delete(r):n.toggled.add(r)}function x(n){const r=typeof n.spec.colourBy=="string"&&n.spec.colourBy!=="depth"?n.spec.colourBy:null,m=new Map;return{colour(s,v){if(!r)return n.scheme.series(v,s.label);const o=s.rowKeys&&s.rowKeys[0],g=o===void 0?null:n.grid.rows.value(o,r),p=g==null?"":String(g);return p===""?"var(--lattice-chart-axis, #888)":(m.has(p)||m.set(p,m.size),n.scheme.series(m.get(p),p))},legend(){return r?[...m].map(([s,v])=>({key:s,label:s,index:v})):[]}}}function c(n){let r=n.marks;for(;r&&String(r.tagName||"").toLowerCase()!=="svg";)r=r.parentNode;return r||null}function u(n,r){const m=n.getBoundingClientRect(),s=String(n.getAttribute("viewBox")||"").split(/[\s,]+/).map(Number),v=s.length===4&&m.width?s[2]/m.width:1,o=s.length===4&&m.height?s[3]/m.height:1;return{x:(r.clientX-m.left)*v,y:(r.clientY-m.top)*o}}function b(n,r,m,s){r.cancel&&(r.cancel(),r.cancel=null);const v=n&&n.defaultView;if(m||!v||typeof v.requestAnimationFrame!="function"){s(1);return}const o=C(v);let g=!0,p=null,j=null;const k=h=>{if(j=null,!g)return;p===null&&(p=h);const A=Math.min(1,(h-p)/O);s(A>=1?1:F(A)),A<1?j=o.request(k):r.cancel=null};r.cancel=()=>{g=!1,j!==null&&(o.cancel(j),j=null)},s(0),j=o.request(k)}function E(n,r,m){return n+4<=r*2*.9&&m<=r*1.4}}),V("packages/modules/charts/hnodes.js",function(a,I){"use strict";Object.defineProperty(a,"MIN_HIT",{enumerable:!0,get:function(){return M}}),Object.defineProperty(a,"isHierarchyDraw",{enumerable:!0,get:function(){return F}}),Object.defineProperty(a,"hnodeAt",{enumerable:!0,get:function(){return C}}),Object.defineProperty(a,"emphasiseHierarchy",{enumerable:!0,get:function(){return O}}),Object.defineProperty(a,"emphasiseLayout",{enumerable:!0,get:function(){return w}}),Object.defineProperty(a,"emphasiseChord",{enumerable:!0,get:function(){return T}});const M=7;function F(t){return!!t&&Array.isArray(t.hnodes)}function C(t){const i=t.view||{k:1,tx:0,ty:0},y=i.k||1,l=(t.x-i.tx)/y,x=(t.y-i.ty)/y;let c=null;for(const u of t.hnodes)if(!u.hidden){if(Array.isArray(u.polygon)){if(!K(u.polygon,l,x))continue}else{const b=Math.max(u.r,M/y),E=l-u.x,n=x-u.y;if(E*E+n*n>b*b)continue}(!c||u.r<c.r||u.r===c.r&&u.depth>=c.depth)&&(c=u)}return c}function K(t,i,y){let l=!1;const x=t.length;for(let c=0,u=x-2;c<x;u=c,c+=2){const b=t[c+1],E=t[u+1];b>y!=E>y&&i<(t[u]-t[c])*(y-b)/(E-b)+t[c]&&(l=!l)}return l}function O(t){const i=t.keys||new Set;let y=0;for(const l of t.drawn.hnodes||[]){const x=l.element;if(!x||!x.setAttribute)continue;const c=l.node&&l.node.rowKeys||[];!i.size||c.some(b=>i.has(b))?(x.removeAttribute("data-dim"),y+=1):x.setAttribute("data-dim","true")}return y}function w(t){const i=t.keys||new Set;let y=0;for(const l of t.marks&&t.marks.childNodes||[]){if(!l||!l.getAttribute)continue;const x=l.getAttribute(t.attribute);if(x===null)continue;const c=t.entries[Number(x)],u=c&&(c.node||c.item&&c.item.node),b=u&&(u.rowKeys&&u.rowKeys.length?u.rowKeys:u.rowKey?[u.rowKey]:[])||[];!i.size||b.some(n=>i.has(n))?(l.removeAttribute("data-dim"),y+=1):l.setAttribute("data-dim","true")}return y}function T(t){const i=t.keys||new Set,y=new Map,l=new Map;for(const{link:c}of t.drawn.ribbons||[]){const u=c.rowKeys||[];y.set(`${c.source.key}->${c.target.key}`,u);for(const b of[c.source,c.target]){const E=l.get(b.key)||[];l.set(b.key,E.concat(u))}}let x=0;for(const c of t.marks&&t.marks.childNodes||[]){if(!c||!c.getAttribute)continue;const u=c.getAttribute("data-link"),b=c.getAttribute("data-node");if(u===null&&b===null)continue;const E=(u!==null?y.get(u):l.get(b))||[];!i.size||E.some(r=>i.has(r))?(c.removeAttribute("data-dim"),x+=1):c.setAttribute("data-dim","true")}return x}}),V("packages/modules/chart-forcetree/index.js",function(a,I){"use strict";Object.defineProperty(a,"drawForceTree",{enumerable:!0,get:function(){return p}}),Object.defineProperty(a,"default",{enumerable:!0,get:function(){return j}});const F=we("@toclocoinc/lattice-grid/modules/charts").registerChartType;if(typeof F>"u")throw new Error("[lattice] chart-forcetree needs registerChartType from the charts module. Load charts before chart-forcetree.");const K=I("packages/modules/charts/force.js").layoutForce,O=I("packages/modules/charts/htree.js"),w=O.colourer,T=O.lerp,t=O.pointerIn,i=O.reducedMotion,y=O.stateOf,l=O.svgOf,x=O.toggle,c=O.topOf,u=O.tween,b=O.visibleEntries,n=I("packages/modules/charts/hnodes.js").hnodeAt,r=220,m=90,s=300,v=4,o=18,g=(k,h,A)=>A?(k-h)/A:.5;function p(k){const{plot:h,bound:A,scheme:W,fontSize:B,groups:q,grid:J,spec:_,doc:ue,helpers:ke}=k,{Pool:re,attrs:U,round:z,setText:ve,path:Me,textWidth:Oe,applySize:je,NS:X}=ke;for(const e of["grid","axis","rules","labels"])new re(q[e]).finish();if(!A.root||!A.root.children.length)return{empty:!0,legend:[]};const f=y(q);f.pinned||(f.pinned=new Map);const fe=b(c(A),f,_),de=w({grid:J,spec:_,scheme:W}),Ne=fe.reduce((e,d)=>d.parent?Math.max(e,d.node.total):e,0)||1,N=fe.map((e,d)=>{const L=e.parent?e.node.total/Ne:1;return{key:e.key,entry:e,node:e.node,depth:e.depth,path:e.path,label:e.node.label,index:d,r:e.parent?v+Math.sqrt(Math.max(0,Math.min(1,L)))*(o-v):o,colour:de.colour(e.node,e.depth),x:NaN,y:NaN,fx:NaN,fy:NaN,element:null}}),he=new Map(N.map(e=>[e.key,e])),Q=[];for(const e of N)e.entry.parent&&Q.push({source:he.get(e.entry.parent.key),target:e,weight:1});const ye=N[0];ye.fx=.5,ye.fy=.5;const Z=N.some(e=>f.positions.has(e.key));for(const e of N){const d=f.pinned.get(e.key);d&&(e.fx=d.fx,e.fy=d.fy);const L=f.positions.get(e.key);if(L)e.x=h.left+L.fx*h.width,e.y=h.top+L.fy*h.height;else if(Z&&e.entry.parent){const D=he.get(e.entry.parent.key),S=e.entry.parent.children,R=S.indexOf(e.entry)/Math.max(1,S.length)*Math.PI*2;e.x=D.x+Math.cos(R)*28,e.y=D.y+Math.sin(R)*28}}const Ae={repulsion:.78*h.width*h.height/Math.max(4,N.length),attraction:.004},Pe=Number.isFinite(_.iterations)&&_.iterations>0?Math.floor(_.iterations):0,me=K({nodes:N,links:Q,plot:h,keep:Z,iterations:Pe||(Z?m:r),heat:Z?.35:1,...Ae});q.marks.setAttribute("data-ticks",String(me.ticks));for(const e of N)f.positions.set(e.key,{fx:g(e.x,h.left,h.width),fy:g(e.y,h.top,h.height)});const oe=new re(q.marks);for(const e of Q){const d=oe.next("path",`${X}__hlink ${X}__mark`);d.setAttribute("data-decor","true"),e.element=d}for(const e of N){const d=oe.next("circle",`${X}__hnode ${X}__mark`);U(d,{r:z(e.r),fill:e.colour,"data-hnode":e.index,"data-depth":e.depth,"data-collapsed":e.entry.collapsed?"true":null,"data-decor":null,display:null,"aria-expanded":e.node.children.length?String(!e.entry.collapsed):null}),e.element=d}oe.finish();const ge=new re(q.overlay),ie=k.typography&&k.typography.small||B,Ee=N.length<=40?N:[...N].sort((e,d)=>d.node.total-e.node.total).slice(0,30);for(const e of Ee){if(!e.label)continue;const d=ge.next("text",`${X}__flow-label`);je(d,ie),ve(d,e.label),U(d,{visibility:null}),e.labelEl=d,e.labelWidth=Oe(e.label,ie)}ge.finish();const pe=()=>{for(const e of Q)U(e.element,{d:Me(["M",z(e.source.x),z(e.source.y),"L",z(e.target.x),z(e.target.y)])});for(const e of N)U(e.element,{cx:z(e.x),cy:z(e.y)}),e.labelEl&&U(e.labelEl,{x:z(e.x),y:z(e.y+e.r+ie),"text-anchor":"middle"})},ee=N.map(e=>({x:e.x,y:e.y})),be=N.map((e,d)=>{const L=f.shown&&f.shown.get(e.key),D=e.entry.parent&&f.shown&&f.shown.get(e.entry.parent.key),S=L||D||ee[d];return{x:S.x,y:S.y}}),Te=i(ue,_)||!f.shown;f.shown=new Map(N.map((e,d)=>[e.key,ee[d]])),u(ue,f,Te,e=>{N.forEach((d,L)=>{d.x=T(be[L].x,ee[L].x,e),d.y=T(be[L].y,ee[L].y,e)}),pe()}),f.live={nodes:N,links:Q,plot:h,paint:pe};const G=l(q);if(G&&!f.installed&&typeof G.addEventListener=="function"){f.installed=!0;const e=D=>{if(D.button)return;const S=t(G,D),R=n({hnodes:f.live.nodes,x:S.x,y:S.y});R&&R!==f.live.nodes[0]&&(f.drag={node:R,from:S,moved:!1})},d=D=>{const S=f.drag;if(!S)return;if(D.buttons===0){f.drag=null;return}const R=t(G,D),P=f.live;if(!S.moved&&Math.hypot(R.x-S.from.x,R.y-S.from.y)<4)return;S.moved=!0,f.cancel&&(f.cancel(),f.cancel=null);const $=S.node;$.x=Math.max(P.plot.left,Math.min(P.plot.right,R.x)),$.y=Math.max(P.plot.top,Math.min(P.plot.bottom,R.y)),$.fx=g($.x,P.plot.left,P.plot.width),$.fy=g($.y,P.plot.top,P.plot.height),f.pinned.set($.key,{fx:$.fx,fy:$.fy}),P.nodes.length<=s&&K({nodes:P.nodes,links:P.links,plot:P.plot,keep:!0,iterations:30,heat:.25});for(const H of P.nodes)f.positions.set(H.key,{fx:g(H.x,P.plot.left,P.plot.width),fy:g(H.y,P.plot.top,P.plot.height)});f.shown=new Map(P.nodes.map(H=>[H.key,{x:H.x,y:H.y}])),P.paint()},L=()=>{f.drag&&f.drag.moved&&(f.dragEnded=Date.now()),f.drag=null};G.addEventListener("pointerdown",e),G.addEventListener("pointermove",d),G.addEventListener("pointerup",L),G.addEventListener("pointercancel",L),G.addEventListener("pointerleave",L)}return{hnodes:N,links:Q,view:{k:1,tx:0,ty:0},ticks:me.ticks,settled:!0,legend:de.legend(),activate(e){if(f.dragEnded&&Date.now()-f.dragEnded<400)return f.dragEnded=0,"ignore";const d=N[e.index];return!d||!d.node.children.length?!1:(x(f,d.key),!0)}}}F("forceTree",{draw:p,hierarchical:!0,count:!0,freeform:!0,labelled:!1,animates:!0});const j=p});var Y=ae("packages/modules/chart-forcetree/index.js");if(typeof module=="object"&&module.exports)module.exports=Y;else if(typeof define=="function"&&define.amd)define(function(){return Y});else{var xe=te.LatticeGrid||(te.LatticeGrid={});for(var ne in Y)ne!=="default"&&(xe[ne]=Y[ne])}})(typeof globalThis<"u"?globalThis:this);
6
+ (function(ne){"use strict";var se=Object.create(null),ce=Object.create(null);function Q(d,I){se[d]=I}function ae(d){var I=ce[d];if(I)return I;var N=Object.create(null);ce[d]=N;var L=se[d];if(!L)throw new Error("[lattice] missing module: "+d);return L(N,ae),N}var ue=Object.create(null);ue["@toclocoinc/lattice-grid/modules/charts"]=ne.LatticeGrid||null;function ke(d){var I=ue[d],N=typeof globalThis<"u"?globalThis:typeof self<"u"?self:null;if(I)return I;if(d==="@toclocoinc/lattice-grid/modules/charts"&&N&&N.LatticeGrid)return N.LatticeGrid;throw new Error("[lattice] this module shares the Lattice core with the page, but it was not found. Load lattice-grid (or its script build) before this module. Missing: "+d)}Q("packages/modules/charts/force.js",function(d,I){"use strict";Object.defineProperty(d,"ITERATIONS",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"sequence",{enumerable:!0,get:function(){return K}}),Object.defineProperty(d,"layoutForce",{enumerable:!0,get:function(){return j}}),Object.defineProperty(d,"layoutNetwork",{enumerable:!0,get:function(){return v}});const N=220,L=2400,C=.006,q=.015;function K(n){let t=n>>>0||1;return()=>(t^=t<<13,t>>>=0,t^=t>>17,t^=t<<5,t>>>=0,t/4294967296)}function j(n){const{nodes:t,links:i,plot:o}=n;if(!t.length)return{nodes:t,ticks:0};const h=Number.isFinite(n.repulsion)?n.repulsion:L,a=Number.isFinite(n.attraction)?n.attraction:C,l=Number.isFinite(n.gravity)?n.gravity:q,g=K(t.length*2654435761),M=o.left+o.width/2,u=o.top+o.height/2,s=Math.min(o.width,o.height)/3;for(const c of t){const p=g()*Math.PI*2,r=s*(.35+g()*.65);if(n.keep&&Number.isFinite(c.x)&&Number.isFinite(c.y)){c.vx=0,c.vy=0;continue}c.x=M+Math.cos(p)*r,c.y=u+Math.sin(p)*r,c.vx=0,c.vy=0}for(const c of t)c.pinned=Number.isFinite(c.fx)&&Number.isFinite(c.fy),c.pinned&&(c.x=o.left+Math.max(0,Math.min(1,c.fx))*o.width,c.y=o.top+Math.max(0,Math.min(1,c.fy))*o.height);const f=n.iterations||N;for(let c=0;c<f;c++){const p=(Number.isFinite(n.heat)?n.heat:1)*(1-c/f);for(let r=0;r<t.length;r++){const m=t[r];for(let x=r+1;x<t.length;x++){const O=t[x];let E=m.x-O.x,w=m.y-O.y,A=Math.sqrt(E*E+w*w);A<.01&&(E=r-x||1,w=1,A=Math.sqrt(E*E+w*w));const k=h/(A*A),D=E/A*k,$=w/A*k;m.vx+=D,m.vy+=$,O.vx-=D,O.vy-=$}}for(const r of i){const m=r.source,x=r.target;if(m===x)continue;const O=x.x-m.x,E=x.y-m.y,w=a*(r.weight||1);m.vx+=O*w,m.vy+=E*w,x.vx-=O*w,x.vy-=E*w}for(const r of t){if(r.pinned){r.vx=0,r.vy=0;continue}r.vx+=(M-r.x)*l,r.vy+=(u-r.y)*l,r.x+=r.vx*p*.08,r.y+=r.vy*p*.08,r.vx*=.82,r.vy*=.82,r.x=Math.max(o.left+8,Math.min(o.right-8,r.x)),r.y=Math.max(o.top+8,Math.min(o.bottom-8,r.y))}}return{nodes:t,ticks:f}}function v(n){return j(n).nodes}}),Q("packages/modules/charts/nodenames.js",function(d,I){"use strict";Object.defineProperty(d,"nameSides",{enumerable:!0,get:function(){return q}}),Object.defineProperty(d,"placeNodeNames",{enumerable:!0,get:function(){return n}});const N=3,L=1.2,C=.4;function q(t,i){const o=i*L,h=i*C;return[{dx:0,dy:t+N+o,anchor:"middle"},{dx:0,dy:-(t+N+h),anchor:"middle"},{dx:t+N,dy:0,anchor:"start"},{dx:-(t+N),dy:0,anchor:"end"}]}function K(t,i,o,h){const a=Math.max(t.x,Math.min(i,t.x+t.width)),l=Math.max(t.y,Math.min(o,t.y+t.height)),g=i-a,M=o-l;return g*g+M*M<=h*h}function j(t,i,o){const h=i.x-o,a=i.x+i.width+o,l=i.y-o,g=i.y+i.height+o,M=t.x2-t.x1,u=t.y2-t.y1;let s=0,f=1;if(Math.abs(M)<1e-9){if(t.x1<h||t.x1>a)return!1}else{const c=1/M;let p=(h-t.x1)*c,r=(a-t.x1)*c;if(p>r){const m=p;p=r,r=m}if(p>s&&(s=p),r<f&&(f=r),s>f)return!1}if(Math.abs(u)<1e-9){if(t.y1<l||t.y1>g)return!1}else{const c=1/u;let p=(l-t.y1)*c,r=(g-t.y1)*c;if(p>r){const m=p;p=r,r=m}if(p>s&&(s=p),r<f&&(f=r),s>f)return!1}return!0}function v(t,i,o){return t.x-o<i.x+i.width&&t.x+t.width+o>i.x&&t.y-o<i.y+i.height&&t.y+i.height+o>i.y}function n(t){const{nodes:i,segments:o,plot:h,size:a,textWidth:l}=t,g=t.minGap===void 0?2:t.minGap,M=t.sides||(f=>q(f.r,a)),u=[],s=new Map;for(const f of i){if(!f.text)continue;const c=l(f.text,a),p=a*L,r=a*C;for(const m of M(f)){const x=f.x+m.dx,O=f.y+m.dy,w={x:m.anchor==="end"?x-c:m.anchor==="start"?x:x-c/2,y:O-p,width:c,height:p+r};if(w.x<h.left-1||w.x+w.width>h.right+1||w.y<h.top-1||w.y+w.height>h.bottom+1)continue;let A=!1;for(const k of i)if(k!==f&&K(w,k.x,k.y,k.r+g)){A=!0;break}if(!A){for(const k of o)if(j(k,w,g)){A=!0;break}if(!A){for(const k of u)if(v(w,k,g)){A=!0;break}if(!A){u.push(w),s.set(f,{dx:m.dx,dy:m.dy,anchor:m.anchor,text:f.text});break}}}}}return s}}),Q("packages/modules/charts/tween.js",function(d,I){"use strict";Object.defineProperty(d,"tween",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"easeOutQuad",{enumerable:!0,get:function(){return L}}),Object.defineProperty(d,"frameLoop",{enumerable:!0,get:function(){return K}});function N(j,v,n){return j+(v-j)*n}function L(j){return 1-(1-j)*(1-j)}const C=new WeakMap;let q=null;function K(j){const v=j&&typeof j.requestAnimationFrame=="function";if(v&&C.has(j))return C.get(j);if(!v&&q)return q;const n=new Map;let t=0,i=null;const o=l=>{i=null;const g=[...n.values()];n.clear();for(const M of g)try{M(l)}catch(u){setTimeout(()=>{throw u},0)}},h=()=>{i===null&&(i=v?j.requestAnimationFrame(o):setTimeout(()=>o(Date.now()),16))},a={request(l){return t+=1,n.set(t,l),h(),t},cancel(l){n.delete(l),!n.size&&i!==null&&(v&&typeof j.cancelAnimationFrame=="function"?j.cancelAnimationFrame(i):v||clearTimeout(i),i=null)},get pending(){return n.size}};return v?C.set(j,a):q=a,a}}),Q("packages/modules/charts/htree.js",function(d,I){"use strict";Object.defineProperty(d,"TWEEN_MS",{enumerable:!0,get:function(){return K}}),Object.defineProperty(d,"stateOf",{enumerable:!0,get:function(){return v}}),Object.defineProperty(d,"topOf",{enumerable:!0,get:function(){return n}}),Object.defineProperty(d,"reducedMotion",{enumerable:!0,get:function(){return t}}),Object.defineProperty(d,"visibleEntries",{enumerable:!0,get:function(){return i}}),Object.defineProperty(d,"toggle",{enumerable:!0,get:function(){return o}}),Object.defineProperty(d,"colourer",{enumerable:!0,get:function(){return h}}),Object.defineProperty(d,"svgOf",{enumerable:!0,get:function(){return a}}),Object.defineProperty(d,"pointerIn",{enumerable:!0,get:function(){return l}}),Object.defineProperty(d,"tween",{enumerable:!0,get:function(){return g}}),Object.defineProperty(d,"fitsInside",{enumerable:!0,get:function(){return M}});const N=I("packages/modules/charts/tween.js"),L=N.easeOutQuad,C=N.frameLoop;Object.defineProperty(d,"lerp",{enumerable:!0,get:function(){return N.tween}});const q="",K=220,j=new WeakMap;function v(u){let s=j.get(u.marks);return s||(s={toggled:new Set,positions:new Map,focus:null,cancel:null,moved:0},j.set(u.marks,s)),s}function n(u){const s=u.root;return s.children.length===1?s.children[0]:s}function t(u,s){if(s&&(s.animate===!1||s.animation===!1))return!0;const f=u&&u.defaultView;if(!f)return!0;if(typeof f.matchMedia!="function")return!1;const c=f.matchMedia("(prefers-reduced-motion: reduce)");return!!(c&&c.matches)}function i(u,s,f){const c=Number.isFinite(f.expandDepth)&&f.expandDepth>=0?f.expandDepth:1/0,p=[],r=(m,x,O,E)=>{const w=O.join(q),A=m.children.length>0,k=x>=c,D=A&&k!==s.toggled.has(w),$={node:m,depth:x,path:O,key:w,parent:E,collapsed:D,children:[]};if(p.push($),E&&E.children.push($),!D)for(const Z of m.children)r(Z,x+1,[...O,Z.label],$)};return r(u,0,u===void 0||u.label===""?[]:[u.label],null),p}function o(u,s){u.toggled.has(s)?u.toggled.delete(s):u.toggled.add(s)}function h(u){const s=typeof u.spec.colourBy=="string"&&u.spec.colourBy!=="depth"?u.spec.colourBy:null,f=new Map;return{colour(c,p){if(!s)return u.scheme.series(p,c.label);const r=c.rowKeys&&c.rowKeys[0],m=r===void 0?null:u.grid.rows.value(r,s),x=m==null?"":String(m);return x===""?"var(--lattice-chart-axis, #888)":(f.has(x)||f.set(x,f.size),u.scheme.series(f.get(x),x))},legend(){return s?[...f].map(([c,p])=>({key:c,label:c,index:p})):[]}}}function a(u){let s=u.marks;for(;s&&String(s.tagName||"").toLowerCase()!=="svg";)s=s.parentNode;return s||null}function l(u,s){const f=u.getBoundingClientRect(),c=String(u.getAttribute("viewBox")||"").split(/[\s,]+/).map(Number),p=c.length===4&&f.width?c[2]/f.width:1,r=c.length===4&&f.height?c[3]/f.height:1;return{x:(s.clientX-f.left)*p,y:(s.clientY-f.top)*r}}function g(u,s,f,c){s.cancel&&(s.cancel(),s.cancel=null);const p=u&&u.defaultView;if(f||!p||typeof p.requestAnimationFrame!="function"){c(1);return}const r=C(p);let m=!0,x=null,O=null;const E=w=>{if(O=null,!m)return;x===null&&(x=w);const A=Math.min(1,(w-x)/K);c(A>=1?1:L(A)),A<1?O=r.request(E):s.cancel=null};s.cancel=()=>{m=!1,O!==null&&(r.cancel(O),O=null)},c(0),O=r.request(E)}function M(u,s,f){return u+4<=s*2*.9&&f<=s*1.4}}),Q("packages/modules/charts/hnodes.js",function(d,I){"use strict";Object.defineProperty(d,"MIN_HIT",{enumerable:!0,get:function(){return N}}),Object.defineProperty(d,"isHierarchyDraw",{enumerable:!0,get:function(){return L}}),Object.defineProperty(d,"hnodeAt",{enumerable:!0,get:function(){return C}}),Object.defineProperty(d,"emphasiseHierarchy",{enumerable:!0,get:function(){return K}}),Object.defineProperty(d,"emphasiseLayout",{enumerable:!0,get:function(){return j}}),Object.defineProperty(d,"emphasiseChord",{enumerable:!0,get:function(){return v}});const N=7;function L(n){return!!n&&Array.isArray(n.hnodes)}function C(n){const t=n.view||{k:1,tx:0,ty:0},i=t.k||1,o=(n.x-t.tx)/i,h=(n.y-t.ty)/i;let a=null;for(const l of n.hnodes)if(!l.hidden){if(Array.isArray(l.polygon)){if(!q(l.polygon,o,h))continue}else{const g=Math.max(l.r,N/i),M=o-l.x,u=h-l.y;if(M*M+u*u>g*g)continue}(!a||l.r<a.r||l.r===a.r&&l.depth>=a.depth)&&(a=l)}return a}function q(n,t,i){let o=!1;const h=n.length;for(let a=0,l=h-2;a<h;l=a,a+=2){const g=n[a+1],M=n[l+1];g>i!=M>i&&t<(n[l]-n[a])*(i-g)/(M-g)+n[a]&&(o=!o)}return o}function K(n){const t=n.keys||new Set;let i=0;for(const o of n.drawn.hnodes||[]){const h=o.element;if(!h||!h.setAttribute)continue;const a=o.node&&o.node.rowKeys||[];!t.size||a.some(g=>t.has(g))?(h.removeAttribute("data-dim"),i+=1):h.setAttribute("data-dim","true")}return i}function j(n){const t=n.keys||new Set;let i=0;for(const o of n.marks&&n.marks.childNodes||[]){if(!o||!o.getAttribute)continue;const h=o.getAttribute(n.attribute);if(h===null)continue;const a=n.entries[Number(h)],l=a&&(a.node||a.item&&a.item.node),g=l&&(l.rowKeys&&l.rowKeys.length?l.rowKeys:l.rowKey?[l.rowKey]:[])||[];!t.size||g.some(u=>t.has(u))?(o.removeAttribute("data-dim"),i+=1):o.setAttribute("data-dim","true")}return i}function v(n){const t=n.keys||new Set,i=new Map,o=new Map;for(const{link:a}of n.drawn.ribbons||[]){const l=a.rowKeys||[];i.set(`${a.source.key}->${a.target.key}`,l);for(const g of[a.source,a.target]){const M=o.get(g.key)||[];o.set(g.key,M.concat(l))}}let h=0;for(const a of n.marks&&n.marks.childNodes||[]){if(!a||!a.getAttribute)continue;const l=a.getAttribute("data-link"),g=a.getAttribute("data-node");if(l===null&&g===null)continue;const M=(l!==null?i.get(l):o.get(g))||[];!t.size||M.some(s=>t.has(s))?(a.removeAttribute("data-dim"),h+=1):a.setAttribute("data-dim","true")}return h}}),Q("packages/modules/chart-forcetree/index.js",function(d,I){"use strict";Object.defineProperty(d,"drawForceTree",{enumerable:!0,get:function(){return E}}),Object.defineProperty(d,"default",{enumerable:!0,get:function(){return w}});const L=ke("@toclocoinc/lattice-grid/modules/charts").registerChartType;if(typeof L>"u")throw new Error("[lattice] chart-forcetree needs registerChartType from the charts module. Load charts before chart-forcetree.");const q=I("packages/modules/charts/force.js").layoutForce,j=I("packages/modules/charts/nodenames.js").placeNodeNames,v=I("packages/modules/charts/htree.js"),n=v.colourer,t=v.lerp,i=v.pointerIn,o=v.reducedMotion,h=v.stateOf,a=v.svgOf,l=v.toggle,g=v.topOf,M=v.tween,u=v.visibleEntries,f=I("packages/modules/charts/hnodes.js").hnodeAt,c=220,p=90,r=300,m=4,x=18,O=(A,k,D)=>D?(A-k)/D:.5;function E(A){const{plot:k,bound:D,scheme:$,fontSize:Z,groups:V,grid:Me,spec:U,doc:le,helpers:Oe}=A,{Pool:re,attrs:X,round:z,setText:je,path:Ne,textWidth:Ae,applySize:Ee,NS:Y}=Oe;for(const e of["grid","axis","rules","labels"])new re(V[e]).finish();if(!D.root||!D.root.children.length)return{empty:!0,legend:[]};const y=h(V);y.pinned||(y.pinned=new Map);const fe=u(g(D),y,U),de=n({grid:Me,spec:U,scheme:$}),Pe=fe.reduce((e,b)=>b.parent?Math.max(e,b.node.total):e,0)||1,S=fe.map((e,b)=>{const P=e.parent?e.node.total/Pe:1;return{key:e.key,entry:e,node:e.node,depth:e.depth,path:e.path,label:e.node.label,index:b,r:e.parent?m+Math.sqrt(Math.max(0,Math.min(1,P)))*(x-m):x,colour:de.colour(e.node,e.depth),x:NaN,y:NaN,fx:NaN,fy:NaN,element:null}}),he=new Map(S.map(e=>[e.key,e])),H=[];for(const e of S)e.entry.parent&&H.push({source:he.get(e.entry.parent.key),target:e,weight:1});const ye=S[0];ye.fx=.5,ye.fy=.5;const ee=S.some(e=>y.positions.has(e.key));for(const e of S){const b=y.pinned.get(e.key);b&&(e.fx=b.fx,e.fy=b.fy);const P=y.positions.get(e.key);if(P)e.x=k.left+P.fx*k.width,e.y=k.top+P.fy*k.height;else if(ee&&e.entry.parent){const G=he.get(e.entry.parent.key),F=e.entry.parent.children,R=F.indexOf(e.entry)/Math.max(1,F.length)*Math.PI*2;e.x=G.x+Math.cos(R)*28,e.y=G.y+Math.sin(R)*28}}const Se={repulsion:.78*k.width*k.height/Math.max(4,S.length),attraction:.004},Te=Number.isFinite(U.iterations)&&U.iterations>0?Math.floor(U.iterations):0,me=q({nodes:S,links:H,plot:k,keep:ee,iterations:Te||(ee?p:c),heat:ee?.35:1,...Se});V.marks.setAttribute("data-ticks",String(me.ticks));for(const e of S)y.positions.set(e.key,{fx:O(e.x,k.left,k.width),fy:O(e.y,k.top,k.height)});const ie=new re(V.marks);for(const e of H){const b=ie.next("path",`${Y}__hlink ${Y}__mark`);b.setAttribute("data-decor","true"),e.element=b}for(const e of S){const b=ie.next("circle",`${Y}__hnode ${Y}__mark`);X(b,{r:z(e.r),fill:e.colour,"data-hnode":e.index,"data-depth":e.depth,"data-collapsed":e.entry.collapsed?"true":null,"data-decor":null,display:null,"aria-expanded":e.node.children.length?String(!e.entry.collapsed):null}),e.element=b}ie.finish();const ge=new re(V.overlay),pe=A.typography&&A.typography.small||Z,be=S.length<=40?S:[...S].sort((e,b)=>b.node.total-e.node.total).slice(0,30),Ie=H.map(e=>({x1:e.source.x,y1:e.source.y,x2:e.target.x,y2:e.target.y})),Le=j({nodes:be.map(e=>(e.text=e.label,e)),segments:Ie,plot:k,size:pe,textWidth:Ae});for(const e of be){const b=Le.get(e);if(!b)continue;const P=ge.next("text",`${Y}__flow-label`);Ee(P,pe),je(P,b.text),X(P,{visibility:null}),e.labelEl=P,e.labelSpot=b}ge.finish();const xe=()=>{for(const e of H)X(e.element,{d:Ne(["M",z(e.source.x),z(e.source.y),"L",z(e.target.x),z(e.target.y)])});for(const e of S)X(e.element,{cx:z(e.x),cy:z(e.y)}),e.labelEl&&X(e.labelEl,{x:z(e.x+e.labelSpot.dx),y:z(e.y+e.labelSpot.dy),"text-anchor":e.labelSpot.anchor})},te=S.map(e=>({x:e.x,y:e.y})),we=S.map((e,b)=>{const P=y.shown&&y.shown.get(e.key),G=e.entry.parent&&y.shown&&y.shown.get(e.entry.parent.key),F=P||G||te[b];return{x:F.x,y:F.y}}),Fe=o(le,U)||!y.shown;y.shown=new Map(S.map((e,b)=>[e.key,te[b]])),M(le,y,Fe,e=>{S.forEach((b,P)=>{b.x=t(we[P].x,te[P].x,e),b.y=t(we[P].y,te[P].y,e)}),xe()}),y.live={nodes:S,links:H,plot:k,paint:xe};const _=a(V);if(_&&!y.installed&&typeof _.addEventListener=="function"){y.installed=!0;const e=G=>{if(G.button)return;const F=i(_,G),R=f({hnodes:y.live.nodes,x:F.x,y:F.y});R&&R!==y.live.nodes[0]&&(y.drag={node:R,from:F,moved:!1})},b=G=>{const F=y.drag;if(!F)return;if(G.buttons===0){y.drag=null;return}const R=i(_,G),T=y.live;if(!F.moved&&Math.hypot(R.x-F.from.x,R.y-F.from.y)<4)return;F.moved=!0,y.cancel&&(y.cancel(),y.cancel=null);const B=F.node;B.x=Math.max(T.plot.left,Math.min(T.plot.right,R.x)),B.y=Math.max(T.plot.top,Math.min(T.plot.bottom,R.y)),B.fx=O(B.x,T.plot.left,T.plot.width),B.fy=O(B.y,T.plot.top,T.plot.height),y.pinned.set(B.key,{fx:B.fx,fy:B.fy}),T.nodes.length<=r&&q({nodes:T.nodes,links:T.links,plot:T.plot,keep:!0,iterations:30,heat:.25});for(const W of T.nodes)y.positions.set(W.key,{fx:O(W.x,T.plot.left,T.plot.width),fy:O(W.y,T.plot.top,T.plot.height)});y.shown=new Map(T.nodes.map(W=>[W.key,{x:W.x,y:W.y}])),T.paint()},P=()=>{y.drag&&y.drag.moved&&(y.dragEnded=Date.now()),y.drag=null};_.addEventListener("pointerdown",e),_.addEventListener("pointermove",b),_.addEventListener("pointerup",P),_.addEventListener("pointercancel",P),_.addEventListener("pointerleave",P)}return{hnodes:S,links:H,view:{k:1,tx:0,ty:0},ticks:me.ticks,settled:!0,legend:de.legend(),activate(e){if(y.dragEnded&&Date.now()-y.dragEnded<400)return y.dragEnded=0,"ignore";const b=S[e.index];return!b||!b.node.children.length?!1:(l(y,b.key),!0)}}}L("forceTree",{draw:E,hierarchical:!0,count:!0,freeform:!0,labelled:!1,animates:!0});const w=E});var J=ae("packages/modules/chart-forcetree/index.js");if(typeof module=="object"&&module.exports)module.exports=J;else if(typeof define=="function"&&define.amd)define(function(){return J});else{var ve=ne.LatticeGrid||(ne.LatticeGrid={});for(var oe in J)oe!=="default"&&(ve[oe]=J[oe])}})(typeof globalThis<"u"?globalThis:this);
7
7
 
8
8
  //# sourceMappingURL=chart-forcetree.min.js.map