@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,146 @@
1
+ import { css as e } from "lit";
2
+ const o = e`
3
+ :host {
4
+ display: block;
5
+ }
6
+
7
+ .wrapper {
8
+ display: flex;
9
+ flex-direction: column;
10
+ gap: var(--mellow-space-2, 8px);
11
+ }
12
+
13
+ /* Label */
14
+ .label {
15
+ font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
16
+ font-weight: var(--mellow-font-weight-medium, 500);
17
+ font-size: var(--mellow-font-size-14, 14px);
18
+ line-height: var(--mellow-line-height-18, 18px);
19
+ color: var(--mellow-text-secondary, #8a8686);
20
+ }
21
+
22
+ :host([error]) .label {
23
+ color: var(--mellow-text-danger-600, #db4933);
24
+ }
25
+
26
+ /* Input + Helper wrapper */
27
+ .textarea-helper {
28
+ display: flex;
29
+ flex: 1 0 0;
30
+ flex-direction: column;
31
+ gap: var(--mellow-space-1, 4px);
32
+ min-height: 0;
33
+ }
34
+
35
+ /* Textarea container */
36
+ .textarea-container {
37
+ display: flex;
38
+ flex: 1 0 0;
39
+ min-height: 0;
40
+ padding: var(--mellow-space-3-5, 15px);
41
+ border-radius: var(--mellow-radius-2, 8px);
42
+ border: var(--mellow-stroke-border, 1px) solid var(--mellow-border-input, white);
43
+ background: var(--mellow-bg-surface-primary, white);
44
+ transition: border-color 150ms ease;
45
+ overflow: clip;
46
+ }
47
+
48
+ .textarea-container:hover {
49
+ border-color: var(--mellow-border-secondary, #ead8be);
50
+ }
51
+
52
+ .textarea-container.focused {
53
+ border-color: var(--mellow-border-brand, #ff6f23);
54
+ }
55
+
56
+ :host([error]) .textarea-container {
57
+ border-color: var(--mellow-border-danger, #db4933);
58
+ background: var(--mellow-bg-surface-danger, rgba(246, 132, 115, 0.16));
59
+ }
60
+
61
+ :host([disabled]) .textarea-container {
62
+ border-color: var(--mellow-border-tertiary, #f5eddf);
63
+ background: var(--mellow-bg-surface-tertiary, #f5eddf);
64
+ cursor: not-allowed;
65
+ }
66
+
67
+ :host([disabled]) .textarea-container:hover {
68
+ border-color: var(--mellow-border-tertiary, #f5eddf);
69
+ }
70
+
71
+ /* Native textarea */
72
+ textarea {
73
+ flex: 1 0 0;
74
+ min-width: 0;
75
+ min-height: 0;
76
+ border: none;
77
+ outline: none;
78
+ background: transparent;
79
+ font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
80
+ font-weight: var(--mellow-font-weight-regular, 400);
81
+ font-size: var(--mellow-font-size-16, 16px);
82
+ line-height: var(--mellow-line-height-22, 22px);
83
+ color: var(--mellow-text-primary, #232222);
84
+ padding: 0;
85
+ }
86
+
87
+ textarea::placeholder {
88
+ color: var(--mellow-text-tertiary, #d1d0d0);
89
+ }
90
+
91
+ :host([error]) textarea {
92
+ color: var(--mellow-text-danger-600, #db4933);
93
+ }
94
+
95
+ :host([error]) textarea::placeholder {
96
+ color: var(--mellow-text-danger-300, #fbb1a6);
97
+ }
98
+
99
+ :host([disabled]) textarea {
100
+ color: var(--mellow-text-secondary, #8a8686);
101
+ cursor: not-allowed;
102
+ }
103
+
104
+ :host([disabled]) textarea::placeholder {
105
+ color: var(--mellow-text-secondary, #8a8686);
106
+ }
107
+
108
+ /* Helper / Error text + Character count */
109
+ .helper {
110
+ font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
111
+ font-weight: var(--mellow-font-weight-regular, 400);
112
+ font-size: var(--mellow-font-size-12, 12px);
113
+ line-height: var(--mellow-line-height-14, 14px);
114
+ color: var(--mellow-text-secondary, #8a8686);
115
+ }
116
+
117
+ :host([error]) .helper {
118
+ color: var(--mellow-text-danger-600, #db4933);
119
+ }
120
+
121
+ .helper-row {
122
+ display: flex;
123
+ justify-content: space-between;
124
+ align-items: flex-start;
125
+ gap: var(--mellow-space-2, 8px);
126
+ }
127
+
128
+ .char-count {
129
+ font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
130
+ font-weight: var(--mellow-font-weight-regular, 400);
131
+ font-size: var(--mellow-font-size-12, 12px);
132
+ line-height: var(--mellow-line-height-14, 14px);
133
+ color: var(--mellow-text-secondary, #8a8686);
134
+ text-align: right;
135
+ white-space: nowrap;
136
+ flex-shrink: 0;
137
+ }
138
+
139
+ :host([error]) .char-count {
140
+ color: var(--mellow-text-danger-600, #db4933);
141
+ }
142
+ `;
143
+ export {
144
+ o as textareaStyles
145
+ };
146
+ //# sourceMappingURL=textarea.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"textarea.styles.js","sources":["../../../src/components/textarea/textarea.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const textareaStyles = css`\n :host {\n display: block;\n }\n\n .wrapper {\n display: flex;\n flex-direction: column;\n gap: var(--mellow-space-2, 8px);\n }\n\n /* Label */\n .label {\n font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\\\'l', system-ui, sans-serif);\n font-weight: var(--mellow-font-weight-medium, 500);\n font-size: var(--mellow-font-size-14, 14px);\n line-height: var(--mellow-line-height-18, 18px);\n color: var(--mellow-text-secondary, #8a8686);\n }\n\n :host([error]) .label {\n color: var(--mellow-text-danger-600, #db4933);\n }\n\n /* Input + Helper wrapper */\n .textarea-helper {\n display: flex;\n flex: 1 0 0;\n flex-direction: column;\n gap: var(--mellow-space-1, 4px);\n min-height: 0;\n }\n\n /* Textarea container */\n .textarea-container {\n display: flex;\n flex: 1 0 0;\n min-height: 0;\n padding: var(--mellow-space-3-5, 15px);\n border-radius: var(--mellow-radius-2, 8px);\n border: var(--mellow-stroke-border, 1px) solid var(--mellow-border-input, white);\n background: var(--mellow-bg-surface-primary, white);\n transition: border-color 150ms ease;\n overflow: clip;\n }\n\n .textarea-container:hover {\n border-color: var(--mellow-border-secondary, #ead8be);\n }\n\n .textarea-container.focused {\n border-color: var(--mellow-border-brand, #ff6f23);\n }\n\n :host([error]) .textarea-container {\n border-color: var(--mellow-border-danger, #db4933);\n background: var(--mellow-bg-surface-danger, rgba(246, 132, 115, 0.16));\n }\n\n :host([disabled]) .textarea-container {\n border-color: var(--mellow-border-tertiary, #f5eddf);\n background: var(--mellow-bg-surface-tertiary, #f5eddf);\n cursor: not-allowed;\n }\n\n :host([disabled]) .textarea-container:hover {\n border-color: var(--mellow-border-tertiary, #f5eddf);\n }\n\n /* Native textarea */\n textarea {\n flex: 1 0 0;\n min-width: 0;\n min-height: 0;\n border: none;\n outline: none;\n background: transparent;\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-16, 16px);\n line-height: var(--mellow-line-height-22, 22px);\n color: var(--mellow-text-primary, #232222);\n padding: 0;\n }\n\n textarea::placeholder {\n color: var(--mellow-text-tertiary, #d1d0d0);\n }\n\n :host([error]) textarea {\n color: var(--mellow-text-danger-600, #db4933);\n }\n\n :host([error]) textarea::placeholder {\n color: var(--mellow-text-danger-300, #fbb1a6);\n }\n\n :host([disabled]) textarea {\n color: var(--mellow-text-secondary, #8a8686);\n cursor: not-allowed;\n }\n\n :host([disabled]) textarea::placeholder {\n color: var(--mellow-text-secondary, #8a8686);\n }\n\n /* Helper / Error text + Character count */\n .helper {\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-12, 12px);\n line-height: var(--mellow-line-height-14, 14px);\n color: var(--mellow-text-secondary, #8a8686);\n }\n\n :host([error]) .helper {\n color: var(--mellow-text-danger-600, #db4933);\n }\n\n .helper-row {\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n gap: var(--mellow-space-2, 8px);\n }\n\n .char-count {\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-12, 12px);\n line-height: var(--mellow-line-height-14, 14px);\n color: var(--mellow-text-secondary, #8a8686);\n text-align: right;\n white-space: nowrap;\n flex-shrink: 0;\n }\n\n :host([error]) .char-count {\n color: var(--mellow-text-danger-600, #db4933);\n }\n`\n"],"names":["textareaStyles","css"],"mappings":";AAEO,MAAMA,IAAiBC;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;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;"}
@@ -0,0 +1,3 @@
1
+ export { MellowToast } from './toast.js';
2
+ export type { ToastVariant } from './toast.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/toast/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AACxC,YAAY,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA"}
@@ -0,0 +1,31 @@
1
+ import { LitElement, nothing } from 'lit';
2
+ export type ToastVariant = 'info' | 'accent' | 'danger' | 'warning' | 'success';
3
+ export declare class MellowToast extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ variant: ToastVariant;
6
+ message: string;
7
+ duration: number;
8
+ private _visible;
9
+ private _entering;
10
+ private _exiting;
11
+ private _autoTimer;
12
+ static show(options: {
13
+ message: string;
14
+ variant?: ToastVariant;
15
+ duration?: number;
16
+ container?: HTMLElement;
17
+ }): MellowToast;
18
+ connectedCallback(): void;
19
+ disconnectedCallback(): void;
20
+ private _scheduleAutoDismiss;
21
+ private _clearAutoTimer;
22
+ private _dismiss;
23
+ private _handleClose;
24
+ render(): import("lit-html").TemplateResult<1> | typeof nothing;
25
+ }
26
+ declare global {
27
+ interface HTMLElementTagNameMap {
28
+ 'mellow-toast': MellowToast;
29
+ }
30
+ }
31
+ //# sourceMappingURL=toast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAa,OAAO,EAAE,MAAM,KAAK,CAAA;AAKpD,MAAM,MAAM,YAAY,GAAG,MAAM,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,GAAG,SAAS,CAAA;AAgB/E,qBACa,WAAY,SAAQ,UAAU;IACzC,OAAgB,MAAM,4BAAgB;IAGtC,OAAO,EAAE,YAAY,CAAS;IAG9B,OAAO,SAAK;IAGZ,QAAQ,SAAO;IAGf,OAAO,CAAC,QAAQ,CAAQ;IAGxB,OAAO,CAAC,SAAS,CAAQ;IAGzB,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,UAAU,CAA2C;IAE7D,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE;QACnB,OAAO,EAAE,MAAM,CAAA;QACf,OAAO,CAAC,EAAE,YAAY,CAAA;QACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;QACjB,SAAS,CAAC,EAAE,WAAW,CAAA;KACxB,GAAG,WAAW;IAcN,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAKrC,OAAO,CAAC,oBAAoB;IAS5B,OAAO,CAAC,eAAe;IAOvB,OAAO,CAAC,QAAQ;IAYhB,OAAO,CAAC,YAAY;IAKX,MAAM;CAyBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,cAAc,EAAE,WAAW,CAAA;KAC5B;CACF"}
@@ -0,0 +1,104 @@
1
+ import { svg as h, LitElement as m, nothing as d, html as _ } from "lit";
2
+ import { property as c, state as u, customElement as p } from "lit/decorators.js";
3
+ import { classMap as v } from "lit/directives/class-map.js";
4
+ import { toastStyles as g } from "./toast.styles.js";
5
+ var f = Object.defineProperty, b = Object.getOwnPropertyDescriptor, r = (t, e, o, n) => {
6
+ for (var i = n > 1 ? void 0 : n ? b(e, o) : e, a = t.length - 1, l; a >= 0; a--)
7
+ (l = t[a]) && (i = (n ? l(e, o, i) : l(i)) || i);
8
+ return n && i && f(e, o, i), i;
9
+ };
10
+ const w = h`
11
+ <svg viewBox="0 0 20 20" fill="none" width="20" height="20">
12
+ <circle cx="10" cy="10" r="8.5" stroke="currentColor" stroke-width="1.2"/>
13
+ <path d="M10 9v4" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
14
+ <circle cx="10" cy="7" r="0.75" fill="currentColor"/>
15
+ </svg>
16
+ `, C = h`
17
+ <svg viewBox="0 0 16 16" fill="none" width="16" height="16">
18
+ <path d="M4 4l8 8M12 4l-8 8" stroke="currentColor" stroke-width="1.2" stroke-linecap="round"/>
19
+ </svg>
20
+ `;
21
+ let s = class extends m {
22
+ constructor() {
23
+ super(...arguments), this.variant = "info", this.message = "", this.duration = 5e3, this._visible = !1, this._entering = !1, this._exiting = !1;
24
+ }
25
+ static show(t) {
26
+ const e = document.createElement("mellow-toast");
27
+ return e.message = t.message, t.variant && (e.variant = t.variant), t.duration !== void 0 && (e.duration = t.duration), (t.container ?? document.body).appendChild(e), e;
28
+ }
29
+ connectedCallback() {
30
+ super.connectedCallback(), this._visible = !0, this._entering = !1, requestAnimationFrame(() => {
31
+ this._entering = !0;
32
+ }), this._scheduleAutoDismiss();
33
+ }
34
+ disconnectedCallback() {
35
+ super.disconnectedCallback(), this._clearAutoTimer();
36
+ }
37
+ _scheduleAutoDismiss() {
38
+ this._clearAutoTimer(), this.duration > 0 && (this._autoTimer = setTimeout(() => {
39
+ this._dismiss();
40
+ }, this.duration));
41
+ }
42
+ _clearAutoTimer() {
43
+ this._autoTimer !== void 0 && (clearTimeout(this._autoTimer), this._autoTimer = void 0);
44
+ }
45
+ _dismiss() {
46
+ this._exiting = !0, setTimeout(() => {
47
+ this._visible = !1, this.dispatchEvent(new CustomEvent("mellow-dismiss", {
48
+ bubbles: !0,
49
+ composed: !0
50
+ })), this.remove();
51
+ }, 200);
52
+ }
53
+ _handleClose() {
54
+ this._clearAutoTimer(), this._dismiss();
55
+ }
56
+ render() {
57
+ if (!this._visible)
58
+ return d;
59
+ const t = {
60
+ toast: !0,
61
+ entering: this._entering && !this._exiting,
62
+ exiting: this._exiting
63
+ };
64
+ return _`
65
+ <div class=${v(t)} role="status" aria-live="polite">
66
+ <div class="icon-frame">
67
+ <slot name="icon">${w}</slot>
68
+ </div>
69
+ <span class="message">${this.message}</span>
70
+ <button
71
+ class="close-btn"
72
+ aria-label="Close"
73
+ @click=${this._handleClose}
74
+ >${C}</button>
75
+ </div>
76
+ `;
77
+ }
78
+ };
79
+ s.styles = [g];
80
+ r([
81
+ c({ reflect: !0 })
82
+ ], s.prototype, "variant", 2);
83
+ r([
84
+ c()
85
+ ], s.prototype, "message", 2);
86
+ r([
87
+ c({ type: Number })
88
+ ], s.prototype, "duration", 2);
89
+ r([
90
+ u()
91
+ ], s.prototype, "_visible", 2);
92
+ r([
93
+ u()
94
+ ], s.prototype, "_entering", 2);
95
+ r([
96
+ u()
97
+ ], s.prototype, "_exiting", 2);
98
+ s = r([
99
+ p("mellow-toast")
100
+ ], s);
101
+ export {
102
+ s as MellowToast
103
+ };
104
+ //# sourceMappingURL=toast.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.js","sources":["../../../src/components/toast/toast.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 { toastStyles } from './toast.styles.js'\n\nexport type ToastVariant = 'info' | 'accent' | 'danger' | 'warning' | 'success'\n\nconst infoIcon = svg`\n <svg viewBox=\"0 0 20 20\" fill=\"none\" width=\"20\" height=\"20\">\n <circle cx=\"10\" cy=\"10\" r=\"8.5\" stroke=\"currentColor\" stroke-width=\"1.2\"/>\n <path d=\"M10 9v4\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\"/>\n <circle cx=\"10\" cy=\"7\" r=\"0.75\" fill=\"currentColor\"/>\n </svg>\n`\n\nconst closeIcon = svg`\n <svg viewBox=\"0 0 16 16\" fill=\"none\" width=\"16\" height=\"16\">\n <path d=\"M4 4l8 8M12 4l-8 8\" stroke=\"currentColor\" stroke-width=\"1.2\" stroke-linecap=\"round\"/>\n </svg>\n`\n\n@customElement('mellow-toast')\nexport class MellowToast extends LitElement {\n static override styles = [toastStyles]\n\n @property({ reflect: true })\n variant: ToastVariant = 'info'\n\n @property()\n message = ''\n\n @property({ type: Number })\n duration = 5000\n\n @state()\n private _visible = false\n\n @state()\n private _entering = false\n\n @state()\n private _exiting = false\n\n private _autoTimer: ReturnType<typeof setTimeout> | undefined\n\n static show(options: {\n message: string\n variant?: ToastVariant\n duration?: number\n container?: HTMLElement\n }): MellowToast {\n const toast = document.createElement('mellow-toast') as MellowToast\n toast.message = options.message\n if (options.variant) {\n toast.variant = options.variant\n }\n if (options.duration !== undefined) {\n toast.duration = options.duration\n }\n const container = options.container ?? document.body\n container.appendChild(toast)\n return toast\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this._visible = true\n this._entering = false\n requestAnimationFrame(() => {\n this._entering = true\n })\n this._scheduleAutoDismiss()\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n this._clearAutoTimer()\n }\n\n private _scheduleAutoDismiss(): void {\n this._clearAutoTimer()\n if (this.duration > 0) {\n this._autoTimer = setTimeout(() => {\n this._dismiss()\n }, this.duration)\n }\n }\n\n private _clearAutoTimer(): void {\n if (this._autoTimer !== undefined) {\n clearTimeout(this._autoTimer)\n this._autoTimer = undefined\n }\n }\n\n private _dismiss(): void {\n this._exiting = true\n setTimeout(() => {\n this._visible = false\n this.dispatchEvent(new CustomEvent('mellow-dismiss', {\n bubbles: true,\n composed: true,\n }))\n this.remove()\n }, 200)\n }\n\n private _handleClose(): void {\n this._clearAutoTimer()\n this._dismiss()\n }\n\n override render() {\n if (!this._visible) {\n return nothing\n }\n\n const toastClasses = {\n 'toast': true,\n 'entering': this._entering && !this._exiting,\n 'exiting': this._exiting,\n }\n\n return html`\n <div class=${classMap(toastClasses)} role=\"status\" aria-live=\"polite\">\n <div class=\"icon-frame\">\n <slot name=\"icon\">${infoIcon}</slot>\n </div>\n <span class=\"message\">${this.message}</span>\n <button\n class=\"close-btn\"\n aria-label=\"Close\"\n @click=${this._handleClose}\n >${closeIcon}</button>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-toast': MellowToast\n }\n}\n"],"names":["infoIcon","svg","closeIcon","MellowToast","LitElement","options","toast","nothing","toastClasses","html","classMap","toastStyles","__decorateClass","property","state","customElement"],"mappings":";;;;;;;;;AAOA,MAAMA,IAAWC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,GAQXC,IAAYD;AAAA;AAAA;AAAA;AAAA;AAOX,IAAME,IAAN,cAA0BC,EAAW;AAAA,EAArC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,UAAwB,QAGxB,KAAA,UAAU,IAGV,KAAA,WAAW,KAGX,KAAQ,WAAW,IAGnB,KAAQ,YAAY,IAGpB,KAAQ,WAAW;AAAA,EAAA;AAAA,EAInB,OAAO,KAAKC,GAKI;AACd,UAAMC,IAAQ,SAAS,cAAc,cAAc;AACnD,WAAAA,EAAM,UAAUD,EAAQ,SACpBA,EAAQ,YACVC,EAAM,UAAUD,EAAQ,UAEtBA,EAAQ,aAAa,WACvBC,EAAM,WAAWD,EAAQ,YAETA,EAAQ,aAAa,SAAS,MACtC,YAAYC,CAAK,GACpBA;AAAA,EACT;AAAA,EAES,oBAA0B;AACjC,UAAM,kBAAA,GACN,KAAK,WAAW,IAChB,KAAK,YAAY,IACjB,sBAAsB,MAAM;AAC1B,WAAK,YAAY;AAAA,IACnB,CAAC,GACD,KAAK,qBAAA;AAAA,EACP;AAAA,EAES,uBAA6B;AACpC,UAAM,qBAAA,GACN,KAAK,gBAAA;AAAA,EACP;AAAA,EAEQ,uBAA6B;AACnC,SAAK,gBAAA,GACD,KAAK,WAAW,MAClB,KAAK,aAAa,WAAW,MAAM;AACjC,WAAK,SAAA;AAAA,IACP,GAAG,KAAK,QAAQ;AAAA,EAEpB;AAAA,EAEQ,kBAAwB;AAC9B,IAAI,KAAK,eAAe,WACtB,aAAa,KAAK,UAAU,GAC5B,KAAK,aAAa;AAAA,EAEtB;AAAA,EAEQ,WAAiB;AACvB,SAAK,WAAW,IAChB,WAAW,MAAM;AACf,WAAK,WAAW,IAChB,KAAK,cAAc,IAAI,YAAY,kBAAkB;AAAA,QACnD,SAAS;AAAA,QACT,UAAU;AAAA,MAAA,CACX,CAAC,GACF,KAAK,OAAA;AAAA,IACP,GAAG,GAAG;AAAA,EACR;AAAA,EAEQ,eAAqB;AAC3B,SAAK,gBAAA,GACL,KAAK,SAAA;AAAA,EACP;AAAA,EAES,SAAS;AAChB,QAAI,CAAC,KAAK;AACR,aAAOC;AAGT,UAAMC,IAAe;AAAA,MACnB,OAAS;AAAA,MACT,UAAY,KAAK,aAAa,CAAC,KAAK;AAAA,MACpC,SAAW,KAAK;AAAA,IAAA;AAGlB,WAAOC;AAAA,mBACQC,EAASF,CAAY,CAAC;AAAA;AAAA,8BAEXR,CAAQ;AAAA;AAAA,gCAEN,KAAK,OAAO;AAAA;AAAA;AAAA;AAAA,mBAIzB,KAAK,YAAY;AAAA,WACzBE,CAAS;AAAA;AAAA;AAAA,EAGlB;AACF;AAnHaC,EACK,SAAS,CAACQ,CAAW;AAGrCC,EAAA;AAAA,EADCC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAHhBV,EAIX,WAAA,WAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAA;AAAS,GANCV,EAOX,WAAA,WAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GATfV,EAUX,WAAA,YAAA,CAAA;AAGQS,EAAA;AAAA,EADPE,EAAA;AAAM,GAZIX,EAaH,WAAA,YAAA,CAAA;AAGAS,EAAA;AAAA,EADPE,EAAA;AAAM,GAfIX,EAgBH,WAAA,aAAA,CAAA;AAGAS,EAAA;AAAA,EADPE,EAAA;AAAM,GAlBIX,EAmBH,WAAA,YAAA,CAAA;AAnBGA,IAANS,EAAA;AAAA,EADNG,EAAc,cAAc;AAAA,GAChBZ,CAAA;"}
@@ -0,0 +1,2 @@
1
+ export declare const toastStyles: import("lit").CSSResult;
2
+ //# sourceMappingURL=toast.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.styles.d.ts","sourceRoot":"","sources":["../../../src/components/toast/toast.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,WAAW,yBA0KvB,CAAA"}
@@ -0,0 +1,176 @@
1
+ import { css as o } from "lit";
2
+ const e = o`
3
+ :host {
4
+ display: block;
5
+ pointer-events: auto;
6
+ }
7
+
8
+ :host([hidden]) {
9
+ display: none;
10
+ }
11
+
12
+ /* ---- Base ---- */
13
+
14
+ .toast {
15
+ display: flex;
16
+ gap: var(--mellow-space-2, 8px);
17
+ align-items: flex-start;
18
+ padding: var(--mellow-space-3-5, 15px);
19
+ border: var(--mellow-stroke-border, 1px) solid;
20
+ border-radius: var(--mellow-radii-xl, 12px);
21
+ font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\'l', system-ui, sans-serif);
22
+ font-size: 16px;
23
+ font-weight: var(--mellow-typography-font-weight-regular, 400);
24
+ line-height: 22px;
25
+ box-shadow: var(--mellow-shadows-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1));
26
+ min-width: 280px;
27
+ max-width: 600px;
28
+ }
29
+
30
+ /* ---- Variant: Info (default) ---- */
31
+
32
+ :host([variant='info']) .toast,
33
+ .toast {
34
+ background: var(--mellow-colors-bg-secondary, #ede2d6);
35
+ border-color: var(--mellow-colors-pearl-bush-300, #d3b69e);
36
+ color: var(--mellow-colors-primary-shark, #232222);
37
+ }
38
+
39
+ /* ---- Variant: Accent ---- */
40
+
41
+ :host([variant='accent']) .toast {
42
+ background: var(--mellow-colors-orange-100, #f9e5d1);
43
+ border-color: var(--mellow-colors-primary-mellow-orange, #ff6f23);
44
+ color: var(--mellow-colors-primary-shark, #232222);
45
+ }
46
+
47
+ /* ---- Variant: Danger ---- */
48
+
49
+ :host([variant='danger']) .toast {
50
+ background: rgba(246, 132, 115, 0.16);
51
+ border-color: var(--mellow-colors-red-punch-600, #db4933);
52
+ color: var(--mellow-colors-red-punch-600, #db4933);
53
+ }
54
+
55
+ /* ---- Variant: Warning ---- */
56
+
57
+ :host([variant='warning']) .toast {
58
+ background: rgba(255, 202, 27, 0.16);
59
+ border-color: var(--mellow-colors-yellow-sea-600, #e27f00);
60
+ color: var(--mellow-colors-yellow-sea-600, #e27f00);
61
+ }
62
+
63
+ /* ---- Variant: Success ---- */
64
+
65
+ :host([variant='success']) .toast {
66
+ background: rgba(94, 139, 127, 0.12);
67
+ border-color: var(--mellow-colors-viridian-green-400, #5e8b7f);
68
+ color: var(--mellow-colors-viridian-green-400, #5e8b7f);
69
+ }
70
+
71
+ /* ---- Info & Accent text stays primary ---- */
72
+
73
+ :host([variant='info']) .message,
74
+ :host([variant='accent']) .message,
75
+ .message {
76
+ color: var(--mellow-colors-primary-shark, #232222);
77
+ }
78
+
79
+ :host([variant='danger']) .message {
80
+ color: var(--mellow-colors-red-punch-600, #db4933);
81
+ }
82
+
83
+ :host([variant='warning']) .message {
84
+ color: var(--mellow-colors-yellow-sea-600, #e27f00);
85
+ }
86
+
87
+ :host([variant='success']) .message {
88
+ color: var(--mellow-colors-viridian-green-400, #5e8b7f);
89
+ }
90
+
91
+ /* ---- Icon ---- */
92
+
93
+ .icon-frame {
94
+ flex-shrink: 0;
95
+ width: 20px;
96
+ height: 22px;
97
+ display: flex;
98
+ align-items: center;
99
+ }
100
+
101
+ .icon-frame ::slotted(*),
102
+ .icon-frame svg {
103
+ width: 20px;
104
+ height: 20px;
105
+ color: inherit;
106
+ }
107
+
108
+ /* ---- Message ---- */
109
+
110
+ .message {
111
+ flex: 1;
112
+ min-width: 0;
113
+ align-self: stretch;
114
+ white-space: pre-wrap;
115
+ }
116
+
117
+ /* ---- Close button ---- */
118
+
119
+ .close-btn {
120
+ flex-shrink: 0;
121
+ width: 16px;
122
+ height: 22px;
123
+ display: flex;
124
+ align-items: center;
125
+ justify-content: center;
126
+ background: none;
127
+ border: none;
128
+ cursor: pointer;
129
+ padding: 0;
130
+ color: inherit;
131
+ opacity: 0.7;
132
+ }
133
+
134
+ .close-btn:hover {
135
+ opacity: 1;
136
+ }
137
+
138
+ .close-btn svg {
139
+ width: 16px;
140
+ height: 16px;
141
+ }
142
+
143
+ /* ---- Animations ---- */
144
+
145
+ @keyframes slideIn {
146
+ from {
147
+ transform: translateY(-100%);
148
+ opacity: 0;
149
+ }
150
+ to {
151
+ transform: translateY(0);
152
+ opacity: 1;
153
+ }
154
+ }
155
+
156
+ @keyframes fadeOut {
157
+ from {
158
+ opacity: 1;
159
+ }
160
+ to {
161
+ opacity: 0;
162
+ }
163
+ }
164
+
165
+ .toast.entering {
166
+ animation: slideIn 200ms ease;
167
+ }
168
+
169
+ .toast.exiting {
170
+ animation: fadeOut 200ms ease;
171
+ }
172
+ `;
173
+ export {
174
+ e as toastStyles
175
+ };
176
+ //# sourceMappingURL=toast.styles.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.styles.js","sources":["../../../src/components/toast/toast.styles.ts"],"sourcesContent":["import { css } from 'lit'\n\nexport const toastStyles = css`\n :host {\n display: block;\n pointer-events: auto;\n }\n\n :host([hidden]) {\n display: none;\n }\n\n /* ---- Base ---- */\n\n .toast {\n display: flex;\n gap: var(--mellow-space-2, 8px);\n align-items: flex-start;\n padding: var(--mellow-space-3-5, 15px);\n border: var(--mellow-stroke-border, 1px) solid;\n border-radius: var(--mellow-radii-xl, 12px);\n font-family: var(--mellow-typography-font-family-body, 'Suisse Int\\\\'l', system-ui, sans-serif);\n font-size: 16px;\n font-weight: var(--mellow-typography-font-weight-regular, 400);\n line-height: 22px;\n box-shadow: var(--mellow-shadows-lg, 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1));\n min-width: 280px;\n max-width: 600px;\n }\n\n /* ---- Variant: Info (default) ---- */\n\n :host([variant='info']) .toast,\n .toast {\n background: var(--mellow-colors-bg-secondary, #ede2d6);\n border-color: var(--mellow-colors-pearl-bush-300, #d3b69e);\n color: var(--mellow-colors-primary-shark, #232222);\n }\n\n /* ---- Variant: Accent ---- */\n\n :host([variant='accent']) .toast {\n background: var(--mellow-colors-orange-100, #f9e5d1);\n border-color: var(--mellow-colors-primary-mellow-orange, #ff6f23);\n color: var(--mellow-colors-primary-shark, #232222);\n }\n\n /* ---- Variant: Danger ---- */\n\n :host([variant='danger']) .toast {\n background: rgba(246, 132, 115, 0.16);\n border-color: var(--mellow-colors-red-punch-600, #db4933);\n color: var(--mellow-colors-red-punch-600, #db4933);\n }\n\n /* ---- Variant: Warning ---- */\n\n :host([variant='warning']) .toast {\n background: rgba(255, 202, 27, 0.16);\n border-color: var(--mellow-colors-yellow-sea-600, #e27f00);\n color: var(--mellow-colors-yellow-sea-600, #e27f00);\n }\n\n /* ---- Variant: Success ---- */\n\n :host([variant='success']) .toast {\n background: rgba(94, 139, 127, 0.12);\n border-color: var(--mellow-colors-viridian-green-400, #5e8b7f);\n color: var(--mellow-colors-viridian-green-400, #5e8b7f);\n }\n\n /* ---- Info & Accent text stays primary ---- */\n\n :host([variant='info']) .message,\n :host([variant='accent']) .message,\n .message {\n color: var(--mellow-colors-primary-shark, #232222);\n }\n\n :host([variant='danger']) .message {\n color: var(--mellow-colors-red-punch-600, #db4933);\n }\n\n :host([variant='warning']) .message {\n color: var(--mellow-colors-yellow-sea-600, #e27f00);\n }\n\n :host([variant='success']) .message {\n color: var(--mellow-colors-viridian-green-400, #5e8b7f);\n }\n\n /* ---- Icon ---- */\n\n .icon-frame {\n flex-shrink: 0;\n width: 20px;\n height: 22px;\n display: flex;\n align-items: center;\n }\n\n .icon-frame ::slotted(*),\n .icon-frame svg {\n width: 20px;\n height: 20px;\n color: inherit;\n }\n\n /* ---- Message ---- */\n\n .message {\n flex: 1;\n min-width: 0;\n align-self: stretch;\n white-space: pre-wrap;\n }\n\n /* ---- Close button ---- */\n\n .close-btn {\n flex-shrink: 0;\n width: 16px;\n height: 22px;\n display: flex;\n align-items: center;\n justify-content: center;\n background: none;\n border: none;\n cursor: pointer;\n padding: 0;\n color: inherit;\n opacity: 0.7;\n }\n\n .close-btn:hover {\n opacity: 1;\n }\n\n .close-btn svg {\n width: 16px;\n height: 16px;\n }\n\n /* ---- Animations ---- */\n\n @keyframes slideIn {\n from {\n transform: translateY(-100%);\n opacity: 0;\n }\n to {\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n @keyframes fadeOut {\n from {\n opacity: 1;\n }\n to {\n opacity: 0;\n }\n }\n\n .toast.entering {\n animation: slideIn 200ms ease;\n }\n\n .toast.exiting {\n animation: fadeOut 200ms ease;\n }\n`\n"],"names":["toastStyles","css"],"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;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;"}
@@ -0,0 +1,3 @@
1
+ export { MellowTooltip } from './tooltip.js';
2
+ export type { TooltipPlacement } from './tooltip.js';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,YAAY,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA"}
@@ -0,0 +1,26 @@
1
+ import { LitElement } from 'lit';
2
+ export type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right';
3
+ export declare class MellowTooltip extends LitElement {
4
+ static styles: import("lit").CSSResult[];
5
+ content: string;
6
+ subtitle: string;
7
+ placement: TooltipPlacement;
8
+ delay: number;
9
+ private _visible;
10
+ private _timerId;
11
+ private readonly _tooltipId;
12
+ updated(changedProperties: Map<PropertyKey, unknown>): void;
13
+ connectedCallback(): void;
14
+ disconnectedCallback(): void;
15
+ private _handleShow;
16
+ private _handleHide;
17
+ private _handleKeydown;
18
+ private _clearTimer;
19
+ render(): import("lit-html").TemplateResult<1>;
20
+ }
21
+ declare global {
22
+ interface HTMLElementTagNameMap {
23
+ 'mellow-tooltip': MellowTooltip;
24
+ }
25
+ }
26
+ //# sourceMappingURL=tooltip.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAiB,MAAM,KAAK,CAAA;AAK/C,MAAM,MAAM,gBAAgB,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAA;AAIlE,qBACa,aAAc,SAAQ,UAAU;IAC3C,OAAgB,MAAM,4BAAkB;IAGxC,OAAO,SAAK;IAGZ,QAAQ,SAAK;IAGb,SAAS,EAAE,gBAAgB,CAAQ;IAGnC,KAAK,SAAM;IAGX,OAAO,CAAC,QAAQ,CAAQ;IAExB,OAAO,CAAC,QAAQ,CAA6C;IAE7D,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAyC;IAE3D,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,WAAW,EAAE,OAAO,CAAC,GAAG,IAAI;IAW3D,iBAAiB,IAAI,IAAI;IAUzB,oBAAoB,IAAI,IAAI;IAUrC,OAAO,CAAC,WAAW,CAKlB;IAED,OAAO,CAAC,WAAW,CAGlB;IAED,OAAO,CAAC,cAAc,CAIrB;IAED,OAAO,CAAC,WAAW;IAOV,MAAM;CAwBhB;AAED,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,qBAAqB;QAC7B,gBAAgB,EAAE,aAAa,CAAA;KAChC;CACF"}
@@ -0,0 +1,78 @@
1
+ import { LitElement as p, nothing as u, html as a } from "lit";
2
+ import { property as r, state as _, customElement as c } from "lit/decorators.js";
3
+ import { classMap as m } from "lit/directives/class-map.js";
4
+ import { tooltipStyles as v } from "./tooltip.styles.js";
5
+ var b = Object.defineProperty, f = Object.getOwnPropertyDescriptor, s = (t, l, h, o) => {
6
+ for (var i = o > 1 ? void 0 : o ? f(l, h) : l, n = t.length - 1, d; n >= 0; n--)
7
+ (d = t[n]) && (i = (o ? d(l, h, i) : d(i)) || i);
8
+ return o && i && b(l, h, i), i;
9
+ };
10
+ let y = 0, e = class extends p {
11
+ constructor() {
12
+ super(...arguments), this.content = "", this.subtitle = "", this.placement = "top", this.delay = 200, this._visible = !1, this._timerId = null, this._tooltipId = `mellow-tooltip-${++y}`, this._handleShow = () => {
13
+ this._clearTimer(), this._timerId = setTimeout(() => {
14
+ this._visible = !0;
15
+ }, this.delay);
16
+ }, this._handleHide = () => {
17
+ this._clearTimer(), this._visible = !1;
18
+ }, this._handleKeydown = (t) => {
19
+ t.key === "Escape" && this._handleHide();
20
+ };
21
+ }
22
+ updated(t) {
23
+ super.updated(t), t.has("subtitle") && (this.subtitle ? this.setAttribute("subtitle", this.subtitle) : this.removeAttribute("subtitle"));
24
+ }
25
+ connectedCallback() {
26
+ super.connectedCallback(), this.setAttribute("aria-describedby", this._tooltipId), this.addEventListener("mouseenter", this._handleShow), this.addEventListener("focusin", this._handleShow), this.addEventListener("mouseleave", this._handleHide), this.addEventListener("focusout", this._handleHide), this.addEventListener("keydown", this._handleKeydown);
27
+ }
28
+ disconnectedCallback() {
29
+ super.disconnectedCallback(), this._clearTimer(), this.removeEventListener("mouseenter", this._handleShow), this.removeEventListener("focusin", this._handleShow), this.removeEventListener("mouseleave", this._handleHide), this.removeEventListener("focusout", this._handleHide), this.removeEventListener("keydown", this._handleKeydown);
30
+ }
31
+ _clearTimer() {
32
+ this._timerId !== null && (clearTimeout(this._timerId), this._timerId = null);
33
+ }
34
+ render() {
35
+ const t = {
36
+ tooltip: !0,
37
+ visible: this._visible,
38
+ [this.placement]: !0
39
+ };
40
+ return a`
41
+ <slot></slot>
42
+ <div
43
+ id=${this._tooltipId}
44
+ class=${m(t)}
45
+ role="tooltip"
46
+ >
47
+ <div class="tooltip__body">
48
+ <p class="tooltip__title">${this.content}</p>
49
+ ${this.subtitle ? a`<p class="tooltip__subtitle">${this.subtitle}</p>` : u}
50
+ </div>
51
+ <div class="tooltip__arrow"></div>
52
+ </div>
53
+ `;
54
+ }
55
+ };
56
+ e.styles = [v];
57
+ s([
58
+ r()
59
+ ], e.prototype, "content", 2);
60
+ s([
61
+ r()
62
+ ], e.prototype, "subtitle", 2);
63
+ s([
64
+ r({ reflect: !0 })
65
+ ], e.prototype, "placement", 2);
66
+ s([
67
+ r({ type: Number })
68
+ ], e.prototype, "delay", 2);
69
+ s([
70
+ _()
71
+ ], e.prototype, "_visible", 2);
72
+ e = s([
73
+ c("mellow-tooltip")
74
+ ], e);
75
+ export {
76
+ e as MellowTooltip
77
+ };
78
+ //# sourceMappingURL=tooltip.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.js","sources":["../../../src/components/tooltip/tooltip.ts"],"sourcesContent":["import { LitElement, html, nothing } from 'lit'\nimport { customElement, property, state } from 'lit/decorators.js'\nimport { classMap } from 'lit/directives/class-map.js'\nimport { tooltipStyles } from './tooltip.styles.js'\n\nexport type TooltipPlacement = 'top' | 'bottom' | 'left' | 'right'\n\nlet tooltipIdCounter = 0\n\n@customElement('mellow-tooltip')\nexport class MellowTooltip extends LitElement {\n static override styles = [tooltipStyles]\n\n @property()\n content = ''\n\n @property()\n subtitle = ''\n\n @property({ reflect: true })\n placement: TooltipPlacement = 'top'\n\n @property({ type: Number })\n delay = 200\n\n @state()\n private _visible = false\n\n private _timerId: ReturnType<typeof setTimeout> | null = null\n\n private readonly _tooltipId = `mellow-tooltip-${++tooltipIdCounter}`\n\n override updated(changedProperties: Map<PropertyKey, unknown>): void {\n super.updated(changedProperties)\n if (changedProperties.has('subtitle')) {\n if (this.subtitle) {\n this.setAttribute('subtitle', this.subtitle)\n } else {\n this.removeAttribute('subtitle')\n }\n }\n }\n\n override connectedCallback(): void {\n super.connectedCallback()\n this.setAttribute('aria-describedby', this._tooltipId)\n this.addEventListener('mouseenter', this._handleShow)\n this.addEventListener('focusin', this._handleShow)\n this.addEventListener('mouseleave', this._handleHide)\n this.addEventListener('focusout', this._handleHide)\n this.addEventListener('keydown', this._handleKeydown)\n }\n\n override disconnectedCallback(): void {\n super.disconnectedCallback()\n this._clearTimer()\n this.removeEventListener('mouseenter', this._handleShow)\n this.removeEventListener('focusin', this._handleShow)\n this.removeEventListener('mouseleave', this._handleHide)\n this.removeEventListener('focusout', this._handleHide)\n this.removeEventListener('keydown', this._handleKeydown)\n }\n\n private _handleShow = (): void => {\n this._clearTimer()\n this._timerId = setTimeout(() => {\n this._visible = true\n }, this.delay)\n }\n\n private _handleHide = (): void => {\n this._clearTimer()\n this._visible = false\n }\n\n private _handleKeydown = (e: KeyboardEvent): void => {\n if (e.key === 'Escape') {\n this._handleHide()\n }\n }\n\n private _clearTimer(): void {\n if (this._timerId !== null) {\n clearTimeout(this._timerId)\n this._timerId = null\n }\n }\n\n override render() {\n const classes = {\n tooltip: true,\n visible: this._visible,\n [this.placement]: true,\n }\n\n return html`\n <slot></slot>\n <div\n id=${this._tooltipId}\n class=${classMap(classes)}\n role=\"tooltip\"\n >\n <div class=\"tooltip__body\">\n <p class=\"tooltip__title\">${this.content}</p>\n ${this.subtitle\n ? html`<p class=\"tooltip__subtitle\">${this.subtitle}</p>`\n : nothing}\n </div>\n <div class=\"tooltip__arrow\"></div>\n </div>\n `\n }\n}\n\ndeclare global {\n interface HTMLElementTagNameMap {\n 'mellow-tooltip': MellowTooltip\n }\n}\n"],"names":["tooltipIdCounter","MellowTooltip","LitElement","e","changedProperties","classes","html","classMap","nothing","tooltipStyles","__decorateClass","property","state","customElement"],"mappings":";;;;;;;;;AAOA,IAAIA,IAAmB,GAGVC,IAAN,cAA4BC,EAAW;AAAA,EAAvC,cAAA;AAAA,UAAA,GAAA,SAAA,GAIL,KAAA,UAAU,IAGV,KAAA,WAAW,IAGX,KAAA,YAA8B,OAG9B,KAAA,QAAQ,KAGR,KAAQ,WAAW,IAEnB,KAAQ,WAAiD,MAEzD,KAAiB,aAAa,kBAAkB,EAAEF,CAAgB,IAiClE,KAAQ,cAAc,MAAY;AAChC,WAAK,YAAA,GACL,KAAK,WAAW,WAAW,MAAM;AAC/B,aAAK,WAAW;AAAA,MAClB,GAAG,KAAK,KAAK;AAAA,IACf,GAEA,KAAQ,cAAc,MAAY;AAChC,WAAK,YAAA,GACL,KAAK,WAAW;AAAA,IAClB,GAEA,KAAQ,iBAAiB,CAACG,MAA2B;AACnD,MAAIA,EAAE,QAAQ,YACZ,KAAK,YAAA;AAAA,IAET;AAAA,EAAA;AAAA,EA/CS,QAAQC,GAAoD;AACnE,UAAM,QAAQA,CAAiB,GAC3BA,EAAkB,IAAI,UAAU,MAC9B,KAAK,WACP,KAAK,aAAa,YAAY,KAAK,QAAQ,IAE3C,KAAK,gBAAgB,UAAU;AAAA,EAGrC;AAAA,EAES,oBAA0B;AACjC,UAAM,kBAAA,GACN,KAAK,aAAa,oBAAoB,KAAK,UAAU,GACrD,KAAK,iBAAiB,cAAc,KAAK,WAAW,GACpD,KAAK,iBAAiB,WAAW,KAAK,WAAW,GACjD,KAAK,iBAAiB,cAAc,KAAK,WAAW,GACpD,KAAK,iBAAiB,YAAY,KAAK,WAAW,GAClD,KAAK,iBAAiB,WAAW,KAAK,cAAc;AAAA,EACtD;AAAA,EAES,uBAA6B;AACpC,UAAM,qBAAA,GACN,KAAK,YAAA,GACL,KAAK,oBAAoB,cAAc,KAAK,WAAW,GACvD,KAAK,oBAAoB,WAAW,KAAK,WAAW,GACpD,KAAK,oBAAoB,cAAc,KAAK,WAAW,GACvD,KAAK,oBAAoB,YAAY,KAAK,WAAW,GACrD,KAAK,oBAAoB,WAAW,KAAK,cAAc;AAAA,EACzD;AAAA,EAoBQ,cAAoB;AAC1B,IAAI,KAAK,aAAa,SACpB,aAAa,KAAK,QAAQ,GAC1B,KAAK,WAAW;AAAA,EAEpB;AAAA,EAES,SAAS;AAChB,UAAMC,IAAU;AAAA,MACd,SAAS;AAAA,MACT,SAAS,KAAK;AAAA,MACd,CAAC,KAAK,SAAS,GAAG;AAAA,IAAA;AAGpB,WAAOC;AAAA;AAAA;AAAA,aAGE,KAAK,UAAU;AAAA,gBACZC,EAASF,CAAO,CAAC;AAAA;AAAA;AAAA;AAAA,sCAIK,KAAK,OAAO;AAAA,YACtC,KAAK,WACHC,iCAAoC,KAAK,QAAQ,SACjDE,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA,EAKnB;AACF;AAtGaP,EACK,SAAS,CAACQ,CAAa;AAGvCC,EAAA;AAAA,EADCC,EAAA;AAAS,GAHCV,EAIX,WAAA,WAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAA;AAAS,GANCV,EAOX,WAAA,YAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,SAAS,GAAA,CAAM;AAAA,GAThBV,EAUX,WAAA,aAAA,CAAA;AAGAS,EAAA;AAAA,EADCC,EAAS,EAAE,MAAM,OAAA,CAAQ;AAAA,GAZfV,EAaX,WAAA,SAAA,CAAA;AAGQS,EAAA;AAAA,EADPE,EAAA;AAAM,GAfIX,EAgBH,WAAA,YAAA,CAAA;AAhBGA,IAANS,EAAA;AAAA,EADNG,EAAc,gBAAgB;AAAA,GAClBZ,CAAA;"}
@@ -0,0 +1,2 @@
1
+ export declare const tooltipStyles: import("lit").CSSResult;
2
+ //# sourceMappingURL=tooltip.styles.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tooltip.styles.d.ts","sourceRoot":"","sources":["../../../src/components/tooltip/tooltip.styles.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,aAAa,yBAuJzB,CAAA"}