@vueland/ui 0.0.1 → 0.0.3

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 +147 -0
  3. package/dist/_virtual/_plugin-vue_export-helper.js +9 -0
  4. package/dist/components/CApp/CApp.js +4 -5
  5. package/dist/components/CAutocomplete/CAutocomplete.js +200 -91
  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 +245 -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/CField/CField.js +160 -28
  31. package/dist/components/CForm/CForm.js +38 -22
  32. package/dist/components/CGrid/CCol.js +1 -3
  33. package/dist/components/CGrid/CRow.js +5 -7
  34. package/dist/components/CIcon/CIcon.js +3 -3
  35. package/dist/components/CInput/CInput.js +119 -109
  36. package/dist/components/CList/CList.js +106 -34
  37. package/dist/components/CList/CListItem.js +44 -14
  38. package/dist/components/CMenu/CMenu.js +54 -55
  39. package/dist/components/COverlay/COverlay.js +6 -5
  40. package/dist/components/CRadio/CRadio.js +11 -5
  41. package/dist/components/CRadio/CRadioGroup.js +10 -0
  42. package/dist/components/CSelect/CSelect.js +180 -71
  43. package/dist/components/CSelectControl/CSelectControl.js +14 -2
  44. package/dist/components/CTextField/CTextField.js +79 -52
  45. package/dist/components/CTextField/index.js +2 -2
  46. package/dist/components/CTextField/index2.js +5 -0
  47. package/dist/components/CToolbar/CToolbar.js +1 -3
  48. package/dist/components/CTooltip/CTooltip.js +13 -11
  49. package/dist/components/CTooltip/index.js +2 -2
  50. package/dist/components/CTooltip/index2.js +5 -0
  51. package/dist/components/global-components.d.ts +44 -0
  52. package/dist/components/index.d.ts +841 -504
  53. package/dist/components/index.js +11 -7
  54. package/dist/composables/index.d.ts +384 -235
  55. package/dist/composables/index.js +22 -14
  56. package/dist/composables/use-activator.js +15 -25
  57. package/dist/composables/{use-app-scroll.js → use-application-scroll.js} +4 -8
  58. package/dist/composables/use-aria-activator.js +15 -0
  59. package/dist/composables/use-aria-dialog.js +16 -0
  60. package/dist/composables/use-aria-field.js +18 -0
  61. package/dist/composables/use-aria-listbox.js +14 -0
  62. package/dist/composables/use-aria-toggle.js +15 -0
  63. package/dist/composables/use-auto-position.js +206 -118
  64. package/dist/composables/use-autocomplete.js +21 -19
  65. package/dist/composables/use-breakpoints.js +8 -0
  66. package/dist/composables/use-button-presets.js +3 -7
  67. package/dist/composables/use-delay-actions.js +8 -2
  68. package/dist/composables/use-display.js +26 -18
  69. package/dist/composables/use-field-presets.js +82 -0
  70. package/dist/composables/use-icon.js +106 -34
  71. package/dist/composables/use-id.js +9 -0
  72. package/dist/composables/use-input-presets.js +88 -19
  73. package/dist/composables/use-keyboard.js +52 -0
  74. package/dist/composables/use-list.js +8 -0
  75. package/dist/composables/use-menu.js +8 -0
  76. package/dist/composables/use-normalized-items.js +22 -0
  77. package/dist/composables/use-overlay-stack.js +4 -1
  78. package/dist/composables/use-presets.js +2 -2
  79. package/dist/composables/use-select-control.js +8 -0
  80. package/dist/composables/use-selected-chips.js +40 -0
  81. package/dist/composables/use-validate.js +32 -24
  82. package/dist/constants/aria.js +32 -0
  83. package/dist/constants/attrs.js +21 -0
  84. package/dist/constants/icons.js +55 -8
  85. package/dist/constants/index.d.ts +187 -53
  86. package/dist/constants/index.js +3 -1
  87. package/dist/constants/provide-keys.js +2 -1
  88. package/dist/css/lib.css +1 -0
  89. package/dist/css/utils/_borders.css +1 -0
  90. package/dist/css/utils/_borders.js +3 -0
  91. package/dist/css/utils/_display.css +1 -1
  92. package/dist/css/utils/_flex.css +1 -1
  93. package/dist/css/utils/_grid.css +1 -0
  94. package/dist/css/utils/_grid.js +3 -0
  95. package/dist/css/utils/_helpers.css +1 -1
  96. package/dist/css/utils/_positions.css +1 -1
  97. package/dist/css/utils/_radius.css +1 -1
  98. package/dist/css/utils/_sizing.css +1 -1
  99. package/dist/css/utils/_spaces.css +1 -1
  100. package/dist/css/utils/_text.css +1 -1
  101. package/dist/css/utils/_transitions.css +1 -1
  102. package/dist/css/utils/_typography.css +1 -1
  103. package/dist/enums/IconName.js +13 -0
  104. package/dist/enums/index.d.ts +15 -2
  105. package/dist/helpers/preset.js +11 -0
  106. package/dist/helpers/theme.js +41 -0
  107. package/dist/library.js +31 -9
  108. package/dist/resolvers/font-awesome.js +30 -0
  109. package/dist/resolvers/index.d.ts +48 -0
  110. package/dist/resolvers/index.js +1 -0
  111. package/dist/scss/lib.scss +26 -0
  112. package/dist/scss/maps/colors-map.scss +342 -0
  113. package/dist/scss/maps/elevations-map.scss +88 -0
  114. package/dist/scss/maps/flexes-map.scss +24 -0
  115. package/dist/scss/maps/grids.scss +23 -0
  116. package/dist/scss/modules/_global-vars.scss +88 -0
  117. package/dist/scss/ress.scss +281 -0
  118. package/dist/scss/styles.scss +20 -0
  119. package/dist/scss/utils/_borders.scss +28 -0
  120. package/dist/scss/utils/_colors.scss +86 -0
  121. package/dist/scss/utils/_cursor.scss +140 -0
  122. package/dist/scss/utils/_display.scss +32 -0
  123. package/dist/scss/utils/_elevations.scss +15 -0
  124. package/dist/scss/utils/_flex.scss +137 -0
  125. package/dist/scss/utils/_grid.scss +173 -0
  126. package/dist/scss/utils/_helpers.scss +47 -0
  127. package/dist/scss/utils/_opacity.scss +13 -0
  128. package/dist/scss/utils/_overflow.scss +51 -0
  129. package/dist/scss/utils/_positions.scss +42 -0
  130. package/dist/scss/utils/_radius.scss +41 -0
  131. package/dist/scss/utils/_sizing.scss +40 -0
  132. package/dist/scss/utils/_spaces.scss +164 -0
  133. package/dist/scss/utils/_text.scss +76 -0
  134. package/dist/scss/utils/_transitions.scss +98 -0
  135. package/dist/scss/utils/_typography.scss +81 -0
  136. package/dist/styles.css +1 -1
  137. package/dist/temp-types/src/components/CApp/CApp.vue.d.ts +2 -4
  138. package/dist/temp-types/src/components/CApp/CApp.vue.d.ts.map +1 -1
  139. package/dist/temp-types/src/components/CApp/types.d.ts +4 -0
  140. package/dist/temp-types/src/components/CApp/types.d.ts.map +1 -1
  141. package/dist/temp-types/src/components/CAutocomplete/CAutocomplete.vue.d.ts +7 -2
  142. package/dist/temp-types/src/components/CAutocomplete/CAutocomplete.vue.d.ts.map +1 -1
  143. package/dist/temp-types/src/components/CAutocomplete/types.d.ts +16 -6
  144. package/dist/temp-types/src/components/CAutocomplete/types.d.ts.map +1 -1
  145. package/dist/temp-types/src/components/CBtn/CBtn.vue.d.ts +5 -1
  146. package/dist/temp-types/src/components/CBtn/CBtn.vue.d.ts.map +1 -1
  147. package/dist/temp-types/src/components/CBtn/index.d.ts +1 -0
  148. package/dist/temp-types/src/components/CBtn/index.d.ts.map +1 -1
  149. package/dist/temp-types/src/components/CBtn/types.d.ts +1 -0
  150. package/dist/temp-types/src/components/CBtn/types.d.ts.map +1 -1
  151. package/dist/temp-types/src/components/CCheckbox/CCheckbox.vue.d.ts +2 -6
  152. package/dist/temp-types/src/components/CCheckbox/CCheckbox.vue.d.ts.map +1 -1
  153. package/dist/temp-types/src/components/CCheckbox/CheckboxElement.vue.d.ts +32 -0
  154. package/dist/temp-types/src/components/CCheckbox/CheckboxElement.vue.d.ts.map +1 -0
  155. package/dist/temp-types/src/components/CCheckbox/types.d.ts +7 -4
  156. package/dist/temp-types/src/components/CCheckbox/types.d.ts.map +1 -1
  157. package/dist/temp-types/src/components/CChip/CChip.vue.d.ts +13 -0
  158. package/dist/temp-types/src/components/CChip/CChip.vue.d.ts.map +1 -0
  159. package/dist/temp-types/src/components/CChip/index.d.ts +2 -0
  160. package/dist/temp-types/src/components/CChip/index.d.ts.map +1 -0
  161. package/dist/temp-types/src/components/CDateInput/CDateInput.vue.d.ts +61 -0
  162. package/dist/temp-types/src/components/CDateInput/CDateInput.vue.d.ts.map +1 -0
  163. package/dist/temp-types/src/components/CDateInput/index.d.ts +3 -0
  164. package/dist/temp-types/src/components/CDateInput/index.d.ts.map +1 -0
  165. package/dist/temp-types/src/components/CDatePicker/CDatePicker.vue.d.ts +82 -0
  166. package/dist/temp-types/src/components/CDatePicker/CDatePicker.vue.d.ts.map +1 -0
  167. package/dist/temp-types/src/components/CDatePicker/CDatePickerDates.vue.d.ts +60 -0
  168. package/dist/temp-types/src/components/CDatePicker/CDatePickerDates.vue.d.ts.map +1 -0
  169. package/dist/temp-types/src/components/CDatePicker/CDatePickerHeader.vue.d.ts +27 -0
  170. package/dist/temp-types/src/components/CDatePicker/CDatePickerHeader.vue.d.ts.map +1 -0
  171. package/dist/temp-types/src/components/CDatePicker/CDatePickerMonths.vue.d.ts +40 -0
  172. package/dist/temp-types/src/components/CDatePicker/CDatePickerMonths.vue.d.ts.map +1 -0
  173. package/dist/temp-types/src/components/CDatePicker/CDatePickerYears.vue.d.ts +34 -0
  174. package/dist/temp-types/src/components/CDatePicker/CDatePickerYears.vue.d.ts.map +1 -0
  175. package/dist/temp-types/src/components/CDatePicker/helpers.d.ts +4 -0
  176. package/dist/temp-types/src/components/CDatePicker/helpers.d.ts.map +1 -0
  177. package/dist/temp-types/src/components/CDatePicker/index.d.ts +6 -0
  178. package/dist/temp-types/src/components/CDatePicker/index.d.ts.map +1 -0
  179. package/dist/temp-types/src/components/CDatePicker/locales/index.d.ts +7 -0
  180. package/dist/temp-types/src/components/CDatePicker/locales/index.d.ts.map +1 -0
  181. package/dist/temp-types/src/components/CDatePicker/types.d.ts +22 -0
  182. package/dist/temp-types/src/components/CDatePicker/types.d.ts.map +1 -0
  183. package/dist/temp-types/src/components/CDatePicker/utils.d.ts +8 -0
  184. package/dist/temp-types/src/components/CDatePicker/utils.d.ts.map +1 -0
  185. package/dist/temp-types/src/components/CDialog/CDialog.vue.d.ts +1 -1
  186. package/dist/temp-types/src/components/CDialog/CDialog.vue.d.ts.map +1 -1
  187. package/dist/temp-types/src/components/CDialog/CDialogsStack.vue.d.ts.map +1 -1
  188. package/dist/temp-types/src/components/CDialog/types.d.ts.map +1 -1
  189. package/dist/temp-types/src/components/CField/CField.vue.d.ts +26 -10
  190. package/dist/temp-types/src/components/CField/CField.vue.d.ts.map +1 -1
  191. package/dist/temp-types/src/components/CField/index.d.ts +1 -0
  192. package/dist/temp-types/src/components/CField/index.d.ts.map +1 -1
  193. package/dist/temp-types/src/components/CField/types.d.ts +22 -0
  194. package/dist/temp-types/src/components/CField/types.d.ts.map +1 -0
  195. package/dist/temp-types/src/components/CForm/CForm.vue.d.ts +10 -8
  196. package/dist/temp-types/src/components/CForm/CForm.vue.d.ts.map +1 -1
  197. package/dist/temp-types/src/components/CForm/types.d.ts +13 -3
  198. package/dist/temp-types/src/components/CForm/types.d.ts.map +1 -1
  199. package/dist/temp-types/src/components/CGrid/CCol.d.ts.map +1 -1
  200. package/dist/temp-types/src/components/CGrid/CRow.d.ts +1 -1
  201. package/dist/temp-types/src/components/CGrid/CRow.d.ts.map +1 -1
  202. package/dist/temp-types/src/components/CGrid/index.d.ts +1 -1
  203. package/dist/temp-types/src/components/CIcon/CIcon.vue.d.ts.map +1 -1
  204. package/dist/temp-types/src/components/CIcon/types.d.ts +1 -2
  205. package/dist/temp-types/src/components/CIcon/types.d.ts.map +1 -1
  206. package/dist/temp-types/src/components/CInput/CInput.vue.d.ts +23 -7
  207. package/dist/temp-types/src/components/CInput/CInput.vue.d.ts.map +1 -1
  208. package/dist/temp-types/src/components/CInput/types.d.ts +42 -28
  209. package/dist/temp-types/src/components/CInput/types.d.ts.map +1 -1
  210. package/dist/temp-types/src/components/CLabel/CLabel.d.ts.map +1 -1
  211. package/dist/temp-types/src/components/CList/CList.vue.d.ts +7 -1
  212. package/dist/temp-types/src/components/CList/CList.vue.d.ts.map +1 -1
  213. package/dist/temp-types/src/components/CList/CListItem.vue.d.ts.map +1 -1
  214. package/dist/temp-types/src/components/CList/types.d.ts +18 -1
  215. package/dist/temp-types/src/components/CList/types.d.ts.map +1 -1
  216. package/dist/temp-types/src/components/CMenu/CMenu.vue.d.ts +6 -6
  217. package/dist/temp-types/src/components/CMenu/CMenu.vue.d.ts.map +1 -1
  218. package/dist/temp-types/src/components/CMenu/types.d.ts +2 -2
  219. package/dist/temp-types/src/components/CMenu/types.d.ts.map +1 -1
  220. package/dist/temp-types/src/components/COverlay/COverlay.vue.d.ts.map +1 -1
  221. package/dist/temp-types/src/components/CRadio/CRadio.vue.d.ts.map +1 -1
  222. package/dist/temp-types/src/components/CRadio/CRadioGroup.vue.d.ts +13 -0
  223. package/dist/temp-types/src/components/CRadio/CRadioGroup.vue.d.ts.map +1 -0
  224. package/dist/temp-types/src/components/CRadio/index.d.ts +1 -0
  225. package/dist/temp-types/src/components/CRadio/index.d.ts.map +1 -1
  226. package/dist/temp-types/src/components/CScrim/index.d.ts.map +1 -1
  227. package/dist/temp-types/src/components/CSelect/CSelect.vue.d.ts +7 -2
  228. package/dist/temp-types/src/components/CSelect/CSelect.vue.d.ts.map +1 -1
  229. package/dist/temp-types/src/components/CSelect/types.d.ts +16 -6
  230. package/dist/temp-types/src/components/CSelect/types.d.ts.map +1 -1
  231. package/dist/temp-types/src/components/CSelectControl/CSelectControl.vue.d.ts +5 -1
  232. package/dist/temp-types/src/components/CSelectControl/CSelectControl.vue.d.ts.map +1 -1
  233. package/dist/temp-types/src/components/CTextField/CTextField.vue.d.ts +19 -17
  234. package/dist/temp-types/src/components/CTextField/CTextField.vue.d.ts.map +1 -1
  235. package/dist/temp-types/src/components/CTextField/index.d.ts +10 -1
  236. package/dist/temp-types/src/components/CTextField/index.d.ts.map +1 -1
  237. package/dist/temp-types/src/components/CTextField/types.d.ts +16 -0
  238. package/dist/temp-types/src/components/CTextField/types.d.ts.map +1 -0
  239. package/dist/temp-types/src/components/CToolbar/CToolbar.vue.d.ts.map +1 -1
  240. package/dist/temp-types/src/components/CTooltip/CTooltip.vue.d.ts +3 -1
  241. package/dist/temp-types/src/components/CTooltip/CTooltip.vue.d.ts.map +1 -1
  242. package/dist/temp-types/src/components/CTooltip/index.d.ts +7 -1
  243. package/dist/temp-types/src/components/CTooltip/index.d.ts.map +1 -1
  244. package/dist/temp-types/src/components/index.d.ts +17 -15
  245. package/dist/temp-types/src/components/index.d.ts.map +1 -1
  246. package/dist/temp-types/src/composables/index.d.ts +22 -14
  247. package/dist/temp-types/src/composables/index.d.ts.map +1 -1
  248. package/dist/temp-types/src/composables/use-activator.d.ts +4 -2
  249. package/dist/temp-types/src/composables/use-activator.d.ts.map +1 -1
  250. package/dist/temp-types/src/composables/{use-app-scroll.d.ts → use-application-scroll.d.ts} +2 -2
  251. package/dist/temp-types/src/composables/use-application-scroll.d.ts.map +1 -0
  252. package/dist/temp-types/src/composables/use-application.d.ts.map +1 -1
  253. package/dist/temp-types/src/composables/use-aria-activator.d.ts +8 -0
  254. package/dist/temp-types/src/composables/use-aria-activator.d.ts.map +1 -0
  255. package/dist/temp-types/src/composables/use-aria-dialog.d.ts +9 -0
  256. package/dist/temp-types/src/composables/use-aria-dialog.d.ts.map +1 -0
  257. package/dist/temp-types/src/composables/use-aria-field.d.ts +13 -0
  258. package/dist/temp-types/src/composables/use-aria-field.d.ts.map +1 -0
  259. package/dist/temp-types/src/composables/use-aria-listbox.d.ts +8 -0
  260. package/dist/temp-types/src/composables/use-aria-listbox.d.ts.map +1 -0
  261. package/dist/temp-types/src/composables/use-aria-toggle.d.ts +11 -0
  262. package/dist/temp-types/src/composables/use-aria-toggle.d.ts.map +1 -0
  263. package/dist/temp-types/src/composables/use-auto-position.d.ts +12 -9
  264. package/dist/temp-types/src/composables/use-auto-position.d.ts.map +1 -1
  265. package/dist/temp-types/src/composables/use-autocomplete.d.ts +9 -4
  266. package/dist/temp-types/src/composables/use-autocomplete.d.ts.map +1 -1
  267. package/dist/temp-types/src/composables/use-breakpoints.d.ts +1 -0
  268. package/dist/temp-types/src/composables/use-breakpoints.d.ts.map +1 -1
  269. package/dist/temp-types/src/composables/use-button-presets.d.ts +2 -2
  270. package/dist/temp-types/src/composables/use-button-presets.d.ts.map +1 -1
  271. package/dist/temp-types/src/composables/use-core.d.ts.map +1 -1
  272. package/dist/temp-types/src/composables/use-delay-actions.d.ts.map +1 -1
  273. package/dist/temp-types/src/composables/use-dialogs-stack.d.ts +3 -3
  274. package/dist/temp-types/src/composables/use-dialogs-stack.d.ts.map +1 -1
  275. package/dist/temp-types/src/composables/use-display.d.ts +29 -55
  276. package/dist/temp-types/src/composables/use-display.d.ts.map +1 -1
  277. package/dist/temp-types/src/composables/use-effect.d.ts.map +1 -1
  278. package/dist/temp-types/src/composables/use-field-presets.d.ts +12 -0
  279. package/dist/temp-types/src/composables/use-field-presets.d.ts.map +1 -0
  280. package/dist/temp-types/src/composables/use-form.d.ts +1 -1
  281. package/dist/temp-types/src/composables/use-form.d.ts.map +1 -1
  282. package/dist/temp-types/src/composables/use-icon.d.ts +32 -4
  283. package/dist/temp-types/src/composables/use-icon.d.ts.map +1 -1
  284. package/dist/temp-types/src/composables/use-id.d.ts +6 -0
  285. package/dist/temp-types/src/composables/use-id.d.ts.map +1 -0
  286. package/dist/temp-types/src/composables/use-input-presets.d.ts +6 -7
  287. package/dist/temp-types/src/composables/use-input-presets.d.ts.map +1 -1
  288. package/dist/temp-types/src/composables/use-keyboard.d.ts +11 -0
  289. package/dist/temp-types/src/composables/use-keyboard.d.ts.map +1 -0
  290. package/dist/temp-types/src/composables/use-list.d.ts +3 -0
  291. package/dist/temp-types/src/composables/use-list.d.ts.map +1 -0
  292. package/dist/temp-types/src/composables/use-menu.d.ts +2 -0
  293. package/dist/temp-types/src/composables/use-menu.d.ts.map +1 -0
  294. package/dist/temp-types/src/composables/use-normalized-items.d.ts +18 -0
  295. package/dist/temp-types/src/composables/use-normalized-items.d.ts.map +1 -0
  296. package/dist/temp-types/src/composables/use-overlay-stack.d.ts +1 -0
  297. package/dist/temp-types/src/composables/use-overlay-stack.d.ts.map +1 -1
  298. package/dist/temp-types/src/composables/use-presets.d.ts.map +1 -1
  299. package/dist/temp-types/src/composables/use-select-control.d.ts +2 -0
  300. package/dist/temp-types/src/composables/use-select-control.d.ts.map +1 -0
  301. package/dist/temp-types/src/composables/use-selected-chips.d.ts +16 -0
  302. package/dist/temp-types/src/composables/use-selected-chips.d.ts.map +1 -0
  303. package/dist/temp-types/src/composables/use-toggle.d.ts +1 -1
  304. package/dist/temp-types/src/composables/use-toggle.d.ts.map +1 -1
  305. package/dist/temp-types/src/composables/use-validate.d.ts +10 -8
  306. package/dist/temp-types/src/composables/use-validate.d.ts.map +1 -1
  307. package/dist/temp-types/src/constants/aria.d.ts +35 -0
  308. package/dist/temp-types/src/constants/aria.d.ts.map +1 -0
  309. package/dist/temp-types/src/constants/attrs.d.ts +2 -0
  310. package/dist/temp-types/src/constants/attrs.d.ts.map +1 -0
  311. package/dist/temp-types/src/constants/icons.d.ts +91 -18
  312. package/dist/temp-types/src/constants/icons.d.ts.map +1 -1
  313. package/dist/temp-types/src/constants/index.d.ts +3 -1
  314. package/dist/temp-types/src/constants/index.d.ts.map +1 -1
  315. package/dist/temp-types/src/constants/provide-keys.d.ts +7 -6
  316. package/dist/temp-types/src/constants/provide-keys.d.ts.map +1 -1
  317. package/dist/temp-types/src/directives/v-click-outside.d.ts.map +1 -1
  318. package/dist/temp-types/src/enums/IconName.d.ts +15 -2
  319. package/dist/temp-types/src/enums/IconName.d.ts.map +1 -1
  320. package/dist/temp-types/src/helpers/index.d.ts +2 -0
  321. package/dist/temp-types/src/helpers/index.d.ts.map +1 -1
  322. package/dist/temp-types/src/helpers/preset.d.ts +8 -0
  323. package/dist/temp-types/src/helpers/preset.d.ts.map +1 -0
  324. package/dist/temp-types/src/helpers/theme.d.ts +4 -0
  325. package/dist/temp-types/src/helpers/theme.d.ts.map +1 -0
  326. package/dist/temp-types/src/index.d.ts.map +1 -1
  327. package/dist/temp-types/src/library.d.ts +10 -3
  328. package/dist/temp-types/src/library.d.ts.map +1 -1
  329. package/dist/temp-types/src/resolvers/font-awesome.d.ts +18 -0
  330. package/dist/temp-types/src/resolvers/font-awesome.d.ts.map +1 -0
  331. package/dist/temp-types/src/resolvers/index.d.ts +2 -0
  332. package/dist/temp-types/src/resolvers/index.d.ts.map +1 -0
  333. package/dist/temp-types/src/resolvers/material.d.ts +1 -0
  334. package/dist/temp-types/src/resolvers/material.d.ts.map +1 -0
  335. package/dist/temp-types/src/types/icons.d.ts +29 -0
  336. package/dist/temp-types/src/types/icons.d.ts.map +1 -0
  337. package/dist/temp-types/src/types/index.d.ts +4 -2
  338. package/dist/temp-types/src/types/index.d.ts.map +1 -1
  339. package/dist/temp-types/src/types/presets.d.ts +35 -47
  340. package/dist/temp-types/src/types/presets.d.ts.map +1 -1
  341. package/dist/temp-types/src/types/theme.d.ts +32 -0
  342. package/dist/temp-types/src/types/theme.d.ts.map +1 -0
  343. package/dist/temp-types/src/utils/aria.d.ts +36 -0
  344. package/dist/temp-types/src/utils/aria.d.ts.map +1 -0
  345. package/dist/temp-types/src/utils/compile-css-classes.d.ts.map +1 -1
  346. package/dist/temp-types/src/utils/create-simple-functional.d.ts.map +1 -1
  347. package/dist/temp-types/src/utils/index.d.ts +3 -2
  348. package/dist/temp-types/src/utils/index.d.ts.map +1 -1
  349. package/dist/temp-types/src/utils/throttle.d.ts.map +1 -1
  350. package/dist/temp-types/tsconfig.build.tsbuildinfo +1 -1
  351. package/dist/types/index.d.ts +125 -0
  352. package/dist/types.d.ts +137 -72
  353. package/dist/utils/aria.js +95 -0
  354. package/dist/utils/compile-css-classes.js +3 -13
  355. package/dist/utils/create-simple-functional.js +1 -5
  356. package/dist/utils/index.d.ts +48 -10
  357. package/dist/utils/index.js +3 -2
  358. package/package.json +35 -9
  359. package/dist/components/CItems/CItems.js +0 -66
  360. package/dist/composables/use-field-attrs.js +0 -43
  361. package/dist/composables/use-input-state.js +0 -41
  362. package/dist/composables/use-input-value.js +0 -18
  363. package/dist/composables/use-menu-presets.js +0 -17
  364. package/dist/composables/use-position-classes.js +0 -12
  365. package/dist/css/themes/default-theme.css +0 -1
  366. package/dist/temp-types/src/components/CItems/CItems.d.ts +0 -16
  367. package/dist/temp-types/src/components/CItems/CItems.d.ts.map +0 -1
  368. package/dist/temp-types/src/components/CItems/index.d.ts +0 -2
  369. package/dist/temp-types/src/components/CItems/index.d.ts.map +0 -1
  370. package/dist/temp-types/src/composables/use-app-scroll.d.ts.map +0 -1
  371. package/dist/temp-types/src/composables/use-field-attrs.d.ts +0 -10
  372. package/dist/temp-types/src/composables/use-field-attrs.d.ts.map +0 -1
  373. package/dist/temp-types/src/composables/use-input-state.d.ts +0 -17
  374. package/dist/temp-types/src/composables/use-input-state.d.ts.map +0 -1
  375. package/dist/temp-types/src/composables/use-input-value.d.ts +0 -3
  376. package/dist/temp-types/src/composables/use-input-value.d.ts.map +0 -1
  377. package/dist/temp-types/src/composables/use-menu-presets.d.ts +0 -7
  378. package/dist/temp-types/src/composables/use-menu-presets.d.ts.map +0 -1
  379. package/dist/temp-types/src/composables/use-position-classes.d.ts +0 -10
  380. package/dist/temp-types/src/composables/use-position-classes.d.ts.map +0 -1
  381. package/dist/temp-types/src/utils/define-preset.d.ts +0 -2
  382. package/dist/temp-types/src/utils/define-preset.d.ts.map +0 -1
  383. /package/dist/css/{themes/default-theme.js → lib.js} +0 -0
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,147 @@
1
+ <div align="center">
2
+ <img src="https://raw.githubusercontent.com/vueland/vueland/master/logo.png" style="max-width: 100%;">
3
+ </div>
4
+
5
+ <div align="center">
6
+ <h1>@vueland/ui</h1>
7
+ <p>UI layer of the <a href="https://github.com/vueland/vueland">Vueland platform</a></p>
8
+ <p>
9
+ <a href="https://vueland.github.io/vueland/en/components/">Documentation</a> ·
10
+ <a href="https://www.npmjs.com/package/@vueland/ui">npm</a>
11
+ </p>
12
+ <p>
13
+ <a href="https://github.com/vueland/vueland">
14
+ <img src="https://img.shields.io/github/stars/vueland/vueland?style=flat&logo=github&label=Star%20us%20on%20GitHub" alt="GitHub Stars">
15
+ </a>
16
+ </p>
17
+ </div>
18
+
19
+ ---
20
+
21
+ > **⚠️ Active development — not production ready**
22
+ > APIs may change between releases without notice. Production-ready components are marked **Stable** in the docs.
23
+
24
+ `@vueland/ui` is the UI layer of the Vueland platform. It provides components built for real-world frontend needs: a 12-column grid, form controls with validation and presets, overlays, composables, and a slot-first architecture that lets you replace visual sections of complex components without losing their behavior.
25
+
26
+ ## Documentation
27
+
28
+ Full documentation, examples, and component API references:
29
+
30
+ https://vueland.github.io/vueland/en/guide/getting-started
31
+
32
+ ## Installation
33
+
34
+ ```bash
35
+ # pnpm
36
+ pnpm add @vueland/ui
37
+
38
+ # npm
39
+ npm install @vueland/ui
40
+
41
+ # yarn
42
+ yarn add @vueland/ui
43
+ ```
44
+
45
+ ## Setup
46
+
47
+ ### 1. Register the library
48
+
49
+ ```ts
50
+ // src/main.ts
51
+ import { createApp } from 'vue'
52
+ import { createVuelandUI } from '@vueland/ui'
53
+ import * as components from '@vueland/ui/components'
54
+
55
+ import '@vueland/ui/styles/styles.scss'
56
+ import '@vueland/ui/styles/lib.scss'
57
+
58
+ import App from './App.vue'
59
+
60
+ const app = createApp(App)
61
+ app.use(createVuelandUI({ components }))
62
+ app.mount('#app')
63
+ ```
64
+
65
+ > **Import SCSS source, not pre-compiled CSS.** Styles are compiled by Vite at build time. If you import `dist/styles.css`, breakpoints configured via `@vueland/utils-jit` will not be applied.
66
+
67
+ ### 2. Use components
68
+
69
+ Components are registered globally after `app.use(vueland)`:
70
+
71
+ ```vue
72
+ <template>
73
+ <CRow>
74
+ <CCol cols="12" sm="6" md="4">
75
+ <CCard class="pa-4 elevation-2">Hello Vueland</CCard>
76
+ </CCol>
77
+ </CRow>
78
+ </template>
79
+ ```
80
+
81
+ ## Breakpoints
82
+
83
+ Material Design breakpoint scale, shared across the grid, utility classes, and `useDisplay`:
84
+
85
+ | Name | min-width |
86
+ |------|-----------|
87
+ | xs | 0 |
88
+ | sm | 600px |
89
+ | md | 960px |
90
+ | lg | 1280px |
91
+ | xl | 1920px |
92
+ | xxl | 2560px |
93
+
94
+ To customize breakpoints, use [`@vueland/utils-jit`](https://www.npmjs.com/package/@vueland/utils-jit) — one config in `vite.config.ts` syncs all layers. See the [Breakpoints guide](https://vueland.github.io/vueland/en/guide/breakpoints).
95
+
96
+ ## Grid system
97
+
98
+ ```vue
99
+ <CRow align="center" justify="space-between">
100
+ <CCol cols="12" sm="6" md="4">
101
+ <CCard class="pa-4">Card</CCard>
102
+ </CCol>
103
+ </CRow>
104
+ ```
105
+
106
+ ## Utility classes
107
+
108
+ ```html
109
+ <div class="pa-2 md:pa-6 lg:pa-10">responsive padding</div>
110
+ <div class="d-none md:d-flex">hidden on mobile</div>
111
+ <div class="bg-indigo text-white radius-12 elevation-2">styled card</div>
112
+ ```
113
+
114
+ ## `useDisplay` composable
115
+
116
+ ```vue
117
+ <script setup lang="ts">
118
+ import { useBreakpoints } from '@vueland/ui/composables'
119
+
120
+ const { mdAndUp } = useBreakpoints()
121
+ </script>
122
+
123
+ <template>
124
+ <CRow>
125
+ <CCol :cols="mdAndUp ? 6 : 12">Adaptive column</CCol>
126
+ </CRow>
127
+ </template>
128
+ ```
129
+
130
+ ## Part of the Vueland platform
131
+
132
+ `@vueland/ui` is one part of the Vueland platform. The platform also includes:
133
+
134
+ - [`@vueland/utils-jit`](https://www.npmjs.com/package/@vueland/utils-jit) — JIT utility class generation for Vite
135
+ - More plugins and adapters coming over time
136
+
137
+ See the [platform overview](https://github.com/vueland/vueland) for the full picture.
138
+
139
+ ## ⭐ Support the project
140
+
141
+ If this package is useful to you, a star on GitHub goes a long way.
142
+
143
+ **[Star on GitHub →](https://github.com/vueland/vueland)**
144
+
145
+ ## License
146
+
147
+ 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 };
@@ -1,12 +1,10 @@
1
1
  import { defineComponent, provide, openBlock, createElementBlock, normalizeClass, unref, createElementVNode, renderSlot } from 'vue';
2
- import { useAppScroll } from '../../composables/use-app-scroll.js';
2
+ import { useApplicationScroll } from '../../composables/use-application-scroll.js';
3
3
  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 {
@@ -16,7 +14,7 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
16
14
  getScrollLeft,
17
15
  blockScroll,
18
16
  unblockScroll
19
- } = useAppScroll();
17
+ } = useApplicationScroll();
20
18
  provide($APP_API_KEY, {
21
19
  getScrollTop,
22
20
  getScrollLeft,
@@ -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, computed, unref, watch, 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,71 +25,160 @@ 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 ariaControls = computed(() => {
44
+ var _a;
45
+ return (_a = unref(menuListRef)) == null ? void 0 : _a.listId;
46
+ });
47
+ const ariaActiveDescendant = computed(() => {
48
+ var _a;
49
+ return (_a = unref(menuListRef)) == null ? void 0 : _a.activeDescendant;
50
+ });
51
+ const { onKeydown } = useKeyboard({
52
+ Backspace: () => {
53
+ if (!unref(inputValue)) {
54
+ const data = unref(model);
55
+ model.value = props.multiple ? data.slice(0, -1) : void 0;
56
+ }
57
+ },
58
+ Tab: () => {
59
+ unref(inputRef).blur();
60
+ unref(menuRef).close();
61
+ },
62
+ Escape: () => {
63
+ unref(inputRef).blur();
64
+ unref(fieldRef).$el.blur();
65
+ },
66
+ ArrowDown: () => {
67
+ var _a;
68
+ return (_a = unref(menuListRef)) == null ? void 0 : _a.navigateDown();
69
+ },
70
+ ArrowUp: () => {
71
+ var _a;
72
+ return (_a = unref(menuListRef)) == null ? void 0 : _a.navigateUp();
40
73
  }
41
- model.value = value;
74
+ }, { prevent: ["ArrowDown", "ArrowUp"] });
75
+ function clear() {
76
+ model.value = props.multiple ? [] : void 0;
77
+ inputValue.value = "";
42
78
  }
43
- watch(input, (val) => {
44
- emit("update:search", unref(input));
45
- if (!val) {
46
- model.value = props.multiple ? [] : void 0;
47
- }
79
+ function focus() {
80
+ unref(inputRef).focus();
81
+ }
82
+ function blur() {
83
+ unref(inputRef).blur();
84
+ }
85
+ watch(inputValue, () => {
86
+ emit("update:search", unref(inputValue));
48
87
  });
49
88
  return (_ctx, _cache) => {
50
89
  const _component_c_icon = resolveComponent("c-icon");
90
+ const _component_c_list_item_title = resolveComponent("c-list-item-title");
91
+ const _component_c_list_item = resolveComponent("c-list-item");
92
+ const _component_c_list = resolveComponent("c-list");
51
93
  return openBlock(), createBlock(unref(_sfc_main$1), mergeProps({
52
94
  ref_key: "inputRef",
53
95
  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 }) => {
96
+ "model-value": model.value
97
+ }, _ctx.$attrs, {
98
+ role: "combobox",
99
+ "aria-controls": ariaControls.value,
100
+ "aria-activedescendant": ariaActiveDescendant.value
101
+ }), {
102
+ field: withCtx((field) => {
58
103
  var _a;
59
104
  return [
60
105
  createVNode(unref(_sfc_main$2), {
61
- id: `${uid}-menu`,
62
- bottom: "",
106
+ id: `${field.uid}-menu`,
107
+ ref_key: "menuRef",
108
+ ref: menuRef,
109
+ align: "bottom",
63
110
  "open-on-focus": "",
64
111
  "close-on-click-outside": "",
65
112
  "close-on-content-click": !__props.multiple,
66
113
  "offset-y": 2,
67
114
  strategy: "reverse",
68
115
  preset: (_a = __props.options) == null ? void 0 : _a.menuPreset,
69
- onClose: onCloseMenu,
70
- onOpen: unref(rollbackValue)
116
+ onClose: blur
71
117
  }, {
72
118
  activator: withCtx(({ on, activator }) => [
73
119
  createElementVNode(
74
120
  "div",
75
- mergeProps({ class: "c-autocomplete" }, activator, { class: presets }),
121
+ mergeProps({ class: "c-autocomplete" }, activator),
76
122
  [
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"])
123
+ renderSlot(_ctx.$slots, "field", normalizeProps(guardReactiveProps(field)), () => [
124
+ createVNode(unref(_sfc_main$3), mergeProps({
125
+ id: field.uid,
126
+ ref_key: "fieldRef",
127
+ ref: fieldRef,
128
+ modelValue: unref(inputValue),
129
+ "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(inputValue) ? inputValue.value = $event : null)
130
+ }, field.attrs, {
131
+ class: "c-autocomplete__field",
132
+ label: field.label,
133
+ clearable: field.clearable,
134
+ disabled: field.disabled,
135
+ focused: field.focused,
136
+ readonly: field.readonly,
137
+ preset: field.preset,
138
+ filled: unref(hasValue),
139
+ error: field.hasError
140
+ }, toHandlers(on), {
141
+ onFocus: focus,
142
+ onKeydown: unref(onKeydown),
143
+ onClear: clear
144
+ }), {
145
+ prepend: withCtx(() => [
146
+ renderSlot(_ctx.$slots, "prepend")
147
+ ]),
148
+ append: withCtx(() => [
149
+ renderSlot(_ctx.$slots, "append", {}, () => [
150
+ createVNode(_component_c_icon, {
151
+ name: unref(IconAliases).DROPDOWN,
152
+ size: "20"
153
+ }, null, 8, ["name"])
154
+ ])
155
+ ]),
156
+ before: withCtx(() => [
157
+ renderSlot(_ctx.$slots, "chips", { items: unref(chips) }, () => [
158
+ (openBlock(true), createElementBlock(
159
+ Fragment,
160
+ null,
161
+ renderList(unref(chips), (it, i) => {
162
+ return openBlock(), createElementBlock(
163
+ "div",
164
+ {
165
+ key: it,
166
+ class: "c-autocomplete__item"
167
+ },
168
+ toDisplayString(`${it}` + (i + 1 !== unref(chips).length ? "," : "")),
169
+ 1
170
+ /* TEXT */
171
+ );
172
+ }),
173
+ 128
174
+ /* KEYED_FRAGMENT */
175
+ ))
176
+ ])
177
+ ]),
178
+ _: 3
179
+ /* FORWARDED */
180
+ }, 16, ["id", "modelValue", "label", "clearable", "disabled", "focused", "readonly", "preset", "filled", "error", "onKeydown"])
181
+ ])
92
182
  ],
93
183
  16
94
184
  /* FULL_PROPS */
@@ -96,66 +186,85 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
96
186
  ]),
97
187
  default: withCtx(() => [
98
188
  renderSlot(_ctx.$slots, "menu", {
99
- onSelect,
189
+ onSelect: unref(select),
100
190
  items: unref(searchItems)
101
191
  }, () => [
102
- createVNode(unref(CItems), {
192
+ createVNode(_component_c_list, {
193
+ ref_key: "menuListRef",
194
+ ref: menuListRef,
103
195
  modelValue: model.value,
104
196
  "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => model.value = $event),
105
- options: __props.options,
106
- items: unref(searchItems),
197
+ role: "listbox",
198
+ selectable: "",
107
199
  multiple: __props.multiple,
108
- mandatory: ""
200
+ mandatory: __props.mandatory
109
201
  }, {
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
- })
202
+ default: withCtx(() => [
203
+ (openBlock(true), createElementBlock(
204
+ Fragment,
205
+ null,
206
+ renderList(unref(searchItems), (item) => {
207
+ var _a2;
208
+ return openBlock(), createBlock(_component_c_list_item, {
209
+ key: item.key,
210
+ value: (_a2 = item.value) != null ? _a2 : item.raw
211
+ }, {
212
+ default: withCtx(() => [
213
+ createVNode(
214
+ _component_c_list_item_title,
215
+ null,
216
+ {
217
+ default: withCtx(() => [
218
+ createTextVNode(
219
+ toDisplayString(item.title),
220
+ 1
221
+ /* TEXT */
222
+ )
223
+ ]),
224
+ _: 2
225
+ /* DYNAMIC */
226
+ },
227
+ 1024
228
+ /* DYNAMIC_SLOTS */
229
+ )
230
+ ]),
231
+ _: 2
232
+ /* DYNAMIC */
233
+ }, 1032, ["value"]);
234
+ }),
235
+ 128
236
+ /* KEYED_FRAGMENT */
237
+ ))
121
238
  ]),
122
- _: 3
123
- /* FORWARDED */
124
- }, 8, ["modelValue", "options", "items", "multiple"])
239
+ _: 1
240
+ /* STABLE */
241
+ }, 8, ["modelValue", "multiple", "mandatory"])
125
242
  ])
126
243
  ]),
127
244
  _: 2
128
245
  /* DYNAMIC */
129
- }, 1032, ["id", "close-on-content-click", "preset", "onOpen"])
246
+ }, 1032, ["id", "close-on-content-click", "preset"])
130
247
  ];
131
248
  }),
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
- )
249
+ details: withCtx(({ errorMessage, details }) => [
250
+ renderSlot(_ctx.$slots, "details", {
251
+ errorMessage,
252
+ details
253
+ }, () => [
254
+ (openBlock(), createElementBlock(
255
+ "span",
256
+ {
257
+ key: errorMessage || details
258
+ },
259
+ toDisplayString(errorMessage || details),
260
+ 1
261
+ /* TEXT */
262
+ ))
263
+ ])
146
264
  ]),
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"]);
265
+ _: 3
266
+ /* FORWARDED */
267
+ }, 16, ["model-value", "aria-controls", "aria-activedescendant"]);
159
268
  };
160
269
  }
161
270
  });
@@ -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
  });