@vielzeug/buildit 2.0.0

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 (792) hide show
  1. package/README.md +124 -0
  2. package/dist/accordion-item.cjs +32 -0
  3. package/dist/accordion-item.cjs.map +1 -0
  4. package/dist/accordion-item.js +72 -0
  5. package/dist/accordion-item.js.map +1 -0
  6. package/dist/accordion.cjs +2 -0
  7. package/dist/accordion.cjs.map +1 -0
  8. package/dist/accordion.js +37 -0
  9. package/dist/accordion.js.map +1 -0
  10. package/dist/alert.cjs +31 -0
  11. package/dist/alert.cjs.map +1 -0
  12. package/dist/alert.js +85 -0
  13. package/dist/alert.js.map +1 -0
  14. package/dist/avatar.cjs +37 -0
  15. package/dist/avatar.cjs.map +1 -0
  16. package/dist/avatar.js +123 -0
  17. package/dist/avatar.js.map +1 -0
  18. package/dist/badge.cjs +7 -0
  19. package/dist/badge.cjs.map +1 -0
  20. package/dist/badge.js +60 -0
  21. package/dist/badge.js.map +1 -0
  22. package/dist/box.cjs +2 -0
  23. package/dist/box.cjs.map +1 -0
  24. package/dist/box.js +22 -0
  25. package/dist/box.js.map +1 -0
  26. package/dist/breadcrumb.cjs +21 -0
  27. package/dist/breadcrumb.cjs.map +1 -0
  28. package/dist/breadcrumb.js +58 -0
  29. package/dist/breadcrumb.js.map +1 -0
  30. package/dist/buildit.cjs +1892 -0
  31. package/dist/buildit.cjs.map +1 -0
  32. package/dist/buildit.js +1892 -0
  33. package/dist/buildit.js.map +1 -0
  34. package/dist/button-group.cjs +6 -0
  35. package/dist/button-group.cjs.map +1 -0
  36. package/dist/button-group.js +31 -0
  37. package/dist/button-group.js.map +1 -0
  38. package/dist/button.cjs +30 -0
  39. package/dist/button.cjs.map +1 -0
  40. package/dist/button.js +115 -0
  41. package/dist/button.js.map +1 -0
  42. package/dist/card.cjs +23 -0
  43. package/dist/card.cjs.map +1 -0
  44. package/dist/card.js +99 -0
  45. package/dist/card.js.map +1 -0
  46. package/dist/checkbox-group.cjs +20 -0
  47. package/dist/checkbox-group.cjs.map +1 -0
  48. package/dist/checkbox-group.js +88 -0
  49. package/dist/checkbox-group.js.map +1 -0
  50. package/dist/checkbox.cjs +37 -0
  51. package/dist/checkbox.cjs.map +1 -0
  52. package/dist/checkbox.js +115 -0
  53. package/dist/checkbox.js.map +1 -0
  54. package/dist/chip.cjs +56 -0
  55. package/dist/chip.cjs.map +1 -0
  56. package/dist/chip.js +140 -0
  57. package/dist/chip.js.map +1 -0
  58. package/dist/combobox.cjs +93 -0
  59. package/dist/combobox.cjs.map +1 -0
  60. package/dist/combobox.js +401 -0
  61. package/dist/combobox.js.map +1 -0
  62. package/dist/content/avatar/avatar-group.css?inline.cjs +2 -0
  63. package/dist/content/avatar/avatar-group.css?inline.cjs.map +1 -0
  64. package/dist/content/avatar/avatar-group.css?inline.js +6 -0
  65. package/dist/content/avatar/avatar-group.css?inline.js.map +1 -0
  66. package/dist/content/avatar/avatar.css?inline.cjs +2 -0
  67. package/dist/content/avatar/avatar.css?inline.cjs.map +1 -0
  68. package/dist/content/avatar/avatar.css?inline.js +6 -0
  69. package/dist/content/avatar/avatar.css?inline.js.map +1 -0
  70. package/dist/content/avatar/avatar.d.ts +78 -0
  71. package/dist/content/avatar/avatar.d.ts.map +1 -0
  72. package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs +2 -0
  73. package/dist/content/breadcrumb/breadcrumb-item.css?inline.cjs.map +1 -0
  74. package/dist/content/breadcrumb/breadcrumb-item.css?inline.js +6 -0
  75. package/dist/content/breadcrumb/breadcrumb-item.css?inline.js.map +1 -0
  76. package/dist/content/breadcrumb/breadcrumb.css?inline.cjs +2 -0
  77. package/dist/content/breadcrumb/breadcrumb.css?inline.cjs.map +1 -0
  78. package/dist/content/breadcrumb/breadcrumb.css?inline.js +6 -0
  79. package/dist/content/breadcrumb/breadcrumb.css?inline.js.map +1 -0
  80. package/dist/content/breadcrumb/breadcrumb.d.ts +36 -0
  81. package/dist/content/breadcrumb/breadcrumb.d.ts.map +1 -0
  82. package/dist/content/card/card.css?inline.cjs +2 -0
  83. package/dist/content/card/card.css?inline.cjs.map +1 -0
  84. package/dist/content/card/card.css?inline.js +6 -0
  85. package/dist/content/card/card.css?inline.js.map +1 -0
  86. package/dist/content/card/card.d.ts +66 -0
  87. package/dist/content/card/card.d.ts.map +1 -0
  88. package/dist/content/index.cjs +1 -0
  89. package/dist/content/index.d.ts +15 -0
  90. package/dist/content/index.d.ts.map +1 -0
  91. package/dist/content/index.js +7 -0
  92. package/dist/content/pagination/pagination.css?inline.cjs +2 -0
  93. package/dist/content/pagination/pagination.css?inline.cjs.map +1 -0
  94. package/dist/content/pagination/pagination.css?inline.js +6 -0
  95. package/dist/content/pagination/pagination.css?inline.js.map +1 -0
  96. package/dist/content/pagination/pagination.d.ts +56 -0
  97. package/dist/content/pagination/pagination.d.ts.map +1 -0
  98. package/dist/content/separator/separator.css?inline.cjs +2 -0
  99. package/dist/content/separator/separator.css?inline.cjs.map +1 -0
  100. package/dist/content/separator/separator.css?inline.js +6 -0
  101. package/dist/content/separator/separator.css?inline.js.map +1 -0
  102. package/dist/content/separator/separator.d.ts +35 -0
  103. package/dist/content/separator/separator.d.ts.map +1 -0
  104. package/dist/content/table/table.css?inline.cjs +2 -0
  105. package/dist/content/table/table.css?inline.cjs.map +1 -0
  106. package/dist/content/table/table.css?inline.js +6 -0
  107. package/dist/content/table/table.css?inline.js.map +1 -0
  108. package/dist/content/table/table.d.ts +69 -0
  109. package/dist/content/table/table.d.ts.map +1 -0
  110. package/dist/content/text/text.css?inline.cjs +2 -0
  111. package/dist/content/text/text.css?inline.cjs.map +1 -0
  112. package/dist/content/text/text.css?inline.js +6 -0
  113. package/dist/content/text/text.css?inline.js.map +1 -0
  114. package/dist/content/text/text.d.ts +55 -0
  115. package/dist/content/text/text.d.ts.map +1 -0
  116. package/dist/craftit/dist/core/internal.cjs +2 -0
  117. package/dist/craftit/dist/core/internal.cjs.map +1 -0
  118. package/dist/craftit/dist/core/internal.js +25 -0
  119. package/dist/craftit/dist/core/internal.js.map +1 -0
  120. package/dist/craftit/dist/core/runtime-bindings.cjs +2 -0
  121. package/dist/craftit/dist/core/runtime-bindings.cjs.map +1 -0
  122. package/dist/craftit/dist/core/runtime-bindings.js +38 -0
  123. package/dist/craftit/dist/core/runtime-bindings.js.map +1 -0
  124. package/dist/craftit/dist/core/runtime-lifecycle.cjs +2 -0
  125. package/dist/craftit/dist/core/runtime-lifecycle.cjs.map +1 -0
  126. package/dist/craftit/dist/core/runtime-lifecycle.js +68 -0
  127. package/dist/craftit/dist/core/runtime-lifecycle.js.map +1 -0
  128. package/dist/craftit/dist/core/runtime.cjs +1 -0
  129. package/dist/craftit/dist/core/runtime.js +2 -0
  130. package/dist/craftit/dist/core/utilities.cjs +2 -0
  131. package/dist/craftit/dist/core/utilities.cjs.map +1 -0
  132. package/dist/craftit/dist/core/utilities.js +12 -0
  133. package/dist/craftit/dist/core/utilities.js.map +1 -0
  134. package/dist/craftit/dist/directives/attr.cjs +2 -0
  135. package/dist/craftit/dist/directives/attr.cjs.map +1 -0
  136. package/dist/craftit/dist/directives/attr.js +13 -0
  137. package/dist/craftit/dist/directives/attr.js.map +1 -0
  138. package/dist/craftit/dist/directives/bind.cjs +1 -0
  139. package/dist/craftit/dist/directives/bind.js +3 -0
  140. package/dist/craftit/dist/directives/choose.cjs +1 -0
  141. package/dist/craftit/dist/directives/choose.js +1 -0
  142. package/dist/craftit/dist/directives/classes.cjs +2 -0
  143. package/dist/craftit/dist/directives/classes.cjs.map +1 -0
  144. package/dist/craftit/dist/directives/classes.js +12 -0
  145. package/dist/craftit/dist/directives/classes.js.map +1 -0
  146. package/dist/craftit/dist/directives/each.cjs +2 -0
  147. package/dist/craftit/dist/directives/each.cjs.map +1 -0
  148. package/dist/craftit/dist/directives/each.js +96 -0
  149. package/dist/craftit/dist/directives/each.js.map +1 -0
  150. package/dist/craftit/dist/directives/index.cjs +1 -0
  151. package/dist/craftit/dist/directives/index.js +12 -0
  152. package/dist/craftit/dist/directives/match.cjs +1 -0
  153. package/dist/craftit/dist/directives/match.js +1 -0
  154. package/dist/craftit/dist/directives/memo.cjs +1 -0
  155. package/dist/craftit/dist/directives/memo.js +1 -0
  156. package/dist/craftit/dist/directives/raw.cjs +1 -0
  157. package/dist/craftit/dist/directives/raw.js +2 -0
  158. package/dist/craftit/dist/directives/spread.cjs +2 -0
  159. package/dist/craftit/dist/directives/spread.cjs.map +1 -0
  160. package/dist/craftit/dist/directives/spread.js +30 -0
  161. package/dist/craftit/dist/directives/spread.js.map +1 -0
  162. package/dist/craftit/dist/directives/style.cjs +1 -0
  163. package/dist/craftit/dist/directives/style.js +1 -0
  164. package/dist/craftit/dist/directives/until.cjs +1 -0
  165. package/dist/craftit/dist/directives/until.js +1 -0
  166. package/dist/craftit/dist/directives/when.cjs +2 -0
  167. package/dist/craftit/dist/directives/when.cjs.map +1 -0
  168. package/dist/craftit/dist/directives/when.js +14 -0
  169. package/dist/craftit/dist/directives/when.js.map +1 -0
  170. package/dist/craftit/dist/labs/a11y.cjs +2 -0
  171. package/dist/craftit/dist/labs/a11y.cjs.map +1 -0
  172. package/dist/craftit/dist/labs/a11y.js +38 -0
  173. package/dist/craftit/dist/labs/a11y.js.map +1 -0
  174. package/dist/craftit/dist/labs/list.cjs +2 -0
  175. package/dist/craftit/dist/labs/list.cjs.map +1 -0
  176. package/dist/craftit/dist/labs/list.js +87 -0
  177. package/dist/craftit/dist/labs/list.js.map +1 -0
  178. package/dist/craftit/dist/labs/observers.cjs +2 -0
  179. package/dist/craftit/dist/labs/observers.cjs.map +1 -0
  180. package/dist/craftit/dist/labs/observers.js +28 -0
  181. package/dist/craftit/dist/labs/observers.js.map +1 -0
  182. package/dist/craftit/dist/labs/overlay.cjs +2 -0
  183. package/dist/craftit/dist/labs/overlay.cjs.map +1 -0
  184. package/dist/craftit/dist/labs/overlay.js +49 -0
  185. package/dist/craftit/dist/labs/overlay.js.map +1 -0
  186. package/dist/craftit/dist/labs/selectable.cjs +2 -0
  187. package/dist/craftit/dist/labs/selectable.cjs.map +1 -0
  188. package/dist/craftit/dist/labs/selectable.js +29 -0
  189. package/dist/craftit/dist/labs/selectable.js.map +1 -0
  190. package/dist/craftit/dist/labs/selection.cjs +2 -0
  191. package/dist/craftit/dist/labs/selection.cjs.map +1 -0
  192. package/dist/craftit/dist/labs/selection.js +42 -0
  193. package/dist/craftit/dist/labs/selection.js.map +1 -0
  194. package/dist/craftit/dist/labs.cjs +1 -0
  195. package/dist/craftit/dist/labs.js +6 -0
  196. package/dist/custom-elements.json +2321 -0
  197. package/dist/dialog.cjs +33 -0
  198. package/dist/dialog.cjs.map +1 -0
  199. package/dist/dialog.js +94 -0
  200. package/dist/dialog.js.map +1 -0
  201. package/dist/disclosure/accordion/accordion.css?inline.cjs +2 -0
  202. package/dist/disclosure/accordion/accordion.css?inline.cjs.map +1 -0
  203. package/dist/disclosure/accordion/accordion.css?inline.js +6 -0
  204. package/dist/disclosure/accordion/accordion.css?inline.js.map +1 -0
  205. package/dist/disclosure/accordion/accordion.d.ts +47 -0
  206. package/dist/disclosure/accordion/accordion.d.ts.map +1 -0
  207. package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs +2 -0
  208. package/dist/disclosure/accordion-item/accordion-item.css?inline.cjs.map +1 -0
  209. package/dist/disclosure/accordion-item/accordion-item.css?inline.js +6 -0
  210. package/dist/disclosure/accordion-item/accordion-item.css?inline.js.map +1 -0
  211. package/dist/disclosure/accordion-item/accordion-item.d.ts +62 -0
  212. package/dist/disclosure/accordion-item/accordion-item.d.ts.map +1 -0
  213. package/dist/disclosure/index.cjs +1 -0
  214. package/dist/disclosure/index.d.ts +11 -0
  215. package/dist/disclosure/index.d.ts.map +1 -0
  216. package/dist/disclosure/index.js +5 -0
  217. package/dist/disclosure/tab-item/tab-item.css?inline.cjs +2 -0
  218. package/dist/disclosure/tab-item/tab-item.css?inline.cjs.map +1 -0
  219. package/dist/disclosure/tab-item/tab-item.css?inline.js +6 -0
  220. package/dist/disclosure/tab-item/tab-item.css?inline.js.map +1 -0
  221. package/dist/disclosure/tab-item/tab-item.d.ts +39 -0
  222. package/dist/disclosure/tab-item/tab-item.d.ts.map +1 -0
  223. package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs +2 -0
  224. package/dist/disclosure/tab-panel/tab-panel.css?inline.cjs.map +1 -0
  225. package/dist/disclosure/tab-panel/tab-panel.css?inline.js +6 -0
  226. package/dist/disclosure/tab-panel/tab-panel.css?inline.js.map +1 -0
  227. package/dist/disclosure/tab-panel/tab-panel.d.ts +30 -0
  228. package/dist/disclosure/tab-panel/tab-panel.d.ts.map +1 -0
  229. package/dist/disclosure/tabs/tabs.css?inline.cjs +2 -0
  230. package/dist/disclosure/tabs/tabs.css?inline.cjs.map +1 -0
  231. package/dist/disclosure/tabs/tabs.css?inline.js +6 -0
  232. package/dist/disclosure/tabs/tabs.css?inline.js.map +1 -0
  233. package/dist/disclosure/tabs/tabs.d.ts +64 -0
  234. package/dist/disclosure/tabs/tabs.d.ts.map +1 -0
  235. package/dist/drawer.cjs +31 -0
  236. package/dist/drawer.cjs.map +1 -0
  237. package/dist/drawer.js +98 -0
  238. package/dist/drawer.js.map +1 -0
  239. package/dist/feedback/alert/alert.css?inline.cjs +2 -0
  240. package/dist/feedback/alert/alert.css?inline.cjs.map +1 -0
  241. package/dist/feedback/alert/alert.css?inline.js +6 -0
  242. package/dist/feedback/alert/alert.css?inline.js.map +1 -0
  243. package/dist/feedback/alert/alert.d.ts +63 -0
  244. package/dist/feedback/alert/alert.d.ts.map +1 -0
  245. package/dist/feedback/badge/badge.css?inline.cjs +2 -0
  246. package/dist/feedback/badge/badge.css?inline.cjs.map +1 -0
  247. package/dist/feedback/badge/badge.css?inline.js +6 -0
  248. package/dist/feedback/badge/badge.css?inline.js.map +1 -0
  249. package/dist/feedback/badge/badge.d.ts +67 -0
  250. package/dist/feedback/badge/badge.d.ts.map +1 -0
  251. package/dist/feedback/chip/chip.css?inline.cjs +2 -0
  252. package/dist/feedback/chip/chip.css?inline.cjs.map +1 -0
  253. package/dist/feedback/chip/chip.css?inline.js +6 -0
  254. package/dist/feedback/chip/chip.css?inline.js.map +1 -0
  255. package/dist/feedback/chip/chip.d.ts +124 -0
  256. package/dist/feedback/chip/chip.d.ts.map +1 -0
  257. package/dist/feedback/index.cjs +1 -0
  258. package/dist/feedback/index.d.ts +13 -0
  259. package/dist/feedback/index.d.ts.map +1 -0
  260. package/dist/feedback/index.js +6 -0
  261. package/dist/feedback/progress/progress.css?inline.cjs +2 -0
  262. package/dist/feedback/progress/progress.css?inline.cjs.map +1 -0
  263. package/dist/feedback/progress/progress.css?inline.js +6 -0
  264. package/dist/feedback/progress/progress.css?inline.js.map +1 -0
  265. package/dist/feedback/progress/progress.d.ts +64 -0
  266. package/dist/feedback/progress/progress.d.ts.map +1 -0
  267. package/dist/feedback/skeleton/skeleton.css?inline.cjs +2 -0
  268. package/dist/feedback/skeleton/skeleton.css?inline.cjs.map +1 -0
  269. package/dist/feedback/skeleton/skeleton.css?inline.js +6 -0
  270. package/dist/feedback/skeleton/skeleton.css?inline.js.map +1 -0
  271. package/dist/feedback/skeleton/skeleton.d.ts +61 -0
  272. package/dist/feedback/skeleton/skeleton.d.ts.map +1 -0
  273. package/dist/feedback/toast/index.d.ts +2 -0
  274. package/dist/feedback/toast/index.d.ts.map +1 -0
  275. package/dist/feedback/toast/toast.css?inline.cjs +2 -0
  276. package/dist/feedback/toast/toast.css?inline.cjs.map +1 -0
  277. package/dist/feedback/toast/toast.css?inline.js +6 -0
  278. package/dist/feedback/toast/toast.css?inline.js.map +1 -0
  279. package/dist/feedback/toast/toast.d.ts +95 -0
  280. package/dist/feedback/toast/toast.d.ts.map +1 -0
  281. package/dist/file-input.cjs +66 -0
  282. package/dist/file-input.cjs.map +1 -0
  283. package/dist/file-input.js +210 -0
  284. package/dist/file-input.js.map +1 -0
  285. package/dist/form.cjs +11 -0
  286. package/dist/form.cjs.map +1 -0
  287. package/dist/form.js +49 -0
  288. package/dist/form.js.map +1 -0
  289. package/dist/grid-item.cjs +2 -0
  290. package/dist/grid-item.cjs.map +1 -0
  291. package/dist/grid-item.js +28 -0
  292. package/dist/grid-item.js.map +1 -0
  293. package/dist/grid.cjs +2 -0
  294. package/dist/grid.cjs.map +1 -0
  295. package/dist/grid.js +90 -0
  296. package/dist/grid.js.map +1 -0
  297. package/dist/icons.cjs +176 -0
  298. package/dist/icons.cjs.map +1 -0
  299. package/dist/icons.d.ts +15 -0
  300. package/dist/icons.d.ts.map +1 -0
  301. package/dist/icons.js +181 -0
  302. package/dist/icons.js.map +1 -0
  303. package/dist/index.cjs +1 -0
  304. package/dist/index.d.ts +9 -0
  305. package/dist/index.d.ts.map +1 -0
  306. package/dist/index.js +53 -0
  307. package/dist/input.cjs +48 -0
  308. package/dist/input.cjs.map +1 -0
  309. package/dist/input.js +182 -0
  310. package/dist/input.js.map +1 -0
  311. package/dist/inputs/button/button.css?inline.cjs +2 -0
  312. package/dist/inputs/button/button.css?inline.cjs.map +1 -0
  313. package/dist/inputs/button/button.css?inline.js +6 -0
  314. package/dist/inputs/button/button.css?inline.js.map +1 -0
  315. package/dist/inputs/button/button.d.ts +73 -0
  316. package/dist/inputs/button/button.d.ts.map +1 -0
  317. package/dist/inputs/button-group/button-group.css?inline.cjs +2 -0
  318. package/dist/inputs/button-group/button-group.css?inline.cjs.map +1 -0
  319. package/dist/inputs/button-group/button-group.css?inline.js +6 -0
  320. package/dist/inputs/button-group/button-group.css?inline.js.map +1 -0
  321. package/dist/inputs/button-group/button-group.d.ts +52 -0
  322. package/dist/inputs/button-group/button-group.d.ts.map +1 -0
  323. package/dist/inputs/checkbox/checkbox.css?inline.cjs +2 -0
  324. package/dist/inputs/checkbox/checkbox.css?inline.cjs.map +1 -0
  325. package/dist/inputs/checkbox/checkbox.css?inline.js +6 -0
  326. package/dist/inputs/checkbox/checkbox.css?inline.js.map +1 -0
  327. package/dist/inputs/checkbox/checkbox.d.ts +43 -0
  328. package/dist/inputs/checkbox/checkbox.d.ts.map +1 -0
  329. package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs +2 -0
  330. package/dist/inputs/checkbox-group/checkbox-group.css?inline.cjs.map +1 -0
  331. package/dist/inputs/checkbox-group/checkbox-group.css?inline.js +6 -0
  332. package/dist/inputs/checkbox-group/checkbox-group.css?inline.js.map +1 -0
  333. package/dist/inputs/checkbox-group/checkbox-group.d.ts +56 -0
  334. package/dist/inputs/checkbox-group/checkbox-group.d.ts.map +1 -0
  335. package/dist/inputs/combobox/combobox-options.cjs +2 -0
  336. package/dist/inputs/combobox/combobox-options.cjs.map +1 -0
  337. package/dist/inputs/combobox/combobox-options.d.ts +7 -0
  338. package/dist/inputs/combobox/combobox-options.d.ts.map +1 -0
  339. package/dist/inputs/combobox/combobox-options.js +36 -0
  340. package/dist/inputs/combobox/combobox-options.js.map +1 -0
  341. package/dist/inputs/combobox/combobox-virtualizer.cjs +2 -0
  342. package/dist/inputs/combobox/combobox-virtualizer.cjs.map +1 -0
  343. package/dist/inputs/combobox/combobox-virtualizer.d.ts +20 -0
  344. package/dist/inputs/combobox/combobox-virtualizer.d.ts.map +1 -0
  345. package/dist/inputs/combobox/combobox-virtualizer.js +71 -0
  346. package/dist/inputs/combobox/combobox-virtualizer.js.map +1 -0
  347. package/dist/inputs/combobox/combobox.css?inline.cjs +2 -0
  348. package/dist/inputs/combobox/combobox.css?inline.cjs.map +1 -0
  349. package/dist/inputs/combobox/combobox.css?inline.js +6 -0
  350. package/dist/inputs/combobox/combobox.css?inline.js.map +1 -0
  351. package/dist/inputs/combobox/combobox.d.ts +28 -0
  352. package/dist/inputs/combobox/combobox.d.ts.map +1 -0
  353. package/dist/inputs/combobox/combobox.types.d.ts +36 -0
  354. package/dist/inputs/combobox/combobox.types.d.ts.map +1 -0
  355. package/dist/inputs/file-input/file-input.css?inline.cjs +2 -0
  356. package/dist/inputs/file-input/file-input.css?inline.cjs.map +1 -0
  357. package/dist/inputs/file-input/file-input.css?inline.js +6 -0
  358. package/dist/inputs/file-input/file-input.css?inline.js.map +1 -0
  359. package/dist/inputs/file-input/file-input.d.ts +94 -0
  360. package/dist/inputs/file-input/file-input.d.ts.map +1 -0
  361. package/dist/inputs/form/form.css?inline.cjs +2 -0
  362. package/dist/inputs/form/form.css?inline.cjs.map +1 -0
  363. package/dist/inputs/form/form.css?inline.js +6 -0
  364. package/dist/inputs/form/form.css?inline.js.map +1 -0
  365. package/dist/inputs/form/form.d.ts +61 -0
  366. package/dist/inputs/form/form.d.ts.map +1 -0
  367. package/dist/inputs/index.cjs +1 -0
  368. package/dist/inputs/index.d.ts +38 -0
  369. package/dist/inputs/index.d.ts.map +1 -0
  370. package/dist/inputs/index.js +18 -0
  371. package/dist/inputs/input/input.css?inline.cjs +2 -0
  372. package/dist/inputs/input/input.css?inline.cjs.map +1 -0
  373. package/dist/inputs/input/input.css?inline.js +6 -0
  374. package/dist/inputs/input/input.css?inline.js.map +1 -0
  375. package/dist/inputs/input/input.d.ts +82 -0
  376. package/dist/inputs/input/input.d.ts.map +1 -0
  377. package/dist/inputs/number-input/number-input.css?inline.cjs +2 -0
  378. package/dist/inputs/number-input/number-input.css?inline.cjs.map +1 -0
  379. package/dist/inputs/number-input/number-input.css?inline.js +6 -0
  380. package/dist/inputs/number-input/number-input.css?inline.js.map +1 -0
  381. package/dist/inputs/number-input/number-input.d.ts +76 -0
  382. package/dist/inputs/number-input/number-input.d.ts.map +1 -0
  383. package/dist/inputs/otp-input/otp-input.css?inline.cjs +2 -0
  384. package/dist/inputs/otp-input/otp-input.css?inline.cjs.map +1 -0
  385. package/dist/inputs/otp-input/otp-input.css?inline.js +6 -0
  386. package/dist/inputs/otp-input/otp-input.css?inline.js.map +1 -0
  387. package/dist/inputs/otp-input/otp-input.d.ts +71 -0
  388. package/dist/inputs/otp-input/otp-input.d.ts.map +1 -0
  389. package/dist/inputs/radio/radio.css?inline.cjs +2 -0
  390. package/dist/inputs/radio/radio.css?inline.cjs.map +1 -0
  391. package/dist/inputs/radio/radio.css?inline.js +6 -0
  392. package/dist/inputs/radio/radio.css?inline.js.map +1 -0
  393. package/dist/inputs/radio/radio.d.ts +41 -0
  394. package/dist/inputs/radio/radio.d.ts.map +1 -0
  395. package/dist/inputs/radio-group/radio-group.css?inline.cjs +2 -0
  396. package/dist/inputs/radio-group/radio-group.css?inline.cjs.map +1 -0
  397. package/dist/inputs/radio-group/radio-group.css?inline.js +6 -0
  398. package/dist/inputs/radio-group/radio-group.css?inline.js.map +1 -0
  399. package/dist/inputs/radio-group/radio-group.d.ts +61 -0
  400. package/dist/inputs/radio-group/radio-group.d.ts.map +1 -0
  401. package/dist/inputs/rating/rating.css?inline.cjs +2 -0
  402. package/dist/inputs/rating/rating.css?inline.cjs.map +1 -0
  403. package/dist/inputs/rating/rating.css?inline.js +6 -0
  404. package/dist/inputs/rating/rating.css?inline.js.map +1 -0
  405. package/dist/inputs/rating/rating.d.ts +48 -0
  406. package/dist/inputs/rating/rating.d.ts.map +1 -0
  407. package/dist/inputs/select/select.css?inline.cjs +2 -0
  408. package/dist/inputs/select/select.css?inline.cjs.map +1 -0
  409. package/dist/inputs/select/select.css?inline.js +6 -0
  410. package/dist/inputs/select/select.css?inline.js.map +1 -0
  411. package/dist/inputs/select/select.d.ts +79 -0
  412. package/dist/inputs/select/select.d.ts.map +1 -0
  413. package/dist/inputs/shared/base-props.d.ts +39 -0
  414. package/dist/inputs/shared/base-props.d.ts.map +1 -0
  415. package/dist/inputs/shared/composables/index.cjs +1 -0
  416. package/dist/inputs/shared/composables/index.d.ts +3 -0
  417. package/dist/inputs/shared/composables/index.d.ts.map +1 -0
  418. package/dist/inputs/shared/composables/index.js +2 -0
  419. package/dist/inputs/shared/composables/use-text-field.cjs +2 -0
  420. package/dist/inputs/shared/composables/use-text-field.cjs.map +1 -0
  421. package/dist/inputs/shared/composables/use-text-field.d.ts +33 -0
  422. package/dist/inputs/shared/composables/use-text-field.d.ts.map +1 -0
  423. package/dist/inputs/shared/composables/use-text-field.js +41 -0
  424. package/dist/inputs/shared/composables/use-text-field.js.map +1 -0
  425. package/dist/inputs/shared/composables/use-toggle-field.cjs +2 -0
  426. package/dist/inputs/shared/composables/use-toggle-field.cjs.map +1 -0
  427. package/dist/inputs/shared/composables/use-toggle-field.d.ts +18 -0
  428. package/dist/inputs/shared/composables/use-toggle-field.d.ts.map +1 -0
  429. package/dist/inputs/shared/composables/use-toggle-field.js +26 -0
  430. package/dist/inputs/shared/composables/use-toggle-field.js.map +1 -0
  431. package/dist/inputs/shared/design-presets.cjs +2 -0
  432. package/dist/inputs/shared/design-presets.cjs.map +1 -0
  433. package/dist/inputs/shared/design-presets.d.ts +97 -0
  434. package/dist/inputs/shared/design-presets.d.ts.map +1 -0
  435. package/dist/inputs/shared/design-presets.js +92 -0
  436. package/dist/inputs/shared/design-presets.js.map +1 -0
  437. package/dist/inputs/shared/dom-sync/dropdown.cjs +2 -0
  438. package/dist/inputs/shared/dom-sync/dropdown.cjs.map +1 -0
  439. package/dist/inputs/shared/dom-sync/dropdown.d.ts +7 -0
  440. package/dist/inputs/shared/dom-sync/dropdown.d.ts.map +1 -0
  441. package/dist/inputs/shared/dom-sync/dropdown.js +30 -0
  442. package/dist/inputs/shared/dom-sync/dropdown.js.map +1 -0
  443. package/dist/inputs/shared/dom-sync/field-sync.cjs +2 -0
  444. package/dist/inputs/shared/dom-sync/field-sync.cjs.map +1 -0
  445. package/dist/inputs/shared/dom-sync/field-sync.d.ts +36 -0
  446. package/dist/inputs/shared/dom-sync/field-sync.d.ts.map +1 -0
  447. package/dist/inputs/shared/dom-sync/field-sync.js +37 -0
  448. package/dist/inputs/shared/dom-sync/field-sync.js.map +1 -0
  449. package/dist/inputs/shared/dom-sync/form-context.cjs +2 -0
  450. package/dist/inputs/shared/dom-sync/form-context.cjs.map +1 -0
  451. package/dist/inputs/shared/dom-sync/form-context.d.ts +18 -0
  452. package/dist/inputs/shared/dom-sync/form-context.d.ts.map +1 -0
  453. package/dist/inputs/shared/dom-sync/form-context.js +20 -0
  454. package/dist/inputs/shared/dom-sync/form-context.js.map +1 -0
  455. package/dist/inputs/shared/dom-sync/index.cjs +1 -0
  456. package/dist/inputs/shared/dom-sync/index.d.ts +5 -0
  457. package/dist/inputs/shared/dom-sync/index.d.ts.map +1 -0
  458. package/dist/inputs/shared/dom-sync/index.js +4 -0
  459. package/dist/inputs/shared/dom-sync/label-sync.cjs +2 -0
  460. package/dist/inputs/shared/dom-sync/label-sync.cjs.map +1 -0
  461. package/dist/inputs/shared/dom-sync/label-sync.d.ts +16 -0
  462. package/dist/inputs/shared/dom-sync/label-sync.d.ts.map +1 -0
  463. package/dist/inputs/shared/dom-sync/label-sync.js +12 -0
  464. package/dist/inputs/shared/dom-sync/label-sync.js.map +1 -0
  465. package/dist/inputs/shared/form-context.cjs +2 -0
  466. package/dist/inputs/shared/form-context.cjs.map +1 -0
  467. package/dist/inputs/shared/form-context.d.ts +19 -0
  468. package/dist/inputs/shared/form-context.d.ts.map +1 -0
  469. package/dist/inputs/shared/form-context.js +7 -0
  470. package/dist/inputs/shared/form-context.js.map +1 -0
  471. package/dist/inputs/shared/utils/assistive-text.cjs +2 -0
  472. package/dist/inputs/shared/utils/assistive-text.cjs.map +1 -0
  473. package/dist/inputs/shared/utils/assistive-text.d.ts +24 -0
  474. package/dist/inputs/shared/utils/assistive-text.d.ts.map +1 -0
  475. package/dist/inputs/shared/utils/assistive-text.js +37 -0
  476. package/dist/inputs/shared/utils/assistive-text.js.map +1 -0
  477. package/dist/inputs/shared/utils/choice-change.cjs +2 -0
  478. package/dist/inputs/shared/utils/choice-change.cjs.map +1 -0
  479. package/dist/inputs/shared/utils/choice-change.d.ts +8 -0
  480. package/dist/inputs/shared/utils/choice-change.d.ts.map +1 -0
  481. package/dist/inputs/shared/utils/choice-change.js +13 -0
  482. package/dist/inputs/shared/utils/choice-change.js.map +1 -0
  483. package/dist/inputs/shared/utils/controlled-csv.cjs +2 -0
  484. package/dist/inputs/shared/utils/controlled-csv.cjs.map +1 -0
  485. package/dist/inputs/shared/utils/controlled-csv.d.ts +8 -0
  486. package/dist/inputs/shared/utils/controlled-csv.d.ts.map +1 -0
  487. package/dist/inputs/shared/utils/controlled-csv.js +15 -0
  488. package/dist/inputs/shared/utils/controlled-csv.js.map +1 -0
  489. package/dist/inputs/shared/utils/field-values.cjs +2 -0
  490. package/dist/inputs/shared/utils/field-values.cjs.map +1 -0
  491. package/dist/inputs/shared/utils/field-values.d.ts +5 -0
  492. package/dist/inputs/shared/utils/field-values.d.ts.map +1 -0
  493. package/dist/inputs/shared/utils/field-values.js +13 -0
  494. package/dist/inputs/shared/utils/field-values.js.map +1 -0
  495. package/dist/inputs/shared/utils/index.d.ts +5 -0
  496. package/dist/inputs/shared/utils/index.d.ts.map +1 -0
  497. package/dist/inputs/shared/validation/index.cjs +2 -0
  498. package/dist/inputs/shared/validation/index.cjs.map +1 -0
  499. package/dist/inputs/shared/validation/index.d.ts +14 -0
  500. package/dist/inputs/shared/validation/index.d.ts.map +1 -0
  501. package/dist/inputs/shared/validation/index.js +13 -0
  502. package/dist/inputs/shared/validation/index.js.map +1 -0
  503. package/dist/inputs/slider/slider.css?inline.cjs +2 -0
  504. package/dist/inputs/slider/slider.css?inline.cjs.map +1 -0
  505. package/dist/inputs/slider/slider.css?inline.js +6 -0
  506. package/dist/inputs/slider/slider.css?inline.js.map +1 -0
  507. package/dist/inputs/slider/slider.d.ts +82 -0
  508. package/dist/inputs/slider/slider.d.ts.map +1 -0
  509. package/dist/inputs/switch/switch.css?inline.cjs +2 -0
  510. package/dist/inputs/switch/switch.css?inline.cjs.map +1 -0
  511. package/dist/inputs/switch/switch.css?inline.js +6 -0
  512. package/dist/inputs/switch/switch.css?inline.js.map +1 -0
  513. package/dist/inputs/switch/switch.d.ts +40 -0
  514. package/dist/inputs/switch/switch.d.ts.map +1 -0
  515. package/dist/inputs/textarea/textarea.css?inline.cjs +2 -0
  516. package/dist/inputs/textarea/textarea.css?inline.cjs.map +1 -0
  517. package/dist/inputs/textarea/textarea.css?inline.js +6 -0
  518. package/dist/inputs/textarea/textarea.css?inline.js.map +1 -0
  519. package/dist/inputs/textarea/textarea.d.ts +57 -0
  520. package/dist/inputs/textarea/textarea.d.ts.map +1 -0
  521. package/dist/layout/box/box.css?inline.cjs +2 -0
  522. package/dist/layout/box/box.css?inline.cjs.map +1 -0
  523. package/dist/layout/box/box.css?inline.js +6 -0
  524. package/dist/layout/box/box.css?inline.js.map +1 -0
  525. package/dist/layout/box/box.d.ts +52 -0
  526. package/dist/layout/box/box.d.ts.map +1 -0
  527. package/dist/layout/grid/grid.css?inline.cjs +2 -0
  528. package/dist/layout/grid/grid.css?inline.cjs.map +1 -0
  529. package/dist/layout/grid/grid.css?inline.js +6 -0
  530. package/dist/layout/grid/grid.css?inline.js.map +1 -0
  531. package/dist/layout/grid/grid.d.ts +105 -0
  532. package/dist/layout/grid/grid.d.ts.map +1 -0
  533. package/dist/layout/grid-item/grid-item.css?inline.cjs +2 -0
  534. package/dist/layout/grid-item/grid-item.css?inline.cjs.map +1 -0
  535. package/dist/layout/grid-item/grid-item.css?inline.js +6 -0
  536. package/dist/layout/grid-item/grid-item.css?inline.js.map +1 -0
  537. package/dist/layout/grid-item/grid-item.d.ts +47 -0
  538. package/dist/layout/grid-item/grid-item.d.ts.map +1 -0
  539. package/dist/layout/index.cjs +1 -0
  540. package/dist/layout/index.d.ts +9 -0
  541. package/dist/layout/index.d.ts.map +1 -0
  542. package/dist/layout/index.js +4 -0
  543. package/dist/layout/sidebar/sidebar-group.css?inline.cjs +2 -0
  544. package/dist/layout/sidebar/sidebar-group.css?inline.cjs.map +1 -0
  545. package/dist/layout/sidebar/sidebar-group.css?inline.js +6 -0
  546. package/dist/layout/sidebar/sidebar-group.css?inline.js.map +1 -0
  547. package/dist/layout/sidebar/sidebar-item.css?inline.cjs +2 -0
  548. package/dist/layout/sidebar/sidebar-item.css?inline.cjs.map +1 -0
  549. package/dist/layout/sidebar/sidebar-item.css?inline.js +6 -0
  550. package/dist/layout/sidebar/sidebar-item.css?inline.js.map +1 -0
  551. package/dist/layout/sidebar/sidebar.css?inline.cjs +2 -0
  552. package/dist/layout/sidebar/sidebar.css?inline.cjs.map +1 -0
  553. package/dist/layout/sidebar/sidebar.css?inline.js +6 -0
  554. package/dist/layout/sidebar/sidebar.css?inline.js.map +1 -0
  555. package/dist/layout/sidebar/sidebar.d.ts +190 -0
  556. package/dist/layout/sidebar/sidebar.d.ts.map +1 -0
  557. package/dist/menu.cjs +133 -0
  558. package/dist/menu.cjs.map +1 -0
  559. package/dist/menu.js +296 -0
  560. package/dist/menu.js.map +1 -0
  561. package/dist/number-input.cjs +55 -0
  562. package/dist/number-input.cjs.map +1 -0
  563. package/dist/number-input.js +158 -0
  564. package/dist/number-input.js.map +1 -0
  565. package/dist/otp-input.cjs +22 -0
  566. package/dist/otp-input.cjs.map +1 -0
  567. package/dist/otp-input.js +120 -0
  568. package/dist/otp-input.js.map +1 -0
  569. package/dist/overlay/dialog/dialog.css?inline.cjs +2 -0
  570. package/dist/overlay/dialog/dialog.css?inline.cjs.map +1 -0
  571. package/dist/overlay/dialog/dialog.css?inline.js +6 -0
  572. package/dist/overlay/dialog/dialog.css?inline.js.map +1 -0
  573. package/dist/overlay/dialog/dialog.d.ts +98 -0
  574. package/dist/overlay/dialog/dialog.d.ts.map +1 -0
  575. package/dist/overlay/drawer/drawer.css?inline.cjs +2 -0
  576. package/dist/overlay/drawer/drawer.css?inline.cjs.map +1 -0
  577. package/dist/overlay/drawer/drawer.css?inline.js +6 -0
  578. package/dist/overlay/drawer/drawer.css?inline.js.map +1 -0
  579. package/dist/overlay/drawer/drawer.d.ts +98 -0
  580. package/dist/overlay/drawer/drawer.d.ts.map +1 -0
  581. package/dist/overlay/index.cjs +1 -0
  582. package/dist/overlay/index.d.ts +11 -0
  583. package/dist/overlay/index.d.ts.map +1 -0
  584. package/dist/overlay/index.js +5 -0
  585. package/dist/overlay/menu/menu.css?inline.cjs +2 -0
  586. package/dist/overlay/menu/menu.css?inline.cjs.map +1 -0
  587. package/dist/overlay/menu/menu.css?inline.js +6 -0
  588. package/dist/overlay/menu/menu.css?inline.js.map +1 -0
  589. package/dist/overlay/menu/menu.d.ts +45 -0
  590. package/dist/overlay/menu/menu.d.ts.map +1 -0
  591. package/dist/overlay/popover/popover.css?inline.cjs +2 -0
  592. package/dist/overlay/popover/popover.css?inline.cjs.map +1 -0
  593. package/dist/overlay/popover/popover.css?inline.js +6 -0
  594. package/dist/overlay/popover/popover.css?inline.js.map +1 -0
  595. package/dist/overlay/popover/popover.d.ts +56 -0
  596. package/dist/overlay/popover/popover.d.ts.map +1 -0
  597. package/dist/overlay/tooltip/tooltip.css?inline.cjs +2 -0
  598. package/dist/overlay/tooltip/tooltip.css?inline.cjs.map +1 -0
  599. package/dist/overlay/tooltip/tooltip.css?inline.js +6 -0
  600. package/dist/overlay/tooltip/tooltip.css?inline.js.map +1 -0
  601. package/dist/overlay/tooltip/tooltip.d.ts +55 -0
  602. package/dist/overlay/tooltip/tooltip.d.ts.map +1 -0
  603. package/dist/pagination.cjs +102 -0
  604. package/dist/pagination.cjs.map +1 -0
  605. package/dist/pagination.js +168 -0
  606. package/dist/pagination.js.map +1 -0
  607. package/dist/popover.cjs +16 -0
  608. package/dist/popover.cjs.map +1 -0
  609. package/dist/popover.js +110 -0
  610. package/dist/popover.js.map +1 -0
  611. package/dist/progress.cjs +51 -0
  612. package/dist/progress.cjs.map +1 -0
  613. package/dist/progress.js +90 -0
  614. package/dist/progress.js.map +1 -0
  615. package/dist/radio-group.cjs +20 -0
  616. package/dist/radio-group.cjs.map +1 -0
  617. package/dist/radio-group.js +104 -0
  618. package/dist/radio-group.js.map +1 -0
  619. package/dist/radio.cjs +16 -0
  620. package/dist/radio.cjs.map +1 -0
  621. package/dist/radio.js +135 -0
  622. package/dist/radio.js.map +1 -0
  623. package/dist/rating.cjs +37 -0
  624. package/dist/rating.cjs.map +1 -0
  625. package/dist/rating.js +123 -0
  626. package/dist/rating.js.map +1 -0
  627. package/dist/select.cjs +77 -0
  628. package/dist/select.cjs.map +1 -0
  629. package/dist/select.js +317 -0
  630. package/dist/select.js.map +1 -0
  631. package/dist/separator.cjs +26 -0
  632. package/dist/separator.cjs.map +1 -0
  633. package/dist/separator.js +46 -0
  634. package/dist/separator.js.map +1 -0
  635. package/dist/sidebar.cjs +69 -0
  636. package/dist/sidebar.cjs.map +1 -0
  637. package/dist/sidebar.js +202 -0
  638. package/dist/sidebar.js.map +1 -0
  639. package/dist/skeleton.cjs +10 -0
  640. package/dist/skeleton.cjs.map +1 -0
  641. package/dist/skeleton.js +56 -0
  642. package/dist/skeleton.js.map +1 -0
  643. package/dist/slider.cjs +24 -0
  644. package/dist/slider.cjs.map +1 -0
  645. package/dist/slider.js +209 -0
  646. package/dist/slider.js.map +1 -0
  647. package/dist/stateit/dist/computed.cjs +2 -0
  648. package/dist/stateit/dist/computed.cjs.map +1 -0
  649. package/dist/stateit/dist/computed.js +65 -0
  650. package/dist/stateit/dist/computed.js.map +1 -0
  651. package/dist/stateit/dist/effect.cjs +2 -0
  652. package/dist/stateit/dist/effect.cjs.map +1 -0
  653. package/dist/stateit/dist/effect.js +53 -0
  654. package/dist/stateit/dist/effect.js.map +1 -0
  655. package/dist/stateit/dist/index.cjs +1 -0
  656. package/dist/stateit/dist/index.js +5 -0
  657. package/dist/stateit/dist/runtime.cjs +2 -0
  658. package/dist/stateit/dist/runtime.cjs.map +1 -0
  659. package/dist/stateit/dist/runtime.js +43 -0
  660. package/dist/stateit/dist/runtime.js.map +1 -0
  661. package/dist/stateit/dist/signal.cjs +2 -0
  662. package/dist/stateit/dist/signal.cjs.map +1 -0
  663. package/dist/stateit/dist/signal.js +27 -0
  664. package/dist/stateit/dist/signal.js.map +1 -0
  665. package/dist/stateit/dist/store.cjs +2 -0
  666. package/dist/stateit/dist/store.cjs.map +1 -0
  667. package/dist/stateit/dist/store.js +17 -0
  668. package/dist/stateit/dist/store.js.map +1 -0
  669. package/dist/stateit/dist/types.cjs +2 -0
  670. package/dist/stateit/dist/types.cjs.map +1 -0
  671. package/dist/stateit/dist/types.js +6 -0
  672. package/dist/stateit/dist/types.js.map +1 -0
  673. package/dist/styles/animation.css +87 -0
  674. package/dist/styles/index.cjs +2 -0
  675. package/dist/styles/index.cjs.map +1 -0
  676. package/dist/styles/index.d.ts +48 -0
  677. package/dist/styles/index.d.ts.map +1 -0
  678. package/dist/styles/index.js +26 -0
  679. package/dist/styles/index.js.map +1 -0
  680. package/dist/styles/layer.css +18 -0
  681. package/dist/styles/mixins/accessibility.css.cjs +15 -0
  682. package/dist/styles/mixins/accessibility.css.cjs.map +1 -0
  683. package/dist/styles/mixins/accessibility.css.d.ts +46 -0
  684. package/dist/styles/mixins/accessibility.css.d.ts.map +1 -0
  685. package/dist/styles/mixins/accessibility.css.js +20 -0
  686. package/dist/styles/mixins/accessibility.css.js.map +1 -0
  687. package/dist/styles/mixins/animation.css.cjs +71 -0
  688. package/dist/styles/mixins/animation.css.cjs.map +1 -0
  689. package/dist/styles/mixins/animation.css.d.ts +22 -0
  690. package/dist/styles/mixins/animation.css.d.ts.map +1 -0
  691. package/dist/styles/mixins/animation.css.js +90 -0
  692. package/dist/styles/mixins/animation.css.js.map +1 -0
  693. package/dist/styles/mixins/shape.css.cjs +72 -0
  694. package/dist/styles/mixins/shape.css.cjs.map +1 -0
  695. package/dist/styles/mixins/shape.css.d.ts +97 -0
  696. package/dist/styles/mixins/shape.css.d.ts.map +1 -0
  697. package/dist/styles/mixins/shape.css.js +104 -0
  698. package/dist/styles/mixins/shape.css.js.map +1 -0
  699. package/dist/styles/mixins/states.css.cjs +18 -0
  700. package/dist/styles/mixins/states.css.cjs.map +1 -0
  701. package/dist/styles/mixins/states.css.d.ts +61 -0
  702. package/dist/styles/mixins/states.css.d.ts.map +1 -0
  703. package/dist/styles/mixins/states.css.js +26 -0
  704. package/dist/styles/mixins/states.css.js.map +1 -0
  705. package/dist/styles/mixins/theme.css.cjs +146 -0
  706. package/dist/styles/mixins/theme.css.cjs.map +1 -0
  707. package/dist/styles/mixins/theme.css.d.ts +93 -0
  708. package/dist/styles/mixins/theme.css.d.ts.map +1 -0
  709. package/dist/styles/mixins/theme.css.js +151 -0
  710. package/dist/styles/mixins/theme.css.js.map +1 -0
  711. package/dist/styles/mixins/variants.css.cjs +84 -0
  712. package/dist/styles/mixins/variants.css.cjs.map +1 -0
  713. package/dist/styles/mixins/variants.css.d.ts +22 -0
  714. package/dist/styles/mixins/variants.css.d.ts.map +1 -0
  715. package/dist/styles/mixins/variants.css.js +89 -0
  716. package/dist/styles/mixins/variants.css.js.map +1 -0
  717. package/dist/styles/preflight.css +237 -0
  718. package/dist/styles/styles.css +5 -0
  719. package/dist/styles/theme.css +457 -0
  720. package/dist/switch.cjs +16 -0
  721. package/dist/switch.cjs.map +1 -0
  722. package/dist/switch.js +82 -0
  723. package/dist/switch.js.map +1 -0
  724. package/dist/tab-item.cjs +17 -0
  725. package/dist/tab-item.cjs.map +1 -0
  726. package/dist/tab-item.js +57 -0
  727. package/dist/tab-item.js.map +1 -0
  728. package/dist/tab-panel.cjs +14 -0
  729. package/dist/tab-panel.cjs.map +1 -0
  730. package/dist/tab-panel.js +51 -0
  731. package/dist/tab-panel.js.map +1 -0
  732. package/dist/table.cjs +2 -0
  733. package/dist/table.cjs.map +1 -0
  734. package/dist/table.js +101 -0
  735. package/dist/table.js.map +1 -0
  736. package/dist/tabs.cjs +17 -0
  737. package/dist/tabs.cjs.map +1 -0
  738. package/dist/tabs.js +98 -0
  739. package/dist/tabs.js.map +1 -0
  740. package/dist/text.cjs +2 -0
  741. package/dist/text.cjs.map +1 -0
  742. package/dist/text.js +30 -0
  743. package/dist/text.js.map +1 -0
  744. package/dist/textarea.cjs +16 -0
  745. package/dist/textarea.cjs.map +1 -0
  746. package/dist/textarea.js +122 -0
  747. package/dist/textarea.js.map +1 -0
  748. package/dist/toast.cjs +63 -0
  749. package/dist/toast.cjs.map +1 -0
  750. package/dist/toast.js +221 -0
  751. package/dist/toast.js.map +1 -0
  752. package/dist/tooltip.cjs +15 -0
  753. package/dist/tooltip.cjs.map +1 -0
  754. package/dist/tooltip.js +111 -0
  755. package/dist/tooltip.js.map +1 -0
  756. package/dist/types/index.d.ts +7 -0
  757. package/dist/types/index.d.ts.map +1 -0
  758. package/dist/types/shared.d.ts +120 -0
  759. package/dist/types/shared.d.ts.map +1 -0
  760. package/dist/utils/animation.cjs +2 -0
  761. package/dist/utils/animation.cjs.map +1 -0
  762. package/dist/utils/animation.d.ts +2 -0
  763. package/dist/utils/animation.d.ts.map +1 -0
  764. package/dist/utils/animation.js +29 -0
  765. package/dist/utils/animation.js.map +1 -0
  766. package/dist/utils/background-lock.cjs +2 -0
  767. package/dist/utils/background-lock.cjs.map +1 -0
  768. package/dist/utils/background-lock.d.ts +20 -0
  769. package/dist/utils/background-lock.d.ts.map +1 -0
  770. package/dist/utils/background-lock.js +21 -0
  771. package/dist/utils/background-lock.js.map +1 -0
  772. package/dist/utils/index.cjs +1 -0
  773. package/dist/utils/index.d.ts +4 -0
  774. package/dist/utils/index.d.ts.map +1 -0
  775. package/dist/utils/index.js +3 -0
  776. package/dist/utils/use-overlay.cjs +2 -0
  777. package/dist/utils/use-overlay.cjs.map +1 -0
  778. package/dist/utils/use-overlay.d.ts +26 -0
  779. package/dist/utils/use-overlay.d.ts.map +1 -0
  780. package/dist/utils/use-overlay.js +34 -0
  781. package/dist/utils/use-overlay.js.map +1 -0
  782. package/dist/virtualit/dist/dom/dom.cjs +2 -0
  783. package/dist/virtualit/dist/dom/dom.cjs.map +1 -0
  784. package/dist/virtualit/dist/dom/dom.js +47 -0
  785. package/dist/virtualit/dist/dom/dom.js.map +1 -0
  786. package/dist/virtualit/dist/dom.cjs +1 -0
  787. package/dist/virtualit/dist/dom.js +2 -0
  788. package/dist/virtualit/dist/virtualit.cjs +2 -0
  789. package/dist/virtualit/dist/virtualit.cjs.map +1 -0
  790. package/dist/virtualit/dist/virtualit.js +129 -0
  791. package/dist/virtualit/dist/virtualit.js.map +1 -0
  792. package/package.json +282 -0
@@ -0,0 +1,2321 @@
1
+ {
2
+ "schemaVersion": "1.0.0",
3
+ "readme": "",
4
+ "modules": [
5
+ {
6
+ "kind": "javascript-module",
7
+ "path": "src/icons.ts",
8
+ "declarations": [
9
+ {
10
+ "kind": "variable",
11
+ "name": "closeIcon",
12
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <path d=\"M18 6 6 18M6 6l12 12\" /> </svg> `"
13
+ },
14
+ {
15
+ "kind": "variable",
16
+ "name": "checkIcon",
17
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <path d=\"M20 6 9 17l-5-5\" /> </svg> `"
18
+ },
19
+ {
20
+ "kind": "variable",
21
+ "name": "checkIconHTML",
22
+ "type": {
23
+ "text": "string"
24
+ },
25
+ "default": "'<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"><path d=\"M20 6 9 17l-5-5\"/></svg>'",
26
+ "description": "Used inline as an innerHTML string (e.g. for imperatively built option lists)."
27
+ },
28
+ {
29
+ "kind": "variable",
30
+ "name": "chevronDownIcon",
31
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <path d=\"m6 9 6 6 6-6\" /> </svg> `"
32
+ },
33
+ {
34
+ "kind": "variable",
35
+ "name": "chevronLeftIcon",
36
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <polyline points=\"15 18 9 12 15 6\"></polyline> </svg> `"
37
+ },
38
+ {
39
+ "kind": "variable",
40
+ "name": "chevronRightIcon",
41
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <polyline points=\"9 18 15 12 9 6\"></polyline> </svg> `"
42
+ },
43
+ {
44
+ "kind": "variable",
45
+ "name": "eyeIcon",
46
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"14\" height=\"14\" aria-hidden=\"true\"> <path d=\"M2 12s3-7 10-7 10 7 10 7-3 7-10 7-10-7-10-7Z\" /> <circle cx=\"12\" cy=\"12\" r=\"3\" /> </svg> `"
47
+ },
48
+ {
49
+ "kind": "variable",
50
+ "name": "eyeOffIcon",
51
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" width=\"14\" height=\"14\" aria-hidden=\"true\"> <path d=\"M9.88 9.88a3 3 0 1 0 4.24 4.24\" /> <path d=\"M10.73 5.08A10.43 10.43 0 0 1 12 5c7 0 10 7 10 7a13.16 13.16 0 0 1-1.67 2.68\" /> <path d=\"M6.61 6.61A13.526 13.526 0 0 0 2 12s3 7 10 7a9.74 9.74 0 0 0 5.39-1.61\" /> <line x1=\"2\" x2=\"22\" y1=\"2\" y2=\"22\" /> </svg> `"
52
+ },
53
+ {
54
+ "kind": "variable",
55
+ "name": "clearIcon",
56
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <path d=\"M18 6 6 18M6 6l12 12\" /> </svg> `"
57
+ },
58
+ {
59
+ "kind": "variable",
60
+ "name": "uploadIcon",
61
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"36\" height=\"36\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <polyline points=\"16 16 12 12 8 16\" /> <line x1=\"12\" y1=\"12\" x2=\"12\" y2=\"21\" /> <path d=\"M20.39 18.39A5 5 0 0 0 18 9h-1.26A8 8 0 1 0 3 16.3\" /> </svg> `"
62
+ },
63
+ {
64
+ "kind": "variable",
65
+ "name": "fileIcon",
66
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.75\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"> <path d=\"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z\" /> <polyline points=\"14 2 14 8 20 8\" /> </svg> `"
67
+ },
68
+ {
69
+ "kind": "variable",
70
+ "name": "minusIcon",
71
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" aria-hidden=\"true\"> <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" /> </svg> `"
72
+ },
73
+ {
74
+ "kind": "variable",
75
+ "name": "plusIcon",
76
+ "default": "html` <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"14\" height=\"14\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" aria-hidden=\"true\"> <line x1=\"12\" y1=\"5\" x2=\"12\" y2=\"19\" /> <line x1=\"5\" y1=\"12\" x2=\"19\" y2=\"12\" /> </svg> `"
77
+ }
78
+ ],
79
+ "exports": [
80
+ {
81
+ "kind": "js",
82
+ "name": "closeIcon",
83
+ "declaration": {
84
+ "name": "closeIcon",
85
+ "module": "src/icons.ts"
86
+ }
87
+ },
88
+ {
89
+ "kind": "js",
90
+ "name": "checkIcon",
91
+ "declaration": {
92
+ "name": "checkIcon",
93
+ "module": "src/icons.ts"
94
+ }
95
+ },
96
+ {
97
+ "kind": "js",
98
+ "name": "checkIconHTML",
99
+ "declaration": {
100
+ "name": "checkIconHTML",
101
+ "module": "src/icons.ts"
102
+ }
103
+ },
104
+ {
105
+ "kind": "js",
106
+ "name": "chevronDownIcon",
107
+ "declaration": {
108
+ "name": "chevronDownIcon",
109
+ "module": "src/icons.ts"
110
+ }
111
+ },
112
+ {
113
+ "kind": "js",
114
+ "name": "chevronLeftIcon",
115
+ "declaration": {
116
+ "name": "chevronLeftIcon",
117
+ "module": "src/icons.ts"
118
+ }
119
+ },
120
+ {
121
+ "kind": "js",
122
+ "name": "chevronRightIcon",
123
+ "declaration": {
124
+ "name": "chevronRightIcon",
125
+ "module": "src/icons.ts"
126
+ }
127
+ },
128
+ {
129
+ "kind": "js",
130
+ "name": "eyeIcon",
131
+ "declaration": {
132
+ "name": "eyeIcon",
133
+ "module": "src/icons.ts"
134
+ }
135
+ },
136
+ {
137
+ "kind": "js",
138
+ "name": "eyeOffIcon",
139
+ "declaration": {
140
+ "name": "eyeOffIcon",
141
+ "module": "src/icons.ts"
142
+ }
143
+ },
144
+ {
145
+ "kind": "js",
146
+ "name": "clearIcon",
147
+ "declaration": {
148
+ "name": "clearIcon",
149
+ "module": "src/icons.ts"
150
+ }
151
+ },
152
+ {
153
+ "kind": "js",
154
+ "name": "uploadIcon",
155
+ "declaration": {
156
+ "name": "uploadIcon",
157
+ "module": "src/icons.ts"
158
+ }
159
+ },
160
+ {
161
+ "kind": "js",
162
+ "name": "fileIcon",
163
+ "declaration": {
164
+ "name": "fileIcon",
165
+ "module": "src/icons.ts"
166
+ }
167
+ },
168
+ {
169
+ "kind": "js",
170
+ "name": "minusIcon",
171
+ "declaration": {
172
+ "name": "minusIcon",
173
+ "module": "src/icons.ts"
174
+ }
175
+ },
176
+ {
177
+ "kind": "js",
178
+ "name": "plusIcon",
179
+ "declaration": {
180
+ "name": "plusIcon",
181
+ "module": "src/icons.ts"
182
+ }
183
+ }
184
+ ]
185
+ },
186
+ {
187
+ "kind": "javascript-module",
188
+ "path": "src/content/avatar/avatar.ts",
189
+ "declarations": [
190
+ {
191
+ "kind": "variable",
192
+ "name": "AVATAR_TAG",
193
+ "description": "Displays a user avatar: image → initials → generic fallback icon, in that priority order."
194
+ },
195
+ {
196
+ "kind": "variable",
197
+ "name": "AVATAR_GROUP_TAG",
198
+ "description": "Groups multiple `bit-avatar` elements in a stacked, overlapping row."
199
+ }
200
+ ],
201
+ "exports": [
202
+ {
203
+ "kind": "js",
204
+ "name": "AVATAR_TAG",
205
+ "declaration": {
206
+ "name": "AVATAR_TAG",
207
+ "module": "src/content/avatar/avatar.ts"
208
+ }
209
+ },
210
+ {
211
+ "kind": "js",
212
+ "name": "AVATAR_GROUP_TAG",
213
+ "declaration": {
214
+ "name": "AVATAR_GROUP_TAG",
215
+ "module": "src/content/avatar/avatar.ts"
216
+ }
217
+ }
218
+ ]
219
+ },
220
+ {
221
+ "kind": "javascript-module",
222
+ "path": "src/content/breadcrumb/breadcrumb.ts",
223
+ "declarations": [
224
+ {
225
+ "kind": "variable",
226
+ "name": "BREADCRUMB_ITEM_TAG",
227
+ "description": "`bit-breadcrumb-item` — A single crumb within a `<bit-breadcrumb>` list."
228
+ },
229
+ {
230
+ "kind": "variable",
231
+ "name": "BREADCRUMB_TAG",
232
+ "description": "`bit-breadcrumb` — Accessible navigation breadcrumb.\n\nWrap `<bit-breadcrumb-item>` elements as children.\nThe last/current item should have `active` attribute."
233
+ }
234
+ ],
235
+ "exports": [
236
+ {
237
+ "kind": "js",
238
+ "name": "BREADCRUMB_ITEM_TAG",
239
+ "declaration": {
240
+ "name": "BREADCRUMB_ITEM_TAG",
241
+ "module": "src/content/breadcrumb/breadcrumb.ts"
242
+ }
243
+ },
244
+ {
245
+ "kind": "js",
246
+ "name": "BREADCRUMB_TAG",
247
+ "declaration": {
248
+ "name": "BREADCRUMB_TAG",
249
+ "module": "src/content/breadcrumb/breadcrumb.ts"
250
+ }
251
+ }
252
+ ]
253
+ },
254
+ {
255
+ "kind": "javascript-module",
256
+ "path": "src/content/card/card.ts",
257
+ "declarations": [
258
+ {
259
+ "kind": "variable",
260
+ "name": "CARD_TAG",
261
+ "description": "A versatile card container with semantic slots for media, header, body, footer, and actions."
262
+ }
263
+ ],
264
+ "exports": [
265
+ {
266
+ "kind": "js",
267
+ "name": "CARD_TAG",
268
+ "declaration": {
269
+ "name": "CARD_TAG",
270
+ "module": "src/content/card/card.ts"
271
+ }
272
+ }
273
+ ]
274
+ },
275
+ {
276
+ "kind": "javascript-module",
277
+ "path": "src/content/pagination/pagination.ts",
278
+ "declarations": [
279
+ {
280
+ "kind": "variable",
281
+ "name": "PAGINATION_TAG",
282
+ "description": "Page-based navigation control."
283
+ }
284
+ ],
285
+ "exports": [
286
+ {
287
+ "kind": "js",
288
+ "name": "PAGINATION_TAG",
289
+ "declaration": {
290
+ "name": "PAGINATION_TAG",
291
+ "module": "src/content/pagination/pagination.ts"
292
+ }
293
+ }
294
+ ]
295
+ },
296
+ {
297
+ "kind": "javascript-module",
298
+ "path": "src/content/separator/separator.ts",
299
+ "declarations": [
300
+ {
301
+ "kind": "variable",
302
+ "name": "SEPARATOR_TAG",
303
+ "description": "A simple visual divider between sections of content."
304
+ }
305
+ ],
306
+ "exports": [
307
+ {
308
+ "kind": "js",
309
+ "name": "SEPARATOR_TAG",
310
+ "declaration": {
311
+ "name": "SEPARATOR_TAG",
312
+ "module": "src/content/separator/separator.ts"
313
+ }
314
+ }
315
+ ]
316
+ },
317
+ {
318
+ "kind": "javascript-module",
319
+ "path": "src/content/table/table.ts",
320
+ "declarations": [
321
+ {
322
+ "kind": "class",
323
+ "description": "",
324
+ "name": "anonymous_0",
325
+ "superclass": {
326
+ "name": "HTMLElement"
327
+ },
328
+ "tagName": "bit-tr",
329
+ "customElement": true
330
+ },
331
+ {
332
+ "kind": "class",
333
+ "description": "",
334
+ "name": "anonymous_1",
335
+ "superclass": {
336
+ "name": "HTMLElement"
337
+ },
338
+ "tagName": "bit-th",
339
+ "customElement": true
340
+ },
341
+ {
342
+ "kind": "class",
343
+ "description": "",
344
+ "name": "anonymous_2",
345
+ "superclass": {
346
+ "name": "HTMLElement"
347
+ },
348
+ "tagName": "bit-td",
349
+ "customElement": true
350
+ },
351
+ {
352
+ "kind": "variable",
353
+ "name": "TR_TAG",
354
+ "type": {
355
+ "text": "string"
356
+ },
357
+ "default": "'bit-tr'"
358
+ },
359
+ {
360
+ "kind": "variable",
361
+ "name": "TH_TAG",
362
+ "type": {
363
+ "text": "string"
364
+ },
365
+ "default": "'bit-th'"
366
+ },
367
+ {
368
+ "kind": "variable",
369
+ "name": "TD_TAG",
370
+ "type": {
371
+ "text": "string"
372
+ },
373
+ "default": "'bit-td'"
374
+ },
375
+ {
376
+ "kind": "variable",
377
+ "name": "TABLE_TAG",
378
+ "description": "Accessible data table. Compose with `<bit-tr>`, `<bit-th>`, and `<bit-td>`.\nAdd `head` to header rows and `foot` to footer rows."
379
+ }
380
+ ],
381
+ "exports": [
382
+ {
383
+ "kind": "custom-element-definition",
384
+ "name": "bit-tr",
385
+ "declaration": {
386
+ "name": "anonymous_0",
387
+ "module": "src/content/table/table.ts"
388
+ }
389
+ },
390
+ {
391
+ "kind": "custom-element-definition",
392
+ "name": "bit-th",
393
+ "declaration": {
394
+ "name": "anonymous_1",
395
+ "module": "src/content/table/table.ts"
396
+ }
397
+ },
398
+ {
399
+ "kind": "custom-element-definition",
400
+ "name": "bit-td",
401
+ "declaration": {
402
+ "name": "anonymous_2",
403
+ "module": "src/content/table/table.ts"
404
+ }
405
+ },
406
+ {
407
+ "kind": "js",
408
+ "name": "TR_TAG",
409
+ "declaration": {
410
+ "name": "TR_TAG",
411
+ "module": "src/content/table/table.ts"
412
+ }
413
+ },
414
+ {
415
+ "kind": "js",
416
+ "name": "TH_TAG",
417
+ "declaration": {
418
+ "name": "TH_TAG",
419
+ "module": "src/content/table/table.ts"
420
+ }
421
+ },
422
+ {
423
+ "kind": "js",
424
+ "name": "TD_TAG",
425
+ "declaration": {
426
+ "name": "TD_TAG",
427
+ "module": "src/content/table/table.ts"
428
+ }
429
+ },
430
+ {
431
+ "kind": "js",
432
+ "name": "TABLE_TAG",
433
+ "declaration": {
434
+ "name": "TABLE_TAG",
435
+ "module": "src/content/table/table.ts"
436
+ }
437
+ }
438
+ ]
439
+ },
440
+ {
441
+ "kind": "javascript-module",
442
+ "path": "src/content/text/text.ts",
443
+ "declarations": [
444
+ {
445
+ "kind": "variable",
446
+ "name": "TEXT_TAG",
447
+ "description": "A typography component with semantic variants and responsive sizing."
448
+ }
449
+ ],
450
+ "exports": [
451
+ {
452
+ "kind": "js",
453
+ "name": "TEXT_TAG",
454
+ "declaration": {
455
+ "name": "TEXT_TAG",
456
+ "module": "src/content/text/text.ts"
457
+ }
458
+ }
459
+ ]
460
+ },
461
+ {
462
+ "kind": "javascript-module",
463
+ "path": "src/disclosure/accordion/accordion.ts",
464
+ "declarations": [
465
+ {
466
+ "kind": "variable",
467
+ "name": "ACCORDION_CTX",
468
+ "description": "Injection key for the accordion context."
469
+ },
470
+ {
471
+ "kind": "variable",
472
+ "name": "ACCORDION_TAG",
473
+ "description": "A container for accordion items with single or multiple selection modes."
474
+ }
475
+ ],
476
+ "exports": [
477
+ {
478
+ "kind": "js",
479
+ "name": "ACCORDION_CTX",
480
+ "declaration": {
481
+ "name": "ACCORDION_CTX",
482
+ "module": "src/disclosure/accordion/accordion.ts"
483
+ }
484
+ },
485
+ {
486
+ "kind": "js",
487
+ "name": "ACCORDION_TAG",
488
+ "declaration": {
489
+ "name": "ACCORDION_TAG",
490
+ "module": "src/disclosure/accordion/accordion.ts"
491
+ }
492
+ }
493
+ ]
494
+ },
495
+ {
496
+ "kind": "javascript-module",
497
+ "path": "src/disclosure/accordion-item/accordion-item.ts",
498
+ "declarations": [
499
+ {
500
+ "kind": "variable",
501
+ "name": "ACCORDION_ITEM_TAG",
502
+ "description": "An individual accordion item with expand/collapse functionality using native details/summary."
503
+ }
504
+ ],
505
+ "exports": [
506
+ {
507
+ "kind": "js",
508
+ "name": "ACCORDION_ITEM_TAG",
509
+ "declaration": {
510
+ "name": "ACCORDION_ITEM_TAG",
511
+ "module": "src/disclosure/accordion-item/accordion-item.ts"
512
+ }
513
+ }
514
+ ]
515
+ },
516
+ {
517
+ "kind": "javascript-module",
518
+ "path": "src/disclosure/tab-item/tab-item.ts",
519
+ "declarations": [
520
+ {
521
+ "kind": "variable",
522
+ "name": "TAB_ITEM_TAG",
523
+ "description": "Individual tab trigger. Must be placed in the `tabs` slot of `bit-tabs`."
524
+ }
525
+ ],
526
+ "exports": [
527
+ {
528
+ "kind": "js",
529
+ "name": "TAB_ITEM_TAG",
530
+ "declaration": {
531
+ "name": "TAB_ITEM_TAG",
532
+ "module": "src/disclosure/tab-item/tab-item.ts"
533
+ }
534
+ }
535
+ ]
536
+ },
537
+ {
538
+ "kind": "javascript-module",
539
+ "path": "src/disclosure/tab-panel/tab-panel.ts",
540
+ "declarations": [
541
+ {
542
+ "kind": "variable",
543
+ "name": "TAB_PANEL_TAG",
544
+ "description": "Content panel for a tab. Shown when its `value` matches the selected tab."
545
+ }
546
+ ],
547
+ "exports": [
548
+ {
549
+ "kind": "js",
550
+ "name": "TAB_PANEL_TAG",
551
+ "declaration": {
552
+ "name": "TAB_PANEL_TAG",
553
+ "module": "src/disclosure/tab-panel/tab-panel.ts"
554
+ }
555
+ }
556
+ ]
557
+ },
558
+ {
559
+ "kind": "javascript-module",
560
+ "path": "src/disclosure/tabs/tabs.ts",
561
+ "declarations": [
562
+ {
563
+ "kind": "variable",
564
+ "name": "TABS_CTX",
565
+ "description": "Injection key for the tabs context."
566
+ },
567
+ {
568
+ "kind": "variable",
569
+ "name": "TABS_TAG",
570
+ "description": "Tabs container. Manages tab selection and syncs state to child tab items and panels."
571
+ }
572
+ ],
573
+ "exports": [
574
+ {
575
+ "kind": "js",
576
+ "name": "TABS_CTX",
577
+ "declaration": {
578
+ "name": "TABS_CTX",
579
+ "module": "src/disclosure/tabs/tabs.ts"
580
+ }
581
+ },
582
+ {
583
+ "kind": "js",
584
+ "name": "TABS_TAG",
585
+ "declaration": {
586
+ "name": "TABS_TAG",
587
+ "module": "src/disclosure/tabs/tabs.ts"
588
+ }
589
+ }
590
+ ]
591
+ },
592
+ {
593
+ "kind": "javascript-module",
594
+ "path": "src/feedback/alert/alert.ts",
595
+ "declarations": [
596
+ {
597
+ "kind": "variable",
598
+ "name": "ALERT_TAG",
599
+ "description": "A status/feedback banner with optional heading, icon slot, and dismiss button."
600
+ }
601
+ ],
602
+ "exports": [
603
+ {
604
+ "kind": "js",
605
+ "name": "ALERT_TAG",
606
+ "declaration": {
607
+ "name": "ALERT_TAG",
608
+ "module": "src/feedback/alert/alert.ts"
609
+ }
610
+ }
611
+ ]
612
+ },
613
+ {
614
+ "kind": "javascript-module",
615
+ "path": "src/feedback/badge/badge.ts",
616
+ "declarations": [
617
+ {
618
+ "kind": "variable",
619
+ "name": "BADGE_TAG",
620
+ "description": "A compact badge/chip for counts, statuses, and labels.\nSupports numeric counts with overflow, dot mode, and icon slots."
621
+ }
622
+ ],
623
+ "exports": [
624
+ {
625
+ "kind": "js",
626
+ "name": "BADGE_TAG",
627
+ "declaration": {
628
+ "name": "BADGE_TAG",
629
+ "module": "src/feedback/badge/badge.ts"
630
+ }
631
+ }
632
+ ]
633
+ },
634
+ {
635
+ "kind": "javascript-module",
636
+ "path": "src/feedback/chip/chip.ts",
637
+ "declarations": [
638
+ {
639
+ "kind": "variable",
640
+ "name": "CHIP_TAG",
641
+ "description": "A compact, styled label element. Supports icons, a remove button, colors, sizes, and variants.\nCommonly used to represent tags, filters, or selected options in a multiselect field."
642
+ }
643
+ ],
644
+ "exports": [
645
+ {
646
+ "kind": "js",
647
+ "name": "CHIP_TAG",
648
+ "declaration": {
649
+ "name": "CHIP_TAG",
650
+ "module": "src/feedback/chip/chip.ts"
651
+ }
652
+ }
653
+ ]
654
+ },
655
+ {
656
+ "kind": "javascript-module",
657
+ "path": "src/feedback/progress/progress.ts",
658
+ "declarations": [
659
+ {
660
+ "kind": "variable",
661
+ "name": "PROGRESS_TAG",
662
+ "description": "A linear progress bar for conveying operation progress.\nSupports determinate (known value) and indeterminate (unknown duration) modes."
663
+ }
664
+ ],
665
+ "exports": [
666
+ {
667
+ "kind": "js",
668
+ "name": "PROGRESS_TAG",
669
+ "declaration": {
670
+ "name": "PROGRESS_TAG",
671
+ "module": "src/feedback/progress/progress.ts"
672
+ }
673
+ }
674
+ ]
675
+ },
676
+ {
677
+ "kind": "javascript-module",
678
+ "path": "src/feedback/skeleton/skeleton.ts",
679
+ "declarations": [
680
+ {
681
+ "kind": "variable",
682
+ "name": "SKELETON_TAG",
683
+ "description": "A shimmer placeholder that represents loading content.\nControl dimensions via the `--skeleton-width` and `--skeleton-height` CSS custom properties,\nor via `width` / `height` inline styles."
684
+ }
685
+ ],
686
+ "exports": [
687
+ {
688
+ "kind": "js",
689
+ "name": "SKELETON_TAG",
690
+ "declaration": {
691
+ "name": "SKELETON_TAG",
692
+ "module": "src/feedback/skeleton/skeleton.ts"
693
+ }
694
+ }
695
+ ]
696
+ },
697
+ {
698
+ "kind": "javascript-module",
699
+ "path": "src/feedback/toast/toast.ts",
700
+ "declarations": [
701
+ {
702
+ "kind": "variable",
703
+ "name": "TOAST_TAG"
704
+ },
705
+ {
706
+ "kind": "variable",
707
+ "name": "id"
708
+ },
709
+ {
710
+ "kind": "variable",
711
+ "name": "toast",
712
+ "type": {
713
+ "text": "object"
714
+ },
715
+ "default": "{ /** Add a toast and return its id */ add(item: ToastItem): string { return getHost().add(item); }, /** Dismiss all toasts (animated) */ clear(): void { getHost().clear(); }, /** Configure the auto-created container. Call before the first `add()` if the defaults need to change. */ configure(config: BitToastProps): void { const el = getHost(); if (config.position) el.setAttribute('position', config.position); if (config.max != null) el.setAttribute('max', String(config.max)); }, /** * Shows a loading toast tied to a promise. * Updates to success/error when the promise settles. */ async promise<T>( promise: Promise<T>, messages: { error: string | ((err: unknown) => string); loading: string; success: string | ((data: T) => string); }, ): Promise<T> { const id = toast.add({ color: 'primary', dismissible: false, duration: 0, message: messages.loading }); try { const data = await promise; toast.update(id, { color: 'success', dismissible: true, duration: 5000, message: typeof messages.success === 'function' ? messages.success(data) : messages.success, }); return data; } catch (err) { toast.update(id, { color: 'error', dismissible: true, duration: 5000, message: typeof messages.error === 'function' ? messages.error(err) : messages.error, }); throw err; } }, /** Dismiss a toast by id */ remove(id: string): void { getHost().dismiss(id); }, /** Update an existing toast in-place */ update(id: string, updates: Partial<ToastItem>): void { getHost().update(id, updates); }, }",
716
+ "description": "Singleton service for triggering toasts without direct DOM references."
717
+ }
718
+ ],
719
+ "exports": [
720
+ {
721
+ "kind": "js",
722
+ "name": "TOAST_TAG",
723
+ "declaration": {
724
+ "name": "TOAST_TAG",
725
+ "module": "src/feedback/toast/toast.ts"
726
+ }
727
+ },
728
+ {
729
+ "kind": "js",
730
+ "name": "toast",
731
+ "declaration": {
732
+ "name": "toast",
733
+ "module": "src/feedback/toast/toast.ts"
734
+ }
735
+ }
736
+ ]
737
+ },
738
+ {
739
+ "kind": "javascript-module",
740
+ "path": "src/inputs/button/button.ts",
741
+ "declarations": [
742
+ {
743
+ "kind": "variable",
744
+ "name": "BUTTON_TAG",
745
+ "description": "A customizable button component with multiple variants, sizes, and states.\nSupports icons, loading states, and special effects like frost and rainbow."
746
+ }
747
+ ],
748
+ "exports": [
749
+ {
750
+ "kind": "js",
751
+ "name": "BUTTON_TAG",
752
+ "declaration": {
753
+ "name": "BUTTON_TAG",
754
+ "module": "src/inputs/button/button.ts"
755
+ }
756
+ }
757
+ ]
758
+ },
759
+ {
760
+ "kind": "javascript-module",
761
+ "path": "src/inputs/button-group/button-group.ts",
762
+ "declarations": [
763
+ {
764
+ "kind": "variable",
765
+ "name": "BUTTON_GROUP_CTX",
766
+ "description": "Injection key for the button-group context."
767
+ },
768
+ {
769
+ "kind": "variable",
770
+ "name": "BUTTON_GROUP_TAG",
771
+ "description": "A container for grouping buttons with coordinated styling and layout."
772
+ }
773
+ ],
774
+ "exports": [
775
+ {
776
+ "kind": "js",
777
+ "name": "BUTTON_GROUP_CTX",
778
+ "declaration": {
779
+ "name": "BUTTON_GROUP_CTX",
780
+ "module": "src/inputs/button-group/button-group.ts"
781
+ }
782
+ },
783
+ {
784
+ "kind": "js",
785
+ "name": "BUTTON_GROUP_TAG",
786
+ "declaration": {
787
+ "name": "BUTTON_GROUP_TAG",
788
+ "module": "src/inputs/button-group/button-group.ts"
789
+ }
790
+ }
791
+ ]
792
+ },
793
+ {
794
+ "kind": "javascript-module",
795
+ "path": "src/inputs/checkbox/checkbox.ts",
796
+ "declarations": [
797
+ {
798
+ "kind": "variable",
799
+ "name": "CHECKBOX_TAG",
800
+ "description": "A customizable checkbox component with theme colors, sizes, and indeterminate state support."
801
+ }
802
+ ],
803
+ "exports": [
804
+ {
805
+ "kind": "js",
806
+ "name": "CHECKBOX_TAG",
807
+ "declaration": {
808
+ "name": "CHECKBOX_TAG",
809
+ "module": "src/inputs/checkbox/checkbox.ts"
810
+ }
811
+ }
812
+ ]
813
+ },
814
+ {
815
+ "kind": "javascript-module",
816
+ "path": "src/inputs/checkbox-group/checkbox-group.ts",
817
+ "declarations": [
818
+ {
819
+ "kind": "variable",
820
+ "name": "CHECKBOX_GROUP_CTX"
821
+ },
822
+ {
823
+ "kind": "variable",
824
+ "name": "CHECKBOX_GROUP_TAG",
825
+ "description": "A fieldset wrapper that groups `bit-checkbox` elements, provides shared\n`color` and `size` via context, and manages multi-value selection state."
826
+ }
827
+ ],
828
+ "exports": [
829
+ {
830
+ "kind": "js",
831
+ "name": "CHECKBOX_GROUP_CTX",
832
+ "declaration": {
833
+ "name": "CHECKBOX_GROUP_CTX",
834
+ "module": "src/inputs/checkbox-group/checkbox-group.ts"
835
+ }
836
+ },
837
+ {
838
+ "kind": "js",
839
+ "name": "CHECKBOX_GROUP_TAG",
840
+ "declaration": {
841
+ "name": "CHECKBOX_GROUP_TAG",
842
+ "module": "src/inputs/checkbox-group/checkbox-group.ts"
843
+ }
844
+ }
845
+ ]
846
+ },
847
+ {
848
+ "kind": "javascript-module",
849
+ "path": "src/inputs/combobox/combobox-options.ts",
850
+ "declarations": [
851
+ {
852
+ "kind": "function",
853
+ "name": "parseSlottedOptions",
854
+ "return": {
855
+ "type": {
856
+ "text": "ComboboxOptionItem[]"
857
+ }
858
+ },
859
+ "parameters": [
860
+ {
861
+ "name": "elements",
862
+ "type": {
863
+ "text": "Element[]"
864
+ }
865
+ }
866
+ ]
867
+ },
868
+ {
869
+ "kind": "function",
870
+ "name": "backfillSelectionLabels",
871
+ "return": {
872
+ "type": {
873
+ "text": "ComboboxSelectionItem[]"
874
+ }
875
+ },
876
+ "parameters": [
877
+ {
878
+ "name": "selectedValues",
879
+ "type": {
880
+ "text": "ComboboxSelectionItem[]"
881
+ }
882
+ },
883
+ {
884
+ "name": "allOptions",
885
+ "type": {
886
+ "text": "ComboboxOptionItem[]"
887
+ }
888
+ }
889
+ ]
890
+ },
891
+ {
892
+ "kind": "function",
893
+ "name": "filterOptions",
894
+ "return": {
895
+ "type": {
896
+ "text": "ComboboxOptionItem[]"
897
+ }
898
+ },
899
+ "parameters": [
900
+ {
901
+ "name": "options",
902
+ "type": {
903
+ "text": "ComboboxOptionItem[]"
904
+ }
905
+ },
906
+ {
907
+ "name": "query",
908
+ "type": {
909
+ "text": "string"
910
+ }
911
+ },
912
+ {
913
+ "name": "noFilter",
914
+ "type": {
915
+ "text": "boolean"
916
+ }
917
+ }
918
+ ]
919
+ },
920
+ {
921
+ "kind": "function",
922
+ "name": "getCreatableLabel",
923
+ "return": {
924
+ "type": {
925
+ "text": "string"
926
+ }
927
+ },
928
+ "parameters": [
929
+ {
930
+ "name": "query",
931
+ "type": {
932
+ "text": "string"
933
+ }
934
+ },
935
+ {
936
+ "name": "creatable",
937
+ "type": {
938
+ "text": "boolean"
939
+ }
940
+ },
941
+ {
942
+ "name": "filteredOptions",
943
+ "type": {
944
+ "text": "ComboboxOptionItem[]"
945
+ }
946
+ }
947
+ ]
948
+ },
949
+ {
950
+ "kind": "function",
951
+ "name": "makeCreatableValue",
952
+ "return": {
953
+ "type": {
954
+ "text": "string"
955
+ }
956
+ },
957
+ "parameters": [
958
+ {
959
+ "name": "label",
960
+ "type": {
961
+ "text": "string"
962
+ }
963
+ }
964
+ ]
965
+ }
966
+ ],
967
+ "exports": [
968
+ {
969
+ "kind": "js",
970
+ "name": "parseSlottedOptions",
971
+ "declaration": {
972
+ "name": "parseSlottedOptions",
973
+ "module": "src/inputs/combobox/combobox-options.ts"
974
+ }
975
+ },
976
+ {
977
+ "kind": "js",
978
+ "name": "backfillSelectionLabels",
979
+ "declaration": {
980
+ "name": "backfillSelectionLabels",
981
+ "module": "src/inputs/combobox/combobox-options.ts"
982
+ }
983
+ },
984
+ {
985
+ "kind": "js",
986
+ "name": "filterOptions",
987
+ "declaration": {
988
+ "name": "filterOptions",
989
+ "module": "src/inputs/combobox/combobox-options.ts"
990
+ }
991
+ },
992
+ {
993
+ "kind": "js",
994
+ "name": "getCreatableLabel",
995
+ "declaration": {
996
+ "name": "getCreatableLabel",
997
+ "module": "src/inputs/combobox/combobox-options.ts"
998
+ }
999
+ },
1000
+ {
1001
+ "kind": "js",
1002
+ "name": "makeCreatableValue",
1003
+ "declaration": {
1004
+ "name": "makeCreatableValue",
1005
+ "module": "src/inputs/combobox/combobox-options.ts"
1006
+ }
1007
+ }
1008
+ ]
1009
+ },
1010
+ {
1011
+ "kind": "javascript-module",
1012
+ "path": "src/inputs/combobox/combobox-virtualizer.ts",
1013
+ "declarations": [
1014
+ {
1015
+ "kind": "function",
1016
+ "name": "createComboboxVirtualizer",
1017
+ "parameters": [
1018
+ {
1019
+ "name": "deps",
1020
+ "type": {
1021
+ "text": "ComboboxVirtualizerDeps"
1022
+ }
1023
+ }
1024
+ ]
1025
+ }
1026
+ ],
1027
+ "exports": [
1028
+ {
1029
+ "kind": "js",
1030
+ "name": "createComboboxVirtualizer",
1031
+ "declaration": {
1032
+ "name": "createComboboxVirtualizer",
1033
+ "module": "src/inputs/combobox/combobox-virtualizer.ts"
1034
+ }
1035
+ }
1036
+ ]
1037
+ },
1038
+ {
1039
+ "kind": "javascript-module",
1040
+ "path": "src/inputs/combobox/combobox.ts",
1041
+ "declarations": [
1042
+ {
1043
+ "kind": "variable",
1044
+ "name": "COMBOBOX_OPTION_TAG",
1045
+ "description": "`bit-combobox-option` — A child element of `<bit-combobox>` that represents one option."
1046
+ },
1047
+ {
1048
+ "kind": "variable",
1049
+ "name": "COMBOBOX_TAG",
1050
+ "default": "defineComponent<BitComboboxProps, BitComboboxEvents>({ formAssociated: true, props: { clearable: { default: false }, color: { default: undefined }, creatable: { default: false }, disabled: { default: false }, error: { default: '', omit: true }, fullwidth: { default: false }, helper: { default: '' }, label: { default: '' }, 'label-placement': { default: 'inset' }, loading: { default: false }, multiple: { default: false }, name: { default: '' }, 'no-filter': { default: false }, options: typed<ComboboxOptionItem[] | undefined>(undefined, { reflect: false }), placeholder: { default: '' }, rounded: { default: undefined }, size: { default: undefined }, value: { default: '' }, variant: { default: undefined }, }, setup({ emit, host, props }) { const { fieldId: comboId, helperId, labelId } = createFormIds('combobox', props.name.value); // Label refs const labelOutsideRef = ref<HTMLLabelElement>(); const labelInsetRef = ref<HTMLLabelElement>(); const formCtx = inject(FORM_CTX, undefined); // Signal for the form value const formValue = signal(String(props.value.value ?? '')); const fd = defineField( { disabled: computed(() => Boolean(props.disabled.value) || Boolean(formCtx?.disabled.value)), value: formValue }, { onReset: () => { formValue.value = ''; selectedValues.value = []; query.value = ''; }, }, ); const { triggerValidation } = createFieldValidation(formCtx, fd); // ── State ──────────────────────────────────────────────────────────────── const isOpen = signal(false); const query = signal(''); const isDisabled = computed(() => Boolean(props.disabled.value)); const isMultiple = computed(() => Boolean(props.multiple.value)); const isCreatable = computed(() => Boolean(props.creatable.value)); const isNoFilter = computed(() => Boolean(props['no-filter'].value)); watch( isOpen, (value) => { host.toggleAttribute('open', ((value) => Boolean(value))(value)); }, { immediate: true }, ); // Multi-value state: always an array; single mode uses at most one entry const selectedValues = signal<ComboboxSelectionItem[]>( props.value.value ? [{ label: '', value: props.value.value }] : [], ); const focusedIndex = signal(-1); const selectionController = createSelectionControl<ComboboxSelectionItem>({ findByKey: (value) => { const existing = selectedValues.value.find((item) => item.value === value); if (existing) return existing; // If not found in selection, try to find in all options to get label const option = allOptions.value.find((o) => o.value === value); if (option) return { label: option.label, value: option.value }; // Fallback: key is the value return { label: '', value }; }, getMode: () => (isMultiple.value ? 'multiple' : 'single'), getSelected: () => selectedValues.value, keyExtractor: (item) => item.value, setSelected: (next) => { selectedValues.value = next; }, }); // Sync external value prop changes to selectedValues (controlled mode) const syncControlledValue = (nextValue: unknown): void => { const state = computeControlledCsvState(String(nextValue ?? '')); if (state.isEmpty) { selectionController.clear(); query.value = ''; formValue.value = ''; return; } if (isMultiple.value) { selectedValues.value = state.values.map((value) => ({ label: '', value })); formValue.value = state.formValue; return; } // Single mode: one value selectedValues.value = [{ label: '', value: state.firstValue }]; formValue.value = state.firstValue; }; watch(props.value, (newValue) => syncControlledValue(newValue), { immediate: true }); watch(props.multiple, () => syncControlledValue(props.value.value)); // Convenience getter for single-select const selectedValue = computed(() => selectedValues.value[0]?.value ?? ''); const hasValue = computed(() => selectedValues.value.length > 0); const hasLabel = computed(() => !!props.label.value); let inputEl: HTMLInputElement | null = null; let fieldEl: HTMLElement | null = null; let dropdownEl: HTMLElement | null = null; let listboxEl: HTMLElement | null = null; function getLiveInput(): HTMLInputElement | null { const liveInput = host.shadowRoot?.querySelector<HTMLInputElement>('input[role=\"combobox\"]') ?? null; if (liveInput) inputEl = liveInput; return liveInput ?? inputEl; } function focusLiveInput() { getLiveInput()?.focus(); } // ── Options ────────────────────────────────────────────────────────────── const slottedOptions = signal<ComboboxOptionItem[]>([]); const createdOptions = signal<ComboboxOptionItem[]>([]); const isLoading = computed(() => Boolean(props.loading.value)); // Merged options: explicit prop value overrides slotted options. const allOptions = computed<ComboboxOptionItem[]>(() => { const base = props.options.value ?? slottedOptions.value; if (createdOptions.value.length === 0) return base; return [...base, ...createdOptions.value]; }); function readOptions(elements: Element[] = Array.from(host.children)) { slottedOptions.value = parseSlottedOptions(elements); // Backfill labels for any already-selected values that were set before options loaded if (selectedValues.value.length > 0) { selectedValues.value = backfillSelectionLabels(selectedValues.value, allOptions.value); // Also sync the query in single mode if (!isMultiple.value && selectedValues.value.length === 1) { query.value = selectedValues.value[0]?.label ?? ''; } } } const filteredOptions = computed<ComboboxOptionItem[]>(() => { return filterOptions(allOptions.value, query.value, isNoFilter.value); }); // \"Create\" option shown when creatable + query doesn't match any existing option const creatableLabel = computed(() => { return getCreatableLabel(query.value, isCreatable.value, filteredOptions.value); }); const assistiveText = computed(() => resolveMergedAssistiveText(props.error.value, props.helper.value)); const inputPlaceholder = computed(() => isMultiple.value && selectedValues.value.length > 0 ? '' : props.placeholder.value || '', ); const selectedValueItems = computed(() => selectedValues.value.map((s) => s.value)); const selectedLabelItems = computed(() => selectedValues.value.map((selection) => { if (selection.label) return selection.label; return allOptions.value.find((option) => option.value === selection.value)?.label ?? selection.value; }), ); function syncMultipleFormValue() { formValue.value = selectionController.serialize(','); } function emitChange(originalEvent?: Event) { emit('change', createChoiceChangeDetail(selectedValueItems.value, selectedLabelItems.value, originalEvent)); } function removeChip(event: Event): void { event.stopPropagation(); const value = (event as CustomEvent<{ value?: string }>).detail?.value; if (value === undefined) return; selectionController.remove(value); syncMultipleFormValue(); emitChange(event); triggerValidation('change'); } // ── Positioning (shared positioner) ────────────────────────────────────── const positioner = createDropdownPositioner( () => fieldEl, () => dropdownEl, ); const listNavigation = createListNavigation<ComboboxOptionItem>({ getIndex: () => focusedIndex.value, getItems: () => filteredOptions.value, isItemDisabled: (option) => option.disabled, setIndex: (index) => { focusedIndex.value = index; scrollFocusedIntoView(); }, }); const overlay = createOverlayControl({ getBoundaryElement: () => host, getPanelElement: () => dropdownEl, getTriggerElement: () => inputEl, isDisabled: () => isDisabled.value, isOpen: () => isOpen.value, positioner: { floating: () => dropdownEl, reference: () => fieldEl, update: () => positioner.updatePosition(), }, restoreFocus: false, setOpen: (next, _context) => { isOpen.value = next; if (!next) listNavigation.reset(); }, }); const applyNavigationResult = (result: ListNavigationResult): void => { if (result.reason === 'empty' || result.reason === 'no-enabled-item') { focusedIndex.value = -1; } }; // ── Open / Close ───────────────────────────────────────────────────────── function open(clearFilter = true, reason: OverlayOpenReason = 'programmatic') { if (clearFilter) query.value = ''; overlay.open({ reason }); } function close(reason: 'escape' | 'programmatic' | 'outside-click' | 'toggle' = 'programmatic') { overlay.close({ reason, restoreFocus: false }); // In single mode restore the query to the selected label (or clear) if (!isMultiple.value) { const match = allOptions.value.find((o) => o.value === selectedValue.value); query.value = match?.label ?? ''; } else { query.value = ''; } triggerValidation('blur'); } // ── Selection ──────────────────────────────────────────────────────────── function selectOption(opt: ComboboxOptionItem, originalEvent?: Event) { if (opt.disabled) return; if (isMultiple.value) { selectionController.toggle(opt.value); syncMultipleFormValue(); query.value = ''; emitChange(originalEvent); triggerValidation('change'); // Keep dropdown open in multiple mode focusLiveInput(); requestAnimationFrame(() => focusLiveInput()); } else { selectionController.select(opt.value); query.value = opt.label; formValue.value = opt.value; emitChange(originalEvent); triggerValidation('change'); close(); focusLiveInput(); } } function clearValue(e: Event) { e.stopPropagation(); selectionController.clear(); query.value = ''; formValue.value = ''; emitChange(e); triggerValidation('change'); focusLiveInput(); } function handleInput(e: Event) { const target = e.target as HTMLInputElement; query.value = target.value; if (!isMultiple.value) selectionController.clear(); applyNavigationResult(listNavigation.first()); if (!isOpen.value) open(false, 'trigger'); emit('search', { query: target.value } as { query: string }); } function handleFocus() { if (!isOpen.value) open(false, 'trigger'); } // ── Keyboard Navigation ────────────────────────────────────────────────── function handleKeydown(e: KeyboardEvent) { if (isDisabled.value) return; const opts = filteredOptions.value; switch (e.key) { case 'ArrowDown': e.preventDefault(); if (!isOpen.value) { open(true, 'trigger'); applyNavigationResult(listNavigation.first()); } else { applyNavigationResult(listNavigation.next()); } break; case 'ArrowUp': e.preventDefault(); if (!isOpen.value) { open(true, 'trigger'); } else { applyNavigationResult(listNavigation.prev()); } break; case 'Backspace': // In multiple mode, remove the last chip when the input is empty if (isMultiple.value && !query.value && selectedValues.value.length > 0) { selectedValues.value = selectedValues.value.slice(0, -1); syncMultipleFormValue(); emitChange(e); triggerValidation('change'); } break; case 'End': if (isOpen.value) { e.preventDefault(); applyNavigationResult(listNavigation.last()); } break; case 'Enter': e.preventDefault(); if (isOpen.value && focusedIndex.value >= 0 && focusedIndex.value < opts.length) { selectOption(opts[focusedIndex.value], e); } else if (isOpen.value && focusedIndex.value === -1 && creatableLabel.value) { // Focused on the \"create\" item createOption(creatableLabel.value, e); } else if (!isOpen.value) { open(); } break; case 'Escape': e.preventDefault(); if (isOpen.value) { close('escape'); } break; case 'Home': if (isOpen.value) { e.preventDefault(); applyNavigationResult(listNavigation.first()); } break; case 'Tab': close('programmatic'); break; default: break; } } function scrollFocusedIntoView() { if (focusedIndex.value >= 0) { domVirtualList.scrollToIndex(focusedIndex.value, { align: 'auto' }); return; } if (!listboxEl) return; const focusedEl = listboxEl.querySelector<HTMLElement>('[data-focused]'); focusedEl?.scrollIntoView({ block: 'nearest' }); } // ── Virtualizer ────────────────────────────────────────────────────────── const { domVirtualList, setupVirtualizer, updateRenderedItemState } = createComboboxVirtualizer({ checkIconHTML, comboId, getDropdownElement: () => dropdownEl, getFocusedIndex: () => focusedIndex.peek(), getIsMultiple: () => isMultiple.peek(), getListboxElement: () => listboxEl, getSelectedValue: () => selectedValue.peek(), getSelectedValues: () => selectedValues.peek(), onSelectOption: selectOption, setFocusedIndex: (index) => { focusedIndex.value = index; }, }); // ── Create option ──────────────────────────────────────────────────────── function createOption(label: string, originalEvent?: Event) { const value = makeCreatableValue(label); const newOpt: ComboboxOptionItem = { disabled: false, iconEl: null, label, value }; createdOptions.value = [...createdOptions.value, newOpt]; selectOption(newOpt, originalEvent); } // ── Lifecycle ──────────────────────────────────────────────────────────── onMount(() => { fieldEl = inputEl?.closest('.field') as HTMLElement | null; dropdownEl = host.shadowRoot?.querySelector<HTMLElement>('.dropdown') ?? null; listboxEl = host.shadowRoot?.querySelector<HTMLElement>('[role=\"listbox\"]') ?? null; const removeOutsideClick = overlay.bindOutsideClick(document); onSlotChange('default', readOptions); // Ensure initial light-DOM options are available for immediate keyboard interaction. readOptions(); // Rebuild virtualizer when filtered options or open state changes effect(() => { const opts = filteredOptions.value; const open = isOpen.value; if (open && opts.length > 0) { requestAnimationFrame(() => setupVirtualizer(opts, open)); } else { domVirtualList.update(opts, false); } }); mountLabelSyncStandalone(labelInsetRef, labelOutsideRef, props); effect(() => { if (listboxEl) { // Remove existing state nodes for (const el of Array.from(listboxEl.querySelectorAll('.no-results,.no-results-create,.dropdown-loading'))) el.remove(); if (isLoading.value) { const loadingEl = document.createElement('div'); loadingEl.className = 'dropdown-loading'; loadingEl.textContent = 'Loading\\u2026'; listboxEl.prepend(loadingEl); } else if (filteredOptions.value.length === 0) { if (creatableLabel.value) { const createEl = document.createElement('button'); createEl.type = 'button'; createEl.className = 'no-results-create'; createEl.textContent = `Create \"${creatableLabel.value}\"`; // Apply focused state when keyboard nav lands here (focusedIndex === -1 means create row) if (focusedIndex.value === -1) createEl.setAttribute('data-focused', ''); createEl.addEventListener('pointerdown', (e: PointerEvent) => { e.preventDefault(); }); createEl.addEventListener('click', (e) => { e.stopPropagation(); createOption(creatableLabel.value, e); }); listboxEl.appendChild(createEl); } else { const noResults = document.createElement('div'); noResults.className = 'no-results'; noResults.setAttribute('role', 'presentation'); noResults.textContent = 'No results found'; listboxEl.appendChild(noResults); } } // Update focused/selected state on already-rendered items without touching // the DOM structure. The virtualizer owns full re-renders via onChange. updateRenderedItemState(); } }); // Keep rendered option selected/focused attributes in sync while the popup stays open. watch( [isOpen, props.multiple, focusedIndex, selectedValues, selectedValue], () => { if (!isOpen.value) return; updateRenderedItemState(); }, { immediate: true }, ); return () => { domVirtualList.destroy(); positioner.destroy(); removeOutsideClick(); }; }); return html` <slot></slot> <div class=\"combobox-wrapper\" part=\"wrapper\"> <label class=\"label-outside\" for=\"${comboId}\" id=\"${labelId}\" ref=${labelOutsideRef} hidden part=\"label\"></label> <div class=\"field\" part=\"field\" @click=\"${() => { if (!isOpen.value) open(false, 'trigger'); focusLiveInput(); }}\"> <label class=\"label-inset\" for=\"${comboId}\" id=\"${labelId}\" ref=${labelInsetRef} hidden part=\"label\"></label> <div class=\"field-row\"> <div class=\"chips-row\"> <!-- Keep chip list diffing isolated so input node identity stays stable. --> <span class=\"chips-list\"> ${() => (isMultiple.value ? selectedValues.value : []).map( (item) => html` <bit-chip value=${item.value} aria-label=${item.label || item.value} mode=\"removable\" variant=\"flat\" size=\"sm\" color=${() => props.color.value} @remove=${removeChip}> ${item.label || item.value} </bit-chip> `, )} </span> <input ref=${(el: HTMLInputElement | null) => { inputEl = el; if (!el) { fieldEl = null; return; } fieldEl = el.closest('.field') as HTMLElement | null; aria(el, { activedescendant: () => (focusedIndex.value >= 0 ? `${comboId}-opt-${focusedIndex.value}` : null), autocomplete: 'list', controls: () => `${comboId}-listbox`, describedby: () => (props.error.value || props.helper.value ? helperId : null), disabled: () => isDisabled.value, expanded: () => (isOpen.value ? 'true' : 'false'), invalid: () => !!props.error.value, labelledby: () => (hasLabel.value ? labelId : null), }); }} class=\"input\" part=\"input\" type=\"text\" role=\"combobox\" autocomplete=\"off\" spellcheck=\"false\" id=\"${comboId}\" name=\"${() => props.name.value}\" placeholder=${() => inputPlaceholder.value} :disabled=\"${() => isDisabled.value}\" @input=${handleInput} @keydown=${handleKeydown} @focus=${handleFocus} .value=${query} /> </div> <button class=\"clear-btn\" part=\"clear-btn\" type=\"button\" aria-label=\"Clear\" tabindex=\"-1\" ?hidden=${() => !hasValue.value} @click=\"${clearValue}\"> ${clearIcon} </button> <span class=\"chevron\" aria-hidden=\"true\"> ${chevronDownIcon} <span class=\"loader\" aria-label=\"Loading\"></span> </span> </div> </div> <div class=\"dropdown\" part=\"dropdown\" id=\"${() => `${comboId}-dropdown`}\" ?data-open=${() => isOpen.value}> <div role=\"listbox\" id=\"${() => `${comboId}-listbox`}\" aria-label=\"${() => props.label.value || props.placeholder.value || 'Options'}\"></div> </div> <span class=\"helper-text\" id=\"${helperId}\" part=\"helper-text\" aria-live=\"polite\" ?hidden=${() => assistiveText.value.hidden} style=${() => (assistiveText.value.isError ? 'color: var(--color-error);' : '')} >${() => assistiveText.value.text}</span > </div> `; }, shadow: { delegatesFocus: true }, styles: [ sizeVariantMixin(FIELD_SIZE_PRESET), ...formFieldMixins, disabledLoadingMixin(), forcedColorsFocusMixin('.input'), componentStyles, ], tag: 'bit-combobox', }) as unknown",
1051
+ "description": "`bit-combobox` — Autocomplete/combobox text input with a filterable listbox.\n\nPlace `<bit-combobox-option>` elements as children to define the available options.\nEach option supports a `label` attribute (falls back to text content) and an `icon` named slot."
1052
+ },
1053
+ {
1054
+ "kind": "variable",
1055
+ "name": "value"
1056
+ }
1057
+ ],
1058
+ "exports": [
1059
+ {
1060
+ "kind": "js",
1061
+ "name": "BitComboboxEvents",
1062
+ "declaration": {
1063
+ "name": "BitComboboxEvents",
1064
+ "module": "./combobox.types"
1065
+ }
1066
+ },
1067
+ {
1068
+ "kind": "js",
1069
+ "name": "BitComboboxOptionProps",
1070
+ "declaration": {
1071
+ "name": "BitComboboxOptionProps",
1072
+ "module": "./combobox.types"
1073
+ }
1074
+ },
1075
+ {
1076
+ "kind": "js",
1077
+ "name": "BitComboboxProps",
1078
+ "declaration": {
1079
+ "name": "BitComboboxProps",
1080
+ "module": "./combobox.types"
1081
+ }
1082
+ },
1083
+ {
1084
+ "kind": "js",
1085
+ "name": "COMBOBOX_OPTION_TAG",
1086
+ "declaration": {
1087
+ "name": "COMBOBOX_OPTION_TAG",
1088
+ "module": "src/inputs/combobox/combobox.ts"
1089
+ }
1090
+ },
1091
+ {
1092
+ "kind": "js",
1093
+ "name": "COMBOBOX_TAG",
1094
+ "declaration": {
1095
+ "name": "COMBOBOX_TAG",
1096
+ "module": "src/inputs/combobox/combobox.ts"
1097
+ }
1098
+ }
1099
+ ]
1100
+ },
1101
+ {
1102
+ "kind": "javascript-module",
1103
+ "path": "src/inputs/combobox/combobox.types.ts",
1104
+ "declarations": [],
1105
+ "exports": []
1106
+ },
1107
+ {
1108
+ "kind": "javascript-module",
1109
+ "path": "src/inputs/file-input/file-input.ts",
1110
+ "declarations": [
1111
+ {
1112
+ "kind": "variable",
1113
+ "name": "FILE_INPUT_TAG",
1114
+ "description": "A file upload component with drag-and-drop support, file list management,\nand full form integration."
1115
+ }
1116
+ ],
1117
+ "exports": [
1118
+ {
1119
+ "kind": "js",
1120
+ "name": "FILE_INPUT_TAG",
1121
+ "declaration": {
1122
+ "name": "FILE_INPUT_TAG",
1123
+ "module": "src/inputs/file-input/file-input.ts"
1124
+ }
1125
+ }
1126
+ ]
1127
+ },
1128
+ {
1129
+ "kind": "javascript-module",
1130
+ "path": "src/inputs/form/form.ts",
1131
+ "declarations": [
1132
+ {
1133
+ "kind": "variable",
1134
+ "name": "FORM_TAG",
1135
+ "description": "`bit-form` — Native `<form>` wrapper that propagates `disabled`, `size`, and `variant`\ncontext to all child `bit-*` form fields. Intercepts submit/reset events."
1136
+ }
1137
+ ],
1138
+ "exports": [
1139
+ {
1140
+ "kind": "js",
1141
+ "name": "FORM_TAG",
1142
+ "declaration": {
1143
+ "name": "FORM_TAG",
1144
+ "module": "src/inputs/form/form.ts"
1145
+ }
1146
+ }
1147
+ ]
1148
+ },
1149
+ {
1150
+ "kind": "javascript-module",
1151
+ "path": "src/inputs/input/input.ts",
1152
+ "declarations": [
1153
+ {
1154
+ "kind": "variable",
1155
+ "name": "INPUT_TAG",
1156
+ "description": "A customizable text input component with multiple variants, label placements, and form features."
1157
+ }
1158
+ ],
1159
+ "exports": [
1160
+ {
1161
+ "kind": "js",
1162
+ "name": "INPUT_TAG",
1163
+ "declaration": {
1164
+ "name": "INPUT_TAG",
1165
+ "module": "src/inputs/input/input.ts"
1166
+ }
1167
+ }
1168
+ ]
1169
+ },
1170
+ {
1171
+ "kind": "javascript-module",
1172
+ "path": "src/inputs/number-input/number-input.ts",
1173
+ "declarations": [
1174
+ {
1175
+ "kind": "variable",
1176
+ "name": "NUMBER_INPUT_TAG",
1177
+ "description": "A numeric spin-button input with +/− controls, min/max clamping, and full keyboard support."
1178
+ }
1179
+ ],
1180
+ "exports": [
1181
+ {
1182
+ "kind": "js",
1183
+ "name": "NUMBER_INPUT_TAG",
1184
+ "declaration": {
1185
+ "name": "NUMBER_INPUT_TAG",
1186
+ "module": "src/inputs/number-input/number-input.ts"
1187
+ }
1188
+ }
1189
+ ]
1190
+ },
1191
+ {
1192
+ "kind": "javascript-module",
1193
+ "path": "src/inputs/otp-input/otp-input.ts",
1194
+ "declarations": [
1195
+ {
1196
+ "kind": "variable",
1197
+ "name": "OTP_INPUT_TAG",
1198
+ "description": "A segmented OTP (One-Time Password) input with N individual cells.\nAuto-advances focus on input, auto-backs on Backspace, handles paste."
1199
+ }
1200
+ ],
1201
+ "exports": [
1202
+ {
1203
+ "kind": "js",
1204
+ "name": "OTP_INPUT_TAG",
1205
+ "declaration": {
1206
+ "name": "OTP_INPUT_TAG",
1207
+ "module": "src/inputs/otp-input/otp-input.ts"
1208
+ }
1209
+ }
1210
+ ]
1211
+ },
1212
+ {
1213
+ "kind": "javascript-module",
1214
+ "path": "src/inputs/radio/radio.ts",
1215
+ "declarations": [
1216
+ {
1217
+ "kind": "variable",
1218
+ "name": "RADIO_TAG",
1219
+ "description": "A customizable radio button component for mutually exclusive selections."
1220
+ }
1221
+ ],
1222
+ "exports": [
1223
+ {
1224
+ "kind": "js",
1225
+ "name": "RADIO_TAG",
1226
+ "declaration": {
1227
+ "name": "RADIO_TAG",
1228
+ "module": "src/inputs/radio/radio.ts"
1229
+ }
1230
+ }
1231
+ ]
1232
+ },
1233
+ {
1234
+ "kind": "javascript-module",
1235
+ "path": "src/inputs/radio-group/radio-group.ts",
1236
+ "declarations": [
1237
+ {
1238
+ "kind": "variable",
1239
+ "name": "RADIO_GROUP_CTX"
1240
+ },
1241
+ {
1242
+ "kind": "variable",
1243
+ "name": "RADIO_GROUP_TAG",
1244
+ "description": "A fieldset wrapper that groups `bit-radio` elements, provides shared\n`name`, `color`, and `size` via context, and manages roving tabindex\nkeyboard navigation."
1245
+ }
1246
+ ],
1247
+ "exports": [
1248
+ {
1249
+ "kind": "js",
1250
+ "name": "RADIO_GROUP_CTX",
1251
+ "declaration": {
1252
+ "name": "RADIO_GROUP_CTX",
1253
+ "module": "src/inputs/radio-group/radio-group.ts"
1254
+ }
1255
+ },
1256
+ {
1257
+ "kind": "js",
1258
+ "name": "RADIO_GROUP_TAG",
1259
+ "declaration": {
1260
+ "name": "RADIO_GROUP_TAG",
1261
+ "module": "src/inputs/radio-group/radio-group.ts"
1262
+ }
1263
+ }
1264
+ ]
1265
+ },
1266
+ {
1267
+ "kind": "javascript-module",
1268
+ "path": "src/inputs/rating/rating.ts",
1269
+ "declarations": [
1270
+ {
1271
+ "kind": "variable",
1272
+ "name": "RATING_TAG",
1273
+ "description": "A star rating input."
1274
+ }
1275
+ ],
1276
+ "exports": [
1277
+ {
1278
+ "kind": "js",
1279
+ "name": "RATING_TAG",
1280
+ "declaration": {
1281
+ "name": "RATING_TAG",
1282
+ "module": "src/inputs/rating/rating.ts"
1283
+ }
1284
+ }
1285
+ ]
1286
+ },
1287
+ {
1288
+ "kind": "javascript-module",
1289
+ "path": "src/inputs/select/select.ts",
1290
+ "declarations": [
1291
+ {
1292
+ "kind": "variable",
1293
+ "name": "SELECT_TAG",
1294
+ "description": "A fully custom form-associated select dropdown with keyboard navigation and ARIA support.\nReads `<option>` and `<optgroup>` children from the default slot."
1295
+ }
1296
+ ],
1297
+ "exports": [
1298
+ {
1299
+ "kind": "js",
1300
+ "name": "SELECT_TAG",
1301
+ "declaration": {
1302
+ "name": "SELECT_TAG",
1303
+ "module": "src/inputs/select/select.ts"
1304
+ }
1305
+ }
1306
+ ]
1307
+ },
1308
+ {
1309
+ "kind": "javascript-module",
1310
+ "path": "src/inputs/shared/base-props.ts",
1311
+ "declarations": [],
1312
+ "exports": []
1313
+ },
1314
+ {
1315
+ "kind": "javascript-module",
1316
+ "path": "src/inputs/shared/design-presets.ts",
1317
+ "declarations": [
1318
+ {
1319
+ "kind": "variable",
1320
+ "name": "FIELD_SIZE_PRESET",
1321
+ "type": {
1322
+ "text": "{\n lg: {\n '--_field-height': 'var(--size-12)',\n '--_padding': 'var(--size-2-5) var(--size-3-5)',\n fontSize: 'var(--text-base)',\n gap: 'var(--size-2-5)',\n },\n md: {\n '--_field-height': 'var(--size-10)',\n '--_padding': 'var(--size-1-5) var(--size-3)',\n fontSize: 'var(--text-sm)',\n gap: 'var(--size-2)',\n },\n sm: {\n '--_field-height': 'var(--size-8)',\n '--_padding': 'var(--size-1) var(--size-2)',\n fontSize: 'var(--text-xs)',\n gap: 'var(--size-1-5)',\n },\n}"
1323
+ },
1324
+ "default": "{ lg: { '--_field-height': 'var(--size-12)', '--_padding': 'var(--size-2-5) var(--size-3-5)', fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', }, md: { '--_field-height': 'var(--size-10)', '--_padding': 'var(--size-1-5) var(--size-3)', fontSize: 'var(--text-sm)', gap: 'var(--size-2)', }, sm: { '--_field-height': 'var(--size-8)', '--_padding': 'var(--size-1) var(--size-2)', fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', }, }"
1325
+ },
1326
+ {
1327
+ "kind": "variable",
1328
+ "name": "TEXTAREA_SIZE_PRESET",
1329
+ "type": {
1330
+ "text": "{\n lg: {\n '--_padding': 'var(--size-2-5) var(--size-3-5)',\n fontSize: 'var(--text-base)',\n gap: 'var(--size-2-5)',\n },\n md: {\n '--_padding': 'var(--size-1-5) var(--size-3)',\n fontSize: 'var(--text-sm)',\n gap: 'var(--size-2)',\n },\n sm: {\n '--_padding': 'var(--size-1) var(--size-2)',\n fontSize: 'var(--text-xs)',\n gap: 'var(--size-1-5)',\n },\n}"
1331
+ },
1332
+ "default": "{ lg: { '--_padding': 'var(--size-2-5) var(--size-3-5)', fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', }, md: { '--_padding': 'var(--size-1-5) var(--size-3)', fontSize: 'var(--text-sm)', gap: 'var(--size-2)', }, sm: { '--_padding': 'var(--size-1) var(--size-2)', fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', }, }"
1333
+ },
1334
+ {
1335
+ "kind": "variable",
1336
+ "name": "CONTROL_SIZE_PRESET",
1337
+ "type": {
1338
+ "text": "{\n lg: {\n fontSize: 'var(--text-base)',\n gap: 'var(--size-2-5)',\n size: 'var(--size-6)',\n },\n sm: {\n fontSize: 'var(--text-xs)',\n gap: 'var(--size-1-5)',\n size: 'var(--size-4)',\n },\n}"
1339
+ },
1340
+ "default": "{ lg: { fontSize: 'var(--text-base)', gap: 'var(--size-2-5)', size: 'var(--size-6)', }, sm: { fontSize: 'var(--text-xs)', gap: 'var(--size-1-5)', size: 'var(--size-4)', }, }",
1341
+ "description": "Shared size preset for checkbox and radio (icon + label layout)."
1342
+ },
1343
+ {
1344
+ "kind": "variable",
1345
+ "name": "SWITCH_SIZE_PRESET",
1346
+ "type": {
1347
+ "text": "{\n lg: {\n fontSize: 'var(--text-base)',\n gap: 'var(--size-3)',\n height: 'var(--size-7)',\n thumbSize: 'var(--size-6)',\n width: 'var(--size-14)',\n },\n sm: {\n fontSize: 'var(--text-xs)',\n gap: 'var(--size-2)',\n height: 'var(--size-5)',\n thumbSize: 'var(--size-4)',\n width: 'var(--size-9)',\n },\n}"
1348
+ },
1349
+ "default": "{ lg: { fontSize: 'var(--text-base)', gap: 'var(--size-3)', height: 'var(--size-7)', thumbSize: 'var(--size-6)', width: 'var(--size-14)', }, sm: { fontSize: 'var(--text-xs)', gap: 'var(--size-2)', height: 'var(--size-5)', thumbSize: 'var(--size-4)', width: 'var(--size-9)', }, }",
1350
+ "description": "Shared size preset for the switch toggle control."
1351
+ },
1352
+ {
1353
+ "kind": "variable",
1354
+ "name": "SLIDER_SIZE_PRESET",
1355
+ "type": {
1356
+ "text": "{\n lg: {\n fontSize: 'var(--text-base)',\n height: 'calc(var(--size-5) - var(--size-1))',\n size: 'var(--size-5)',\n },\n md: {\n fontSize: 'var(--text-base)',\n height: 'var(--size-3)',\n size: 'var(--size-5)',\n },\n sm: {\n fontSize: 'var(--text-xs)',\n height: 'var(--size-2)',\n size: 'var(--size-4)',\n },\n}"
1357
+ },
1358
+ "default": "{ lg: { fontSize: 'var(--text-base)', height: 'calc(var(--size-5) - var(--size-1))', size: 'var(--size-5)', }, md: { fontSize: 'var(--text-base)', height: 'var(--size-3)', size: 'var(--size-5)', }, sm: { fontSize: 'var(--text-xs)', height: 'var(--size-2)', size: 'var(--size-4)', }, }",
1359
+ "description": "Shared size preset for the slider track/thumb."
1360
+ },
1361
+ {
1362
+ "kind": "variable",
1363
+ "name": "FILE_INPUT_SIZE_PRESET",
1364
+ "type": {
1365
+ "text": "{\n lg: {\n '--_min-height': 'var(--size-40)',\n fontSize: 'var(--text-base)',\n },\n sm: {\n '--_min-height': 'var(--size-28)',\n fontSize: 'var(--text-xs)',\n },\n}"
1366
+ },
1367
+ "default": "{ lg: { '--_min-height': 'var(--size-40)', fontSize: 'var(--text-base)', }, sm: { '--_min-height': 'var(--size-28)', fontSize: 'var(--text-xs)', }, }",
1368
+ "description": "Shared size preset for the file-input dropzone."
1369
+ }
1370
+ ],
1371
+ "exports": [
1372
+ {
1373
+ "kind": "js",
1374
+ "name": "FIELD_SIZE_PRESET",
1375
+ "declaration": {
1376
+ "name": "FIELD_SIZE_PRESET",
1377
+ "module": "src/inputs/shared/design-presets.ts"
1378
+ }
1379
+ },
1380
+ {
1381
+ "kind": "js",
1382
+ "name": "TEXTAREA_SIZE_PRESET",
1383
+ "declaration": {
1384
+ "name": "TEXTAREA_SIZE_PRESET",
1385
+ "module": "src/inputs/shared/design-presets.ts"
1386
+ }
1387
+ },
1388
+ {
1389
+ "kind": "js",
1390
+ "name": "CONTROL_SIZE_PRESET",
1391
+ "declaration": {
1392
+ "name": "CONTROL_SIZE_PRESET",
1393
+ "module": "src/inputs/shared/design-presets.ts"
1394
+ }
1395
+ },
1396
+ {
1397
+ "kind": "js",
1398
+ "name": "SWITCH_SIZE_PRESET",
1399
+ "declaration": {
1400
+ "name": "SWITCH_SIZE_PRESET",
1401
+ "module": "src/inputs/shared/design-presets.ts"
1402
+ }
1403
+ },
1404
+ {
1405
+ "kind": "js",
1406
+ "name": "SLIDER_SIZE_PRESET",
1407
+ "declaration": {
1408
+ "name": "SLIDER_SIZE_PRESET",
1409
+ "module": "src/inputs/shared/design-presets.ts"
1410
+ }
1411
+ },
1412
+ {
1413
+ "kind": "js",
1414
+ "name": "FILE_INPUT_SIZE_PRESET",
1415
+ "declaration": {
1416
+ "name": "FILE_INPUT_SIZE_PRESET",
1417
+ "module": "src/inputs/shared/design-presets.ts"
1418
+ }
1419
+ }
1420
+ ]
1421
+ },
1422
+ {
1423
+ "kind": "javascript-module",
1424
+ "path": "src/inputs/shared/form-context.ts",
1425
+ "declarations": [
1426
+ {
1427
+ "kind": "variable",
1428
+ "name": "FORM_CTX"
1429
+ }
1430
+ ],
1431
+ "exports": [
1432
+ {
1433
+ "kind": "js",
1434
+ "name": "FORM_CTX",
1435
+ "declaration": {
1436
+ "name": "FORM_CTX",
1437
+ "module": "src/inputs/shared/form-context.ts"
1438
+ }
1439
+ }
1440
+ ]
1441
+ },
1442
+ {
1443
+ "kind": "javascript-module",
1444
+ "path": "src/inputs/slider/slider.ts",
1445
+ "declarations": [
1446
+ {
1447
+ "kind": "variable",
1448
+ "name": "SLIDER_TAG",
1449
+ "description": "A slider for selecting a single numeric value or a numeric range.\n\nAdd the boolean `range` attribute to activate two-thumb range mode."
1450
+ }
1451
+ ],
1452
+ "exports": [
1453
+ {
1454
+ "kind": "js",
1455
+ "name": "SLIDER_TAG",
1456
+ "declaration": {
1457
+ "name": "SLIDER_TAG",
1458
+ "module": "src/inputs/slider/slider.ts"
1459
+ }
1460
+ }
1461
+ ]
1462
+ },
1463
+ {
1464
+ "kind": "javascript-module",
1465
+ "path": "src/inputs/switch/switch.ts",
1466
+ "declarations": [
1467
+ {
1468
+ "kind": "variable",
1469
+ "name": "SWITCH_TAG",
1470
+ "description": "A toggle switch component for binary on/off states."
1471
+ }
1472
+ ],
1473
+ "exports": [
1474
+ {
1475
+ "kind": "js",
1476
+ "name": "SWITCH_TAG",
1477
+ "declaration": {
1478
+ "name": "SWITCH_TAG",
1479
+ "module": "src/inputs/switch/switch.ts"
1480
+ }
1481
+ }
1482
+ ]
1483
+ },
1484
+ {
1485
+ "kind": "javascript-module",
1486
+ "path": "src/inputs/textarea/textarea.ts",
1487
+ "declarations": [
1488
+ {
1489
+ "kind": "variable",
1490
+ "name": "TEXTAREA_TAG",
1491
+ "description": "A multi-line text input with label, helper text, character counter, and auto-resize."
1492
+ }
1493
+ ],
1494
+ "exports": [
1495
+ {
1496
+ "kind": "js",
1497
+ "name": "TEXTAREA_TAG",
1498
+ "declaration": {
1499
+ "name": "TEXTAREA_TAG",
1500
+ "module": "src/inputs/textarea/textarea.ts"
1501
+ }
1502
+ }
1503
+ ]
1504
+ },
1505
+ {
1506
+ "kind": "javascript-module",
1507
+ "path": "src/layout/box/box.ts",
1508
+ "declarations": [
1509
+ {
1510
+ "kind": "variable",
1511
+ "name": "BOX_TAG",
1512
+ "description": "bit-box — A foundational layout primitive with theming support."
1513
+ }
1514
+ ],
1515
+ "exports": [
1516
+ {
1517
+ "kind": "js",
1518
+ "name": "BOX_TAG",
1519
+ "declaration": {
1520
+ "name": "BOX_TAG",
1521
+ "module": "src/layout/box/box.ts"
1522
+ }
1523
+ }
1524
+ ]
1525
+ },
1526
+ {
1527
+ "kind": "javascript-module",
1528
+ "path": "src/layout/grid/grid.ts",
1529
+ "declarations": [
1530
+ {
1531
+ "kind": "variable",
1532
+ "name": "GRID_TAG",
1533
+ "description": "bit-grid — Flexible grid layout with responsive column control.\n\nColumns are computed in JS and applied as `--_cols` inline, so they respond\nto the element's own width via ResizeObserver. CSS custom properties\n`--grid-cols`, `--grid-rows`, `--grid-gap`, `--grid-row-gap`, `--grid-col-gap`\nare honoured as fallbacks when no attribute is set."
1534
+ }
1535
+ ],
1536
+ "exports": [
1537
+ {
1538
+ "kind": "js",
1539
+ "name": "GRID_TAG",
1540
+ "declaration": {
1541
+ "name": "GRID_TAG",
1542
+ "module": "src/layout/grid/grid.ts"
1543
+ }
1544
+ }
1545
+ ]
1546
+ },
1547
+ {
1548
+ "kind": "javascript-module",
1549
+ "path": "src/layout/grid-item/grid-item.ts",
1550
+ "declarations": [
1551
+ {
1552
+ "kind": "variable",
1553
+ "name": "GRID_ITEM_TAG",
1554
+ "description": "bit-grid-item — A grid cell with declarative placement and span control.\n\nUse `col-span` / `row-span` for the common case of spanning columns/rows.\nUse `col` / `row` for full CSS grid-column / grid-row shorthand power\n(e.g. explicit placement, mixed span + start, negative lines)."
1555
+ }
1556
+ ],
1557
+ "exports": [
1558
+ {
1559
+ "kind": "js",
1560
+ "name": "GRID_ITEM_TAG",
1561
+ "declaration": {
1562
+ "name": "GRID_ITEM_TAG",
1563
+ "module": "src/layout/grid-item/grid-item.ts"
1564
+ }
1565
+ }
1566
+ ]
1567
+ },
1568
+ {
1569
+ "kind": "javascript-module",
1570
+ "path": "src/layout/sidebar/sidebar.ts",
1571
+ "declarations": [
1572
+ {
1573
+ "kind": "variable",
1574
+ "name": "SIDEBAR_CTX",
1575
+ "description": "Injection key for the sidebar context."
1576
+ },
1577
+ {
1578
+ "kind": "variable",
1579
+ "name": "SIDEBAR_TAG",
1580
+ "description": "`bit-sidebar` — A collapsible navigation sidebar with group and item support."
1581
+ },
1582
+ {
1583
+ "kind": "variable",
1584
+ "name": "SIDEBAR_GROUP_TAG",
1585
+ "description": "`bit-sidebar-group` — A labelled section within `bit-sidebar`."
1586
+ },
1587
+ {
1588
+ "kind": "variable",
1589
+ "name": "SIDEBAR_ITEM_TAG",
1590
+ "description": "`bit-sidebar-item` — An individual navigation item in a `bit-sidebar`.\n\nRenders as an `<a>` when `href` is provided, otherwise as a `<button>`.\nMarks the active page via `aria-current=\"page\"` when the `active` attribute is set."
1591
+ }
1592
+ ],
1593
+ "exports": [
1594
+ {
1595
+ "kind": "js",
1596
+ "name": "SIDEBAR_CTX",
1597
+ "declaration": {
1598
+ "name": "SIDEBAR_CTX",
1599
+ "module": "src/layout/sidebar/sidebar.ts"
1600
+ }
1601
+ },
1602
+ {
1603
+ "kind": "js",
1604
+ "name": "SIDEBAR_TAG",
1605
+ "declaration": {
1606
+ "name": "SIDEBAR_TAG",
1607
+ "module": "src/layout/sidebar/sidebar.ts"
1608
+ }
1609
+ },
1610
+ {
1611
+ "kind": "js",
1612
+ "name": "SIDEBAR_GROUP_TAG",
1613
+ "declaration": {
1614
+ "name": "SIDEBAR_GROUP_TAG",
1615
+ "module": "src/layout/sidebar/sidebar.ts"
1616
+ }
1617
+ },
1618
+ {
1619
+ "kind": "js",
1620
+ "name": "SIDEBAR_ITEM_TAG",
1621
+ "declaration": {
1622
+ "name": "SIDEBAR_ITEM_TAG",
1623
+ "module": "src/layout/sidebar/sidebar.ts"
1624
+ }
1625
+ }
1626
+ ]
1627
+ },
1628
+ {
1629
+ "kind": "javascript-module",
1630
+ "path": "src/overlay/dialog/dialog.ts",
1631
+ "declarations": [
1632
+ {
1633
+ "kind": "variable",
1634
+ "name": "DIALOG_TAG",
1635
+ "description": "A modal dialog that traps focus, blocks page interaction, and dismisses on\n`Escape`. Built on the native `<dialog>` element for correct top-layer stacking\nand browser-managed accessibility."
1636
+ }
1637
+ ],
1638
+ "exports": [
1639
+ {
1640
+ "kind": "js",
1641
+ "name": "DIALOG_TAG",
1642
+ "declaration": {
1643
+ "name": "DIALOG_TAG",
1644
+ "module": "src/overlay/dialog/dialog.ts"
1645
+ }
1646
+ }
1647
+ ]
1648
+ },
1649
+ {
1650
+ "kind": "javascript-module",
1651
+ "path": "src/overlay/drawer/drawer.ts",
1652
+ "declarations": [
1653
+ {
1654
+ "kind": "variable",
1655
+ "name": "DRAWER_TAG",
1656
+ "description": "A panel that slides in from any edge of the screen, built on the native `<dialog>` element."
1657
+ }
1658
+ ],
1659
+ "exports": [
1660
+ {
1661
+ "kind": "js",
1662
+ "name": "DRAWER_TAG",
1663
+ "declaration": {
1664
+ "name": "DRAWER_TAG",
1665
+ "module": "src/overlay/drawer/drawer.ts"
1666
+ }
1667
+ }
1668
+ ]
1669
+ },
1670
+ {
1671
+ "kind": "javascript-module",
1672
+ "path": "src/overlay/menu/menu.ts",
1673
+ "declarations": [
1674
+ {
1675
+ "kind": "variable",
1676
+ "name": "MENU_ITEM_TAG"
1677
+ },
1678
+ {
1679
+ "kind": "variable",
1680
+ "name": "SEPARATOR_TAG"
1681
+ },
1682
+ {
1683
+ "kind": "variable",
1684
+ "name": "MENU_TAG",
1685
+ "default": "defineComponent<BitMenuProps, BitMenuEvents>({ props: { color: { default: undefined }, disabled: { default: false }, placement: { default: 'bottom-start' }, size: { default: undefined }, }, setup({ emit, host, props }) { const menuId = createId('menu'); const isOpen = signal(false); let triggerEl: HTMLElement | null = null; let panelEl: HTMLElement | null = null; // ── Helpers ─────────────────────────────────────────────────────────────── function getItems(): HTMLElement[] { return Array.from(host.querySelectorAll<HTMLElement>('bit-menu-item:not([disabled])')); } let focusedIndex = -1; const listNavigation = createListNavigation<HTMLElement>({ getIndex: () => focusedIndex, getItems, isItemDisabled: (item) => item.hasAttribute('disabled'), setIndex: (index) => { focusedIndex = index; getItems()[index]?.focus(); }, }); function updatePosition() { if (!panelEl || !triggerEl) return; positionFloat(triggerEl, panelEl, { middleware: [offset(4), flip({ padding: 6 }), shift({ padding: 6 })], placement: props.placement.value, }); } const overlay = createOverlayControl({ getBoundaryElement: () => host, getPanelElement: () => panelEl, getTriggerElement: () => triggerEl, isDisabled: () => Boolean(props.disabled.value), isOpen: () => isOpen.value, onClose: (reason) => emit('close', { reason }), onOpen: (reason) => emit('open', { reason }), positioner: { floating: () => panelEl, reference: () => triggerEl, update: updatePosition, }, setOpen: (next) => { isOpen.value = next; if (!next) listNavigation.reset(); }, }); const activateItem = (item: HTMLElement): void => { const type = item.getAttribute('type'); if (type === 'checkbox') { const next = !item.hasAttribute('checked'); if (next) item.setAttribute('checked', ''); else item.removeAttribute('checked'); } else if (type === 'radio') { for (const radio of host.querySelectorAll<HTMLElement>('bit-menu-item[type=\"radio\"]')) { radio.removeAttribute('checked'); } item.setAttribute('checked', ''); } const value = item.getAttribute('value') ?? ''; const checked = type === 'checkbox' || type === 'radio' ? item.hasAttribute('checked') : undefined; emit('select', { checked, value }); if (type !== 'checkbox' && type !== 'radio') { overlay.close({ reason: 'programmatic' }); } }; // ── Keyboard Navigation ─────────────────────────────────────────────────── function handleMenuKeydown(e: KeyboardEvent) { const open = isOpen.value; // When closed: open on Enter / Space / ArrowDown if (!open) { if (e.key === 'Enter' || e.key === ' ' || e.key === 'ArrowDown') { e.preventDefault(); overlay.open(); requestAnimationFrame(() => listNavigation.first()); } return; } // When open: navigate and activate switch (e.key) { case ' ': { e.preventDefault(); const focused = listNavigation.getActiveItem(); if (focused) activateItem(focused); break; } case 'ArrowDown': e.preventDefault(); listNavigation.next(); break; case 'ArrowUp': e.preventDefault(); listNavigation.prev(); break; case 'End': e.preventDefault(); listNavigation.last(); break; case 'Enter': { e.preventDefault(); const focused = listNavigation.getActiveItem(); if (focused) activateItem(focused); break; } case 'Escape': e.preventDefault(); overlay.close({ reason: 'escape' }); break; case 'Home': e.preventDefault(); listNavigation.first(); break; case 'Tab': overlay.close({ reason: 'programmatic' }); break; } } // ── Lifecycle ───────────────────────────────────────────────────────────── onMount(() => { const triggerSlot = host.shadowRoot?.querySelector<HTMLSlotElement>('slot[name=\"trigger\"]'); panelEl = host.shadowRoot?.querySelector<HTMLElement>('.menu-panel') ?? null; let prevTriggerEl: HTMLElement | null = null; function resolveTrigger() { if (prevTriggerEl) { prevTriggerEl.removeEventListener('click', toggleMenu); prevTriggerEl.removeEventListener('keydown', handleMenuKeydown); } const assigned = triggerSlot?.assignedElements({ flatten: true }); triggerEl = (assigned?.[0] as HTMLElement | undefined) ?? null; prevTriggerEl = triggerEl; if (triggerEl) { aria(triggerEl, { controls: () => menuId, disabled: () => props.disabled.value, expanded: () => (isOpen.value ? 'true' : 'false'), haspopup: 'menu', }); triggerEl.addEventListener('click', toggleMenu); triggerEl.addEventListener('keydown', handleMenuKeydown); } } function toggleMenu() { overlay.toggle(); } onSlotChange('trigger', resolveTrigger); // Item activation via click handle(host, 'click', ((e: Event) => { if (!isOpen.value) return; const me = e as MouseEvent; const path = me.composedPath(); const itemFromPath = path.find( (node): node is HTMLElement => node instanceof HTMLElement && node.tagName === 'BIT-MENU-ITEM', ); const item = itemFromPath ?? (me.target as HTMLElement | null)?.closest<HTMLElement>('bit-menu-item') ?? null; if (!item || item.hasAttribute('disabled')) return; activateItem(item); }) as EventListener); const removeOutsideClick = overlay.bindOutsideClick(document); effect(() => { panelEl?.toggleAttribute('data-open', isOpen.value); }); handle(panelEl, 'keydown', handleMenuKeydown as EventListener); return () => { removeOutsideClick(); if (prevTriggerEl) { prevTriggerEl.removeEventListener('click', toggleMenu); prevTriggerEl.removeEventListener('keydown', handleMenuKeydown); } }; }); return html` <style> ${componentStyles}${themeStyles} </style> <slot name=\"trigger\"></slot> <div class=\"menu-panel\" id=\"${menuId}\" role=\"menu\" aria-orientation=\"vertical\"> <slot></slot> </div> `; }, tag: 'bit-menu', }) as unknown",
1686
+ "description": "`bit-menu` — Action dropdown menu triggered by a slotted trigger element.\nNest `<bit-menu-item>` elements inside for menu options."
1687
+ }
1688
+ ],
1689
+ "exports": [
1690
+ {
1691
+ "kind": "js",
1692
+ "name": "MENU_ITEM_TAG",
1693
+ "declaration": {
1694
+ "name": "MENU_ITEM_TAG",
1695
+ "module": "src/overlay/menu/menu.ts"
1696
+ }
1697
+ },
1698
+ {
1699
+ "kind": "js",
1700
+ "name": "SEPARATOR_TAG",
1701
+ "declaration": {
1702
+ "name": "SEPARATOR_TAG",
1703
+ "module": "src/overlay/menu/menu.ts"
1704
+ }
1705
+ },
1706
+ {
1707
+ "kind": "js",
1708
+ "name": "MENU_TAG",
1709
+ "declaration": {
1710
+ "name": "MENU_TAG",
1711
+ "module": "src/overlay/menu/menu.ts"
1712
+ }
1713
+ }
1714
+ ]
1715
+ },
1716
+ {
1717
+ "kind": "javascript-module",
1718
+ "path": "src/overlay/popover/popover.ts",
1719
+ "declarations": [
1720
+ {
1721
+ "kind": "variable",
1722
+ "name": "POPOVER_TAG",
1723
+ "description": "A floating informational or interactive panel anchored to a trigger element.\nUnlike tooltips, popovers support arbitrary interactive content via slots."
1724
+ }
1725
+ ],
1726
+ "exports": [
1727
+ {
1728
+ "kind": "js",
1729
+ "name": "POPOVER_TAG",
1730
+ "declaration": {
1731
+ "name": "POPOVER_TAG",
1732
+ "module": "src/overlay/popover/popover.ts"
1733
+ }
1734
+ }
1735
+ ]
1736
+ },
1737
+ {
1738
+ "kind": "javascript-module",
1739
+ "path": "src/overlay/tooltip/tooltip.ts",
1740
+ "declarations": [
1741
+ {
1742
+ "kind": "variable",
1743
+ "name": "TOOLTIP_TAG",
1744
+ "description": "A lightweight tooltip shown on hover/focus/click relative to the slotted trigger."
1745
+ }
1746
+ ],
1747
+ "exports": [
1748
+ {
1749
+ "kind": "js",
1750
+ "name": "TOOLTIP_TAG",
1751
+ "declaration": {
1752
+ "name": "TOOLTIP_TAG",
1753
+ "module": "src/overlay/tooltip/tooltip.ts"
1754
+ }
1755
+ }
1756
+ ]
1757
+ },
1758
+ {
1759
+ "kind": "javascript-module",
1760
+ "path": "src/inputs/shared/composables/use-text-field.ts",
1761
+ "declarations": [
1762
+ {
1763
+ "kind": "function",
1764
+ "name": "useTextField",
1765
+ "parameters": [
1766
+ {
1767
+ "name": "props",
1768
+ "type": {
1769
+ "text": "TextFieldBaseProps"
1770
+ }
1771
+ },
1772
+ {
1773
+ "name": "fieldPrefix",
1774
+ "type": {
1775
+ "text": "string"
1776
+ }
1777
+ }
1778
+ ]
1779
+ }
1780
+ ],
1781
+ "exports": [
1782
+ {
1783
+ "kind": "js",
1784
+ "name": "useTextField",
1785
+ "declaration": {
1786
+ "name": "useTextField",
1787
+ "module": "src/inputs/shared/composables/use-text-field.ts"
1788
+ }
1789
+ }
1790
+ ]
1791
+ },
1792
+ {
1793
+ "kind": "javascript-module",
1794
+ "path": "src/inputs/shared/composables/use-toggle-field.ts",
1795
+ "declarations": [
1796
+ {
1797
+ "kind": "function",
1798
+ "name": "useToggleField",
1799
+ "parameters": [
1800
+ {
1801
+ "name": "props",
1802
+ "type": {
1803
+ "text": "ToggleFieldBaseProps"
1804
+ },
1805
+ "description": "Component props object with `disabled`, `value`, and `checked`"
1806
+ },
1807
+ {
1808
+ "name": "onExtraReset",
1809
+ "optional": true,
1810
+ "type": {
1811
+ "text": "() => void"
1812
+ },
1813
+ "description": "Optional callback invoked alongside the field reset (e.g. to reset `indeterminateSignal`)"
1814
+ }
1815
+ ],
1816
+ "description": "Shared setup for toggle-style form fields (checkbox, switch)."
1817
+ }
1818
+ ],
1819
+ "exports": [
1820
+ {
1821
+ "kind": "js",
1822
+ "name": "useToggleField",
1823
+ "declaration": {
1824
+ "name": "useToggleField",
1825
+ "module": "src/inputs/shared/composables/use-toggle-field.ts"
1826
+ }
1827
+ }
1828
+ ]
1829
+ },
1830
+ {
1831
+ "kind": "javascript-module",
1832
+ "path": "src/inputs/shared/dom-sync/dropdown.ts",
1833
+ "declarations": [
1834
+ {
1835
+ "kind": "function",
1836
+ "name": "createDropdownPositioner",
1837
+ "parameters": [
1838
+ {
1839
+ "name": "getReferenceEl",
1840
+ "type": {
1841
+ "text": "() => HTMLElement | null"
1842
+ }
1843
+ },
1844
+ {
1845
+ "name": "getFloatingEl",
1846
+ "type": {
1847
+ "text": "() => HTMLElement | null"
1848
+ }
1849
+ },
1850
+ {
1851
+ "name": "{ padding = 6 }",
1852
+ "default": "{}",
1853
+ "type": {
1854
+ "text": "{ padding?: number }"
1855
+ }
1856
+ }
1857
+ ]
1858
+ }
1859
+ ],
1860
+ "exports": [
1861
+ {
1862
+ "kind": "js",
1863
+ "name": "createDropdownPositioner",
1864
+ "declaration": {
1865
+ "name": "createDropdownPositioner",
1866
+ "module": "src/inputs/shared/dom-sync/dropdown.ts"
1867
+ }
1868
+ }
1869
+ ]
1870
+ },
1871
+ {
1872
+ "kind": "javascript-module",
1873
+ "path": "src/inputs/shared/dom-sync/field-sync.ts",
1874
+ "declarations": [
1875
+ {
1876
+ "kind": "function",
1877
+ "name": "syncCounter",
1878
+ "return": {
1879
+ "type": {
1880
+ "text": "void"
1881
+ }
1882
+ },
1883
+ "parameters": [
1884
+ {
1885
+ "name": "config",
1886
+ "type": {
1887
+ "text": "CounterConfig"
1888
+ }
1889
+ }
1890
+ ]
1891
+ },
1892
+ {
1893
+ "kind": "function",
1894
+ "name": "syncSplitAssistive",
1895
+ "return": {
1896
+ "type": {
1897
+ "text": "void"
1898
+ }
1899
+ },
1900
+ "parameters": [
1901
+ {
1902
+ "name": "config",
1903
+ "type": {
1904
+ "text": "SplitAssistiveConfig"
1905
+ }
1906
+ }
1907
+ ]
1908
+ },
1909
+ {
1910
+ "kind": "function",
1911
+ "name": "syncMergedAssistive",
1912
+ "return": {
1913
+ "type": {
1914
+ "text": "void"
1915
+ }
1916
+ },
1917
+ "parameters": [
1918
+ {
1919
+ "name": "config",
1920
+ "type": {
1921
+ "text": "MergedAssistiveConfig"
1922
+ }
1923
+ }
1924
+ ]
1925
+ },
1926
+ {
1927
+ "kind": "function",
1928
+ "name": "setupFieldEvents",
1929
+ "return": {
1930
+ "type": {
1931
+ "text": "void"
1932
+ }
1933
+ },
1934
+ "parameters": [
1935
+ {
1936
+ "name": "element",
1937
+ "type": {
1938
+ "text": "HTMLInputElement | HTMLTextAreaElement | null | undefined"
1939
+ }
1940
+ },
1941
+ {
1942
+ "name": "handlers",
1943
+ "type": {
1944
+ "text": "FieldEventHandlers"
1945
+ }
1946
+ }
1947
+ ]
1948
+ }
1949
+ ],
1950
+ "exports": [
1951
+ {
1952
+ "kind": "js",
1953
+ "name": "syncCounter",
1954
+ "declaration": {
1955
+ "name": "syncCounter",
1956
+ "module": "src/inputs/shared/dom-sync/field-sync.ts"
1957
+ }
1958
+ },
1959
+ {
1960
+ "kind": "js",
1961
+ "name": "syncSplitAssistive",
1962
+ "declaration": {
1963
+ "name": "syncSplitAssistive",
1964
+ "module": "src/inputs/shared/dom-sync/field-sync.ts"
1965
+ }
1966
+ },
1967
+ {
1968
+ "kind": "js",
1969
+ "name": "syncMergedAssistive",
1970
+ "declaration": {
1971
+ "name": "syncMergedAssistive",
1972
+ "module": "src/inputs/shared/dom-sync/field-sync.ts"
1973
+ }
1974
+ },
1975
+ {
1976
+ "kind": "js",
1977
+ "name": "setupFieldEvents",
1978
+ "declaration": {
1979
+ "name": "setupFieldEvents",
1980
+ "module": "src/inputs/shared/dom-sync/field-sync.ts"
1981
+ }
1982
+ }
1983
+ ]
1984
+ },
1985
+ {
1986
+ "kind": "javascript-module",
1987
+ "path": "src/inputs/shared/dom-sync/form-context.ts",
1988
+ "declarations": [
1989
+ {
1990
+ "kind": "function",
1991
+ "name": "mountFormContextSync",
1992
+ "return": {
1993
+ "type": {
1994
+ "text": "void"
1995
+ }
1996
+ },
1997
+ "parameters": [
1998
+ {
1999
+ "name": "host",
2000
+ "type": {
2001
+ "text": "HTMLElement"
2002
+ }
2003
+ },
2004
+ {
2005
+ "name": "formCtx",
2006
+ "type": {
2007
+ "text": "FormContext | undefined"
2008
+ }
2009
+ },
2010
+ {
2011
+ "name": "props",
2012
+ "type": {
2013
+ "text": "FormContextSyncProps"
2014
+ }
2015
+ }
2016
+ ],
2017
+ "description": "Propagates form context `disabled`, `size`, and optionally `variant` to the\nhost element's attributes. Call this in setup or inside an `onMount` callback.\n\n- `disabled` is tracked with a flag so that context-driven removal only\n clears the attribute when it was set by the context (not by the component).\n- `size` and `variant` are only applied when the component's own prop is unset,\n and removed when the context value disappears to prevent stale attributes."
2018
+ }
2019
+ ],
2020
+ "exports": [
2021
+ {
2022
+ "kind": "js",
2023
+ "name": "mountFormContextSync",
2024
+ "declaration": {
2025
+ "name": "mountFormContextSync",
2026
+ "module": "src/inputs/shared/dom-sync/form-context.ts"
2027
+ }
2028
+ }
2029
+ ]
2030
+ },
2031
+ {
2032
+ "kind": "javascript-module",
2033
+ "path": "src/inputs/shared/dom-sync/label-sync.ts",
2034
+ "declarations": [
2035
+ {
2036
+ "kind": "function",
2037
+ "name": "mountLabelSyncStandalone",
2038
+ "return": {
2039
+ "type": {
2040
+ "text": "void"
2041
+ }
2042
+ },
2043
+ "parameters": [
2044
+ {
2045
+ "name": "labelInsetRef",
2046
+ "type": {
2047
+ "text": "{ value: HTMLElement | null | undefined }"
2048
+ }
2049
+ },
2050
+ {
2051
+ "name": "labelOutsideRef",
2052
+ "type": {
2053
+ "text": "{ value: HTMLElement | null | undefined }"
2054
+ }
2055
+ },
2056
+ {
2057
+ "name": "props",
2058
+ "type": {
2059
+ "text": "LabelSyncProps"
2060
+ }
2061
+ }
2062
+ ],
2063
+ "description": "Reactively synchronises label text and visibility for components that manage\ntheir own `labelInsetRef` / `labelOutsideRef` refs (e.g. select, combobox).\nCall inside `onMount` once DOM refs are ready."
2064
+ }
2065
+ ],
2066
+ "exports": [
2067
+ {
2068
+ "kind": "js",
2069
+ "name": "mountLabelSyncStandalone",
2070
+ "declaration": {
2071
+ "name": "mountLabelSyncStandalone",
2072
+ "module": "src/inputs/shared/dom-sync/label-sync.ts"
2073
+ }
2074
+ }
2075
+ ]
2076
+ },
2077
+ {
2078
+ "kind": "javascript-module",
2079
+ "path": "src/inputs/shared/utils/assistive-text.ts",
2080
+ "declarations": [
2081
+ {
2082
+ "kind": "function",
2083
+ "name": "resolveCounterState",
2084
+ "return": {
2085
+ "type": {
2086
+ "text": "CounterState"
2087
+ }
2088
+ },
2089
+ "parameters": [
2090
+ {
2091
+ "name": "length",
2092
+ "type": {
2093
+ "text": "number"
2094
+ }
2095
+ },
2096
+ {
2097
+ "name": "max",
2098
+ "type": {
2099
+ "text": "number | null"
2100
+ }
2101
+ }
2102
+ ],
2103
+ "description": "Shared counter-state thresholds for text controls with maxlength support."
2104
+ },
2105
+ {
2106
+ "kind": "function",
2107
+ "name": "resolveSplitAssistiveText",
2108
+ "return": {
2109
+ "type": {
2110
+ "text": "SplitAssistiveState"
2111
+ }
2112
+ },
2113
+ "parameters": [
2114
+ {
2115
+ "name": "error",
2116
+ "type": {
2117
+ "text": "string | undefined"
2118
+ }
2119
+ },
2120
+ {
2121
+ "name": "helper",
2122
+ "type": {
2123
+ "text": "string | undefined"
2124
+ }
2125
+ }
2126
+ ],
2127
+ "description": "Split helper/error state for controls that render separate helper and error elements (input)."
2128
+ },
2129
+ {
2130
+ "kind": "function",
2131
+ "name": "resolveMergedAssistiveText",
2132
+ "return": {
2133
+ "type": {
2134
+ "text": "MergedAssistiveState"
2135
+ }
2136
+ },
2137
+ "parameters": [
2138
+ {
2139
+ "name": "error",
2140
+ "type": {
2141
+ "text": "string | undefined"
2142
+ }
2143
+ },
2144
+ {
2145
+ "name": "helper",
2146
+ "type": {
2147
+ "text": "string | undefined"
2148
+ }
2149
+ }
2150
+ ],
2151
+ "description": "Merged helper/error state for controls that render one assistive text element (textarea)."
2152
+ }
2153
+ ],
2154
+ "exports": [
2155
+ {
2156
+ "kind": "js",
2157
+ "name": "resolveCounterState",
2158
+ "declaration": {
2159
+ "name": "resolveCounterState",
2160
+ "module": "src/inputs/shared/utils/assistive-text.ts"
2161
+ }
2162
+ },
2163
+ {
2164
+ "kind": "js",
2165
+ "name": "resolveSplitAssistiveText",
2166
+ "declaration": {
2167
+ "name": "resolveSplitAssistiveText",
2168
+ "module": "src/inputs/shared/utils/assistive-text.ts"
2169
+ }
2170
+ },
2171
+ {
2172
+ "kind": "js",
2173
+ "name": "resolveMergedAssistiveText",
2174
+ "declaration": {
2175
+ "name": "resolveMergedAssistiveText",
2176
+ "module": "src/inputs/shared/utils/assistive-text.ts"
2177
+ }
2178
+ }
2179
+ ]
2180
+ },
2181
+ {
2182
+ "kind": "javascript-module",
2183
+ "path": "src/inputs/shared/utils/choice-change.ts",
2184
+ "declarations": [
2185
+ {
2186
+ "kind": "function",
2187
+ "name": "createChoiceChangeDetail",
2188
+ "return": {
2189
+ "type": {
2190
+ "text": "ChoiceChangeDetail"
2191
+ }
2192
+ },
2193
+ "parameters": [
2194
+ {
2195
+ "name": "values",
2196
+ "type": {
2197
+ "text": "string[]"
2198
+ }
2199
+ },
2200
+ {
2201
+ "name": "labels",
2202
+ "type": {
2203
+ "text": "string[]"
2204
+ }
2205
+ },
2206
+ {
2207
+ "name": "originalEvent",
2208
+ "optional": true,
2209
+ "type": {
2210
+ "text": "Event"
2211
+ }
2212
+ }
2213
+ ]
2214
+ }
2215
+ ],
2216
+ "exports": [
2217
+ {
2218
+ "kind": "js",
2219
+ "name": "createChoiceChangeDetail",
2220
+ "declaration": {
2221
+ "name": "createChoiceChangeDetail",
2222
+ "module": "src/inputs/shared/utils/choice-change.ts"
2223
+ }
2224
+ }
2225
+ ]
2226
+ },
2227
+ {
2228
+ "kind": "javascript-module",
2229
+ "path": "src/inputs/shared/utils/controlled-csv.ts",
2230
+ "declarations": [
2231
+ {
2232
+ "kind": "function",
2233
+ "name": "computeControlledCsvState",
2234
+ "return": {
2235
+ "type": {
2236
+ "text": "ControlledCsvState"
2237
+ }
2238
+ },
2239
+ "parameters": [
2240
+ {
2241
+ "name": "value",
2242
+ "type": {
2243
+ "text": "string | undefined"
2244
+ }
2245
+ }
2246
+ ]
2247
+ }
2248
+ ],
2249
+ "exports": [
2250
+ {
2251
+ "kind": "js",
2252
+ "name": "computeControlledCsvState",
2253
+ "declaration": {
2254
+ "name": "computeControlledCsvState",
2255
+ "module": "src/inputs/shared/utils/controlled-csv.ts"
2256
+ }
2257
+ }
2258
+ ]
2259
+ },
2260
+ {
2261
+ "kind": "javascript-module",
2262
+ "path": "src/inputs/shared/utils/field-values.ts",
2263
+ "declarations": [
2264
+ {
2265
+ "kind": "function",
2266
+ "name": "parseCsvValues",
2267
+ "return": {
2268
+ "type": {
2269
+ "text": "string[]"
2270
+ }
2271
+ },
2272
+ "parameters": [
2273
+ {
2274
+ "name": "value",
2275
+ "type": {
2276
+ "text": "string | undefined"
2277
+ }
2278
+ }
2279
+ ],
2280
+ "description": "Parse comma-separated values used by multi-select style controls."
2281
+ },
2282
+ {
2283
+ "kind": "function",
2284
+ "name": "parsePositiveNumber",
2285
+ "return": {
2286
+ "type": {
2287
+ "text": "number | null"
2288
+ }
2289
+ },
2290
+ "parameters": [
2291
+ {
2292
+ "name": "value",
2293
+ "type": {
2294
+ "text": "unknown"
2295
+ }
2296
+ }
2297
+ ],
2298
+ "description": "Parse positive numeric values from optional component props."
2299
+ }
2300
+ ],
2301
+ "exports": [
2302
+ {
2303
+ "kind": "js",
2304
+ "name": "parseCsvValues",
2305
+ "declaration": {
2306
+ "name": "parseCsvValues",
2307
+ "module": "src/inputs/shared/utils/field-values.ts"
2308
+ }
2309
+ },
2310
+ {
2311
+ "kind": "js",
2312
+ "name": "parsePositiveNumber",
2313
+ "declaration": {
2314
+ "name": "parsePositiveNumber",
2315
+ "module": "src/inputs/shared/utils/field-values.ts"
2316
+ }
2317
+ }
2318
+ ]
2319
+ }
2320
+ ]
2321
+ }