cornet-ui 0.1.0-beta.1

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 (383) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +95 -0
  3. package/components/Actions/du-button/du-button.types.ts +14 -0
  4. package/components/Actions/du-button/du-button.vue +149 -0
  5. package/components/Actions/du-dropdown/du-dropdown.types.ts +15 -0
  6. package/components/Actions/du-dropdown/du-dropdown.vue +75 -0
  7. package/components/Actions/du-fab/du-fab.types.ts +28 -0
  8. package/components/Actions/du-fab/du-fab.vue +270 -0
  9. package/components/Actions/du-modal/du-modal.types.ts +10 -0
  10. package/components/Actions/du-modal/du-modal.vue +123 -0
  11. package/components/Actions/du-swap/du-swap.types.ts +3 -0
  12. package/components/Actions/du-swap/du-swap.vue +68 -0
  13. package/components/DataDisplay/du-accordion/du-accordion-item.vue +37 -0
  14. package/components/DataDisplay/du-accordion/du-accordion.types.ts +15 -0
  15. package/components/DataDisplay/du-accordion/du-accordion.vue +73 -0
  16. package/components/DataDisplay/du-avatar/du-avatar.types.ts +59 -0
  17. package/components/DataDisplay/du-avatar/du-avatar.vue +139 -0
  18. package/components/DataDisplay/du-badge/du-badge.types.ts +21 -0
  19. package/components/DataDisplay/du-badge/du-badge.vue +81 -0
  20. package/components/DataDisplay/du-card/du-card.types.ts +18 -0
  21. package/components/DataDisplay/du-card/du-card.vue +86 -0
  22. package/components/DataDisplay/du-carousel/du-carousel-item.vue +11 -0
  23. package/components/DataDisplay/du-carousel/du-carousel.types.ts +15 -0
  24. package/components/DataDisplay/du-carousel/du-carousel.vue +46 -0
  25. package/components/DataDisplay/du-chat/du-chat-item.vue +56 -0
  26. package/components/DataDisplay/du-chat/du-chat.types.ts +31 -0
  27. package/components/DataDisplay/du-chat/du-chat.vue +71 -0
  28. package/components/DataDisplay/du-collapse/du-collapse.types.ts +15 -0
  29. package/components/DataDisplay/du-collapse/du-collapse.vue +59 -0
  30. package/components/DataDisplay/du-countdown/du-countdown-group.vue +88 -0
  31. package/components/DataDisplay/du-countdown/du-countdown.types.ts +15 -0
  32. package/components/DataDisplay/du-countdown/du-countdown.vue +180 -0
  33. package/components/DataDisplay/du-diff/du-diff.types.ts +9 -0
  34. package/components/DataDisplay/du-diff/du-diff.vue +44 -0
  35. package/components/DataDisplay/du-kbd/du-kbd.types.ts +9 -0
  36. package/components/DataDisplay/du-kbd/du-kbd.vue +21 -0
  37. package/components/DataDisplay/du-list/du-list-row.vue +12 -0
  38. package/components/DataDisplay/du-list/du-list.types.ts +3 -0
  39. package/components/DataDisplay/du-list/du-list.vue +11 -0
  40. package/components/DataDisplay/du-stat/du-stat.types.ts +12 -0
  41. package/components/DataDisplay/du-stat/du-stat.vue +28 -0
  42. package/components/DataDisplay/du-stats/du-stats.types.ts +3 -0
  43. package/components/DataDisplay/du-stats/du-stats.vue +91 -0
  44. package/components/DataDisplay/du-status/du-status.types.ts +21 -0
  45. package/components/DataDisplay/du-status/du-status.vue +51 -0
  46. package/components/DataDisplay/du-table/du-table-item.types.ts +6 -0
  47. package/components/DataDisplay/du-table/du-table-item.vue +24 -0
  48. package/components/DataDisplay/du-table/du-table.types.ts +26 -0
  49. package/components/DataDisplay/du-table/du-table.vue +125 -0
  50. package/components/DataDisplay/du-timeline/du-timeline-item.vue +85 -0
  51. package/components/DataDisplay/du-timeline/du-timeline.types.ts +22 -0
  52. package/components/DataDisplay/du-timeline/du-timeline.vue +138 -0
  53. package/components/DataInput/du-checkbox/du-checkbox.types.ts +17 -0
  54. package/components/DataInput/du-checkbox/du-checkbox.vue +40 -0
  55. package/components/DataInput/du-fieldset/du-fieldset.types.ts +4 -0
  56. package/components/DataInput/du-fieldset/du-fieldset.vue +16 -0
  57. package/components/DataInput/du-file-input/du-file-input.types.ts +29 -0
  58. package/components/DataInput/du-file-input/du-file-input.vue +31 -0
  59. package/components/DataInput/du-filter/du-filter.types.ts +30 -0
  60. package/components/DataInput/du-filter/du-filter.vue +47 -0
  61. package/components/DataInput/du-input-field/du-input-field.types.ts +43 -0
  62. package/components/DataInput/du-input-field/du-input-field.vue +47 -0
  63. package/components/DataInput/du-label/du-label.types.ts +3 -0
  64. package/components/DataInput/du-label/du-label.vue +28 -0
  65. package/components/DataInput/du-label-input-validator/du-label-input-validator.types.ts +7 -0
  66. package/components/DataInput/du-label-input-validator/du-label-input-validator.vue +51 -0
  67. package/components/DataInput/du-radio/du-radio.types.ts +15 -0
  68. package/components/DataInput/du-radio/du-radio.vue +27 -0
  69. package/components/DataInput/du-range/du-range.types.ts +18 -0
  70. package/components/DataInput/du-range/du-range.vue +60 -0
  71. package/components/DataInput/du-rating/du-rating-item.vue +65 -0
  72. package/components/DataInput/du-rating/du-rating.types.ts +46 -0
  73. package/components/DataInput/du-rating/du-rating.vue +127 -0
  74. package/components/DataInput/du-search/du-search.types.ts +44 -0
  75. package/components/DataInput/du-search/du-search.vue +425 -0
  76. package/components/DataInput/du-select/du-select.types.ts +31 -0
  77. package/components/DataInput/du-select/du-select.vue +384 -0
  78. package/components/DataInput/du-text-area/du-text-area.types.ts +11 -0
  79. package/components/DataInput/du-text-area/du-text-area.vue +41 -0
  80. package/components/Feedback/du-alert/du-alert.types.ts +16 -0
  81. package/components/Feedback/du-alert/du-alert.vue +113 -0
  82. package/components/Feedback/du-loading/du-loading.types.ts +11 -0
  83. package/components/Feedback/du-loading/du-loading.vue +33 -0
  84. package/components/Feedback/du-progress/du-progress.types.ts +8 -0
  85. package/components/Feedback/du-progress/du-progress.vue +23 -0
  86. package/components/Feedback/du-radial-progress/du-radial-progress.types.ts +9 -0
  87. package/components/Feedback/du-radial-progress/du-radial-progress.vue +64 -0
  88. package/components/Feedback/du-skeleton/du-skeleton.types.ts +3 -0
  89. package/components/Feedback/du-skeleton/du-skeleton.vue +11 -0
  90. package/components/Feedback/du-toast/du-toast.types.ts +11 -0
  91. package/components/Feedback/du-toast/du-toast.vue +54 -0
  92. package/components/Feedback/du-tooltip/du-tooltip.types.ts +12 -0
  93. package/components/Feedback/du-tooltip/du-tooltip.vue +55 -0
  94. package/components/Layout/du-drawer/du-drawer.types.ts +27 -0
  95. package/components/Layout/du-drawer/du-drawer.vue +224 -0
  96. package/components/Layout/du-join/du-join.types.ts +7 -0
  97. package/components/Layout/du-join/du-join.vue +31 -0
  98. package/components/Navigation/du-breadcrumbs/du-breadcrumbs.types.ts +13 -0
  99. package/components/Navigation/du-breadcrumbs/du-breadcrumbs.vue +79 -0
  100. package/components/Navigation/du-button-link/du-button-link.types.ts +17 -0
  101. package/components/Navigation/du-button-link/du-button-link.vue +77 -0
  102. package/components/Navigation/du-dock/du-dock.types.ts +19 -0
  103. package/components/Navigation/du-dock/du-dock.vue +73 -0
  104. package/components/Navigation/du-link/du-link.types.ts +7 -0
  105. package/components/Navigation/du-link/du-link.vue +25 -0
  106. package/components/Navigation/du-menu/du-menu-item.vue +160 -0
  107. package/components/Navigation/du-menu/du-menu.types.ts +33 -0
  108. package/components/Navigation/du-menu/du-menu.vue +87 -0
  109. package/components/Navigation/du-navbar/du-navbar.types.ts +3 -0
  110. package/components/Navigation/du-navbar/du-navbar.vue +21 -0
  111. package/components/Navigation/du-pagination/du-pagination.types.ts +30 -0
  112. package/components/Navigation/du-pagination/du-pagination.vue +186 -0
  113. package/components/Navigation/du-step-item/du-step-item.types.ts +9 -0
  114. package/components/Navigation/du-step-item/du-step-item.vue +46 -0
  115. package/components/Navigation/du-steps/du-steps.types.ts +20 -0
  116. package/components/Navigation/du-steps/du-steps.vue +85 -0
  117. package/components/Navigation/du-tabs/du-tabs.types.ts +25 -0
  118. package/components/Navigation/du-tabs/du-tabs.vue +96 -0
  119. package/composables/useSizeProps.ts +26 -0
  120. package/composables/useVariantProps.ts +18 -0
  121. package/dist/_virtual/_plugin-vue_export-helper.js +8 -0
  122. package/dist/components/Actions/du-button/du-button.js +5 -0
  123. package/dist/components/Actions/du-button/du-button.types.d.ts +4 -0
  124. package/dist/components/Actions/du-button/du-button.vue.d.ts +58 -0
  125. package/dist/components/Actions/du-button/du-button.vue_vue_type_script_setup_true_lang.js +98 -0
  126. package/dist/components/Actions/du-dropdown/du-dropdown.js +5 -0
  127. package/dist/components/Actions/du-dropdown/du-dropdown.types.d.ts +4 -0
  128. package/dist/components/Actions/du-dropdown/du-dropdown.vue.d.ts +33 -0
  129. package/dist/components/Actions/du-dropdown/du-dropdown.vue_vue_type_script_setup_true_lang.js +53 -0
  130. package/dist/components/Actions/du-fab/du-fab.js +5 -0
  131. package/dist/components/Actions/du-fab/du-fab.types.d.ts +24 -0
  132. package/dist/components/Actions/du-fab/du-fab.vue.d.ts +87 -0
  133. package/dist/components/Actions/du-fab/du-fab.vue_vue_type_script_setup_true_lang.js +204 -0
  134. package/dist/components/Actions/du-modal/du-modal.js +5 -0
  135. package/dist/components/Actions/du-modal/du-modal.types.d.ts +2 -0
  136. package/dist/components/Actions/du-modal/du-modal.vue.d.ts +48 -0
  137. package/dist/components/Actions/du-modal/du-modal.vue_vue_type_script_setup_true_lang.js +92 -0
  138. package/dist/components/Actions/du-swap/du-swap.js +5 -0
  139. package/dist/components/Actions/du-swap/du-swap.types.d.ts +2 -0
  140. package/dist/components/Actions/du-swap/du-swap.vue.d.ts +36 -0
  141. package/dist/components/Actions/du-swap/du-swap.vue_vue_type_script_setup_true_lang.js +61 -0
  142. package/dist/components/DataDisplay/du-accordion/du-accordion-item.js +5 -0
  143. package/dist/components/DataDisplay/du-accordion/du-accordion-item.vue.d.ts +24 -0
  144. package/dist/components/DataDisplay/du-accordion/du-accordion-item.vue_vue_type_script_setup_true_lang.js +31 -0
  145. package/dist/components/DataDisplay/du-accordion/du-accordion.js +5 -0
  146. package/dist/components/DataDisplay/du-accordion/du-accordion.types.d.ts +8 -0
  147. package/dist/components/DataDisplay/du-accordion/du-accordion.vue.d.ts +45 -0
  148. package/dist/components/DataDisplay/du-accordion/du-accordion.vue_vue_type_script_setup_true_lang.js +45 -0
  149. package/dist/components/DataDisplay/du-avatar/du-avatar.js +7 -0
  150. package/dist/components/DataDisplay/du-avatar/du-avatar.types.d.ts +12 -0
  151. package/dist/components/DataDisplay/du-avatar/du-avatar.vue.d.ts +38 -0
  152. package/dist/components/DataDisplay/du-avatar/du-avatar.vue_vue_type_script_setup_true_lang.js +57 -0
  153. package/dist/components/DataDisplay/du-avatar/du-avatar.vue_vue_type_style_index_0_scoped_fdc61ebe_lang.css +1 -0
  154. package/dist/components/DataDisplay/du-badge/du-badge.js +5 -0
  155. package/dist/components/DataDisplay/du-badge/du-badge.types.d.ts +4 -0
  156. package/dist/components/DataDisplay/du-badge/du-badge.vue.d.ts +32 -0
  157. package/dist/components/DataDisplay/du-badge/du-badge.vue_vue_type_script_setup_true_lang.js +54 -0
  158. package/dist/components/DataDisplay/du-card/du-card.js +5 -0
  159. package/dist/components/DataDisplay/du-card/du-card.types.d.ts +4 -0
  160. package/dist/components/DataDisplay/du-card/du-card.vue.d.ts +43 -0
  161. package/dist/components/DataDisplay/du-card/du-card.vue_vue_type_script_setup_true_lang.js +61 -0
  162. package/dist/components/DataDisplay/du-carousel/du-carousel-item.js +5 -0
  163. package/dist/components/DataDisplay/du-carousel/du-carousel-item.vue.d.ts +16 -0
  164. package/dist/components/DataDisplay/du-carousel/du-carousel-item.vue_vue_type_script_setup_true_lang.js +14 -0
  165. package/dist/components/DataDisplay/du-carousel/du-carousel.js +5 -0
  166. package/dist/components/DataDisplay/du-carousel/du-carousel.types.d.ts +9 -0
  167. package/dist/components/DataDisplay/du-carousel/du-carousel.vue.d.ts +27 -0
  168. package/dist/components/DataDisplay/du-carousel/du-carousel.vue_vue_type_script_setup_true_lang.js +46 -0
  169. package/dist/components/DataDisplay/du-chat/du-chat-item.js +5 -0
  170. package/dist/components/DataDisplay/du-chat/du-chat-item.vue.d.ts +32 -0
  171. package/dist/components/DataDisplay/du-chat/du-chat-item.vue_vue_type_script_setup_true_lang.js +36 -0
  172. package/dist/components/DataDisplay/du-chat/du-chat.js +5 -0
  173. package/dist/components/DataDisplay/du-chat/du-chat.types.d.ts +18 -0
  174. package/dist/components/DataDisplay/du-chat/du-chat.vue.d.ts +38 -0
  175. package/dist/components/DataDisplay/du-chat/du-chat.vue_vue_type_script_setup_true_lang.js +55 -0
  176. package/dist/components/DataDisplay/du-collapse/du-collapse.js +5 -0
  177. package/dist/components/DataDisplay/du-collapse/du-collapse.types.d.ts +8 -0
  178. package/dist/components/DataDisplay/du-collapse/du-collapse.vue.d.ts +33 -0
  179. package/dist/components/DataDisplay/du-collapse/du-collapse.vue_vue_type_script_setup_true_lang.js +36 -0
  180. package/dist/components/DataDisplay/du-countdown/du-countdown-group.js +5 -0
  181. package/dist/components/DataDisplay/du-countdown/du-countdown-group.vue.d.ts +23 -0
  182. package/dist/components/DataDisplay/du-countdown/du-countdown-group.vue_vue_type_script_setup_true_lang.js +83 -0
  183. package/dist/components/DataDisplay/du-countdown/du-countdown.js +5 -0
  184. package/dist/components/DataDisplay/du-countdown/du-countdown.types.d.ts +8 -0
  185. package/dist/components/DataDisplay/du-countdown/du-countdown.vue.d.ts +27 -0
  186. package/dist/components/DataDisplay/du-countdown/du-countdown.vue_vue_type_script_setup_true_lang.js +67 -0
  187. package/dist/components/DataDisplay/du-diff/du-diff.js +5 -0
  188. package/dist/components/DataDisplay/du-diff/du-diff.types.d.ts +2 -0
  189. package/dist/components/DataDisplay/du-diff/du-diff.vue.d.ts +25 -0
  190. package/dist/components/DataDisplay/du-diff/du-diff.vue_vue_type_script_setup_true_lang.js +33 -0
  191. package/dist/components/DataDisplay/du-kbd/du-kbd.js +5 -0
  192. package/dist/components/DataDisplay/du-kbd/du-kbd.types.d.ts +2 -0
  193. package/dist/components/DataDisplay/du-kbd/du-kbd.vue.d.ts +19 -0
  194. package/dist/components/DataDisplay/du-kbd/du-kbd.vue_vue_type_script_setup_true_lang.js +13 -0
  195. package/dist/components/DataDisplay/du-list/du-list-row.js +5 -0
  196. package/dist/components/DataDisplay/du-list/du-list-row.vue.d.ts +17 -0
  197. package/dist/components/DataDisplay/du-list/du-list-row.vue_vue_type_script_setup_true_lang.js +22 -0
  198. package/dist/components/DataDisplay/du-list/du-list.js +5 -0
  199. package/dist/components/DataDisplay/du-list/du-list.types.d.ts +3 -0
  200. package/dist/components/DataDisplay/du-list/du-list.vue.d.ts +14 -0
  201. package/dist/components/DataDisplay/du-list/du-list.vue_vue_type_script_setup_true_lang.js +12 -0
  202. package/dist/components/DataDisplay/du-stat/du-stat.js +5 -0
  203. package/dist/components/DataDisplay/du-stat/du-stat.types.d.ts +12 -0
  204. package/dist/components/DataDisplay/du-stat/du-stat.vue.d.ts +27 -0
  205. package/dist/components/DataDisplay/du-stat/du-stat.vue_vue_type_script_setup_true_lang.js +37 -0
  206. package/dist/components/DataDisplay/du-stats/du-stats.js +7 -0
  207. package/dist/components/DataDisplay/du-stats/du-stats.types.d.ts +2 -0
  208. package/dist/components/DataDisplay/du-stats/du-stats.vue.d.ts +40 -0
  209. package/dist/components/DataDisplay/du-stats/du-stats.vue_vue_type_script_setup_true_lang.js +67 -0
  210. package/dist/components/DataDisplay/du-stats/du-stats.vue_vue_type_style_index_0_scoped_db955aa9_lang.css +1 -0
  211. package/dist/components/DataDisplay/du-status/du-status.js +5 -0
  212. package/dist/components/DataDisplay/du-status/du-status.types.d.ts +4 -0
  213. package/dist/components/DataDisplay/du-status/du-status.vue.d.ts +16 -0
  214. package/dist/components/DataDisplay/du-status/du-status.vue_vue_type_script_setup_true_lang.js +54 -0
  215. package/dist/components/DataDisplay/du-table/du-table-item.js +5 -0
  216. package/dist/components/DataDisplay/du-table/du-table-item.types.d.ts +6 -0
  217. package/dist/components/DataDisplay/du-table/du-table-item.vue.d.ts +19 -0
  218. package/dist/components/DataDisplay/du-table/du-table-item.vue_vue_type_script_setup_true_lang.js +30 -0
  219. package/dist/components/DataDisplay/du-table/du-table.js +5 -0
  220. package/dist/components/DataDisplay/du-table/du-table.types.d.ts +23 -0
  221. package/dist/components/DataDisplay/du-table/du-table.vue.d.ts +42 -0
  222. package/dist/components/DataDisplay/du-table/du-table.vue_vue_type_script_setup_true_lang.js +75 -0
  223. package/dist/components/DataDisplay/du-timeline/du-timeline-item.js +5 -0
  224. package/dist/components/DataDisplay/du-timeline/du-timeline-item.vue.d.ts +34 -0
  225. package/dist/components/DataDisplay/du-timeline/du-timeline-item.vue_vue_type_script_setup_true_lang.js +51 -0
  226. package/dist/components/DataDisplay/du-timeline/du-timeline.js +5 -0
  227. package/dist/components/DataDisplay/du-timeline/du-timeline.types.d.ts +12 -0
  228. package/dist/components/DataDisplay/du-timeline/du-timeline.vue.d.ts +61 -0
  229. package/dist/components/DataDisplay/du-timeline/du-timeline.vue_vue_type_script_setup_true_lang.js +75 -0
  230. package/dist/components/DataInput/du-checkbox/du-checkbox.js +5 -0
  231. package/dist/components/DataInput/du-checkbox/du-checkbox.types.d.ts +14 -0
  232. package/dist/components/DataInput/du-checkbox/du-checkbox.vue.d.ts +19 -0
  233. package/dist/components/DataInput/du-checkbox/du-checkbox.vue_vue_type_script_setup_true_lang.js +47 -0
  234. package/dist/components/DataInput/du-fieldset/du-fieldset.js +5 -0
  235. package/dist/components/DataInput/du-fieldset/du-fieldset.types.d.ts +4 -0
  236. package/dist/components/DataInput/du-fieldset/du-fieldset.vue.d.ts +14 -0
  237. package/dist/components/DataInput/du-fieldset/du-fieldset.vue_vue_type_script_setup_true_lang.js +21 -0
  238. package/dist/components/DataInput/du-file-input/du-file-input.js +5 -0
  239. package/dist/components/DataInput/du-file-input/du-file-input.types.d.ts +10 -0
  240. package/dist/components/DataInput/du-file-input/du-file-input.vue.d.ts +9 -0
  241. package/dist/components/DataInput/du-file-input/du-file-input.vue_vue_type_script_setup_true_lang.js +34 -0
  242. package/dist/components/DataInput/du-filter/du-filter.js +5 -0
  243. package/dist/components/DataInput/du-filter/du-filter.types.d.ts +27 -0
  244. package/dist/components/DataInput/du-filter/du-filter.vue.d.ts +17 -0
  245. package/dist/components/DataInput/du-filter/du-filter.vue_vue_type_script_setup_true_lang.js +28 -0
  246. package/dist/components/DataInput/du-input-field/du-input-field.js +5 -0
  247. package/dist/components/DataInput/du-input-field/du-input-field.types.d.ts +26 -0
  248. package/dist/components/DataInput/du-input-field/du-input-field.vue.d.ts +21 -0
  249. package/dist/components/DataInput/du-input-field/du-input-field.vue_vue_type_script_setup_true_lang.js +76 -0
  250. package/dist/components/DataInput/du-label/du-label.js +5 -0
  251. package/dist/components/DataInput/du-label/du-label.types.d.ts +3 -0
  252. package/dist/components/DataInput/du-label/du-label.vue.d.ts +14 -0
  253. package/dist/components/DataInput/du-label/du-label.vue_vue_type_script_setup_true_lang.js +19 -0
  254. package/dist/components/DataInput/du-label-input-validator/du-label-input-validator.js +5 -0
  255. package/dist/components/DataInput/du-label-input-validator/du-label-input-validator.types.d.ts +5 -0
  256. package/dist/components/DataInput/du-label-input-validator/du-label-input-validator.vue.d.ts +37 -0
  257. package/dist/components/DataInput/du-label-input-validator/du-label-input-validator.vue_vue_type_script_setup_true_lang.js +90 -0
  258. package/dist/components/DataInput/du-radio/du-radio.js +5 -0
  259. package/dist/components/DataInput/du-radio/du-radio.types.d.ts +12 -0
  260. package/dist/components/DataInput/du-radio/du-radio.vue.d.ts +9 -0
  261. package/dist/components/DataInput/du-radio/du-radio.vue_vue_type_script_setup_true_lang.js +34 -0
  262. package/dist/components/DataInput/du-range/du-range.js +5 -0
  263. package/dist/components/DataInput/du-range/du-range.types.d.ts +15 -0
  264. package/dist/components/DataInput/du-range/du-range.vue.d.ts +20 -0
  265. package/dist/components/DataInput/du-range/du-range.vue_vue_type_script_setup_true_lang.js +52 -0
  266. package/dist/components/DataInput/du-rating/du-rating-item.js +5 -0
  267. package/dist/components/DataInput/du-rating/du-rating-item.vue.d.ts +15 -0
  268. package/dist/components/DataInput/du-rating/du-rating-item.vue_vue_type_script_setup_true_lang.js +57 -0
  269. package/dist/components/DataInput/du-rating/du-rating.js +5 -0
  270. package/dist/components/DataInput/du-rating/du-rating.types.d.ts +38 -0
  271. package/dist/components/DataInput/du-rating/du-rating.vue.d.ts +34 -0
  272. package/dist/components/DataInput/du-rating/du-rating.vue_vue_type_script_setup_true_lang.js +100 -0
  273. package/dist/components/DataInput/du-search/du-search.js +5 -0
  274. package/dist/components/DataInput/du-search/du-search.types.d.ts +40 -0
  275. package/dist/components/DataInput/du-search/du-search.vue.d.ts +52 -0
  276. package/dist/components/DataInput/du-search/du-search.vue_vue_type_script_setup_true_lang.js +270 -0
  277. package/dist/components/DataInput/du-select/du-select.js +7 -0
  278. package/dist/components/DataInput/du-select/du-select.types.d.ts +28 -0
  279. package/dist/components/DataInput/du-select/du-select.vue.d.ts +60 -0
  280. package/dist/components/DataInput/du-select/du-select.vue_vue_type_script_setup_true_lang.js +321 -0
  281. package/dist/components/DataInput/du-select/du-select.vue_vue_type_style_index_0_scoped_2bcf0acd_lang.css +1 -0
  282. package/dist/components/DataInput/du-text-area/du-text-area.js +5 -0
  283. package/dist/components/DataInput/du-text-area/du-text-area.types.d.ts +10 -0
  284. package/dist/components/DataInput/du-text-area/du-text-area.vue.d.ts +15 -0
  285. package/dist/components/DataInput/du-text-area/du-text-area.vue_vue_type_script_setup_true_lang.js +46 -0
  286. package/dist/components/Feedback/du-alert/du-alert.js +5 -0
  287. package/dist/components/Feedback/du-alert/du-alert.types.d.ts +14 -0
  288. package/dist/components/Feedback/du-alert/du-alert.vue.d.ts +25 -0
  289. package/dist/components/Feedback/du-alert/du-alert.vue_vue_type_script_setup_true_lang.js +94 -0
  290. package/dist/components/Feedback/du-loading/du-loading.js +5 -0
  291. package/dist/components/Feedback/du-loading/du-loading.types.d.ts +9 -0
  292. package/dist/components/Feedback/du-loading/du-loading.vue.d.ts +8 -0
  293. package/dist/components/Feedback/du-loading/du-loading.vue_vue_type_script_setup_true_lang.js +30 -0
  294. package/dist/components/Feedback/du-progress/du-progress.js +5 -0
  295. package/dist/components/Feedback/du-progress/du-progress.types.d.ts +7 -0
  296. package/dist/components/Feedback/du-progress/du-progress.vue.d.ts +9 -0
  297. package/dist/components/Feedback/du-progress/du-progress.vue_vue_type_script_setup_true_lang.js +29 -0
  298. package/dist/components/Feedback/du-radial-progress/du-radial-progress.js +7 -0
  299. package/dist/components/Feedback/du-radial-progress/du-radial-progress.types.d.ts +8 -0
  300. package/dist/components/Feedback/du-radial-progress/du-radial-progress.vue.d.ts +19 -0
  301. package/dist/components/Feedback/du-radial-progress/du-radial-progress.vue_vue_type_script_setup_true_lang.js +31 -0
  302. package/dist/components/Feedback/du-radial-progress/du-radial-progress.vue_vue_type_style_index_0_scoped_4d489040_lang.css +1 -0
  303. package/dist/components/Feedback/du-skeleton/du-skeleton.js +5 -0
  304. package/dist/components/Feedback/du-skeleton/du-skeleton.types.d.ts +3 -0
  305. package/dist/components/Feedback/du-skeleton/du-skeleton.vue.d.ts +14 -0
  306. package/dist/components/Feedback/du-skeleton/du-skeleton.vue_vue_type_script_setup_true_lang.js +12 -0
  307. package/dist/components/Feedback/du-toast/du-toast.js +5 -0
  308. package/dist/components/Feedback/du-toast/du-toast.types.d.ts +9 -0
  309. package/dist/components/Feedback/du-toast/du-toast.vue.d.ts +20 -0
  310. package/dist/components/Feedback/du-toast/du-toast.vue_vue_type_script_setup_true_lang.js +45 -0
  311. package/dist/components/Feedback/du-tooltip/du-tooltip.js +5 -0
  312. package/dist/components/Feedback/du-tooltip/du-tooltip.types.d.ts +10 -0
  313. package/dist/components/Feedback/du-tooltip/du-tooltip.vue.d.ts +22 -0
  314. package/dist/components/Feedback/du-tooltip/du-tooltip.vue_vue_type_script_setup_true_lang.js +44 -0
  315. package/dist/components/Layout/du-drawer/du-drawer.js +5 -0
  316. package/dist/components/Layout/du-drawer/du-drawer.types.d.ts +23 -0
  317. package/dist/components/Layout/du-drawer/du-drawer.vue.d.ts +58 -0
  318. package/dist/components/Layout/du-drawer/du-drawer.vue_vue_type_script_setup_true_lang.js +129 -0
  319. package/dist/components/Layout/du-join/du-join.js +5 -0
  320. package/dist/components/Layout/du-join/du-join.types.d.ts +6 -0
  321. package/dist/components/Layout/du-join/du-join.vue.d.ts +17 -0
  322. package/dist/components/Layout/du-join/du-join.vue_vue_type_script_setup_true_lang.js +24 -0
  323. package/dist/components/Navigation/du-breadcrumbs/du-breadcrumbs.js +7 -0
  324. package/dist/components/Navigation/du-breadcrumbs/du-breadcrumbs.types.d.ts +11 -0
  325. package/dist/components/Navigation/du-breadcrumbs/du-breadcrumbs.vue.d.ts +6 -0
  326. package/dist/components/Navigation/du-breadcrumbs/du-breadcrumbs.vue_vue_type_script_setup_true_lang.js +42 -0
  327. package/dist/components/Navigation/du-breadcrumbs/du-breadcrumbs.vue_vue_type_style_index_0_scoped_9364edec_lang.css +1 -0
  328. package/dist/components/Navigation/du-button-link/du-button-link.js +5 -0
  329. package/dist/components/Navigation/du-button-link/du-button-link.types.d.ts +16 -0
  330. package/dist/components/Navigation/du-button-link/du-button-link.vue.d.ts +27 -0
  331. package/dist/components/Navigation/du-button-link/du-button-link.vue_vue_type_script_setup_true_lang.js +71 -0
  332. package/dist/components/Navigation/du-dock/du-dock.js +5 -0
  333. package/dist/components/Navigation/du-dock/du-dock.types.d.ts +16 -0
  334. package/dist/components/Navigation/du-dock/du-dock.vue.d.ts +59 -0
  335. package/dist/components/Navigation/du-dock/du-dock.vue_vue_type_script_setup_true_lang.js +56 -0
  336. package/dist/components/Navigation/du-link/du-link.js +5 -0
  337. package/dist/components/Navigation/du-link/du-link.types.d.ts +6 -0
  338. package/dist/components/Navigation/du-link/du-link.vue.d.ts +18 -0
  339. package/dist/components/Navigation/du-link/du-link.vue_vue_type_script_setup_true_lang.js +28 -0
  340. package/dist/components/Navigation/du-menu/du-menu-item.js +5 -0
  341. package/dist/components/Navigation/du-menu/du-menu-item.vue.d.ts +17 -0
  342. package/dist/components/Navigation/du-menu/du-menu-item.vue_vue_type_script_setup_true_lang.js +186 -0
  343. package/dist/components/Navigation/du-menu/du-menu.js +6 -0
  344. package/dist/components/Navigation/du-menu/du-menu.types.d.ts +29 -0
  345. package/dist/components/Navigation/du-menu/du-menu.vue.d.ts +26 -0
  346. package/dist/components/Navigation/du-menu/du-menu.vue_vue_type_script_setup_true_lang.js +57 -0
  347. package/dist/components/Navigation/du-menu/du-menu.vue_vue_type_style_index_0_lang.css +1 -0
  348. package/dist/components/Navigation/du-navbar/du-navbar.js +5 -0
  349. package/dist/components/Navigation/du-navbar/du-navbar.types.d.ts +2 -0
  350. package/dist/components/Navigation/du-navbar/du-navbar.vue.d.ts +20 -0
  351. package/dist/components/Navigation/du-navbar/du-navbar.vue_vue_type_script_setup_true_lang.js +24 -0
  352. package/dist/components/Navigation/du-pagination/du-pagination.js +7 -0
  353. package/dist/components/Navigation/du-pagination/du-pagination.types.d.ts +29 -0
  354. package/dist/components/Navigation/du-pagination/du-pagination.vue.d.ts +51 -0
  355. package/dist/components/Navigation/du-pagination/du-pagination.vue_vue_type_script_setup_true_lang.js +156 -0
  356. package/dist/components/Navigation/du-pagination/du-pagination.vue_vue_type_style_index_0_scoped_7407b690_lang.css +1 -0
  357. package/dist/components/Navigation/du-step-item/du-step-item.js +5 -0
  358. package/dist/components/Navigation/du-step-item/du-step-item.types.d.ts +8 -0
  359. package/dist/components/Navigation/du-step-item/du-step-item.vue.d.ts +24 -0
  360. package/dist/components/Navigation/du-step-item/du-step-item.vue_vue_type_script_setup_true_lang.js +27 -0
  361. package/dist/components/Navigation/du-steps/du-steps.js +5 -0
  362. package/dist/components/Navigation/du-steps/du-steps.types.d.ts +17 -0
  363. package/dist/components/Navigation/du-steps/du-steps.vue.d.ts +40 -0
  364. package/dist/components/Navigation/du-steps/du-steps.vue_vue_type_script_setup_true_lang.js +44 -0
  365. package/dist/components/Navigation/du-tabs/du-tabs.js +5 -0
  366. package/dist/components/Navigation/du-tabs/du-tabs.types.d.ts +22 -0
  367. package/dist/components/Navigation/du-tabs/du-tabs.vue.d.ts +50 -0
  368. package/dist/components/Navigation/du-tabs/du-tabs.vue_vue_type_script_setup_true_lang.js +76 -0
  369. package/dist/composables/useSizeProps.d.ts +15 -0
  370. package/dist/composables/useSizeProps.js +22 -0
  371. package/dist/composables/useVariantProps.d.ts +14 -0
  372. package/dist/composables/useVariantProps.js +7 -0
  373. package/dist/index.d.ts +66 -0
  374. package/dist/index.js +65 -0
  375. package/dist/plugin-vite.d.ts +64 -0
  376. package/dist/plugin-vite.js +137 -0
  377. package/dist/types/index.d.ts +58 -0
  378. package/index.css +5 -0
  379. package/index.ts +69 -0
  380. package/package.json +99 -0
  381. package/plugin-vite.ts +286 -0
  382. package/types/index.ts +59 -0
  383. package/types/types.sh +80 -0
@@ -0,0 +1,138 @@
1
+ <script setup lang="ts">
2
+ import { computed } from "vue"
3
+ import { type TIMELINEDirection, type TIMELINEModifier, type TIMELINEItem } from './du-timeline.types'
4
+
5
+ const props = withDefaults(
6
+ defineProps<{
7
+ items?: TIMELINEItem[]
8
+ direction?: TIMELINEDirection
9
+ modifier?: TIMELINEModifier
10
+ customClass?: string
11
+ responsive?: boolean
12
+ validItems?: (boolean | undefined)[]
13
+ hrClasses?: string[]
14
+ }>(),
15
+ {
16
+ items: undefined,
17
+ direction: "timeline-vertical",
18
+ modifier: undefined,
19
+ customClass: "",
20
+ responsive: false,
21
+ validItems: undefined,
22
+ hrClasses: undefined,
23
+ },
24
+ )
25
+
26
+ const timelineClasses = computed(() => {
27
+ const classes = ["timeline", props.direction]
28
+
29
+ if (props.modifier) {
30
+ classes.push(props.modifier)
31
+ }
32
+
33
+ if (props.customClass) {
34
+ classes.push(props.customClass)
35
+ }
36
+
37
+ if (props.responsive) {
38
+ classes.push("lg:timeline-horizontal")
39
+ }
40
+
41
+ return classes
42
+ })
43
+
44
+ const getLineClass = (index: number): string => {
45
+ if (props.items && props.items[index] && props.items[index].hrClass) {
46
+ return props.items[index].hrClass || ""
47
+ }
48
+
49
+ if (props.hrClasses && props.hrClasses[index]) {
50
+ return props.hrClasses[index]
51
+ }
52
+
53
+ if (props.validItems && props.validItems[index] !== undefined) {
54
+ return props.validItems[index] === true ? "bg-success" : props.validItems[index] === false ? "bg-error" : ""
55
+ }
56
+
57
+ if (
58
+ props.items &&
59
+ props.items[index] &&
60
+ props.items[index].valid !== undefined
61
+ ) {
62
+ return props.items[index].valid === true ? "bg-success" : props.items[index].valid === false ? "bg-error" : ""
63
+ }
64
+
65
+ return ""
66
+ }
67
+ </script>
68
+
69
+ <template>
70
+ <ul :class="timelineClasses">
71
+ <!-- Dynamic items mode -->
72
+ <template v-if="items">
73
+ <li v-for="(item, index) in items" :key="index" :class="item.customClass">
74
+ <hr v-if="index != 0" :class="getLineClass(index - 1)" />
75
+
76
+ <div
77
+ v-if="item.start || $slots[`start-${index}`]"
78
+ class="timeline-start"
79
+ >
80
+ <slot :name="`start-${index}`" :item="item" :index="index">
81
+ <slot name="start" :item="item" :index="index">
82
+ {{ item.start }}
83
+ </slot>
84
+ </slot>
85
+ </div>
86
+ <div class="timeline-middle">
87
+ <slot :name="`middle-${index}`" :item="item" :index="index">
88
+ <slot name="middle" :item="item" :index="index">
89
+ <template v-if="item.middle">{{ item.middle }}</template>
90
+ <template v-else>
91
+ <svg
92
+ xmlns="http://www.w3.org/2000/svg"
93
+ viewBox="0 0 20 20"
94
+ fill="currentColor"
95
+ :class="[
96
+ 'w-5 h-5',
97
+ item.valid === true
98
+ ? 'text-success'
99
+ : item.valid === false
100
+ ? 'text-error'
101
+ : validItems && validItems[index] === true
102
+ ? 'text-success'
103
+ : validItems && validItems[index] === false
104
+ ? 'text-error'
105
+ : '',
106
+ ]"
107
+ >
108
+ <path
109
+ fill-rule="evenodd"
110
+ d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z"
111
+ clip-rule="evenodd"
112
+ />
113
+ </svg>
114
+ </template>
115
+ </slot>
116
+ </slot>
117
+ </div>
118
+ <div
119
+ v-if="item.end || $slots[`end-${index}`]"
120
+ class="timeline-end"
121
+ :class="{ 'timeline-box': modifier === 'timeline-box' || true }"
122
+ >
123
+ <slot :name="`end-${index}`" :item="item" :index="index">
124
+ <slot name="end" :item="item" :index="index">
125
+ {{ item.end }}
126
+ </slot>
127
+ </slot>
128
+ </div>
129
+ <hr v-if="index < items.length - 1" :class="getLineClass(index)" />
130
+ </li>
131
+ </template>
132
+
133
+ <!-- Manual mode -->
134
+ <template v-else>
135
+ <slot></slot>
136
+ </template>
137
+ </ul>
138
+ </template>
@@ -0,0 +1,17 @@
1
+ import { type Variant } from "../../../composables/useVariantProps"
2
+ import { type Size } from "../../../composables/useSizeProps"
3
+
4
+ export const CHECKBOX_VARIANTS = ['default', 'checkbox-primary', 'checkbox-secondary', 'checkbox-accent', 'checkbox-info', 'checkbox-success', 'checkbox-warning', 'checkbox-error'] as const
5
+ export const CHECKBOX_SIZES = ['default', 'checkbox-xs', 'checkbox-sm', 'checkbox-md', 'checkbox-lg', 'checkbox-xl'] as const
6
+
7
+ export type CHECKBOXVariant = (typeof CHECKBOX_VARIANTS)[number]
8
+ export type CHECKBOXSize = (typeof CHECKBOX_SIZES)[number]
9
+
10
+ export interface CHECKBOXProps {
11
+ modelValue?: boolean
12
+ checked?: boolean
13
+ disabled?: boolean
14
+ indeterminate?: boolean
15
+ variant?: Variant
16
+ size?: Size
17
+ }
@@ -0,0 +1,40 @@
1
+ <script setup lang="ts">
2
+ import { type CHECKBOXProps } from './du-checkbox.types'
3
+ import { useVariantMapping } from "../../../composables/useVariantProps"
4
+ import { useSizeMapping } from "../../../composables/useSizeProps"
5
+ import { onMounted, ref } from "vue"
6
+
7
+ const model = defineModel()
8
+
9
+ const props = withDefaults(
10
+ defineProps<CHECKBOXProps>(),
11
+ {
12
+ checked: false,
13
+ disabled: false,
14
+ indeterminate: false,
15
+ variant: "default",
16
+ size: "default",
17
+ },
18
+ )
19
+
20
+ const currentCheckbox = ref()
21
+
22
+ const { colorClass } = useVariantMapping(props, "checkbox")
23
+ const { sizeClass } = useSizeMapping(props, "checkbox")
24
+
25
+ onMounted(() => {
26
+ if (props.indeterminate) {
27
+ currentCheckbox.value.indeterminate = true
28
+ }
29
+ })
30
+ </script>
31
+
32
+ <template>
33
+ <input
34
+ ref="currentCheckbox"
35
+ type="checkbox"
36
+ v-model="model"
37
+ :disabled="disabled"
38
+ :class="['checkbox', colorClass, sizeClass]"
39
+ />
40
+ </template>
@@ -0,0 +1,4 @@
1
+ export interface FIELDSETProps {
2
+ legend?: string
3
+ label?: string
4
+ }
@@ -0,0 +1,16 @@
1
+ <script setup lang="ts">
2
+ import { type FIELDSETProps } from './du-fieldset.types'
3
+
4
+ withDefaults(
5
+ defineProps<FIELDSETProps>(),
6
+ {},
7
+ )
8
+ </script>
9
+
10
+ <template>
11
+ <fieldset class="fieldset">
12
+ <legend class="fieldset-legend">{{ legend }}</legend>
13
+ <slot />
14
+ <p class="fieldset-label" v-if="label">{{ label }}</p>
15
+ </fieldset>
16
+ </template>
@@ -0,0 +1,29 @@
1
+ import { type Variant } from "../../../composables/useVariantProps"
2
+ import { type Size } from "../../../composables/useSizeProps"
3
+
4
+ export interface FILEINPUTProps {
5
+ disabled?: boolean
6
+ variant?: Variant
7
+ size?: Size
8
+ ghost?: boolean
9
+ }
10
+
11
+ export const FILEINPUT_SIZES = [
12
+ 'file-input-xs',
13
+ 'file-input-sm',
14
+ 'file-input-md',
15
+ 'file-input-lg',
16
+ 'file-input-xl',
17
+ ] as const
18
+
19
+ export const FILEINPUT_VARIANTS = [
20
+ 'file-input-primary',
21
+ 'file-input-secondary',
22
+ 'file-input-accent',
23
+ 'file-input-neutral',
24
+ 'file-input-info',
25
+ 'file-input-success',
26
+ 'file-input-warning',
27
+ 'file-input-error',
28
+ ] as const
29
+
@@ -0,0 +1,31 @@
1
+ <script setup lang="ts">
2
+ import { type FILEINPUTProps } from './du-file-input.types'
3
+ import { useVariantMapping } from "../../../composables/useVariantProps"
4
+ import { useSizeMapping } from "../../../composables/useSizeProps"
5
+ import { computed } from "vue"
6
+
7
+ const props = withDefaults(
8
+ defineProps<FILEINPUTProps>(),
9
+ {
10
+ disabled: false,
11
+ variant: "default",
12
+ size: "default",
13
+ ghost: false,
14
+ },
15
+ )
16
+
17
+ const ghostClass = computed(() => {
18
+ return props.ghost ? "file-input-ghost" : ""
19
+ })
20
+
21
+ const { colorClass } = useVariantMapping(props, "file-input")
22
+ const { sizeClass } = useSizeMapping(props, "file-input")
23
+ </script>
24
+
25
+ <template>
26
+ <input
27
+ type="file"
28
+ :disabled="disabled"
29
+ :class="['file-input', colorClass, sizeClass, ghostClass]"
30
+ />
31
+ </template>
@@ -0,0 +1,30 @@
1
+ import { type Variant } from "../../../composables/useVariantProps";
2
+ import { type Size } from "../../../composables/useSizeProps";
3
+
4
+ export interface FilterButtonArgs {
5
+ variant?: Variant;
6
+ size?: Size;
7
+ outline?: boolean;
8
+ soft?: boolean;
9
+ dash?: boolean;
10
+ active?: boolean;
11
+ ghost?: boolean;
12
+ link?: boolean;
13
+ wide?: boolean;
14
+ disabled?: boolean;
15
+ square?: boolean;
16
+ circle?: boolean;
17
+ }
18
+
19
+ export interface FilterItem {
20
+ title?: string;
21
+ checked?: boolean;
22
+ customClass?: string;
23
+ buttonsArgs?: FilterButtonArgs;
24
+ }
25
+
26
+ export interface FilterProps {
27
+ items?: FilterItem[];
28
+ name?: string;
29
+ buttonsArgs?: FilterButtonArgs;
30
+ }
@@ -0,0 +1,47 @@
1
+ <script setup lang="ts">
2
+ import { computed, provide } from "vue";
3
+ import DuButton from "../../Actions/du-button/du-button.vue";
4
+ import { type FilterProps } from "./du-filter.types";
5
+
6
+ const props = withDefaults(
7
+ defineProps<FilterProps>(),
8
+ {
9
+ items: undefined,
10
+ name: undefined,
11
+ },
12
+ );
13
+
14
+ const filterName = computed(() => {
15
+ return props.name || `filter-${Math.random().toString(36).substring(2, 9)}`;
16
+ });
17
+
18
+ provide("filterName", filterName);
19
+ </script>
20
+
21
+ <template>
22
+ <div class="filter">
23
+ <DuButton
24
+ customClass="btn filter-reset"
25
+ v-bind="props.buttonsArgs"
26
+ :checked="true"
27
+ label="×"
28
+ />
29
+
30
+ <!-- Dynamic items mode -->
31
+ <template v-if="items">
32
+ <DuButton
33
+ v-for="(item, index) in items"
34
+ :key="index"
35
+ v-bind="props.buttonsArgs || item.buttonsArgs"
36
+ :class="[item.customClass]"
37
+ :checked="item.checked"
38
+ :aria-label="item.title"
39
+ />
40
+ </template>
41
+
42
+ <!-- Manual mode -->
43
+ <template v-else>
44
+ <slot></slot>
45
+ </template>
46
+ </div>
47
+ </template>
@@ -0,0 +1,43 @@
1
+ import { type Size } from "../../../composables/useSizeProps"
2
+ import { type Variant } from "../../../composables/useVariantProps"
3
+
4
+ export const INPUTFIELD_VARIANTS = ['default', 'input-primary', 'input-secondary', 'input-accent', 'input-info', 'input-success', 'input-warning', 'input-error'] as const
5
+ export const INPUTFIELD_SIZES = ['default', 'input-xs', 'input-sm', 'input-md', 'input-lg', 'input-xl'] as const
6
+
7
+ export type INPUTFIELDVariant = (typeof INPUTFIELD_VARIANTS)[number]
8
+ export type INPUTFIELDSize = (typeof INPUTFIELD_SIZES)[number]
9
+
10
+ export type INPUTFIELDType =
11
+ | "text"
12
+ | "password"
13
+ | "email"
14
+ | "number"
15
+ | "date"
16
+ | "datetime-local"
17
+ | "week"
18
+ | "month"
19
+ | "tel"
20
+ | "url"
21
+ | "search"
22
+ | "time"
23
+
24
+ export type INPUTFIELDValidatorProps = {
25
+ pattern?: string
26
+ minlength?: number
27
+ maxlength?: number
28
+ title?: string
29
+ }
30
+
31
+ export type INPUTFIELDProps = {
32
+ type?: INPUTFIELDType
33
+ placeholder?: string
34
+ size?: Size
35
+ ghost?: boolean
36
+ invalid?: boolean
37
+ variant?: Variant
38
+ disabled?: boolean
39
+ suggestionName?: string
40
+ suggestionList?: string[]
41
+ required?: boolean
42
+ class?: string
43
+ } & INPUTFIELDValidatorProps
@@ -0,0 +1,47 @@
1
+ <script setup lang="ts">
2
+ import { useSizeMapping } from "../../../composables/useSizeProps"
3
+ import { useVariantMapping } from "../../../composables/useVariantProps"
4
+ import { computed, inject } from "vue"
5
+ import { type INPUTFIELDProps } from "./du-input-field.types"
6
+
7
+ const model = defineModel()
8
+
9
+ const props = withDefaults(defineProps<INPUTFIELDProps>(), {
10
+ placeholder: "",
11
+ type: "text",
12
+ size: "default",
13
+ ghost: false,
14
+ variant: "default",
15
+ disabled: false,
16
+ required: false,
17
+ })
18
+
19
+ const { colorClass } = useVariantMapping(props, "input")
20
+ const { sizeClass } = useSizeMapping(props, "input")
21
+ const ghostClass = computed(() => (props.ghost ? "input-ghost" : ""))
22
+ const invalidClass = computed(() => (props.invalid ? "input-bordered focus:invalid:input-error" : ""))
23
+
24
+ const isInput = inject("isInInput", false)
25
+ const inJoin = inject("isInJoin", false)
26
+ </script>
27
+
28
+ <template>
29
+ <input
30
+ :disabled="disabled"
31
+ :type="type"
32
+ :placeholder="placeholder"
33
+ :class="[!isInput && 'input', colorClass, sizeClass, ghostClass, invalidClass, props.class, inJoin && 'join-item']"
34
+ :list="suggestionName"
35
+ :required="required"
36
+ :pattern="pattern"
37
+ :minlength="minlength"
38
+ :maxlength="maxlength"
39
+ :title="title"
40
+ v-model="model"
41
+ />
42
+ <datalist v-if="suggestionName" :id="suggestionName">
43
+ <option v-for="suggestion in suggestionList" :key="suggestion">
44
+ {{ suggestion }}
45
+ </option>
46
+ </datalist>
47
+ </template>
@@ -0,0 +1,3 @@
1
+ export type LABELProps = {
2
+ type?: "label" | "input" | "select" | "floating-label" | "fieldset-label"
3
+ }
@@ -0,0 +1,28 @@
1
+ <script setup lang="ts">
2
+ import { computed, provide } from "vue"
3
+ import { type LABELProps } from "./du-label.types"
4
+
5
+ const props = defineProps<LABELProps>()
6
+
7
+ if (props.type == "input") {
8
+ provide("isInInput", true)
9
+ }
10
+
11
+ if(props.type == "select") {
12
+ provide("isInLabel", true)
13
+ }
14
+ const typeClass = computed(() => {
15
+ switch (props.type) {
16
+ case "select":
17
+ return "input pr-0"
18
+ default:
19
+ return props.type
20
+ }
21
+ })
22
+ </script>
23
+
24
+ <template>
25
+ <label :class="[typeClass]">
26
+ <slot />
27
+ </label>
28
+ </template>
@@ -0,0 +1,7 @@
1
+ import { type LABELProps } from "../du-label/du-label.types";
2
+ import { type INPUTFIELDProps, type INPUTFIELDType } from "../du-input-field/du-input-field.types";
3
+
4
+ export interface LabelInputValidatorProps extends LABELProps,
5
+ Omit<INPUTFIELDProps, "type"> {
6
+ inputType?: INPUTFIELDType;
7
+ }
@@ -0,0 +1,51 @@
1
+ <script setup lang="ts">
2
+ import DuInputField from "../du-input-field/du-input-field.vue";
3
+ import DuLabel from "../du-label/du-label.vue";
4
+ import { type LabelInputValidatorProps } from "./du-label-input-validator.types";
5
+
6
+ defineOptions({ inheritAttrs: false })
7
+
8
+ const model = defineModel<string>()
9
+
10
+ withDefaults(defineProps<LabelInputValidatorProps>(), {
11
+ type: "floating-label",
12
+ required: false,
13
+ placeholder: "",
14
+ inputType: "text",
15
+ disabled: false,
16
+ });
17
+ </script>
18
+
19
+ <template>
20
+ <DuLabel :type="type" class="validator">
21
+ <slot name="before" />
22
+ <template v-if="type !== 'floating-label'">
23
+ <slot />
24
+ </template>
25
+ <DuInputField
26
+ v-bind="$attrs"
27
+ v-model="model"
28
+ :required="required"
29
+ :pattern="pattern"
30
+ :minlength="minlength"
31
+ :maxlength="maxlength"
32
+ :title="title"
33
+ :type="inputType"
34
+ :placeholder="placeholder"
35
+ :disabled="disabled"
36
+ :invalid="invalid"
37
+ :size="size"
38
+ :variant="variant"
39
+ :ghost="ghost"
40
+ :suggestionName="suggestionName"
41
+ :suggestionList="suggestionList"
42
+ />
43
+ <span v-if="type === 'floating-label'">
44
+ <slot />
45
+ </span>
46
+ <slot name="after" />
47
+ </DuLabel>
48
+ <p class="validator-hint" v-if="$slots.hint">
49
+ <slot name="hint" />
50
+ </p>
51
+ </template>
@@ -0,0 +1,15 @@
1
+ import { type Variant } from "../../../composables/useVariantProps"
2
+ import { type Size } from "../../../composables/useSizeProps"
3
+
4
+ export const RADIO_VARIANTS = ['default', 'radio-primary', 'radio-secondary', 'radio-accent', 'radio-info', 'radio-success', 'radio-warning', 'radio-error'] as const
5
+ export const RADIO_SIZES = ['default', 'radio-xs', 'radio-sm', 'radio-md', 'radio-lg', 'radio-xl'] as const
6
+
7
+ export type RADIOVariant = (typeof RADIO_VARIANTS)[number]
8
+ export type RADIOSize = (typeof RADIO_SIZES)[number]
9
+
10
+ export interface RADIOProps {
11
+ checked?: boolean
12
+ disabled?: boolean
13
+ variant?: Variant
14
+ size?: Size
15
+ }
@@ -0,0 +1,27 @@
1
+ <script setup lang="ts">
2
+ import { type RADIOProps } from './du-radio.types'
3
+ import { useVariantMapping } from "../../../composables/useVariantProps"
4
+ import { useSizeMapping } from "../../../composables/useSizeProps"
5
+
6
+ const props = withDefaults(
7
+ defineProps<RADIOProps>(),
8
+ {
9
+ checked: false,
10
+ disabled: false,
11
+ variant: "default",
12
+ size: "default",
13
+ },
14
+ )
15
+
16
+ const { colorClass } = useVariantMapping(props, "radio")
17
+ const { sizeClass } = useSizeMapping(props, "radio")
18
+ </script>
19
+
20
+ <template>
21
+ <input
22
+ type="radio"
23
+ :checked="checked"
24
+ :disabled="disabled"
25
+ :class="['radio', colorClass, sizeClass]"
26
+ />
27
+ </template>
@@ -0,0 +1,18 @@
1
+ import { type Variant } from "../../../composables/useVariantProps"
2
+ import { type Size } from "../../../composables/useSizeProps"
3
+
4
+ export const RANGE_VARIANTS = ['default', 'range-primary', 'range-secondary', 'range-accent', 'range-info', 'range-success', 'range-warning', 'range-error'] as const
5
+ export const RANGE_SIZES = ['default', 'range-xs', 'range-sm', 'range-md', 'range-lg', 'range-xl'] as const
6
+
7
+ export type RANGEVariant = (typeof RANGE_VARIANTS)[number]
8
+ export type RANGESize = (typeof RANGE_SIZES)[number]
9
+
10
+ export interface RANGEProps {
11
+ modelValue?: number
12
+ min?: number
13
+ max?: number
14
+ step?: number
15
+ disabled?: boolean
16
+ variant?: Variant
17
+ size?: Size
18
+ }
@@ -0,0 +1,60 @@
1
+ <script setup lang="ts">
2
+ import { type RANGEProps } from './du-range.types'
3
+ import { useVariantMapping } from "../../../composables/useVariantProps"
4
+ import { useSizeMapping } from "../../../composables/useSizeProps"
5
+ import { ref, computed, watch } from "vue"
6
+
7
+ const props = withDefaults(
8
+ defineProps<RANGEProps>(),
9
+ {
10
+ modelValue: 4,
11
+ min: 0,
12
+ max: 10,
13
+ step: 1,
14
+ disabled: false,
15
+ variant: "default",
16
+ size: "default",
17
+ },
18
+ )
19
+
20
+ const emit = defineEmits<{
21
+ (e: "update:modelValue", value: number): void
22
+ (e: "change", value: number): void
23
+ }>()
24
+
25
+ const internalValue = ref(props.modelValue)
26
+
27
+ watch(
28
+ () => props.modelValue,
29
+ (newValue) => {
30
+ internalValue.value = newValue
31
+ },
32
+ )
33
+
34
+ const { colorClass } = useVariantMapping(props, "range")
35
+ const { sizeClass } = useSizeMapping(props, "range")
36
+
37
+ const handleInput = (event: Event) => {
38
+ const value = Number((event.target as HTMLInputElement).value)
39
+ internalValue.value = value
40
+ emit("update:modelValue", value)
41
+ emit("change", value)
42
+ }
43
+
44
+ defineExpose({
45
+ value: computed(() => internalValue.value),
46
+ })
47
+ </script>
48
+
49
+ <template>
50
+ <input
51
+ type="range"
52
+ :min="min"
53
+ :max="max"
54
+ :step="step"
55
+ :disabled="disabled"
56
+ :value="internalValue"
57
+ @input="handleInput"
58
+ :class="['range', colorClass, sizeClass]"
59
+ />
60
+ </template>