@ixfx/components 0.2.3 → 0.2.4

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 (579) hide show
  1. package/LICENSE +1 -1
  2. package/bundle/chunk-pbuEa-1d.js +13 -0
  3. package/bundle/index.d.ts +4702 -569
  4. package/bundle/index.d.ts.map +1 -1
  5. package/bundle/index.js +34929 -2800
  6. package/bundle/index.js.map +1 -1
  7. package/bundle/style.css +133 -0
  8. package/dist/ac-text/ac-text.d.ts +99 -0
  9. package/dist/ac-text/ac-text.d.ts.map +1 -0
  10. package/dist/ac-text/ac-text.js +571 -0
  11. package/dist/ac-text/ac-text.js.map +1 -0
  12. package/dist/button/button-styles.d.ts +2 -0
  13. package/dist/button/button-styles.d.ts.map +1 -0
  14. package/dist/button/button-styles.js +75 -0
  15. package/dist/button/button-styles.js.map +1 -0
  16. package/dist/button/button.d.ts +16 -0
  17. package/dist/button/button.d.ts.map +1 -0
  18. package/dist/button/button.js +58 -0
  19. package/dist/button/button.js.map +1 -0
  20. package/dist/button/radio-group.d.ts +44 -0
  21. package/dist/button/radio-group.d.ts.map +1 -0
  22. package/dist/button/radio-group.js +385 -0
  23. package/dist/button/radio-group.js.map +1 -0
  24. package/dist/button/split-button.d.ts +59 -0
  25. package/dist/button/split-button.d.ts.map +1 -0
  26. package/dist/button/split-button.js +480 -0
  27. package/dist/button/split-button.js.map +1 -0
  28. package/dist/button/types.d.ts +18 -0
  29. package/dist/button/types.d.ts.map +1 -0
  30. package/dist/button/types.js +2 -0
  31. package/dist/button/types.js.map +1 -0
  32. package/dist/checkbox.d.ts +64 -0
  33. package/dist/checkbox.d.ts.map +1 -0
  34. package/dist/checkbox.js +265 -0
  35. package/dist/checkbox.js.map +1 -0
  36. package/dist/colour-picker/colour-picker-popup.d.ts +102 -0
  37. package/dist/colour-picker/colour-picker-popup.d.ts.map +1 -0
  38. package/dist/colour-picker/colour-picker-popup.js +399 -0
  39. package/dist/colour-picker/colour-picker-popup.js.map +1 -0
  40. package/dist/colour-picker/colour-picker.d.ts +100 -0
  41. package/dist/colour-picker/colour-picker.d.ts.map +1 -0
  42. package/dist/colour-picker/colour-picker.js +567 -0
  43. package/dist/colour-picker/colour-picker.js.map +1 -0
  44. package/dist/colour-picker/index.d.ts +4 -0
  45. package/dist/colour-picker/index.d.ts.map +1 -0
  46. package/dist/colour-picker/index.js +3 -0
  47. package/dist/colour-picker/index.js.map +1 -0
  48. package/dist/colour-picker/styles.d.ts +2 -0
  49. package/dist/colour-picker/styles.d.ts.map +1 -0
  50. package/dist/colour-picker/styles.js +139 -0
  51. package/dist/colour-picker/styles.js.map +1 -0
  52. package/dist/colour-picker/types.d.ts +33 -0
  53. package/dist/colour-picker/types.d.ts.map +1 -0
  54. package/dist/colour-picker/types.js +2 -0
  55. package/dist/colour-picker/types.js.map +1 -0
  56. package/dist/colour-picker/util.d.ts +15 -0
  57. package/dist/colour-picker/util.d.ts.map +1 -0
  58. package/dist/colour-picker/util.js +35 -0
  59. package/dist/colour-picker/util.js.map +1 -0
  60. package/dist/common/searchable.d.ts +9 -0
  61. package/dist/common/searchable.d.ts.map +1 -0
  62. package/dist/common/searchable.js +9 -0
  63. package/dist/common/searchable.js.map +1 -0
  64. package/dist/common/tree-component.d.ts +172 -0
  65. package/dist/common/tree-component.d.ts.map +1 -0
  66. package/dist/common/tree-component.js +8 -0
  67. package/dist/common/tree-component.js.map +1 -0
  68. package/dist/common/tree-data-model.d.ts +100 -0
  69. package/dist/common/tree-data-model.d.ts.map +1 -0
  70. package/dist/common/tree-data-model.js +207 -0
  71. package/dist/common/tree-data-model.js.map +1 -0
  72. package/dist/common/tree-item.d.ts +7 -0
  73. package/dist/common/tree-item.d.ts.map +1 -0
  74. package/dist/common/tree-item.js +2 -0
  75. package/dist/common/tree-item.js.map +1 -0
  76. package/dist/common/types.d.ts +69 -0
  77. package/dist/common/types.d.ts.map +1 -0
  78. package/dist/common/types.js +6 -0
  79. package/dist/common/types.js.map +1 -0
  80. package/dist/crumbs/crumb-navigation.d.ts +96 -0
  81. package/dist/crumbs/crumb-navigation.d.ts.map +1 -0
  82. package/dist/crumbs/crumb-navigation.js +911 -0
  83. package/dist/crumbs/crumb-navigation.js.map +1 -0
  84. package/dist/crumbs/crumb-path-controller.d.ts +18 -0
  85. package/dist/crumbs/crumb-path-controller.d.ts.map +1 -0
  86. package/dist/crumbs/crumb-path-controller.js +81 -0
  87. package/dist/crumbs/crumb-path-controller.js.map +1 -0
  88. package/dist/crumbs/crumb-path.d.ts +65 -0
  89. package/dist/crumbs/crumb-path.d.ts.map +1 -0
  90. package/dist/crumbs/crumb-path.js +691 -0
  91. package/dist/crumbs/crumb-path.js.map +1 -0
  92. package/dist/data-display.d.ts +10 -3
  93. package/dist/data-display.d.ts.map +1 -1
  94. package/dist/data-display.js +45 -28
  95. package/dist/data-display.js.map +1 -1
  96. package/dist/editable-label/editable-label.d.ts +98 -0
  97. package/dist/editable-label/editable-label.d.ts.map +1 -0
  98. package/dist/editable-label/editable-label.js +348 -0
  99. package/dist/editable-label/editable-label.js.map +1 -0
  100. package/dist/editable-label/editable-number.d.ts +96 -0
  101. package/dist/editable-label/editable-number.d.ts.map +1 -0
  102. package/dist/editable-label/editable-number.js +702 -0
  103. package/dist/editable-label/editable-number.js.map +1 -0
  104. package/dist/hex/colour.d.ts +6 -0
  105. package/dist/hex/colour.d.ts.map +1 -0
  106. package/dist/hex/colour.js +33 -0
  107. package/dist/hex/colour.js.map +1 -0
  108. package/dist/hex/data.d.ts +18 -0
  109. package/dist/hex/data.d.ts.map +1 -0
  110. package/dist/hex/data.js +61 -0
  111. package/dist/hex/data.js.map +1 -0
  112. package/dist/hex/diff.d.ts +14 -0
  113. package/dist/hex/diff.d.ts.map +1 -0
  114. package/dist/hex/diff.js +31 -0
  115. package/dist/hex/diff.js.map +1 -0
  116. package/dist/hex/hex-editor.d.ts +101 -0
  117. package/dist/hex/hex-editor.d.ts.map +1 -0
  118. package/dist/hex/hex-editor.js +894 -0
  119. package/dist/hex/hex-editor.js.map +1 -0
  120. package/dist/hex/selection.d.ts +11 -0
  121. package/dist/hex/selection.d.ts.map +1 -0
  122. package/dist/hex/selection.js +218 -0
  123. package/dist/hex/selection.js.map +1 -0
  124. package/dist/hex/types.d.ts +34 -0
  125. package/dist/hex/types.d.ts.map +1 -0
  126. package/dist/hex/types.js +4 -0
  127. package/dist/hex/types.js.map +1 -0
  128. package/dist/icons/defaults.d.ts +27 -0
  129. package/dist/icons/defaults.d.ts.map +1 -0
  130. package/dist/icons/defaults.js +34 -0
  131. package/dist/icons/defaults.js.map +1 -0
  132. package/dist/icons/icon.d.ts +31 -0
  133. package/dist/icons/icon.d.ts.map +1 -0
  134. package/dist/icons/icon.js +125 -0
  135. package/dist/icons/icon.js.map +1 -0
  136. package/dist/icons/index.d.ts +5 -0
  137. package/dist/icons/index.d.ts.map +1 -0
  138. package/dist/icons/index.js +6 -0
  139. package/dist/icons/index.js.map +1 -0
  140. package/dist/icons/registry.d.ts +11 -0
  141. package/dist/icons/registry.d.ts.map +1 -0
  142. package/dist/icons/registry.js +17 -0
  143. package/dist/icons/registry.js.map +1 -0
  144. package/dist/incr-search/ac-adapter.d.ts +18 -0
  145. package/dist/incr-search/ac-adapter.d.ts.map +1 -0
  146. package/dist/incr-search/ac-adapter.js +29 -0
  147. package/dist/incr-search/ac-adapter.js.map +1 -0
  148. package/dist/incr-search/controller-miller.d.ts +9 -0
  149. package/dist/incr-search/controller-miller.d.ts.map +1 -0
  150. package/dist/incr-search/controller-miller.js +8 -0
  151. package/dist/incr-search/controller-miller.js.map +1 -0
  152. package/dist/incr-search/controller-tree.d.ts +55 -0
  153. package/dist/incr-search/controller-tree.d.ts.map +1 -0
  154. package/dist/incr-search/controller-tree.js +106 -0
  155. package/dist/incr-search/controller-tree.js.map +1 -0
  156. package/dist/incr-search/element-search.d.ts +15 -0
  157. package/dist/incr-search/element-search.d.ts.map +1 -0
  158. package/dist/incr-search/element-search.js +82 -0
  159. package/dist/incr-search/element-search.js.map +1 -0
  160. package/dist/incr-search/fuzzy.d.ts +3 -0
  161. package/dist/incr-search/fuzzy.d.ts.map +1 -0
  162. package/dist/incr-search/fuzzy.js +37 -0
  163. package/dist/incr-search/fuzzy.js.map +1 -0
  164. package/dist/incr-search/highlight.d.ts +5 -0
  165. package/dist/incr-search/highlight.d.ts.map +1 -0
  166. package/dist/incr-search/highlight.js +54 -0
  167. package/dist/incr-search/highlight.js.map +1 -0
  168. package/dist/incr-search/incr-search.d.ts +3 -0
  169. package/dist/incr-search/incr-search.d.ts.map +1 -0
  170. package/dist/incr-search/incr-search.js +73 -0
  171. package/dist/incr-search/incr-search.js.map +1 -0
  172. package/dist/incr-search/index.d.ts +12 -0
  173. package/dist/incr-search/index.d.ts.map +1 -0
  174. package/dist/incr-search/index.js +8 -0
  175. package/dist/incr-search/index.js.map +1 -0
  176. package/dist/incr-search/types.d.ts +59 -0
  177. package/dist/incr-search/types.d.ts.map +1 -0
  178. package/dist/incr-search/types.js +2 -0
  179. package/dist/incr-search/types.js.map +1 -0
  180. package/dist/index.d.ts +49 -9
  181. package/dist/index.d.ts.map +1 -1
  182. package/dist/index.js +50 -10
  183. package/dist/index.js.map +1 -1
  184. package/dist/interaction/index.d.ts +10 -0
  185. package/dist/interaction/index.d.ts.map +1 -0
  186. package/dist/interaction/index.js +10 -0
  187. package/dist/interaction/index.js.map +1 -0
  188. package/dist/interaction/tickled-controller.d.ts +186 -0
  189. package/dist/interaction/tickled-controller.d.ts.map +1 -0
  190. package/dist/interaction/tickled-controller.js +256 -0
  191. package/dist/interaction/tickled-controller.js.map +1 -0
  192. package/dist/interaction/tickled-styles.d.ts +53 -0
  193. package/dist/interaction/tickled-styles.d.ts.map +1 -0
  194. package/dist/interaction/tickled-styles.js +106 -0
  195. package/dist/interaction/tickled-styles.js.map +1 -0
  196. package/dist/interaction/tree-keyboard-controller.d.ts +30 -0
  197. package/dist/interaction/tree-keyboard-controller.d.ts.map +1 -0
  198. package/dist/interaction/tree-keyboard-controller.js +105 -0
  199. package/dist/interaction/tree-keyboard-controller.js.map +1 -0
  200. package/dist/keyboard.d.ts +16 -0
  201. package/dist/keyboard.d.ts.map +1 -0
  202. package/dist/keyboard.js +22 -0
  203. package/dist/keyboard.js.map +1 -0
  204. package/dist/labelled-radial-input/index.d.ts +2 -0
  205. package/dist/labelled-radial-input/index.d.ts.map +1 -0
  206. package/dist/labelled-radial-input/index.js +2 -0
  207. package/dist/labelled-radial-input/index.js.map +1 -0
  208. package/dist/labelled-radial-input/labelled-radial-input.d.ts +77 -0
  209. package/dist/labelled-radial-input/labelled-radial-input.d.ts.map +1 -0
  210. package/dist/labelled-radial-input/labelled-radial-input.js +214 -0
  211. package/dist/labelled-radial-input/labelled-radial-input.js.map +1 -0
  212. package/dist/labelled-range-input/index.d.ts +2 -0
  213. package/dist/labelled-range-input/index.d.ts.map +1 -0
  214. package/dist/labelled-range-input/index.js +2 -0
  215. package/dist/labelled-range-input/index.js.map +1 -0
  216. package/dist/labelled-range-input/labelled-range-input.d.ts +80 -0
  217. package/dist/labelled-range-input/labelled-range-input.d.ts.map +1 -0
  218. package/dist/labelled-range-input/labelled-range-input.js +137 -0
  219. package/dist/labelled-range-input/labelled-range-input.js.map +1 -0
  220. package/dist/led.d.ts +20 -0
  221. package/dist/led.d.ts.map +1 -0
  222. package/dist/led.js +100 -0
  223. package/dist/led.js.map +1 -0
  224. package/dist/menu/index.d.ts +14 -0
  225. package/dist/menu/index.d.ts.map +1 -0
  226. package/dist/menu/index.js +13 -0
  227. package/dist/menu/index.js.map +1 -0
  228. package/dist/menu/menu-bar.d.ts +23 -0
  229. package/dist/menu/menu-bar.d.ts.map +1 -0
  230. package/dist/menu/menu-bar.js +110 -0
  231. package/dist/menu/menu-bar.js.map +1 -0
  232. package/dist/menu/menu-check-item.d.ts +33 -0
  233. package/dist/menu/menu-check-item.d.ts.map +1 -0
  234. package/dist/menu/menu-check-item.js +175 -0
  235. package/dist/menu/menu-check-item.js.map +1 -0
  236. package/dist/menu/menu-command-controller.d.ts +14 -0
  237. package/dist/menu/menu-command-controller.d.ts.map +1 -0
  238. package/dist/menu/menu-command-controller.js +22 -0
  239. package/dist/menu/menu-command-controller.js.map +1 -0
  240. package/dist/menu/menu-container.d.ts +36 -0
  241. package/dist/menu/menu-container.d.ts.map +1 -0
  242. package/dist/menu/menu-container.js +351 -0
  243. package/dist/menu/menu-container.js.map +1 -0
  244. package/dist/menu/menu-from-tree.d.ts +17 -0
  245. package/dist/menu/menu-from-tree.d.ts.map +1 -0
  246. package/dist/menu/menu-from-tree.js +103 -0
  247. package/dist/menu/menu-from-tree.js.map +1 -0
  248. package/dist/menu/menu-header.d.ts +12 -0
  249. package/dist/menu/menu-header.d.ts.map +1 -0
  250. package/dist/menu/menu-header.js +36 -0
  251. package/dist/menu/menu-header.js.map +1 -0
  252. package/dist/menu/menu-item.d.ts +41 -0
  253. package/dist/menu/menu-item.d.ts.map +1 -0
  254. package/dist/menu/menu-item.js +240 -0
  255. package/dist/menu/menu-item.js.map +1 -0
  256. package/dist/menu/menu-radio-group.d.ts +24 -0
  257. package/dist/menu/menu-radio-group.d.ts.map +1 -0
  258. package/dist/menu/menu-radio-group.js +71 -0
  259. package/dist/menu/menu-radio-group.js.map +1 -0
  260. package/dist/menu/menu-radio-item.d.ts +22 -0
  261. package/dist/menu/menu-radio-item.d.ts.map +1 -0
  262. package/dist/menu/menu-radio-item.js +116 -0
  263. package/dist/menu/menu-radio-item.js.map +1 -0
  264. package/dist/menu/menu-separator.d.ts +11 -0
  265. package/dist/menu/menu-separator.d.ts.map +1 -0
  266. package/dist/menu/menu-separator.js +29 -0
  267. package/dist/menu/menu-separator.js.map +1 -0
  268. package/dist/menu/menu-sub-trigger.d.ts +46 -0
  269. package/dist/menu/menu-sub-trigger.d.ts.map +1 -0
  270. package/dist/menu/menu-sub-trigger.js +302 -0
  271. package/dist/menu/menu-sub-trigger.js.map +1 -0
  272. package/dist/menu/menu-trigger.d.ts +57 -0
  273. package/dist/menu/menu-trigger.d.ts.map +1 -0
  274. package/dist/menu/menu-trigger.js +351 -0
  275. package/dist/menu/menu-trigger.js.map +1 -0
  276. package/dist/miller/index.d.ts +5 -0
  277. package/dist/miller/index.d.ts.map +1 -0
  278. package/dist/miller/index.js +5 -0
  279. package/dist/miller/index.js.map +1 -0
  280. package/dist/miller/miller-base.d.ts +184 -0
  281. package/dist/miller/miller-base.d.ts.map +1 -0
  282. package/dist/miller/miller-base.js +1249 -0
  283. package/dist/miller/miller-base.js.map +1 -0
  284. package/dist/miller/miller-list.d.ts +30 -0
  285. package/dist/miller/miller-list.d.ts.map +1 -0
  286. package/dist/miller/miller-list.js +192 -0
  287. package/dist/miller/miller-list.js.map +1 -0
  288. package/dist/miller/miller-tree-controller.d.ts +58 -0
  289. package/dist/miller/miller-tree-controller.d.ts.map +1 -0
  290. package/dist/miller/miller-tree-controller.js +134 -0
  291. package/dist/miller/miller-tree-controller.js.map +1 -0
  292. package/dist/miller/types.d.ts +63 -0
  293. package/dist/miller/types.d.ts.map +1 -0
  294. package/dist/miller/types.js +6 -0
  295. package/dist/miller/types.js.map +1 -0
  296. package/dist/mixins/labelled-input-base.d.ts +38 -0
  297. package/dist/mixins/labelled-input-base.d.ts.map +1 -0
  298. package/dist/mixins/labelled-input-base.js +171 -0
  299. package/dist/mixins/labelled-input-base.js.map +1 -0
  300. package/dist/mixins/labelled-input-util.d.ts +3 -0
  301. package/dist/mixins/labelled-input-util.d.ts.map +1 -0
  302. package/dist/mixins/labelled-input-util.js +10 -0
  303. package/dist/mixins/labelled-input-util.js.map +1 -0
  304. package/dist/my-element.d.ts.map +1 -1
  305. package/dist/my-element.js +1 -1
  306. package/dist/my-element.js.map +1 -1
  307. package/dist/narrowed-text/index.d.ts +3 -0
  308. package/dist/narrowed-text/index.d.ts.map +1 -0
  309. package/dist/narrowed-text/index.js +3 -0
  310. package/dist/narrowed-text/index.js.map +1 -0
  311. package/dist/narrowed-text/narrowed-text.d.ts +48 -0
  312. package/dist/narrowed-text/narrowed-text.d.ts.map +1 -0
  313. package/dist/narrowed-text/narrowed-text.js +668 -0
  314. package/dist/narrowed-text/narrowed-text.js.map +1 -0
  315. package/dist/narrowed-text/types.d.ts +20 -0
  316. package/dist/narrowed-text/types.d.ts.map +1 -0
  317. package/dist/narrowed-text/types.js +2 -0
  318. package/dist/narrowed-text/types.js.map +1 -0
  319. package/dist/panel/panel-group.d.ts +23 -0
  320. package/dist/panel/panel-group.d.ts.map +1 -0
  321. package/dist/panel/panel-group.js +109 -0
  322. package/dist/panel/panel-group.js.map +1 -0
  323. package/dist/panel/panel.d.ts +39 -0
  324. package/dist/panel/panel.d.ts.map +1 -0
  325. package/dist/panel/panel.js +417 -0
  326. package/dist/panel/panel.js.map +1 -0
  327. package/dist/plots/colour-map.d.ts +31 -0
  328. package/dist/plots/colour-map.d.ts.map +1 -0
  329. package/dist/plots/colour-map.js +133 -0
  330. package/dist/plots/colour-map.js.map +1 -0
  331. package/dist/plots/data.d.ts +27 -0
  332. package/dist/plots/data.d.ts.map +1 -0
  333. package/dist/plots/data.js +47 -0
  334. package/dist/plots/data.js.map +1 -0
  335. package/dist/plots/single-axis.d.ts +41 -0
  336. package/dist/plots/single-axis.d.ts.map +1 -0
  337. package/dist/plots/single-axis.js +428 -0
  338. package/dist/plots/single-axis.js.map +1 -0
  339. package/dist/plots/svg-utils.d.ts +12 -0
  340. package/dist/plots/svg-utils.d.ts.map +1 -0
  341. package/dist/plots/svg-utils.js +64 -0
  342. package/dist/plots/svg-utils.js.map +1 -0
  343. package/dist/plots/xy-axis.d.ts +42 -0
  344. package/dist/plots/xy-axis.d.ts.map +1 -0
  345. package/dist/plots/xy-axis.js +307 -0
  346. package/dist/plots/xy-axis.js.map +1 -0
  347. package/dist/polar-pad/polar-pad.d.ts +132 -0
  348. package/dist/polar-pad/polar-pad.d.ts.map +1 -0
  349. package/dist/polar-pad/polar-pad.js +598 -0
  350. package/dist/polar-pad/polar-pad.js.map +1 -0
  351. package/dist/radial-input/radial-input.d.ts +45 -0
  352. package/dist/radial-input/radial-input.d.ts.map +1 -0
  353. package/dist/radial-input/radial-input.js +692 -0
  354. package/dist/radial-input/radial-input.js.map +1 -0
  355. package/dist/radial-input/svg-utils.d.ts +147 -0
  356. package/dist/radial-input/svg-utils.d.ts.map +1 -0
  357. package/dist/radial-input/svg-utils.js +346 -0
  358. package/dist/radial-input/svg-utils.js.map +1 -0
  359. package/dist/radial-input/types.d.ts +25 -0
  360. package/dist/radial-input/types.d.ts.map +1 -0
  361. package/dist/radial-input/types.js +5 -0
  362. package/dist/radial-input/types.js.map +1 -0
  363. package/dist/range/range-multi.d.ts +62 -0
  364. package/dist/range/range-multi.d.ts.map +1 -0
  365. package/dist/range/range-multi.js +652 -0
  366. package/dist/range/range-multi.js.map +1 -0
  367. package/dist/range/range.d.ts +23 -0
  368. package/dist/range/range.d.ts.map +1 -0
  369. package/dist/range/range.js +153 -0
  370. package/dist/range/range.js.map +1 -0
  371. package/dist/range-input/index.d.ts +2 -0
  372. package/dist/range-input/index.d.ts.map +1 -0
  373. package/dist/range-input/index.js +2 -0
  374. package/dist/range-input/index.js.map +1 -0
  375. package/dist/range-input/range-input.d.ts +92 -0
  376. package/dist/range-input/range-input.d.ts.map +1 -0
  377. package/dist/range-input/range-input.js +472 -0
  378. package/dist/range-input/range-input.js.map +1 -0
  379. package/dist/selecthorizontal.d.ts +1 -1
  380. package/dist/selecthorizontal.d.ts.map +1 -1
  381. package/dist/selecthorizontal.js +3 -3
  382. package/dist/selecthorizontal.js.map +1 -1
  383. package/dist/snap-container/snap-container.d.ts +45 -0
  384. package/dist/snap-container/snap-container.d.ts.map +1 -0
  385. package/dist/snap-container/snap-container.js +352 -0
  386. package/dist/snap-container/snap-container.js.map +1 -0
  387. package/dist/split-layout/split-layout.d.ts +25 -9
  388. package/dist/split-layout/split-layout.d.ts.map +1 -1
  389. package/dist/split-layout/split-layout.js +520 -66
  390. package/dist/split-layout/split-layout.js.map +1 -1
  391. package/dist/styles/popup.d.ts +11 -0
  392. package/dist/styles/popup.d.ts.map +1 -0
  393. package/dist/styles/popup.js +20 -0
  394. package/dist/styles/popup.js.map +1 -0
  395. package/dist/styles/prominence.d.ts +58 -0
  396. package/dist/styles/prominence.d.ts.map +1 -0
  397. package/dist/styles/prominence.js +94 -0
  398. package/dist/styles/prominence.js.map +1 -0
  399. package/dist/styles/tooltip.d.ts +2 -0
  400. package/dist/styles/tooltip.d.ts.map +1 -0
  401. package/dist/styles/tooltip.js +100 -0
  402. package/dist/styles/tooltip.js.map +1 -0
  403. package/dist/svg-edit-label.js +1 -1
  404. package/dist/svg-edit-label.js.map +1 -1
  405. package/dist/swipe/index.d.ts +2 -0
  406. package/dist/swipe/index.d.ts.map +1 -0
  407. package/dist/swipe/index.js +2 -0
  408. package/dist/swipe/index.js.map +1 -0
  409. package/dist/swipe/swipe.d.ts +65 -0
  410. package/dist/swipe/swipe.d.ts.map +1 -0
  411. package/dist/swipe/swipe.js +229 -0
  412. package/dist/swipe/swipe.js.map +1 -0
  413. package/dist/tabs/tab-layout-item.d.ts.map +1 -1
  414. package/dist/tabs/tab-layout-item.js +1 -1
  415. package/dist/tabs/tab-layout-item.js.map +1 -1
  416. package/dist/tabs/tab-layout.d.ts.map +1 -1
  417. package/dist/tabs/tab-layout.js +1 -1
  418. package/dist/tabs/tab-layout.js.map +1 -1
  419. package/dist/tabs/tab-list-item.d.ts +22 -6
  420. package/dist/tabs/tab-list-item.d.ts.map +1 -1
  421. package/dist/tabs/tab-list-item.js +174 -42
  422. package/dist/tabs/tab-list-item.js.map +1 -1
  423. package/dist/tabs/tab-list.d.ts +15 -5
  424. package/dist/tabs/tab-list.d.ts.map +1 -1
  425. package/dist/tabs/tab-list.js +159 -50
  426. package/dist/tabs/tab-list.js.map +1 -1
  427. package/dist/tabs/tab-panel.d.ts +1 -1
  428. package/dist/tabs/tab-panel.d.ts.map +1 -1
  429. package/dist/tabs/tab-panel.js +2 -2
  430. package/dist/tabs/tab-panel.js.map +1 -1
  431. package/dist/tabs/tab-panels.d.ts +3 -3
  432. package/dist/tabs/tab-panels.d.ts.map +1 -1
  433. package/dist/tabs/tab-panels.js +6 -6
  434. package/dist/tabs/tab-panels.js.map +1 -1
  435. package/dist/timeline/index.d.ts +9 -0
  436. package/dist/timeline/index.d.ts.map +1 -0
  437. package/dist/timeline/index.js +8 -0
  438. package/dist/timeline/index.js.map +1 -0
  439. package/dist/timeline/timeline-controller.d.ts +48 -0
  440. package/dist/timeline/timeline-controller.d.ts.map +1 -0
  441. package/dist/timeline/timeline-controller.js +81 -0
  442. package/dist/timeline/timeline-controller.js.map +1 -0
  443. package/dist/timeline/timeline-draw.d.ts +28 -0
  444. package/dist/timeline/timeline-draw.d.ts.map +1 -0
  445. package/dist/timeline/timeline-draw.js +330 -0
  446. package/dist/timeline/timeline-draw.js.map +1 -0
  447. package/dist/timeline/timeline-element.d.ts +140 -0
  448. package/dist/timeline/timeline-element.d.ts.map +1 -0
  449. package/dist/timeline/timeline-element.js +888 -0
  450. package/dist/timeline/timeline-element.js.map +1 -0
  451. package/dist/timeline/timeline-interactions.d.ts +40 -0
  452. package/dist/timeline/timeline-interactions.d.ts.map +1 -0
  453. package/dist/timeline/timeline-interactions.js +393 -0
  454. package/dist/timeline/timeline-interactions.js.map +1 -0
  455. package/dist/timeline/timeline-styles.d.ts +2 -0
  456. package/dist/timeline/timeline-styles.d.ts.map +1 -0
  457. package/dist/timeline/timeline-styles.js +153 -0
  458. package/dist/timeline/timeline-styles.js.map +1 -0
  459. package/dist/timeline/timeline-track-tabs.d.ts +30 -0
  460. package/dist/timeline/timeline-track-tabs.d.ts.map +1 -0
  461. package/dist/timeline/timeline-track-tabs.js +204 -0
  462. package/dist/timeline/timeline-track-tabs.js.map +1 -0
  463. package/dist/timeline/types.d.ts +144 -0
  464. package/dist/timeline/types.d.ts.map +1 -0
  465. package/dist/timeline/types.js +3 -0
  466. package/dist/timeline/types.js.map +1 -0
  467. package/dist/tree/index.d.ts +5 -0
  468. package/dist/tree/index.d.ts.map +1 -0
  469. package/dist/tree/index.js +5 -0
  470. package/dist/tree/index.js.map +1 -0
  471. package/dist/tree/tree-base.d.ts +70 -0
  472. package/dist/tree/tree-base.d.ts.map +1 -0
  473. package/dist/tree/tree-base.js +1028 -0
  474. package/dist/tree/tree-base.js.map +1 -0
  475. package/dist/tree/tree-controller.d.ts +14 -0
  476. package/dist/tree/tree-controller.d.ts.map +1 -0
  477. package/dist/tree/tree-controller.js +96 -0
  478. package/dist/tree/tree-controller.js.map +1 -0
  479. package/dist/tree/tree-list.d.ts +20 -0
  480. package/dist/tree/tree-list.d.ts.map +1 -0
  481. package/dist/tree/tree-list.js +174 -0
  482. package/dist/tree/tree-list.js.map +1 -0
  483. package/dist/tree/types.d.ts +14 -0
  484. package/dist/tree/types.d.ts.map +1 -0
  485. package/dist/tree/types.js +7 -0
  486. package/dist/tree/types.js.map +1 -0
  487. package/dist/util/checkbox.d.ts +2 -0
  488. package/dist/util/checkbox.d.ts.map +1 -0
  489. package/dist/util/checkbox.js +69 -0
  490. package/dist/util/checkbox.js.map +1 -0
  491. package/dist/util/circle-arc.d.ts +6 -6
  492. package/dist/util/circle-arc.d.ts.map +1 -1
  493. package/dist/util/circle-arc.js +28 -20
  494. package/dist/util/circle-arc.js.map +1 -1
  495. package/dist/util/clamp.d.ts +4 -0
  496. package/dist/util/clamp.d.ts.map +1 -0
  497. package/dist/util/clamp.js +23 -0
  498. package/dist/util/clamp.js.map +1 -0
  499. package/dist/util/compare.d.ts +8 -8
  500. package/dist/util/compare.d.ts.map +1 -1
  501. package/dist/util/compare.js +13 -13
  502. package/dist/util/compare.js.map +1 -1
  503. package/dist/util/content-editable.d.ts +1 -1
  504. package/dist/util/content-editable.d.ts.map +1 -1
  505. package/dist/util/content-editable.js +2 -2
  506. package/dist/util/content-editable.js.map +1 -1
  507. package/dist/util/coordinates.d.ts +3 -0
  508. package/dist/util/coordinates.d.ts.map +1 -0
  509. package/dist/util/coordinates.js +11 -0
  510. package/dist/util/coordinates.js.map +1 -0
  511. package/dist/util/drag.d.ts +16 -0
  512. package/dist/util/drag.d.ts.map +1 -0
  513. package/dist/util/drag.js +20 -0
  514. package/dist/util/drag.js.map +1 -0
  515. package/dist/util/is-numeric.d.ts +2 -0
  516. package/dist/util/is-numeric.d.ts.map +1 -0
  517. package/dist/util/is-numeric.js +9 -0
  518. package/dist/util/is-numeric.js.map +1 -0
  519. package/dist/util/key-value.d.ts +2 -2
  520. package/dist/util/key-value.d.ts.map +1 -1
  521. package/dist/util/key-value.js +4 -5
  522. package/dist/util/key-value.js.map +1 -1
  523. package/dist/util/near.d.ts +2 -0
  524. package/dist/util/near.d.ts.map +1 -0
  525. package/dist/util/near.js +6 -0
  526. package/dist/util/near.js.map +1 -0
  527. package/dist/util/svg-editable-text.d.ts +6 -2
  528. package/dist/util/svg-editable-text.d.ts.map +1 -1
  529. package/dist/util/svg-editable-text.js +5 -7
  530. package/dist/util/svg-editable-text.js.map +1 -1
  531. package/dist/util/time.d.ts.map +1 -1
  532. package/dist/util/time.js +1 -1
  533. package/dist/util/time.js.map +1 -1
  534. package/dist/util/tooltip-controller.d.ts +10 -0
  535. package/dist/util/tooltip-controller.d.ts.map +1 -0
  536. package/dist/util/tooltip-controller.js +237 -0
  537. package/dist/util/tooltip-controller.js.map +1 -0
  538. package/dist/util/tooltip.d.ts +21 -0
  539. package/dist/util/tooltip.d.ts.map +1 -0
  540. package/dist/util/tooltip.js +98 -0
  541. package/dist/util/tooltip.js.map +1 -0
  542. package/dist/util/value-drag.d.ts +33 -0
  543. package/dist/util/value-drag.d.ts.map +1 -0
  544. package/dist/util/value-drag.js +154 -0
  545. package/dist/util/value-drag.js.map +1 -0
  546. package/dist/xy-pad.d.ts +117 -0
  547. package/dist/xy-pad.d.ts.map +1 -0
  548. package/dist/xy-pad.js +455 -0
  549. package/dist/xy-pad.js.map +1 -0
  550. package/package.json +47 -30
  551. package/README.md +0 -14
  552. package/dist/charts/frequency-histogram-plot.d.ts +0 -33
  553. package/dist/charts/frequency-histogram-plot.d.ts.map +0 -1
  554. package/dist/charts/frequency-histogram-plot.js +0 -54
  555. package/dist/charts/frequency-histogram-plot.js.map +0 -1
  556. package/dist/charts/histogram-vis.d.ts +0 -57
  557. package/dist/charts/histogram-vis.d.ts.map +0 -1
  558. package/dist/charts/histogram-vis.js +0 -222
  559. package/dist/charts/histogram-vis.js.map +0 -1
  560. package/dist/charts/plot.d.ts +0 -199
  561. package/dist/charts/plot.d.ts.map +0 -1
  562. package/dist/charts/plot.js +0 -914
  563. package/dist/charts/plot.js.map +0 -1
  564. package/dist/crumb-nav.d.ts +0 -41
  565. package/dist/crumb-nav.d.ts.map +0 -1
  566. package/dist/crumb-nav.js +0 -198
  567. package/dist/crumb-nav.js.map +0 -1
  568. package/dist/crumb-navigation.d.ts +0 -30
  569. package/dist/crumb-navigation.d.ts.map +0 -1
  570. package/dist/crumb-navigation.js +0 -307
  571. package/dist/crumb-navigation.js.map +0 -1
  572. package/dist/dial.d.ts +0 -89
  573. package/dist/dial.d.ts.map +0 -1
  574. package/dist/dial.js +0 -506
  575. package/dist/dial.js.map +0 -1
  576. package/dist/util/drag-controller.d.ts +0 -13
  577. package/dist/util/drag-controller.d.ts.map +0 -1
  578. package/dist/util/drag-controller.js +0 -21
  579. package/dist/util/drag-controller.js.map +0 -1
@@ -0,0 +1,428 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ import { css, html, LitElement, svg } from 'lit';
8
+ import { customElement, property, state } from 'lit/decorators.js';
9
+ import { applyAgeModification, computeColour, parseColourScaleAttr, readBaseColour } from './colour-map.js';
10
+ import { PlotDataSeries } from './data.js';
11
+ import { adaptiveRadius, adaptiveStroke, hideTooltip, scaleValue, showTooltip } from './svg-utils.js';
12
+ // --- Pure SVG fragment renderers ---
13
+ // Lines use a single ColourResult (the last / most-recent point's colour).
14
+ // Per-point styles use a ColourResult[] aligned with the points array.
15
+ function buildLinePath(points) {
16
+ if (points.length === 0)
17
+ return ``;
18
+ let d = `M ${points[0].x},${points[0].y}`;
19
+ for (let i = 1; i < points.length; i++) {
20
+ d += ` L ${points[i].x},${points[i].y}`;
21
+ }
22
+ return d;
23
+ }
24
+ function renderLine(points, cr, strokeW, round) {
25
+ return svg `<path
26
+ d=${buildLinePath(points)}
27
+ fill="none"
28
+ stroke=${cr.fill}
29
+ stroke-width=${strokeW}
30
+ opacity=${cr.opacity}
31
+ stroke-linecap=${round ? `round` : `butt`}
32
+ stroke-linejoin=${round ? `round` : `miter`}
33
+ />`;
34
+ }
35
+ function renderArea(points, cr, bottom, areaColor) {
36
+ if (points.length < 2)
37
+ return svg ``;
38
+ const lineD = buildLinePath(points);
39
+ const fillColor = areaColor || cr.fill;
40
+ const areaD = `${lineD} L ${points[points.length - 1].x},${bottom} L ${points[0].x},${bottom} Z`;
41
+ return svg `<path d=${areaD} fill=${fillColor} opacity=${cr.opacity * 0.2} />`;
42
+ }
43
+ function renderCircles(points, crs, radius, ageStyle) {
44
+ return points.map((p, i) => {
45
+ const r = ageStyle === `size` ? radius * Math.max(0.2, p.ageFraction) : radius;
46
+ return svg `<circle cx=${p.x} cy=${p.y} r=${r} fill=${crs[i].fill} opacity=${crs[i].opacity} />`;
47
+ });
48
+ }
49
+ function renderSquares(points, crs, size, ageStyle) {
50
+ return points.map((p, i) => {
51
+ const s = ageStyle === `size` ? size * Math.max(0.2, p.ageFraction) : size;
52
+ return svg `<rect
53
+ x=${p.x - s / 2} y=${p.y - s / 2}
54
+ width=${s} height=${s}
55
+ fill=${crs[i].fill} opacity=${crs[i].opacity}
56
+ />`;
57
+ });
58
+ }
59
+ function renderVbars(points, crs, strokeW, bottom, ageStyle) {
60
+ return points.map((p, i) => {
61
+ const sw = ageStyle === `size` ? strokeW * Math.max(0.2, p.ageFraction) : strokeW;
62
+ return svg `<line
63
+ x1=${p.x} y1=${bottom} x2=${p.x} y2=${p.y}
64
+ stroke=${crs[i].fill} stroke-width=${sw} opacity=${crs[i].opacity}
65
+ />`;
66
+ });
67
+ }
68
+ function renderHbars(points, crs, strokeW, tickLen, ageStyle) {
69
+ return points.map((p, i) => {
70
+ const tl = ageStyle === `size` ? tickLen * Math.max(0.2, p.ageFraction) : tickLen;
71
+ return svg `<line
72
+ x1=${p.x - tl / 2} y1=${p.y} x2=${p.x + tl / 2} y2=${p.y}
73
+ stroke=${crs[i].fill} stroke-width=${strokeW} opacity=${crs[i].opacity}
74
+ />`;
75
+ });
76
+ }
77
+ function renderHistBottom(points, crs, barW, bottom, ageStyle) {
78
+ return points.map((p, i) => {
79
+ const w = ageStyle === `size` ? barW * Math.max(0.2, p.ageFraction) : barW;
80
+ return svg `<rect
81
+ x=${p.x - w / 2} y=${p.y}
82
+ width=${w} height=${Math.max(1, bottom - p.y)}
83
+ fill=${crs[i].fill} opacity=${crs[i].opacity}
84
+ />`;
85
+ });
86
+ }
87
+ function renderHistTop(points, crs, barW, top, ageStyle) {
88
+ return points.map((p, i) => {
89
+ const w = ageStyle === `size` ? barW * Math.max(0.2, p.ageFraction) : barW;
90
+ return svg `<rect
91
+ x=${p.x - w / 2} y=${top}
92
+ width=${w} height=${Math.max(1, p.y - top)}
93
+ fill=${crs[i].fill} opacity=${crs[i].opacity}
94
+ />`;
95
+ });
96
+ }
97
+ function renderHistMiddle(points, crs, barW, mid, ageStyle) {
98
+ return points.map((p, i) => {
99
+ const w = ageStyle === `size` ? barW * Math.max(0.2, p.ageFraction) : barW;
100
+ return svg `<rect
101
+ x=${p.x - w / 2} y=${Math.min(p.y, mid)}
102
+ width=${w} height=${Math.max(1, Math.abs(p.y - mid))}
103
+ fill=${crs[i].fill} opacity=${crs[i].opacity}
104
+ />`;
105
+ });
106
+ }
107
+ // --- Component ---
108
+ let PlotSingleAxis = class PlotSingleAxis extends LitElement {
109
+ constructor() {
110
+ super(...arguments);
111
+ this.drawStyle = `line-sharp`;
112
+ this.ageStyle = `none`;
113
+ this.title = ``;
114
+ this.precise = false;
115
+ this.tooltips = true;
116
+ this.capacity = 100;
117
+ this.persistentScale = true;
118
+ this.paused = false;
119
+ this.clickPauses = false;
120
+ this.shaded = false;
121
+ this.areaColor = '';
122
+ // --- Colour mapping ---
123
+ this.colorMode = `fixed`;
124
+ this.colorEasing = ``;
125
+ this.colorScale = ``;
126
+ /** Custom value-mapping function (0..1 → 0..1). Ignored when color-easing is set. */
127
+ this.colorValueMap = null;
128
+ this._width = 100;
129
+ this._height = 40;
130
+ this.#series = new PlotDataSeries({ capacityLimit: 100, persistentScaling: true });
131
+ this.#hasProgrammaticData = false;
132
+ /** Override to customize tooltip label. */
133
+ this.valueFormat = v => v ? v.toFixed(2) : ``;
134
+ this.#lastClientX = null;
135
+ this.#lastClientY = null;
136
+ this.#onPointerMove = (e) => {
137
+ this.#lastClientX = e.clientX;
138
+ this.#lastClientY = e.clientY;
139
+ this.#updateTooltip(e.clientX, e.clientY);
140
+ };
141
+ this.#onPointerLeave = () => {
142
+ this.#lastClientX = null;
143
+ this.#lastClientY = null;
144
+ hideTooltip(this);
145
+ };
146
+ this.#onClick = (e) => {
147
+ if (this.clickPauses)
148
+ this.paused = !this.paused;
149
+ const index = this.#getIndexFromX(e.clientX, this.getBoundingClientRect());
150
+ if (index < 0)
151
+ return;
152
+ this.dispatchEvent(new CustomEvent(`plot-datapoint-click`, {
153
+ detail: { value: this.#series.values[index], index },
154
+ bubbles: true,
155
+ composed: true,
156
+ }));
157
+ };
158
+ }
159
+ #series;
160
+ #hasProgrammaticData;
161
+ #parseDeclarativeData(text) {
162
+ if (!text)
163
+ return [];
164
+ const tokens = text.trim().split(/[,\s;]+/);
165
+ return tokens
166
+ .map(t => parseFloat(t))
167
+ .filter(n => !isNaN(n));
168
+ }
169
+ #lastClientX;
170
+ #lastClientY;
171
+ add(v) {
172
+ this.#hasProgrammaticData = true;
173
+ this.#series.add(v);
174
+ if (this.paused)
175
+ return;
176
+ this.requestUpdate();
177
+ this.#updateTooltipAtLastPos();
178
+ }
179
+ set(values) {
180
+ this.#hasProgrammaticData = true;
181
+ this.#series.set(values);
182
+ if (this.paused)
183
+ return;
184
+ this.requestUpdate();
185
+ this.#updateTooltipAtLastPos();
186
+ }
187
+ clear() {
188
+ this.#series.clear();
189
+ this.requestUpdate();
190
+ }
191
+ firstUpdated(_changed) {
192
+ this._width = this.clientWidth || 100;
193
+ this._height = this.clientHeight || 40;
194
+ const ro = new ResizeObserver((entries) => {
195
+ const e = entries[0];
196
+ this._width = e.contentRect.width;
197
+ this._height = e.contentRect.height;
198
+ });
199
+ ro.observe(this);
200
+ if (!this.#hasProgrammaticData) {
201
+ const data = this.#parseDeclarativeData(this.textContent ?? '');
202
+ if (data.length > 0) {
203
+ this.#series.set(data);
204
+ }
205
+ }
206
+ }
207
+ updated(changed) {
208
+ if (changed.has(`capacity`) || changed.has(`persistentScale`)) {
209
+ const old = [...this.#series.values];
210
+ this.#series = new PlotDataSeries({
211
+ capacityLimit: this.capacity,
212
+ persistentScaling: this.persistentScale,
213
+ });
214
+ if (old.length > 0)
215
+ this.#series.set(old);
216
+ }
217
+ }
218
+ #getIndexFromX(clientX, rect) {
219
+ const n = this.#series.values.length;
220
+ if (n === 0)
221
+ return -1;
222
+ const x = clientX - rect.left;
223
+ if (x < 0 || x > rect.width)
224
+ return -1;
225
+ const padding = rect.height < 20 ? 0 : Math.min(4, rect.height * 0.05);
226
+ const plotW = rect.width - padding * 2;
227
+ const index = Math.floor((x - padding) / (plotW / n));
228
+ return index >= 0 && index < n ? index : -1;
229
+ }
230
+ #updateTooltip(clientX, clientY) {
231
+ if (!this.tooltips)
232
+ return;
233
+ const rect = this.getBoundingClientRect();
234
+ const index = this.#getIndexFromX(clientX, rect);
235
+ if (index < 0) {
236
+ hideTooltip(this);
237
+ return;
238
+ }
239
+ showTooltip(this, clientX, clientY, this.valueFormat(this.#series.values[index]));
240
+ }
241
+ #updateTooltipAtLastPos() {
242
+ if (this.#lastClientX === null || this.#lastClientY === null)
243
+ return;
244
+ this.#updateTooltip(this.#lastClientX, this.#lastClientY);
245
+ }
246
+ #onPointerMove;
247
+ #onPointerLeave;
248
+ #onClick;
249
+ #computePoints(values, min, max, padding, plotW, plotH) {
250
+ const n = values.length;
251
+ const widthPerPoint = n > 0 ? plotW / n : plotW;
252
+ const scaleX = (i) => padding + (i + 0.5) * widthPerPoint;
253
+ return values.map((value, index) => {
254
+ const sv = scaleValue(value, min, max);
255
+ const ageFraction = n > 1 ? index / (n - 1) : 1;
256
+ return { x: scaleX(index), y: padding + (1 - sv) * plotH, value, scaledValue: sv, index, ageFraction };
257
+ });
258
+ }
259
+ #renderByStyle(points, crs, strokeW, radius, barW, bottom, top, mid) {
260
+ const lineCr = crs.at(-1) ?? { fill: `currentColor`, opacity: 1 };
261
+ const isLine = this.drawStyle === `line-sharp` || this.drawStyle === `line-round`;
262
+ const needsArea = isLine && this.shaded;
263
+ const areaColor = this.areaColor || undefined;
264
+ if (needsArea) {
265
+ const area = renderArea(points, lineCr, bottom, areaColor);
266
+ const line = this.drawStyle === `line-sharp`
267
+ ? renderLine(points, lineCr, strokeW, false)
268
+ : renderLine(points, lineCr, strokeW, true);
269
+ return [area, line];
270
+ }
271
+ switch (this.drawStyle) {
272
+ case `line-sharp`: return [renderLine(points, lineCr, strokeW, false)];
273
+ case `line-round`: return [renderLine(points, lineCr, strokeW, true)];
274
+ case `circles`: return renderCircles(points, crs, radius, this.ageStyle);
275
+ case `squares`: return renderSquares(points, crs, radius * 2, this.ageStyle);
276
+ case `vbar`: return renderVbars(points, crs, strokeW, bottom, this.ageStyle);
277
+ case `hbar`: return renderHbars(points, crs, strokeW, barW, this.ageStyle);
278
+ case `hist-bottom`: return renderHistBottom(points, crs, barW, bottom, this.ageStyle);
279
+ case `hist-top`: return renderHistTop(points, crs, barW, top, this.ageStyle);
280
+ case `hist-middle`: return renderHistMiddle(points, crs, barW, mid, this.ageStyle);
281
+ default: return [];
282
+ }
283
+ }
284
+ render() {
285
+ const { values, range } = this.#series;
286
+ const w = this._width;
287
+ const h = this._height;
288
+ const padding = h < 20 ? 0 : Math.min(4, h * 0.05);
289
+ const plotW = Math.max(1, w - padding * 2);
290
+ const plotH = Math.max(1, h - padding * 2);
291
+ const bottom = padding + plotH;
292
+ const top = padding;
293
+ const mid = padding + plotH / 2;
294
+ const strokeW = adaptiveStroke(w, h);
295
+ const radius = adaptiveRadius(w, h, values.length);
296
+ const barW = values.length > 0
297
+ ? Math.max(1, (plotW / values.length) * 0.85)
298
+ : plotW;
299
+ const textColor = `var(--plot-text, var(--surface-2-text, #fff))`;
300
+ const points = values.length > 0
301
+ ? this.#computePoints(values, range.min, range.max, padding, plotW, plotH)
302
+ : [];
303
+ // Colour mapping
304
+ const baseColour = points.length > 0 ? readBaseColour(this) : ``;
305
+ const colourConfig = {
306
+ mode: this.colorMode,
307
+ palette: parseColourScaleAttr(this.colorScale),
308
+ easingName: this.colorEasing,
309
+ valueMap: this.colorValueMap,
310
+ };
311
+ const isDiscrete = this.drawStyle !== `line-sharp` && this.drawStyle !== `line-round`;
312
+ const crs = points.map(p => {
313
+ const base = computeColour(p.scaledValue, baseColour, colourConfig);
314
+ return isDiscrete ? applyAgeModification(base, p.ageFraction, this.ageStyle) : base;
315
+ });
316
+ const dataContent = points.length > 0
317
+ ? this.#renderByStyle(points, crs, strokeW, radius, barW, bottom, top, mid)
318
+ : [];
319
+ const titleContent = this.title
320
+ ? svg `<text
321
+ x=${padding + 2} y=${top + Math.min(10, h * 0.6)}
322
+ class="overlay-text"
323
+ fill=${textColor}
324
+ style="opacity: 0.6"
325
+ >${this.title}</text>`
326
+ : svg ``;
327
+ const latestValue = values.length > 0 ? values.at(-1) : null;
328
+ const preciseContent = this.precise && latestValue !== null
329
+ ? svg `<text
330
+ x=${w - padding - 2} y=${top + Math.min(10, h * 0.6)}
331
+ class="overlay-text"
332
+ text-anchor="end"
333
+ fill=${textColor}
334
+ style="opacity: 0.8"
335
+ >${this.valueFormat(latestValue)}</text>`
336
+ : svg ``;
337
+ return html `
338
+ <svg
339
+ width=${w} height=${h}
340
+ viewBox="0 0 ${w} ${h}"
341
+ xmlns="http://www.w3.org/2000/svg"
342
+ @pointermove=${this.#onPointerMove}
343
+ @pointerleave=${this.#onPointerLeave}
344
+ @click=${this.#onClick}
345
+ >
346
+ <rect width=${w} height=${h} fill="transparent" />
347
+ ${dataContent.map(c => c)}
348
+ ${titleContent}
349
+ ${preciseContent}
350
+ </svg>
351
+ `;
352
+ }
353
+ static { this.styles = css `
354
+ :host {
355
+ display: inline-block;
356
+ width: 100%;
357
+ height: 100%;
358
+ min-width: 20px;
359
+ min-height: 4px;
360
+ }
361
+
362
+ svg {
363
+ display: block;
364
+ cursor: crosshair;
365
+ overflow: visible;
366
+ }
367
+
368
+ .overlay-text {
369
+ font-family: var(--font-mono, ui-monospace, monospace);
370
+ font-size: 9px;
371
+ dominant-baseline: hanging;
372
+ pointer-events: none;
373
+ }
374
+ `; }
375
+ };
376
+ __decorate([
377
+ property({ attribute: `draw-style` })
378
+ ], PlotSingleAxis.prototype, "drawStyle", void 0);
379
+ __decorate([
380
+ property({ attribute: `age-style` })
381
+ ], PlotSingleAxis.prototype, "ageStyle", void 0);
382
+ __decorate([
383
+ property()
384
+ ], PlotSingleAxis.prototype, "title", void 0);
385
+ __decorate([
386
+ property({ type: Boolean })
387
+ ], PlotSingleAxis.prototype, "precise", void 0);
388
+ __decorate([
389
+ property({ type: Boolean })
390
+ ], PlotSingleAxis.prototype, "tooltips", void 0);
391
+ __decorate([
392
+ property({ type: Number })
393
+ ], PlotSingleAxis.prototype, "capacity", void 0);
394
+ __decorate([
395
+ property({ type: Boolean, attribute: `persistent-scale` })
396
+ ], PlotSingleAxis.prototype, "persistentScale", void 0);
397
+ __decorate([
398
+ property({ type: Boolean, reflect: true })
399
+ ], PlotSingleAxis.prototype, "paused", void 0);
400
+ __decorate([
401
+ property({ type: Boolean, attribute: `click-pauses` })
402
+ ], PlotSingleAxis.prototype, "clickPauses", void 0);
403
+ __decorate([
404
+ property({ type: Boolean, attribute: 'shaded' })
405
+ ], PlotSingleAxis.prototype, "shaded", void 0);
406
+ __decorate([
407
+ property({ attribute: 'area-color' })
408
+ ], PlotSingleAxis.prototype, "areaColor", void 0);
409
+ __decorate([
410
+ property({ attribute: `color-mode` })
411
+ ], PlotSingleAxis.prototype, "colorMode", void 0);
412
+ __decorate([
413
+ property({ attribute: `color-easing` })
414
+ ], PlotSingleAxis.prototype, "colorEasing", void 0);
415
+ __decorate([
416
+ property({ attribute: `color-scale` })
417
+ ], PlotSingleAxis.prototype, "colorScale", void 0);
418
+ __decorate([
419
+ state()
420
+ ], PlotSingleAxis.prototype, "_width", void 0);
421
+ __decorate([
422
+ state()
423
+ ], PlotSingleAxis.prototype, "_height", void 0);
424
+ PlotSingleAxis = __decorate([
425
+ customElement(`ixfx-plot-single-axis`)
426
+ ], PlotSingleAxis);
427
+ export { PlotSingleAxis };
428
+ //# sourceMappingURL=single-axis.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"single-axis.js","sourceRoot":"","sources":["../../src/plots/single-axis.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Shared utilities for SVG-based plot components.
3
+ */
4
+ export declare function showTooltip(owner: Element, clientX: number, clientY: number, text: string): void;
5
+ export declare function hideTooltip(owner: Element): void;
6
+ /** Stroke width proportional to the smaller dimension of the viewport. */
7
+ export declare function adaptiveStroke(width: number, height: number): number;
8
+ /** Dot radius based on available space per data point and viewport height. */
9
+ export declare function adaptiveRadius(width: number, height: number, dataLength: number): number;
10
+ /** Normalize a value from [min, max] to [0, 1]. Returns 0.5 if range is zero. */
11
+ export declare function scaleValue(v: number, min: number, max: number): number;
12
+ //# sourceMappingURL=svg-utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-utils.d.ts","sourceRoot":"","sources":["../../src/plots/svg-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAgCH,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,IAAI,CAOhG;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAMhD;AAID,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,8EAA8E;AAC9E,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAKxF;AAID,iFAAiF;AACjF,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM,CAGtE"}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * Shared utilities for SVG-based plot components.
3
+ */
4
+ // --- Tooltip singleton ---
5
+ let _tooltipEl = null;
6
+ let _tooltipOwner = null;
7
+ function ensureTooltip() {
8
+ if (_tooltipEl)
9
+ return _tooltipEl;
10
+ const el = document.createElement(`div`);
11
+ el.style.cssText = `
12
+ position: fixed;
13
+ pointer-events: none;
14
+ z-index: 9999;
15
+ background: var(--surface-5);
16
+ color: var(--surface-5-text);
17
+ border: var(--border);
18
+ border-radius: var(--radius-l, 6px);
19
+ box-shadow: var(--shadow-m);
20
+ padding: 2px 6px;
21
+ font-size: 10px;
22
+ font-family: ui-monospace, monospace;
23
+ white-space: nowrap;
24
+ opacity: 0;
25
+ transition: opacity 0.1s ease;
26
+ `;
27
+ document.body.appendChild(el);
28
+ _tooltipEl = el;
29
+ return el;
30
+ }
31
+ export function showTooltip(owner, clientX, clientY, text) {
32
+ const el = ensureTooltip();
33
+ _tooltipOwner = owner;
34
+ el.textContent = text;
35
+ el.style.left = `${clientX + 14}px`;
36
+ el.style.top = `${clientY + 14}px`;
37
+ el.style.opacity = `1`;
38
+ }
39
+ export function hideTooltip(owner) {
40
+ if (_tooltipOwner !== owner)
41
+ return;
42
+ const el = ensureTooltip();
43
+ el.style.opacity = `0`;
44
+ _tooltipOwner = null;
45
+ }
46
+ // --- Sizing helpers ---
47
+ /** Stroke width proportional to the smaller dimension of the viewport. */
48
+ export function adaptiveStroke(width, height) {
49
+ return Math.max(1, Math.min(width, height) / 25);
50
+ }
51
+ /** Dot radius based on available space per data point and viewport height. */
52
+ export function adaptiveRadius(width, height, dataLength) {
53
+ if (dataLength === 0)
54
+ return 3;
55
+ const widthPerPoint = width / dataLength;
56
+ return Math.max(1.5, Math.min(widthPerPoint * 0.45, height * 0.2, 8));
57
+ }
58
+ // --- Value scaling ---
59
+ /** Normalize a value from [min, max] to [0, 1]. Returns 0.5 if range is zero. */
60
+ export function scaleValue(v, min, max) {
61
+ const range = max - min;
62
+ return range === 0 ? 0.5 : (v - min) / range;
63
+ }
64
+ //# sourceMappingURL=svg-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"svg-utils.js","sourceRoot":"","sources":["../../src/plots/svg-utils.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,4BAA4B;AAE5B,IAAI,UAAU,GAA0B,IAAI,CAAC;AAC7C,IAAI,aAAa,GAAmB,IAAI,CAAC;AAEzC,SAAS,aAAa;IACpB,IAAI,UAAU;QACZ,OAAO,UAAU,CAAC;IACpB,MAAM,EAAE,GAAG,QAAQ,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;;;;;;GAelB,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC9B,UAAU,GAAG,EAAE,CAAC;IAChB,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc,EAAE,OAAe,EAAE,OAAe,EAAE,IAAY;IACxF,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,aAAa,GAAG,KAAK,CAAC;IACtB,EAAE,CAAC,WAAW,GAAG,IAAI,CAAC;IACtB,EAAE,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,OAAO,GAAG,EAAE,IAAI,CAAC;IACpC,EAAE,CAAC,KAAK,CAAC,GAAG,GAAG,GAAG,OAAO,GAAG,EAAE,IAAI,CAAC;IACnC,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,IAAI,aAAa,KAAK,KAAK;QACzB,OAAO;IACT,MAAM,EAAE,GAAG,aAAa,EAAE,CAAC;IAC3B,EAAE,CAAC,KAAK,CAAC,OAAO,GAAG,GAAG,CAAC;IACvB,aAAa,GAAG,IAAI,CAAC;AACvB,CAAC;AAED,yBAAyB;AAEzB,0EAA0E;AAC1E,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,MAAc;IAC1D,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;AACnD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,MAAc,EAAE,UAAkB;IAC9E,IAAI,UAAU,KAAK,CAAC;QAClB,OAAO,CAAC,CAAC;IACX,MAAM,aAAa,GAAG,KAAK,GAAG,UAAU,CAAC;IACzC,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,aAAa,GAAG,IAAI,EAAE,MAAM,GAAG,GAAG,EAAE,CAAC,CAAC,CAAC,CAAC;AACxE,CAAC;AAED,wBAAwB;AAExB,iFAAiF;AACjF,MAAM,UAAU,UAAU,CAAC,CAAS,EAAE,GAAW,EAAE,GAAW;IAC5D,MAAM,KAAK,GAAG,GAAG,GAAG,GAAG,CAAC;IACxB,OAAO,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,GAAG,KAAK,CAAC;AAC/C,CAAC"}
@@ -0,0 +1,42 @@
1
+ import type { PropertyValues } from 'lit';
2
+ import type { ColourMode } from './colour-map.js';
3
+ import { LitElement } from 'lit';
4
+ export type XyDrawStyle = `circles` | `squares`;
5
+ export type XyAgeStyle = `none` | `opacity` | `desaturation` | `size`;
6
+ export declare class PlotXyAxis extends LitElement {
7
+ #private;
8
+ drawStyle: XyDrawStyle;
9
+ ageStyle: XyAgeStyle;
10
+ title: string;
11
+ precise: boolean;
12
+ tooltips: boolean;
13
+ capacity: number;
14
+ persistentScale: boolean;
15
+ paused: boolean;
16
+ clickPauses: boolean;
17
+ colorMode: ColourMode;
18
+ colorEasing: string;
19
+ colorScale: string;
20
+ /**
21
+ * Custom value-mapping fn (0..1 → 0..1). For xy-axis the input is the point's ageFraction
22
+ * (0 = oldest, 1 = newest). Ignored when color-easing is set.
23
+ */
24
+ colorValueMap: ((v: number) => number) | null;
25
+ private _width;
26
+ private _height;
27
+ /** Override to customize tooltip label. */
28
+ valueFormat: (x: number, y: number) => string;
29
+ add(x: number, y: number): void;
30
+ setXY(xs: number[], ys: number[]): void;
31
+ clear(): void;
32
+ protected firstUpdated(_changed: PropertyValues): void;
33
+ protected updated(changed: PropertyValues): void;
34
+ render(): import("lit").TemplateResult<1>;
35
+ static styles: import("lit").CSSResult;
36
+ }
37
+ declare global {
38
+ interface HTMLElementTagNameMap {
39
+ 'ixfx-plot-xy-axis': PlotXyAxis;
40
+ }
41
+ }
42
+ //# sourceMappingURL=xy-axis.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"xy-axis.d.ts","sourceRoot":"","sources":["../../src/plots/xy-axis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,KAAK,EAAE,UAAU,EAAgB,MAAM,iBAAiB,CAAC;AAChE,OAAO,EAAa,UAAU,EAAO,MAAM,KAAK,CAAC;AAMjD,MAAM,MAAM,WAAW,GAAG,SAAS,GAAG,SAAS,CAAC;AAChD,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,SAAS,GAAG,cAAc,GAAG,MAAM,CAAC;AAMtE,qBACa,UAAW,SAAQ,UAAU;;IAExC,SAAS,EAAE,WAAW,CAAa;IAGnC,QAAQ,EAAE,UAAU,CAAU;IAElB,KAAK,SAAM;IACM,OAAO,UAAS;IAChB,QAAQ,UAAQ;IACjB,QAAQ,SAAO;IAG3C,eAAe,UAAQ;IAEqB,MAAM,UAAS;IACH,WAAW,UAAS;IAGrC,SAAS,EAAE,UAAU,CAAW;IAC9B,WAAW,SAAM;IAClB,UAAU,SAAM;IACxD;;;OAGG;IACH,aAAa,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC,GAAG,IAAI,CAAQ;IAE5C,OAAO,CAAC,MAAM,CAAO;IACrB,OAAO,CAAC,OAAO,CAAO;IAK/B,2CAA2C;IAC3C,WAAW,EAAE,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,KAAK,MAAM,CAAgD;IAE7F,GAAG,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,IAAI;IAS/B,KAAK,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,GAAG,IAAI;IASvC,KAAK,IAAI,IAAI;cAMM,YAAY,CAAC,QAAQ,EAAE,cAAc,GAAG,IAAI;cAW5C,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,IAAI;IA8GhD,MAAM;IAkEf,OAAgB,MAAM,0BAoBpB;CACH;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,mBAAmB,EAAE,UAAU,CAAC;KACjC;CACF"}