quasar 2.3.0 → 2.3.4

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 (255) hide show
  1. package/dist/api/AppFullscreen.json +15 -8
  2. package/dist/api/BottomSheet.json +23 -2
  3. package/dist/api/Cookies.json +4 -3
  4. package/dist/api/Dialog.json +41 -12
  5. package/dist/api/Loading.json +4 -2
  6. package/dist/api/LoadingBar.json +8 -3
  7. package/dist/api/LocalStorage.json +8 -0
  8. package/dist/api/Morph.json +14 -7
  9. package/dist/api/Mutation.json +1 -1
  10. package/dist/api/Notify.json +41 -27
  11. package/dist/api/QAjaxBar.json +6 -3
  12. package/dist/api/QBreadcrumbs.json +8 -4
  13. package/dist/api/QBreadcrumbsEl.json +4 -2
  14. package/dist/api/QBtn.json +6 -3
  15. package/dist/api/QBtnDropdown.json +11 -6
  16. package/dist/api/QBtnToggle.json +4 -2
  17. package/dist/api/QCard.json +2 -1
  18. package/dist/api/QCardActions.json +2 -1
  19. package/dist/api/QCardSection.json +2 -1
  20. package/dist/api/QCarousel.json +10 -5
  21. package/dist/api/QCarouselControl.json +4 -2
  22. package/dist/api/QChatMessage.json +8 -4
  23. package/dist/api/QCheckbox.json +8 -4
  24. package/dist/api/QChip.json +2 -1
  25. package/dist/api/QCircularProgress.json +14 -7
  26. package/dist/api/QColor.json +6 -3
  27. package/dist/api/QDate.json +79 -5
  28. package/dist/api/QDialog.json +8 -4
  29. package/dist/api/QDrawer.json +10 -5
  30. package/dist/api/QEditor.json +17 -7
  31. package/dist/api/QExpansionItem.json +5 -3
  32. package/dist/api/QFab.json +11 -6
  33. package/dist/api/QFabAction.json +4 -2
  34. package/dist/api/QField.json +2 -1
  35. package/dist/api/QFile.json +7 -2
  36. package/dist/api/QFooter.json +3 -2
  37. package/dist/api/QForm.json +1 -1
  38. package/dist/api/QHeader.json +5 -3
  39. package/dist/api/QIcon.json +2 -1
  40. package/dist/api/QImg.json +8 -4
  41. package/dist/api/QInfiniteScroll.json +6 -3
  42. package/dist/api/QInnerLoading.json +8 -4
  43. package/dist/api/QInput.json +2 -1
  44. package/dist/api/QIntersection.json +17 -1
  45. package/dist/api/QItem.json +2 -1
  46. package/dist/api/QKnob.json +8 -4
  47. package/dist/api/QLayout.json +9 -1
  48. package/dist/api/QLinearProgress.json +4 -2
  49. package/dist/api/QMarkupTable.json +2 -1
  50. package/dist/api/QMenu.json +8 -4
  51. package/dist/api/QNoSsr.json +2 -1
  52. package/dist/api/QOptionGroup.json +2 -1
  53. package/dist/api/QPage.json +2 -1
  54. package/dist/api/QPageScroller.json +8 -4
  55. package/dist/api/QPageSticky.json +2 -1
  56. package/dist/api/QPagination.json +10 -6
  57. package/dist/api/QParallax.json +2 -1
  58. package/dist/api/QPopupEdit.json +5 -2
  59. package/dist/api/QPopupProxy.json +7 -4
  60. package/dist/api/QRange.json +8 -4
  61. package/dist/api/QRating.json +5 -2
  62. package/dist/api/QResizeObserver.json +4 -1
  63. package/dist/api/QRouteTab.json +5 -26
  64. package/dist/api/QScrollArea.json +32 -6
  65. package/dist/api/QScrollObserver.json +13 -1
  66. package/dist/api/QSelect.json +141 -47
  67. package/dist/api/QSeparator.json +2 -1
  68. package/dist/api/QSkeleton.json +8 -4
  69. package/dist/api/QSlideItem.json +9 -0
  70. package/dist/api/QSlideTransition.json +2 -1
  71. package/dist/api/QSlider.json +8 -4
  72. package/dist/api/QSpinner.json +2 -1
  73. package/dist/api/QSplitter.json +4 -2
  74. package/dist/api/QStep.json +2 -1
  75. package/dist/api/QStepper.json +6 -3
  76. package/dist/api/QTab.json +4 -2
  77. package/dist/api/QTabPanels.json +6 -3
  78. package/dist/api/QTable.json +216 -93
  79. package/dist/api/QTabs.json +4 -2
  80. package/dist/api/QTime.json +16 -4
  81. package/dist/api/QTimeline.json +4 -2
  82. package/dist/api/QTimelineEntry.json +4 -2
  83. package/dist/api/QToggle.json +8 -4
  84. package/dist/api/QTooltip.json +18 -9
  85. package/dist/api/QTree.json +34 -19
  86. package/dist/api/QUploader.json +93 -5
  87. package/dist/api/QVirtualScroll.json +26 -11
  88. package/dist/api/ScrollFire.json +1 -1
  89. package/dist/api/SessionStorage.json +8 -0
  90. package/dist/api/TouchHold.json +2 -1
  91. package/dist/api/TouchRepeat.json +2 -1
  92. package/dist/api/TouchSwipe.json +2 -1
  93. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  94. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  95. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  96. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  97. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  98. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  99. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  100. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  101. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  102. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  103. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  104. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  105. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  106. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  107. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  108. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  109. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  110. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  111. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  112. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +6 -0
  113. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  114. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  115. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  116. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  117. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  118. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  119. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  120. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  121. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  122. package/dist/icon-set/themify.umd.prod.js +1 -1
  123. package/dist/lang/ar.umd.prod.js +1 -1
  124. package/dist/lang/az-Latn.umd.prod.js +1 -1
  125. package/dist/lang/bg.umd.prod.js +1 -1
  126. package/dist/lang/bn.umd.prod.js +1 -1
  127. package/dist/lang/ca.umd.prod.js +1 -1
  128. package/dist/lang/cs.umd.prod.js +1 -1
  129. package/dist/lang/da.umd.prod.js +1 -1
  130. package/dist/lang/de.umd.prod.js +1 -1
  131. package/dist/lang/el.umd.prod.js +1 -1
  132. package/dist/lang/en-GB.umd.prod.js +1 -1
  133. package/dist/lang/en-US.umd.prod.js +1 -1
  134. package/dist/lang/eo.umd.prod.js +1 -1
  135. package/dist/lang/es.umd.prod.js +1 -1
  136. package/dist/lang/et.umd.prod.js +1 -1
  137. package/dist/lang/fa-IR.umd.prod.js +1 -1
  138. package/dist/lang/fa.umd.prod.js +1 -1
  139. package/dist/lang/fi.umd.prod.js +1 -1
  140. package/dist/lang/fr.umd.prod.js +1 -1
  141. package/dist/lang/gn.umd.prod.js +1 -1
  142. package/dist/lang/he.umd.prod.js +1 -1
  143. package/dist/lang/hr.umd.prod.js +1 -1
  144. package/dist/lang/hu.umd.prod.js +1 -1
  145. package/dist/lang/id.umd.prod.js +1 -1
  146. package/dist/lang/is.umd.prod.js +1 -1
  147. package/dist/lang/it.umd.prod.js +1 -1
  148. package/dist/lang/ja.umd.prod.js +1 -1
  149. package/dist/lang/km.umd.prod.js +1 -1
  150. package/dist/lang/ko-KR.umd.prod.js +1 -1
  151. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  152. package/dist/lang/lt.umd.prod.js +1 -1
  153. package/dist/lang/lu.umd.prod.js +1 -1
  154. package/dist/lang/lv.umd.prod.js +1 -1
  155. package/dist/lang/ml.umd.prod.js +1 -1
  156. package/dist/lang/ms.umd.prod.js +1 -1
  157. package/dist/lang/nb-NO.umd.prod.js +1 -1
  158. package/dist/lang/nl.umd.prod.js +1 -1
  159. package/dist/lang/pl.umd.prod.js +1 -1
  160. package/dist/lang/pt-BR.umd.prod.js +1 -1
  161. package/dist/lang/pt.umd.prod.js +1 -1
  162. package/dist/lang/ro.umd.prod.js +1 -1
  163. package/dist/lang/ru.umd.prod.js +1 -1
  164. package/dist/lang/sk.umd.prod.js +1 -1
  165. package/dist/lang/sl.umd.prod.js +1 -1
  166. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  167. package/dist/lang/sr.umd.prod.js +1 -1
  168. package/dist/lang/sv.umd.prod.js +1 -1
  169. package/dist/lang/ta.umd.prod.js +1 -1
  170. package/dist/lang/th.umd.prod.js +1 -1
  171. package/dist/lang/tr.umd.prod.js +1 -1
  172. package/dist/lang/ug.umd.prod.js +1 -1
  173. package/dist/lang/uk.umd.prod.js +1 -1
  174. package/dist/lang/vi.umd.prod.js +1 -1
  175. package/dist/lang/zh-CN.umd.prod.js +1 -1
  176. package/dist/lang/zh-TW.umd.prod.js +1 -1
  177. package/dist/quasar.cjs.prod.js +2 -2
  178. package/dist/quasar.css +8 -1
  179. package/dist/quasar.esm.prod.js +2 -2
  180. package/dist/quasar.prod.css +1 -1
  181. package/dist/quasar.rtl.css +13 -1
  182. package/dist/quasar.rtl.prod.css +1 -1
  183. package/dist/quasar.sass +40 -35
  184. package/dist/quasar.umd.js +74 -48
  185. package/dist/quasar.umd.prod.js +2 -2
  186. package/dist/ssr-directives/Morph.js +1 -1
  187. package/dist/types/api/cookies.d.ts +1 -1
  188. package/dist/types/composables.d.ts +5 -1
  189. package/dist/types/extras/icon-set.d.ts +1 -0
  190. package/dist/types/index.d.ts +519 -192
  191. package/dist/vetur/quasar-attributes.json +7 -3
  192. package/dist/vetur/quasar-tags.json +1 -0
  193. package/dist/web-types/web-types.json +26 -12
  194. package/icon-set/svg-ionicons-v6.js +225 -0
  195. package/package.json +5 -2
  196. package/src/body.js +14 -4
  197. package/src/components/btn/QBtn.js +1 -0
  198. package/src/components/btn-dropdown/QBtnDropdown.json +1 -0
  199. package/src/components/chip/QChip.json +1 -2
  200. package/src/components/circular-progress/QCircularProgress.json +1 -1
  201. package/src/components/date/QDate.json +59 -1
  202. package/src/components/editor/QEditor.js +2 -2
  203. package/src/components/editor/QEditor.json +6 -2
  204. package/src/components/expansion-item/QExpansionItem.json +2 -1
  205. package/src/components/fab/QFab.json +3 -1
  206. package/src/components/field/QField.json +3 -3
  207. package/src/components/file/QFile.json +9 -6
  208. package/src/components/footer/QFooter.json +1 -1
  209. package/src/components/form/QForm.json +2 -3
  210. package/src/components/header/QHeader.json +1 -1
  211. package/src/components/icon/QIcon.js +2 -2
  212. package/src/components/intersection/QIntersection.js +9 -1
  213. package/src/components/intersection/QIntersection.json +9 -0
  214. package/src/components/layout/QLayout.json +8 -1
  215. package/src/components/linear-progress/QLinearProgress.js +3 -2
  216. package/src/components/linear-progress/QLinearProgress.json +1 -1
  217. package/src/components/linear-progress/QLinearProgress.sass +1 -1
  218. package/src/components/pagination/QPagination.json +0 -1
  219. package/src/components/popup-edit/QPopupEdit.json +1 -0
  220. package/src/components/popup-proxy/QPopupProxy.json +2 -1
  221. package/src/components/rating/QRating.json +1 -1
  222. package/src/components/resize-observer/QResizeObserver.json +2 -0
  223. package/src/components/scroll-area/QScrollArea.js +8 -13
  224. package/src/components/scroll-area/QScrollArea.json +33 -10
  225. package/src/components/scroll-observer/QScrollObserver.json +11 -0
  226. package/src/components/select/QSelect.js +7 -3
  227. package/src/components/select/QSelect.json +88 -15
  228. package/src/components/slide-item/QSlideItem.json +9 -0
  229. package/src/components/slider/use-slider.js +3 -3
  230. package/src/components/table/QTable.js +1 -1
  231. package/src/components/table/QTable.json +155 -60
  232. package/src/components/table/table-pagination.js +4 -0
  233. package/src/components/tabs/QRouteTab.json +1 -23
  234. package/src/components/time/QTime.json +8 -0
  235. package/src/components/tree/QTree.json +26 -21
  236. package/src/components/tree/QTree.sass +45 -41
  237. package/src/components/uploader/xhr-uploader-plugin.json +105 -4
  238. package/src/components/virtual-scroll/QVirtualScroll.json +15 -0
  239. package/src/components/virtual-scroll/use-virtual-scroll.json +7 -5
  240. package/src/composables/private/use-field.js +4 -4
  241. package/src/composables/private/use-refocus-target.js +12 -3
  242. package/src/composables/private/use-split-attrs.js +10 -7
  243. package/src/composables/use-dialog-plugin-component.js +1 -0
  244. package/src/css/core/transitions.sass +3 -1
  245. package/src/directives/Mutation.json +2 -3
  246. package/src/directives/ScrollFire.json +2 -3
  247. package/src/install-quasar.js +1 -0
  248. package/src/plugins/AppFullscreen.json +8 -8
  249. package/src/plugins/Cookies.json +2 -2
  250. package/src/plugins/Dialog.json +6 -5
  251. package/src/plugins/LoadingBar.json +4 -3
  252. package/src/plugins/Notify.json +13 -19
  253. package/src/utils/private/global-dialog.json +16 -2
  254. package/src/utils/private/web-storage.json +10 -0
  255. package/wrappers/index.js +4 -0
@@ -95,51 +95,61 @@
95
95
  "params": {
96
96
  "info": {
97
97
  "type": "Object",
98
- "__exemption": [ "examples" ],
98
+ "desc": "An object containing scroll information",
99
99
  "definition": {
100
100
  "ref": {
101
- "type": "Object",
102
- "desc": "Vue reference to the QScrollArea which triggered the event",
103
- "__exemption": [ "examples" ]
101
+ "type": "Component",
102
+ "tsType": "QScrollArea",
103
+ "required": true,
104
+ "desc": "Vue reference to the QScrollArea which triggered the event"
104
105
  },
106
+
105
107
  "verticalPosition": {
106
108
  "type": "Number",
109
+ "required": true,
107
110
  "desc": "Vertical scroll position (in px)",
108
111
  "__exemption": [ "examples" ]
109
112
  },
110
113
  "verticalPercentage": {
111
114
  "type": "Number",
115
+ "required": true,
112
116
  "desc": "Vertical scroll percentage (0.0 <= x <= 1.0)",
113
117
  "__exemption": [ "examples" ]
114
118
  },
115
119
  "verticalSize": {
116
120
  "type": "Number",
121
+ "required": true,
117
122
  "desc": "Vertical scroll size (in px)",
118
123
  "__exemption": [ "examples" ]
119
124
  },
120
125
  "verticalContainerSize": {
121
126
  "type": "Number",
127
+ "required": true,
122
128
  "desc": "Height of the container (in px)",
123
129
  "__exemption": [ "examples" ]
124
130
  },
125
131
 
126
132
  "horizontalPosition": {
127
133
  "type": "Number",
134
+ "required": true,
128
135
  "desc": "Horizontal scroll position (in px)",
129
136
  "__exemption": [ "examples" ]
130
137
  },
131
138
  "horizontalPercentage": {
132
139
  "type": "Number",
140
+ "required": true,
133
141
  "desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)",
134
142
  "__exemption": [ "examples" ]
135
143
  },
136
144
  "horizontalSize": {
137
145
  "type": "Number",
146
+ "required": true,
138
147
  "desc": "Horizontal scroll size (in px)",
139
148
  "__exemption": [ "examples" ]
140
149
  },
141
150
  "horizontalContainerSize": {
142
151
  "type": "Number",
152
+ "required": true,
143
153
  "desc": "Width of the container (in px)",
144
154
  "__exemption": [ "examples" ]
145
155
  }
@@ -153,9 +163,8 @@
153
163
  "getScrollTarget": {
154
164
  "desc": "Get the scrolling DOM element target",
155
165
  "returns": {
156
- "type": "Object",
157
- "desc": "DOM element upon which scrolling takes place",
158
- "__exemption": [ "examples" ]
166
+ "type": "Element",
167
+ "desc": "DOM element upon which scrolling takes place"
159
168
  }
160
169
  },
161
170
 
@@ -168,42 +177,50 @@
168
177
  "definition": {
169
178
  "verticalPosition": {
170
179
  "type": "Number",
180
+ "required": true,
171
181
  "desc": "Vertical scroll position (in px)",
172
182
  "__exemption": [ "examples" ]
173
183
  },
174
184
  "verticalPercentage": {
175
185
  "type": "Number",
186
+ "required": true,
176
187
  "desc": "Vertical scroll percentage (0.0 <= x <= 1.0)",
177
188
  "__exemption": [ "examples" ]
178
189
  },
179
190
  "verticalSize": {
180
191
  "type": "Number",
192
+ "required": true,
181
193
  "desc": "Vertical scroll size (in px)",
182
194
  "__exemption": [ "examples" ]
183
195
  },
184
196
  "verticalContainerSize": {
185
197
  "type": "Number",
198
+ "required": true,
186
199
  "desc": "Height of the container (in px)",
187
200
  "__exemption": [ "examples" ]
188
201
  },
189
202
 
190
203
  "horizontalPosition": {
191
204
  "type": "Number",
205
+ "required": true,
192
206
  "desc": "Horizontal scroll position (in px)",
193
207
  "__exemption": [ "examples" ]
194
208
  },
195
209
  "horizontalPercentage": {
196
210
  "type": "Number",
211
+ "required": true,
197
212
  "desc": "Horizontal scroll percentage (0.0 <= x <= 1.0)",
198
213
  "__exemption": [ "examples" ]
199
214
  },
200
215
  "horizontalSize": {
201
216
  "type": "Number",
217
+ "required": true,
202
218
  "desc": "Horizontal scroll size (in px)",
203
219
  "__exemption": [ "examples" ]
204
220
  },
205
221
  "horizontalContainerSize": {
206
222
  "type": "Number",
223
+ "required": true,
207
224
  "desc": "Width of the container (in px)",
208
225
  "__exemption": [ "examples" ]
209
226
  }
@@ -215,14 +232,17 @@
215
232
  "desc": "Get current scroll position",
216
233
  "returns": {
217
234
  "type": "Object",
235
+ "desc": "An object containing scroll position information",
218
236
  "definition": {
219
237
  "top": {
220
238
  "type": "Number",
239
+ "required": true,
221
240
  "desc": "Scroll offset from top (vertical)",
222
241
  "examples": [ 120 ]
223
242
  },
224
243
  "left": {
225
244
  "type": "Number",
245
+ "required": true,
226
246
  "desc": "Scroll offset from left (horizontal)",
227
247
  "examples": [ 10 ]
228
248
  }
@@ -235,14 +255,17 @@
235
255
  "desc": "Get current scroll position in percentage (0.0 <= x <= 1.0)",
236
256
  "returns": {
237
257
  "type": "Object",
258
+ "desc": "An object containing scroll position information in percentage",
238
259
  "definition": {
239
260
  "top": {
240
261
  "type": "Number",
262
+ "required": true,
241
263
  "desc": "Scroll percentage (0.0 <= x <= 1.0) offset from top (vertical)",
242
264
  "examples": [ 0.12 ]
243
265
  },
244
266
  "left": {
245
267
  "type": "Number",
268
+ "required": true,
246
269
  "desc": "Scroll percentage (0.0 <= x <= 1.0) offset from left (horizontal)",
247
270
  "examples": [ 0.92 ]
248
271
  }
@@ -256,14 +279,14 @@
256
279
  "params": {
257
280
  "axis": {
258
281
  "type": "String",
282
+ "required": true,
259
283
  "desc": "Scroll axis",
260
- "values": [ "vertical", "horizontal" ],
261
- "required": true
284
+ "values": [ "vertical", "horizontal" ]
262
285
  },
263
286
  "offset": {
264
287
  "type": "Number",
265
- "desc": "Scroll position offset from top (in pixels)",
266
288
  "required": true,
289
+ "desc": "Scroll position offset from top (in pixels)",
267
290
  "examples": [ 220 ]
268
291
  },
269
292
  "duration": {
@@ -34,15 +34,18 @@
34
34
  "definition": {
35
35
  "position": {
36
36
  "type": "Object",
37
+ "required": true,
37
38
  "desc": "Scroll offset (from top and left)",
38
39
  "definition": {
39
40
  "top": {
40
41
  "type": "Number",
42
+ "required": true,
41
43
  "desc": "Scroll offset from top (vertical)",
42
44
  "examples": [ 120 ]
43
45
  },
44
46
  "left": {
45
47
  "type": "Number",
48
+ "required": true,
46
49
  "desc": "Scroll offset from left (horizontal)",
47
50
  "examples": [ 10 ]
48
51
  }
@@ -51,24 +54,29 @@
51
54
 
52
55
  "direction": {
53
56
  "type": "String",
57
+ "required": true,
54
58
  "desc": "Direction of scroll",
55
59
  "values": [ "up", "down", "left", "right" ]
56
60
  },
57
61
  "directionChanged": {
58
62
  "type": "Boolean",
63
+ "required": true,
59
64
  "desc": "Has scroll direction changed since event was last emitted?"
60
65
  },
61
66
  "delta": {
62
67
  "type": "Object",
68
+ "required": true,
63
69
  "desc": "Delta of distance (in pixels) since event was last emitted",
64
70
  "definition": {
65
71
  "top": {
66
72
  "type": "Number",
73
+ "required": true,
67
74
  "desc": "Vertical delta distance since event was last emitted",
68
75
  "examples": [ 120 ]
69
76
  },
70
77
  "left": {
71
78
  "type": "Number",
79
+ "required": true,
72
80
  "desc": "Horizontal delta distance since event was last emitted",
73
81
  "examples": [ 10 ]
74
82
  }
@@ -77,15 +85,18 @@
77
85
 
78
86
  "inflectionPoint": {
79
87
  "type": "Object",
88
+ "required": true,
80
89
  "desc": "Last scroll offset where scroll direction has changed",
81
90
  "definition": {
82
91
  "top": {
83
92
  "type": "Number",
93
+ "required": true,
84
94
  "desc": "Scroll offset from top (vertical)",
85
95
  "examples": [ 120 ]
86
96
  },
87
97
  "left": {
88
98
  "type": "Number",
99
+ "required": true,
89
100
  "desc": "Scroll offset from left (horizontal)",
90
101
  "examples": [ 10 ]
91
102
  }
@@ -1173,7 +1173,7 @@ export default createComponent({
1173
1173
  function getDialog () {
1174
1174
  const content = [
1175
1175
  h(QField, {
1176
- class: `col-auto ${ state.fieldClass }`,
1176
+ class: `col-auto ${ state.fieldClass.value }`,
1177
1177
  ...innerFieldProps.value,
1178
1178
  for: state.targetUid.value,
1179
1179
  dark: isOptionsDark.value,
@@ -1339,14 +1339,14 @@ export default createComponent({
1339
1339
  function onControlPopupShow (e) {
1340
1340
  e !== void 0 && stop(e)
1341
1341
  emit('popup-show', e)
1342
- state.hasPopupOpen.value = true
1342
+ state.hasPopupOpen = true
1343
1343
  state.onControlFocusin(e)
1344
1344
  }
1345
1345
 
1346
1346
  function onControlPopupHide (e) {
1347
1347
  e !== void 0 && stop(e)
1348
1348
  emit('popup-hide', e)
1349
- state.hasPopupOpen.value = false
1349
+ state.hasPopupOpen = false
1350
1350
  state.onControlFocusout(e)
1351
1351
  }
1352
1352
 
@@ -1418,6 +1418,10 @@ export default createComponent({
1418
1418
  ) {
1419
1419
  return hasDialog === true ? getDialog() : getMenu()
1420
1420
  }
1421
+ else if (state.hasPopupOpen === true) {
1422
+ // explicitly set it otherwise TAB will not blur component
1423
+ state.hasPopupOpen = false
1424
+ }
1421
1425
  },
1422
1426
 
1423
1427
  controlEvents: {
@@ -8,7 +8,7 @@
8
8
  "props": {
9
9
  "model-value": {
10
10
  "extends": "model-value",
11
- "type": [ "Number", "String", "Array", "null", "undefined" ],
11
+ "type": "Any",
12
12
  "desc": "Model of the component; Must be Array if using 'multiple' prop; Either use this property (along with a listener for 'update:modelValue' event) OR use v-model directive",
13
13
  "examples": [ "v-model=\"myModel\"" ]
14
14
  },
@@ -47,6 +47,22 @@
47
47
  "type": [ "Function", "String" ],
48
48
  "desc": "Property of option which holds the 'value'; If using a function then for best performance, reference it from your scope and do not define it inline",
49
49
  "default": "value",
50
+ "params": {
51
+ "option": {
52
+ "type": [ "String", "Object" ],
53
+ "desc": "The current option being processed",
54
+ "examples": [
55
+ "'BMW'",
56
+ "'Samsung Phone'",
57
+ "{ label: 'BMW', value: 'car', cannotSelect: true }"
58
+ ]
59
+ }
60
+ },
61
+ "returns": {
62
+ "type": "Any",
63
+ "desc": "Value of the current option",
64
+ "examples": [ "'car'", "34" ]
65
+ },
50
66
  "examples": [
51
67
  "option-value=\"modelNumber\"",
52
68
  ":option-value=\"(item) => item === null ? null : item.modelNumber\""
@@ -58,6 +74,22 @@
58
74
  "type": [ "Function", "String" ],
59
75
  "desc": "Property of option which holds the 'label'; If using a function then for best performance, reference it from your scope and do not define it inline",
60
76
  "default": "label",
77
+ "params": {
78
+ "option": {
79
+ "type": [ "String", "Object" ],
80
+ "desc": "The current option being processed",
81
+ "examples": [
82
+ "'BMW'",
83
+ "'Samsung Phone'",
84
+ "{ label: 'BMW', value: 'car', cannotSelect: true }"
85
+ ]
86
+ }
87
+ },
88
+ "returns": {
89
+ "type": "String",
90
+ "desc": "Label of the current option",
91
+ "examples": [ "'BMW'", "'Samsung Phone'" ]
92
+ },
61
93
  "examples": [
62
94
  "option-label=\"itemName\"",
63
95
  ":option-label=\"(item) => item === null ? 'Null value' : item.itemName\""
@@ -69,6 +101,21 @@
69
101
  "type": [ "Function", "String" ],
70
102
  "desc": "Property of option which tells it's disabled; The value of the property must be a Boolean; If using a function then for best performance, reference it from your scope and do not define it inline",
71
103
  "default": "disable",
104
+ "params": {
105
+ "option": {
106
+ "type": [ "String", "Object" ],
107
+ "desc": "The current option being processed",
108
+ "examples": [
109
+ "'BMW'",
110
+ "'Samsung Phone'",
111
+ "{ label: 'BMW', value: 'car', cannotSelect: true }"
112
+ ]
113
+ }
114
+ },
115
+ "returns": {
116
+ "type": "Boolean",
117
+ "desc": "If true, the current option will be disabled"
118
+ },
72
119
  "examples": [
73
120
  "option-disable=\"cannotSelect\"",
74
121
  ":option-disable=\"(item) => item === null ? true : item.cannotSelect\""
@@ -346,6 +393,7 @@
346
393
  "params": {
347
394
  "index": {
348
395
  "type": "Number",
396
+ "required": true,
349
397
  "desc": "Index at which to remove selection",
350
398
  "examples": [ 0 ]
351
399
  }
@@ -358,6 +406,7 @@
358
406
  "params": {
359
407
  "opt": {
360
408
  "type": "Any",
409
+ "required": true,
361
410
  "desc": "Option to add to model",
362
411
  "__exemption": [ "examples" ]
363
412
  }
@@ -399,6 +448,7 @@
399
448
  "params": {
400
449
  "opt": {
401
450
  "type": "Any",
451
+ "required": true,
402
452
  "desc": "Option to add to model",
403
453
  "__exemption": [ "examples" ]
404
454
  }
@@ -411,6 +461,7 @@
411
461
  "params": {
412
462
  "index": {
413
463
  "type": "Number",
464
+ "required": true,
414
465
  "desc": "Index of option from menu",
415
466
  "examples": [ 10 ]
416
467
  }
@@ -437,7 +488,6 @@
437
488
  "value": {
438
489
  "type": "String",
439
490
  "desc": "New text value",
440
- "required": true,
441
491
  "__exemption": [ "examples" ]
442
492
  }
443
493
  }
@@ -452,11 +502,13 @@
452
502
  "definition": {
453
503
  "index": {
454
504
  "type": "Number",
505
+ "required": true,
455
506
  "desc": "Model index at which removal took place",
456
507
  "examples": [ 2 ]
457
508
  },
458
509
  "value": {
459
510
  "type": "Any",
511
+ "required": true,
460
512
  "desc": "The actual value that was removed",
461
513
  "__exemption": [ "examples" ]
462
514
  }
@@ -474,11 +526,13 @@
474
526
  "definition": {
475
527
  "index": {
476
528
  "type": "Number",
529
+ "required": true,
477
530
  "desc": "Model index at which addition took place",
478
531
  "examples": [ 2 ]
479
532
  },
480
533
  "value": {
481
534
  "type": "Any",
535
+ "required": true,
482
536
  "desc": "The actual value that was added",
483
537
  "__exemption": [ "examples" ]
484
538
  }
@@ -501,11 +555,13 @@
501
555
  "params": {
502
556
  "item": {
503
557
  "type": "Any",
558
+ "required": false,
504
559
  "desc": "Item to add",
505
560
  "__exemption": [ "examples" ]
506
561
  },
507
562
  "mode": {
508
563
  "type": "String",
564
+ "required": false,
509
565
  "desc": "Override 'new-value-mode' (prop) behavior should you wish to",
510
566
  "values": [ "add", "add-unique", "toggle" ],
511
567
  "default": "add"
@@ -530,18 +586,21 @@
530
586
  "params": {
531
587
  "callbackFn": {
532
588
  "type": "Function",
589
+ "required": true,
533
590
  "desc": "Callback to call to make the actual updates",
534
591
  "params": null,
535
592
  "returns": null
536
593
  },
537
594
  "afterFn": {
538
595
  "type": "Function",
596
+ "required": false,
539
597
  "desc": "Callback to call at the end after the update has been fully processed by QSelect",
540
598
  "params": {
541
599
  "ref": {
542
- "type": "Object",
543
- "desc": "Vue reference to the QSelect which triggered the filtering",
544
- "__exemption": [ "examples" ]
600
+ "type": "Component",
601
+ "tsType": "QSelect",
602
+ "required": true,
603
+ "desc": "Vue reference to the QSelect which triggered the filtering"
545
604
  }
546
605
  },
547
606
  "returns": null
@@ -582,6 +641,19 @@
582
641
  "__exemption": [ "examples" ]
583
642
  }
584
643
  }
644
+ },
645
+
646
+ "virtual-scroll": {
647
+ "params": {
648
+ "details": {
649
+ "definition": {
650
+ "ref": {
651
+ "tsType": "QSelect",
652
+ "desc": "Vue reference to the QSelect"
653
+ }
654
+ }
655
+ }
656
+ }
585
657
  }
586
658
  },
587
659
 
@@ -603,8 +675,8 @@
603
675
  "params": {
604
676
  "index": {
605
677
  "type": "Number",
606
- "desc": "Index at which to remove selection",
607
678
  "required": true,
679
+ "desc": "Index at which to remove selection",
608
680
  "examples": [ 0 ]
609
681
  }
610
682
  }
@@ -615,8 +687,8 @@
615
687
  "params": {
616
688
  "opt": {
617
689
  "type": "Any",
618
- "desc": "Option to add to model",
619
690
  "required": true,
691
+ "desc": "Option to add to model",
620
692
  "__exemption": [ "examples" ]
621
693
  },
622
694
  "unique": {
@@ -632,8 +704,8 @@
632
704
  "params": {
633
705
  "opt": {
634
706
  "type": "Any",
635
- "desc": "Option to add to model",
636
707
  "required": true,
708
+ "desc": "Option to add to model",
637
709
  "__exemption": [ "examples" ]
638
710
  },
639
711
  "keepOpen": {
@@ -648,8 +720,8 @@
648
720
  "params": {
649
721
  "index": {
650
722
  "type": "Number",
651
- "desc": "Index of option from menu",
652
723
  "required": true,
724
+ "desc": "Index of option from menu",
653
725
  "examples": [ 10 ]
654
726
  }
655
727
  }
@@ -676,8 +748,8 @@
676
748
  "params": {
677
749
  "value": {
678
750
  "type": "String",
679
- "desc": "String to filter with",
680
751
  "required": true,
752
+ "desc": "String to filter with",
681
753
  "examples": [ "car" ]
682
754
  }
683
755
  }
@@ -692,6 +764,7 @@
692
764
  "params": {
693
765
  "value": {
694
766
  "type": "String",
767
+ "required": true,
695
768
  "desc": "String to set the input value to",
696
769
  "examples": [ "hotel" ]
697
770
  },
@@ -707,8 +780,8 @@
707
780
  "params": {
708
781
  "opt": {
709
782
  "type": "Any",
710
- "desc": "Option entry",
711
783
  "required": true,
784
+ "desc": "Option entry",
712
785
  "__exemption": [ "examples" ]
713
786
  }
714
787
  },
@@ -723,8 +796,8 @@
723
796
  "params": {
724
797
  "opt": {
725
798
  "type": "Any",
726
- "desc": "Option entry",
727
799
  "required": true,
800
+ "desc": "Option entry",
728
801
  "__exemption": [ "examples" ]
729
802
  }
730
803
  },
@@ -740,8 +813,8 @@
740
813
  "params": {
741
814
  "opt": {
742
815
  "type": "Any",
743
- "desc": "Option entry",
744
816
  "required": true,
817
+ "desc": "Option entry",
745
818
  "__exemption": [ "examples" ]
746
819
  }
747
820
  },
@@ -757,8 +830,8 @@
757
830
  "params": {
758
831
  "opt": {
759
832
  "type": "Any",
760
- "desc": "Option entry",
761
833
  "required": true,
834
+ "desc": "Option entry",
762
835
  "__exemption": [ "examples" ]
763
836
  }
764
837
  },
@@ -774,8 +847,8 @@
774
847
  "params": {
775
848
  "opt": {
776
849
  "type": "Any",
777
- "desc": "Option entry",
778
850
  "required": true,
851
+ "desc": "Option entry",
779
852
  "__exemption": [ "examples" ]
780
853
  }
781
854
  },
@@ -65,6 +65,7 @@
65
65
  "definition": {
66
66
  "reset": {
67
67
  "type": "Function",
68
+ "required": true,
68
69
  "desc": "When called, it resets the component to its initial non-slided state",
69
70
  "params": null,
70
71
  "returns": null
@@ -83,6 +84,7 @@
83
84
  "definition": {
84
85
  "reset": {
85
86
  "type": "Function",
87
+ "required": true,
86
88
  "desc": "When called, it resets the component to its initial non-slided state",
87
89
  "params": null,
88
90
  "returns": null
@@ -101,6 +103,7 @@
101
103
  "definition": {
102
104
  "reset": {
103
105
  "type": "Function",
106
+ "required": true,
104
107
  "desc": "When called, it resets the component to its initial non-slided state",
105
108
  "params": null,
106
109
  "returns": null
@@ -119,6 +122,7 @@
119
122
  "definition": {
120
123
  "reset": {
121
124
  "type": "Function",
125
+ "required": true,
122
126
  "desc": "When called, it resets the component to its initial non-slided state",
123
127
  "params": null,
124
128
  "returns": null
@@ -137,16 +141,19 @@
137
141
  "definition": {
138
142
  "side": {
139
143
  "type": "String",
144
+ "required": true,
140
145
  "desc": "Side to which sliding is taking effect",
141
146
  "values": [ "left", "right", "top", "bottom" ]
142
147
  },
143
148
  "ratio": {
144
149
  "type": "Number",
150
+ "required": true,
145
151
  "desc": "Ratio of how much of the required slide was performed (0..1)",
146
152
  "examples": [ 0, 0.5, 1 ]
147
153
  },
148
154
  "isReset": {
149
155
  "type": "Boolean",
156
+ "required": true,
150
157
  "desc": "Ratio has been reset"
151
158
  }
152
159
  }
@@ -163,11 +170,13 @@
163
170
  "definition": {
164
171
  "side": {
165
172
  "type": "String",
173
+ "required": true,
166
174
  "desc": "Side to which sliding has taken effect",
167
175
  "values": [ "left", "right", "top", "bottom" ]
168
176
  },
169
177
  "reset": {
170
178
  "type": "Function",
179
+ "required": true,
171
180
  "desc": "When called, it resets the component to its initial non-slided state",
172
181
  "params": null,
173
182
  "returns": null
@@ -210,7 +210,7 @@ export default function ({ updateValue, updatePosition, getDragging }) {
210
210
  }
211
211
 
212
212
  function onPan (event) {
213
- if (event.isFinal) {
213
+ if (event.isFinal === true) {
214
214
  if (dragging.value !== void 0) {
215
215
  updatePosition(event.evt)
216
216
  // only if touch, because we also have mousedown/up:
@@ -220,7 +220,7 @@ export default function ({ updateValue, updatePosition, getDragging }) {
220
220
  }
221
221
  active.value = false
222
222
  }
223
- else if (event.isFirst) {
223
+ else if (event.isFirst === true) {
224
224
  dragging.value = getDragging(event.evt)
225
225
  updatePosition(event.evt)
226
226
  updateValue()
@@ -250,7 +250,7 @@ export default function ({ updateValue, updatePosition, getDragging }) {
250
250
  function onDeactivate () {
251
251
  preventFocus.value = false
252
252
 
253
- if (dragging.value === void 0) {
253
+ if (dragging.value === false) {
254
254
  active.value = false
255
255
  }
256
256