quasar 2.21.4 → 2.22.0

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 (178) hide show
  1. package/README.md +1 -1
  2. package/dist/api/QUploader.json +1 -1
  3. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  4. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  5. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  6. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  7. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v7-pro.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v7.umd.prod.js +1 -1
  11. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  12. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  13. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  17. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  18. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  20. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v7.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-fontawesome-v7.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-ionicons-v7.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-ionicons-v8.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 +1 -1
  41. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  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/bs-BA.umd.prod.js +1 -1
  53. package/dist/lang/ca.umd.prod.js +1 -1
  54. package/dist/lang/cs.umd.prod.js +1 -1
  55. package/dist/lang/da.umd.prod.js +1 -1
  56. package/dist/lang/de-CH.umd.prod.js +1 -1
  57. package/dist/lang/de-DE.umd.prod.js +1 -1
  58. package/dist/lang/de.umd.prod.js +1 -1
  59. package/dist/lang/el.umd.prod.js +1 -1
  60. package/dist/lang/en-GB.umd.prod.js +1 -1
  61. package/dist/lang/en-US.umd.prod.js +1 -1
  62. package/dist/lang/eo.umd.prod.js +1 -1
  63. package/dist/lang/es.umd.prod.js +1 -1
  64. package/dist/lang/et.umd.prod.js +1 -1
  65. package/dist/lang/eu.umd.prod.js +1 -1
  66. package/dist/lang/fa-IR.umd.prod.js +1 -1
  67. package/dist/lang/fa.umd.prod.js +1 -1
  68. package/dist/lang/fi.umd.prod.js +1 -1
  69. package/dist/lang/fr.umd.prod.js +1 -1
  70. package/dist/lang/gn.umd.prod.js +1 -1
  71. package/dist/lang/he.umd.prod.js +1 -1
  72. package/dist/lang/hi.umd.prod.js +1 -1
  73. package/dist/lang/hr.umd.prod.js +1 -1
  74. package/dist/lang/hu.umd.prod.js +1 -1
  75. package/dist/lang/id.umd.prod.js +1 -1
  76. package/dist/lang/is.umd.prod.js +1 -1
  77. package/dist/lang/it.umd.prod.js +1 -1
  78. package/dist/lang/ja.umd.prod.js +1 -1
  79. package/dist/lang/kk.umd.prod.js +1 -1
  80. package/dist/lang/km.umd.prod.js +1 -1
  81. package/dist/lang/ko-KR.umd.prod.js +1 -1
  82. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  83. package/dist/lang/lb.umd.prod.js +1 -1
  84. package/dist/lang/lt.umd.prod.js +1 -1
  85. package/dist/lang/lu.umd.prod.js +1 -1
  86. package/dist/lang/lv.umd.prod.js +1 -1
  87. package/dist/lang/mk.umd.prod.js +1 -1
  88. package/dist/lang/ml.umd.prod.js +1 -1
  89. package/dist/lang/mm.umd.prod.js +1 -1
  90. package/dist/lang/ms-MY.umd.prod.js +1 -1
  91. package/dist/lang/ms.umd.prod.js +1 -1
  92. package/dist/lang/my.umd.prod.js +1 -1
  93. package/dist/lang/nb-NO.umd.prod.js +1 -1
  94. package/dist/lang/nl.umd.prod.js +1 -1
  95. package/dist/lang/pl.umd.prod.js +1 -1
  96. package/dist/lang/pt-BR.umd.prod.js +1 -1
  97. package/dist/lang/pt.umd.prod.js +1 -1
  98. package/dist/lang/ro.umd.prod.js +1 -1
  99. package/dist/lang/ru.umd.prod.js +1 -1
  100. package/dist/lang/sk.umd.prod.js +1 -1
  101. package/dist/lang/sl.umd.prod.js +1 -1
  102. package/dist/lang/sm.umd.prod.js +1 -1
  103. package/dist/lang/sq.umd.prod.js +1 -1
  104. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  105. package/dist/lang/sr.umd.prod.js +1 -1
  106. package/dist/lang/sv.umd.prod.js +1 -1
  107. package/dist/lang/ta.umd.prod.js +1 -1
  108. package/dist/lang/th.umd.prod.js +1 -1
  109. package/dist/lang/tl.umd.prod.js +1 -1
  110. package/dist/lang/tr.umd.prod.js +1 -1
  111. package/dist/lang/ug.umd.prod.js +1 -1
  112. package/dist/lang/uk.umd.prod.js +1 -1
  113. package/dist/lang/ur-PK.umd.prod.js +1 -1
  114. package/dist/lang/uz-Cyrl.umd.prod.js +1 -1
  115. package/dist/lang/uz-Latn.umd.prod.js +1 -1
  116. package/dist/lang/vi.umd.prod.js +1 -1
  117. package/dist/lang/zh-CN.umd.prod.js +1 -1
  118. package/dist/lang/zh-TW.umd.prod.js +1 -1
  119. package/dist/quasar.client.js +572 -187
  120. package/dist/quasar.css +4 -0
  121. package/dist/quasar.prod.css +1 -1
  122. package/dist/quasar.rtl.css +5 -0
  123. package/dist/quasar.rtl.prod.css +1 -1
  124. package/dist/quasar.sass +4 -1
  125. package/dist/quasar.server.prod.cjs +35 -35
  126. package/dist/quasar.server.prod.js +25 -25
  127. package/dist/quasar.umd.js +572 -187
  128. package/dist/quasar.umd.prod.js +30 -30
  129. package/dist/types/composables.d.ts +10 -5
  130. package/dist/types/index.d.ts +4 -4
  131. package/dist/web-types/web-types.json +1 -1
  132. package/package.json +6 -6
  133. package/src/components/carousel/QCarousel.js +2 -0
  134. package/src/components/chip/QChip.js +20 -4
  135. package/src/components/date/QDate.js +9 -2
  136. package/src/components/dialog/QDialog.js +9 -2
  137. package/src/components/editor/QEditor.js +18 -3
  138. package/src/components/expansion-item/QExpansionItem.js +6 -1
  139. package/src/components/input/QInput.js +42 -1
  140. package/src/components/input/QInput.json +7 -0
  141. package/src/components/input/use-mask.js +12 -4
  142. package/src/components/item/QItem.js +10 -1
  143. package/src/components/menu/QMenu.js +9 -2
  144. package/src/components/range/QRange.js +2 -1
  145. package/src/components/rating/QRating.js +27 -8
  146. package/src/components/rating/QRating.sass +4 -0
  147. package/src/components/resize-observer/QResizeObserver.js +14 -3
  148. package/src/components/scroll-area/QScrollArea.js +69 -17
  149. package/src/components/slide-item/QSlideItem.js +3 -2
  150. package/src/components/slider/use-slider.js +7 -3
  151. package/src/components/stepper/StepHeader.js +11 -2
  152. package/src/components/table/QTable.js +11 -9
  153. package/src/components/table/QTh.js +20 -1
  154. package/src/components/table/table-column-selection.js +9 -1
  155. package/src/components/table/table-pagination.js +5 -2
  156. package/src/components/table/table-row-selection.js +10 -10
  157. package/src/components/tabs/QTabs.js +5 -6
  158. package/src/components/time/QTime.js +35 -10
  159. package/src/components/tooltip/QTooltip.js +112 -6
  160. package/src/components/tree/QTree.js +124 -4
  161. package/src/components/uploader/uploader-core.js +19 -4
  162. package/src/components/uploader/xhr-uploader-plugin.js +93 -43
  163. package/src/components/uploader/xhr-uploader-plugin.json +4 -4
  164. package/src/composables/private.use-field/use-field.js +2 -0
  165. package/src/composables/private.use-file/use-file.js +21 -12
  166. package/src/composables/private.use-fullscreen/use-fullscreen.js +8 -3
  167. package/src/composables/private.use-model-toggle/use-model-toggle.js +2 -0
  168. package/src/composables/private.use-panel/use-panel.js +6 -2
  169. package/src/composables/use-interval/use-interval.js +8 -0
  170. package/src/composables/use-render-cache/use-render-cache.js +15 -10
  171. package/src/composables/use-timeout/use-timeout.js +8 -0
  172. package/src/directives/intersection/Intersection.js +2 -2
  173. package/src/directives/touch-repeat/TouchRepeat.js +3 -1
  174. package/src/plugins/cookies/Cookies.js +29 -13
  175. package/src/plugins/meta/Meta.js +57 -9
  176. package/src/utils/extend/extend.js +4 -0
  177. package/src/utils/extend/extend.test.js +29 -0
  178. package/src/utils/scroll/prevent-scroll.js +4 -4
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  # Quasar Framework UI Package
4
4
 
5
- > Build high-performance VueJS user interfaces in record time: responsive Single Page Apps, SSR Apps, PWAs, Browser extensions, Hybrid Mobile Apps and Electron Apps. If you want, all using the same codebase!
5
+ > Build high-performance Vue.js user interfaces in record time: responsive Single Page Apps, SSR Apps, SSG Apps, PWAs, browser extensions, hybrid mobile apps and Electron apps. If you want, all using the same codebase!
6
6
 
7
7
  <img src="https://img.shields.io/npm/v/quasar?label=quasar">
8
8
 
@@ -1 +1 @@
1
- {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/uploader"},"props":{"factory":{"type":"Function","tsType":"QUploaderFactoryFn","desc":"Function which should return an Object or a Promise resolving with an Object; For best performance, reference it from your scope and do not define it inline","params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":["Object","Promise<any>"],"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"},"category":"upload"},"url":{"type":["String","Function"],"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","examples":["'https://example.com/path'","files => `https://example.com?count=${ files.length }`"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"String","desc":"URL or path to the server which handles the upload"},"category":"upload"},"method":{"type":["String","Function"],"default":"'POST'","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","values":["'POST'","'PUT'"],"examples":["'POST'","files => (files.length > 10 ? 'POST' : 'PUT')"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"String","desc":"HTTP method to use for upload"},"category":"upload","required":false},"field-name":{"type":["String","Function"],"desc":"Field name for each file upload; This goes into the following header: 'Content-Disposition: form-data; name=\"__HERE__\"; filename=\"somefile.png\"; If using a function then for best performance, reference it from your scope and do not define it inline","default":"file => file.name","examples":["'backgroundFile'","file => ('background' + file.name)"],"params":{"files":{"type":"File","desc":"The current file being processed"}},"returns":{"type":"String","desc":"Field name for the current file upload"},"category":"upload","required":false},"headers":{"type":["Array","Function"],"desc":"Array or a factory function which returns an array; Array consists of objects with header definitions; 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","definition":{"name":{"type":"String","required":true,"desc":"Header name","examples":["'Content-Type'","'Accept'","'Cache-Control'"]},"value":{"type":"String","required":true,"desc":"Header value","examples":["'application/json'","'no-cache'"]}},"examples":["[{ name: 'Content-Type', value: 'application/json' }, { name: 'Accept', value: 'application/json' }]","() => [ { name: 'X-Custom-Timestamp', value: Date.now() }]","files => [ { name: 'X-Custom-Count', value: files.length }]"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"String","desc":"An array consisting of objects with header definitions"},"category":"upload"},"form-fields":{"type":["Array","Function"],"desc":"Array or a factory function which returns an array; Array consists of objects with additional fields definitions (used by Form to be uploaded); 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","definition":{"name":{"type":"String","required":true,"desc":"Field name","examples":["'Some field'"]},"value":{"type":"String","required":true,"desc":"Field value","examples":["'some-value'"]}},"examples":["[{ name: 'my-field', value: 'my-value' }]","() => [ { name: 'my-field', value: 'my-value' }]","files => [ { name: 'my-field', value: 'my-value' + files.length }]"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"String","desc":"An array consists of objects with additional fields definitions (used by Form to be uploaded)"},"category":"upload"},"with-credentials":{"type":["Boolean","Function"],"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","examples":["true","files => (files.length === 2)"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Boolean","desc":"If true, withCredentials will be set to true on the XHR that manages the upload"},"category":"upload"},"send-raw":{"type":["Boolean","Function"],"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","examples":["true","files => (files.length > 2)"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Boolean","desc":"If true, raw files will get sent without wrapping into a Form()"},"category":"upload"},"batch":{"type":["Boolean","Function"],"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","examples":["files => files.length > 10"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Boolean","desc":"If true, files will be uploaded in a batch (in one XHR request)"},"category":"upload"},"multiple":{"type":"Boolean","desc":"Allow multiple file uploads","category":"behavior"},"accept":{"type":"String","desc":"Comma separated list of unique file type specifiers. Maps to 'accept' attribute of native input type=file element","examples":["'.jpg, .pdf, image/*'","'image/jpeg, .pdf'"],"category":"behavior"},"capture":{"type":"String","desc":"Optionally, specify that a new file should be captured, and which device should be used to capture that new media of a type defined by the 'accept' prop. Maps to 'capture' attribute of native input type=file element","values":["'user'","'environment'"],"category":"behavior"},"max-file-size":{"type":["Number","String"],"desc":"Maximum size of individual file in bytes","examples":["1024","'1048576'"],"category":"behavior"},"max-total-size":{"type":["Number","String"],"desc":"Maximum size of all files combined in bytes","category":"behavior"},"max-files":{"type":["Number","String"],"desc":"Maximum number of files to contain","category":"behavior"},"filter":{"type":"Function","desc":"Custom filter for added files; Only files that pass this filter will be added to the queue and uploaded; For best performance, reference it from your scope and do not define it inline","params":{"files":{"type":"Array","tsType":"File","desc":"Candidate files to be added to queue"}},"returns":{"type":"Array","tsType":"File","desc":"Filtered files to be added to queue"},"examples":["files => files.filter(file => file.size === 1024)"],"category":"behavior"},"label":{"type":"String","desc":"Label for the uploader","examples":["'Upload photo here'"],"category":"content"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"text-color":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},"flat":{"type":"Boolean","desc":"Applies a 'flat' design (no default shadow)","category":"style"},"bordered":{"type":"Boolean","desc":"Applies a default border to the component","category":"style"},"no-thumbnails":{"type":"Boolean","desc":"Don't display thumbnails for image files","category":"content"},"auto-upload":{"type":"Boolean","desc":"Upload files immediately when added","category":"behavior"},"hide-upload-btn":{"type":"Boolean","desc":"Don't show the upload button","category":"behavior"},"thumbnail-fit":{"type":"String","desc":"How the thumbnail image will fit into the container; Equivalent of the background-size prop","default":"'cover'","examples":["'cover'","'contain'","'auto'","'50%'"],"category":"style","addedIn":"v2.17","required":false},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"readonly":{"type":"Boolean","desc":"Put component in readonly mode","category":"state"}},"slots":{"header":{"desc":"Slot for custom header; Scope is the QUploader instance itself","scope":{"...self":{"type":"Component","tsType":"QUploader","desc":"QUploader instance"}}},"list":{"desc":"Slot for custom list; Scope is the QUploader instance itself","scope":{"...self":{"type":"Component","tsType":"QUploader","desc":"QUploader instance"}}}},"events":{"uploaded":{"desc":"Emitted when file or batch of files is uploaded","params":{"info":{"type":"Object","desc":"Object containing information about the event","definition":{"files":{"type":"Array","required":true,"desc":"Uploaded files"},"xhr":{"type":"Object","required":true,"desc":"XMLHttpRequest that has been used to upload this batch of files"}}}}},"failed":{"desc":"Emitted when file or batch of files has encountered error while uploading","params":{"info":{"type":"Object","desc":"Object containing information about the event","definition":{"files":{"type":"Array","required":true,"desc":"Files which encountered error"},"xhr":{"type":"Object","required":true,"desc":"XMLHttpRequest that has been used to upload this batch of files"}}}}},"uploading":{"desc":"Emitted when file or batch of files started uploading","params":{"info":{"type":"Object","desc":"Object containing information about the event","definition":{"files":{"type":"Array","required":true,"desc":"Files which are now uploading"},"xhr":{"type":"Object","required":true,"desc":"XMLHttpRequest used for uploading"}}}}},"factory-failed":{"desc":"Emitted when factory function is supplied with a Promise which is rejected","params":{"err":{"type":"Error","desc":"Error object which is the Promise rejection reason"},"files":{"type":"Array","desc":"Files which were to get uploaded"}}},"rejected":{"desc":"Emitted after files are picked and some do not pass the validation props (accept, max-file-size, max-total-size, filter, etc)","params":{"rejectedEntries":{"type":"Array","tsType":"QRejectedEntry","desc":"Array of { failedPropValidation: string, file: File } Objects for files that do not pass the validation"}}},"added":{"desc":"Emitted when files are added into the list","params":{"files":{"type":"Array","desc":"Array of files that were added"}}},"removed":{"desc":"Emitted when files are removed from the list","params":{"files":{"type":"Array","desc":"Array of files that were removed"}}},"start":{"desc":"Started working"},"finish":{"desc":"Finished working (regardless of success or fail)"}},"methods":{"pickFiles":{"desc":"Trigger the file picker dialog; The event must come from a user interaction event handler","params":{"evt":{"type":"Event","desc":"JS event object of the original user interaction handler","required":true}},"returns":null},"addFiles":{"desc":"Add files programmatically","params":{"files":{"type":["Array","FileList"],"tsType":"QUseFileAddInput","desc":"Array of files (instances of File) or FileList","required":true}},"returns":null},"upload":{"desc":"Start uploading (same as clicking the upload button)","params":null,"returns":null},"abort":{"desc":"Abort upload of all files (same as clicking the abort button)","params":null,"returns":null},"reset":{"desc":"Resets uploader to default; Empties queue, aborts current uploads","params":null,"returns":null},"removeUploadedFiles":{"desc":"Removes already uploaded files from the list","params":null,"returns":null},"removeQueuedFiles":{"desc":"Remove files that are waiting for upload to start (same as clicking the left clear button)","params":null,"returns":null},"removeFile":{"desc":"Remove specified file from the queue","params":{"file":{"type":"File","desc":"The file to remove","required":true}},"returns":null},"updateFileStatus":{"desc":"Update the status of a file","params":{"file":{"type":"File","desc":"The file to update","required":true},"status":{"type":"String","desc":"Status of file","values":["'idle'","'failed'","'uploading'","'uploaded'"],"required":true},"uploadedSize":{"type":"Number","desc":"The number of uploaded bytes of the file; Is required explicitly only when status is NOT 'uploaded'","required":true}},"returns":null},"isAlive":{"desc":"Is the component alive (activated but not unmounted); Useful to determine if you still need to compute anything going further","params":null,"returns":{"type":"Boolean","desc":"If true, the current component is still activated and mounted"}}},"computedProps":{"files":{"type":"Array","desc":"List of all files"},"queuedFiles":{"type":"Array","desc":"List of files that are waiting to be uploaded"},"uploadedFiles":{"type":"Array","desc":"List of files that have been uploaded"},"uploadedSize":{"type":"Number","desc":"Size of all uploaded files in bytes"},"uploadSizeLabel":{"type":"String","desc":"Label for the size total of all files","examples":["'1.0MB'"]},"uploadProgressLabel":{"type":"String","desc":"Label for the upload progress (in %)","examples":["'52.76%'"]},"canAddFiles":{"type":"Boolean","desc":"Whether new files can be added to the list"},"canUpload":{"type":"Boolean","desc":"Whether the files can be uploaded"},"isBusy":{"type":"Boolean","desc":"The component state is set as busy; User should not be able to interact with the component"},"isUploading":{"type":"Boolean","desc":"The component is uploading files"}}}
1
+ {"type":"component","meta":{"docsUrl":"https://v2.quasar.dev/vue-components/uploader"},"props":{"factory":{"type":"Function","tsType":"QUploaderFactoryFn","desc":"Function which should return an Object or a Promise resolving with an Object; For best performance, reference it from your scope and do not define it inline","params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":["Object","Promise<any>"],"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"},"category":"upload"},"url":{"type":["String","Function"],"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","examples":["'https://example.com/path'","files => `https://example.com?count=${ files.length }`"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"String","desc":"URL or path to the server which handles the upload"},"category":"upload"},"method":{"type":["String","Function"],"default":"'POST'","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","values":["'POST'","'PUT'"],"examples":["'POST'","files => (files.length > 10 ? 'POST' : 'PUT')"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"String","desc":"HTTP method to use for upload"},"category":"upload","required":false},"field-name":{"type":["String","Function"],"desc":"Field name for each file upload; This goes into the following header: 'Content-Disposition: form-data; name=\"__HERE__\"; filename=\"somefile.png\"; If using a function then for best performance, reference it from your scope and do not define it inline","default":"file => file.name","examples":["'backgroundFile'","file => ('background' + file.name)"],"params":{"files":{"type":"File","desc":"The current file being processed"}},"returns":{"type":"String","desc":"Field name for the current file upload"},"category":"upload","required":false},"headers":{"type":["Array","Function"],"desc":"Array or a factory function which returns an array; Array consists of objects with header definitions; 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","definition":{"name":{"type":"String","required":true,"desc":"Header name","examples":["'Content-Type'","'Accept'","'Cache-Control'"]},"value":{"type":"String","required":true,"desc":"Header value","examples":["'application/json'","'no-cache'"]}},"examples":["[{ name: 'Content-Type', value: 'application/json' }, { name: 'Accept', value: 'application/json' }]","() => [ { name: 'X-Custom-Timestamp', value: Date.now() }]","files => [ { name: 'X-Custom-Count', value: files.length }]"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Array","desc":"An array consisting of objects with header definitions"},"category":"upload"},"form-fields":{"type":["Array","Function"],"desc":"Array or a factory function which returns an array; Array consists of objects with additional fields definitions (used by Form to be uploaded); 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","definition":{"name":{"type":"String","required":true,"desc":"Field name","examples":["'Some field'"]},"value":{"type":"String","required":true,"desc":"Field value","examples":["'some-value'"]}},"examples":["[{ name: 'my-field', value: 'my-value' }]","() => [ { name: 'my-field', value: 'my-value' }]","files => [ { name: 'my-field', value: 'my-value' + files.length }]"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Array","desc":"An array consisting of objects with additional field definitions (used by FormData to be uploaded)"},"category":"upload"},"with-credentials":{"type":["Boolean","Function"],"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","examples":["true","files => (files.length === 2)"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Boolean","desc":"If true, withCredentials will be set to true on the XHR that manages the upload"},"category":"upload"},"send-raw":{"type":["Boolean","Function"],"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","examples":["true","files => (files.length > 2)"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Boolean","desc":"If true, raw files will get sent without wrapping into a Form()"},"category":"upload"},"batch":{"type":["Boolean","Function"],"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","examples":["files => files.length > 10"],"params":{"files":{"type":"Array","desc":"Uploaded files"}},"returns":{"type":"Boolean","desc":"If true, files will be uploaded in a batch (in one XHR request)"},"category":"upload"},"multiple":{"type":"Boolean","desc":"Allow multiple file uploads","category":"behavior"},"accept":{"type":"String","desc":"Comma separated list of unique file type specifiers. Maps to 'accept' attribute of native input type=file element","examples":["'.jpg, .pdf, image/*'","'image/jpeg, .pdf'"],"category":"behavior"},"capture":{"type":"String","desc":"Optionally, specify that a new file should be captured, and which device should be used to capture that new media of a type defined by the 'accept' prop. Maps to 'capture' attribute of native input type=file element","values":["'user'","'environment'"],"category":"behavior"},"max-file-size":{"type":["Number","String"],"desc":"Maximum size of individual file in bytes","examples":["1024","'1048576'"],"category":"behavior"},"max-total-size":{"type":["Number","String"],"desc":"Maximum size of all files combined in bytes","category":"behavior"},"max-files":{"type":["Number","String"],"desc":"Maximum number of files to contain","category":"behavior"},"filter":{"type":"Function","desc":"Custom filter for added files; Only files that pass this filter will be added to the queue and uploaded; For best performance, reference it from your scope and do not define it inline","params":{"files":{"type":"Array","tsType":"File","desc":"Candidate files to be added to queue"}},"returns":{"type":"Array","tsType":"File","desc":"Filtered files to be added to queue"},"examples":["files => files.filter(file => file.size === 1024)"],"category":"behavior"},"label":{"type":"String","desc":"Label for the uploader","examples":["'Upload photo here'"],"category":"content"},"color":{"type":"String","tsType":"NamedColor","desc":"Color name for component from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"text-color":{"type":"String","tsType":"NamedColor","desc":"Overrides text color (if needed); Color name from the Quasar Color Palette","examples":["'primary'","'teal'","'teal-10'"],"category":"style"},"dark":{"type":["Boolean","null"],"default":"null","desc":"Notify the component that the background is a dark color","category":"style","required":false},"square":{"type":"Boolean","desc":"Removes border-radius so borders are squared","category":"style"},"flat":{"type":"Boolean","desc":"Applies a 'flat' design (no default shadow)","category":"style"},"bordered":{"type":"Boolean","desc":"Applies a default border to the component","category":"style"},"no-thumbnails":{"type":"Boolean","desc":"Don't display thumbnails for image files","category":"content"},"auto-upload":{"type":"Boolean","desc":"Upload files immediately when added","category":"behavior"},"hide-upload-btn":{"type":"Boolean","desc":"Don't show the upload button","category":"behavior"},"thumbnail-fit":{"type":"String","desc":"How the thumbnail image will fit into the container; Equivalent of the background-size prop","default":"'cover'","examples":["'cover'","'contain'","'auto'","'50%'"],"category":"style","addedIn":"v2.17","required":false},"disable":{"type":"Boolean","desc":"Put component in disabled mode","category":"state"},"readonly":{"type":"Boolean","desc":"Put component in readonly mode","category":"state"}},"slots":{"header":{"desc":"Slot for custom header; Scope is the QUploader instance itself","scope":{"...self":{"type":"Component","tsType":"QUploader","desc":"QUploader instance"}}},"list":{"desc":"Slot for custom list; Scope is the QUploader instance itself","scope":{"...self":{"type":"Component","tsType":"QUploader","desc":"QUploader instance"}}}},"events":{"uploaded":{"desc":"Emitted when file or batch of files is uploaded","params":{"info":{"type":"Object","desc":"Object containing information about the event","definition":{"files":{"type":"Array","required":true,"desc":"Uploaded files"},"xhr":{"type":"Object","required":true,"desc":"XMLHttpRequest that has been used to upload this batch of files"}}}}},"failed":{"desc":"Emitted when file or batch of files has encountered error while uploading","params":{"info":{"type":"Object","desc":"Object containing information about the event","definition":{"files":{"type":"Array","required":true,"desc":"Files which encountered error"},"xhr":{"type":"Object","required":true,"desc":"XMLHttpRequest that has been used to upload this batch of files"}}}}},"uploading":{"desc":"Emitted when file or batch of files started uploading","params":{"info":{"type":"Object","desc":"Object containing information about the event","definition":{"files":{"type":"Array","required":true,"desc":"Files which are now uploading"},"xhr":{"type":"Object","required":true,"desc":"XMLHttpRequest used for uploading"}}}}},"factory-failed":{"desc":"Emitted when the factory function throws, returns an invalid value, or supplies a Promise which is rejected or aborted","params":{"err":{"type":"Error","desc":"Error object which is the Promise rejection reason"},"files":{"type":"Array","desc":"Files which were to get uploaded"}}},"rejected":{"desc":"Emitted after files are picked and some do not pass the validation props (accept, max-file-size, max-total-size, filter, etc)","params":{"rejectedEntries":{"type":"Array","tsType":"QRejectedEntry","desc":"Array of { failedPropValidation: string, file: File } Objects for files that do not pass the validation"}}},"added":{"desc":"Emitted when files are added into the list","params":{"files":{"type":"Array","desc":"Array of files that were added"}}},"removed":{"desc":"Emitted when files are removed from the list","params":{"files":{"type":"Array","desc":"Array of files that were removed"}}},"start":{"desc":"Started working"},"finish":{"desc":"Finished working (regardless of success or fail)"}},"methods":{"pickFiles":{"desc":"Trigger the file picker dialog; The event must come from a user interaction event handler","params":{"evt":{"type":"Event","desc":"JS event object of the original user interaction handler","required":true}},"returns":null},"addFiles":{"desc":"Add files programmatically","params":{"files":{"type":["Array","FileList"],"tsType":"QUseFileAddInput","desc":"Array of files (instances of File) or FileList","required":true}},"returns":null},"upload":{"desc":"Start uploading (same as clicking the upload button)","params":null,"returns":null},"abort":{"desc":"Abort upload of all files (same as clicking the abort button)","params":null,"returns":null},"reset":{"desc":"Resets uploader to default; Empties queue, aborts current uploads","params":null,"returns":null},"removeUploadedFiles":{"desc":"Removes already uploaded files from the list","params":null,"returns":null},"removeQueuedFiles":{"desc":"Remove files that are waiting for upload to start (same as clicking the left clear button)","params":null,"returns":null},"removeFile":{"desc":"Remove specified file from the queue","params":{"file":{"type":"File","desc":"The file to remove","required":true}},"returns":null},"updateFileStatus":{"desc":"Update the status of a file","params":{"file":{"type":"File","desc":"The file to update","required":true},"status":{"type":"String","desc":"Status of file","values":["'idle'","'failed'","'uploading'","'uploaded'"],"required":true},"uploadedSize":{"type":"Number","desc":"The number of uploaded bytes of the file; Is required explicitly only when status is NOT 'uploaded'","required":true}},"returns":null},"isAlive":{"desc":"Is the component alive (activated but not unmounted); Useful to determine if you still need to compute anything going further","params":null,"returns":{"type":"Boolean","desc":"If true, the current component is still activated and mounted"}}},"computedProps":{"files":{"type":"Array","desc":"List of all files"},"queuedFiles":{"type":"Array","desc":"List of files that are waiting to be uploaded"},"uploadedFiles":{"type":"Array","desc":"List of files that have been uploaded"},"uploadedSize":{"type":"Number","desc":"Size of all uploaded files in bytes"},"uploadSizeLabel":{"type":"String","desc":"Label for the size total of all files","examples":["'1.0MB'"]},"uploadProgressLabel":{"type":"String","desc":"Label for the upload progress (in %)","examples":["'52.76%'"]},"canAddFiles":{"type":"Boolean","desc":"Whether new files can be added to the list"},"canUpload":{"type":"Boolean","desc":"Whether the files can be uploaded"},"isBusy":{"type":"Boolean","desc":"The component state is set as busy; User should not be able to interact with the component"},"isUploading":{"type":"Boolean","desc":"The component is uploading files"}}}
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quasar Framework v2.21.4
2
+ * Quasar Framework v2.22.0
3
3
  * (c) 2015-present Razvan Stoenescu
4
4
  * Released under the MIT License.
5
5
  */