quasar 2.3.0 → 2.3.1

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 (137) hide show
  1. package/dist/api/BottomSheet.json +17 -2
  2. package/dist/api/Dialog.json +17 -2
  3. package/dist/api/LocalStorage.json +8 -0
  4. package/dist/api/QCircularProgress.json +1 -1
  5. package/dist/api/QDate.json +46 -0
  6. package/dist/api/QEditor.json +7 -2
  7. package/dist/api/QFooter.json +1 -1
  8. package/dist/api/QHeader.json +1 -1
  9. package/dist/api/QIntersection.json +14 -0
  10. package/dist/api/QLinearProgress.json +1 -1
  11. package/dist/api/QRouteTab.json +1 -24
  12. package/dist/api/QScrollArea.json +3 -0
  13. package/dist/api/QSelect.json +62 -0
  14. package/dist/api/QTable.json +62 -5
  15. package/dist/api/QUploader.json +81 -1
  16. package/dist/api/SessionStorage.json +8 -0
  17. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  18. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  19. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  20. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  21. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  22. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  23. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  24. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  25. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  26. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  27. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  28. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  29. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  30. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  45. package/dist/icon-set/themify.umd.prod.js +1 -1
  46. package/dist/lang/ar.umd.prod.js +1 -1
  47. package/dist/lang/az-Latn.umd.prod.js +1 -1
  48. package/dist/lang/bg.umd.prod.js +1 -1
  49. package/dist/lang/bn.umd.prod.js +1 -1
  50. package/dist/lang/ca.umd.prod.js +1 -1
  51. package/dist/lang/cs.umd.prod.js +1 -1
  52. package/dist/lang/da.umd.prod.js +1 -1
  53. package/dist/lang/de.umd.prod.js +1 -1
  54. package/dist/lang/el.umd.prod.js +1 -1
  55. package/dist/lang/en-GB.umd.prod.js +1 -1
  56. package/dist/lang/en-US.umd.prod.js +1 -1
  57. package/dist/lang/eo.umd.prod.js +1 -1
  58. package/dist/lang/es.umd.prod.js +1 -1
  59. package/dist/lang/et.umd.prod.js +1 -1
  60. package/dist/lang/fa-IR.umd.prod.js +1 -1
  61. package/dist/lang/fa.umd.prod.js +1 -1
  62. package/dist/lang/fi.umd.prod.js +1 -1
  63. package/dist/lang/fr.umd.prod.js +1 -1
  64. package/dist/lang/gn.umd.prod.js +1 -1
  65. package/dist/lang/he.umd.prod.js +1 -1
  66. package/dist/lang/hr.umd.prod.js +1 -1
  67. package/dist/lang/hu.umd.prod.js +1 -1
  68. package/dist/lang/id.umd.prod.js +1 -1
  69. package/dist/lang/is.umd.prod.js +1 -1
  70. package/dist/lang/it.umd.prod.js +1 -1
  71. package/dist/lang/ja.umd.prod.js +1 -1
  72. package/dist/lang/km.umd.prod.js +1 -1
  73. package/dist/lang/ko-KR.umd.prod.js +1 -1
  74. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  75. package/dist/lang/lt.umd.prod.js +1 -1
  76. package/dist/lang/lu.umd.prod.js +1 -1
  77. package/dist/lang/lv.umd.prod.js +1 -1
  78. package/dist/lang/ml.umd.prod.js +1 -1
  79. package/dist/lang/ms.umd.prod.js +1 -1
  80. package/dist/lang/nb-NO.umd.prod.js +1 -1
  81. package/dist/lang/nl.umd.prod.js +1 -1
  82. package/dist/lang/pl.umd.prod.js +1 -1
  83. package/dist/lang/pt-BR.umd.prod.js +1 -1
  84. package/dist/lang/pt.umd.prod.js +1 -1
  85. package/dist/lang/ro.umd.prod.js +1 -1
  86. package/dist/lang/ru.umd.prod.js +1 -1
  87. package/dist/lang/sk.umd.prod.js +1 -1
  88. package/dist/lang/sl.umd.prod.js +1 -1
  89. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  90. package/dist/lang/sr.umd.prod.js +1 -1
  91. package/dist/lang/sv.umd.prod.js +1 -1
  92. package/dist/lang/ta.umd.prod.js +1 -1
  93. package/dist/lang/th.umd.prod.js +1 -1
  94. package/dist/lang/tr.umd.prod.js +1 -1
  95. package/dist/lang/ug.umd.prod.js +1 -1
  96. package/dist/lang/uk.umd.prod.js +1 -1
  97. package/dist/lang/vi.umd.prod.js +1 -1
  98. package/dist/lang/zh-CN.umd.prod.js +1 -1
  99. package/dist/lang/zh-TW.umd.prod.js +1 -1
  100. package/dist/quasar.cjs.prod.js +2 -2
  101. package/dist/quasar.css +4 -0
  102. package/dist/quasar.esm.prod.js +2 -2
  103. package/dist/quasar.prod.css +1 -1
  104. package/dist/quasar.rtl.css +4 -0
  105. package/dist/quasar.rtl.prod.css +1 -1
  106. package/dist/quasar.sass +3 -1
  107. package/dist/quasar.umd.js +39 -18
  108. package/dist/quasar.umd.prod.js +2 -2
  109. package/dist/ssr-directives/Morph.js +1 -1
  110. package/dist/types/index.d.ts +360 -141
  111. package/dist/vetur/quasar-attributes.json +6 -2
  112. package/dist/vetur/quasar-tags.json +1 -0
  113. package/dist/web-types/web-types.json +14 -3
  114. package/package.json +4 -1
  115. package/src/body.js +14 -4
  116. package/src/components/circular-progress/QCircularProgress.json +1 -1
  117. package/src/components/date/QDate.json +34 -0
  118. package/src/components/editor/QEditor.json +6 -2
  119. package/src/components/footer/QFooter.json +1 -1
  120. package/src/components/header/QHeader.json +1 -1
  121. package/src/components/intersection/QIntersection.js +9 -1
  122. package/src/components/intersection/QIntersection.json +9 -0
  123. package/src/components/linear-progress/QLinearProgress.json +1 -1
  124. package/src/components/scroll-area/QScrollArea.json +4 -1
  125. package/src/components/select/QSelect.js +6 -2
  126. package/src/components/select/QSelect.json +47 -0
  127. package/src/components/slider/use-slider.js +3 -3
  128. package/src/components/table/QTable.json +51 -5
  129. package/src/components/tabs/QRouteTab.json +1 -23
  130. package/src/components/uploader/xhr-uploader-plugin.json +97 -1
  131. package/src/composables/private/use-field.js +2 -2
  132. package/src/composables/private/use-refocus-target.js +12 -3
  133. package/src/css/core/transitions.sass +3 -1
  134. package/src/install-quasar.js +1 -0
  135. package/src/utils/private/global-dialog.json +10 -2
  136. package/src/utils/private/web-storage.json +10 -0
  137. package/wrappers/index.js +4 -0
@@ -11,7 +11,7 @@
11
11
  }
12
12
  },
13
13
  "returns": {
14
- "type": [ "Object", "Promise" ],
14
+ "type": [ "Object", "Promise<any>" ],
15
15
  "desc": "Optional configuration for the upload process; You can override QUploader props in this Object (url, method, headers, formFields, fieldName, withCredentials, sendRaw); Props of these Object can also be Functions with the form of (file[s]) => value",
16
16
  "__exemption": [ "examples" ]
17
17
  },
@@ -22,6 +22,18 @@
22
22
  "type": [ "String", "Function" ],
23
23
  "desc": "URL or path to the server which handles the upload. Takes String or factory function, which returns String. Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
24
24
  "examples": [ "https://example.com/path", "files => `https://example.com?count=${files.length}`" ],
25
+ "params": {
26
+ "files": {
27
+ "type": "Array",
28
+ "desc": "Uploaded files",
29
+ "__exemption": [ "examples" ]
30
+ }
31
+ },
32
+ "returns": {
33
+ "type": "String",
34
+ "desc": "URL or path to the server which handles the upload",
35
+ "__exemption": [ "examples" ]
36
+ },
25
37
  "category": "upload"
26
38
  },
27
39
 
@@ -31,6 +43,18 @@
31
43
  "desc": "HTTP method to use for upload; Takes String or factory function which returns a String; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
32
44
  "values": [ "POST", "PUT" ],
33
45
  "examples": [ "POST", ":method=\"files => files.length > 10 ? 'POST' : 'PUT'\"" ],
46
+ "params": {
47
+ "files": {
48
+ "type": "Array",
49
+ "desc": "Uploaded files",
50
+ "__exemption": [ "examples" ]
51
+ }
52
+ },
53
+ "returns": {
54
+ "type": "String",
55
+ "desc": "HTTP method to use for upload",
56
+ "__exemption": [ "examples" ]
57
+ },
34
58
  "category": "upload"
35
59
  },
36
60
 
@@ -42,6 +66,18 @@
42
66
  "backgroundFile",
43
67
  ":field-name=\"(file) => 'background' + file.name\""
44
68
  ],
69
+ "params": {
70
+ "files": {
71
+ "type": "File",
72
+ "desc": "The current file being processed",
73
+ "__exemption": [ "examples" ]
74
+ }
75
+ },
76
+ "returns": {
77
+ "type": "String",
78
+ "desc": "Field name for the current file upload",
79
+ "__exemption": [ "examples" ]
80
+ },
45
81
  "category": "upload"
46
82
  },
47
83
 
@@ -67,6 +103,18 @@
67
103
  "() => [{name: 'X-Custom-Timestamp', value: Date.now()}]",
68
104
  "files => [{name: 'X-Custom-Count', value: files.length}]"
69
105
  ],
106
+ "params": {
107
+ "files": {
108
+ "type": "Array",
109
+ "desc": "Uploaded files",
110
+ "__exemption": [ "examples" ]
111
+ }
112
+ },
113
+ "returns": {
114
+ "type": "String",
115
+ "desc": "An array consists of objects with header definitions",
116
+ "__exemption": [ "examples" ]
117
+ },
70
118
  "category": "upload"
71
119
  },
72
120
 
@@ -92,6 +140,18 @@
92
140
  "() => [{name: 'my-field', value: 'my-value'}]",
93
141
  "files => [{name: 'my-field', value: 'my-value' + files.length}]"
94
142
  ],
143
+ "params": {
144
+ "files": {
145
+ "type": "Array",
146
+ "desc": "Uploaded files",
147
+ "__exemption": [ "examples" ]
148
+ }
149
+ },
150
+ "returns": {
151
+ "type": "String",
152
+ "desc": "An array consists of objects with additional fields definitions (used by Form to be uploaded)",
153
+ "__exemption": [ "examples" ]
154
+ },
95
155
  "category": "upload"
96
156
  },
97
157
 
@@ -99,6 +159,18 @@
99
159
  "type": [ "Boolean", "Function" ],
100
160
  "desc": "Sets withCredentials to true on the XHR that manages the upload; Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
101
161
  "examples": [ "with-credentials", ":with-credentials=\"files => ...\"" ],
162
+ "params": {
163
+ "files": {
164
+ "type": "Array",
165
+ "desc": "Uploaded files",
166
+ "__exemption": [ "examples" ]
167
+ }
168
+ },
169
+ "returns": {
170
+ "type": "Boolean",
171
+ "desc": "If true, withCredentials will be set to true on the XHR that manages the upload",
172
+ "__exemption": [ "examples" ]
173
+ },
102
174
  "category": "upload"
103
175
  },
104
176
 
@@ -106,6 +178,18 @@
106
178
  "type": [ "Boolean", "Function" ],
107
179
  "desc": "Send raw files without wrapping into a Form(); Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
108
180
  "examples": [ "send-raw", ":send-raw=\"files => ...\"" ],
181
+ "params": {
182
+ "files": {
183
+ "type": "Array",
184
+ "desc": "Uploaded files",
185
+ "__exemption": [ "examples" ]
186
+ }
187
+ },
188
+ "returns": {
189
+ "type": "Boolean",
190
+ "desc": "If true, raw files will get sent without wrapping into a Form()",
191
+ "__exemption": [ "examples" ]
192
+ },
109
193
  "category": "upload"
110
194
  },
111
195
 
@@ -113,6 +197,18 @@
113
197
  "type": [ "Boolean", "Function" ],
114
198
  "desc": "Upload files in batch (in one XHR request); Takes boolean or factory function for Boolean; Function is called right before upload; If using a function then for best performance, reference it from your scope and do not define it inline",
115
199
  "examples": [ "files => files.length > 10" ],
200
+ "params": {
201
+ "files": {
202
+ "type": "Array",
203
+ "desc": "Uploaded files",
204
+ "__exemption": [ "examples" ]
205
+ }
206
+ },
207
+ "returns": {
208
+ "type": "Boolean",
209
+ "desc": "If true, files will be uploaded in a batch (in one XHR request)",
210
+ "__exemption": [ "examples" ]
211
+ },
116
212
  "category": "upload"
117
213
  }
118
214
  },
@@ -88,7 +88,7 @@ export function useFieldState () {
88
88
 
89
89
  innerLoading: ref(false),
90
90
  focused: ref(false),
91
- hasPopupOpen: ref(false),
91
+ hasPopupOpen: false,
92
92
 
93
93
  splitAttrs: useSplitAttrs(attrs),
94
94
  targetUid: ref(getTargetUid(props.for)),
@@ -301,7 +301,7 @@ export default function (state) {
301
301
  focusoutTimer = setTimeout(() => {
302
302
  if (
303
303
  document.hasFocus() === true && (
304
- state.hasPopupOpen.value === true
304
+ state.hasPopupOpen === true
305
305
  || (
306
306
  state.controlRef !== void 0
307
307
  && (
@@ -16,12 +16,21 @@ export default function (props, rootRef) {
16
16
  })
17
17
 
18
18
  function refocusTarget (e) {
19
+ const root = rootRef.value
20
+
19
21
  if (e !== void 0 && e.type.indexOf('key') === 0) {
20
- if (document.activeElement !== rootRef.value && rootRef.value.contains(document.activeElement) === true) {
21
- rootRef.value.focus()
22
+ if (
23
+ root !== null
24
+ && document.activeElement !== root
25
+ && root.contains(document.activeElement) === true
26
+ ) {
27
+ root.focus()
22
28
  }
23
29
  }
24
- else if ((e === void 0 || rootRef.value.contains(e.target) === true) && refocusRef.value !== null) {
30
+ else if (
31
+ refocusRef.value !== null
32
+ && (e === void 0 || (root !== null && root.contains(e.target) === true))
33
+ ) {
25
34
  refocusRef.value.focus()
26
35
  }
27
36
  }
@@ -1,4 +1,6 @@
1
- // default easing is easeOutCubic
1
+ // should not need this, but it's good as fallback
2
+ \:root
3
+ --q-transition-duration: .3s
2
4
 
3
5
  .q-transition
4
6
  &--slide-right,
@@ -84,6 +84,7 @@ export default __QUASAR_SSR_SERVER__
84
84
  _meta: {
85
85
  htmlAttrs: '',
86
86
  headTags: '',
87
+ endingHeadTags: '',
87
88
  bodyClasses: '',
88
89
  bodyAttrs: 'data-server-rendered',
89
90
  bodyTags: ''
@@ -35,8 +35,16 @@
35
35
  "type": "Function",
36
36
  "desc": "Tell what to do",
37
37
  "required": true,
38
- "params": null,
39
- "returns": null
38
+ "params": {
39
+ "payload": {
40
+ "type": "Any",
41
+ "desc": "The payload if called onDialogOK with the parameter or emitted one with the 'ok' event",
42
+ "required": false,
43
+ "examples": [ "'Quasar Framework'", "[ 1, 2, 6, 3 ]", "{ book: { id: 1, name: 'Lorem Ipsum' }, user: { name: 'Lorem J. Ipsum', role: 'admin' } }" ]
44
+ }
45
+ },
46
+ "returns": null,
47
+ "examples": [ "() => console.log('OK!')", "(payload) => Notify.create({ type: 'positive', message: `Successfully saved '${payload.book.name}' book!` })" ]
40
48
  }
41
49
  },
42
50
  "returns": {
@@ -118,6 +118,16 @@
118
118
  "type": [ "Date", "RegExp", "Number", "Boolean", "Function", "Object", "Array", "String", "null" ],
119
119
  "desc": "Entry value",
120
120
  "required": true,
121
+ "params": {
122
+ "...params": {
123
+ "type": "Any",
124
+ "__exemption": [ "desc", "examples" ]
125
+ }
126
+ },
127
+ "returns": {
128
+ "type": "Any",
129
+ "__exemption": [ "desc", "examples" ]
130
+ },
121
131
  "examples": [ "john12" ]
122
132
  }
123
133
  }
package/wrappers/index.js CHANGED
@@ -14,6 +14,10 @@ module.exports.ssrMiddleware = function (callback) {
14
14
  return callback
15
15
  }
16
16
 
17
+ module.exports.ssrProductionExport = function (callback) {
18
+ return callback
19
+ }
20
+
17
21
  module.exports.configure = function (callback) {
18
22
  return callback
19
23
  }