quasar 2.8.3 → 2.8.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 (274) hide show
  1. package/dist/api/QBtnDropdown.json +9 -0
  2. package/dist/api/QChip.json +9 -0
  3. package/dist/api/QCircularProgress.json +6 -0
  4. package/dist/api/QExpansionItem.json +59 -0
  5. package/dist/api/QTable.json +2 -2
  6. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  7. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  11. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  12. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  13. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  18. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  20. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  25. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  42. package/dist/icon-set/themify.umd.prod.js +1 -1
  43. package/dist/lang/ar-TN.umd.prod.js +2 -2
  44. package/dist/lang/ar.umd.prod.js +2 -2
  45. package/dist/lang/az-Latn.umd.prod.js +2 -2
  46. package/dist/lang/bg.umd.prod.js +2 -2
  47. package/dist/lang/bn.umd.prod.js +2 -2
  48. package/dist/lang/ca.umd.prod.js +2 -2
  49. package/dist/lang/cs.umd.prod.js +2 -2
  50. package/dist/lang/da.umd.prod.js +2 -2
  51. package/dist/lang/de.umd.prod.js +2 -2
  52. package/dist/lang/el.umd.prod.js +2 -2
  53. package/dist/lang/en-GB.umd.prod.js +2 -2
  54. package/dist/lang/en-US.umd.prod.js +2 -2
  55. package/dist/lang/eo.umd.prod.js +2 -2
  56. package/dist/lang/es.umd.prod.js +2 -2
  57. package/dist/lang/et.umd.prod.js +2 -2
  58. package/dist/lang/eu.umd.prod.js +2 -2
  59. package/dist/lang/fa-IR.umd.prod.js +2 -2
  60. package/dist/lang/fa.umd.prod.js +2 -2
  61. package/dist/lang/fi.umd.prod.js +2 -2
  62. package/dist/lang/fr.umd.prod.js +2 -2
  63. package/dist/lang/gn.umd.prod.js +2 -2
  64. package/dist/lang/he.umd.prod.js +2 -2
  65. package/dist/lang/hr.umd.prod.js +2 -2
  66. package/dist/lang/hu.umd.prod.js +2 -2
  67. package/dist/lang/id.umd.prod.js +2 -2
  68. package/dist/lang/is.umd.prod.js +2 -2
  69. package/dist/lang/it.umd.prod.js +2 -2
  70. package/dist/lang/ja.umd.prod.js +2 -2
  71. package/dist/lang/km.umd.prod.js +2 -2
  72. package/dist/lang/ko-KR.umd.prod.js +2 -2
  73. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  74. package/dist/lang/kz.umd.prod.js +2 -2
  75. package/dist/lang/lt.umd.prod.js +2 -2
  76. package/dist/lang/lu.umd.prod.js +2 -2
  77. package/dist/lang/lv.umd.prod.js +2 -2
  78. package/dist/lang/ml.umd.prod.js +2 -2
  79. package/dist/lang/mm.umd.prod.js +2 -2
  80. package/dist/lang/ms.umd.prod.js +2 -2
  81. package/dist/lang/my.umd.prod.js +2 -2
  82. package/dist/lang/nb-NO.umd.prod.js +2 -2
  83. package/dist/lang/nl.umd.prod.js +2 -2
  84. package/dist/lang/pl.umd.prod.js +2 -2
  85. package/dist/lang/pt-BR.umd.prod.js +2 -2
  86. package/dist/lang/pt.umd.prod.js +2 -2
  87. package/dist/lang/ro.umd.prod.js +2 -2
  88. package/dist/lang/ru.umd.prod.js +2 -2
  89. package/dist/lang/sk.umd.prod.js +2 -2
  90. package/dist/lang/sl.umd.prod.js +2 -2
  91. package/dist/lang/sm.umd.prod.js +2 -2
  92. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  93. package/dist/lang/sr.umd.prod.js +2 -2
  94. package/dist/lang/sv.umd.prod.js +2 -2
  95. package/dist/lang/ta.umd.prod.js +2 -2
  96. package/dist/lang/th.umd.prod.js +2 -2
  97. package/dist/lang/tr.umd.prod.js +2 -2
  98. package/dist/lang/ug.umd.prod.js +2 -2
  99. package/dist/lang/uk.umd.prod.js +2 -2
  100. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  101. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  102. package/dist/lang/vi.umd.prod.js +2 -2
  103. package/dist/lang/zh-CN.umd.prod.js +2 -2
  104. package/dist/lang/zh-TW.umd.prod.js +2 -2
  105. package/dist/quasar.cjs.prod.js +2 -2
  106. package/dist/quasar.esm.js +15693 -15455
  107. package/dist/quasar.esm.prod.js +2 -2
  108. package/dist/quasar.sass +1 -1
  109. package/dist/quasar.umd.js +15866 -15626
  110. package/dist/quasar.umd.prod.js +2 -2
  111. package/dist/transforms/import-map.json +2 -0
  112. package/dist/types/api/qloading.d.ts +5 -0
  113. package/dist/types/api.d.ts +1 -0
  114. package/dist/types/index.d.ts +40 -1
  115. package/dist/types/utils/is.d.ts +67 -0
  116. package/dist/types/utils/run-sequential-promises.d.ts +119 -0
  117. package/dist/types/utils.d.ts +9 -0
  118. package/dist/vetur/quasar-attributes.json +21 -1
  119. package/dist/vetur/quasar-tags.json +6 -1
  120. package/dist/web-types/web-types.json +49 -2
  121. package/lang/ar-TN.js +3 -1
  122. package/lang/ar-TN.mjs +3 -1
  123. package/lang/ar.js +3 -1
  124. package/lang/ar.mjs +3 -1
  125. package/lang/az-Latn.js +3 -1
  126. package/lang/az-Latn.mjs +3 -1
  127. package/lang/bg.js +3 -1
  128. package/lang/bg.mjs +3 -1
  129. package/lang/bn.js +3 -1
  130. package/lang/bn.mjs +3 -1
  131. package/lang/ca.js +3 -1
  132. package/lang/ca.mjs +3 -1
  133. package/lang/cs.js +3 -1
  134. package/lang/cs.mjs +3 -1
  135. package/lang/da.js +3 -1
  136. package/lang/da.mjs +3 -1
  137. package/lang/de.js +3 -1
  138. package/lang/de.mjs +3 -1
  139. package/lang/el.js +3 -1
  140. package/lang/el.mjs +3 -1
  141. package/lang/en-GB.js +3 -1
  142. package/lang/en-GB.mjs +3 -1
  143. package/lang/en-US.js +3 -1
  144. package/lang/en-US.mjs +3 -1
  145. package/lang/eo.js +3 -1
  146. package/lang/eo.mjs +3 -1
  147. package/lang/es.js +3 -1
  148. package/lang/es.mjs +3 -1
  149. package/lang/et.js +3 -1
  150. package/lang/et.mjs +3 -1
  151. package/lang/eu.js +3 -1
  152. package/lang/eu.mjs +3 -1
  153. package/lang/fa-IR.js +5 -3
  154. package/lang/fa-IR.mjs +5 -3
  155. package/lang/fa.js +5 -3
  156. package/lang/fa.mjs +5 -3
  157. package/lang/fi.js +3 -1
  158. package/lang/fi.mjs +3 -1
  159. package/lang/fr.js +3 -1
  160. package/lang/fr.mjs +3 -1
  161. package/lang/gn.js +3 -1
  162. package/lang/gn.mjs +3 -1
  163. package/lang/he.js +3 -1
  164. package/lang/he.mjs +3 -1
  165. package/lang/hr.js +3 -1
  166. package/lang/hr.mjs +3 -1
  167. package/lang/hu.js +3 -1
  168. package/lang/hu.mjs +3 -1
  169. package/lang/id.js +3 -1
  170. package/lang/id.mjs +3 -1
  171. package/lang/is.js +3 -1
  172. package/lang/is.mjs +3 -1
  173. package/lang/it.js +3 -1
  174. package/lang/it.mjs +3 -1
  175. package/lang/ja.js +3 -1
  176. package/lang/ja.mjs +3 -1
  177. package/lang/km.js +3 -1
  178. package/lang/km.mjs +3 -1
  179. package/lang/ko-KR.js +3 -1
  180. package/lang/ko-KR.mjs +3 -1
  181. package/lang/kur-CKB.js +3 -1
  182. package/lang/kur-CKB.mjs +3 -1
  183. package/lang/kz.js +3 -1
  184. package/lang/kz.mjs +3 -1
  185. package/lang/lt.js +3 -1
  186. package/lang/lt.mjs +3 -1
  187. package/lang/lu.js +3 -1
  188. package/lang/lu.mjs +3 -1
  189. package/lang/lv.js +3 -1
  190. package/lang/lv.mjs +3 -1
  191. package/lang/ml.js +3 -1
  192. package/lang/ml.mjs +3 -1
  193. package/lang/mm.js +4 -1
  194. package/lang/mm.mjs +4 -1
  195. package/lang/ms.js +3 -1
  196. package/lang/ms.mjs +3 -1
  197. package/lang/my.js +3 -1
  198. package/lang/my.mjs +3 -1
  199. package/lang/nb-NO.js +3 -1
  200. package/lang/nb-NO.mjs +3 -1
  201. package/lang/nl.js +3 -1
  202. package/lang/nl.mjs +3 -1
  203. package/lang/pl.js +3 -1
  204. package/lang/pl.mjs +3 -1
  205. package/lang/pt-BR.js +3 -1
  206. package/lang/pt-BR.mjs +3 -1
  207. package/lang/pt.js +3 -1
  208. package/lang/pt.mjs +3 -1
  209. package/lang/ro.js +3 -1
  210. package/lang/ro.mjs +3 -1
  211. package/lang/ru.js +3 -1
  212. package/lang/ru.mjs +3 -1
  213. package/lang/sk.js +3 -1
  214. package/lang/sk.mjs +3 -1
  215. package/lang/sl.js +3 -1
  216. package/lang/sl.mjs +3 -1
  217. package/lang/sm.js +3 -1
  218. package/lang/sm.mjs +3 -1
  219. package/lang/sr-CYR.js +3 -1
  220. package/lang/sr-CYR.mjs +3 -1
  221. package/lang/sr.js +3 -1
  222. package/lang/sr.mjs +3 -1
  223. package/lang/sv.js +3 -1
  224. package/lang/sv.mjs +3 -1
  225. package/lang/ta.js +3 -1
  226. package/lang/ta.mjs +3 -1
  227. package/lang/th.js +3 -1
  228. package/lang/th.mjs +3 -1
  229. package/lang/tr.js +3 -1
  230. package/lang/tr.mjs +3 -1
  231. package/lang/ug.js +5 -3
  232. package/lang/ug.mjs +5 -3
  233. package/lang/uk.js +3 -1
  234. package/lang/uk.mjs +3 -1
  235. package/lang/uz-Cyrl.js +3 -1
  236. package/lang/uz-Cyrl.mjs +3 -1
  237. package/lang/uz-Latn.js +3 -1
  238. package/lang/uz-Latn.mjs +3 -1
  239. package/lang/vi.js +3 -1
  240. package/lang/vi.mjs +3 -1
  241. package/lang/zh-CN.js +3 -1
  242. package/lang/zh-CN.mjs +3 -1
  243. package/lang/zh-TW.js +3 -1
  244. package/lang/zh-TW.mjs +3 -1
  245. package/package.json +4 -5
  246. package/src/components/btn-dropdown/QBtnDropdown.js +10 -2
  247. package/src/components/btn-dropdown/QBtnDropdown.json +8 -0
  248. package/src/components/chip/QChip.js +9 -2
  249. package/src/components/chip/QChip.json +8 -0
  250. package/src/components/chip/__tests__/QChip.spec.js +359 -46
  251. package/src/components/circular-progress/QCircularProgress.js +4 -2
  252. package/src/components/circular-progress/QCircularProgress.json +7 -0
  253. package/src/components/circular-progress/use-circular-progress.js +1 -0
  254. package/src/components/dialog/QDialog.js +1 -0
  255. package/src/components/expansion-item/QExpansionItem.js +37 -8
  256. package/src/components/expansion-item/QExpansionItem.json +67 -0
  257. package/src/components/fab/QFab.js +20 -1
  258. package/src/components/form/QForm.js +35 -40
  259. package/src/components/form/QFormChildMixin.js +3 -1
  260. package/src/components/menu/QMenu.js +1 -0
  261. package/src/components/page/QPage.js +1 -1
  262. package/src/components/select/QSelect.js +1 -4
  263. package/src/components/table/QTable.js +1 -1
  264. package/src/components/table/QTable.json +2 -2
  265. package/src/components/tabs/QTabs.js +2 -1
  266. package/src/components/time/QTime.js +2 -2
  267. package/src/components/uploader/uploader-core.js +2 -3
  268. package/src/composables/private/use-file.js +1 -1
  269. package/src/composables/private/use-validate.js +7 -13
  270. package/src/composables/use-form-child.js +6 -4
  271. package/src/utils/EventBus.js +64 -0
  272. package/src/utils/private/vm.js +4 -0
  273. package/src/utils/run-sequential-promises.js +115 -0
  274. package/src/utils.js +4 -0
@@ -180,6 +180,7 @@
180
180
  "debounce": "src/utils/debounce.js",
181
181
  "dom": "src/utils/dom.js",
182
182
  "event": "src/utils/event.js",
183
+ "EventBus": "src/utils/EventBus.js",
183
184
  "exportFile": "src/utils/export-file.js",
184
185
  "extend": "src/utils/extend.js",
185
186
  "format": "src/utils/format.js",
@@ -190,6 +191,7 @@
190
191
  "openURL": "src/utils/open-url.js",
191
192
  "patterns": "src/utils/patterns.js",
192
193
  "preventScroll": "src/utils/prevent-scroll.js",
194
+ "runSequentialPromises": "src/utils/run-sequential-promises.js",
193
195
  "scroll": "src/utils/scroll.js",
194
196
  "setCssVar": "src/utils/set-css-var.js",
195
197
  "throttle": "src/utils/throttle.js",
@@ -0,0 +1,5 @@
1
+ // Error on "quasar" import shown in IDE is normal, as we only have Components/Directives/Plugins types after the build step
2
+ // The import will work correctly at runtime
3
+ import { QLoadingShowOptions } from "quasar";
4
+
5
+ export type QLoadingUpdateOptions = Omit<QLoadingShowOptions, 'group'>;
@@ -6,6 +6,7 @@ export * from "./api/qtable";
6
6
  export * from "./api/qtree";
7
7
  export * from "./api/quploader";
8
8
  export * from "./api/qnotify";
9
+ export * from "./api/qloading";
9
10
  export * from "./api/touchswipe";
10
11
  export * from "./api/web-storage";
11
12
  export * from "./api/validation";
@@ -1351,6 +1351,10 @@ export interface QBtnDropdownProps {
1351
1351
  * An array of two numbers to offset the menu horizontally and vertically in pixels
1352
1352
  */
1353
1353
  menuOffset?: readonly any[] | undefined;
1354
+ /**
1355
+ * aria-label to be used on the dropdown toggle element
1356
+ */
1357
+ toggleAriaLabel?: string | undefined;
1354
1358
  /**
1355
1359
  * Emitted when showing/hidden state changes; Is also used by v-model
1356
1360
  * @param value New state (showing/hidden)
@@ -2409,6 +2413,10 @@ export interface QChipProps {
2409
2413
  * Default value: true
2410
2414
  */
2411
2415
  ripple?: boolean | any | undefined;
2416
+ /**
2417
+ * aria-label to be used on the remove icon
2418
+ */
2419
+ removeAriaLabel?: string | undefined;
2412
2420
  /**
2413
2421
  * Tabindex HTML attribute value
2414
2422
  */
@@ -2478,6 +2486,10 @@ export interface QCircularProgressProps {
2478
2486
  * Default value: 0.25em
2479
2487
  */
2480
2488
  fontSize?: string | undefined;
2489
+ /**
2490
+ * Rounding the arc of progress
2491
+ */
2492
+ rounded?: boolean | undefined;
2481
2493
  /**
2482
2494
  * Thickness of progress arc as a ratio (0.0 < x < 1.0) of component size
2483
2495
  * Default value: 0.2
@@ -3478,6 +3490,10 @@ export interface QExpansionItemProps {
3478
3490
  * Apply custom class(es) to the expand icon item section
3479
3491
  */
3480
3492
  expandIconClass?: VueClassProp | undefined;
3493
+ /**
3494
+ * aria-label to be used on the expansion toggle element
3495
+ */
3496
+ toggleAriaLabel?: string | undefined;
3481
3497
  /**
3482
3498
  * Header label (unless using 'header' slot)
3483
3499
  */
@@ -3523,6 +3539,10 @@ export interface QExpansionItemProps {
3523
3539
  * Puts expansion item into open state on initial render; Overridden by v-model if used
3524
3540
  */
3525
3541
  defaultOpened?: boolean | undefined;
3542
+ /**
3543
+ * Do not show the expand icon
3544
+ */
3545
+ hideExpandIcon?: boolean | undefined;
3526
3546
  /**
3527
3547
  * Applies the expansion events to the expand icon only and not to the whole header
3528
3548
  */
@@ -3600,6 +3620,25 @@ export interface QExpansionItemSlots {
3600
3620
  * QExpansionItem expanded status
3601
3621
  */
3602
3622
  expanded: boolean;
3623
+ /**
3624
+ * QExpansionItem details panel id (for use in aria-controls)
3625
+ */
3626
+ detailsId: string;
3627
+ /**
3628
+ * Triggers component to show
3629
+ * @param evt JS event object
3630
+ */
3631
+ show: (evt?: any) => void;
3632
+ /**
3633
+ * Triggers component to hide
3634
+ * @param evt JS event object
3635
+ */
3636
+ hide: (evt?: any) => void;
3637
+ /**
3638
+ * Triggers component to toggle between show/hide
3639
+ * @param evt JS event object
3640
+ */
3641
+ toggle: (evt?: any) => void;
3603
3642
  }) => VNode[];
3604
3643
  }
3605
3644
 
@@ -9789,7 +9828,7 @@ export interface QTableProps {
9789
9828
  */
9790
9829
  virtualScrollItemSize?: number | string | undefined;
9791
9830
  /**
9792
- * Size in pixels of the sticky header (if using one); A correct value will improve scroll precision
9831
+ * Size in pixels of the sticky header (if using one); A correct value will improve scroll precision; Will be also used for non-virtual-scroll tables for fixing top alignment when using scrollTo method
9793
9832
  * Default value: 0
9794
9833
  */
9795
9834
  virtualScrollStickySizeStart?: number | string | undefined;
@@ -0,0 +1,67 @@
1
+ interface is {
2
+ /**
3
+ * Recursively checks if one Object is equal to another.
4
+ * Also supports Map, Set, ArrayBuffer, Regexp, Date, and many more.
5
+ *
6
+ * @example
7
+ * const objA = { foo: 1, bar: { baz: 2 } }
8
+ * const objB = { foo: 1, bar: { baz: 2 } }
9
+ * objA === objB // false
10
+ * is.deepEqual(objA, objB) // true
11
+ */
12
+ // Can't do it both ways, see: https://github.com/microsoft/TypeScript/issues/26916#issuecomment-555691585
13
+ deepEqual<T>(obj1: T, obj2: unknown): obj2 is T;
14
+
15
+ /**
16
+ * Checks if a value is an object.
17
+ * Note: Map, Set, ArrayBuffer, Regexp, Date, etc. are also objects,
18
+ * but null and Arrays are not.
19
+ *
20
+ * @example
21
+ * is.object({}) // true
22
+ * is.object([]) // false
23
+ * is.object(null) // false
24
+ * is.object(1) // false
25
+ * is.object(new Map()) // true
26
+ * is.object(new Set()) // true
27
+ */
28
+ object<T>(val: T): val is Record<any, any>;
29
+
30
+ /**
31
+ * Checks if a value is a Date object.
32
+ *
33
+ * @see `date.isValid()` If you want to check if a value is a valid date string or number
34
+ *
35
+ * @example
36
+ * is.date(new Date()) // true
37
+ * is.date(Date.now()) // false
38
+ * is.date(new Date('2022-09-24T11:00:00.000Z')) // true
39
+ * is.date('2022-09-24') // false
40
+ */
41
+ date(val: unknown): val is Date;
42
+
43
+ /**
44
+ * Checks if a value is a RegExp.
45
+ *
46
+ * @example <caption>Literal notation</caption>
47
+ * is.regexp(/foo/); // true
48
+ * @example <caption>Constructor</caption>
49
+ * is.regexp(new RegExp('bar', 'g')); // true
50
+ */
51
+ regexp(val: unknown): val is RegExp;
52
+
53
+ /**
54
+ * Checks if a value is a finite number.
55
+ * Note: BigInts, NaN, and Infinity values are not considered as numbers.
56
+ *
57
+ * @example
58
+ * is.number(1); // true
59
+ * is.number('1'); // false
60
+ * is.number(1n); // false
61
+ * is.number(NaN); // false
62
+ * is.number(Infinity); // false
63
+ */
64
+ number(val: unknown): val is number;
65
+ }
66
+
67
+ export declare const is: is;
@@ -0,0 +1,119 @@
1
+ export interface RunSequentialPromisesFulfilledResult<
2
+ TKey extends number | string,
3
+ TValue
4
+ > {
5
+ key: TKey;
6
+ status: "fulfilled";
7
+ value: TValue;
8
+ }
9
+
10
+ /**
11
+ * When using `runSequentialPromises` without `abortOnFail: false`, the Promise will reject with this type.
12
+ * You can use this type to strongly-type the result yourself as it can't be automatically inferred.
13
+ *
14
+ * @example
15
+ * runSequentialPromises([
16
+ * () => Promise.resolve('value1'),
17
+ * () => Promise.reject(new Error('test')),
18
+ * () => Promise.resolve('value2'),
19
+ * ])
20
+ * // First generic param is `number` because we are using array-style
21
+ * // Second generic param is `string` because we are resolving with string values
22
+ * .catch((errResult: RunSequentialPromisesRejectedResult<number, string>) => {
23
+ * // ...
24
+ * errResult.reason // `any` because you can reject with anything, you can cast it as you wish
25
+ * })
26
+ */
27
+ export interface RunSequentialPromisesRejectedResult<
28
+ TKey extends number | string,
29
+ TValue
30
+ > {
31
+ key: TKey;
32
+ status: "rejected";
33
+ reason: any;
34
+ resultAggregator: TKey extends number
35
+ ? RunSequentialPromisesResult<TKey, TValue>[]
36
+ : { [key in TKey]?: RunSequentialPromisesResult<TKey, TValue> };
37
+ }
38
+
39
+ export type RunSequentialPromisesResult<TKey extends number | string, TValue> =
40
+ | RunSequentialPromisesFulfilledResult<TKey, TValue>
41
+ | RunSequentialPromisesRejectedResult<TKey, TValue>;
42
+
43
+ export interface RunSequentialPromisesOptions {
44
+ /**
45
+ * When making HTTP requests, be aware of the maximum threads that
46
+ * the hosting browser supports (usually 3). Any number of threads
47
+ * above that won't add any real benefits.
48
+ *
49
+ * @default 1
50
+ */
51
+ threadsNumber?: number;
52
+
53
+ /**
54
+ * When set to `false`, the result Promise will never get rejected (no catch() needed)
55
+ * Otherwise, if one of the sequential Promises gets rejected, the Promise will be
56
+ * rejected with {@link RunSequentialPromisesRejectedResult}
57
+ *
58
+ * @default true
59
+ */
60
+ abortOnFail?: boolean;
61
+ }
62
+
63
+ /**
64
+ * Run a list of Promises sequentially, optionally on multiple threads.
65
+ *
66
+ * @see https://quasar.dev/quasar-utils/other-utils#runsequentialpromises
67
+ *
68
+ * @throws {RunSequentialPromisesRejectedResult} when a Promise rejects (when `options.abortOnFail` is not false)
69
+ */
70
+ // Array-style overrides
71
+ export function runSequentialPromises<
72
+ TValue = any,
73
+ TKey extends number = number
74
+ >(
75
+ promises: ((
76
+ resultAggregator: RunSequentialPromisesResult<TKey, TValue>[]
77
+ ) => Promise<TValue>)[],
78
+ options: Omit<RunSequentialPromisesOptions, "abortOnFail"> & {
79
+ abortOnFail: false;
80
+ }
81
+ ): Promise<RunSequentialPromisesResult<TKey, TValue>[]>;
82
+ export function runSequentialPromises<
83
+ TValue = any,
84
+ TKey extends number = number
85
+ >(
86
+ promises: ((
87
+ resultAggregator: RunSequentialPromisesFulfilledResult<TKey, TValue>[]
88
+ ) => Promise<TValue>)[],
89
+ options?: RunSequentialPromisesOptions
90
+ ): Promise<RunSequentialPromisesFulfilledResult<TKey, TValue>[]>;
91
+ // Object-style overrides
92
+ export function runSequentialPromises<
93
+ TValue = any,
94
+ TKey extends string = string
95
+ >(
96
+ promisesMap: {
97
+ [key in TKey]: (resultAggregator: {
98
+ [key in TKey]?: RunSequentialPromisesResult<TKey, TValue>;
99
+ }) => Promise<TValue>;
100
+ },
101
+ options?: Omit<RunSequentialPromisesOptions, "abortOnFail"> & {
102
+ abortOnFail: false;
103
+ }
104
+ ): Promise<{
105
+ [key in TKey]: RunSequentialPromisesResult<TKey, TValue>;
106
+ }>;
107
+ export function runSequentialPromises<
108
+ TValue = any,
109
+ TKey extends string = string
110
+ >(
111
+ promisesMap: {
112
+ [key in TKey]: (resultAggregator: {
113
+ [key in TKey]?: RunSequentialPromisesFulfilledResult<TKey, TValue>;
114
+ }) => Promise<TValue>;
115
+ },
116
+ options?: RunSequentialPromisesOptions
117
+ ): Promise<{
118
+ [key in TKey]: RunSequentialPromisesFulfilledResult<TKey, TValue>;
119
+ }>;
@@ -19,6 +19,8 @@ export * from './utils/dom';
19
19
  export * from './utils/event';
20
20
  export * from './utils/format';
21
21
  export * from './utils/scroll';
22
+ export * from './utils/is';
23
+ export * from './utils/run-sequential-promises';
22
24
 
23
25
  import { VueStyleObjectProp } from "./api/vue-prop-types";
24
26
 
@@ -99,6 +101,13 @@ export function setCssVar(
99
101
  element?: Element
100
102
  ): void;
101
103
 
104
+ export class EventBus {
105
+ on (event: string, callback: Function, ctx?: any): this;
106
+ once (event: string, callback: Function, ctx?: any): this;
107
+ emit (event: string, ...args: any[]): this;
108
+ off (event: string, callback?: Function): this;
109
+ }
110
+
102
111
  interface CreateMetaMixinContext extends ComponentPublicInstance {
103
112
  [index: string]: any;
104
113
  }
@@ -363,6 +363,10 @@
363
363
  "type": "array",
364
364
  "description": "An array of two numbers to offset the menu horizontally and vertically in pixels"
365
365
  },
366
+ "q-btn-dropdown/toggle-aria-label": {
367
+ "type": "string",
368
+ "description": "aria-label to be used on the dropdown toggle element"
369
+ },
366
370
  "q-btn-group/spread": {
367
371
  "type": "boolean",
368
372
  "description": "Spread horizontally to all available space"
@@ -1007,6 +1011,10 @@
1007
1011
  "type": "boolean|object",
1008
1012
  "description": "Configure material ripple (disable it by setting it to 'false' or supply a config object)"
1009
1013
  },
1014
+ "q-chip/remove-aria-label": {
1015
+ "type": "string",
1016
+ "description": "aria-label to be used on the remove icon"
1017
+ },
1010
1018
  "q-chip/tabindex": {
1011
1019
  "type": "number|string",
1012
1020
  "description": "Tabindex HTML attribute value"
@@ -1047,6 +1055,10 @@
1047
1055
  "type": "string",
1048
1056
  "description": "Size of text in CSS units, including unit name. Suggestion: use 'em' units to sync with component size"
1049
1057
  },
1058
+ "q-circular-progress/rounded": {
1059
+ "type": "boolean",
1060
+ "description": "Rounding the arc of progress"
1061
+ },
1050
1062
  "q-circular-progress/thickness": {
1051
1063
  "type": "number",
1052
1064
  "description": "Thickness of progress arc as a ratio (0.0 < x < 1.0) of component size"
@@ -1559,6 +1571,10 @@
1559
1571
  "type": "string|array|object",
1560
1572
  "description": "Apply custom class(es) to the expand icon item section"
1561
1573
  },
1574
+ "q-expansion-item/toggle-aria-label": {
1575
+ "type": "string",
1576
+ "description": "aria-label to be used on the expansion toggle element"
1577
+ },
1562
1578
  "q-expansion-item/label": {
1563
1579
  "type": "string",
1564
1580
  "description": "Header label (unless using 'header' slot)"
@@ -1603,6 +1619,10 @@
1603
1619
  "type": "boolean",
1604
1620
  "description": "Puts expansion item into open state on initial render; Overridden by v-model if used"
1605
1621
  },
1622
+ "q-expansion-item/hide-expand-icon": {
1623
+ "type": "boolean",
1624
+ "description": "Do not show the expand icon"
1625
+ },
1606
1626
  "q-expansion-item/expand-icon-toggle": {
1607
1627
  "type": "boolean",
1608
1628
  "description": "Applies the expansion events to the expand icon only and not to the whole header"
@@ -4841,7 +4861,7 @@
4841
4861
  },
4842
4862
  "q-table/virtual-scroll-sticky-size-start": {
4843
4863
  "type": "number|string",
4844
- "description": "Size in pixels of the sticky header (if using one); A correct value will improve scroll precision"
4864
+ "description": "Size in pixels of the sticky header (if using one); A correct value will improve scroll precision; Will be also used for non-virtual-scroll tables for fixing top alignment when using scrollTo method"
4845
4865
  },
4846
4866
  "q-table/virtual-scroll-sticky-size-end": {
4847
4867
  "type": "number|string",
@@ -126,7 +126,8 @@
126
126
  "auto-close",
127
127
  "menu-anchor",
128
128
  "menu-self",
129
- "menu-offset"
129
+ "menu-offset",
130
+ "toggle-aria-label"
130
131
  ],
131
132
  "description": ""
132
133
  },
@@ -348,6 +349,7 @@
348
349
  "clickable",
349
350
  "removable",
350
351
  "ripple",
352
+ "remove-aria-label",
351
353
  "tabindex",
352
354
  "disable"
353
355
  ],
@@ -363,6 +365,7 @@
363
365
  "center-color",
364
366
  "track-color",
365
367
  "font-size",
368
+ "rounded",
366
369
  "thickness",
367
370
  "angle",
368
371
  "indeterminate",
@@ -521,6 +524,7 @@
521
524
  "expand-icon",
522
525
  "expanded-icon",
523
526
  "expand-icon-class",
527
+ "toggle-aria-label",
524
528
  "label",
525
529
  "label-lines",
526
530
  "caption",
@@ -532,6 +536,7 @@
532
536
  "content-inset-level",
533
537
  "expand-separator",
534
538
  "default-opened",
539
+ "hide-expand-icon",
535
540
  "expand-icon-toggle",
536
541
  "switch-toggle-side",
537
542
  "dense-toggle",
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "2.8.3",
5
+ "version": "2.8.4",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -1036,6 +1036,15 @@
1036
1036
  },
1037
1037
  "description": "An array of two numbers to offset the menu horizontally and vertically in pixels\n\nExamples:\n[8, 8]\n[5, 10]",
1038
1038
  "doc-url": "https://v2.quasar.dev/vue-components/button-dropdown"
1039
+ },
1040
+ {
1041
+ "name": "toggle-aria-label",
1042
+ "value": {
1043
+ "kind": "expression",
1044
+ "type": "string"
1045
+ },
1046
+ "description": "aria-label to be used on the dropdown toggle element\n\nExamples:\nOpen menu",
1047
+ "doc-url": "https://v2.quasar.dev/vue-components/button-dropdown"
1039
1048
  }
1040
1049
  ],
1041
1050
  "events": [
@@ -3050,6 +3059,15 @@
3050
3059
  "doc-url": "https://v2.quasar.dev/vue-components/chip",
3051
3060
  "default": "true"
3052
3061
  },
3062
+ {
3063
+ "name": "remove-aria-label",
3064
+ "value": {
3065
+ "kind": "expression",
3066
+ "type": "string"
3067
+ },
3068
+ "description": "aria-label to be used on the remove icon\n\nExamples:\nRemove item",
3069
+ "doc-url": "https://v2.quasar.dev/vue-components/chip"
3070
+ },
3053
3071
  {
3054
3072
  "name": "tabindex",
3055
3073
  "value": {
@@ -3202,6 +3220,16 @@
3202
3220
  "doc-url": "https://v2.quasar.dev/vue-components/circular-progress",
3203
3221
  "default": "\"0.25em\""
3204
3222
  },
3223
+ {
3224
+ "name": "rounded",
3225
+ "value": {
3226
+ "kind": "expression",
3227
+ "type": "boolean"
3228
+ },
3229
+ "description": "Rounding the arc of progress",
3230
+ "doc-url": "https://v2.quasar.dev/vue-components/circular-progress",
3231
+ "type": "boolean"
3232
+ },
3205
3233
  {
3206
3234
  "name": "thickness",
3207
3235
  "value": {
@@ -4871,6 +4899,15 @@
4871
4899
  "description": "Apply custom class(es) to the expand icon item section\n\nExamples:\ntext-purple",
4872
4900
  "doc-url": "https://v2.quasar.dev/vue-components/expansion-item"
4873
4901
  },
4902
+ {
4903
+ "name": "toggle-aria-label",
4904
+ "value": {
4905
+ "kind": "expression",
4906
+ "type": "string"
4907
+ },
4908
+ "description": "aria-label to be used on the expansion toggle element\n\nExamples:\nOpen details",
4909
+ "doc-url": "https://v2.quasar.dev/vue-components/expansion-item"
4910
+ },
4874
4911
  {
4875
4912
  "name": "label",
4876
4913
  "value": {
@@ -4975,6 +5012,16 @@
4975
5012
  "doc-url": "https://v2.quasar.dev/vue-components/expansion-item",
4976
5013
  "type": "boolean"
4977
5014
  },
5015
+ {
5016
+ "name": "hide-expand-icon",
5017
+ "value": {
5018
+ "kind": "expression",
5019
+ "type": "boolean"
5020
+ },
5021
+ "description": "Do not show the expand icon",
5022
+ "doc-url": "https://v2.quasar.dev/vue-components/expansion-item",
5023
+ "type": "boolean"
5024
+ },
4978
5025
  {
4979
5026
  "name": "expand-icon-toggle",
4980
5027
  "value": {
@@ -15616,7 +15663,7 @@
15616
15663
  "kind": "expression",
15617
15664
  "type": "number|string"
15618
15665
  },
15619
- "description": "Size in pixels of the sticky header (if using one); A correct value will improve scroll precision\n\nExamples:\nvirtual-scroll-sticky-size-start=\"48\"",
15666
+ "description": "Size in pixels of the sticky header (if using one); A correct value will improve scroll precision; Will be also used for non-virtual-scroll tables for fixing top alignment when using scrollTo method\n\nExamples:\nvirtual-scroll-sticky-size-start=\"48\"",
15620
15667
  "doc-url": "https://v2.quasar.dev/vue-components/table",
15621
15668
  "default": "\"0\""
15622
15669
  },
package/lang/ar-TN.js CHANGED
@@ -20,7 +20,9 @@ module.exports = {
20
20
  create: 'إنشاء',
21
21
  search: 'بحث',
22
22
  filter: 'ترشيح',
23
- refresh: 'تحديث'
23
+ refresh: 'تحديث',
24
+ expand: label => (label ? `"${ label } توسيع` : 'وسعت'),
25
+ collapse: label => (label ? `"${ label }" تصغير` : 'انهيار')
24
26
  },
25
27
  date: {
26
28
  days: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
package/lang/ar-TN.mjs CHANGED
@@ -15,7 +15,9 @@ export default {
15
15
  create: 'إنشاء',
16
16
  search: 'بحث',
17
17
  filter: 'ترشيح',
18
- refresh: 'تحديث'
18
+ refresh: 'تحديث',
19
+ expand: label => (label ? `"${ label } توسيع` : 'وسعت'),
20
+ collapse: label => (label ? `"${ label }" تصغير` : 'انهيار')
19
21
  },
20
22
  date: {
21
23
  days: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
package/lang/ar.js CHANGED
@@ -20,7 +20,9 @@ module.exports = {
20
20
  create: 'إنشاء',
21
21
  search: 'بحث',
22
22
  filter: 'ترشيح',
23
- refresh: 'تحديث'
23
+ refresh: 'تحديث',
24
+ expand: label => (label ? `"${ label } توسيع` : 'وسعت'),
25
+ collapse: label => (label ? `"${ label }" تصغير` : 'انهيار')
24
26
  },
25
27
  date: {
26
28
  days: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
package/lang/ar.mjs CHANGED
@@ -15,7 +15,9 @@ export default {
15
15
  create: 'إنشاء',
16
16
  search: 'بحث',
17
17
  filter: 'ترشيح',
18
- refresh: 'تحديث'
18
+ refresh: 'تحديث',
19
+ expand: label => (label ? `"${ label } توسيع` : 'وسعت'),
20
+ collapse: label => (label ? `"${ label }" تصغير` : 'انهيار')
19
21
  },
20
22
  date: {
21
23
  days: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
package/lang/az-Latn.js CHANGED
@@ -19,7 +19,9 @@ module.exports = {
19
19
  create: 'Yarat',
20
20
  search: 'Axtar',
21
21
  filter: 'Filtrlə',
22
- refresh: 'Yenilə'
22
+ refresh: 'Yenilə',
23
+ expand: label => (label ? `"${ label }" genişləndirin` : 'Genişləndirin'),
24
+ collapse: label => (label ? `"${ label }" yığcamlaşdırın` : 'Yıxılma')
23
25
  },
24
26
  date: {
25
27
  days: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
package/lang/az-Latn.mjs CHANGED
@@ -14,7 +14,9 @@ export default {
14
14
  create: 'Yarat',
15
15
  search: 'Axtar',
16
16
  filter: 'Filtrlə',
17
- refresh: 'Yenilə'
17
+ refresh: 'Yenilə',
18
+ expand: label => (label ? `"${ label }" genişləndirin` : 'Genişləndirin'),
19
+ collapse: label => (label ? `"${ label }" yığcamlaşdırın` : 'Yıxılma')
18
20
  },
19
21
  date: {
20
22
  days: 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
package/lang/bg.js CHANGED
@@ -19,7 +19,9 @@ module.exports = {
19
19
  create: 'Създай',
20
20
  search: 'Търси',
21
21
  filter: 'Филтър',
22
- refresh: 'Презареди'
22
+ refresh: 'Презареди',
23
+ expand: label => (label ? `Разширете "${ label }"` : 'Разширяване'),
24
+ collapse: label => (label ? `Свиване на "${ label }"` : 'Свиване')
23
25
  },
24
26
  date: {
25
27
  days: 'Неделя_Понеделник_Вторник_Сряда_Четвъртък_Петък_Събота'.split('_'),
package/lang/bg.mjs CHANGED
@@ -14,7 +14,9 @@ export default {
14
14
  create: 'Създай',
15
15
  search: 'Търси',
16
16
  filter: 'Филтър',
17
- refresh: 'Презареди'
17
+ refresh: 'Презареди',
18
+ expand: label => (label ? `Разширете "${ label }"` : 'Разширяване'),
19
+ collapse: label => (label ? `Свиване на "${ label }"` : 'Свиване')
18
20
  },
19
21
  date: {
20
22
  days: 'Неделя_Понеделник_Вторник_Сряда_Четвъртък_Петък_Събота'.split('_'),
package/lang/bn.js CHANGED
@@ -19,7 +19,9 @@ module.exports = {
19
19
  create: 'তৈরী',
20
20
  search: 'সন্ধান',
21
21
  filter: 'ছাঁকনি',
22
- refresh: 'সতেজ'
22
+ refresh: 'সতেজ',
23
+ expand: label => (label ? `"${ label }" প্রসারিত করুন` : 'বিস্তৃত করা'),
24
+ collapse: label => (label ? `"${ label }" সঙ্কুচিত করুন` : 'সঙ্কুচিত')
23
25
  },
24
26
  date: {
25
27
  days: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
package/lang/bn.mjs CHANGED
@@ -14,7 +14,9 @@ export default {
14
14
  create: 'তৈরী',
15
15
  search: 'সন্ধান',
16
16
  filter: 'ছাঁকনি',
17
- refresh: 'সতেজ'
17
+ refresh: 'সতেজ',
18
+ expand: label => (label ? `"${ label }" প্রসারিত করুন` : 'বিস্তৃত করা'),
19
+ collapse: label => (label ? `"${ label }" সঙ্কুচিত করুন` : 'সঙ্কুচিত')
18
20
  },
19
21
  date: {
20
22
  days: 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),
package/lang/ca.js CHANGED
@@ -19,7 +19,9 @@ module.exports = {
19
19
  create: 'Crear',
20
20
  search: 'Cercar',
21
21
  filter: 'Filtrar',
22
- refresh: 'Refrescar'
22
+ refresh: 'Refrescar',
23
+ expand: label => (label ? `Amplia "${ label }"` : 'Expandir'),
24
+ collapse: label => (label ? `Col·lapse "${ label }"` : 'Col·lapse')
23
25
  },
24
26
  date: {
25
27
  days: 'Diumenge_Dilluns_Dimarts_Dimecres_Dijous_Divendres_Dissabte'.split('_'),