@quidgest/ui 0.17.2 → 0.17.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 (330) hide show
  1. package/dist/json/api.json +1 -1
  2. package/dist/ui.esm.js +980 -9022
  3. package/dist/ui.js +971 -45
  4. package/dist/ui.min.js +792 -875
  5. package/dist/ui.scss +1 -1
  6. package/esm/_virtual/_plugin-vue_export-helper.js +7 -8
  7. package/esm/_virtual/_rolldown/runtime.js +11 -0
  8. package/esm/components/QAccordion/QAccordion.vue.js +45 -43
  9. package/esm/components/QAccordion/QAccordion2.vue.js +5 -0
  10. package/esm/components/QAccordion/QAccordionItem.vue.js +33 -39
  11. package/esm/components/QAccordion/QAccordionItem2.vue.js +5 -0
  12. package/esm/components/QAccordion/index.js +7 -8
  13. package/esm/components/QAvatar/QAvatar.vue.js +41 -48
  14. package/esm/components/QAvatar/QAvatar2.vue.js +5 -0
  15. package/esm/components/QAvatar/index.js +6 -6
  16. package/esm/components/QBadge/QBadge.vue.js +98 -142
  17. package/esm/components/QBadge/QBadge2.vue.js +5 -0
  18. package/esm/components/QBadge/constants.js +4 -11
  19. package/esm/components/QBadge/index.js +6 -6
  20. package/esm/components/QBadgeIndicator/QBadgeIndicator.vue.js +38 -49
  21. package/esm/components/QBadgeIndicator/QBadgeIndicator2.vue.js +5 -0
  22. package/esm/components/QBadgeIndicator/index.js +6 -6
  23. package/esm/components/QButton/QButton.vue.js +73 -84
  24. package/esm/components/QButton/QButton2.vue.js +5 -0
  25. package/esm/components/QButton/index.js +6 -6
  26. package/esm/components/QButtonGroup/QButtonGroup.vue.js +33 -37
  27. package/esm/components/QButtonGroup/QButtonGroup2.vue.js +5 -0
  28. package/esm/components/QButtonGroup/index.js +6 -6
  29. package/esm/components/QCard/QCard.vue.js +91 -133
  30. package/esm/components/QCard/QCard2.vue.js +5 -0
  31. package/esm/components/QCard/index.js +6 -6
  32. package/esm/components/QCarousel/QCarousel.vue.js +247 -354
  33. package/esm/components/QCarousel/QCarousel2.vue.js +5 -0
  34. package/esm/components/QCarousel/constants.js +10 -15
  35. package/esm/components/QCarousel/index.js +6 -6
  36. package/esm/components/QCheckbox/QCheckbox.vue.js +133 -143
  37. package/esm/components/QCheckbox/QCheckbox2.vue.js +5 -0
  38. package/esm/components/QCheckbox/QCheckboxLabel.vue.js +31 -32
  39. package/esm/components/QCheckbox/QCheckboxLabel2.vue.js +5 -0
  40. package/esm/components/QCheckbox/constants.js +6 -10
  41. package/esm/components/QCheckbox/index.js +7 -8
  42. package/esm/components/QCollapsible/QCollapsible.vue.js +90 -136
  43. package/esm/components/QCollapsible/QCollapsible2.vue.js +5 -0
  44. package/esm/components/QCollapsible/constants.js +5 -7
  45. package/esm/components/QCollapsible/index.js +6 -6
  46. package/esm/components/QColorPicker/QColorPicker.vue.js +96 -100
  47. package/esm/components/QColorPicker/QColorPicker2.vue.js +5 -0
  48. package/esm/components/QColorPicker/constants.js +4 -6
  49. package/esm/components/QColorPicker/index.js +6 -6
  50. package/esm/components/QCombobox/QCombobox.vue.js +316 -364
  51. package/esm/components/QCombobox/QCombobox2.vue.js +5 -0
  52. package/esm/components/QCombobox/constants.js +12 -13
  53. package/esm/components/QCombobox/index.js +6 -6
  54. package/esm/components/QDateTimePicker/QDateTimePicker.d.ts.map +1 -1
  55. package/esm/components/QDateTimePicker/QDateTimePicker.vue.js +1119 -1449
  56. package/esm/components/QDateTimePicker/QDateTimePicker2.vue.js +5 -0
  57. package/esm/components/QDateTimePicker/constants.js +72 -91
  58. package/esm/components/QDateTimePicker/index.js +6 -6
  59. package/esm/components/QDefaultsProvider/QDefaultsProvider.vue.js +15 -15
  60. package/esm/components/QDefaultsProvider/QDefaultsProvider2.vue.js +5 -0
  61. package/esm/components/QDefaultsProvider/index.js +6 -6
  62. package/esm/components/QDialog/QDialog.vue.js +175 -226
  63. package/esm/components/QDialog/QDialog2.vue.js +5 -0
  64. package/esm/components/QDialog/QDialogProvider.vue.js +26 -35
  65. package/esm/components/QDialog/QDialogProvider2.vue.js +5 -0
  66. package/esm/components/QDialog/constants.js +11 -23
  67. package/esm/components/QDialog/index.js +7 -8
  68. package/esm/components/QDismissibleLayer/QDismissibleLayer.vue.js +63 -69
  69. package/esm/components/QDismissibleLayer/QDismissibleLayer2.vue.js +5 -0
  70. package/esm/components/QDismissibleLayer/index.js +6 -6
  71. package/esm/components/QDivider/QDivider.vue.js +39 -62
  72. package/esm/components/QDivider/QDivider2.vue.js +5 -0
  73. package/esm/components/QDivider/index.js +6 -6
  74. package/esm/components/QDropdownMenu/QDropdownMenu.vue.js +54 -64
  75. package/esm/components/QDropdownMenu/QDropdownMenu2.vue.js +5 -0
  76. package/esm/components/QDropdownMenu/QDropdownMenuContent.vue.js +196 -215
  77. package/esm/components/QDropdownMenu/QDropdownMenuContent2.vue.js +5 -0
  78. package/esm/components/QDropdownMenu/constants.js +4 -8
  79. package/esm/components/QDropdownMenu/index.js +6 -6
  80. package/esm/components/QField/QField.vue.js +74 -90
  81. package/esm/components/QField/QField2.vue.js +5 -0
  82. package/esm/components/QField/index.js +6 -6
  83. package/esm/components/QFileUpload/QFileUpload.vue.js +156 -241
  84. package/esm/components/QFileUpload/QFileUpload2.vue.js +5 -0
  85. package/esm/components/QFileUpload/constants.js +16 -27
  86. package/esm/components/QFileUpload/index.js +6 -6
  87. package/esm/components/QFocusWrap/QFocusWrap.vue.js +89 -118
  88. package/esm/components/QFocusWrap/QFocusWrap2.vue.js +5 -0
  89. package/esm/components/QFocusWrap/index.js +6 -6
  90. package/esm/components/QGrid/QCol.vue.js +33 -48
  91. package/esm/components/QGrid/QCol2.vue.js +5 -0
  92. package/esm/components/QGrid/QContainer.vue.js +11 -23
  93. package/esm/components/QGrid/QContainer2.vue.js +5 -0
  94. package/esm/components/QGrid/QRow.vue.js +24 -35
  95. package/esm/components/QGrid/QRow2.vue.js +5 -0
  96. package/esm/components/QGrid/QSpacer.vue.js +9 -9
  97. package/esm/components/QGrid/index.js +9 -12
  98. package/esm/components/QGroupBox/QGroupBox.vue.js +32 -43
  99. package/esm/components/QGroupBox/QGroupBox2.vue.js +5 -0
  100. package/esm/components/QGroupBox/index.js +6 -6
  101. package/esm/components/QIcon/InlineSvg.js +92 -129
  102. package/esm/components/QIcon/QIcon.vue.js +40 -42
  103. package/esm/components/QIcon/QIcon2.vue.js +5 -0
  104. package/esm/components/QIcon/QIconFont.vue.js +26 -20
  105. package/esm/components/QIcon/QIconFont2.vue.js +5 -0
  106. package/esm/components/QIcon/QIconImg.vue.js +23 -19
  107. package/esm/components/QIcon/QIconImg2.vue.js +5 -0
  108. package/esm/components/QIcon/QIconSvg.vue.js +40 -31
  109. package/esm/components/QIcon/QIconSvg2.vue.js +5 -0
  110. package/esm/components/QIcon/index.js +9 -12
  111. package/esm/components/QInputGroup/QInputGroup.vue.js +62 -89
  112. package/esm/components/QInputGroup/QInputGroup2.vue.js +5 -0
  113. package/esm/components/QInputGroup/index.js +6 -6
  114. package/esm/components/QLabel/QLabel.vue.js +33 -43
  115. package/esm/components/QLabel/QLabel2.vue.js +5 -0
  116. package/esm/components/QLabel/index.js +6 -6
  117. package/esm/components/QLineLoader/QLineLoader.vue.js +26 -26
  118. package/esm/components/QLineLoader/QLineLoader2.vue.js +5 -0
  119. package/esm/components/QLineLoader/index.js +6 -6
  120. package/esm/components/QList/QList.vue.js +229 -241
  121. package/esm/components/QList/QList2.vue.js +5 -0
  122. package/esm/components/QList/QListItem.vue.js +84 -118
  123. package/esm/components/QList/QListItem2.vue.js +5 -0
  124. package/esm/components/QList/QListItemGroup.vue.js +25 -28
  125. package/esm/components/QList/QListItemGroup2.vue.js +5 -0
  126. package/esm/components/QList/constants.js +6 -10
  127. package/esm/components/QList/index.js +8 -10
  128. package/esm/components/QMeter/QMeter.vue.js +39 -61
  129. package/esm/components/QMeter/QMeter2.vue.js +5 -0
  130. package/esm/components/QMeter/index.js +6 -6
  131. package/esm/components/QOverlay/QOverlay.vue.js +282 -322
  132. package/esm/components/QOverlay/QOverlay2.vue.js +5 -0
  133. package/esm/components/QOverlay/index.js +6 -6
  134. package/esm/components/QPasswordField/QPasswordField.vue.js +142 -163
  135. package/esm/components/QPasswordField/QPasswordField2.vue.js +5 -0
  136. package/esm/components/QPasswordField/QPasswordFieldMessages.vue.js +11 -27
  137. package/esm/components/QPasswordField/QPasswordFieldMessages2.vue.js +5 -0
  138. package/esm/components/QPasswordField/QPasswordFieldMeterOverlay.vue.js +82 -103
  139. package/esm/components/QPasswordField/QPasswordFieldMeterOverlay2.vue.js +5 -0
  140. package/esm/components/QPasswordField/constants.js +6 -10
  141. package/esm/components/QPasswordField/index.js +6 -6
  142. package/esm/components/QPopover/QPopover.vue.js +74 -95
  143. package/esm/components/QPopover/QPopover2.vue.js +5 -0
  144. package/esm/components/QPopover/index.js +6 -6
  145. package/esm/components/QPropertyList/QPropertyList.vue.js +109 -154
  146. package/esm/components/QPropertyList/QPropertyList2.vue.js +5 -0
  147. package/esm/components/QPropertyList/QPropertyListGroup.vue.js +46 -68
  148. package/esm/components/QPropertyList/QPropertyListGroup2.vue.js +5 -0
  149. package/esm/components/QPropertyList/QPropertyListPanel.vue.js +24 -47
  150. package/esm/components/QPropertyList/QPropertyListPanel2.vue.js +5 -0
  151. package/esm/components/QPropertyList/QPropertyListRow.vue.js +60 -80
  152. package/esm/components/QPropertyList/QPropertyListRow2.vue.js +5 -0
  153. package/esm/components/QPropertyList/constants.js +6 -13
  154. package/esm/components/QPropertyList/index.js +9 -12
  155. package/esm/components/QRadioGroup/QRadioButton.vue.js +99 -96
  156. package/esm/components/QRadioGroup/QRadioButton2.vue.js +5 -0
  157. package/esm/components/QRadioGroup/QRadioGroup.vue.js +79 -87
  158. package/esm/components/QRadioGroup/QRadioGroup2.vue.js +5 -0
  159. package/esm/components/QRadioGroup/index.js +7 -8
  160. package/esm/components/QRemoveScrollBar/QRemoveScrollBar.vue.js +49 -51
  161. package/esm/components/QRemoveScrollBar/QRemoveScrollBar2.vue.js +5 -0
  162. package/esm/components/QRemoveScrollBar/constants.js +4 -8
  163. package/esm/components/QRemoveScrollBar/index.js +6 -6
  164. package/esm/components/QRemoveScrollBar/utils/gap.js +24 -22
  165. package/esm/components/QRemoveScrollBar/utils/stylesheet.js +19 -20
  166. package/esm/components/QSelect/QSelect.vue.js +399 -583
  167. package/esm/components/QSelect/QSelect2.vue.js +5 -0
  168. package/esm/components/QSelect/constants.js +14 -15
  169. package/esm/components/QSelect/index.js +6 -6
  170. package/esm/components/QSidebar/QSidebar.vue.js +133 -157
  171. package/esm/components/QSidebar/QSidebar2.vue.js +5 -0
  172. package/esm/components/QSidebar/QSidebarAnchor.vue.js +79 -110
  173. package/esm/components/QSidebar/QSidebarAnchor2.vue.js +5 -0
  174. package/esm/components/QSidebar/QSidebarPanel.vue.js +68 -88
  175. package/esm/components/QSidebar/QSidebarPanel2.vue.js +5 -0
  176. package/esm/components/QSidebar/index.js +6 -6
  177. package/esm/components/QSkeletonLoader/QSkeletonLoader.vue.js +28 -35
  178. package/esm/components/QSkeletonLoader/QSkeletonLoader2.vue.js +5 -0
  179. package/esm/components/QSkeletonLoader/index.js +6 -6
  180. package/esm/components/QSpinnerLoader/QSpinnerLoader.vue.js +19 -21
  181. package/esm/components/QSpinnerLoader/QSpinnerLoader2.vue.js +5 -0
  182. package/esm/components/QSpinnerLoader/index.js +6 -6
  183. package/esm/components/QSwitch/QSwitch.vue.js +83 -124
  184. package/esm/components/QSwitch/QSwitch2.vue.js +5 -0
  185. package/esm/components/QSwitch/index.js +6 -6
  186. package/esm/components/QTextArea/QTextArea.vue.js +113 -110
  187. package/esm/components/QTextArea/QTextArea2.vue.js +5 -0
  188. package/esm/components/QTextArea/index.js +6 -6
  189. package/esm/components/QTextField/QTextField.vue.js +115 -118
  190. package/esm/components/QTextField/QTextField2.vue.js +5 -0
  191. package/esm/components/QTextField/index.js +7 -6
  192. package/esm/components/QTextField/types.js +5 -7
  193. package/esm/components/QThemeProvider/QThemeProvider.vue.js +31 -33
  194. package/esm/components/QThemeProvider/QThemeProvider2.vue.js +5 -0
  195. package/esm/components/QThemeProvider/index.js +6 -6
  196. package/esm/components/QToast/QToast.vue.js +140 -213
  197. package/esm/components/QToast/QToast2.vue.js +5 -0
  198. package/esm/components/QToast/QToaster.vue.js +38 -47
  199. package/esm/components/QToast/QToaster2.vue.js +5 -0
  200. package/esm/components/QToast/constants.js +4 -8
  201. package/esm/components/QToast/index.js +7 -8
  202. package/esm/components/QToggle/QToggle.vue.js +39 -42
  203. package/esm/components/QToggle/QToggle2.vue.js +5 -0
  204. package/esm/components/QToggle/index.js +6 -6
  205. package/esm/components/QToggleGroup/QToggleGroup.vue.js +55 -49
  206. package/esm/components/QToggleGroup/QToggleGroup2.vue.js +5 -0
  207. package/esm/components/QToggleGroup/QToggleGroupItem.vue.js +33 -43
  208. package/esm/components/QToggleGroup/QToggleGroupItem2.vue.js +5 -0
  209. package/esm/components/QToggleGroup/index.js +7 -8
  210. package/esm/components/QTooltip/QTooltip.vue.js +93 -113
  211. package/esm/components/QTooltip/QTooltip2.vue.js +5 -0
  212. package/esm/components/QTooltip/index.js +6 -6
  213. package/esm/components/__internal__/QChevron/QChevron.vue.js +28 -30
  214. package/esm/components/__internal__/QChevron/QChevron2.vue.js +5 -0
  215. package/esm/components/__internal__/QChevron/constants.js +4 -8
  216. package/esm/components/__internal__/QChevron/index.js +6 -6
  217. package/esm/components/__internal__/QClearButton/QClearButton.vue.js +39 -44
  218. package/esm/components/__internal__/QClearButton/QClearButton2.vue.js +5 -0
  219. package/esm/components/__internal__/QClearButton/constants.js +4 -11
  220. package/esm/components/__internal__/QClearButton/index.js +6 -6
  221. package/esm/components/index.js +117 -113
  222. package/esm/composables/defaults.js +22 -27
  223. package/esm/composables/overlay.js +125 -135
  224. package/esm/composables/theme.js +13 -20
  225. package/esm/composables/uid.js +7 -8
  226. package/esm/composables/useColor/index.js +41 -42
  227. package/esm/composables/useDialog/index.js +28 -27
  228. package/esm/composables/useDismissibleLayerStack/index.js +31 -30
  229. package/esm/composables/useDropZone/index.js +43 -61
  230. package/esm/composables/useGroup/index.js +33 -39
  231. package/esm/composables/useInputMask/index.d.ts.map +1 -1
  232. package/esm/composables/useInputMask/index.js +384 -396
  233. package/esm/composables/useTextareaAutosize/index.js +18 -21
  234. package/esm/composables/useToast/index.js +30 -32
  235. package/esm/composables/useToast/types.js +4 -4
  236. package/esm/framework.js +56 -59
  237. package/esm/index.js +14 -18
  238. package/esm/symbols/dismissibleLayer.js +4 -4
  239. package/esm/templates/index.js +9 -5
  240. package/esm/templates/theme.js +109 -110
  241. package/esm/utils/color/contrast.js +10 -11
  242. package/esm/utils/color/conversion.js +44 -54
  243. package/esm/utils/color/manipulate.js +14 -19
  244. package/esm/utils/color/merge.js +43 -48
  245. package/esm/utils/color/parse.js +23 -23
  246. package/esm/utils/date.js +456 -463
  247. package/esm/utils/download.js +14 -15
  248. package/esm/utils/getElement.js +5 -5
  249. package/esm/utils/index.js +48 -44
  250. package/esm/utils/isEmpty.js +5 -5
  251. package/esm/utils/isObject.js +5 -5
  252. package/esm/utils/merge.js +12 -16
  253. package/esm/utils/setupPropsProxy.js +21 -28
  254. package/esm/utils/string.js +7 -7
  255. package/esm/utils/theme.js +41 -57
  256. package/esm/vendors/uuid/dist/native.js +3 -4
  257. package/esm/vendors/uuid/dist/rng.js +10 -12
  258. package/esm/vendors/uuid/dist/stringify.js +7 -8
  259. package/esm/vendors/uuid/dist/v4.js +18 -15
  260. package/package.json +12 -12
  261. package/esm/components/QAccordion/QAccordion.vue2.js +0 -4
  262. package/esm/components/QAccordion/QAccordionItem.vue2.js +0 -4
  263. package/esm/components/QAvatar/QAvatar.vue2.js +0 -4
  264. package/esm/components/QBadge/QBadge.vue2.js +0 -4
  265. package/esm/components/QBadgeIndicator/QBadgeIndicator.vue2.js +0 -4
  266. package/esm/components/QButton/QButton.vue2.js +0 -4
  267. package/esm/components/QButtonGroup/QButtonGroup.vue2.js +0 -4
  268. package/esm/components/QCard/QCard.vue2.js +0 -4
  269. package/esm/components/QCarousel/QCarousel.vue2.js +0 -4
  270. package/esm/components/QCheckbox/QCheckbox.vue2.js +0 -4
  271. package/esm/components/QCheckbox/QCheckboxLabel.vue2.js +0 -4
  272. package/esm/components/QCollapsible/QCollapsible.vue2.js +0 -4
  273. package/esm/components/QColorPicker/QColorPicker.vue2.js +0 -4
  274. package/esm/components/QCombobox/QCombobox.vue2.js +0 -4
  275. package/esm/components/QDateTimePicker/QDateTimePicker.vue2.js +0 -4
  276. package/esm/components/QDefaultsProvider/QDefaultsProvider.vue2.js +0 -4
  277. package/esm/components/QDialog/QDialog.vue2.js +0 -4
  278. package/esm/components/QDialog/QDialogProvider.vue2.js +0 -4
  279. package/esm/components/QDismissibleLayer/QDismissibleLayer.vue2.js +0 -4
  280. package/esm/components/QDivider/QDivider.vue2.js +0 -4
  281. package/esm/components/QDropdownMenu/QDropdownMenu.vue2.js +0 -4
  282. package/esm/components/QDropdownMenu/QDropdownMenuContent.vue2.js +0 -4
  283. package/esm/components/QField/QField.vue2.js +0 -4
  284. package/esm/components/QFileUpload/QFileUpload.vue2.js +0 -4
  285. package/esm/components/QFocusWrap/QFocusWrap.vue2.js +0 -4
  286. package/esm/components/QGrid/QCol.vue2.js +0 -4
  287. package/esm/components/QGrid/QContainer.vue2.js +0 -4
  288. package/esm/components/QGrid/QRow.vue2.js +0 -4
  289. package/esm/components/QGroupBox/QGroupBox.vue2.js +0 -4
  290. package/esm/components/QIcon/QIcon.vue2.js +0 -4
  291. package/esm/components/QIcon/QIconFont.vue2.js +0 -4
  292. package/esm/components/QIcon/QIconImg.vue2.js +0 -4
  293. package/esm/components/QIcon/QIconSvg.vue2.js +0 -4
  294. package/esm/components/QInputGroup/QInputGroup.vue2.js +0 -4
  295. package/esm/components/QLabel/QLabel.vue2.js +0 -4
  296. package/esm/components/QLineLoader/QLineLoader.vue2.js +0 -4
  297. package/esm/components/QList/QList.vue2.js +0 -4
  298. package/esm/components/QList/QListItem.vue2.js +0 -4
  299. package/esm/components/QList/QListItemGroup.vue2.js +0 -4
  300. package/esm/components/QMeter/QMeter.vue2.js +0 -4
  301. package/esm/components/QOverlay/QOverlay.vue2.js +0 -4
  302. package/esm/components/QPasswordField/QPasswordField.vue2.js +0 -4
  303. package/esm/components/QPasswordField/QPasswordFieldMessages.vue2.js +0 -4
  304. package/esm/components/QPasswordField/QPasswordFieldMeterOverlay.vue2.js +0 -4
  305. package/esm/components/QPopover/QPopover.vue2.js +0 -4
  306. package/esm/components/QPropertyList/QPropertyList.vue2.js +0 -4
  307. package/esm/components/QPropertyList/QPropertyListGroup.vue2.js +0 -4
  308. package/esm/components/QPropertyList/QPropertyListPanel.vue2.js +0 -4
  309. package/esm/components/QPropertyList/QPropertyListRow.vue2.js +0 -4
  310. package/esm/components/QRadioGroup/QRadioButton.vue2.js +0 -4
  311. package/esm/components/QRadioGroup/QRadioGroup.vue2.js +0 -4
  312. package/esm/components/QRemoveScrollBar/QRemoveScrollBar.vue2.js +0 -4
  313. package/esm/components/QSelect/QSelect.vue2.js +0 -4
  314. package/esm/components/QSidebar/QSidebar.vue2.js +0 -4
  315. package/esm/components/QSidebar/QSidebarAnchor.vue2.js +0 -4
  316. package/esm/components/QSidebar/QSidebarPanel.vue2.js +0 -4
  317. package/esm/components/QSkeletonLoader/QSkeletonLoader.vue2.js +0 -4
  318. package/esm/components/QSpinnerLoader/QSpinnerLoader.vue2.js +0 -4
  319. package/esm/components/QSwitch/QSwitch.vue2.js +0 -4
  320. package/esm/components/QTextArea/QTextArea.vue2.js +0 -4
  321. package/esm/components/QTextField/QTextField.vue2.js +0 -4
  322. package/esm/components/QThemeProvider/QThemeProvider.vue2.js +0 -4
  323. package/esm/components/QToast/QToast.vue2.js +0 -4
  324. package/esm/components/QToast/QToaster.vue2.js +0 -4
  325. package/esm/components/QToggle/QToggle.vue2.js +0 -4
  326. package/esm/components/QToggleGroup/QToggleGroup.vue2.js +0 -4
  327. package/esm/components/QToggleGroup/QToggleGroupItem.vue2.js +0 -4
  328. package/esm/components/QTooltip/QTooltip.vue2.js +0 -4
  329. package/esm/components/__internal__/QChevron/QChevron.vue2.js +0 -4
  330. package/esm/components/__internal__/QClearButton/QClearButton.vue2.js +0 -4
@@ -1,584 +1,400 @@
1
- import { defineComponent as Be, mergeModels as de, useModel as Ce, toRef as N, ref as ue, useTemplateRef as g, onMounted as we, onBeforeUnmount as Te, computed as V, nextTick as M, watch as $, createElementBlock as r, openBlock as t, Fragment as m, createVNode as E, unref as n, normalizeClass as ce, createSlots as Ie, withCtx as u, withDirectives as Ve, createBlock as v, createCommentVNode as c, renderList as fe, createTextVNode as _, mergeProps as R, toDisplayString as y, normalizeProps as ve, createElementVNode as pe, vModelText as $e, renderSlot as q, withModifiers as Ee } from "vue";
2
- import { DEFAULT_TEXTS as Re, DEFAULT_ICONS as Le } from "./constants.js";
3
- import { QBadge as P } from "../QBadge/index.js";
4
- import { QButton as De } from "../QButton/index.js";
5
- import { QField as Qe } from "../QField/index.js";
6
- import { QIcon as S } from "../QIcon/index.js";
7
- import { QList as Me } from "../QList/index.js";
8
- import { QOverlay as Pe } from "../QOverlay/index.js";
9
- import { QSpinnerLoader as Se } from "../QSpinnerLoader/index.js";
10
- import { QChevron as We } from "../__internal__/QChevron/index.js";
11
- import { QClearButton as ze } from "../__internal__/QClearButton/index.js";
12
- import { QPopover as Ae } from "../QPopover/index.js";
13
- import { useId as Oe } from "../../composables/uid.js";
14
- import { useGroup as Ue } from "../../composables/useGroup/index.js";
15
- const Fe = {
16
- key: 0,
17
- ref: "valueContainer",
18
- class: "q-select__value-container"
19
- }, Ke = {
20
- key: 1,
21
- class: "q-select__multi-value"
22
- }, Ne = {
23
- key: 1,
24
- class: "q-select__value"
25
- }, He = {
26
- key: 1,
27
- class: "q-select__placeholder"
28
- }, je = ["id", "tabindex", "aria-expanded", "aria-keyshortcuts"], Ge = ["data-key"], Xe = {
29
- key: 0,
30
- class: "q-select__loader"
31
- }, cl = /* @__PURE__ */ Be({
32
- inheritAttrs: !1,
33
- __name: "QSelect",
34
- props: /* @__PURE__ */ de({
35
- id: {},
36
- class: {},
37
- label: {},
38
- required: { type: Boolean },
39
- for: {},
40
- labelPosition: {},
41
- size: {},
42
- readonly: { type: Boolean },
43
- disabled: { type: Boolean },
44
- invalid: { type: Boolean },
45
- items: {},
46
- groups: { default: () => [] },
47
- clearable: { type: Boolean },
48
- inline: { type: Boolean },
49
- multiple: { type: Boolean },
50
- badges: { type: Boolean },
51
- loading: { type: Boolean },
52
- emptyValue: {},
53
- itemValue: { default: "key" },
54
- itemLabel: { default: "label" },
55
- icons: { default: () => Le },
56
- texts: { default: () => Re }
57
- }, {
58
- modelValue: {},
59
- modelModifiers: {}
60
- }),
61
- emits: /* @__PURE__ */ de(["before-show", "before-hide", "show", "hide"], ["update:modelValue"]),
62
- setup(W, { emit: me }) {
63
- const e = W, L = me, p = Ce(W, "modelValue"), z = Oe(N(e, "id")), { active: H } = Ue({
64
- active: p,
65
- required: N(e, "required"),
66
- multiple: N(e, "multiple")
67
- }), f = ue(!1), h = ue(0), A = g("trigger"), be = g("input"), ye = g("list"), j = g("content"), G = g("valueContainer"), X = g("allBadges"), J = g("allPlainTexts"), Y = g("hiddenItemsCountBadge");
68
- let x = null, B = null;
69
- function ge() {
70
- B && clearTimeout(B), B = setTimeout(() => {
71
- T();
72
- }, 120);
73
- }
74
- we(() => {
75
- var a;
76
- T();
77
- const l = (a = A.value) == null ? void 0 : a.fieldRef;
78
- l && (x = new ResizeObserver(() => {
79
- ge();
80
- }), x.observe(l));
81
- }), Te(() => {
82
- x == null || x.disconnect(), B && clearTimeout(B);
83
- });
84
- const O = V(() => i.value.length === 0), i = V(() => {
85
- if (e.multiple)
86
- return (p.value ?? []).map((a) => ee(a)).filter((a) => !!a);
87
- const l = typeof p.value < "u" ? ee(p.value) : void 0;
88
- return l ? [l] : [];
89
- }), Z = V(() => {
90
- var a;
91
- const l = /* @__PURE__ */ new Map();
92
- return (a = e.items) == null || a.forEach((d, s) => {
93
- l.set(d.key, s);
94
- }), l;
95
- }), C = V(
96
- () => {
97
- var l;
98
- return (l = i.value) == null ? void 0 : l.map(k).filter(Boolean).join(", ");
99
- }
100
- ), D = V(
101
- () => e.clearable && !e.readonly && !e.disabled && !e.loading && !O.value
102
- );
103
- function ee(l) {
104
- var a;
105
- return (a = e.items) == null ? void 0 : a.find((d) => d[e.itemValue] === l);
106
- }
107
- function he(l) {
108
- e.multiple && l < p.value.length && (!e.required || p.value.length > 1) ? H.value = p.value.toSpliced(l, 1) : w();
109
- }
110
- function k(l) {
111
- return (l == null ? void 0 : l[e.itemLabel]) ?? "";
112
- }
113
- function le(l) {
114
- return l + 1 < i.value.length - h.value ? ", " : "";
115
- }
116
- function U(l) {
117
- Array.isArray(l) ? p.value = l.sort((a, d) => Z.value.get(a) - Z.value.get(d)) : (p.value = l, Q());
118
- }
119
- function w() {
120
- U(e.emptyValue), oe();
121
- }
122
- function ke(l) {
123
- var a, d, s;
124
- !((a = j.value) != null && a.contains(l.relatedTarget)) && !((s = (d = A.value) == null ? void 0 : d.fieldRef) != null && s.contains(l.relatedTarget)) && Q();
125
- }
126
- function te() {
127
- f.value || (L("before-show"), f.value = !0);
128
- }
129
- function Q() {
130
- f.value && (L("before-hide"), f.value = !1);
131
- }
132
- function ae() {
133
- e.readonly || e.disabled || (f.value ? Q() : te());
134
- }
135
- function F(l) {
136
- !l.key || e.readonly || e.disabled || (["Enter", " ", "ArrowDown", "ArrowUp", "Home", "End", "Delete"].includes(l.key) && (l.preventDefault(), l.stopPropagation()), ["Enter", " ", "ArrowDown"].includes(l.key) && te(), ["Escape", "Tab"].includes(l.key) && (f.value ? Q() : D.value && l.key === "Escape" && w()), D.value && l.key === "Delete" && w());
137
- }
138
- function _e(l) {
139
- l.key.length === 1 && l.preventDefault(), F(l);
140
- }
141
- async function qe() {
142
- var l;
143
- await M(), e.loading ? (l = j.value) == null || l.focus() : ne(), L("show");
144
- }
145
- function xe() {
146
- oe(), L("hide");
147
- }
148
- function oe() {
149
- var l;
150
- (l = be.value) == null || l.focus();
151
- }
152
- function ne() {
153
- var l;
154
- (l = ye.value) == null || l.$el.focus();
155
- }
156
- async function T() {
157
- var ie, se, re;
158
- if (await M(), await M(), !e.multiple || !G.value || O.value) {
159
- h.value = 0;
160
- return;
161
- }
162
- const l = G.value.offsetWidth, a = 4, d = ((ie = Y.value) == null ? void 0 : ie.$el.scrollWidth) ?? 30;
163
- let s = d, o = 0;
164
- if (e.badges)
165
- for (const K of X.value ?? []) {
166
- const I = K.$el.scrollWidth + a;
167
- if (s + d + I <= l)
168
- s += I, o++;
169
- else break;
170
- }
171
- else
172
- for (const K of J.value ?? []) {
173
- const I = K.scrollWidth + a;
174
- if (s + d + I <= l)
175
- s += I, o++;
176
- else break;
177
- }
178
- const b = e.badges ? ((se = X.value) == null ? void 0 : se.length) ?? 0 : ((re = J.value) == null ? void 0 : re.length) ?? 0;
179
- h.value = b - o;
180
- }
181
- return $(
182
- () => e.loading,
183
- (l) => {
184
- !l && f.value && M(ne);
185
- }
186
- ), $(() => e.badges, T), $(i, T, { deep: !0 }), $(() => e.clearable, T), $(H, U), (l, a) => {
187
- var d;
188
- return t(), r(
189
- m,
190
- null,
191
- [
192
- E(n(Qe), {
193
- id: n(z),
194
- ref: "trigger",
195
- label: e.label,
196
- "label-position": e.labelPosition,
197
- required: e.required,
198
- class: ce([
199
- "q-select",
200
- {
201
- "q-select--readonly": e.readonly,
202
- "q-select--disabled": e.disabled
203
- },
204
- e.class
205
- ]),
206
- readonly: e.readonly,
207
- disabled: e.disabled,
208
- "data-loading": e.loading,
209
- size: e.size,
210
- invalid: e.invalid,
211
- onClick: ae,
212
- onKeydown: F
213
- }, Ie({
214
- append: u(() => [
215
- q(l.$slots, "append"),
216
- D.value ? (t(), v(n(ze), {
217
- key: 0,
218
- icons: e.icons,
219
- texts: e.texts,
220
- onClick: w
221
- }, null, 8, ["icons", "texts"])) : c("v-if", !0),
222
- e.readonly ? c("v-if", !0) : (t(), v(n(De), {
223
- key: 1,
224
- class: "q-select__chevron",
225
- "aria-label": e.texts.showOptions,
226
- variant: "ghost",
227
- color: "neutral",
228
- borderless: "",
229
- tabindex: "-1",
230
- disabled: e.disabled,
231
- onClick: ae
232
- }, {
233
- default: u(() => [
234
- E(n(We), {
235
- "model-value": f.value,
236
- icons: e.icons
237
- }, null, 8, ["model-value", "icons"])
238
- ]),
239
- _: 1
240
- /* STABLE */
241
- }, 8, ["aria-label", "disabled"]))
242
- ]),
243
- default: u(() => {
244
- var s;
245
- return [
246
- O.value ? (t(), r("span", He, [
247
- !e.readonly && !e.disabled ? (t(), r(
248
- m,
249
- { key: 0 },
250
- [
251
- _(
252
- y(e.texts.placeholder),
253
- 1
254
- /* TEXT */
255
- )
256
- ],
257
- 64
258
- /* STABLE_FRAGMENT */
259
- )) : c("v-if", !0)
260
- ])) : (t(), r(
261
- m,
262
- { key: 0 },
263
- [
264
- e.badges || e.multiple ? (t(), r(
265
- "span",
266
- Fe,
267
- [
268
- e.multiple ? (t(), r(
269
- m,
270
- { key: 0 },
271
- [
272
- (t(!0), r(
273
- m,
274
- null,
275
- fe(i.value, (o, b) => (t(), r(
276
- m,
277
- {
278
- key: `visible-${b}`
279
- },
280
- [
281
- b < i.value.length - h.value ? (t(), r(
282
- m,
283
- { key: 0 },
284
- [
285
- e.badges ? (t(), v(n(P), {
286
- key: 0,
287
- pill: "",
288
- color: e.readonly || e.disabled ? "neutral" : void 0,
289
- disabled: e.readonly || e.disabled,
290
- removable: !e.readonly && !e.disabled && (!e.required || i.value.length > 1),
291
- texts: e.texts,
292
- "onClick:remove": () => he(b)
293
- }, {
294
- default: u(() => [
295
- o != null && o.icon ? (t(), v(
296
- n(S),
297
- R({
298
- key: 0,
299
- ref_for: !0
300
- }, o.icon),
301
- null,
302
- 16
303
- /* FULL_PROPS */
304
- )) : c("v-if", !0),
305
- _(
306
- " " + y(k(o)),
307
- 1
308
- /* TEXT */
309
- )
310
- ]),
311
- _: 2
312
- /* DYNAMIC */
313
- }, 1032, ["color", "disabled", "removable", "texts", "onClick:remove"])) : e.multiple ? (t(), r(
314
- "span",
315
- Ke,
316
- y(k(o) + le(b)),
317
- 1
318
- /* TEXT */
319
- )) : c("v-if", !0)
320
- ],
321
- 64
322
- /* STABLE_FRAGMENT */
323
- )) : c("v-if", !0)
324
- ],
325
- 64
326
- /* STABLE_FRAGMENT */
327
- ))),
328
- 128
329
- /* KEYED_FRAGMENT */
330
- )),
331
- h.value > 0 ? (t(), r(
332
- m,
333
- { key: 0 },
334
- [
335
- E(n(P), {
336
- ref: "hiddenItemsCountBadge",
337
- pill: "",
338
- class: ce([
339
- "q-select__badge-count",
340
- {
341
- "q-select__badge-count--clickable": e.readonly || e.disabled
342
- }
343
- ])
344
- }, {
345
- default: u(() => [
346
- _(
347
- " +" + y(h.value),
348
- 1
349
- /* TEXT */
350
- )
351
- ]),
352
- _: 1
353
- /* STABLE */
354
- }, 8, ["class"]),
355
- e.readonly || e.disabled ? (t(), v(n(Ae), {
356
- key: 0,
357
- anchor: (s = Y.value) == null ? void 0 : s.$el,
358
- text: C.value,
359
- placement: "bottom-start"
360
- }, {
361
- default: u(() => [
362
- _(
363
- y(C.value),
364
- 1
365
- /* TEXT */
366
- )
367
- ]),
368
- _: 1
369
- /* STABLE */
370
- }, 8, ["anchor", "text"])) : c("v-if", !0)
371
- ],
372
- 64
373
- /* STABLE_FRAGMENT */
374
- )) : c("v-if", !0),
375
- (t(!0), r(
376
- m,
377
- null,
378
- fe(i.value, (o, b) => (t(), r(
379
- m,
380
- {
381
- key: `measure-${b}`
382
- },
383
- [
384
- e.badges ? (t(), v(n(P), {
385
- key: 0,
386
- ref_for: !0,
387
- ref: "allBadges",
388
- pill: "",
389
- color: e.readonly || e.disabled ? "neutral" : void 0,
390
- disabled: "",
391
- class: "q-select__badge-hidden",
392
- removable: !e.readonly && !e.disabled && (!e.required || i.value.length > 1)
393
- }, {
394
- default: u(() => [
395
- o != null && o.icon ? (t(), v(
396
- n(S),
397
- R({
398
- key: 0,
399
- ref_for: !0
400
- }, o.icon),
401
- null,
402
- 16
403
- /* FULL_PROPS */
404
- )) : c("v-if", !0),
405
- _(
406
- " " + y(k(o)),
407
- 1
408
- /* TEXT */
409
- )
410
- ]),
411
- _: 2
412
- /* DYNAMIC */
413
- }, 1032, ["color", "removable"])) : e.multiple ? (t(), r(
414
- "span",
415
- {
416
- key: 1,
417
- ref_for: !0,
418
- ref: "allPlainTexts",
419
- class: "q-select__multi-value--hidden"
420
- },
421
- y(k(o) + le(b)),
422
- 513
423
- /* TEXT, NEED_PATCH */
424
- )) : c("v-if", !0)
425
- ],
426
- 64
427
- /* STABLE_FRAGMENT */
428
- ))),
429
- 128
430
- /* KEYED_FRAGMENT */
431
- ))
432
- ],
433
- 64
434
- /* STABLE_FRAGMENT */
435
- )) : (t(), v(n(P), {
436
- key: 1,
437
- pill: "",
438
- disabled: e.readonly || e.disabled,
439
- removable: !e.readonly && !e.disabled && !e.required,
440
- texts: e.texts,
441
- "onClick:remove": w
442
- }, {
443
- default: u(() => {
444
- var o;
445
- return [
446
- (o = i.value[0]) != null && o.icon ? (t(), v(
447
- n(S),
448
- ve(R({ key: 0 }, i.value[0].icon)),
449
- null,
450
- 16
451
- /* FULL_PROPS */
452
- )) : c("v-if", !0),
453
- _(
454
- " " + y(k(i.value[0])),
455
- 1
456
- /* TEXT */
457
- )
458
- ];
459
- }),
460
- _: 1
461
- /* STABLE */
462
- }, 8, ["disabled", "removable", "texts"]))
463
- ],
464
- 512
465
- /* NEED_PATCH */
466
- )) : (t(), r(
467
- "span",
468
- Ne,
469
- y(C.value),
470
- 1
471
- /* TEXT */
472
- ))
473
- ],
474
- 64
475
- /* STABLE_FRAGMENT */
476
- )),
477
- Ve(pe("input", R({
478
- id: `${n(z)}_input`,
479
- ref: "input"
480
- }, l.$attrs, {
481
- "onUpdate:modelValue": a[0] || (a[0] = (o) => C.value = o),
482
- class: "q-select__input",
483
- inputmode: "none",
484
- type: "text",
485
- autocomplete: "off",
486
- tabindex: e.disabled ? -1 : 0,
487
- role: "combobox",
488
- "aria-expanded": f.value,
489
- "aria-haspopup": "listbox",
490
- "aria-keyshortcuts": D.value ? "Delete" : void 0,
491
- onKeydown: _e
492
- }), null, 16, je), [
493
- [$e, C.value]
494
- ])
495
- ];
496
- }),
497
- _: 2
498
- /* DYNAMIC */
499
- }, [
500
- i.value.length === 1 && i.value[0].icon && !e.badges || l.$slots.prepend ? {
501
- name: "prepend",
502
- fn: u(() => [
503
- q(l.$slots, "prepend"),
504
- i.value.length === 1 && i.value[0].icon && !e.badges ? (t(), v(
505
- n(S),
506
- ve(R({ key: 0 }, i.value[0].icon)),
507
- null,
508
- 16
509
- /* FULL_PROPS */
510
- )) : c("v-if", !0)
511
- ]),
512
- key: "0"
513
- } : void 0,
514
- l.$slots.extras ? {
515
- name: "extras",
516
- fn: u(() => [
517
- q(l.$slots, "extras")
518
- ]),
519
- key: "1"
520
- } : void 0
521
- ]), 1032, ["id", "label", "label-position", "required", "class", "readonly", "disabled", "data-loading", "size", "invalid"]),
522
- E(n(Pe), {
523
- modelValue: f.value,
524
- "onUpdate:modelValue": a[1] || (a[1] = (s) => f.value = s),
525
- spy: "",
526
- trigger: "manual",
527
- placement: "bottom-start",
528
- width: "anchor",
529
- "scroll-lock": "",
530
- inline: e.inline,
531
- anchor: (d = A.value) == null ? void 0 : d.fieldRef,
532
- offset: 2,
533
- onEnter: qe,
534
- onLeave: xe
535
- }, {
536
- default: u(() => [
537
- pe("div", {
538
- ref: "content",
539
- "data-testid": "combobox-dropdown",
540
- "data-key": n(z),
541
- class: "q-select__body",
542
- tabindex: "-1",
543
- onFocusout: ke,
544
- onKeydown: Ee(F, ["stop"])
545
- }, [
546
- q(l.$slots, "body.prepend"),
547
- e.loading ? (t(), r("div", Xe, [
548
- E(n(Se), { size: 24 })
549
- ])) : (t(), v(n(Me), {
550
- key: 1,
551
- ref: "list",
552
- class: "q-select__items",
553
- selectable: "",
554
- required: e.required,
555
- multiple: e.multiple,
556
- "model-value": p.value,
557
- items: e.items,
558
- groups: W.groups,
559
- "item-label": e.itemLabel,
560
- "item-value": e.itemValue,
561
- "onUpdate:modelValue": U
562
- }, {
563
- item: u(({ item: s }) => [
564
- q(l.$slots, "item", { item: s })
565
- ]),
566
- _: 3
567
- /* FORWARDED */
568
- }, 8, ["required", "multiple", "model-value", "items", "groups", "item-label", "item-value"])),
569
- q(l.$slots, "body.append")
570
- ], 40, Ge)
571
- ]),
572
- _: 3
573
- /* FORWARDED */
574
- }, 8, ["modelValue", "inline", "anchor"])
575
- ],
576
- 64
577
- /* STABLE_FRAGMENT */
578
- );
579
- };
580
- }
1
+ import { useGroup as e } from "../../composables/useGroup/index.js";
2
+ import { QSpinnerLoader as t } from "../QSpinnerLoader/index.js";
3
+ import { QButton as n } from "../QButton/index.js";
4
+ import { QIcon as r } from "../QIcon/index.js";
5
+ import { QChevron as i } from "../__internal__/QChevron/index.js";
6
+ import { useId as a } from "../../composables/uid.js";
7
+ import { QBadge as o } from "../QBadge/index.js";
8
+ import { QField as ee } from "../QField/index.js";
9
+ import { QClearButton as te } from "../__internal__/QClearButton/index.js";
10
+ import { QList as ne } from "../QList/index.js";
11
+ import { QOverlay as re } from "../QOverlay/index.js";
12
+ import { QPopover as ie } from "../QPopover/index.js";
13
+ import { DEFAULT_ICONS as s, DEFAULT_TEXTS as ae } from "./constants.js";
14
+ import { Fragment as c, computed as l, createBlock as u, createCommentVNode as d, createElementBlock as f, createElementVNode as p, createSlots as oe, createTextVNode as m, createVNode as h, defineComponent as g, mergeModels as _, mergeProps as v, nextTick as y, normalizeClass as b, normalizeProps as x, onBeforeUnmount as se, onMounted as ce, openBlock as S, ref as le, renderList as ue, renderSlot as C, toDisplayString as w, toRef as T, unref as E, useModel as de, useTemplateRef as D, vModelText as fe, watch as O, withCtx as k, withDirectives as pe, withModifiers as me } from "vue";
15
+ //#region src/components/QSelect/QSelect.vue?vue&type=script&setup=true&lang.ts
16
+ var he = {
17
+ key: 0,
18
+ ref: "valueContainer",
19
+ class: "q-select__value-container"
20
+ }, ge = {
21
+ key: 1,
22
+ class: "q-select__multi-value"
23
+ }, _e = {
24
+ key: 1,
25
+ class: "q-select__value"
26
+ }, ve = {
27
+ key: 1,
28
+ class: "q-select__placeholder"
29
+ }, ye = [
30
+ "id",
31
+ "tabindex",
32
+ "aria-expanded",
33
+ "aria-keyshortcuts"
34
+ ], be = ["data-key"], xe = {
35
+ key: 0,
36
+ class: "q-select__loader"
37
+ }, A = /*@__PURE__*/ g({
38
+ inheritAttrs: !1,
39
+ __name: "QSelect",
40
+ props: /*@__PURE__*/ _({
41
+ id: {},
42
+ class: {},
43
+ label: {},
44
+ required: { type: Boolean },
45
+ for: {},
46
+ labelPosition: {},
47
+ size: {},
48
+ readonly: { type: Boolean },
49
+ disabled: { type: Boolean },
50
+ invalid: { type: Boolean },
51
+ items: {},
52
+ groups: { default: () => [] },
53
+ clearable: { type: Boolean },
54
+ inline: { type: Boolean },
55
+ multiple: { type: Boolean },
56
+ badges: { type: Boolean },
57
+ loading: { type: Boolean },
58
+ emptyValue: {},
59
+ itemValue: { default: "key" },
60
+ itemLabel: { default: "label" },
61
+ icons: { default: () => s },
62
+ texts: { default: () => ae }
63
+ }, {
64
+ modelValue: {},
65
+ modelModifiers: {}
66
+ }),
67
+ emits: /*@__PURE__*/ _([
68
+ "before-show",
69
+ "before-hide",
70
+ "show",
71
+ "hide"
72
+ ], ["update:modelValue"]),
73
+ setup(s, { emit: ae }) {
74
+ let g = s, _ = ae, A = de(s, "modelValue"), j = a(T(g, "id")), { active: M } = e({
75
+ active: A,
76
+ required: T(g, "required"),
77
+ multiple: T(g, "multiple")
78
+ }), N = le(!1), P = le(0), F = D("trigger"), Se = D("input"), Ce = D("list"), I = D("content"), L = D("valueContainer"), R = D("allBadges"), z = D("allPlainTexts"), B = D("hiddenItemsCountBadge"), V = null, H = null;
79
+ function we() {
80
+ H && clearTimeout(H), H = setTimeout(() => {
81
+ $();
82
+ }, 120);
83
+ }
84
+ ce(() => {
85
+ $();
86
+ let e = F.value?.fieldRef;
87
+ e && (V = new ResizeObserver(() => {
88
+ we();
89
+ }), V.observe(e));
90
+ }), se(() => {
91
+ V?.disconnect(), H && clearTimeout(H);
92
+ });
93
+ let U = l(() => W.value.length === 0), W = l(() => {
94
+ if (g.multiple) return (A.value ?? []).map((e) => Te(e)).filter((e) => !!e);
95
+ let e = A.value === void 0 ? void 0 : Te(A.value);
96
+ return e ? [e] : [];
97
+ }), G = l(() => {
98
+ let e = /* @__PURE__ */ new Map();
99
+ return g.items?.forEach((t, n) => {
100
+ e.set(t.key, n);
101
+ }), e;
102
+ }), K = l(() => W.value?.map(J).filter(Boolean).join(", ")), q = l(() => g.clearable && !g.readonly && !g.disabled && !g.loading && !U.value);
103
+ function Te(e) {
104
+ return g.items?.find((t) => t[g.itemValue] === e);
105
+ }
106
+ function Ee(e) {
107
+ g.multiple && e < A.value.length && (!g.required || A.value.length > 1) ? M.value = A.value.toSpliced(e, 1) : X();
108
+ }
109
+ function J(e) {
110
+ return e?.[g.itemLabel] ?? "";
111
+ }
112
+ function De(e) {
113
+ return e + 1 < W.value.length - P.value ? ", " : "";
114
+ }
115
+ function Y(e) {
116
+ Array.isArray(e) ? A.value = e.sort((e, t) => G.value.get(e) - G.value.get(t)) : (A.value = e, Z());
117
+ }
118
+ function X() {
119
+ Y(g.emptyValue), Pe();
120
+ }
121
+ function Oe(e) {
122
+ !I.value?.contains(e.relatedTarget) && !F.value?.fieldRef?.contains(e.relatedTarget) && Z();
123
+ }
124
+ function ke() {
125
+ N.value ||= (_("before-show"), !0);
126
+ }
127
+ function Z() {
128
+ N.value &&= (_("before-hide"), !1);
129
+ }
130
+ function Ae() {
131
+ g.readonly || g.disabled || (N.value ? Z() : ke());
132
+ }
133
+ function Q(e) {
134
+ !e.key || g.readonly || g.disabled || ([
135
+ "Enter",
136
+ " ",
137
+ "ArrowDown",
138
+ "ArrowUp",
139
+ "Home",
140
+ "End",
141
+ "Delete"
142
+ ].includes(e.key) && (e.preventDefault(), e.stopPropagation()), [
143
+ "Enter",
144
+ " ",
145
+ "ArrowDown"
146
+ ].includes(e.key) && ke(), ["Escape", "Tab"].includes(e.key) && (N.value ? Z() : q.value && e.key === "Escape" && X()), q.value && e.key === "Delete" && X());
147
+ }
148
+ function je(e) {
149
+ e.key.length === 1 && e.preventDefault(), Q(e);
150
+ }
151
+ async function Me() {
152
+ await y(), g.loading ? I.value?.focus() : Fe(), _("show");
153
+ }
154
+ function Ne() {
155
+ Pe(), _("hide");
156
+ }
157
+ function Pe() {
158
+ Se.value?.focus();
159
+ }
160
+ function Fe() {
161
+ Ce.value?.$el.focus();
162
+ }
163
+ async function $() {
164
+ if (await y(), await y(), !g.multiple || !L.value || U.value) {
165
+ P.value = 0;
166
+ return;
167
+ }
168
+ let e = L.value.offsetWidth, t = B.value?.$el.scrollWidth ?? 30, n = t, r = 0;
169
+ if (g.badges) for (let i of R.value ?? []) {
170
+ let a = i.$el.scrollWidth + 4;
171
+ if (n + t + a <= e) n += a, r++;
172
+ else break;
173
+ }
174
+ else for (let i of z.value ?? []) {
175
+ let a = i.scrollWidth + 4;
176
+ if (n + t + a <= e) n += a, r++;
177
+ else break;
178
+ }
179
+ P.value = (g.badges ? R.value?.length ?? 0 : z.value?.length ?? 0) - r;
180
+ }
181
+ return O(() => g.loading, (e) => {
182
+ !e && N.value && y(Fe);
183
+ }), O(() => g.badges, $), O(W, $, { deep: !0 }), O(() => g.clearable, $), O(M, Y), (e, a) => (S(), f(c, null, [h(E(ee), {
184
+ id: E(j),
185
+ ref: "trigger",
186
+ label: g.label,
187
+ "label-position": g.labelPosition,
188
+ required: g.required,
189
+ class: b([
190
+ "q-select",
191
+ {
192
+ "q-select--readonly": g.readonly,
193
+ "q-select--disabled": g.disabled
194
+ },
195
+ g.class
196
+ ]),
197
+ readonly: g.readonly,
198
+ disabled: g.disabled,
199
+ "data-loading": g.loading,
200
+ size: g.size,
201
+ invalid: g.invalid,
202
+ onClick: Ae,
203
+ onKeydown: Q
204
+ }, oe({
205
+ append: k(() => [
206
+ C(e.$slots, "append"),
207
+ q.value ? (S(), u(E(te), {
208
+ key: 0,
209
+ icons: g.icons,
210
+ texts: g.texts,
211
+ onClick: X
212
+ }, null, 8, ["icons", "texts"])) : d("v-if", !0),
213
+ g.readonly ? d("v-if", !0) : (S(), u(E(n), {
214
+ key: 1,
215
+ class: "q-select__chevron",
216
+ "aria-label": g.texts.showOptions,
217
+ variant: "ghost",
218
+ color: "neutral",
219
+ borderless: "",
220
+ tabindex: "-1",
221
+ disabled: g.disabled,
222
+ onClick: Ae
223
+ }, {
224
+ default: k(() => [h(E(i), {
225
+ "model-value": N.value,
226
+ icons: g.icons
227
+ }, null, 8, ["model-value", "icons"])]),
228
+ _: 1
229
+ }, 8, ["aria-label", "disabled"]))
230
+ ]),
231
+ default: k(() => [U.value ? (S(), f("span", ve, [!g.readonly && !g.disabled ? (S(), f(c, { key: 0 }, [m(w(g.texts.placeholder), 1)], 64)) : d("v-if", !0)])) : (S(), f(c, { key: 0 }, [g.badges || g.multiple ? (S(), f("span", he, [g.multiple ? (S(), f(c, { key: 0 }, [
232
+ (S(!0), f(c, null, ue(W.value, (e, t) => (S(), f(c, { key: `visible-${t}` }, [t < W.value.length - P.value ? (S(), f(c, { key: 0 }, [g.badges ? (S(), u(E(o), {
233
+ key: 0,
234
+ pill: "",
235
+ color: g.readonly || g.disabled ? "neutral" : void 0,
236
+ disabled: g.readonly || g.disabled,
237
+ removable: !g.readonly && !g.disabled && (!g.required || W.value.length > 1),
238
+ texts: g.texts,
239
+ "onClick:remove": () => Ee(t)
240
+ }, {
241
+ default: k(() => [e?.icon ? (S(), u(E(r), v({
242
+ key: 0,
243
+ ref_for: !0
244
+ }, e.icon), null, 16)) : d("v-if", !0), m(" " + w(J(e)), 1)]),
245
+ _: 2
246
+ }, 1032, [
247
+ "color",
248
+ "disabled",
249
+ "removable",
250
+ "texts",
251
+ "onClick:remove"
252
+ ])) : g.multiple ? (S(), f("span", ge, w(J(e) + De(t)), 1)) : d("v-if", !0)], 64)) : d("v-if", !0)], 64))), 128)),
253
+ P.value > 0 ? (S(), f(c, { key: 0 }, [h(E(o), {
254
+ ref: "hiddenItemsCountBadge",
255
+ pill: "",
256
+ class: b(["q-select__badge-count", { "q-select__badge-count--clickable": g.readonly || g.disabled }])
257
+ }, {
258
+ default: k(() => [m(" +" + w(P.value), 1)]),
259
+ _: 1
260
+ }, 8, ["class"]), g.readonly || g.disabled ? (S(), u(E(ie), {
261
+ key: 0,
262
+ anchor: B.value?.$el,
263
+ text: K.value,
264
+ placement: "bottom-start"
265
+ }, {
266
+ default: k(() => [m(w(K.value), 1)]),
267
+ _: 1
268
+ }, 8, ["anchor", "text"])) : d("v-if", !0)], 64)) : d("v-if", !0),
269
+ (S(!0), f(c, null, ue(W.value, (e, t) => (S(), f(c, { key: `measure-${t}` }, [g.badges ? (S(), u(E(o), {
270
+ key: 0,
271
+ ref_for: !0,
272
+ ref: "allBadges",
273
+ pill: "",
274
+ color: g.readonly || g.disabled ? "neutral" : void 0,
275
+ disabled: "",
276
+ class: "q-select__badge-hidden",
277
+ removable: !g.readonly && !g.disabled && (!g.required || W.value.length > 1)
278
+ }, {
279
+ default: k(() => [e?.icon ? (S(), u(E(r), v({
280
+ key: 0,
281
+ ref_for: !0
282
+ }, e.icon), null, 16)) : d("v-if", !0), m(" " + w(J(e)), 1)]),
283
+ _: 2
284
+ }, 1032, ["color", "removable"])) : g.multiple ? (S(), f("span", {
285
+ key: 1,
286
+ ref_for: !0,
287
+ ref: "allPlainTexts",
288
+ class: "q-select__multi-value--hidden"
289
+ }, w(J(e) + De(t)), 513)) : d("v-if", !0)], 64))), 128))
290
+ ], 64)) : (S(), u(E(o), {
291
+ key: 1,
292
+ pill: "",
293
+ disabled: g.readonly || g.disabled,
294
+ removable: !g.readonly && !g.disabled && !g.required,
295
+ texts: g.texts,
296
+ "onClick:remove": X
297
+ }, {
298
+ default: k(() => [W.value[0]?.icon ? (S(), u(E(r), x(v({ key: 0 }, W.value[0].icon)), null, 16)) : d("v-if", !0), m(" " + w(J(W.value[0])), 1)]),
299
+ _: 1
300
+ }, 8, [
301
+ "disabled",
302
+ "removable",
303
+ "texts"
304
+ ]))], 512)) : (S(), f("span", _e, w(K.value), 1))], 64)), pe(p("input", v({
305
+ id: `${E(j)}_input`,
306
+ ref: "input"
307
+ }, e.$attrs, {
308
+ "onUpdate:modelValue": a[0] ||= (e) => K.value = e,
309
+ class: "q-select__input",
310
+ inputmode: "none",
311
+ type: "text",
312
+ autocomplete: "off",
313
+ tabindex: g.disabled ? -1 : 0,
314
+ role: "combobox",
315
+ "aria-expanded": N.value,
316
+ "aria-haspopup": "listbox",
317
+ "aria-keyshortcuts": q.value ? "Delete" : void 0,
318
+ onKeydown: je
319
+ }), null, 16, ye), [[fe, K.value]])]),
320
+ _: 2
321
+ }, [W.value.length === 1 && W.value[0].icon && !g.badges || e.$slots.prepend ? {
322
+ name: "prepend",
323
+ fn: k(() => [C(e.$slots, "prepend"), W.value.length === 1 && W.value[0].icon && !g.badges ? (S(), u(E(r), x(v({ key: 0 }, W.value[0].icon)), null, 16)) : d("v-if", !0)]),
324
+ key: "0"
325
+ } : void 0, e.$slots.extras ? {
326
+ name: "extras",
327
+ fn: k(() => [C(e.$slots, "extras")]),
328
+ key: "1"
329
+ } : void 0]), 1032, [
330
+ "id",
331
+ "label",
332
+ "label-position",
333
+ "required",
334
+ "class",
335
+ "readonly",
336
+ "disabled",
337
+ "data-loading",
338
+ "size",
339
+ "invalid"
340
+ ]), h(E(re), {
341
+ modelValue: N.value,
342
+ "onUpdate:modelValue": a[1] ||= (e) => N.value = e,
343
+ spy: "",
344
+ trigger: "manual",
345
+ placement: "bottom-start",
346
+ width: "anchor",
347
+ "scroll-lock": "",
348
+ inline: g.inline,
349
+ anchor: F.value?.fieldRef,
350
+ offset: 2,
351
+ onEnter: Me,
352
+ onLeave: Ne
353
+ }, {
354
+ default: k(() => [p("div", {
355
+ ref: "content",
356
+ "data-testid": "combobox-dropdown",
357
+ "data-key": E(j),
358
+ class: "q-select__body",
359
+ tabindex: "-1",
360
+ onFocusout: Oe,
361
+ onKeydown: me(Q, ["stop"])
362
+ }, [
363
+ C(e.$slots, "body.prepend"),
364
+ g.loading ? (S(), f("div", xe, [h(E(t), { size: 24 })])) : (S(), u(E(ne), {
365
+ key: 1,
366
+ ref: "list",
367
+ class: "q-select__items",
368
+ selectable: "",
369
+ required: g.required,
370
+ multiple: g.multiple,
371
+ "model-value": A.value,
372
+ items: g.items,
373
+ groups: s.groups,
374
+ "item-label": g.itemLabel,
375
+ "item-value": g.itemValue,
376
+ "onUpdate:modelValue": Y
377
+ }, {
378
+ item: k(({ item: t }) => [C(e.$slots, "item", { item: t })]),
379
+ _: 3
380
+ }, 8, [
381
+ "required",
382
+ "multiple",
383
+ "model-value",
384
+ "items",
385
+ "groups",
386
+ "item-label",
387
+ "item-value"
388
+ ])),
389
+ C(e.$slots, "body.append")
390
+ ], 40, be)]),
391
+ _: 3
392
+ }, 8, [
393
+ "modelValue",
394
+ "inline",
395
+ "anchor"
396
+ ])], 64));
397
+ }
581
398
  });
582
- export {
583
- cl as default
584
- };
399
+ //#endregion
400
+ export { A as default };