@edo-w/flatline-solid 0.2.0 → 0.3.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 (501) hide show
  1. package/README.md +16 -0
  2. package/dist/button/index.css +124 -0
  3. package/dist/button/index.d.ts +2 -0
  4. package/dist/button/index.js +51 -0
  5. package/dist/button/index.js.map +1 -0
  6. package/dist/card/index.css +112 -0
  7. package/dist/card/index.d.ts +68 -0
  8. package/dist/card/index.js +181 -0
  9. package/dist/card/index.js.map +1 -0
  10. package/dist/checkbox/index.css +75 -0
  11. package/dist/checkbox/index.d.ts +55 -0
  12. package/dist/checkbox/index.js +156 -0
  13. package/dist/checkbox/index.js.map +1 -0
  14. package/dist/combobox/index.css +184 -0
  15. package/dist/combobox/index.d.ts +145 -0
  16. package/dist/combobox/index.js +894 -0
  17. package/dist/combobox/index.js.map +1 -0
  18. package/dist/dialog/index.css +218 -0
  19. package/dist/dialog/index.d.ts +65 -0
  20. package/dist/dialog/index.js +124 -0
  21. package/dist/dialog/index.js.map +1 -0
  22. package/dist/dropdown-menu/index.css +238 -0
  23. package/dist/dropdown-menu/index.d.ts +122 -0
  24. package/dist/dropdown-menu/index.js +199 -0
  25. package/dist/dropdown-menu/index.js.map +1 -0
  26. package/dist/flatline.css +467 -0
  27. package/dist/icons-CH4ghH8L.js +41 -0
  28. package/dist/icons-CH4ghH8L.js.map +1 -0
  29. package/dist/index-D-CV7Jz5.d.ts +30 -0
  30. package/dist/input/index.css +23 -0
  31. package/dist/input/index.d.ts +14 -0
  32. package/dist/input/index.js +24 -0
  33. package/dist/input/index.js.map +1 -0
  34. package/dist/label/index.css +11 -0
  35. package/dist/label/index.d.ts +14 -0
  36. package/dist/label/index.js +25 -0
  37. package/dist/label/index.js.map +1 -0
  38. package/dist/lite-CiFvU804.js +9 -0
  39. package/dist/lite-CiFvU804.js.map +1 -0
  40. package/dist/progress-bar/index.css +34 -0
  41. package/dist/progress-bar/index.d.ts +19 -0
  42. package/dist/progress-bar/index.js +61 -0
  43. package/dist/progress-bar/index.js.map +1 -0
  44. package/dist/radio/index.css +64 -0
  45. package/dist/radio/index.d.ts +55 -0
  46. package/dist/radio/index.js +143 -0
  47. package/dist/radio/index.js.map +1 -0
  48. package/dist/select/index.css +53 -0
  49. package/dist/select/index.d.ts +16 -0
  50. package/dist/select/index.js +51 -0
  51. package/dist/select/index.js.map +1 -0
  52. package/dist/slider/index.css +59 -0
  53. package/dist/slider/index.d.ts +16 -0
  54. package/dist/slider/index.js +37 -0
  55. package/dist/slider/index.js.map +1 -0
  56. package/dist/spinner/index.css +44 -0
  57. package/dist/spinner/index.d.ts +24 -0
  58. package/dist/spinner/index.js +48 -0
  59. package/dist/spinner/index.js.map +1 -0
  60. package/dist/switch/index.css +69 -0
  61. package/dist/switch/index.d.ts +22 -0
  62. package/dist/switch/index.js +75 -0
  63. package/dist/switch/index.js.map +1 -0
  64. package/dist/table/index.css +50 -0
  65. package/dist/table/index.d.ts +64 -0
  66. package/dist/table/index.js +142 -0
  67. package/dist/table/index.js.map +1 -0
  68. package/dist/tabs/index.css +114 -0
  69. package/dist/tabs/index.d.ts +40 -0
  70. package/dist/tabs/index.js +67 -0
  71. package/dist/tabs/index.js.map +1 -0
  72. package/dist/textarea/index.css +35 -0
  73. package/dist/textarea/index.d.ts +14 -0
  74. package/dist/textarea/index.js +24 -0
  75. package/dist/textarea/index.js.map +1 -0
  76. package/dist/xstack/index.d.ts +1 -0
  77. package/dist/xstack/index.js +0 -0
  78. package/dist/ystack/index.css +26 -0
  79. package/dist/ystack/index.d.ts +25 -0
  80. package/dist/ystack/index.js +47 -0
  81. package/dist/ystack/index.js.map +1 -0
  82. package/package.json +30 -5
  83. package/dist/src/components/button/button.css +0 -155
  84. package/dist/src/components/button/button.d.ts +0 -9
  85. package/dist/src/components/button/button.jsx +0 -21
  86. package/dist/src/components/button/button.jsx.map +0 -1
  87. package/dist/src/components/button/class.d.ts +0 -16
  88. package/dist/src/components/button/class.js +0 -15
  89. package/dist/src/components/button/class.js.map +0 -1
  90. package/dist/src/components/button/index.d.ts +0 -2
  91. package/dist/src/components/button/index.js +0 -3
  92. package/dist/src/components/button/index.js.map +0 -1
  93. package/dist/src/components/card/card-action.css +0 -15
  94. package/dist/src/components/card/card-content.css +0 -13
  95. package/dist/src/components/card/card-footer.css +0 -39
  96. package/dist/src/components/card/card-header.css +0 -13
  97. package/dist/src/components/card/card-root.css +0 -31
  98. package/dist/src/components/card/card-subtitle.css +0 -12
  99. package/dist/src/components/card/card-title.css +0 -33
  100. package/dist/src/components/card/card.d.ts +0 -42
  101. package/dist/src/components/card/card.jsx +0 -86
  102. package/dist/src/components/card/card.jsx.map +0 -1
  103. package/dist/src/components/card/class.d.ts +0 -28
  104. package/dist/src/components/card/class.js +0 -27
  105. package/dist/src/components/card/class.js.map +0 -1
  106. package/dist/src/components/card/index.d.ts +0 -2
  107. package/dist/src/components/card/index.js +0 -3
  108. package/dist/src/components/card/index.js.map +0 -1
  109. package/dist/src/components/checkbox/checkbox-group.css +0 -9
  110. package/dist/src/components/checkbox/checkbox-group.d.ts +0 -3
  111. package/dist/src/components/checkbox/checkbox-group.jsx +0 -43
  112. package/dist/src/components/checkbox/checkbox-group.jsx.map +0 -1
  113. package/dist/src/components/checkbox/checkbox-root.css +0 -85
  114. package/dist/src/components/checkbox/checkbox-root.d.ts +0 -4
  115. package/dist/src/components/checkbox/checkbox-root.jsx +0 -55
  116. package/dist/src/components/checkbox/checkbox-root.jsx.map +0 -1
  117. package/dist/src/components/checkbox/checkbox.d.ts +0 -9
  118. package/dist/src/components/checkbox/checkbox.jsx +0 -6
  119. package/dist/src/components/checkbox/checkbox.jsx.map +0 -1
  120. package/dist/src/components/checkbox/class.d.ts +0 -8
  121. package/dist/src/components/checkbox/class.js +0 -9
  122. package/dist/src/components/checkbox/class.js.map +0 -1
  123. package/dist/src/components/checkbox/context.d.ts +0 -9
  124. package/dist/src/components/checkbox/context.js +0 -6
  125. package/dist/src/components/checkbox/context.js.map +0 -1
  126. package/dist/src/components/checkbox/index.d.ts +0 -6
  127. package/dist/src/components/checkbox/index.js +0 -7
  128. package/dist/src/components/checkbox/index.js.map +0 -1
  129. package/dist/src/components/checkbox/types.d.ts +0 -16
  130. package/dist/src/components/checkbox/types.js +0 -1
  131. package/dist/src/components/checkbox/types.js.map +0 -1
  132. package/dist/src/components/combobox/class.d.ts +0 -13
  133. package/dist/src/components/combobox/class.js +0 -14
  134. package/dist/src/components/combobox/class.js.map +0 -1
  135. package/dist/src/components/combobox/combobox-content.css +0 -20
  136. package/dist/src/components/combobox/combobox-content.d.ts +0 -2
  137. package/dist/src/components/combobox/combobox-content.jsx +0 -15
  138. package/dist/src/components/combobox/combobox-content.jsx.map +0 -1
  139. package/dist/src/components/combobox/combobox-control.css +0 -29
  140. package/dist/src/components/combobox/combobox-control.d.ts +0 -3
  141. package/dist/src/components/combobox/combobox-control.jsx +0 -19
  142. package/dist/src/components/combobox/combobox-control.jsx.map +0 -1
  143. package/dist/src/components/combobox/combobox-group.css +0 -31
  144. package/dist/src/components/combobox/combobox-group.d.ts +0 -2
  145. package/dist/src/components/combobox/combobox-group.jsx +0 -12
  146. package/dist/src/components/combobox/combobox-group.jsx.map +0 -1
  147. package/dist/src/components/combobox/combobox-hidden-select.d.ts +0 -2
  148. package/dist/src/components/combobox/combobox-hidden-select.jsx +0 -8
  149. package/dist/src/components/combobox/combobox-hidden-select.jsx.map +0 -1
  150. package/dist/src/components/combobox/combobox-icon.css +0 -11
  151. package/dist/src/components/combobox/combobox-icon.d.ts +0 -2
  152. package/dist/src/components/combobox/combobox-icon.jsx +0 -12
  153. package/dist/src/components/combobox/combobox-icon.jsx.map +0 -1
  154. package/dist/src/components/combobox/combobox-input.css +0 -32
  155. package/dist/src/components/combobox/combobox-input.d.ts +0 -3
  156. package/dist/src/components/combobox/combobox-input.jsx +0 -90
  157. package/dist/src/components/combobox/combobox-input.jsx.map +0 -1
  158. package/dist/src/components/combobox/combobox-item-indicator.css +0 -11
  159. package/dist/src/components/combobox/combobox-item-indicator.d.ts +0 -2
  160. package/dist/src/components/combobox/combobox-item-indicator.jsx +0 -16
  161. package/dist/src/components/combobox/combobox-item-indicator.jsx.map +0 -1
  162. package/dist/src/components/combobox/combobox-item-label.d.ts +0 -2
  163. package/dist/src/components/combobox/combobox-item-label.jsx +0 -13
  164. package/dist/src/components/combobox/combobox-item-label.jsx.map +0 -1
  165. package/dist/src/components/combobox/combobox-item.css +0 -48
  166. package/dist/src/components/combobox/combobox-item.d.ts +0 -3
  167. package/dist/src/components/combobox/combobox-item.jsx +0 -30
  168. package/dist/src/components/combobox/combobox-item.jsx.map +0 -1
  169. package/dist/src/components/combobox/combobox-listbox.css +0 -18
  170. package/dist/src/components/combobox/combobox-listbox.d.ts +0 -2
  171. package/dist/src/components/combobox/combobox-listbox.jsx +0 -39
  172. package/dist/src/components/combobox/combobox-listbox.jsx.map +0 -1
  173. package/dist/src/components/combobox/combobox-portal.d.ts +0 -2
  174. package/dist/src/components/combobox/combobox-portal.jsx +0 -6
  175. package/dist/src/components/combobox/combobox-portal.jsx.map +0 -1
  176. package/dist/src/components/combobox/combobox-root.css +0 -12
  177. package/dist/src/components/combobox/combobox-root.d.ts +0 -3
  178. package/dist/src/components/combobox/combobox-root.jsx +0 -362
  179. package/dist/src/components/combobox/combobox-root.jsx.map +0 -1
  180. package/dist/src/components/combobox/combobox-trigger.css +0 -31
  181. package/dist/src/components/combobox/combobox-trigger.d.ts +0 -3
  182. package/dist/src/components/combobox/combobox-trigger.jsx +0 -30
  183. package/dist/src/components/combobox/combobox-trigger.jsx.map +0 -1
  184. package/dist/src/components/combobox/combobox.d.ts +0 -43
  185. package/dist/src/components/combobox/combobox.jsx +0 -39
  186. package/dist/src/components/combobox/combobox.jsx.map +0 -1
  187. package/dist/src/components/combobox/context.d.ts +0 -45
  188. package/dist/src/components/combobox/context.js +0 -18
  189. package/dist/src/components/combobox/context.js.map +0 -1
  190. package/dist/src/components/combobox/index.d.ts +0 -2
  191. package/dist/src/components/combobox/index.js +0 -3
  192. package/dist/src/components/combobox/index.js.map +0 -1
  193. package/dist/src/components/combobox/types.d.ts +0 -68
  194. package/dist/src/components/combobox/types.js +0 -1
  195. package/dist/src/components/combobox/types.js.map +0 -1
  196. package/dist/src/components/combobox/util.d.ts +0 -6
  197. package/dist/src/components/combobox/util.js +0 -58
  198. package/dist/src/components/combobox/util.js.map +0 -1
  199. package/dist/src/components/dialog/class.d.ts +0 -18
  200. package/dist/src/components/dialog/class.js +0 -18
  201. package/dist/src/components/dialog/class.js.map +0 -1
  202. package/dist/src/components/dialog/dialog-close-button.css +0 -48
  203. package/dist/src/components/dialog/dialog-content.css +0 -89
  204. package/dist/src/components/dialog/dialog-description.css +0 -6
  205. package/dist/src/components/dialog/dialog-header.css +0 -12
  206. package/dist/src/components/dialog/dialog-overlay.css +0 -43
  207. package/dist/src/components/dialog/dialog-positioner.css +0 -14
  208. package/dist/src/components/dialog/dialog-title.css +0 -6
  209. package/dist/src/components/dialog/dialog-trigger.css +0 -63
  210. package/dist/src/components/dialog/dialog.d.ts +0 -50
  211. package/dist/src/components/dialog/dialog.jsx +0 -89
  212. package/dist/src/components/dialog/dialog.jsx.map +0 -1
  213. package/dist/src/components/dialog/index.d.ts +0 -2
  214. package/dist/src/components/dialog/index.js +0 -3
  215. package/dist/src/components/dialog/index.js.map +0 -1
  216. package/dist/src/components/dropdown-menu/class.d.ts +0 -16
  217. package/dist/src/components/dropdown-menu/class.js +0 -17
  218. package/dist/src/components/dropdown-menu/class.js.map +0 -1
  219. package/dist/src/components/dropdown-menu/dropdown-menu-arrow.css +0 -7
  220. package/dist/src/components/dropdown-menu/dropdown-menu-arrow.d.ts +0 -3
  221. package/dist/src/components/dropdown-menu/dropdown-menu-arrow.jsx +0 -10
  222. package/dist/src/components/dropdown-menu/dropdown-menu-arrow.jsx.map +0 -1
  223. package/dist/src/components/dropdown-menu/dropdown-menu-checkbox-item.css +0 -38
  224. package/dist/src/components/dropdown-menu/dropdown-menu-checkbox-item.d.ts +0 -3
  225. package/dist/src/components/dropdown-menu/dropdown-menu-checkbox-item.jsx +0 -10
  226. package/dist/src/components/dropdown-menu/dropdown-menu-checkbox-item.jsx.map +0 -1
  227. package/dist/src/components/dropdown-menu/dropdown-menu-content.css +0 -50
  228. package/dist/src/components/dropdown-menu/dropdown-menu-content.d.ts +0 -3
  229. package/dist/src/components/dropdown-menu/dropdown-menu-content.jsx +0 -10
  230. package/dist/src/components/dropdown-menu/dropdown-menu-content.jsx.map +0 -1
  231. package/dist/src/components/dropdown-menu/dropdown-menu-group-label.css +0 -15
  232. package/dist/src/components/dropdown-menu/dropdown-menu-group-label.d.ts +0 -3
  233. package/dist/src/components/dropdown-menu/dropdown-menu-group-label.jsx +0 -10
  234. package/dist/src/components/dropdown-menu/dropdown-menu-group-label.jsx.map +0 -1
  235. package/dist/src/components/dropdown-menu/dropdown-menu-group.d.ts +0 -2
  236. package/dist/src/components/dropdown-menu/dropdown-menu-group.jsx +0 -7
  237. package/dist/src/components/dropdown-menu/dropdown-menu-group.jsx.map +0 -1
  238. package/dist/src/components/dropdown-menu/dropdown-menu-icon.css +0 -21
  239. package/dist/src/components/dropdown-menu/dropdown-menu-icon.d.ts +0 -3
  240. package/dist/src/components/dropdown-menu/dropdown-menu-icon.jsx +0 -10
  241. package/dist/src/components/dropdown-menu/dropdown-menu-icon.jsx.map +0 -1
  242. package/dist/src/components/dropdown-menu/dropdown-menu-item-indicator.css +0 -12
  243. package/dist/src/components/dropdown-menu/dropdown-menu-item-indicator.d.ts +0 -3
  244. package/dist/src/components/dropdown-menu/dropdown-menu-item-indicator.jsx +0 -10
  245. package/dist/src/components/dropdown-menu/dropdown-menu-item-indicator.jsx.map +0 -1
  246. package/dist/src/components/dropdown-menu/dropdown-menu-item-right-slot.css +0 -18
  247. package/dist/src/components/dropdown-menu/dropdown-menu-item-right-slot.d.ts +0 -3
  248. package/dist/src/components/dropdown-menu/dropdown-menu-item-right-slot.jsx +0 -11
  249. package/dist/src/components/dropdown-menu/dropdown-menu-item-right-slot.jsx.map +0 -1
  250. package/dist/src/components/dropdown-menu/dropdown-menu-item.css +0 -37
  251. package/dist/src/components/dropdown-menu/dropdown-menu-item.d.ts +0 -3
  252. package/dist/src/components/dropdown-menu/dropdown-menu-item.jsx +0 -10
  253. package/dist/src/components/dropdown-menu/dropdown-menu-item.jsx.map +0 -1
  254. package/dist/src/components/dropdown-menu/dropdown-menu-portal.d.ts +0 -2
  255. package/dist/src/components/dropdown-menu/dropdown-menu-portal.jsx +0 -5
  256. package/dist/src/components/dropdown-menu/dropdown-menu-portal.jsx.map +0 -1
  257. package/dist/src/components/dropdown-menu/dropdown-menu-radio-group.d.ts +0 -2
  258. package/dist/src/components/dropdown-menu/dropdown-menu-radio-group.jsx +0 -7
  259. package/dist/src/components/dropdown-menu/dropdown-menu-radio-group.jsx.map +0 -1
  260. package/dist/src/components/dropdown-menu/dropdown-menu-radio-item.css +0 -38
  261. package/dist/src/components/dropdown-menu/dropdown-menu-radio-item.d.ts +0 -3
  262. package/dist/src/components/dropdown-menu/dropdown-menu-radio-item.jsx +0 -10
  263. package/dist/src/components/dropdown-menu/dropdown-menu-radio-item.jsx.map +0 -1
  264. package/dist/src/components/dropdown-menu/dropdown-menu-root.d.ts +0 -2
  265. package/dist/src/components/dropdown-menu/dropdown-menu-root.jsx +0 -5
  266. package/dist/src/components/dropdown-menu/dropdown-menu-root.jsx.map +0 -1
  267. package/dist/src/components/dropdown-menu/dropdown-menu-separator.css +0 -11
  268. package/dist/src/components/dropdown-menu/dropdown-menu-separator.d.ts +0 -3
  269. package/dist/src/components/dropdown-menu/dropdown-menu-separator.jsx +0 -10
  270. package/dist/src/components/dropdown-menu/dropdown-menu-separator.jsx.map +0 -1
  271. package/dist/src/components/dropdown-menu/dropdown-menu-sub-content.css +0 -26
  272. package/dist/src/components/dropdown-menu/dropdown-menu-sub-content.d.ts +0 -3
  273. package/dist/src/components/dropdown-menu/dropdown-menu-sub-content.jsx +0 -10
  274. package/dist/src/components/dropdown-menu/dropdown-menu-sub-content.jsx.map +0 -1
  275. package/dist/src/components/dropdown-menu/dropdown-menu-sub-trigger.css +0 -43
  276. package/dist/src/components/dropdown-menu/dropdown-menu-sub-trigger.d.ts +0 -3
  277. package/dist/src/components/dropdown-menu/dropdown-menu-sub-trigger.jsx +0 -10
  278. package/dist/src/components/dropdown-menu/dropdown-menu-sub-trigger.jsx.map +0 -1
  279. package/dist/src/components/dropdown-menu/dropdown-menu-sub.d.ts +0 -2
  280. package/dist/src/components/dropdown-menu/dropdown-menu-sub.jsx +0 -5
  281. package/dist/src/components/dropdown-menu/dropdown-menu-sub.jsx.map +0 -1
  282. package/dist/src/components/dropdown-menu/dropdown-menu-trigger.css +0 -6
  283. package/dist/src/components/dropdown-menu/dropdown-menu-trigger.d.ts +0 -3
  284. package/dist/src/components/dropdown-menu/dropdown-menu-trigger.jsx +0 -16
  285. package/dist/src/components/dropdown-menu/dropdown-menu-trigger.jsx.map +0 -1
  286. package/dist/src/components/dropdown-menu/dropdown-menu.d.ts +0 -43
  287. package/dist/src/components/dropdown-menu/dropdown-menu.jsx +0 -39
  288. package/dist/src/components/dropdown-menu/dropdown-menu.jsx.map +0 -1
  289. package/dist/src/components/dropdown-menu/index.d.ts +0 -21
  290. package/dist/src/components/dropdown-menu/index.js +0 -22
  291. package/dist/src/components/dropdown-menu/index.js.map +0 -1
  292. package/dist/src/components/dropdown-menu/types.d.ts +0 -21
  293. package/dist/src/components/dropdown-menu/types.js +0 -1
  294. package/dist/src/components/dropdown-menu/types.js.map +0 -1
  295. package/dist/src/components/input/class.d.ts +0 -3
  296. package/dist/src/components/input/class.js +0 -4
  297. package/dist/src/components/input/class.js.map +0 -1
  298. package/dist/src/components/input/index.d.ts +0 -2
  299. package/dist/src/components/input/index.js +0 -3
  300. package/dist/src/components/input/index.js.map +0 -1
  301. package/dist/src/components/input/input.css +0 -34
  302. package/dist/src/components/input/input.d.ts +0 -6
  303. package/dist/src/components/input/input.jsx +0 -10
  304. package/dist/src/components/input/input.jsx.map +0 -1
  305. package/dist/src/components/label/class.d.ts +0 -3
  306. package/dist/src/components/label/class.js +0 -4
  307. package/dist/src/components/label/class.js.map +0 -1
  308. package/dist/src/components/label/index.d.ts +0 -2
  309. package/dist/src/components/label/index.js +0 -3
  310. package/dist/src/components/label/index.js.map +0 -1
  311. package/dist/src/components/label/label.css +0 -16
  312. package/dist/src/components/label/label.d.ts +0 -6
  313. package/dist/src/components/label/label.jsx +0 -12
  314. package/dist/src/components/label/label.jsx.map +0 -1
  315. package/dist/src/components/progress-bar/class.d.ts +0 -4
  316. package/dist/src/components/progress-bar/class.js +0 -5
  317. package/dist/src/components/progress-bar/class.js.map +0 -1
  318. package/dist/src/components/progress-bar/index.d.ts +0 -2
  319. package/dist/src/components/progress-bar/index.js +0 -3
  320. package/dist/src/components/progress-bar/index.js.map +0 -1
  321. package/dist/src/components/progress-bar/progress-bar.css +0 -43
  322. package/dist/src/components/progress-bar/progress-bar.d.ts +0 -9
  323. package/dist/src/components/progress-bar/progress-bar.jsx +0 -24
  324. package/dist/src/components/progress-bar/progress-bar.jsx.map +0 -1
  325. package/dist/src/components/radio/class.d.ts +0 -8
  326. package/dist/src/components/radio/class.js +0 -9
  327. package/dist/src/components/radio/class.js.map +0 -1
  328. package/dist/src/components/radio/context.d.ts +0 -9
  329. package/dist/src/components/radio/context.js +0 -6
  330. package/dist/src/components/radio/context.js.map +0 -1
  331. package/dist/src/components/radio/index.d.ts +0 -6
  332. package/dist/src/components/radio/index.js +0 -7
  333. package/dist/src/components/radio/index.js.map +0 -1
  334. package/dist/src/components/radio/radio-group.css +0 -9
  335. package/dist/src/components/radio/radio-group.d.ts +0 -3
  336. package/dist/src/components/radio/radio-group.jsx +0 -33
  337. package/dist/src/components/radio/radio-group.jsx.map +0 -1
  338. package/dist/src/components/radio/radio-root.css +0 -75
  339. package/dist/src/components/radio/radio-root.d.ts +0 -4
  340. package/dist/src/components/radio/radio-root.jsx +0 -51
  341. package/dist/src/components/radio/radio-root.jsx.map +0 -1
  342. package/dist/src/components/radio/radio.d.ts +0 -11
  343. package/dist/src/components/radio/radio.jsx +0 -7
  344. package/dist/src/components/radio/radio.jsx.map +0 -1
  345. package/dist/src/components/radio/types.d.ts +0 -16
  346. package/dist/src/components/radio/types.js +0 -1
  347. package/dist/src/components/radio/types.js.map +0 -1
  348. package/dist/src/components/select/class.d.ts +0 -5
  349. package/dist/src/components/select/class.js +0 -6
  350. package/dist/src/components/select/class.js.map +0 -1
  351. package/dist/src/components/select/index.d.ts +0 -2
  352. package/dist/src/components/select/index.js +0 -3
  353. package/dist/src/components/select/index.js.map +0 -1
  354. package/dist/src/components/select/select.css +0 -76
  355. package/dist/src/components/select/select.d.ts +0 -6
  356. package/dist/src/components/select/select.jsx +0 -16
  357. package/dist/src/components/select/select.jsx.map +0 -1
  358. package/dist/src/components/slider/class.d.ts +0 -3
  359. package/dist/src/components/slider/class.js +0 -4
  360. package/dist/src/components/slider/class.js.map +0 -1
  361. package/dist/src/components/slider/index.d.ts +0 -2
  362. package/dist/src/components/slider/index.js +0 -3
  363. package/dist/src/components/slider/index.js.map +0 -1
  364. package/dist/src/components/slider/slider.css +0 -83
  365. package/dist/src/components/slider/slider.d.ts +0 -7
  366. package/dist/src/components/slider/slider.jsx +0 -19
  367. package/dist/src/components/slider/slider.jsx.map +0 -1
  368. package/dist/src/components/spinner/class.d.ts +0 -10
  369. package/dist/src/components/spinner/class.js +0 -10
  370. package/dist/src/components/spinner/class.js.map +0 -1
  371. package/dist/src/components/spinner/index.d.ts +0 -2
  372. package/dist/src/components/spinner/index.js +0 -3
  373. package/dist/src/components/spinner/index.js.map +0 -1
  374. package/dist/src/components/spinner/spinner.css +0 -51
  375. package/dist/src/components/spinner/spinner.d.ts +0 -9
  376. package/dist/src/components/spinner/spinner.jsx +0 -22
  377. package/dist/src/components/spinner/spinner.jsx.map +0 -1
  378. package/dist/src/components/switch/class.d.ts +0 -7
  379. package/dist/src/components/switch/class.js +0 -8
  380. package/dist/src/components/switch/class.js.map +0 -1
  381. package/dist/src/components/switch/index.d.ts +0 -2
  382. package/dist/src/components/switch/index.js +0 -3
  383. package/dist/src/components/switch/index.js.map +0 -1
  384. package/dist/src/components/switch/switch.css +0 -90
  385. package/dist/src/components/switch/switch.d.ts +0 -9
  386. package/dist/src/components/switch/switch.jsx +0 -28
  387. package/dist/src/components/switch/switch.jsx.map +0 -1
  388. package/dist/src/components/table/class.d.ts +0 -10
  389. package/dist/src/components/table/class.js +0 -11
  390. package/dist/src/components/table/class.js.map +0 -1
  391. package/dist/src/components/table/index.d.ts +0 -11
  392. package/dist/src/components/table/index.js +0 -12
  393. package/dist/src/components/table/index.js.map +0 -1
  394. package/dist/src/components/table/table-body.d.ts +0 -2
  395. package/dist/src/components/table/table-body.jsx +0 -10
  396. package/dist/src/components/table/table-body.jsx.map +0 -1
  397. package/dist/src/components/table/table-caption.css +0 -11
  398. package/dist/src/components/table/table-caption.d.ts +0 -3
  399. package/dist/src/components/table/table-caption.jsx +0 -11
  400. package/dist/src/components/table/table-caption.jsx.map +0 -1
  401. package/dist/src/components/table/table-cell.css +0 -12
  402. package/dist/src/components/table/table-cell.d.ts +0 -3
  403. package/dist/src/components/table/table-cell.jsx +0 -11
  404. package/dist/src/components/table/table-cell.jsx.map +0 -1
  405. package/dist/src/components/table/table-footer.css +0 -15
  406. package/dist/src/components/table/table-footer.d.ts +0 -3
  407. package/dist/src/components/table/table-footer.jsx +0 -11
  408. package/dist/src/components/table/table-footer.jsx.map +0 -1
  409. package/dist/src/components/table/table-head.css +0 -16
  410. package/dist/src/components/table/table-head.d.ts +0 -3
  411. package/dist/src/components/table/table-head.jsx +0 -11
  412. package/dist/src/components/table/table-head.jsx.map +0 -1
  413. package/dist/src/components/table/table-header.d.ts +0 -2
  414. package/dist/src/components/table/table-header.jsx +0 -10
  415. package/dist/src/components/table/table-header.jsx.map +0 -1
  416. package/dist/src/components/table/table-root.css +0 -12
  417. package/dist/src/components/table/table-root.d.ts +0 -3
  418. package/dist/src/components/table/table-root.jsx +0 -11
  419. package/dist/src/components/table/table-root.jsx.map +0 -1
  420. package/dist/src/components/table/table-row.css +0 -6
  421. package/dist/src/components/table/table-row.d.ts +0 -3
  422. package/dist/src/components/table/table-row.jsx +0 -11
  423. package/dist/src/components/table/table-row.jsx.map +0 -1
  424. package/dist/src/components/table/table.d.ts +0 -23
  425. package/dist/src/components/table/table.jsx +0 -19
  426. package/dist/src/components/table/table.jsx.map +0 -1
  427. package/dist/src/components/table/types.d.ts +0 -9
  428. package/dist/src/components/table/types.js +0 -1
  429. package/dist/src/components/table/types.js.map +0 -1
  430. package/dist/src/components/tabs/class.d.ts +0 -12
  431. package/dist/src/components/tabs/class.js +0 -12
  432. package/dist/src/components/tabs/class.js.map +0 -1
  433. package/dist/src/components/tabs/index.d.ts +0 -2
  434. package/dist/src/components/tabs/index.js +0 -3
  435. package/dist/src/components/tabs/index.js.map +0 -1
  436. package/dist/src/components/tabs/tabs-content.css +0 -24
  437. package/dist/src/components/tabs/tabs-indicator.css +0 -32
  438. package/dist/src/components/tabs/tabs-list.css +0 -26
  439. package/dist/src/components/tabs/tabs-root.css +0 -34
  440. package/dist/src/components/tabs/tabs-trigger.css +0 -58
  441. package/dist/src/components/tabs/tabs.d.ts +0 -27
  442. package/dist/src/components/tabs/tabs.jsx +0 -47
  443. package/dist/src/components/tabs/tabs.jsx.map +0 -1
  444. package/dist/src/components/textarea/class.d.ts +0 -3
  445. package/dist/src/components/textarea/class.js +0 -4
  446. package/dist/src/components/textarea/class.js.map +0 -1
  447. package/dist/src/components/textarea/index.d.ts +0 -2
  448. package/dist/src/components/textarea/index.js +0 -3
  449. package/dist/src/components/textarea/index.js.map +0 -1
  450. package/dist/src/components/textarea/textarea.css +0 -46
  451. package/dist/src/components/textarea/textarea.d.ts +0 -6
  452. package/dist/src/components/textarea/textarea.jsx +0 -10
  453. package/dist/src/components/textarea/textarea.jsx.map +0 -1
  454. package/dist/src/components/xstack/class.d.ts +0 -12
  455. package/dist/src/components/xstack/class.js +0 -12
  456. package/dist/src/components/xstack/class.js.map +0 -1
  457. package/dist/src/components/xstack/index.d.ts +0 -1
  458. package/dist/src/components/xstack/index.js +0 -1
  459. package/dist/src/components/xstack/index.js.map +0 -1
  460. package/dist/src/components/xstack/xstack.css +0 -34
  461. package/dist/src/components/xstack/xstack.d.ts +0 -9
  462. package/dist/src/components/xstack/xstack.jsx +0 -15
  463. package/dist/src/components/xstack/xstack.jsx.map +0 -1
  464. package/dist/src/components/ystack/class.d.ts +0 -11
  465. package/dist/src/components/ystack/class.js +0 -11
  466. package/dist/src/components/ystack/class.js.map +0 -1
  467. package/dist/src/components/ystack/index.d.ts +0 -2
  468. package/dist/src/components/ystack/index.js +0 -3
  469. package/dist/src/components/ystack/index.js.map +0 -1
  470. package/dist/src/components/ystack/ystack.css +0 -31
  471. package/dist/src/components/ystack/ystack.d.ts +0 -9
  472. package/dist/src/components/ystack/ystack.jsx +0 -15
  473. package/dist/src/components/ystack/ystack.jsx.map +0 -1
  474. package/dist/src/icons/check-icon.d.ts +0 -2
  475. package/dist/src/icons/check-icon.jsx +0 -8
  476. package/dist/src/icons/check-icon.jsx.map +0 -1
  477. package/dist/src/icons/chevron-down-icon.d.ts +0 -2
  478. package/dist/src/icons/chevron-down-icon.jsx +0 -8
  479. package/dist/src/icons/chevron-down-icon.jsx.map +0 -1
  480. package/dist/src/icons/chevron-right-icon.d.ts +0 -2
  481. package/dist/src/icons/chevron-right-icon.jsx +0 -8
  482. package/dist/src/icons/chevron-right-icon.jsx.map +0 -1
  483. package/dist/src/icons/dot-filled-icon.d.ts +0 -2
  484. package/dist/src/icons/dot-filled-icon.jsx +0 -8
  485. package/dist/src/icons/dot-filled-icon.jsx.map +0 -1
  486. package/dist/src/icons/index.d.ts +0 -5
  487. package/dist/src/icons/index.js +0 -6
  488. package/dist/src/icons/index.js.map +0 -1
  489. package/dist/src/icons/types.d.ts +0 -5
  490. package/dist/src/icons/types.js +0 -1
  491. package/dist/src/icons/types.js.map +0 -1
  492. package/dist/src/index.d.ts +0 -19
  493. package/dist/src/index.js +0 -20
  494. package/dist/src/index.js.map +0 -1
  495. package/dist/src/lib/reflect.d.ts +0 -1
  496. package/dist/src/lib/reflect.js +0 -4
  497. package/dist/src/lib/reflect.js.map +0 -1
  498. package/dist/src/style/colors.css +0 -267
  499. package/dist/src/style/flatline.css +0 -12
  500. package/dist/src/style/reset.css +0 -175
  501. package/dist/src/style/tokens.css +0 -139
@@ -0,0 +1,894 @@
1
+ import './index.css';
2
+ import { t as clsx } from "../lite-CiFvU804.js";
3
+ import { n as CheckIcon, t as ChevronDownIcon } from "../icons-CH4ghH8L.js";
4
+ import { createComponent, delegateEvents, insert, memo, mergeProps, spread, template, use } from "solid-js/web";
5
+ import { For, Show, children, createContext, createEffect, createMemo, createSignal, createUniqueId, mergeProps as mergeProps$1, onCleanup, onMount, splitProps, useContext } from "solid-js";
6
+ //#region src/components/combobox/class.ts
7
+ const comboboxClass = {
8
+ root: "fl-combobox",
9
+ control: "fl-combobox_control",
10
+ input: "fl-combobox_input",
11
+ trigger: "fl-combobox_trigger",
12
+ icon: "fl-combobox_icon",
13
+ content: "fl-combobox_content",
14
+ listbox: "fl-combobox_listbox",
15
+ item: "fl-combobox_item",
16
+ itemLabel: "fl-combobox_item-label",
17
+ itemIndicator: "fl-combobox_item-indicator",
18
+ group: "fl-combobox_group"
19
+ };
20
+ //#endregion
21
+ //#region src/components/combobox/context.ts
22
+ const ComboboxContext = createContext();
23
+ const ComboboxItemContext = createContext();
24
+ function useComboboxContext() {
25
+ const context = useContext(ComboboxContext);
26
+ if (!context) throw new Error("Combobox components must be used within Combobox.");
27
+ return context;
28
+ }
29
+ function useComboboxItemContext() {
30
+ const context = useContext(ComboboxItemContext);
31
+ if (!context) throw new Error("Combobox item parts must be used within Combobox.Item.");
32
+ return context;
33
+ }
34
+ //#endregion
35
+ //#region src/components/combobox/combobox-content.tsx
36
+ var _tmpl$$11 = /* @__PURE__ */ template(`<div>`);
37
+ function ComboboxContent(props) {
38
+ const context = useComboboxContext();
39
+ const [local, rest] = splitProps(props, ["class", "children"]);
40
+ const rootClass = () => clsx(comboboxClass.content, local.class);
41
+ return createComponent(Show, {
42
+ get when() {
43
+ return context.isOpen();
44
+ },
45
+ get children() {
46
+ var _el$ = _tmpl$$11();
47
+ spread(_el$, mergeProps({ get ["class"]() {
48
+ return rootClass();
49
+ } }, rest), false, true);
50
+ insert(_el$, () => local.children);
51
+ return _el$;
52
+ }
53
+ });
54
+ }
55
+ //#endregion
56
+ //#region src/lib/reflect.ts
57
+ function isObjectRecord(value) {
58
+ return typeof value === "object" && value !== null;
59
+ }
60
+ //#endregion
61
+ //#region src/components/combobox/util.ts
62
+ function defaultTextValue(value) {
63
+ if (typeof value === "string" || typeof value === "number") return String(value);
64
+ if (isObjectRecord(value)) {
65
+ if (typeof value.label === "string") return value.label;
66
+ if (typeof value.textValue === "string") return value.textValue;
67
+ }
68
+ return "";
69
+ }
70
+ function resolveAccessor(value, accessor, fallback) {
71
+ if (accessor === void 0) return fallback(value);
72
+ if (typeof accessor === "function") return accessor(value);
73
+ if (isObjectRecord(value)) return value[accessor];
74
+ return fallback(value);
75
+ }
76
+ function resolveGroupChildren(value, accessor) {
77
+ if (accessor === void 0) return;
78
+ if (typeof accessor === "function") return accessor(value);
79
+ if (isObjectRecord(value)) {
80
+ const children = value[accessor];
81
+ if (Array.isArray(children)) return children;
82
+ }
83
+ }
84
+ function createContainsFilter() {
85
+ return (option, inputValue) => {
86
+ const normalizedOption = defaultTextValue(option).toLowerCase();
87
+ const normalizedInput = inputValue.trim().toLowerCase();
88
+ if (normalizedInput === "") return true;
89
+ return normalizedOption.includes(normalizedInput);
90
+ };
91
+ }
92
+ function callEventHandler(handler, event) {
93
+ if (typeof handler === "function") handler(event);
94
+ }
95
+ //#endregion
96
+ //#region src/components/combobox/combobox-control.tsx
97
+ var _tmpl$$10 = /* @__PURE__ */ template(`<div>`);
98
+ function ComboboxControl(props) {
99
+ const context = useComboboxContext();
100
+ const [local, rest] = splitProps(props, ["class", "onMouseDown"]);
101
+ const rootClass = () => clsx(comboboxClass.control, local.class);
102
+ const handleMouseDown = (event) => {
103
+ callEventHandler(local.onMouseDown, event);
104
+ if (context.disabled() || context.readOnly()) return;
105
+ context.openPopup("preserve");
106
+ };
107
+ return (() => {
108
+ var _el$ = _tmpl$$10();
109
+ _el$.$$mousedown = handleMouseDown;
110
+ spread(_el$, mergeProps({
111
+ get ["class"]() {
112
+ return rootClass();
113
+ },
114
+ get ["data-disabled"]() {
115
+ return context.disabled() ? "" : void 0;
116
+ }
117
+ }, rest), false, false);
118
+ return _el$;
119
+ })();
120
+ }
121
+ delegateEvents(["mousedown"]);
122
+ //#endregion
123
+ //#region src/components/combobox/combobox-group.tsx
124
+ var _tmpl$$9 = /* @__PURE__ */ template(`<li role=presentation><hr aria-hidden=true><span>`);
125
+ function ComboboxGroup(props) {
126
+ const [local, rest] = splitProps(props, [
127
+ "class",
128
+ "group",
129
+ "children"
130
+ ]);
131
+ const rootClass = () => clsx(comboboxClass.group, local.class);
132
+ return (() => {
133
+ var _el$ = _tmpl$$9(), _el$3 = _el$.firstChild.nextSibling;
134
+ spread(_el$, mergeProps({ get ["class"]() {
135
+ return rootClass();
136
+ } }, rest), false, true);
137
+ insert(_el$3, () => local.children ?? local.group?.textValue);
138
+ return _el$;
139
+ })();
140
+ }
141
+ //#endregion
142
+ //#region src/components/combobox/combobox-hidden-select.tsx
143
+ var _tmpl$$8 = /* @__PURE__ */ template(`<input type=hidden>`);
144
+ function ComboboxHiddenSelect(props) {
145
+ const context = useComboboxContext();
146
+ const [local, rest] = splitProps(props, ["name", "value"]);
147
+ return (() => {
148
+ var _el$ = _tmpl$$8();
149
+ spread(_el$, mergeProps({
150
+ get name() {
151
+ return local.name ?? context.name();
152
+ },
153
+ get value() {
154
+ return local.value ?? context.selectedItem()?.value ?? "";
155
+ }
156
+ }, rest), false, false);
157
+ return _el$;
158
+ })();
159
+ }
160
+ //#endregion
161
+ //#region src/components/combobox/combobox-icon.tsx
162
+ var _tmpl$$7 = /* @__PURE__ */ template(`<span>`);
163
+ function ComboboxIcon(props) {
164
+ const [local, rest] = splitProps(props, ["class", "children"]);
165
+ const rootClass = () => clsx(comboboxClass.icon, local.class);
166
+ return (() => {
167
+ var _el$ = _tmpl$$7();
168
+ spread(_el$, mergeProps({ get ["class"]() {
169
+ return rootClass();
170
+ } }, rest), false, true);
171
+ insert(_el$, () => local.children ?? createComponent(ChevronDownIcon, {}));
172
+ return _el$;
173
+ })();
174
+ }
175
+ //#endregion
176
+ //#region src/components/combobox/combobox-input.tsx
177
+ var _tmpl$$6 = /* @__PURE__ */ template(`<input type=text role=combobox aria-autocomplete=list>`);
178
+ function ComboboxInput(props) {
179
+ const context = useComboboxContext();
180
+ const [local, rest] = splitProps(props, [
181
+ "class",
182
+ "placeholder",
183
+ "onInput",
184
+ "onFocus",
185
+ "onKeyDown"
186
+ ]);
187
+ const rootClass = () => clsx(comboboxClass.input, local.class);
188
+ const handleInput = (event) => {
189
+ callEventHandler(local.onInput, event);
190
+ if (!(event.currentTarget instanceof HTMLInputElement)) return;
191
+ const input = event.currentTarget;
192
+ const nextValue = input.value;
193
+ const selectionStart = input.selectionStart;
194
+ const selectionEnd = input.selectionEnd;
195
+ context.setInputValue(nextValue);
196
+ queueMicrotask(() => {
197
+ if (document.activeElement !== input) return;
198
+ if (input.value !== nextValue || selectionStart === null || selectionEnd === null) return;
199
+ input.setSelectionRange(selectionStart, selectionEnd);
200
+ });
201
+ };
202
+ const handleFocus = (event) => {
203
+ callEventHandler(local.onFocus, event);
204
+ if (context.disabled() || context.readOnly()) return;
205
+ };
206
+ const handleKeyDown = (event) => {
207
+ callEventHandler(local.onKeyDown, event);
208
+ if (context.disabled() || context.readOnly()) return;
209
+ if (event.key === "ArrowDown") {
210
+ event.preventDefault();
211
+ if (context.isOpen()) {
212
+ context.highlightNext();
213
+ return;
214
+ }
215
+ if (context.visibleItems().length === 0) {
216
+ context.openAllOptions("first");
217
+ return;
218
+ }
219
+ context.openPopup("preserve");
220
+ return;
221
+ }
222
+ if (event.key === "ArrowUp") {
223
+ event.preventDefault();
224
+ if (context.isOpen()) {
225
+ context.highlightPrevious();
226
+ return;
227
+ }
228
+ if (context.visibleItems().length === 0) {
229
+ context.openAllOptions("last");
230
+ return;
231
+ }
232
+ context.openPopup("preserve");
233
+ return;
234
+ }
235
+ if (event.key === "Enter" && context.isOpen()) {
236
+ const activeItem = context.visibleItems().find((item) => item.key === context.highlightedKey());
237
+ if (activeItem) {
238
+ event.preventDefault();
239
+ context.selectItem(activeItem);
240
+ }
241
+ return;
242
+ }
243
+ if (event.key === "Escape") {
244
+ const input = event.currentTarget;
245
+ const selectionStart = input.selectionStart ?? 0;
246
+ const selectionEnd = input.selectionEnd ?? 0;
247
+ if (selectionStart !== selectionEnd) {
248
+ event.preventDefault();
249
+ input.setSelectionRange(selectionEnd, selectionEnd);
250
+ return;
251
+ }
252
+ if (context.selectedItem()) {
253
+ event.preventDefault();
254
+ context.clearSelectedItem();
255
+ return;
256
+ }
257
+ if (context.isOpen()) event.preventDefault();
258
+ context.closePopup(true);
259
+ return;
260
+ }
261
+ if (event.key === "Tab") context.closePopup(true);
262
+ };
263
+ return (() => {
264
+ var _el$ = _tmpl$$6();
265
+ _el$.$$keydown = handleKeyDown;
266
+ _el$.addEventListener("focus", handleFocus);
267
+ _el$.$$input = handleInput;
268
+ var _ref$ = context.setInputRef;
269
+ typeof _ref$ === "function" ? use(_ref$, _el$) : context.setInputRef = _el$;
270
+ spread(_el$, mergeProps({
271
+ get id() {
272
+ return `${context.rootId}-input`;
273
+ },
274
+ get ["class"]() {
275
+ return rootClass();
276
+ },
277
+ get value() {
278
+ return context.inputValue();
279
+ },
280
+ get placeholder() {
281
+ return local.placeholder ?? context.placeholder();
282
+ },
283
+ get disabled() {
284
+ return context.disabled();
285
+ },
286
+ get readOnly() {
287
+ return context.readOnly();
288
+ },
289
+ get required() {
290
+ return context.required();
291
+ },
292
+ get ["aria-expanded"]() {
293
+ return context.isOpen();
294
+ },
295
+ get ["aria-controls"]() {
296
+ return memo(() => !!context.isOpen())() ? `${context.rootId}-listbox` : void 0;
297
+ },
298
+ get ["aria-activedescendant"]() {
299
+ return memo(() => !!context.highlightedKey())() ? context.getItemId(context.highlightedKey()) : void 0;
300
+ }
301
+ }, rest), false, false);
302
+ return _el$;
303
+ })();
304
+ }
305
+ delegateEvents(["input", "keydown"]);
306
+ //#endregion
307
+ //#region src/components/combobox/combobox-item.tsx
308
+ var _tmpl$$5 = /* @__PURE__ */ template(`<li role=option>`);
309
+ function ComboboxItem(props) {
310
+ const context = useComboboxContext();
311
+ const [local, rest] = splitProps(props, [
312
+ "class",
313
+ "item",
314
+ "children",
315
+ "onMouseEnter",
316
+ "onMouseDown",
317
+ "onClick"
318
+ ]);
319
+ const rootClass = () => clsx(comboboxClass.item, local.class);
320
+ const selected = () => context.selectedItem()?.key === local.item.key;
321
+ const highlighted = () => context.highlightedKey() === local.item.key;
322
+ let itemRef;
323
+ createEffect(() => {
324
+ if (!highlighted() || !itemRef || !context.shouldScrollHighlightedItem()) return;
325
+ itemRef.scrollIntoView({ block: "nearest" });
326
+ });
327
+ const handleMouseEnter = (event) => {
328
+ callEventHandler(local.onMouseEnter, event);
329
+ context.setHighlightedKey(local.item.key);
330
+ };
331
+ const handleMouseDown = (event) => {
332
+ callEventHandler(local.onMouseDown, event);
333
+ event.preventDefault();
334
+ };
335
+ const handleClick = (event) => {
336
+ callEventHandler(local.onClick, event);
337
+ context.selectItem(local.item);
338
+ };
339
+ return createComponent(ComboboxItemContext.Provider, {
340
+ get value() {
341
+ return {
342
+ item: local.item,
343
+ selected: selected(),
344
+ highlighted: highlighted()
345
+ };
346
+ },
347
+ get children() {
348
+ var _el$ = _tmpl$$5();
349
+ _el$.$$click = handleClick;
350
+ _el$.$$mousedown = handleMouseDown;
351
+ _el$.addEventListener("mouseenter", handleMouseEnter);
352
+ var _ref$ = itemRef;
353
+ typeof _ref$ === "function" ? use(_ref$, _el$) : itemRef = _el$;
354
+ spread(_el$, mergeProps({
355
+ get id() {
356
+ return context.getItemId(local.item.key);
357
+ },
358
+ get ["class"]() {
359
+ return rootClass();
360
+ },
361
+ get ["aria-selected"]() {
362
+ return selected();
363
+ },
364
+ get ["data-selected"]() {
365
+ return selected() ? "" : void 0;
366
+ },
367
+ get ["data-highlighted"]() {
368
+ return highlighted() ? "" : void 0;
369
+ },
370
+ get ["data-disabled"]() {
371
+ return local.item.disabled ? "" : void 0;
372
+ }
373
+ }, rest), false, true);
374
+ insert(_el$, () => local.children);
375
+ return _el$;
376
+ }
377
+ });
378
+ }
379
+ delegateEvents(["mousedown", "click"]);
380
+ //#endregion
381
+ //#region src/components/combobox/combobox-item-indicator.tsx
382
+ var _tmpl$$4 = /* @__PURE__ */ template(`<div>`);
383
+ function ComboboxItemIndicator(props) {
384
+ const item = useComboboxItemContext();
385
+ const [local, rest] = splitProps(props, ["class", "children"]);
386
+ const rootClass = () => clsx(comboboxClass.itemIndicator, local.class);
387
+ return createComponent(Show, {
388
+ get when() {
389
+ return item.selected;
390
+ },
391
+ get children() {
392
+ var _el$ = _tmpl$$4();
393
+ spread(_el$, mergeProps({ get ["class"]() {
394
+ return rootClass();
395
+ } }, rest), false, true);
396
+ insert(_el$, () => local.children ?? createComponent(CheckIcon, {}));
397
+ return _el$;
398
+ }
399
+ });
400
+ }
401
+ //#endregion
402
+ //#region src/components/combobox/combobox-item-label.tsx
403
+ var _tmpl$$3 = /* @__PURE__ */ template(`<div>`);
404
+ function ComboboxItemLabel(props) {
405
+ const item = useComboboxItemContext();
406
+ const [local, rest] = splitProps(props, ["class", "children"]);
407
+ const rootClass = () => clsx(comboboxClass.itemLabel, local.class);
408
+ return (() => {
409
+ var _el$ = _tmpl$$3();
410
+ spread(_el$, mergeProps({ get ["class"]() {
411
+ return rootClass();
412
+ } }, rest), false, true);
413
+ insert(_el$, () => local.children ?? item.item.textValue);
414
+ return _el$;
415
+ })();
416
+ }
417
+ //#endregion
418
+ //#region src/components/combobox/combobox-listbox.tsx
419
+ var _tmpl$$2 = /* @__PURE__ */ template(`<ul role=listbox>`);
420
+ function DefaultItemComponent(props) {
421
+ return createComponent(ComboboxItem, {
422
+ get item() {
423
+ return props.item;
424
+ },
425
+ get children() {
426
+ return [createComponent(ComboboxItemLabel, { get children() {
427
+ return props.item.textValue;
428
+ } }), createComponent(ComboboxItemIndicator, {})];
429
+ }
430
+ });
431
+ }
432
+ function DefaultGroupComponent(props) {
433
+ return createComponent(ComboboxGroup, { get children() {
434
+ return props.group.textValue;
435
+ } });
436
+ }
437
+ function ComboboxListbox(props) {
438
+ const context = useComboboxContext();
439
+ const [local, rest] = splitProps(props, ["class", "children"]);
440
+ const rootClass = () => clsx(comboboxClass.listbox, local.class);
441
+ const ItemComponent = () => context.itemComponent ?? DefaultItemComponent;
442
+ const GroupComponent = () => context.groupComponent ?? DefaultGroupComponent;
443
+ return (() => {
444
+ var _el$ = _tmpl$$2();
445
+ spread(_el$, mergeProps({
446
+ get id() {
447
+ return `${context.rootId}-listbox`;
448
+ },
449
+ get ["class"]() {
450
+ return rootClass();
451
+ }
452
+ }, rest), false, true);
453
+ insert(_el$, () => local.children ?? createComponent(For, {
454
+ get each() {
455
+ return context.visibleGroups();
456
+ },
457
+ children: (group) => {
458
+ const GroupRenderer = GroupComponent();
459
+ const ItemRenderer = ItemComponent();
460
+ return [createComponent(Show, {
461
+ get when() {
462
+ return group.rawValue !== void 0;
463
+ },
464
+ get children() {
465
+ return createComponent(GroupRenderer, { group });
466
+ }
467
+ }), createComponent(For, {
468
+ get each() {
469
+ return group.items;
470
+ },
471
+ children: (item) => createComponent(ItemRenderer, { item })
472
+ })];
473
+ }
474
+ }));
475
+ return _el$;
476
+ })();
477
+ }
478
+ //#endregion
479
+ //#region src/components/combobox/combobox-portal.tsx
480
+ function ComboboxPortal(props) {
481
+ return memo(children(() => props.children));
482
+ }
483
+ //#endregion
484
+ //#region src/components/combobox/combobox-trigger.tsx
485
+ var _tmpl$$1 = /* @__PURE__ */ template(`<button type=button>`);
486
+ function ComboboxTrigger(props) {
487
+ const context = useComboboxContext();
488
+ const [local, rest] = splitProps(mergeProps$1({ tabIndex: -1 }, props), [
489
+ "class",
490
+ "children",
491
+ "onMouseDown",
492
+ "onClick"
493
+ ]);
494
+ const rootClass = () => clsx(comboboxClass.trigger, local.class);
495
+ const handleMouseDown = (event) => {
496
+ callEventHandler(local.onMouseDown, event);
497
+ event.preventDefault();
498
+ };
499
+ const handleClick = (event) => {
500
+ callEventHandler(local.onClick, event);
501
+ if (context.disabled() || context.readOnly()) return;
502
+ context.openPopup("preserve");
503
+ context.inputRef()?.focus();
504
+ };
505
+ return (() => {
506
+ var _el$ = _tmpl$$1();
507
+ _el$.$$click = handleClick;
508
+ _el$.$$mousedown = handleMouseDown;
509
+ spread(_el$, mergeProps({ get ["class"]() {
510
+ return rootClass();
511
+ } }, rest), false, true);
512
+ insert(_el$, () => local.children ?? createComponent(ComboboxIcon, {}));
513
+ return _el$;
514
+ })();
515
+ }
516
+ delegateEvents(["mousedown", "click"]);
517
+ //#endregion
518
+ //#region src/components/combobox/combobox-root.tsx
519
+ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
520
+ function ComboboxRoot(props) {
521
+ const [local, rest] = splitProps(mergeProps$1({ closeOnSelection: true }, props), [
522
+ "class",
523
+ "children",
524
+ "options",
525
+ "optionValue",
526
+ "optionTextValue",
527
+ "optionLabel",
528
+ "optionDisabled",
529
+ "optionGroupChildren",
530
+ "itemComponent",
531
+ "groupComponent",
532
+ "placeholder",
533
+ "value",
534
+ "defaultValue",
535
+ "inputValue",
536
+ "defaultInputValue",
537
+ "onChange",
538
+ "onInputChange",
539
+ "open",
540
+ "defaultOpen",
541
+ "onOpenChange",
542
+ "disabled",
543
+ "readOnly",
544
+ "required",
545
+ "name",
546
+ "closeOnSelection",
547
+ "onFocusOut"
548
+ ]);
549
+ const resolvedChildren = children(() => local.children);
550
+ const rootId = createUniqueId();
551
+ const [rootRef, setRootRef] = createSignal();
552
+ const [inputRef, setInputRef] = createSignal();
553
+ const [internalValue, setInternalValue] = createSignal(local.defaultValue ?? null);
554
+ const [internalOpen, setInternalOpen] = createSignal(Boolean(local.defaultOpen));
555
+ const [internalInputValue, setInternalInputValue] = createSignal(local.defaultInputValue ?? "");
556
+ const [filterValue, setFilterValue] = createSignal("");
557
+ const [highlightedKey, setHighlightedKey] = createSignal(null);
558
+ const [shouldScrollHighlightedItem, setShouldScrollHighlightedItem] = createSignal(false);
559
+ const isControlledValue = () => local.value !== void 0;
560
+ const isControlledInputValue = () => local.inputValue !== void 0;
561
+ const isControlledOpen = () => local.open !== void 0;
562
+ const filter = createMemo(() => createContainsFilter());
563
+ const inputValue = createMemo(() => {
564
+ if (isControlledInputValue()) return local.inputValue ?? "";
565
+ return internalInputValue();
566
+ });
567
+ const normalizedGroups = createMemo(() => {
568
+ const groups = [];
569
+ const looseItems = [];
570
+ let itemIndex = 0;
571
+ for (let index = 0; index < local.options.length; index += 1) {
572
+ const entry = local.options[index];
573
+ const groupChildren = resolveGroupChildren(entry, local.optionGroupChildren);
574
+ if (groupChildren !== void 0) {
575
+ const groupItems = groupChildren.map((option) => {
576
+ const value = String(resolveAccessor(option, local.optionValue, defaultTextValue));
577
+ const label = resolveAccessor(option, local.optionLabel, defaultTextValue);
578
+ const textValue = resolveAccessor(option, local.optionTextValue, () => label);
579
+ const disabled = Boolean(resolveAccessor(option, local.optionDisabled, () => false));
580
+ const item = {
581
+ key: `${value}-${itemIndex}`,
582
+ value,
583
+ label,
584
+ textValue,
585
+ disabled,
586
+ rawValue: option
587
+ };
588
+ itemIndex += 1;
589
+ return item;
590
+ });
591
+ groups.push({
592
+ key: `group-${index}`,
593
+ textValue: defaultTextValue(entry),
594
+ rawValue: entry,
595
+ items: groupItems
596
+ });
597
+ continue;
598
+ }
599
+ const option = entry;
600
+ const value = String(resolveAccessor(option, local.optionValue, defaultTextValue));
601
+ const label = resolveAccessor(option, local.optionLabel, defaultTextValue);
602
+ const textValue = resolveAccessor(option, local.optionTextValue, () => label);
603
+ const disabled = Boolean(resolveAccessor(option, local.optionDisabled, () => false));
604
+ looseItems.push({
605
+ key: `${value}-${itemIndex}`,
606
+ value,
607
+ label,
608
+ textValue,
609
+ disabled,
610
+ rawValue: option
611
+ });
612
+ itemIndex += 1;
613
+ }
614
+ if (looseItems.length > 0) groups.unshift({
615
+ key: "group-root",
616
+ textValue: "",
617
+ items: looseItems
618
+ });
619
+ return groups;
620
+ });
621
+ const allItems = createMemo(() => normalizedGroups().flatMap((group) => group.items));
622
+ const selectedItem = createMemo(() => {
623
+ let selectedOption = internalValue();
624
+ if (isControlledValue()) selectedOption = local.value ?? null;
625
+ if (selectedOption == null) return null;
626
+ const selectedValue = String(resolveAccessor(selectedOption, local.optionValue, defaultTextValue));
627
+ return allItems().find((item) => item.value === selectedValue) ?? null;
628
+ });
629
+ const visibleGroups = createMemo(() => {
630
+ const currentInput = filterValue().trim();
631
+ return normalizedGroups().map((group) => ({
632
+ ...group,
633
+ items: group.items.filter((item) => filter()(item.rawValue, currentInput))
634
+ })).filter((group) => group.items.length > 0);
635
+ });
636
+ const visibleItems = createMemo(() => visibleGroups().flatMap((group) => group.items));
637
+ const isOpen = createMemo(() => (isControlledOpen() ? Boolean(local.open) : internalOpen()) && visibleItems().length > 0);
638
+ const setOpen = (value) => {
639
+ if (!isControlledOpen()) setInternalOpen(value);
640
+ local.onOpenChange?.(value);
641
+ };
642
+ const setSelectedOption = (value) => {
643
+ if (!isControlledValue()) setInternalValue(() => value);
644
+ local.onChange?.(value);
645
+ };
646
+ const setDisplayedInputValue = (value, emitChange = false) => {
647
+ if (!isControlledInputValue()) setInternalInputValue(value);
648
+ if (emitChange) local.onInputChange?.(value);
649
+ };
650
+ const restoreInputFromSelection = () => {
651
+ setDisplayedInputValue(selectedItem()?.label ?? "", isControlledInputValue());
652
+ setFilterValue("");
653
+ };
654
+ const highlightByIndex = (index) => {
655
+ const items = visibleItems();
656
+ if (items.length === 0) {
657
+ setShouldScrollHighlightedItem(false);
658
+ setHighlightedKey(null);
659
+ return;
660
+ }
661
+ const boundedIndex = Math.min(Math.max(index, 0), items.length - 1);
662
+ setShouldScrollHighlightedItem(true);
663
+ setHighlightedKey(items[boundedIndex]?.key ?? null);
664
+ };
665
+ const highlightFirst = () => highlightByIndex(0);
666
+ const highlightLast = () => highlightByIndex(visibleItems().length - 1);
667
+ const highlightNext = () => {
668
+ const index = visibleItems().findIndex((item) => item.key === highlightedKey());
669
+ highlightByIndex(index >= 0 ? index + 1 : 0);
670
+ };
671
+ const highlightPrevious = () => {
672
+ const items = visibleItems();
673
+ const index = items.findIndex((item) => item.key === highlightedKey());
674
+ highlightByIndex(index >= 0 ? index - 1 : items.length - 1);
675
+ };
676
+ const openPopup = (strategy = "first") => {
677
+ if (local.disabled || local.readOnly || visibleItems().length === 0) return;
678
+ setOpen(true);
679
+ if (strategy === "last") {
680
+ highlightLast();
681
+ return;
682
+ }
683
+ if (strategy === "preserve") {
684
+ if (highlightedKey() !== null) return;
685
+ if (selectedItem()) {
686
+ setShouldScrollHighlightedItem(true);
687
+ setHighlightedKey(selectedItem().key);
688
+ return;
689
+ }
690
+ }
691
+ highlightFirst();
692
+ };
693
+ const openAllOptions = (strategy = "first") => {
694
+ if (local.disabled || local.readOnly || allItems().length === 0) return;
695
+ setFilterValue("");
696
+ setOpen(true);
697
+ if (strategy === "last") {
698
+ highlightLast();
699
+ return;
700
+ }
701
+ if (strategy === "preserve") {
702
+ if (highlightedKey() !== null) return;
703
+ if (selectedItem()) {
704
+ setShouldScrollHighlightedItem(true);
705
+ setHighlightedKey(selectedItem().key);
706
+ return;
707
+ }
708
+ }
709
+ highlightFirst();
710
+ };
711
+ const closePopup = (restoreInput = true) => {
712
+ setOpen(false);
713
+ setShouldScrollHighlightedItem(false);
714
+ setHighlightedKey(null);
715
+ if (restoreInput) restoreInputFromSelection();
716
+ };
717
+ const selectItem = (item) => {
718
+ if (item.disabled) return;
719
+ setSelectedOption(item.rawValue);
720
+ setDisplayedInputValue(item.label);
721
+ setFilterValue("");
722
+ setShouldScrollHighlightedItem(false);
723
+ setHighlightedKey(item.key);
724
+ if (local.closeOnSelection) setOpen(false);
725
+ inputRef()?.focus();
726
+ };
727
+ const clearPendingInput = () => {
728
+ if (selectedItem() === null) {
729
+ setDisplayedInputValue("", isControlledInputValue());
730
+ setFilterValue("");
731
+ return;
732
+ }
733
+ restoreInputFromSelection();
734
+ };
735
+ const clearSelectedItem = () => {
736
+ setSelectedOption(null);
737
+ setDisplayedInputValue("", true);
738
+ setFilterValue("");
739
+ setShouldScrollHighlightedItem(false);
740
+ setHighlightedKey(null);
741
+ setOpen(false);
742
+ inputRef()?.focus();
743
+ };
744
+ createEffect(() => {
745
+ if (!isControlledValue()) return;
746
+ if (selectedItem() !== null) {
747
+ restoreInputFromSelection();
748
+ return;
749
+ }
750
+ setFilterValue("");
751
+ if (!isControlledInputValue()) setDisplayedInputValue("");
752
+ });
753
+ createEffect(() => {
754
+ const items = visibleItems();
755
+ const selected = selectedItem();
756
+ if (items.length === 0) {
757
+ setShouldScrollHighlightedItem(false);
758
+ setHighlightedKey(null);
759
+ setOpen(false);
760
+ return;
761
+ }
762
+ if (highlightedKey() && items.some((item) => item.key === highlightedKey())) return;
763
+ if (isOpen()) {
764
+ if (selected && items.some((item) => item.key === selected.key)) {
765
+ setShouldScrollHighlightedItem(true);
766
+ setHighlightedKey(selected.key);
767
+ return;
768
+ }
769
+ highlightFirst();
770
+ }
771
+ });
772
+ onMount(() => {
773
+ restoreInputFromSelection();
774
+ const handlePointerDown = (event) => {
775
+ const root = rootRef();
776
+ if (!root || root.contains(event.target)) return;
777
+ closePopup(true);
778
+ };
779
+ document.addEventListener("pointerdown", handlePointerDown);
780
+ onCleanup(() => {
781
+ document.removeEventListener("pointerdown", handlePointerDown);
782
+ });
783
+ });
784
+ const context = {
785
+ rootId,
786
+ rootRef,
787
+ setRootRef,
788
+ inputRef,
789
+ setInputRef,
790
+ inputValue,
791
+ setInputValue: (value) => {
792
+ const selected = selectedItem();
793
+ if (selected && value !== selected.label) setSelectedOption(null);
794
+ setDisplayedInputValue(value, true);
795
+ setFilterValue(value);
796
+ if (value.trim() === "") {
797
+ closePopup(false);
798
+ return;
799
+ }
800
+ openPopup("first");
801
+ },
802
+ isOpen,
803
+ openPopup,
804
+ openAllOptions,
805
+ closePopup,
806
+ togglePopup: () => {
807
+ if (isOpen()) {
808
+ closePopup(true);
809
+ return;
810
+ }
811
+ openPopup("first");
812
+ },
813
+ visibleGroups,
814
+ visibleItems,
815
+ selectedItem,
816
+ highlightedKey,
817
+ shouldScrollHighlightedItem,
818
+ setHighlightedKey: (key) => {
819
+ setShouldScrollHighlightedItem(false);
820
+ setHighlightedKey(key);
821
+ },
822
+ highlightNext,
823
+ highlightPrevious,
824
+ highlightFirst,
825
+ highlightLast,
826
+ selectItem,
827
+ getItemId: (key) => `${rootId}-item-${key}`,
828
+ itemComponent: local.itemComponent,
829
+ groupComponent: local.groupComponent,
830
+ placeholder: () => local.placeholder,
831
+ disabled: () => Boolean(local.disabled),
832
+ readOnly: () => Boolean(local.readOnly),
833
+ required: () => Boolean(local.required),
834
+ name: () => local.name,
835
+ clearPendingInput,
836
+ clearSelectedItem
837
+ };
838
+ const rootClass = () => clsx(comboboxClass.root, local.class);
839
+ const handleFocusOut = (event) => {
840
+ callEventHandler(local.onFocusOut, event);
841
+ const nextTarget = event.relatedTarget;
842
+ if (nextTarget && rootRef()?.contains(nextTarget)) return;
843
+ queueMicrotask(() => {
844
+ const activeElement = document.activeElement;
845
+ if (activeElement instanceof Node && rootRef()?.contains(activeElement)) return;
846
+ closePopup(true);
847
+ });
848
+ };
849
+ return createComponent(ComboboxContext.Provider, {
850
+ value: context,
851
+ get children() {
852
+ var _el$ = _tmpl$();
853
+ _el$.$$focusout = handleFocusOut;
854
+ use(setRootRef, _el$);
855
+ spread(_el$, mergeProps({ get ["class"]() {
856
+ return rootClass();
857
+ } }, rest), false, true);
858
+ insert(_el$, (() => {
859
+ var _c$ = memo(() => !!local.children);
860
+ return () => _c$() ? resolvedChildren() : [createComponent(ComboboxControl, { get children() {
861
+ return [createComponent(ComboboxInput, { get ["aria-label"]() {
862
+ return local.placeholder ?? "Combobox";
863
+ } }), createComponent(ComboboxTrigger, {})];
864
+ } }), createComponent(ComboboxPortal, { get children() {
865
+ return createComponent(ComboboxContent, { get children() {
866
+ return createComponent(ComboboxListbox, {});
867
+ } });
868
+ } })];
869
+ })());
870
+ return _el$;
871
+ }
872
+ });
873
+ }
874
+ delegateEvents(["focusout"]);
875
+ //#endregion
876
+ //#region src/components/combobox/combobox.tsx
877
+ const Combobox = Object.assign(ComboboxRoot, {
878
+ Control: ComboboxControl,
879
+ Input: ComboboxInput,
880
+ Trigger: ComboboxTrigger,
881
+ Icon: ComboboxIcon,
882
+ Portal: ComboboxPortal,
883
+ Content: ComboboxContent,
884
+ Listbox: ComboboxListbox,
885
+ Item: ComboboxItem,
886
+ ItemLabel: ComboboxItemLabel,
887
+ ItemIndicator: ComboboxItemIndicator,
888
+ Group: ComboboxGroup,
889
+ HiddenSelect: ComboboxHiddenSelect
890
+ });
891
+ //#endregion
892
+ export { Combobox, ComboboxContent, ComboboxControl, ComboboxGroup, ComboboxHiddenSelect, ComboboxIcon, ComboboxInput, ComboboxItem, ComboboxItemIndicator, ComboboxItemLabel, ComboboxListbox, ComboboxPortal, ComboboxRoot, ComboboxTrigger, comboboxClass };
893
+
894
+ //# sourceMappingURL=index.js.map