@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
package/dist/crumbs.js ADDED
@@ -0,0 +1,789 @@
1
+ import { n as tickledStyles, r as TickledController, t as tickledItemStyles } from "./tickled-styles-Bg3QbcrD.js";
2
+ import { t as __decorate } from "./decorate-BZbkqIhA.js";
3
+ import "./interaction-CQDQJf2Q.js";
4
+ import "./menu-item-DEzL_Yjk.js";
5
+ import "./narrowed-text.js";
6
+ import { LitElement, css, html, nothing } from "lit";
7
+ import { customElement, property, state } from "lit/decorators.js";
8
+ //#region src/crumbs/crumb-navigation.ts
9
+ let CrumbNavigationElement = class CrumbNavigationElement extends LitElement {
10
+ constructor(..._args) {
11
+ super(..._args);
12
+ this._selectedNodes = /* @__PURE__ */ new Set();
13
+ this.exclusivity = "none";
14
+ this.selectionFilter = "leaf";
15
+ this._openIdx = -1;
16
+ this._isFocused = false;
17
+ this._menuOpen = false;
18
+ this._focusOnNarrowedText = false;
19
+ this.inputMode = "";
20
+ this.#previousSelectionKey = ``;
21
+ this.#menuOpenedByKeyboard = false;
22
+ this.#currentOpenTrigger = null;
23
+ this.tickled = new TickledController(this, {
24
+ getItems: () => this.#getTickledItems(),
25
+ onTickle: (index) => {
26
+ if (index !== void 0) this.#onTickled(index);
27
+ }
28
+ });
29
+ this.#onFocus = () => {
30
+ this._isFocused = true;
31
+ };
32
+ this.#onBlur = () => {
33
+ this._isFocused = false;
34
+ };
35
+ this.#onHostClick = () => {
36
+ this.shadowRoot?.querySelector(`.host-container`)?.focus();
37
+ };
38
+ this.#onMenuTriggerClose = () => {
39
+ document.removeEventListener(`keydown`, this.#onMenuKeyNav, { capture: true });
40
+ this.#currentOpenTrigger = null;
41
+ this.#menuOpenedByKeyboard = false;
42
+ requestAnimationFrame(() => {
43
+ this.shadowRoot?.querySelector(`.host-container`)?.focus();
44
+ });
45
+ };
46
+ this.#onMenuKeyNav = (e) => {
47
+ if (!this.#currentOpenTrigger?.querySelector(`ixfx-menu-container`) || !this.#currentOpenTrigger?.isOpen) return;
48
+ switch (e.key) {
49
+ case `ArrowLeft`:
50
+ case `ArrowRight`: {
51
+ e.preventDefault();
52
+ e.stopPropagation();
53
+ this.#currentOpenTrigger.closeMenu();
54
+ const r = this.root;
55
+ const sel = this.selectedNode;
56
+ if (!r || !sel) break;
57
+ const totalItems = (this.#findPath(r, sel) ?? [r]).length + (this.#hasChildOptions() ? 1 : 0);
58
+ const currentTickled = this.tickled.tickledId ?? -1;
59
+ if (e.key === `ArrowLeft`) {
60
+ if (currentTickled > 0) this.tickled.handleKeyboardNavigation(`previous`);
61
+ } else if (currentTickled < totalItems - 1) this.tickled.handleKeyboardNavigation(`next`);
62
+ break;
63
+ }
64
+ }
65
+ };
66
+ this.#onKeyDown = (e) => {
67
+ const r = this.root;
68
+ const sel = this.selectedNode;
69
+ if (!r || !sel) return;
70
+ const totalItems = (this.#findPath(r, sel) ?? [r]).length + (this.#hasChildOptions() ? 1 : 0);
71
+ const currentTickled = this.tickled.tickledId ?? -1;
72
+ switch (e.key) {
73
+ case `ArrowRight`:
74
+ e.preventDefault();
75
+ if (currentTickled < totalItems - 1) this.tickled.handleKeyboardNavigation(`next`);
76
+ else if (currentTickled === totalItems - 1) this.#shiftFocusToNarrowedText();
77
+ break;
78
+ case `ArrowLeft`:
79
+ e.preventDefault();
80
+ if (currentTickled > 0) this.tickled.handleKeyboardNavigation(`previous`);
81
+ break;
82
+ case `ArrowDown`:
83
+ case `ArrowUp`:
84
+ if (this.tickled.tickledId !== void 0) {
85
+ e.preventDefault();
86
+ if (this.#currentOpenTrigger?.isOpen) {
87
+ const popover = this.#currentOpenTrigger.querySelector(`ixfx-menu-container`)?.shadowRoot?.querySelector(`.popover`);
88
+ if (popover) popover.dispatchEvent(new KeyboardEvent(`keydown`, {
89
+ key: e.key,
90
+ bubbles: true
91
+ }));
92
+ } else this.#handleOpenCaretMenu();
93
+ }
94
+ break;
95
+ case `Enter`:
96
+ e.preventDefault();
97
+ this.#handleEnter();
98
+ break;
99
+ case `Escape`:
100
+ e.preventDefault();
101
+ this._menuOpen = false;
102
+ this.tickled.clearTickled();
103
+ this.blur();
104
+ break;
105
+ case `Tab`:
106
+ if (e.shiftKey) {
107
+ e.preventDefault();
108
+ this.#shiftFocusToPath();
109
+ } else if (currentTickled === totalItems - 1) {
110
+ e.preventDefault();
111
+ this._menuOpen = false;
112
+ this._focusOnNarrowedText = true;
113
+ const narrowedText = this.shadowRoot?.querySelector(`ixfx-narrowed-text`);
114
+ if (narrowedText) narrowedText.focus();
115
+ }
116
+ break;
117
+ }
118
+ };
119
+ this.#onNarrowedTextBlur = () => {
120
+ this._focusOnNarrowedText = false;
121
+ this.#shiftFocusToPath();
122
+ };
123
+ this.#onNarrowedTextShiftTab = () => {
124
+ this._focusOnNarrowedText = false;
125
+ this.#shiftFocusToPath();
126
+ };
127
+ }
128
+ get selectedNodes() {
129
+ return this._selectedNodes;
130
+ }
131
+ #pendingNode;
132
+ #pendingController;
133
+ #modelUnsubscribe;
134
+ #previousSelectionKey;
135
+ #menuOpenedByKeyboard;
136
+ #currentOpenTrigger;
137
+ #getTickledItems() {
138
+ const r = this.root;
139
+ const sel = this.selectedNode;
140
+ if (!r || !sel) return [];
141
+ const pathNodes = this.#findPath(r, sel) ?? [r];
142
+ const items = [];
143
+ pathNodes.forEach((_node, i) => {
144
+ items.push({
145
+ id: i,
146
+ enabled: true
147
+ });
148
+ });
149
+ if (this.#hasChildOptions()) items.push({
150
+ id: pathNodes.length,
151
+ enabled: true
152
+ });
153
+ return items;
154
+ }
155
+ #onTickled(index) {
156
+ const r = this.root;
157
+ const sel = this.selectedNode;
158
+ if (!r || !sel) return;
159
+ const pathNodes = this.#findPath(r, sel) ?? [r];
160
+ const hasChildOptions = this.#hasChildOptions();
161
+ if (index < pathNodes.length) this._openIdx = index;
162
+ else if (hasChildOptions && index === pathNodes.length) this._openIdx = pathNodes.length - 1;
163
+ }
164
+ #hasChildOptions() {
165
+ const s = this.selectedNode;
166
+ if (s === void 0) return false;
167
+ const isPending = this.#pendingNode === s;
168
+ return (s.children ?? []).length > 0 || isPending;
169
+ }
170
+ #onFocus;
171
+ #onBlur;
172
+ #onHostClick;
173
+ #handleOpenCaretMenu() {
174
+ const currentTickled = this.tickled.tickledId;
175
+ if (currentTickled === void 0) return;
176
+ const r = this.root;
177
+ const sel = this.selectedNode;
178
+ if (!r || !sel) return;
179
+ if (currentTickled < (this.#findPath(r, sel) ?? [r]).length - 1) {
180
+ const trigger = (this.shadowRoot?.querySelectorAll(`.crumb-segment`))?.[currentTickled]?.querySelector(`.caret ixfx-menu-trigger`);
181
+ if (trigger) {
182
+ this.#menuOpenedByKeyboard = true;
183
+ this.#currentOpenTrigger = trigger;
184
+ document.addEventListener(`keydown`, this.#onMenuKeyNav, { capture: true });
185
+ trigger.openMenu();
186
+ this.#propagateInputModeToMenu();
187
+ return;
188
+ }
189
+ }
190
+ if (this.#hasChildOptions()) {
191
+ const trigger = this.shadowRoot?.querySelector(`#child-options-trigger`);
192
+ if (trigger) {
193
+ this.#menuOpenedByKeyboard = true;
194
+ this.#currentOpenTrigger = trigger;
195
+ document.addEventListener(`keydown`, this.#onMenuKeyNav, { capture: true });
196
+ trigger.openMenu();
197
+ this.#propagateInputModeToMenu();
198
+ }
199
+ }
200
+ }
201
+ #propagateInputModeToMenu() {
202
+ const inputMode = this.tickled.inputMode;
203
+ requestAnimationFrame(() => {
204
+ const container = this.#currentOpenTrigger?.querySelector(`ixfx-menu-container`);
205
+ if (container) container.setAttribute(`data-input-mode`, inputMode);
206
+ });
207
+ }
208
+ #onMenuTriggerClose;
209
+ #onMenuKeyNav;
210
+ #onKeyDown;
211
+ #handleEnter() {
212
+ const r = this.root;
213
+ const sel = this.selectedNode;
214
+ if (!r || !sel) return;
215
+ const pathNodes = this.#findPath(r, sel) ?? [r];
216
+ const hasChildOptions = this.#hasChildOptions();
217
+ const currentTickled = this.tickled.tickledId ?? -1;
218
+ if (currentTickled < pathNodes.length) {
219
+ const node = pathNodes[currentTickled];
220
+ this.#setSelected(node);
221
+ this._menuOpen = false;
222
+ this.dispatchEvent(new CustomEvent(`item-click`, {
223
+ detail: {
224
+ node,
225
+ depth: currentTickled
226
+ },
227
+ bubbles: true,
228
+ composed: true
229
+ }));
230
+ } else if (hasChildOptions && currentTickled === pathNodes.length) {
231
+ this._menuOpen = true;
232
+ this.#menuOpenedByKeyboard = true;
233
+ const trigger = this.shadowRoot?.querySelector(`#child-options-trigger`);
234
+ if (trigger) {
235
+ this.#currentOpenTrigger = trigger;
236
+ document.addEventListener(`keydown`, this.#onMenuKeyNav, { capture: true });
237
+ trigger.openMenu();
238
+ this.#propagateInputModeToMenu();
239
+ }
240
+ }
241
+ }
242
+ #shiftFocusToNarrowedText() {
243
+ const narrowedText = this.shadowRoot?.querySelector(`ixfx-narrowed-text`);
244
+ if (narrowedText) {
245
+ this._focusOnNarrowedText = true;
246
+ narrowedText.focus();
247
+ }
248
+ }
249
+ #shiftFocusToPath() {
250
+ this._focusOnNarrowedText = false;
251
+ const hostContainer = this.shadowRoot?.querySelector(`.host-container`);
252
+ if (hostContainer) hostContainer.focus();
253
+ }
254
+ #onNarrowedTextBlur;
255
+ #onNarrowedTextShiftTab;
256
+ select(node) {
257
+ this.#setSelected(node);
258
+ }
259
+ deselect(_node) {}
260
+ clearSelection() {
261
+ if (this.root) this.#setSelected(this.root);
262
+ }
263
+ getNodes() {
264
+ if (!this.root) return [];
265
+ const result = [];
266
+ const visit = (node, depth) => {
267
+ result.push({
268
+ node,
269
+ depth
270
+ });
271
+ if (node.children) for (const child of node.children) visit(child, depth + 1);
272
+ };
273
+ for (const child of this.root.children ?? []) visit(child, 0);
274
+ return result;
275
+ }
276
+ updated(changedProps) {
277
+ if (changedProps.has(`model`)) {
278
+ this.#modelUnsubscribe?.();
279
+ this.#modelUnsubscribe = void 0;
280
+ const model = this.model;
281
+ if (model) {
282
+ this.root = model.root;
283
+ this.#modelUnsubscribe = model._subscribe((event) => {
284
+ if (event.type === "root") {
285
+ this.root = event.root;
286
+ this.requestUpdate();
287
+ }
288
+ });
289
+ }
290
+ }
291
+ this.#runLayoutUpdate(changedProps);
292
+ }
293
+ disconnectedCallback() {
294
+ super.disconnectedCallback();
295
+ this.#modelUnsubscribe?.();
296
+ this.#modelUnsubscribe = void 0;
297
+ document.removeEventListener(`keydown`, this.#onMenuKeyNav, { capture: true });
298
+ this.#currentOpenTrigger = null;
299
+ }
300
+ #runLayoutUpdate(_changedProperties) {
301
+ if (!this.shadowRoot) return;
302
+ const hsiElement = this.shadowRoot.querySelector(`.horiz-select-items`);
303
+ if (!hsiElement) return;
304
+ const ulElement = hsiElement.querySelector(`ul`);
305
+ if (!ulElement) return;
306
+ const menuTrigger = this.shadowRoot.querySelector(`ixfx-menu-trigger`);
307
+ if (!menuTrigger) return;
308
+ if (ulElement.getBoundingClientRect().width > hsiElement.getBoundingClientRect().width) menuTrigger.style.display = `inline-flex`;
309
+ else menuTrigger.style.display = `none`;
310
+ for (const li of ulElement.querySelectorAll(`li`)) if ((li.getAttribute(`data-key`) ?? ``) === this.#previousSelectionKey) {
311
+ this.#scrollToValue(li);
312
+ break;
313
+ }
314
+ }
315
+ #scrollToValue(li) {
316
+ let l = li.offsetLeft;
317
+ const ul = li.parentElement;
318
+ if (!ul) return;
319
+ l -= ul.offsetLeft;
320
+ const horizSelectItems = ul.parentElement;
321
+ if (!horizSelectItems) return;
322
+ horizSelectItems.scroll({
323
+ left: l,
324
+ top: 0,
325
+ behavior: `smooth`
326
+ });
327
+ const horizSelect = horizSelectItems.parentElement;
328
+ if (!horizSelect) return;
329
+ horizSelect.style.minWidth = `${li.getBoundingClientRect().width}px`;
330
+ }
331
+ #abortPending() {
332
+ if (this.#pendingController) {
333
+ this.#pendingController.abort();
334
+ this.#pendingController = void 0;
335
+ this.#pendingNode = void 0;
336
+ }
337
+ }
338
+ #findPath(node, target, acc = []) {
339
+ const path = [...acc, node];
340
+ if (node === target) return path;
341
+ if (!node.children) return void 0;
342
+ for (const child of node.children) {
343
+ const result = this.#findPath(child, target, path);
344
+ if (result) return result;
345
+ }
346
+ }
347
+ #setSelected(node) {
348
+ const previous = this.selectedNode;
349
+ if (previous) this.#previousSelectionKey = previous.item?.key ?? ``;
350
+ else this.#previousSelectionKey = ``;
351
+ const previousSet = previous ? new Set([previous]) : /* @__PURE__ */ new Set();
352
+ this.selectedNode = node;
353
+ this._selectedNodes = new Set([node]);
354
+ this.dispatchEvent(new CustomEvent(`select`, {
355
+ detail: {
356
+ selected: new Set([node]),
357
+ previous: previousSet
358
+ },
359
+ bubbles: true,
360
+ composed: true
361
+ }));
362
+ }
363
+ #onLabelClick(node, depth) {
364
+ this._openIdx = -1;
365
+ this.#setSelected(node);
366
+ this.dispatchEvent(new CustomEvent(`item-click`, {
367
+ detail: {
368
+ node,
369
+ depth
370
+ },
371
+ bubbles: true,
372
+ composed: true
373
+ }));
374
+ }
375
+ #onCaretClick(node, depth, e) {
376
+ e.preventDefault();
377
+ e.stopPropagation();
378
+ if (this._openIdx === depth) {
379
+ this._openIdx = -1;
380
+ return;
381
+ }
382
+ this._openIdx = depth;
383
+ if (node.children === void 0 && this.#pendingNode !== node) {
384
+ this.#abortPending();
385
+ this.#pendingNode = node;
386
+ const controller = new AbortController();
387
+ this.#pendingController = controller;
388
+ if (this.loadChildren) this.#invokeLoadChildren(node, depth, controller).catch(() => {});
389
+ }
390
+ this.requestUpdate();
391
+ }
392
+ async #invokeLoadChildren(node, depth, controller) {
393
+ try {
394
+ const result = this.loadChildren(node, depth, controller.signal);
395
+ const children = result instanceof Promise ? await result : result;
396
+ if (controller.signal.aborted) return;
397
+ node.children = children;
398
+ this.#pendingNode = void 0;
399
+ this.#pendingController = void 0;
400
+ this.dispatchEvent(new CustomEvent(`expand`, {
401
+ detail: {
402
+ node,
403
+ depth
404
+ },
405
+ bubbles: true,
406
+ composed: true
407
+ }));
408
+ this.requestUpdate();
409
+ } catch (err) {
410
+ if (controller.signal.aborted) return;
411
+ node.children = [];
412
+ this.#pendingNode = void 0;
413
+ this.#pendingController = void 0;
414
+ this.requestUpdate();
415
+ }
416
+ }
417
+ #onSegmentMenuCommand(e, node, depth) {
418
+ const key = e.detail.command;
419
+ const child = node.children?.find((c) => c.item.key === key);
420
+ if (child) this.#onChildClick(child, depth + 1);
421
+ }
422
+ #onChildClick(node, depth) {
423
+ this._openIdx = -1;
424
+ this.#setSelected(node);
425
+ this.dispatchEvent(new CustomEvent(`item-click`, {
426
+ detail: {
427
+ node,
428
+ depth
429
+ },
430
+ bubbles: true,
431
+ composed: true
432
+ }));
433
+ }
434
+ /** Navigate to a node by key path. Returns false if any key is not found in already-loaded children. */
435
+ navigateTo(keys) {
436
+ if (!this.root?.children) return false;
437
+ let current = this.root;
438
+ for (const key of keys) {
439
+ const found = current?.children?.find((n) => n.item.key === key);
440
+ if (!found) return false;
441
+ current = found;
442
+ }
443
+ if (current && current !== this.root) this.#setSelected(current);
444
+ return true;
445
+ }
446
+ /** Navigate to the first node matching the predicate. Returns false if not found. */
447
+ navigateToNode(predicate) {
448
+ if (!this.root) return false;
449
+ const keyPath = this.#findNodePath(this.root.children ?? [], predicate);
450
+ if (!keyPath) return false;
451
+ return this.navigateTo(keyPath);
452
+ }
453
+ #findNodePath(nodes, predicate, prefix = []) {
454
+ for (const node of nodes) {
455
+ const path = [...prefix, node.item.key];
456
+ if (predicate(node)) return path;
457
+ if (node.children?.length) {
458
+ const result = this.#findNodePath(node.children, predicate, path);
459
+ if (result) return result;
460
+ }
461
+ }
462
+ }
463
+ #onMenuCommand(e) {
464
+ const node = this.selectedNode;
465
+ if (!node?.children) return;
466
+ const key = e.detail.command;
467
+ const child = node.children.find((c) => c.item.key === key);
468
+ if (child) {
469
+ const depth = this.root ? this.#findPath(this.root, node)?.length ?? 1 : 1;
470
+ this.#onChildClick(child, depth);
471
+ }
472
+ }
473
+ render() {
474
+ const r = this.root;
475
+ const sel = this.selectedNode;
476
+ if (!r || !sel) return html``;
477
+ this.inputMode = this.tickled.inputMode;
478
+ const pathNodes = this.#findPath(r, sel) ?? [r];
479
+ this.#hasChildOptions();
480
+ const parts = pathNodes.map((node, i) => {
481
+ const isLast = i === pathNodes.length - 1;
482
+ const isPending = this.#pendingNode === node;
483
+ const isOpen = this._openIdx === i;
484
+ const hasChildren = node.item.isLeaf !== true && (node.children === void 0 || node.children.length > 0);
485
+ const showCaret = !isLast && hasChildren;
486
+ const isTickled = this.tickled.isTickled(i);
487
+ const menuItems = (node.children ?? []).map((c) => html`
488
+ <ixfx-menu-item
489
+ label="${c.item.label}"
490
+ command="${c.item.key}"
491
+ icon-name="${c.item.icon ?? nothing}"
492
+ ></ixfx-menu-item>
493
+ `);
494
+ return html`
495
+ <div class="item crumb-segment ${isTickled ? `tickled` : ``}"
496
+ @pointerenter=${() => {
497
+ this.tickled.handlePointerEnter(i);
498
+ this.dispatchEvent(new CustomEvent(`tickle`, {
499
+ detail: {
500
+ node,
501
+ depth: i
502
+ },
503
+ bubbles: true,
504
+ composed: true
505
+ }));
506
+ }}
507
+ >
508
+ <span class="label" @click=${() => this.#onLabelClick(node, i)}>${node.item.label}</span>
509
+ ${showCaret ? html`
510
+ <span class="caret ${isOpen ? `open` : ``} ${isPending ? `pending` : ``}">
511
+ ${isPending ? html`<span class="loading-spinner"></span>` : html`
512
+ <ixfx-menu-trigger mode="trigger" label="›" @menu-command=${(e) => this.#onSegmentMenuCommand(e, node, i)}>
513
+ <ixfx-menu-container slot="menu">
514
+ ${menuItems}
515
+ </ixfx-menu-container>
516
+ </ixfx-menu-trigger>
517
+ `}
518
+ </span>
519
+ ` : nothing}
520
+ </div>
521
+ `;
522
+ });
523
+ const childOptions = this.#renderChildOptions();
524
+ const isLastItemTickled = this.tickled.isTickled(pathNodes.length);
525
+ return html`
526
+ <div
527
+ class="host-container"
528
+ tabindex="0"
529
+ @focus=${this.#onFocus}
530
+ @blur=${this.#onBlur}
531
+ @keydown=${this.#onKeyDown}
532
+ @click=${this.#onHostClick}
533
+ @menu-trigger-close=${this.#onMenuTriggerClose}
534
+ @pointerleave=${(e) => this.tickled.handlePointerLeave(e)}
535
+ >
536
+ <div class="parts">${parts}</div>
537
+ ${childOptions ? html`
538
+ <ixfx-menu-trigger
539
+ id="child-options-trigger"
540
+ class="item separator-trigger ${isLastItemTickled ? `tickled` : ``}"
541
+ mode="trigger"
542
+ label="›"
543
+ @menu-command=${this.#onMenuCommand}
544
+ @pointerenter=${() => this.tickled.handlePointerEnter(pathNodes.length)}
545
+ >
546
+ <ixfx-menu-container slot="menu">
547
+ ${(this.selectedNode?.children ?? []).map((c) => html`
548
+ <ixfx-menu-item
549
+ label="${c.item.label}"
550
+ command="${c.item.key}"
551
+ icon-name="${c.item.icon ?? nothing}"
552
+ ></ixfx-menu-item>
553
+ `)}
554
+ </ixfx-menu-container>
555
+ </ixfx-menu-trigger>
556
+ ` : nothing}
557
+ ${childOptions}
558
+ </div>
559
+ `;
560
+ }
561
+ #renderChildOptions() {
562
+ const s = this.selectedNode;
563
+ if (s === void 0) return nothing;
564
+ const isPending = this.#pendingNode === s;
565
+ const children = s.children ?? [];
566
+ if (children.length === 0 && !isPending) return nothing;
567
+ if (isPending) return html`
568
+ <div class="horiz-select">
569
+ <div class="horiz-select-items">
570
+ <span class="loading-spinner"></span>
571
+ </div>
572
+ </div>
573
+ `;
574
+ return html`
575
+ <ixfx-narrowed-text
576
+ class="horiz-select"
577
+ selection-mode="single"
578
+ orientation="horizontal"
579
+ nowrap
580
+ width=${this.#getChildOptionsWidth()}
581
+ @change=${this.#onNarrowedTextChange}
582
+ @narrowed-text-blur=${this.#onNarrowedTextBlur}
583
+ @narrowed-text-shift-tab=${this.#onNarrowedTextShiftTab}
584
+ >
585
+ ${children.map((c) => html`
586
+ <span data-value="${c.item.key}" data-label="${c.item.label}"></span>
587
+ `)}
588
+ </ixfx-narrowed-text>
589
+ `;
590
+ }
591
+ #onNarrowedTextChange(e) {
592
+ const detail = e.detail;
593
+ const node = this.selectedNode;
594
+ if (!node?.children) return;
595
+ const child = node.children.find((c) => c.item.key === detail.item.value);
596
+ if (child) {
597
+ const depth = this.root ? this.#findPath(this.root, node)?.length ?? 1 : 1;
598
+ this.#onChildClick(child, depth);
599
+ }
600
+ }
601
+ #getChildOptionsWidth() {
602
+ return `var(--child-options-width, 50ch)`;
603
+ }
604
+ static {
605
+ this.styles = [
606
+ tickledStyles,
607
+ tickledItemStyles,
608
+ css`
609
+ :host {
610
+ --text-highlight: var(--accent);
611
+ --separator: var(--surface-muted-text);
612
+ --padding-s: var(--space-xs);
613
+ display: flex;
614
+ overflow: scroll;
615
+ width: 100%;
616
+ scroll-snap-type: x mandatory;
617
+ scrollbar-width: none;
618
+
619
+ /* Breadcrumb tickled overrides — no layout shift: keep transparent border at rest */
620
+ --item-padding: 0;
621
+ }
622
+
623
+ :host(.focused) {
624
+ outline: none;
625
+ }
626
+
627
+ :host([input-mode="keyboard"]) .host-container {
628
+ outline: 2px solid var(--accent);
629
+ outline-offset: 2px;
630
+ }
631
+
632
+ .host-container {
633
+ display: flex;
634
+ width: 100%;
635
+ outline: none;
636
+ }
637
+
638
+ .parts {
639
+ display: flex;
640
+ }
641
+
642
+ .crumb-segment {
643
+ display: flex;
644
+ align-items: center;
645
+ }
646
+
647
+ .label {
648
+ cursor: pointer;
649
+ margin-right: var(--padding-s);
650
+ white-space: nowrap;
651
+ }
652
+
653
+ .caret {
654
+ position: relative;
655
+ cursor: pointer;
656
+ padding: var(--padding-m);
657
+ margin-left: var(--padding-s);
658
+ margin-right: var(--padding-s);
659
+ color: var(--separator);
660
+ display: inline-flex;
661
+ align-items: center;
662
+ justify-content: center;
663
+ transition: all 0.2s ease-in-out;
664
+ }
665
+
666
+ .caret.open {
667
+ background: color-mix(in srgb, var(--surface-5) 40%, transparent);
668
+ }
669
+
670
+ .caret.pending {
671
+ display: inline-flex;
672
+ }
673
+
674
+ .caret > ixfx-menu-trigger {
675
+ display: inline-flex;
676
+ margin: 0;
677
+ --_trigger-hover-bg: transparent;
678
+ --_trigger-hover-opacity: 0.6;
679
+ }
680
+
681
+ .caret > ixfx-menu-trigger::part(base) {
682
+ background: none;
683
+ border: none;
684
+ color: inherit;
685
+ padding: 0;
686
+ cursor: pointer;
687
+ font-size: inherit;
688
+ line-height: 1;
689
+ }
690
+
691
+ .caret > ixfx-menu-trigger::part(base):hover {
692
+ background: none;
693
+ opacity: 0.6;
694
+ }
695
+
696
+ .separator {
697
+ margin-left: var(--padding-s);
698
+ margin-right: var(--padding-s);
699
+ color: var(--separator);
700
+ }
701
+
702
+ .separator-trigger {
703
+ display: inline-flex;
704
+ margin-left: var(--padding-s);
705
+ margin-right: var(--padding-s);
706
+ --_trigger-hover-bg: transparent;
707
+ --_trigger-hover-opacity: 0.6;
708
+ }
709
+
710
+ .separator-trigger::part(base) {
711
+ background: none;
712
+ border: none;
713
+ color: var(--separator);
714
+ padding: 0;
715
+ cursor: pointer;
716
+ font-size: inherit;
717
+ line-height: 1;
718
+ }
719
+
720
+ .separator-trigger::part(base):hover {
721
+ background: none;
722
+ opacity: 0.6;
723
+ }
724
+
725
+ .separator-trigger.tickled::part(base) {
726
+ }
727
+
728
+ ixfx-menu-trigger {
729
+ display: none;
730
+ }
731
+
732
+ .horiz-select > ixfx-menu-trigger {
733
+ display: inline-flex;
734
+ }
735
+
736
+ .horiz-select {
737
+ display: flex;
738
+ min-width: 5ch;
739
+ }
740
+
741
+ .loading-spinner {
742
+ display: inline-block;
743
+ width: 12px;
744
+ height: 12px;
745
+ border: 2px solid var(--surface-5);
746
+ border-top-color: var(--accent);
747
+ border-radius: 50%;
748
+ animation: crumb-spin 0.7s linear infinite;
749
+ }
750
+
751
+ @keyframes crumb-spin {
752
+ to { transform: rotate(360deg); }
753
+ }
754
+
755
+ ::slotted(*), option {
756
+ user-select: none;
757
+ scroll-snap-align: start;
758
+ }
759
+ `
760
+ ];
761
+ }
762
+ };
763
+ __decorate([property({ type: Object })], CrumbNavigationElement.prototype, "root", void 0);
764
+ __decorate([property({ attribute: false })], CrumbNavigationElement.prototype, "model", void 0);
765
+ __decorate([property({ type: Object })], CrumbNavigationElement.prototype, "selectedNode", void 0);
766
+ __decorate([state()], CrumbNavigationElement.prototype, "_selectedNodes", void 0);
767
+ __decorate([property({ attribute: false })], CrumbNavigationElement.prototype, "loadChildren", void 0);
768
+ __decorate([property({ attribute: false })], CrumbNavigationElement.prototype, "filterPredicate", void 0);
769
+ __decorate([property({
770
+ reflect: true,
771
+ attribute: "exclusivity"
772
+ })], CrumbNavigationElement.prototype, "exclusivity", void 0);
773
+ __decorate([property({
774
+ reflect: true,
775
+ attribute: "selection-filter"
776
+ })], CrumbNavigationElement.prototype, "selectionFilter", void 0);
777
+ __decorate([state()], CrumbNavigationElement.prototype, "_openIdx", void 0);
778
+ __decorate([state()], CrumbNavigationElement.prototype, "_isFocused", void 0);
779
+ __decorate([state()], CrumbNavigationElement.prototype, "_menuOpen", void 0);
780
+ __decorate([state()], CrumbNavigationElement.prototype, "_focusOnNarrowedText", void 0);
781
+ __decorate([property({
782
+ reflect: true,
783
+ attribute: "input-mode"
784
+ })], CrumbNavigationElement.prototype, "inputMode", void 0);
785
+ CrumbNavigationElement = __decorate([customElement(`ixfx-crumb-navigation`)], CrumbNavigationElement);
786
+ //#endregion
787
+ export { CrumbNavigationElement };
788
+
789
+ //# sourceMappingURL=crumbs.js.map