@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
@@ -1,49 +1,181 @@
1
- import { defineComponent, useModel, shallowRef, useAttrs, computed, unref, onMounted, openBlock, createBlock, resolveDynamicComponent, normalizeClass, mergeModels } from 'vue';
1
+ import { defineComponent, useModel, shallowRef, useSlots, computed, unref, onMounted, openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, renderSlot, createCommentVNode, createVNode, withCtx, createTextVNode, createBlock, resolveDynamicComponent, mergeProps, Transition, mergeModels } from 'vue';
2
+ import { useFieldPresets } from '../../composables/use-field-presets.js';
3
+ import { CLabel } from '../CLabel/CLabel.js';
4
+ import _sfc_main$1 from '../CIcon/CIcon.js';
5
+ import { IconAliases } from '../../enums/IconName.js';
2
6
 
7
+ const _hoisted_1 = {
8
+ "aria-hidden": "true",
9
+ class: "c-field__outline"
10
+ };
11
+ const _hoisted_2 = { class: "c-field__outline-notch" };
12
+ const _hoisted_3 = {
13
+ key: 0,
14
+ class: "c-field__prepend"
15
+ };
16
+ const _hoisted_4 = { class: "c-field__core" };
17
+ const _hoisted_5 = {
18
+ key: 1,
19
+ class: "c-field__append"
20
+ };
3
21
  var _sfc_main = /* @__PURE__ */ defineComponent({
4
22
  ...{
5
- name: "CField"
23
+ name: "CField",
24
+ inheritAttrs: false
6
25
  },
7
26
  __name: "CField",
8
27
  props: /* @__PURE__ */ mergeModels({
9
- tag: { default: "input" },
10
- focused: { type: Boolean }
28
+ tag: {},
29
+ label: {},
30
+ filled: { type: Boolean },
31
+ preset: {},
32
+ focused: { type: Boolean },
33
+ clearable: { type: Boolean },
34
+ error: { type: Boolean },
35
+ disabled: { type: Boolean },
36
+ readonly: { type: Boolean },
37
+ noInput: { type: Boolean },
38
+ modelValue: {}
11
39
  }, {
12
40
  "modelValue": {},
13
41
  "modelModifiers": {}
14
42
  }),
15
- emits: /* @__PURE__ */ mergeModels(["focus"], ["update:modelValue"]),
43
+ emits: /* @__PURE__ */ mergeModels(["clear"], ["update:modelValue"]),
16
44
  setup(__props, { emit: __emit }) {
45
+ const props = __props;
17
46
  const emit = __emit;
18
- const input = useModel(__props, "modelValue");
47
+ const value = useModel(__props, "modelValue");
19
48
  const inputRef = shallowRef();
20
- const attrs = useAttrs();
21
- const classes = computed(() => ({
22
- "c-field--focused": __props.focused,
23
- "c-field--filled": !!unref(input)
24
- }));
25
- const onFocus = () => {
26
- if (attrs.readonly || attrs.disabled) {
27
- return;
49
+ const slots = useSlots();
50
+ const hasValue = computed(() => props.filled || !!unref(value));
51
+ const presets = useFieldPresets({
52
+ slots,
53
+ props,
54
+ hasValue
55
+ });
56
+ const clearable = computed(() => props.clearable && props.focused && unref(hasValue));
57
+ const classes = computed(() => [
58
+ {
59
+ "c-field--focused": props.focused,
60
+ "c-field--filled": unref(hasValue),
61
+ "c-field--has-prepend": !!slots.prepend,
62
+ "c-field--disabled": props.disabled,
63
+ "c-field--readonly": props.readonly,
64
+ "c-field--error": props.error,
65
+ "c-field--default": !props.focused && !props.error && !props.disabled
66
+ },
67
+ ...unref(presets).root
68
+ ]);
69
+ function clear() {
70
+ emit("clear");
71
+ }
72
+ function onInput(e) {
73
+ value.value = e.target.value;
74
+ }
75
+ function onMousedown(e) {
76
+ var _a;
77
+ e.preventDefault();
78
+ if (document.activeElement !== unref(inputRef)) {
79
+ (_a = unref(inputRef)) == null ? void 0 : _a.focus();
28
80
  }
29
- emit("focus");
30
- };
31
- const onInput = (e) => {
32
- input.value = e.target.value;
33
- };
81
+ }
34
82
  onMounted(() => {
35
83
  var _a;
36
- if (__props.focused) (_a = unref(inputRef)) == null ? void 0 : _a.focus();
84
+ if (props.focused) (_a = unref(inputRef)) == null ? void 0 : _a.focus();
37
85
  });
38
86
  return (_ctx, _cache) => {
39
- return openBlock(), createBlock(resolveDynamicComponent(__props.tag), {
40
- ref_key: "inputRef",
41
- ref: inputRef,
42
- class: normalizeClass(["c-field", classes.value]),
43
- value: input.value,
44
- onInput,
45
- onFocus
46
- }, null, 40, ["class", "value"]);
87
+ var _a;
88
+ return openBlock(), createElementBlock(
89
+ "div",
90
+ {
91
+ class: normalizeClass(["c-field", classes.value]),
92
+ onMousedown
93
+ },
94
+ [
95
+ createElementVNode("div", _hoisted_1, [
96
+ _cache[0] || (_cache[0] = createElementVNode(
97
+ "div",
98
+ { class: "c-field__outline-start" },
99
+ null,
100
+ -1
101
+ /* CACHED */
102
+ )),
103
+ createElementVNode("div", _hoisted_2, [
104
+ createElementVNode(
105
+ "span",
106
+ {
107
+ class: normalizeClass(unref(presets).label)
108
+ },
109
+ toDisplayString(__props.label),
110
+ 3
111
+ /* TEXT, CLASS */
112
+ )
113
+ ]),
114
+ _cache[1] || (_cache[1] = createElementVNode(
115
+ "div",
116
+ { class: "c-field__outline-end" },
117
+ null,
118
+ -1
119
+ /* CACHED */
120
+ ))
121
+ ]),
122
+ _ctx.$slots.prepend ? (openBlock(), createElementBlock("div", _hoisted_3, [
123
+ renderSlot(_ctx.$slots, "prepend")
124
+ ])) : createCommentVNode("v-if", true),
125
+ createElementVNode("div", _hoisted_4, [
126
+ createVNode(unref(CLabel), {
127
+ id: `${_ctx.$attrs.id}-label`,
128
+ for: _ctx.$attrs.id,
129
+ tag: "label",
130
+ class: normalizeClass(["c-field-label", unref(presets).label])
131
+ }, {
132
+ default: withCtx(() => [
133
+ createTextVNode(
134
+ toDisplayString(__props.label),
135
+ 1
136
+ /* TEXT */
137
+ )
138
+ ]),
139
+ _: 1
140
+ /* STABLE */
141
+ }, 8, ["id", "for", "class"]),
142
+ renderSlot(_ctx.$slots, "before"),
143
+ (openBlock(), createBlock(resolveDynamicComponent((_a = __props.tag) != null ? _a : "input"), mergeProps(_ctx.$attrs, {
144
+ ref_key: "inputRef",
145
+ ref: inputRef,
146
+ value: value.value,
147
+ disabled: __props.disabled,
148
+ readonly: __props.readonly || __props.noInput,
149
+ class: ["c-field-input", unref(presets).input],
150
+ onInput
151
+ }), null, 16, ["value", "disabled", "readonly", "class"])),
152
+ renderSlot(_ctx.$slots, "after")
153
+ ]),
154
+ createVNode(Transition, { name: "fade" }, {
155
+ default: withCtx(() => [
156
+ clearable.value ? (openBlock(), createElementBlock("div", {
157
+ key: 0,
158
+ class: "c-field__clear",
159
+ onClick: clear
160
+ }, [
161
+ renderSlot(_ctx.$slots, "clear", {}, () => [
162
+ createVNode(unref(_sfc_main$1), {
163
+ name: unref(IconAliases).CLOSE,
164
+ size: 24
165
+ }, null, 8, ["name"])
166
+ ])
167
+ ])) : createCommentVNode("v-if", true)
168
+ ]),
169
+ _: 3
170
+ /* FORWARDED */
171
+ }),
172
+ _ctx.$slots.append ? (openBlock(), createElementBlock("div", _hoisted_5, [
173
+ renderSlot(_ctx.$slots, "append")
174
+ ])) : createCommentVNode("v-if", true)
175
+ ],
176
+ 34
177
+ /* CLASS, NEED_HYDRATION */
178
+ );
47
179
  };
48
180
  }
49
181
  });
@@ -1,43 +1,59 @@
1
1
  import { defineComponent, provide, openBlock, createElementBlock, withModifiers, renderSlot } from 'vue';
2
2
  import { $FORM_API_KEY } from '../../constants/provide-keys.js';
3
3
 
4
+ const _hoisted_1 = ["aria-label"];
4
5
  var _sfc_main = /* @__PURE__ */ defineComponent({
5
- ...{
6
- name: "CForm"
7
- },
6
+ ...{ name: "CForm" },
8
7
  __name: "CForm",
9
- setup(__props, { expose: __expose }) {
8
+ props: {
9
+ label: {}
10
+ },
11
+ emits: ["submit"],
12
+ setup(__props, { expose: __expose, emit: __emit }) {
13
+ const emit = __emit;
10
14
  let validators = [];
15
+ let resetFns = [];
11
16
  function add(fn) {
12
17
  validators.push(fn);
13
18
  }
14
19
  function remove(fn) {
15
20
  validators = validators.filter((v) => v !== fn);
16
21
  }
22
+ function addReset(fn) {
23
+ resetFns.push(fn);
24
+ }
25
+ function removeReset(fn) {
26
+ resetFns = resetFns.filter((v) => v !== fn);
27
+ }
17
28
  async function validate() {
18
- return validators.map((fn) => fn()).every((v) => v);
29
+ const results = await Promise.all(validators.map((fn) => fn()));
30
+ return results.every(Boolean);
19
31
  }
20
- __expose({
21
- validate
22
- });
32
+ function reset() {
33
+ resetFns.forEach((fn) => fn());
34
+ }
35
+ function onSubmit(event) {
36
+ emit("submit", event);
37
+ }
38
+ __expose({ validate, reset });
23
39
  provide($FORM_API_KEY, {
24
40
  add,
25
- remove
41
+ remove,
42
+ addReset,
43
+ removeReset
26
44
  });
27
45
  return (_ctx, _cache) => {
28
- return openBlock(), createElementBlock(
29
- "form",
30
- {
31
- class: "c-form",
32
- onSubmit: _cache[0] || (_cache[0] = withModifiers(() => {
33
- }, ["prevent"]))
34
- },
35
- [
36
- renderSlot(_ctx.$slots, "default", { validate })
37
- ],
38
- 32
39
- /* NEED_HYDRATION */
40
- );
46
+ return openBlock(), createElementBlock("form", {
47
+ class: "c-form",
48
+ novalidate: "",
49
+ "aria-label": __props.label,
50
+ onSubmit: withModifiers(onSubmit, ["prevent"])
51
+ }, [
52
+ renderSlot(_ctx.$slots, "default", {
53
+ validate,
54
+ reset
55
+ })
56
+ ], 40, _hoisted_1);
41
57
  };
42
58
  }
43
59
  });
@@ -35,9 +35,7 @@ const CCol = defineComponent({
35
35
  },
36
36
  setup(props, { slots }) {
37
37
  const classes = computed(() => {
38
- const cls = {
39
- "c-col": true
40
- };
38
+ const cls = { "c-col": true };
41
39
  if (isDef(props.cols)) {
42
40
  cls[`c-col-${props.cols}`] = true;
43
41
  }
@@ -51,9 +51,7 @@ const CRow = defineComponent({
51
51
  },
52
52
  setup(props, { slots }) {
53
53
  const classes = computed(() => {
54
- const cls = {
55
- "c-row": true
56
- };
54
+ const cls = { "c-row": true };
57
55
  if (props.noGutter) {
58
56
  cls["no-gutter"] = true;
59
57
  }
@@ -61,10 +59,10 @@ const CRow = defineComponent({
61
59
  cls[`justify-${props.justify}`] = true;
62
60
  }
63
61
  if (isDef(props.align)) {
64
- cls[`align-${props.align}`] = true;
62
+ cls[`items-${props.align}`] = true;
65
63
  }
66
64
  if (isDef(props.alignContent)) {
67
- cls[`align-content-${props.alignContent}`] = true;
65
+ cls[`content-${props.alignContent}`] = true;
68
66
  }
69
67
  for (const bp of BREAKPOINTS) {
70
68
  const justifyVal = toCamelCase(...`justify-${bp}`.split("-"));
@@ -74,10 +72,10 @@ const CRow = defineComponent({
74
72
  cls[`${bp}:justify-${props[justifyVal]}`] = true;
75
73
  }
76
74
  if (isDef(props[alignVal])) {
77
- cls[`${bp}:align-${props[alignVal]}`] = true;
75
+ cls[`${bp}:items-${props[alignVal]}`] = true;
78
76
  }
79
77
  if (isDef(props[contentVal])) {
80
- cls[`${bp}:align-content-${props[contentVal]}`] = true;
78
+ cls[`${bp}:content-${props[contentVal]}`] = true;
81
79
  }
82
80
  }
83
81
  return cls;
@@ -30,10 +30,10 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
30
30
  const attrs = useAttrs();
31
31
  const resolvedIcon = useIcon(props);
32
32
  const rootStyle = computed(() => {
33
- var _a, _b, _c, _d;
33
+ var _a, _b, _c, _d, _e, _f;
34
34
  return {
35
- width: convertToUnit(unref((_b = (_a = props.width) != null ? _a : props.size) != null ? _b : 16)),
36
- height: convertToUnit(unref((_d = (_c = props.height) != null ? _c : props.size) != null ? _d : 16))
35
+ width: convertToUnit((_c = (_b = (_a = unref(resolvedIcon).size) != null ? _a : props.width) != null ? _b : props.size) != null ? _c : 16),
36
+ height: convertToUnit((_f = (_e = (_d = unref(resolvedIcon).size) != null ? _d : props.height) != null ? _e : props.size) != null ? _f : 16)
37
37
  };
38
38
  });
39
39
  return (_ctx, _cache) => {
@@ -1,92 +1,128 @@
1
- import { defineComponent, useSlots, useAttrs, computed, unref, onBeforeMount, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, createCommentVNode, mergeProps, withMemo, createVNode, withCtx, createTextVNode, toDisplayString } from 'vue';
2
- import { unique } from '../../helpers/index.js';
3
- import { useInputState } from '../../composables/use-input-state.js';
1
+ import { defineComponent, useSlots, useModel, shallowReactive, useAttrs, computed, unref, onBeforeMount, onBeforeUnmount, openBlock, createElementBlock, normalizeClass, createElementVNode, renderSlot, mergeProps, createVNode, Transition, withCtx, createCommentVNode, mergeModels } from 'vue';
4
2
  import { useValidate } from '../../composables/use-validate.js';
5
3
  import { useForm } from '../../composables/use-form.js';
6
4
  import { useInputPresets } from '../../composables/use-input-presets.js';
7
- import { useFieldAttrs } from '../../composables/use-field-attrs.js';
8
- import { CLabel } from '../CLabel/CLabel.js';
5
+ import { FIELD_ATTRS } from '../../constants/attrs.js';
6
+ import { useId } from '../../composables/use-id.js';
9
7
 
10
- const _hoisted_1 = {
11
- key: 0,
12
- class: "c-input__prepend"
13
- };
14
- const _hoisted_2 = {
15
- key: 1,
16
- class: "c-input__append"
17
- };
18
- const _hoisted_3 = ["id"];
8
+ const _hoisted_1 = { class: "c-input__field" };
9
+ const _hoisted_2 = ["id"];
19
10
  var _sfc_main = /* @__PURE__ */ defineComponent({
20
11
  ...{
21
12
  name: "CInput",
22
13
  inheritAttrs: false
23
14
  },
24
15
  __name: "CInput",
25
- props: {
16
+ props: /* @__PURE__ */ mergeModels({
26
17
  rules: {},
27
18
  validateOn: {},
28
- disabled: { type: Boolean },
29
- focused: { type: Boolean },
30
- readonly: { type: Boolean },
31
19
  preset: {},
32
20
  id: {},
33
21
  modelValue: {},
34
22
  label: {},
35
23
  details: {},
36
24
  noDetails: { type: Boolean },
37
- clearable: { type: Boolean }
38
- },
25
+ clearable: { type: Boolean },
26
+ disabled: { type: Boolean },
27
+ focused: { type: Boolean },
28
+ readonly: { type: Boolean },
29
+ kind: {}
30
+ }, {
31
+ "focused": { type: Boolean, ...{ default: false } },
32
+ "focusedModifiers": {}
33
+ }),
34
+ emits: /* @__PURE__ */ mergeModels(["update:modelValue", "update:focused"], ["update:focused"]),
39
35
  setup(__props, { expose: __expose }) {
40
- var _a;
41
36
  const props = __props;
42
37
  const slots = useSlots();
43
- const uid = `input-${(_a = props.id) != null ? _a : unique(6)}`;
44
- const {
45
- state,
46
- onBlur,
47
- onInput,
48
- onFocus
49
- } = useInputState(props);
38
+ const focusedModel = useModel(__props, "focused");
39
+ const INTERNAL_HANDLERS = /* @__PURE__ */ new Set(["onUpdate:modelValue", "onUpdate:focused"]);
40
+ const state = shallowReactive({
41
+ get focused() {
42
+ return focusedModel.value;
43
+ },
44
+ set focused(v) {
45
+ focusedModel.value = v;
46
+ },
47
+ isDirty: false
48
+ });
50
49
  const {
51
50
  errors,
51
+ resetValidate,
52
52
  validate
53
53
  } = useValidate(props, state);
54
54
  const formApi = useForm();
55
+ const attrs = useAttrs();
55
56
  const preset = useInputPresets({
56
57
  props,
58
+ state,
57
59
  errors
58
60
  });
59
- const attrs = useAttrs();
60
- const fieldAttrs = useFieldAttrs({ props, attrs, errors, uid });
61
- const hasLabel = computed(() => !!slots.label || !!props.label);
62
- const hasPrepend = computed(() => !!(slots == null ? void 0 : slots.prepend));
63
- const hasAppend = computed(() => !!(slots == null ? void 0 : slots.append));
64
- const hasDetails = computed(() => !props.noDetails && (props.details || !!(slots == null ? void 0 : slots.details)));
61
+ const fieldId = useId(props.id, { prefix: props.kind });
62
+ const isLisBox = props.kind === "listbox";
63
+ const isCheckBox = props.kind === "checkbox";
64
+ const isRadio = props.kind === "radio";
65
+ const hasDetails = computed(
66
+ () => !props.noDetails && (!!props.details || !!(slots == null ? void 0 : slots.details) || errors.hasError)
67
+ );
68
+ const normalizedAttrsMap = computed(() => Object.entries(attrs).reduce((acc, [k, v]) => {
69
+ if (FIELD_ATTRS.has(k) || k.startsWith("aria-") || k.startsWith("data-") || k.startsWith("on") && !INTERNAL_HANDLERS.has(k)) {
70
+ acc[k] = v;
71
+ }
72
+ return acc;
73
+ }, {}));
74
+ const fieldAttrs = computed(() => ({
75
+ ...props.label || isCheckBox || isRadio ? { "aria-labelledby": `${fieldId}-label` } : {},
76
+ ...unref(hasDetails) ? { "aria-describedby": `${fieldId}-details` } : {},
77
+ ...errors.hasError ? { "aria-invalid": "true" } : {},
78
+ ...errors.errorMessage && unref(hasDetails) ? { "aria-errormessage": `${fieldId}-details` } : {},
79
+ ...props.readonly ? { "aria-readonly": "true" } : {},
80
+ ...props.disabled ? { "aria-disabled": "true" } : {},
81
+ ...isLisBox ? { "aria-haspopup": "listbox" } : {},
82
+ ...isLisBox ? { "aria-controls": `${fieldId}-menu` } : {},
83
+ ...isLisBox ? { "aria-expanded": `${state.focused}` } : {},
84
+ ...unref(normalizedAttrsMap)
85
+ }));
65
86
  const classes = computed(() => [
66
87
  {
67
88
  "c-input--has-error": errors.hasError,
68
- "c-input--default": !errors.hasError,
89
+ "c-input--default": !errors.hasError && !props.disabled && !props.readonly,
69
90
  "c-input--focused": state.focused,
70
91
  "c-input--disabled": props.disabled,
71
92
  "c-input--readonly": props.readonly,
72
- "c-input--has-value": state.hasValue,
73
- "c-input--has-prepend": unref(hasPrepend),
74
- "c-input--has-append": unref(hasAppend),
75
- [attrs.class]: !!attrs.class
93
+ "c-input--clearable": props.clearable
76
94
  },
95
+ attrs.class,
77
96
  ...unref(preset).root
78
97
  ]);
98
+ function focus() {
99
+ if (props.disabled || props.readonly) {
100
+ return;
101
+ }
102
+ state.focused = true;
103
+ }
104
+ function blur() {
105
+ state.focused = false;
106
+ if (!state.isDirty) {
107
+ state.isDirty = true;
108
+ }
109
+ }
110
+ function reset() {
111
+ resetValidate();
112
+ }
79
113
  onBeforeMount(() => {
80
114
  formApi == null ? void 0 : formApi.add(validate);
115
+ formApi == null ? void 0 : formApi.addReset(reset);
81
116
  });
82
117
  onBeforeUnmount(() => {
83
118
  formApi == null ? void 0 : formApi.remove(validate);
119
+ formApi == null ? void 0 : formApi.removeReset(reset);
84
120
  });
85
121
  __expose({
86
122
  validate,
87
- onFocus,
88
- onBlur,
89
- onInput
123
+ focus,
124
+ blur,
125
+ reset
90
126
  });
91
127
  return (_ctx, _cache) => {
92
128
  return openBlock(), createElementBlock(
@@ -95,76 +131,41 @@ var _sfc_main = /* @__PURE__ */ defineComponent({
95
131
  class: normalizeClass(["c-input", classes.value])
96
132
  },
97
133
  [
98
- createElementVNode(
99
- "div",
100
- {
101
- class: normalizeClass(["c-input__field", unref(preset).field])
102
- },
103
- [
104
- _ctx.$slots.prepend ? (openBlock(), createElementBlock("div", _hoisted_1, [
105
- renderSlot(_ctx.$slots, "prepend")
106
- ])) : createCommentVNode("v-if", true),
107
- renderSlot(_ctx.$slots, "field", mergeProps(unref(errors), {
108
- validate: unref(validate),
109
- focused: unref(state).focused,
110
- label: __props.label,
111
- disabled: __props.disabled,
112
- readonly: __props.readonly,
113
- uid,
114
- presets: unref(preset).field,
115
- onFocus: unref(onFocus),
116
- onBlur: unref(onBlur),
117
- onInput: unref(onInput),
118
- attrs: unref(fieldAttrs)
119
- })),
120
- _ctx.$slots.append ? (openBlock(), createElementBlock("div", _hoisted_2, [
121
- renderSlot(_ctx.$slots, "append")
122
- ])) : createCommentVNode("v-if", true)
123
- ],
124
- 2
125
- /* CLASS */
126
- ),
127
- hasLabel.value ? (openBlock(), createElementBlock(
128
- "div",
129
- {
130
- key: 0,
131
- class: normalizeClass(["c-input__label", unref(preset).label])
132
- },
133
- [
134
- renderSlot(_ctx.$slots, "label", { uid }, () => [
135
- withMemo([__props.label], () => createVNode(unref(CLabel), {
136
- id: `${uid}-label`,
137
- tag: "label",
138
- for: uid
139
- }, {
140
- default: withCtx(() => [
141
- createTextVNode(
142
- toDisplayString(__props.label),
143
- 1
144
- /* TEXT */
145
- )
146
- ]),
147
- _: 1
148
- /* STABLE */
149
- }, 8, ["id"]), _cache, 0)
150
- ])
151
- ],
152
- 2
153
- /* CLASS */
154
- )) : createCommentVNode("v-if", true),
134
+ createElementVNode("div", _hoisted_1, [
135
+ renderSlot(_ctx.$slots, "field", mergeProps(unref(errors), {
136
+ validate: unref(validate),
137
+ label: __props.label,
138
+ disabled: __props.disabled,
139
+ readonly: __props.readonly,
140
+ focused: unref(state).focused,
141
+ uid: unref(fieldId),
142
+ preset: unref(preset).field,
143
+ focus,
144
+ blur,
145
+ clearable: __props.clearable,
146
+ reset,
147
+ attrs: fieldAttrs.value
148
+ }))
149
+ ]),
155
150
  hasDetails.value ? (openBlock(), createElementBlock("div", {
156
- key: 1,
157
- id: `${uid}-details`,
151
+ key: 0,
152
+ id: `${unref(fieldId)}-details`,
158
153
  class: normalizeClass(["c-input__details", unref(preset).details])
159
154
  }, [
160
- renderSlot(_ctx.$slots, "details", mergeProps(unref(errors), { uid }), () => [
161
- createTextVNode(
162
- toDisplayString(__props.details),
163
- 1
164
- /* TEXT */
165
- )
166
- ])
167
- ], 10, _hoisted_3)) : createCommentVNode("v-if", true)
155
+ createVNode(Transition, {
156
+ name: "fade-in-down",
157
+ mode: "out-in"
158
+ }, {
159
+ default: withCtx(() => [
160
+ renderSlot(_ctx.$slots, "details", mergeProps(unref(errors), {
161
+ details: __props.details,
162
+ uid: unref(fieldId)
163
+ }))
164
+ ]),
165
+ _: 3
166
+ /* FORWARDED */
167
+ })
168
+ ], 10, _hoisted_2)) : createCommentVNode("v-if", true)
168
169
  ],
169
170
  2
170
171
  /* CLASS */