quasar 2.5.3 → 2.6.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 (242) hide show
  1. package/README.md +1 -1
  2. package/dist/api/BottomSheet.json +1 -1
  3. package/dist/api/Dialog.json +9 -2
  4. package/dist/api/Notify.json +205 -5
  5. package/dist/api/QAvatar.json +1 -1
  6. package/dist/api/QBreadcrumbsEl.json +1 -1
  7. package/dist/api/QBtn.json +4 -4
  8. package/dist/api/QBtnDropdown.json +17 -17
  9. package/dist/api/QCarousel.json +4 -4
  10. package/dist/api/QCheckbox.json +1 -1
  11. package/dist/api/QChip.json +5 -5
  12. package/dist/api/QDialog.json +13 -13
  13. package/dist/api/QDrawer.json +16 -16
  14. package/dist/api/QExpansionItem.json +15 -15
  15. package/dist/api/QFab.json +15 -15
  16. package/dist/api/QFabAction.json +3 -3
  17. package/dist/api/QField.json +2 -2
  18. package/dist/api/QFile.json +1 -1
  19. package/dist/api/QForm.json +12 -3
  20. package/dist/api/QIcon.json +4 -2
  21. package/dist/api/QInput.json +2 -2
  22. package/dist/api/QKnob.json +23 -0
  23. package/dist/api/QMenu.json +13 -13
  24. package/dist/api/QPagination.json +4 -4
  25. package/dist/api/QPopupEdit.json +6 -6
  26. package/dist/api/QPopupProxy.json +13 -13
  27. package/dist/api/QRadio.json +1 -1
  28. package/dist/api/QRange.json +1 -1
  29. package/dist/api/QRouteTab.json +2 -2
  30. package/dist/api/QSelect.json +18 -5
  31. package/dist/api/QSlider.json +1 -1
  32. package/dist/api/QStep.json +4 -4
  33. package/dist/api/QStepper.json +4 -4
  34. package/dist/api/QTab.json +1 -1
  35. package/dist/api/QTable.json +6 -6
  36. package/dist/api/QTimelineEntry.json +1 -1
  37. package/dist/api/QToggle.json +2 -2
  38. package/dist/api/QTooltip.json +13 -13
  39. package/dist/api/QTree.json +1 -1
  40. package/dist/api/QUploader.json +1 -1
  41. package/dist/api/TouchHold.json +1 -1
  42. package/dist/api/TouchPan.json +1 -1
  43. package/dist/api/TouchRepeat.json +1 -1
  44. package/dist/api/TouchSwipe.json +1 -1
  45. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  46. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  47. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  48. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  49. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +6 -0
  50. package/dist/icon-set/fontawesome-v6.umd.prod.js +6 -0
  51. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  52. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  53. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  54. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  55. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  56. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  57. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  58. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  59. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  60. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  61. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +2 -2
  62. package/dist/icon-set/svg-eva-icons.umd.prod.js +2 -2
  63. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +2 -2
  64. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +6 -0
  65. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  66. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  67. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +2 -2
  68. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  69. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  70. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  71. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  72. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  73. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  74. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  75. package/dist/icon-set/svg-mdi-v6.umd.prod.js +2 -2
  76. package/dist/icon-set/svg-themify.umd.prod.js +2 -2
  77. package/dist/icon-set/themify.umd.prod.js +1 -1
  78. package/dist/lang/ar.umd.prod.js +1 -1
  79. package/dist/lang/az-Latn.umd.prod.js +1 -1
  80. package/dist/lang/bg.umd.prod.js +1 -1
  81. package/dist/lang/bn.umd.prod.js +1 -1
  82. package/dist/lang/ca.umd.prod.js +1 -1
  83. package/dist/lang/cs.umd.prod.js +1 -1
  84. package/dist/lang/da.umd.prod.js +1 -1
  85. package/dist/lang/de.umd.prod.js +1 -1
  86. package/dist/lang/el.umd.prod.js +1 -1
  87. package/dist/lang/en-GB.umd.prod.js +1 -1
  88. package/dist/lang/en-US.umd.prod.js +1 -1
  89. package/dist/lang/eo.umd.prod.js +1 -1
  90. package/dist/lang/es.umd.prod.js +1 -1
  91. package/dist/lang/et.umd.prod.js +1 -1
  92. package/dist/lang/eu.umd.prod.js +6 -0
  93. package/dist/lang/fa-IR.umd.prod.js +1 -1
  94. package/dist/lang/fa.umd.prod.js +1 -1
  95. package/dist/lang/fi.umd.prod.js +1 -1
  96. package/dist/lang/fr.umd.prod.js +1 -1
  97. package/dist/lang/gn.umd.prod.js +1 -1
  98. package/dist/lang/he.umd.prod.js +1 -1
  99. package/dist/lang/hr.umd.prod.js +1 -1
  100. package/dist/lang/hu.umd.prod.js +1 -1
  101. package/dist/lang/id.umd.prod.js +1 -1
  102. package/dist/lang/is.umd.prod.js +1 -1
  103. package/dist/lang/it.umd.prod.js +1 -1
  104. package/dist/lang/ja.umd.prod.js +1 -1
  105. package/dist/lang/km.umd.prod.js +1 -1
  106. package/dist/lang/ko-KR.umd.prod.js +1 -1
  107. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  108. package/dist/lang/kz.umd.prod.js +6 -0
  109. package/dist/lang/lt.umd.prod.js +1 -1
  110. package/dist/lang/lu.umd.prod.js +1 -1
  111. package/dist/lang/lv.umd.prod.js +1 -1
  112. package/dist/lang/ml.umd.prod.js +1 -1
  113. package/dist/lang/ms.umd.prod.js +1 -1
  114. package/dist/lang/my.umd.prod.js +1 -1
  115. package/dist/lang/nb-NO.umd.prod.js +1 -1
  116. package/dist/lang/nl.umd.prod.js +1 -1
  117. package/dist/lang/pl.umd.prod.js +1 -1
  118. package/dist/lang/pt-BR.umd.prod.js +1 -1
  119. package/dist/lang/pt.umd.prod.js +1 -1
  120. package/dist/lang/ro.umd.prod.js +1 -1
  121. package/dist/lang/ru.umd.prod.js +1 -1
  122. package/dist/lang/sk.umd.prod.js +1 -1
  123. package/dist/lang/sl.umd.prod.js +1 -1
  124. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  125. package/dist/lang/sr.umd.prod.js +1 -1
  126. package/dist/lang/sv.umd.prod.js +1 -1
  127. package/dist/lang/ta.umd.prod.js +1 -1
  128. package/dist/lang/th.umd.prod.js +1 -1
  129. package/dist/lang/tr.umd.prod.js +1 -1
  130. package/dist/lang/ug.umd.prod.js +2 -2
  131. package/dist/lang/uk.umd.prod.js +1 -1
  132. package/dist/lang/vi.umd.prod.js +1 -1
  133. package/dist/lang/zh-CN.umd.prod.js +1 -1
  134. package/dist/lang/zh-TW.umd.prod.js +1 -1
  135. package/dist/quasar.cjs.prod.js +2 -2
  136. package/dist/quasar.css +4 -6
  137. package/dist/quasar.esm.prod.js +2 -2
  138. package/dist/quasar.prod.css +1 -1
  139. package/dist/quasar.rtl.css +4 -6
  140. package/dist/quasar.rtl.prod.css +1 -1
  141. package/dist/quasar.sass +3 -1
  142. package/dist/quasar.umd.js +560 -505
  143. package/dist/quasar.umd.prod.js +2 -2
  144. package/dist/types/extras/icon-set.d.ts +3 -0
  145. package/dist/types/globals.d.ts +2 -2
  146. package/dist/types/index.d.ts +254 -136
  147. package/dist/vetur/quasar-attributes.json +50 -38
  148. package/dist/vetur/quasar-tags.json +3 -0
  149. package/dist/web-types/web-types.json +129 -93
  150. package/icon-set/fontawesome-v6-pro.js +128 -0
  151. package/icon-set/fontawesome-v6.js +128 -0
  152. package/icon-set/svg-fontawesome-v6.js +198 -0
  153. package/lang/eu.js +91 -0
  154. package/lang/index.json +8 -0
  155. package/lang/kz.js +95 -0
  156. package/lang/ug.js +49 -50
  157. package/package.json +1 -1
  158. package/src/api-file-example.json +2 -2
  159. package/src/api.extends.json +22 -33
  160. package/src/components/btn/QBtn.js +16 -14
  161. package/src/components/btn/QBtn.json +3 -6
  162. package/src/components/btn/use-btn.js +7 -7
  163. package/src/components/carousel/QCarousel.json +2 -4
  164. package/src/components/checkbox/use-checkbox.json +2 -4
  165. package/src/components/chip/QChip.json +1 -3
  166. package/src/components/date/QDate.js +20 -19
  167. package/src/components/date/use-datetime.js +3 -1
  168. package/src/components/dialog/QDialog.js +11 -11
  169. package/src/components/dialog-bottom-sheet/BottomSheet.js +11 -11
  170. package/src/components/dialog-plugin/DialogPlugin.js +9 -8
  171. package/src/components/editor/QEditor.js +10 -10
  172. package/src/components/editor/editor-utils.js +2 -2
  173. package/src/components/fab/QFabAction.json +1 -3
  174. package/src/components/field/QField.json +2 -6
  175. package/src/components/file/QFile.js +2 -1
  176. package/src/components/form/QForm.json +10 -7
  177. package/src/components/icon/QIcon.js +6 -2
  178. package/src/components/icon/QIcon.json +1 -3
  179. package/src/components/infinite-scroll/QInfiniteScroll.js +3 -1
  180. package/src/components/inner-loading/QInnerLoading.js +7 -7
  181. package/src/components/input/QInput.js +4 -1
  182. package/src/components/input/QInput.json +2 -6
  183. package/src/components/input/use-mask.js +2 -2
  184. package/src/components/knob/QKnob.js +51 -42
  185. package/src/components/knob/QKnob.json +22 -0
  186. package/src/components/linear-progress/QLinearProgress.sass +1 -0
  187. package/src/components/menu/QMenu.js +13 -13
  188. package/src/components/page-scroller/QPageScroller.js +4 -4
  189. package/src/components/pull-to-refresh/QPullToRefresh.js +5 -5
  190. package/src/components/radio/QRadio.json +2 -4
  191. package/src/components/select/QSelect.js +14 -7
  192. package/src/components/select/QSelect.json +14 -8
  193. package/src/components/slide-transition/QSlideTransition.js +4 -4
  194. package/src/components/slider/use-slider.js +4 -4
  195. package/src/components/slider/use-slider.json +1 -1
  196. package/src/components/stepper/QStep.js +6 -6
  197. package/src/components/stepper/QStep.json +3 -0
  198. package/src/components/stepper/QStepper.json +3 -0
  199. package/src/components/stepper/QStepper.sass +1 -0
  200. package/src/components/stepper/StepHeader.js +23 -8
  201. package/src/components/table/QTable.json +5 -13
  202. package/src/components/table/table-column-selection.js +6 -6
  203. package/src/components/table/table-sort.js +2 -2
  204. package/src/components/tabs/QRouteTab.json +2 -3
  205. package/src/components/tabs/QTabs.js +4 -4
  206. package/src/components/tabs/use-tab.js +11 -8
  207. package/src/components/time/QTime.js +5 -5
  208. package/src/components/tooltip/QTooltip.js +12 -12
  209. package/src/components/uploader/uploader-core.js +11 -10
  210. package/src/components/virtual-scroll/QVirtualScroll.js +3 -3
  211. package/src/components/virtual-scroll/use-virtual-scroll.js +20 -20
  212. package/src/composables/private/use-field.js +25 -17
  213. package/src/composables/private/use-file-dom-props.js +5 -5
  214. package/src/composables/private/use-file.js +15 -12
  215. package/src/composables/private/use-file.json +1 -3
  216. package/src/composables/private/use-router-link.js +3 -3
  217. package/src/directives/Morph.js +12 -3
  218. package/src/directives/TouchHold.json +2 -3
  219. package/src/directives/TouchPan.json +2 -3
  220. package/src/directives/TouchRepeat.json +2 -3
  221. package/src/directives/TouchSwipe.json +2 -3
  222. package/src/install-quasar.js +37 -36
  223. package/src/plugins/AddressbarColor.js +7 -7
  224. package/src/plugins/Cookies.js +5 -1
  225. package/src/plugins/Dialog.json +3 -2
  226. package/src/plugins/Loading.js +3 -2
  227. package/src/plugins/LoadingBar.js +12 -5
  228. package/src/plugins/Notify.js +11 -4
  229. package/src/plugins/Notify.json +102 -2
  230. package/src/utils/create-meta-mixin.js +4 -4
  231. package/src/utils/create-uploader-component.js +2 -1
  232. package/src/utils/event.js +3 -3
  233. package/src/utils/extend.js +6 -34
  234. package/src/utils/morph.js +19 -17
  235. package/src/utils/private/is.js +3 -14
  236. package/src/utils/private/noop-ssr-directive-transform.js +1 -1
  237. package/src/utils/private/web-storage.js +3 -2
  238. package/wrappers/index.js +33 -5
  239. package/wrappers/index.mjs +63 -0
  240. package/dist/ssr-directives/Morph.js +0 -55
  241. package/dist/ssr-directives/index.js +0 -14
  242. package/src/directives/Morph.ssr.js +0 -45
package/lang/ug.js CHANGED
@@ -1,40 +1,39 @@
1
- const days = 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split('_')
2
- const monthsShort = '1-ئاي_2-ئاي_3-ئاي_4-ئاي_5-ئاي_6-ئاي_7-ئاي_8-ئاي_9-ئاي_10-ئاي_11-ئاي_12-ئاي'.split('_')
1
+ const days = 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە_يەكشەنبە'.split('_')
3
2
 
4
3
  export default {
5
4
  isoName: 'ug',
6
5
  nativeName: 'ئۇيغۇرچە',
7
- rtl: true,
6
+ rtl: true,
8
7
  label: {
9
- clear: 'تازلاش',
10
- ok: 'جەزملەش',
11
- cancel: 'بىكار قىلىش',
8
+ clear: 'تازىلاش',
9
+ ok: 'ھەئە',
10
+ cancel: 'بولدىلا',
12
11
  close: 'تاقاش',
13
- set: 'تەڭشەك',
12
+ set: 'تەڭشەش',
14
13
  select: 'تاللاش',
15
14
  reset: 'ئەسلىگە قايتۇرۇش',
16
- remove: 'چىقىرۋىتىش',
17
- update: 'يېڭىلاش',
15
+ remove: 'چىقىرىۋېتىش',
16
+ update: 'نەشىر يېڭىلاش',
18
17
  create: 'قۇرۇش',
19
18
  search: 'ئىزدەش',
20
- filter: 'سۈزۈش',
19
+ filter: 'سۈزگۈچ',
21
20
  refresh: 'يېڭىلاش'
22
21
  },
23
22
  date: {
24
- days: days,
23
+ days,
25
24
  daysShort: 'ي_د_س_چ_پ_ج_ش'.split('_'),
26
- months: monthsShort,
27
- monthsShort: monthsShort,
28
- headerTitle: (date, model) => monthsShort[ model.month - 1 ] + 'نىڭ ' + model.day + '-كۈنى، ' + days[ date.getDay() ],
25
+ months: 'يانۋار(1)_فېۋرال(2)_مارت(3)_ئاپرىل(4)_ماي(5)_ئىيۇن(6)_ئىيۇل(7)_ئاۋغۇست (8)_سېنتەبىر(9)_ئۆكتەبىر(10)_نويابىر(11)_دېكابىر(12)'.split('_'),
26
+ monthsShort: '1-ئاي_2-ئاي_3-ئاي_4-ئاي_5-ئاي_6-ئاي_7-ئاي_8-ئاي_9-ئاي_10-ئاي_11-ئاي_12-ئاي'.split('_'),
29
27
  firstDayOfWeek: 1, // 0-6, 0 - Sunday, 1 Monday, ...
30
28
  format24h: false,
29
+ headerTitle: (date, model) => model.month + '-ئاينىڭ ' + model.day + '-كۈنى ، ' + days[ date.getDay() ],
31
30
  pluralDay: 'كۈن'
32
31
  },
33
32
  table: {
34
33
  noData: 'ئۇچۇر يوق',
35
34
  noResults: 'مۇناسىۋەتلىك ئۇچۇر تېپىلمىدى',
36
- loading: 'يۈكلىنىۋاتىدۇ...',
37
- selectedRecords: rows => rows + ' قۇر تاللاندى',
35
+ loading: 'يۈكلىنىۋاتىدۇ ...',
36
+ selectedRecords: rows => 'جەمئىي ' + rows + ' قۇر تاللاندى',
38
37
  recordsPerPage: 'ھەربەتتىكى قۇر سانى:',
39
38
  allRows: 'ھەممىسى',
40
39
  pagination: (start, end, total) => start + '-' + end + ' / ' + total,
@@ -42,51 +41,51 @@ export default {
42
41
  },
43
42
  editor: {
44
43
  url: 'URL',
45
- bold: 'Bold',
46
- italic: 'ئىتالىيان',
47
- strikethrough: 'Strikethrough',
44
+ bold: 'توم',
45
+ italic: 'يانتۇ',
46
+ strikethrough: 'جىجاش',
48
47
  underline: 'ئاستى سىزىق',
49
- unorderedList: 'تەرتىپسىز تىزىملىك',
50
- orderedList: 'زاكاز تىزىملىكى',
51
- subscript: 'مۇشتەرى',
52
- superscript: 'Superscript',
53
- hyperlink: 'Hyperlink',
54
- toggleFullscreen: 'تولۇق ئېكراننى ئالماشتۇرۇڭ',
48
+ unorderedList: 'تەرتىپسىز',
49
+ orderedList: 'تەرتىپلىك',
50
+ subscript: 'تۆۋەن ئىندېكىس',
51
+ superscript: 'يۇقىرى ئىندېكىس',
52
+ hyperlink: 'ئۇلانما',
53
+ toggleFullscreen: 'پۈتۈن ئېكران',
55
54
  quote: 'نەقىل',
56
- left: 'سول تەڭگە',
57
- center: 'Center align',
58
- right: 'ئوڭ توغرىلاش',
59
- justify: 'توغرىلاشنى توغرىلاڭ',
60
- print: 'بېسىش',
61
- outdent: 'تەۋەككۈلچىلىكنى ئازايتىش',
62
- indent: 'تەۋەككۈلچىلىكنى ئاشۇرۇش',
63
- removeFormat: 'فورماتنى ئۆچۈرۈڭ',
55
+ left: 'سولغا توغرىلاش',
56
+ center: 'ئوتتۇرىغا توغرىلاش',
57
+ right: 'ئوڭغا توغرىلاش',
58
+ justify: 'ئىككى يانغا توغرىلاش',
59
+ print: 'بېسىپ چىقىرىش',
60
+ outdent: 'كېڭەيتىش',
61
+ indent: 'تارايتىش',
62
+ removeFormat: 'فورماتىنى چىقىرىۋېتىش',
64
63
  formatting: 'فورماتلاش',
65
- fontSize: 'خەت چوڭلۇقى',
64
+ fontSize: 'خەت چوڭلىقى',
66
65
  align: 'توغرىلاش',
67
- hr: 'توغرىسىغا قائىدە قىستۇرۇش',
68
- undo: 'ئەمەلدىن قالدۇرۇش',
69
- redo: 'Redo',
70
- heading1: 'Heading 1',
71
- heading2: 'Heading 2',
72
- heading3: 'Heading 3',
73
- heading4: 'Heading 4',
74
- heading5: 'Heading 5',
75
- heading6: 'Heading 6',
66
+ hr: 'توغرا سىزىق',
67
+ undo: 'قايتۇرۇش',
68
+ redo: 'قايتىلاش',
69
+ heading1: 'تىما 1',
70
+ heading2: 'تىما 2',
71
+ heading3: 'تىما 3',
72
+ heading4: 'تىما 4',
73
+ heading5: 'تىما 5',
74
+ heading6: 'تىما 6',
76
75
  paragraph: 'ئابزاس',
77
76
  code: 'كود',
78
- size1: 'بەك كىچىك',
79
- size2: 'ئازراق كىچىك',
77
+ size1: 'كىچىك',
78
+ size2: 'كىچىكراق',
80
79
  size3: 'نورمال',
81
- size4: 'ئوتتۇراھال چوڭ',
80
+ size4: 'چوڭراق',
82
81
  size5: 'چوڭ',
83
- size6: 'بەك چوڭ',
82
+ size6: 'ئىنتايىن چوڭ',
84
83
  size7: 'ئەڭ چوڭ',
85
84
  defaultFont: 'كۆڭۈلدىكى خەت نۇسخىسى',
86
- viewSource: 'مەنبەنى كۆرۈش',
85
+ viewSource: 'مەنبەنى كۆرۈش'
87
86
  },
88
87
  tree: {
89
- noNodes: 'ئۇچۇر يوق',
90
- noResults: 'مۇناسىۋەتلىك ئۇچۇر تېپىلمىدى'
88
+ noNodes: 'تۈگۈن يوق',
89
+ noResults: 'ئۇچۇر يوق'
91
90
  }
92
91
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.5.3",
3
+ "version": "2.6.0",
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",
@@ -63,7 +63,7 @@
63
63
  "desc": "Emitted on QChip click if 'clickable' property is set",
64
64
  "params": {
65
65
  "evt": {
66
- "type": "Object",
66
+ "type": "Event",
67
67
  "desc": "JS event object"
68
68
  }
69
69
  }
@@ -83,7 +83,7 @@
83
83
  "hide": {
84
84
  "params": {
85
85
  "evt": {
86
- "type": "Object",
86
+ "type": "Event",
87
87
  "required": false,
88
88
  "desc": "JS event object"
89
89
  }
@@ -47,7 +47,7 @@
47
47
 
48
48
  "icon": {
49
49
  "type": "String",
50
- "desc": "Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix",
50
+ "desc": "Icon name following Quasar convention; Make sure you have the icon library installed unless you are using 'img:' prefix; If 'none' (String) is used as value then no icon is rendered (but screen real estate will still be used for it)",
51
51
  "examples": [
52
52
  "map",
53
53
  "ion-add",
@@ -139,6 +139,11 @@
139
139
  "default": true,
140
140
  "examples": [ false, "{ early: true, center: true, color: 'teal', keyCodes: [] }" ],
141
141
  "category": "style"
142
+ },
143
+
144
+ "evt": {
145
+ "type": "Event",
146
+ "desc": "JS event object"
142
147
  }
143
148
  },
144
149
 
@@ -165,10 +170,8 @@
165
170
  "desc": "Emitted after component has triggered show()",
166
171
  "params": {
167
172
  "evt": {
168
- "type": "Object",
169
- "desc": "JS event object",
170
- "required": true,
171
- "__exemption": [ "examples" ]
173
+ "extends": "evt",
174
+ "required": true
172
175
  }
173
176
  }
174
177
  },
@@ -177,10 +180,8 @@
177
180
  "desc": "Emitted when component triggers show() but before it finishes doing it",
178
181
  "params": {
179
182
  "evt": {
180
- "type": "Object",
181
- "desc": "JS event object",
182
- "required": true,
183
- "__exemption": [ "examples" ]
183
+ "extends": "evt",
184
+ "required": true
184
185
  }
185
186
  }
186
187
  },
@@ -193,10 +194,8 @@
193
194
  "desc": "Emitted after component has triggered hide()",
194
195
  "params": {
195
196
  "evt": {
196
- "type": "Object",
197
- "desc": "JS event object",
198
- "required": true,
199
- "__exemption": [ "examples" ]
197
+ "extends": "evt",
198
+ "required": true
200
199
  }
201
200
  }
202
201
  },
@@ -205,10 +204,8 @@
205
204
  "desc": "Emitted when component triggers hide() but before it finishes doing it",
206
205
  "params": {
207
206
  "evt": {
208
- "type": "Object",
209
- "desc": "JS event object",
210
- "required": true,
211
- "__exemption": [ "examples" ]
207
+ "extends": "evt",
208
+ "required": true
212
209
  }
213
210
  }
214
211
  },
@@ -221,10 +218,8 @@
221
218
  "desc": "Emitted when user clicks/taps on the component",
222
219
  "params": {
223
220
  "evt": {
224
- "type": "Object",
225
- "desc": "JS event object",
226
- "required": true,
227
- "__exemption": [ "examples" ]
221
+ "extends": "evt",
222
+ "required": true
228
223
  }
229
224
  }
230
225
  }
@@ -235,10 +230,8 @@
235
230
  "desc": "Triggers component to show",
236
231
  "params": {
237
232
  "evt": {
238
- "type": "Object",
239
- "required": false,
240
- "desc": "JS event object",
241
- "__exemption": [ "examples" ]
233
+ "extends": "evt",
234
+ "required": false
242
235
  }
243
236
  }
244
237
  },
@@ -247,10 +240,8 @@
247
240
  "desc": "Triggers component to hide",
248
241
  "params": {
249
242
  "evt": {
250
- "type": "Object",
251
- "required": false,
252
- "desc": "JS event object",
253
- "__exemption": [ "examples" ]
243
+ "extends": "evt",
244
+ "required": false
254
245
  }
255
246
  }
256
247
  },
@@ -258,10 +249,8 @@
258
249
  "toggle": {
259
250
  "params": {
260
251
  "evt": {
261
- "type": "Object",
262
- "required": false,
263
- "desc": "JS event object",
264
- "__exemption": [ "examples" ]
252
+ "extends": "evt",
253
+ "required": false
265
254
  }
266
255
  },
267
256
  "desc": "Triggers component to toggle between show/hide"
@@ -84,7 +84,7 @@ export default createComponent({
84
84
  onClick,
85
85
  onKeydown,
86
86
  onMousedown,
87
- onTouchstartPassive
87
+ onTouchstart
88
88
  }
89
89
  }
90
90
 
@@ -153,12 +153,12 @@ export default createComponent({
153
153
  // is it already destroyed?
154
154
  if (rootRef.value === null) { return }
155
155
 
156
- if (isKeyCode(e, [ 13, 32 ]) === true) {
157
- stopAndPrevent(e)
156
+ emit('keydown', e)
158
157
 
159
- if (keyboardTarget !== rootRef.value) {
160
- keyboardTarget !== null && cleanup()
158
+ if (isKeyCode(e, [ 13, 32 ]) === true && keyboardTarget !== rootRef.value) {
159
+ keyboardTarget !== null && cleanup()
161
160
 
161
+ if (e.defaultPrevented !== true) {
162
162
  // focus external button if the focus helper was focused before
163
163
  rootRef.value.focus()
164
164
 
@@ -167,15 +167,19 @@ export default createComponent({
167
167
  document.addEventListener('keyup', onPressEnd, true)
168
168
  rootRef.value.addEventListener('blur', onPressEnd, passiveCapture)
169
169
  }
170
- }
171
170
 
172
- emit('keydown', e)
171
+ stopAndPrevent(e)
172
+ }
173
173
  }
174
174
 
175
- function onTouchstartPassive (e) {
175
+ function onTouchstart (e) {
176
176
  // is it already destroyed?
177
177
  if (rootRef.value === null) { return }
178
178
 
179
+ emit('touchstart', e)
180
+
181
+ if (e.defaultPrevented === true) { return }
182
+
179
183
  if (touchTarget !== rootRef.value) {
180
184
  touchTarget !== null && cleanup()
181
185
  touchTarget = rootRef.value
@@ -192,23 +196,21 @@ export default createComponent({
192
196
  mouseTimer = setTimeout(() => {
193
197
  avoidMouseRipple = false
194
198
  }, 200)
195
-
196
- emit('touchstart', e)
197
199
  }
198
200
 
199
201
  function onMousedown (e) {
200
202
  // is it already destroyed?
201
203
  if (rootRef.value === null) { return }
202
204
 
203
- if (mouseTarget !== rootRef.value) {
205
+ e.qSkipRipple = avoidMouseRipple === true
206
+ emit('mousedown', e)
207
+
208
+ if (e.defaultPrevented !== true && mouseTarget !== rootRef.value) {
204
209
  mouseTarget !== null && cleanup()
205
210
  mouseTarget = rootRef.value
206
211
  rootRef.value.classList.add('q-btn--active')
207
212
  document.addEventListener('mouseup', onPressEnd, passiveCapture)
208
213
  }
209
-
210
- e.qSkipRipple = avoidMouseRipple === true
211
- emit('mousedown', e)
212
214
  }
213
215
 
214
216
  function onPressEnd (e) {
@@ -41,9 +41,7 @@
41
41
  "desc": "Emulate click on QBtn",
42
42
  "params": {
43
43
  "evt": {
44
- "type": "Object",
45
- "desc": "JS event object",
46
- "__exemption": [ "examples" ]
44
+ "extends": "evt"
47
45
  }
48
46
  }
49
47
  }
@@ -54,9 +52,8 @@
54
52
  "desc": "Emitted when component is clicked (activated)",
55
53
  "params": {
56
54
  "evt": {
57
- "type": "Object",
58
- "desc": "JS event object; If you want to cancel navigation set synchronously 'evt.navigate' to false",
59
- "__exemption": [ "examples" ]
55
+ "extends": "evt",
56
+ "desc": "JS event object; If you want to cancel navigation set synchronously 'evt.navigate' to false"
60
57
  },
61
58
  "navigateFn": {
62
59
  "type": "Function",
@@ -88,13 +88,13 @@ export default function (props) {
88
88
 
89
89
  return props.padding !== void 0
90
90
  ? Object.assign({}, obj, {
91
- padding: props.padding
92
- .split(/\s+/)
93
- .map(v => (v in padding ? padding[ v ] + 'px' : v))
94
- .join(' '),
95
- minWidth: '0',
96
- minHeight: '0'
97
- })
91
+ padding: props.padding
92
+ .split(/\s+/)
93
+ .map(v => (v in padding ? padding[ v ] + 'px' : v))
94
+ .join(' '),
95
+ minWidth: '0',
96
+ minHeight: '0'
97
+ })
98
98
  : obj
99
99
  })
100
100
 
@@ -144,10 +144,8 @@
144
144
  "desc": "Default trigger when clicked/tapped on",
145
145
  "params": {
146
146
  "evt": {
147
- "type": "Object",
148
- "desc": "JS event object",
149
- "required": true,
150
- "__exemption": [ "examples" ]
147
+ "extends": "evt",
148
+ "required": true
151
149
  }
152
150
  },
153
151
  "returns": null
@@ -122,10 +122,8 @@
122
122
  "__exemption": [ "examples" ]
123
123
  },
124
124
  "evt": {
125
- "type": "Object",
126
- "desc": "JS event object",
127
- "required": true,
128
- "__exemption": [ "examples" ]
125
+ "extends": "evt",
126
+ "required": true
129
127
  }
130
128
  }
131
129
  }
@@ -115,9 +115,7 @@
115
115
  "desc": "Emitted on QChip click if 'clickable' property is set",
116
116
  "params": {
117
117
  "evt": {
118
- "type": "Object",
119
- "desc": "JS event object",
120
- "__exemption": [ "examples" ]
118
+ "extends": "evt"
121
119
  }
122
120
  }
123
121
  },
@@ -12,6 +12,7 @@ import { hSlot } from '../../utils/private/render.js'
12
12
  import { formatDate, __splitDate, getDateDiff } from '../../utils/date.js'
13
13
  import { pad } from '../../utils/format.js'
14
14
  import { jalaaliMonthLength, toGregorian } from '../../utils/private/date-persian.js'
15
+ import { isObject } from '../../utils/private/is.js'
15
16
 
16
17
  const yearsInterval = 20
17
18
  const views = [ 'Calendar', 'Years', 'Months' ]
@@ -164,7 +165,7 @@ export default createComponent({
164
165
  const rangeModel = computed(() => {
165
166
  const fn = date => decodeString(date, innerMask.value, innerLocale.value)
166
167
  return normalizedModel.value
167
- .filter(date => Object(date) === date && date.from !== void 0 && date.to !== void 0)
168
+ .filter(date => isObject(date) === true && date.from !== void 0 && date.to !== void 0)
168
169
  .map(range => ({ from: fn(range.from), to: fn(range.to) }))
169
170
  .filter(range => range.from.dateHash !== null && range.to.dateHash !== null && range.from.dateHash < range.to.dateHash)
170
171
  })
@@ -1217,24 +1218,24 @@ export default createComponent({
1217
1218
  }, days.value.map(day => h('div', { class: day.classes }, [
1218
1219
  day.in === true
1219
1220
  ? h(
1220
- QBtn, {
1221
- class: day.today === true ? 'q-date__today' : '',
1222
- dense: true,
1223
- flat: day.flat,
1224
- unelevated: day.unelevated,
1225
- color: day.color,
1226
- textColor: day.textColor,
1227
- label: day.i,
1228
- tabindex: tabindex.value,
1229
- ...getCache('day#' + day.i, {
1230
- onClick: () => { onDayClick(day.i) },
1231
- onMouseover: () => { onDayMouseover(day.i) }
1232
- })
1233
- },
1234
- day.event !== false
1235
- ? () => h('div', { class: 'q-date__event bg-' + day.event })
1236
- : null
1237
- )
1221
+ QBtn, {
1222
+ class: day.today === true ? 'q-date__today' : '',
1223
+ dense: true,
1224
+ flat: day.flat,
1225
+ unelevated: day.unelevated,
1226
+ color: day.color,
1227
+ textColor: day.textColor,
1228
+ label: day.i,
1229
+ tabindex: tabindex.value,
1230
+ ...getCache('day#' + day.i, {
1231
+ onClick: () => { onDayClick(day.i) },
1232
+ onMouseover: () => { onDayMouseover(day.i) }
1233
+ })
1234
+ },
1235
+ day.event !== false
1236
+ ? () => h('div', { class: 'q-date__event bg-' + day.event })
1237
+ : null
1238
+ )
1238
1239
  : h('div', '' + day.i)
1239
1240
  ]))))
1240
1241
  ])
@@ -57,7 +57,9 @@ export default function (props, $q) {
57
57
  })
58
58
 
59
59
  function getLocale () {
60
- return props.locale || $q.lang.date
60
+ return props.locale !== void 0
61
+ ? { ...$q.lang.date, ...props.locale }
62
+ : $q.lang.date
61
63
  }
62
64
 
63
65
  function getCurrentDate (dateOnly) {
@@ -381,11 +381,11 @@ export default createComponent({
381
381
  }, () => (
382
382
  useBackdrop.value === true
383
383
  ? h('div', {
384
- class: 'q-dialog__backdrop fixed-full',
385
- style: transitionStyle.value,
386
- 'aria-hidden': 'true',
387
- onMousedown: onBackdropClick
388
- })
384
+ class: 'q-dialog__backdrop fixed-full',
385
+ style: transitionStyle.value,
386
+ 'aria-hidden': 'true',
387
+ onMousedown: onBackdropClick
388
+ })
389
389
  : null
390
390
  )),
391
391
 
@@ -395,12 +395,12 @@ export default createComponent({
395
395
  () => (
396
396
  showing.value === true
397
397
  ? h('div', {
398
- ref: innerRef,
399
- class: classes.value,
400
- style: transitionStyle.value,
401
- tabindex: -1,
402
- ...onEvents.value
403
- }, hSlot(slots.default))
398
+ ref: innerRef,
399
+ class: classes.value,
400
+ style: transitionStyle.value,
401
+ tabindex: -1,
402
+ ...onEvents.value
403
+ }, hSlot(slots.default))
404
404
  : null
405
405
  )
406
406
  )
@@ -61,9 +61,9 @@ export default createComponent({
61
61
 
62
62
  return action.label === void 0
63
63
  ? h(QSeparator, {
64
- class: 'col-all',
65
- dark: isDark.value
66
- })
64
+ class: 'col-all',
65
+ dark: isDark.value
66
+ })
67
67
  : h('div', {
68
68
  class: [
69
69
  'q-bottom-sheet__item q-hoverable q-focusable cursor-pointer relative-position',
@@ -80,9 +80,9 @@ export default createComponent({
80
80
  : (
81
81
  img
82
82
  ? h('img', {
83
- class: action.avatar ? 'q-bottom-sheet__avatar' : '',
84
- src: img
85
- })
83
+ class: action.avatar ? 'q-bottom-sheet__avatar' : '',
84
+ src: img
85
+ })
86
86
  : h('div', { class: 'q-bottom-sheet__empty-icon' })
87
87
  ),
88
88
 
@@ -114,9 +114,9 @@ export default createComponent({
114
114
  : (
115
115
  img
116
116
  ? h('img', {
117
- class: action.avatar ? 'q-bottom-sheet__avatar' : '',
118
- src: img
119
- })
117
+ class: action.avatar ? 'q-bottom-sheet__avatar' : '',
118
+ src: img
119
+ })
120
120
  : null
121
121
  )
122
122
  )
@@ -145,8 +145,8 @@ export default createComponent({
145
145
  child.push(
146
146
  props.grid === true
147
147
  ? h('div', {
148
- class: 'row items-stretch justify-start'
149
- }, getGrid())
148
+ class: 'row items-stretch justify-start'
149
+ }, getGrid())
150
150
  : h('div', getList())
151
151
  )
152
152