@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,22 +1,25 @@
1
- export { breakpoints, useDisplay } from './use-display.js';
2
- export { InputEvents, useValidate } from './use-validate.js';
3
- export { useInputState } from './use-input-state.js';
4
- export { useFieldAttrs } from './use-field-attrs.js';
5
- export { useActivator } from './use-activator.js';
6
- export { useAutocomplete } from './use-autocomplete.js';
7
- export { usePositionClasses } from './use-position-classes.js';
8
- export { useDelayedActions } from './use-delay-actions.js';
1
+ export { makeActivatorProps, useActivator } from './use-activator.js';
2
+ export { useAppScroll } from './use-app-scroll.js';
9
3
  export { useApplication } from './use-application.js';
10
- export { useAutoPosition } from './use-auto-position.js';
11
- export { useToggle } from './use-toggle.js';
12
- export { useInputValue } from './use-input-value.js';
4
+ export { makeAutoPositionProps, useAutoPosition } from './use-auto-position.js';
5
+ export { useAutocomplete } from './use-autocomplete.js';
6
+ export { useButtonPresets } from './use-button-presets.js';
13
7
  export { useCore } from './use-core.js';
14
- export { useOverlayStack } from './use-overlay-stack.js';
8
+ export { makeDelayProps, useDelayedActions } from './use-delay-actions.js';
15
9
  export { createDialogsStack, useDialogsStack } from './use-dialogs-stack.js';
10
+ export { breakpoints, useDisplay } from './use-display.js';
16
11
  export { useEffect } from './use-effect.js';
17
12
  export { useForm } from './use-form.js';
18
- export { usePresets } from './use-presets.js';
13
+ export { useIcon } from './use-icon.js';
14
+ export { useId } from './use-id.js';
19
15
  export { useInputPresets } from './use-input-presets.js';
16
+ export { useKeyboard } from './use-keyboard.js';
17
+ export { useMenu } from './use-menu.js';
20
18
  export { useMenuPresets } from './use-menu-presets.js';
21
- export { useButtonPresets } from './use-button-presets.js';
22
- export { useAppScroll } from './use-app-scroll.js';
19
+ export { useNormalizedItems } from './use-normalized-items.js';
20
+ export { clearOverlayStack, useOverlayStack } from './use-overlay-stack.js';
21
+ export { makePresetProps, usePresets } from './use-presets.js';
22
+ export { useSelectControl } from './use-select-control.js';
23
+ export { useSelectedChips } from './use-selected-chips.js';
24
+ export { useToggle } from './use-toggle.js';
25
+ export { InputEvents, useValidate } from './use-validate.js';
@@ -1,47 +1,49 @@
1
- import { shallowRef, computed, markRaw, unref } from 'vue';
1
+ import { shallowRef, computed, unref, markRaw } from 'vue';
2
+ import { propsFactory } from '../utils/props-factory.js';
2
3
 
4
+ const makeActivatorProps = propsFactory({
5
+ closeOnClick: Boolean,
6
+ openOnClick: Boolean,
7
+ openOnHover: Boolean,
8
+ closeOnLeave: Boolean,
9
+ openOnFocus: Boolean,
10
+ activator: {
11
+ type: null,
12
+ default: void 0
13
+ }
14
+ });
3
15
  function useActivator(props) {
4
- const activatorEl = shallowRef();
16
+ const activatorEl = shallowRef(props.activator);
17
+ const element = computed(() => getActivator());
5
18
  const activatorProps = { ref: set };
6
19
  function set(val) {
7
20
  activatorEl.value = val;
8
21
  }
9
22
  function getActivator() {
10
- return activatorEl.value;
11
- }
12
- function getActivatorElement() {
13
- var _a, _b;
14
- return (_b = (_a = unref(activatorEl)) == null ? void 0 : _a.$el) != null ? _b : unref(activatorEl);
23
+ var _a, _b, _c;
24
+ return (_c = (_b = props.activator) != null ? _b : (_a = unref(activatorEl)) == null ? void 0 : _a.$el) != null ? _c : unref(activatorEl);
15
25
  }
16
26
  function genListeners({
17
27
  open,
18
28
  close,
19
29
  toggle
20
30
  }) {
21
- return computed(() => markRaw({
22
- ...props.openOnHover ? {
23
- mouseenter: () => open()
24
- } : {},
25
- ...props.closeOnLeave ? {
26
- mouseleave: () => close()
27
- } : {},
28
- ...props.openOnClick ? {
29
- click: () => open()
30
- } : {},
31
- ...props.closeOnClick ? {
32
- click: () => toggle()
33
- } : {},
34
- ...props.openOnFocus ? {
35
- focus: () => open()
36
- } : {}
37
- }));
31
+ return computed(
32
+ () => markRaw({
33
+ ...props.openOnHover ? { mouseenter: () => open() } : {},
34
+ ...props.closeOnLeave ? { mouseleave: () => close() } : {},
35
+ ...props.openOnClick ? { click: () => open() } : {},
36
+ ...props.closeOnClick ? { click: () => toggle() } : {},
37
+ ...props.openOnFocus ? { focus: () => open() } : {}
38
+ })
39
+ );
38
40
  }
39
41
  return {
42
+ element,
40
43
  activatorProps,
41
- getActivatorElement,
42
44
  genListeners,
43
45
  getActivator
44
46
  };
45
47
  }
46
48
 
47
- export { useActivator };
49
+ export { makeActivatorProps, useActivator };
@@ -3,15 +3,11 @@ import { convertToUnit } from '../utils/convert-to-unit.js';
3
3
  import { IN_BROWSER } from '../utils/globals.js';
4
4
 
5
5
  function useAppScroll() {
6
- const state = shallowReactive({
7
- blockScroll: false
8
- });
6
+ const state = shallowReactive({ blockScroll: false });
9
7
  const appRef = shallowRef();
10
8
  let savedScrollTop = 0;
11
9
  let savedScrollLeft = 0;
12
- const classes = computed(() => ({
13
- "c-app--block-scroll": state.blockScroll
14
- }));
10
+ const classes = computed(() => ({ "c-app--block-scroll": state.blockScroll }));
15
11
  function getScrollTop() {
16
12
  if (!IN_BROWSER) return 0;
17
13
  return window.scrollY;
@@ -1,12 +1,32 @@
1
1
  import { ref, shallowRef, computed, unref, watch, onBeforeUnmount, nextTick } from 'vue';
2
- import { useApplication } from './use-application.js';
3
2
  import { isDef } from '../helpers/index.js';
3
+ import { useApplication } from './use-application.js';
4
4
  import { IN_BROWSER } from '../utils/globals.js';
5
+ import { propsFactory } from '../utils/props-factory.js';
5
6
 
7
+ const makeAutoPositionProps = propsFactory({
8
+ strategy: {
9
+ type: String,
10
+ default: "bounce"
11
+ },
12
+ positionX: Number,
13
+ positionY: Number,
14
+ offsetX: [Number, String],
15
+ offsetY: [Number, String],
16
+ left: Boolean,
17
+ right: Boolean,
18
+ top: Boolean,
19
+ bottom: Boolean
20
+ });
6
21
  const SCREEN_EDGE_OFFSET = 20;
7
- const getRect = (el) => {
22
+ function resolveElement(value) {
8
23
  var _a;
9
- const element = (_a = el == null ? void 0 : el.$el) != null ? _a : el;
24
+ if (!value) {
25
+ return void 0;
26
+ }
27
+ return (_a = value.$el) != null ? _a : value;
28
+ }
29
+ function getElementRect(element) {
10
30
  const {
11
31
  top,
12
32
  left,
@@ -19,8 +39,19 @@ const getRect = (el) => {
19
39
  width,
20
40
  height
21
41
  };
22
- };
23
- function useAutoPosition(props) {
42
+ }
43
+ function getObservedSize(entry) {
44
+ var _a, _b, _c;
45
+ const borderBoxSize = (_a = entry.borderBoxSize) == null ? void 0 : _a[0];
46
+ return {
47
+ width: (_b = borderBoxSize == null ? void 0 : borderBoxSize.inlineSize) != null ? _b : entry.contentRect.width,
48
+ height: (_c = borderBoxSize == null ? void 0 : borderBoxSize.blockSize) != null ? _c : entry.contentRect.height
49
+ };
50
+ }
51
+ function isSameSize(current, width, height) {
52
+ return Math.round(current.width) === Math.round(width) && Math.round(current.height) === Math.round(height);
53
+ }
54
+ function useAutoPosition(props, activatorEl) {
24
55
  const { getScrollTop, getScrollLeft } = useApplication();
25
56
  const activator = ref({
26
57
  top: 0,
@@ -37,16 +68,27 @@ function useAutoPosition(props) {
37
68
  const contentRef = shallowRef();
38
69
  const offsetX = computed(() => Number(props.offsetX) || 0);
39
70
  const offsetY = computed(() => Number(props.offsetY) || 0);
40
- const isXDirection = computed(() => props.left || props.right);
41
- const shouldReverse = computed(() => props.strategy === "reverse");
71
+ const isHorizontalDirection = computed(() => props.left || props.right);
72
+ const isReverseStrategy = computed(() => props.strategy === "reverse");
42
73
  let frameId = 0;
43
- const cancelScheduledUpdate = () => {
44
- if (!IN_BROWSER || !frameId) return;
45
- cancelAnimationFrame(frameId);
46
- frameId = 0;
74
+ const getActivatorElement = () => {
75
+ return resolveElement(unref(activatorEl));
47
76
  };
48
- const setActivatorSizes = (activatorEl) => {
49
- const rect = getRect(activatorEl);
77
+ const getContentElement = () => {
78
+ return resolveElement(unref(contentRef));
79
+ };
80
+ const setActivatorDimensions = () => {
81
+ const element = getActivatorElement();
82
+ if (!element) {
83
+ activator.value = {
84
+ top: 0,
85
+ left: 0,
86
+ width: 0,
87
+ height: 0
88
+ };
89
+ return;
90
+ }
91
+ const rect = getElementRect(element);
50
92
  activator.value = {
51
93
  top: rect.top + getScrollTop(),
52
94
  left: rect.left + getScrollLeft(),
@@ -54,143 +96,170 @@ function useAutoPosition(props) {
54
96
  height: rect.height
55
97
  };
56
98
  };
57
- const setContentSizes = (contentEl) => {
58
- var _a;
59
- const element = (_a = contentEl == null ? void 0 : contentEl.$el) != null ? _a : contentEl;
99
+ const setContentDimensions = () => {
100
+ const element = getContentElement();
101
+ if (!element) {
102
+ return false;
103
+ }
60
104
  content.value.width = element.offsetWidth;
61
105
  content.value.height = element.offsetHeight;
106
+ return true;
62
107
  };
63
- const calcToBottom = () => {
64
- const { top, height } = unref(activator);
65
- return top + height + unref(offsetY);
108
+ const measure = () => {
109
+ setActivatorDimensions();
110
+ return setContentDimensions();
66
111
  };
67
- const calcToTop = () => {
68
- const { top } = unref(activator);
69
- const { height } = unref(content);
70
- return top - height - unref(offsetY);
71
- };
72
- const calcToLeft = () => {
73
- const { left } = unref(activator);
74
- const { width } = unref(content);
75
- return left - width - unref(offsetX);
76
- };
77
- const calcToRight = () => {
78
- const { left, width } = unref(activator);
79
- return left + width + unref(offsetX);
80
- };
81
- const calcY = () => {
82
- return props.positionY + unref(offsetY);
83
- };
84
- const calcX = () => {
85
- return props.positionX + unref(offsetX);
86
- };
87
- const getScreenXBounds = (contentLeft) => {
112
+ const getViewportXBounds = (left) => {
88
113
  const scrollLeft = getScrollLeft();
89
- const { width: cWidth } = unref(content);
114
+ const width = unref(content).width;
90
115
  const leftEdge = scrollLeft + SCREEN_EDGE_OFFSET;
91
116
  const rightEdge = scrollLeft + window.innerWidth - SCREEN_EDGE_OFFSET;
92
117
  return {
93
118
  leftEdge,
94
119
  rightEdge,
95
- isBeyondLeft: contentLeft < leftEdge,
96
- isBeyondRight: contentLeft + cWidth > rightEdge
120
+ isBeyondLeft: left < leftEdge,
121
+ isBeyondRight: left + width > rightEdge
97
122
  };
98
123
  };
99
- const getScreenYBounds = (contentTop) => {
124
+ const getViewportYBounds = (top) => {
100
125
  const scrollTop = getScrollTop();
101
- const { height: cHeight } = unref(content);
126
+ const height = unref(content).height;
102
127
  const topEdge = scrollTop + SCREEN_EDGE_OFFSET;
103
128
  const bottomEdge = scrollTop + window.innerHeight - SCREEN_EDGE_OFFSET;
104
129
  return {
105
130
  topEdge,
106
131
  bottomEdge,
107
- isBeyondTop: contentTop < topEdge,
108
- isBeyondBottom: contentTop + cHeight > bottomEdge
132
+ isBeyondTop: top < topEdge,
133
+ isBeyondBottom: top + height > bottomEdge
109
134
  };
110
135
  };
111
- const alignToActivatorTop = () => {
112
- const { top } = unref(activator);
113
- return top + unref(offsetY);
114
- };
115
- const alignToActivatorLeft = () => {
116
- const { left } = unref(activator);
117
- return left + unref(offsetX);
118
- };
119
- const getContentTop = () => {
120
- if (props.positionY) return calcY();
121
- if (props.top) return calcToTop();
122
- if (props.bottom) return calcToBottom();
123
- return alignToActivatorTop();
124
- };
125
- const getContentLeft = () => {
126
- if (props.positionX) return calcX();
127
- if (props.left) return calcToLeft();
128
- if (props.right) return calcToRight();
129
- return alignToActivatorLeft();
130
- };
131
- const calcYBounce = () => {
132
- const { height: cHeight } = unref(content);
133
- const cTop = getContentTop();
136
+ const getBaseTop = () => {
137
+ if (isDef(props.positionY)) {
138
+ return props.positionY + unref(offsetY);
139
+ }
140
+ if (props.top) {
141
+ return unref(activator).top - unref(content).height - unref(offsetY);
142
+ }
143
+ if (props.bottom) {
144
+ return unref(activator).top + unref(activator).height + unref(offsetY);
145
+ }
146
+ return unref(activator).top + unref(offsetY);
147
+ };
148
+ const getBaseLeft = () => {
149
+ if (isDef(props.positionX)) {
150
+ return props.positionX + unref(offsetX);
151
+ }
152
+ if (props.left) {
153
+ return unref(activator).left - unref(content).width - unref(offsetX);
154
+ }
155
+ if (props.right) {
156
+ return unref(activator).left + unref(activator).width + unref(offsetX);
157
+ }
158
+ return unref(activator).left + unref(offsetX);
159
+ };
160
+ const getReversedTop = () => {
161
+ if (props.top) {
162
+ return unref(activator).top + unref(activator).height + unref(offsetY);
163
+ }
164
+ if (props.bottom) {
165
+ return unref(activator).top - unref(content).height - unref(offsetY);
166
+ }
167
+ return getBaseTop();
168
+ };
169
+ const getReversedLeft = () => {
170
+ if (props.left) {
171
+ return unref(activator).left + unref(activator).width + unref(offsetX);
172
+ }
173
+ if (props.right) {
174
+ return unref(activator).left - unref(content).width - unref(offsetX);
175
+ }
176
+ return getBaseLeft();
177
+ };
178
+ const clampTopToViewport = (top) => {
179
+ const { height } = unref(content);
134
180
  const {
135
181
  topEdge,
136
182
  bottomEdge,
137
183
  isBeyondTop,
138
184
  isBeyondBottom
139
- } = getScreenYBounds(cTop);
185
+ } = getViewportYBounds(top);
140
186
  if (!isBeyondTop && !isBeyondBottom) {
141
- return cTop;
142
- }
143
- if (unref(isXDirection) || !unref(shouldReverse)) {
144
- return isBeyondBottom ? bottomEdge - cHeight : topEdge;
145
- }
146
- if (isBeyondTop && props.top) {
147
- return calcToBottom();
148
- }
149
- if (isBeyondBottom && props.bottom) {
150
- return calcToTop();
187
+ return top;
151
188
  }
189
+ return isBeyondBottom ? bottomEdge - height : topEdge;
152
190
  };
153
- const calcXBounce = () => {
154
- const { width: cWidth } = unref(content);
155
- const cLeft = getContentLeft();
191
+ const clampLeftToViewport = (left) => {
192
+ const { width } = unref(content);
156
193
  const {
157
194
  leftEdge,
158
195
  rightEdge,
159
196
  isBeyondLeft,
160
197
  isBeyondRight
161
- } = getScreenXBounds(cLeft);
198
+ } = getViewportXBounds(left);
162
199
  if (!isBeyondLeft && !isBeyondRight) {
163
- return cLeft;
200
+ return left;
164
201
  }
165
- if (!unref(isXDirection) || !unref(shouldReverse)) {
166
- return isBeyondRight ? rightEdge - cWidth : leftEdge;
202
+ return isBeyondRight ? rightEdge - width : leftEdge;
203
+ };
204
+ const resolveTop = () => {
205
+ const top = getBaseTop();
206
+ const { isBeyondTop, isBeyondBottom } = getViewportYBounds(top);
207
+ if (!isBeyondTop && !isBeyondBottom) {
208
+ return top;
167
209
  }
168
- if (isBeyondLeft && props.left) {
169
- return calcToRight();
210
+ if (!unref(isReverseStrategy) || unref(isHorizontalDirection)) {
211
+ return clampTopToViewport(top);
170
212
  }
171
- if (isBeyondRight && props.right) {
172
- return calcToLeft();
213
+ return getReversedTop();
214
+ };
215
+ const resolveLeft = () => {
216
+ const left = getBaseLeft();
217
+ const { isBeyondLeft, isBeyondRight } = getViewportXBounds(left);
218
+ if (!isBeyondLeft && !isBeyondRight) {
219
+ return left;
173
220
  }
221
+ if (!unref(isReverseStrategy) || !unref(isHorizontalDirection)) {
222
+ return clampLeftToViewport(left);
223
+ }
224
+ return getReversedLeft();
174
225
  };
175
226
  const applyPosition = () => {
176
- content.value.top = calcYBounce();
177
- content.value.left = calcXBounce();
227
+ if (!IN_BROWSER) {
228
+ return;
229
+ }
230
+ content.value.top = resolveTop();
231
+ content.value.left = resolveLeft();
232
+ };
233
+ const cancelScheduledUpdate = () => {
234
+ if (!IN_BROWSER || !frameId) {
235
+ return;
236
+ }
237
+ cancelAnimationFrame(frameId);
238
+ frameId = 0;
239
+ };
240
+ const updateNow = () => {
241
+ if (!measure()) {
242
+ return;
243
+ }
244
+ applyPosition();
178
245
  };
179
246
  const scheduleUpdate = () => {
180
- if (!IN_BROWSER || frameId) return;
247
+ if (!IN_BROWSER || frameId) {
248
+ return;
249
+ }
181
250
  frameId = requestAnimationFrame(() => {
182
251
  frameId = 0;
183
- applyPosition();
252
+ updateNow();
184
253
  });
185
254
  };
186
- const update = async (activatorEl) => {
187
- if (unref(activatorEl)) {
188
- setActivatorSizes(activatorEl);
189
- await nextTick();
255
+ const update = async () => {
256
+ setActivatorDimensions();
257
+ await nextTick();
258
+ if (!setContentDimensions()) {
259
+ return;
190
260
  }
191
- setContentSizes(contentRef.value);
192
261
  await nextTick();
193
- scheduleUpdate();
262
+ applyPosition();
194
263
  };
195
264
  if (IN_BROWSER) {
196
265
  const resizeObserver = new ResizeObserver((entries) => {
@@ -198,22 +267,30 @@ function useAutoPosition(props) {
198
267
  if (!entry) {
199
268
  return;
200
269
  }
201
- const { blockSize, inlineSize } = entry.borderBoxSize[0];
202
- if (!blockSize || !inlineSize) {
203
- return;
204
- }
270
+ const { width, height } = getObservedSize(entry);
205
271
  const current = unref(content);
206
- if (current.width === inlineSize && current.height === blockSize) {
272
+ if (isSameSize(current, width, height)) {
207
273
  return;
208
274
  }
209
- current.width = inlineSize;
210
- current.height = blockSize;
275
+ current.width = width;
276
+ current.height = height;
211
277
  scheduleUpdate();
212
278
  });
213
- watch(contentRef, (val, oldValue) => {
214
- var _a, _b;
215
- const nextEl = (_a = val == null ? void 0 : val.$el) != null ? _a : val;
216
- const prevEl = (_b = oldValue == null ? void 0 : oldValue.$el) != null ? _b : oldValue;
279
+ watch(
280
+ () => resolveElement(unref(activatorEl)),
281
+ (newEl, oldEl) => {
282
+ if (oldEl) {
283
+ resizeObserver.unobserve(oldEl);
284
+ }
285
+ if (newEl) {
286
+ resizeObserver.observe(newEl);
287
+ }
288
+ },
289
+ { immediate: true }
290
+ );
291
+ watch(contentRef, (newEl, oldEl) => {
292
+ const prevEl = resolveElement(oldEl);
293
+ const nextEl = resolveElement(newEl);
217
294
  if (prevEl) {
218
295
  resizeObserver.unobserve(prevEl);
219
296
  }
@@ -221,9 +298,20 @@ function useAutoPosition(props) {
221
298
  resizeObserver.observe(nextEl);
222
299
  }
223
300
  });
224
- if (isDef(props.positionX) || isDef(props.positionY)) {
225
- watch(() => [props.positionX, props.positionY], scheduleUpdate);
226
- }
301
+ watch(
302
+ () => [
303
+ props.positionX,
304
+ props.positionY,
305
+ props.top,
306
+ props.bottom,
307
+ props.left,
308
+ props.right,
309
+ props.offsetX,
310
+ props.offsetY,
311
+ props.strategy
312
+ ],
313
+ scheduleUpdate
314
+ );
227
315
  onBeforeUnmount(() => {
228
316
  cancelScheduledUpdate();
229
317
  resizeObserver.disconnect();
@@ -237,4 +325,4 @@ function useAutoPosition(props) {
237
325
  };
238
326
  }
239
327
 
240
- export { useAutoPosition };
328
+ export { makeAutoPositionProps, useAutoPosition };
@@ -1,33 +1,35 @@
1
- import { shallowRef, computed, unref, watchEffect } from 'vue';
2
- import { useInputValue } from './use-input-value.js';
1
+ import { shallowRef, computed, unref } from 'vue';
2
+ import { useNormalizedItems } from './use-normalized-items.js';
3
+ import { useSelectedChips } from './use-selected-chips.js';
3
4
 
4
5
  function useAutocomplete(props) {
5
- var _a;
6
- const value = useInputValue(props);
7
- const input = shallowRef();
8
- const { extKey } = (_a = props.options) != null ? _a : {};
6
+ const normalizedItems = useNormalizedItems(props);
7
+ const {
8
+ chips,
9
+ hasValue,
10
+ select
11
+ } = useSelectedChips(props);
12
+ const inputValue = shallowRef();
9
13
  const normalizedInput = computed(() => {
10
- var _a2, _b;
11
- return (_b = (_a2 = unref(input)) == null ? void 0 : _a2.trim().toLowerCase()) != null ? _b : "";
14
+ var _a, _b;
15
+ return (_b = (_a = unref(inputValue)) == null ? void 0 : _a.trim().toLowerCase()) != null ? _b : "";
12
16
  });
13
- const isEqual = computed(() => unref(normalizedInput) === unref(value).toLowerCase());
17
+ const isEqual = computed(() => unref(chips).includes(unref(normalizedInput)));
14
18
  const searchItems = computed(() => {
15
19
  if (unref(isEqual) || !unref(normalizedInput)) {
16
- return props.items;
20
+ return unref(normalizedItems);
17
21
  }
18
- return props.items.filter((it) => {
19
- const val = extKey ? it[extKey] : it;
20
- return `${val}`.toLowerCase().startsWith(unref(normalizedInput));
22
+ return unref(normalizedItems).filter((it) => {
23
+ return `${it.title}`.toLowerCase().startsWith(unref(normalizedInput));
21
24
  });
22
25
  });
23
- function rollbackValue() {
24
- input.value = unref(value);
25
- }
26
- watchEffect(() => rollbackValue());
27
26
  return {
28
- input,
27
+ normalizedItems,
28
+ chips,
29
29
  searchItems,
30
- rollbackValue
30
+ hasValue,
31
+ inputValue,
32
+ select
31
33
  };
32
34
  }
33
35
 
@@ -4,14 +4,10 @@ import { usePresets } from './use-presets.js';
4
4
  function useButtonPresets({ props }) {
5
5
  const presets = usePresets(props);
6
6
  return computed(() => {
7
- var _a, _b, _c, _d;
7
+ var _a, _b;
8
8
  return {
9
- root: props.preset ? [
10
- ...(_b = (_a = unref(presets)) == null ? void 0 : _a.root) != null ? _b : []
11
- ] : [],
12
- label: props.preset ? [
13
- ...(_d = (_c = unref(presets)) == null ? void 0 : _c.label) != null ? _d : []
14
- ] : []
9
+ root: props.preset ? [...(_b = (_a = unref(presets)) == null ? void 0 : _a.root) != null ? _b : []] : [],
10
+ label: props.preset ? [] : []
15
11
  };
16
12
  });
17
13
  }
@@ -1,5 +1,10 @@
1
1
  import { isDef } from '../helpers/index.js';
2
+ import { propsFactory } from '../utils/props-factory.js';
2
3
 
4
+ const makeDelayProps = propsFactory({
5
+ openDelay: [Number, String],
6
+ closeDelay: [Number, String]
7
+ });
3
8
  function useDelayedActions(props) {
4
9
  const openDelay = (fn) => {
5
10
  setTimeout(fn, isDef(props.openDelay) ? +props.openDelay : 0);
@@ -13,4 +18,4 @@ function useDelayedActions(props) {
13
18
  };
14
19
  }
15
20
 
16
- export { useDelayedActions };
21
+ export { makeDelayProps, useDelayedActions };