@poppy-ui/vue 0.0.0-dev.36.93ba5b2

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 (853) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +103 -0
  3. package/dist/ClassWrapper-BNZO3mhP.cjs +2 -0
  4. package/dist/ClassWrapper-BNZO3mhP.cjs.map +1 -0
  5. package/dist/ClassWrapper-DdnnHfAj.js +24 -0
  6. package/dist/ClassWrapper-DdnnHfAj.js.map +1 -0
  7. package/dist/Toast-DuytECg8.cjs +2 -0
  8. package/dist/Toast-DuytECg8.cjs.map +1 -0
  9. package/dist/Toast-fSQWLl0R.js +63 -0
  10. package/dist/Toast-fSQWLl0R.js.map +1 -0
  11. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  12. package/dist/_plugin-vue_export-helper-BTmtiIyf.cjs +1 -0
  13. package/dist/build-class.util-Cp-ZBFgO.js +1730 -0
  14. package/dist/build-class.util-Cp-ZBFgO.js.map +1 -0
  15. package/dist/build-class.util-Lo1-M_t1.cjs +2 -0
  16. package/dist/build-class.util-Lo1-M_t1.cjs.map +1 -0
  17. package/dist/components/ClassWrapper.d.ts +27 -0
  18. package/dist/components/ClassWrapper.d.ts.map +1 -0
  19. package/dist/components/actions/button/Button.d.ts +21 -0
  20. package/dist/components/actions/button/Button.d.ts.map +1 -0
  21. package/dist/components/actions/button/button.context.d.ts +2 -0
  22. package/dist/components/actions/button/button.context.d.ts.map +1 -0
  23. package/dist/components/actions/button/button.props.d.ts +58 -0
  24. package/dist/components/actions/button/button.props.d.ts.map +1 -0
  25. package/dist/components/actions/button/button.types.d.ts +7 -0
  26. package/dist/components/actions/button/button.types.d.ts.map +1 -0
  27. package/dist/components/actions/dropdown/Dropdown.d.ts +25 -0
  28. package/dist/components/actions/dropdown/Dropdown.d.ts.map +1 -0
  29. package/dist/components/actions/dropdown/dropdown.context.d.ts +2 -0
  30. package/dist/components/actions/dropdown/dropdown.context.d.ts.map +1 -0
  31. package/dist/components/actions/dropdown/dropdown.props.d.ts +60 -0
  32. package/dist/components/actions/dropdown/dropdown.props.d.ts.map +1 -0
  33. package/dist/components/actions/dropdown/dropdown.types.d.ts +4 -0
  34. package/dist/components/actions/dropdown/dropdown.types.d.ts.map +1 -0
  35. package/dist/components/actions/fab/Fab.d.ts +16 -0
  36. package/dist/components/actions/fab/Fab.d.ts.map +1 -0
  37. package/dist/components/actions/fab/fab.context.d.ts +2 -0
  38. package/dist/components/actions/fab/fab.context.d.ts.map +1 -0
  39. package/dist/components/actions/fab/fab.props.d.ts +11 -0
  40. package/dist/components/actions/fab/fab.props.d.ts.map +1 -0
  41. package/dist/components/actions/fab/fab.types.d.ts +2 -0
  42. package/dist/components/actions/fab/fab.types.d.ts.map +1 -0
  43. package/dist/components/actions/modal/Modal.d.ts +42 -0
  44. package/dist/components/actions/modal/Modal.d.ts.map +1 -0
  45. package/dist/components/actions/modal/modal.context.d.ts +2 -0
  46. package/dist/components/actions/modal/modal.context.d.ts.map +1 -0
  47. package/dist/components/actions/modal/modal.props.d.ts +31 -0
  48. package/dist/components/actions/modal/modal.props.d.ts.map +1 -0
  49. package/dist/components/actions/modal/modal.types.d.ts +2 -0
  50. package/dist/components/actions/modal/modal.types.d.ts.map +1 -0
  51. package/dist/components/actions/public.d.ts +6 -0
  52. package/dist/components/actions/public.d.ts.map +1 -0
  53. package/dist/components/actions/public.es.js +323 -0
  54. package/dist/components/actions/public.es.js.map +1 -0
  55. package/dist/components/actions/public.types.d.ts +11 -0
  56. package/dist/components/actions/public.types.d.ts.map +1 -0
  57. package/dist/components/actions/public.umd.js +2 -0
  58. package/dist/components/actions/public.umd.js.map +1 -0
  59. package/dist/components/actions/swap/Swap.d.ts +36 -0
  60. package/dist/components/actions/swap/Swap.d.ts.map +1 -0
  61. package/dist/components/actions/swap/swap.context.d.ts +2 -0
  62. package/dist/components/actions/swap/swap.context.d.ts.map +1 -0
  63. package/dist/components/actions/swap/swap.props.d.ts +18 -0
  64. package/dist/components/actions/swap/swap.props.d.ts.map +1 -0
  65. package/dist/components/actions/swap/swap.types.d.ts +2 -0
  66. package/dist/components/actions/swap/swap.types.d.ts.map +1 -0
  67. package/dist/components/app/PoppyApp.d.ts +14 -0
  68. package/dist/components/app/PoppyApp.d.ts.map +1 -0
  69. package/dist/components/app/public.d.ts +2 -0
  70. package/dist/components/app/public.d.ts.map +1 -0
  71. package/dist/components/app/public.es.js +42 -0
  72. package/dist/components/app/public.es.js.map +1 -0
  73. package/dist/components/app/public.umd.js +2 -0
  74. package/dist/components/app/public.umd.js.map +1 -0
  75. package/dist/components/data/checkbox/Checkbox.d.ts +25 -0
  76. package/dist/components/data/checkbox/Checkbox.d.ts.map +1 -0
  77. package/dist/components/data/checkbox/checkbox.context.d.ts +2 -0
  78. package/dist/components/data/checkbox/checkbox.context.d.ts.map +1 -0
  79. package/dist/components/data/checkbox/checkbox.props.d.ts +44 -0
  80. package/dist/components/data/checkbox/checkbox.props.d.ts.map +1 -0
  81. package/dist/components/data/checkbox/checkbox.types.d.ts +4 -0
  82. package/dist/components/data/checkbox/checkbox.types.d.ts.map +1 -0
  83. package/dist/components/data/field-set/FieldSet.d.ts +21 -0
  84. package/dist/components/data/field-set/FieldSet.d.ts.map +1 -0
  85. package/dist/components/data/field-set/field-set.props.d.ts +20 -0
  86. package/dist/components/data/field-set/field-set.props.d.ts.map +1 -0
  87. package/dist/components/data/form/Form.d.ts +37 -0
  88. package/dist/components/data/form/Form.d.ts.map +1 -0
  89. package/dist/components/data/form/form.context.d.ts +57 -0
  90. package/dist/components/data/form/form.context.d.ts.map +1 -0
  91. package/dist/components/data/form/form.props.d.ts +28 -0
  92. package/dist/components/data/form/form.props.d.ts.map +1 -0
  93. package/dist/components/data/form/form.types.d.ts +25 -0
  94. package/dist/components/data/form/form.types.d.ts.map +1 -0
  95. package/dist/components/data/form-field/FormField.d.ts +28 -0
  96. package/dist/components/data/form-field/FormField.d.ts.map +1 -0
  97. package/dist/components/data/form-field/form-field.context.d.ts +53 -0
  98. package/dist/components/data/form-field/form-field.context.d.ts.map +1 -0
  99. package/dist/components/data/form-field/form-field.props.d.ts +37 -0
  100. package/dist/components/data/form-field/form-field.props.d.ts.map +1 -0
  101. package/dist/components/data/form-field/form-field.types.d.ts +2 -0
  102. package/dist/components/data/form-field/form-field.types.d.ts.map +1 -0
  103. package/dist/components/data/input/Input.d.ts +31 -0
  104. package/dist/components/data/input/Input.d.ts.map +1 -0
  105. package/dist/components/data/input/input.context.d.ts +2 -0
  106. package/dist/components/data/input/input.context.d.ts.map +1 -0
  107. package/dist/components/data/input/input.props.d.ts +78 -0
  108. package/dist/components/data/input/input.props.d.ts.map +1 -0
  109. package/dist/components/data/input/input.types.d.ts +6 -0
  110. package/dist/components/data/input/input.types.d.ts.map +1 -0
  111. package/dist/components/data/public.d.ts +13 -0
  112. package/dist/components/data/public.d.ts.map +1 -0
  113. package/dist/components/data/public.es.js +1816 -0
  114. package/dist/components/data/public.es.js.map +1 -0
  115. package/dist/components/data/public.types.d.ts +21 -0
  116. package/dist/components/data/public.types.d.ts.map +1 -0
  117. package/dist/components/data/public.umd.js +2 -0
  118. package/dist/components/data/public.umd.js.map +1 -0
  119. package/dist/components/data/radio/Radio.d.ts +25 -0
  120. package/dist/components/data/radio/Radio.d.ts.map +1 -0
  121. package/dist/components/data/radio/radio.context.d.ts +2 -0
  122. package/dist/components/data/radio/radio.context.d.ts.map +1 -0
  123. package/dist/components/data/radio/radio.props.d.ts +47 -0
  124. package/dist/components/data/radio/radio.props.d.ts.map +1 -0
  125. package/dist/components/data/radio/radio.types.d.ts +4 -0
  126. package/dist/components/data/radio/radio.types.d.ts.map +1 -0
  127. package/dist/components/data/radio-group/RadioGroup.d.ts +28 -0
  128. package/dist/components/data/radio-group/RadioGroup.d.ts.map +1 -0
  129. package/dist/components/data/radio-group/radio-group.context.d.ts +13 -0
  130. package/dist/components/data/radio-group/radio-group.context.d.ts.map +1 -0
  131. package/dist/components/data/radio-group/radio-group.props.d.ts +12 -0
  132. package/dist/components/data/radio-group/radio-group.props.d.ts.map +1 -0
  133. package/dist/components/data/rating/Rating.d.ts +26 -0
  134. package/dist/components/data/rating/Rating.d.ts.map +1 -0
  135. package/dist/components/data/rating/rating.context.d.ts +2 -0
  136. package/dist/components/data/rating/rating.context.d.ts.map +1 -0
  137. package/dist/components/data/rating/rating.props.d.ts +44 -0
  138. package/dist/components/data/rating/rating.props.d.ts.map +1 -0
  139. package/dist/components/data/rating/rating.types.d.ts +6 -0
  140. package/dist/components/data/rating/rating.types.d.ts.map +1 -0
  141. package/dist/components/data/select/Select.d.ts +79 -0
  142. package/dist/components/data/select/Select.d.ts.map +1 -0
  143. package/dist/components/data/select/select.context.d.ts +2 -0
  144. package/dist/components/data/select/select.context.d.ts.map +1 -0
  145. package/dist/components/data/select/select.props.d.ts +99 -0
  146. package/dist/components/data/select/select.props.d.ts.map +1 -0
  147. package/dist/components/data/select/select.types.d.ts +20 -0
  148. package/dist/components/data/select/select.types.d.ts.map +1 -0
  149. package/dist/components/data/slider/Slider.d.ts +29 -0
  150. package/dist/components/data/slider/Slider.d.ts.map +1 -0
  151. package/dist/components/data/slider/slider.context.d.ts +2 -0
  152. package/dist/components/data/slider/slider.context.d.ts.map +1 -0
  153. package/dist/components/data/slider/slider.props.d.ts +70 -0
  154. package/dist/components/data/slider/slider.props.d.ts.map +1 -0
  155. package/dist/components/data/slider/slider.types.d.ts +7 -0
  156. package/dist/components/data/slider/slider.types.d.ts.map +1 -0
  157. package/dist/components/data/textarea/Textarea.d.ts +22 -0
  158. package/dist/components/data/textarea/Textarea.d.ts.map +1 -0
  159. package/dist/components/data/textarea/textarea.context.d.ts +2 -0
  160. package/dist/components/data/textarea/textarea.context.d.ts.map +1 -0
  161. package/dist/components/data/textarea/textarea.props.d.ts +64 -0
  162. package/dist/components/data/textarea/textarea.props.d.ts.map +1 -0
  163. package/dist/components/data/textarea/textarea.types.d.ts +5 -0
  164. package/dist/components/data/textarea/textarea.types.d.ts.map +1 -0
  165. package/dist/components/data/toggle/Toggle.d.ts +31 -0
  166. package/dist/components/data/toggle/Toggle.d.ts.map +1 -0
  167. package/dist/components/data/toggle/toggle.context.d.ts +2 -0
  168. package/dist/components/data/toggle/toggle.context.d.ts.map +1 -0
  169. package/dist/components/data/toggle/toggle.props.d.ts +38 -0
  170. package/dist/components/data/toggle/toggle.props.d.ts.map +1 -0
  171. package/dist/components/data/toggle/toggle.types.d.ts +4 -0
  172. package/dist/components/data/toggle/toggle.types.d.ts.map +1 -0
  173. package/dist/components/display/accordion/Accordion.d.ts +42 -0
  174. package/dist/components/display/accordion/Accordion.d.ts.map +1 -0
  175. package/dist/components/display/accordion/AccordionItem.d.ts +35 -0
  176. package/dist/components/display/accordion/AccordionItem.d.ts.map +1 -0
  177. package/dist/components/display/accordion/accordion-item.context.d.ts +2 -0
  178. package/dist/components/display/accordion/accordion-item.context.d.ts.map +1 -0
  179. package/dist/components/display/accordion/accordion-item.props.d.ts +19 -0
  180. package/dist/components/display/accordion/accordion-item.props.d.ts.map +1 -0
  181. package/dist/components/display/accordion/accordion-item.types.d.ts +2 -0
  182. package/dist/components/display/accordion/accordion-item.types.d.ts.map +1 -0
  183. package/dist/components/display/accordion/accordion.context.d.ts +9 -0
  184. package/dist/components/display/accordion/accordion.context.d.ts.map +1 -0
  185. package/dist/components/display/accordion/accordion.props.d.ts +15 -0
  186. package/dist/components/display/accordion/accordion.props.d.ts.map +1 -0
  187. package/dist/components/display/avatar/Avatar.d.ts +14 -0
  188. package/dist/components/display/avatar/Avatar.d.ts.map +1 -0
  189. package/dist/components/display/avatar/avatar.context.d.ts +2 -0
  190. package/dist/components/display/avatar/avatar.context.d.ts.map +1 -0
  191. package/dist/components/display/avatar/avatar.props.d.ts +45 -0
  192. package/dist/components/display/avatar/avatar.props.d.ts.map +1 -0
  193. package/dist/components/display/avatar/avatar.types.d.ts +5 -0
  194. package/dist/components/display/avatar/avatar.types.d.ts.map +1 -0
  195. package/dist/components/display/badge/Badge.d.ts +12 -0
  196. package/dist/components/display/badge/Badge.d.ts.map +1 -0
  197. package/dist/components/display/badge/badge.context.d.ts +2 -0
  198. package/dist/components/display/badge/badge.context.d.ts.map +1 -0
  199. package/dist/components/display/badge/badge.props.d.ts +20 -0
  200. package/dist/components/display/badge/badge.props.d.ts.map +1 -0
  201. package/dist/components/display/badge/badge.types.d.ts +5 -0
  202. package/dist/components/display/badge/badge.types.d.ts.map +1 -0
  203. package/dist/components/display/card/Card.d.ts +12 -0
  204. package/dist/components/display/card/Card.d.ts.map +1 -0
  205. package/dist/components/display/card/CardActions.d.ts +12 -0
  206. package/dist/components/display/card/CardActions.d.ts.map +1 -0
  207. package/dist/components/display/card/CardBody.d.ts +14 -0
  208. package/dist/components/display/card/CardBody.d.ts.map +1 -0
  209. package/dist/components/display/card/CardTitle.d.ts +14 -0
  210. package/dist/components/display/card/CardTitle.d.ts.map +1 -0
  211. package/dist/components/display/card/card-actions.context.d.ts +2 -0
  212. package/dist/components/display/card/card-actions.context.d.ts.map +1 -0
  213. package/dist/components/display/card/card-actions.props.d.ts +15 -0
  214. package/dist/components/display/card/card-actions.props.d.ts.map +1 -0
  215. package/dist/components/display/card/card-actions.types.d.ts +2 -0
  216. package/dist/components/display/card/card-actions.types.d.ts.map +1 -0
  217. package/dist/components/display/card/card.context.d.ts +2 -0
  218. package/dist/components/display/card/card.context.d.ts.map +1 -0
  219. package/dist/components/display/card/card.props.d.ts +30 -0
  220. package/dist/components/display/card/card.props.d.ts.map +1 -0
  221. package/dist/components/display/card/card.types.d.ts +4 -0
  222. package/dist/components/display/card/card.types.d.ts.map +1 -0
  223. package/dist/components/display/carousel/Carousel.d.ts +16 -0
  224. package/dist/components/display/carousel/Carousel.d.ts.map +1 -0
  225. package/dist/components/display/carousel/carousel.context.d.ts +2 -0
  226. package/dist/components/display/carousel/carousel.context.d.ts.map +1 -0
  227. package/dist/components/display/carousel/carousel.props.d.ts +52 -0
  228. package/dist/components/display/carousel/carousel.props.d.ts.map +1 -0
  229. package/dist/components/display/carousel/carousel.types.d.ts +3 -0
  230. package/dist/components/display/carousel/carousel.types.d.ts.map +1 -0
  231. package/dist/components/display/chat/Chat.d.ts +20 -0
  232. package/dist/components/display/chat/Chat.d.ts.map +1 -0
  233. package/dist/components/display/chat/chat.context.d.ts +2 -0
  234. package/dist/components/display/chat/chat.context.d.ts.map +1 -0
  235. package/dist/components/display/chat/chat.props.d.ts +18 -0
  236. package/dist/components/display/chat/chat.props.d.ts.map +1 -0
  237. package/dist/components/display/chat/chat.types.d.ts +3 -0
  238. package/dist/components/display/chat/chat.types.d.ts.map +1 -0
  239. package/dist/components/display/countdown/Countdown.d.ts +38 -0
  240. package/dist/components/display/countdown/Countdown.d.ts.map +1 -0
  241. package/dist/components/display/countdown/countdown.context.d.ts +2 -0
  242. package/dist/components/display/countdown/countdown.context.d.ts.map +1 -0
  243. package/dist/components/display/countdown/countdown.props.d.ts +25 -0
  244. package/dist/components/display/countdown/countdown.props.d.ts.map +1 -0
  245. package/dist/components/display/countdown/countdown.types.d.ts +23 -0
  246. package/dist/components/display/countdown/countdown.types.d.ts.map +1 -0
  247. package/dist/components/display/diff/Diff.d.ts +16 -0
  248. package/dist/components/display/diff/Diff.d.ts.map +1 -0
  249. package/dist/components/display/hover-3d/Hover3d.d.ts +12 -0
  250. package/dist/components/display/hover-3d/Hover3d.d.ts.map +1 -0
  251. package/dist/components/display/hover-3d/hover-3d.props.d.ts +9 -0
  252. package/dist/components/display/hover-3d/hover-3d.props.d.ts.map +1 -0
  253. package/dist/components/display/hover-gallery/HoverGallery.d.ts +14 -0
  254. package/dist/components/display/hover-gallery/HoverGallery.d.ts.map +1 -0
  255. package/dist/components/display/kbd/Kbd.d.ts +12 -0
  256. package/dist/components/display/kbd/Kbd.d.ts.map +1 -0
  257. package/dist/components/display/kbd/kbd.context.d.ts +2 -0
  258. package/dist/components/display/kbd/kbd.context.d.ts.map +1 -0
  259. package/dist/components/display/kbd/kbd.props.d.ts +12 -0
  260. package/dist/components/display/kbd/kbd.props.d.ts.map +1 -0
  261. package/dist/components/display/kbd/kbd.types.d.ts +3 -0
  262. package/dist/components/display/kbd/kbd.types.d.ts.map +1 -0
  263. package/dist/components/display/list/List.d.ts +17 -0
  264. package/dist/components/display/list/List.d.ts.map +1 -0
  265. package/dist/components/display/list/ListItem.d.ts +22 -0
  266. package/dist/components/display/list/ListItem.d.ts.map +1 -0
  267. package/dist/components/display/list/list-item.props.d.ts +17 -0
  268. package/dist/components/display/list/list-item.props.d.ts.map +1 -0
  269. package/dist/components/display/list/list.props.d.ts +8 -0
  270. package/dist/components/display/list/list.props.d.ts.map +1 -0
  271. package/dist/components/display/public.d.ts +21 -0
  272. package/dist/components/display/public.d.ts.map +1 -0
  273. package/dist/components/display/public.es.js +2 -0
  274. package/dist/components/display/public.types.d.ts +28 -0
  275. package/dist/components/display/public.types.d.ts.map +1 -0
  276. package/dist/components/display/public.umd.js +1 -0
  277. package/dist/components/display/stat/Stat.d.ts +22 -0
  278. package/dist/components/display/stat/Stat.d.ts.map +1 -0
  279. package/dist/components/display/stat/Stats.d.ts +12 -0
  280. package/dist/components/display/stat/Stats.d.ts.map +1 -0
  281. package/dist/components/display/stat/stat.context.d.ts +2 -0
  282. package/dist/components/display/stat/stat.context.d.ts.map +1 -0
  283. package/dist/components/display/stat/stat.props.d.ts +42 -0
  284. package/dist/components/display/stat/stat.props.d.ts.map +1 -0
  285. package/dist/components/display/stat/stat.types.d.ts +2 -0
  286. package/dist/components/display/stat/stat.types.d.ts.map +1 -0
  287. package/dist/components/display/stat/stats.context.d.ts +2 -0
  288. package/dist/components/display/stat/stats.context.d.ts.map +1 -0
  289. package/dist/components/display/stat/stats.props.d.ts +11 -0
  290. package/dist/components/display/stat/stats.props.d.ts.map +1 -0
  291. package/dist/components/display/stat/stats.types.d.ts +2 -0
  292. package/dist/components/display/stat/stats.types.d.ts.map +1 -0
  293. package/dist/components/display/status/Status.d.ts +5 -0
  294. package/dist/components/display/status/Status.d.ts.map +1 -0
  295. package/dist/components/display/status/status.context.d.ts +2 -0
  296. package/dist/components/display/status/status.context.d.ts.map +1 -0
  297. package/dist/components/display/status/status.props.d.ts +27 -0
  298. package/dist/components/display/status/status.props.d.ts.map +1 -0
  299. package/dist/components/display/status/status.types.d.ts +5 -0
  300. package/dist/components/display/status/status.types.d.ts.map +1 -0
  301. package/dist/components/feedback/alert/Alert.d.ts +14 -0
  302. package/dist/components/feedback/alert/Alert.d.ts.map +1 -0
  303. package/dist/components/feedback/alert/alert.context.d.ts +2 -0
  304. package/dist/components/feedback/alert/alert.context.d.ts.map +1 -0
  305. package/dist/components/feedback/alert/alert.props.d.ts +27 -0
  306. package/dist/components/feedback/alert/alert.props.d.ts.map +1 -0
  307. package/dist/components/feedback/alert/alert.types.d.ts +4 -0
  308. package/dist/components/feedback/alert/alert.types.d.ts.map +1 -0
  309. package/dist/components/feedback/loading/Loading.d.ts +5 -0
  310. package/dist/components/feedback/loading/Loading.d.ts.map +1 -0
  311. package/dist/components/feedback/loading/loading.context.d.ts +2 -0
  312. package/dist/components/feedback/loading/loading.context.d.ts.map +1 -0
  313. package/dist/components/feedback/loading/loading.props.d.ts +23 -0
  314. package/dist/components/feedback/loading/loading.props.d.ts.map +1 -0
  315. package/dist/components/feedback/loading/loading.types.d.ts +5 -0
  316. package/dist/components/feedback/loading/loading.types.d.ts.map +1 -0
  317. package/dist/components/feedback/progress/Progress.d.ts +5 -0
  318. package/dist/components/feedback/progress/Progress.d.ts.map +1 -0
  319. package/dist/components/feedback/progress/progress.context.d.ts +2 -0
  320. package/dist/components/feedback/progress/progress.context.d.ts.map +1 -0
  321. package/dist/components/feedback/progress/progress.props.d.ts +28 -0
  322. package/dist/components/feedback/progress/progress.props.d.ts.map +1 -0
  323. package/dist/components/feedback/progress/progress.types.d.ts +2 -0
  324. package/dist/components/feedback/progress/progress.types.d.ts.map +1 -0
  325. package/dist/components/feedback/public.d.ts +6 -0
  326. package/dist/components/feedback/public.d.ts.map +1 -0
  327. package/dist/components/feedback/public.es.js +128 -0
  328. package/dist/components/feedback/public.es.js.map +1 -0
  329. package/dist/components/feedback/public.types.d.ts +13 -0
  330. package/dist/components/feedback/public.types.d.ts.map +1 -0
  331. package/dist/components/feedback/public.umd.js +2 -0
  332. package/dist/components/feedback/public.umd.js.map +1 -0
  333. package/dist/components/feedback/radial-progress/radial-progress.context.d.ts +2 -0
  334. package/dist/components/feedback/radial-progress/radial-progress.context.d.ts.map +1 -0
  335. package/dist/components/feedback/radial-progress/radial-progress.props.d.ts +32 -0
  336. package/dist/components/feedback/radial-progress/radial-progress.props.d.ts.map +1 -0
  337. package/dist/components/feedback/radial-progress/radial-progress.types.d.ts +2 -0
  338. package/dist/components/feedback/radial-progress/radial-progress.types.d.ts.map +1 -0
  339. package/dist/components/feedback/toast/Toast.d.ts +12 -0
  340. package/dist/components/feedback/toast/Toast.d.ts.map +1 -0
  341. package/dist/components/feedback/toast/toast.context.d.ts +9 -0
  342. package/dist/components/feedback/toast/toast.context.d.ts.map +1 -0
  343. package/dist/components/feedback/toast/toast.props.d.ts +31 -0
  344. package/dist/components/feedback/toast/toast.props.d.ts.map +1 -0
  345. package/dist/components/feedback/toast/toast.types.d.ts +5 -0
  346. package/dist/components/feedback/toast/toast.types.d.ts.map +1 -0
  347. package/dist/components/feedback/tooltip/Tooltip.d.ts +14 -0
  348. package/dist/components/feedback/tooltip/Tooltip.d.ts.map +1 -0
  349. package/dist/components/feedback/tooltip/tooltip.context.d.ts +2 -0
  350. package/dist/components/feedback/tooltip/tooltip.context.d.ts.map +1 -0
  351. package/dist/components/feedback/tooltip/tooltip.props.d.ts +39 -0
  352. package/dist/components/feedback/tooltip/tooltip.props.d.ts.map +1 -0
  353. package/dist/components/feedback/tooltip/tooltip.types.d.ts +3 -0
  354. package/dist/components/feedback/tooltip/tooltip.types.d.ts.map +1 -0
  355. package/dist/components/layout/divider/Divider.d.ts +12 -0
  356. package/dist/components/layout/divider/Divider.d.ts.map +1 -0
  357. package/dist/components/layout/divider/divider.context.d.ts +2 -0
  358. package/dist/components/layout/divider/divider.context.d.ts.map +1 -0
  359. package/dist/components/layout/divider/divider.props.d.ts +26 -0
  360. package/dist/components/layout/divider/divider.props.d.ts.map +1 -0
  361. package/dist/components/layout/divider/divider.types.d.ts +4 -0
  362. package/dist/components/layout/divider/divider.types.d.ts.map +1 -0
  363. package/dist/components/layout/drawer/Drawer.d.ts +39 -0
  364. package/dist/components/layout/drawer/Drawer.d.ts.map +1 -0
  365. package/dist/components/layout/drawer/drawer.context.d.ts +2 -0
  366. package/dist/components/layout/drawer/drawer.context.d.ts.map +1 -0
  367. package/dist/components/layout/drawer/drawer.props.d.ts +27 -0
  368. package/dist/components/layout/drawer/drawer.props.d.ts.map +1 -0
  369. package/dist/components/layout/drawer/drawer.types.d.ts +6 -0
  370. package/dist/components/layout/drawer/drawer.types.d.ts.map +1 -0
  371. package/dist/components/layout/indicator/Indicator.d.ts +14 -0
  372. package/dist/components/layout/indicator/Indicator.d.ts.map +1 -0
  373. package/dist/components/layout/indicator/indicator.context.d.ts +2 -0
  374. package/dist/components/layout/indicator/indicator.context.d.ts.map +1 -0
  375. package/dist/components/layout/indicator/indicator.props.d.ts +28 -0
  376. package/dist/components/layout/indicator/indicator.props.d.ts.map +1 -0
  377. package/dist/components/layout/indicator/indicator.types.d.ts +3 -0
  378. package/dist/components/layout/indicator/indicator.types.d.ts.map +1 -0
  379. package/dist/components/layout/join/Join.d.ts +12 -0
  380. package/dist/components/layout/join/Join.d.ts.map +1 -0
  381. package/dist/components/layout/join/join.context.d.ts +2 -0
  382. package/dist/components/layout/join/join.context.d.ts.map +1 -0
  383. package/dist/components/layout/join/join.props.d.ts +14 -0
  384. package/dist/components/layout/join/join.props.d.ts.map +1 -0
  385. package/dist/components/layout/join/join.types.d.ts +2 -0
  386. package/dist/components/layout/join/join.types.d.ts.map +1 -0
  387. package/dist/components/layout/mask/Mask.d.ts +12 -0
  388. package/dist/components/layout/mask/Mask.d.ts.map +1 -0
  389. package/dist/components/layout/mask/mask.context.d.ts +2 -0
  390. package/dist/components/layout/mask/mask.context.d.ts.map +1 -0
  391. package/dist/components/layout/mask/mask.props.d.ts +37 -0
  392. package/dist/components/layout/mask/mask.props.d.ts.map +1 -0
  393. package/dist/components/layout/mask/mask.types.d.ts +3 -0
  394. package/dist/components/layout/mask/mask.types.d.ts.map +1 -0
  395. package/dist/components/layout/public.d.ts +7 -0
  396. package/dist/components/layout/public.d.ts.map +1 -0
  397. package/dist/components/layout/public.es.js +206 -0
  398. package/dist/components/layout/public.es.js.map +1 -0
  399. package/dist/components/layout/public.types.d.ts +13 -0
  400. package/dist/components/layout/public.types.d.ts.map +1 -0
  401. package/dist/components/layout/public.umd.js +2 -0
  402. package/dist/components/layout/public.umd.js.map +1 -0
  403. package/dist/components/layout/stack/Stack.d.ts +12 -0
  404. package/dist/components/layout/stack/Stack.d.ts.map +1 -0
  405. package/dist/components/layout/stack/stack.context.d.ts +2 -0
  406. package/dist/components/layout/stack/stack.context.d.ts.map +1 -0
  407. package/dist/components/layout/stack/stack.props.d.ts +12 -0
  408. package/dist/components/layout/stack/stack.props.d.ts.map +1 -0
  409. package/dist/components/layout/stack/stack.types.d.ts +2 -0
  410. package/dist/components/layout/stack/stack.types.d.ts.map +1 -0
  411. package/dist/components/media/img/Img.d.ts +15 -0
  412. package/dist/components/media/img/Img.d.ts.map +1 -0
  413. package/dist/components/media/img/img.context.d.ts +2 -0
  414. package/dist/components/media/img/img.context.d.ts.map +1 -0
  415. package/dist/components/media/img/img.props.d.ts +76 -0
  416. package/dist/components/media/img/img.props.d.ts.map +1 -0
  417. package/dist/components/media/img/img.types.d.ts +33 -0
  418. package/dist/components/media/img/img.types.d.ts.map +1 -0
  419. package/dist/components/media/public.d.ts +2 -0
  420. package/dist/components/media/public.d.ts.map +1 -0
  421. package/dist/components/media/public.es.js +143 -0
  422. package/dist/components/media/public.es.js.map +1 -0
  423. package/dist/components/media/public.types.d.ts +3 -0
  424. package/dist/components/media/public.types.d.ts.map +1 -0
  425. package/dist/components/media/public.umd.js +2 -0
  426. package/dist/components/media/public.umd.js.map +1 -0
  427. package/dist/components/navigation/breadcrumbs/Breadcrumbs.d.ts +5 -0
  428. package/dist/components/navigation/breadcrumbs/Breadcrumbs.d.ts.map +1 -0
  429. package/dist/components/navigation/breadcrumbs/breadcrumbs.context.d.ts +2 -0
  430. package/dist/components/navigation/breadcrumbs/breadcrumbs.context.d.ts.map +1 -0
  431. package/dist/components/navigation/breadcrumbs/breadcrumbs.props.d.ts +17 -0
  432. package/dist/components/navigation/breadcrumbs/breadcrumbs.props.d.ts.map +1 -0
  433. package/dist/components/navigation/breadcrumbs/breadcrumbs.types.d.ts +11 -0
  434. package/dist/components/navigation/breadcrumbs/breadcrumbs.types.d.ts.map +1 -0
  435. package/dist/components/navigation/dock/Dock.d.ts +12 -0
  436. package/dist/components/navigation/dock/Dock.d.ts.map +1 -0
  437. package/dist/components/navigation/dock/DockItem.d.ts +5 -0
  438. package/dist/components/navigation/dock/DockItem.d.ts.map +1 -0
  439. package/dist/components/navigation/dock/dock.context.d.ts +3 -0
  440. package/dist/components/navigation/dock/dock.context.d.ts.map +1 -0
  441. package/dist/components/navigation/dock/dock.props.d.ts +30 -0
  442. package/dist/components/navigation/dock/dock.props.d.ts.map +1 -0
  443. package/dist/components/navigation/dock/dock.types.d.ts +3 -0
  444. package/dist/components/navigation/dock/dock.types.d.ts.map +1 -0
  445. package/dist/components/navigation/link/Link.d.ts +12 -0
  446. package/dist/components/navigation/link/Link.d.ts.map +1 -0
  447. package/dist/components/navigation/link/link.context.d.ts +2 -0
  448. package/dist/components/navigation/link/link.context.d.ts.map +1 -0
  449. package/dist/components/navigation/link/link.props.d.ts +21 -0
  450. package/dist/components/navigation/link/link.props.d.ts.map +1 -0
  451. package/dist/components/navigation/link/link.types.d.ts +2 -0
  452. package/dist/components/navigation/link/link.types.d.ts.map +1 -0
  453. package/dist/components/navigation/menu/Menu.d.ts +12 -0
  454. package/dist/components/navigation/menu/Menu.d.ts.map +1 -0
  455. package/dist/components/navigation/menu/MenuItem.d.ts +36 -0
  456. package/dist/components/navigation/menu/MenuItem.d.ts.map +1 -0
  457. package/dist/components/navigation/menu/menu.context.d.ts +3 -0
  458. package/dist/components/navigation/menu/menu.context.d.ts.map +1 -0
  459. package/dist/components/navigation/menu/menu.props.d.ts +61 -0
  460. package/dist/components/navigation/menu/menu.props.d.ts.map +1 -0
  461. package/dist/components/navigation/menu/menu.types.d.ts +4 -0
  462. package/dist/components/navigation/menu/menu.types.d.ts.map +1 -0
  463. package/dist/components/navigation/navbar/Navbar.d.ts +4 -0
  464. package/dist/components/navigation/navbar/Navbar.d.ts.map +1 -0
  465. package/dist/components/navigation/public.d.ts +10 -0
  466. package/dist/components/navigation/public.d.ts.map +1 -0
  467. package/dist/components/navigation/public.es.js +2 -0
  468. package/dist/components/navigation/public.types.d.ts +11 -0
  469. package/dist/components/navigation/public.types.d.ts.map +1 -0
  470. package/dist/components/navigation/public.umd.js +1 -0
  471. package/dist/components/navigation/tab/Tab.d.ts +19 -0
  472. package/dist/components/navigation/tab/Tab.d.ts.map +1 -0
  473. package/dist/components/navigation/tab/Tabs.d.ts +20 -0
  474. package/dist/components/navigation/tab/Tabs.d.ts.map +1 -0
  475. package/dist/components/navigation/tab/tab.context.d.ts +10 -0
  476. package/dist/components/navigation/tab/tab.context.d.ts.map +1 -0
  477. package/dist/components/navigation/tab/tab.props.d.ts +59 -0
  478. package/dist/components/navigation/tab/tab.props.d.ts.map +1 -0
  479. package/dist/components/navigation/tab/tab.types.d.ts +5 -0
  480. package/dist/components/navigation/tab/tab.types.d.ts.map +1 -0
  481. package/dist/composables/public.d.ts +6 -0
  482. package/dist/composables/public.d.ts.map +1 -0
  483. package/dist/composables/public.es.js +39 -0
  484. package/dist/composables/public.es.js.map +1 -0
  485. package/dist/composables/public.umd.js +2 -0
  486. package/dist/composables/public.umd.js.map +1 -0
  487. package/dist/composables/use-component-config.d.ts +27 -0
  488. package/dist/composables/use-component-config.d.ts.map +1 -0
  489. package/dist/composables/use-config.d.ts +2 -0
  490. package/dist/composables/use-config.d.ts.map +1 -0
  491. package/dist/composables/use-form-field.d.ts +24 -0
  492. package/dist/composables/use-form-field.d.ts.map +1 -0
  493. package/dist/composables/use-select-counter.d.ts +13 -0
  494. package/dist/composables/use-select-counter.d.ts.map +1 -0
  495. package/dist/composables/use-toast.d.ts +36 -0
  496. package/dist/composables/use-toast.d.ts.map +1 -0
  497. package/dist/config/config.type.d.ts +96 -0
  498. package/dist/config/config.type.d.ts.map +1 -0
  499. package/dist/config/public.d.ts +3 -0
  500. package/dist/config/public.d.ts.map +1 -0
  501. package/dist/config/public.es.js +2 -0
  502. package/dist/config/public.types.d.ts +2 -0
  503. package/dist/config/public.types.d.ts.map +1 -0
  504. package/dist/config/public.umd.js +1 -0
  505. package/dist/config/size.context.d.ts +4 -0
  506. package/dist/config/size.context.d.ts.map +1 -0
  507. package/dist/config/symbol.d.ts +4 -0
  508. package/dist/config/symbol.d.ts.map +1 -0
  509. package/dist/plugin-vue.d.ts +33 -0
  510. package/dist/plugin-vue.d.ts.map +1 -0
  511. package/dist/public-1PFjXgZ6.cjs +2 -0
  512. package/dist/public-1PFjXgZ6.cjs.map +1 -0
  513. package/dist/public-D_MhbTxP.cjs +2 -0
  514. package/dist/public-D_MhbTxP.cjs.map +1 -0
  515. package/dist/public-Dqelew6J.js +615 -0
  516. package/dist/public-Dqelew6J.js.map +1 -0
  517. package/dist/public-H9TCdoJr.js +296 -0
  518. package/dist/public-H9TCdoJr.js.map +1 -0
  519. package/dist/public.d.ts +12 -0
  520. package/dist/public.d.ts.map +1 -0
  521. package/dist/public.es.js +15 -0
  522. package/dist/public.es.js.map +1 -0
  523. package/dist/public.umd.js +2 -0
  524. package/dist/public.umd.js.map +1 -0
  525. package/dist/style.css +2 -0
  526. package/dist/symbol-Cleu4XHu.cjs +2 -0
  527. package/dist/symbol-Cleu4XHu.cjs.map +1 -0
  528. package/dist/symbol-CziS7Pho.js +13 -0
  529. package/dist/symbol-CziS7Pho.js.map +1 -0
  530. package/dist/toast.context-BNg0Zn09.cjs +2 -0
  531. package/dist/toast.context-BNg0Zn09.cjs.map +1 -0
  532. package/dist/toast.context-CTPY2imu.js +7 -0
  533. package/dist/toast.context-CTPY2imu.js.map +1 -0
  534. package/dist/types/public.d.ts +3 -0
  535. package/dist/types/public.d.ts.map +1 -0
  536. package/dist/types/public.es.js +0 -0
  537. package/dist/types/public.umd.js +1 -0
  538. package/dist/types/size.type.d.ts +2 -0
  539. package/dist/types/size.type.d.ts.map +1 -0
  540. package/dist/types/utils.type.d.ts +5 -0
  541. package/dist/types/utils.type.d.ts.map +1 -0
  542. package/dist/use-component-config-C-IlXF0W.cjs +2 -0
  543. package/dist/use-component-config-C-IlXF0W.cjs.map +1 -0
  544. package/dist/use-component-config-CaJQbJOW.js +20 -0
  545. package/dist/use-component-config-CaJQbJOW.js.map +1 -0
  546. package/dist/use-select-counter-CgQha-_T.cjs +2 -0
  547. package/dist/use-select-counter-CgQha-_T.cjs.map +1 -0
  548. package/dist/use-select-counter-D_-Qwz61.js +72 -0
  549. package/dist/use-select-counter-D_-Qwz61.js.map +1 -0
  550. package/dist/utils/build-class.util.d.ts +4 -0
  551. package/dist/utils/build-class.util.d.ts.map +1 -0
  552. package/dist/utils/get-validation-message.d.ts +22 -0
  553. package/dist/utils/get-validation-message.d.ts.map +1 -0
  554. package/dist/utils/path.d.ts +20 -0
  555. package/dist/utils/path.d.ts.map +1 -0
  556. package/dist/utils/props.util.d.ts +2 -0
  557. package/dist/utils/props.util.d.ts.map +1 -0
  558. package/dist/utils/public.d.ts +2 -0
  559. package/dist/utils/public.d.ts.map +1 -0
  560. package/package.json +138 -0
  561. package/src/components/ClassWrapper.vue +42 -0
  562. package/src/components/actions/button/Button.story.vue +184 -0
  563. package/src/components/actions/button/Button.vue +110 -0
  564. package/src/components/actions/button/button.context.ts +3 -0
  565. package/src/components/actions/button/button.props.ts +56 -0
  566. package/src/components/actions/button/button.types.ts +7 -0
  567. package/src/components/actions/dropdown/Dropdown.story.vue +360 -0
  568. package/src/components/actions/dropdown/Dropdown.vue +218 -0
  569. package/src/components/actions/dropdown/dropdown.context.ts +3 -0
  570. package/src/components/actions/dropdown/dropdown.props.ts +59 -0
  571. package/src/components/actions/dropdown/dropdown.types.ts +4 -0
  572. package/src/components/actions/fab/Fab.story.vue +227 -0
  573. package/src/components/actions/fab/Fab.vue +33 -0
  574. package/src/components/actions/fab/fab.context.ts +3 -0
  575. package/src/components/actions/fab/fab.props.ts +11 -0
  576. package/src/components/actions/fab/fab.types.ts +1 -0
  577. package/src/components/actions/modal/Modal.story.vue +285 -0
  578. package/src/components/actions/modal/Modal.vue +106 -0
  579. package/src/components/actions/modal/modal.context.ts +3 -0
  580. package/src/components/actions/modal/modal.props.ts +29 -0
  581. package/src/components/actions/modal/modal.types.ts +1 -0
  582. package/src/components/actions/public.ts +5 -0
  583. package/src/components/actions/public.types.ts +15 -0
  584. package/src/components/actions/swap/Swap.story.vue +302 -0
  585. package/src/components/actions/swap/Swap.vue +59 -0
  586. package/src/components/actions/swap/swap.context.ts +3 -0
  587. package/src/components/actions/swap/swap.props.ts +17 -0
  588. package/src/components/actions/swap/swap.types.ts +1 -0
  589. package/src/components/app/PoppyApp.vue +48 -0
  590. package/src/components/app/public.ts +1 -0
  591. package/src/components/data/checkbox/Checkbox.story.vue +206 -0
  592. package/src/components/data/checkbox/Checkbox.vue +139 -0
  593. package/src/components/data/checkbox/checkbox.context.ts +3 -0
  594. package/src/components/data/checkbox/checkbox.props.ts +42 -0
  595. package/src/components/data/checkbox/checkbox.types.ts +5 -0
  596. package/src/components/data/field-set/FieldSet.story.vue +163 -0
  597. package/src/components/data/field-set/FieldSet.vue +22 -0
  598. package/src/components/data/field-set/field-set.props.ts +21 -0
  599. package/src/components/data/form/Form.story.vue +144 -0
  600. package/src/components/data/form/Form.vue +235 -0
  601. package/src/components/data/form/form.context.ts +82 -0
  602. package/src/components/data/form/form.props.ts +30 -0
  603. package/src/components/data/form/form.types.ts +25 -0
  604. package/src/components/data/form-field/FormField.vue +176 -0
  605. package/src/components/data/form-field/form-field.context.ts +71 -0
  606. package/src/components/data/form-field/form-field.props.ts +42 -0
  607. package/src/components/data/form-field/form-field.types.ts +1 -0
  608. package/src/components/data/input/Input.story.vue +276 -0
  609. package/src/components/data/input/Input.vue +233 -0
  610. package/src/components/data/input/input.context.ts +3 -0
  611. package/src/components/data/input/input.props.ts +87 -0
  612. package/src/components/data/input/input.types.ts +10 -0
  613. package/src/components/data/public.ts +12 -0
  614. package/src/components/data/public.types.ts +30 -0
  615. package/src/components/data/radio/Radio.story.vue +228 -0
  616. package/src/components/data/radio/Radio.vue +152 -0
  617. package/src/components/data/radio/radio.context.ts +3 -0
  618. package/src/components/data/radio/radio.props.ts +53 -0
  619. package/src/components/data/radio/radio.types.ts +5 -0
  620. package/src/components/data/radio-group/RadioGroup.story.vue +155 -0
  621. package/src/components/data/radio-group/RadioGroup.vue +65 -0
  622. package/src/components/data/radio-group/radio-group.context.ts +14 -0
  623. package/src/components/data/radio-group/radio-group.props.ts +12 -0
  624. package/src/components/data/rating/Rating.story.vue +150 -0
  625. package/src/components/data/rating/Rating.vue +190 -0
  626. package/src/components/data/rating/rating.context.ts +3 -0
  627. package/src/components/data/rating/rating.props.ts +43 -0
  628. package/src/components/data/rating/rating.types.ts +8 -0
  629. package/src/components/data/select/Select.story.vue +317 -0
  630. package/src/components/data/select/Select.vue +747 -0
  631. package/src/components/data/select/select.context.ts +3 -0
  632. package/src/components/data/select/select.props.ts +110 -0
  633. package/src/components/data/select/select.types.ts +24 -0
  634. package/src/components/data/slider/Slider.story.vue +276 -0
  635. package/src/components/data/slider/Slider.vue +802 -0
  636. package/src/components/data/slider/slider.context.ts +3 -0
  637. package/src/components/data/slider/slider.props.ts +69 -0
  638. package/src/components/data/slider/slider.types.ts +11 -0
  639. package/src/components/data/textarea/Textarea.story.vue +222 -0
  640. package/src/components/data/textarea/Textarea.vue +168 -0
  641. package/src/components/data/textarea/textarea.context.ts +3 -0
  642. package/src/components/data/textarea/textarea.props.ts +71 -0
  643. package/src/components/data/textarea/textarea.types.ts +7 -0
  644. package/src/components/data/toggle/Toggle.story.vue +195 -0
  645. package/src/components/data/toggle/Toggle.vue +136 -0
  646. package/src/components/data/toggle/toggle.context.ts +3 -0
  647. package/src/components/data/toggle/toggle.props.ts +40 -0
  648. package/src/components/data/toggle/toggle.types.ts +5 -0
  649. package/src/components/display/accordion/Accordion.story.vue +482 -0
  650. package/src/components/display/accordion/Accordion.vue +112 -0
  651. package/src/components/display/accordion/AccordionItem.vue +111 -0
  652. package/src/components/display/accordion/accordion-item.context.ts +3 -0
  653. package/src/components/display/accordion/accordion-item.props.ts +20 -0
  654. package/src/components/display/accordion/accordion-item.types.ts +1 -0
  655. package/src/components/display/accordion/accordion.context.ts +10 -0
  656. package/src/components/display/accordion/accordion.props.ts +16 -0
  657. package/src/components/display/avatar/Avatar.story.vue +341 -0
  658. package/src/components/display/avatar/Avatar.vue +57 -0
  659. package/src/components/display/avatar/avatar.context.ts +3 -0
  660. package/src/components/display/avatar/avatar.props.ts +44 -0
  661. package/src/components/display/avatar/avatar.types.ts +5 -0
  662. package/src/components/display/badge/Badge.story.vue +156 -0
  663. package/src/components/display/badge/Badge.vue +51 -0
  664. package/src/components/display/badge/badge.context.ts +3 -0
  665. package/src/components/display/badge/badge.props.ts +22 -0
  666. package/src/components/display/badge/badge.types.ts +5 -0
  667. package/src/components/display/card/Card.story.vue +312 -0
  668. package/src/components/display/card/Card.vue +40 -0
  669. package/src/components/display/card/CardActions.vue +30 -0
  670. package/src/components/display/card/CardBody.vue +5 -0
  671. package/src/components/display/card/CardTitle.vue +5 -0
  672. package/src/components/display/card/card-actions.context.ts +3 -0
  673. package/src/components/display/card/card-actions.props.ts +15 -0
  674. package/src/components/display/card/card-actions.types.ts +1 -0
  675. package/src/components/display/card/card.context.ts +3 -0
  676. package/src/components/display/card/card.props.ts +29 -0
  677. package/src/components/display/card/card.types.ts +4 -0
  678. package/src/components/display/carousel/Carousel.story.vue +216 -0
  679. package/src/components/display/carousel/Carousel.vue +156 -0
  680. package/src/components/display/carousel/carousel.context.ts +3 -0
  681. package/src/components/display/carousel/carousel.props.ts +51 -0
  682. package/src/components/display/carousel/carousel.types.ts +2 -0
  683. package/src/components/display/chat/Chat.story.vue +251 -0
  684. package/src/components/display/chat/Chat.vue +56 -0
  685. package/src/components/display/chat/chat.context.ts +3 -0
  686. package/src/components/display/chat/chat.props.ts +19 -0
  687. package/src/components/display/chat/chat.types.ts +2 -0
  688. package/src/components/display/countdown/Countdown.story.vue +285 -0
  689. package/src/components/display/countdown/Countdown.vue +114 -0
  690. package/src/components/display/countdown/countdown.context.ts +3 -0
  691. package/src/components/display/countdown/countdown.props.ts +26 -0
  692. package/src/components/display/countdown/countdown.types.ts +24 -0
  693. package/src/components/display/diff/Diff.story.vue +118 -0
  694. package/src/components/display/diff/Diff.vue +13 -0
  695. package/src/components/display/hover-3d/Hover3d.story.vue +154 -0
  696. package/src/components/display/hover-3d/Hover3d.vue +37 -0
  697. package/src/components/display/hover-3d/hover-3d.props.ts +9 -0
  698. package/src/components/display/hover-gallery/HoverGallery.story.vue +121 -0
  699. package/src/components/display/hover-gallery/HoverGallery.vue +5 -0
  700. package/src/components/display/kbd/Kbd.story.vue +214 -0
  701. package/src/components/display/kbd/Kbd.vue +32 -0
  702. package/src/components/display/kbd/kbd.context.ts +3 -0
  703. package/src/components/display/kbd/kbd.props.ts +12 -0
  704. package/src/components/display/kbd/kbd.types.ts +3 -0
  705. package/src/components/display/list/List.story.vue +381 -0
  706. package/src/components/display/list/List.vue +14 -0
  707. package/src/components/display/list/ListItem.vue +53 -0
  708. package/src/components/display/list/list-item.props.ts +19 -0
  709. package/src/components/display/list/list.props.ts +7 -0
  710. package/src/components/display/public.ts +20 -0
  711. package/src/components/display/public.types.ts +40 -0
  712. package/src/components/display/stat/Stat.story.vue +181 -0
  713. package/src/components/display/stat/Stat.vue +43 -0
  714. package/src/components/display/stat/Stats.vue +29 -0
  715. package/src/components/display/stat/stat.context.ts +3 -0
  716. package/src/components/display/stat/stat.props.ts +50 -0
  717. package/src/components/display/stat/stat.types.ts +1 -0
  718. package/src/components/display/stat/stats.context.ts +3 -0
  719. package/src/components/display/stat/stats.props.ts +11 -0
  720. package/src/components/display/stat/stats.types.ts +1 -0
  721. package/src/components/display/status/Status.story.vue +195 -0
  722. package/src/components/display/status/Status.vue +70 -0
  723. package/src/components/display/status/status.context.ts +3 -0
  724. package/src/components/display/status/status.props.ts +30 -0
  725. package/src/components/display/status/status.types.ts +5 -0
  726. package/src/components/feedback/alert/Alert.story.vue +243 -0
  727. package/src/components/feedback/alert/Alert.vue +46 -0
  728. package/src/components/feedback/alert/alert.context.ts +3 -0
  729. package/src/components/feedback/alert/alert.props.ts +29 -0
  730. package/src/components/feedback/alert/alert.types.ts +3 -0
  731. package/src/components/feedback/loading/Loading.story.vue +156 -0
  732. package/src/components/feedback/loading/Loading.vue +55 -0
  733. package/src/components/feedback/loading/loading.context.ts +3 -0
  734. package/src/components/feedback/loading/loading.props.ts +25 -0
  735. package/src/components/feedback/loading/loading.types.ts +5 -0
  736. package/src/components/feedback/progress/Progress.story.vue +96 -0
  737. package/src/components/feedback/progress/Progress.vue +36 -0
  738. package/src/components/feedback/progress/progress.context.ts +3 -0
  739. package/src/components/feedback/progress/progress.props.ts +27 -0
  740. package/src/components/feedback/progress/progress.types.ts +1 -0
  741. package/src/components/feedback/public.ts +5 -0
  742. package/src/components/feedback/public.types.ts +18 -0
  743. package/src/components/feedback/radial-progress/RadialProgress.story.vue +118 -0
  744. package/src/components/feedback/radial-progress/RadialProgress.vue +46 -0
  745. package/src/components/feedback/radial-progress/radial-progress.context.ts +3 -0
  746. package/src/components/feedback/radial-progress/radial-progress.props.ts +35 -0
  747. package/src/components/feedback/radial-progress/radial-progress.types.ts +9 -0
  748. package/src/components/feedback/toast/Toast.story.vue +356 -0
  749. package/src/components/feedback/toast/Toast.vue +40 -0
  750. package/src/components/feedback/toast/toast.context.ts +12 -0
  751. package/src/components/feedback/toast/toast.props.ts +33 -0
  752. package/src/components/feedback/toast/toast.types.ts +5 -0
  753. package/src/components/feedback/tooltip/Tooltip.story.vue +256 -0
  754. package/src/components/feedback/tooltip/Tooltip.vue +123 -0
  755. package/src/components/feedback/tooltip/tooltip.context.ts +3 -0
  756. package/src/components/feedback/tooltip/tooltip.props.ts +44 -0
  757. package/src/components/feedback/tooltip/tooltip.types.ts +2 -0
  758. package/src/components/layout/divider/Divider.story.vue +217 -0
  759. package/src/components/layout/divider/Divider.vue +48 -0
  760. package/src/components/layout/divider/divider.context.ts +3 -0
  761. package/src/components/layout/divider/divider.props.ts +28 -0
  762. package/src/components/layout/divider/divider.types.ts +3 -0
  763. package/src/components/layout/drawer/Drawer.story.vue +301 -0
  764. package/src/components/layout/drawer/Drawer.vue +88 -0
  765. package/src/components/layout/drawer/drawer.context.ts +3 -0
  766. package/src/components/layout/drawer/drawer.props.ts +25 -0
  767. package/src/components/layout/drawer/drawer.types.ts +6 -0
  768. package/src/components/layout/indicator/Indicator.story.vue +264 -0
  769. package/src/components/layout/indicator/Indicator.vue +43 -0
  770. package/src/components/layout/indicator/indicator.context.ts +3 -0
  771. package/src/components/layout/indicator/indicator.props.ts +27 -0
  772. package/src/components/layout/indicator/indicator.types.ts +2 -0
  773. package/src/components/layout/join/Join.story.vue +147 -0
  774. package/src/components/layout/join/Join.vue +32 -0
  775. package/src/components/layout/join/join.context.ts +3 -0
  776. package/src/components/layout/join/join.props.ts +14 -0
  777. package/src/components/layout/join/join.types.ts +1 -0
  778. package/src/components/layout/mask/Mask.story.vue +181 -0
  779. package/src/components/layout/mask/Mask.vue +49 -0
  780. package/src/components/layout/mask/mask.context.ts +3 -0
  781. package/src/components/layout/mask/mask.props.ts +36 -0
  782. package/src/components/layout/mask/mask.types.ts +18 -0
  783. package/src/components/layout/public.ts +6 -0
  784. package/src/components/layout/public.types.ts +18 -0
  785. package/src/components/layout/stack/Stack.story.vue +170 -0
  786. package/src/components/layout/stack/Stack.vue +29 -0
  787. package/src/components/layout/stack/stack.context.ts +3 -0
  788. package/src/components/layout/stack/stack.props.ts +12 -0
  789. package/src/components/layout/stack/stack.types.ts +1 -0
  790. package/src/components/media/img/Img.story.vue +214 -0
  791. package/src/components/media/img/Img.vue +189 -0
  792. package/src/components/media/img/img.context.ts +3 -0
  793. package/src/components/media/img/img.props.ts +88 -0
  794. package/src/components/media/img/img.types.ts +35 -0
  795. package/src/components/media/public.ts +1 -0
  796. package/src/components/media/public.types.ts +3 -0
  797. package/src/components/navigation/breadcrumbs/Breadcrumbs.story.vue +94 -0
  798. package/src/components/navigation/breadcrumbs/Breadcrumbs.vue +53 -0
  799. package/src/components/navigation/breadcrumbs/breadcrumbs.context.ts +3 -0
  800. package/src/components/navigation/breadcrumbs/breadcrumbs.props.ts +18 -0
  801. package/src/components/navigation/breadcrumbs/breadcrumbs.types.ts +13 -0
  802. package/src/components/navigation/dock/Dock.story.vue +109 -0
  803. package/src/components/navigation/dock/Dock.vue +32 -0
  804. package/src/components/navigation/dock/DockItem.vue +50 -0
  805. package/src/components/navigation/dock/dock.context.ts +4 -0
  806. package/src/components/navigation/dock/dock.props.ts +34 -0
  807. package/src/components/navigation/dock/dock.types.ts +3 -0
  808. package/src/components/navigation/link/Link.story.vue +129 -0
  809. package/src/components/navigation/link/Link.vue +57 -0
  810. package/src/components/navigation/link/link.context.ts +3 -0
  811. package/src/components/navigation/link/link.props.ts +20 -0
  812. package/src/components/navigation/link/link.types.ts +1 -0
  813. package/src/components/navigation/menu/Menu.story.vue +284 -0
  814. package/src/components/navigation/menu/Menu.vue +41 -0
  815. package/src/components/navigation/menu/MenuItem.vue +106 -0
  816. package/src/components/navigation/menu/menu.context.ts +4 -0
  817. package/src/components/navigation/menu/menu.props.ts +59 -0
  818. package/src/components/navigation/menu/menu.types.ts +4 -0
  819. package/src/components/navigation/navbar/Navbar.story.vue +154 -0
  820. package/src/components/navigation/navbar/Navbar.vue +8 -0
  821. package/src/components/navigation/public.ts +9 -0
  822. package/src/components/navigation/public.types.ts +15 -0
  823. package/src/components/navigation/tab/Tab.story.vue +186 -0
  824. package/src/components/navigation/tab/Tab.vue +106 -0
  825. package/src/components/navigation/tab/Tabs.vue +76 -0
  826. package/src/components/navigation/tab/tab.context.ts +13 -0
  827. package/src/components/navigation/tab/tab.props.ts +57 -0
  828. package/src/components/navigation/tab/tab.types.ts +5 -0
  829. package/src/composables/public.ts +5 -0
  830. package/src/composables/use-component-config.ts +44 -0
  831. package/src/composables/use-config.ts +6 -0
  832. package/src/composables/use-form-field.ts +99 -0
  833. package/src/composables/use-select-counter.ts +58 -0
  834. package/src/composables/use-toast.ts +47 -0
  835. package/src/config/config.type.ts +109 -0
  836. package/src/config/public.ts +2 -0
  837. package/src/config/public.types.ts +1 -0
  838. package/src/config/size.context.ts +4 -0
  839. package/src/config/symbol.ts +15 -0
  840. package/src/histoire.css +8 -0
  841. package/src/plugin-vue.ts +54 -0
  842. package/src/public.ts +12 -0
  843. package/src/stories/Configuration.story.md +55 -0
  844. package/src/types/public.ts +2 -0
  845. package/src/types/size.type.ts +1 -0
  846. package/src/types/utils.type.ts +5 -0
  847. package/src/utils/build-class.util.ts +38 -0
  848. package/src/utils/get-validation-message.ts +61 -0
  849. package/src/utils/path.ts +102 -0
  850. package/src/utils/props.util.ts +11 -0
  851. package/src/utils/public.ts +1 -0
  852. package/src/vite-env.d.ts +11 -0
  853. package/src/vue.d.ts +15 -0
@@ -0,0 +1,15 @@
1
+ import { n as e, t } from "./symbol-CziS7Pho.js";
2
+ //#endregion
3
+ //#region src/public.ts
4
+ var n = { install(n, r = {}) {
5
+ n.provide(e, r?.size || "md");
6
+ for (let [e, i] of Object.entries(r?.components || {})) {
7
+ let r = t(e);
8
+ n.provide(r, i);
9
+ }
10
+ r?.debug && (window.__POPPY_UI_PLUGIN_OPTIONS__ = r, console.log("Poppy UI Plugin Options:", r));
11
+ } };
12
+ //#endregion
13
+ export { n as default };
14
+
15
+ //# sourceMappingURL=public.es.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.es.js","names":[],"sources":["../src/plugin-vue.ts","../src/public.ts"],"sourcesContent":["import type { App } from 'vue'\nimport type { PoppyComponentConfig } from './config/config.type'\nimport { COMPONENT_SIZE } from './config/size.context'\nimport { createComponentConfigKey } from './config/symbol'\nimport type { ComponentSize } from './types/size.type'\n\ntype Plugin<T> = import('vue').Plugin<T>\n\ndeclare global {\n export interface Window {\n /**\n * Poppy UI plugin options for debugging purposes. This is only set if the `debug` option is enabled when installing the plugin.\n *\n * @since 0.0.0\n */\n __POPPY_UI_PLUGIN_OPTIONS__?: PluginOptions\n }\n}\n\nexport interface PluginOptions {\n /**\n * Default size for all components. This will be used as the default size for any component that doesn't have a specific size prop set. You can override this default size on a per-component basis by providing specific configurations in the `components` option or by passing the `size` prop directly to individual components.\n * @since 0.0.0\n */\n size?: ComponentSize\n\n /**\n * Component-specific default configurations. You can specify default props for each component here, which will be merged with the props passed directly to the component. This allows you to set global defaults for your components while still allowing individual instances to override them as needed.\n * @since 0.0.0\n */\n components?: Partial<PoppyComponentConfig>\n\n /**\n * Allows you to enable debug mode, which will log the plugin options to the console and expose them on the `window` object for easier debugging.\n * @since 0.0.0\n */\n debug?: true\n}\n\nexport const PoppyUi = {\n install(app: App, options: PluginOptions = {}) {\n app.provide(COMPONENT_SIZE, options?.size || 'md')\n\n for (const [componentName, componentConfig] of Object.entries(options?.components || {})) {\n const key = createComponentConfigKey(componentName as keyof PoppyComponentConfig)\n app.provide(key, componentConfig as never)\n }\n\n if (options?.debug) {\n window.__POPPY_UI_PLUGIN_OPTIONS__ = options\n console.log('Poppy UI Plugin Options:', options)\n }\n },\n} as Plugin<[PluginOptions?]>\n","import { PoppyUi } from './plugin-vue'\n\nexport default PoppyUi\nexport * from './components/actions/public.types'\nexport * from './components/data/public.types'\nexport * from './components/display/public.types'\nexport * from './components/feedback/public.types'\nexport * from './components/layout/public.types'\nexport * from './components/media/public.types'\nexport * from './components/navigation/public.types'\nexport * from './config/public.types'\nexport type { PluginOptions } from './plugin-vue'\n"],"mappings":";;;ACEA,IAAA,IAAe,EDsCb,QAAQ,GAAU,IAAyB,CAAC,GAAG;CAC7C,EAAI,QAAQ,GAAgB,GAAS,QAAQ,IAAI;CAEjD,KAAK,IAAM,CAAC,GAAe,MAAoB,OAAO,QAAQ,GAAS,cAAc,CAAC,CAAC,GAAG;EACxF,IAAM,IAAM,EAAyB,CAA2C;EAChF,EAAI,QAAQ,GAAK,CAAwB;CAC3C;CAEA,AAAI,GAAS,UACX,OAAO,8BAA8B,GACrC,QAAQ,IAAI,4BAA4B,CAAO;AAEnD,EClDa"}
@@ -0,0 +1,2 @@
1
+ Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:`Module`}});const e=require("./symbol-Cleu4XHu.cjs");var t={install(t,n={}){t.provide(e.n,n?.size||`md`);for(let[r,i]of Object.entries(n?.components||{})){let n=e.t(r);t.provide(n,i)}n?.debug&&(window.__POPPY_UI_PLUGIN_OPTIONS__=n,console.log(`Poppy UI Plugin Options:`,n))}};exports.default=t;
2
+ //# sourceMappingURL=public.umd.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.umd.js","names":[],"sources":["../src/plugin-vue.ts","../src/public.ts"],"sourcesContent":["import type { App } from 'vue'\nimport type { PoppyComponentConfig } from './config/config.type'\nimport { COMPONENT_SIZE } from './config/size.context'\nimport { createComponentConfigKey } from './config/symbol'\nimport type { ComponentSize } from './types/size.type'\n\ntype Plugin<T> = import('vue').Plugin<T>\n\ndeclare global {\n export interface Window {\n /**\n * Poppy UI plugin options for debugging purposes. This is only set if the `debug` option is enabled when installing the plugin.\n *\n * @since 0.0.0\n */\n __POPPY_UI_PLUGIN_OPTIONS__?: PluginOptions\n }\n}\n\nexport interface PluginOptions {\n /**\n * Default size for all components. This will be used as the default size for any component that doesn't have a specific size prop set. You can override this default size on a per-component basis by providing specific configurations in the `components` option or by passing the `size` prop directly to individual components.\n * @since 0.0.0\n */\n size?: ComponentSize\n\n /**\n * Component-specific default configurations. You can specify default props for each component here, which will be merged with the props passed directly to the component. This allows you to set global defaults for your components while still allowing individual instances to override them as needed.\n * @since 0.0.0\n */\n components?: Partial<PoppyComponentConfig>\n\n /**\n * Allows you to enable debug mode, which will log the plugin options to the console and expose them on the `window` object for easier debugging.\n * @since 0.0.0\n */\n debug?: true\n}\n\nexport const PoppyUi = {\n install(app: App, options: PluginOptions = {}) {\n app.provide(COMPONENT_SIZE, options?.size || 'md')\n\n for (const [componentName, componentConfig] of Object.entries(options?.components || {})) {\n const key = createComponentConfigKey(componentName as keyof PoppyComponentConfig)\n app.provide(key, componentConfig as never)\n }\n\n if (options?.debug) {\n window.__POPPY_UI_PLUGIN_OPTIONS__ = options\n console.log('Poppy UI Plugin Options:', options)\n }\n },\n} as Plugin<[PluginOptions?]>\n","import { PoppyUi } from './plugin-vue'\n\nexport default PoppyUi\nexport * from './components/actions/public.types'\nexport * from './components/data/public.types'\nexport * from './components/display/public.types'\nexport * from './components/feedback/public.types'\nexport * from './components/layout/public.types'\nexport * from './components/media/public.types'\nexport * from './components/navigation/public.types'\nexport * from './config/public.types'\nexport type { PluginOptions } from './plugin-vue'\n"],"mappings":"wICEA,IAAA,EAAe,CDsCb,QAAQ,EAAU,EAAyB,CAAC,EAAG,CAC7C,EAAI,QAAQ,EAAA,EAAgB,GAAS,MAAQ,IAAI,EAEjD,IAAK,GAAM,CAAC,EAAe,KAAoB,OAAO,QAAQ,GAAS,YAAc,CAAC,CAAC,EAAG,CACxF,IAAM,EAAM,EAAA,EAAyB,CAA2C,EAChF,EAAI,QAAQ,EAAK,CAAwB,CAC3C,CAEI,GAAS,QACX,OAAO,4BAA8B,EACrC,QAAQ,IAAI,2BAA4B,CAAO,EAEnD,CClDa"}
package/dist/style.css ADDED
@@ -0,0 +1,2 @@
1
+ .dropdown-trigger[data-v-44ca398b]{anchor-name:var(--d3d75078)}.dropdown[data-v-44ca398b]{position-anchor:var(--d3d75078)}.accordion-enter-active[data-v-b846d115],.accordion-leave-active[data-v-b846d115]{transition:max-height .2s,opacity .2s;overflow:hidden}.accordion-enter-from[data-v-b846d115],.accordion-leave-to[data-v-b846d115]{opacity:0;max-height:0!important}.field-message-enter-active[data-v-5c368088],.field-message-leave-active[data-v-5c368088]{transition:opacity .2s,transform .2s}.field-message-enter-from[data-v-5c368088],.field-message-leave-to[data-v-5c368088]{opacity:0;transform:translateY(-4px)}[data-v-3650afc1] .highlighted>a,[data-v-3650afc1] .highlighted>button{background-color:var(--color-base-200)}.select[data-v-3650afc1]{background-image:initial;background-position:initial;background-size:initial;background-repeat:initial}.anchor-trigger[data-v-3650afc1]{anchor-name:var(--v0593ec67)}.anchor-dropdown[data-v-3650afc1]{position-anchor:var(--v0593ec67);position-area:block-end center;position-try-fallbacks:flip-block, flip-inline;position-try-order:most-height;left:anchor(left);right:anchor(right);margin-block-start:4px}.dropdown-enter-active[data-v-3650afc1],.dropdown-leave-active[data-v-3650afc1]{transition:opacity .15s,transform .15s}.dropdown-enter-from[data-v-3650afc1],.dropdown-leave-to[data-v-3650afc1]{opacity:0;transform:translateY(-4px)}.slider-root[data-v-70f09f1a]{--slider-color:var(--color-base-content);--slider-track-h:.375rem;--slider-thumb-size:1.25rem;width:100%;height:calc(var(--slider-thumb-size) + .5rem);cursor:pointer;touch-action:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;align-items:center;display:flex;position:relative}.slider-root.slider--xs[data-v-70f09f1a]{--slider-track-h:.2rem;--slider-thumb-size:.75rem}.slider-root.slider--sm[data-v-70f09f1a]{--slider-track-h:.25rem;--slider-thumb-size:1rem}.slider-root.slider--md[data-v-70f09f1a]{--slider-track-h:.375rem;--slider-thumb-size:1.25rem}.slider-root.slider--lg[data-v-70f09f1a]{--slider-track-h:.5rem;--slider-thumb-size:1.625rem}.slider-root.slider--xl[data-v-70f09f1a]{--slider-track-h:.625rem;--slider-thumb-size:2rem}.slider-root.slider--neutral[data-v-70f09f1a]{--slider-color:var(--color-neutral)}.slider-root.slider--primary[data-v-70f09f1a]{--slider-color:var(--color-primary)}.slider-root.slider--secondary[data-v-70f09f1a]{--slider-color:var(--color-secondary)}.slider-root.slider--accent[data-v-70f09f1a]{--slider-color:var(--color-accent)}.slider-root.slider--info[data-v-70f09f1a]{--slider-color:var(--color-info)}.slider-root.slider--success[data-v-70f09f1a]{--slider-color:var(--color-success)}.slider-root.slider--warning[data-v-70f09f1a]{--slider-color:var(--color-warning)}.slider-root.slider--error[data-v-70f09f1a]{--slider-color:var(--color-error)}.slider-horizontal[data-v-70f09f1a]{width:100%}.slider-vertical[data-v-70f09f1a]{width:var(--slider-thumb-size);flex-direction:column;align-items:center;height:200px}.slider-disabled[data-v-70f09f1a]{cursor:not-allowed;opacity:.5}.slider-rail[data-v-70f09f1a]{width:100%;height:var(--slider-track-h);background-color:color-mix(in oklch, var(--slider-color) 20%, var(--color-base-200));pointer-events:none;border-radius:9999px;position:absolute}.slider-vertical .slider-rail[data-v-70f09f1a]{width:var(--slider-track-h);height:100%}.slider-track[data-v-70f09f1a]{height:var(--slider-track-h);background-color:var(--slider-color);pointer-events:none;border-radius:9999px;position:absolute}.slider-vertical .slider-track[data-v-70f09f1a]{width:var(--slider-track-h)}.slider-thumb[data-v-70f09f1a]{width:var(--slider-thumb-size);height:var(--slider-thumb-size);background-color:var(--color-base-100);border:2px solid var(--slider-color);cursor:pointer;z-index:2;pointer-events:auto;-webkit-user-select:none;user-select:none;border-radius:9999px;position:absolute;box-shadow:0 1px 3px #00000026;display:block!important}.slider-thumb[data-v-70f09f1a]:hover{transform:scale(1.1);box-shadow:0 2px 6px #0003}.slider-thumb[data-v-70f09f1a]:active{transform:scale(.95)}.slider-thumb[data-v-70f09f1a]:focus{outline:2px solid var(--slider-color);outline-offset:2px}.slider-disabled .slider-thumb[data-v-70f09f1a]{cursor:not-allowed;pointer-events:none;transform:none}.slider-value-label[data-v-70f09f1a]{background-color:var(--color-base-100);color:var(--color-base-content);white-space:nowrap;opacity:0;visibility:hidden;z-index:3;pointer-events:none;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:500;position:absolute}.slider-value-label-visible[data-v-70f09f1a]{opacity:1;visibility:visible}.tooltip-anchor[data-v-e6895ed4]{anchor-name:var(--v3d3c7c28);display:inline-block}.tooltip-popover[data-v-e6895ed4]{position-anchor:var(--v3d3c7c28);background:var(--color-base-300);color:var(--color-base-content);white-space:nowrap;inset:unset;border:none;border-radius:.25rem;margin:0;padding:.25rem .5rem;font-size:.875rem;position:fixed}.tooltip-popover.tooltip-top[data-v-e6895ed4]{bottom:calc(anchor(top) + .5rem);justify-self:anchor-center}.tooltip-popover.tooltip-bottom[data-v-e6895ed4]{top:calc(anchor(bottom) + .5rem);justify-self:anchor-center}.tooltip-popover.tooltip-left[data-v-e6895ed4]{right:calc(anchor(left) + .5rem);align-self:anchor-center}.tooltip-popover.tooltip-right[data-v-e6895ed4]{left:calc(anchor(right) + .5rem);align-self:anchor-center}.tooltip-popover.tooltip-neutral[data-v-e6895ed4]{background:var(--color-neutral);color:var(--color-neutral-content)}.tooltip-popover.tooltip-primary[data-v-e6895ed4]{background:var(--color-primary);color:var(--color-primary-content)}.tooltip-popover.tooltip-secondary[data-v-e6895ed4]{background:var(--color-secondary);color:var(--color-secondary-content)}.tooltip-popover.tooltip-accent[data-v-e6895ed4]{background:var(--color-accent);color:var(--color-accent-content)}.tooltip-popover.tooltip-info[data-v-e6895ed4]{background:var(--color-info);color:var(--color-info-content)}.tooltip-popover.tooltip-success[data-v-e6895ed4]{background:var(--color-success);color:var(--color-success-content)}.tooltip-popover.tooltip-warning[data-v-e6895ed4]{background:var(--color-warning);color:var(--color-warning-content)}.tooltip-popover.tooltip-error[data-v-e6895ed4]{background:var(--color-error);color:var(--color-error-content)}
2
+ /*$vite$:1*/
@@ -0,0 +1,2 @@
1
+ var e=Symbol(`pop-component--size`),t=new Map;function n(e){if(!t.has(e)){let n=Symbol(`config-${String(e)}`);t.set(e,n)}return t.get(e)}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return e}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
2
+ //# sourceMappingURL=symbol-Cleu4XHu.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-Cleu4XHu.cjs","names":[],"sources":["../src/config/size.context.ts","../src/config/symbol.ts"],"sourcesContent":["import type { ComponentSize } from '@/types/size.type'\nimport type { InjectionKey } from 'vue'\n\nexport const COMPONENT_SIZE = Symbol('pop-component--size') as InjectionKey<ComponentSize>\n","import type { PoppyComponentConfig } from '@/config/config.type'\nimport type { InjectionKey } from 'vue'\n\nconst knownComponentConfigKeys = new Map<keyof PoppyComponentConfig, InjectionKey<unknown>>()\n\nexport function createComponentConfigKey<K extends keyof PoppyComponentConfig>(name: K) {\n type Key = InjectionKey<Partial<PoppyComponentConfig[K]>>\n\n if (!knownComponentConfigKeys.has(name)) {\n const key = Symbol(`config-${String(name)}`) as Key\n knownComponentConfigKeys.set(name, key)\n }\n\n return knownComponentConfigKeys.get(name) as Key\n}\n"],"mappings":"AAGA,IAAa,EAAiB,OAAO,qBAAqB,ECApD,EAA2B,IAAI,IAErC,SAAgB,EAA+D,EAAS,CAGtF,GAAI,CAAC,EAAyB,IAAI,CAAI,EAAG,CACvC,IAAM,EAAM,OAAO,UAAU,OAAO,CAAI,GAAG,EAC3C,EAAyB,IAAI,EAAM,CAAG,CACxC,CAEA,OAAO,EAAyB,IAAI,CAAI,CAC1C"}
@@ -0,0 +1,13 @@
1
+ //#region src/config/size.context.ts
2
+ var e = Symbol("pop-component--size"), t = /* @__PURE__ */ new Map();
3
+ function n(e) {
4
+ if (!t.has(e)) {
5
+ let n = Symbol(`config-${String(e)}`);
6
+ t.set(e, n);
7
+ }
8
+ return t.get(e);
9
+ }
10
+ //#endregion
11
+ export { e as n, n as t };
12
+
13
+ //# sourceMappingURL=symbol-CziS7Pho.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"symbol-CziS7Pho.js","names":[],"sources":["../src/config/size.context.ts","../src/config/symbol.ts"],"sourcesContent":["import type { ComponentSize } from '@/types/size.type'\nimport type { InjectionKey } from 'vue'\n\nexport const COMPONENT_SIZE = Symbol('pop-component--size') as InjectionKey<ComponentSize>\n","import type { PoppyComponentConfig } from '@/config/config.type'\nimport type { InjectionKey } from 'vue'\n\nconst knownComponentConfigKeys = new Map<keyof PoppyComponentConfig, InjectionKey<unknown>>()\n\nexport function createComponentConfigKey<K extends keyof PoppyComponentConfig>(name: K) {\n type Key = InjectionKey<Partial<PoppyComponentConfig[K]>>\n\n if (!knownComponentConfigKeys.has(name)) {\n const key = Symbol(`config-${String(name)}`) as Key\n knownComponentConfigKeys.set(name, key)\n }\n\n return knownComponentConfigKeys.get(name) as Key\n}\n"],"mappings":";AAGA,IAAa,IAAiB,OAAO,qBAAqB,GCApD,oBAA2B,IAAI,IAAuD;AAE5F,SAAgB,EAA+D,GAAS;CAGtF,IAAI,CAAC,EAAyB,IAAI,CAAI,GAAG;EACvC,IAAM,IAAM,OAAO,UAAU,OAAO,CAAI,GAAG;EAC3C,EAAyB,IAAI,GAAM,CAAG;CACxC;CAEA,OAAO,EAAyB,IAAI,CAAI;AAC1C"}
@@ -0,0 +1,2 @@
1
+ var e=require("./symbol-Cleu4XHu.cjs").t(`toast`),t=Symbol(`toast`);Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return t}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return e}});
2
+ //# sourceMappingURL=toast.context-BNg0Zn09.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.context-BNg0Zn09.cjs","names":[],"sources":["../src/components/feedback/toast/toast.context.ts"],"sourcesContent":["import type { ToastItem } from '@/composables/use-toast'\nimport { createComponentConfigKey } from '@/config/symbol'\nimport type { InjectionKey } from 'vue'\n\nexport const TOAST_CONFIG = createComponentConfigKey('toast')\n\nexport type ToastContext = {\n push: (message: string, options?: Partial<Omit<ToastItem, 'id' | 'message'>>) => void\n dismiss: (id: number) => void\n}\n\nexport const TOAST_CONTEXT_KEY = Symbol('toast') as InjectionKey<ToastContext>\n"],"mappings":"AAIA,IAAa,iCAAe,EAAA,EAAyB,OAAO,EAO/C,EAAoB,OAAO,OAAO"}
@@ -0,0 +1,7 @@
1
+ import { t as e } from "./symbol-CziS7Pho.js";
2
+ //#region src/components/feedback/toast/toast.context.ts
3
+ var t = e("toast"), n = Symbol("toast");
4
+ //#endregion
5
+ export { n, t };
6
+
7
+ //# sourceMappingURL=toast.context-CTPY2imu.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"toast.context-CTPY2imu.js","names":[],"sources":["../src/components/feedback/toast/toast.context.ts"],"sourcesContent":["import type { ToastItem } from '@/composables/use-toast'\nimport { createComponentConfigKey } from '@/config/symbol'\nimport type { InjectionKey } from 'vue'\n\nexport const TOAST_CONFIG = createComponentConfigKey('toast')\n\nexport type ToastContext = {\n push: (message: string, options?: Partial<Omit<ToastItem, 'id' | 'message'>>) => void\n dismiss: (id: number) => void\n}\n\nexport const TOAST_CONTEXT_KEY = Symbol('toast') as InjectionKey<ToastContext>\n"],"mappings":";;AAIA,IAAa,IAAe,EAAyB,OAAO,GAO/C,IAAoB,OAAO,OAAO"}
@@ -0,0 +1,3 @@
1
+ export * from './size.type';
2
+ export * from './utils.type';
3
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/types/public.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA"}
File without changes
@@ -0,0 +1 @@
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});
@@ -0,0 +1,2 @@
1
+ export type ComponentSize = 'xs' | 'sm' | 'md' | 'lg' | 'xl';
2
+ //# sourceMappingURL=size.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"size.type.d.ts","sourceRoot":"","sources":["../../src/types/size.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,aAAa,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAA"}
@@ -0,0 +1,5 @@
1
+ export type ComponentClass<Prefix extends string, Keys extends string> = {
2
+ [K in Keys]: `${Prefix}-${K}`;
3
+ };
4
+ export type CounterFn = (current: number, min?: number, max?: number) => string;
5
+ //# sourceMappingURL=utils.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.type.d.ts","sourceRoot":"","sources":["../../src/types/utils.type.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,cAAc,CAAC,MAAM,SAAS,MAAM,EAAE,IAAI,SAAS,MAAM,IAAI;KACtE,CAAC,IAAI,IAAI,GAAG,GAAG,MAAM,IAAI,CAAC,EAAE;CAC9B,CAAA;AAED,MAAM,MAAM,SAAS,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,EAAE,MAAM,KAAK,MAAM,CAAA"}
@@ -0,0 +1,2 @@
1
+ const e=require("./symbol-Cleu4XHu.cjs");let t=require("vue");function n(...e){return e.reduce((e,t)=>{let n=Object.fromEntries(Object.entries(t).filter(([e,t])=>t!==void 0));return{...e,...n}},{})}function r(r,i,a,o){let s=(0,t.inject)(r,{}),c=(0,t.inject)(e.n,`md`);return(0,t.computed)(()=>n({size:c},a??{},s,o??{},i))}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return n}});
2
+ //# sourceMappingURL=use-component-config-C-IlXF0W.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-component-config-C-IlXF0W.cjs","names":[],"sources":["../src/composables/use-component-config.ts"],"sourcesContent":["import { COMPONENT_SIZE } from '@/config/size.context'\nimport { type ComputedRef, computed, type InjectionKey, inject } from 'vue'\n\n/**\n * Merges objects while ignoring `undefined` values, allowing lower-priority\n * configuration to remain in effect.\n *\n * Priority order (rightmost wins):\n * defaults → pluginConfig → contextOverrides (Form → FormField) → local props\n */\nexport function mergeProps<T extends Record<string, any>[]>(...objects: T): any {\n return objects.reduce((acc, curr) => {\n const cleanCurr = Object.fromEntries(Object.entries(curr).filter(([_, v]) => v !== undefined))\n return { ...acc, ...cleanCurr }\n }, {})\n}\n\n/**\n * Resolves the final config of a component by merging in the following order:\n *\n * 1. `defaults` — hardcoded component defaults (e.g. `{ size: 'md', counter: false }`)\n * 2. `pluginConfig` — inject(key) — global config provided via PoppyPlugin\n * 3. `contextOverrides` — values inherited from Form / FormField (passed explicitly)\n * 4. `props` — local props declared on the instance (highest priority)\n *\n * `undefined` values are ignored at each level, which allows `false` to correctly\n * override a parent value without `undefined` inadvertently clearing it.\n *\n * @param key - InjectionKey for the component's pluginConfig\n * @param props - Instance props (defineProps)\n * @param defaults - Hardcoded default values\n * @param contextOverrides - Values inherited from the Form/FormField context (optional)\n */\nexport function useComponentConfig<T extends Record<string, any>, P extends Record<string, any>>(\n key: InjectionKey<T>,\n props: P,\n defaults?: Partial<P & T>,\n contextOverrides?: Record<string, any>,\n): ComputedRef<P & T> {\n const pluginConfig = inject(key, {} as T)\n const globalSize = inject(COMPONENT_SIZE, 'md')\n\n return computed(() => mergeProps({ size: globalSize }, defaults ?? {}, pluginConfig, contextOverrides ?? {}, props))\n}\n"],"mappings":"8DAUA,SAAgB,EAA4C,GAAG,EAAiB,CAC9E,OAAO,EAAQ,QAAQ,EAAK,IAAS,CACnC,IAAM,EAAY,OAAO,YAAY,OAAO,QAAQ,CAAI,EAAE,QAAQ,CAAC,EAAG,KAAO,IAAM,IAAA,EAAS,CAAC,EAC7F,MAAO,CAAE,GAAG,EAAK,GAAG,CAAU,CAChC,EAAG,CAAC,CAAC,CACP,CAkBA,SAAgB,EACd,EACA,EACA,EACA,EACoB,CACpB,IAAM,GAAA,EAAA,EAAA,QAAsB,EAAK,CAAC,CAAM,EAClC,GAAA,EAAA,EAAA,QAAoB,EAAA,EAAgB,IAAI,EAE9C,OAAA,EAAA,EAAA,cAAsB,EAAW,CAAE,KAAM,CAAW,EAAG,GAAY,CAAC,EAAG,EAAc,GAAoB,CAAC,EAAG,CAAK,CAAC,CACrH"}
@@ -0,0 +1,20 @@
1
+ import { n as e } from "./symbol-CziS7Pho.js";
2
+ import { computed as t, inject as n } from "vue";
3
+ //#region src/composables/use-component-config.ts
4
+ function r(...e) {
5
+ return e.reduce((e, t) => {
6
+ let n = Object.fromEntries(Object.entries(t).filter(([e, t]) => t !== void 0));
7
+ return {
8
+ ...e,
9
+ ...n
10
+ };
11
+ }, {});
12
+ }
13
+ function i(i, a, o, s) {
14
+ let c = n(i, {}), l = n(e, "md");
15
+ return t(() => r({ size: l }, o ?? {}, c, s ?? {}, a));
16
+ }
17
+ //#endregion
18
+ export { i as n, r as t };
19
+
20
+ //# sourceMappingURL=use-component-config-CaJQbJOW.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-component-config-CaJQbJOW.js","names":[],"sources":["../src/composables/use-component-config.ts"],"sourcesContent":["import { COMPONENT_SIZE } from '@/config/size.context'\nimport { type ComputedRef, computed, type InjectionKey, inject } from 'vue'\n\n/**\n * Merges objects while ignoring `undefined` values, allowing lower-priority\n * configuration to remain in effect.\n *\n * Priority order (rightmost wins):\n * defaults → pluginConfig → contextOverrides (Form → FormField) → local props\n */\nexport function mergeProps<T extends Record<string, any>[]>(...objects: T): any {\n return objects.reduce((acc, curr) => {\n const cleanCurr = Object.fromEntries(Object.entries(curr).filter(([_, v]) => v !== undefined))\n return { ...acc, ...cleanCurr }\n }, {})\n}\n\n/**\n * Resolves the final config of a component by merging in the following order:\n *\n * 1. `defaults` — hardcoded component defaults (e.g. `{ size: 'md', counter: false }`)\n * 2. `pluginConfig` — inject(key) — global config provided via PoppyPlugin\n * 3. `contextOverrides` — values inherited from Form / FormField (passed explicitly)\n * 4. `props` — local props declared on the instance (highest priority)\n *\n * `undefined` values are ignored at each level, which allows `false` to correctly\n * override a parent value without `undefined` inadvertently clearing it.\n *\n * @param key - InjectionKey for the component's pluginConfig\n * @param props - Instance props (defineProps)\n * @param defaults - Hardcoded default values\n * @param contextOverrides - Values inherited from the Form/FormField context (optional)\n */\nexport function useComponentConfig<T extends Record<string, any>, P extends Record<string, any>>(\n key: InjectionKey<T>,\n props: P,\n defaults?: Partial<P & T>,\n contextOverrides?: Record<string, any>,\n): ComputedRef<P & T> {\n const pluginConfig = inject(key, {} as T)\n const globalSize = inject(COMPONENT_SIZE, 'md')\n\n return computed(() => mergeProps({ size: globalSize }, defaults ?? {}, pluginConfig, contextOverrides ?? {}, props))\n}\n"],"mappings":";;;AAUA,SAAgB,EAA4C,GAAG,GAAiB;CAC9E,OAAO,EAAQ,QAAQ,GAAK,MAAS;EACnC,IAAM,IAAY,OAAO,YAAY,OAAO,QAAQ,CAAI,EAAE,QAAQ,CAAC,GAAG,OAAO,MAAM,KAAA,CAAS,CAAC;EAC7F,OAAO;GAAE,GAAG;GAAK,GAAG;EAAU;CAChC,GAAG,CAAC,CAAC;AACP;AAkBA,SAAgB,EACd,GACA,GACA,GACA,GACoB;CACpB,IAAM,IAAe,EAAO,GAAK,CAAC,CAAM,GAClC,IAAa,EAAO,GAAgB,IAAI;CAE9C,OAAO,QAAe,EAAW,EAAE,MAAM,EAAW,GAAG,KAAY,CAAC,GAAG,GAAc,KAAoB,CAAC,GAAG,CAAK,CAAC;AACrH"}
@@ -0,0 +1,2 @@
1
+ const e=require("./symbol-Cleu4XHu.cjs");let t=require("vue"),n=require("vue-i18n");var r=Symbol(`FormFieldContext`);e.t(`formField`);function i(e,t){if(e.validity.valid)return null;let n=e.validity;return n.valueMissing?t(`common.validation.required`):n.typeMismatch?t(`common.validation.format.${e.getAttribute(`type`)||`default`}`,{},t(`common.validation.format.default`)):n.tooShort?t(`common.validation.minLength`,{min:e.getAttribute(`minLength`)||`0`}):n.tooLong?t(`common.validation.maxLength`,{max:e.getAttribute(`maxLength`)||`0`}):n.rangeUnderflow?t(`common.validation.min`,{min:e.getAttribute(`min`)||`0`}):n.rangeOverflow?t(`common.validation.max`,{max:e.getAttribute(`max`)||`0`}):n.patternMismatch?e.getAttribute(`title`)||t(`common.validation.pattern`):n.stepMismatch?t(`common.validation.stepMismatch`):n.badInput?t(`common.validation.badInput`):n.customError?e.validationMessage||t(`common.validation.customError`):e.validationMessage||null}function a(e){let{t:a}=(0,n.useI18n)(),o=(0,t.inject)(r,null);(0,t.onMounted)(()=>{o?.setRequired(e.required.value)}),(0,t.watch)(e.required,e=>{o?.setRequired(e)});let s=Symbol();(0,t.onMounted)(()=>{o&&o.registerValidator(s,()=>(o.setTouched(!0),u()))}),(0,t.onUnmounted)(()=>{o?.unregisterValidator(s)});let c=(0,t.computed)(()=>o?.value.value),l=(0,t.computed)(()=>{if(!o)return!1;let e=o.state.value;return e.hasError&&!e.isDirty});function u(){let t=e.inputEl?.value;if(!t||!o)return!0;let n=i(t,a);return o.setError(n??void 0),!n}function d(){o?.setTouched(!0),u()}function f(){o?.setError(void 0)}function p(t){let n=e.inputEl?.value;n&&n.setCustomValidity(t)}return{field:o,fieldValue:c,hasServerError:l,validate:u,onBlur:d,clearError:f,setDelegateMessage:p}}function o(e,n){return{counterText:(0,t.computed)(()=>!n.multiple?.value||!n.min?.value&&!n.max?.value?null:n.formatter?.value?n.formatter.value(e.value,n.min?.value,n.max?.value):n.max?.value?`${e.value} / ${n.max.value}`:`${e.value}`),counterColor:(0,t.computed)(()=>n.max?.value&&e.value>n.max.value?`text-error`:n.min?.value&&e.value<n.min.value?`text-warning`:`opacity-40`),isAtMax:(0,t.computed)(()=>!n.max?.value||!n.multiple?.value?!1:e.value>=n.max.value)}}Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return a}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return o}});
2
+ //# sourceMappingURL=use-select-counter-CgQha-_T.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-select-counter-CgQha-_T.cjs","names":[],"sources":["../src/components/data/form-field/form-field.context.ts","../src/utils/get-validation-message.ts","../src/composables/use-form-field.ts","../src/composables/use-select-counter.ts"],"sourcesContent":["import { createComponentConfigKey } from '@/config/symbol'\nimport type { ComputedRef, InjectionKey, ShallowRef } from 'vue'\nimport type { FieldState } from '../form/form.types'\n\nexport interface FormFieldContext<T = unknown> {\n /** Field name / dot-notation path — matches FormContext data keys. */\n name: string\n\n /**\n * Whether the child input is required.\n * Set by child inputs calling `setRequired()` on mount and on change.\n * Drives the \"*\" indicator on the FormField label.\n */\n required: ShallowRef<boolean>\n\n /** Current field value resolved from FormContext. */\n value: ComputedRef<T>\n\n /** Current field error resolved from FormContext. */\n error: ComputedRef<string | undefined>\n\n /** Current FieldState resolved from FormContext. */\n state: ComputedRef<FieldState>\n\n /**\n * Counter config — raw `boolean | undefined`.\n * `undefined` = no opinion; the input resolves final value via `mergeProps`.\n */\n counter: ShallowRef<boolean | undefined>\n counterFormat: ShallowRef<string | ((c: number, min?: number, max?: number) => string) | undefined>\n\n /**\n * Counter display — pushed up by child inputs so FormField can render\n * the counter on the same line as the error/hint.\n */\n counterText: ShallowRef<string>\n counterColor: ShallowRef<string>\n\n /** Updates the field value in FormContext. */\n setValue: (value: unknown) => void\n\n /** Called by child inputs to declare themselves required or not. */\n setRequired: (value: boolean) => void\n\n /** Marks the field dirty in FormContext. */\n setDirty: (value?: boolean) => void\n\n /** Marks the field touched in FormContext. */\n setTouched: (value?: boolean) => void\n\n /** Sets the field error in FormContext. */\n setError: (message: string | undefined) => void\n\n /** Called by child inputs to push counter text/color up to FormField for rendering. */\n setCounterText: (text: string, colorClass: string) => void\n\n /**\n * Registers a field-level validator with the parent Form.\n * Called by child inputs on mount via `useFormField`.\n * Key must be unique per input instance (use `Symbol()`).\n */\n registerValidator: (key: symbol, fn: () => boolean) => void\n\n /** Removes a previously registered field-level validator. */\n unregisterValidator: (key: symbol) => void\n}\n\nexport const FORM_FIELD_CONTEXT_KEY: InjectionKey<FormFieldContext> = Symbol('FormFieldContext')\n\n// Config key for global FormField plugin config\nexport const FORM_FIELD_CONFIG = createComponentConfigKey('formField')\n","type ValidationElement = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement\ntype ValidationAnyElement = HTMLElement & {\n validity: ValidityState\n checkValidity: () => boolean\n value: string\n getAttribute: (name: string) => string | null\n validationMessage: string\n}\n\n/**\n * Reads element's validity state and returns a localized validation message.\n * Returns null when element is valid.\n *\n * This is a factory function that takes a translation function (t) from vue-i18n.\n * The consumer is responsible for providing the translation function.\n *\n * @param el - The input/textarea/select element to check\n * @param t - Translation function from vue-i18n's useI18n()\n * @returns Localized error message or null if valid\n */\nexport function getValidationMessage(\n el: ValidationElement | ValidationAnyElement,\n t: (key: string, params?: Record<string, string | number>, fallback?: string) => string,\n): string | null {\n if (el.validity.valid) return null\n\n const validity = el.validity\n\n if (validity.valueMissing) return t('common.validation.required')\n if (validity.typeMismatch) {\n const type = el.getAttribute('type') || 'default'\n return t(`common.validation.format.${type}`, {}, t('common.validation.format.default'))\n }\n if (validity.tooShort) {\n const min = el.getAttribute('minLength')\n return t('common.validation.minLength', { min: min || '0' })\n }\n if (validity.tooLong) {\n const max = el.getAttribute('maxLength')\n return t('common.validation.maxLength', { max: max || '0' })\n }\n if (validity.rangeUnderflow) {\n const min = el.getAttribute('min')\n return t('common.validation.min', { min: min || '0' })\n }\n if (validity.rangeOverflow) {\n const max = el.getAttribute('max')\n return t('common.validation.max', { max: max || '0' })\n }\n if (validity.patternMismatch) {\n const title = el.getAttribute('title')\n if (title) return title\n return t('common.validation.pattern')\n }\n if (validity.stepMismatch) return t('common.validation.stepMismatch')\n if (validity.badInput) return t('common.validation.badInput')\n if (validity.customError) return el.validationMessage || t('common.validation.customError')\n\n // Fallback to browser's validation message\n return el.validationMessage || null\n}\n","import type { FormFieldContext } from '@/components/data/form-field/form-field.context'\nimport { FORM_FIELD_CONTEXT_KEY } from '@/components/data/form-field/form-field.context'\nimport { getValidationMessage } from '@/utils/get-validation-message'\nimport { type ComputedRef, computed, inject, onMounted, onUnmounted, type Ref, watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nexport interface UseFormFieldOptions {\n required: ComputedRef<boolean>\n inputEl?: Ref<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null>\n}\n\nexport interface UseFormFieldReturn<T> {\n /** The FormFieldContext when inside a <FormField>, null otherwise. */\n field: FormFieldContext<T> | null\n /** The current field value typed as T, or undefined when not in a FormField. */\n fieldValue: ComputedRef<T | undefined>\n /** True when the field has a server-side error set via setErrors(). */\n hasServerError: ComputedRef<boolean>\n /** Triggers HTML5 constraint validation on the input element. */\n validate: () => boolean\n /** To be called on the input's blur event — marks the field as touched. */\n onBlur: () => void\n /** Clears the current field error. */\n clearError: () => void\n /** Sets a custom validation message (delegates to el.setCustomValidity). */\n setDelegateMessage: (msg: string) => void\n}\n\nexport function useFormField<T = unknown>(options: UseFormFieldOptions): UseFormFieldReturn<T> {\n const { t } = useI18n()\n\n const field = inject(FORM_FIELD_CONTEXT_KEY, null) as FormFieldContext<T> | null\n\n // Signal required state to FormField on mount and on change\n onMounted(() => {\n field?.setRequired(options.required.value)\n })\n\n watch(options.required, val => {\n field?.setRequired(val)\n })\n\n // Register this input's validator with the parent Form so it runs on submit\n const validatorKey = Symbol()\n\n onMounted(() => {\n if (!field) return\n field.registerValidator(validatorKey, () => {\n field.setTouched(true)\n return validate()\n })\n })\n\n onUnmounted(() => {\n field?.unregisterValidator(validatorKey)\n })\n\n const fieldValue = computed<T | undefined>(() => field?.value.value as T | undefined)\n\n const hasServerError = computed<boolean>(() => {\n if (!field) return false\n const state = field.state.value\n return state.hasError && !state.isDirty\n })\n\n function validate(): boolean {\n const el = options.inputEl?.value\n if (!el || !field) return true\n\n const message = getValidationMessage(el, t)\n field.setError(message ?? undefined)\n return !message\n }\n\n function onBlur(): void {\n field?.setTouched(true)\n validate()\n }\n\n function clearError(): void {\n field?.setError(undefined)\n }\n\n function setDelegateMessage(msg: string): void {\n const el = options.inputEl?.value\n if (!el) return\n el.setCustomValidity(msg)\n }\n\n return {\n field,\n fieldValue,\n hasServerError,\n validate,\n onBlur,\n clearError,\n setDelegateMessage,\n }\n}\n","import type { CounterFn } from '@/types/utils.type'\nimport { computed, type Ref } from 'vue'\n\nexport function useSelectCounter(\n selectedCount: Ref<number>,\n options: {\n multiple?: Ref<boolean | undefined>\n min?: Ref<number | undefined>\n max?: Ref<number | undefined>\n formatter?: Ref<CounterFn | undefined>\n },\n) {\n const counterText = computed(() => {\n if (!options.multiple?.value) {\n return null\n }\n\n if (!options.min?.value && !options.max?.value) {\n return null\n }\n\n if (options.formatter?.value) {\n return options.formatter.value(selectedCount.value, options.min?.value, options.max?.value)\n }\n\n if (options.max?.value) {\n return `${selectedCount.value} / ${options.max.value}`\n }\n\n return `${selectedCount.value}`\n })\n\n const counterColor = computed(() => {\n if (options.max?.value && selectedCount.value > options.max.value) {\n return 'text-error'\n }\n\n if (options.min?.value && selectedCount.value < options.min.value) {\n return 'text-warning'\n }\n\n return 'opacity-40'\n })\n\n const isAtMax = computed(() => {\n if (!options.max?.value || !options.multiple?.value) {\n return false\n }\n\n return selectedCount.value >= options.max.value\n })\n\n return {\n counterText,\n counterColor,\n isAtMax,\n }\n}\n"],"mappings":"oFAmEA,IAAa,EAAyD,OAAO,kBAAkB,EAG9D,EAAA,EAAyB,WAAW,EClDrE,SAAgB,EACd,EACA,EACe,CACf,GAAI,EAAG,SAAS,MAAO,OAAO,KAE9B,IAAM,EAAW,EAAG,SAiCpB,OA/BI,EAAS,aAAqB,EAAE,4BAA4B,EAC5D,EAAS,aAEJ,EAAE,4BADI,EAAG,aAAa,MAAM,GAAK,YACK,CAAC,EAAG,EAAE,kCAAkC,CAAC,EAEpF,EAAS,SAEJ,EAAE,8BAA+B,CAAE,IAD9B,EAAG,aAAa,WACmB,GAAO,GAAI,CAAC,EAEzD,EAAS,QAEJ,EAAE,8BAA+B,CAAE,IAD9B,EAAG,aAAa,WACmB,GAAO,GAAI,CAAC,EAEzD,EAAS,eAEJ,EAAE,wBAAyB,CAAE,IADxB,EAAG,aAAa,KACa,GAAO,GAAI,CAAC,EAEnD,EAAS,cAEJ,EAAE,wBAAyB,CAAE,IADxB,EAAG,aAAa,KACa,GAAO,GAAI,CAAC,EAEnD,EAAS,gBACG,EAAG,aAAa,OAC1B,GACG,EAAE,2BAA2B,EAElC,EAAS,aAAqB,EAAE,gCAAgC,EAChE,EAAS,SAAiB,EAAE,4BAA4B,EACxD,EAAS,YAAoB,EAAG,mBAAqB,EAAE,+BAA+B,EAGnF,EAAG,mBAAqB,IACjC,CChCA,SAAgB,EAA0B,EAAqD,CAC7F,GAAM,CAAE,MAAA,EAAA,EAAA,SAAc,EAEhB,GAAA,EAAA,EAAA,QAAe,EAAwB,IAAI,GAGjD,EAAA,EAAA,eAAgB,CACd,GAAO,YAAY,EAAQ,SAAS,KAAK,CAC3C,CAAC,GAED,EAAA,EAAA,OAAM,EAAQ,SAAU,GAAO,CAC7B,GAAO,YAAY,CAAG,CACxB,CAAC,EAGD,IAAM,EAAe,OAAO,GAE5B,EAAA,EAAA,eAAgB,CACT,GACL,EAAM,kBAAkB,OACtB,EAAM,WAAW,EAAI,EACd,EAAS,EACjB,CACH,CAAC,GAED,EAAA,EAAA,iBAAkB,CAChB,GAAO,oBAAoB,CAAY,CACzC,CAAC,EAED,IAAM,GAAA,EAAA,EAAA,cAA2C,GAAO,MAAM,KAAsB,EAE9E,GAAA,EAAA,EAAA,cAAyC,CAC7C,GAAI,CAAC,EAAO,MAAO,GACnB,IAAM,EAAQ,EAAM,MAAM,MAC1B,OAAO,EAAM,UAAY,CAAC,EAAM,OAClC,CAAC,EAED,SAAS,GAAoB,CAC3B,IAAM,EAAK,EAAQ,SAAS,MAC5B,GAAI,CAAC,GAAM,CAAC,EAAO,MAAO,GAE1B,IAAM,EAAU,EAAqB,EAAI,CAAC,EAE1C,OADA,EAAM,SAAS,GAAW,IAAA,EAAS,EAC5B,CAAC,CACV,CAEA,SAAS,GAAe,CACtB,GAAO,WAAW,EAAI,EACtB,EAAS,CACX,CAEA,SAAS,GAAmB,CAC1B,GAAO,SAAS,IAAA,EAAS,CAC3B,CAEA,SAAS,EAAmB,EAAmB,CAC7C,IAAM,EAAK,EAAQ,SAAS,MACvB,GACL,EAAG,kBAAkB,CAAG,CAC1B,CAEA,MAAO,CACL,QACA,aACA,iBACA,WACA,SACA,aACA,oBACF,CACF,CC/FA,SAAgB,EACd,EACA,EAMA,CAyCA,MAAO,CACL,aAAA,EAAA,EAAA,cAxCI,CAAC,EAAQ,UAAU,OAInB,CAAC,EAAQ,KAAK,OAAS,CAAC,EAAQ,KAAK,MAChC,KAGL,EAAQ,WAAW,MACd,EAAQ,UAAU,MAAM,EAAc,MAAO,EAAQ,KAAK,MAAO,EAAQ,KAAK,KAAK,EAGxF,EAAQ,KAAK,MACR,GAAG,EAAc,MAAM,KAAK,EAAQ,IAAI,QAG1C,GAAG,EAAc,OAwBxB,EACA,cAAA,EAAA,EAAA,cArBI,EAAQ,KAAK,OAAS,EAAc,MAAQ,EAAQ,IAAI,MACnD,aAGL,EAAQ,KAAK,OAAS,EAAc,MAAQ,EAAQ,IAAI,MACnD,eAGF,YAaP,EACA,SAAA,EAAA,EAAA,cAVI,CAAC,EAAQ,KAAK,OAAS,CAAC,EAAQ,UAAU,MACrC,GAGF,EAAc,OAAS,EAAQ,IAAI,KAM1C,CACF,CACF"}
@@ -0,0 +1,72 @@
1
+ import { t as e } from "./symbol-CziS7Pho.js";
2
+ import { computed as t, inject as n, onMounted as r, onUnmounted as i, watch as a } from "vue";
3
+ import { useI18n as o } from "vue-i18n";
4
+ //#region src/components/data/form-field/form-field.context.ts
5
+ var s = Symbol("FormFieldContext");
6
+ e("formField");
7
+ //#endregion
8
+ //#region src/utils/get-validation-message.ts
9
+ function c(e, t) {
10
+ if (e.validity.valid) return null;
11
+ let n = e.validity;
12
+ return n.valueMissing ? t("common.validation.required") : n.typeMismatch ? t(`common.validation.format.${e.getAttribute("type") || "default"}`, {}, t("common.validation.format.default")) : n.tooShort ? t("common.validation.minLength", { min: e.getAttribute("minLength") || "0" }) : n.tooLong ? t("common.validation.maxLength", { max: e.getAttribute("maxLength") || "0" }) : n.rangeUnderflow ? t("common.validation.min", { min: e.getAttribute("min") || "0" }) : n.rangeOverflow ? t("common.validation.max", { max: e.getAttribute("max") || "0" }) : n.patternMismatch ? e.getAttribute("title") || t("common.validation.pattern") : n.stepMismatch ? t("common.validation.stepMismatch") : n.badInput ? t("common.validation.badInput") : n.customError ? e.validationMessage || t("common.validation.customError") : e.validationMessage || null;
13
+ }
14
+ //#endregion
15
+ //#region src/composables/use-form-field.ts
16
+ function l(e) {
17
+ let { t: l } = o(), u = n(s, null);
18
+ r(() => {
19
+ u?.setRequired(e.required.value);
20
+ }), a(e.required, (e) => {
21
+ u?.setRequired(e);
22
+ });
23
+ let d = Symbol();
24
+ r(() => {
25
+ u && u.registerValidator(d, () => (u.setTouched(!0), m()));
26
+ }), i(() => {
27
+ u?.unregisterValidator(d);
28
+ });
29
+ let f = t(() => u?.value.value), p = t(() => {
30
+ if (!u) return !1;
31
+ let e = u.state.value;
32
+ return e.hasError && !e.isDirty;
33
+ });
34
+ function m() {
35
+ let t = e.inputEl?.value;
36
+ if (!t || !u) return !0;
37
+ let n = c(t, l);
38
+ return u.setError(n ?? void 0), !n;
39
+ }
40
+ function h() {
41
+ u?.setTouched(!0), m();
42
+ }
43
+ function g() {
44
+ u?.setError(void 0);
45
+ }
46
+ function _(t) {
47
+ let n = e.inputEl?.value;
48
+ n && n.setCustomValidity(t);
49
+ }
50
+ return {
51
+ field: u,
52
+ fieldValue: f,
53
+ hasServerError: p,
54
+ validate: m,
55
+ onBlur: h,
56
+ clearError: g,
57
+ setDelegateMessage: _
58
+ };
59
+ }
60
+ //#endregion
61
+ //#region src/composables/use-select-counter.ts
62
+ function u(e, n) {
63
+ return {
64
+ counterText: t(() => !n.multiple?.value || !n.min?.value && !n.max?.value ? null : n.formatter?.value ? n.formatter.value(e.value, n.min?.value, n.max?.value) : n.max?.value ? `${e.value} / ${n.max.value}` : `${e.value}`),
65
+ counterColor: t(() => n.max?.value && e.value > n.max.value ? "text-error" : n.min?.value && e.value < n.min.value ? "text-warning" : "opacity-40"),
66
+ isAtMax: t(() => !n.max?.value || !n.multiple?.value ? !1 : e.value >= n.max.value)
67
+ };
68
+ }
69
+ //#endregion
70
+ export { l as n, s as r, u as t };
71
+
72
+ //# sourceMappingURL=use-select-counter-D_-Qwz61.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-select-counter-D_-Qwz61.js","names":[],"sources":["../src/components/data/form-field/form-field.context.ts","../src/utils/get-validation-message.ts","../src/composables/use-form-field.ts","../src/composables/use-select-counter.ts"],"sourcesContent":["import { createComponentConfigKey } from '@/config/symbol'\nimport type { ComputedRef, InjectionKey, ShallowRef } from 'vue'\nimport type { FieldState } from '../form/form.types'\n\nexport interface FormFieldContext<T = unknown> {\n /** Field name / dot-notation path — matches FormContext data keys. */\n name: string\n\n /**\n * Whether the child input is required.\n * Set by child inputs calling `setRequired()` on mount and on change.\n * Drives the \"*\" indicator on the FormField label.\n */\n required: ShallowRef<boolean>\n\n /** Current field value resolved from FormContext. */\n value: ComputedRef<T>\n\n /** Current field error resolved from FormContext. */\n error: ComputedRef<string | undefined>\n\n /** Current FieldState resolved from FormContext. */\n state: ComputedRef<FieldState>\n\n /**\n * Counter config — raw `boolean | undefined`.\n * `undefined` = no opinion; the input resolves final value via `mergeProps`.\n */\n counter: ShallowRef<boolean | undefined>\n counterFormat: ShallowRef<string | ((c: number, min?: number, max?: number) => string) | undefined>\n\n /**\n * Counter display — pushed up by child inputs so FormField can render\n * the counter on the same line as the error/hint.\n */\n counterText: ShallowRef<string>\n counterColor: ShallowRef<string>\n\n /** Updates the field value in FormContext. */\n setValue: (value: unknown) => void\n\n /** Called by child inputs to declare themselves required or not. */\n setRequired: (value: boolean) => void\n\n /** Marks the field dirty in FormContext. */\n setDirty: (value?: boolean) => void\n\n /** Marks the field touched in FormContext. */\n setTouched: (value?: boolean) => void\n\n /** Sets the field error in FormContext. */\n setError: (message: string | undefined) => void\n\n /** Called by child inputs to push counter text/color up to FormField for rendering. */\n setCounterText: (text: string, colorClass: string) => void\n\n /**\n * Registers a field-level validator with the parent Form.\n * Called by child inputs on mount via `useFormField`.\n * Key must be unique per input instance (use `Symbol()`).\n */\n registerValidator: (key: symbol, fn: () => boolean) => void\n\n /** Removes a previously registered field-level validator. */\n unregisterValidator: (key: symbol) => void\n}\n\nexport const FORM_FIELD_CONTEXT_KEY: InjectionKey<FormFieldContext> = Symbol('FormFieldContext')\n\n// Config key for global FormField plugin config\nexport const FORM_FIELD_CONFIG = createComponentConfigKey('formField')\n","type ValidationElement = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement\ntype ValidationAnyElement = HTMLElement & {\n validity: ValidityState\n checkValidity: () => boolean\n value: string\n getAttribute: (name: string) => string | null\n validationMessage: string\n}\n\n/**\n * Reads element's validity state and returns a localized validation message.\n * Returns null when element is valid.\n *\n * This is a factory function that takes a translation function (t) from vue-i18n.\n * The consumer is responsible for providing the translation function.\n *\n * @param el - The input/textarea/select element to check\n * @param t - Translation function from vue-i18n's useI18n()\n * @returns Localized error message or null if valid\n */\nexport function getValidationMessage(\n el: ValidationElement | ValidationAnyElement,\n t: (key: string, params?: Record<string, string | number>, fallback?: string) => string,\n): string | null {\n if (el.validity.valid) return null\n\n const validity = el.validity\n\n if (validity.valueMissing) return t('common.validation.required')\n if (validity.typeMismatch) {\n const type = el.getAttribute('type') || 'default'\n return t(`common.validation.format.${type}`, {}, t('common.validation.format.default'))\n }\n if (validity.tooShort) {\n const min = el.getAttribute('minLength')\n return t('common.validation.minLength', { min: min || '0' })\n }\n if (validity.tooLong) {\n const max = el.getAttribute('maxLength')\n return t('common.validation.maxLength', { max: max || '0' })\n }\n if (validity.rangeUnderflow) {\n const min = el.getAttribute('min')\n return t('common.validation.min', { min: min || '0' })\n }\n if (validity.rangeOverflow) {\n const max = el.getAttribute('max')\n return t('common.validation.max', { max: max || '0' })\n }\n if (validity.patternMismatch) {\n const title = el.getAttribute('title')\n if (title) return title\n return t('common.validation.pattern')\n }\n if (validity.stepMismatch) return t('common.validation.stepMismatch')\n if (validity.badInput) return t('common.validation.badInput')\n if (validity.customError) return el.validationMessage || t('common.validation.customError')\n\n // Fallback to browser's validation message\n return el.validationMessage || null\n}\n","import type { FormFieldContext } from '@/components/data/form-field/form-field.context'\nimport { FORM_FIELD_CONTEXT_KEY } from '@/components/data/form-field/form-field.context'\nimport { getValidationMessage } from '@/utils/get-validation-message'\nimport { type ComputedRef, computed, inject, onMounted, onUnmounted, type Ref, watch } from 'vue'\nimport { useI18n } from 'vue-i18n'\n\nexport interface UseFormFieldOptions {\n required: ComputedRef<boolean>\n inputEl?: Ref<HTMLInputElement | HTMLSelectElement | HTMLTextAreaElement | null>\n}\n\nexport interface UseFormFieldReturn<T> {\n /** The FormFieldContext when inside a <FormField>, null otherwise. */\n field: FormFieldContext<T> | null\n /** The current field value typed as T, or undefined when not in a FormField. */\n fieldValue: ComputedRef<T | undefined>\n /** True when the field has a server-side error set via setErrors(). */\n hasServerError: ComputedRef<boolean>\n /** Triggers HTML5 constraint validation on the input element. */\n validate: () => boolean\n /** To be called on the input's blur event — marks the field as touched. */\n onBlur: () => void\n /** Clears the current field error. */\n clearError: () => void\n /** Sets a custom validation message (delegates to el.setCustomValidity). */\n setDelegateMessage: (msg: string) => void\n}\n\nexport function useFormField<T = unknown>(options: UseFormFieldOptions): UseFormFieldReturn<T> {\n const { t } = useI18n()\n\n const field = inject(FORM_FIELD_CONTEXT_KEY, null) as FormFieldContext<T> | null\n\n // Signal required state to FormField on mount and on change\n onMounted(() => {\n field?.setRequired(options.required.value)\n })\n\n watch(options.required, val => {\n field?.setRequired(val)\n })\n\n // Register this input's validator with the parent Form so it runs on submit\n const validatorKey = Symbol()\n\n onMounted(() => {\n if (!field) return\n field.registerValidator(validatorKey, () => {\n field.setTouched(true)\n return validate()\n })\n })\n\n onUnmounted(() => {\n field?.unregisterValidator(validatorKey)\n })\n\n const fieldValue = computed<T | undefined>(() => field?.value.value as T | undefined)\n\n const hasServerError = computed<boolean>(() => {\n if (!field) return false\n const state = field.state.value\n return state.hasError && !state.isDirty\n })\n\n function validate(): boolean {\n const el = options.inputEl?.value\n if (!el || !field) return true\n\n const message = getValidationMessage(el, t)\n field.setError(message ?? undefined)\n return !message\n }\n\n function onBlur(): void {\n field?.setTouched(true)\n validate()\n }\n\n function clearError(): void {\n field?.setError(undefined)\n }\n\n function setDelegateMessage(msg: string): void {\n const el = options.inputEl?.value\n if (!el) return\n el.setCustomValidity(msg)\n }\n\n return {\n field,\n fieldValue,\n hasServerError,\n validate,\n onBlur,\n clearError,\n setDelegateMessage,\n }\n}\n","import type { CounterFn } from '@/types/utils.type'\nimport { computed, type Ref } from 'vue'\n\nexport function useSelectCounter(\n selectedCount: Ref<number>,\n options: {\n multiple?: Ref<boolean | undefined>\n min?: Ref<number | undefined>\n max?: Ref<number | undefined>\n formatter?: Ref<CounterFn | undefined>\n },\n) {\n const counterText = computed(() => {\n if (!options.multiple?.value) {\n return null\n }\n\n if (!options.min?.value && !options.max?.value) {\n return null\n }\n\n if (options.formatter?.value) {\n return options.formatter.value(selectedCount.value, options.min?.value, options.max?.value)\n }\n\n if (options.max?.value) {\n return `${selectedCount.value} / ${options.max.value}`\n }\n\n return `${selectedCount.value}`\n })\n\n const counterColor = computed(() => {\n if (options.max?.value && selectedCount.value > options.max.value) {\n return 'text-error'\n }\n\n if (options.min?.value && selectedCount.value < options.min.value) {\n return 'text-warning'\n }\n\n return 'opacity-40'\n })\n\n const isAtMax = computed(() => {\n if (!options.max?.value || !options.multiple?.value) {\n return false\n }\n\n return selectedCount.value >= options.max.value\n })\n\n return {\n counterText,\n counterColor,\n isAtMax,\n }\n}\n"],"mappings":";;;;AAmEA,IAAa,IAAyD,OAAO,kBAAkB;AAG9D,EAAyB,WAAW;;;AClDrE,SAAgB,EACd,GACA,GACe;CACf,IAAI,EAAG,SAAS,OAAO,OAAO;CAE9B,IAAM,IAAW,EAAG;CAiCpB,OA/BI,EAAS,eAAqB,EAAE,4BAA4B,IAC5D,EAAS,eAEJ,EAAE,4BADI,EAAG,aAAa,MAAM,KAAK,aACK,CAAC,GAAG,EAAE,kCAAkC,CAAC,IAEpF,EAAS,WAEJ,EAAE,+BAA+B,EAAE,KAD9B,EAAG,aAAa,WACmB,KAAO,IAAI,CAAC,IAEzD,EAAS,UAEJ,EAAE,+BAA+B,EAAE,KAD9B,EAAG,aAAa,WACmB,KAAO,IAAI,CAAC,IAEzD,EAAS,iBAEJ,EAAE,yBAAyB,EAAE,KADxB,EAAG,aAAa,KACa,KAAO,IAAI,CAAC,IAEnD,EAAS,gBAEJ,EAAE,yBAAyB,EAAE,KADxB,EAAG,aAAa,KACa,KAAO,IAAI,CAAC,IAEnD,EAAS,kBACG,EAAG,aAAa,OAC1B,KACG,EAAE,2BAA2B,IAElC,EAAS,eAAqB,EAAE,gCAAgC,IAChE,EAAS,WAAiB,EAAE,4BAA4B,IACxD,EAAS,cAAoB,EAAG,qBAAqB,EAAE,+BAA+B,IAGnF,EAAG,qBAAqB;AACjC;;;AChCA,SAAgB,EAA0B,GAAqD;CAC7F,IAAM,EAAE,SAAM,EAAQ,GAEhB,IAAQ,EAAO,GAAwB,IAAI;CAOjD,AAJA,QAAgB;EACd,GAAO,YAAY,EAAQ,SAAS,KAAK;CAC3C,CAAC,GAED,EAAM,EAAQ,WAAU,MAAO;EAC7B,GAAO,YAAY,CAAG;CACxB,CAAC;CAGD,IAAM,IAAe,OAAO;CAU5B,AARA,QAAgB;EACT,KACL,EAAM,kBAAkB,UACtB,EAAM,WAAW,EAAI,GACd,EAAS,EACjB;CACH,CAAC,GAED,QAAkB;EAChB,GAAO,oBAAoB,CAAY;CACzC,CAAC;CAED,IAAM,IAAa,QAA8B,GAAO,MAAM,KAAsB,GAE9E,IAAiB,QAAwB;EAC7C,IAAI,CAAC,GAAO,OAAO;EACnB,IAAM,IAAQ,EAAM,MAAM;EAC1B,OAAO,EAAM,YAAY,CAAC,EAAM;CAClC,CAAC;CAED,SAAS,IAAoB;EAC3B,IAAM,IAAK,EAAQ,SAAS;EAC5B,IAAI,CAAC,KAAM,CAAC,GAAO,OAAO;EAE1B,IAAM,IAAU,EAAqB,GAAI,CAAC;EAE1C,OADA,EAAM,SAAS,KAAW,KAAA,CAAS,GAC5B,CAAC;CACV;CAEA,SAAS,IAAe;EAEtB,AADA,GAAO,WAAW,EAAI,GACtB,EAAS;CACX;CAEA,SAAS,IAAmB;EAC1B,GAAO,SAAS,KAAA,CAAS;CAC3B;CAEA,SAAS,EAAmB,GAAmB;EAC7C,IAAM,IAAK,EAAQ,SAAS;EACvB,KACL,EAAG,kBAAkB,CAAG;CAC1B;CAEA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF;;;AC/FA,SAAgB,EACd,GACA,GAMA;CAyCA,OAAO;EACL,aAzCkB,QACd,CAAC,EAAQ,UAAU,SAInB,CAAC,EAAQ,KAAK,SAAS,CAAC,EAAQ,KAAK,QAChC,OAGL,EAAQ,WAAW,QACd,EAAQ,UAAU,MAAM,EAAc,OAAO,EAAQ,KAAK,OAAO,EAAQ,KAAK,KAAK,IAGxF,EAAQ,KAAK,QACR,GAAG,EAAc,MAAM,KAAK,EAAQ,IAAI,UAG1C,GAAG,EAAc,OAwBxB;EACA,cAtBmB,QACf,EAAQ,KAAK,SAAS,EAAc,QAAQ,EAAQ,IAAI,QACnD,eAGL,EAAQ,KAAK,SAAS,EAAc,QAAQ,EAAQ,IAAI,QACnD,iBAGF,YAaP;EACA,SAXc,QACV,CAAC,EAAQ,KAAK,SAAS,CAAC,EAAQ,UAAU,QACrC,KAGF,EAAc,SAAS,EAAQ,IAAI,KAM1C;CACF;AACF"}
@@ -0,0 +1,4 @@
1
+ import { ClassValue } from 'vue';
2
+ export declare function getClass<T extends string = string>(values: Record<T, string>, key: T | undefined): Record<T, string>[T] | undefined;
3
+ export declare function clsx(...inputs: ClassValue[]): string;
4
+ //# sourceMappingURL=build-class.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"build-class.util.d.ts","sourceRoot":"","sources":["../../src/utils/build-class.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,KAAK,CAAA;AAErC,wBAAgB,QAAQ,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,SAAS,oCAKhG;AAyBD,wBAAgB,IAAI,CAAC,GAAG,MAAM,EAAE,UAAU,EAAE,UAI3C"}
@@ -0,0 +1,22 @@
1
+ type ValidationElement = HTMLInputElement | HTMLTextAreaElement | HTMLSelectElement;
2
+ type ValidationAnyElement = HTMLElement & {
3
+ validity: ValidityState;
4
+ checkValidity: () => boolean;
5
+ value: string;
6
+ getAttribute: (name: string) => string | null;
7
+ validationMessage: string;
8
+ };
9
+ /**
10
+ * Reads element's validity state and returns a localized validation message.
11
+ * Returns null when element is valid.
12
+ *
13
+ * This is a factory function that takes a translation function (t) from vue-i18n.
14
+ * The consumer is responsible for providing the translation function.
15
+ *
16
+ * @param el - The input/textarea/select element to check
17
+ * @param t - Translation function from vue-i18n's useI18n()
18
+ * @returns Localized error message or null if valid
19
+ */
20
+ export declare function getValidationMessage(el: ValidationElement | ValidationAnyElement, t: (key: string, params?: Record<string, string | number>, fallback?: string) => string): string | null;
21
+ export {};
22
+ //# sourceMappingURL=get-validation-message.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-validation-message.d.ts","sourceRoot":"","sources":["../../src/utils/get-validation-message.ts"],"names":[],"mappings":"AAAA,KAAK,iBAAiB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,iBAAiB,CAAA;AACnF,KAAK,oBAAoB,GAAG,WAAW,GAAG;IACxC,QAAQ,EAAE,aAAa,CAAA;IACvB,aAAa,EAAE,MAAM,OAAO,CAAA;IAC5B,KAAK,EAAE,MAAM,CAAA;IACb,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;IAC7C,iBAAiB,EAAE,MAAM,CAAA;CAC1B,CAAA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,EAAE,EAAE,iBAAiB,GAAG,oBAAoB,EAC5C,CAAC,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,QAAQ,CAAC,EAAE,MAAM,KAAK,MAAM,GACtF,MAAM,GAAG,IAAI,CAqCf"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * Gets a value from an object using a dot-notation path.
3
+ * Supports nested objects and array indices.
4
+ *
5
+ * @example
6
+ * getByPath({ a: { b: 1 } }, 'a.b') // returns 1
7
+ * getByPath({ users: [{ name: 'John' }] }, 'users.0.name') // returns 'John'
8
+ */
9
+ export declare function getByPath(obj: Record<string, unknown>, path: string): unknown;
10
+ /**
11
+ * Sets a value in an object using a dot-notation path.
12
+ * Creates intermediate objects/arrays as needed.
13
+ * Supports nested objects and array indices.
14
+ *
15
+ * @example
16
+ * setByPath({}, 'a.b', 1) // returns { a: { b: 1 } }
17
+ * setByPath({ users: [] }, 'users.0.name', 'John') // returns { users: [{ name: 'John' }] }
18
+ */
19
+ export declare function setByPath(obj: Record<string, unknown>, path: string, value: unknown): void;
20
+ //# sourceMappingURL=path.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/utils/path.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAmB7E;AAED;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CA2C1F"}
@@ -0,0 +1,2 @@
1
+ export declare function mergeProps<T extends Record<string, any>, U extends Record<string, any>>(componentProps: T, config: U): T & U;
2
+ //# sourceMappingURL=props.util.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props.util.d.ts","sourceRoot":"","sources":["../../src/utils/props.util.ts"],"names":[],"mappings":"AAAA,wBAAgB,UAAU,CAAC,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EACrF,cAAc,EAAE,CAAC,EACjB,MAAM,EAAE,CAAC,GACR,CAAC,GAAG,CAAC,CAOP"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=public.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"public.d.ts","sourceRoot":"","sources":["../../src/utils/public.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAA"}
package/package.json ADDED
@@ -0,0 +1,138 @@
1
+ {
2
+ "name": "@poppy-ui/vue",
3
+ "version": "0.0.0-dev.36.93ba5b2",
4
+ "type": "module",
5
+ "repository": {
6
+ "url": "git+https://github.com/CheeseGrinder/poppy-ui.git"
7
+ },
8
+ "files": [
9
+ "dist",
10
+ "src"
11
+ ],
12
+ "sideEffects": [
13
+ "*.css",
14
+ "dist/style.css"
15
+ ],
16
+ "main": "./dist/public.umd.js",
17
+ "module": "./dist/public.es.js",
18
+ "types": "./dist/public.d.ts",
19
+ "exports": {
20
+ ".": {
21
+ "source": "./src/public.ts",
22
+ "types": "./dist/public.d.ts",
23
+ "import": "./dist/public.es.js",
24
+ "require": "./dist/public.umd.js"
25
+ },
26
+ "./style.css": "./dist/style.css",
27
+ "./components/actions": {
28
+ "source": "./src/components/actions/public.ts",
29
+ "types": "./dist/components/actions/public.d.ts",
30
+ "import": "./dist/components/actions/public.es.js",
31
+ "require": "./dist/components/actions/public.umd.js"
32
+ },
33
+ "./components/app": {
34
+ "source": "./src/components/app/public.ts",
35
+ "types": "./dist/components/app/public.d.ts",
36
+ "import": "./dist/components/app/public.es.js",
37
+ "require": "./dist/components/app/public.umd.js"
38
+ },
39
+ "./components/data": {
40
+ "source": "./src/components/data/public.ts",
41
+ "types": "./dist/components/data/public.d.ts",
42
+ "import": "./dist/components/data/public.es.js",
43
+ "require": "./dist/components/data/public.umd.js"
44
+ },
45
+ "./components/display": {
46
+ "source": "./src/components/display/public.ts",
47
+ "types": "./dist/components/display/public.d.ts",
48
+ "import": "./dist/components/display/public.es.js",
49
+ "require": "./dist/components/display/public.umd.js"
50
+ },
51
+ "./components/feedback": {
52
+ "source": "./src/components/feedback/public.ts",
53
+ "types": "./dist/components/feedback/public.d.ts",
54
+ "import": "./dist/components/feedback/public.es.js",
55
+ "require": "./dist/components/feedback/public.umd.js"
56
+ },
57
+ "./components/layout": {
58
+ "source": "./src/components/layout/public.ts",
59
+ "types": "./dist/components/layout/public.d.ts",
60
+ "import": "./dist/components/layout/public.es.js",
61
+ "require": "./dist/components/layout/public.umd.js"
62
+ },
63
+ "./components/media": {
64
+ "source": "./src/components/media/public.ts",
65
+ "types": "./dist/components/media/public.d.ts",
66
+ "import": "./dist/components/media/public.es.js",
67
+ "require": "./dist/components/media/public.umd.js"
68
+ },
69
+ "./components/navigation": {
70
+ "source": "./src/components/navigation/public.ts",
71
+ "types": "./dist/components/navigation/public.d.ts",
72
+ "import": "./dist/components/navigation/public.es.js",
73
+ "require": "./dist/components/navigation/public.umd.js"
74
+ },
75
+ "./config": {
76
+ "source": "./src/config/public.ts",
77
+ "types": "./dist/config/public.d.ts",
78
+ "import": "./dist/config/public.es.js",
79
+ "require": "./dist/config/public.umd.js"
80
+ },
81
+ "./composables": {
82
+ "source": "./src/composables/public.ts",
83
+ "types": "./dist/composables/public.d.ts",
84
+ "import": "./dist/composables/public.es.js",
85
+ "require": "./dist/composables/public.umd.js"
86
+ },
87
+ "./types": {
88
+ "source": "./src/types/public.ts",
89
+ "types": "./dist/types/public.d.ts",
90
+ "import": "./dist/types/public.es.js",
91
+ "require": "./dist/types/public.umd.js"
92
+ }
93
+ },
94
+ "scripts": {
95
+ "dev": "vite",
96
+ "build": "vue-tsc -b && vite build",
97
+ "preview": "vite preview",
98
+ "story:dev": "histoire dev",
99
+ "story:build": "histoire build",
100
+ "story:preview": "histoire preview",
101
+ "format": "biome format --fix",
102
+ "format:check": "biome format",
103
+ "lint": "biome lint --fix",
104
+ "lint:check": "biome lint",
105
+ "typecheck": "vue-tsc --build --force --noEmit"
106
+ },
107
+ "dependencies": {
108
+ "@lucide/vue": "^1.21.0",
109
+ "@tailwindcss/vite": "^4.3.1",
110
+ "tailwind-merge": "^3.6.0",
111
+ "tailwindcss": "^4.3.1",
112
+ "vue": "^3.5.38"
113
+ },
114
+ "devDependencies": {
115
+ "@biomejs/biome": "^2.5.0",
116
+ "@histoire/plugin-vue": "^1.0.0-beta.1",
117
+ "@intlify/unplugin-vue-i18n": "^11.2.4",
118
+ "@types/node": "^24.13.2",
119
+ "@vitejs/plugin-vue": "^6.0.7",
120
+ "@vitest/browser-playwright": "^4.1.9",
121
+ "@vitest/coverage-v8": "^4.1.9",
122
+ "@vue/tsconfig": "^0.9.1",
123
+ "@vueuse/core": "^14.3.0",
124
+ "daisyui": "^5.5.23",
125
+ "histoire": "^1.0.0-beta.1",
126
+ "lefthook": "^2.1.9",
127
+ "playwright": "^1.61.0",
128
+ "sass-embedded": "^1.100.0",
129
+ "typescript": "~6.0.3",
130
+ "vite": "^8.0.16",
131
+ "vite-plugin-dts": "^5.0.2",
132
+ "vite-plugin-vue-devtools": "^8.1.3",
133
+ "vitest": "^4.1.9",
134
+ "vue-i18n": "^11.4.6",
135
+ "vue-router": "^5.1.0",
136
+ "vue-tsc": "^3.3.5"
137
+ }
138
+ }
@@ -0,0 +1,42 @@
1
+ <script lang="ts">
2
+ import { defineComponent, h, type VNode } from 'vue'
3
+
4
+ export default defineComponent({
5
+ name: 'ClassWrapper',
6
+ props: {
7
+ class: {
8
+ type: String,
9
+ default: undefined,
10
+ },
11
+ as: {
12
+ type: String,
13
+ defauilt: undefined,
14
+ },
15
+ },
16
+ setup(props, { slots }) {
17
+ const formatChildren = (nodes: VNode[]): VNode[] => {
18
+ return nodes.flatMap(node => {
19
+ // Unwrap fragments
20
+ if (node.type === Symbol.for('v-fgt') && Array.isArray(node.children)) {
21
+ return formatChildren(node.children as VNode[])
22
+ }
23
+
24
+ // Render for plain text and function component
25
+ if (typeof node.type === 'function' || node.type === Symbol.for('v-txt')) {
26
+ return h(props.as || 'div', { class: props.class }, [node])
27
+ }
28
+
29
+ // Render everythings else
30
+ return h(node, {
31
+ class: [props.class, node.props?.class].filter(Boolean),
32
+ })
33
+ })
34
+ }
35
+
36
+ return () => {
37
+ const rawChildren = slots.default?.() || []
38
+ return formatChildren(rawChildren)
39
+ }
40
+ },
41
+ })
42
+ </script>