@vueland/ui 0.0.1 → 0.0.2

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 (352) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +137 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  4. package/dist/components/CApp/CApp.js +2 -3
  5. package/dist/components/CAutocomplete/CAutocomplete.js +182 -90
  6. package/dist/components/CBtn/CBtn.js +26 -27
  7. package/dist/components/CCheckbox/CCheckbox.js +40 -58
  8. package/dist/components/CCheckbox/CheckboxElement.js +96 -0
  9. package/dist/components/CCheckbox/index2.js +5 -0
  10. package/dist/components/CChip/CChip.js +13 -0
  11. package/dist/components/CDateInput/CDateInput.js +246 -0
  12. package/dist/components/CDateInput/index.js +5 -0
  13. package/dist/components/CDatePicker/CDatePicker.js +324 -0
  14. package/dist/components/CDatePicker/CDatePickerDates.js +300 -0
  15. package/dist/components/CDatePicker/CDatePickerHeader.js +62 -0
  16. package/dist/components/CDatePicker/CDatePickerMonths.js +114 -0
  17. package/dist/components/CDatePicker/CDatePickerYears.js +143 -0
  18. package/dist/components/CDatePicker/helpers.js +17 -0
  19. package/dist/components/CDatePicker/index.js +14 -0
  20. package/dist/components/CDatePicker/index2.js +5 -0
  21. package/dist/components/CDatePicker/index3.js +5 -0
  22. package/dist/components/CDatePicker/index4.js +5 -0
  23. package/dist/components/CDatePicker/index5.js +5 -0
  24. package/dist/components/CDatePicker/index6.js +5 -0
  25. package/dist/components/CDatePicker/locales/en.json.js +44 -0
  26. package/dist/components/CDatePicker/locales/index.js +9 -0
  27. package/dist/components/CDatePicker/locales/ru.json.js +44 -0
  28. package/dist/components/CDatePicker/utils.js +20 -0
  29. package/dist/components/CDialog/CDialog.js +2 -4
  30. package/dist/components/CDialog/index.js +1 -1
  31. package/dist/components/CDialog/index2.js +1 -1
  32. package/dist/components/CField/CField.js +160 -28
  33. package/dist/components/CForm/CForm.js +38 -22
  34. package/dist/components/CGrid/CCol.js +1 -3
  35. package/dist/components/CGrid/CRow.js +5 -7
  36. package/dist/components/CIcon/CIcon.js +3 -3
  37. package/dist/components/CInput/CInput.js +110 -109
  38. package/dist/components/CList/CList.js +86 -33
  39. package/dist/components/CList/CListItem.js +39 -14
  40. package/dist/components/CMenu/CMenu.js +27 -26
  41. package/dist/components/COverlay/COverlay.js +6 -5
  42. package/dist/components/CRadio/CRadio.js +11 -5
  43. package/dist/components/CRadio/CRadioGroup.js +10 -0
  44. package/dist/components/CSelect/CSelect.js +159 -70
  45. package/dist/components/CSelectControl/CSelectControl.js +14 -2
  46. package/dist/components/CTextField/CTextField.js +79 -52
  47. package/dist/components/CTextField/index.js +2 -2
  48. package/dist/components/CTextField/index2.js +5 -0
  49. package/dist/components/CToolbar/CToolbar.js +1 -3
  50. package/dist/components/CTooltip/CTooltip.js +1 -3
  51. package/dist/components/global-components.d.ts +44 -0
  52. package/dist/components/index.d.ts +826 -475
  53. package/dist/components/index.js +10 -6
  54. package/dist/composables/index.d.ts +841 -226
  55. package/dist/composables/index.js +18 -15
  56. package/dist/composables/use-activator.js +28 -26
  57. package/dist/composables/use-app-scroll.js +2 -6
  58. package/dist/composables/use-auto-position.js +205 -117
  59. package/dist/composables/use-autocomplete.js +21 -19
  60. package/dist/composables/use-button-presets.js +3 -7
  61. package/dist/composables/use-delay-actions.js +6 -1
  62. package/dist/composables/use-display.js +22 -14
  63. package/dist/composables/use-field-presets.js +82 -0
  64. package/dist/composables/use-icon.js +106 -34
  65. package/dist/composables/use-id.js +9 -0
  66. package/dist/composables/use-input-presets.js +88 -19
  67. package/dist/composables/use-keyboard.js +52 -0
  68. package/dist/composables/use-list.js +8 -0
  69. package/dist/composables/use-menu.js +8 -0
  70. package/dist/composables/use-normalized-items.js +22 -0
  71. package/dist/composables/use-overlay-stack.js +4 -1
  72. package/dist/composables/use-presets.js +5 -3
  73. package/dist/composables/use-select-control.js +8 -0
  74. package/dist/composables/use-selected-chips.js +40 -0
  75. package/dist/composables/use-validate.js +32 -24
  76. package/dist/constants/attrs.js +21 -0
  77. package/dist/constants/icons.js +55 -8
  78. package/dist/constants/index.d.ts +147 -54
  79. package/dist/constants/index.js +2 -1
  80. package/dist/constants/provide-keys.js +2 -1
  81. package/dist/css/themes/default-theme.css +1 -1
  82. package/dist/css/utils/_borders.css +1 -0
  83. package/dist/css/utils/_borders.js +3 -0
  84. package/dist/css/utils/_display.css +1 -1
  85. package/dist/css/utils/_flex.css +1 -1
  86. package/dist/css/utils/_helpers.css +1 -1
  87. package/dist/css/utils/_positions.css +1 -1
  88. package/dist/css/utils/_sizing.css +1 -1
  89. package/dist/css/utils/_spaces.css +1 -1
  90. package/dist/css/utils/_text.css +1 -1
  91. package/dist/css/utils/_transitions.css +1 -1
  92. package/dist/css/utils/_typography.css +1 -1
  93. package/dist/enums/IconName.js +13 -0
  94. package/dist/enums/index.d.ts +15 -2
  95. package/dist/helpers/preset.js +11 -0
  96. package/dist/helpers/theme.js +41 -0
  97. package/dist/library.js +26 -4
  98. package/dist/resolvers/font-awesome.js +30 -0
  99. package/dist/resolvers/index.d.ts +48 -0
  100. package/dist/resolvers/index.js +1 -0
  101. package/dist/scss/maps/colors-map.scss +342 -0
  102. package/dist/scss/maps/elevations-map.scss +88 -0
  103. package/dist/scss/maps/flexes-map.scss +24 -0
  104. package/dist/scss/maps/grids.scss +23 -0
  105. package/dist/scss/modules/_global-vars.scss +88 -0
  106. package/dist/scss/ress.scss +281 -0
  107. package/dist/scss/styles.scss +19 -0
  108. package/dist/scss/themes/default-theme.scss +25 -0
  109. package/dist/scss/utils/_borders.scss +28 -0
  110. package/dist/scss/utils/_colors.scss +86 -0
  111. package/dist/scss/utils/_cursor.scss +140 -0
  112. package/dist/scss/utils/_display.scss +32 -0
  113. package/dist/scss/utils/_elevations.scss +15 -0
  114. package/dist/scss/utils/_flex.scss +137 -0
  115. package/dist/scss/utils/_helpers.scss +47 -0
  116. package/dist/scss/utils/_opacity.scss +13 -0
  117. package/dist/scss/utils/_overflow.scss +51 -0
  118. package/dist/scss/utils/_positions.scss +42 -0
  119. package/dist/scss/utils/_radius.scss +41 -0
  120. package/dist/scss/utils/_sizing.scss +40 -0
  121. package/dist/scss/utils/_spaces.scss +164 -0
  122. package/dist/scss/utils/_text.scss +76 -0
  123. package/dist/scss/utils/_transitions.scss +98 -0
  124. package/dist/scss/utils/_typography.scss +68 -0
  125. package/dist/styles.css +1 -1
  126. package/dist/temp-types/src/components/CApp/CApp.vue.d.ts +2 -4
  127. package/dist/temp-types/src/components/CApp/CApp.vue.d.ts.map +1 -1
  128. package/dist/temp-types/src/components/CApp/types.d.ts +4 -0
  129. package/dist/temp-types/src/components/CApp/types.d.ts.map +1 -1
  130. package/dist/temp-types/src/components/CAutocomplete/CAutocomplete.vue.d.ts +7 -2
  131. package/dist/temp-types/src/components/CAutocomplete/CAutocomplete.vue.d.ts.map +1 -1
  132. package/dist/temp-types/src/components/CAutocomplete/types.d.ts +16 -6
  133. package/dist/temp-types/src/components/CAutocomplete/types.d.ts.map +1 -1
  134. package/dist/temp-types/src/components/CBtn/CBtn.vue.d.ts +5 -1
  135. package/dist/temp-types/src/components/CBtn/CBtn.vue.d.ts.map +1 -1
  136. package/dist/temp-types/src/components/CBtn/index.d.ts +1 -0
  137. package/dist/temp-types/src/components/CBtn/index.d.ts.map +1 -1
  138. package/dist/temp-types/src/components/CBtn/types.d.ts +1 -0
  139. package/dist/temp-types/src/components/CBtn/types.d.ts.map +1 -1
  140. package/dist/temp-types/src/components/CCheckbox/CCheckbox.vue.d.ts +2 -6
  141. package/dist/temp-types/src/components/CCheckbox/CCheckbox.vue.d.ts.map +1 -1
  142. package/dist/temp-types/src/components/CCheckbox/CheckboxElement.vue.d.ts +32 -0
  143. package/dist/temp-types/src/components/CCheckbox/CheckboxElement.vue.d.ts.map +1 -0
  144. package/dist/temp-types/src/components/CCheckbox/types.d.ts +7 -4
  145. package/dist/temp-types/src/components/CCheckbox/types.d.ts.map +1 -1
  146. package/dist/temp-types/src/components/CChip/CChip.vue.d.ts +13 -0
  147. package/dist/temp-types/src/components/CChip/CChip.vue.d.ts.map +1 -0
  148. package/dist/temp-types/src/components/CChip/index.d.ts +2 -0
  149. package/dist/temp-types/src/components/CChip/index.d.ts.map +1 -0
  150. package/dist/temp-types/src/components/CDateInput/CDateInput.vue.d.ts +61 -0
  151. package/dist/temp-types/src/components/CDateInput/CDateInput.vue.d.ts.map +1 -0
  152. package/dist/temp-types/src/components/CDateInput/index.d.ts +3 -0
  153. package/dist/temp-types/src/components/CDateInput/index.d.ts.map +1 -0
  154. package/dist/temp-types/src/components/CDatePicker/CDatePicker.vue.d.ts +82 -0
  155. package/dist/temp-types/src/components/CDatePicker/CDatePicker.vue.d.ts.map +1 -0
  156. package/dist/temp-types/src/components/CDatePicker/CDatePickerDates.vue.d.ts +60 -0
  157. package/dist/temp-types/src/components/CDatePicker/CDatePickerDates.vue.d.ts.map +1 -0
  158. package/dist/temp-types/src/components/CDatePicker/CDatePickerHeader.vue.d.ts +27 -0
  159. package/dist/temp-types/src/components/CDatePicker/CDatePickerHeader.vue.d.ts.map +1 -0
  160. package/dist/temp-types/src/components/CDatePicker/CDatePickerMonths.vue.d.ts +40 -0
  161. package/dist/temp-types/src/components/CDatePicker/CDatePickerMonths.vue.d.ts.map +1 -0
  162. package/dist/temp-types/src/components/CDatePicker/CDatePickerYears.vue.d.ts +34 -0
  163. package/dist/temp-types/src/components/CDatePicker/CDatePickerYears.vue.d.ts.map +1 -0
  164. package/dist/temp-types/src/components/CDatePicker/helpers.d.ts +4 -0
  165. package/dist/temp-types/src/components/CDatePicker/helpers.d.ts.map +1 -0
  166. package/dist/temp-types/src/components/CDatePicker/index.d.ts +6 -0
  167. package/dist/temp-types/src/components/CDatePicker/index.d.ts.map +1 -0
  168. package/dist/temp-types/src/components/CDatePicker/locales/index.d.ts +7 -0
  169. package/dist/temp-types/src/components/CDatePicker/locales/index.d.ts.map +1 -0
  170. package/dist/temp-types/src/components/CDatePicker/types.d.ts +22 -0
  171. package/dist/temp-types/src/components/CDatePicker/types.d.ts.map +1 -0
  172. package/dist/temp-types/src/components/CDatePicker/utils.d.ts +8 -0
  173. package/dist/temp-types/src/components/CDatePicker/utils.d.ts.map +1 -0
  174. package/dist/temp-types/src/components/CDialog/CDialog.vue.d.ts +1 -1
  175. package/dist/temp-types/src/components/CDialog/CDialog.vue.d.ts.map +1 -1
  176. package/dist/temp-types/src/components/CDialog/CDialogsStack.vue.d.ts.map +1 -1
  177. package/dist/temp-types/src/components/CDialog/types.d.ts.map +1 -1
  178. package/dist/temp-types/src/components/CField/CField.vue.d.ts +26 -10
  179. package/dist/temp-types/src/components/CField/CField.vue.d.ts.map +1 -1
  180. package/dist/temp-types/src/components/CField/index.d.ts +1 -0
  181. package/dist/temp-types/src/components/CField/index.d.ts.map +1 -1
  182. package/dist/temp-types/src/components/CField/types.d.ts +22 -0
  183. package/dist/temp-types/src/components/CField/types.d.ts.map +1 -0
  184. package/dist/temp-types/src/components/CForm/CForm.vue.d.ts +10 -8
  185. package/dist/temp-types/src/components/CForm/CForm.vue.d.ts.map +1 -1
  186. package/dist/temp-types/src/components/CForm/types.d.ts +13 -3
  187. package/dist/temp-types/src/components/CForm/types.d.ts.map +1 -1
  188. package/dist/temp-types/src/components/CGrid/CCol.d.ts.map +1 -1
  189. package/dist/temp-types/src/components/CGrid/CRow.d.ts.map +1 -1
  190. package/dist/temp-types/src/components/CGrid/index.d.ts +1 -1
  191. package/dist/temp-types/src/components/CIcon/CIcon.vue.d.ts.map +1 -1
  192. package/dist/temp-types/src/components/CIcon/types.d.ts +1 -2
  193. package/dist/temp-types/src/components/CIcon/types.d.ts.map +1 -1
  194. package/dist/temp-types/src/components/CInput/CInput.vue.d.ts +23 -7
  195. package/dist/temp-types/src/components/CInput/CInput.vue.d.ts.map +1 -1
  196. package/dist/temp-types/src/components/CInput/types.d.ts +42 -28
  197. package/dist/temp-types/src/components/CInput/types.d.ts.map +1 -1
  198. package/dist/temp-types/src/components/CLabel/CLabel.d.ts.map +1 -1
  199. package/dist/temp-types/src/components/CList/CList.vue.d.ts +4 -2
  200. package/dist/temp-types/src/components/CList/CList.vue.d.ts.map +1 -1
  201. package/dist/temp-types/src/components/CList/CListItem.vue.d.ts.map +1 -1
  202. package/dist/temp-types/src/components/CList/types.d.ts +16 -1
  203. package/dist/temp-types/src/components/CList/types.d.ts.map +1 -1
  204. package/dist/temp-types/src/components/CMenu/CMenu.vue.d.ts +4 -4
  205. package/dist/temp-types/src/components/CMenu/CMenu.vue.d.ts.map +1 -1
  206. package/dist/temp-types/src/components/CMenu/types.d.ts +2 -2
  207. package/dist/temp-types/src/components/CMenu/types.d.ts.map +1 -1
  208. package/dist/temp-types/src/components/COverlay/COverlay.vue.d.ts.map +1 -1
  209. package/dist/temp-types/src/components/CRadio/CRadio.vue.d.ts +1 -1
  210. package/dist/temp-types/src/components/CRadio/CRadio.vue.d.ts.map +1 -1
  211. package/dist/temp-types/src/components/CRadio/CRadioGroup.vue.d.ts +13 -0
  212. package/dist/temp-types/src/components/CRadio/CRadioGroup.vue.d.ts.map +1 -0
  213. package/dist/temp-types/src/components/CRadio/index.d.ts +1 -0
  214. package/dist/temp-types/src/components/CRadio/index.d.ts.map +1 -1
  215. package/dist/temp-types/src/components/CScrim/index.d.ts.map +1 -1
  216. package/dist/temp-types/src/components/CSelect/CSelect.vue.d.ts +7 -2
  217. package/dist/temp-types/src/components/CSelect/CSelect.vue.d.ts.map +1 -1
  218. package/dist/temp-types/src/components/CSelect/types.d.ts +16 -6
  219. package/dist/temp-types/src/components/CSelect/types.d.ts.map +1 -1
  220. package/dist/temp-types/src/components/CSelectControl/CSelectControl.vue.d.ts +6 -2
  221. package/dist/temp-types/src/components/CSelectControl/CSelectControl.vue.d.ts.map +1 -1
  222. package/dist/temp-types/src/components/CTextField/CTextField.vue.d.ts +19 -17
  223. package/dist/temp-types/src/components/CTextField/CTextField.vue.d.ts.map +1 -1
  224. package/dist/temp-types/src/components/CTextField/index.d.ts +10 -1
  225. package/dist/temp-types/src/components/CTextField/index.d.ts.map +1 -1
  226. package/dist/temp-types/src/components/CTextField/types.d.ts +16 -0
  227. package/dist/temp-types/src/components/CTextField/types.d.ts.map +1 -0
  228. package/dist/temp-types/src/components/CToolbar/CToolbar.vue.d.ts.map +1 -1
  229. package/dist/temp-types/src/components/CTooltip/CTooltip.vue.d.ts.map +1 -1
  230. package/dist/temp-types/src/components/index.d.ts +17 -15
  231. package/dist/temp-types/src/components/index.d.ts.map +1 -1
  232. package/dist/temp-types/src/composables/index.d.ts +16 -13
  233. package/dist/temp-types/src/composables/index.d.ts.map +1 -1
  234. package/dist/temp-types/src/composables/use-activator.d.ts +157 -2
  235. package/dist/temp-types/src/composables/use-activator.d.ts.map +1 -1
  236. package/dist/temp-types/src/composables/use-app-scroll.d.ts.map +1 -1
  237. package/dist/temp-types/src/composables/use-application.d.ts.map +1 -1
  238. package/dist/temp-types/src/composables/use-auto-position.d.ts +292 -9
  239. package/dist/temp-types/src/composables/use-auto-position.d.ts.map +1 -1
  240. package/dist/temp-types/src/composables/use-autocomplete.d.ts +9 -4
  241. package/dist/temp-types/src/composables/use-autocomplete.d.ts.map +1 -1
  242. package/dist/temp-types/src/composables/use-button-presets.d.ts +2 -2
  243. package/dist/temp-types/src/composables/use-button-presets.d.ts.map +1 -1
  244. package/dist/temp-types/src/composables/use-core.d.ts.map +1 -1
  245. package/dist/temp-types/src/composables/use-delay-actions.d.ts +26 -0
  246. package/dist/temp-types/src/composables/use-delay-actions.d.ts.map +1 -1
  247. package/dist/temp-types/src/composables/use-dialogs-stack.d.ts +3 -3
  248. package/dist/temp-types/src/composables/use-dialogs-stack.d.ts.map +1 -1
  249. package/dist/temp-types/src/composables/use-display.d.ts +8 -7
  250. package/dist/temp-types/src/composables/use-display.d.ts.map +1 -1
  251. package/dist/temp-types/src/composables/use-effect.d.ts.map +1 -1
  252. package/dist/temp-types/src/composables/use-field-presets.d.ts +12 -0
  253. package/dist/temp-types/src/composables/use-field-presets.d.ts.map +1 -0
  254. package/dist/temp-types/src/composables/use-form.d.ts +1 -1
  255. package/dist/temp-types/src/composables/use-form.d.ts.map +1 -1
  256. package/dist/temp-types/src/composables/use-icon.d.ts +32 -4
  257. package/dist/temp-types/src/composables/use-icon.d.ts.map +1 -1
  258. package/dist/temp-types/src/composables/use-id.d.ts +6 -0
  259. package/dist/temp-types/src/composables/use-id.d.ts.map +1 -0
  260. package/dist/temp-types/src/composables/use-input-presets.d.ts +6 -7
  261. package/dist/temp-types/src/composables/use-input-presets.d.ts.map +1 -1
  262. package/dist/temp-types/src/composables/use-keyboard.d.ts +11 -0
  263. package/dist/temp-types/src/composables/use-keyboard.d.ts.map +1 -0
  264. package/dist/temp-types/src/composables/use-list.d.ts +3 -0
  265. package/dist/temp-types/src/composables/use-list.d.ts.map +1 -0
  266. package/dist/temp-types/src/composables/use-menu-presets.d.ts +1 -1
  267. package/dist/temp-types/src/composables/use-menu-presets.d.ts.map +1 -1
  268. package/dist/temp-types/src/composables/use-menu.d.ts +2 -0
  269. package/dist/temp-types/src/composables/use-menu.d.ts.map +1 -0
  270. package/dist/temp-types/src/composables/use-normalized-items.d.ts +18 -0
  271. package/dist/temp-types/src/composables/use-normalized-items.d.ts.map +1 -0
  272. package/dist/temp-types/src/composables/use-overlay-stack.d.ts +1 -0
  273. package/dist/temp-types/src/composables/use-overlay-stack.d.ts.map +1 -1
  274. package/dist/temp-types/src/composables/use-presets.d.ts +14 -0
  275. package/dist/temp-types/src/composables/use-presets.d.ts.map +1 -1
  276. package/dist/temp-types/src/composables/use-select-control.d.ts +2 -0
  277. package/dist/temp-types/src/composables/use-select-control.d.ts.map +1 -0
  278. package/dist/temp-types/src/composables/use-selected-chips.d.ts +16 -0
  279. package/dist/temp-types/src/composables/use-selected-chips.d.ts.map +1 -0
  280. package/dist/temp-types/src/composables/use-toggle.d.ts +1 -1
  281. package/dist/temp-types/src/composables/use-toggle.d.ts.map +1 -1
  282. package/dist/temp-types/src/composables/use-validate.d.ts +10 -8
  283. package/dist/temp-types/src/composables/use-validate.d.ts.map +1 -1
  284. package/dist/temp-types/src/constants/attrs.d.ts +2 -0
  285. package/dist/temp-types/src/constants/attrs.d.ts.map +1 -0
  286. package/dist/temp-types/src/constants/icons.d.ts +91 -18
  287. package/dist/temp-types/src/constants/icons.d.ts.map +1 -1
  288. package/dist/temp-types/src/constants/index.d.ts +2 -1
  289. package/dist/temp-types/src/constants/index.d.ts.map +1 -1
  290. package/dist/temp-types/src/constants/provide-keys.d.ts +8 -5
  291. package/dist/temp-types/src/constants/provide-keys.d.ts.map +1 -1
  292. package/dist/temp-types/src/directives/v-click-outside.d.ts.map +1 -1
  293. package/dist/temp-types/src/enums/IconName.d.ts +15 -2
  294. package/dist/temp-types/src/enums/IconName.d.ts.map +1 -1
  295. package/dist/temp-types/src/helpers/index.d.ts +2 -0
  296. package/dist/temp-types/src/helpers/index.d.ts.map +1 -1
  297. package/dist/temp-types/src/helpers/preset.d.ts +8 -0
  298. package/dist/temp-types/src/helpers/preset.d.ts.map +1 -0
  299. package/dist/temp-types/src/helpers/theme.d.ts +4 -0
  300. package/dist/temp-types/src/helpers/theme.d.ts.map +1 -0
  301. package/dist/temp-types/src/index.d.ts.map +1 -1
  302. package/dist/temp-types/src/library.d.ts +10 -3
  303. package/dist/temp-types/src/library.d.ts.map +1 -1
  304. package/dist/temp-types/src/resolvers/font-awesome.d.ts +18 -0
  305. package/dist/temp-types/src/resolvers/font-awesome.d.ts.map +1 -0
  306. package/dist/temp-types/src/resolvers/index.d.ts +2 -0
  307. package/dist/temp-types/src/resolvers/index.d.ts.map +1 -0
  308. package/dist/temp-types/src/resolvers/material.d.ts +1 -0
  309. package/dist/temp-types/src/resolvers/material.d.ts.map +1 -0
  310. package/dist/temp-types/src/types/icons.d.ts +29 -0
  311. package/dist/temp-types/src/types/icons.d.ts.map +1 -0
  312. package/dist/temp-types/src/types/index.d.ts +4 -2
  313. package/dist/temp-types/src/types/index.d.ts.map +1 -1
  314. package/dist/temp-types/src/types/presets.d.ts +35 -47
  315. package/dist/temp-types/src/types/presets.d.ts.map +1 -1
  316. package/dist/temp-types/src/types/theme.d.ts +32 -0
  317. package/dist/temp-types/src/types/theme.d.ts.map +1 -0
  318. package/dist/temp-types/src/utils/compile-css-classes.d.ts.map +1 -1
  319. package/dist/temp-types/src/utils/create-simple-functional.d.ts.map +1 -1
  320. package/dist/temp-types/src/utils/index.d.ts +3 -2
  321. package/dist/temp-types/src/utils/index.d.ts.map +1 -1
  322. package/dist/temp-types/src/utils/props-factory.d.ts +37 -0
  323. package/dist/temp-types/src/utils/props-factory.d.ts.map +1 -0
  324. package/dist/temp-types/src/utils/throttle.d.ts.map +1 -1
  325. package/dist/temp-types/tsconfig.build.tsbuildinfo +1 -1
  326. package/dist/types/index.d.ts +125 -0
  327. package/dist/types.d.ts +137 -72
  328. package/dist/utils/compile-css-classes.js +3 -13
  329. package/dist/utils/create-simple-functional.js +1 -5
  330. package/dist/utils/index.d.ts +49 -13
  331. package/dist/utils/index.js +3 -2
  332. package/dist/utils/props-factory.js +25 -0
  333. package/package.json +33 -7
  334. package/dist/components/CItems/CItems.js +0 -66
  335. package/dist/composables/use-field-attrs.js +0 -43
  336. package/dist/composables/use-input-state.js +0 -41
  337. package/dist/composables/use-input-value.js +0 -18
  338. package/dist/composables/use-position-classes.js +0 -12
  339. package/dist/temp-types/src/components/CItems/CItems.d.ts +0 -16
  340. package/dist/temp-types/src/components/CItems/CItems.d.ts.map +0 -1
  341. package/dist/temp-types/src/components/CItems/index.d.ts +0 -2
  342. package/dist/temp-types/src/components/CItems/index.d.ts.map +0 -1
  343. package/dist/temp-types/src/composables/use-field-attrs.d.ts +0 -10
  344. package/dist/temp-types/src/composables/use-field-attrs.d.ts.map +0 -1
  345. package/dist/temp-types/src/composables/use-input-state.d.ts +0 -17
  346. package/dist/temp-types/src/composables/use-input-state.d.ts.map +0 -1
  347. package/dist/temp-types/src/composables/use-input-value.d.ts +0 -3
  348. package/dist/temp-types/src/composables/use-input-value.d.ts.map +0 -1
  349. package/dist/temp-types/src/composables/use-position-classes.d.ts +0 -10
  350. package/dist/temp-types/src/composables/use-position-classes.d.ts.map +0 -1
  351. package/dist/temp-types/src/utils/define-preset.d.ts +0 -2
  352. package/dist/temp-types/src/utils/define-preset.d.ts.map +0 -1
package/LICENSE ADDED
@@ -0,0 +1,21 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2026 Allakhverdiev Anar
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in
13
+ all copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
21
+ THE SOFTWARE.
package/README.md ADDED
@@ -0,0 +1,137 @@
1
+ <div align="center">
2
+ <img src="https://raw.githubusercontent.com/vueland/vueland/master/logo.png" style="max-width: 100%;">
3
+ </div>
4
+
5
+ # @vueland/ui
6
+
7
+ > **⚠️ Active development — not production ready**
8
+ > The library is under active development. APIs may change between releases without notice. Use in production at your own risk.
9
+
10
+ Vue 3 component library for the Vueland platform. Provides a set of UI components, a 12-column flexbox grid system, utility classes, and a single breakpoint configuration shared across all layers.
11
+
12
+ ## Documentation
13
+
14
+ Full documentation, examples, and guides are available at:
15
+
16
+ https://vueland.github.io/vueland/en/guide/getting-started
17
+
18
+ ## Installation
19
+
20
+ ::: code-group
21
+
22
+ ```bash [pnpm]
23
+ pnpm add @vueland/ui
24
+ ```
25
+
26
+ ```bash [npm]
27
+ npm install @vueland/ui
28
+ ```
29
+
30
+ ```bash [yarn]
31
+ yarn add @vueland/ui
32
+ ```
33
+
34
+ ## Setup
35
+
36
+ ### 1. Register the library
37
+
38
+ ```ts
39
+ // src/main.ts
40
+ import { createApp } from 'vue'
41
+ import { createVuelandUI } from '@vueland/ui'
42
+ import * as components from '@vueland/ui/components'
43
+
44
+ import '@vueland/ui/src/styles/styles.scss'
45
+ import '@vueland/ui/src/styles/themes/default-theme.scss'
46
+
47
+ import App from './App.vue'
48
+
49
+ const app = createApp(App)
50
+ app.use(createVuelandUI({ components }))
51
+ app.mount('#app')
52
+ ```
53
+
54
+ > **Import SCSS source, not pre-compiled CSS.** The styles are compiled by Vite at build time. If you import `dist/styles.css`, custom breakpoints configured via `@vueland/utils-jit` will not be applied.
55
+
56
+ ### 2. Use components
57
+
58
+ Components are registered globally after `app.use(vueland)`:
59
+
60
+ ```vue
61
+ <template>
62
+ <c-row>
63
+ <c-col cols="12" sm="6" md="4">
64
+ <c-card class="pa-4 elevation-2">Hello Vueland</c-card>
65
+ </c-col>
66
+ </c-row>
67
+ </template>
68
+ ```
69
+
70
+ ## Breakpoints
71
+
72
+ The default breakpoint scale follows Material Design:
73
+
74
+ | Name | min-width |
75
+ |------|-----------|
76
+ | xs | 0 |
77
+ | sm | 600px |
78
+ | md | 960px |
79
+ | lg | 1280px |
80
+ | xl | 1920px |
81
+ | xxl | 2560px |
82
+
83
+ Breakpoints are shared across four layers: predefined SCSS utility classes, JIT classes, grid components (`CRow`, `CCol`), and the `useDisplay` composable.
84
+
85
+ To customize them, use [`@vueland/utils-jit`](https://www.npmjs.com/package/@vueland/utils-jit) — one config in `vite.config.ts` syncs all layers automatically. See the [Breakpoints guide](https://vueland.github.io/vueland/en/guide/breakpoints) for the full step-by-step setup.
86
+
87
+ ## Grid system
88
+
89
+ 12-column flexbox grid built on `CRow`, `CCol`, and `CSpacer`:
90
+
91
+ ```vue
92
+ <c-row align="center" justify="space-between">
93
+ <!-- full width on mobile, 6 cols on sm+, 4 cols on md+ -->
94
+ <c-col cols="12" sm="6" md="4">
95
+ <c-card class="pa-4">Card</c-card>
96
+ </c-col>
97
+ </c-row>
98
+ ```
99
+
100
+ Responsive column props, offset, order, and row-level alignment all follow the same breakpoint scale.
101
+
102
+ ## Utility classes
103
+
104
+ Predefined utility classes cover spacing, colors, typography, flex, display, sizing, elevation, borders, and more. All support responsive prefixes:
105
+
106
+ ```html
107
+ <div class="pa-2 md:pa-6 lg:pa-10">responsive padding</div>
108
+ <div class="d-none md:d-flex">hidden on mobile</div>
109
+ <div class="bg-indigo text-white radius-12 elevation-2">styled card</div>
110
+ ```
111
+
112
+ ## `useDisplay` composable
113
+
114
+ Reactive screen state in JS/Vue, synced to the same breakpoints:
115
+
116
+ ```vue
117
+ <script setup lang="ts">
118
+ import { inject } from 'vue'
119
+ import { $BREAKPOINTS_KEY } from '@vueland/ui/constants'
120
+
121
+ const display = inject($BREAKPOINTS_KEY)!
122
+ </script>
123
+
124
+ <template>
125
+ <c-col :cols="display.mdAndUp.value ? 6 : 12">
126
+ Adaptive column
127
+ </c-col>
128
+ </template>
129
+ ```
130
+
131
+ ## npm
132
+
133
+ https://www.npmjs.com/package/@vueland/ui
134
+
135
+ ## License
136
+
137
+ MIT
@@ -0,0 +1,9 @@
1
+ var _export_sfc = (sfc, props) => {
2
+ const target = sfc.__vccOpts || sfc;
3
+ for (const [key, val] of props) {
4
+ target[key] = val;
5
+ }
6
+ return target;
7
+ };
8
+
9
+ export { _export_sfc as default };
@@ -4,9 +4,7 @@ import { $APP_API_KEY } from '../../constants/provide-keys.js';
4
4
 
5
5
  const _hoisted_1 = { class: "c-app__wrapper" };
6
6
  var _sfc_main = /* @__PURE__ */ defineComponent({
7
- ...{
8
- name: "CApp"
9
- },
7
+ ...{ name: "CApp" },
10
8
  __name: "CApp",
11
9
  setup(__props) {
12
10
  const {
@@ -29,6 +27,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
29
27
  {
30
28
  ref_key: "appRef",
31
29
  ref: appRef,
30
+ role: "application",
32
31
  class: normalizeClass(["c-app", unref(classes)])
33
32
  },
34
33
  [
@@ -1,20 +1,21 @@
1
- import { defineComponent, shallowRef, useModel, watch, unref, resolveComponent, openBlock, createBlock, mergeProps, createSlots, withCtx, createElementVNode, toDisplayString, createVNode, renderSlot, createTextVNode, isRef, toHandlers, renderList, normalizeProps, guardReactiveProps, mergeModels } from 'vue';
1
+ import { defineComponent, useModel, shallowRef, watch, unref, resolveComponent, openBlock, createBlock, mergeProps, withCtx, renderSlot, createElementBlock, toDisplayString, createVNode, Fragment, renderList, createTextVNode, createElementVNode, normalizeProps, guardReactiveProps, isRef, toHandlers, mergeModels } from 'vue';
2
2
  import { useAutocomplete } from '../../composables/use-autocomplete.js';
3
3
  import _sfc_main$1 from '../CInput/CInput.js';
4
4
  import _sfc_main$2 from '../CMenu/CMenu.js';
5
- import { CItems } from '../CItems/CItems.js';
6
5
  import _sfc_main$3 from '../CField/CField.js';
7
6
  import { IconAliases } from '../../enums/IconName.js';
7
+ import { useKeyboard } from '../../composables/use-keyboard.js';
8
8
 
9
9
  var _sfc_main = /* @__PURE__ */ defineComponent({
10
- ...{
11
- name: "CAutocomplete"
12
- },
10
+ ...{ name: "CAutocomplete" },
13
11
  __name: "CAutocomplete",
14
12
  props: /* @__PURE__ */ mergeModels({
15
- modelValue: {},
16
13
  items: {},
14
+ titleKey: {},
15
+ valueKey: {},
16
+ modelValue: {},
17
17
  multiple: { type: Boolean },
18
+ mandatory: { type: Boolean },
18
19
  options: {}
19
20
  }, {
20
21
  "modelValue": {},
@@ -24,41 +25,70 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
24
25
  setup(__props, { emit: __emit }) {
25
26
  const props = __props;
26
27
  const emit = __emit;
27
- const { input, searchItems, rollbackValue } = useAutocomplete(props);
28
- const inputRef = shallowRef();
29
28
  const model = useModel(__props, "modelValue", {
30
29
  get: () => props.modelValue,
31
30
  set: (val) => val
32
31
  });
33
- function onCloseMenu() {
34
- unref(inputRef).onBlur();
35
- }
36
- function onSelect(value) {
37
- if (props.multiple) {
38
- model.value = [...model.value, value];
39
- return;
32
+ const {
33
+ inputValue,
34
+ searchItems,
35
+ chips,
36
+ hasValue,
37
+ select
38
+ } = useAutocomplete(props);
39
+ const inputRef = shallowRef();
40
+ const fieldRef = shallowRef();
41
+ const menuRef = shallowRef();
42
+ const menuListRef = shallowRef();
43
+ const { onKeydown } = useKeyboard({
44
+ Backspace: () => {
45
+ if (!unref(inputValue)) {
46
+ const data = unref(model);
47
+ model.value = props.multiple ? data.slice(0, -1) : void 0;
48
+ }
49
+ },
50
+ Tab: () => {
51
+ unref(inputRef).blur();
52
+ unref(menuRef).close();
53
+ },
54
+ Escape: () => {
55
+ unref(inputRef).blur();
56
+ unref(fieldRef).$el.blur();
57
+ },
58
+ ArrowDown: () => {
59
+ menuListRef.value.focus();
40
60
  }
41
- model.value = value;
61
+ });
62
+ function clear() {
63
+ model.value = props.multiple ? [] : void 0;
64
+ inputValue.value = "";
42
65
  }
43
- watch(input, (val) => {
44
- emit("update:search", unref(input));
45
- if (!val) {
46
- model.value = props.multiple ? [] : void 0;
47
- }
66
+ function focus() {
67
+ unref(inputRef).focus();
68
+ }
69
+ function blur() {
70
+ unref(inputRef).blur();
71
+ }
72
+ watch(inputValue, () => {
73
+ emit("update:search", unref(inputValue));
48
74
  });
49
75
  return (_ctx, _cache) => {
50
76
  const _component_c_icon = resolveComponent("c-icon");
77
+ const _component_c_list_item_title = resolveComponent("c-list-item-title");
78
+ const _component_c_list_item = resolveComponent("c-list-item");
79
+ const _component_c_list = resolveComponent("c-list");
51
80
  return openBlock(), createBlock(unref(_sfc_main$1), mergeProps({
52
81
  ref_key: "inputRef",
53
82
  ref: inputRef,
54
- modelValue: model.value,
55
- "onUpdate:modelValue": _cache[2] || (_cache[2] = ($event) => model.value = $event)
56
- }, _ctx.$attrs, { "validate-on": "blur" }), createSlots({
57
- field: withCtx(({ onInput, onFocus, focused, presets, readonly, attrs, uid }) => {
83
+ "model-value": model.value
84
+ }, _ctx.$attrs, { kind: "listbox" }), {
85
+ field: withCtx((field) => {
58
86
  var _a;
59
87
  return [
60
88
  createVNode(unref(_sfc_main$2), {
61
- id: `${uid}-menu`,
89
+ id: `${field.uid}-menu`,
90
+ ref_key: "menuRef",
91
+ ref: menuRef,
62
92
  bottom: "",
63
93
  "open-on-focus": "",
64
94
  "close-on-click-outside": "",
@@ -66,29 +96,72 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
66
96
  "offset-y": 2,
67
97
  strategy: "reverse",
68
98
  preset: (_a = __props.options) == null ? void 0 : _a.menuPreset,
69
- onClose: onCloseMenu,
70
- onOpen: unref(rollbackValue)
99
+ onClose: blur
71
100
  }, {
72
101
  activator: withCtx(({ on, activator }) => [
73
102
  createElementVNode(
74
103
  "div",
75
- mergeProps({ class: "c-autocomplete" }, activator, { class: presets }),
104
+ mergeProps({ class: "c-autocomplete" }, activator),
76
105
  [
77
- createVNode(unref(_sfc_main$3), mergeProps({
78
- id: uid,
79
- modelValue: unref(input),
80
- "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(input) ? input.value = $event : null),
81
- class: "c-autocomplete__field",
82
- type: "text",
83
- focused
84
- }, attrs, {
85
- readonly,
86
- "aria-controls": `${uid}-menu`,
87
- "aria-expanded": focused
88
- }, toHandlers(on), {
89
- onFocus,
90
- onInput
91
- }), null, 16, ["id", "modelValue", "focused", "readonly", "aria-controls", "aria-expanded", "onFocus", "onInput"])
106
+ renderSlot(_ctx.$slots, "field", normalizeProps(guardReactiveProps(field)), () => [
107
+ createVNode(unref(_sfc_main$3), mergeProps({
108
+ id: field.uid,
109
+ ref_key: "fieldRef",
110
+ ref: fieldRef,
111
+ modelValue: unref(inputValue),
112
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(inputValue) ? inputValue.value = $event : null)
113
+ }, field.attrs, {
114
+ class: "c-autocomplete__field",
115
+ label: field.label,
116
+ clearable: field.clearable,
117
+ disabled: field.disabled,
118
+ focused: field.focused,
119
+ readonly: field.readonly,
120
+ preset: field.preset,
121
+ filled: unref(hasValue),
122
+ error: field.hasError
123
+ }, toHandlers(on), {
124
+ onFocus: focus,
125
+ onKeydown: unref(onKeydown),
126
+ onClear: clear
127
+ }), {
128
+ prepend: withCtx(() => [
129
+ renderSlot(_ctx.$slots, "prepend")
130
+ ]),
131
+ append: withCtx(() => [
132
+ renderSlot(_ctx.$slots, "append", {}, () => [
133
+ createVNode(_component_c_icon, {
134
+ name: unref(IconAliases).DROPDOWN,
135
+ size: "20"
136
+ }, null, 8, ["name"])
137
+ ])
138
+ ]),
139
+ before: withCtx(() => [
140
+ renderSlot(_ctx.$slots, "chips", { items: unref(chips) }, () => [
141
+ (openBlock(true), createElementBlock(
142
+ Fragment,
143
+ null,
144
+ renderList(unref(chips), (it, i) => {
145
+ return openBlock(), createElementBlock(
146
+ "div",
147
+ {
148
+ key: it,
149
+ class: "c-autocomplete__item"
150
+ },
151
+ toDisplayString(`${it}` + (i + 1 !== unref(chips).length ? "," : "")),
152
+ 1
153
+ /* TEXT */
154
+ );
155
+ }),
156
+ 128
157
+ /* KEYED_FRAGMENT */
158
+ ))
159
+ ])
160
+ ]),
161
+ _: 3
162
+ /* FORWARDED */
163
+ }, 16, ["id", "modelValue", "label", "clearable", "disabled", "focused", "readonly", "preset", "filled", "error", "onKeydown"])
164
+ ])
92
165
  ],
93
166
  16
94
167
  /* FULL_PROPS */
@@ -96,66 +169,85 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
96
169
  ]),
97
170
  default: withCtx(() => [
98
171
  renderSlot(_ctx.$slots, "menu", {
99
- onSelect,
172
+ onSelect: unref(select),
100
173
  items: unref(searchItems)
101
174
  }, () => [
102
- createVNode(unref(CItems), {
175
+ createVNode(_component_c_list, {
176
+ ref_key: "menuListRef",
177
+ ref: menuListRef,
103
178
  modelValue: model.value,
104
179
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => model.value = $event),
105
- options: __props.options,
106
- items: unref(searchItems),
180
+ role: "listbox",
181
+ selectable: "",
107
182
  multiple: __props.multiple,
108
- mandatory: ""
183
+ mandatory: __props.mandatory
109
184
  }, {
110
- "no-items-message": withCtx(() => [
111
- renderSlot(_ctx.$slots, "no-items-message", {}, () => {
112
- var _a2, _b;
113
- return [
114
- createTextVNode(
115
- toDisplayString((_b = (_a2 = __props.options) == null ? void 0 : _a2.noItemsMessage) != null ? _b : "\u041D\u0435\u0442 \u0441\u043E\u0432\u043F\u0430\u0434\u0435\u043D\u0438\u0439"),
116
- 1
117
- /* TEXT */
118
- )
119
- ];
120
- })
185
+ default: withCtx(() => [
186
+ (openBlock(true), createElementBlock(
187
+ Fragment,
188
+ null,
189
+ renderList(unref(searchItems), (item) => {
190
+ var _a2;
191
+ return openBlock(), createBlock(_component_c_list_item, {
192
+ key: item.key,
193
+ value: (_a2 = item.value) != null ? _a2 : item.raw
194
+ }, {
195
+ default: withCtx(() => [
196
+ createVNode(
197
+ _component_c_list_item_title,
198
+ null,
199
+ {
200
+ default: withCtx(() => [
201
+ createTextVNode(
202
+ toDisplayString(item.title),
203
+ 1
204
+ /* TEXT */
205
+ )
206
+ ]),
207
+ _: 2
208
+ /* DYNAMIC */
209
+ },
210
+ 1024
211
+ /* DYNAMIC_SLOTS */
212
+ )
213
+ ]),
214
+ _: 2
215
+ /* DYNAMIC */
216
+ }, 1032, ["value"]);
217
+ }),
218
+ 128
219
+ /* KEYED_FRAGMENT */
220
+ ))
121
221
  ]),
122
- _: 3
123
- /* FORWARDED */
124
- }, 8, ["modelValue", "options", "items", "multiple"])
222
+ _: 1
223
+ /* STABLE */
224
+ }, 8, ["modelValue", "multiple", "mandatory"])
125
225
  ])
126
226
  ]),
127
227
  _: 2
128
228
  /* DYNAMIC */
129
- }, 1032, ["id", "close-on-content-click", "preset", "onOpen"])
229
+ }, 1032, ["id", "close-on-content-click", "preset"])
130
230
  ];
131
231
  }),
132
- append: withCtx(() => [
133
- createVNode(_component_c_icon, {
134
- name: unref(IconAliases).DROPDOWN,
135
- size: "20"
136
- }, null, 8, ["name"])
137
- ]),
138
- details: withCtx(({ errorMessage }) => [
139
- createElementVNode(
140
- "span",
141
- null,
142
- toDisplayString(errorMessage),
143
- 1
144
- /* TEXT */
145
- )
232
+ details: withCtx(({ errorMessage, details }) => [
233
+ renderSlot(_ctx.$slots, "details", {
234
+ errorMessage,
235
+ details
236
+ }, () => [
237
+ (openBlock(), createElementBlock(
238
+ "span",
239
+ {
240
+ key: errorMessage || details
241
+ },
242
+ toDisplayString(errorMessage || details),
243
+ 1
244
+ /* TEXT */
245
+ ))
246
+ ])
146
247
  ]),
147
- _: 2
148
- /* DYNAMIC */
149
- }, [
150
- renderList(_ctx.$slots, (_, slotName) => {
151
- return {
152
- name: slotName,
153
- fn: withCtx((data) => [
154
- renderSlot(_ctx.$slots, slotName, normalizeProps(guardReactiveProps(data)))
155
- ])
156
- };
157
- })
158
- ]), 1040, ["modelValue"]);
248
+ _: 3
249
+ /* FORWARDED */
250
+ }, 16, ["model-value"]);
159
251
  };
160
252
  }
161
253
  });
@@ -1,49 +1,48 @@
1
1
  import { defineComponent, computed, unref, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot } from 'vue';
2
2
  import { useButtonPresets } from '../../composables/use-button-presets.js';
3
3
 
4
+ const _hoisted_1 = ["disabled"];
4
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
5
- ...{
6
- name: "CBtn"
7
- },
6
+ ...{ name: "CBtn" },
8
7
  __name: "CBtn",
9
8
  props: {
10
9
  preset: {},
11
10
  variant: {},
12
- block: { type: Boolean }
11
+ block: { type: Boolean },
12
+ disabled: { type: Boolean }
13
13
  },
14
- setup(__props) {
14
+ emits: ["click"],
15
+ setup(__props, { emit: __emit }) {
15
16
  const props = __props;
17
+ const emit = __emit;
16
18
  const preset = useButtonPresets({ props });
17
19
  const classes = computed(() => [
18
20
  {
19
21
  "c-btn--flat": !props.variant || props.variant === "flat",
20
22
  "c-btn--outlined": props.variant === "outlined",
21
- "c-btn--block": props.block
23
+ "c-btn--block": props.block,
24
+ "c-btn--disabled": props.disabled
22
25
  },
23
26
  ...unref(preset).root
24
27
  ]);
25
28
  return (_ctx, _cache) => {
26
- return openBlock(), createElementBlock(
27
- "button",
28
- {
29
- class: normalizeClass(["c-btn", classes.value])
30
- },
31
- [
32
- createElementVNode(
33
- "div",
34
- {
35
- class: normalizeClass(["c-btn__label", unref(preset).label])
36
- },
37
- [
38
- renderSlot(_ctx.$slots, "default")
39
- ],
40
- 2
41
- /* CLASS */
42
- )
43
- ],
44
- 2
45
- /* CLASS */
46
- );
29
+ return openBlock(), createElementBlock("button", {
30
+ class: normalizeClass(["c-btn", classes.value]),
31
+ disabled: __props.disabled,
32
+ onClick: _cache[0] || (_cache[0] = (e) => emit("click", e))
33
+ }, [
34
+ createElementVNode(
35
+ "div",
36
+ {
37
+ class: normalizeClass(["c-btn__label", unref(preset).label])
38
+ },
39
+ [
40
+ renderSlot(_ctx.$slots, "default")
41
+ ],
42
+ 2
43
+ /* CLASS */
44
+ )
45
+ ], 10, _hoisted_1);
47
46
  };
48
47
  }
49
48
  });