@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 @@
1
+ {"version":3,"file":"number-input.css?inline.js","names":[],"sources":["../../../src/inputs/number-input/number-input.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n display: inline-flex;\n width: fit-content;\n }\n\n :host([fullwidth]) {\n width: 100%;\n }\n\n .wrapper {\n display: inline-flex;\n gap: var(--size-1);\n align-items: center;\n width: 100%;\n }\n\n /* Style the inner <input> through bit-input's exported part */\n bit-input::part(input) {\n text-align: center;\n }\n\n bit-input {\n width: var(--size-20);\n }\n\n :host([fullwidth]) bit-input {\n flex: 1;\n width: auto;\n min-width: 0;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,76 @@
1
+ import type { DisablableProps, SizableProps, ThemableProps, VisualVariant } from '../../types';
2
+ import '../button/button';
3
+ import '../input/input';
4
+ export type BitNumberInputEvents = {
5
+ change: {
6
+ originalEvent?: Event;
7
+ value: number | null;
8
+ };
9
+ input: {
10
+ originalEvent?: Event;
11
+ value: number | null;
12
+ };
13
+ };
14
+ /** Number Input props */
15
+ export type BitNumberInputProps = ThemableProps & SizableProps & DisablableProps & {
16
+ /** Stretch to full width of container */
17
+ fullwidth?: boolean;
18
+ /** Visible label */
19
+ label?: string;
20
+ /** Label placement: 'inset' renders the label inside the control box, 'outside' renders it above */
21
+ 'label-placement'?: 'inset' | 'outside';
22
+ /** Large step (for Page Up/Down, default: 10 × step) */
23
+ 'large-step'?: number;
24
+ /** Maximum allowed value */
25
+ max?: number;
26
+ /** Minimum allowed value */
27
+ min?: number;
28
+ name?: string;
29
+ /** Allow null/empty value */
30
+ nullable?: boolean;
31
+ /** Form field name */
32
+ /** Placeholder text */
33
+ placeholder?: string;
34
+ /** Make the input read-only */
35
+ readonly?: boolean;
36
+ /** Step size for increment/decrement */
37
+ step?: number;
38
+ /** Current numeric value */
39
+ value?: number;
40
+ /** Visual variant */
41
+ variant?: VisualVariant;
42
+ };
43
+ /**
44
+ * A numeric spin-button input with +/− controls, min/max clamping, and full keyboard support.
45
+ *
46
+ * @element bit-number-input
47
+ *
48
+ * @attr {number} value - Current value
49
+ * @attr {number} min - Minimum value
50
+ * @attr {number} max - Maximum value
51
+ * @attr {number} step - Increment/decrement step (default: 1)
52
+ * @attr {number} large-step - Step for Page Up/Down (default: 10)
53
+ * @attr {boolean} disabled - Disables the control
54
+ * @attr {boolean} readonly - Read-only mode
55
+ * @attr {string} label - Visible label
56
+ * @attr {string} name - Form field name
57
+ * @attr {string} color - Theme color
58
+ * @attr {string} size - 'sm' | 'md' | 'lg'
59
+ * @attr {string} placeholder - Input placeholder
60
+ *
61
+ * @fires change - On committed value change. detail: { value: number | null, originalEvent?: Event }
62
+ * @fires input - On every keystroke. detail: { value: number | null, originalEvent?: Event }
63
+ *
64
+ * @cssprop --number-input-height - Control height
65
+ * @cssprop --number-input-border-color - Border color
66
+ * @cssprop --number-input-radius - Border radius
67
+ * @cssprop --number-input-bg - Background
68
+ * @cssprop --number-input-btn-bg - Spin button background
69
+ *
70
+ * @example
71
+ * ```html
72
+ * <bit-number-input label="Quantity" value="1" min="1" max="99" step="1"></bit-number-input>
73
+ * ```
74
+ */
75
+ export declare const NUMBER_INPUT_TAG: string;
76
+ //# sourceMappingURL=number-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"number-input.d.ts","sourceRoot":"","sources":["../../../src/inputs/number-input/number-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK/F,OAAO,kBAAkB,CAAC;AAC1B,OAAO,gBAAgB,CAAC;AAGxB,MAAM,MAAM,oBAAoB,GAAG;IACjC,MAAM,EAAE;QAAE,aAAa,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IACxD,KAAK,EAAE;QAAE,aAAa,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;CACxD,CAAC;AAEF,yBAAyB;AACzB,MAAM,MAAM,mBAAmB,GAAG,aAAa,GAC7C,YAAY,GACZ,eAAe,GAAG;IAChB,yCAAyC;IACzC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oGAAoG;IACpG,iBAAiB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IACxC,wDAAwD;IACxD,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sBAAsB;IAEtB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+BAA+B;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wCAAwC;IACxC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,OAAO,CAAC,EAAE,aAAa,CAAC;CACzB,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,gBAAgB,QA+M3B,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer buildit.base{:host{--_cell-size:var(--otp-cell-size,var(--size-12));--_cell-gap:var(--otp-cell-gap,var(--size-2));--_cell-font-size:var(--otp-cell-font-size,var(--text-xl));--_cell-radius:var(--otp-cell-radius,var(--rounded-lg));--_cell-border:var(--otp-cell-border,var(--border));--_cell-border-color:var(--otp-cell-border-color,var(--color-contrast-300));--_cell-bg:var(--otp-cell-bg,var(--color-canvas));--_cell-focus-border:var(--otp-cell-focus-border,var(--_theme-base,var(--color-contrast-700)));gap:var(--size-1);flex-direction:column;display:inline-flex}.otp-group{gap:var(--_cell-gap);align-items:center;display:flex}.cell{box-sizing:border-box;width:var(--_cell-size);height:var(--_cell-size);font-size:var(--_cell-font-size);font-weight:var(--font-semibold);color:var(--color-contrast-900);text-align:center;caret-color:var(--_cell-focus-border);background:var(--_cell-bg);border:var(--_cell-border) solid var(--_cell-border-color);border-radius:var(--_cell-radius);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:0;line-height:1;display:block}.cell::selection{background:var(--_theme-backdrop,var(--color-contrast-100))}.cell:focus{border-color:var(--_cell-focus-border);box-shadow:0 0 0 var(--border-2) color-mix(in srgb, var(--_cell-focus-border) 20%, transparent);outline:none}.cell:disabled{cursor:not-allowed;opacity:.5}.separator{font-size:var(--_cell-font-size);color:var(--color-contrast-400);-webkit-user-select:none;user-select:none}}@layer buildit.variants{:host(:not([variant])) .cell,:host([variant=solid]) .cell{background:var(--color-contrast-50);border-color:var(--color-contrast-300);box-shadow:var(--shadow-2xs)}:host([variant=flat]) .cell{background:var(--color-contrast-100);border-color:var(--_theme-border,var(--color-contrast-200));box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .cell:hover:not(:disabled){background:color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));border-color:color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300))}:host([variant=flat]) .cell:focus{background:color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));border-color:color-mix(in srgb, var(--_cell-focus-border) 60%, transparent);box-shadow:var(--_theme-shadow)}:host([variant=bordered]) .cell{color:var(--_theme-content,var(--color-contrast-900));caret-color:var(--_theme-content,var(--_cell-focus-border));background:var(--_theme-backdrop,var(--color-contrast-50));border-color:color-mix(in srgb, var(--_cell-focus-border) 70%, transparent)}:host([variant=bordered][color=secondary]) .cell{color:var(--_theme-base);caret-color:var(--_theme-base)}:host([variant=bordered]) .cell:hover:not(:disabled){border-color:var(--_cell-focus-border)}:host([variant=outline]) .cell{box-shadow:none;background:0 0}:host([variant=ghost]) .cell{box-shadow:none;background:0 0;border-color:#0000}:host([variant=ghost]) .cell:hover:not(:disabled){background:var(--color-contrast-100)}}@layer buildit.utilities{:host([size=sm]){--_cell-size:var(--size-9);--_cell-font-size:var(--text-base)}:host([size=lg]){--_cell-size:var(--size-14);--_cell-font-size:var(--text-2xl)}}`;exports.default=e;
2
+ //# sourceMappingURL=otp-input.css?inline.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-input.css?inline.cjs","names":[],"sources":["../../../src/inputs/otp-input/otp-input.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n --_cell-size: var(--otp-cell-size, var(--size-12));\n --_cell-gap: var(--otp-cell-gap, var(--size-2));\n --_cell-font-size: var(--otp-cell-font-size, var(--text-xl));\n --_cell-radius: var(--otp-cell-radius, var(--rounded-lg));\n --_cell-border: var(--otp-cell-border, var(--border));\n --_cell-border-color: var(--otp-cell-border-color, var(--color-contrast-300));\n --_cell-bg: var(--otp-cell-bg, var(--color-canvas));\n --_cell-focus-border: var(--otp-cell-focus-border, var(--_theme-base, var(--color-contrast-700)));\n\n display: inline-flex;\n flex-direction: column;\n gap: var(--size-1);\n }\n\n .otp-group {\n display: flex;\n gap: var(--_cell-gap);\n align-items: center;\n }\n\n .cell {\n box-sizing: border-box;\n display: block;\n width: var(--_cell-size);\n height: var(--_cell-size);\n padding: 0;\n font-size: var(--_cell-font-size);\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-900);\n text-align: center;\n caret-color: var(--_cell-focus-border);\n background: var(--_cell-bg);\n border: var(--_cell-border) solid var(--_cell-border-color);\n border-radius: var(--_cell-radius);\n transition:\n border-color var(--transition-fast),\n box-shadow var(--transition-fast);\n }\n\n .cell::selection {\n background: var(--_theme-backdrop, var(--color-contrast-100));\n }\n\n .cell:focus {\n outline: none;\n border-color: var(--_cell-focus-border);\n box-shadow: 0 0 0 var(--border-2) color-mix(in srgb, var(--_cell-focus-border) 20%, transparent);\n }\n\n .cell:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .separator {\n font-size: var(--_cell-font-size);\n color: var(--color-contrast-400);\n user-select: none;\n }\n}\n\n@layer buildit.variants {\n /* Solid (default) */\n :host(:not([variant])) .cell,\n :host([variant='solid']) .cell {\n background: var(--color-contrast-50);\n border-color: var(--color-contrast-300);\n box-shadow: var(--shadow-2xs);\n }\n\n /* Flat */\n :host([variant='flat']) .cell {\n background: var(--color-contrast-100);\n border-color: var(--_theme-border, var(--color-contrast-200));\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .cell:hover:not(:disabled) {\n background: color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));\n border-color: color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300));\n }\n\n :host([variant='flat']) .cell:focus {\n background: color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));\n border-color: color-mix(in srgb, var(--_cell-focus-border) 60%, transparent);\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) .cell {\n color: var(--_theme-content, var(--color-contrast-900));\n caret-color: var(--_theme-content, var(--_cell-focus-border));\n background: var(--_theme-backdrop, var(--color-contrast-50));\n border-color: color-mix(in srgb, var(--_cell-focus-border) 70%, transparent);\n }\n\n :host([variant='bordered'][color='secondary']) .cell {\n color: var(--_theme-base);\n caret-color: var(--_theme-base);\n }\n\n :host([variant='bordered']) .cell:hover:not(:disabled) {\n border-color: var(--_cell-focus-border);\n }\n\n /* Outline */\n :host([variant='outline']) .cell {\n background: transparent;\n box-shadow: none;\n }\n\n /* Ghost */\n :host([variant='ghost']) .cell {\n background: transparent;\n border-color: transparent;\n box-shadow: none;\n }\n\n :host([variant='ghost']) .cell:hover:not(:disabled) {\n background: var(--color-contrast-100);\n }\n}\n\n@layer buildit.utilities {\n :host([size='sm']) {\n --_cell-size: var(--size-9);\n --_cell-font-size: var(--text-base);\n }\n\n :host([size='lg']) {\n --_cell-size: var(--size-14);\n --_cell-font-size: var(--text-2xl);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/inputs/otp-input/otp-input.css?inline
2
+ var e = "@layer buildit.base{:host{--_cell-size:var(--otp-cell-size,var(--size-12));--_cell-gap:var(--otp-cell-gap,var(--size-2));--_cell-font-size:var(--otp-cell-font-size,var(--text-xl));--_cell-radius:var(--otp-cell-radius,var(--rounded-lg));--_cell-border:var(--otp-cell-border,var(--border));--_cell-border-color:var(--otp-cell-border-color,var(--color-contrast-300));--_cell-bg:var(--otp-cell-bg,var(--color-canvas));--_cell-focus-border:var(--otp-cell-focus-border,var(--_theme-base,var(--color-contrast-700)));gap:var(--size-1);flex-direction:column;display:inline-flex}.otp-group{gap:var(--_cell-gap);align-items:center;display:flex}.cell{box-sizing:border-box;width:var(--_cell-size);height:var(--_cell-size);font-size:var(--_cell-font-size);font-weight:var(--font-semibold);color:var(--color-contrast-900);text-align:center;caret-color:var(--_cell-focus-border);background:var(--_cell-bg);border:var(--_cell-border) solid var(--_cell-border-color);border-radius:var(--_cell-radius);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);padding:0;line-height:1;display:block}.cell::selection{background:var(--_theme-backdrop,var(--color-contrast-100))}.cell:focus{border-color:var(--_cell-focus-border);box-shadow:0 0 0 var(--border-2) color-mix(in srgb, var(--_cell-focus-border) 20%, transparent);outline:none}.cell:disabled{cursor:not-allowed;opacity:.5}.separator{font-size:var(--_cell-font-size);color:var(--color-contrast-400);-webkit-user-select:none;user-select:none}}@layer buildit.variants{:host(:not([variant])) .cell,:host([variant=solid]) .cell{background:var(--color-contrast-50);border-color:var(--color-contrast-300);box-shadow:var(--shadow-2xs)}:host([variant=flat]) .cell{background:var(--color-contrast-100);border-color:var(--_theme-border,var(--color-contrast-200));box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .cell:hover:not(:disabled){background:color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));border-color:color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300))}:host([variant=flat]) .cell:focus{background:color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));border-color:color-mix(in srgb, var(--_cell-focus-border) 60%, transparent);box-shadow:var(--_theme-shadow)}:host([variant=bordered]) .cell{color:var(--_theme-content,var(--color-contrast-900));caret-color:var(--_theme-content,var(--_cell-focus-border));background:var(--_theme-backdrop,var(--color-contrast-50));border-color:color-mix(in srgb, var(--_cell-focus-border) 70%, transparent)}:host([variant=bordered][color=secondary]) .cell{color:var(--_theme-base);caret-color:var(--_theme-base)}:host([variant=bordered]) .cell:hover:not(:disabled){border-color:var(--_cell-focus-border)}:host([variant=outline]) .cell{box-shadow:none;background:0 0}:host([variant=ghost]) .cell{box-shadow:none;background:0 0;border-color:#0000}:host([variant=ghost]) .cell:hover:not(:disabled){background:var(--color-contrast-100)}}@layer buildit.utilities{:host([size=sm]){--_cell-size:var(--size-9);--_cell-font-size:var(--text-base)}:host([size=lg]){--_cell-size:var(--size-14);--_cell-font-size:var(--text-2xl)}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=otp-input.css?inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-input.css?inline.js","names":[],"sources":["../../../src/inputs/otp-input/otp-input.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n --_cell-size: var(--otp-cell-size, var(--size-12));\n --_cell-gap: var(--otp-cell-gap, var(--size-2));\n --_cell-font-size: var(--otp-cell-font-size, var(--text-xl));\n --_cell-radius: var(--otp-cell-radius, var(--rounded-lg));\n --_cell-border: var(--otp-cell-border, var(--border));\n --_cell-border-color: var(--otp-cell-border-color, var(--color-contrast-300));\n --_cell-bg: var(--otp-cell-bg, var(--color-canvas));\n --_cell-focus-border: var(--otp-cell-focus-border, var(--_theme-base, var(--color-contrast-700)));\n\n display: inline-flex;\n flex-direction: column;\n gap: var(--size-1);\n }\n\n .otp-group {\n display: flex;\n gap: var(--_cell-gap);\n align-items: center;\n }\n\n .cell {\n box-sizing: border-box;\n display: block;\n width: var(--_cell-size);\n height: var(--_cell-size);\n padding: 0;\n font-size: var(--_cell-font-size);\n font-weight: var(--font-semibold);\n line-height: 1;\n color: var(--color-contrast-900);\n text-align: center;\n caret-color: var(--_cell-focus-border);\n background: var(--_cell-bg);\n border: var(--_cell-border) solid var(--_cell-border-color);\n border-radius: var(--_cell-radius);\n transition:\n border-color var(--transition-fast),\n box-shadow var(--transition-fast);\n }\n\n .cell::selection {\n background: var(--_theme-backdrop, var(--color-contrast-100));\n }\n\n .cell:focus {\n outline: none;\n border-color: var(--_cell-focus-border);\n box-shadow: 0 0 0 var(--border-2) color-mix(in srgb, var(--_cell-focus-border) 20%, transparent);\n }\n\n .cell:disabled {\n cursor: not-allowed;\n opacity: 0.5;\n }\n\n .separator {\n font-size: var(--_cell-font-size);\n color: var(--color-contrast-400);\n user-select: none;\n }\n}\n\n@layer buildit.variants {\n /* Solid (default) */\n :host(:not([variant])) .cell,\n :host([variant='solid']) .cell {\n background: var(--color-contrast-50);\n border-color: var(--color-contrast-300);\n box-shadow: var(--shadow-2xs);\n }\n\n /* Flat */\n :host([variant='flat']) .cell {\n background: var(--color-contrast-100);\n border-color: var(--_theme-border, var(--color-contrast-200));\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .cell:hover:not(:disabled) {\n background: color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));\n border-color: color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300));\n }\n\n :host([variant='flat']) .cell:focus {\n background: color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));\n border-color: color-mix(in srgb, var(--_cell-focus-border) 60%, transparent);\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered */\n :host([variant='bordered']) .cell {\n color: var(--_theme-content, var(--color-contrast-900));\n caret-color: var(--_theme-content, var(--_cell-focus-border));\n background: var(--_theme-backdrop, var(--color-contrast-50));\n border-color: color-mix(in srgb, var(--_cell-focus-border) 70%, transparent);\n }\n\n :host([variant='bordered'][color='secondary']) .cell {\n color: var(--_theme-base);\n caret-color: var(--_theme-base);\n }\n\n :host([variant='bordered']) .cell:hover:not(:disabled) {\n border-color: var(--_cell-focus-border);\n }\n\n /* Outline */\n :host([variant='outline']) .cell {\n background: transparent;\n box-shadow: none;\n }\n\n /* Ghost */\n :host([variant='ghost']) .cell {\n background: transparent;\n border-color: transparent;\n box-shadow: none;\n }\n\n :host([variant='ghost']) .cell:hover:not(:disabled) {\n background: var(--color-contrast-100);\n }\n}\n\n@layer buildit.utilities {\n :host([size='sm']) {\n --_cell-size: var(--size-9);\n --_cell-font-size: var(--text-base);\n }\n\n :host([size='lg']) {\n --_cell-size: var(--size-14);\n --_cell-font-size: var(--text-2xl);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,71 @@
1
+ import type { ComponentSize, ThemeColor, VisualVariant } from '../../types';
2
+ export type BitOtpInputEvents = {
3
+ change: {
4
+ complete: boolean;
5
+ originalEvent?: Event;
6
+ value: string;
7
+ };
8
+ complete: {
9
+ originalEvent?: Event;
10
+ value: string;
11
+ };
12
+ };
13
+ /** OTP Input props */
14
+ export type BitOtpInputProps = {
15
+ /** Theme color */
16
+ color?: ThemeColor;
17
+ /** Make inputs disabled */
18
+ disabled?: boolean;
19
+ /** Accessible label */
20
+ label?: string;
21
+ /** Number of input cells */
22
+ length?: number;
23
+ /** Mask input (show dots instead of characters) */
24
+ masked?: boolean;
25
+ /** Form field name */
26
+ name?: string;
27
+ /** Show a separator in the middle (e.g. "–") */
28
+ separator?: string;
29
+ /** Component size */
30
+ size?: ComponentSize;
31
+ /** Input type: 'numeric' (digits only) or 'alphanumeric' */
32
+ type?: 'numeric' | 'alphanumeric';
33
+ /** Current value */
34
+ value?: string;
35
+ /** Visual variant */
36
+ variant?: Exclude<VisualVariant, 'text' | 'frost' | 'glass'>;
37
+ };
38
+ /**
39
+ * A segmented OTP (One-Time Password) input with N individual cells.
40
+ * Auto-advances focus on input, auto-backs on Backspace, handles paste.
41
+ *
42
+ * @element bit-otp-input
43
+ *
44
+ * @attr {number} length - Number of cells (default: 6)
45
+ * @attr {string} type - 'numeric' (default) | 'alphanumeric'
46
+ * @attr {string} value - Current code value
47
+ * @attr {boolean} disabled - Disable all cells
48
+ * @attr {boolean} masked - Show as password
49
+ * @attr {string} size - 'sm' | 'md' | 'lg'
50
+ * @attr {string} color - Theme color
51
+ * @attr {string} name - Form field name
52
+ * @attr {string} label - Group aria-label
53
+ * @attr {string} separator - Optional separator character shown in the middle
54
+ *
55
+ * @fires change - Emitted whenever a cell changes. detail: { value: string, complete: boolean, originalEvent?: Event }
56
+ * @fires complete - Emitted when all cells are filled. detail: { value: string, originalEvent?: Event }
57
+ *
58
+ * @cssprop --otp-cell-size - Width and height of each cell
59
+ * @cssprop --otp-cell-gap - Gap between cells
60
+ * @cssprop --otp-cell-font-size - Font size inside cells
61
+ * @cssprop --otp-cell-radius - Border radius of cells
62
+ * @cssprop --otp-cell-border-color - Default border color
63
+ * @cssprop --otp-cell-focus-border - Focused border color
64
+ *
65
+ * @example
66
+ * ```html
67
+ * <bit-otp-input length="6" color="primary"></bit-otp-input>
68
+ * ```
69
+ */
70
+ export declare const OTP_INPUT_TAG: string;
71
+ //# sourceMappingURL=otp-input.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"otp-input.d.ts","sourceRoot":"","sources":["../../../src/inputs/otp-input/otp-input.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAK5E,MAAM,MAAM,iBAAiB,GAAG;IAC9B,MAAM,EAAE;QAAE,QAAQ,EAAE,OAAO,CAAC;QAAC,aAAa,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;IACpE,QAAQ,EAAE;QAAE,aAAa,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CACpD,CAAC;AAEF,sBAAsB;AACtB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,kBAAkB;IAClB,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,uBAAuB;IACvB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4BAA4B;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mDAAmD;IACnD,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,4DAA4D;IAC5D,IAAI,CAAC,EAAE,SAAS,GAAG,cAAc,CAAC;IAClC,oBAAoB;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,qBAAqB;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,GAAG,OAAO,CAAC,CAAC;CAC9D,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA+BG;AACH,eAAO,MAAM,aAAa,QAsKxB,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer buildit.base{:host{--_size:var(--radio-size,var(--size-5));--_font-size:var(--radio-font-size,var(--text-sm));--_bg:var(--radio-bg,var(--color-contrast-200));--_border:var(--radio-border-color,var(--color-contrast-300));gap:var(--_gap,var(--size-2));min-height:var(--_touch-target);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;display:inline-flex}.radio-wrapper{width:var(--_size);height:var(--_size);flex-shrink:0;display:block;position:relative}.circle{box-sizing:border-box;width:var(--_size);height:var(--_size);background:var(--_bg);border:var(--border-2) solid var(--_border);transition:background var(--transition-slower), border-color var(--transition-slower), box-shadow var(--transition-normal);border-radius:50%;position:relative}:host(:focus-visible) .circle{box-shadow:var(--_focus-shadow)}.dot{background:var(--_dot-color);opacity:0;width:50%;height:50%;transition:opacity var(--transition-spring), transform var(--transition-spring);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.label{font-size:var(--_font-size);color:var(--color-contrast)}.helper-text{width:100%;font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500)}.helper-text:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(var(--_size) + var(--size-2))}.helper-text:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(var(--_size) + var(--size-2))}.helper-text[role=alert]{color:var(--color-error)}}@layer buildit.overrides{:host{--_active-bg:var(--radio-checked-bg,var(--_theme-base));--_dot-color:var(--radio-color,var(--_theme-contrast));--_focus-shadow:var(--_theme-shadow)}:host([checked]) .circle{background:var(--_active-bg);border-color:var(--_active-bg)}:host([checked]) .dot{opacity:1;transform:translate(-50%,-50%)scale(1)}}`;exports.default=e;
2
+ //# sourceMappingURL=radio.css?inline.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.css?inline.cjs","names":[],"sources":["../../../src/inputs/radio/radio.css?inline"],"sourcesContent":["@layer buildit.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_size: var(--radio-size, var(--size-5));\n --_font-size: var(--radio-font-size, var(--text-sm));\n --_bg: var(--radio-bg, var(--color-contrast-200));\n --_border: var(--radio-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--_gap, var(--size-2));\n align-items: center;\n min-height: var(--_touch-target);\n cursor: pointer;\n user-select: none;\n }\n\n .radio-wrapper {\n position: relative;\n display: block;\n flex-shrink: 0;\n width: var(--_size);\n height: var(--_size);\n }\n\n .circle {\n position: relative;\n box-sizing: border-box;\n width: var(--_size);\n height: var(--_size);\n background: var(--_bg);\n border: var(--border-2) solid var(--_border);\n border-radius: 50%;\n transition:\n background var(--transition-slower),\n border-color var(--transition-slower),\n box-shadow var(--transition-normal);\n }\n\n /* ========================================\n Focus State\n ======================================== */\n\n :host(:focus-visible) .circle {\n box-shadow: var(--_focus-shadow);\n }\n\n /* ========================================\n Inner Dot\n ======================================== */\n\n .dot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 50%;\n height: 50%;\n background: var(--_dot-color);\n border-radius: 50%;\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.5);\n transition:\n opacity var(--transition-spring),\n transform var(--transition-spring);\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label {\n font-size: var(--_font-size);\n color: var(--color-contrast);\n }\n\n /* ========================================\n Helper / Error Text\n ======================================== */\n\n .helper-text {\n width: 100%;\n padding-inline-start: calc(var(--_size) + var(--size-2));\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer buildit.overrides {\n /* Map theme variables to radio-specific variables */\n :host {\n --_active-bg: var(--radio-checked-bg, var(--_theme-base));\n --_dot-color: var(--radio-color, var(--_theme-contrast));\n --_focus-shadow: var(--_theme-shadow);\n }\n\n /* ========================================\n Checked State\n ======================================== */\n\n :host([checked]) .circle {\n background: var(--_active-bg);\n border-color: var(--_active-bg);\n }\n\n :host([checked]) .dot {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/inputs/radio/radio.css?inline
2
+ var e = "@layer buildit.base{:host{--_size:var(--radio-size,var(--size-5));--_font-size:var(--radio-font-size,var(--text-sm));--_bg:var(--radio-bg,var(--color-contrast-200));--_border:var(--radio-border-color,var(--color-contrast-300));gap:var(--_gap,var(--size-2));min-height:var(--_touch-target);cursor:pointer;-webkit-user-select:none;user-select:none;flex-wrap:wrap;align-items:center;display:inline-flex}.radio-wrapper{width:var(--_size);height:var(--_size);flex-shrink:0;display:block;position:relative}.circle{box-sizing:border-box;width:var(--_size);height:var(--_size);background:var(--_bg);border:var(--border-2) solid var(--_border);transition:background var(--transition-slower), border-color var(--transition-slower), box-shadow var(--transition-normal);border-radius:50%;position:relative}:host(:focus-visible) .circle{box-shadow:var(--_focus-shadow)}.dot{background:var(--_dot-color);opacity:0;width:50%;height:50%;transition:opacity var(--transition-spring), transform var(--transition-spring);border-radius:50%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)scale(.5)}.label{font-size:var(--_font-size);color:var(--color-contrast)}.helper-text{width:100%;font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500)}.helper-text:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){padding-left:calc(var(--_size) + var(--size-2))}.helper-text:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){padding-right:calc(var(--_size) + var(--size-2))}.helper-text[role=alert]{color:var(--color-error)}}@layer buildit.overrides{:host{--_active-bg:var(--radio-checked-bg,var(--_theme-base));--_dot-color:var(--radio-color,var(--_theme-contrast));--_focus-shadow:var(--_theme-shadow)}:host([checked]) .circle{background:var(--_active-bg);border-color:var(--_active-bg)}:host([checked]) .dot{opacity:1;transform:translate(-50%,-50%)scale(1)}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=radio.css?inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.css?inline.js","names":[],"sources":["../../../src/inputs/radio/radio.css?inline"],"sourcesContent":["@layer buildit.base {\n /* ========================================\n Base Styles & Defaults\n ======================================== */\n\n :host {\n --_size: var(--radio-size, var(--size-5));\n --_font-size: var(--radio-font-size, var(--text-sm));\n --_bg: var(--radio-bg, var(--color-contrast-200));\n --_border: var(--radio-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-wrap: wrap;\n gap: var(--_gap, var(--size-2));\n align-items: center;\n min-height: var(--_touch-target);\n cursor: pointer;\n user-select: none;\n }\n\n .radio-wrapper {\n position: relative;\n display: block;\n flex-shrink: 0;\n width: var(--_size);\n height: var(--_size);\n }\n\n .circle {\n position: relative;\n box-sizing: border-box;\n width: var(--_size);\n height: var(--_size);\n background: var(--_bg);\n border: var(--border-2) solid var(--_border);\n border-radius: 50%;\n transition:\n background var(--transition-slower),\n border-color var(--transition-slower),\n box-shadow var(--transition-normal);\n }\n\n /* ========================================\n Focus State\n ======================================== */\n\n :host(:focus-visible) .circle {\n box-shadow: var(--_focus-shadow);\n }\n\n /* ========================================\n Inner Dot\n ======================================== */\n\n .dot {\n position: absolute;\n top: 50%;\n left: 50%;\n width: 50%;\n height: 50%;\n background: var(--_dot-color);\n border-radius: 50%;\n opacity: 0;\n transform: translate(-50%, -50%) scale(0.5);\n transition:\n opacity var(--transition-spring),\n transform var(--transition-spring);\n }\n\n /* ========================================\n Label\n ======================================== */\n\n .label {\n font-size: var(--_font-size);\n color: var(--color-contrast);\n }\n\n /* ========================================\n Helper / Error Text\n ======================================== */\n\n .helper-text {\n width: 100%;\n padding-inline-start: calc(var(--_size) + var(--size-2));\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n .helper-text[role='alert'] {\n color: var(--color-error);\n }\n}\n\n@layer buildit.overrides {\n /* Map theme variables to radio-specific variables */\n :host {\n --_active-bg: var(--radio-checked-bg, var(--_theme-base));\n --_dot-color: var(--radio-color, var(--_theme-contrast));\n --_focus-shadow: var(--_theme-shadow);\n }\n\n /* ========================================\n Checked State\n ======================================== */\n\n :host([checked]) .circle {\n background: var(--_active-bg);\n border-color: var(--_active-bg);\n }\n\n :host([checked]) .dot {\n opacity: 1;\n transform: translate(-50%, -50%) scale(1);\n }\n}\n"],"mappings":""}
@@ -0,0 +1,41 @@
1
+ import type { CheckableProps, DisablableProps, SizableProps, ThemableProps } from '../../types';
2
+ /** Radio component properties */
3
+ export type BitRadioEvents = {
4
+ change: {
5
+ checked: boolean;
6
+ fieldValue: string;
7
+ originalEvent?: Event;
8
+ value: boolean;
9
+ };
10
+ };
11
+ export type BitRadioProps = CheckableProps & ThemableProps & SizableProps & DisablableProps & {
12
+ /** Error message (marks field as invalid) */
13
+ error?: string;
14
+ /** Helper text displayed below the radio */
15
+ helper?: string;
16
+ };
17
+ /**
18
+ * A customizable radio button component for mutually exclusive selections.
19
+ *
20
+ * @element bit-radio
21
+ *
22
+ * @attr {boolean} checked - Checked state
23
+ * @attr {boolean} disabled - Disable radio interaction
24
+ * @attr {string} value - Field value (required for radio groups)
25
+ * @attr {string} name - Form field name (required for radio groups)
26
+ * @attr {string} color - Theme color: 'primary' | 'secondary' | 'info' | 'success' | 'warning' | 'error'
27
+ * @attr {string} size - Radio size: 'sm' | 'md' | 'lg'
28
+ * @attr {string} error - Error message (marks field as invalid)
29
+ * @attr {string} helper - Helper text displayed below the radio
30
+ *
31
+ * @fires change - Emitted when radio is selected. detail: { value: boolean, checked: boolean, fieldValue: string, originalEvent?: Event }
32
+ *
33
+ * @slot - Radio button label text
34
+ *
35
+ * @part radio - The radio wrapper element
36
+ * @part circle - The visual radio circle
37
+ * @part label - The label element
38
+ * @part helper-text - The helper/error text element
39
+ */
40
+ export declare const RADIO_TAG: string;
41
+ //# sourceMappingURL=radio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.d.ts","sourceRoot":"","sources":["../../../src/inputs/radio/radio.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAShG,iCAAiC;AAEjC,MAAM,MAAM,cAAc,GAAG;IAC3B,MAAM,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,OAAO,CAAA;KAAE,CAAC;CACzF,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG,cAAc,GACxC,aAAa,GACb,YAAY,GACZ,eAAe,GAAG;IAChB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,eAAO,MAAM,SAAS,QA0MpB,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer buildit.base{:host{display:block}fieldset{border:none;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--size-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-600);padding:0}legend[hidden]{display:none}.radio-group-items{flex-direction:var(--radio-group-direction,column);gap:var(--radio-group-gap,var(--size-2));display:flex}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}.error-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-error);padding-left:2px;padding-right:2px}}@layer buildit.variants{:host([orientation=horizontal]) .radio-group-items{--radio-group-direction:row;flex-wrap:wrap}}`;exports.default=e;
2
+ //# sourceMappingURL=radio-group.css?inline.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.css?inline.cjs","names":[],"sources":["../../../src/inputs/radio-group/radio-group.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n display: block;\n }\n\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: none;\n }\n\n legend {\n padding: 0;\n margin-bottom: var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-600);\n }\n\n legend[hidden] {\n display: none;\n }\n\n .radio-group-items {\n display: flex;\n flex-direction: var(--radio-group-direction, column);\n gap: var(--radio-group-gap, var(--size-2));\n }\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n .error-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-error);\n }\n}\n\n@layer buildit.variants {\n :host([orientation='horizontal']) .radio-group-items {\n --radio-group-direction: row;\n\n flex-wrap: wrap;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/inputs/radio-group/radio-group.css?inline
2
+ var e = "@layer buildit.base{:host{display:block}fieldset{border:none;min-width:0;margin:0;padding:0}legend{margin-bottom:var(--size-2);font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--color-contrast-600);padding:0}legend[hidden]{display:none}.radio-group-items{flex-direction:var(--radio-group-direction,column);gap:var(--radio-group-gap,var(--size-2));display:flex}.helper-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}.error-text{margin-top:var(--size-1-5);font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-error);padding-left:2px;padding-right:2px}}@layer buildit.variants{:host([orientation=horizontal]) .radio-group-items{--radio-group-direction:row;flex-wrap:wrap}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=radio-group.css?inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.css?inline.js","names":[],"sources":["../../../src/inputs/radio-group/radio-group.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n display: block;\n }\n\n fieldset {\n min-width: 0;\n padding: 0;\n margin: 0;\n border: none;\n }\n\n legend {\n padding: 0;\n margin-bottom: var(--size-2);\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n color: var(--color-contrast-600);\n }\n\n legend[hidden] {\n display: none;\n }\n\n .radio-group-items {\n display: flex;\n flex-direction: var(--radio-group-direction, column);\n gap: var(--radio-group-gap, var(--size-2));\n }\n\n .helper-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n .error-text {\n padding-inline: 2px;\n margin-top: var(--size-1-5);\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-error);\n }\n}\n\n@layer buildit.variants {\n :host([orientation='horizontal']) .radio-group-items {\n --radio-group-direction: row;\n\n flex-wrap: wrap;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,61 @@
1
+ import { type ReadonlySignal } from '@vielzeug/craftit';
2
+ import type { ComponentSize, ThemeColor } from '../../types';
3
+ import { type ChoiceChangeDetail } from '../shared/utils';
4
+ export type RadioGroupContext = {
5
+ color: ReadonlySignal<ThemeColor | undefined>;
6
+ disabled: ReadonlySignal<boolean>;
7
+ name: ReadonlySignal<string | undefined>;
8
+ select: (value: string, originalEvent?: Event) => void;
9
+ size: ReadonlySignal<ComponentSize | undefined>;
10
+ value: ReadonlySignal<string>;
11
+ };
12
+ export declare const RADIO_GROUP_CTX: import("@vielzeug/craftit").InjectionKey<RadioGroupContext>;
13
+ export type BitRadioGroupProps = {
14
+ /** Theme color — propagated to all child bit-radio elements */
15
+ color?: ThemeColor;
16
+ /** Disable all radios in the group */
17
+ disabled?: boolean;
18
+ /** Error message shown below the group */
19
+ error?: string;
20
+ /** Helper text shown below the group */
21
+ helper?: string;
22
+ /** Legend / label for the fieldset. Required for accessibility. */
23
+ label?: string;
24
+ /** Form field name — propagated to all child bit-radio elements */
25
+ name?: string;
26
+ /** Layout direction of the radio options */
27
+ orientation?: 'vertical' | 'horizontal';
28
+ /** Mark the group as required */
29
+ required?: boolean;
30
+ /** Size — propagated to all child bit-radio elements */
31
+ size?: ComponentSize;
32
+ /** Currently selected value */
33
+ value?: string;
34
+ };
35
+ export type BitRadioGroupEvents = {
36
+ change: ChoiceChangeDetail;
37
+ };
38
+ /**
39
+ * A fieldset wrapper that groups `bit-radio` elements, provides shared
40
+ * `name`, `color`, and `size` via context, and manages roving tabindex
41
+ * keyboard navigation.
42
+ *
43
+ * @element bit-radio-group
44
+ *
45
+ * @attr {string} label - Legend text (required for a11y)
46
+ * @attr {string} value - Currently selected value
47
+ * @attr {string} name - Form field name (propagated to all bit-radio children)
48
+ * @attr {boolean} disabled - Disable all radios in the group
49
+ * @attr {string} error - Error message
50
+ * @attr {string} helper - Helper text
51
+ * @attr {string} color - Theme color
52
+ * @attr {string} size - Component size: 'sm' | 'md' | 'lg'
53
+ * @attr {string} orientation - Layout: 'vertical' | 'horizontal'
54
+ * @attr {boolean} required - Required field
55
+ *
56
+ * @fires change - Emitted when a radio is selected. detail: { value: string, values: string[], labels: string[], originalEvent?: Event }
57
+ *
58
+ * @slot - Place `bit-radio` elements here
59
+ */
60
+ export declare const RADIO_GROUP_TAG: string;
61
+ //# sourceMappingURL=radio-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio-group.d.ts","sourceRoot":"","sources":["../../../src/inputs/radio-group/radio-group.ts"],"names":[],"mappings":"AAAA,OAAO,EAYL,KAAK,cAAc,EAGpB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK7D,OAAO,EAA4B,KAAK,kBAAkB,EAAE,MAAM,iBAAiB,CAAC;AAKpF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,KAAK,EAAE,cAAc,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IAC9C,QAAQ,EAAE,cAAc,CAAC,OAAO,CAAC,CAAC;IAClC,IAAI,EAAE,cAAc,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,MAAM,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,aAAa,CAAC,EAAE,KAAK,KAAK,IAAI,CAAC;IACvD,IAAI,EAAE,cAAc,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAChD,KAAK,EAAE,cAAc,CAAC,MAAM,CAAC,CAAC;CAC/B,CAAC;AAEF,eAAO,MAAM,eAAe,6DAAwD,CAAC;AAIrF,MAAM,MAAM,kBAAkB,GAAG;IAC/B,+DAA+D;IAC/D,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,sCAAsC;IACtC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,wCAAwC;IACxC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mEAAmE;IACnE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mEAAmE;IACnE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,WAAW,CAAC,EAAE,UAAU,GAAG,YAAY,CAAC;IACxC,iCAAiC;IACjC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,wDAAwD;IACxD,IAAI,CAAC,EAAE,aAAa,CAAC;IACrB,+BAA+B;IAC/B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,MAAM,EAAE,kBAAkB,CAAC;CAC5B,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,eAAO,MAAM,eAAe,QAqK1B,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer buildit.base{:host{--_star-size:var(--rating-star-size,var(--size-7));--_color-empty:var(--rating-color-empty,var(--color-contrast-200));--_color-filled:var(--rating-color-filled,var(--_theme-base,var(--color-warning)));--_gap:var(--rating-gap,var(--size-0_5));align-items:center;display:inline-flex}.stars{gap:var(--_gap);align-items:center;display:flex;position:relative}.sparkle-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.sparkle{pointer-events:none;background:var(--_color-filled);animation:var(--_motion-animation,sparkle-fly var(--_dur,.5s) ease-out forwards);border-radius:50%;position:absolute}@keyframes sparkle-fly{0%{opacity:.9;transform:translate(-50%, -50%) rotate(var(--_angle)) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--_angle)) translateY(calc(-1 * var(--_dist))) scale(0)}}.star-btn{all:unset;width:var(--_star-size);min-width:var(--_touch-target);height:var(--_star-size);min-height:var(--_touch-target);color:var(--_color-empty);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.star-btn[data-filled]{color:var(--_color-filled)}.star-btn:hover:not([disabled]),.star-btn:focus-visible:not([disabled]){transform:scale(1.15)}.star-btn:focus-visible{outline:var(--border-2) solid var(--_color-filled);outline-offset:var(--border-2)}.star-btn[disabled]{cursor:default}:host([readonly]) .star-btn,:host([disabled]) .star-btn{pointer-events:none}:host([disabled]){opacity:.5}svg{width:100%;height:100%}}@layer buildit.utilities{:host([size=sm]){--_star-size:var(--size-5)}:host([size=lg]){--_star-size:var(--size-9)}@media (forced-colors:active){.star-btn{color:buttontext}.star-btn[data-filled]{color:highlight;forced-color-adjust:none}.star-btn:focus-visible{box-shadow:none;outline:2px solid highlight}}}@media (prefers-reduced-motion:reduce){.sparkle{display:none}}`;exports.default=e;
2
+ //# sourceMappingURL=rating.css?inline.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.css?inline.cjs","names":[],"sources":["../../../src/inputs/rating/rating.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n --_star-size: var(--rating-star-size, var(--size-7));\n --_color-empty: var(--rating-color-empty, var(--color-contrast-200));\n --_color-filled: var(--rating-color-filled, var(--_theme-base, var(--color-warning)));\n --_gap: var(--rating-gap, var(--size-0_5));\n\n display: inline-flex;\n align-items: center;\n }\n\n .stars {\n position: relative;\n display: flex;\n gap: var(--_gap);\n align-items: center;\n }\n\n .sparkle-layer {\n position: absolute;\n inset: 0;\n overflow: visible;\n pointer-events: none;\n }\n\n .sparkle {\n position: absolute;\n pointer-events: none;\n background: var(--_color-filled);\n border-radius: 50%;\n animation: var(--_motion-animation, sparkle-fly var(--_dur, 500ms) ease-out forwards);\n }\n\n @keyframes sparkle-fly {\n from {\n opacity: 0.9;\n transform: translate(-50%, -50%) rotate(var(--_angle)) translateY(0) scale(1);\n }\n\n to {\n opacity: 0;\n transform: translate(-50%, -50%) rotate(var(--_angle)) translateY(calc(-1 * var(--_dist))) scale(0);\n }\n }\n\n .star-btn {\n all: unset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_star-size);\n min-width: var(--_touch-target);\n height: var(--_star-size);\n min-height: var(--_touch-target);\n color: var(--_color-empty);\n cursor: pointer;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n transform var(--transition-fast);\n }\n\n .star-btn[data-filled] {\n color: var(--_color-filled);\n }\n\n .star-btn:hover:not([disabled]),\n .star-btn:focus-visible:not([disabled]) {\n transform: scale(1.15);\n }\n\n .star-btn:focus-visible {\n outline: var(--border-2) solid var(--_color-filled);\n outline-offset: var(--border-2);\n }\n\n .star-btn[disabled] {\n cursor: default;\n }\n\n :host([readonly]) .star-btn,\n :host([disabled]) .star-btn {\n pointer-events: none;\n }\n\n :host([disabled]) {\n opacity: 0.5;\n }\n\n svg {\n width: 100%;\n height: 100%;\n }\n}\n\n@layer buildit.utilities {\n :host([size='sm']) {\n --_star-size: var(--size-5);\n }\n\n :host([size='lg']) {\n --_star-size: var(--size-9);\n }\n\n @media (forced-colors: active) {\n /* Distinguish filled vs unfilled stars with system button colors */\n .star-btn {\n color: ButtonText;\n }\n\n .star-btn[data-filled] {\n color: Highlight;\n forced-color-adjust: none;\n }\n\n .star-btn:focus-visible {\n outline: 2px solid Highlight;\n box-shadow: none;\n }\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .sparkle {\n display: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/inputs/rating/rating.css?inline
2
+ var e = "@layer buildit.base{:host{--_star-size:var(--rating-star-size,var(--size-7));--_color-empty:var(--rating-color-empty,var(--color-contrast-200));--_color-filled:var(--rating-color-filled,var(--_theme-base,var(--color-warning)));--_gap:var(--rating-gap,var(--size-0_5));align-items:center;display:inline-flex}.stars{gap:var(--_gap);align-items:center;display:flex;position:relative}.sparkle-layer{pointer-events:none;position:absolute;inset:0;overflow:visible}.sparkle{pointer-events:none;background:var(--_color-filled);animation:var(--_motion-animation,sparkle-fly var(--_dur,.5s) ease-out forwards);border-radius:50%;position:absolute}@keyframes sparkle-fly{0%{opacity:.9;transform:translate(-50%, -50%) rotate(var(--_angle)) translateY(0) scale(1)}to{opacity:0;transform:translate(-50%, -50%) rotate(var(--_angle)) translateY(calc(-1 * var(--_dist))) scale(0)}}.star-btn{all:unset;width:var(--_star-size);min-width:var(--_touch-target);height:var(--_star-size);min-height:var(--_touch-target);color:var(--_color-empty);cursor:pointer;border-radius:var(--rounded-sm);transition:color var(--transition-fast), transform var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.star-btn[data-filled]{color:var(--_color-filled)}.star-btn:hover:not([disabled]),.star-btn:focus-visible:not([disabled]){transform:scale(1.15)}.star-btn:focus-visible{outline:var(--border-2) solid var(--_color-filled);outline-offset:var(--border-2)}.star-btn[disabled]{cursor:default}:host([readonly]) .star-btn,:host([disabled]) .star-btn{pointer-events:none}:host([disabled]){opacity:.5}svg{width:100%;height:100%}}@layer buildit.utilities{:host([size=sm]){--_star-size:var(--size-5)}:host([size=lg]){--_star-size:var(--size-9)}@media (forced-colors:active){.star-btn{color:buttontext}.star-btn[data-filled]{color:highlight;forced-color-adjust:none}.star-btn:focus-visible{box-shadow:none;outline:2px solid highlight}}}@media (prefers-reduced-motion:reduce){.sparkle{display:none}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=rating.css?inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.css?inline.js","names":[],"sources":["../../../src/inputs/rating/rating.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n --_star-size: var(--rating-star-size, var(--size-7));\n --_color-empty: var(--rating-color-empty, var(--color-contrast-200));\n --_color-filled: var(--rating-color-filled, var(--_theme-base, var(--color-warning)));\n --_gap: var(--rating-gap, var(--size-0_5));\n\n display: inline-flex;\n align-items: center;\n }\n\n .stars {\n position: relative;\n display: flex;\n gap: var(--_gap);\n align-items: center;\n }\n\n .sparkle-layer {\n position: absolute;\n inset: 0;\n overflow: visible;\n pointer-events: none;\n }\n\n .sparkle {\n position: absolute;\n pointer-events: none;\n background: var(--_color-filled);\n border-radius: 50%;\n animation: var(--_motion-animation, sparkle-fly var(--_dur, 500ms) ease-out forwards);\n }\n\n @keyframes sparkle-fly {\n from {\n opacity: 0.9;\n transform: translate(-50%, -50%) rotate(var(--_angle)) translateY(0) scale(1);\n }\n\n to {\n opacity: 0;\n transform: translate(-50%, -50%) rotate(var(--_angle)) translateY(calc(-1 * var(--_dist))) scale(0);\n }\n }\n\n .star-btn {\n all: unset;\n display: inline-flex;\n align-items: center;\n justify-content: center;\n width: var(--_star-size);\n min-width: var(--_touch-target);\n height: var(--_star-size);\n min-height: var(--_touch-target);\n color: var(--_color-empty);\n cursor: pointer;\n border-radius: var(--rounded-sm);\n transition:\n color var(--transition-fast),\n transform var(--transition-fast);\n }\n\n .star-btn[data-filled] {\n color: var(--_color-filled);\n }\n\n .star-btn:hover:not([disabled]),\n .star-btn:focus-visible:not([disabled]) {\n transform: scale(1.15);\n }\n\n .star-btn:focus-visible {\n outline: var(--border-2) solid var(--_color-filled);\n outline-offset: var(--border-2);\n }\n\n .star-btn[disabled] {\n cursor: default;\n }\n\n :host([readonly]) .star-btn,\n :host([disabled]) .star-btn {\n pointer-events: none;\n }\n\n :host([disabled]) {\n opacity: 0.5;\n }\n\n svg {\n width: 100%;\n height: 100%;\n }\n}\n\n@layer buildit.utilities {\n :host([size='sm']) {\n --_star-size: var(--size-5);\n }\n\n :host([size='lg']) {\n --_star-size: var(--size-9);\n }\n\n @media (forced-colors: active) {\n /* Distinguish filled vs unfilled stars with system button colors */\n .star-btn {\n color: ButtonText;\n }\n\n .star-btn[data-filled] {\n color: Highlight;\n forced-color-adjust: none;\n }\n\n .star-btn:focus-visible {\n outline: 2px solid Highlight;\n box-shadow: none;\n }\n }\n}\n\n@media (prefers-reduced-motion: reduce) {\n .sparkle {\n display: none;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,48 @@
1
+ import type { DisablableProps, SizableProps, ThemableProps } from '../../types';
2
+ export type BitRatingEvents = {
3
+ change: {
4
+ originalEvent?: Event;
5
+ value: number;
6
+ };
7
+ };
8
+ /** Rating props */
9
+ export type BitRatingProps = ThemableProps & SizableProps & DisablableProps & {
10
+ /** Accessible group label */
11
+ label?: string;
12
+ /** Maximum rating (number of stars) */
13
+ max?: number;
14
+ /** Form field name */
15
+ name?: string;
16
+ /** Make rating read-only */
17
+ readonly?: boolean;
18
+ /** Current rating value */
19
+ value?: number;
20
+ };
21
+ /**
22
+ * A star rating input.
23
+ *
24
+ * @element bit-rating
25
+ *
26
+ * @attr {number} value - Current rating value (default: 0)
27
+ * @attr {number} max - Maximum number of stars (default: 5)
28
+ * @attr {boolean} readonly - Read-only display mode
29
+ * @attr {boolean} disabled - Disabled state
30
+ * @attr {string} label - aria-label for the group (default: 'Rating')
31
+ * @attr {string} color - Theme color for filled stars
32
+ * @attr {string} size - 'sm' | 'md' | 'lg'
33
+ * @attr {string} name - Form field name
34
+ *
35
+ * @fires change - Emitted when value changes. detail: { value: number, originalEvent?: Event }
36
+ *
37
+ * @cssprop --rating-star-size - Star diameter
38
+ * @cssprop --rating-color-empty - Empty star color
39
+ * @cssprop --rating-color-filled - Filled star color
40
+ * @cssprop --rating-gap - Gap between stars
41
+ *
42
+ * @example
43
+ * ```html
44
+ * <bit-rating value="3" max="5" color="warning"></bit-rating>
45
+ * ```
46
+ */
47
+ export declare const RATING_TAG: string;
48
+ //# sourceMappingURL=rating.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rating.d.ts","sourceRoot":"","sources":["../../../src/inputs/rating/rating.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAUhF,MAAM,MAAM,eAAe,GAAG;IAC5B,MAAM,EAAE;QAAE,aAAa,CAAC,EAAE,KAAK,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC;CAClD,CAAC;AAEF,mBAAmB;AACnB,MAAM,MAAM,cAAc,GAAG,aAAa,GACxC,YAAY,GACZ,eAAe,GAAG;IAChB,6BAA6B;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,uCAAuC;IACvC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,sBAAsB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2BAA2B;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEJ;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,eAAO,MAAM,UAAU,QAiKrB,CAAC"}
@@ -0,0 +1,2 @@
1
+ var e=`@layer buildit.base{:host{--_font-size:var(--select-font-size,var(--text-sm));--_gap:var(--select-gap,var(--size-2));--_field-height:var(--select-height,var(--size-10));--_row-min-height:calc(var(--leading-normal) * var(--_font-size) + 2px);--_padding:var(--select-padding,var(--size-1-5) var(--size-3));--_radius:var(--select-radius,var(--rounded-lg));--_placeholder:var(--select-placeholder-color,var(--color-contrast-500));--_bg:var(--select-bg,var(--color-contrast-100));--_border-color:var(--select-border-color,var(--color-contrast-300));flex-direction:column;align-items:stretch;min-width:12rem;display:inline-flex}:host([fullwidth]){width:100%}::slotted(option),::slotted(optgroup){display:none}.select-wrapper{gap:var(--size-1-5);flex-direction:column;width:100%;display:flex}.field{box-sizing:border-box;height:var(--_field-height);min-height:max(var(--_field-height), var(--_touch-target,0px));padding:var(--_padding);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--shadow-2xs);transition:var(--_motion-transition,background var(--transition-fast), backdrop-filter var(--transition-slow), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast));flex-direction:column;justify-content:center;align-items:stretch;display:flex;position:relative}.field:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left;padding-right:var(--size-8)}.field:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right;padding-left:var(--size-8)}.field:focus{outline:none}:host([multiple]) .field{height:auto}.field:has(.label-inset:not([hidden])){height:auto}.label-inset{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--color-contrast-500);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);margin-bottom:2px}.label-outside{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);color:var(--color-contrast-500);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.trigger-row{gap:var(--_gap);max-width:calc(100% - var(--size-10));min-height:var(--_row-min-height);flex-wrap:wrap;flex:1;align-items:center;display:flex}.chips-row{gap:var(--size-1);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex}.chips-row[hidden],.trigger-value[hidden]{display:none}.trigger-value{text-overflow:ellipsis;min-width:0;font-size:var(--_font-size);color:var(--color-contrast-900);white-space:nowrap;transition:color var(--transition-fast);flex:1;line-height:1;overflow:hidden}.trigger-placeholder{color:var(--_placeholder);transition:color var(--transition-fast)}.trigger-icon{width:var(--size-6);height:100%;color:var(--color-contrast-500);transition:transform var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:0}.trigger-icon:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--size-2)}.trigger-icon:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--size-2)}:host([open]) .trigger-icon{transform:rotate(180deg)}.loader{width:1em;height:1em;animation:var(--_motion-animation,bit-select-spin .6s linear infinite);border:2px solid;border-radius:50%;flex-shrink:0;display:none}.loader:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}:host([loading]) .loader{display:inline-block}:host([loading]) .trigger-icon svg{display:none}@keyframes bit-select-spin{to{transform:rotate(360deg)}}.dropdown{z-index:var(--z-dropdown,8000);box-sizing:border-box;visibility:hidden;gap:var(--size-0-5);max-height:260px;padding:var(--size-1);overscroll-behavior:contain;pointer-events:none;background:var(--color-canvas);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);box-shadow:var(--shadow-lg);opacity:0;transition:var(--_motion-transition,opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast));flex-direction:column;display:flex;position:fixed;overflow-y:auto;transform:translateY(-4px)}.dropdown:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.dropdown:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.dropdown[data-open]{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}.options-list{flex-direction:column;gap:0;display:flex}.option{gap:var(--size-2);padding:var(--size-1-5) var(--size-2-5);font-size:var(--_font-size);line-height:var(--leading-normal);cursor:pointer;border-radius:var(--rounded-sm);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;display:flex}.option>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.option:hover:not([data-disabled]){background:var(--color-contrast-100)}.option[data-focused]:not([data-disabled]){color:var(--_theme-base);background:color-mix(in srgb, var(--_theme-base) 12%, var(--color-contrast-100))}.option[data-selected]{font-weight:var(--font-medium);color:var(--_theme-base);background:color-mix(in srgb, var(--_theme-base) 10%, var(--color-contrast-50))}.option[data-selected][data-focused]{background:color-mix(in srgb, var(--_theme-base) 20%, var(--color-contrast-100))}.option[data-disabled]{color:var(--color-contrast-400);cursor:not-allowed;opacity:.6}.option-check{color:var(--_theme-base);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;display:inline-flex}.option-check:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.option-check:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.option[data-selected] .option-check{opacity:1}.optgroup-label{padding:var(--size-1-5) var(--size-2-5) var(--size-1);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-contrast-500);text-transform:uppercase;letter-spacing:var(--tracking-wide,.05em)}.dropdown-loading,.dropdown-empty{padding:var(--size-3) var(--size-2-5);font-size:var(--_font-size);color:var(--color-contrast-500);text-align:center}.helper-text{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}:host(:not([disabled],[variant=bordered],[variant=flat])) .field:hover{border-color:var(--color-contrast-400)}:host(:not([disabled],[variant=flat])) .field:focus-within,:host([open]:not([disabled],[variant=flat])) .field{background:var(--color-canvas);border-color:var(--_theme-focus);box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow));transform:translateY(-1px)}:host(:not([disabled])) .field:focus-within .label-inset,:host(:not([disabled])) .field:focus-within .label-outside,:host([open]:not([disabled])) .label-inset{color:var(--_theme-focus)}:host([has-error]) .field{border-color:var(--color-error)}:host([has-error]) .field:focus-within{border-color:var(--color-error);box-shadow:var(--color-error-focus-shadow)}:host([has-error]) .label-inset,:host([has-error]) .label-outside{color:var(--color-error)}}@layer buildit.variants{:host(:not([variant])) .field,:host([variant=solid]) .field{background:var(--color-contrast-50);border-color:var(--color-contrast-300);box-shadow:var(--shadow-2xs)}:host(:not([variant],[disabled])) .field:focus-within,:host([variant=solid]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=flat]) .field{border-color:var(--_theme-border);box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .field:hover{background:color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));border-color:color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300))}:host([variant=flat]) .field:focus-within{background:color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));border-color:color-mix(in srgb, var(--_theme-focus) 60%, transparent);box-shadow:var(--_theme-shadow)}:host([variant=bordered]) .field{background:var(--_theme-backdrop);border-color:color-mix(in srgb, var(--_theme-focus) 70%, transparent)}:host([variant=bordered]) .trigger-value{color:var(--color-contrast-900)}:host([variant=bordered]) .trigger-placeholder{color:var(--_placeholder)}:host([variant=bordered]) .field:hover{border-color:var(--_theme-focus)}:host([variant=outline]) .field{box-shadow:none;background:0 0}:host([variant=outline]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=ghost]) .field{box-shadow:none;background:0 0;border-color:#0000}:host([variant=ghost]) .field:hover{background:var(--color-contrast-100)}:host([variant=ghost]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}}@layer buildit.utilities{:host([fullwidth]){width:100%;display:flex}}`;exports.default=e;
2
+ //# sourceMappingURL=select.css?inline.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.css?inline.cjs","names":[],"sources":["../../../src/inputs/select/select.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n --_font-size: var(--select-font-size, var(--text-sm));\n --_gap: var(--select-gap, var(--size-2));\n --_field-height: var(--select-height, var(--size-10));\n --_row-min-height: calc(var(--leading-normal) * var(--_font-size) + 2px);\n --_padding: var(--select-padding, var(--size-1-5) var(--size-3));\n --_radius: var(--select-radius, var(--rounded-lg));\n --_placeholder: var(--select-placeholder-color, var(--color-contrast-500));\n --_bg: var(--select-bg, var(--color-contrast-100));\n --_border-color: var(--select-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n min-width: 12rem;\n }\n\n :host([fullwidth]) {\n width: 100%;\n }\n\n /* Hide native <option> elements — we render our own UI */\n ::slotted(option),\n ::slotted(optgroup) {\n display: none;\n }\n\n .select-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--size-1-5);\n width: 100%;\n }\n\n /* ========================================\n Trigger Field\n ======================================== */\n\n .field {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n height: var(--_field-height);\n min-height: max(var(--_field-height), var(--_touch-target, 0px));\n padding: var(--_padding);\n padding-inline-end: var(--size-8);\n text-align: start;\n cursor: pointer;\n user-select: none;\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--shadow-2xs);\n transition: var(\n --_motion-transition,\n background var(--transition-fast),\n backdrop-filter var(--transition-slow),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast),\n transform var(--transition-fast)\n );\n }\n\n .field:focus {\n outline: none;\n }\n\n /* Expand height for multi-select chips or inset label */\n :host([multiple]) .field,\n .field:has(.label-inset:not([hidden])) {\n height: auto;\n }\n\n .label-inset {\n margin-bottom: 2px;\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n cursor: pointer;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n .label-outside {\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n line-height: var(--leading-none);\n color: var(--color-contrast-500);\n cursor: pointer;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n .trigger-row {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: var(--_gap);\n align-items: center;\n max-width: calc(100% - var(--size-10));\n min-height: var(--_row-min-height);\n }\n\n .chips-row {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: var(--size-1);\n align-items: center;\n min-width: 0;\n }\n\n .chips-row[hidden],\n .trigger-value[hidden] {\n display: none;\n }\n\n .trigger-value {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_font-size);\n line-height: 1;\n color: var(--color-contrast-900);\n white-space: nowrap;\n transition: color var(--transition-fast);\n }\n\n .trigger-placeholder {\n color: var(--_placeholder);\n transition: color var(--transition-fast);\n }\n\n .trigger-icon {\n position: absolute;\n inset-inline-end: var(--size-2);\n top: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-6);\n height: 100%;\n color: var(--color-contrast-500);\n transition: transform var(--transition-fast);\n }\n\n :host([open]) .trigger-icon {\n transform: rotate(180deg);\n }\n\n .loader {\n display: none;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n border: 2px solid currentcolor;\n border-inline-end-color: transparent;\n border-radius: 50%;\n animation: var(--_motion-animation, bit-select-spin 0.6s linear infinite);\n }\n\n :host([loading]) .loader {\n display: inline-block;\n }\n\n :host([loading]) .trigger-icon svg {\n display: none;\n }\n\n @keyframes bit-select-spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n /* ========================================\n Dropdown Listbox\n ======================================== */\n\n .dropdown {\n position: fixed;\n z-index: var(--z-dropdown, 8000);\n box-sizing: border-box;\n display: flex;\n visibility: hidden;\n flex-direction: column;\n gap: var(--size-0-5);\n max-height: 260px;\n padding: var(--size-1);\n overflow-y: auto;\n overscroll-behavior: contain;\n text-align: start;\n pointer-events: none;\n background: var(--color-canvas);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n box-shadow: var(--shadow-lg);\n\n /* Hidden by default */\n opacity: 0;\n transform: translateY(-4px);\n transition: var(\n --_motion-transition,\n opacity var(--transition-fast),\n transform var(--transition-fast),\n visibility var(--transition-fast)\n );\n }\n\n .dropdown[data-open] {\n visibility: visible;\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n }\n\n .options-list {\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n\n /* ========================================\n Option Items\n ======================================== */\n\n .option {\n display: flex;\n gap: var(--size-2);\n align-items: center;\n padding: var(--size-1-5) var(--size-2-5);\n font-size: var(--_font-size);\n line-height: var(--leading-normal);\n cursor: pointer;\n border-radius: var(--rounded-sm);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* Truncate long labels to keep option rows compact and readable. */\n .option > span:first-child {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .option:hover:not([data-disabled]) {\n background: var(--color-contrast-100);\n }\n\n .option[data-focused]:not([data-disabled]) {\n color: var(--_theme-base);\n background: color-mix(in srgb, var(--_theme-base) 12%, var(--color-contrast-100));\n }\n\n .option[data-selected] {\n font-weight: var(--font-medium);\n color: var(--_theme-base);\n background: color-mix(in srgb, var(--_theme-base) 10%, var(--color-contrast-50));\n }\n\n .option[data-selected][data-focused] {\n background: color-mix(in srgb, var(--_theme-base) 20%, var(--color-contrast-100));\n }\n\n .option[data-disabled] {\n color: var(--color-contrast-400);\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n .option-check {\n display: inline-flex;\n flex-shrink: 0;\n margin-inline-start: auto;\n color: var(--_theme-base);\n opacity: 0;\n transition: opacity var(--transition-fast);\n }\n\n .option[data-selected] .option-check {\n opacity: 1;\n }\n\n /* ========================================\n Option Groups\n ======================================== */\n\n .optgroup-label {\n padding: var(--size-1-5) var(--size-2-5) var(--size-1);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n text-transform: uppercase;\n letter-spacing: var(--tracking-wide, 0.05em);\n }\n\n /* ========================================\n Loading / No-Results\n ======================================== */\n\n .dropdown-loading,\n .dropdown-empty {\n padding: var(--size-3) var(--size-2-5);\n font-size: var(--_font-size);\n color: var(--color-contrast-500);\n text-align: center;\n }\n\n /* ========================================\n Helper / Error Text\n ======================================== */\n\n .helper-text {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n /* ========================================\n States\n ======================================== */\n\n :host(:not([disabled], [variant='bordered'], [variant='flat'])) .field:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled], [variant='flat'])) .field:focus-within,\n :host([open]:not([disabled], [variant='flat'])) .field {\n background: var(--color-canvas);\n border-color: var(--_theme-focus);\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n transform: translateY(-1px);\n }\n\n :host(:not([disabled])) .field:focus-within .label-inset,\n :host(:not([disabled])) .field:focus-within .label-outside,\n :host([open]:not([disabled])) .label-inset {\n color: var(--_theme-focus);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([has-error]) .field {\n border-color: var(--color-error);\n }\n\n :host([has-error]) .field:focus-within {\n border-color: var(--color-error);\n box-shadow: var(--color-error-focus-shadow);\n }\n\n :host([has-error]) .label-inset,\n :host([has-error]) .label-outside {\n color: var(--color-error);\n }\n}\n\n@layer buildit.variants {\n /* ========================================\n Visual Variants\n ======================================== */\n\n /* Solid (Default) - Standard select with background */\n :host(:not([variant])) .field,\n :host([variant='solid']) .field {\n background: var(--color-contrast-50);\n border-color: var(--color-contrast-300);\n box-shadow: var(--shadow-2xs);\n }\n\n :host(:not([variant], [disabled])) .field:focus-within,\n :host([variant='solid']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Flat - Minimal with subtle color hint */\n :host([variant='flat']) .field {\n border-color: var(--_theme-border);\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .field:hover {\n background: color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));\n border-color: color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300));\n }\n\n :host([variant='flat']) .field:focus-within {\n background: color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));\n border-color: color-mix(in srgb, var(--_theme-focus) 60%, transparent);\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered - Filled with theme color */\n :host([variant='bordered']) .field {\n background: var(--_theme-backdrop);\n border-color: color-mix(in srgb, var(--_theme-focus) 70%, transparent);\n }\n\n :host([variant='bordered']) .trigger-value {\n color: var(--color-contrast-900);\n }\n\n :host([variant='bordered']) .trigger-placeholder {\n color: var(--_placeholder);\n }\n\n :host([variant='bordered']) .field:hover {\n border-color: var(--_theme-focus);\n }\n\n /* Outline - Transparent background */\n :host([variant='outline']) .field {\n background: transparent;\n box-shadow: none;\n }\n\n :host([variant='outline']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Ghost - Transparent until hover */\n :host([variant='ghost']) .field {\n background: transparent;\n border-color: transparent;\n box-shadow: none;\n }\n\n :host([variant='ghost']) .field:hover {\n background: var(--color-contrast-100);\n }\n\n :host([variant='ghost']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n}\n\n@layer buildit.utilities {\n :host([fullwidth]) {\n display: flex;\n width: 100%;\n }\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ //#region src/inputs/select/select.css?inline
2
+ var e = "@layer buildit.base{:host{--_font-size:var(--select-font-size,var(--text-sm));--_gap:var(--select-gap,var(--size-2));--_field-height:var(--select-height,var(--size-10));--_row-min-height:calc(var(--leading-normal) * var(--_font-size) + 2px);--_padding:var(--select-padding,var(--size-1-5) var(--size-3));--_radius:var(--select-radius,var(--rounded-lg));--_placeholder:var(--select-placeholder-color,var(--color-contrast-500));--_bg:var(--select-bg,var(--color-contrast-100));--_border-color:var(--select-border-color,var(--color-contrast-300));flex-direction:column;align-items:stretch;min-width:12rem;display:inline-flex}:host([fullwidth]){width:100%}::slotted(option),::slotted(optgroup){display:none}.select-wrapper{gap:var(--size-1-5);flex-direction:column;width:100%;display:flex}.field{box-sizing:border-box;height:var(--_field-height);min-height:max(var(--_field-height), var(--_touch-target,0px));padding:var(--_padding);cursor:pointer;-webkit-user-select:none;user-select:none;background:var(--_bg);border:var(--border) solid var(--_border-color);border-radius:var(--_radius);box-shadow:var(--shadow-2xs);transition:var(--_motion-transition,background var(--transition-fast), backdrop-filter var(--transition-slow), border-color var(--transition-fast), box-shadow var(--transition-fast), transform var(--transition-fast));flex-direction:column;justify-content:center;align-items:stretch;display:flex;position:relative}.field:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left;padding-right:var(--size-8)}.field:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right;padding-left:var(--size-8)}.field:focus{outline:none}:host([multiple]) .field{height:auto}.field:has(.label-inset:not([hidden])){height:auto}.label-inset{font-size:var(--text-xs);font-weight:var(--font-medium);line-height:var(--leading-tight);color:var(--color-contrast-500);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast);margin-bottom:2px}.label-outside{font-size:var(--text-sm);font-weight:var(--font-medium);line-height:var(--leading-none);color:var(--color-contrast-500);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition-fast)}.trigger-row{gap:var(--_gap);max-width:calc(100% - var(--size-10));min-height:var(--_row-min-height);flex-wrap:wrap;flex:1;align-items:center;display:flex}.chips-row{gap:var(--size-1);flex-wrap:wrap;flex:1;align-items:center;min-width:0;display:flex}.chips-row[hidden],.trigger-value[hidden]{display:none}.trigger-value{text-overflow:ellipsis;min-width:0;font-size:var(--_font-size);color:var(--color-contrast-900);white-space:nowrap;transition:color var(--transition-fast);flex:1;line-height:1;overflow:hidden}.trigger-placeholder{color:var(--_placeholder);transition:color var(--transition-fast)}.trigger-icon{width:var(--size-6);height:100%;color:var(--color-contrast-500);transition:transform var(--transition-fast);justify-content:center;align-items:center;display:flex;position:absolute;top:0}.trigger-icon:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){right:var(--size-2)}.trigger-icon:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){left:var(--size-2)}:host([open]) .trigger-icon{transform:rotate(180deg)}.loader{width:1em;height:1em;animation:var(--_motion-animation,bit-select-spin .6s linear infinite);border:2px solid;border-radius:50%;flex-shrink:0;display:none}.loader:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){border-right-color:#0000}.loader:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){border-left-color:#0000}:host([loading]) .loader{display:inline-block}:host([loading]) .trigger-icon svg{display:none}@keyframes bit-select-spin{to{transform:rotate(360deg)}}.dropdown{z-index:var(--z-dropdown,8000);box-sizing:border-box;visibility:hidden;gap:var(--size-0-5);max-height:260px;padding:var(--size-1);overscroll-behavior:contain;pointer-events:none;background:var(--color-canvas);border:var(--border) solid var(--color-contrast-200);border-radius:var(--_radius);box-shadow:var(--shadow-lg);opacity:0;transition:var(--_motion-transition,opacity var(--transition-fast), transform var(--transition-fast), visibility var(--transition-fast));flex-direction:column;display:flex;position:fixed;overflow-y:auto;transform:translateY(-4px)}.dropdown:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){text-align:left}.dropdown:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){text-align:right}.dropdown[data-open]{visibility:visible;pointer-events:auto;opacity:1;transform:translateY(0)}.options-list{flex-direction:column;gap:0;display:flex}.option{gap:var(--size-2);padding:var(--size-1-5) var(--size-2-5);font-size:var(--_font-size);line-height:var(--leading-normal);cursor:pointer;border-radius:var(--rounded-sm);transition:background var(--transition-fast), color var(--transition-fast);align-items:center;display:flex}.option>span:first-child{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.option:hover:not([data-disabled]){background:var(--color-contrast-100)}.option[data-focused]:not([data-disabled]){color:var(--_theme-base);background:color-mix(in srgb, var(--_theme-base) 12%, var(--color-contrast-100))}.option[data-selected]{font-weight:var(--font-medium);color:var(--_theme-base);background:color-mix(in srgb, var(--_theme-base) 10%, var(--color-contrast-50))}.option[data-selected][data-focused]{background:color-mix(in srgb, var(--_theme-base) 20%, var(--color-contrast-100))}.option[data-disabled]{color:var(--color-contrast-400);cursor:not-allowed;opacity:.6}.option-check{color:var(--_theme-base);opacity:0;transition:opacity var(--transition-fast);flex-shrink:0;display:inline-flex}.option-check:not(:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi))){margin-left:auto}.option-check:is(:lang(ae),:lang(ar),:lang(arc),:lang(bcc),:lang(bqi),:lang(ckb),:lang(dv),:lang(fa),:lang(glk),:lang(he),:lang(ku),:lang(mzn),:lang(nqo),:lang(pnb),:lang(ps),:lang(sd),:lang(ug),:lang(ur),:lang(yi)){margin-right:auto}.option[data-selected] .option-check{opacity:1}.optgroup-label{padding:var(--size-1-5) var(--size-2-5) var(--size-1);font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--color-contrast-500);text-transform:uppercase;letter-spacing:var(--tracking-wide,.05em)}.dropdown-loading,.dropdown-empty{padding:var(--size-3) var(--size-2-5);font-size:var(--_font-size);color:var(--color-contrast-500);text-align:center}.helper-text{font-size:var(--text-xs);line-height:var(--leading-tight);color:var(--color-contrast-500);padding-left:2px;padding-right:2px}:host(:not([disabled],[variant=bordered],[variant=flat])) .field:hover{border-color:var(--color-contrast-400)}:host(:not([disabled],[variant=flat])) .field:focus-within,:host([open]:not([disabled],[variant=flat])) .field{background:var(--color-canvas);border-color:var(--_theme-focus);box-shadow:var(--_theme-shadow,var(--color-primary-focus-shadow));transform:translateY(-1px)}:host(:not([disabled])) .field:focus-within .label-inset,:host(:not([disabled])) .field:focus-within .label-outside,:host([open]:not([disabled])) .label-inset{color:var(--_theme-focus)}:host([has-error]) .field{border-color:var(--color-error)}:host([has-error]) .field:focus-within{border-color:var(--color-error);box-shadow:var(--color-error-focus-shadow)}:host([has-error]) .label-inset,:host([has-error]) .label-outside{color:var(--color-error)}}@layer buildit.variants{:host(:not([variant])) .field,:host([variant=solid]) .field{background:var(--color-contrast-50);border-color:var(--color-contrast-300);box-shadow:var(--shadow-2xs)}:host(:not([variant],[disabled])) .field:focus-within,:host([variant=solid]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=flat]) .field{border-color:var(--_theme-border);box-shadow:var(--inset-shadow-2xs)}:host([variant=flat]) .field:hover{background:color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));border-color:color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300))}:host([variant=flat]) .field:focus-within{background:color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));border-color:color-mix(in srgb, var(--_theme-focus) 60%, transparent);box-shadow:var(--_theme-shadow)}:host([variant=bordered]) .field{background:var(--_theme-backdrop);border-color:color-mix(in srgb, var(--_theme-focus) 70%, transparent)}:host([variant=bordered]) .trigger-value{color:var(--color-contrast-900)}:host([variant=bordered]) .trigger-placeholder{color:var(--_placeholder)}:host([variant=bordered]) .field:hover{border-color:var(--_theme-focus)}:host([variant=outline]) .field{box-shadow:none;background:0 0}:host([variant=outline]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}:host([variant=ghost]) .field{box-shadow:none;background:0 0;border-color:#0000}:host([variant=ghost]) .field:hover{background:var(--color-contrast-100)}:host([variant=ghost]:not([disabled])) .field:focus-within{box-shadow:var(--_theme-shadow)}}@layer buildit.utilities{:host([fullwidth]){width:100%;display:flex}}";
3
+ //#endregion
4
+ export { e as default };
5
+
6
+ //# sourceMappingURL=select.css?inline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.css?inline.js","names":[],"sources":["../../../src/inputs/select/select.css?inline"],"sourcesContent":["@layer buildit.base {\n :host {\n --_font-size: var(--select-font-size, var(--text-sm));\n --_gap: var(--select-gap, var(--size-2));\n --_field-height: var(--select-height, var(--size-10));\n --_row-min-height: calc(var(--leading-normal) * var(--_font-size) + 2px);\n --_padding: var(--select-padding, var(--size-1-5) var(--size-3));\n --_radius: var(--select-radius, var(--rounded-lg));\n --_placeholder: var(--select-placeholder-color, var(--color-contrast-500));\n --_bg: var(--select-bg, var(--color-contrast-100));\n --_border-color: var(--select-border-color, var(--color-contrast-300));\n\n display: inline-flex;\n flex-direction: column;\n align-items: stretch;\n min-width: 12rem;\n }\n\n :host([fullwidth]) {\n width: 100%;\n }\n\n /* Hide native <option> elements — we render our own UI */\n ::slotted(option),\n ::slotted(optgroup) {\n display: none;\n }\n\n .select-wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--size-1-5);\n width: 100%;\n }\n\n /* ========================================\n Trigger Field\n ======================================== */\n\n .field {\n position: relative;\n box-sizing: border-box;\n display: flex;\n flex-direction: column;\n align-items: stretch;\n justify-content: center;\n height: var(--_field-height);\n min-height: max(var(--_field-height), var(--_touch-target, 0px));\n padding: var(--_padding);\n padding-inline-end: var(--size-8);\n text-align: start;\n cursor: pointer;\n user-select: none;\n background: var(--_bg);\n border: var(--border) solid var(--_border-color);\n border-radius: var(--_radius);\n box-shadow: var(--shadow-2xs);\n transition: var(\n --_motion-transition,\n background var(--transition-fast),\n backdrop-filter var(--transition-slow),\n border-color var(--transition-fast),\n box-shadow var(--transition-fast),\n transform var(--transition-fast)\n );\n }\n\n .field:focus {\n outline: none;\n }\n\n /* Expand height for multi-select chips or inset label */\n :host([multiple]) .field,\n .field:has(.label-inset:not([hidden])) {\n height: auto;\n }\n\n .label-inset {\n margin-bottom: 2px;\n font-size: var(--text-xs);\n font-weight: var(--font-medium);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n cursor: pointer;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n .label-outside {\n font-size: var(--text-sm);\n font-weight: var(--font-medium);\n line-height: var(--leading-none);\n color: var(--color-contrast-500);\n cursor: pointer;\n user-select: none;\n transition: color var(--transition-fast);\n }\n\n .trigger-row {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: var(--_gap);\n align-items: center;\n max-width: calc(100% - var(--size-10));\n min-height: var(--_row-min-height);\n }\n\n .chips-row {\n display: flex;\n flex: 1;\n flex-wrap: wrap;\n gap: var(--size-1);\n align-items: center;\n min-width: 0;\n }\n\n .chips-row[hidden],\n .trigger-value[hidden] {\n display: none;\n }\n\n .trigger-value {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n font-size: var(--_font-size);\n line-height: 1;\n color: var(--color-contrast-900);\n white-space: nowrap;\n transition: color var(--transition-fast);\n }\n\n .trigger-placeholder {\n color: var(--_placeholder);\n transition: color var(--transition-fast);\n }\n\n .trigger-icon {\n position: absolute;\n inset-inline-end: var(--size-2);\n top: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--size-6);\n height: 100%;\n color: var(--color-contrast-500);\n transition: transform var(--transition-fast);\n }\n\n :host([open]) .trigger-icon {\n transform: rotate(180deg);\n }\n\n .loader {\n display: none;\n flex-shrink: 0;\n width: 1em;\n height: 1em;\n border: 2px solid currentcolor;\n border-inline-end-color: transparent;\n border-radius: 50%;\n animation: var(--_motion-animation, bit-select-spin 0.6s linear infinite);\n }\n\n :host([loading]) .loader {\n display: inline-block;\n }\n\n :host([loading]) .trigger-icon svg {\n display: none;\n }\n\n @keyframes bit-select-spin {\n to {\n transform: rotate(360deg);\n }\n }\n\n /* ========================================\n Dropdown Listbox\n ======================================== */\n\n .dropdown {\n position: fixed;\n z-index: var(--z-dropdown, 8000);\n box-sizing: border-box;\n display: flex;\n visibility: hidden;\n flex-direction: column;\n gap: var(--size-0-5);\n max-height: 260px;\n padding: var(--size-1);\n overflow-y: auto;\n overscroll-behavior: contain;\n text-align: start;\n pointer-events: none;\n background: var(--color-canvas);\n border: var(--border) solid var(--color-contrast-200);\n border-radius: var(--_radius);\n box-shadow: var(--shadow-lg);\n\n /* Hidden by default */\n opacity: 0;\n transform: translateY(-4px);\n transition: var(\n --_motion-transition,\n opacity var(--transition-fast),\n transform var(--transition-fast),\n visibility var(--transition-fast)\n );\n }\n\n .dropdown[data-open] {\n visibility: visible;\n pointer-events: auto;\n opacity: 1;\n transform: translateY(0);\n }\n\n .options-list {\n display: flex;\n flex-direction: column;\n gap: 0;\n }\n\n /* ========================================\n Option Items\n ======================================== */\n\n .option {\n display: flex;\n gap: var(--size-2);\n align-items: center;\n padding: var(--size-1-5) var(--size-2-5);\n font-size: var(--_font-size);\n line-height: var(--leading-normal);\n cursor: pointer;\n border-radius: var(--rounded-sm);\n transition:\n background var(--transition-fast),\n color var(--transition-fast);\n }\n\n /* Truncate long labels to keep option rows compact and readable. */\n .option > span:first-child {\n flex: 1;\n min-width: 0;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n }\n\n .option:hover:not([data-disabled]) {\n background: var(--color-contrast-100);\n }\n\n .option[data-focused]:not([data-disabled]) {\n color: var(--_theme-base);\n background: color-mix(in srgb, var(--_theme-base) 12%, var(--color-contrast-100));\n }\n\n .option[data-selected] {\n font-weight: var(--font-medium);\n color: var(--_theme-base);\n background: color-mix(in srgb, var(--_theme-base) 10%, var(--color-contrast-50));\n }\n\n .option[data-selected][data-focused] {\n background: color-mix(in srgb, var(--_theme-base) 20%, var(--color-contrast-100));\n }\n\n .option[data-disabled] {\n color: var(--color-contrast-400);\n cursor: not-allowed;\n opacity: 0.6;\n }\n\n .option-check {\n display: inline-flex;\n flex-shrink: 0;\n margin-inline-start: auto;\n color: var(--_theme-base);\n opacity: 0;\n transition: opacity var(--transition-fast);\n }\n\n .option[data-selected] .option-check {\n opacity: 1;\n }\n\n /* ========================================\n Option Groups\n ======================================== */\n\n .optgroup-label {\n padding: var(--size-1-5) var(--size-2-5) var(--size-1);\n font-size: var(--text-xs);\n font-weight: var(--font-semibold);\n color: var(--color-contrast-500);\n text-transform: uppercase;\n letter-spacing: var(--tracking-wide, 0.05em);\n }\n\n /* ========================================\n Loading / No-Results\n ======================================== */\n\n .dropdown-loading,\n .dropdown-empty {\n padding: var(--size-3) var(--size-2-5);\n font-size: var(--_font-size);\n color: var(--color-contrast-500);\n text-align: center;\n }\n\n /* ========================================\n Helper / Error Text\n ======================================== */\n\n .helper-text {\n padding-inline: 2px;\n font-size: var(--text-xs);\n line-height: var(--leading-tight);\n color: var(--color-contrast-500);\n }\n\n /* ========================================\n States\n ======================================== */\n\n :host(:not([disabled], [variant='bordered'], [variant='flat'])) .field:hover {\n border-color: var(--color-contrast-400);\n }\n\n :host(:not([disabled], [variant='flat'])) .field:focus-within,\n :host([open]:not([disabled], [variant='flat'])) .field {\n background: var(--color-canvas);\n border-color: var(--_theme-focus);\n box-shadow: var(--_theme-shadow, var(--color-primary-focus-shadow));\n transform: translateY(-1px);\n }\n\n :host(:not([disabled])) .field:focus-within .label-inset,\n :host(:not([disabled])) .field:focus-within .label-outside,\n :host([open]:not([disabled])) .label-inset {\n color: var(--_theme-focus);\n }\n\n /* ========================================\n Error State\n ======================================== */\n\n :host([has-error]) .field {\n border-color: var(--color-error);\n }\n\n :host([has-error]) .field:focus-within {\n border-color: var(--color-error);\n box-shadow: var(--color-error-focus-shadow);\n }\n\n :host([has-error]) .label-inset,\n :host([has-error]) .label-outside {\n color: var(--color-error);\n }\n}\n\n@layer buildit.variants {\n /* ========================================\n Visual Variants\n ======================================== */\n\n /* Solid (Default) - Standard select with background */\n :host(:not([variant])) .field,\n :host([variant='solid']) .field {\n background: var(--color-contrast-50);\n border-color: var(--color-contrast-300);\n box-shadow: var(--shadow-2xs);\n }\n\n :host(:not([variant], [disabled])) .field:focus-within,\n :host([variant='solid']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Flat - Minimal with subtle color hint */\n :host([variant='flat']) .field {\n border-color: var(--_theme-border);\n box-shadow: var(--inset-shadow-2xs);\n }\n\n :host([variant='flat']) .field:hover {\n background: color-mix(in srgb, var(--_theme-base) 6%, var(--color-contrast-100));\n border-color: color-mix(in srgb, var(--_theme-base) 35%, var(--color-contrast-300));\n }\n\n :host([variant='flat']) .field:focus-within {\n background: color-mix(in srgb, var(--_theme-base) 8%, var(--color-canvas));\n border-color: color-mix(in srgb, var(--_theme-focus) 60%, transparent);\n box-shadow: var(--_theme-shadow);\n }\n\n /* Bordered - Filled with theme color */\n :host([variant='bordered']) .field {\n background: var(--_theme-backdrop);\n border-color: color-mix(in srgb, var(--_theme-focus) 70%, transparent);\n }\n\n :host([variant='bordered']) .trigger-value {\n color: var(--color-contrast-900);\n }\n\n :host([variant='bordered']) .trigger-placeholder {\n color: var(--_placeholder);\n }\n\n :host([variant='bordered']) .field:hover {\n border-color: var(--_theme-focus);\n }\n\n /* Outline - Transparent background */\n :host([variant='outline']) .field {\n background: transparent;\n box-shadow: none;\n }\n\n :host([variant='outline']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n\n /* Ghost - Transparent until hover */\n :host([variant='ghost']) .field {\n background: transparent;\n border-color: transparent;\n box-shadow: none;\n }\n\n :host([variant='ghost']) .field:hover {\n background: var(--color-contrast-100);\n }\n\n :host([variant='ghost']:not([disabled])) .field:focus-within {\n box-shadow: var(--_theme-shadow);\n }\n}\n\n@layer buildit.utilities {\n :host([fullwidth]) {\n display: flex;\n width: 100%;\n }\n}\n"],"mappings":""}