@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,480 @@
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, nothing } from 'lit';
8
+ import { customElement, property, query, state } from 'lit/decorators.js';
9
+ import { buttonStyles } from './button-styles.js';
10
+ import { ButtonElement } from './button.js';
11
+ import { prominenceStyles } from '../styles/prominence.js';
12
+ import '../menu/menu-trigger.js';
13
+ import '../menu/menu-container.js';
14
+ import '../menu/menu-item.js';
15
+ import '../icons/icon.js';
16
+ let SplitButton = class SplitButton extends ButtonElement {
17
+ constructor() {
18
+ super(...arguments);
19
+ this.mode = `default`;
20
+ this.defaultValue = ``;
21
+ this._compact = false;
22
+ this._selectedCommand = ``;
23
+ this._selectedLabel = ``;
24
+ this._selectedIcon = ``;
25
+ this._switcherItems = [];
26
+ this._dynamicItems = [];
27
+ this._loadingItems = false;
28
+ this._menuHasItems = false;
29
+ this._widthNeeded = 0;
30
+ // ── Default-mode slot ──────────────────────────────────────────────────
31
+ this._onDefaultMenuSlotChange = (e) => {
32
+ const slot = e.target;
33
+ this._menuHasItems = slot.assignedElements({ flatten: true }).length > 0;
34
+ };
35
+ // ── Switcher helpers ───────────────────────────────────────────────────
36
+ this._onSwitcherSlotChange = (e) => {
37
+ // When itemsProvider is set, declarative items are ignored
38
+ if (this.itemsProvider)
39
+ return;
40
+ const slot = e.target;
41
+ this._applySwitcherItems(slot.assignedElements({ flatten: true })
42
+ .filter(el => el.tagName === `IXFX-MENU-ITEM`)
43
+ .map(el => ({
44
+ command: el.getAttribute(`command`) ?? ``,
45
+ label: el.getAttribute(`label`) ?? el.textContent?.trim() ?? ``,
46
+ icon: el.getAttribute(`icon-name`) ?? ``,
47
+ })));
48
+ };
49
+ this._handleSwitcherMenuCommand = (e) => {
50
+ if (this.mode !== `switcher`)
51
+ return;
52
+ e.stopPropagation();
53
+ const { command } = e.detail;
54
+ const item = this._switcherItems.find(i => i.command === command);
55
+ if (!item)
56
+ return;
57
+ this._selectedCommand = item.command;
58
+ this._selectedLabel = item.label;
59
+ this._selectedIcon = item.icon;
60
+ // Fire immediately
61
+ this.dispatchEvent(new CustomEvent(`menu-command`, {
62
+ detail: e.detail,
63
+ bubbles: true,
64
+ composed: true,
65
+ }));
66
+ };
67
+ this._handleSwitcherPrimaryClick = () => {
68
+ if (!this._selectedCommand)
69
+ return;
70
+ this.dispatchEvent(new CustomEvent(`menu-command`, {
71
+ detail: { command: this._selectedCommand },
72
+ bubbles: true,
73
+ composed: true,
74
+ }));
75
+ };
76
+ // ── Caret / menu open ──────────────────────────────────────────────────
77
+ this._handleCaretClick = async (e) => {
78
+ e.stopPropagation();
79
+ if (this._menuTrigger?.isOpen) {
80
+ this._menuTrigger.closeMenu();
81
+ return;
82
+ }
83
+ if (this.itemsProvider) {
84
+ this._loadingItems = true;
85
+ try {
86
+ const result = this.itemsProvider();
87
+ const items = result instanceof Promise ? await result : result;
88
+ if (this.mode === `switcher`) {
89
+ this._applySwitcherItems(items.map(i => ({ command: i.command, label: i.label, icon: i.icon ?? `` })));
90
+ }
91
+ else {
92
+ this._dynamicItems = items;
93
+ }
94
+ }
95
+ finally {
96
+ this._loadingItems = false;
97
+ }
98
+ // Let Lit render the new items before the popup opens
99
+ await this.updateComplete;
100
+ }
101
+ this._menuTrigger?.openMenu();
102
+ };
103
+ this._handlePrimaryKeyDown = (e) => {
104
+ if (e.key === `ArrowDown`) {
105
+ e.preventDefault();
106
+ this._menuTrigger?.openMenu();
107
+ }
108
+ };
109
+ this._handleCaretKeyDown = (e) => {
110
+ if (e.key === `ArrowDown`) {
111
+ e.preventDefault();
112
+ this._menuTrigger?.openMenu();
113
+ }
114
+ };
115
+ }
116
+ // ── Lifecycle ──────────────────────────────────────────────────────────
117
+ connectedCallback() {
118
+ super.connectedCallback();
119
+ this._resizeObserver = new ResizeObserver(([entry]) => {
120
+ if (this._compact) {
121
+ if (this._widthNeeded > 0 && entry.contentRect.width >= this._widthNeeded) {
122
+ this._compact = false;
123
+ }
124
+ }
125
+ else {
126
+ this._checkOverflow();
127
+ }
128
+ });
129
+ this._resizeObserver.observe(this);
130
+ }
131
+ disconnectedCallback() {
132
+ super.disconnectedCallback();
133
+ this._resizeObserver?.disconnect();
134
+ this._resizeObserver = undefined;
135
+ this._menuTrigger?.removeEventListener(`menu-command`, this._handleSwitcherMenuCommand);
136
+ }
137
+ firstUpdated() {
138
+ this.updateComplete.then(() => {
139
+ this._menuTrigger?.addEventListener(`menu-command`, this._handleSwitcherMenuCommand);
140
+ });
141
+ }
142
+ updated(changedProperties) {
143
+ super.updated(changedProperties);
144
+ this._checkOverflow();
145
+ if ((changedProperties.has(`items`) || changedProperties.has(`mode`)) && this.items && !this.itemsProvider) {
146
+ this._applyItems(this.items);
147
+ }
148
+ }
149
+ // ── Responsive ─────────────────────────────────────────────────────────
150
+ _checkOverflow() {
151
+ if (this._compact)
152
+ return;
153
+ const primary = this.shadowRoot?.querySelector(`button.primary`);
154
+ if (!primary)
155
+ return;
156
+ if (primary.scrollWidth > primary.offsetWidth + 1) {
157
+ const caret = this.shadowRoot?.querySelector(`button.caret`);
158
+ this._widthNeeded = primary.scrollWidth + (caret?.offsetWidth ?? 32) + 4;
159
+ this._compact = true;
160
+ }
161
+ }
162
+ // ── Programmatic API ───────────────────────────────────────────────────
163
+ _applyItems(items) {
164
+ if (this.mode === `switcher`) {
165
+ this._applySwitcherItems(items.map(i => ({ command: i.command, label: i.label, icon: i.icon ?? `` })));
166
+ }
167
+ else {
168
+ this._dynamicItems = [...items];
169
+ this._menuHasItems = items.length > 0;
170
+ }
171
+ }
172
+ /** In switcher mode, programmatically select the active command. Returns false if not found. */
173
+ selectCommand(command) {
174
+ const item = this._switcherItems.find(i => i.command === command);
175
+ if (!item)
176
+ return false;
177
+ this._selectedCommand = item.command;
178
+ this._selectedLabel = item.label;
179
+ this._selectedIcon = item.icon;
180
+ return true;
181
+ }
182
+ // ── Caret state ────────────────────────────────────────────────────────
183
+ /** True when there is (or will be) popup content. Used to dim the caret visually. */
184
+ get _caretHasContent() {
185
+ if (this.itemsProvider)
186
+ return true;
187
+ if (this.items && this.items.length > 0)
188
+ return true;
189
+ if (this.mode === `switcher`)
190
+ return this._switcherItems.length > 1;
191
+ return this._menuHasItems;
192
+ }
193
+ _applySwitcherItems(items) {
194
+ this._switcherItems = items;
195
+ if (!this._selectedCommand && items.length > 0) {
196
+ const picked = this.defaultValue
197
+ ? (items.find(i => i.command === this.defaultValue) ?? items[0])
198
+ : items[0];
199
+ this._selectedCommand = picked.command;
200
+ this._selectedLabel = picked.label;
201
+ this._selectedIcon = picked.icon;
202
+ }
203
+ }
204
+ // ── Render ─────────────────────────────────────────────────────────────
205
+ render() {
206
+ return this.mode === `switcher`
207
+ ? this._renderSwitcher()
208
+ : this._renderDefault();
209
+ }
210
+ _renderCaret(iconName, ariaLabel) {
211
+ const empty = !this._caretHasContent;
212
+ return html `
213
+ <button
214
+ slot="trigger"
215
+ class="caret"
216
+ part="caret"
217
+ ?disabled=${this.disabled}
218
+ ?data-empty=${empty}
219
+ aria-haspopup="true"
220
+ aria-label=${ariaLabel}
221
+ @click=${this._handleCaretClick}
222
+ @keydown=${this._handleCaretKeyDown}
223
+ >
224
+ <ixfx-icon name="${iconName}"></ixfx-icon>
225
+ </button>
226
+ `;
227
+ }
228
+ _renderLoadingOrItems(items) {
229
+ if (this._loadingItems) {
230
+ return html `<ixfx-menu-item label="Loading…" disabled></ixfx-menu-item>`;
231
+ }
232
+ return items.map(i => html `
233
+ <ixfx-menu-item
234
+ command=${i.command}
235
+ label=${i.label}
236
+ icon-name=${i.icon || nothing}
237
+ ?disabled=${i.disabled ?? false}
238
+ ></ixfx-menu-item>
239
+ `);
240
+ }
241
+ _renderDefault() {
242
+ const showLabel = !this.hideLabel && !this._compact;
243
+ const label = showLabel
244
+ ? html `<span class="button-label"><slot></slot></span>`
245
+ : nothing;
246
+ const menuContent = this.itemsProvider
247
+ ? html `
248
+ <ixfx-menu-container slot="menu">
249
+ ${this._renderLoadingOrItems(this._dynamicItems)}
250
+ </ixfx-menu-container>
251
+ `
252
+ : html `<slot name="menu" slot="menu" @slotchange=${this._onDefaultMenuSlotChange}></slot>`;
253
+ return html `
254
+ <div class="split">
255
+ <button
256
+ class="primary"
257
+ part="primary"
258
+ ?disabled=${this.disabled}
259
+ @keydown=${this._handlePrimaryKeyDown}
260
+ >
261
+ ${this._renderIcon()}${label}
262
+ </button>
263
+ <ixfx-menu-trigger .registry=${this.registry} .keyboardManager=${this.keyboardManager}>
264
+ ${this._renderCaret(`chevron-down`, `Open menu`)}
265
+ ${menuContent}
266
+ </ixfx-menu-trigger>
267
+ </div>
268
+ `;
269
+ }
270
+ _renderSwitcher() {
271
+ const showLabel = !this.hideLabel && !this._compact;
272
+ const primaryIcon = this._selectedIcon
273
+ ? html `<ixfx-icon class="button-icon" name="${this._selectedIcon}"></ixfx-icon>`
274
+ : nothing;
275
+ const primaryLabel = showLabel
276
+ ? html `<span class="button-label">${this._selectedLabel}</span>`
277
+ : nothing;
278
+ const popupItems = this.itemsProvider
279
+ ? this._renderLoadingOrItems(this._dynamicItems)
280
+ : this._switcherItems
281
+ .filter(i => i.command !== this._selectedCommand)
282
+ .map(i => html `
283
+ <ixfx-menu-item
284
+ command=${i.command}
285
+ label=${i.label}
286
+ icon-name=${i.icon || nothing}
287
+ ></ixfx-menu-item>
288
+ `);
289
+ return html `
290
+ <!-- Hidden data-capture slot reads light-DOM items as the data source -->
291
+ <slot name="menu" class="switcher-data" @slotchange=${this._onSwitcherSlotChange}></slot>
292
+ <div class="split switcher">
293
+ <button
294
+ class="primary"
295
+ part="primary"
296
+ ?disabled=${this.disabled}
297
+ @keydown=${this._handlePrimaryKeyDown}
298
+ @click=${this._handleSwitcherPrimaryClick}
299
+ >
300
+ ${primaryIcon}${primaryLabel}
301
+ </button>
302
+ <ixfx-menu-trigger .registry=${this.registry} .keyboardManager=${this.keyboardManager}>
303
+ ${this._renderCaret(`chevron-right`, `Choose action`)}
304
+ <ixfx-menu-container slot="menu">
305
+ ${popupItems}
306
+ </ixfx-menu-container>
307
+ </ixfx-menu-trigger>
308
+ </div>
309
+ `;
310
+ }
311
+ // ── Styles ─────────────────────────────────────────────────────────────
312
+ static { this.styles = [
313
+ prominenceStyles,
314
+ buttonStyles,
315
+ css `
316
+ :host {
317
+ display: inline-flex;
318
+ max-width: 100%;
319
+ vertical-align: middle;
320
+ }
321
+
322
+ slot.switcher-data {
323
+ display: none;
324
+ }
325
+
326
+ .split {
327
+ display: inline-flex;
328
+ width: 100%;
329
+ background: var(--surface-3, #ccc);
330
+ color: var(--surface-3-text, #000);
331
+ border: var(--border, 1px solid #999);
332
+ border-radius: var(--radius-xl, 8px);
333
+ corner-shape: superellipse(1);
334
+ box-shadow:
335
+ inset 1px 1px 1px 1px color-mix(in oklch, var(--surface-4) 30%, transparent),
336
+ inset -1px -1px 1px 1px color-mix(in oklch, var(--surface-2) 20%, transparent),
337
+ 2px 2px 1px 0px color-mix(in oklch, var(--surface-2) 30%, transparent);
338
+ overflow: hidden;
339
+ transition: background var(--transition, 0.2s), border-color var(--transition, 0.2s);
340
+ }
341
+
342
+ /* Switcher: accent the caret separator to signal "this changes the default" */
343
+ .split.switcher button.caret {
344
+ border-inline-start-color: var(--accent, #666);
345
+ opacity: 0.7;
346
+ }
347
+
348
+ .split.switcher button.caret:hover:not(:disabled) {
349
+ opacity: 1;
350
+ }
351
+
352
+ /* Caret is dimmed when there is no popup content */
353
+ button.caret[data-empty] {
354
+ opacity: 0.3;
355
+ pointer-events: none;
356
+ }
357
+
358
+ .split:has(button:hover:not(:disabled)) {
359
+ border-color: var(--accent, #666);
360
+ box-shadow:
361
+ inset 1px 1px 1px 1px color-mix(in oklch, var(--surface-5) 70%, transparent),
362
+ inset -1px -1px 1px 1px color-mix(in oklch, var(--surface-2) 60%, transparent),
363
+ 2px 2px 1px 0px color-mix(in oklch, var(--surface-2) 90%, transparent);
364
+ }
365
+
366
+ .split:has(button:active:not(:disabled)) {
367
+ transform: translateY(1px);
368
+ box-shadow: inset 1px 1px 0px 0.5px color-mix(in oklch, var(--surface-1), transparent);
369
+ }
370
+
371
+ button.primary,
372
+ button.caret {
373
+ border: none;
374
+ border-radius: 0;
375
+ background: none;
376
+ box-shadow: none;
377
+ color: inherit;
378
+ margin: 0;
379
+ cursor: pointer;
380
+ display: inline-flex;
381
+ align-items: center;
382
+ justify-content: center;
383
+ transition: background var(--transition, 0.2s), opacity var(--transition, 0.2s);
384
+ }
385
+
386
+ button.primary {
387
+ flex: 1;
388
+ padding: var(--space-m, 8px) var(--space-l, 12px);
389
+ gap: 0.5em;
390
+ overflow: hidden;
391
+ white-space: nowrap;
392
+ }
393
+
394
+ button.caret {
395
+ padding: var(--space-m, 8px) var(--space-s, 6px);
396
+ border-inline-start: var(--border, 1px solid #999);
397
+ flex-shrink: 0;
398
+ }
399
+
400
+ button.primary:hover:not(:disabled),
401
+ button.caret:hover:not(:disabled) {
402
+ background: color-mix(in oklch, var(--surface-4) 80%, transparent);
403
+ }
404
+
405
+ button.primary:active:not(:disabled),
406
+ button.caret:active:not(:disabled) {
407
+ background: var(--surface-2, #aaa);
408
+ transform: none;
409
+ box-shadow: none;
410
+ }
411
+
412
+ button.primary:disabled,
413
+ button.caret:disabled {
414
+ opacity: 0.5;
415
+ cursor: not-allowed;
416
+ }
417
+
418
+ button.primary:focus-visible,
419
+ button.caret:focus-visible {
420
+ outline: 2px solid var(--accent, #666);
421
+ outline-offset: -2px;
422
+ }
423
+
424
+ ixfx-menu-trigger {
425
+ display: inline-flex;
426
+ align-items: stretch;
427
+ }
428
+ `,
429
+ ]; }
430
+ };
431
+ __decorate([
432
+ property({ attribute: false })
433
+ ], SplitButton.prototype, "registry", void 0);
434
+ __decorate([
435
+ property({ attribute: false })
436
+ ], SplitButton.prototype, "keyboardManager", void 0);
437
+ __decorate([
438
+ property({ type: String })
439
+ ], SplitButton.prototype, "mode", void 0);
440
+ __decorate([
441
+ property({ type: String, attribute: `default-value` })
442
+ ], SplitButton.prototype, "defaultValue", void 0);
443
+ __decorate([
444
+ property({ attribute: false })
445
+ ], SplitButton.prototype, "itemsProvider", void 0);
446
+ __decorate([
447
+ property({ attribute: false })
448
+ ], SplitButton.prototype, "items", void 0);
449
+ __decorate([
450
+ query(`ixfx-menu-trigger`)
451
+ ], SplitButton.prototype, "_menuTrigger", void 0);
452
+ __decorate([
453
+ state()
454
+ ], SplitButton.prototype, "_compact", void 0);
455
+ __decorate([
456
+ state()
457
+ ], SplitButton.prototype, "_selectedCommand", void 0);
458
+ __decorate([
459
+ state()
460
+ ], SplitButton.prototype, "_selectedLabel", void 0);
461
+ __decorate([
462
+ state()
463
+ ], SplitButton.prototype, "_selectedIcon", void 0);
464
+ __decorate([
465
+ state()
466
+ ], SplitButton.prototype, "_switcherItems", void 0);
467
+ __decorate([
468
+ state()
469
+ ], SplitButton.prototype, "_dynamicItems", void 0);
470
+ __decorate([
471
+ state()
472
+ ], SplitButton.prototype, "_loadingItems", void 0);
473
+ __decorate([
474
+ state()
475
+ ], SplitButton.prototype, "_menuHasItems", void 0);
476
+ SplitButton = __decorate([
477
+ customElement(`ixfx-split-button`)
478
+ ], SplitButton);
479
+ export { SplitButton };
480
+ //# sourceMappingURL=split-button.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"split-button.js","sourceRoot":"","sources":["../../src/button/split-button.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,18 @@
1
+ export type SplitButtonSelectDetail = {
2
+ readonly value: string;
3
+ readonly label: string;
4
+ };
5
+ export type SplitButtonSelectEvent = CustomEvent<SplitButtonSelectDetail>;
6
+ export type SwitcherItem = {
7
+ readonly command: string;
8
+ readonly label: string;
9
+ readonly icon: string;
10
+ };
11
+ export type PopupItem = {
12
+ readonly command: string;
13
+ readonly label: string;
14
+ readonly icon?: string;
15
+ readonly disabled?: boolean;
16
+ };
17
+ export type ItemsProvider = () => PopupItem[] | Promise<PopupItem[]>;
18
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/button/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,uBAAuB,GAAG;IACpC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG,WAAW,CAAC,uBAAuB,CAAC,CAAC;AAE1E,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,CAAC;AAEF,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;CAC7B,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,MAAM,SAAS,EAAE,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/button/types.ts"],"names":[],"mappings":""}
@@ -0,0 +1,64 @@
1
+ /**
2
+ * <x-checkbox> — Custom checkbox with diagonal line indicator.
3
+ *
4
+ * A brutalist checkbox component featuring a thick diagonal line
5
+ * (top-left to bottom-right) when checked. Uses shadow DOM with
6
+ * CSS variables for appearance customization.
7
+ *
8
+ * Properties
9
+ * checked – checkbox state (default: false)
10
+ * disabled – disabled state (default: false)
11
+ * label – label text
12
+ * name – form field name
13
+ * value – form field value
14
+ *
15
+ * Events
16
+ * change – CustomEvent { detail: { checked: boolean } }, bubbles + composed
17
+ *
18
+ * CSS Variables
19
+ * --box-size – box size (default: 18px)
20
+ * --box-border-width – border width (default: 2px)
21
+ * --box-border-color – border color
22
+ * --box-bg-unchecked – background when unchecked
23
+ * --box-bg-checked – background when checked
24
+ * --check-line-color – diagonal line color
25
+ * --check-line-width – diagonal line thickness (default: 6px)
26
+ * --box-opacity-unchecked – opacity when unchecked (default: 0.5)
27
+ * --box-opacity-checked – opacity when checked (default: 1)
28
+ * --box-opacity-hover – opacity on hover (default: 1)
29
+ * --box-opacity-disabled – opacity when disabled (default: 0.3)
30
+ * --box-label-gap – gap between box and label (default: 8px)
31
+ * --label-font-size – label font size (default: 14px)
32
+ * --label-opacity – label opacity (default: 1)
33
+ * --label-opacity-unchecked – label opacity when unchecked (default: uses --label-opacity)
34
+ * --transition-duration – animation duration (default: 0.2s)
35
+ */
36
+ import { html, LitElement } from 'lit';
37
+ export declare class Checkbox extends LitElement {
38
+ #private;
39
+ static styles: import("lit").CSSResult;
40
+ checked: boolean;
41
+ disabled: boolean;
42
+ indeterminate: boolean;
43
+ label: string;
44
+ name: string;
45
+ value: string;
46
+ render(): ReturnType<typeof html>;
47
+ }
48
+ export type CheckboxChangeDetail = {
49
+ readonly checked: boolean;
50
+ };
51
+ export type CheckboxChangeEvent = CustomEvent<CheckboxChangeDetail>;
52
+ declare global {
53
+ interface HTMLElementTagNameMap {
54
+ 'ixfx-checkbox': Checkbox;
55
+ }
56
+ }
57
+ export interface CheckboxEventMap {
58
+ 'change': CheckboxChangeEvent;
59
+ }
60
+ export interface Checkbox {
61
+ addEventListener<K extends keyof CheckboxEventMap>(type: K, listener: (this: Checkbox, event: CheckboxEventMap[K]) => void, options?: boolean | AddEventListenerOptions): void;
62
+ addEventListener(type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions): void;
63
+ }
64
+ //# sourceMappingURL=checkbox.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"checkbox.d.ts","sourceRoot":"","sources":["../src/checkbox.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACH,OAAO,EAAO,IAAI,EAAE,UAAU,EAAE,MAAM,KAAK,CAAC;AAG5C,qBACa,QAAS,SAAQ,UAAU;;IACtC,MAAM,CAAC,MAAM,0BA+JX;IAE2B,OAAO,UAAS;IAChB,QAAQ,UAAS;IACjB,aAAa,UAAS;IACvB,KAAK,SAAM;IACX,IAAI,SAAM;IACV,KAAK,SAAM;IAa9B,MAAM,IAAI,UAAU,CAAC,OAAO,IAAI,CAAC;CAkB3C;AAED,MAAM,MAAM,oBAAoB,GAAG;IACjC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;CAC3B,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,oBAAoB,CAAC,CAAC;AAEpE,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,QAAQ,CAAC;KAC3B;CACF;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE,mBAAmB,CAAC;CAC/B;AAED,MAAM,WAAW,QAAQ;IACvB,gBAAgB,CAAC,CAAC,SAAS,MAAM,gBAAgB,EAC/C,IAAI,EAAE,CAAC,EACP,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,KAAK,IAAI,EAC9D,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;IACR,gBAAgB,CACd,IAAI,EAAE,MAAM,EACZ,QAAQ,EAAE,kCAAkC,EAC5C,OAAO,CAAC,EAAE,OAAO,GAAG,uBAAuB,GAC1C,IAAI,CAAC;CACT"}