@mellow.io/ds 0.1.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 (393) hide show
  1. package/dist/components/accordion/accordion-item.d.ts +16 -0
  2. package/dist/components/accordion/accordion-item.d.ts.map +1 -0
  3. package/dist/components/accordion/accordion-item.js +68 -0
  4. package/dist/components/accordion/accordion-item.js.map +1 -0
  5. package/dist/components/accordion/accordion.d.ts +15 -0
  6. package/dist/components/accordion/accordion.d.ts.map +1 -0
  7. package/dist/components/accordion/accordion.js +42 -0
  8. package/dist/components/accordion/accordion.js.map +1 -0
  9. package/dist/components/accordion/accordion.styles.d.ts +3 -0
  10. package/dist/components/accordion/accordion.styles.d.ts.map +1 -0
  11. package/dist/components/accordion/accordion.styles.js +76 -0
  12. package/dist/components/accordion/accordion.styles.js.map +1 -0
  13. package/dist/components/accordion/index.d.ts +3 -0
  14. package/dist/components/accordion/index.d.ts.map +1 -0
  15. package/dist/components/alert/alert.d.ts +16 -0
  16. package/dist/components/alert/alert.d.ts.map +1 -0
  17. package/dist/components/alert/alert.js +67 -0
  18. package/dist/components/alert/alert.js.map +1 -0
  19. package/dist/components/alert/alert.styles.d.ts +2 -0
  20. package/dist/components/alert/alert.styles.d.ts.map +1 -0
  21. package/dist/components/alert/alert.styles.js +160 -0
  22. package/dist/components/alert/alert.styles.js.map +1 -0
  23. package/dist/components/alert/index.d.ts +3 -0
  24. package/dist/components/alert/index.d.ts.map +1 -0
  25. package/dist/components/avatar/avatar.d.ts +19 -0
  26. package/dist/components/avatar/avatar.d.ts.map +1 -0
  27. package/dist/components/avatar/avatar.js +62 -0
  28. package/dist/components/avatar/avatar.js.map +1 -0
  29. package/dist/components/avatar/avatar.styles.d.ts +2 -0
  30. package/dist/components/avatar/avatar.styles.d.ts.map +1 -0
  31. package/dist/components/avatar/avatar.styles.js +67 -0
  32. package/dist/components/avatar/avatar.styles.js.map +1 -0
  33. package/dist/components/avatar/index.d.ts +3 -0
  34. package/dist/components/avatar/index.d.ts.map +1 -0
  35. package/dist/components/badge/badge.d.ts +15 -0
  36. package/dist/components/badge/badge.d.ts.map +1 -0
  37. package/dist/components/badge/badge.js +36 -0
  38. package/dist/components/badge/badge.js.map +1 -0
  39. package/dist/components/badge/badge.styles.d.ts +2 -0
  40. package/dist/components/badge/badge.styles.d.ts.map +1 -0
  41. package/dist/components/badge/badge.styles.js +106 -0
  42. package/dist/components/badge/badge.styles.js.map +1 -0
  43. package/dist/components/badge/index.d.ts +3 -0
  44. package/dist/components/badge/index.d.ts.map +1 -0
  45. package/dist/components/breadcrumb/breadcrumb-item.d.ts +16 -0
  46. package/dist/components/breadcrumb/breadcrumb-item.d.ts.map +1 -0
  47. package/dist/components/breadcrumb/breadcrumb-item.js +37 -0
  48. package/dist/components/breadcrumb/breadcrumb-item.js.map +1 -0
  49. package/dist/components/breadcrumb/breadcrumb.d.ts +14 -0
  50. package/dist/components/breadcrumb/breadcrumb.d.ts.map +1 -0
  51. package/dist/components/breadcrumb/breadcrumb.js +40 -0
  52. package/dist/components/breadcrumb/breadcrumb.js.map +1 -0
  53. package/dist/components/breadcrumb/breadcrumb.styles.d.ts +3 -0
  54. package/dist/components/breadcrumb/breadcrumb.styles.d.ts.map +1 -0
  55. package/dist/components/breadcrumb/breadcrumb.styles.js +57 -0
  56. package/dist/components/breadcrumb/breadcrumb.styles.js.map +1 -0
  57. package/dist/components/breadcrumb/index.d.ts +3 -0
  58. package/dist/components/breadcrumb/index.d.ts.map +1 -0
  59. package/dist/components/button/button.d.ts +18 -0
  60. package/dist/components/button/button.d.ts.map +1 -0
  61. package/dist/components/button/button.js +58 -0
  62. package/dist/components/button/button.js.map +1 -0
  63. package/dist/components/button/button.styles.d.ts +2 -0
  64. package/dist/components/button/button.styles.d.ts.map +1 -0
  65. package/dist/components/button/button.styles.js +185 -0
  66. package/dist/components/button/button.styles.js.map +1 -0
  67. package/dist/components/button/index.d.ts +3 -0
  68. package/dist/components/button/index.d.ts.map +1 -0
  69. package/dist/components/card/card.d.ts +18 -0
  70. package/dist/components/card/card.d.ts.map +1 -0
  71. package/dist/components/card/card.js +62 -0
  72. package/dist/components/card/card.js.map +1 -0
  73. package/dist/components/card/card.styles.d.ts +2 -0
  74. package/dist/components/card/card.styles.d.ts.map +1 -0
  75. package/dist/components/card/card.styles.js +129 -0
  76. package/dist/components/card/card.styles.js.map +1 -0
  77. package/dist/components/card/index.d.ts +3 -0
  78. package/dist/components/card/index.d.ts.map +1 -0
  79. package/dist/components/checkbox/checkbox.d.ts +24 -0
  80. package/dist/components/checkbox/checkbox.d.ts.map +1 -0
  81. package/dist/components/checkbox/checkbox.js +83 -0
  82. package/dist/components/checkbox/checkbox.js.map +1 -0
  83. package/dist/components/checkbox/checkbox.styles.d.ts +2 -0
  84. package/dist/components/checkbox/checkbox.styles.d.ts.map +1 -0
  85. package/dist/components/checkbox/checkbox.styles.js +118 -0
  86. package/dist/components/checkbox/checkbox.styles.js.map +1 -0
  87. package/dist/components/checkbox/index.d.ts +3 -0
  88. package/dist/components/checkbox/index.d.ts.map +1 -0
  89. package/dist/components/dialog/dialog.d.ts +21 -0
  90. package/dist/components/dialog/dialog.d.ts.map +1 -0
  91. package/dist/components/dialog/dialog.js +74 -0
  92. package/dist/components/dialog/dialog.js.map +1 -0
  93. package/dist/components/dialog/dialog.styles.d.ts +2 -0
  94. package/dist/components/dialog/dialog.styles.d.ts.map +1 -0
  95. package/dist/components/dialog/dialog.styles.js +81 -0
  96. package/dist/components/dialog/dialog.styles.js.map +1 -0
  97. package/dist/components/dialog/index.d.ts +3 -0
  98. package/dist/components/dialog/index.d.ts.map +1 -0
  99. package/dist/components/divider/divider.d.ts +15 -0
  100. package/dist/components/divider/divider.d.ts.map +1 -0
  101. package/dist/components/divider/divider.js +36 -0
  102. package/dist/components/divider/divider.js.map +1 -0
  103. package/dist/components/divider/divider.styles.d.ts +2 -0
  104. package/dist/components/divider/divider.styles.d.ts.map +1 -0
  105. package/dist/components/divider/divider.styles.js +64 -0
  106. package/dist/components/divider/divider.styles.js.map +1 -0
  107. package/dist/components/divider/index.d.ts +3 -0
  108. package/dist/components/divider/index.d.ts.map +1 -0
  109. package/dist/components/dropdown/dropdown-item.d.ts +15 -0
  110. package/dist/components/dropdown/dropdown-item.d.ts.map +1 -0
  111. package/dist/components/dropdown/dropdown-item.js +113 -0
  112. package/dist/components/dropdown/dropdown-item.js.map +1 -0
  113. package/dist/components/dropdown/dropdown.d.ts +29 -0
  114. package/dist/components/dropdown/dropdown.d.ts.map +1 -0
  115. package/dist/components/dropdown/dropdown.js +147 -0
  116. package/dist/components/dropdown/dropdown.js.map +1 -0
  117. package/dist/components/dropdown/dropdown.styles.d.ts +2 -0
  118. package/dist/components/dropdown/dropdown.styles.d.ts.map +1 -0
  119. package/dist/components/dropdown/dropdown.styles.js +139 -0
  120. package/dist/components/dropdown/dropdown.styles.js.map +1 -0
  121. package/dist/components/dropdown/index.d.ts +4 -0
  122. package/dist/components/dropdown/index.d.ts.map +1 -0
  123. package/dist/components/form-field/form-field.d.ts +17 -0
  124. package/dist/components/form-field/form-field.d.ts.map +1 -0
  125. package/dist/components/form-field/form-field.js +55 -0
  126. package/dist/components/form-field/form-field.js.map +1 -0
  127. package/dist/components/form-field/form-field.styles.d.ts +2 -0
  128. package/dist/components/form-field/form-field.styles.d.ts.map +1 -0
  129. package/dist/components/form-field/form-field.styles.js +61 -0
  130. package/dist/components/form-field/form-field.styles.js.map +1 -0
  131. package/dist/components/form-field/index.d.ts +2 -0
  132. package/dist/components/form-field/index.d.ts.map +1 -0
  133. package/dist/components/grid/grid.d.ts +18 -0
  134. package/dist/components/grid/grid.d.ts.map +1 -0
  135. package/dist/components/grid/grid.js +46 -0
  136. package/dist/components/grid/grid.js.map +1 -0
  137. package/dist/components/grid/grid.styles.d.ts +2 -0
  138. package/dist/components/grid/grid.styles.d.ts.map +1 -0
  139. package/dist/components/grid/grid.styles.js +57 -0
  140. package/dist/components/grid/grid.styles.js.map +1 -0
  141. package/dist/components/grid/index.d.ts +3 -0
  142. package/dist/components/grid/index.d.ts.map +1 -0
  143. package/dist/components/icon/icon-registry.d.ts +3 -0
  144. package/dist/components/icon/icon-registry.d.ts.map +1 -0
  145. package/dist/components/icon/icon-registry.js +12 -0
  146. package/dist/components/icon/icon-registry.js.map +1 -0
  147. package/dist/components/icon/icon.d.ts +18 -0
  148. package/dist/components/icon/icon.d.ts.map +1 -0
  149. package/dist/components/icon/icon.js +45 -0
  150. package/dist/components/icon/icon.js.map +1 -0
  151. package/dist/components/icon/icon.styles.d.ts +2 -0
  152. package/dist/components/icon/icon.styles.d.ts.map +1 -0
  153. package/dist/components/icon/icon.styles.js +46 -0
  154. package/dist/components/icon/icon.styles.js.map +1 -0
  155. package/dist/components/icon/index.d.ts +4 -0
  156. package/dist/components/icon/index.d.ts.map +1 -0
  157. package/dist/components/input/index.d.ts +3 -0
  158. package/dist/components/input/index.d.ts.map +1 -0
  159. package/dist/components/input/input.d.ts +30 -0
  160. package/dist/components/input/input.d.ts.map +1 -0
  161. package/dist/components/input/input.js +133 -0
  162. package/dist/components/input/input.js.map +1 -0
  163. package/dist/components/input/input.styles.d.ts +2 -0
  164. package/dist/components/input/input.styles.d.ts.map +1 -0
  165. package/dist/components/input/input.styles.js +211 -0
  166. package/dist/components/input/input.styles.js.map +1 -0
  167. package/dist/components/link/index.d.ts +3 -0
  168. package/dist/components/link/index.d.ts.map +1 -0
  169. package/dist/components/link/link.d.ts +16 -0
  170. package/dist/components/link/link.d.ts.map +1 -0
  171. package/dist/components/link/link.js +53 -0
  172. package/dist/components/link/link.js.map +1 -0
  173. package/dist/components/link/link.styles.d.ts +2 -0
  174. package/dist/components/link/link.styles.d.ts.map +1 -0
  175. package/dist/components/link/link.styles.js +57 -0
  176. package/dist/components/link/link.styles.js.map +1 -0
  177. package/dist/components/pagination/index.d.ts +3 -0
  178. package/dist/components/pagination/index.d.ts.map +1 -0
  179. package/dist/components/pagination/pagination.d.ts +28 -0
  180. package/dist/components/pagination/pagination.d.ts.map +1 -0
  181. package/dist/components/pagination/pagination.js +139 -0
  182. package/dist/components/pagination/pagination.js.map +1 -0
  183. package/dist/components/pagination/pagination.styles.d.ts +2 -0
  184. package/dist/components/pagination/pagination.styles.d.ts.map +1 -0
  185. package/dist/components/pagination/pagination.styles.js +86 -0
  186. package/dist/components/pagination/pagination.styles.js.map +1 -0
  187. package/dist/components/popover/index.d.ts +3 -0
  188. package/dist/components/popover/index.d.ts.map +1 -0
  189. package/dist/components/popover/popover.d.ts +26 -0
  190. package/dist/components/popover/popover.d.ts.map +1 -0
  191. package/dist/components/popover/popover.js +88 -0
  192. package/dist/components/popover/popover.js.map +1 -0
  193. package/dist/components/popover/popover.styles.d.ts +2 -0
  194. package/dist/components/popover/popover.styles.d.ts.map +1 -0
  195. package/dist/components/popover/popover.styles.js +61 -0
  196. package/dist/components/popover/popover.styles.js.map +1 -0
  197. package/dist/components/progress/index.d.ts +9 -0
  198. package/dist/components/progress/index.d.ts.map +1 -0
  199. package/dist/components/progress/progress.d.ts +17 -0
  200. package/dist/components/progress/progress.d.ts.map +1 -0
  201. package/dist/components/progress/progress.js +57 -0
  202. package/dist/components/progress/progress.js.map +1 -0
  203. package/dist/components/progress/progress.styles.d.ts +2 -0
  204. package/dist/components/progress/progress.styles.d.ts.map +1 -0
  205. package/dist/components/progress/progress.styles.js +57 -0
  206. package/dist/components/progress/progress.styles.js.map +1 -0
  207. package/dist/components/progress/step-timeline.d.ts +23 -0
  208. package/dist/components/progress/step-timeline.d.ts.map +1 -0
  209. package/dist/components/progress/step-timeline.js +52 -0
  210. package/dist/components/progress/step-timeline.js.map +1 -0
  211. package/dist/components/progress/step-timeline.styles.d.ts +2 -0
  212. package/dist/components/progress/step-timeline.styles.d.ts.map +1 -0
  213. package/dist/components/progress/step-timeline.styles.js +137 -0
  214. package/dist/components/progress/step-timeline.styles.js.map +1 -0
  215. package/dist/components/progress/step.d.ts +24 -0
  216. package/dist/components/progress/step.d.ts.map +1 -0
  217. package/dist/components/progress/step.js +76 -0
  218. package/dist/components/progress/step.js.map +1 -0
  219. package/dist/components/progress/step.styles.d.ts +2 -0
  220. package/dist/components/progress/step.styles.d.ts.map +1 -0
  221. package/dist/components/progress/step.styles.js +137 -0
  222. package/dist/components/progress/step.styles.js.map +1 -0
  223. package/dist/components/progress/stepper-dots.d.ts +19 -0
  224. package/dist/components/progress/stepper-dots.d.ts.map +1 -0
  225. package/dist/components/progress/stepper-dots.js +60 -0
  226. package/dist/components/progress/stepper-dots.js.map +1 -0
  227. package/dist/components/progress/stepper-dots.styles.d.ts +2 -0
  228. package/dist/components/progress/stepper-dots.styles.d.ts.map +1 -0
  229. package/dist/components/progress/stepper-dots.styles.js +29 -0
  230. package/dist/components/progress/stepper-dots.styles.js.map +1 -0
  231. package/dist/components/progress/stepper.d.ts +19 -0
  232. package/dist/components/progress/stepper.d.ts.map +1 -0
  233. package/dist/components/progress/stepper.js +60 -0
  234. package/dist/components/progress/stepper.js.map +1 -0
  235. package/dist/components/progress/stepper.styles.d.ts +2 -0
  236. package/dist/components/progress/stepper.styles.d.ts.map +1 -0
  237. package/dist/components/progress/stepper.styles.js +31 -0
  238. package/dist/components/progress/stepper.styles.js.map +1 -0
  239. package/dist/components/radio/index.d.ts +4 -0
  240. package/dist/components/radio/index.d.ts.map +1 -0
  241. package/dist/components/radio/radio-group.d.ts +24 -0
  242. package/dist/components/radio/radio-group.d.ts.map +1 -0
  243. package/dist/components/radio/radio-group.js +77 -0
  244. package/dist/components/radio/radio-group.js.map +1 -0
  245. package/dist/components/radio/radio.d.ts +19 -0
  246. package/dist/components/radio/radio.d.ts.map +1 -0
  247. package/dist/components/radio/radio.js +55 -0
  248. package/dist/components/radio/radio.js.map +1 -0
  249. package/dist/components/radio/radio.styles.d.ts +3 -0
  250. package/dist/components/radio/radio.styles.d.ts.map +1 -0
  251. package/dist/components/radio/radio.styles.js +117 -0
  252. package/dist/components/radio/radio.styles.js.map +1 -0
  253. package/dist/components/select/index.d.ts +3 -0
  254. package/dist/components/select/index.d.ts.map +1 -0
  255. package/dist/components/select/option.d.ts +15 -0
  256. package/dist/components/select/option.d.ts.map +1 -0
  257. package/dist/components/select/option.js +39 -0
  258. package/dist/components/select/option.js.map +1 -0
  259. package/dist/components/select/select.d.ts +32 -0
  260. package/dist/components/select/select.d.ts.map +1 -0
  261. package/dist/components/select/select.js +202 -0
  262. package/dist/components/select/select.js.map +1 -0
  263. package/dist/components/select/select.styles.d.ts +2 -0
  264. package/dist/components/select/select.styles.d.ts.map +1 -0
  265. package/dist/components/select/select.styles.js +257 -0
  266. package/dist/components/select/select.styles.js.map +1 -0
  267. package/dist/components/skeleton/index.d.ts +3 -0
  268. package/dist/components/skeleton/index.d.ts.map +1 -0
  269. package/dist/components/skeleton/skeleton.d.ts +18 -0
  270. package/dist/components/skeleton/skeleton.d.ts.map +1 -0
  271. package/dist/components/skeleton/skeleton.js +47 -0
  272. package/dist/components/skeleton/skeleton.js.map +1 -0
  273. package/dist/components/skeleton/skeleton.styles.d.ts +2 -0
  274. package/dist/components/skeleton/skeleton.styles.d.ts.map +1 -0
  275. package/dist/components/skeleton/skeleton.styles.js +72 -0
  276. package/dist/components/skeleton/skeleton.styles.js.map +1 -0
  277. package/dist/components/spinner/index.d.ts +3 -0
  278. package/dist/components/spinner/index.d.ts.map +1 -0
  279. package/dist/components/spinner/spinner.d.ts +16 -0
  280. package/dist/components/spinner/spinner.d.ts.map +1 -0
  281. package/dist/components/spinner/spinner.js +36 -0
  282. package/dist/components/spinner/spinner.js.map +1 -0
  283. package/dist/components/spinner/spinner.styles.d.ts +2 -0
  284. package/dist/components/spinner/spinner.styles.d.ts.map +1 -0
  285. package/dist/components/spinner/spinner.styles.js +43 -0
  286. package/dist/components/spinner/spinner.styles.js.map +1 -0
  287. package/dist/components/stack/index.d.ts +3 -0
  288. package/dist/components/stack/index.d.ts.map +1 -0
  289. package/dist/components/stack/stack.d.ts +20 -0
  290. package/dist/components/stack/stack.d.ts.map +1 -0
  291. package/dist/components/stack/stack.js +39 -0
  292. package/dist/components/stack/stack.js.map +1 -0
  293. package/dist/components/stack/stack.styles.d.ts +2 -0
  294. package/dist/components/stack/stack.styles.d.ts.map +1 -0
  295. package/dist/components/stack/stack.styles.js +97 -0
  296. package/dist/components/stack/stack.styles.js.map +1 -0
  297. package/dist/components/switch/index.d.ts +3 -0
  298. package/dist/components/switch/index.d.ts.map +1 -0
  299. package/dist/components/switch/switch.d.ts +23 -0
  300. package/dist/components/switch/switch.d.ts.map +1 -0
  301. package/dist/components/switch/switch.js +69 -0
  302. package/dist/components/switch/switch.js.map +1 -0
  303. package/dist/components/switch/switch.styles.d.ts +2 -0
  304. package/dist/components/switch/switch.styles.d.ts.map +1 -0
  305. package/dist/components/switch/switch.styles.js +100 -0
  306. package/dist/components/switch/switch.styles.js.map +1 -0
  307. package/dist/components/table/index.d.ts +3 -0
  308. package/dist/components/table/index.d.ts.map +1 -0
  309. package/dist/components/table/table.d.ts +39 -0
  310. package/dist/components/table/table.d.ts.map +1 -0
  311. package/dist/components/table/table.js +209 -0
  312. package/dist/components/table/table.js.map +1 -0
  313. package/dist/components/table/table.styles.d.ts +2 -0
  314. package/dist/components/table/table.styles.d.ts.map +1 -0
  315. package/dist/components/table/table.styles.js +261 -0
  316. package/dist/components/table/table.styles.js.map +1 -0
  317. package/dist/components/tabs/index.d.ts +6 -0
  318. package/dist/components/tabs/index.d.ts.map +1 -0
  319. package/dist/components/tabs/tab-panel.d.ts +12 -0
  320. package/dist/components/tabs/tab-panel.d.ts.map +1 -0
  321. package/dist/components/tabs/tab-panel.js +34 -0
  322. package/dist/components/tabs/tab-panel.js.map +1 -0
  323. package/dist/components/tabs/tab.d.ts +16 -0
  324. package/dist/components/tabs/tab.d.ts.map +1 -0
  325. package/dist/components/tabs/tab.js +37 -0
  326. package/dist/components/tabs/tab.js.map +1 -0
  327. package/dist/components/tabs/tabs.d.ts +27 -0
  328. package/dist/components/tabs/tabs.d.ts.map +1 -0
  329. package/dist/components/tabs/tabs.js +123 -0
  330. package/dist/components/tabs/tabs.js.map +1 -0
  331. package/dist/components/tabs/tabs.styles.d.ts +2 -0
  332. package/dist/components/tabs/tabs.styles.d.ts.map +1 -0
  333. package/dist/components/tabs/tabs.styles.js +184 -0
  334. package/dist/components/tabs/tabs.styles.js.map +1 -0
  335. package/dist/components/tag/index.d.ts +3 -0
  336. package/dist/components/tag/index.d.ts.map +1 -0
  337. package/dist/components/tag/tag.d.ts +18 -0
  338. package/dist/components/tag/tag.d.ts.map +1 -0
  339. package/dist/components/tag/tag.js +78 -0
  340. package/dist/components/tag/tag.js.map +1 -0
  341. package/dist/components/tag/tag.styles.d.ts +2 -0
  342. package/dist/components/tag/tag.styles.d.ts.map +1 -0
  343. package/dist/components/tag/tag.styles.js +137 -0
  344. package/dist/components/tag/tag.styles.js.map +1 -0
  345. package/dist/components/textarea/index.d.ts +3 -0
  346. package/dist/components/textarea/index.d.ts.map +1 -0
  347. package/dist/components/textarea/textarea.d.ts +28 -0
  348. package/dist/components/textarea/textarea.d.ts.map +1 -0
  349. package/dist/components/textarea/textarea.js +121 -0
  350. package/dist/components/textarea/textarea.js.map +1 -0
  351. package/dist/components/textarea/textarea.styles.d.ts +2 -0
  352. package/dist/components/textarea/textarea.styles.d.ts.map +1 -0
  353. package/dist/components/textarea/textarea.styles.js +146 -0
  354. package/dist/components/textarea/textarea.styles.js.map +1 -0
  355. package/dist/components/toast/index.d.ts +3 -0
  356. package/dist/components/toast/index.d.ts.map +1 -0
  357. package/dist/components/toast/toast.d.ts +31 -0
  358. package/dist/components/toast/toast.d.ts.map +1 -0
  359. package/dist/components/toast/toast.js +104 -0
  360. package/dist/components/toast/toast.js.map +1 -0
  361. package/dist/components/toast/toast.styles.d.ts +2 -0
  362. package/dist/components/toast/toast.styles.d.ts.map +1 -0
  363. package/dist/components/toast/toast.styles.js +176 -0
  364. package/dist/components/toast/toast.styles.js.map +1 -0
  365. package/dist/components/tooltip/index.d.ts +3 -0
  366. package/dist/components/tooltip/index.d.ts.map +1 -0
  367. package/dist/components/tooltip/tooltip.d.ts +26 -0
  368. package/dist/components/tooltip/tooltip.d.ts.map +1 -0
  369. package/dist/components/tooltip/tooltip.js +78 -0
  370. package/dist/components/tooltip/tooltip.js.map +1 -0
  371. package/dist/components/tooltip/tooltip.styles.d.ts +2 -0
  372. package/dist/components/tooltip/tooltip.styles.d.ts.map +1 -0
  373. package/dist/components/tooltip/tooltip.styles.js +157 -0
  374. package/dist/components/tooltip/tooltip.styles.js.map +1 -0
  375. package/dist/index.d.ts +32 -0
  376. package/dist/index.d.ts.map +1 -0
  377. package/dist/index.js +90 -0
  378. package/dist/index.js.map +1 -0
  379. package/dist/react/index.d.ts +161 -0
  380. package/dist/react/index.d.ts.map +1 -0
  381. package/dist/styles/mixins.d.ts +4 -0
  382. package/dist/styles/mixins.d.ts.map +1 -0
  383. package/dist/styles/reset.d.ts +2 -0
  384. package/dist/styles/reset.d.ts.map +1 -0
  385. package/dist/tokens/extract.d.ts +2 -0
  386. package/dist/tokens/extract.d.ts.map +1 -0
  387. package/dist/tokens/generated/tokens.d.ts +162 -0
  388. package/dist/tokens/generated/tokens.d.ts.map +1 -0
  389. package/dist/tokens/transform-cli.d.ts +2 -0
  390. package/dist/tokens/transform-cli.d.ts.map +1 -0
  391. package/dist/tokens/transform.d.ts +3 -0
  392. package/dist/tokens/transform.d.ts.map +1 -0
  393. package/package.json +101 -0
@@ -0,0 +1,117 @@
1
+ import { css as e } from "lit";
2
+ const l = e`
3
+ :host {
4
+ display: inline-flex;
5
+ align-items: flex-start;
6
+ gap: var(--mellow-space-2, 8px);
7
+ cursor: pointer;
8
+ user-select: none;
9
+ outline: none;
10
+ }
11
+
12
+ :host(:focus-visible) .radio-circle {
13
+ outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);
14
+ outline-offset: 2px;
15
+ }
16
+
17
+ :host([disabled]) {
18
+ cursor: not-allowed;
19
+ opacity: 0.48;
20
+ }
21
+
22
+ /* Visual radio circle */
23
+ .radio-circle {
24
+ display: flex;
25
+ align-items: center;
26
+ justify-content: center;
27
+ flex-shrink: 0;
28
+ border-radius: 50%;
29
+ background: var(--mellow-bg-fill-control-default, rgba(193, 148, 118, 0.24));
30
+ overflow: clip;
31
+ transition: background-color 150ms ease;
32
+ }
33
+
34
+ :host(:hover:not([disabled])) .radio-circle {
35
+ background: var(--mellow-bg-fill-control-default-hovered, #e4d3c4);
36
+ }
37
+
38
+ .radio-circle.checked {
39
+ background: var(--mellow-bg-fill-control-active, #ff6f23);
40
+ }
41
+
42
+ :host(:hover:not([disabled])) .radio-circle.checked {
43
+ background: var(--mellow-bg-fill-control-active-hovered, #f04706);
44
+ }
45
+
46
+ /* Size: lg (24px) — default */
47
+ .radio-circle {
48
+ width: 24px;
49
+ height: 24px;
50
+ }
51
+
52
+ :host([size='md']) .radio-circle {
53
+ width: 20px;
54
+ height: 20px;
55
+ }
56
+
57
+ :host([size='sm']) .radio-circle {
58
+ width: 16px;
59
+ height: 16px;
60
+ }
61
+
62
+ /* Inner dot */
63
+ .radio-dot {
64
+ border-radius: 50%;
65
+ background: var(--mellow-bg-fill-control-indicator, white);
66
+ }
67
+
68
+ .radio-dot {
69
+ width: 12px;
70
+ height: 12px;
71
+ }
72
+
73
+ :host([size='md']) .radio-dot {
74
+ width: 10px;
75
+ height: 10px;
76
+ }
77
+
78
+ :host([size='sm']) .radio-dot {
79
+ width: 8px;
80
+ height: 8px;
81
+ }
82
+
83
+ /* Label */
84
+ .label-text {
85
+ font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
86
+ font-weight: var(--mellow-font-weight-regular, 400);
87
+ font-size: var(--mellow-font-size-18, 18px);
88
+ line-height: var(--mellow-line-height-24, 24px);
89
+ color: var(--mellow-text-primary, #232222);
90
+ }
91
+
92
+ :host([size='md']) .label-text {
93
+ font-size: var(--mellow-font-size-16, 16px);
94
+ line-height: var(--mellow-line-height-22, 22px);
95
+ }
96
+
97
+ :host([size='sm']) .label-text {
98
+ font-size: var(--mellow-font-size-14, 14px);
99
+ line-height: var(--mellow-line-height-18, 18px);
100
+ }
101
+
102
+ :host([disabled]) .label-text {
103
+ color: var(--mellow-text-secondary, #8a8686);
104
+ }
105
+ `, i = e`
106
+ :host {
107
+ display: flex;
108
+ flex-direction: column;
109
+ gap: var(--mellow-space-2, 8px);
110
+ outline: none;
111
+ }
112
+ `;
113
+ export {
114
+ i as radioGroupStyles,
115
+ l as radioStyles
116
+ };
117
+ //# sourceMappingURL=radio.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"radio.styles.js","sources":["../../../src/components/radio/radio.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const radioStyles = css`\n :host {\n display: inline-flex;\n align-items: flex-start;\n gap: var(--mellow-space-2, 8px);\n cursor: pointer;\n user-select: none;\n outline: none;\n }\n\n :host(:focus-visible) .radio-circle {\n outline: 2px solid var(--mellow-colors-primary-mellow-orange, #ff6f23);\n outline-offset: 2px;\n }\n\n :host([disabled]) {\n cursor: not-allowed;\n opacity: 0.48;\n }\n\n /* Visual radio circle */\n .radio-circle {\n display: flex;\n align-items: center;\n justify-content: center;\n flex-shrink: 0;\n border-radius: 50%;\n background: var(--mellow-bg-fill-control-default, rgba(193, 148, 118, 0.24));\n overflow: clip;\n transition: background-color 150ms ease;\n }\n\n :host(:hover:not([disabled])) .radio-circle {\n background: var(--mellow-bg-fill-control-default-hovered, #e4d3c4);\n }\n\n .radio-circle.checked {\n background: var(--mellow-bg-fill-control-active, #ff6f23);\n }\n\n :host(:hover:not([disabled])) .radio-circle.checked {\n background: var(--mellow-bg-fill-control-active-hovered, #f04706);\n }\n\n /* Size: lg (24px) — default */\n .radio-circle {\n width: 24px;\n height: 24px;\n }\n\n :host([size='md']) .radio-circle {\n width: 20px;\n height: 20px;\n }\n\n :host([size='sm']) .radio-circle {\n width: 16px;\n height: 16px;\n }\n\n /* Inner dot */\n .radio-dot {\n border-radius: 50%;\n background: var(--mellow-bg-fill-control-indicator, white);\n }\n\n .radio-dot {\n width: 12px;\n height: 12px;\n }\n\n :host([size='md']) .radio-dot {\n width: 10px;\n height: 10px;\n }\n\n :host([size='sm']) .radio-dot {\n width: 8px;\n height: 8px;\n }\n\n /* Label */\n .label-text {\n font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\\\'l', system-ui, sans-serif);\n font-weight: var(--mellow-font-weight-regular, 400);\n font-size: var(--mellow-font-size-18, 18px);\n line-height: var(--mellow-line-height-24, 24px);\n color: var(--mellow-text-primary, #232222);\n }\n\n :host([size='md']) .label-text {\n font-size: var(--mellow-font-size-16, 16px);\n line-height: var(--mellow-line-height-22, 22px);\n }\n\n :host([size='sm']) .label-text {\n font-size: var(--mellow-font-size-14, 14px);\n line-height: var(--mellow-line-height-18, 18px);\n }\n\n :host([disabled]) .label-text {\n color: var(--mellow-text-secondary, #8a8686);\n }\n`\n\nexport const radioGroupStyles = css`\n :host {\n display: flex;\n flex-direction: column;\n gap: var(--mellow-space-2, 8px);\n outline: none;\n }\n`\n"],"names":["radioStyles","css","radioGroupStyles"],"mappings":";AAEO,MAAMA,IAAcC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAyGdC,IAAmBD;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,3 @@
1
+ export { MellowSelect } from './select.js';
2
+ export { MellowOption } from './option.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/select/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA"}
@@ -0,0 +1,15 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class MellowOption extends LitElement {
3
+ static styles: import("lit").CSSResult;
4
+ value: string;
5
+ label: string;
6
+ disabled: boolean;
7
+ get displayLabel(): string;
8
+ render(): import("lit-html").TemplateResult<1>;
9
+ }
10
+ declare global {
11
+ interface HTMLElementTagNameMap {
12
+ 'mellow-option': MellowOption;
13
+ }
14
+ }
15
+ //# sourceMappingURL=option.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.d.ts","sourceRoot":"","sources":["../../../src/components/select/option.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,MAAM,KAAK,CAAA;AAG3C,qBACa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,MAAM,0BAIrB;IAGD,KAAK,SAAK;IAGV,KAAK,SAAK;IAGV,QAAQ,UAAQ;IAEhB,IAAI,YAAY,IAAI,MAAM,CAEzB;IAEQ,MAAM;CAGhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAA;KAC9B;CACF"}
@@ -0,0 +1,39 @@
1
+ import { css as u, LitElement as m, html as b } from "lit";
2
+ import { property as i, customElement as c } from "lit/decorators.js";
3
+ var f = Object.defineProperty, h = Object.getOwnPropertyDescriptor, o = (n, l, s, r) => {
4
+ for (var e = r > 1 ? void 0 : r ? h(l, s) : l, p = n.length - 1, a; p >= 0; p--)
5
+ (a = n[p]) && (e = (r ? a(l, s, e) : a(e)) || e);
6
+ return r && e && f(l, s, e), e;
7
+ };
8
+ let t = class extends m {
9
+ constructor() {
10
+ super(...arguments), this.value = "", this.label = "", this.disabled = !1;
11
+ }
12
+ get displayLabel() {
13
+ return this.label || this.textContent?.trim() || this.value;
14
+ }
15
+ render() {
16
+ return b`<slot></slot>`;
17
+ }
18
+ };
19
+ t.styles = u`
20
+ :host {
21
+ display: block;
22
+ }
23
+ `;
24
+ o([
25
+ i()
26
+ ], t.prototype, "value", 2);
27
+ o([
28
+ i()
29
+ ], t.prototype, "label", 2);
30
+ o([
31
+ i({ type: Boolean, reflect: !0 })
32
+ ], t.prototype, "disabled", 2);
33
+ t = o([
34
+ c("mellow-option")
35
+ ], t);
36
+ export {
37
+ t as MellowOption
38
+ };
39
+ //# sourceMappingURL=option.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"option.js","sources":["../../../src/components/select/option.ts"],"sourcesContent":["import { LitElement, html, css } from 'lit'\nimport { customElement, property } from 'lit/decorators.js'\n\n@customElement('mellow-option')\nexport class MellowOption extends LitElement {\n static override styles = css`\n :host {\n display: block;\n }\n `\n\n @property()\n value = ''\n\n @property()\n label = ''\n\n @property({ type: Boolean, reflect: true })\n disabled = false\n\n get displayLabel(): string {\n return this.label || this.textContent?.trim() || this.value\n }\n\n override render() {\n return html`<slot></slot>`\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-option': MellowOption\n }\n}\n"],"names":["MellowOption","LitElement","html","css","__decorateClass","property","customElement"],"mappings":";;;;;;;AAIO,IAAMA,IAAN,cAA2BC,EAAW;AAAA,EAAtC,cAAA;AAAA,UAAA,GAAA,SAAA,GAQL,KAAA,QAAQ,IAGR,KAAA,QAAQ,IAGR,KAAA,WAAW;AAAA,EAAA;AAAA,EAEX,IAAI,eAAuB;AACzB,WAAO,KAAK,SAAS,KAAK,aAAa,KAAA,KAAU,KAAK;AAAA,EACxD;AAAA,EAES,SAAS;AAChB,WAAOC;AAAA,EACT;AACF;AAvBaF,EACK,SAASG;AAAA;AAAA;AAAA;AAAA;AAOzBC,EAAA;AAAA,EADCC,EAAA;AAAS,GAPCL,EAQX,WAAA,SAAA,CAAA;AAGAI,EAAA;AAAA,EADCC,EAAA;AAAS,GAVCL,EAWX,WAAA,SAAA,CAAA;AAGAI,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,SAAS,SAAS,IAAM;AAAA,GAb/BL,EAcX,WAAA,YAAA,CAAA;AAdWA,IAANI,EAAA;AAAA,EADNE,EAAc,eAAe;AAAA,GACjBN,CAAA;"}
@@ -0,0 +1,32 @@
1
+ import { LitElement } from 'lit';
2
+ export declare class MellowSelect extends LitElement {
3
+ static styles: import("lit").CSSResult[];
4
+ value: string;
5
+ placeholder: string;
6
+ label: string;
7
+ error: string;
8
+ disabled: boolean;
9
+ searchable: boolean;
10
+ private _open;
11
+ private _highlightedIndex;
12
+ private _searchQuery;
13
+ connectedCallback(): void;
14
+ disconnectedCallback(): void;
15
+ private _getOptions;
16
+ private _getEnabledOptions;
17
+ private _getFilteredOptions;
18
+ private _getSelectedLabel;
19
+ private _toggleOpen;
20
+ private _close;
21
+ private _selectValue;
22
+ private _handleOptionClick;
23
+ private _handleSearchInput;
24
+ private _handleKeydown;
25
+ render(): import("lit-html").TemplateResult<1>;
26
+ }
27
+ declare global {
28
+ interface HTMLElementTagNameMap {
29
+ 'mellow-select': MellowSelect;
30
+ }
31
+ }
32
+ //# sourceMappingURL=select.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAsB,MAAM,KAAK,CAAA;AAmBpD,qBACa,YAAa,SAAQ,UAAU;IAC1C,OAAgB,MAAM,4BAAiB;IAGvC,KAAK,SAAK;IAGV,WAAW,SAAK;IAGhB,KAAK,SAAK;IAGV,KAAK,SAAK;IAGV,QAAQ,UAAQ;IAGhB,UAAU,UAAQ;IAGlB,OAAO,CAAC,KAAK,CAAQ;IAGrB,OAAO,CAAC,iBAAiB,CAAK;IAG9B,OAAO,CAAC,YAAY,CAAK;IAEhB,iBAAiB,IAAI,IAAI;IAMzB,oBAAoB,IAAI,IAAI;IAMrC,OAAO,CAAC,WAAW;IAInB,OAAO,CAAC,kBAAkB;IAI1B,OAAO,CAAC,mBAAmB;IAO3B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,WAAW;IASnB,OAAO,CAAC,MAAM;IAMd,OAAO,CAAC,YAAY;IAUpB,OAAO,CAAC,kBAAkB,CAKzB;IAED,OAAO,CAAC,kBAAkB,CAIzB;IAED,OAAO,CAAC,cAAc,CA4CrB;IAEQ,MAAM;CAwFhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,eAAe,EAAE,YAAY,CAAA;KAC9B;CACF"}
@@ -0,0 +1,202 @@
1
+ import { svg as _, LitElement as b, nothing as c, html as a } from "lit";
2
+ import { property as o, state as u, customElement as f } from "lit/decorators.js";
3
+ import { classMap as p } from "lit/directives/class-map.js";
4
+ import { selectStyles as y } from "./select.styles.js";
5
+ var w = Object.defineProperty, x = Object.getOwnPropertyDescriptor, h = (e, t, i, r) => {
6
+ for (var n = r > 1 ? void 0 : r ? x(t, i) : t, d = e.length - 1, s; d >= 0; d--)
7
+ (s = e[d]) && (n = (r ? s(t, i, n) : s(n)) || n);
8
+ return r && n && w(t, i, n), n;
9
+ };
10
+ const k = _`
11
+ <svg viewBox="0 0 16 16" fill="none" width="16" height="16">
12
+ <path d="M4 6l4 4 4-4" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" stroke-linejoin="round"/>
13
+ </svg>
14
+ `, m = _`
15
+ <svg viewBox="0 0 20 20" fill="none" width="20" height="20">
16
+ <circle cx="9" cy="9" r="6" stroke="currentColor" stroke-width="1.5"/>
17
+ <path d="M13.5 13.5L17 17" stroke="currentColor" stroke-width="1.5" stroke-linecap="round"/>
18
+ </svg>
19
+ `;
20
+ let l = class extends b {
21
+ constructor() {
22
+ super(...arguments), this.value = "", this.placeholder = "", this.label = "", this.error = "", this.disabled = !1, this.searchable = !1, this._open = !1, this._highlightedIndex = -1, this._searchQuery = "", this._handleOptionClick = (e) => {
23
+ if (!this._open) return;
24
+ const t = e.target.closest("mellow-option");
25
+ !t || t.disabled || this._selectValue(t.value);
26
+ }, this._handleSearchInput = (e) => {
27
+ const t = e.target;
28
+ this._searchQuery = t.value, this._highlightedIndex = -1;
29
+ }, this._handleKeydown = (e) => {
30
+ if (!this.disabled) {
31
+ if (e.key === "Escape" && this._open) {
32
+ e.preventDefault(), this._close();
33
+ return;
34
+ }
35
+ if (e.key === "Enter" || e.key === " ") {
36
+ if (e.key === " " && this.searchable && this._open) return;
37
+ if (e.preventDefault(), !this._open) {
38
+ this._toggleOpen();
39
+ return;
40
+ }
41
+ if (this._highlightedIndex >= 0) {
42
+ const i = this._getFilteredOptions().filter((r) => !r.disabled);
43
+ i[this._highlightedIndex] && this._selectValue(i[this._highlightedIndex].value);
44
+ }
45
+ return;
46
+ }
47
+ if (e.key === "ArrowDown" || e.key === "ArrowUp") {
48
+ if (e.preventDefault(), !this._open) {
49
+ this._toggleOpen();
50
+ return;
51
+ }
52
+ const i = this._getFilteredOptions().filter((r) => !r.disabled);
53
+ if (i.length === 0) return;
54
+ e.key === "ArrowDown" ? this._highlightedIndex = (this._highlightedIndex + 1) % i.length : this._highlightedIndex = this._highlightedIndex <= 0 ? i.length - 1 : this._highlightedIndex - 1;
55
+ }
56
+ }
57
+ };
58
+ }
59
+ connectedCallback() {
60
+ super.connectedCallback(), this.addEventListener("keydown", this._handleKeydown), this.addEventListener("click", this._handleOptionClick);
61
+ }
62
+ disconnectedCallback() {
63
+ super.disconnectedCallback(), this.removeEventListener("keydown", this._handleKeydown), this.removeEventListener("click", this._handleOptionClick);
64
+ }
65
+ _getOptions() {
66
+ return Array.from(this.querySelectorAll("mellow-option"));
67
+ }
68
+ _getEnabledOptions() {
69
+ return this._getOptions().filter((e) => !e.disabled);
70
+ }
71
+ _getFilteredOptions() {
72
+ const e = this._getOptions();
73
+ if (!this._searchQuery) return e;
74
+ const t = this._searchQuery.toLowerCase();
75
+ return e.filter((i) => i.displayLabel.toLowerCase().includes(t));
76
+ }
77
+ _getSelectedLabel() {
78
+ return this.value ? this._getOptions().find((t) => t.value === this.value)?.displayLabel ?? "" : "";
79
+ }
80
+ _toggleOpen() {
81
+ this.disabled || (this._open = !this._open, this._open && (this._highlightedIndex = -1, this._searchQuery = ""));
82
+ }
83
+ _close() {
84
+ this._open = !1, this._highlightedIndex = -1, this._searchQuery = "";
85
+ }
86
+ _selectValue(e) {
87
+ this.value = e, this._close(), this.dispatchEvent(new CustomEvent("mellow-change", {
88
+ detail: { value: this.value },
89
+ bubbles: !0,
90
+ composed: !0
91
+ }));
92
+ }
93
+ render() {
94
+ const e = this._getSelectedLabel(), t = this._getFilteredOptions(), i = t.filter((s) => !s.disabled), r = {
95
+ trigger: !0,
96
+ open: this._open
97
+ }, n = {
98
+ chevron: !0,
99
+ open: this._open
100
+ }, d = {
101
+ "display-text": !0,
102
+ placeholder: !e
103
+ };
104
+ return a`
105
+ <div class="wrapper">
106
+ ${this.label ? a`<label class="label" id="select-label">${this.label}</label>` : c}
107
+ <div
108
+ class=${p(r)}
109
+ role="combobox"
110
+ aria-expanded=${this._open ? "true" : "false"}
111
+ aria-haspopup="listbox"
112
+ aria-labelledby=${this.label ? "select-label" : c}
113
+ tabindex=${this.disabled ? "-1" : "0"}
114
+ @click=${this._toggleOpen}
115
+ >
116
+ <span class=${p(d)}>
117
+ ${e || this.placeholder || " "}
118
+ </span>
119
+ <span class=${p(n)}>${k}</span>
120
+ </div>
121
+ ${this._open ? a`
122
+ <div class="dropdown" role="listbox">
123
+ ${this.searchable ? a`
124
+ <div class="search-row">
125
+ <span class="search-icon">${m}</span>
126
+ <input
127
+ class="search-input"
128
+ type="text"
129
+ placeholder="Search"
130
+ .value=${this._searchQuery}
131
+ @input=${this._handleSearchInput}
132
+ @click=${(s) => s.stopPropagation()}
133
+ />
134
+ <div class="search-divider"></div>
135
+ </div>
136
+ ` : c}
137
+ <div class="options-list">
138
+ ${t.map((s) => {
139
+ const g = i.indexOf(s), v = {
140
+ "option-item": !0,
141
+ selected: s.value === this.value,
142
+ highlighted: g === this._highlightedIndex,
143
+ disabled: s.disabled
144
+ };
145
+ return a`
146
+ <div
147
+ class=${p(v)}
148
+ role="option"
149
+ aria-selected=${s.value === this.value ? "true" : "false"}
150
+ aria-disabled=${s.disabled ? "true" : "false"}
151
+ @click=${() => {
152
+ s.disabled || this._selectValue(s.value);
153
+ }}
154
+ >
155
+ <span class="option-text">${s.displayLabel}</span>
156
+ </div>
157
+ `;
158
+ })}
159
+ </div>
160
+ </div>
161
+ ` : c}
162
+ ${this.error ? a`<div class="helper" id="helper-text" role="alert">${this.error}</div>` : c}
163
+ </div>
164
+ <div class="hidden-slot"><slot></slot></div>
165
+ `;
166
+ }
167
+ };
168
+ l.styles = [y];
169
+ h([
170
+ o()
171
+ ], l.prototype, "value", 2);
172
+ h([
173
+ o()
174
+ ], l.prototype, "placeholder", 2);
175
+ h([
176
+ o()
177
+ ], l.prototype, "label", 2);
178
+ h([
179
+ o()
180
+ ], l.prototype, "error", 2);
181
+ h([
182
+ o({ type: Boolean, reflect: !0 })
183
+ ], l.prototype, "disabled", 2);
184
+ h([
185
+ o({ type: Boolean })
186
+ ], l.prototype, "searchable", 2);
187
+ h([
188
+ u()
189
+ ], l.prototype, "_open", 2);
190
+ h([
191
+ u()
192
+ ], l.prototype, "_highlightedIndex", 2);
193
+ h([
194
+ u()
195
+ ], l.prototype, "_searchQuery", 2);
196
+ l = h([
197
+ f("mellow-select")
198
+ ], l);
199
+ export {
200
+ l as MellowSelect
201
+ };
202
+ //# sourceMappingURL=select.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.js","sources":["../../../src/components/select/select.ts"],"sourcesContent":["import { LitElement, html, svg, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { selectStyles } from './select.styles.js'\nimport type { MellowOption } from './option.js'\n\nconst chevronIcon = svg`\n <svg viewBox=\"0 0 16 16\" fill=\"none\" width=\"16\" height=\"16\">\n <path d=\"M4 6l4 4 4-4\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\n </svg>\n`\n\nconst searchIcon = svg`\n <svg viewBox=\"0 0 20 20\" fill=\"none\" width=\"20\" height=\"20\">\n <circle cx=\"9\" cy=\"9\" r=\"6\" stroke=\"currentColor\" stroke-width=\"1.5\"/>\n <path d=\"M13.5 13.5L17 17\" stroke=\"currentColor\" stroke-width=\"1.5\" stroke-linecap=\"round\"/>\n </svg>\n`\n\n@customElement('mellow-select')\nexport class MellowSelect extends LitElement {\n static override styles = [selectStyles]\n\n @property()\n value = ''\n\n @property()\n placeholder = ''\n\n @property()\n label = ''\n\n @property()\n error = ''\n\n @property({ type: Boolean, reflect: true })\n disabled = false\n\n @property({ type: Boolean })\n searchable = false\n\n @state()\n private _open = false\n\n @state()\n private _highlightedIndex = -1\n\n @state()\n private _searchQuery = ''\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.addEventListener('keydown', this._handleKeydown)\n this.addEventListener('click', this._handleOptionClick)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n this.removeEventListener('keydown', this._handleKeydown)\n this.removeEventListener('click', this._handleOptionClick)\n }\n\n private _getOptions(): MellowOption[] {\n return Array.from(this.querySelectorAll('mellow-option'))\n }\n\n private _getEnabledOptions(): MellowOption[] {\n return this._getOptions().filter(o => !o.disabled)\n }\n\n private _getFilteredOptions(): MellowOption[] {\n const allOptions = this._getOptions()\n if (!this._searchQuery) return allOptions\n const query = this._searchQuery.toLowerCase()\n return allOptions.filter(o => o.displayLabel.toLowerCase().includes(query))\n }\n\n private _getSelectedLabel(): string {\n if (!this.value) return ''\n const option = this._getOptions().find(o => o.value === this.value)\n return option?.displayLabel ?? ''\n }\n\n private _toggleOpen(): void {\n if (this.disabled) return\n this._open = !this._open\n if (this._open) {\n this._highlightedIndex = -1\n this._searchQuery = ''\n }\n }\n\n private _close(): void {\n this._open = false\n this._highlightedIndex = -1\n this._searchQuery = ''\n }\n\n private _selectValue(value: string): void {\n this.value = value\n this._close()\n this.dispatchEvent(new CustomEvent('mellow-change', {\n detail: { value: this.value },\n bubbles: true,\n composed: true,\n }))\n }\n\n private _handleOptionClick = (e: Event): void => {\n if (!this._open) return\n const target = (e.target as Element).closest('mellow-option') as MellowOption | null\n if (!target || target.disabled) return\n this._selectValue(target.value)\n }\n\n private _handleSearchInput = (e: Event): void => {\n const input = e.target as HTMLInputElement\n this._searchQuery = input.value\n this._highlightedIndex = -1\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (this.disabled) return\n\n if (e.key === 'Escape' && this._open) {\n e.preventDefault()\n this._close()\n return\n }\n\n if (e.key === 'Enter' || e.key === ' ') {\n if (e.key === ' ' && this.searchable && this._open) return\n e.preventDefault()\n if (!this._open) {\n this._toggleOpen()\n return\n }\n if (this._highlightedIndex >= 0) {\n const filtered = this._getFilteredOptions()\n const enabled = filtered.filter(o => !o.disabled)\n if (enabled[this._highlightedIndex]) {\n this._selectValue(enabled[this._highlightedIndex].value)\n }\n }\n return\n }\n\n if (e.key === 'ArrowDown' || e.key === 'ArrowUp') {\n e.preventDefault()\n if (!this._open) {\n this._toggleOpen()\n return\n }\n const filtered = this._getFilteredOptions()\n const enabled = filtered.filter(o => !o.disabled)\n if (enabled.length === 0) return\n\n if (e.key === 'ArrowDown') {\n this._highlightedIndex = (this._highlightedIndex + 1) % enabled.length\n } else {\n this._highlightedIndex = this._highlightedIndex <= 0\n ? enabled.length - 1\n : this._highlightedIndex - 1\n }\n }\n }\n\n override render() {\n const selectedLabel = this._getSelectedLabel()\n const filteredOptions = this._getFilteredOptions()\n const enabledFiltered = filteredOptions.filter(o => !o.disabled)\n\n const triggerClasses = {\n 'trigger': true,\n 'open': this._open,\n }\n\n const chevronClasses = {\n 'chevron': true,\n 'open': this._open,\n }\n\n const displayClasses = {\n 'display-text': true,\n 'placeholder': !selectedLabel,\n }\n\n return html`\n <div class=\"wrapper\">\n ${this.label\n ? html`<label class=\"label\" id=\"select-label\">${this.label}</label>`\n : nothing}\n <div\n class=${classMap(triggerClasses)}\n role=\"combobox\"\n aria-expanded=${this._open ? 'true' : 'false'}\n aria-haspopup=\"listbox\"\n aria-labelledby=${this.label ? 'select-label' : nothing}\n tabindex=${this.disabled ? '-1' : '0'}\n @click=${this._toggleOpen}\n >\n <span class=${classMap(displayClasses)}>\n ${selectedLabel || this.placeholder || '\\u00A0'}\n </span>\n <span class=${classMap(chevronClasses)}>${chevronIcon}</span>\n </div>\n ${this._open ? html`\n <div class=\"dropdown\" role=\"listbox\">\n ${this.searchable ? html`\n <div class=\"search-row\">\n <span class=\"search-icon\">${searchIcon}</span>\n <input\n class=\"search-input\"\n type=\"text\"\n placeholder=\"Search\"\n .value=${this._searchQuery}\n @input=${this._handleSearchInput}\n @click=${(e: Event) => e.stopPropagation()}\n />\n <div class=\"search-divider\"></div>\n </div>\n ` : nothing}\n <div class=\"options-list\">\n ${filteredOptions.map(option => {\n const enabledIndex = enabledFiltered.indexOf(option)\n const optionClasses = {\n 'option-item': true,\n 'selected': option.value === this.value,\n 'highlighted': enabledIndex === this._highlightedIndex,\n 'disabled': option.disabled,\n }\n return html`\n <div\n class=${classMap(optionClasses)}\n role=\"option\"\n aria-selected=${option.value === this.value ? 'true' : 'false'}\n aria-disabled=${option.disabled ? 'true' : 'false'}\n @click=${() => {\n if (!option.disabled) this._selectValue(option.value)\n }}\n >\n <span class=\"option-text\">${option.displayLabel}</span>\n </div>\n `\n })}\n </div>\n </div>\n ` : nothing}\n ${this.error\n ? html`<div class=\"helper\" id=\"helper-text\" role=\"alert\">${this.error}</div>`\n : nothing}\n </div>\n <div class=\"hidden-slot\"><slot></slot></div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-select': MellowSelect\n }\n}\n"],"names":["chevronIcon","svg","searchIcon","MellowSelect","LitElement","target","input","enabled","o","allOptions","query","value","selectedLabel","filteredOptions","enabledFiltered","triggerClasses","chevronClasses","displayClasses","html","nothing","classMap","e","option","enabledIndex","optionClasses","selectStyles","__decorateClass","property","state","customElement"],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare const selectStyles: import("lit").CSSResult;
2
+ //# sourceMappingURL=select.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"select.styles.d.ts","sourceRoot":"","sources":["../../../src/components/select/select.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,YAAY,yBA2PxB,CAAA"}