@ixfx/components 0.2.4 → 0.2.6

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 (718) hide show
  1. package/bundle/index.d.ts +285 -159
  2. package/bundle/index.d.ts.map +1 -1
  3. package/bundle/index.js +3291 -2485
  4. package/bundle/index.js.map +1 -1
  5. package/dist/ac-text.d.ts +96 -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-B9ztaKyl.js} +49 -3
  10. package/dist/button-B9ztaKyl.js.map +1 -0
  11. package/dist/button.d.ts +20 -0
  12. package/dist/button.d.ts.map +1 -0
  13. package/dist/button.js +3 -0
  14. package/dist/checkbox.d.ts +26 -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-BNqDz4wK.js +922 -0
  22. package/dist/colour-picker-BNqDz4wK.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 +91 -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 +22 -18
  30. package/dist/data-display.d.ts.map +1 -1
  31. package/dist/data-display.js +81 -108
  32. package/dist/data-display.js.map +1 -1
  33. package/dist/decorate-O4m1U4l3.js +25 -0
  34. package/dist/decorate-O4m1U4l3.js.map +1 -0
  35. package/dist/defaults-FEZaGiYZ.js +38 -0
  36. package/dist/defaults-FEZaGiYZ.js.map +1 -0
  37. package/dist/dist-By5URG0Y.js +1290 -0
  38. package/dist/dist-By5URG0Y.js.map +1 -0
  39. package/dist/dist-D7kJgnSE.js +1039 -0
  40. package/dist/dist-D7kJgnSE.js.map +1 -0
  41. package/dist/editable-label.d.ts +71 -0
  42. package/dist/editable-label.d.ts.map +1 -0
  43. package/dist/editable-label.js +279 -0
  44. package/dist/editable-label.js.map +1 -0
  45. package/dist/hex-editor-2_s0Ua5t.d.ts +130 -0
  46. package/dist/hex-editor-2_s0Ua5t.d.ts.map +1 -0
  47. package/dist/hex-editor-gH3mteMr.js +1147 -0
  48. package/dist/hex-editor-gH3mteMr.js.map +1 -0
  49. package/dist/hex.d.ts +2 -0
  50. package/dist/hex.js +2 -0
  51. package/dist/highlight-CAjwQ4GE.js +50 -0
  52. package/dist/highlight-CAjwQ4GE.js.map +1 -0
  53. package/dist/icon-CYACf6o8.js +100 -0
  54. package/dist/icon-CYACf6o8.js.map +1 -0
  55. package/dist/icon-CeTDJhC7.d.ts +35 -0
  56. package/dist/icon-CeTDJhC7.d.ts.map +1 -0
  57. package/dist/icons.d.ts +3 -0
  58. package/dist/icons.js +9 -0
  59. package/dist/icons.js.map +1 -0
  60. package/dist/incr-search-BZawvrfl.js +311 -0
  61. package/dist/incr-search-BZawvrfl.js.map +1 -0
  62. package/dist/incr-search.d.ts +2 -0
  63. package/dist/incr-search.js +3 -0
  64. package/dist/index-B1hNR7Z9.d.ts +36 -0
  65. package/dist/index-B1hNR7Z9.d.ts.map +1 -0
  66. package/dist/index-CnL9krsH.d.ts +1238 -0
  67. package/dist/index-CnL9krsH.d.ts.map +1 -0
  68. package/dist/index-CwGkb9s1.d.ts +395 -0
  69. package/dist/index-CwGkb9s1.d.ts.map +1 -0
  70. package/dist/index-DrQjA8Gs.d.ts +22 -0
  71. package/dist/index-DrQjA8Gs.d.ts.map +1 -0
  72. package/dist/index-V2cJorlA.d.ts +160 -0
  73. package/dist/index-V2cJorlA.d.ts.map +1 -0
  74. package/dist/index-kY5gxbkI.d.ts +182 -0
  75. package/dist/index-kY5gxbkI.d.ts.map +1 -0
  76. package/dist/index.d.ts +540 -53
  77. package/dist/index.d.ts.map +1 -1
  78. package/dist/index.js +6519 -54
  79. package/dist/index.js.map +1 -1
  80. package/dist/interaction-CQDQJf2Q.js +1 -0
  81. package/dist/keyboard-De_vOHLg.js +20 -0
  82. package/dist/keyboard-De_vOHLg.js.map +1 -0
  83. package/dist/labelled-input-base-BvgH7ldm.js +155 -0
  84. package/dist/labelled-input-base-BvgH7ldm.js.map +1 -0
  85. package/dist/labelled-input-base-D-Y7agky.d.ts +42 -0
  86. package/dist/labelled-input-base-D-Y7agky.d.ts.map +1 -0
  87. package/dist/labelled-radial-input.d.ts +33 -0
  88. package/dist/labelled-radial-input.d.ts.map +1 -0
  89. package/dist/labelled-radial-input.js +188 -0
  90. package/dist/labelled-radial-input.js.map +1 -0
  91. package/dist/labelled-range-input.d.ts +2 -0
  92. package/dist/{labelled-range-input/labelled-range-input.js → labelled-range-input.js} +40 -45
  93. package/dist/labelled-range-input.js.map +1 -0
  94. package/dist/led.d.ts +20 -16
  95. package/dist/led.d.ts.map +1 -1
  96. package/dist/led.js +71 -79
  97. package/dist/led.js.map +1 -1
  98. package/dist/menu-C3eANB5M.js +813 -0
  99. package/dist/menu-C3eANB5M.js.map +1 -0
  100. package/dist/menu-item-6IU5weHi.js +766 -0
  101. package/dist/menu-item-6IU5weHi.js.map +1 -0
  102. package/dist/menu-item-ClQF2DKN.d.ts +127 -0
  103. package/dist/menu-item-ClQF2DKN.d.ts.map +1 -0
  104. package/dist/menu.d.ts +3 -0
  105. package/dist/menu.js +3 -0
  106. package/dist/miller.d.ts +323 -0
  107. package/dist/miller.d.ts.map +1 -0
  108. package/dist/miller.js +1343 -0
  109. package/dist/miller.js.map +1 -0
  110. package/dist/narrowed-text.d.ts +71 -0
  111. package/dist/narrowed-text.d.ts.map +1 -0
  112. package/dist/narrowed-text.js +571 -0
  113. package/dist/narrowed-text.js.map +1 -0
  114. package/dist/panel.d.ts +42 -0
  115. package/dist/panel.d.ts.map +1 -0
  116. package/dist/{panel/panel.js → panel.js} +82 -91
  117. package/dist/panel.js.map +1 -0
  118. package/dist/plots.d.ts +2 -0
  119. package/dist/plots.js +2 -0
  120. package/dist/polar-pad.d.ts +66 -0
  121. package/dist/polar-pad.d.ts.map +1 -0
  122. package/dist/polar-pad.js +537 -0
  123. package/dist/polar-pad.js.map +1 -0
  124. package/dist/popup-Ddx9LCzY.js +24 -0
  125. package/dist/popup-Ddx9LCzY.js.map +1 -0
  126. package/dist/prominence-CreDBdCs.js +98 -0
  127. package/dist/prominence-CreDBdCs.js.map +1 -0
  128. package/dist/radial-input-Dbc6fgCK.js +849 -0
  129. package/dist/radial-input-Dbc6fgCK.js.map +1 -0
  130. package/dist/radial-input-LUSBEycd.d.ts +69 -0
  131. package/dist/radial-input-LUSBEycd.d.ts.map +1 -0
  132. package/dist/radial-input.d.ts +2 -0
  133. package/dist/radial-input.js +2 -0
  134. package/dist/range-input.d.ts +42 -0
  135. package/dist/range-input.d.ts.map +1 -0
  136. package/dist/{range-input/range-input.js → range-input.js} +155 -168
  137. package/dist/range-input.js.map +1 -0
  138. package/dist/range.d.ts +27 -0
  139. package/dist/range.d.ts.map +1 -0
  140. package/dist/range.js +136 -0
  141. package/dist/range.js.map +1 -0
  142. package/dist/registry-CZEB1YI9.js +21 -0
  143. package/dist/registry-CZEB1YI9.js.map +1 -0
  144. package/dist/selecthorizontal.d.ts +12 -8
  145. package/dist/selecthorizontal.d.ts.map +1 -1
  146. package/dist/selecthorizontal.js +20 -24
  147. package/dist/selecthorizontal.js.map +1 -1
  148. package/dist/snap-container.d.ts +49 -0
  149. package/dist/snap-container.d.ts.map +1 -0
  150. package/dist/snap-container.js +297 -0
  151. package/dist/snap-container.js.map +1 -0
  152. package/dist/{split-layout/split-layout.d.ts → split-layout.d.ts} +29 -25
  153. package/dist/split-layout.d.ts.map +1 -0
  154. package/dist/split-layout.js +545 -0
  155. package/dist/split-layout.js.map +1 -0
  156. package/dist/style.css +133 -0
  157. package/dist/swipe.d.ts +48 -0
  158. package/dist/swipe.d.ts.map +1 -0
  159. package/dist/swipe.js +204 -0
  160. package/dist/swipe.js.map +1 -0
  161. package/dist/tab-list-BnqISNvO.d.ts +65 -0
  162. package/dist/tab-list-BnqISNvO.d.ts.map +1 -0
  163. package/dist/tabs.d.ts +2 -0
  164. package/dist/tabs.js +203 -0
  165. package/dist/tabs.js.map +1 -0
  166. package/dist/tickled-controller-Cq1Va0rR.d.ts +218 -0
  167. package/dist/tickled-controller-Cq1Va0rR.d.ts.map +1 -0
  168. package/dist/tickled-styles-Bg3QbcrD.js +327 -0
  169. package/dist/tickled-styles-Bg3QbcrD.js.map +1 -0
  170. package/dist/timeline-B62Sz6J_.js +1748 -0
  171. package/dist/timeline-B62Sz6J_.js.map +1 -0
  172. package/dist/timeline.d.ts +2 -0
  173. package/dist/timeline.js +2 -0
  174. package/dist/tooltip-CwGfb4lp.d.ts +25 -0
  175. package/dist/tooltip-CwGfb4lp.d.ts.map +1 -0
  176. package/dist/{styles/tooltip.js → tooltip-DMxmBNky.js} +6 -2
  177. package/dist/tooltip-DMxmBNky.js.map +1 -0
  178. package/dist/tree-component-CQpoPo4s.d.ts +326 -0
  179. package/dist/tree-component-CQpoPo4s.d.ts.map +1 -0
  180. package/dist/tree-data-model-DGvRVOFY.js +190 -0
  181. package/dist/tree-data-model-DGvRVOFY.js.map +1 -0
  182. package/dist/tree.d.ts +99 -0
  183. package/dist/tree.d.ts.map +1 -0
  184. package/dist/tree.js +1144 -0
  185. package/dist/tree.js.map +1 -0
  186. package/dist/types-BKaqnpwx.d.ts +8 -0
  187. package/dist/types-BKaqnpwx.d.ts.map +1 -0
  188. package/dist/xy-axis-C7fNxDwY.js +6243 -0
  189. package/dist/xy-axis-C7fNxDwY.js.map +1 -0
  190. package/dist/xy-axis-D9uwpGTT.d.ts +140 -0
  191. package/dist/xy-axis-D9uwpGTT.d.ts.map +1 -0
  192. package/dist/xy-pad.d.ts +73 -110
  193. package/dist/xy-pad.d.ts.map +1 -1
  194. package/dist/xy-pad.js +300 -320
  195. package/dist/xy-pad.js.map +1 -1
  196. package/package.json +24 -28
  197. package/dist/ac-text/ac-text.d.ts +0 -99
  198. package/dist/ac-text/ac-text.d.ts.map +0 -1
  199. package/dist/ac-text/ac-text.js +0 -571
  200. package/dist/ac-text/ac-text.js.map +0 -1
  201. package/dist/button/button-styles.d.ts +0 -2
  202. package/dist/button/button-styles.d.ts.map +0 -1
  203. package/dist/button/button-styles.js.map +0 -1
  204. package/dist/button/button.d.ts +0 -16
  205. package/dist/button/button.d.ts.map +0 -1
  206. package/dist/button/button.js +0 -58
  207. package/dist/button/button.js.map +0 -1
  208. package/dist/button/radio-group.d.ts +0 -44
  209. package/dist/button/radio-group.d.ts.map +0 -1
  210. package/dist/button/radio-group.js +0 -385
  211. package/dist/button/radio-group.js.map +0 -1
  212. package/dist/button/split-button.d.ts +0 -59
  213. package/dist/button/split-button.d.ts.map +0 -1
  214. package/dist/button/split-button.js +0 -480
  215. package/dist/button/split-button.js.map +0 -1
  216. package/dist/button/types.d.ts +0 -18
  217. package/dist/button/types.d.ts.map +0 -1
  218. package/dist/button/types.js +0 -2
  219. package/dist/button/types.js.map +0 -1
  220. package/dist/colour-picker/colour-picker-popup.d.ts +0 -102
  221. package/dist/colour-picker/colour-picker-popup.d.ts.map +0 -1
  222. package/dist/colour-picker/colour-picker-popup.js +0 -399
  223. package/dist/colour-picker/colour-picker-popup.js.map +0 -1
  224. package/dist/colour-picker/colour-picker.d.ts +0 -100
  225. package/dist/colour-picker/colour-picker.d.ts.map +0 -1
  226. package/dist/colour-picker/colour-picker.js +0 -567
  227. package/dist/colour-picker/colour-picker.js.map +0 -1
  228. package/dist/colour-picker/index.d.ts +0 -4
  229. package/dist/colour-picker/index.d.ts.map +0 -1
  230. package/dist/colour-picker/index.js +0 -3
  231. package/dist/colour-picker/index.js.map +0 -1
  232. package/dist/colour-picker/styles.d.ts +0 -2
  233. package/dist/colour-picker/styles.d.ts.map +0 -1
  234. package/dist/colour-picker/styles.js +0 -139
  235. package/dist/colour-picker/styles.js.map +0 -1
  236. package/dist/colour-picker/types.d.ts +0 -33
  237. package/dist/colour-picker/types.d.ts.map +0 -1
  238. package/dist/colour-picker/types.js +0 -2
  239. package/dist/colour-picker/types.js.map +0 -1
  240. package/dist/colour-picker/util.d.ts +0 -15
  241. package/dist/colour-picker/util.d.ts.map +0 -1
  242. package/dist/colour-picker/util.js +0 -35
  243. package/dist/colour-picker/util.js.map +0 -1
  244. package/dist/common/searchable.d.ts +0 -9
  245. package/dist/common/searchable.d.ts.map +0 -1
  246. package/dist/common/searchable.js +0 -9
  247. package/dist/common/searchable.js.map +0 -1
  248. package/dist/common/tree-component.d.ts +0 -172
  249. package/dist/common/tree-component.d.ts.map +0 -1
  250. package/dist/common/tree-component.js +0 -8
  251. package/dist/common/tree-component.js.map +0 -1
  252. package/dist/common/tree-data-model.d.ts +0 -100
  253. package/dist/common/tree-data-model.d.ts.map +0 -1
  254. package/dist/common/tree-data-model.js +0 -207
  255. package/dist/common/tree-data-model.js.map +0 -1
  256. package/dist/common/tree-item.d.ts +0 -7
  257. package/dist/common/tree-item.d.ts.map +0 -1
  258. package/dist/common/tree-item.js +0 -2
  259. package/dist/common/tree-item.js.map +0 -1
  260. package/dist/common/types.d.ts +0 -69
  261. package/dist/common/types.d.ts.map +0 -1
  262. package/dist/common/types.js +0 -6
  263. package/dist/common/types.js.map +0 -1
  264. package/dist/crumbs/crumb-navigation.d.ts +0 -96
  265. package/dist/crumbs/crumb-navigation.d.ts.map +0 -1
  266. package/dist/crumbs/crumb-navigation.js +0 -911
  267. package/dist/crumbs/crumb-navigation.js.map +0 -1
  268. package/dist/crumbs/crumb-path-controller.d.ts +0 -18
  269. package/dist/crumbs/crumb-path-controller.d.ts.map +0 -1
  270. package/dist/crumbs/crumb-path-controller.js +0 -81
  271. package/dist/crumbs/crumb-path-controller.js.map +0 -1
  272. package/dist/crumbs/crumb-path.d.ts +0 -65
  273. package/dist/crumbs/crumb-path.d.ts.map +0 -1
  274. package/dist/crumbs/crumb-path.js +0 -691
  275. package/dist/crumbs/crumb-path.js.map +0 -1
  276. package/dist/editable-label/editable-label.d.ts +0 -98
  277. package/dist/editable-label/editable-label.d.ts.map +0 -1
  278. package/dist/editable-label/editable-label.js +0 -348
  279. package/dist/editable-label/editable-label.js.map +0 -1
  280. package/dist/editable-label/editable-number.d.ts +0 -96
  281. package/dist/editable-label/editable-number.d.ts.map +0 -1
  282. package/dist/editable-label/editable-number.js +0 -702
  283. package/dist/editable-label/editable-number.js.map +0 -1
  284. package/dist/hex/colour.d.ts +0 -6
  285. package/dist/hex/colour.d.ts.map +0 -1
  286. package/dist/hex/colour.js +0 -33
  287. package/dist/hex/colour.js.map +0 -1
  288. package/dist/hex/data.d.ts +0 -18
  289. package/dist/hex/data.d.ts.map +0 -1
  290. package/dist/hex/data.js +0 -61
  291. package/dist/hex/data.js.map +0 -1
  292. package/dist/hex/diff.d.ts +0 -14
  293. package/dist/hex/diff.d.ts.map +0 -1
  294. package/dist/hex/diff.js +0 -31
  295. package/dist/hex/diff.js.map +0 -1
  296. package/dist/hex/hex-editor.d.ts +0 -101
  297. package/dist/hex/hex-editor.d.ts.map +0 -1
  298. package/dist/hex/hex-editor.js +0 -894
  299. package/dist/hex/hex-editor.js.map +0 -1
  300. package/dist/hex/selection.d.ts +0 -11
  301. package/dist/hex/selection.d.ts.map +0 -1
  302. package/dist/hex/selection.js +0 -218
  303. package/dist/hex/selection.js.map +0 -1
  304. package/dist/hex/types.d.ts +0 -34
  305. package/dist/hex/types.d.ts.map +0 -1
  306. package/dist/hex/types.js +0 -4
  307. package/dist/hex/types.js.map +0 -1
  308. package/dist/icons/defaults.d.ts +0 -27
  309. package/dist/icons/defaults.d.ts.map +0 -1
  310. package/dist/icons/defaults.js +0 -34
  311. package/dist/icons/defaults.js.map +0 -1
  312. package/dist/icons/icon.d.ts +0 -31
  313. package/dist/icons/icon.d.ts.map +0 -1
  314. package/dist/icons/icon.js +0 -125
  315. package/dist/icons/icon.js.map +0 -1
  316. package/dist/icons/index.d.ts +0 -5
  317. package/dist/icons/index.d.ts.map +0 -1
  318. package/dist/icons/index.js +0 -6
  319. package/dist/icons/index.js.map +0 -1
  320. package/dist/icons/registry.d.ts +0 -11
  321. package/dist/icons/registry.d.ts.map +0 -1
  322. package/dist/icons/registry.js +0 -17
  323. package/dist/icons/registry.js.map +0 -1
  324. package/dist/incr-search/ac-adapter.d.ts +0 -18
  325. package/dist/incr-search/ac-adapter.d.ts.map +0 -1
  326. package/dist/incr-search/ac-adapter.js +0 -29
  327. package/dist/incr-search/ac-adapter.js.map +0 -1
  328. package/dist/incr-search/controller-miller.d.ts +0 -9
  329. package/dist/incr-search/controller-miller.d.ts.map +0 -1
  330. package/dist/incr-search/controller-miller.js +0 -8
  331. package/dist/incr-search/controller-miller.js.map +0 -1
  332. package/dist/incr-search/controller-tree.d.ts +0 -55
  333. package/dist/incr-search/controller-tree.d.ts.map +0 -1
  334. package/dist/incr-search/controller-tree.js +0 -106
  335. package/dist/incr-search/controller-tree.js.map +0 -1
  336. package/dist/incr-search/element-search.d.ts +0 -15
  337. package/dist/incr-search/element-search.d.ts.map +0 -1
  338. package/dist/incr-search/element-search.js +0 -82
  339. package/dist/incr-search/element-search.js.map +0 -1
  340. package/dist/incr-search/fuzzy.d.ts +0 -3
  341. package/dist/incr-search/fuzzy.d.ts.map +0 -1
  342. package/dist/incr-search/fuzzy.js +0 -37
  343. package/dist/incr-search/fuzzy.js.map +0 -1
  344. package/dist/incr-search/highlight.d.ts +0 -5
  345. package/dist/incr-search/highlight.d.ts.map +0 -1
  346. package/dist/incr-search/highlight.js +0 -54
  347. package/dist/incr-search/highlight.js.map +0 -1
  348. package/dist/incr-search/incr-search.d.ts +0 -3
  349. package/dist/incr-search/incr-search.d.ts.map +0 -1
  350. package/dist/incr-search/incr-search.js +0 -73
  351. package/dist/incr-search/incr-search.js.map +0 -1
  352. package/dist/incr-search/index.d.ts +0 -12
  353. package/dist/incr-search/index.d.ts.map +0 -1
  354. package/dist/incr-search/index.js +0 -8
  355. package/dist/incr-search/index.js.map +0 -1
  356. package/dist/incr-search/types.d.ts +0 -59
  357. package/dist/incr-search/types.d.ts.map +0 -1
  358. package/dist/incr-search/types.js +0 -2
  359. package/dist/incr-search/types.js.map +0 -1
  360. package/dist/interaction/index.d.ts +0 -10
  361. package/dist/interaction/index.d.ts.map +0 -1
  362. package/dist/interaction/index.js +0 -10
  363. package/dist/interaction/index.js.map +0 -1
  364. package/dist/interaction/tickled-controller.d.ts +0 -186
  365. package/dist/interaction/tickled-controller.d.ts.map +0 -1
  366. package/dist/interaction/tickled-controller.js +0 -256
  367. package/dist/interaction/tickled-controller.js.map +0 -1
  368. package/dist/interaction/tickled-styles.d.ts +0 -53
  369. package/dist/interaction/tickled-styles.d.ts.map +0 -1
  370. package/dist/interaction/tickled-styles.js +0 -106
  371. package/dist/interaction/tickled-styles.js.map +0 -1
  372. package/dist/interaction/tree-keyboard-controller.d.ts +0 -30
  373. package/dist/interaction/tree-keyboard-controller.d.ts.map +0 -1
  374. package/dist/interaction/tree-keyboard-controller.js +0 -105
  375. package/dist/interaction/tree-keyboard-controller.js.map +0 -1
  376. package/dist/keyboard.d.ts +0 -16
  377. package/dist/keyboard.d.ts.map +0 -1
  378. package/dist/keyboard.js +0 -22
  379. package/dist/keyboard.js.map +0 -1
  380. package/dist/labelled-radial-input/index.d.ts +0 -2
  381. package/dist/labelled-radial-input/index.d.ts.map +0 -1
  382. package/dist/labelled-radial-input/index.js +0 -2
  383. package/dist/labelled-radial-input/index.js.map +0 -1
  384. package/dist/labelled-radial-input/labelled-radial-input.d.ts +0 -77
  385. package/dist/labelled-radial-input/labelled-radial-input.d.ts.map +0 -1
  386. package/dist/labelled-radial-input/labelled-radial-input.js +0 -214
  387. package/dist/labelled-radial-input/labelled-radial-input.js.map +0 -1
  388. package/dist/labelled-range-input/index.d.ts +0 -2
  389. package/dist/labelled-range-input/index.d.ts.map +0 -1
  390. package/dist/labelled-range-input/index.js +0 -2
  391. package/dist/labelled-range-input/index.js.map +0 -1
  392. package/dist/labelled-range-input/labelled-range-input.d.ts +0 -80
  393. package/dist/labelled-range-input/labelled-range-input.d.ts.map +0 -1
  394. package/dist/labelled-range-input/labelled-range-input.js.map +0 -1
  395. package/dist/menu/index.d.ts +0 -14
  396. package/dist/menu/index.d.ts.map +0 -1
  397. package/dist/menu/index.js +0 -13
  398. package/dist/menu/index.js.map +0 -1
  399. package/dist/menu/menu-bar.d.ts +0 -23
  400. package/dist/menu/menu-bar.d.ts.map +0 -1
  401. package/dist/menu/menu-bar.js +0 -110
  402. package/dist/menu/menu-bar.js.map +0 -1
  403. package/dist/menu/menu-check-item.d.ts +0 -33
  404. package/dist/menu/menu-check-item.d.ts.map +0 -1
  405. package/dist/menu/menu-check-item.js +0 -175
  406. package/dist/menu/menu-check-item.js.map +0 -1
  407. package/dist/menu/menu-command-controller.d.ts +0 -14
  408. package/dist/menu/menu-command-controller.d.ts.map +0 -1
  409. package/dist/menu/menu-command-controller.js +0 -22
  410. package/dist/menu/menu-command-controller.js.map +0 -1
  411. package/dist/menu/menu-container.d.ts +0 -36
  412. package/dist/menu/menu-container.d.ts.map +0 -1
  413. package/dist/menu/menu-container.js +0 -351
  414. package/dist/menu/menu-container.js.map +0 -1
  415. package/dist/menu/menu-from-tree.d.ts +0 -17
  416. package/dist/menu/menu-from-tree.d.ts.map +0 -1
  417. package/dist/menu/menu-from-tree.js +0 -103
  418. package/dist/menu/menu-from-tree.js.map +0 -1
  419. package/dist/menu/menu-header.d.ts +0 -12
  420. package/dist/menu/menu-header.d.ts.map +0 -1
  421. package/dist/menu/menu-header.js +0 -36
  422. package/dist/menu/menu-header.js.map +0 -1
  423. package/dist/menu/menu-item.d.ts +0 -41
  424. package/dist/menu/menu-item.d.ts.map +0 -1
  425. package/dist/menu/menu-item.js +0 -240
  426. package/dist/menu/menu-item.js.map +0 -1
  427. package/dist/menu/menu-radio-group.d.ts +0 -24
  428. package/dist/menu/menu-radio-group.d.ts.map +0 -1
  429. package/dist/menu/menu-radio-group.js +0 -71
  430. package/dist/menu/menu-radio-group.js.map +0 -1
  431. package/dist/menu/menu-radio-item.d.ts +0 -22
  432. package/dist/menu/menu-radio-item.d.ts.map +0 -1
  433. package/dist/menu/menu-radio-item.js +0 -116
  434. package/dist/menu/menu-radio-item.js.map +0 -1
  435. package/dist/menu/menu-separator.d.ts +0 -11
  436. package/dist/menu/menu-separator.d.ts.map +0 -1
  437. package/dist/menu/menu-separator.js +0 -29
  438. package/dist/menu/menu-separator.js.map +0 -1
  439. package/dist/menu/menu-sub-trigger.d.ts +0 -46
  440. package/dist/menu/menu-sub-trigger.d.ts.map +0 -1
  441. package/dist/menu/menu-sub-trigger.js +0 -302
  442. package/dist/menu/menu-sub-trigger.js.map +0 -1
  443. package/dist/menu/menu-trigger.d.ts +0 -57
  444. package/dist/menu/menu-trigger.d.ts.map +0 -1
  445. package/dist/menu/menu-trigger.js +0 -351
  446. package/dist/menu/menu-trigger.js.map +0 -1
  447. package/dist/miller/index.d.ts +0 -5
  448. package/dist/miller/index.d.ts.map +0 -1
  449. package/dist/miller/index.js +0 -5
  450. package/dist/miller/index.js.map +0 -1
  451. package/dist/miller/miller-base.d.ts +0 -184
  452. package/dist/miller/miller-base.d.ts.map +0 -1
  453. package/dist/miller/miller-base.js +0 -1249
  454. package/dist/miller/miller-base.js.map +0 -1
  455. package/dist/miller/miller-list.d.ts +0 -30
  456. package/dist/miller/miller-list.d.ts.map +0 -1
  457. package/dist/miller/miller-list.js +0 -192
  458. package/dist/miller/miller-list.js.map +0 -1
  459. package/dist/miller/miller-tree-controller.d.ts +0 -58
  460. package/dist/miller/miller-tree-controller.d.ts.map +0 -1
  461. package/dist/miller/miller-tree-controller.js +0 -134
  462. package/dist/miller/miller-tree-controller.js.map +0 -1
  463. package/dist/miller/types.d.ts +0 -63
  464. package/dist/miller/types.d.ts.map +0 -1
  465. package/dist/miller/types.js +0 -6
  466. package/dist/miller/types.js.map +0 -1
  467. package/dist/mixins/labelled-input-base.d.ts +0 -38
  468. package/dist/mixins/labelled-input-base.d.ts.map +0 -1
  469. package/dist/mixins/labelled-input-base.js +0 -171
  470. package/dist/mixins/labelled-input-base.js.map +0 -1
  471. package/dist/mixins/labelled-input-util.d.ts +0 -3
  472. package/dist/mixins/labelled-input-util.d.ts.map +0 -1
  473. package/dist/mixins/labelled-input-util.js +0 -10
  474. package/dist/mixins/labelled-input-util.js.map +0 -1
  475. package/dist/my-element.d.ts +0 -14
  476. package/dist/my-element.d.ts.map +0 -1
  477. package/dist/my-element.js +0 -44
  478. package/dist/my-element.js.map +0 -1
  479. package/dist/narrowed-text/index.d.ts +0 -3
  480. package/dist/narrowed-text/index.d.ts.map +0 -1
  481. package/dist/narrowed-text/index.js +0 -3
  482. package/dist/narrowed-text/index.js.map +0 -1
  483. package/dist/narrowed-text/narrowed-text.d.ts +0 -48
  484. package/dist/narrowed-text/narrowed-text.d.ts.map +0 -1
  485. package/dist/narrowed-text/narrowed-text.js +0 -668
  486. package/dist/narrowed-text/narrowed-text.js.map +0 -1
  487. package/dist/narrowed-text/types.d.ts +0 -20
  488. package/dist/narrowed-text/types.d.ts.map +0 -1
  489. package/dist/narrowed-text/types.js +0 -2
  490. package/dist/narrowed-text/types.js.map +0 -1
  491. package/dist/panel/panel-group.d.ts +0 -23
  492. package/dist/panel/panel-group.d.ts.map +0 -1
  493. package/dist/panel/panel-group.js +0 -109
  494. package/dist/panel/panel-group.js.map +0 -1
  495. package/dist/panel/panel.d.ts +0 -39
  496. package/dist/panel/panel.d.ts.map +0 -1
  497. package/dist/panel/panel.js.map +0 -1
  498. package/dist/plots/colour-map.d.ts +0 -31
  499. package/dist/plots/colour-map.d.ts.map +0 -1
  500. package/dist/plots/colour-map.js +0 -133
  501. package/dist/plots/colour-map.js.map +0 -1
  502. package/dist/plots/data.d.ts +0 -27
  503. package/dist/plots/data.d.ts.map +0 -1
  504. package/dist/plots/data.js +0 -47
  505. package/dist/plots/data.js.map +0 -1
  506. package/dist/plots/single-axis.d.ts +0 -41
  507. package/dist/plots/single-axis.d.ts.map +0 -1
  508. package/dist/plots/single-axis.js +0 -428
  509. package/dist/plots/single-axis.js.map +0 -1
  510. package/dist/plots/svg-utils.d.ts +0 -12
  511. package/dist/plots/svg-utils.d.ts.map +0 -1
  512. package/dist/plots/svg-utils.js +0 -64
  513. package/dist/plots/svg-utils.js.map +0 -1
  514. package/dist/plots/xy-axis.d.ts +0 -42
  515. package/dist/plots/xy-axis.d.ts.map +0 -1
  516. package/dist/plots/xy-axis.js +0 -307
  517. package/dist/plots/xy-axis.js.map +0 -1
  518. package/dist/polar-pad/polar-pad.d.ts +0 -132
  519. package/dist/polar-pad/polar-pad.d.ts.map +0 -1
  520. package/dist/polar-pad/polar-pad.js +0 -598
  521. package/dist/polar-pad/polar-pad.js.map +0 -1
  522. package/dist/radial-input/radial-input.d.ts +0 -45
  523. package/dist/radial-input/radial-input.d.ts.map +0 -1
  524. package/dist/radial-input/radial-input.js +0 -692
  525. package/dist/radial-input/radial-input.js.map +0 -1
  526. package/dist/radial-input/svg-utils.d.ts +0 -147
  527. package/dist/radial-input/svg-utils.d.ts.map +0 -1
  528. package/dist/radial-input/svg-utils.js +0 -346
  529. package/dist/radial-input/svg-utils.js.map +0 -1
  530. package/dist/radial-input/types.d.ts +0 -25
  531. package/dist/radial-input/types.d.ts.map +0 -1
  532. package/dist/radial-input/types.js +0 -5
  533. package/dist/radial-input/types.js.map +0 -1
  534. package/dist/range/range-multi.d.ts +0 -62
  535. package/dist/range/range-multi.d.ts.map +0 -1
  536. package/dist/range/range-multi.js +0 -652
  537. package/dist/range/range-multi.js.map +0 -1
  538. package/dist/range/range.d.ts +0 -23
  539. package/dist/range/range.d.ts.map +0 -1
  540. package/dist/range/range.js +0 -153
  541. package/dist/range/range.js.map +0 -1
  542. package/dist/range-input/index.d.ts +0 -2
  543. package/dist/range-input/index.d.ts.map +0 -1
  544. package/dist/range-input/index.js +0 -2
  545. package/dist/range-input/index.js.map +0 -1
  546. package/dist/range-input/range-input.d.ts +0 -92
  547. package/dist/range-input/range-input.d.ts.map +0 -1
  548. package/dist/range-input/range-input.js.map +0 -1
  549. package/dist/snap-container/snap-container.d.ts +0 -45
  550. package/dist/snap-container/snap-container.d.ts.map +0 -1
  551. package/dist/snap-container/snap-container.js +0 -352
  552. package/dist/snap-container/snap-container.js.map +0 -1
  553. package/dist/split-layout/split-layout.d.ts.map +0 -1
  554. package/dist/split-layout/split-layout.js +0 -674
  555. package/dist/split-layout/split-layout.js.map +0 -1
  556. package/dist/styles/popup.d.ts +0 -11
  557. package/dist/styles/popup.d.ts.map +0 -1
  558. package/dist/styles/popup.js +0 -20
  559. package/dist/styles/popup.js.map +0 -1
  560. package/dist/styles/prominence.d.ts +0 -58
  561. package/dist/styles/prominence.d.ts.map +0 -1
  562. package/dist/styles/prominence.js +0 -94
  563. package/dist/styles/prominence.js.map +0 -1
  564. package/dist/styles/tooltip.d.ts +0 -2
  565. package/dist/styles/tooltip.d.ts.map +0 -1
  566. package/dist/styles/tooltip.js.map +0 -1
  567. package/dist/svg-edit-label.d.ts +0 -2
  568. package/dist/svg-edit-label.d.ts.map +0 -1
  569. package/dist/svg-edit-label.js +0 -110
  570. package/dist/svg-edit-label.js.map +0 -1
  571. package/dist/swipe/index.d.ts +0 -2
  572. package/dist/swipe/index.d.ts.map +0 -1
  573. package/dist/swipe/index.js +0 -2
  574. package/dist/swipe/index.js.map +0 -1
  575. package/dist/swipe/swipe.d.ts +0 -65
  576. package/dist/swipe/swipe.d.ts.map +0 -1
  577. package/dist/swipe/swipe.js +0 -229
  578. package/dist/swipe/swipe.js.map +0 -1
  579. package/dist/tabs/tab-layout-item.d.ts +0 -10
  580. package/dist/tabs/tab-layout-item.d.ts.map +0 -1
  581. package/dist/tabs/tab-layout-item.js +0 -20
  582. package/dist/tabs/tab-layout-item.js.map +0 -1
  583. package/dist/tabs/tab-layout.d.ts +0 -10
  584. package/dist/tabs/tab-layout.d.ts.map +0 -1
  585. package/dist/tabs/tab-layout.js +0 -25
  586. package/dist/tabs/tab-layout.js.map +0 -1
  587. package/dist/tabs/tab-list-item.d.ts +0 -34
  588. package/dist/tabs/tab-list-item.d.ts.map +0 -1
  589. package/dist/tabs/tab-list-item.js +0 -195
  590. package/dist/tabs/tab-list-item.js.map +0 -1
  591. package/dist/tabs/tab-list.d.ts +0 -31
  592. package/dist/tabs/tab-list.d.ts.map +0 -1
  593. package/dist/tabs/tab-list.js +0 -257
  594. package/dist/tabs/tab-list.js.map +0 -1
  595. package/dist/tabs/tab-panel.d.ts +0 -11
  596. package/dist/tabs/tab-panel.d.ts.map +0 -1
  597. package/dist/tabs/tab-panel.js +0 -30
  598. package/dist/tabs/tab-panel.js.map +0 -1
  599. package/dist/tabs/tab-panels.d.ts +0 -30
  600. package/dist/tabs/tab-panels.d.ts.map +0 -1
  601. package/dist/tabs/tab-panels.js +0 -80
  602. package/dist/tabs/tab-panels.js.map +0 -1
  603. package/dist/timeline/index.d.ts +0 -9
  604. package/dist/timeline/index.d.ts.map +0 -1
  605. package/dist/timeline/index.js +0 -8
  606. package/dist/timeline/index.js.map +0 -1
  607. package/dist/timeline/timeline-controller.d.ts +0 -48
  608. package/dist/timeline/timeline-controller.d.ts.map +0 -1
  609. package/dist/timeline/timeline-controller.js +0 -81
  610. package/dist/timeline/timeline-controller.js.map +0 -1
  611. package/dist/timeline/timeline-draw.d.ts +0 -28
  612. package/dist/timeline/timeline-draw.d.ts.map +0 -1
  613. package/dist/timeline/timeline-draw.js +0 -330
  614. package/dist/timeline/timeline-draw.js.map +0 -1
  615. package/dist/timeline/timeline-element.d.ts +0 -140
  616. package/dist/timeline/timeline-element.d.ts.map +0 -1
  617. package/dist/timeline/timeline-element.js +0 -888
  618. package/dist/timeline/timeline-element.js.map +0 -1
  619. package/dist/timeline/timeline-interactions.d.ts +0 -40
  620. package/dist/timeline/timeline-interactions.d.ts.map +0 -1
  621. package/dist/timeline/timeline-interactions.js +0 -393
  622. package/dist/timeline/timeline-interactions.js.map +0 -1
  623. package/dist/timeline/timeline-styles.d.ts +0 -2
  624. package/dist/timeline/timeline-styles.d.ts.map +0 -1
  625. package/dist/timeline/timeline-styles.js +0 -153
  626. package/dist/timeline/timeline-styles.js.map +0 -1
  627. package/dist/timeline/timeline-track-tabs.d.ts +0 -30
  628. package/dist/timeline/timeline-track-tabs.d.ts.map +0 -1
  629. package/dist/timeline/timeline-track-tabs.js +0 -204
  630. package/dist/timeline/timeline-track-tabs.js.map +0 -1
  631. package/dist/timeline/types.d.ts +0 -144
  632. package/dist/timeline/types.d.ts.map +0 -1
  633. package/dist/timeline/types.js +0 -3
  634. package/dist/timeline/types.js.map +0 -1
  635. package/dist/tree/index.d.ts +0 -5
  636. package/dist/tree/index.d.ts.map +0 -1
  637. package/dist/tree/index.js +0 -5
  638. package/dist/tree/index.js.map +0 -1
  639. package/dist/tree/tree-base.d.ts +0 -70
  640. package/dist/tree/tree-base.d.ts.map +0 -1
  641. package/dist/tree/tree-base.js +0 -1028
  642. package/dist/tree/tree-base.js.map +0 -1
  643. package/dist/tree/tree-controller.d.ts +0 -14
  644. package/dist/tree/tree-controller.d.ts.map +0 -1
  645. package/dist/tree/tree-controller.js +0 -96
  646. package/dist/tree/tree-controller.js.map +0 -1
  647. package/dist/tree/tree-list.d.ts +0 -20
  648. package/dist/tree/tree-list.d.ts.map +0 -1
  649. package/dist/tree/tree-list.js +0 -174
  650. package/dist/tree/tree-list.js.map +0 -1
  651. package/dist/tree/types.d.ts +0 -14
  652. package/dist/tree/types.d.ts.map +0 -1
  653. package/dist/tree/types.js +0 -7
  654. package/dist/tree/types.js.map +0 -1
  655. package/dist/util/checkbox.d.ts +0 -2
  656. package/dist/util/checkbox.d.ts.map +0 -1
  657. package/dist/util/checkbox.js +0 -69
  658. package/dist/util/checkbox.js.map +0 -1
  659. package/dist/util/circle-arc.d.ts +0 -34
  660. package/dist/util/circle-arc.d.ts.map +0 -1
  661. package/dist/util/circle-arc.js +0 -85
  662. package/dist/util/circle-arc.js.map +0 -1
  663. package/dist/util/clamp.d.ts +0 -4
  664. package/dist/util/clamp.d.ts.map +0 -1
  665. package/dist/util/clamp.js +0 -23
  666. package/dist/util/clamp.js.map +0 -1
  667. package/dist/util/compare.d.ts +0 -53
  668. package/dist/util/compare.d.ts.map +0 -1
  669. package/dist/util/compare.js +0 -91
  670. package/dist/util/compare.js.map +0 -1
  671. package/dist/util/content-editable.d.ts +0 -2
  672. package/dist/util/content-editable.d.ts.map +0 -1
  673. package/dist/util/content-editable.js +0 -13
  674. package/dist/util/content-editable.js.map +0 -1
  675. package/dist/util/coordinates.d.ts +0 -3
  676. package/dist/util/coordinates.d.ts.map +0 -1
  677. package/dist/util/coordinates.js +0 -11
  678. package/dist/util/coordinates.js.map +0 -1
  679. package/dist/util/drag.d.ts +0 -16
  680. package/dist/util/drag.d.ts.map +0 -1
  681. package/dist/util/drag.js +0 -20
  682. package/dist/util/drag.js.map +0 -1
  683. package/dist/util/is-numeric.d.ts +0 -2
  684. package/dist/util/is-numeric.d.ts.map +0 -1
  685. package/dist/util/is-numeric.js +0 -9
  686. package/dist/util/is-numeric.js.map +0 -1
  687. package/dist/util/key-value.d.ts +0 -5
  688. package/dist/util/key-value.d.ts.map +0 -1
  689. package/dist/util/key-value.js +0 -29
  690. package/dist/util/key-value.js.map +0 -1
  691. package/dist/util/near.d.ts +0 -2
  692. package/dist/util/near.d.ts.map +0 -1
  693. package/dist/util/near.js +0 -6
  694. package/dist/util/near.js.map +0 -1
  695. package/dist/util/primitive-types.d.ts +0 -6
  696. package/dist/util/primitive-types.d.ts.map +0 -1
  697. package/dist/util/primitive-types.js +0 -2
  698. package/dist/util/primitive-types.js.map +0 -1
  699. package/dist/util/svg-editable-text.d.ts +0 -26
  700. package/dist/util/svg-editable-text.d.ts.map +0 -1
  701. package/dist/util/svg-editable-text.js +0 -119
  702. package/dist/util/svg-editable-text.js.map +0 -1
  703. package/dist/util/time.d.ts +0 -2
  704. package/dist/util/time.d.ts.map +0 -1
  705. package/dist/util/time.js +0 -2
  706. package/dist/util/time.js.map +0 -1
  707. package/dist/util/tooltip-controller.d.ts +0 -10
  708. package/dist/util/tooltip-controller.d.ts.map +0 -1
  709. package/dist/util/tooltip-controller.js +0 -237
  710. package/dist/util/tooltip-controller.js.map +0 -1
  711. package/dist/util/tooltip.d.ts +0 -21
  712. package/dist/util/tooltip.d.ts.map +0 -1
  713. package/dist/util/tooltip.js +0 -98
  714. package/dist/util/tooltip.js.map +0 -1
  715. package/dist/util/value-drag.d.ts +0 -33
  716. package/dist/util/value-drag.d.ts.map +0 -1
  717. package/dist/util/value-drag.js +0 -154
  718. package/dist/util/value-drag.js.map +0 -1
@@ -0,0 +1,571 @@
1
+ import { n as buildHighlightTargets, r as clearHighlights, t as applyHighlights } from "./highlight-CAjwQ4GE.js";
2
+ import { n as tickledStyles, r as TickledController, t as tickledItemStyles } from "./tickled-styles-Bg3QbcrD.js";
3
+ import { n as safeCustomElement, t as __decorate } from "./decorate-O4m1U4l3.js";
4
+ import "./interaction-CQDQJf2Q.js";
5
+ import { r as createIncrSearch } from "./incr-search-BZawvrfl.js";
6
+ import { LitElement, css, html, nothing } from "lit";
7
+ import { property, query, state } from "lit/decorators.js";
8
+ //#region src/narrowed-text/narrowed-text.ts
9
+ const HIGHLIGHT_KEY = `narrowed-text-highlight`;
10
+ let NarrowedTextElement = class NarrowedTextElement extends LitElement {
11
+ constructor(..._args) {
12
+ super(..._args);
13
+ this.selectionMode = `single`;
14
+ this.requiredSelection = false;
15
+ this.orientation = `horizontal`;
16
+ this.nowrap = false;
17
+ this.separator = ` `;
18
+ this.preserveFilter = false;
19
+ this.value = ``;
20
+ this._query = ``;
21
+ this._computedItems = [];
22
+ this._filteredItems = [];
23
+ this._isFocused = false;
24
+ this._selectedValues = /* @__PURE__ */ new Set();
25
+ this._search = createIncrSearch({ selector: (item) => item.label ?? item.value });
26
+ this.tickled = new TickledController(this, {
27
+ getItems: () => {
28
+ return this._filteredItems.map((_, i) => ({
29
+ id: i,
30
+ enabled: true
31
+ }));
32
+ },
33
+ onTickle: (id) => {
34
+ if (id === void 0 || !this.shadowRoot) return;
35
+ const itemsContainer = this.shadowRoot.querySelector(`.items`);
36
+ if (!itemsContainer) return;
37
+ const itemEl = itemsContainer.querySelectorAll(`.item`)[id];
38
+ if (itemEl) itemEl.scrollIntoView({
39
+ block: `nearest`,
40
+ inline: `nearest`
41
+ });
42
+ }
43
+ });
44
+ this.#handleSlotChange = () => {
45
+ this._updateComputedItems();
46
+ };
47
+ this.#onInput = (e) => {
48
+ const input = e.target;
49
+ this._query = input.value;
50
+ if (this._query.trim() && this._filteredItems.length > 0) this.tickled.setTickled(0);
51
+ else this.tickled.clearTickled();
52
+ this._updateFilteredItems();
53
+ };
54
+ this.#onKeyDown = (e) => {
55
+ if (this._filteredItems.length === 0) return;
56
+ switch (e.key) {
57
+ case `Tab`:
58
+ if (e.shiftKey) {
59
+ e.preventDefault();
60
+ this.dispatchEvent(new CustomEvent(`narrowed-text-shift-tab`, {
61
+ bubbles: true,
62
+ composed: true
63
+ }));
64
+ }
65
+ return;
66
+ case `ArrowRight`: {
67
+ if (this.orientation !== `horizontal`) return;
68
+ const currentTickled = this.tickled.tickledId;
69
+ const lastIndex = this._filteredItems.length - 1;
70
+ if (currentTickled !== void 0 && currentTickled >= lastIndex) return;
71
+ e.preventDefault();
72
+ this.tickled.handleKeyboardNavigation(`next`);
73
+ break;
74
+ }
75
+ case `ArrowLeft`: {
76
+ if (this.orientation !== `horizontal`) return;
77
+ const currentTickled = this.tickled.tickledId;
78
+ if (currentTickled !== void 0 && currentTickled <= 0) return;
79
+ e.preventDefault();
80
+ this.tickled.handleKeyboardNavigation(`previous`);
81
+ break;
82
+ }
83
+ case `ArrowDown`: {
84
+ if (this.orientation !== `vertical`) return;
85
+ const currentTickled = this.tickled.tickledId;
86
+ const lastIndex = this._filteredItems.length - 1;
87
+ if (currentTickled !== void 0 && currentTickled >= lastIndex) return;
88
+ e.preventDefault();
89
+ this.tickled.handleKeyboardNavigation(`next`);
90
+ break;
91
+ }
92
+ case `ArrowUp`: {
93
+ if (this.orientation !== `vertical`) return;
94
+ const currentTickled = this.tickled.tickledId;
95
+ if (currentTickled !== void 0 && currentTickled <= 0) return;
96
+ e.preventDefault();
97
+ this.tickled.handleKeyboardNavigation(`previous`);
98
+ break;
99
+ }
100
+ case `Enter`: {
101
+ e.preventDefault();
102
+ this._filteredItems[this.tickled.tickledId ?? -1];
103
+ if (this.orientation !== `horizontal`) return;
104
+ const currentTickled = this.tickled.tickledId;
105
+ const lastIndex = this._filteredItems.length - 1;
106
+ if (currentTickled !== void 0 && currentTickled >= lastIndex) return;
107
+ e.preventDefault();
108
+ this.tickled.handleKeyboardNavigation(`next`);
109
+ break;
110
+ }
111
+ case `ArrowLeft`: {
112
+ if (this.orientation !== `horizontal`) return;
113
+ const currentTickled = this.tickled.tickledId;
114
+ if (currentTickled !== void 0 && currentTickled <= 0) return;
115
+ e.preventDefault();
116
+ this.tickled.handleKeyboardNavigation(`previous`);
117
+ break;
118
+ }
119
+ case `ArrowDown`: {
120
+ if (this.orientation !== `vertical`) return;
121
+ const currentTickled = this.tickled.tickledId;
122
+ const lastIndex = this._filteredItems.length - 1;
123
+ if (currentTickled !== void 0 && currentTickled >= lastIndex) return;
124
+ e.preventDefault();
125
+ this.tickled.handleKeyboardNavigation(`next`);
126
+ break;
127
+ }
128
+ case `ArrowUp`: {
129
+ if (this.orientation !== `vertical`) return;
130
+ const currentTickled = this.tickled.tickledId;
131
+ if (currentTickled !== void 0 && currentTickled <= 0) return;
132
+ e.preventDefault();
133
+ this.tickled.handleKeyboardNavigation(`previous`);
134
+ break;
135
+ }
136
+ case `Enter`: {
137
+ e.preventDefault();
138
+ const tickledItem = this._filteredItems[this.tickled.tickledId ?? -1];
139
+ if (tickledItem) {
140
+ this._selectItem(tickledItem, false);
141
+ this._query = ``;
142
+ this._updateFilteredItems();
143
+ }
144
+ break;
145
+ }
146
+ case ` `:
147
+ e.preventDefault();
148
+ if (this.tickled.tickledId !== void 0 && this._filteredItems[this.tickled.tickledId]) this._selectItem(this._filteredItems[this.tickled.tickledId], false);
149
+ break;
150
+ case `Escape`:
151
+ e.preventDefault();
152
+ this._query = ``;
153
+ this.tickled.clearTickled();
154
+ this._updateFilteredItems();
155
+ break;
156
+ }
157
+ };
158
+ this.#onFocus = () => {
159
+ this._isFocused = true;
160
+ if (this._query.trim() && this._filteredItems.length > 0) this.tickled.setTickled(0);
161
+ };
162
+ this.#onNarrowedTextInit = () => {
163
+ const input = this.shadowRoot?.querySelector(`.search-input`);
164
+ if (input) requestAnimationFrame(() => {
165
+ input.focus();
166
+ });
167
+ };
168
+ this.#onBlur = () => {
169
+ this._isFocused = false;
170
+ this.tickled.clearTickled();
171
+ this.dispatchEvent(new CustomEvent(`narrowed-text-blur`, {
172
+ bubbles: true,
173
+ composed: true
174
+ }));
175
+ };
176
+ this.#onFocusTriggerClick = () => {
177
+ (this.shadowRoot?.querySelector(`.search-input`))?.focus();
178
+ };
179
+ this.#onContainerClick = (e) => {
180
+ const target = e.target;
181
+ if (target.classList.contains(`item`) || target.closest(`.item`)) return;
182
+ (this.shadowRoot?.querySelector(`.search-input`))?.focus();
183
+ };
184
+ }
185
+ get selected() {
186
+ if (this.selectionMode === `single`) return this._selectedValues.values().next().value ?? ``;
187
+ else return [...this._selectedValues];
188
+ }
189
+ set selected(value) {
190
+ if (this.selectionMode === `single`) {
191
+ this._selectedValues.clear();
192
+ if (value) this._selectedValues.add(value);
193
+ } else {
194
+ this._selectedValues.clear();
195
+ if (Array.isArray(value)) value.forEach((v) => this._selectedValues.add(v));
196
+ }
197
+ this._updateFilteredItems();
198
+ }
199
+ connectedCallback() {
200
+ super.connectedCallback();
201
+ this._unsubSearch = this._search.onChange((state) => {
202
+ const results = state.results.map((r) => r.item);
203
+ for (const item of this._computedItems) if (this._selectedValues.has(item.value) && !results.includes(item)) results.push(item);
204
+ this._filteredItems = results;
205
+ this._searchState = state;
206
+ this.requestUpdate();
207
+ });
208
+ this.addEventListener(`narrowed-text-init`, () => this.#onNarrowedTextInit());
209
+ }
210
+ disconnectedCallback() {
211
+ super.disconnectedCallback();
212
+ this._unsubSearch?.();
213
+ this._search.dispose();
214
+ clearHighlights({ key: HIGHLIGHT_KEY });
215
+ this.removeEventListener(`narrowed-text-init`, () => this.#onNarrowedTextInit());
216
+ }
217
+ firstUpdated() {
218
+ this._updateComputedItems();
219
+ }
220
+ updated(changedProperties) {
221
+ if (changedProperties.has(`value`)) this._updateSelectedFromValue();
222
+ this._applyHighlights();
223
+ }
224
+ #handleSlotChange;
225
+ _updateComputedItems() {
226
+ const slottedElements = this.querySelectorAll(`[data-value]`);
227
+ const items = [];
228
+ slottedElements.forEach((el) => {
229
+ const value = el.getAttribute(`data-value`) ?? ``;
230
+ const label = el.getAttribute(`data-label`) ?? el.textContent?.trim() ?? value;
231
+ const description = el.getAttribute(`data-description`) ?? void 0;
232
+ const iconName = el.getAttribute(`data-icon-name`) ?? void 0;
233
+ items.push({
234
+ value,
235
+ label,
236
+ description,
237
+ iconName
238
+ });
239
+ });
240
+ this._computedItems = items;
241
+ this._search.setItems(items);
242
+ }
243
+ _updateSelectedFromValue() {
244
+ if (this.selectionMode === `single`) {
245
+ this._selectedValues.clear();
246
+ if (this.value) this._selectedValues.add(this.value);
247
+ } else {
248
+ const values = this.value.split(`,`).filter((v) => v.trim());
249
+ this._selectedValues.clear();
250
+ values.forEach((v) => this._selectedValues.add(v.trim()));
251
+ }
252
+ this._updateFilteredItems();
253
+ }
254
+ _updateFilteredItems() {
255
+ this._search.setQuery(this._query);
256
+ }
257
+ _applyHighlights() {
258
+ if (!this._query.trim() || !this._searchState || !this.shadowRoot) {
259
+ clearHighlights({ key: HIGHLIGHT_KEY });
260
+ return;
261
+ }
262
+ applyHighlights(buildHighlightTargets(this.shadowRoot, `.item-label`, this._searchState.positionsByItem, (el) => {
263
+ const v = el.getAttribute(`data-item-value`);
264
+ return this._computedItems.find((i) => i.value === v);
265
+ }, (el) => {
266
+ const v = el.getAttribute(`data-item-value`);
267
+ const i = this._computedItems.find((x) => x.value === v);
268
+ return i?.label ?? i?.value ?? ``;
269
+ }), { key: HIGHLIGHT_KEY });
270
+ }
271
+ #onInput;
272
+ #onKeyDown;
273
+ #onFocus;
274
+ #onNarrowedTextInit;
275
+ focus() {
276
+ const input = this.shadowRoot?.querySelector(`.search-input`);
277
+ if (input) input.focus();
278
+ else super.focus();
279
+ }
280
+ blur() {
281
+ const input = this.shadowRoot?.querySelector(`.search-input`);
282
+ if (input) input.blur();
283
+ else super.blur();
284
+ }
285
+ #onBlur;
286
+ #onFocusTriggerClick;
287
+ #onContainerClick;
288
+ #onItemClick(item) {
289
+ this._selectItem(item);
290
+ const clickedIndex = this._filteredItems.findIndex((i) => i.value === item.value);
291
+ if (clickedIndex >= 0) this.tickled.handlePointerEnter(clickedIndex);
292
+ (this.shadowRoot?.querySelector(`.search-input`))?.focus();
293
+ }
294
+ _selectItem(item, clearFilter = true) {
295
+ if (this.selectionMode === `single`) if (this._selectedValues.has(item.value) && !this.requiredSelection) this._selectedValues.clear();
296
+ else {
297
+ this._selectedValues.clear();
298
+ this._selectedValues.add(item.value);
299
+ }
300
+ else if (this._selectedValues.has(item.value)) {
301
+ if (!this.requiredSelection || this._selectedValues.size > 1) this._selectedValues.delete(item.value);
302
+ } else this._selectedValues.add(item.value);
303
+ this._updateValueFromSelected();
304
+ this._updateFilteredItems();
305
+ const selectedItems = this._computedItems.filter((i) => this._selectedValues.has(i.value));
306
+ this.dispatchEvent(new CustomEvent(`change`, {
307
+ detail: {
308
+ item,
309
+ query: this._query,
310
+ selected: selectedItems
311
+ },
312
+ bubbles: true,
313
+ composed: true
314
+ }));
315
+ if (clearFilter && !this.preserveFilter && this._query) {
316
+ this._query = ``;
317
+ this._updateFilteredItems();
318
+ }
319
+ }
320
+ _updateValueFromSelected() {
321
+ if (this.selectionMode === `single`) this.value = [...this._selectedValues][0] ?? ``;
322
+ else this.value = [...this._selectedValues].join(`,`);
323
+ }
324
+ #renderItem(item, index) {
325
+ const isTickled = this.tickled.isTickled(index);
326
+ const isSelected = this._selectedValues.has(item.value);
327
+ const label = item.label ?? item.value;
328
+ return html`
329
+ <div
330
+ class="item ${isTickled ? `tickled` : ``} ${isSelected ? `selected` : ``}"
331
+ part="item"
332
+ role="option"
333
+ aria-selected=${isSelected}
334
+ @click=${() => this.#onItemClick(item)}
335
+ @pointerenter=${() => this.tickled.handlePointerEnter(index)}
336
+ >
337
+ ${item.iconName ? html`<ixfx-icon class="item-icon" name=${item.iconName}></ixfx-icon>` : nothing}
338
+ <span class="item-label" part="label" data-item-value=${item.value}>${label}</span>
339
+ </div>
340
+ `;
341
+ }
342
+ render() {
343
+ const isScrollable = this.width !== void 0 || this.height !== void 0;
344
+ return html`
345
+ <slot @slotchange=${this.#handleSlotChange} style="display: none;"></slot>
346
+ <div
347
+ class="container ${this.orientation} ${isScrollable ? `scrollable` : ``} ${this._isFocused ? `focused` : ``}"
348
+ part="container"
349
+ style=${this._getContainerStyle()}
350
+ data-input-mode=${this.tickled.inputMode}
351
+ @click=${this.#onContainerClick}
352
+ >
353
+ <input
354
+ type="text"
355
+ class="search-input"
356
+ .value=${this._query}
357
+ autocomplete="off"
358
+ spellcheck="false"
359
+ aria-label="Search items"
360
+ @input=${this.#onInput}
361
+ @keydown=${this.#onKeyDown}
362
+ @focus=${this.#onFocus}
363
+ @blur=${this.#onBlur}
364
+ >
365
+ <div class="focus-trigger" @click=${this.#onFocusTriggerClick}></div>
366
+ <div
367
+ class="items"
368
+ part="items"
369
+ role="listbox"
370
+ @pointerleave=${(e) => this.tickled.handlePointerLeave(e)}
371
+ >
372
+ ${this._filteredItems.map((item, i) => this.#renderItem(item, i))}
373
+ </div>
374
+ </div>
375
+ `;
376
+ }
377
+ _getContainerStyle() {
378
+ const styles = [];
379
+ if (this.width) styles.push(`width: ${this.width}`);
380
+ if (this.height) styles.push(`height: ${this.height}`);
381
+ return styles.join(`; `);
382
+ }
383
+ static {
384
+ this.styles = [
385
+ tickledStyles,
386
+ tickledItemStyles,
387
+ css`
388
+ :host {
389
+ display: inline-block;
390
+ position: relative;
391
+ font-family: var(--font-family, system-ui, sans-serif);
392
+ font-size: var(--text-m, 12px);
393
+ color: var(--surface-2-text);
394
+ --item-padding: var(--space-xs, 3px) var(--space-m, 8px);
395
+ --item-border-radius: var(--radius-s, 3px);
396
+ --item-icon-spacing: var(--space-xs, 3px);
397
+ }
398
+
399
+ .container {
400
+ display: flex;
401
+ position: relative;
402
+ min-width: min-content;
403
+ min-height: min-content;
404
+ }
405
+
406
+ .container.horizontal {
407
+ flex-direction: row;
408
+ align-items: stretch;
409
+ }
410
+
411
+ .container.vertical {
412
+ flex-direction: column;
413
+ }
414
+
415
+ .container.scrollable {
416
+ scrollbar-width: none;
417
+ overflow-x: auto;
418
+ overflow-y: hidden;
419
+ .vertical {
420
+ overflow-x: hidden;
421
+ overflow-y: auto;
422
+ }
423
+ }
424
+
425
+ .container.focused {
426
+ outline: 2px solid var(--accent);
427
+ outline-offset: 2px;
428
+ }
429
+
430
+ .search-input {
431
+ position: absolute;
432
+ top: 0;
433
+ left: 0;
434
+ width: 100%;
435
+ height: 100%;
436
+ opacity: 0;
437
+ cursor: text;
438
+ z-index: 1;
439
+ pointer-events: none;
440
+ }
441
+
442
+ .search-input:focus {
443
+ outline: none;
444
+ }
445
+
446
+ .focus-trigger {
447
+ position: absolute;
448
+ top: 0;
449
+ left: 0;
450
+ width: 100%;
451
+ height: 100%;
452
+ z-index: 0;
453
+ cursor: text;
454
+ }
455
+
456
+ .items {
457
+ display: flex;
458
+ flex-wrap: wrap;
459
+ gap: var(--item-spacing, var(--space-xs, 3px));
460
+ align-items: center;
461
+ width: 100%;
462
+ height: 100%;
463
+ min-height: var(--item-height, 28px);
464
+ position: relative;
465
+ z-index: 2;
466
+ pointer-events: auto;
467
+ }
468
+
469
+ .container.horizontal .items {
470
+ flex-direction: row;
471
+ }
472
+
473
+ .container.vertical .items {
474
+ flex-direction: column;
475
+ align-items: stretch;
476
+ }
477
+
478
+ :host([nowrap]) .items {
479
+ flex-wrap: nowrap;
480
+ }
481
+
482
+ .item-icon {
483
+ flex-shrink: 0;
484
+ width: 1em;
485
+ height: 1em;
486
+ }
487
+
488
+ .item-label {
489
+ flex: 1;
490
+ overflow: hidden;
491
+ text-overflow: ellipsis;
492
+ color: var(--item-label-color, var(--item-text, inherit));
493
+ font-style: var(--item-label-font-style, var(--item-label-font-style-default, normal));
494
+ text-decoration: var(--item-label-text-decoration, var(--item-label-text-decoration-default, none));
495
+ text-underline-offset: var(--item-label-text-underline-offset, auto);
496
+ }
497
+
498
+ .item.selected .item-label {
499
+ --item-label-color: var(--item-text-selected);
500
+ --item-label-font-style: var(--item-label-font-style-selected, italic);
501
+ }
502
+
503
+ .item.tickled .item-label {
504
+ --item-label-text-decoration: var(--item-label-text-decoration-tickled, underline dotted);
505
+ --item-label-text-underline-offset: var(--item-label-text-underline-offset-tickled, 3px);
506
+ }
507
+
508
+ .item.active .item-label {
509
+ --item-label-color: var(--item-text-selected);
510
+ }
511
+
512
+ .item.selected.tickled .item-label {
513
+ --item-label-color: var(--item-text-selected);
514
+ --item-label-font-style: var(--item-label-font-style-selected, italic);
515
+ --item-label-text-decoration: var(--item-label-text-decoration-tickled, underline dotted);
516
+ --item-label-text-underline-offset: var(--item-label-text-underline-offset-tickled, 3px);
517
+ }
518
+
519
+ ::highlight(narrowed-text-highlight) {
520
+ background: var(--highlight-background, var(--accent));
521
+ color: var(--highlight-color, var(--accent-text, #fff));
522
+ border-radius: 2px;
523
+ padding: 0 1px;
524
+ }
525
+ `
526
+ ];
527
+ }
528
+ };
529
+ __decorate([property({
530
+ type: String,
531
+ attribute: `selection-mode`
532
+ })], NarrowedTextElement.prototype, "selectionMode", void 0);
533
+ __decorate([property({
534
+ type: Boolean,
535
+ attribute: `required-selection`
536
+ })], NarrowedTextElement.prototype, "requiredSelection", void 0);
537
+ __decorate([property({
538
+ type: String,
539
+ attribute: `orientation`
540
+ })], NarrowedTextElement.prototype, "orientation", void 0);
541
+ __decorate([property({
542
+ type: Boolean,
543
+ attribute: `nowrap`
544
+ })], NarrowedTextElement.prototype, "nowrap", void 0);
545
+ __decorate([property({
546
+ type: String,
547
+ attribute: `separator`
548
+ })], NarrowedTextElement.prototype, "separator", void 0);
549
+ __decorate([property({
550
+ type: String,
551
+ attribute: `width`
552
+ })], NarrowedTextElement.prototype, "width", void 0);
553
+ __decorate([property({
554
+ type: String,
555
+ attribute: `height`
556
+ })], NarrowedTextElement.prototype, "height", void 0);
557
+ __decorate([property({
558
+ type: Boolean,
559
+ attribute: `preserve-filter`
560
+ })], NarrowedTextElement.prototype, "preserveFilter", void 0);
561
+ __decorate([property({ type: String })], NarrowedTextElement.prototype, "value", void 0);
562
+ __decorate([state()], NarrowedTextElement.prototype, "_query", void 0);
563
+ __decorate([state()], NarrowedTextElement.prototype, "_computedItems", void 0);
564
+ __decorate([state()], NarrowedTextElement.prototype, "_filteredItems", void 0);
565
+ __decorate([state()], NarrowedTextElement.prototype, "_isFocused", void 0);
566
+ __decorate([query(`slot`)], NarrowedTextElement.prototype, "_slot", void 0);
567
+ NarrowedTextElement = __decorate([safeCustomElement(`ixfx-narrowed-text`)], NarrowedTextElement);
568
+ //#endregion
569
+ export { NarrowedTextElement };
570
+
571
+ //# sourceMappingURL=narrowed-text.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"narrowed-text.js","names":["#onNarrowedTextInit","#onItemClick","#handleSlotChange","#onContainerClick","#onInput","#onKeyDown","#onFocus","#onBlur","#onFocusTriggerClick","#renderItem","customElement"],"sources":["../src/narrowed-text/narrowed-text.ts"],"sourcesContent":["import type { PropertyValues } from 'lit';\nimport type { IncrSearch, IncrSearchState } from '../incr-search/index.js';\nimport type {\n NarrowedTextChangeDetail,\n NarrowedTextItem,\n Orientation,\n SelectionMode,\n} from './types.js';\nimport { css, html, LitElement, nothing } from 'lit';\nimport { property, query, state } from 'lit/decorators.js';\nimport { safeCustomElement as customElement } from '../util/custom-elements.js';\nimport {\n applyHighlights,\n buildHighlightTargets,\n clearHighlights,\n createIncrSearch,\n} from '../incr-search/index.js';\nimport { TickledController, tickledItemStyles, tickledStyles } from '../interaction/index.js';\n\nconst HIGHLIGHT_KEY = `narrowed-text-highlight`;\n\n@customElement(`ixfx-narrowed-text`)\nexport class NarrowedTextElement extends LitElement {\n @property({ type: String, attribute: `selection-mode` }) selectionMode: SelectionMode = `single`;\n @property({ type: Boolean, attribute: `required-selection` }) requiredSelection = false;\n @property({ type: String, attribute: `orientation` }) orientation: Orientation = `horizontal`;\n @property({ type: Boolean, attribute: `nowrap` }) nowrap = false;\n @property({ type: String, attribute: `separator` }) separator = ` `;\n @property({ type: String, attribute: `width` }) width: string | undefined;\n @property({ type: String, attribute: `height` }) height: string | undefined;\n @property({ type: Boolean, attribute: `preserve-filter` }) preserveFilter = false;\n @property({ type: String }) value = ``;\n\n @state() private _query = ``;\n @state() private _computedItems: NarrowedTextItem[] = [];\n @state() private _filteredItems: NarrowedTextItem[] = [];\n @state() private _isFocused = false;\n @query(`slot`) private _slot!: HTMLSlotElement;\n\n private _selectedValues: Set<string> = new Set();\n private _search: IncrSearch<NarrowedTextItem> = createIncrSearch<NarrowedTextItem>({\n selector: item => item.label ?? item.value,\n });\n\n private _searchState: IncrSearchState<NarrowedTextItem> | undefined;\n private _unsubSearch: (() => void) | undefined;\n\n // TickledController manages hover and keyboard focus\n private tickled = new TickledController<number>(this, {\n getItems: () => {\n return this._filteredItems.map((_, i) => ({\n id: i,\n enabled: true,\n }));\n },\n onTickle: (id) => {\n if (id === undefined || !this.shadowRoot)\n return;\n const itemsContainer = this.shadowRoot.querySelector(`.items`);\n if (!itemsContainer)\n return;\n const itemEls = itemsContainer.querySelectorAll(`.item`);\n const itemEl = itemEls[id];\n if (itemEl) {\n itemEl.scrollIntoView({ block: `nearest`, inline: `nearest` });\n }\n },\n });\n\n get selected(): string | string[] {\n if (this.selectionMode === `single`) {\n return this._selectedValues.values().next().value ?? ``;\n } else {\n return [...this._selectedValues];\n }\n }\n\n set selected(value: string | string[]) {\n if (this.selectionMode === `single`) {\n this._selectedValues.clear();\n if (value) {\n this._selectedValues.add(value as string);\n }\n } else {\n this._selectedValues.clear();\n if (Array.isArray(value)) {\n value.forEach(v => this._selectedValues.add(v));\n }\n }\n\n this._updateFilteredItems();\n }\n\noverride connectedCallback(): void {\n super.connectedCallback();\n this._unsubSearch = this._search.onChange((state) => {\n const results = state.results.map(r => r.item);\n for (const item of this._computedItems) {\n if (this._selectedValues.has(item.value) && !results.includes(item)) {\n results.push(item);\n }\n }\nthis._filteredItems = results;\n this._searchState = state;\n this.requestUpdate();\n });\n this.addEventListener(`narrowed-text-init`, () => this.#onNarrowedTextInit());\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback();\n this._unsubSearch?.();\n this._search.dispose();\n clearHighlights({ key: HIGHLIGHT_KEY });\n this.removeEventListener(`narrowed-text-init`, () => this.#onNarrowedTextInit());\n }\n\n protected override firstUpdated(): void {\n this._updateComputedItems();\n }\n\n protected override updated(changedProperties: PropertyValues): void {\n if (changedProperties.has(`value`)) {\n this._updateSelectedFromValue();\n }\n this._applyHighlights();\n }\n\n #handleSlotChange = (): void => {\n this._updateComputedItems();\n };\n\n private _updateComputedItems(): void {\n const slottedElements = this.querySelectorAll(`[data-value]`);\n const items: NarrowedTextItem[] = [];\n\n slottedElements.forEach((el) => {\n const value = el.getAttribute(`data-value`) ?? ``;\n const label = el.getAttribute(`data-label`) ?? el.textContent?.trim() ?? value;\n const description = el.getAttribute(`data-description`) ?? undefined;\n const iconName = el.getAttribute(`data-icon-name`) ?? undefined;\n\n items.push({ value, label, description, iconName });\n });\n\n this._computedItems = items;\n void this._search.setItems(items);\n }\n\n private _updateSelectedFromValue(): void {\n if (this.selectionMode === `single`) {\n this._selectedValues.clear();\n if (this.value) {\n this._selectedValues.add(this.value);\n }\n } else {\n const values = this.value.split(`,`).filter(v => v.trim());\n this._selectedValues.clear();\n values.forEach(v => this._selectedValues.add(v.trim()));\n }\n\n this._updateFilteredItems();\n }\n\n private _updateFilteredItems(): void {\n void this._search.setQuery(this._query);\n }\n\n private _applyHighlights(): void {\n if (!this._query.trim() || !this._searchState || !this.shadowRoot) {\n clearHighlights({ key: HIGHLIGHT_KEY });\n return;\n }\n\n const targets = buildHighlightTargets(\n this.shadowRoot,\n `.item-label`,\n this._searchState.positionsByItem,\n (el) => {\n const v = el.getAttribute(`data-item-value`);\n return this._computedItems.find(i => i.value === v);\n },\n (el) => {\n const v = el.getAttribute(`data-item-value`);\n const i = this._computedItems.find(x => x.value === v);\n return i?.label ?? i?.value ?? ``;\n },\n );\n applyHighlights(targets, { key: HIGHLIGHT_KEY });\n }\n\n #onInput = (e: Event): void => {\n const input = e.target as HTMLInputElement;\n this._query = input.value;\n // Reset tickled to first item when query changes\n if (this._query.trim() && this._filteredItems.length > 0) {\n this.tickled.setTickled(0);\n } else {\n this.tickled.clearTickled();\n }\n this._updateFilteredItems();\n };\n\n#onKeyDown = (e: KeyboardEvent): void => {\n if (this._filteredItems.length === 0) {\n return;\n }\n\n switch (e.key) {\n case `Tab`: {\n if (e.shiftKey) {\n e.preventDefault();\n this.dispatchEvent(new CustomEvent(`narrowed-text-shift-tab`, {\n bubbles: true,\n composed: true,\n }));\n }\n return;\n }\n case `ArrowRight`: {\n if (this.orientation !== `horizontal`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n const lastIndex = this._filteredItems.length - 1;\n if (currentTickled !== undefined && currentTickled >= lastIndex) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`next`);\n break;\n }\n case `ArrowLeft`: {\n if (this.orientation !== `horizontal`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n if (currentTickled !== undefined && currentTickled <= 0) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`previous`);\n break;\n }\n case `ArrowDown`: {\n if (this.orientation !== `vertical`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n const lastIndex = this._filteredItems.length - 1;\n if (currentTickled !== undefined && currentTickled >= lastIndex) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`next`);\n break;\n }\n case `ArrowUp`: {\n if (this.orientation !== `vertical`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n if (currentTickled !== undefined && currentTickled <= 0) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`previous`);\n break;\n }\n case `Enter`: {\n e.preventDefault();\n const tickledItem = this._filteredItems[this.tickled.tickledId ?? -1];\n if (this.orientation !== `horizontal`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n const lastIndex = this._filteredItems.length - 1;\n if (currentTickled !== undefined && currentTickled >= lastIndex) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`next`);\n break;\n }\n case `ArrowLeft`: {\n if (this.orientation !== `horizontal`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n if (currentTickled !== undefined && currentTickled <= 0) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`previous`);\n break;\n }\n case `ArrowDown`: {\n if (this.orientation !== `vertical`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n const lastIndex = this._filteredItems.length - 1;\n if (currentTickled !== undefined && currentTickled >= lastIndex) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`next`);\n break;\n }\n case `ArrowUp`: {\n if (this.orientation !== `vertical`) {\n return;\n }\n const currentTickled = this.tickled.tickledId;\n if (currentTickled !== undefined && currentTickled <= 0) {\n return;\n }\n e.preventDefault();\n this.tickled.handleKeyboardNavigation(`previous`);\n break;\n }\n case `Enter`: {\n e.preventDefault();\n const tickledItem = this._filteredItems[this.tickled.tickledId ?? -1];\n if (tickledItem) {\n this._selectItem(tickledItem, false);\n // Enter always clears filter regardless of preserveFilter\n this._query = ``;\n this._updateFilteredItems();\n }\n break;\n }\n case ` `: {\n e.preventDefault();\n if (this.tickled.tickledId !== undefined && this._filteredItems[this.tickled.tickledId]) {\n this._selectItem(this._filteredItems[this.tickled.tickledId], false);\n }\n break;\n }\n case `Escape`: {\n e.preventDefault();\n this._query = ``;\n this.tickled.clearTickled();\n this._updateFilteredItems();\n break;\n }\n }\n };\n\n #onFocus = (): void => {\n this._isFocused = true;\n if (this._query.trim() && this._filteredItems.length > 0) {\n this.tickled.setTickled(0);\n }\n };\n\n #onNarrowedTextInit = (): void => {\n const input = this.shadowRoot?.querySelector(`.search-input`) as HTMLInputElement | null;\n if (input) {\n requestAnimationFrame(() => {\n input.focus();\n });\n }\n };\n\n focus(): void {\n // Override focus to focus internal input\n const input = this.shadowRoot?.querySelector(`.search-input`) as HTMLInputElement | null;\n if (input) {\n input.focus();\n } else {\n super.focus();\n }\n }\n\n blur(): void {\n const input = this.shadowRoot?.querySelector(`.search-input`) as HTMLInputElement | null;\n if (input) {\n input.blur();\n } else {\n super.blur();\n }\n };\n\n #onBlur = (): void => {\n this._isFocused = false;\n this.tickled.clearTickled();\n this.dispatchEvent(new CustomEvent(`narrowed-text-blur`, { bubbles: true, composed: true }));\n };\n\n #onFocusTriggerClick = (): void => {\n const input = this.shadowRoot?.querySelector(`.search-input`) as HTMLInputElement | null;\n input?.focus();\n };\n\n #onContainerClick = (e: MouseEvent): void => {\n const target = e.target as HTMLElement;\n if (target.classList.contains(`item`) || target.closest(`.item`)) {\n return;\n }\n const input = this.shadowRoot?.querySelector(`.search-input`) as HTMLInputElement | null;\n input?.focus();\n };\n\n #onItemClick(item: NarrowedTextItem): void {\n this._selectItem(item);\n const clickedIndex = this._filteredItems.findIndex(i => i.value === item.value);\n if (clickedIndex >= 0) {\n this.tickled.handlePointerEnter(clickedIndex);\n }\n const input = this.shadowRoot?.querySelector(`.search-input`) as HTMLInputElement | null;\n input?.focus();\n }\n\n private _selectItem(item: NarrowedTextItem, clearFilter = true): void {\n if (this.selectionMode === `single`) {\n if (this._selectedValues.has(item.value) && !this.requiredSelection) {\n this._selectedValues.clear();\n } else {\n this._selectedValues.clear();\n this._selectedValues.add(item.value);\n }\n } else {\n if (this._selectedValues.has(item.value)) {\n if (!this.requiredSelection || this._selectedValues.size > 1) {\n this._selectedValues.delete(item.value);\n }\n } else {\n this._selectedValues.add(item.value);\n }\n }\n\n this._updateValueFromSelected();\n this._updateFilteredItems();\n\n const selectedItems = this._computedItems.filter(i => this._selectedValues.has(i.value));\n\n this.dispatchEvent(new CustomEvent<NarrowedTextChangeDetail>(`change`, {\n detail: { item, query: this._query, selected: selectedItems },\n bubbles: true,\n composed: true,\n }));\n\n if (clearFilter && !this.preserveFilter && this._query) {\n this._query = ``;\n this._updateFilteredItems();\n }\n }\n\n private _updateValueFromSelected(): void {\n if (this.selectionMode === `single`) {\n this.value = [...this._selectedValues][0] ?? ``;\n } else {\n this.value = [...this._selectedValues].join(`,`);\n }\n }\n\n #renderItem(item: NarrowedTextItem, index: number) {\n const isTickled = this.tickled.isTickled(index);\n const isSelected = this._selectedValues.has(item.value);\n const label = item.label ?? item.value;\n\n return html`\n <div\n class=\"item ${isTickled ? `tickled` : ``} ${isSelected ? `selected` : ``}\"\n part=\"item\"\n role=\"option\"\n aria-selected=${isSelected}\n @click=${() => this.#onItemClick(item)}\n @pointerenter=${() => this.tickled.handlePointerEnter(index)}\n >\n ${item.iconName ? html`<ixfx-icon class=\"item-icon\" name=${item.iconName}></ixfx-icon>` : nothing}\n <span class=\"item-label\" part=\"label\" data-item-value=${item.value}>${label}</span>\n </div>\n `;\n }\n\n protected override render() {\n const isScrollable = this.width !== undefined || this.height !== undefined;\n\n return html`\n <slot @slotchange=${this.#handleSlotChange} style=\"display: none;\"></slot>\n <div\n class=\"container ${this.orientation} ${isScrollable ? `scrollable` : ``} ${this._isFocused ? `focused` : ``}\"\n part=\"container\"\n style=${this._getContainerStyle()}\n data-input-mode=${this.tickled.inputMode}\n @click=${this.#onContainerClick}\n >\n <input\n type=\"text\"\n class=\"search-input\"\n .value=${this._query}\n autocomplete=\"off\"\n spellcheck=\"false\"\n aria-label=\"Search items\"\n @input=${this.#onInput}\n @keydown=${this.#onKeyDown}\n @focus=${this.#onFocus}\n @blur=${this.#onBlur}\n >\n <div class=\"focus-trigger\" @click=${this.#onFocusTriggerClick}></div>\n <div \n class=\"items\" \n part=\"items\" \n role=\"listbox\"\n @pointerleave=${(e: PointerEvent) => this.tickled.handlePointerLeave(e)}\n >\n ${this._filteredItems.map((item, i) => this.#renderItem(item, i))}\n </div>\n </div>\n `;\n }\n\n private _getContainerStyle(): string {\n const styles: string[] = [];\n if (this.width) {\n styles.push(`width: ${this.width}`);\n }\n if (this.height) {\n styles.push(`height: ${this.height}`);\n }\n return styles.join(`; `);\n }\n\n static override styles = [tickledStyles, tickledItemStyles, css`\n :host {\n display: inline-block;\n position: relative;\n font-family: var(--font-family, system-ui, sans-serif);\n font-size: var(--text-m, 12px);\n color: var(--surface-2-text);\n --item-padding: var(--space-xs, 3px) var(--space-m, 8px);\n --item-border-radius: var(--radius-s, 3px);\n --item-icon-spacing: var(--space-xs, 3px);\n }\n\n .container {\n display: flex;\n position: relative;\n min-width: min-content;\n min-height: min-content;\n }\n\n .container.horizontal {\n flex-direction: row;\n align-items: stretch;\n }\n\n .container.vertical {\n flex-direction: column;\n }\n\n .container.scrollable {\n scrollbar-width: none;\n overflow-x: auto;\n overflow-y: hidden;\n .vertical {\n overflow-x: hidden;\n overflow-y: auto;\n }\n }\n\n .container.focused {\n outline: 2px solid var(--accent);\n outline-offset: 2px;\n }\n\n .search-input {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n opacity: 0;\n cursor: text;\n z-index: 1;\n pointer-events: none;\n }\n\n .search-input:focus {\n outline: none;\n }\n\n .focus-trigger {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n z-index: 0;\n cursor: text;\n }\n\n .items {\n display: flex;\n flex-wrap: wrap;\n gap: var(--item-spacing, var(--space-xs, 3px));\n align-items: center;\n width: 100%;\n height: 100%;\n min-height: var(--item-height, 28px);\n position: relative;\n z-index: 2;\n pointer-events: auto;\n }\n\n .container.horizontal .items {\n flex-direction: row;\n }\n\n .container.vertical .items {\n flex-direction: column;\n align-items: stretch;\n }\n\n :host([nowrap]) .items {\n flex-wrap: nowrap;\n }\n\n .item-icon {\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n }\n\n .item-label {\n flex: 1;\n overflow: hidden;\n text-overflow: ellipsis;\n color: var(--item-label-color, var(--item-text, inherit));\n font-style: var(--item-label-font-style, var(--item-label-font-style-default, normal));\n text-decoration: var(--item-label-text-decoration, var(--item-label-text-decoration-default, none));\n text-underline-offset: var(--item-label-text-underline-offset, auto);\n }\n\n .item.selected .item-label {\n --item-label-color: var(--item-text-selected);\n --item-label-font-style: var(--item-label-font-style-selected, italic);\n }\n\n .item.tickled .item-label {\n --item-label-text-decoration: var(--item-label-text-decoration-tickled, underline dotted);\n --item-label-text-underline-offset: var(--item-label-text-underline-offset-tickled, 3px);\n }\n\n .item.active .item-label {\n --item-label-color: var(--item-text-selected);\n }\n\n .item.selected.tickled .item-label {\n --item-label-color: var(--item-text-selected);\n --item-label-font-style: var(--item-label-font-style-selected, italic);\n --item-label-text-decoration: var(--item-label-text-decoration-tickled, underline dotted);\n --item-label-text-underline-offset: var(--item-label-text-underline-offset-tickled, 3px);\n }\n\n ::highlight(narrowed-text-highlight) {\n background: var(--highlight-background, var(--accent));\n color: var(--highlight-color, var(--accent-text, #fff));\n border-radius: 2px;\n padding: 0 1px;\n }\n `];\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'ixfx-narrowed-text': NarrowedTextElement;\n }\n}\n"],"mappings":";;;;;;;;AAmBA,MAAM,gBAAgB;AAGf,IAAA,sBAAA,MAAM,4BAA4B,WAAW;;;uBACsC;2BACN;qBACD;gBACtB;mBACK;wBAGY;eACxC;gBAEV;wBAC4B,CAAC;wBACD,CAAC;oBACzB;yCAGS,IAAI,IAAI;iBACC,iBAAmC,EACjF,WAAU,SAAQ,KAAK,SAAS,KAAK,MACvC,CAAC;iBAMiB,IAAI,kBAA0B,MAAM;GACpD,gBAAgB;IACd,OAAO,KAAK,eAAe,KAAK,GAAG,OAAO;KACxC,IAAI;KACJ,SAAS;IACX,EAAE;GACJ;GACA,WAAW,OAAO;IAChB,IAAI,OAAO,KAAA,KAAa,CAAC,KAAK,YAC5B;IACF,MAAM,iBAAiB,KAAK,WAAW,cAAc,QAAQ;IAC7D,IAAI,CAAC,gBACH;IAEF,MAAM,SADU,eAAe,iBAAiB,OAC3B,EAAE;IACvB,IAAI,QACF,OAAO,eAAe;KAAE,OAAO;KAAW,QAAQ;IAAU,CAAC;GAEjE;EACF,CAAC;iCA6D+B;GAC9B,KAAK,qBAAqB;EAC5B;mBA6DY,MAAmB;GAC7B,MAAM,QAAQ,EAAE;GAChB,KAAK,SAAS,MAAM;GAEpB,IAAI,KAAK,OAAO,KAAK,KAAK,KAAK,eAAe,SAAS,GACrD,KAAK,QAAQ,WAAW,CAAC;QAEzB,KAAK,QAAQ,aAAa;GAE5B,KAAK,qBAAqB;EAC5B;qBAEY,MAA2B;GACrC,IAAI,KAAK,eAAe,WAAW,GACjC;GAGF,QAAQ,EAAE,KAAV;IACE,KAAK;KACH,IAAI,EAAE,UAAU;MACd,EAAE,eAAe;MACjB,KAAK,cAAc,IAAI,YAAY,2BAA2B;OAC5D,SAAS;OACT,UAAU;MACZ,CAAC,CAAC;KACJ;KACA;IAEF,KAAK,cAAc;KACjB,IAAI,KAAK,gBAAgB,cACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,MAAM,YAAY,KAAK,eAAe,SAAS;KAC/C,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,WACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,MAAM;KAC5C;IACF;IACA,KAAK,aAAa;KAChB,IAAI,KAAK,gBAAgB,cACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,GACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,UAAU;KAChD;IACF;IACA,KAAK,aAAa;KAChB,IAAI,KAAK,gBAAgB,YACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,MAAM,YAAY,KAAK,eAAe,SAAS;KAC/C,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,WACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,MAAM;KAC5C;IACF;IACA,KAAK,WAAW;KACd,IAAI,KAAK,gBAAgB,YACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,GACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,UAAU;KAChD;IACF;IACA,KAAK,SAAS;KACZ,EAAE,eAAe;KACG,KAAK,eAAe,KAAK,QAAQ,aAAa;KAClE,IAAI,KAAK,gBAAgB,cACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,MAAM,YAAY,KAAK,eAAe,SAAS;KAC/C,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,WACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,MAAM;KAC5C;IACF;IACA,KAAK,aAAa;KAChB,IAAI,KAAK,gBAAgB,cACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,GACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,UAAU;KAChD;IACF;IACA,KAAK,aAAa;KAChB,IAAI,KAAK,gBAAgB,YACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,MAAM,YAAY,KAAK,eAAe,SAAS;KAC/C,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,WACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,MAAM;KAC5C;IACF;IACA,KAAK,WAAW;KACd,IAAI,KAAK,gBAAgB,YACvB;KAEF,MAAM,iBAAiB,KAAK,QAAQ;KACpC,IAAI,mBAAmB,KAAA,KAAa,kBAAkB,GACpD;KAEF,EAAE,eAAe;KACjB,KAAK,QAAQ,yBAAyB,UAAU;KAChD;IACF;IACA,KAAK,SAAS;KACZ,EAAE,eAAe;KACjB,MAAM,cAAc,KAAK,eAAe,KAAK,QAAQ,aAAa;KAClE,IAAI,aAAa;MACf,KAAK,YAAY,aAAa,KAAK;MAEnC,KAAK,SAAS;MACd,KAAK,qBAAqB;KAC5B;KACA;IACF;IACA,KAAK;KACH,EAAE,eAAe;KACjB,IAAI,KAAK,QAAQ,cAAc,KAAA,KAAa,KAAK,eAAe,KAAK,QAAQ,YAC3E,KAAK,YAAY,KAAK,eAAe,KAAK,QAAQ,YAAY,KAAK;KAErE;IAEF,KAAK;KACH,EAAE,eAAe;KACjB,KAAK,SAAS;KACd,KAAK,QAAQ,aAAa;KAC1B,KAAK,qBAAqB;KAC1B;GAEJ;EACF;wBAEuB;GACrB,KAAK,aAAa;GAClB,IAAI,KAAK,OAAO,KAAK,KAAK,KAAK,eAAe,SAAS,GACrD,KAAK,QAAQ,WAAW,CAAC;EAE7B;mCAEkC;GAChC,MAAM,QAAQ,KAAK,YAAY,cAAc,eAAe;GAC5D,IAAI,OACF,4BAA4B;IAC1B,MAAM,MAAM;GACd,CAAC;EAEL;uBAqBsB;GACpB,KAAK,aAAa;GAClB,KAAK,QAAQ,aAAa;GAC1B,KAAK,cAAc,IAAI,YAAY,sBAAsB;IAAE,SAAS;IAAM,UAAU;GAAK,CAAC,CAAC;EAC7F;oCAEmC;GAEjC,CADc,KAAK,YAAY,cAAc,eAAe,IACrD,MAAM;EACf;4BAEqB,MAAwB;GAC3C,MAAM,SAAS,EAAE;GACjB,IAAI,OAAO,UAAU,SAAS,MAAM,KAAK,OAAO,QAAQ,OAAO,GAC7D;GAGF,CADc,KAAK,YAAY,cAAc,eAAe,IACrD,MAAM;EACf;;CA7UA,IAAI,WAA8B;EAChC,IAAI,KAAK,kBAAkB,UACzB,OAAO,KAAK,gBAAgB,OAAO,EAAE,KAAK,EAAE,SAAS;OAErD,OAAO,CAAC,GAAG,KAAK,eAAe;CAEnC;CAEA,IAAI,SAAS,OAA0B;EACrC,IAAI,KAAK,kBAAkB,UAAU;GACnC,KAAK,gBAAgB,MAAM;GAC3B,IAAI,OACF,KAAK,gBAAgB,IAAI,KAAe;EAE5C,OAAO;GACL,KAAK,gBAAgB,MAAM;GAC3B,IAAI,MAAM,QAAQ,KAAK,GACrB,MAAM,SAAQ,MAAK,KAAK,gBAAgB,IAAI,CAAC,CAAC;EAElD;EAEA,KAAK,qBAAqB;CAC5B;CAEF,oBAAmC;EAC/B,MAAM,kBAAkB;EACxB,KAAK,eAAe,KAAK,QAAQ,UAAU,UAAU;GACnD,MAAM,UAAU,MAAM,QAAQ,KAAI,MAAK,EAAE,IAAI;GAC7C,KAAK,MAAM,QAAQ,KAAK,gBACtB,IAAI,KAAK,gBAAgB,IAAI,KAAK,KAAK,KAAK,CAAC,QAAQ,SAAS,IAAI,GAChE,QAAQ,KAAK,IAAI;GAG3B,KAAK,iBAAiB;GAChB,KAAK,eAAe;GACpB,KAAK,cAAc;EACrB,CAAC;EACD,KAAK,iBAAiB,4BAA4B,KAAKA,oBAAoB,CAAC;CAC9E;CAEA,uBAAsC;EACpC,MAAM,qBAAqB;EAC3B,KAAK,eAAe;EACpB,KAAK,QAAQ,QAAQ;EACrB,gBAAgB,EAAE,KAAK,cAAc,CAAC;EACtC,KAAK,oBAAoB,4BAA4B,KAAKA,oBAAoB,CAAC;CACjF;CAEA,eAAwC;EACtC,KAAK,qBAAqB;CAC5B;CAEA,QAA2B,mBAAyC;EAClE,IAAI,kBAAkB,IAAI,OAAO,GAC/B,KAAK,yBAAyB;EAEhC,KAAK,iBAAiB;CACxB;CAEA;CAIA,uBAAqC;EACnC,MAAM,kBAAkB,KAAK,iBAAiB,cAAc;EAC5D,MAAM,QAA4B,CAAC;EAEnC,gBAAgB,SAAS,OAAO;GAC9B,MAAM,QAAQ,GAAG,aAAa,YAAY,KAAK;GAC/C,MAAM,QAAQ,GAAG,aAAa,YAAY,KAAK,GAAG,aAAa,KAAK,KAAK;GACzE,MAAM,cAAc,GAAG,aAAa,kBAAkB,KAAK,KAAA;GAC3D,MAAM,WAAW,GAAG,aAAa,gBAAgB,KAAK,KAAA;GAEtD,MAAM,KAAK;IAAE;IAAO;IAAO;IAAa;GAAS,CAAC;EACpD,CAAC;EAED,KAAK,iBAAiB;EACtB,KAAU,QAAQ,SAAS,KAAK;CAClC;CAEA,2BAAyC;EACvC,IAAI,KAAK,kBAAkB,UAAU;GACnC,KAAK,gBAAgB,MAAM;GAC3B,IAAI,KAAK,OACP,KAAK,gBAAgB,IAAI,KAAK,KAAK;EAEvC,OAAO;GACL,MAAM,SAAS,KAAK,MAAM,MAAM,GAAG,EAAE,QAAO,MAAK,EAAE,KAAK,CAAC;GACzD,KAAK,gBAAgB,MAAM;GAC3B,OAAO,SAAQ,MAAK,KAAK,gBAAgB,IAAI,EAAE,KAAK,CAAC,CAAC;EACxD;EAEA,KAAK,qBAAqB;CAC5B;CAEA,uBAAqC;EACnC,KAAU,QAAQ,SAAS,KAAK,MAAM;CACxC;CAEA,mBAAiC;EAC/B,IAAI,CAAC,KAAK,OAAO,KAAK,KAAK,CAAC,KAAK,gBAAgB,CAAC,KAAK,YAAY;GACjE,gBAAgB,EAAE,KAAK,cAAc,CAAC;GACtC;EACF;EAgBA,gBAdgB,sBACd,KAAK,YACL,eACA,KAAK,aAAa,kBACjB,OAAO;GACN,MAAM,IAAI,GAAG,aAAa,iBAAiB;GAC3C,OAAO,KAAK,eAAe,MAAK,MAAK,EAAE,UAAU,CAAC;EACpD,IACC,OAAO;GACN,MAAM,IAAI,GAAG,aAAa,iBAAiB;GAC3C,MAAM,IAAI,KAAK,eAAe,MAAK,MAAK,EAAE,UAAU,CAAC;GACrD,OAAO,GAAG,SAAS,GAAG,SAAS;EACjC,CAEoB,GAAG,EAAE,KAAK,cAAc,CAAC;CACjD;CAEA;CAYF;CAkJE;CAOA;CASA,QAAc;EAEZ,MAAM,QAAQ,KAAK,YAAY,cAAc,eAAe;EAC5D,IAAI,OACF,MAAM,MAAM;OAEZ,MAAM,MAAM;CAEhB;CAEA,OAAa;EACX,MAAM,QAAQ,KAAK,YAAY,cAAc,eAAe;EAC5D,IAAI,OACF,MAAM,KAAK;OAEX,MAAM,KAAK;CAEf;CAEA;CAMA;CAKA;CASA,aAAa,MAA8B;EACzC,KAAK,YAAY,IAAI;EACrB,MAAM,eAAe,KAAK,eAAe,WAAU,MAAK,EAAE,UAAU,KAAK,KAAK;EAC9E,IAAI,gBAAgB,GAClB,KAAK,QAAQ,mBAAmB,YAAY;EAG9C,CADc,KAAK,YAAY,cAAc,eAAe,IACrD,MAAM;CACf;CAEA,YAAoB,MAAwB,cAAc,MAAY;EACpE,IAAI,KAAK,kBAAkB,UACzB,IAAI,KAAK,gBAAgB,IAAI,KAAK,KAAK,KAAK,CAAC,KAAK,mBAChD,KAAK,gBAAgB,MAAM;OACtB;GACL,KAAK,gBAAgB,MAAM;GAC3B,KAAK,gBAAgB,IAAI,KAAK,KAAK;EACrC;OAEA,IAAI,KAAK,gBAAgB,IAAI,KAAK,KAAK;OACjC,CAAC,KAAK,qBAAqB,KAAK,gBAAgB,OAAO,GACzD,KAAK,gBAAgB,OAAO,KAAK,KAAK;EAAA,OAGxC,KAAK,gBAAgB,IAAI,KAAK,KAAK;EAIvC,KAAK,yBAAyB;EAC9B,KAAK,qBAAqB;EAE1B,MAAM,gBAAgB,KAAK,eAAe,QAAO,MAAK,KAAK,gBAAgB,IAAI,EAAE,KAAK,CAAC;EAEvF,KAAK,cAAc,IAAI,YAAsC,UAAU;GACrE,QAAQ;IAAE;IAAM,OAAO,KAAK;IAAQ,UAAU;GAAc;GAC5D,SAAS;GACT,UAAU;EACZ,CAAC,CAAC;EAEF,IAAI,eAAe,CAAC,KAAK,kBAAkB,KAAK,QAAQ;GACtD,KAAK,SAAS;GACd,KAAK,qBAAqB;EAC5B;CACF;CAEA,2BAAyC;EACvC,IAAI,KAAK,kBAAkB,UACzB,KAAK,QAAQ,CAAC,GAAG,KAAK,eAAe,EAAE,MAAM;OAE7C,KAAK,QAAQ,CAAC,GAAG,KAAK,eAAe,EAAE,KAAK,GAAG;CAEnD;CAEA,YAAY,MAAwB,OAAe;EACjD,MAAM,YAAY,KAAK,QAAQ,UAAU,KAAK;EAC9C,MAAM,aAAa,KAAK,gBAAgB,IAAI,KAAK,KAAK;EACtD,MAAM,QAAQ,KAAK,SAAS,KAAK;EAEjC,OAAO,IAAI;;sBAEO,YAAY,YAAY,GAAG,GAAG,aAAa,aAAa,GAAG;;;wBAGzD,WAAW;uBACZ,KAAKC,aAAa,IAAI,EAAE;8BACjB,KAAK,QAAQ,mBAAmB,KAAK,EAAE;;UAE3D,KAAK,WAAW,IAAI,qCAAqC,KAAK,SAAS,iBAAiB,QAAQ;gEAC1C,KAAK,MAAM,GAAG,MAAM;;;CAGlF;CAEA,SAA4B;EAC1B,MAAM,eAAe,KAAK,UAAU,KAAA,KAAa,KAAK,WAAW,KAAA;EAEjE,OAAO,IAAI;0BACW,KAAKC,kBAAkB;;2BAEtB,KAAK,YAAY,GAAG,eAAe,eAAe,GAAG,GAAG,KAAK,aAAa,YAAY,GAAG;;gBAEpG,KAAK,mBAAmB,EAAE;0BAChB,KAAK,QAAQ,UAAU;iBAChC,KAAKC,kBAAkB;;;;;mBAKrB,KAAK,OAAO;;;;mBAIZ,KAAKC,SAAS;qBACZ,KAAKC,WAAW;mBAClB,KAAKC,SAAS;kBACf,KAAKC,QAAQ;;4CAEa,KAAKC,qBAAqB;;;;;2BAK3C,MAAoB,KAAK,QAAQ,mBAAmB,CAAC,EAAE;;YAEtE,KAAK,eAAe,KAAK,MAAM,MAAM,KAAKC,YAAY,MAAM,CAAC,CAAC,EAAE;;;;CAI1E;CAEA,qBAAqC;EACnC,MAAM,SAAmB,CAAC;EAC1B,IAAI,KAAK,OACP,OAAO,KAAK,UAAU,KAAK,OAAO;EAEpC,IAAI,KAAK,QACP,OAAO,KAAK,WAAW,KAAK,QAAQ;EAEtC,OAAO,OAAO,KAAK,IAAI;CACzB;;gBAEyB;GAAC;GAAe;GAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA0I9D;;AACH;YAjoBG,SAAS;CAAE,MAAM;CAAQ,WAAW;AAAiB,CAAC,CAAA,GAAA,oBAAA,WAAA,iBAAA,KAAA,CAAA;YACtD,SAAS;CAAE,MAAM;CAAS,WAAW;AAAqB,CAAC,CAAA,GAAA,oBAAA,WAAA,qBAAA,KAAA,CAAA;YAC3D,SAAS;CAAE,MAAM;CAAQ,WAAW;AAAc,CAAC,CAAA,GAAA,oBAAA,WAAA,eAAA,KAAA,CAAA;YACnD,SAAS;CAAE,MAAM;CAAS,WAAW;AAAS,CAAC,CAAA,GAAA,oBAAA,WAAA,UAAA,KAAA,CAAA;YAC/C,SAAS;CAAE,MAAM;CAAQ,WAAW;AAAY,CAAC,CAAA,GAAA,oBAAA,WAAA,aAAA,KAAA,CAAA;YACjD,SAAS;CAAE,MAAM;CAAQ,WAAW;AAAQ,CAAC,CAAA,GAAA,oBAAA,WAAA,SAAA,KAAA,CAAA;YAC7C,SAAS;CAAE,MAAM;CAAQ,WAAW;AAAS,CAAC,CAAA,GAAA,oBAAA,WAAA,UAAA,KAAA,CAAA;YAC9C,SAAS;CAAE,MAAM;CAAS,WAAW;AAAkB,CAAC,CAAA,GAAA,oBAAA,WAAA,kBAAA,KAAA,CAAA;YACxD,SAAS,EAAE,MAAM,OAAO,CAAC,CAAA,GAAA,oBAAA,WAAA,SAAA,KAAA,CAAA;YAEzB,MAAM,CAAA,GAAA,oBAAA,WAAA,UAAA,KAAA,CAAA;YACN,MAAM,CAAA,GAAA,oBAAA,WAAA,kBAAA,KAAA,CAAA;YACN,MAAM,CAAA,GAAA,oBAAA,WAAA,kBAAA,KAAA,CAAA;YACN,MAAM,CAAA,GAAA,oBAAA,WAAA,cAAA,KAAA,CAAA;YACN,MAAM,MAAM,CAAA,GAAA,oBAAA,WAAA,SAAA,KAAA,CAAA;kCAhBdC,kBAAc,oBAAoB,CAAA,GAAA,mBAAA"}
@@ -0,0 +1,42 @@
1
+ import { LitElement } from "lit";
2
+
3
+ //#region src/panel/panel.d.ts
4
+ type PanelOrientation = `horizontal` | `vertical`;
5
+ type PanelVariant = `titlebar` | `midline`;
6
+ type PanelToggleInteraction = `implicit` | `explicit` | `disabled`;
7
+ interface PanelToggleDetail {
8
+ readonly collapsed: boolean;
9
+ }
10
+ type PanelToggleEvent = CustomEvent<PanelToggleDetail>;
11
+ type PanelCloseEvent = CustomEvent<void>;
12
+ interface PanelElementEventMap {
13
+ toggle: PanelToggleEvent;
14
+ close: PanelCloseEvent;
15
+ }
16
+ declare class PanelElement extends LitElement {
17
+ collapsed: boolean;
18
+ orientation: PanelOrientation;
19
+ closable: boolean;
20
+ title: string;
21
+ iconName: string;
22
+ toggleInteraction: PanelToggleInteraction;
23
+ variant: PanelVariant;
24
+ private _isVertical;
25
+ private _onToggleClick;
26
+ private _onCloseClick;
27
+ private _getCaretIcon;
28
+ protected updated(changed: Map<string, unknown>): void;
29
+ protected render(): import("lit").TemplateResult<1>;
30
+ static styles: import("lit").CSSResult;
31
+ }
32
+ declare global {
33
+ interface HTMLElementTagNameMap {
34
+ 'ixfx-panel': PanelElement;
35
+ }
36
+ }
37
+ interface PanelElement {
38
+ addEventListener: (<K extends keyof PanelElementEventMap>(type: K, listener: (this: PanelElement, event: PanelElementEventMap[K]) => void, options?: boolean | AddEventListenerOptions) => void) & ((type: string, listener: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions) => void);
39
+ }
40
+ //#endregion
41
+ export { PanelCloseEvent, PanelElement, PanelElementEventMap, PanelOrientation, PanelToggleDetail, PanelToggleEvent, PanelToggleInteraction, PanelVariant };
42
+ //# sourceMappingURL=panel.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"panel.d.ts","names":[],"sources":["../src/panel/panel.ts"],"mappings":";;;KAKY,gBAAA;AAAA,KACA,YAAA;AAAA,KACA,sBAAA;AAAA,UAEK,iBAAA;EAAA,SACN,SAAS;AAAA;AAAA,KAGR,gBAAA,GAAmB,WAAW,CAAC,iBAAA;AAAA,KAC/B,eAAA,GAAkB,WAAW;AAAA,UAExB,oBAAA;EACf,MAAA,EAAQ,gBAAA;EACR,KAAA,EAAO,eAAe;AAAA;AAAA,cAIX,YAAA,SAAqB,UAAA;EACY,SAAA;EACyB,WAAA,EAAa,gBAAA;EACrD,QAAA;EACD,KAAA;EACwB,QAAA;EACS,iBAAA,EAAmB,sBAAA;EACf,OAAA,EAAS,YAAA;EAAA,QAEzD,WAAA;EAAA,QAET,cAAA;EAAA,QAWA,aAAA;EAAA,QAUA,aAAA;EAAA,UAIW,OAAA,CAAQ,OAAA,EAAS,GAAA;EAAA,UAOjB,MAAA,CAAA,iBAAM,cAAA;EAAA,OAyDT,MAAA,gBAAM,SAAA;AAAA;AAAA,QAkShB,MAAA;EAAA,UACI,qBAAA;IACR,YAAA,EAAc,YAAY;EAAA;AAAA;AAAA,UAIb,YAAA;EACf,gBAAA,oBAAoC,oBAAA,EAClC,IAAA,EAAM,CAAA,EACN,QAAA,GAAW,IAAA,EAAM,YAAA,EAAc,KAAA,EAAO,oBAAA,CAAqB,CAAA,YAC3D,OAAA,aAAoB,uBAAA,eAEpB,IAAA,UACA,QAAA,EAAU,kCAAA,EACV,OAAA,aAAoB,uBAAA;AAAA"}