quasar 2.11.5 → 2.11.7

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 (167) hide show
  1. package/dist/api/BottomSheet.json +13 -0
  2. package/dist/api/QCarouselSlide.json +1 -1
  3. package/dist/api/QChatMessage.json +1 -1
  4. package/dist/api/QForm.json +3 -2
  5. package/dist/api/QImg.json +2 -2
  6. package/dist/api/QTimelineEntry.json +1 -1
  7. package/dist/api/QVirtualScroll.json +2 -2
  8. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  9. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  11. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  12. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  13. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  14. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  15. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  18. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  19. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  20. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  21. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  22. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  25. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  26. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +2 -2
  32. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +2 -2
  41. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +2 -2
  42. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +2 -2
  43. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  46. package/dist/icon-set/themify.umd.prod.js +1 -1
  47. package/dist/lang/ar-TN.umd.prod.js +1 -1
  48. package/dist/lang/ar.umd.prod.js +1 -1
  49. package/dist/lang/az-Latn.umd.prod.js +1 -1
  50. package/dist/lang/bg.umd.prod.js +1 -1
  51. package/dist/lang/bn.umd.prod.js +1 -1
  52. package/dist/lang/ca.umd.prod.js +1 -1
  53. package/dist/lang/cs.umd.prod.js +1 -1
  54. package/dist/lang/da.umd.prod.js +1 -1
  55. package/dist/lang/de.umd.prod.js +1 -1
  56. package/dist/lang/el.umd.prod.js +1 -1
  57. package/dist/lang/en-GB.umd.prod.js +1 -1
  58. package/dist/lang/en-US.umd.prod.js +1 -1
  59. package/dist/lang/eo.umd.prod.js +1 -1
  60. package/dist/lang/es.umd.prod.js +1 -1
  61. package/dist/lang/et.umd.prod.js +1 -1
  62. package/dist/lang/eu.umd.prod.js +1 -1
  63. package/dist/lang/fa-IR.umd.prod.js +1 -1
  64. package/dist/lang/fa.umd.prod.js +1 -1
  65. package/dist/lang/fi.umd.prod.js +1 -1
  66. package/dist/lang/fr.umd.prod.js +1 -1
  67. package/dist/lang/gn.umd.prod.js +1 -1
  68. package/dist/lang/he.umd.prod.js +1 -1
  69. package/dist/lang/hr.umd.prod.js +1 -1
  70. package/dist/lang/hu.umd.prod.js +1 -1
  71. package/dist/lang/id.umd.prod.js +1 -1
  72. package/dist/lang/is.umd.prod.js +1 -1
  73. package/dist/lang/it.umd.prod.js +1 -1
  74. package/dist/lang/ja.umd.prod.js +1 -1
  75. package/dist/lang/kk.umd.prod.js +1 -1
  76. package/dist/lang/km.umd.prod.js +1 -1
  77. package/dist/lang/ko-KR.umd.prod.js +1 -1
  78. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  79. package/dist/lang/lt.umd.prod.js +1 -1
  80. package/dist/lang/lu.umd.prod.js +1 -1
  81. package/dist/lang/lv.umd.prod.js +1 -1
  82. package/dist/lang/ml.umd.prod.js +1 -1
  83. package/dist/lang/mm.umd.prod.js +1 -1
  84. package/dist/lang/ms.umd.prod.js +1 -1
  85. package/dist/lang/my.umd.prod.js +1 -1
  86. package/dist/lang/nb-NO.umd.prod.js +1 -1
  87. package/dist/lang/nl.umd.prod.js +1 -1
  88. package/dist/lang/pl.umd.prod.js +1 -1
  89. package/dist/lang/pt-BR.umd.prod.js +1 -1
  90. package/dist/lang/pt.umd.prod.js +1 -1
  91. package/dist/lang/ro.umd.prod.js +1 -1
  92. package/dist/lang/ru.umd.prod.js +1 -1
  93. package/dist/lang/sk.umd.prod.js +1 -1
  94. package/dist/lang/sl.umd.prod.js +2 -2
  95. package/dist/lang/sm.umd.prod.js +1 -1
  96. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  97. package/dist/lang/sr.umd.prod.js +1 -1
  98. package/dist/lang/sv.umd.prod.js +1 -1
  99. package/dist/lang/ta.umd.prod.js +1 -1
  100. package/dist/lang/th.umd.prod.js +1 -1
  101. package/dist/lang/tr.umd.prod.js +1 -1
  102. package/dist/lang/ug.umd.prod.js +1 -1
  103. package/dist/lang/uk.umd.prod.js +1 -1
  104. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  105. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  106. package/dist/lang/vi.umd.prod.js +1 -1
  107. package/dist/lang/zh-CN.umd.prod.js +1 -1
  108. package/dist/lang/zh-TW.umd.prod.js +1 -1
  109. package/dist/quasar.cjs.prod.js +2 -2
  110. package/dist/quasar.css +1 -0
  111. package/dist/quasar.esm.js +29 -24
  112. package/dist/quasar.esm.prod.js +2 -2
  113. package/dist/quasar.prod.css +1 -1
  114. package/dist/quasar.rtl.css +1 -0
  115. package/dist/quasar.rtl.prod.css +1 -1
  116. package/dist/quasar.sass +4 -3
  117. package/dist/quasar.umd.js +29 -24
  118. package/dist/quasar.umd.prod.js +2 -2
  119. package/dist/types/api/dialog.d.ts +13 -11
  120. package/dist/types/api/qform.d.ts +5 -0
  121. package/dist/types/api/qinput.d.ts +0 -2
  122. package/dist/types/api/qloading.d.ts +1 -3
  123. package/dist/types/api/qnotify.d.ts +7 -5
  124. package/dist/types/api/qtable.d.ts +0 -2
  125. package/dist/types/api/slider.d.ts +6 -4
  126. package/dist/types/api/vue-prop-types.d.ts +9 -0
  127. package/dist/types/api/web-storage.d.ts +1 -2
  128. package/dist/types/api.d.ts +1 -0
  129. package/dist/types/composables.d.ts +2 -4
  130. package/dist/types/extras/icon-set.d.ts +42 -29
  131. package/dist/types/index.d.ts +14 -5
  132. package/dist/types/shim-icon-set.d.ts +0 -2
  133. package/dist/types/shim-lang.d.ts +0 -2
  134. package/dist/types/ts-helpers.d.ts +33 -10
  135. package/dist/types/tsconfig.json +15 -2
  136. package/dist/types/utils/colors.d.ts +4 -1
  137. package/dist/types/utils/date.d.ts +58 -12
  138. package/dist/types/utils/dom.d.ts +4 -1
  139. package/dist/types/utils/format.d.ts +6 -6
  140. package/dist/types/utils/scroll.d.ts +29 -6
  141. package/dist/types/utils.d.ts +26 -24
  142. package/dist/web-types/web-types.json +6 -6
  143. package/lang/sl.js +1 -1
  144. package/lang/sl.mjs +1 -1
  145. package/package.json +11 -9
  146. package/src/components/carousel/QCarouselSlide.json +1 -1
  147. package/src/components/chat/QChatMessage.json +1 -1
  148. package/src/components/date/QDate.js +10 -9
  149. package/src/components/date/use-datetime.js +1 -1
  150. package/src/components/dialog/QDialog.js +2 -5
  151. package/src/components/dialog-bottom-sheet/BottomSheet.js +2 -0
  152. package/src/components/form/QForm.json +3 -2
  153. package/src/components/img/QImg.json +2 -2
  154. package/src/components/input/use-mask.js +1 -1
  155. package/src/components/layout/QLayout.sass +1 -0
  156. package/src/components/slide-transition/QSlideTransition.js +6 -1
  157. package/src/components/timeline/QTimelineEntry.json +1 -1
  158. package/src/components/tree/QTree.js +2 -2
  159. package/src/components/uploader/xhr-uploader-plugin.js +2 -2
  160. package/src/components/virtual-scroll/QVirtualScroll.json +2 -2
  161. package/src/composables/private/use-timeout.js +1 -1
  162. package/src/css/variables.sass +2 -2
  163. package/src/plugins/BottomSheet.json +8 -0
  164. package/src/plugins/Platform.js +1 -1
  165. package/src/utils/private/define-reactive-plugin.js +1 -1
  166. package/dist/types/api/vue-prop-types.ts +0 -15
  167. package/dist/types/typings.json +0 -4
@@ -1,5 +1,3 @@
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
1
  import { QUploader } from "quasar";
4
2
  import {
5
3
  ComponentOptionsMixin,
@@ -10,17 +8,17 @@ import {
10
8
  ExtractPropTypes,
11
9
  Ref,
12
10
  SetupContext,
13
- } from 'vue';
14
- import { MetaOptions } from './meta';
15
-
16
- export * from './utils/colors';
17
- export * from './utils/date';
18
- export * from './utils/dom';
19
- export * from './utils/event';
20
- export * from './utils/format';
21
- export * from './utils/scroll';
22
- export * from './utils/is';
23
- export * from './utils/run-sequential-promises';
11
+ } from "vue";
12
+ import { MetaOptions } from "./meta";
13
+
14
+ export * from "./utils/colors";
15
+ export * from "./utils/date";
16
+ export * from "./utils/dom";
17
+ export * from "./utils/event";
18
+ export * from "./utils/format";
19
+ export * from "./utils/scroll";
20
+ export * from "./utils/is";
21
+ export * from "./utils/run-sequential-promises";
24
22
 
25
23
  import { VueStyleObjectProp } from "./api/vue-prop-types";
26
24
 
@@ -37,11 +35,15 @@ export function debounce<F extends (...args: any[]) => any>(
37
35
  fn: F,
38
36
  wait?: number,
39
37
  immediate?: boolean
40
- ): F & { cancel(): void };
38
+ ): ((this: ThisParameterType<F>, ...args: Parameters<F>) => void) & {
39
+ cancel(): void;
40
+ };
41
41
 
42
42
  export function frameDebounce<F extends (...args: any[]) => any>(
43
- fn: F,
44
- ): F & { cancel(): void };
43
+ fn: F
44
+ ): ((this: ThisParameterType<F>, ...args: Parameters<F>) => void) & {
45
+ cancel(): void;
46
+ };
45
47
 
46
48
  export function exportFile(
47
49
  fileName: string,
@@ -69,7 +71,7 @@ interface MorphOptions {
69
71
  from: Element | string | (() => Element | null | undefined);
70
72
  to?: Element | string | (() => Element | null | undefined);
71
73
  onToggle?: () => void;
72
- waitFor?: number | 'transitionend' | Promise<any>;
74
+ waitFor?: number | "transitionend" | Promise<any>;
73
75
 
74
76
  duration?: number;
75
77
  easing?: string;
@@ -88,7 +90,7 @@ interface MorphOptions {
88
90
  tweenFromOpacity?: number;
89
91
  tweenToOpacity?: number;
90
92
 
91
- onEnd?: (direction: 'to' | 'from', aborted: boolean) => void;
93
+ onEnd?: (direction: "to" | "from", aborted: boolean) => void;
92
94
  }
93
95
 
94
96
  export function morph(options: MorphOptions): (abort?: boolean) => boolean;
@@ -102,10 +104,10 @@ export function setCssVar(
102
104
  ): void;
103
105
 
104
106
  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;
107
+ on(event: string, callback: Function, ctx?: any): this;
108
+ once(event: string, callback: Function, ctx?: any): this;
109
+ emit(event: string, ...args: any[]): this;
110
+ off(event: string, callback?: Function): this;
109
111
  }
110
112
 
111
113
  interface CreateMetaMixinContext extends ComponentPublicInstance {
@@ -126,7 +128,7 @@ interface InjectPluginFnHelpers {
126
128
  uploadedSize: Ref<number>;
127
129
  updateFileStatus: (
128
130
  file: File,
129
- status: 'failed' | 'idle' | 'uploaded' | 'uploading',
131
+ status: "failed" | "idle" | "uploaded" | "uploading",
130
132
  uploadedSize?: number
131
133
  ) => void;
132
134
  isAlive: () => boolean;
@@ -134,7 +136,7 @@ interface InjectPluginFnHelpers {
134
136
 
135
137
  interface InjectPluginFnOptions<Props> {
136
138
  props: ExtractPropTypes<Props>;
137
- emit: SetupContext['emit'];
139
+ emit: SetupContext["emit"];
138
140
  helpers: InjectPluginFnHelpers;
139
141
  }
140
142
 
@@ -2,7 +2,7 @@
2
2
  "$schema": "",
3
3
  "framework": "vue",
4
4
  "name": "quasar",
5
- "version": "2.11.5",
5
+ "version": "2.11.7",
6
6
  "contributions": {
7
7
  "html": {
8
8
  "types-syntax": "typescript",
@@ -2528,7 +2528,7 @@
2528
2528
  "kind": "expression",
2529
2529
  "type": "string"
2530
2530
  },
2531
- "description": "URL pointing to a slide background image (use public folder)\n\nExamples:\n(public folder) src=\"img/my-bg.png\"\n(assets folder) src=\"~assets/my-img.png\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://placeimg.com/500/300/nature\"",
2531
+ "description": "URL pointing to a slide background image (use public folder)\n\nExamples:\n(public folder) src=\"img/my-bg.png\"\n(assets folder) src=\"~assets/my-img.png\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://picsum.photos/500/300\"",
2532
2532
  "doc-url": "https://v2.quasar.dev/vue-components/carousel"
2533
2533
  }
2534
2534
  ],
@@ -2601,7 +2601,7 @@
2601
2601
  "kind": "expression",
2602
2602
  "type": "string"
2603
2603
  },
2604
- "description": "URL to the avatar image of the author\n\nExamples:\n(public folder) src=\"boy-avatar.png\"\n(assets folder) src=\"~assets/boy-avatar.png\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://placeimg.com/500/300/nature\"",
2604
+ "description": "URL to the avatar image of the author\n\nExamples:\n(public folder) src=\"boy-avatar.png\"\n(assets folder) src=\"~assets/boy-avatar.png\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://picsum.photos/500/300\"",
2605
2605
  "doc-url": "https://v2.quasar.dev/vue-components/chat"
2606
2606
  },
2607
2607
  {
@@ -7291,7 +7291,7 @@
7291
7291
  "kind": "expression",
7292
7292
  "type": "string"
7293
7293
  },
7294
- "description": "Path to image\n\nExamples:\n(public folder) src=\"img/something.png\"\n(assets folder) src=\"~assets/my-img.gif\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://placeimg.com/500/300/nature\"",
7294
+ "description": "Path to image\n\nExamples:\n(public folder) src=\"img/something.png\"\n(assets folder) src=\"~assets/my-img.gif\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://picsum.photos/500/300\"",
7295
7295
  "doc-url": "https://v2.quasar.dev/vue-components/img"
7296
7296
  },
7297
7297
  {
@@ -7318,7 +7318,7 @@
7318
7318
  "kind": "expression",
7319
7319
  "type": "string"
7320
7320
  },
7321
- "description": "While waiting for your image to load, you can use a placeholder image\n\nExamples:\n(public folder) src=\"img/some-placeholder.png\"\n(assets folder) src=\"~assets/my-placeholder.gif\"\n(relative path format) :src=\"require('./placeholder.jpg')\"\n(URL) src=\"https://placeimg.com/500/300/nature\"",
7321
+ "description": "While waiting for your image to load, you can use a placeholder image\n\nExamples:\n(public folder) src=\"img/some-placeholder.png\"\n(assets folder) src=\"~assets/my-placeholder.gif\"\n(relative path format) :src=\"require('./placeholder.jpg')\"\n(URL) src=\"https://picsum.photos/500/300\"",
7322
7322
  "doc-url": "https://v2.quasar.dev/vue-components/img"
7323
7323
  },
7324
7324
  {
@@ -17505,7 +17505,7 @@
17505
17505
  "kind": "expression",
17506
17506
  "type": "string"
17507
17507
  },
17508
- "description": "URL to the avatar image; Icon takes precedence if used, so it replaces avatar\n\nExamples:\n(public folder) src=\"img/my-bg.png\"\n(assets folder) src=\"~assets/my-img.png\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://placeimg.com/500/300/nature\"",
17508
+ "description": "URL to the avatar image; Icon takes precedence if used, so it replaces avatar\n\nExamples:\n(public folder) src=\"img/my-bg.png\"\n(assets folder) src=\"~assets/my-img.png\"\n(relative path format) :src=\"require('./my_img.jpg')\"\n(URL) src=\"https://picsum.photos/500/300\"",
17509
17509
  "doc-url": "https://v2.quasar.dev/vue-components/timeline"
17510
17510
  },
17511
17511
  {
package/lang/sl.js CHANGED
@@ -8,7 +8,7 @@ module.exports = {
8
8
  nativeName: 'Slovenski Jezik',
9
9
  label: {
10
10
  clear: 'Počisti',
11
- ok: 'Vredu',
11
+ ok: 'V redu',
12
12
  cancel: 'Prekliči',
13
13
  close: 'Zapri',
14
14
  set: 'Postavi',
package/lang/sl.mjs CHANGED
@@ -3,7 +3,7 @@ export default {
3
3
  nativeName: 'Slovenski Jezik',
4
4
  label: {
5
5
  clear: 'Počisti',
6
- ok: 'Vredu',
6
+ ok: 'V redu',
7
7
  cancel: 'Prekliči',
8
8
  close: 'Zapri',
9
9
  set: 'Postavi',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.11.5",
3
+ "version": "2.11.7",
4
4
  "description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
5
5
  "main": "dist/quasar.cjs.prod.js",
6
6
  "module": "dist/quasar.esm.prod.js",
@@ -29,6 +29,7 @@
29
29
  "build": "node build/script.build.js",
30
30
  "lint": "eslint --ext .js,.vue src dev",
31
31
  "lint-fix": "eslint --ext .js,.vue src dev --fix",
32
+ "format:types": "prettier --write \"types/**/*.{d.ts,ts,json}\"",
32
33
  "test:build": "node build/script.build.js js api && node build/script.build.js js transforms",
33
34
  "test:component": "yarn test:build && cd ./dev && cypress open-ct && cd ..",
34
35
  "test:component:run": "yarn test:build && cd ./dev && cypress run-ct && cd ..",
@@ -67,8 +68,8 @@
67
68
  },
68
69
  "homepage": "https://quasar.dev",
69
70
  "devDependencies": {
70
- "@quasar/app-vite": "^1.1.3",
71
- "@quasar/extras": "^1.15.9",
71
+ "@quasar/app-vite": "^1.2.0",
72
+ "@quasar/extras": "^1.15.11",
72
73
  "@quasar/quasar-app-extension-testing-e2e-cypress": "^4.1.2",
73
74
  "@rollup/plugin-node-resolve": "^11.2.1",
74
75
  "@rollup/plugin-replace": "^2.3.3",
@@ -81,22 +82,23 @@
81
82
  "eslint-config-standard": "^17.0.0",
82
83
  "eslint-friendly-formatter": "^4.0.1",
83
84
  "eslint-plugin-cypress": "^2.12.1",
84
- "eslint-plugin-import": "^2.19.1",
85
- "eslint-plugin-n": "^15.0.0",
85
+ "eslint-plugin-import": "^2.27.5",
86
+ "eslint-plugin-n": "^15.6.1",
86
87
  "eslint-plugin-no-only-tests": "^2.6.0",
87
88
  "eslint-plugin-node": "^11.1.0",
88
- "eslint-plugin-promise": "^6.0.0",
89
+ "eslint-plugin-promise": "^6.1.1",
89
90
  "eslint-plugin-vue": "^8.0.0",
90
91
  "fast-glob": "^3.2.7",
91
92
  "module-alias": "^2.2.2",
92
- "postcss-rtlcss": "^3.5.3",
93
- "prettier": "^2.4.1",
93
+ "postcss-rtlcss": "^4.0.2",
94
+ "prettier": "^2.8.3",
94
95
  "recast": "^0.18.5",
95
96
  "rimraf": "^3.0.1",
96
97
  "rollup": "^2.34.0",
97
98
  "table": "^6.8.1",
99
+ "typescript": "^4.9.5",
98
100
  "uglify-es": "^3.3.9",
99
- "vue": "^3.2.45",
101
+ "vue": "^3.2.47",
100
102
  "vue-router": "^4.1.6",
101
103
  "yargs": "^17.6.2"
102
104
  },
@@ -22,7 +22,7 @@
22
22
  "(public folder) src=\"img/my-bg.png\"",
23
23
  "(assets folder) src=\"~assets/my-img.png\"",
24
24
  "(relative path format) :src=\"require('./my_img.jpg')\"",
25
- "(URL) src=\"https://placeimg.com/500/300/nature\""
25
+ "(URL) src=\"https://picsum.photos/500/300\""
26
26
  ],
27
27
  "category": "model"
28
28
  }
@@ -44,7 +44,7 @@
44
44
  "(public folder) src=\"boy-avatar.png\"",
45
45
  "(assets folder) src=\"~assets/boy-avatar.png\"",
46
46
  "(relative path format) :src=\"require('./my_img.jpg')\"",
47
- "(URL) src=\"https://placeimg.com/500/300/nature\""
47
+ "(URL) src=\"https://picsum.photos/500/300\""
48
48
  ],
49
49
  "category": "content"
50
50
  },
@@ -702,8 +702,8 @@ export default createComponent({
702
702
  lastEmitValue = 0
703
703
  }
704
704
  else {
705
- const { year, month } = getViewModel(innerMask.value, innerLocale.value)
706
- updateViewModel(year, month)
705
+ const model = getViewModel(innerMask.value, innerLocale.value)
706
+ updateViewModel(model.year, model.month, model)
707
707
  }
708
708
  })
709
709
 
@@ -713,12 +713,8 @@ export default createComponent({
713
713
  }
714
714
  })
715
715
 
716
- watch(() => viewModel.value.year, year => {
717
- emit('navigation', { year, month: viewModel.value.month })
718
- })
719
-
720
- watch(() => viewModel.value.month, month => {
721
- emit('navigation', { year: viewModel.value.year, month })
716
+ watch(() => viewModel.value.year + '|' + viewModel.value.month, () => {
717
+ emit('navigation', { year: viewModel.value.year, month: viewModel.value.month })
722
718
  })
723
719
 
724
720
  watch(mask, val => {
@@ -900,7 +896,7 @@ export default createComponent({
900
896
  return { year: date.year, month: date.month, day: date.day }
901
897
  }
902
898
 
903
- function updateViewModel (year, month) {
899
+ function updateViewModel (year, month, time) {
904
900
  if (minNav.value !== null && year <= minNav.value.year) {
905
901
  year = minNav.value.year
906
902
  if (month < minNav.value.month) {
@@ -915,6 +911,11 @@ export default createComponent({
915
911
  }
916
912
  }
917
913
 
914
+ if (time !== void 0) {
915
+ const { hour, minute, second, millisecond, timezoneOffset, timeHash } = time
916
+ Object.assign(viewModel.value, { hour, minute, second, millisecond, timezoneOffset, timeHash })
917
+ }
918
+
918
919
  const newHash = year + '/' + pad(month) + '/01'
919
920
 
920
921
  if (newHash !== viewModel.value.dateHash) {
@@ -46,7 +46,7 @@ export default function (props, $q) {
46
46
  })
47
47
 
48
48
  const tabindex = computed(() => {
49
- return props.editable === true ? 0 : -1
49
+ return editable.value === true ? 0 : -1
50
50
  })
51
51
 
52
52
  const headerClass = computed(() => {
@@ -79,7 +79,6 @@ export default createComponent({
79
79
 
80
80
  setup (props, { slots, emit, attrs }) {
81
81
  const vm = getCurrentInstance()
82
- const { proxy: { $q } } = vm
83
82
 
84
83
  const innerRef = ref(null)
85
84
  const showing = ref(false)
@@ -344,7 +343,7 @@ export default createComponent({
344
343
  hide(e)
345
344
  }
346
345
  else if (props.noShake !== true) {
347
- shake(e.relatedTarget)
346
+ shake()
348
347
  }
349
348
  }
350
349
 
@@ -371,8 +370,6 @@ export default createComponent({
371
370
 
372
371
  onBeforeUnmount(cleanup)
373
372
 
374
- const backdropEvt = $q.platform.is.ios === true || $q.platform.is.safari ? 'onClick' : 'onFocusin'
375
-
376
373
  function renderPortalContent () {
377
374
  return h('div', {
378
375
  role: 'dialog',
@@ -390,7 +387,7 @@ export default createComponent({
390
387
  style: transitionStyle.value,
391
388
  'aria-hidden': 'true',
392
389
  tabindex: -1,
393
- [ backdropEvt ]: onBackdropClick
390
+ onClick: onBackdropClick
394
391
  })
395
392
  : null
396
393
  )),
@@ -69,6 +69,7 @@ export default createComponent({
69
69
  'q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position',
70
70
  action.class
71
71
  ],
72
+ style: action.style,
72
73
  tabindex: 0,
73
74
  role: 'listitem',
74
75
  onClick () { onOk(action) },
@@ -100,6 +101,7 @@ export default createComponent({
100
101
  ? h(QSeparator, { spaced: true, dark: isDark.value })
101
102
  : h(QItem, {
102
103
  class: [ 'q-bottom-sheet__item', action.classes ],
104
+ style: action.style,
103
105
  tabindex: 0,
104
106
  clickable: true,
105
107
  dark: isDark.value,
@@ -110,10 +110,11 @@
110
110
  },
111
111
 
112
112
  "getValidationComponents": {
113
- "desc": "Get array of children vue components that support validation",
113
+ "desc": "Get an array of children Vue component instances that support Quasar validation API (derived from QField, or using useFormChild()/QFormChildMixin)",
114
114
  "returns": {
115
115
  "type": "Array",
116
- "desc": "Vue components that support Quasar validation API"
116
+ "tsType": "QFormChildComponent",
117
+ "desc": "Quasar validation API-compatible Vue component instances"
117
118
  }
118
119
  }
119
120
  }
@@ -14,7 +14,7 @@
14
14
  "(public folder) src=\"img/something.png\"",
15
15
  "(assets folder) src=\"~assets/my-img.gif\"",
16
16
  "(relative path format) :src=\"require('./my_img.jpg')\"",
17
- "(URL) src=\"https://placeimg.com/500/300/nature\""
17
+ "(URL) src=\"https://picsum.photos/500/300\""
18
18
  ],
19
19
  "category": "model"
20
20
  },
@@ -47,7 +47,7 @@
47
47
  "(public folder) src=\"img/some-placeholder.png\"",
48
48
  "(assets folder) src=\"~assets/my-placeholder.gif\"",
49
49
  "(relative path format) :src=\"require('./placeholder.jpg')\"",
50
- "(URL) src=\"https://placeimg.com/500/300/nature\""
50
+ "(URL) src=\"https://picsum.photos/500/300\""
51
51
  ],
52
52
  "category": "model"
53
53
  },
@@ -186,7 +186,7 @@ export default function (props, emit, emitValue, inputRef) {
186
186
 
187
187
  computedMask = mask
188
188
  computedUnmask = val => {
189
- const unmaskMatch = unmaskMatcher.exec(props.reverseFillMask === true ? val : val.slice(0, mask.length))
189
+ const unmaskMatch = unmaskMatcher.exec(props.reverseFillMask === true ? val : val.slice(0, mask.length + 1))
190
190
  if (unmaskMatch !== null) {
191
191
  val = unmaskMatch.slice(1).join('')
192
192
  }
@@ -1,5 +1,6 @@
1
1
  .q-layout
2
2
  width: 100%
3
+ outline: 0
3
4
 
4
5
  .q-layout-container
5
6
  position: relative
@@ -39,7 +39,7 @@ export default createComponent({
39
39
  }
40
40
 
41
41
  function begin (el, height, done) {
42
- el.style.overflowY = 'hidden'
42
+ // here overflowY is 'hidden'
43
43
  if (height !== void 0) {
44
44
  el.style.height = `${ height }px`
45
45
  }
@@ -61,12 +61,14 @@ export default createComponent({
61
61
  let pos = 0
62
62
  element = el
63
63
 
64
+ // if animationg overflowY is already 'hidden'
64
65
  if (animating === true) {
65
66
  cleanup()
66
67
  pos = el.offsetHeight === el.scrollHeight ? 0 : void 0
67
68
  }
68
69
  else {
69
70
  lastEvent = 'hide'
71
+ el.style.overflowY = 'hidden'
70
72
  }
71
73
 
72
74
  begin(el, pos, done)
@@ -95,6 +97,9 @@ export default createComponent({
95
97
  }
96
98
  else {
97
99
  lastEvent = 'show'
100
+ // we need to set overflowY 'hidden' before calculating the height
101
+ // or else we get small differences
102
+ el.style.overflowY = 'hidden'
98
103
  pos = el.scrollHeight
99
104
  }
100
105
 
@@ -37,7 +37,7 @@
37
37
  "(public folder) src=\"img/my-bg.png\"",
38
38
  "(assets folder) src=\"~assets/my-img.png\"",
39
39
  "(relative path format) :src=\"require('./my_img.jpg')\"",
40
- "(URL) src=\"https://placeimg.com/500/300/nature\""
40
+ "(URL) src=\"https://picsum.photos/500/300\""
41
41
  ],
42
42
  "category": "content"
43
43
  },
@@ -626,7 +626,7 @@ export default createComponent({
626
626
  }
627
627
 
628
628
  function onClick (node, meta, e, keyboard) {
629
- keyboard !== true && blur(meta.key)
629
+ keyboard !== true && meta.selectable !== false && blur(meta.key)
630
630
 
631
631
  if (hasSelection.value && meta.selectable) {
632
632
  if (props.noSelectionUnset === false) {
@@ -649,7 +649,7 @@ export default createComponent({
649
649
  if (e !== void 0) {
650
650
  stopAndPrevent(e)
651
651
  }
652
- keyboard !== true && blur(meta.key)
652
+ keyboard !== true && meta.selectable !== false && blur(meta.key)
653
653
  setExpanded(meta.key, !meta.expanded, node, meta)
654
654
  }
655
655
 
@@ -27,7 +27,7 @@ const props = {
27
27
  factory: Function
28
28
  }
29
29
 
30
- const emits = [ 'factory-failed', 'uploaded', 'failed', 'uploading' ]
30
+ const emits = [ 'factoryFailed', 'uploaded', 'failed', 'uploading' ]
31
31
 
32
32
  function injectPlugin ({ props, emit, helpers }) {
33
33
  const xhrs = ref([])
@@ -84,7 +84,7 @@ function injectPlugin ({ props, emit, helpers }) {
84
84
 
85
85
  if (!res) {
86
86
  emit(
87
- 'factory-failed',
87
+ 'factoryFailed',
88
88
  new Error('QUploader: factory() does not return properly'),
89
89
  files
90
90
  )
@@ -93,11 +93,11 @@
93
93
  "scope": {
94
94
  "index": {
95
95
  "type": "Number",
96
- "desc": "Item index in the options list"
96
+ "desc": "Item index in the items list"
97
97
  },
98
98
  "item": {
99
99
  "type": "Any",
100
- "desc": "Item data -- its value is taken from 'options' prop"
100
+ "desc": "Item data -- its value is taken from 'items' prop"
101
101
  }
102
102
  }
103
103
  }
@@ -1,6 +1,6 @@
1
1
  import { onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'
2
2
 
3
- import { vmIsDestroyed } from '../../utils/private/vm'
3
+ import { vmIsDestroyed } from '../../utils/private/vm.js'
4
4
 
5
5
  /*
6
6
  * Usage:
@@ -584,8 +584,8 @@ $toolbar-title-letter-spacing : .01em !default
584
584
  $toolbar-title-padding : 0 12px !default
585
585
 
586
586
  $layout-border : 1px solid $separator-color !default
587
- $layout-shadow : 0 0 10px 2px rgba(0,0,0,0.2), 0 0px 10px rgba(0,0,0,0.24) !default
588
- $layout-shadow-dark : 0 0 10px 2px rgba(255,255,255,.2), 0 0px 10px rgba(255,255,255,.24) !default
587
+ $layout-shadow : 0 0 10px 2px rgba($shadow-color,0.2), 0 0px 10px rgba($shadow-color,0.24) !default
588
+ $layout-shadow-dark : 0 0 10px 2px rgba($dark-shadow-color,.2), 0 0px 10px rgba($dark-shadow-color,.24) !default
589
589
 
590
590
  $menu-background : #fff !default
591
591
  $menu-box-shadow : $shadow-2 !default
@@ -38,6 +38,14 @@
38
38
  "examples": [ "my-class" ]
39
39
  },
40
40
 
41
+ "style": {
42
+ "type": [ "String", "Array", "Object" ],
43
+ "tsType": "VueStyleProp",
44
+ "desc": "Style definitions to be attributed to this action element",
45
+ "examples": [ "{ padding: '2px' }" ],
46
+ "addedIn": "v2.11.7"
47
+ },
48
+
41
49
  "icon": {
42
50
  "extends": "icon"
43
51
  },
@@ -1,7 +1,7 @@
1
1
  /* eslint-disable no-useless-escape */
2
2
 
3
3
  import { ref, reactive } from 'vue'
4
- import { injectProp } from '../utils/private/inject-obj-prop'
4
+ import { injectProp } from '../utils/private/inject-obj-prop.js'
5
5
 
6
6
  /**
7
7
  * __ QUASAR_SSR __ -> runs on SSR on client or server
@@ -1,6 +1,6 @@
1
1
 
2
2
  import { reactive } from 'vue'
3
- import { injectProp } from './inject-obj-prop'
3
+ import { injectProp } from './inject-obj-prop.js'
4
4
 
5
5
  export default __QUASAR_SSR_SERVER__
6
6
  ? (state, plugin) => {
@@ -1,15 +0,0 @@
1
- export type VueClassObjectProp = {
2
- [value: string]: any
3
- }
4
-
5
- export type VueClassProp =
6
- | string
7
- | Array<VueClassProp>
8
- | VueClassObjectProp;
9
-
10
- export type VueStyleObjectProp = Partial<CSSStyleDeclaration>;
11
-
12
- export type VueStyleProp =
13
- | string
14
- | Array<VueStyleProp>
15
- | VueStyleObjectProp;
@@ -1,4 +0,0 @@
1
- {
2
- "name": "quasar",
3
- "main": "index.d.ts"
4
- }