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,186 @@
1
+ <script lang="ts" setup>
2
+ import { computed } from "vue";
3
+ import DuJoin from "../../Layout/du-join/du-join.vue";
4
+ import { type PaginationProps } from './du-pagination.types';
5
+ import { useSizeMapping } from "../../../composables/useSizeProps";
6
+ import { useVariantMapping } from "../../../composables/useVariantProps";
7
+
8
+ const props = withDefaults(
9
+ defineProps<PaginationProps>(),
10
+ {
11
+ modelValue: 1,
12
+ perPage: 10,
13
+ showNext: true,
14
+ showPrevious: true,
15
+ showFirst: false,
16
+ showLast: false,
17
+ size: "default",
18
+ nextLabel: "»",
19
+ previousLabel: "«",
20
+ firstLabel: "«« ",
21
+ lastLabel: " »»",
22
+ variant: "default",
23
+ outline: false,
24
+ manual: false,
25
+ showEllipsis: true,
26
+ maxPages: 0,
27
+ soft: false,
28
+ ariaLabel: "Pagination",
29
+ previousAriaLabel: "Previous page",
30
+ nextAriaLabel: "Next page",
31
+ firstAriaLabel: "First page",
32
+ lastAriaLabel: "Last page",
33
+ },
34
+ );
35
+
36
+ const emit = defineEmits<{
37
+ (e: "update:modelValue", value: number): void;
38
+ }>();
39
+
40
+ const totalPages = computed(() => Math.ceil(props.total / props.perPage));
41
+ const { sizeClass } = useSizeMapping({ size: props.size }, "btn");
42
+ const { colorClass } = useVariantMapping({ variant: props.variant }, "btn");
43
+
44
+ const outlineClass = computed(() => {
45
+ return props.outline ? "btn-outline" : "";
46
+ });
47
+
48
+ const softClass = computed(() => {
49
+ return props.soft ? "btn-soft" : "";
50
+ });
51
+
52
+ const pages = computed(() => {
53
+ const result: (number | string)[] = [];
54
+ const current = props.modelValue;
55
+
56
+ if (props.maxPages > 0) {
57
+ const maxPagesHalf = Math.floor(props.maxPages / 2);
58
+ let startPage = Math.max(1, current - maxPagesHalf);
59
+ const endPage = Math.min(totalPages.value, startPage + props.maxPages - 1);
60
+
61
+ if (endPage - startPage + 1 < props.maxPages) {
62
+ startPage = Math.max(1, endPage - props.maxPages + 1);
63
+ }
64
+
65
+ for (let i = startPage; i <= endPage; i++) {
66
+ result.push(i);
67
+ }
68
+
69
+ return result;
70
+ }
71
+
72
+ result.push(1);
73
+
74
+ if (props.showEllipsis && current > 3) {
75
+ result.push("...");
76
+ }
77
+
78
+ for (
79
+ let i = Math.max(2, current - 1);
80
+ i <= Math.min(current + 1, totalPages.value - 1);
81
+ i++
82
+ ) {
83
+ result.push(i);
84
+ }
85
+
86
+ if (props.showEllipsis && current < totalPages.value - 2) {
87
+ result.push("...");
88
+ }
89
+
90
+ if (totalPages.value > 1) {
91
+ result.push(totalPages.value);
92
+ }
93
+
94
+ return result;
95
+ });
96
+
97
+ function changePage(page: number | string) {
98
+ if (typeof page === "number") {
99
+ emit("update:modelValue", page);
100
+ }
101
+ }
102
+ </script>
103
+
104
+ <template>
105
+ <nav :aria-label="ariaLabel">
106
+ <DuJoin>
107
+ <template v-if="manual">
108
+ <slot></slot>
109
+ </template>
110
+
111
+ <template v-else>
112
+ <button v-if="showFirst" class="join-item btn" :class="[
113
+ sizeClass,
114
+ colorClass,
115
+ outlineClass,
116
+ softClass,
117
+ { 'btn-disabled': modelValue <= 1 },
118
+ ]" @click="changePage(1)" :disabled="modelValue <= 1" :aria-label="firstAriaLabel">
119
+ <slot name="first">{{ firstLabel }}</slot>
120
+ </button>
121
+
122
+ <button v-if="showPrevious" class="join-item btn" :class="[
123
+ sizeClass,
124
+ colorClass,
125
+ outlineClass,
126
+ softClass,
127
+ { 'btn-disabled': modelValue <= 1 },
128
+ ]" @click="changePage(modelValue - 1)" :disabled="modelValue <= 1" :aria-label="previousAriaLabel">
129
+ <slot name="previous">{{ previousLabel }}</slot>
130
+ </button>
131
+
132
+ <button v-for="(page, i) in pages" :key="`${page}-${i}`" class="join-item btn" :class="[
133
+ sizeClass,
134
+ colorClass,
135
+ outlineClass,
136
+ softClass,
137
+ { 'btn-active': page === modelValue },
138
+ { 'btn-disabled': page === '...' },
139
+ ]" @click="changePage(page)" :disabled="page === '...'"
140
+ :aria-current="page === modelValue ? 'page' : undefined"
141
+ :aria-hidden="page === '...' ? 'true' : undefined"
142
+ :tabindex="page === '...' ? -1 : undefined">
143
+ <slot :name="`page-${page}`">{{ page }}</slot>
144
+ </button>
145
+
146
+ <button v-if="showNext" class="join-item btn" :class="[
147
+ sizeClass,
148
+ colorClass,
149
+ outlineClass,
150
+ softClass,
151
+ { 'btn-disabled': modelValue >= totalPages },
152
+ ]" @click="changePage(modelValue + 1)" :disabled="modelValue >= totalPages" :aria-label="nextAriaLabel">
153
+ <slot name="next">{{ nextLabel }}</slot>
154
+ </button>
155
+
156
+ <button v-if="showLast" class="join-item btn" :class="[
157
+ sizeClass,
158
+ colorClass,
159
+ outlineClass,
160
+ { 'btn-disabled': modelValue >= totalPages },
161
+ softClass,
162
+ ]" @click="changePage(totalPages)" :disabled="modelValue >= totalPages" :aria-label="lastAriaLabel">
163
+ <slot name="last">{{ lastLabel }}</slot>
164
+ </button>
165
+ </template>
166
+ </DuJoin>
167
+ </nav>
168
+ </template>
169
+
170
+ <style scoped>
171
+ /* .btn.btn-disabled {
172
+ background-color: color-mix(in oklab, var(--btn-bg) 75%, var(--color-base-100));
173
+ --btn-fg: color-mix(in oklch, var(--btn-fg) 50%, var(--color-base-content));
174
+ } */
175
+
176
+ .btn.btn-active {
177
+ --btn-bg: color-mix(in oklab, var(--btn-color) 50%, var(--color-base-100));
178
+ --btn-fg: color-mix(in oklch, var(--color-base-content) 90%, #0000);
179
+ }
180
+
181
+ /* .btn.btn-outline.btn-disabled {
182
+ --btn-bg: #0000;
183
+ --btn-fg: color-mix(in oklch, var(--btn-color) 35%, #0000);
184
+ --btn-border: var(--btn-color);
185
+ } */
186
+ </style>
@@ -0,0 +1,9 @@
1
+ import { type Variant } from "../../../composables/useVariantProps";
2
+
3
+ export interface StepItemProps {
4
+ label?: string;
5
+ active?: boolean;
6
+ customClass?: string;
7
+ dataContent?: string;
8
+ variant?: Variant;
9
+ }
@@ -0,0 +1,46 @@
1
+ <script setup lang="ts">
2
+ import { computed } from "vue";
3
+ import { type StepItemProps } from './du-step-item.types';
4
+
5
+ const props = withDefaults(
6
+ defineProps<StepItemProps>(),
7
+ {
8
+ label: "",
9
+ active: false,
10
+ customClass: "",
11
+ dataContent: undefined,
12
+ variant: "primary",
13
+ },
14
+ );
15
+
16
+ const stepClass = computed(() => {
17
+ const classes = ["step"];
18
+
19
+ const variantClass =
20
+ props.variant === "default" ? "" : `step-${props.variant}`;
21
+
22
+ if (props.active && variantClass) {
23
+ classes.push(variantClass);
24
+ }
25
+
26
+ if (props.customClass) {
27
+ classes.push(props.customClass);
28
+ }
29
+
30
+ return classes;
31
+ });
32
+ </script>
33
+
34
+ <template>
35
+ <li :class="stepClass" :data-content="dataContent">
36
+ <slot name="step-icon" v-if="$slots['step-icon']">
37
+ <span class="step-icon">
38
+ <slot name="step-icon"></slot>
39
+ </span>
40
+ </slot>
41
+
42
+ <slot>
43
+ {{ label }}
44
+ </slot>
45
+ </li>
46
+ </template>
@@ -0,0 +1,20 @@
1
+ import { type Variant } from "../../../composables/useVariantProps";
2
+
3
+ export const DU_STEPS_DIRECTIONS = ["steps-vertical", "steps-horizontal"] as const;
4
+ export type StepsDirection = (typeof DU_STEPS_DIRECTIONS)[number];
5
+
6
+ export interface StepItem {
7
+ label?: string;
8
+ active?: boolean;
9
+ customClass?: string;
10
+ dataContent?: string;
11
+ }
12
+
13
+ export interface StepsProps {
14
+ items?: StepItem[];
15
+ direction?: StepsDirection;
16
+ customClass?: string;
17
+ responsive?: boolean;
18
+ activeSteps?: number[];
19
+ variant?: Variant;
20
+ }
@@ -0,0 +1,85 @@
1
+ <script setup lang="ts">
2
+ import { computed } from "vue";
3
+ import { type StepsProps } from './du-steps.types';
4
+
5
+ const props = withDefaults(
6
+ defineProps<StepsProps>(),
7
+ {
8
+ items: undefined,
9
+ direction: "steps-horizontal",
10
+ customClass: "",
11
+ responsive: false,
12
+ activeSteps: undefined,
13
+ variant: "primary",
14
+ },
15
+ );
16
+
17
+ const stepsClasses = computed(() => {
18
+ const classes = ["steps", props.direction];
19
+
20
+ if (props.customClass) {
21
+ classes.push(props.customClass);
22
+ }
23
+
24
+ if (props.responsive) {
25
+ classes.push("steps-vertical lg:steps-horizontal");
26
+ }
27
+
28
+ return classes;
29
+ });
30
+
31
+ const getStepClass = (index: number): string[] => {
32
+ const classes = ["step"];
33
+
34
+ const variantClass =
35
+ props.variant === "default" ? "" : `step-${props.variant}`;
36
+
37
+ if (props.activeSteps && props.activeSteps.includes(index)) {
38
+ if (variantClass) classes.push(variantClass);
39
+ }
40
+
41
+ if (props.items && props.items[index] && props.items[index].active) {
42
+ if (variantClass) classes.push(variantClass);
43
+ }
44
+
45
+ if (props.items && props.items[index] && props.items[index].customClass) {
46
+ classes.push(props.items[index].customClass!);
47
+ }
48
+
49
+ return classes;
50
+ };
51
+ </script>
52
+
53
+ <template>
54
+ <ul :class="stepsClasses">
55
+ <!-- Dynamic items mode -->
56
+ <template v-if="items">
57
+ <li
58
+ v-for="(item, index) in items"
59
+ :key="index"
60
+ :class="getStepClass(index)"
61
+ :data-content="item.dataContent"
62
+ >
63
+ <slot :name="`step-${index}`" :item="item" :index="index">
64
+ <slot name="step" :item="item" :index="index">
65
+ <slot v-if="item.label">
66
+ {{ item.label }}
67
+ </slot>
68
+ <slot
69
+ v-if="$slots[`step-icon-${index}`]"
70
+ :name="`step-icon-${index}`"
71
+ ></slot>
72
+ <span v-else-if="$slots['step-icon']" class="step-icon">
73
+ <slot name="step-icon" :item="item" :index="index"></slot>
74
+ </span>
75
+ </slot>
76
+ </slot>
77
+ </li>
78
+ </template>
79
+
80
+ <!-- Manual mode -->
81
+ <template v-else>
82
+ <slot></slot>
83
+ </template>
84
+ </ul>
85
+ </template>
@@ -0,0 +1,25 @@
1
+ import { type Size } from "../../../composables/useSizeProps";
2
+
3
+ export const DU_TABS_TYPES = ["lift", "border", "box"] as const;
4
+ export type TabsType = (typeof DU_TABS_TYPES)[number];
5
+
6
+ export interface TabItem {
7
+ label?: string;
8
+ icon?: any;
9
+ class?: string;
10
+ active?: boolean;
11
+ onClick?: () => void;
12
+ content?: string;
13
+ [key: string]: any;
14
+ }
15
+
16
+ export interface TabsProps {
17
+ size?: Size;
18
+ items?: TabItem[];
19
+ type?: TabsType;
20
+ bottom?: boolean;
21
+ name?: string;
22
+ modelValue?: number;
23
+ /** Accessible name of the tab group. */
24
+ ariaLabel?: string;
25
+ }
@@ -0,0 +1,96 @@
1
+ <script setup lang="ts">
2
+ import { computed } from "vue";
3
+ import { type TabsProps, type TabItem } from './du-tabs.types';
4
+ import { useSizeMapping } from "../../../composables/useSizeProps";
5
+
6
+ const props = withDefaults(
7
+ defineProps<TabsProps>(),
8
+ {
9
+ size: "default",
10
+ items: undefined,
11
+ type: undefined,
12
+ bottom: false,
13
+ name: "my_tabs",
14
+ modelValue: undefined,
15
+ ariaLabel: undefined,
16
+ },
17
+ );
18
+
19
+ const emit = defineEmits<{
20
+ 'update:modelValue': [index: number]
21
+ }>();
22
+
23
+ function handleTabClick(index: number, item: TabItem) {
24
+ emit('update:modelValue', index);
25
+ item.onClick?.();
26
+ }
27
+
28
+ const { sizeClass } = useSizeMapping(props, "tabs");
29
+
30
+ const typeClass = computed(() => {
31
+ switch (props.type) {
32
+ case "lift":
33
+ return "tabs-lift";
34
+ case "border":
35
+ return "tabs-border";
36
+ case "box":
37
+ return "tabs-box";
38
+ default:
39
+ return "";
40
+ }
41
+ });
42
+ </script>
43
+
44
+ <template>
45
+ <!-- Accessibility: this follows DaisyUI's radio-group tab pattern. The
46
+ wrapping <label> gives each radio its accessible name and the browser
47
+ provides arrow-key navigation between radios of the same name, which
48
+ matches the expected tablist keyboard behavior. -->
49
+ <div :class="['tabs', sizeClass, typeClass]" :aria-label="ariaLabel">
50
+ <template v-if="$slots.default">
51
+ <slot></slot>
52
+ </template>
53
+
54
+ <template v-else-if="items">
55
+ <template v-for="(item, index) in items" :key="index">
56
+ <label :class="['tab', item.class]" @click="handleTabClick(index, item)">
57
+ <input type="radio" :name="props.name" :checked="item.active" />
58
+ <template v-if="item.label || $slots.tab">
59
+ <slot name="tab" :item="item" :index="index">
60
+ <slot :name="`tab-${index}`" :item="item" :index="index">
61
+ <slot name="icon" :item="item">
62
+ <component class="w-5 h-5"
63
+ :is="item.icon"
64
+ v-if="typeof item.icon === 'object' || typeof item.icon === 'function'"
65
+ />
66
+ <img
67
+ v-else-if="
68
+ typeof item.icon === 'string' &&
69
+ item.icon.startsWith('http')
70
+ "
71
+ :src="item.icon"
72
+ :alt="item.label"
73
+ />
74
+ <div
75
+ v-else-if="typeof item.icon === 'string'"
76
+ v-html="item.icon"
77
+ ></div>
78
+ </slot>
79
+ {{ item.label }}
80
+ </slot>
81
+ </slot>
82
+ </template>
83
+ </label>
84
+ <template v-if="item.content || $slots.content || $slots[`content-${index}`]">
85
+ <div class="tab-content">
86
+ <slot name="content" :item="item" :index="index">
87
+ <slot :name="`content-${index}`" :item="item" :index="index">
88
+ {{ item.content }}
89
+ </slot>
90
+ </slot>
91
+ </div>
92
+ </template>
93
+ </template>
94
+ </template>
95
+ </div>
96
+ </template>
@@ -0,0 +1,26 @@
1
+ import { computed } from 'vue'
2
+
3
+ export type Size = 'default' | 'xs' | 'sm' | 'md' | 'lg' | 'xl'
4
+ export const AvailableSizes: Size[] = ['default', 'xs', 'sm', 'md', 'lg', 'xl']
5
+
6
+ export function useSizeMapping(props: { size: Size }, suffix: string) {
7
+ const sizeClass = computed(() => {
8
+ return {
9
+ default: '',
10
+ xs: suffix + '-xs',
11
+ sm: suffix + '-sm',
12
+ md: suffix + '-md',
13
+ lg: suffix + '-lg',
14
+ xl: suffix + '-xl',
15
+ }[props.size]
16
+ })
17
+
18
+ return { sizeClass }
19
+ }
20
+
21
+ export const useSizeStoriesControl = {
22
+ size: {
23
+ control: { type: 'select' },
24
+ options: ['default', 'xs', 'sm', 'md', 'lg', 'xl'],
25
+ },
26
+ }
@@ -0,0 +1,18 @@
1
+ import { computed } from 'vue'
2
+
3
+ export type Variant = 'default' | 'neutral' | 'primary' | 'secondary' | 'accent' | 'info' | 'success' | 'warning' | 'error'
4
+
5
+ export function useVariantMapping(props: { variant: Variant }, suffix: string) {
6
+ const colorClass = computed(() => {
7
+ return props.variant === 'default' ? '' : suffix + '-' + props.variant
8
+ })
9
+
10
+ return { colorClass }
11
+ }
12
+
13
+ export const useVariantStoriesControl = {
14
+ variant: {
15
+ control: { type: 'select' },
16
+ options: ['default', 'primary', 'secondary', 'accent', 'neutral', 'info', 'success', 'warning', 'error'],
17
+ },
18
+ }
@@ -0,0 +1,8 @@
1
+ //#region \0plugin-vue:export-helper
2
+ var e = (e, t) => {
3
+ let n = e.__vccOpts || e;
4
+ for (let [e, r] of t) n[e] = r;
5
+ return n;
6
+ };
7
+ //#endregion
8
+ export { e as default };
@@ -0,0 +1,5 @@
1
+ import e from "./du-button.vue_vue_type_script_setup_true_lang.js";
2
+ //#region components/Actions/du-button/du-button.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,4 @@
1
+ export declare const BUTTON_SIZES: readonly ["btn-xs", "btn-sm", "btn-md", "btn-lg", "btn-xl"];
2
+ export declare const BUTTON_COLORS: readonly ["btn-primary", "btn-secondary", "btn-accent", "btn-neutral", "btn-info", "btn-success", "btn-warning", "btn-error"];
3
+ export type BUTTONSize = (typeof BUTTON_SIZES)[number];
4
+ export type BUTTONColor = (typeof BUTTON_COLORS)[number];
@@ -0,0 +1,58 @@
1
+ import { type Size } from '../../../composables/useSizeProps';
2
+ import { type Variant } from '../../../composables/useVariantProps';
3
+ type ElementType = 'button' | 'a' | 'input' | 'div' | 'RouterLink' | 'NuxtLink' | string;
4
+ type __VLS_Props = {
5
+ customClass?: string;
6
+ size?: Size;
7
+ variant?: Variant;
8
+ outline?: boolean;
9
+ soft?: boolean;
10
+ dash?: boolean;
11
+ active?: boolean;
12
+ ghost?: boolean;
13
+ link?: boolean;
14
+ wide?: boolean;
15
+ disabled?: boolean;
16
+ square?: boolean;
17
+ circle?: boolean;
18
+ block?: boolean;
19
+ as?: ElementType;
20
+ type?: string;
21
+ href?: string;
22
+ value?: string;
23
+ inputType?: 'button' | 'submit' | 'reset' | 'radio' | 'checkbox';
24
+ label?: string;
25
+ };
26
+ declare var __VLS_8: {};
27
+ type __VLS_Slots = {} & {
28
+ default?: (props: typeof __VLS_8) => any;
29
+ };
30
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {
31
+ label: string;
32
+ customClass: string;
33
+ square: boolean;
34
+ circle: boolean;
35
+ value: string;
36
+ type: string;
37
+ size: Size;
38
+ ghost: boolean;
39
+ variant: Variant;
40
+ disabled: boolean;
41
+ inputType: "button" | "submit" | "reset" | "radio" | "checkbox";
42
+ href: string;
43
+ active: boolean;
44
+ outline: boolean;
45
+ soft: boolean;
46
+ dash: boolean;
47
+ link: boolean;
48
+ wide: boolean;
49
+ block: boolean;
50
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
51
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
52
+ declare const _default: typeof __VLS_export;
53
+ export default _default;
54
+ type __VLS_WithSlots<T, S> = T & {
55
+ new (): {
56
+ $slots: S;
57
+ };
58
+ };