@ixfx/components 0.2.4 → 0.2.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 (717) hide show
  1. package/bundle/index.d.ts +130 -130
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +2196 -2196
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-text.d.ts +97 -0
  6. package/dist/ac-text.d.ts.map +1 -0
  7. package/dist/ac-text.js +484 -0
  8. package/dist/ac-text.js.map +1 -0
  9. package/dist/{button/button-styles.js → button-DgKUzE5o.js} +49 -3
  10. package/dist/button-DgKUzE5o.js.map +1 -0
  11. package/dist/button.d.ts +21 -0
  12. package/dist/button.d.ts.map +1 -0
  13. package/dist/button.js +3 -0
  14. package/dist/checkbox.d.ts +27 -57
  15. package/dist/checkbox.d.ts.map +1 -1
  16. package/dist/checkbox.js +74 -88
  17. package/dist/checkbox.js.map +1 -1
  18. package/dist/chunk-pbuEa-1d.js +13 -0
  19. package/dist/colour-C3MQIjFJ-BJV-QC-3.js +4138 -0
  20. package/dist/colour-C3MQIjFJ-BJV-QC-3.js.map +1 -0
  21. package/dist/colour-picker-Bw-AZoWx.js +922 -0
  22. package/dist/colour-picker-Bw-AZoWx.js.map +1 -0
  23. package/dist/colour-picker.d.ts +2 -0
  24. package/dist/colour-picker.js +2 -0
  25. package/dist/crumbs.d.ts +92 -0
  26. package/dist/crumbs.d.ts.map +1 -0
  27. package/dist/crumbs.js +789 -0
  28. package/dist/crumbs.js.map +1 -0
  29. package/dist/data-display.d.ts +23 -18
  30. package/dist/data-display.d.ts.map +1 -1
  31. package/dist/data-display.js +82 -108
  32. package/dist/data-display.js.map +1 -1
  33. package/dist/decorate-BZbkqIhA.js +9 -0
  34. package/dist/defaults-FEZaGiYZ.js +38 -0
  35. package/dist/defaults-FEZaGiYZ.js.map +1 -0
  36. package/dist/dist-By5URG0Y.js +1290 -0
  37. package/dist/dist-By5URG0Y.js.map +1 -0
  38. package/dist/dist-D7kJgnSE.js +1039 -0
  39. package/dist/dist-D7kJgnSE.js.map +1 -0
  40. package/dist/editable-label.d.ts +71 -0
  41. package/dist/editable-label.d.ts.map +1 -0
  42. package/dist/editable-label.js +279 -0
  43. package/dist/editable-label.js.map +1 -0
  44. package/dist/hex-editor-Gib1Grg2.d.ts +131 -0
  45. package/dist/hex-editor-Gib1Grg2.d.ts.map +1 -0
  46. package/dist/hex-editor-Wd6ZtZA2.js +1147 -0
  47. package/dist/hex-editor-Wd6ZtZA2.js.map +1 -0
  48. package/dist/hex.d.ts +2 -0
  49. package/dist/hex.js +2 -0
  50. package/dist/highlight-CAjwQ4GE.js +50 -0
  51. package/dist/highlight-CAjwQ4GE.js.map +1 -0
  52. package/dist/icon-BR5aTIiP.js +100 -0
  53. package/dist/icon-BR5aTIiP.js.map +1 -0
  54. package/dist/icon-DQKdfR7U.d.ts +36 -0
  55. package/dist/icon-DQKdfR7U.d.ts.map +1 -0
  56. package/dist/icons.d.ts +3 -0
  57. package/dist/icons.js +9 -0
  58. package/dist/icons.js.map +1 -0
  59. package/dist/incr-search-BjCNClnC.js +311 -0
  60. package/dist/incr-search-BjCNClnC.js.map +1 -0
  61. package/dist/incr-search.d.ts +2 -0
  62. package/dist/incr-search.js +3 -0
  63. package/dist/index-B1hNR7Z9.d.ts +36 -0
  64. package/dist/index-B1hNR7Z9.d.ts.map +1 -0
  65. package/dist/index-C5dK8RZa.d.ts +23 -0
  66. package/dist/index-C5dK8RZa.d.ts.map +1 -0
  67. package/dist/index-C9iBN908.d.ts +160 -0
  68. package/dist/index-C9iBN908.d.ts.map +1 -0
  69. package/dist/index-CPVcTTXo.d.ts +396 -0
  70. package/dist/index-CPVcTTXo.d.ts.map +1 -0
  71. package/dist/index-CQxanqXF.d.ts +183 -0
  72. package/dist/index-CQxanqXF.d.ts.map +1 -0
  73. package/dist/index-CpbBI3n7.d.ts +1239 -0
  74. package/dist/index-CpbBI3n7.d.ts.map +1 -0
  75. package/dist/index.d.ts +422 -53
  76. package/dist/index.d.ts.map +1 -1
  77. package/dist/index.js +5729 -54
  78. package/dist/index.js.map +1 -1
  79. package/dist/interaction-CQDQJf2Q.js +1 -0
  80. package/dist/keyboard-De_vOHLg.js +20 -0
  81. package/dist/keyboard-De_vOHLg.js.map +1 -0
  82. package/dist/labelled-input-base-DS6-6C0r.js +155 -0
  83. package/dist/labelled-input-base-DS6-6C0r.js.map +1 -0
  84. package/dist/labelled-input-base-DnRh4reU.d.ts +43 -0
  85. package/dist/labelled-input-base-DnRh4reU.d.ts.map +1 -0
  86. package/dist/labelled-radial-input.d.ts +34 -0
  87. package/dist/labelled-radial-input.d.ts.map +1 -0
  88. package/dist/labelled-radial-input.js +188 -0
  89. package/dist/labelled-radial-input.js.map +1 -0
  90. package/dist/labelled-range-input.d.ts +2 -0
  91. package/dist/{labelled-range-input/labelled-range-input.js → labelled-range-input.js} +40 -45
  92. package/dist/labelled-range-input.js.map +1 -0
  93. package/dist/led.d.ts +21 -16
  94. package/dist/led.d.ts.map +1 -1
  95. package/dist/led.js +70 -78
  96. package/dist/led.js.map +1 -1
  97. package/dist/menu-BV6UFx_z.js +813 -0
  98. package/dist/menu-BV6UFx_z.js.map +1 -0
  99. package/dist/menu-item-Cikacp4F.d.ts +128 -0
  100. package/dist/menu-item-Cikacp4F.d.ts.map +1 -0
  101. package/dist/menu-item-DEzL_Yjk.js +766 -0
  102. package/dist/menu-item-DEzL_Yjk.js.map +1 -0
  103. package/dist/menu.d.ts +3 -0
  104. package/dist/menu.js +3 -0
  105. package/dist/miller.d.ts +324 -0
  106. package/dist/miller.d.ts.map +1 -0
  107. package/dist/miller.js +1343 -0
  108. package/dist/miller.js.map +1 -0
  109. package/dist/narrowed-text.d.ts +72 -0
  110. package/dist/narrowed-text.d.ts.map +1 -0
  111. package/dist/narrowed-text.js +571 -0
  112. package/dist/narrowed-text.js.map +1 -0
  113. package/dist/panel.d.ts +43 -0
  114. package/dist/panel.d.ts.map +1 -0
  115. package/dist/{panel/panel.js → panel.js} +82 -91
  116. package/dist/panel.js.map +1 -0
  117. package/dist/plots.d.ts +2 -0
  118. package/dist/plots.js +2 -0
  119. package/dist/polar-pad.d.ts +67 -0
  120. package/dist/polar-pad.d.ts.map +1 -0
  121. package/dist/polar-pad.js +537 -0
  122. package/dist/polar-pad.js.map +1 -0
  123. package/dist/popup-Ddx9LCzY.js +24 -0
  124. package/dist/popup-Ddx9LCzY.js.map +1 -0
  125. package/dist/prominence-CreDBdCs.js +98 -0
  126. package/dist/prominence-CreDBdCs.js.map +1 -0
  127. package/dist/radial-input-CNJ8asY2.js +849 -0
  128. package/dist/radial-input-CNJ8asY2.js.map +1 -0
  129. package/dist/radial-input-xSTd4kEz.d.ts +70 -0
  130. package/dist/radial-input-xSTd4kEz.d.ts.map +1 -0
  131. package/dist/radial-input.d.ts +2 -0
  132. package/dist/radial-input.js +2 -0
  133. package/dist/range-input.d.ts +43 -0
  134. package/dist/range-input.d.ts.map +1 -0
  135. package/dist/{range-input/range-input.js → range-input.js} +155 -168
  136. package/dist/range-input.js.map +1 -0
  137. package/dist/range.d.ts +28 -0
  138. package/dist/range.d.ts.map +1 -0
  139. package/dist/range.js +136 -0
  140. package/dist/range.js.map +1 -0
  141. package/dist/registry-CZEB1YI9.js +21 -0
  142. package/dist/registry-CZEB1YI9.js.map +1 -0
  143. package/dist/selecthorizontal.d.ts +13 -8
  144. package/dist/selecthorizontal.d.ts.map +1 -1
  145. package/dist/selecthorizontal.js +19 -23
  146. package/dist/selecthorizontal.js.map +1 -1
  147. package/dist/snap-container.d.ts +50 -0
  148. package/dist/snap-container.d.ts.map +1 -0
  149. package/dist/snap-container.js +297 -0
  150. package/dist/snap-container.js.map +1 -0
  151. package/dist/{split-layout/split-layout.d.ts → split-layout.d.ts} +30 -25
  152. package/dist/split-layout.d.ts.map +1 -0
  153. package/dist/split-layout.js +545 -0
  154. package/dist/split-layout.js.map +1 -0
  155. package/dist/style.css +133 -0
  156. package/dist/swipe.d.ts +48 -0
  157. package/dist/swipe.d.ts.map +1 -0
  158. package/dist/swipe.js +204 -0
  159. package/dist/swipe.js.map +1 -0
  160. package/dist/tab-list-CFF7uSYH.d.ts +66 -0
  161. package/dist/tab-list-CFF7uSYH.d.ts.map +1 -0
  162. package/dist/tabs.d.ts +2 -0
  163. package/dist/tabs.js +203 -0
  164. package/dist/tabs.js.map +1 -0
  165. package/dist/tickled-controller-Cq1Va0rR.d.ts +218 -0
  166. package/dist/tickled-controller-Cq1Va0rR.d.ts.map +1 -0
  167. package/dist/tickled-styles-Bg3QbcrD.js +327 -0
  168. package/dist/tickled-styles-Bg3QbcrD.js.map +1 -0
  169. package/dist/timeline-DBWJsSjd.js +1748 -0
  170. package/dist/timeline-DBWJsSjd.js.map +1 -0
  171. package/dist/timeline.d.ts +2 -0
  172. package/dist/timeline.js +2 -0
  173. package/dist/{styles/tooltip.js → tooltip-DMxmBNky.js} +6 -2
  174. package/dist/tooltip-DMxmBNky.js.map +1 -0
  175. package/dist/tooltip-kfUBWYVB.d.ts +26 -0
  176. package/dist/tooltip-kfUBWYVB.d.ts.map +1 -0
  177. package/dist/tree-component-CQpoPo4s.d.ts +326 -0
  178. package/dist/tree-component-CQpoPo4s.d.ts.map +1 -0
  179. package/dist/tree-data-model-DGvRVOFY.js +190 -0
  180. package/dist/tree-data-model-DGvRVOFY.js.map +1 -0
  181. package/dist/tree.d.ts +100 -0
  182. package/dist/tree.d.ts.map +1 -0
  183. package/dist/tree.js +1144 -0
  184. package/dist/tree.js.map +1 -0
  185. package/dist/types-BKaqnpwx.d.ts +8 -0
  186. package/dist/types-BKaqnpwx.d.ts.map +1 -0
  187. package/dist/xy-axis-BANbgrI5.js +6243 -0
  188. package/dist/xy-axis-BANbgrI5.js.map +1 -0
  189. package/dist/xy-axis-CIFok7MF.d.ts +141 -0
  190. package/dist/xy-axis-CIFok7MF.d.ts.map +1 -0
  191. package/dist/xy-pad.d.ts +74 -110
  192. package/dist/xy-pad.d.ts.map +1 -1
  193. package/dist/xy-pad.js +300 -320
  194. package/dist/xy-pad.js.map +1 -1
  195. package/package.json +10 -18
  196. package/dist/ac-text/ac-text.d.ts +0 -99
  197. package/dist/ac-text/ac-text.d.ts.map +0 -1
  198. package/dist/ac-text/ac-text.js +0 -571
  199. package/dist/ac-text/ac-text.js.map +0 -1
  200. package/dist/button/button-styles.d.ts +0 -2
  201. package/dist/button/button-styles.d.ts.map +0 -1
  202. package/dist/button/button-styles.js.map +0 -1
  203. package/dist/button/button.d.ts +0 -16
  204. package/dist/button/button.d.ts.map +0 -1
  205. package/dist/button/button.js +0 -58
  206. package/dist/button/button.js.map +0 -1
  207. package/dist/button/radio-group.d.ts +0 -44
  208. package/dist/button/radio-group.d.ts.map +0 -1
  209. package/dist/button/radio-group.js +0 -385
  210. package/dist/button/radio-group.js.map +0 -1
  211. package/dist/button/split-button.d.ts +0 -59
  212. package/dist/button/split-button.d.ts.map +0 -1
  213. package/dist/button/split-button.js +0 -480
  214. package/dist/button/split-button.js.map +0 -1
  215. package/dist/button/types.d.ts +0 -18
  216. package/dist/button/types.d.ts.map +0 -1
  217. package/dist/button/types.js +0 -2
  218. package/dist/button/types.js.map +0 -1
  219. package/dist/colour-picker/colour-picker-popup.d.ts +0 -102
  220. package/dist/colour-picker/colour-picker-popup.d.ts.map +0 -1
  221. package/dist/colour-picker/colour-picker-popup.js +0 -399
  222. package/dist/colour-picker/colour-picker-popup.js.map +0 -1
  223. package/dist/colour-picker/colour-picker.d.ts +0 -100
  224. package/dist/colour-picker/colour-picker.d.ts.map +0 -1
  225. package/dist/colour-picker/colour-picker.js +0 -567
  226. package/dist/colour-picker/colour-picker.js.map +0 -1
  227. package/dist/colour-picker/index.d.ts +0 -4
  228. package/dist/colour-picker/index.d.ts.map +0 -1
  229. package/dist/colour-picker/index.js +0 -3
  230. package/dist/colour-picker/index.js.map +0 -1
  231. package/dist/colour-picker/styles.d.ts +0 -2
  232. package/dist/colour-picker/styles.d.ts.map +0 -1
  233. package/dist/colour-picker/styles.js +0 -139
  234. package/dist/colour-picker/styles.js.map +0 -1
  235. package/dist/colour-picker/types.d.ts +0 -33
  236. package/dist/colour-picker/types.d.ts.map +0 -1
  237. package/dist/colour-picker/types.js +0 -2
  238. package/dist/colour-picker/types.js.map +0 -1
  239. package/dist/colour-picker/util.d.ts +0 -15
  240. package/dist/colour-picker/util.d.ts.map +0 -1
  241. package/dist/colour-picker/util.js +0 -35
  242. package/dist/colour-picker/util.js.map +0 -1
  243. package/dist/common/searchable.d.ts +0 -9
  244. package/dist/common/searchable.d.ts.map +0 -1
  245. package/dist/common/searchable.js +0 -9
  246. package/dist/common/searchable.js.map +0 -1
  247. package/dist/common/tree-component.d.ts +0 -172
  248. package/dist/common/tree-component.d.ts.map +0 -1
  249. package/dist/common/tree-component.js +0 -8
  250. package/dist/common/tree-component.js.map +0 -1
  251. package/dist/common/tree-data-model.d.ts +0 -100
  252. package/dist/common/tree-data-model.d.ts.map +0 -1
  253. package/dist/common/tree-data-model.js +0 -207
  254. package/dist/common/tree-data-model.js.map +0 -1
  255. package/dist/common/tree-item.d.ts +0 -7
  256. package/dist/common/tree-item.d.ts.map +0 -1
  257. package/dist/common/tree-item.js +0 -2
  258. package/dist/common/tree-item.js.map +0 -1
  259. package/dist/common/types.d.ts +0 -69
  260. package/dist/common/types.d.ts.map +0 -1
  261. package/dist/common/types.js +0 -6
  262. package/dist/common/types.js.map +0 -1
  263. package/dist/crumbs/crumb-navigation.d.ts +0 -96
  264. package/dist/crumbs/crumb-navigation.d.ts.map +0 -1
  265. package/dist/crumbs/crumb-navigation.js +0 -911
  266. package/dist/crumbs/crumb-navigation.js.map +0 -1
  267. package/dist/crumbs/crumb-path-controller.d.ts +0 -18
  268. package/dist/crumbs/crumb-path-controller.d.ts.map +0 -1
  269. package/dist/crumbs/crumb-path-controller.js +0 -81
  270. package/dist/crumbs/crumb-path-controller.js.map +0 -1
  271. package/dist/crumbs/crumb-path.d.ts +0 -65
  272. package/dist/crumbs/crumb-path.d.ts.map +0 -1
  273. package/dist/crumbs/crumb-path.js +0 -691
  274. package/dist/crumbs/crumb-path.js.map +0 -1
  275. package/dist/editable-label/editable-label.d.ts +0 -98
  276. package/dist/editable-label/editable-label.d.ts.map +0 -1
  277. package/dist/editable-label/editable-label.js +0 -348
  278. package/dist/editable-label/editable-label.js.map +0 -1
  279. package/dist/editable-label/editable-number.d.ts +0 -96
  280. package/dist/editable-label/editable-number.d.ts.map +0 -1
  281. package/dist/editable-label/editable-number.js +0 -702
  282. package/dist/editable-label/editable-number.js.map +0 -1
  283. package/dist/hex/colour.d.ts +0 -6
  284. package/dist/hex/colour.d.ts.map +0 -1
  285. package/dist/hex/colour.js +0 -33
  286. package/dist/hex/colour.js.map +0 -1
  287. package/dist/hex/data.d.ts +0 -18
  288. package/dist/hex/data.d.ts.map +0 -1
  289. package/dist/hex/data.js +0 -61
  290. package/dist/hex/data.js.map +0 -1
  291. package/dist/hex/diff.d.ts +0 -14
  292. package/dist/hex/diff.d.ts.map +0 -1
  293. package/dist/hex/diff.js +0 -31
  294. package/dist/hex/diff.js.map +0 -1
  295. package/dist/hex/hex-editor.d.ts +0 -101
  296. package/dist/hex/hex-editor.d.ts.map +0 -1
  297. package/dist/hex/hex-editor.js +0 -894
  298. package/dist/hex/hex-editor.js.map +0 -1
  299. package/dist/hex/selection.d.ts +0 -11
  300. package/dist/hex/selection.d.ts.map +0 -1
  301. package/dist/hex/selection.js +0 -218
  302. package/dist/hex/selection.js.map +0 -1
  303. package/dist/hex/types.d.ts +0 -34
  304. package/dist/hex/types.d.ts.map +0 -1
  305. package/dist/hex/types.js +0 -4
  306. package/dist/hex/types.js.map +0 -1
  307. package/dist/icons/defaults.d.ts +0 -27
  308. package/dist/icons/defaults.d.ts.map +0 -1
  309. package/dist/icons/defaults.js +0 -34
  310. package/dist/icons/defaults.js.map +0 -1
  311. package/dist/icons/icon.d.ts +0 -31
  312. package/dist/icons/icon.d.ts.map +0 -1
  313. package/dist/icons/icon.js +0 -125
  314. package/dist/icons/icon.js.map +0 -1
  315. package/dist/icons/index.d.ts +0 -5
  316. package/dist/icons/index.d.ts.map +0 -1
  317. package/dist/icons/index.js +0 -6
  318. package/dist/icons/index.js.map +0 -1
  319. package/dist/icons/registry.d.ts +0 -11
  320. package/dist/icons/registry.d.ts.map +0 -1
  321. package/dist/icons/registry.js +0 -17
  322. package/dist/icons/registry.js.map +0 -1
  323. package/dist/incr-search/ac-adapter.d.ts +0 -18
  324. package/dist/incr-search/ac-adapter.d.ts.map +0 -1
  325. package/dist/incr-search/ac-adapter.js +0 -29
  326. package/dist/incr-search/ac-adapter.js.map +0 -1
  327. package/dist/incr-search/controller-miller.d.ts +0 -9
  328. package/dist/incr-search/controller-miller.d.ts.map +0 -1
  329. package/dist/incr-search/controller-miller.js +0 -8
  330. package/dist/incr-search/controller-miller.js.map +0 -1
  331. package/dist/incr-search/controller-tree.d.ts +0 -55
  332. package/dist/incr-search/controller-tree.d.ts.map +0 -1
  333. package/dist/incr-search/controller-tree.js +0 -106
  334. package/dist/incr-search/controller-tree.js.map +0 -1
  335. package/dist/incr-search/element-search.d.ts +0 -15
  336. package/dist/incr-search/element-search.d.ts.map +0 -1
  337. package/dist/incr-search/element-search.js +0 -82
  338. package/dist/incr-search/element-search.js.map +0 -1
  339. package/dist/incr-search/fuzzy.d.ts +0 -3
  340. package/dist/incr-search/fuzzy.d.ts.map +0 -1
  341. package/dist/incr-search/fuzzy.js +0 -37
  342. package/dist/incr-search/fuzzy.js.map +0 -1
  343. package/dist/incr-search/highlight.d.ts +0 -5
  344. package/dist/incr-search/highlight.d.ts.map +0 -1
  345. package/dist/incr-search/highlight.js +0 -54
  346. package/dist/incr-search/highlight.js.map +0 -1
  347. package/dist/incr-search/incr-search.d.ts +0 -3
  348. package/dist/incr-search/incr-search.d.ts.map +0 -1
  349. package/dist/incr-search/incr-search.js +0 -73
  350. package/dist/incr-search/incr-search.js.map +0 -1
  351. package/dist/incr-search/index.d.ts +0 -12
  352. package/dist/incr-search/index.d.ts.map +0 -1
  353. package/dist/incr-search/index.js +0 -8
  354. package/dist/incr-search/index.js.map +0 -1
  355. package/dist/incr-search/types.d.ts +0 -59
  356. package/dist/incr-search/types.d.ts.map +0 -1
  357. package/dist/incr-search/types.js +0 -2
  358. package/dist/incr-search/types.js.map +0 -1
  359. package/dist/interaction/index.d.ts +0 -10
  360. package/dist/interaction/index.d.ts.map +0 -1
  361. package/dist/interaction/index.js +0 -10
  362. package/dist/interaction/index.js.map +0 -1
  363. package/dist/interaction/tickled-controller.d.ts +0 -186
  364. package/dist/interaction/tickled-controller.d.ts.map +0 -1
  365. package/dist/interaction/tickled-controller.js +0 -256
  366. package/dist/interaction/tickled-controller.js.map +0 -1
  367. package/dist/interaction/tickled-styles.d.ts +0 -53
  368. package/dist/interaction/tickled-styles.d.ts.map +0 -1
  369. package/dist/interaction/tickled-styles.js +0 -106
  370. package/dist/interaction/tickled-styles.js.map +0 -1
  371. package/dist/interaction/tree-keyboard-controller.d.ts +0 -30
  372. package/dist/interaction/tree-keyboard-controller.d.ts.map +0 -1
  373. package/dist/interaction/tree-keyboard-controller.js +0 -105
  374. package/dist/interaction/tree-keyboard-controller.js.map +0 -1
  375. package/dist/keyboard.d.ts +0 -16
  376. package/dist/keyboard.d.ts.map +0 -1
  377. package/dist/keyboard.js +0 -22
  378. package/dist/keyboard.js.map +0 -1
  379. package/dist/labelled-radial-input/index.d.ts +0 -2
  380. package/dist/labelled-radial-input/index.d.ts.map +0 -1
  381. package/dist/labelled-radial-input/index.js +0 -2
  382. package/dist/labelled-radial-input/index.js.map +0 -1
  383. package/dist/labelled-radial-input/labelled-radial-input.d.ts +0 -77
  384. package/dist/labelled-radial-input/labelled-radial-input.d.ts.map +0 -1
  385. package/dist/labelled-radial-input/labelled-radial-input.js +0 -214
  386. package/dist/labelled-radial-input/labelled-radial-input.js.map +0 -1
  387. package/dist/labelled-range-input/index.d.ts +0 -2
  388. package/dist/labelled-range-input/index.d.ts.map +0 -1
  389. package/dist/labelled-range-input/index.js +0 -2
  390. package/dist/labelled-range-input/index.js.map +0 -1
  391. package/dist/labelled-range-input/labelled-range-input.d.ts +0 -80
  392. package/dist/labelled-range-input/labelled-range-input.d.ts.map +0 -1
  393. package/dist/labelled-range-input/labelled-range-input.js.map +0 -1
  394. package/dist/menu/index.d.ts +0 -14
  395. package/dist/menu/index.d.ts.map +0 -1
  396. package/dist/menu/index.js +0 -13
  397. package/dist/menu/index.js.map +0 -1
  398. package/dist/menu/menu-bar.d.ts +0 -23
  399. package/dist/menu/menu-bar.d.ts.map +0 -1
  400. package/dist/menu/menu-bar.js +0 -110
  401. package/dist/menu/menu-bar.js.map +0 -1
  402. package/dist/menu/menu-check-item.d.ts +0 -33
  403. package/dist/menu/menu-check-item.d.ts.map +0 -1
  404. package/dist/menu/menu-check-item.js +0 -175
  405. package/dist/menu/menu-check-item.js.map +0 -1
  406. package/dist/menu/menu-command-controller.d.ts +0 -14
  407. package/dist/menu/menu-command-controller.d.ts.map +0 -1
  408. package/dist/menu/menu-command-controller.js +0 -22
  409. package/dist/menu/menu-command-controller.js.map +0 -1
  410. package/dist/menu/menu-container.d.ts +0 -36
  411. package/dist/menu/menu-container.d.ts.map +0 -1
  412. package/dist/menu/menu-container.js +0 -351
  413. package/dist/menu/menu-container.js.map +0 -1
  414. package/dist/menu/menu-from-tree.d.ts +0 -17
  415. package/dist/menu/menu-from-tree.d.ts.map +0 -1
  416. package/dist/menu/menu-from-tree.js +0 -103
  417. package/dist/menu/menu-from-tree.js.map +0 -1
  418. package/dist/menu/menu-header.d.ts +0 -12
  419. package/dist/menu/menu-header.d.ts.map +0 -1
  420. package/dist/menu/menu-header.js +0 -36
  421. package/dist/menu/menu-header.js.map +0 -1
  422. package/dist/menu/menu-item.d.ts +0 -41
  423. package/dist/menu/menu-item.d.ts.map +0 -1
  424. package/dist/menu/menu-item.js +0 -240
  425. package/dist/menu/menu-item.js.map +0 -1
  426. package/dist/menu/menu-radio-group.d.ts +0 -24
  427. package/dist/menu/menu-radio-group.d.ts.map +0 -1
  428. package/dist/menu/menu-radio-group.js +0 -71
  429. package/dist/menu/menu-radio-group.js.map +0 -1
  430. package/dist/menu/menu-radio-item.d.ts +0 -22
  431. package/dist/menu/menu-radio-item.d.ts.map +0 -1
  432. package/dist/menu/menu-radio-item.js +0 -116
  433. package/dist/menu/menu-radio-item.js.map +0 -1
  434. package/dist/menu/menu-separator.d.ts +0 -11
  435. package/dist/menu/menu-separator.d.ts.map +0 -1
  436. package/dist/menu/menu-separator.js +0 -29
  437. package/dist/menu/menu-separator.js.map +0 -1
  438. package/dist/menu/menu-sub-trigger.d.ts +0 -46
  439. package/dist/menu/menu-sub-trigger.d.ts.map +0 -1
  440. package/dist/menu/menu-sub-trigger.js +0 -302
  441. package/dist/menu/menu-sub-trigger.js.map +0 -1
  442. package/dist/menu/menu-trigger.d.ts +0 -57
  443. package/dist/menu/menu-trigger.d.ts.map +0 -1
  444. package/dist/menu/menu-trigger.js +0 -351
  445. package/dist/menu/menu-trigger.js.map +0 -1
  446. package/dist/miller/index.d.ts +0 -5
  447. package/dist/miller/index.d.ts.map +0 -1
  448. package/dist/miller/index.js +0 -5
  449. package/dist/miller/index.js.map +0 -1
  450. package/dist/miller/miller-base.d.ts +0 -184
  451. package/dist/miller/miller-base.d.ts.map +0 -1
  452. package/dist/miller/miller-base.js +0 -1249
  453. package/dist/miller/miller-base.js.map +0 -1
  454. package/dist/miller/miller-list.d.ts +0 -30
  455. package/dist/miller/miller-list.d.ts.map +0 -1
  456. package/dist/miller/miller-list.js +0 -192
  457. package/dist/miller/miller-list.js.map +0 -1
  458. package/dist/miller/miller-tree-controller.d.ts +0 -58
  459. package/dist/miller/miller-tree-controller.d.ts.map +0 -1
  460. package/dist/miller/miller-tree-controller.js +0 -134
  461. package/dist/miller/miller-tree-controller.js.map +0 -1
  462. package/dist/miller/types.d.ts +0 -63
  463. package/dist/miller/types.d.ts.map +0 -1
  464. package/dist/miller/types.js +0 -6
  465. package/dist/miller/types.js.map +0 -1
  466. package/dist/mixins/labelled-input-base.d.ts +0 -38
  467. package/dist/mixins/labelled-input-base.d.ts.map +0 -1
  468. package/dist/mixins/labelled-input-base.js +0 -171
  469. package/dist/mixins/labelled-input-base.js.map +0 -1
  470. package/dist/mixins/labelled-input-util.d.ts +0 -3
  471. package/dist/mixins/labelled-input-util.d.ts.map +0 -1
  472. package/dist/mixins/labelled-input-util.js +0 -10
  473. package/dist/mixins/labelled-input-util.js.map +0 -1
  474. package/dist/my-element.d.ts +0 -14
  475. package/dist/my-element.d.ts.map +0 -1
  476. package/dist/my-element.js +0 -44
  477. package/dist/my-element.js.map +0 -1
  478. package/dist/narrowed-text/index.d.ts +0 -3
  479. package/dist/narrowed-text/index.d.ts.map +0 -1
  480. package/dist/narrowed-text/index.js +0 -3
  481. package/dist/narrowed-text/index.js.map +0 -1
  482. package/dist/narrowed-text/narrowed-text.d.ts +0 -48
  483. package/dist/narrowed-text/narrowed-text.d.ts.map +0 -1
  484. package/dist/narrowed-text/narrowed-text.js +0 -668
  485. package/dist/narrowed-text/narrowed-text.js.map +0 -1
  486. package/dist/narrowed-text/types.d.ts +0 -20
  487. package/dist/narrowed-text/types.d.ts.map +0 -1
  488. package/dist/narrowed-text/types.js +0 -2
  489. package/dist/narrowed-text/types.js.map +0 -1
  490. package/dist/panel/panel-group.d.ts +0 -23
  491. package/dist/panel/panel-group.d.ts.map +0 -1
  492. package/dist/panel/panel-group.js +0 -109
  493. package/dist/panel/panel-group.js.map +0 -1
  494. package/dist/panel/panel.d.ts +0 -39
  495. package/dist/panel/panel.d.ts.map +0 -1
  496. package/dist/panel/panel.js.map +0 -1
  497. package/dist/plots/colour-map.d.ts +0 -31
  498. package/dist/plots/colour-map.d.ts.map +0 -1
  499. package/dist/plots/colour-map.js +0 -133
  500. package/dist/plots/colour-map.js.map +0 -1
  501. package/dist/plots/data.d.ts +0 -27
  502. package/dist/plots/data.d.ts.map +0 -1
  503. package/dist/plots/data.js +0 -47
  504. package/dist/plots/data.js.map +0 -1
  505. package/dist/plots/single-axis.d.ts +0 -41
  506. package/dist/plots/single-axis.d.ts.map +0 -1
  507. package/dist/plots/single-axis.js +0 -428
  508. package/dist/plots/single-axis.js.map +0 -1
  509. package/dist/plots/svg-utils.d.ts +0 -12
  510. package/dist/plots/svg-utils.d.ts.map +0 -1
  511. package/dist/plots/svg-utils.js +0 -64
  512. package/dist/plots/svg-utils.js.map +0 -1
  513. package/dist/plots/xy-axis.d.ts +0 -42
  514. package/dist/plots/xy-axis.d.ts.map +0 -1
  515. package/dist/plots/xy-axis.js +0 -307
  516. package/dist/plots/xy-axis.js.map +0 -1
  517. package/dist/polar-pad/polar-pad.d.ts +0 -132
  518. package/dist/polar-pad/polar-pad.d.ts.map +0 -1
  519. package/dist/polar-pad/polar-pad.js +0 -598
  520. package/dist/polar-pad/polar-pad.js.map +0 -1
  521. package/dist/radial-input/radial-input.d.ts +0 -45
  522. package/dist/radial-input/radial-input.d.ts.map +0 -1
  523. package/dist/radial-input/radial-input.js +0 -692
  524. package/dist/radial-input/radial-input.js.map +0 -1
  525. package/dist/radial-input/svg-utils.d.ts +0 -147
  526. package/dist/radial-input/svg-utils.d.ts.map +0 -1
  527. package/dist/radial-input/svg-utils.js +0 -346
  528. package/dist/radial-input/svg-utils.js.map +0 -1
  529. package/dist/radial-input/types.d.ts +0 -25
  530. package/dist/radial-input/types.d.ts.map +0 -1
  531. package/dist/radial-input/types.js +0 -5
  532. package/dist/radial-input/types.js.map +0 -1
  533. package/dist/range/range-multi.d.ts +0 -62
  534. package/dist/range/range-multi.d.ts.map +0 -1
  535. package/dist/range/range-multi.js +0 -652
  536. package/dist/range/range-multi.js.map +0 -1
  537. package/dist/range/range.d.ts +0 -23
  538. package/dist/range/range.d.ts.map +0 -1
  539. package/dist/range/range.js +0 -153
  540. package/dist/range/range.js.map +0 -1
  541. package/dist/range-input/index.d.ts +0 -2
  542. package/dist/range-input/index.d.ts.map +0 -1
  543. package/dist/range-input/index.js +0 -2
  544. package/dist/range-input/index.js.map +0 -1
  545. package/dist/range-input/range-input.d.ts +0 -92
  546. package/dist/range-input/range-input.d.ts.map +0 -1
  547. package/dist/range-input/range-input.js.map +0 -1
  548. package/dist/snap-container/snap-container.d.ts +0 -45
  549. package/dist/snap-container/snap-container.d.ts.map +0 -1
  550. package/dist/snap-container/snap-container.js +0 -352
  551. package/dist/snap-container/snap-container.js.map +0 -1
  552. package/dist/split-layout/split-layout.d.ts.map +0 -1
  553. package/dist/split-layout/split-layout.js +0 -674
  554. package/dist/split-layout/split-layout.js.map +0 -1
  555. package/dist/styles/popup.d.ts +0 -11
  556. package/dist/styles/popup.d.ts.map +0 -1
  557. package/dist/styles/popup.js +0 -20
  558. package/dist/styles/popup.js.map +0 -1
  559. package/dist/styles/prominence.d.ts +0 -58
  560. package/dist/styles/prominence.d.ts.map +0 -1
  561. package/dist/styles/prominence.js +0 -94
  562. package/dist/styles/prominence.js.map +0 -1
  563. package/dist/styles/tooltip.d.ts +0 -2
  564. package/dist/styles/tooltip.d.ts.map +0 -1
  565. package/dist/styles/tooltip.js.map +0 -1
  566. package/dist/svg-edit-label.d.ts +0 -2
  567. package/dist/svg-edit-label.d.ts.map +0 -1
  568. package/dist/svg-edit-label.js +0 -110
  569. package/dist/svg-edit-label.js.map +0 -1
  570. package/dist/swipe/index.d.ts +0 -2
  571. package/dist/swipe/index.d.ts.map +0 -1
  572. package/dist/swipe/index.js +0 -2
  573. package/dist/swipe/index.js.map +0 -1
  574. package/dist/swipe/swipe.d.ts +0 -65
  575. package/dist/swipe/swipe.d.ts.map +0 -1
  576. package/dist/swipe/swipe.js +0 -229
  577. package/dist/swipe/swipe.js.map +0 -1
  578. package/dist/tabs/tab-layout-item.d.ts +0 -10
  579. package/dist/tabs/tab-layout-item.d.ts.map +0 -1
  580. package/dist/tabs/tab-layout-item.js +0 -20
  581. package/dist/tabs/tab-layout-item.js.map +0 -1
  582. package/dist/tabs/tab-layout.d.ts +0 -10
  583. package/dist/tabs/tab-layout.d.ts.map +0 -1
  584. package/dist/tabs/tab-layout.js +0 -25
  585. package/dist/tabs/tab-layout.js.map +0 -1
  586. package/dist/tabs/tab-list-item.d.ts +0 -34
  587. package/dist/tabs/tab-list-item.d.ts.map +0 -1
  588. package/dist/tabs/tab-list-item.js +0 -195
  589. package/dist/tabs/tab-list-item.js.map +0 -1
  590. package/dist/tabs/tab-list.d.ts +0 -31
  591. package/dist/tabs/tab-list.d.ts.map +0 -1
  592. package/dist/tabs/tab-list.js +0 -257
  593. package/dist/tabs/tab-list.js.map +0 -1
  594. package/dist/tabs/tab-panel.d.ts +0 -11
  595. package/dist/tabs/tab-panel.d.ts.map +0 -1
  596. package/dist/tabs/tab-panel.js +0 -30
  597. package/dist/tabs/tab-panel.js.map +0 -1
  598. package/dist/tabs/tab-panels.d.ts +0 -30
  599. package/dist/tabs/tab-panels.d.ts.map +0 -1
  600. package/dist/tabs/tab-panels.js +0 -80
  601. package/dist/tabs/tab-panels.js.map +0 -1
  602. package/dist/timeline/index.d.ts +0 -9
  603. package/dist/timeline/index.d.ts.map +0 -1
  604. package/dist/timeline/index.js +0 -8
  605. package/dist/timeline/index.js.map +0 -1
  606. package/dist/timeline/timeline-controller.d.ts +0 -48
  607. package/dist/timeline/timeline-controller.d.ts.map +0 -1
  608. package/dist/timeline/timeline-controller.js +0 -81
  609. package/dist/timeline/timeline-controller.js.map +0 -1
  610. package/dist/timeline/timeline-draw.d.ts +0 -28
  611. package/dist/timeline/timeline-draw.d.ts.map +0 -1
  612. package/dist/timeline/timeline-draw.js +0 -330
  613. package/dist/timeline/timeline-draw.js.map +0 -1
  614. package/dist/timeline/timeline-element.d.ts +0 -140
  615. package/dist/timeline/timeline-element.d.ts.map +0 -1
  616. package/dist/timeline/timeline-element.js +0 -888
  617. package/dist/timeline/timeline-element.js.map +0 -1
  618. package/dist/timeline/timeline-interactions.d.ts +0 -40
  619. package/dist/timeline/timeline-interactions.d.ts.map +0 -1
  620. package/dist/timeline/timeline-interactions.js +0 -393
  621. package/dist/timeline/timeline-interactions.js.map +0 -1
  622. package/dist/timeline/timeline-styles.d.ts +0 -2
  623. package/dist/timeline/timeline-styles.d.ts.map +0 -1
  624. package/dist/timeline/timeline-styles.js +0 -153
  625. package/dist/timeline/timeline-styles.js.map +0 -1
  626. package/dist/timeline/timeline-track-tabs.d.ts +0 -30
  627. package/dist/timeline/timeline-track-tabs.d.ts.map +0 -1
  628. package/dist/timeline/timeline-track-tabs.js +0 -204
  629. package/dist/timeline/timeline-track-tabs.js.map +0 -1
  630. package/dist/timeline/types.d.ts +0 -144
  631. package/dist/timeline/types.d.ts.map +0 -1
  632. package/dist/timeline/types.js +0 -3
  633. package/dist/timeline/types.js.map +0 -1
  634. package/dist/tree/index.d.ts +0 -5
  635. package/dist/tree/index.d.ts.map +0 -1
  636. package/dist/tree/index.js +0 -5
  637. package/dist/tree/index.js.map +0 -1
  638. package/dist/tree/tree-base.d.ts +0 -70
  639. package/dist/tree/tree-base.d.ts.map +0 -1
  640. package/dist/tree/tree-base.js +0 -1028
  641. package/dist/tree/tree-base.js.map +0 -1
  642. package/dist/tree/tree-controller.d.ts +0 -14
  643. package/dist/tree/tree-controller.d.ts.map +0 -1
  644. package/dist/tree/tree-controller.js +0 -96
  645. package/dist/tree/tree-controller.js.map +0 -1
  646. package/dist/tree/tree-list.d.ts +0 -20
  647. package/dist/tree/tree-list.d.ts.map +0 -1
  648. package/dist/tree/tree-list.js +0 -174
  649. package/dist/tree/tree-list.js.map +0 -1
  650. package/dist/tree/types.d.ts +0 -14
  651. package/dist/tree/types.d.ts.map +0 -1
  652. package/dist/tree/types.js +0 -7
  653. package/dist/tree/types.js.map +0 -1
  654. package/dist/util/checkbox.d.ts +0 -2
  655. package/dist/util/checkbox.d.ts.map +0 -1
  656. package/dist/util/checkbox.js +0 -69
  657. package/dist/util/checkbox.js.map +0 -1
  658. package/dist/util/circle-arc.d.ts +0 -34
  659. package/dist/util/circle-arc.d.ts.map +0 -1
  660. package/dist/util/circle-arc.js +0 -85
  661. package/dist/util/circle-arc.js.map +0 -1
  662. package/dist/util/clamp.d.ts +0 -4
  663. package/dist/util/clamp.d.ts.map +0 -1
  664. package/dist/util/clamp.js +0 -23
  665. package/dist/util/clamp.js.map +0 -1
  666. package/dist/util/compare.d.ts +0 -53
  667. package/dist/util/compare.d.ts.map +0 -1
  668. package/dist/util/compare.js +0 -91
  669. package/dist/util/compare.js.map +0 -1
  670. package/dist/util/content-editable.d.ts +0 -2
  671. package/dist/util/content-editable.d.ts.map +0 -1
  672. package/dist/util/content-editable.js +0 -13
  673. package/dist/util/content-editable.js.map +0 -1
  674. package/dist/util/coordinates.d.ts +0 -3
  675. package/dist/util/coordinates.d.ts.map +0 -1
  676. package/dist/util/coordinates.js +0 -11
  677. package/dist/util/coordinates.js.map +0 -1
  678. package/dist/util/drag.d.ts +0 -16
  679. package/dist/util/drag.d.ts.map +0 -1
  680. package/dist/util/drag.js +0 -20
  681. package/dist/util/drag.js.map +0 -1
  682. package/dist/util/is-numeric.d.ts +0 -2
  683. package/dist/util/is-numeric.d.ts.map +0 -1
  684. package/dist/util/is-numeric.js +0 -9
  685. package/dist/util/is-numeric.js.map +0 -1
  686. package/dist/util/key-value.d.ts +0 -5
  687. package/dist/util/key-value.d.ts.map +0 -1
  688. package/dist/util/key-value.js +0 -29
  689. package/dist/util/key-value.js.map +0 -1
  690. package/dist/util/near.d.ts +0 -2
  691. package/dist/util/near.d.ts.map +0 -1
  692. package/dist/util/near.js +0 -6
  693. package/dist/util/near.js.map +0 -1
  694. package/dist/util/primitive-types.d.ts +0 -6
  695. package/dist/util/primitive-types.d.ts.map +0 -1
  696. package/dist/util/primitive-types.js +0 -2
  697. package/dist/util/primitive-types.js.map +0 -1
  698. package/dist/util/svg-editable-text.d.ts +0 -26
  699. package/dist/util/svg-editable-text.d.ts.map +0 -1
  700. package/dist/util/svg-editable-text.js +0 -119
  701. package/dist/util/svg-editable-text.js.map +0 -1
  702. package/dist/util/time.d.ts +0 -2
  703. package/dist/util/time.d.ts.map +0 -1
  704. package/dist/util/time.js +0 -2
  705. package/dist/util/time.js.map +0 -1
  706. package/dist/util/tooltip-controller.d.ts +0 -10
  707. package/dist/util/tooltip-controller.d.ts.map +0 -1
  708. package/dist/util/tooltip-controller.js +0 -237
  709. package/dist/util/tooltip-controller.js.map +0 -1
  710. package/dist/util/tooltip.d.ts +0 -21
  711. package/dist/util/tooltip.d.ts.map +0 -1
  712. package/dist/util/tooltip.js +0 -98
  713. package/dist/util/tooltip.js.map +0 -1
  714. package/dist/util/value-drag.d.ts +0 -33
  715. package/dist/util/value-drag.d.ts.map +0 -1
  716. package/dist/util/value-drag.js +0 -154
  717. package/dist/util/value-drag.js.map +0 -1
@@ -0,0 +1 @@
1
+ import "./tickled-styles-Bg3QbcrD.js";
@@ -0,0 +1,20 @@
1
+ //#region src/keyboard.ts
2
+ /**
3
+ * Resolve the effective keyboard nudge step for a single numeric axis.
4
+ *
5
+ * Priority: stops (quantised grid) > explicit step > percentage of range.
6
+ *
7
+ * @param range max - min for the axis
8
+ * @param stops number of quantised divisions (undefined or ≤1 = ignored)
9
+ * @param step explicit absolute step size (undefined = ignored)
10
+ * @param defaultFraction fraction of range used when neither stops nor step is set (default 0.1 = 10%)
11
+ */
12
+ function resolveStep(range, stops, step, defaultFraction = .1) {
13
+ if (stops !== void 0 && stops > 1) return range / stops;
14
+ if (step !== void 0) return step;
15
+ return range * defaultFraction;
16
+ }
17
+ //#endregion
18
+ export { resolveStep as t };
19
+
20
+ //# sourceMappingURL=keyboard-De_vOHLg.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard-De_vOHLg.js","names":[],"sources":["../src/keyboard.ts"],"sourcesContent":["/**\n * Keyboard interaction constants\n */\nexport const KEY_STEP_DIVISOR = 10;\n\n/**\n * Resolve the effective keyboard nudge step for a single numeric axis.\n *\n * Priority: stops (quantised grid) > explicit step > percentage of range.\n *\n * @param range max - min for the axis\n * @param stops number of quantised divisions (undefined or ≤1 = ignored)\n * @param step explicit absolute step size (undefined = ignored)\n * @param defaultFraction fraction of range used when neither stops nor step is set (default 0.1 = 10%)\n */\nexport function resolveStep(\n range: number,\n stops: number | undefined,\n step: number | undefined,\n defaultFraction = 0.1,\n): number {\n if (stops !== undefined && stops > 1) return range / stops;\n if (step !== undefined) return step;\n return range * defaultFraction;\n}\n"],"mappings":";;;;;;;;;;;AAeA,SAAgB,YACd,OACA,OACA,MACA,kBAAkB,IACV;AACR,KAAI,UAAU,KAAA,KAAa,QAAQ,EAAG,QAAO,QAAQ;AACrD,KAAI,SAAS,KAAA,EAAW,QAAO;AAC/B,QAAO,QAAQ"}
@@ -0,0 +1,155 @@
1
+ import { t as __decorate } from "./decorate-BZbkqIhA.js";
2
+ import { LitElement, html, nothing } from "lit";
3
+ import { property, state } from "lit/decorators.js";
4
+ //#region src/mixins/labelled-input-util.ts
5
+ function applyValue(el, value) {
6
+ if (el == null) return;
7
+ el.value = value;
8
+ }
9
+ //#endregion
10
+ //#region src/mixins/labelled-input-base.ts
11
+ var LabelledInputBase = class extends LitElement {
12
+ constructor(..._args) {
13
+ super(..._args);
14
+ this.label = ``;
15
+ this.min = 0;
16
+ this.max = 1;
17
+ this.value = 0;
18
+ this.step = .01;
19
+ this.precision = 0;
20
+ this.dragSensitivity = 1;
21
+ this.miniWidthThreshold = 120;
22
+ this.miniHeightThreshold = 45;
23
+ this.displayTextLogic = `transient`;
24
+ this._isMini = false;
25
+ this._isDragging = false;
26
+ this._debounceTimer = void 0;
27
+ this._handleNumberChange = (e) => {
28
+ const newValue = Number.parseFloat(e.detail.value);
29
+ this.value = newValue;
30
+ this._syncValue(newValue);
31
+ this.dispatchEvent(new CustomEvent(`change`, {
32
+ detail: { value: e.detail.value },
33
+ bubbles: true,
34
+ composed: true
35
+ }));
36
+ };
37
+ this._handleInputChange = (e) => {
38
+ this.value = e.detail.value;
39
+ clearTimeout(this._debounceTimer);
40
+ this._debounceTimer = window.setTimeout(() => {
41
+ this._isDragging = false;
42
+ }, 300);
43
+ this.dispatchEvent(new CustomEvent(`change`, {
44
+ detail: { value: String(e.detail.value) },
45
+ bubbles: true,
46
+ composed: true
47
+ }));
48
+ };
49
+ this._handleSliderInput = (e) => {
50
+ console.log(`[LABELLED-INPUT] _handleSliderInput called`, {
51
+ value: e.detail.value,
52
+ composedPath: e.composedPath()
53
+ });
54
+ this.value = e.detail.value;
55
+ this._isDragging = true;
56
+ clearTimeout(this._debounceTimer);
57
+ this.dispatchEvent(new CustomEvent(`input`, {
58
+ detail: { value: e.detail.value },
59
+ bubbles: true,
60
+ composed: true
61
+ }));
62
+ };
63
+ }
64
+ get formatter() {
65
+ return this._formatter ?? ((v) => v);
66
+ }
67
+ set formatter(value) {
68
+ this._formatter = value;
69
+ }
70
+ get hasCustomFormatter() {
71
+ return this._formatter !== void 0;
72
+ }
73
+ connectedCallback() {
74
+ super.connectedCallback();
75
+ this._resizeObserver = new ResizeObserver((entries) => this._handleResize(entries));
76
+ this._resizeObserver.observe(this);
77
+ }
78
+ disconnectedCallback() {
79
+ super.disconnectedCallback();
80
+ this._resizeObserver?.disconnect();
81
+ this._resizeObserver = void 0;
82
+ }
83
+ _handleResize(entries) {
84
+ const { width, height } = entries[0].contentRect;
85
+ const miniOverride = getComputedStyle(this).getPropertyValue(`--mini`).trim();
86
+ if (miniOverride === `1`) {
87
+ this._isMini = true;
88
+ return;
89
+ }
90
+ if (miniOverride === `0`) {
91
+ this._isMini = false;
92
+ return;
93
+ }
94
+ this._isMini = width < this.miniWidthThreshold || height < this.miniHeightThreshold;
95
+ }
96
+ _syncValue(v) {
97
+ const input = this.renderRoot?.querySelector(this.inputSelector);
98
+ if (input) applyValue(input, v);
99
+ const editableNumber = this.renderRoot?.querySelector(`ixfx-editable-number`);
100
+ if (editableNumber) {
101
+ applyValue(editableNumber, v);
102
+ editableNumber._requestDisplayUpdate?.();
103
+ }
104
+ }
105
+ _renderEditableNumber() {
106
+ if (this._isMini) return nothing;
107
+ return html`
108
+ <ixfx-editable-number
109
+ class="number"
110
+ mode="label"
111
+ no-drag
112
+ .value=${String(this.value)}
113
+ .min=${this.min}
114
+ .max=${this.max}
115
+ .step=${this.step}
116
+ .dragSensitivity=${this.dragSensitivity}
117
+ .precision=${this.precision}
118
+ .displayText=${this.label}
119
+ .displayTextLogic=${this._isDragging ? `hidden` : this.displayTextLogic}
120
+ .formatter=${this._formatter}
121
+ @change=${this._handleNumberChange}
122
+ ></ixfx-editable-number>
123
+ `;
124
+ }
125
+ updated(changedProperties) {
126
+ super.updated(changedProperties);
127
+ if (changedProperties.has(`value`)) this._syncValue(this.value);
128
+ }
129
+ };
130
+ __decorate([property()], LabelledInputBase.prototype, "label", void 0);
131
+ __decorate([property({ type: Number })], LabelledInputBase.prototype, "min", void 0);
132
+ __decorate([property({ type: Number })], LabelledInputBase.prototype, "max", void 0);
133
+ __decorate([property({ type: Number })], LabelledInputBase.prototype, "value", void 0);
134
+ __decorate([property({ type: Number })], LabelledInputBase.prototype, "step", void 0);
135
+ __decorate([property({ type: Number })], LabelledInputBase.prototype, "precision", void 0);
136
+ __decorate([property({
137
+ type: Number,
138
+ attribute: `drag-sensitivity`
139
+ })], LabelledInputBase.prototype, "dragSensitivity", void 0);
140
+ __decorate([property({
141
+ type: Number,
142
+ attribute: `mini-width-threshold`
143
+ })], LabelledInputBase.prototype, "miniWidthThreshold", void 0);
144
+ __decorate([property({
145
+ type: Number,
146
+ attribute: `mini-height-threshold`
147
+ })], LabelledInputBase.prototype, "miniHeightThreshold", void 0);
148
+ __decorate([property({ attribute: `display-text-logic` })], LabelledInputBase.prototype, "displayTextLogic", void 0);
149
+ __decorate([state()], LabelledInputBase.prototype, "_isMini", void 0);
150
+ __decorate([state()], LabelledInputBase.prototype, "_isDragging", void 0);
151
+ __decorate([state()], LabelledInputBase.prototype, "_formatter", void 0);
152
+ //#endregion
153
+ export { LabelledInputBase as t };
154
+
155
+ //# sourceMappingURL=labelled-input-base-DS6-6C0r.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelled-input-base-DS6-6C0r.js","names":[],"sources":["../src/mixins/labelled-input-util.ts","../src/mixins/labelled-input-base.ts"],"sourcesContent":["export function clamp(value: number, min: number, max: number): number {\n return Math.min(Math.max(value, min), max);\n}\n\nexport function applyValue(\n el: Element | null,\n value: number,\n): void {\n if (el == null) {\n return;\n }\n (el as any).value = value;\n}\n","import { html, LitElement, nothing } from 'lit';\nimport { property, state } from 'lit/decorators.js';\nimport { applyValue } from './labelled-input-util.js';\n\nexport abstract class LabelledInputBase extends LitElement {\n @property() label = ``;\n\n @property({ type: Number }) min = 0;\n @property({ type: Number }) max = 1;\n @property({ type: Number }) value = 0;\n @property({ type: Number }) step = 0.01;\n @property({ type: Number }) precision = 0;\n @property({ type: Number, attribute: `drag-sensitivity` }) dragSensitivity = 1;\n\n @property({ type: Number, attribute: `mini-width-threshold` }) miniWidthThreshold = 120;\n @property({ type: Number, attribute: `mini-height-threshold` }) miniHeightThreshold = 45;\n\n @property({ attribute: `display-text-logic` }) displayTextLogic: `hidden` | `show` | `override` | `transient` = `transient`;\n\n @state() protected _isMini = false;\n @state() protected _isDragging = false;\n @state() protected _formatter?: (value: string) => string;\n\n private _debounceTimer: number | undefined = undefined;\n private _resizeObserver?: ResizeObserver;\n\n abstract readonly inputSelector: string;\n\n get formatter(): (value: string) => string {\n return this._formatter ?? ((v: string) => v);\n }\n\n set formatter(value: ((value: string) => string) | undefined) {\n this._formatter = value;\n }\n\n protected get hasCustomFormatter(): boolean {\n return this._formatter !== undefined;\n }\n\n override connectedCallback(): void {\n super.connectedCallback();\n this._resizeObserver = new ResizeObserver((entries) => this._handleResize(entries));\n this._resizeObserver.observe(this);\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._resizeObserver?.disconnect();\n this._resizeObserver = undefined;\n }\n\n protected _handleResize(entries: ResizeObserverEntry[]): void {\n const { width, height } = entries[0].contentRect;\n const miniOverride = getComputedStyle(this).getPropertyValue(`--mini`).trim();\n if (miniOverride === `1`) {\n this._isMini = true;\n return;\n }\n if (miniOverride === `0`) {\n this._isMini = false;\n return;\n }\n this._isMini = width < this.miniWidthThreshold || height < this.miniHeightThreshold;\n }\n\n protected _handleNumberChange = (e: CustomEvent<{ value: string }>): void => {\n const newValue = Number.parseFloat(e.detail.value);\n this.value = newValue;\n this._syncValue(newValue);\n this.dispatchEvent(new CustomEvent(`change`, {\n detail: { value: e.detail.value },\n bubbles: true,\n composed: true,\n }));\n };\n\n protected _handleInputChange = (e: CustomEvent<{ value: number }>): void => {\n this.value = e.detail.value;\n clearTimeout(this._debounceTimer);\n this._debounceTimer = window.setTimeout(() => {\n this._isDragging = false;\n }, 300);\n this.dispatchEvent(new CustomEvent(`change`, {\n detail: { value: String(e.detail.value) },\n bubbles: true,\n composed: true,\n }));\n };\n\n protected _handleSliderInput = (e: CustomEvent<{ value: number }>): void => {\n console.log(`[LABELLED-INPUT] _handleSliderInput called`, { value: e.detail.value, composedPath: e.composedPath() });\n this.value = e.detail.value;\n this._isDragging = true;\n clearTimeout(this._debounceTimer);\n this.dispatchEvent(new CustomEvent(`input`, {\n detail: { value: e.detail.value },\n bubbles: true,\n composed: true,\n }));\n };\n\n protected _syncValue(v: number): void {\n const input = this.renderRoot?.querySelector(this.inputSelector);\n if (input) {\n applyValue(input, v);\n }\n const editableNumber = this.renderRoot?.querySelector(`ixfx-editable-number`);\n if (editableNumber) {\n applyValue(editableNumber, v);\n (editableNumber as any)._requestDisplayUpdate?.();\n }\n }\n\n protected _renderEditableNumber() {\n if (this._isMini) {\n return nothing;\n }\n return html`\n <ixfx-editable-number\n class=\"number\"\n mode=\"label\"\n no-drag\n .value=${String(this.value)}\n .min=${this.min}\n .max=${this.max}\n .step=${this.step}\n .dragSensitivity=${this.dragSensitivity}\n .precision=${this.precision}\n .displayText=${this.label}\n .displayTextLogic=${this._isDragging ? `hidden` : this.displayTextLogic}\n .formatter=${this._formatter}\n @change=${this._handleNumberChange}\n ></ixfx-editable-number>\n `;\n }\n\n override updated(changedProperties: Map<string, unknown>): void {\n super.updated(changedProperties);\n if (changedProperties.has(`value`)) {\n this._syncValue(this.value);\n }\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,43 @@
1
+ import * as _$lit from "lit";
2
+ import { LitElement, nothing } from "lit";
3
+
4
+ //#region src/mixins/labelled-input-base.d.ts
5
+ declare abstract class LabelledInputBase extends LitElement {
6
+ label: string;
7
+ min: number;
8
+ max: number;
9
+ value: number;
10
+ step: number;
11
+ precision: number;
12
+ dragSensitivity: number;
13
+ miniWidthThreshold: number;
14
+ miniHeightThreshold: number;
15
+ displayTextLogic: `hidden` | `show` | `override` | `transient`;
16
+ protected _isMini: boolean;
17
+ protected _isDragging: boolean;
18
+ protected _formatter?: (value: string) => string;
19
+ private _debounceTimer;
20
+ private _resizeObserver?;
21
+ abstract readonly inputSelector: string;
22
+ get formatter(): (value: string) => string;
23
+ set formatter(value: ((value: string) => string) | undefined);
24
+ protected get hasCustomFormatter(): boolean;
25
+ connectedCallback(): void;
26
+ disconnectedCallback(): void;
27
+ protected _handleResize(entries: ResizeObserverEntry[]): void;
28
+ protected _handleNumberChange: (e: CustomEvent<{
29
+ value: string;
30
+ }>) => void;
31
+ protected _handleInputChange: (e: CustomEvent<{
32
+ value: number;
33
+ }>) => void;
34
+ protected _handleSliderInput: (e: CustomEvent<{
35
+ value: number;
36
+ }>) => void;
37
+ protected _syncValue(v: number): void;
38
+ protected _renderEditableNumber(): typeof nothing | _$lit.TemplateResult<1>;
39
+ updated(changedProperties: Map<string, unknown>): void;
40
+ }
41
+ //#endregion
42
+ export { LabelledInputBase as t };
43
+ //# sourceMappingURL=labelled-input-base-DnRh4reU.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelled-input-base-DnRh4reU.d.ts","names":[],"sources":["../src/mixins/labelled-input-base.ts"],"mappings":";;;;uBAIsB,iBAAA,SAA0B,UAAA;EAClC,KAAA;EAEgB,GAAA;EACA,GAAA;EACA,KAAA;EACA,IAAA;EACA,SAAA;EAC+B,eAAA;EAEI,kBAAA;EACC,mBAAA;EAEjB,gBAAA;EAAA,UAE5B,OAAA;EAAA,UACA,WAAA;EAAA,UACA,UAAA,IAAc,KAAA;EAAA,QAEzB,cAAA;EAAA,QACA,eAAA;EAAA,kBAEU,aAAA;EAAA,IAEd,SAAA,CAAA,IAAc,KAAA;EAAA,IAId,SAAA,CAAU,KAAA,IAAS,KAAA;EAAA,cAIT,kBAAA,CAAA;EAIL,iBAAA,CAAA;EAMA,oBAAA,CAAA;EAAA,UAMC,aAAA,CAAc,OAAA,EAAS,mBAAA;EAAA,UAcvB,mBAAA,GAAuB,CAAA,EAAG,WAAA;IAAc,KAAA;EAAA;EAAA,UAWxC,kBAAA,GAAsB,CAAA,EAAG,WAAA;IAAc,KAAA;EAAA;EAAA,UAavC,kBAAA,GAAsB,CAAA,EAAG,WAAA;IAAc,KAAA;EAAA;EAAA,UAYvC,UAAA,CAAW,CAAA;EAAA,UAYX,qBAAA,CAAA,UAAqB,OAAA,GAAA,KAAA,CAAA,cAAA;EAuBtB,OAAA,CAAQ,iBAAA,EAAmB,GAAA;AAAA"}
@@ -0,0 +1,34 @@
1
+ import { t as LabelledInputBase } from "./labelled-input-base-DnRh4reU.js";
2
+ import { i as MarkerStyle, l as ValueMode } from "./radial-input-xSTd4kEz.js";
3
+ import * as _$lit from "lit";
4
+ import { CSSResultGroup, nothing } from "lit";
5
+
6
+ //#region src/labelled-radial-input/labelled-radial-input.d.ts
7
+ declare class LabelledRadialInput extends LabelledInputBase {
8
+ readonly inputSelector = "ixfx-radial-input";
9
+ max: number;
10
+ step: number;
11
+ radius: number;
12
+ flatten: number;
13
+ markerStyle: MarkerStyle;
14
+ wedge: boolean;
15
+ valueMode: ValueMode;
16
+ tooltip: boolean;
17
+ flip: boolean;
18
+ aspectRatioThreshold: number;
19
+ private _isWide;
20
+ private _getEffectivePrecision;
21
+ protected _handleResize(entries: ResizeObserverEntry[]): void;
22
+ protected _renderEditableNumber(): typeof nothing | _$lit.TemplateResult<1>;
23
+ render(): _$lit.TemplateResult<1>;
24
+ private _getTooltipValue;
25
+ static styles: CSSResultGroup;
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ 'ixfx-labelled-radial-input': LabelledRadialInput;
30
+ }
31
+ } //# sourceMappingURL=labelled-radial-input.d.ts.map
32
+ //#endregion
33
+ export { LabelledRadialInput };
34
+ //# sourceMappingURL=labelled-radial-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelled-radial-input.d.ts","names":[],"sources":["../src/labelled-radial-input/labelled-radial-input.ts"],"mappings":";;;;;;cAsDa,mBAAA,SAA4B,iBAAA;EAAA,SAC9B,aAAA;EAGA,GAAA;EACA,IAAA;EAEmB,MAAA;EACA,OAAA;EAC2B,WAAA,EAAa,WAAA;EACvC,KAAA;EACwB,SAAA,EAAW,SAAA;EACnC,OAAA;EACA,IAAA;EAEoC,oBAAA;EAAA,QAEhD,OAAA;EAAA,QAIT,sBAAA;EAAA,UAeW,aAAA,CAAc,OAAA,EAAS,mBAAA;EAAA,UAMvB,qBAAA,CAAA,UAAqB,OAAA,GAAA,KAAA,CAAA,cAAA;EAyB/B,MAAA,CAAA,GAzB+B,KAAA,CAyBzB,cAAA;EAAA,QA4BP,gBAAA;EAAA,OAYD,MAAA,EAAQ,cAAA;AAAA;AAAA,QA0ET,MAAA;EAAA,UACI,qBAAA;IACR,4BAAA,EAA8B,mBAAA;EAAA;AAAA"}
@@ -0,0 +1,188 @@
1
+ import { t as __decorate } from "./decorate-BZbkqIhA.js";
2
+ import { t as LabelledInputBase } from "./labelled-input-base-DS6-6C0r.js";
3
+ import "./radial-input-CNJ8asY2.js";
4
+ import { css, html, nothing } from "lit";
5
+ import { customElement, property, state } from "lit/decorators.js";
6
+ //#region src/labelled-radial-input/labelled-radial-input.ts
7
+ let LabelledRadialInput = class LabelledRadialInput extends LabelledInputBase {
8
+ constructor(..._args) {
9
+ super(..._args);
10
+ this.inputSelector = `ixfx-radial-input`;
11
+ this.max = 100;
12
+ this.step = 1;
13
+ this.radius = 45;
14
+ this.flatten = .3;
15
+ this.markerStyle = `needle`;
16
+ this.wedge = false;
17
+ this.valueMode = `range`;
18
+ this.tooltip = false;
19
+ this.flip = false;
20
+ this.aspectRatioThreshold = 1.5;
21
+ this._isWide = false;
22
+ }
23
+ _getEffectivePrecision() {
24
+ if (this.hasAttribute(`precision`)) return this.precision;
25
+ if (this.step !== void 0) {
26
+ const decimalPart = String(this.step).split(`.`)[1];
27
+ return decimalPart ? decimalPart.length : 0;
28
+ }
29
+ return this.max - this.min > 10 ? 0 : 2;
30
+ }
31
+ _handleResize(entries) {
32
+ super._handleResize(entries);
33
+ const { width, height } = entries[0].contentRect;
34
+ this._isWide = height > 0 && width / height >= this.aspectRatioThreshold;
35
+ }
36
+ _renderEditableNumber() {
37
+ if (this._isMini) return nothing;
38
+ const labelMinWidth = Math.max(this.label?.length ?? 0, 3) + 1;
39
+ return html`
40
+ <ixfx-editable-number
41
+ class="number"
42
+ mode="label"
43
+ no-drag
44
+ .value=${String(this.value)}
45
+ .min=${this.min}
46
+ .max=${this.max}
47
+ .step=${this.step}
48
+ .dragSensitivity=${this.dragSensitivity}
49
+ .precision=${this._getEffectivePrecision()}
50
+ .displayText=${this.label}
51
+ .displayTextLogic=${this._isDragging ? `hidden` : this.displayTextLogic}
52
+ .formatter=${this._formatter}
53
+ style="--label-min-width: var(--label-width, ${labelMinWidth}ch); --label-align: center;"
54
+ @change=${this._handleNumberChange}
55
+ ></ixfx-editable-number>
56
+ `;
57
+ }
58
+ render() {
59
+ const showTooltip = this.tooltip || this._isMini;
60
+ const tooltipValue = this._getTooltipValue();
61
+ return html`
62
+ <div class="wrap ${this._isMini ? `mini` : ``} ${this._isWide ? `wide` : ``} ${this.flip ? `flip` : ``}">
63
+ ${this._renderEditableNumber()}
64
+ <ixfx-radial-input
65
+ class="dial"
66
+ .value=${this.value}
67
+ .min=${this.min}
68
+ .max=${this.max}
69
+ .step=${this.step}
70
+ .radius=${this.radius}
71
+ .flatten=${this.flatten}
72
+ .markerStyle=${this.markerStyle}
73
+ ?wedge=${this.wedge}
74
+ .valueMode=${this.valueMode}
75
+ data-tooltip-anchor="top"
76
+ data-tooltip=${tooltipValue}
77
+ data-tooltip-live=${showTooltip ? `input` : nothing}
78
+ @input=${this._handleSliderInput}
79
+ @change=${this._handleInputChange}
80
+ ></ixfx-radial-input>
81
+ </div>
82
+ `;
83
+ }
84
+ _getTooltipValue() {
85
+ const range = this.max - this.min;
86
+ const numValue = Number(this.value);
87
+ if (this.min === 0 && this.max === 1) return `${Math.round(numValue * 100)}%`;
88
+ if (range > 10) return String(Math.floor(numValue));
89
+ return numValue.toFixed(2);
90
+ }
91
+ static {
92
+ this.styles = css`
93
+ :host {
94
+ display: block;
95
+ min-height: var(--min-height, 60px);
96
+ min-width: var(--min-width, 60px);
97
+ width: var(--width, auto);
98
+ height: var(--height, auto);
99
+ }
100
+
101
+ :host(:focus-within) {
102
+ outline: 2px solid var(--accent);
103
+ outline-offset: 2px;
104
+ }
105
+
106
+ .wrap {
107
+ display: flex;
108
+ width: 100%;
109
+ height: 100%;
110
+ align-items: center;
111
+ justify-content: center;
112
+ flex-direction: var(--flow, column);
113
+ }
114
+
115
+ ixfx-editable-number {
116
+ flex-shrink: 0;
117
+ --label-align: center;
118
+ width: 100%;
119
+ }
120
+
121
+ ixfx-radial-input {
122
+ flex-shrink: 1;
123
+ min-height: 0;
124
+ min-width: 0;
125
+ max-width: 100%;
126
+ --radial-input-svg-focus-outline: none;
127
+ --radial-input-svg-focus-outline-offset: 0;
128
+ --prominence-tickled-opacity: 1;
129
+ --prominence-tickled-saturate: 1;
130
+ }
131
+
132
+ /* Wide layout (aspect ratio >= threshold): label to the left of dial */
133
+ .wrap.wide {
134
+ flex-direction: var(--flow, row);
135
+ justify-content: space-evenly;
136
+ }
137
+
138
+ .wrap.wide ixfx-editable-number {
139
+ --label-align: left;
140
+ width: var(--label-width, 5ch);
141
+ }
142
+
143
+ .wrap.wide ixfx-radial-input {
144
+ height: auto;
145
+ max-width: none;
146
+ }
147
+
148
+ /* Flip: label after dial (bottom in column, right in row) */
149
+ .wrap.flip ixfx-editable-number {
150
+ order: 1;
151
+ }
152
+
153
+ /* Mini mode: dial fills the component */
154
+ .wrap.mini {
155
+ justify-content: center;
156
+ gap: 0;
157
+ }
158
+
159
+ .wrap.mini ixfx-radial-input {
160
+ width: 100%;
161
+ height: 100%;
162
+ }
163
+ `;
164
+ }
165
+ };
166
+ __decorate([property({ type: Number })], LabelledRadialInput.prototype, "radius", void 0);
167
+ __decorate([property({ type: Number })], LabelledRadialInput.prototype, "flatten", void 0);
168
+ __decorate([property({
169
+ type: String,
170
+ attribute: `marker-style`
171
+ })], LabelledRadialInput.prototype, "markerStyle", void 0);
172
+ __decorate([property({ type: Boolean })], LabelledRadialInput.prototype, "wedge", void 0);
173
+ __decorate([property({
174
+ type: String,
175
+ attribute: `value-mode`
176
+ })], LabelledRadialInput.prototype, "valueMode", void 0);
177
+ __decorate([property({ type: Boolean })], LabelledRadialInput.prototype, "tooltip", void 0);
178
+ __decorate([property({ type: Boolean })], LabelledRadialInput.prototype, "flip", void 0);
179
+ __decorate([property({
180
+ type: Number,
181
+ attribute: `aspect-ratio-threshold`
182
+ })], LabelledRadialInput.prototype, "aspectRatioThreshold", void 0);
183
+ __decorate([state()], LabelledRadialInput.prototype, "_isWide", void 0);
184
+ LabelledRadialInput = __decorate([customElement(`ixfx-labelled-radial-input`)], LabelledRadialInput);
185
+ //#endregion
186
+ export { LabelledRadialInput };
187
+
188
+ //# sourceMappingURL=labelled-radial-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelled-radial-input.js","names":[],"sources":["../src/labelled-radial-input/labelled-radial-input.ts"],"sourcesContent":["/**\n * <ixfx-labelled-radial-input> — labelled radial input combining ixfx-editable-number and ixfx-radial-input.\n *\n * Layout is driven by container queries on the component's own aspect ratio (width / height):\n * - width / height >= 1.5 (wide) → horizontal layout (label to the left of dial)\n * - width / height < 1.5 (tall/square) → vertical layout (label above dial)\n *\n * Mini mode: hides ixfx-editable-number, shows only the dial with tooltip forced on.\n * Triggered when width < --mini-width-threshold (default 120px)\n * OR height < --mini-height-threshold (default 45px).\n * Force on/off with CSS variable: --mini: 1 (always mini) | 0 (never mini).\n *\n * Override layout entirely with --flow: row | column.\n *\n * CSS variables (passes through to ixfx-radial-input):\n * --dial-border-width, --dial-border-color, --dial-fill, --radius\n * --marker-color, --marker-thickness, --marker-length, --marker-offset\n * --marker-border-width, --marker-border-color\n * --midpoint-color, --midpoint-thickness, --midpoint-length, --midpoint-offset\n * --lane-width, --lane-color, --lane-border-width, --lane-offset, --lane-dasharray\n * --wedge-fill, --wedge-fill-opacity, --wedge-border-width, --wedge-border-color\n *\n * Properties:\n * label Label text content\n * min / max / value / step Range bounds and current value\n * drag-sensitivity Steps per pixel of drag (default: 1)\n * precision Decimal places (default: 0)\n * radius Dial size, 10-50 range (default: 45)\n * flatten How much circle to hide, 0-1 (default: 0.3)\n * markerStyle 'needle' | 'dot' | 'none' (default: 'needle')\n * wedge Show filled wedge sector (default: false)\n * valueMode 'range' | 'bipolar' | 'unipolar' (default: 'range')\n * aspectRatioThreshold Width/height ratio to trigger horizontal layout (default: 1.5)\n * mini-width-threshold Width (in pixels) below which mini mode activates (default: 120)\n * mini-height-threshold Height (in pixels) below which mini mode activates (default: 45)\n * tooltip Boolean — show dial tooltip\n * flip Boolean — place label after dial (bottom in vertical, right in horizontal)\n * display-text-logic 'hidden' | 'show' | 'override' | 'transient'\n * formatter Function (value: string) => string — formats value for display\n *\n * Events:\n * change — CustomEvent<{ value: string }>, bubbles + composed\n * Fired when value changes via dial or editable-number commit\n * input — CustomEvent<{ value: number }>, bubbles + composed\n * Fired on every dial interaction\n */\nimport type { CSSResultGroup } from 'lit';\nimport type { MarkerStyle, ValueMode } from '../radial-input/types.js';\nimport { css, html, nothing } from 'lit';\nimport { customElement, property, state } from 'lit/decorators.js';\nimport { LabelledInputBase } from '../mixins/labelled-input-base.js';\nimport '../radial-input/radial-input.js';\n\n@customElement(`ixfx-labelled-radial-input`)\nexport class LabelledRadialInput extends LabelledInputBase {\n readonly inputSelector = `ixfx-radial-input`;\n\n // Override LabelledInputBase defaults (max=1, step=0.01) to match ixfx-radial-input defaults\n override max = 100;\n override step = 1;\n\n @property({ type: Number }) radius = 45;\n @property({ type: Number }) flatten = 0.3;\n @property({ type: String, attribute: `marker-style` }) markerStyle: MarkerStyle = `needle`;\n @property({ type: Boolean }) wedge = false;\n @property({ type: String, attribute: `value-mode` }) valueMode: ValueMode = `range`;\n @property({ type: Boolean }) tooltip = false;\n @property({ type: Boolean }) flip = false;\n\n @property({ type: Number, attribute: `aspect-ratio-threshold` }) aspectRatioThreshold = 1.5;\n\n @state() private _isWide = false;\n\n // Returns effective precision: uses explicit value if set, otherwise computes based on step or range.\n // Prefers step-derived precision, falls back to range-based heuristic.\n private _getEffectivePrecision(): number {\n if (this.hasAttribute(`precision`)) {\n return this.precision;\n }\n // If step is set, derive precision from it (e.g., step=0.5 → precision=1, step=1 → precision=0)\n if (this.step !== undefined) {\n const stepStr = String(this.step);\n const decimalPart = stepStr.split(`.`)[1];\n return decimalPart ? decimalPart.length : 0;\n }\n // Fallback: range > 10 → precision 0 (integers), range <= 10 → precision 2\n const range = this.max - this.min;\n return range > 10 ? 0 : 2;\n }\n\n protected override _handleResize(entries: ResizeObserverEntry[]): void {\n super._handleResize(entries);\n const { width, height } = entries[0].contentRect;\n this._isWide = height > 0 && (width / height) >= this.aspectRatioThreshold;\n }\n\n protected override _renderEditableNumber() {\n if (this._isMini) {\n return nothing;\n }\n const labelMinWidth = Math.max(this.label?.length ?? 0, 3) + 1;\n return html`\n <ixfx-editable-number\n class=\"number\"\n mode=\"label\"\n no-drag\n .value=${String(this.value)}\n .min=${this.min}\n .max=${this.max}\n .step=${this.step}\n .dragSensitivity=${this.dragSensitivity}\n .precision=${this._getEffectivePrecision()}\n .displayText=${this.label}\n .displayTextLogic=${this._isDragging ? `hidden` : this.displayTextLogic}\n .formatter=${this._formatter}\n style=\"--label-min-width: var(--label-width, ${labelMinWidth}ch); --label-align: center;\"\n @change=${this._handleNumberChange}\n ></ixfx-editable-number>\n `;\n }\n\n override render() {\n const showTooltip = this.tooltip || this._isMini;\n const tooltipValue = this._getTooltipValue();\n\n return html`\n <div class=\"wrap ${this._isMini ? `mini` : ``} ${this._isWide ? `wide` : ``} ${this.flip ? `flip` : ``}\">\n ${this._renderEditableNumber()}\n <ixfx-radial-input\n class=\"dial\"\n .value=${this.value}\n .min=${this.min}\n .max=${this.max}\n .step=${this.step}\n .radius=${this.radius}\n .flatten=${this.flatten}\n .markerStyle=${this.markerStyle}\n ?wedge=${this.wedge}\n .valueMode=${this.valueMode}\n data-tooltip-anchor=\"top\"\n data-tooltip=${tooltipValue}\n data-tooltip-live=${showTooltip ? `input` : nothing}\n @input=${this._handleSliderInput}\n @change=${this._handleInputChange}\n ></ixfx-radial-input>\n </div>\n `;\n }\n\n private _getTooltipValue(): string {\n const range = this.max - this.min;\n const numValue = Number(this.value);\n if (this.min === 0 && this.max === 1) {\n return `${Math.round(numValue * 100)}%`;\n }\n if (range > 10) {\n return String(Math.floor(numValue));\n }\n return numValue.toFixed(2);\n }\n\n static styles: CSSResultGroup = css`\n :host {\n display: block;\n min-height: var(--min-height, 60px);\n min-width: var(--min-width, 60px);\n width: var(--width, auto);\n height: var(--height, auto);\n }\n\n :host(:focus-within) {\n outline: 2px solid var(--accent);\n outline-offset: 2px;\n }\n\n .wrap {\n display: flex;\n width: 100%;\n height: 100%;\n align-items: center;\n justify-content: center;\n flex-direction: var(--flow, column);\n }\n\n ixfx-editable-number {\n flex-shrink: 0;\n --label-align: center;\n width: 100%;\n }\n\n ixfx-radial-input {\n flex-shrink: 1;\n min-height: 0;\n min-width: 0;\n max-width: 100%;\n --radial-input-svg-focus-outline: none;\n --radial-input-svg-focus-outline-offset: 0;\n --prominence-tickled-opacity: 1;\n --prominence-tickled-saturate: 1;\n }\n\n /* Wide layout (aspect ratio >= threshold): label to the left of dial */\n .wrap.wide {\n flex-direction: var(--flow, row);\n justify-content: space-evenly;\n }\n\n .wrap.wide ixfx-editable-number {\n --label-align: left;\n width: var(--label-width, 5ch);\n }\n\n .wrap.wide ixfx-radial-input {\n height: auto;\n max-width: none;\n }\n\n /* Flip: label after dial (bottom in column, right in row) */\n .wrap.flip ixfx-editable-number {\n order: 1;\n }\n\n /* Mini mode: dial fills the component */\n .wrap.mini {\n justify-content: center;\n gap: 0;\n }\n\n .wrap.mini ixfx-radial-input {\n width: 100%;\n height: 100%;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-labelled-radial-input': LabelledRadialInput;\n }\n}\n"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { t as LabelledRangeInput } from "./index-C5dK8RZa.js";
2
+ export { LabelledRangeInput };
@@ -1,28 +1,22 @@
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 } from 'lit';
8
- import { customElement, property } from 'lit/decorators.js';
9
- import { LabelledInputBase } from '../mixins/labelled-input-base.js';
1
+ import { t as __decorate } from "./decorate-BZbkqIhA.js";
2
+ import { t as LabelledInputBase } from "./labelled-input-base-DS6-6C0r.js";
3
+ import { css, html } from "lit";
4
+ import { customElement, property } from "lit/decorators.js";
5
+ //#region src/labelled-range-input/labelled-range-input.ts
10
6
  let LabelledRangeInput = class LabelledRangeInput extends LabelledInputBase {
11
- constructor() {
12
- super(...arguments);
13
- this.inputSelector = `ixfx-range-input`;
14
- this.orientation = `horizontal`;
15
- this.tooltip = false;
16
- this.noTooltip = false;
17
- this.tooltipOrientation = `top`;
18
- this.switchHeight = 80;
19
- }
20
- render() {
21
- const sliderLabelFormatter = this._formatter
22
- ? (raw) => this._formatter(String(raw))
23
- : undefined;
24
- const showTooltip = !this.noTooltip && (this.tooltip || this._isMini);
25
- return html `
7
+ constructor(..._args) {
8
+ super(..._args);
9
+ this.inputSelector = `ixfx-range-input`;
10
+ this.orientation = `horizontal`;
11
+ this.tooltip = false;
12
+ this.noTooltip = false;
13
+ this.tooltipOrientation = `top`;
14
+ this.switchHeight = 80;
15
+ }
16
+ render() {
17
+ const sliderLabelFormatter = this._formatter ? (raw) => this._formatter(String(raw)) : void 0;
18
+ const showTooltip = !this.noTooltip && (this.tooltip || this._isMini);
19
+ return html`
26
20
  <div class="wrap ${this._isMini ? `mini` : ``}">
27
21
  ${super._renderEditableNumber()}
28
22
  <ixfx-range-input
@@ -40,8 +34,9 @@ let LabelledRangeInput = class LabelledRangeInput extends LabelledInputBase {
40
34
  ></ixfx-range-input>
41
35
  </div>
42
36
  `;
43
- }
44
- static { this.styles = css `
37
+ }
38
+ static {
39
+ this.styles = css`
45
40
  :host {
46
41
  display: block;
47
42
  container-type: size;
@@ -113,25 +108,25 @@ let LabelledRangeInput = class LabelledRangeInput extends LabelledInputBase {
113
108
  width: 100%;
114
109
  height: 100%;
115
110
  }
116
- `; }
111
+ `;
112
+ }
117
113
  };
118
- __decorate([
119
- property({ type: String })
120
- ], LabelledRangeInput.prototype, "orientation", void 0);
121
- __decorate([
122
- property({ type: Boolean })
123
- ], LabelledRangeInput.prototype, "tooltip", void 0);
124
- __decorate([
125
- property({ type: Boolean, attribute: `no-tooltip` })
126
- ], LabelledRangeInput.prototype, "noTooltip", void 0);
127
- __decorate([
128
- property({ type: String, attribute: `tooltip-orientation` })
129
- ], LabelledRangeInput.prototype, "tooltipOrientation", void 0);
130
- __decorate([
131
- property({ type: Number, attribute: `switch-height` })
132
- ], LabelledRangeInput.prototype, "switchHeight", void 0);
133
- LabelledRangeInput = __decorate([
134
- customElement(`ixfx-labelled-range-input`)
135
- ], LabelledRangeInput);
114
+ __decorate([property({ type: String })], LabelledRangeInput.prototype, "orientation", void 0);
115
+ __decorate([property({ type: Boolean })], LabelledRangeInput.prototype, "tooltip", void 0);
116
+ __decorate([property({
117
+ type: Boolean,
118
+ attribute: `no-tooltip`
119
+ })], LabelledRangeInput.prototype, "noTooltip", void 0);
120
+ __decorate([property({
121
+ type: String,
122
+ attribute: `tooltip-orientation`
123
+ })], LabelledRangeInput.prototype, "tooltipOrientation", void 0);
124
+ __decorate([property({
125
+ type: Number,
126
+ attribute: `switch-height`
127
+ })], LabelledRangeInput.prototype, "switchHeight", void 0);
128
+ LabelledRangeInput = __decorate([customElement(`ixfx-labelled-range-input`)], LabelledRangeInput);
129
+ //#endregion
136
130
  export { LabelledRangeInput };
131
+
137
132
  //# sourceMappingURL=labelled-range-input.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"labelled-range-input.js","names":[],"sources":["../src/labelled-range-input/labelled-range-input.ts"],"sourcesContent":["/**\n * <ixfx-labelled-range-input> — labelled range input combining ixfx-editable-number and ixfx-range-input.\n *\n * Layout is driven by container queries on the component's own height:\n * - height >= 80px → vertical (label above slider) — the default with height: 100px\n * - height < 80px → horizontal (label beside slider)\n *\n * Mini mode: hides ixfx-editable-number, shows only the slider with tooltip forced on.\n * Triggered when width < --mini-width-threshold (default 120px)\n * OR height < --mini-height-threshold (default 45px).\n * Force on/off with CSS variable: --mini: 1 (always mini) | 0 (never mini).\n *\n * Override layout entirely with --flow: row | column (bypasses the container query).\n * Override height with --height (e.g. --height: 100% to fill a constrained container).\n * Override the editable-number width (horizontal layout only) with --label-width (e.g. 4em).\n *\n * CSS variables (passes through to child components):\n *\n * From ixfx-editable-number:\n * --label-font-size (default: var(--text-m))\n * --label-font-family (default: var(--font-family))\n * --label-color (default: var(--surface-2-text))\n * --label-muted-color (default: var(--surface-muted-text))\n * --label-padding (default: var(--space-xs) var(--space-s))\n * --label-radius (default: var(--radius-s))\n * --label-align (default: center)\n *\n * From ixfx-range-input:\n * --track-thickness (default: 1.5em)\n * --thumb-color (default: var(--surface-2-text))\n * --thumb-color-active (default: var(--accent))\n * --thumb-size (default: var(--track-thickness))\n * --thumb-thickness (default: 2em)\n * --thumb-radius (default: 0)\n * --thumb-border (default: none)\n * --thumb-shadow (default: none)\n * --background-track (default: var(--surface-4))\n * --background-track-hover (default: --background-track)\n * --background-track-value (default: var(--surface-6))\n * --background-track-value-hover (default: var(--accent))\n * --background-track-value-active (default: var(--accent))\n *\n * Properties:\n * label Label text content\n * min / max / value / step Range bounds and current value\n * drag-sensitivity Steps per pixel of drag (default: 1)\n * precision Decimal places (default: 0)\n * orientation 'horizontal' | 'vertical' (slider orientation)\n * tooltip Boolean — show slider tooltip\n * tooltip-orientation 'top' | 'right'\n * switch-height Height threshold for vertical↔horizontal switch (default: 80)\n * mini-width-threshold Width (in pixels) below which mini mode activates (default: 120)\n * mini-height-threshold Height (in pixels) below which mini mode activates (default: 45)\n * display-text-logic 'hidden' | 'show' | 'override' | 'transient'\n * formatter Function (value: string) => string — formats value for display and tooltip\n *\n * Events:\n * change — CustomEvent<{ value: string }>, bubbles + composed\n * Fired when value changes via slider or editable-number commit\n * input — CustomEvent<{ value: number }>, bubbles + composed\n * Fired on every slider move\n */\nimport type { CSSResultGroup } from 'lit';\nimport { css, html } from 'lit';\nimport { customElement, property } from 'lit/decorators.js';\nimport { LabelledInputBase } from '../mixins/labelled-input-base.js';\n\n@customElement(`ixfx-labelled-range-input`)\nexport class LabelledRangeInput extends LabelledInputBase {\n readonly inputSelector = `ixfx-range-input`;\n\n @property({ type: String }) orientation: `horizontal` | `vertical` = `horizontal`;\n @property({ type: Boolean }) tooltip = false;\n @property({ type: Boolean, attribute: `no-tooltip` }) noTooltip = false;\n @property({ type: String, attribute: `tooltip-orientation` }) tooltipOrientation: `top` | `right` = `top`;\n\n @property({ type: Number, attribute: `switch-height` }) switchHeight = 80;\n\n override render() {\n const sliderLabelFormatter = this._formatter\n ? (raw: number) => this._formatter!(String(raw))\n : undefined;\n const showTooltip = !this.noTooltip && (this.tooltip || this._isMini);\n\n return html`\n <div class=\"wrap ${this._isMini ? `mini` : ``}\">\n ${super._renderEditableNumber()}\n <ixfx-range-input\n class=\"slider\"\n .value=${this.value}\n .min=${this.min}\n .max=${this.max}\n .step=${this.step}\n .orientation=${this.orientation}\n ?tooltip=${showTooltip}\n .tooltipOrientation=${this.tooltipOrientation}\n .labelFormatter=${sliderLabelFormatter}\n @input=${this._handleSliderInput}\n @change=${this._handleInputChange}\n ></ixfx-range-input>\n </div>\n `;\n }\n\n static styles: CSSResultGroup = css`\n :host {\n display: block;\n container-type: size;\n min-height: var(--min-height, 20px);\n min-width: var(--min-width, 50px);\n width: var(--width, auto);\n height: var(--height, 50px);\n }\n\n .wrap {\n display: flex;\n width: 100%;\n height: 100%;\n gap: var(--space-s, 4px);\n align-items: center;\n }\n\n ixfx-editable-number {\n flex-shrink: 0;\n }\n\n ixfx-range-input {\n flex: 1;\n min-width: 0;\n }\n\n /* Default (compact): horizontal — label beside slider */\n .wrap {\n flex-direction: var(--flow, row);\n justify-content: flex-start;\n align-items: center;\n }\n\n ixfx-editable-number {\n --label-align: left;\n width: var(--label-width, 5ch);\n --label-min-width: var(--label-width, 5ch);\n /* Block fill/background variables from reaching editable-number */\n --fill-color: initial;\n --fill-opacity: initial;\n --fill-image: initial;\n }\n\n /* Vertically-stacked layout: when container has enough height */\n @container (height >= 45px) {\n .wrap {\n flex-direction: var(--flow, column);\n justify-content: flex-start;\n align-items: center;\n }\n\n ixfx-editable-number {\n --label-align: center;\n align-self: center;\n width: 100%;\n }\n\n ixfx-range-input {\n width: 100%;\n }\n }\n\n /* Mini mode: slider fills the full component */\n .wrap.mini {\n gap: 0;\n }\n\n .wrap.mini ixfx-range-input {\n width: 100%;\n height: 100%;\n }\n `;\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-labelled-range-input': LabelledRangeInput;\n }\n}\n"],"mappings":";;;;;AAoEO,IAAA,qBAAA,MAAM,2BAA2B,kBAAkB;;;uBAC/B;qBAE4C;iBAC9B;mBAC2B;4BACkC;sBAE7B;;CAEvE,SAAkB;EAChB,MAAM,uBAAuB,KAAK,cAC7B,QAAgB,KAAK,WAAY,OAAO,IAAI,CAAC,GAC9C,KAAA;EACJ,MAAM,cAAc,CAAC,KAAK,cAAc,KAAK,WAAW,KAAK;AAE7D,SAAO,IAAI;yBACU,KAAK,UAAU,SAAS,GAAG;UAC1C,MAAM,uBAAuB,CAAC;;;mBAGrB,KAAK,MAAM;iBACb,KAAK,IAAI;iBACT,KAAK,IAAI;kBACR,KAAK,KAAK;yBACH,KAAK,YAAY;qBACrB,YAAY;gCACD,KAAK,mBAAmB;4BAC5B,qBAAqB;mBAC9B,KAAK,mBAAmB;oBACvB,KAAK,mBAAmB;;;;;;gBAMV,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAjClC,SAAS,EAAE,MAAM,QAAQ,CAAC,CAAA,EAAA,mBAAA,WAAA,eAAA,KAAA,EAAA;YAC1B,SAAS,EAAE,MAAM,SAAS,CAAC,CAAA,EAAA,mBAAA,WAAA,WAAA,KAAA,EAAA;YAC3B,SAAS;CAAE,MAAM;CAAS,WAAW;CAAc,CAAC,CAAA,EAAA,mBAAA,WAAA,aAAA,KAAA,EAAA;YACpD,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAuB,CAAC,CAAA,EAAA,mBAAA,WAAA,sBAAA,KAAA,EAAA;YAE5D,SAAS;CAAE,MAAM;CAAQ,WAAW;CAAiB,CAAC,CAAA,EAAA,mBAAA,WAAA,gBAAA,KAAA,EAAA;iCATxD,cAAc,4BAA4B,CAAA,EAAA,mBAAA"}