quasar 2.17.7 → 2.18.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 (289) hide show
  1. package/dist/api/QBtnDropdown.json +1 -1
  2. package/dist/api/QDialog.json +1 -1
  3. package/dist/api/QMenu.json +1 -1
  4. package/dist/api/QSelect.json +1 -1
  5. package/dist/api/QTable.json +1 -1
  6. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  7. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  8. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  11. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  12. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  13. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  14. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  18. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  20. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  21. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  25. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  26. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-fontawesome-v6.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-line-awesome.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  44. package/dist/icon-set/themify.umd.prod.js +1 -1
  45. package/dist/lang/ar-TN.umd.prod.js +2 -2
  46. package/dist/lang/ar.umd.prod.js +2 -2
  47. package/dist/lang/az-Latn.umd.prod.js +2 -2
  48. package/dist/lang/bg.umd.prod.js +2 -2
  49. package/dist/lang/bn.umd.prod.js +2 -2
  50. package/dist/lang/bs-BA.umd.prod.js +2 -2
  51. package/dist/lang/ca.umd.prod.js +2 -2
  52. package/dist/lang/cs.umd.prod.js +2 -2
  53. package/dist/lang/da.umd.prod.js +2 -2
  54. package/dist/lang/de-CH.umd.prod.js +2 -2
  55. package/dist/lang/de-DE.umd.prod.js +2 -2
  56. package/dist/lang/de.umd.prod.js +2 -2
  57. package/dist/lang/el.umd.prod.js +2 -2
  58. package/dist/lang/en-GB.umd.prod.js +2 -2
  59. package/dist/lang/en-US.umd.prod.js +2 -2
  60. package/dist/lang/eo.umd.prod.js +2 -2
  61. package/dist/lang/es.umd.prod.js +2 -2
  62. package/dist/lang/et.umd.prod.js +2 -2
  63. package/dist/lang/eu.umd.prod.js +2 -2
  64. package/dist/lang/fa-IR.umd.prod.js +2 -2
  65. package/dist/lang/fa.umd.prod.js +2 -2
  66. package/dist/lang/fi.umd.prod.js +2 -2
  67. package/dist/lang/fr.umd.prod.js +2 -2
  68. package/dist/lang/gn.umd.prod.js +2 -2
  69. package/dist/lang/he.umd.prod.js +2 -2
  70. package/dist/lang/hi.umd.prod.js +2 -2
  71. package/dist/lang/hr.umd.prod.js +2 -2
  72. package/dist/lang/hu.umd.prod.js +2 -2
  73. package/dist/lang/id.umd.prod.js +2 -2
  74. package/dist/lang/is.umd.prod.js +2 -2
  75. package/dist/lang/it.umd.prod.js +2 -2
  76. package/dist/lang/ja.umd.prod.js +2 -2
  77. package/dist/lang/kk.umd.prod.js +2 -2
  78. package/dist/lang/km.umd.prod.js +2 -2
  79. package/dist/lang/ko-KR.umd.prod.js +2 -2
  80. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  81. package/dist/lang/lt.umd.prod.js +2 -2
  82. package/dist/lang/lu.umd.prod.js +2 -2
  83. package/dist/lang/lv.umd.prod.js +2 -2
  84. package/dist/lang/mk.umd.prod.js +2 -2
  85. package/dist/lang/ml.umd.prod.js +2 -2
  86. package/dist/lang/mm.umd.prod.js +2 -2
  87. package/dist/lang/ms-MY.umd.prod.js +2 -2
  88. package/dist/lang/ms.umd.prod.js +2 -2
  89. package/dist/lang/my.umd.prod.js +2 -2
  90. package/dist/lang/nb-NO.umd.prod.js +2 -2
  91. package/dist/lang/nl.umd.prod.js +2 -2
  92. package/dist/lang/pl.umd.prod.js +2 -2
  93. package/dist/lang/pt-BR.umd.prod.js +2 -2
  94. package/dist/lang/pt.umd.prod.js +2 -2
  95. package/dist/lang/ro.umd.prod.js +2 -2
  96. package/dist/lang/ru.umd.prod.js +2 -2
  97. package/dist/lang/sk.umd.prod.js +2 -2
  98. package/dist/lang/sl.umd.prod.js +2 -2
  99. package/dist/lang/sm.umd.prod.js +2 -2
  100. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  101. package/dist/lang/sr.umd.prod.js +2 -2
  102. package/dist/lang/sv.umd.prod.js +2 -2
  103. package/dist/lang/ta.umd.prod.js +2 -2
  104. package/dist/lang/th.umd.prod.js +2 -2
  105. package/dist/lang/tl.umd.prod.js +2 -2
  106. package/dist/lang/tr.umd.prod.js +2 -2
  107. package/dist/lang/ug.umd.prod.js +1 -1
  108. package/dist/lang/uk.umd.prod.js +2 -2
  109. package/dist/lang/ur-PK.umd.prod.js +7 -0
  110. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  111. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  112. package/dist/lang/vi.umd.prod.js +2 -2
  113. package/dist/lang/zh-CN.umd.prod.js +2 -2
  114. package/dist/lang/zh-TW.umd.prod.js +2 -2
  115. package/dist/quasar.client.js +237 -174
  116. package/dist/quasar.css +1 -1
  117. package/dist/quasar.prod.css +1 -1
  118. package/dist/quasar.rtl.css +1 -1
  119. package/dist/quasar.rtl.prod.css +1 -1
  120. package/dist/quasar.sass +2 -2
  121. package/dist/quasar.server.prod.cjs +15 -15
  122. package/dist/quasar.server.prod.js +8 -8
  123. package/dist/quasar.umd.js +237 -174
  124. package/dist/quasar.umd.prod.js +15 -15
  125. package/dist/types/index.d.ts +52 -3
  126. package/dist/vetur/quasar-attributes.json +1 -1
  127. package/dist/vetur/quasar-tags.json +1 -1
  128. package/dist/web-types/web-types.json +1 -1
  129. package/lang/ar-TN.js +6 -0
  130. package/lang/ar.js +6 -0
  131. package/lang/az-Latn.js +6 -0
  132. package/lang/bg.js +6 -0
  133. package/lang/bn.js +6 -0
  134. package/lang/bs-BA.js +6 -0
  135. package/lang/ca.js +6 -0
  136. package/lang/cs.js +6 -0
  137. package/lang/da.js +6 -0
  138. package/lang/de-CH.js +6 -0
  139. package/lang/de-DE.js +6 -0
  140. package/lang/de.js +6 -0
  141. package/lang/el.js +6 -0
  142. package/lang/en-GB.js +6 -0
  143. package/lang/en-US.js +6 -0
  144. package/lang/eo.js +6 -0
  145. package/lang/es.js +6 -0
  146. package/lang/et.js +6 -0
  147. package/lang/eu.js +6 -0
  148. package/lang/fa-IR.js +6 -0
  149. package/lang/fa.js +6 -0
  150. package/lang/fi.js +6 -0
  151. package/lang/fr.js +6 -0
  152. package/lang/gn.js +6 -0
  153. package/lang/he.js +6 -0
  154. package/lang/hi.js +6 -0
  155. package/lang/hr.js +6 -0
  156. package/lang/hu.js +6 -0
  157. package/lang/id.js +6 -0
  158. package/lang/index.json +1 -1
  159. package/lang/is.js +6 -0
  160. package/lang/it.js +6 -0
  161. package/lang/ja.js +6 -0
  162. package/lang/kk.js +6 -0
  163. package/lang/km.js +6 -0
  164. package/lang/ko-KR.js +6 -0
  165. package/lang/kur-CKB.js +6 -0
  166. package/lang/lt.js +6 -0
  167. package/lang/lu.js +6 -0
  168. package/lang/lv.js +6 -0
  169. package/lang/mk.js +6 -0
  170. package/lang/ml.js +6 -0
  171. package/lang/mm.js +6 -0
  172. package/lang/ms-MY.js +6 -0
  173. package/lang/ms.js +6 -0
  174. package/lang/my.js +6 -0
  175. package/lang/nb-NO.js +6 -0
  176. package/lang/nl.js +6 -0
  177. package/lang/pl.js +6 -0
  178. package/lang/pt-BR.js +6 -0
  179. package/lang/pt.js +6 -0
  180. package/lang/ro.js +6 -0
  181. package/lang/ru.js +6 -0
  182. package/lang/sk.js +6 -0
  183. package/lang/sl.js +6 -0
  184. package/lang/sm.js +6 -0
  185. package/lang/sr-CYR.js +6 -0
  186. package/lang/sr.js +6 -0
  187. package/lang/sv.js +6 -0
  188. package/lang/ta.js +6 -0
  189. package/lang/th.js +6 -0
  190. package/lang/tl.js +6 -0
  191. package/lang/tr.js +6 -0
  192. package/lang/uk.js +6 -0
  193. package/lang/ur-PK.js +111 -0
  194. package/lang/uz-Cyrl.js +6 -0
  195. package/lang/uz-Latn.js +6 -0
  196. package/lang/vi.js +6 -0
  197. package/lang/zh-CN.js +6 -0
  198. package/lang/zh-TW.js +6 -0
  199. package/package.json +3 -3
  200. package/src/components/breadcrumbs/QBreadcrumbs.js +2 -2
  201. package/src/components/btn/QBtn.js +7 -8
  202. package/src/components/btn-dropdown/QBtnDropdown.js +10 -4
  203. package/src/components/btn-dropdown/QBtnDropdown.json +21 -0
  204. package/src/components/color/QColor.js +1 -1
  205. package/src/components/date/QDate.js +1 -1
  206. package/src/components/dialog/QDialog.js +2 -2
  207. package/src/components/dialog/QDialog.json +1 -1
  208. package/src/components/drawer/QDrawer.js +3 -5
  209. package/src/components/editor/QEditor.js +1 -1
  210. package/src/components/editor/editor-caret.js +1 -1
  211. package/src/components/editor/editor-utils.js +2 -2
  212. package/src/components/expansion-item/QExpansionItem.js +6 -3
  213. package/src/components/fab/QFab.js +2 -2
  214. package/src/components/form/QForm.js +2 -2
  215. package/src/components/form/QFormChildMixin.js +6 -4
  216. package/src/components/icon/QIcon.js +2 -2
  217. package/src/components/infinite-scroll/QInfiniteScroll.js +2 -4
  218. package/src/components/input/QInput.js +3 -3
  219. package/src/components/item/QItem.js +1 -1
  220. package/src/components/menu/QMenu.js +8 -5
  221. package/src/components/menu/QMenu.json +8 -1
  222. package/src/components/pagination/QPagination.js +8 -4
  223. package/src/components/parallax/QParallax.js +1 -1
  224. package/src/components/popup-edit/QPopupEdit.js +2 -2
  225. package/src/components/pull-to-refresh/QPullToRefresh.js +1 -1
  226. package/src/components/rating/QRating.sass +1 -1
  227. package/src/components/resize-observer/QResizeObserver.js +1 -1
  228. package/src/components/scroll-observer/QScrollObserver.js +2 -2
  229. package/src/components/select/QSelect.js +8 -6
  230. package/src/components/select/QSelect.json +1 -1
  231. package/src/components/slide-transition/QSlideTransition.js +2 -2
  232. package/src/components/stepper/StepHeader.js +1 -1
  233. package/src/components/table/QTable.js +77 -36
  234. package/src/components/table/QTable.json +98 -0
  235. package/src/components/table/QTr.js +4 -1
  236. package/src/components/table/table-sort.js +1 -1
  237. package/src/components/tabs/QTabs.js +2 -2
  238. package/src/components/tabs/use-tab.js +4 -4
  239. package/src/components/time/QTime.js +1 -1
  240. package/src/components/tree/QTree.js +2 -3
  241. package/src/components/virtual-scroll/use-virtual-scroll.js +3 -3
  242. package/src/composables/private.use-field/use-field.js +5 -5
  243. package/src/composables/private.use-file/use-file.js +6 -3
  244. package/src/composables/private.use-model-toggle/use-model-toggle.js +2 -2
  245. package/src/composables/private.use-refocus-target/use-refocus-target.js +6 -5
  246. package/src/composables/private.use-validate/use-validate.js +1 -1
  247. package/src/directives/intersection/Intersection.js +2 -2
  248. package/src/directives/morph/Morph.js +2 -2
  249. package/src/directives/mutation/Mutation.js +2 -2
  250. package/src/directives/touch-hold/TouchHold.js +2 -2
  251. package/src/directives/touch-pan/TouchPan.js +2 -2
  252. package/src/directives/touch-repeat/TouchRepeat.js +3 -3
  253. package/src/directives/touch-swipe/TouchSwipe.js +3 -3
  254. package/src/plugins/lang/Lang.test.js +12 -0
  255. package/src/plugins/loading/Loading.js +1 -1
  256. package/src/plugins/notify/Notify.js +1 -1
  257. package/src/plugins/private.body/Body.js +1 -1
  258. package/src/plugins/private.history/History.js +1 -1
  259. package/src/plugins/screen/Screen.js +1 -1
  260. package/src/utils/morph/morph.js +13 -10
  261. package/src/utils/open-url/open-url.js +3 -3
  262. package/src/utils/private.dialog/create-dialog.js +2 -2
  263. package/src/utils/private.portal/portal.js +1 -1
  264. package/src/components/date/__tests__/QDate.cy.js +0 -189
  265. package/src/components/date/__tests__/use-datetime.cy.js +0 -83
  266. package/src/components/editor/__tests__/QEditor.cy.js +0 -195
  267. package/src/components/field/__tests__/QField.cy.js +0 -156
  268. package/src/components/input/__tests__/QInput.cy.js +0 -786
  269. package/src/components/input/__tests__/use-mask.cy.js +0 -124
  270. package/src/components/menu/__tests__/QMenu.cy.js +0 -634
  271. package/src/components/menu/__tests__/WrapperOne.vue +0 -51
  272. package/src/components/menu/__tests__/WrapperTwo.vue +0 -38
  273. package/src/components/select/__tests__/QSelect.cy.js +0 -2018
  274. package/src/components/table/__tests__/QTable.cy.js +0 -635
  275. package/src/components/table/__tests__/QTd.cy.js +0 -35
  276. package/src/components/table/__tests__/QTh.cy.js +0 -27
  277. package/src/components/table/__tests__/QTr.cy.js +0 -27
  278. package/src/components/tabs/__tests__/QTab.cy.js +0 -79
  279. package/src/components/tabs/__tests__/QTabs.cy.js +0 -147
  280. package/src/components/uploader/__tests__/QUploader.cy.js +0 -191
  281. package/src/composables/__tests__/FieldWrapper.vue +0 -54
  282. package/src/composables/__tests__/use-anchor.cy.js +0 -98
  283. package/src/composables/__tests__/use-field.cy.js +0 -547
  284. package/src/composables/__tests__/use-file.cy.js +0 -69
  285. package/src/composables/__tests__/use-fullscreen.cy.js +0 -37
  286. package/src/composables/__tests__/use-model-toggle.cy.js +0 -350
  287. package/src/composables/__tests__/use-portal.cy.js +0 -4
  288. package/src/composables/__tests__/use-router-link.cy.js +0 -55
  289. package/src/composables/__tests__/use-validate.cy.js +0 -257
package/lang/my.js CHANGED
@@ -40,6 +40,12 @@ export default {
40
40
  pagination: (start, end, total) => start + '-' + end + ' / ' + total,
41
41
  columns: 'Senaraikan'
42
42
  },
43
+ pagination: {
44
+ first: 'Halaman pertama',
45
+ prev: 'Halaman sebelumnya',
46
+ next: 'Halaman seterusnya',
47
+ last: 'Halaman terakhir'
48
+ },
43
49
  editor: {
44
50
  url: 'URL',
45
51
  bold: 'berani',
package/lang/nb-NO.js CHANGED
@@ -42,6 +42,12 @@ export default {
42
42
  pagination: (start, end, total) => start + '-' + end + ' av ' + total,
43
43
  columns: 'Kolonner'
44
44
  },
45
+ pagination: {
46
+ first: 'Første side',
47
+ prev: 'Forrige side',
48
+ next: 'Neste side',
49
+ last: 'Siste side'
50
+ },
45
51
  editor: {
46
52
  url: 'URL',
47
53
  bold: 'Fet',
package/lang/nl.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' van ' + total,
42
42
  columns: 'Kolommen'
43
43
  },
44
+ pagination: {
45
+ first: 'Eerste pagina',
46
+ prev: 'Vorige pagina',
47
+ next: 'Volgende pagina',
48
+ last: 'Laatste pagina'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Vet',
package/lang/pl.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' z ' + total,
42
42
  columns: 'Kolumny'
43
43
  },
44
+ pagination: {
45
+ first: 'Pierwsza strona',
46
+ prev: 'Poprzednia strona',
47
+ next: 'Następna strona',
48
+ last: 'Ostatnia strona'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Pogrubienie',
package/lang/pt-BR.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' de ' + total,
42
42
  columns: 'Colunas'
43
43
  },
44
+ pagination: {
45
+ first: 'Primeira página',
46
+ prev: 'Página anterior',
47
+ next: 'Próxima página',
48
+ last: 'Última página'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Negrito',
package/lang/pt.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' de ' + total,
42
42
  columns: 'Colunas'
43
43
  },
44
+ pagination: {
45
+ first: 'Primeira página',
46
+ prev: 'Página anterior',
47
+ next: 'Próxima página',
48
+ last: 'Última página'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Negrito',
package/lang/ro.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' din ' + total,
42
42
  columns: 'Coloane'
43
43
  },
44
+ pagination: {
45
+ first: 'Prima pagină',
46
+ prev: 'Pagina anterioară',
47
+ next: 'Pagina următoare',
48
+ last: 'Ultima pagină'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Îngroșat',
package/lang/ru.js CHANGED
@@ -45,6 +45,12 @@ export default {
45
45
  pagination: (start, end, total) => start + '-' + end + ' из ' + total,
46
46
  columns: 'Колонки'
47
47
  },
48
+ pagination: {
49
+ first: 'Первая страница',
50
+ prev: 'Предыдущая страница',
51
+ next: 'Следующая страница',
52
+ last: 'Последняя страница'
53
+ },
48
54
  editor: {
49
55
  url: 'URL',
50
56
  bold: 'Полужирный',
package/lang/sk.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' z ' + total,
42
42
  columns: 'Stĺpce'
43
43
  },
44
+ pagination: {
45
+ first: 'Prvá stránka',
46
+ prev: 'Predchádzajúca stránka',
47
+ next: 'Ďalšia stránka',
48
+ last: 'Posledná stránka'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Tučné',
package/lang/sl.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' od ' + total,
42
42
  columns: 'Stolpci'
43
43
  },
44
+ pagination: {
45
+ first: 'Prva stran',
46
+ prev: 'Prejšnja stran',
47
+ next: 'Naslednja stran',
48
+ last: 'Zadnja stran'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Krepko',
package/lang/sm.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' o ' + total,
42
42
  columns: 'Poutū'
43
43
  },
44
+ pagination: {
45
+ first: 'Itulau muamua',
46
+ prev: 'Itulau muamua',
47
+ next: 'Isi Itulau',
48
+ last: 'Itulau mulimuli'
49
+ },
44
50
  editor: {
45
51
  url: 'Tuātusi initaneti',
46
52
  bold: 'Fa\'aolaola',
package/lang/sr-CYR.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' од ' + total,
42
42
  columns: 'Колоне'
43
43
  },
44
+ pagination: {
45
+ first: 'Прва страница',
46
+ prev: 'Претходна страница',
47
+ next: 'Следећа страница',
48
+ last: 'Последња страна'
49
+ },
44
50
  editor: {
45
51
  url: 'УРЛ',
46
52
  bold: 'Подебљано',
package/lang/sr.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' od ' + total,
42
42
  columns: 'Kolone'
43
43
  },
44
+ pagination: {
45
+ first: 'Prva stranica',
46
+ prev: 'Prethodna stranica',
47
+ next: 'Sledeća stranica',
48
+ last: 'Poslednja stranica'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Podebljano',
package/lang/sv.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' av ' + total,
42
42
  columns: 'Kolumner'
43
43
  },
44
+ pagination: {
45
+ first: 'Första sidan',
46
+ prev: 'Föregående sida',
47
+ next: 'Nästa sida',
48
+ last: 'Sista sidan'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Fet',
package/lang/ta.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' மொத்தம் ' + total,
42
42
  columns: 'பத்திகள்'
43
43
  },
44
+ pagination: {
45
+ first: 'முதல் பக்கம்',
46
+ prev: 'முந்தைய பக்கம்',
47
+ next: 'அடுத்த பக்கம்',
48
+ last: 'கடைசி பக்கம்'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'தடித்த',
package/lang/th.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' of ' + total,
42
42
  columns: 'คอลัมน์'
43
43
  },
44
+ pagination: {
45
+ first: 'หน้าแรก',
46
+ prev: 'หน้าก่อนหน้า',
47
+ next: 'หน้าถัดไป',
48
+ last: 'หน้าสุดท้าย'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'ตัวหนา',
package/lang/tl.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' ng ' + total,
42
42
  columns: 'Mga hanay'
43
43
  },
44
+ pagination: {
45
+ first: 'Unang pahina',
46
+ prev: 'Nakaraang pahina',
47
+ next: 'Susunod na pahina',
48
+ last: 'Huling pahina'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Matapang',
package/lang/tr.js CHANGED
@@ -37,6 +37,12 @@ export default {
37
37
  pagination: (start, end, total) => start + '-' + end + ' toplam ' + total,
38
38
  columns: 'Sütunlar'
39
39
  },
40
+ pagination: {
41
+ first: 'İlk sayfa',
42
+ prev: 'Önceki sayfa',
43
+ next: 'Sonraki Sayfa',
44
+ last: 'Son Sayfa'
45
+ },
40
46
  editor: {
41
47
  url: 'URL',
42
48
  bold: 'Kalın',
package/lang/uk.js CHANGED
@@ -45,6 +45,12 @@ export default {
45
45
  pagination: (start, end, total) => start + '-' + end + ' з ' + total,
46
46
  columns: 'Колонки'
47
47
  },
48
+ pagination: {
49
+ first: 'Перша сторінка',
50
+ prev: 'Попередня сторінка',
51
+ next: 'Наступна сторінка',
52
+ last: 'Остання сторінка'
53
+ },
48
54
  editor: {
49
55
  url: 'URL',
50
56
  bold: 'Напівжирний',
package/lang/ur-PK.js ADDED
@@ -0,0 +1,111 @@
1
+ const days = 'اتوار_پیر_منگل_بدھ_جمعرات_جمعہ_ہفتہ'.split('_')
2
+ const daysShort = 'ات_پیر_منگ_بدھ_جمعر_جمعہ_ہف'.split('_')
3
+ // You can refine abbreviations if needed; e.g.
4
+ // 'ات_پیر_من_بد_جم_جمع_ہف' or any shorter versions that make sense.
5
+
6
+ const months = 'جنوری_فروری_مارچ_اپریل_مئی_جون_جولائی_اگست_ستمبر_اکتوبر_نومبر_دسمبر'.split('_')
7
+ // Short forms below can also be adjusted if you prefer more concise abbreviations.
8
+ const monthsShort = 'جن._فر._مار._اپر._مئی_جون_جول._اگ._ستم._اکت._نوم._دسم.'.split('_')
9
+
10
+ export default {
11
+ isoName: 'ur-PK',
12
+ nativeName: 'اردو (پاکستان)',
13
+ rtl: true,
14
+ label: {
15
+ clear: 'صاف کریں',
16
+ ok: 'ٹھیک ہے',
17
+ cancel: 'منسوخ کریں',
18
+ close: 'بند کریں',
19
+ set: 'سیٹ کریں',
20
+ select: 'منتخب کریں',
21
+ reset: 'ری سیٹ کریں',
22
+ remove: 'ہٹا دیں',
23
+ update: 'اپ ڈیٹ کریں',
24
+ create: 'بنائیں',
25
+ search: 'تلاش کریں',
26
+ filter: 'فلٹر',
27
+ refresh: 'تازہ کریں',
28
+ expand: label => (label ? `"${ label }" کو وسیع کریں` : 'وسیع کریں'),
29
+ collapse: label => (label ? `"${ label }" کو سکیڑیں` : 'سکیڑیں')
30
+ },
31
+ date: {
32
+ days,
33
+ daysShort,
34
+ months,
35
+ monthsShort,
36
+ // Shown on the Quasar date picker’s title bar; you can adjust the format if needed
37
+ headerTitle: (date, model) =>
38
+ `${ days[ date.getDay() ] }، ${ model.day } ${ months[ model.month - 1 ] }`,
39
+ firstDayOfWeek: 0, // 0-6; 0 = اتوار, 1 = پیر, etc.
40
+ format24h: true,
41
+ pluralDay: 'دن'
42
+ },
43
+ table: {
44
+ noData: 'کوئی ڈیٹا دستیاب نہیں',
45
+ noResults: 'کوئی نتیجہ نہیں ملا',
46
+ loading: 'لوڈ ہو رہا ہے...',
47
+ selectedRecords: rows =>
48
+ rows === 0
49
+ ? 'کوئی ریکارڈ منتخب نہیں ہوا'
50
+ : `${ rows } ریکارڈ منتخب ہوئے`,
51
+ recordsPerPage: 'ریکارڈز فی صفحہ:',
52
+ allRows: 'سب',
53
+ pagination: (start, end, total) => `${ start }-${ end } / ${ total }`,
54
+ columns: 'کالم'
55
+ },
56
+ pagination: {
57
+ first: 'لومړی مخ',
58
+ prev: 'مخکینۍ پاڼه',
59
+ next: 'بل مخ',
60
+ last: 'وروستۍ پاڼه'
61
+ },
62
+ editor: {
63
+ url: 'یو آر ایل',
64
+ bold: 'موٹا',
65
+ italic: 'ترچھا',
66
+ strikethrough: 'کاٹا ہوا',
67
+ underline: 'انڈر لائن',
68
+ unorderedList: 'غیر ترتیب شدہ فہرست',
69
+ orderedList: 'ترتیب شدہ فہرست',
70
+ subscript: 'ذیلی',
71
+ superscript: 'بالائی',
72
+ hyperlink: 'ہائپر لنک',
73
+ toggleFullscreen: 'مکمل اسکرین',
74
+ quote: 'اقتباس',
75
+ left: 'بائیں جانب',
76
+ center: 'درمیان میں',
77
+ right: 'دائیں جانب',
78
+ justify: 'برابر پھیلائیں',
79
+ print: 'پرنٹ کریں',
80
+ outdent: 'انڈینٹ کم کریں',
81
+ indent: 'انڈینٹ زیادہ کریں',
82
+ removeFormat: 'فارمیٹنگ ختم کریں',
83
+ formatting: 'فارمیٹنگ',
84
+ fontSize: 'فونٹ سائز',
85
+ align: 'سیدھ کریں',
86
+ hr: 'افقی لکیر داخل کریں',
87
+ undo: 'پچھلا قدم',
88
+ redo: 'دوبارہ کریں',
89
+ heading1: 'سرخی 1',
90
+ heading2: 'سرخی 2',
91
+ heading3: 'سرخی 3',
92
+ heading4: 'سرخی 4',
93
+ heading5: 'سرخی 5',
94
+ heading6: 'سرخی 6',
95
+ paragraph: 'پیراگراف',
96
+ code: 'کوڈ',
97
+ size1: 'بہت چھوٹا',
98
+ size2: 'چھوٹا',
99
+ size3: 'معمولی',
100
+ size4: 'درمیانہ',
101
+ size5: 'بڑا',
102
+ size6: 'بہت بڑا',
103
+ size7: 'سب سے بڑا',
104
+ defaultFont: 'طے شدہ فونٹ',
105
+ viewSource: 'ماخذ دیکھیں'
106
+ },
107
+ tree: {
108
+ noNodes: 'کوئی نوڈ دستیاب نہیں',
109
+ noResults: 'کوئی نوڈ نہیں ملا'
110
+ }
111
+ }
package/lang/uz-Cyrl.js CHANGED
@@ -43,6 +43,12 @@ export default {
43
43
  pagination: (start, end, total) => start + '-' + end + ' жами ' + total,
44
44
  columns: 'Устунлар'
45
45
  },
46
+ pagination: {
47
+ first: 'Биринчи саҳифа',
48
+ prev: 'Олдинги саҳифа',
49
+ next: 'Кейинги саҳифа',
50
+ last: 'Сўнгги саҳифа'
51
+ },
46
52
  editor: {
47
53
  url: 'УРЛ',
48
54
  bold: 'Қалин',
package/lang/uz-Latn.js CHANGED
@@ -47,6 +47,12 @@ export default {
47
47
  pagination: (start, end, total) => start + '-' + end + ' jami ' + total,
48
48
  columns: 'Ustunlar'
49
49
  },
50
+ pagination: {
51
+ first: 'Birinchi sahifa',
52
+ prev: 'Oldingi sahifa',
53
+ next: 'Keyingi sahifa',
54
+ last: 'So\'nggi sahifa'
55
+ },
50
56
  editor: {
51
57
  url: 'URL',
52
58
  bold: 'Qalin',
package/lang/vi.js CHANGED
@@ -41,6 +41,12 @@ export default {
41
41
  pagination: (start, end, total) => start + '-' + end + ' của ' + total,
42
42
  columns: 'Cột'
43
43
  },
44
+ pagination: {
45
+ first: 'Trang đầu tiên',
46
+ prev: 'Trang trước',
47
+ next: 'Trang tiếp theo',
48
+ last: 'Trang cuối cùng'
49
+ },
44
50
  editor: {
45
51
  url: 'URL',
46
52
  bold: 'Đậm',
package/lang/zh-CN.js CHANGED
@@ -40,6 +40,12 @@ export default {
40
40
  pagination: (start, end, total) => start + '-' + end + ' / ' + total,
41
41
  columns: '列'
42
42
  },
43
+ pagination: {
44
+ first: '第一页',
45
+ prev: '上一页',
46
+ next: '下一页',
47
+ last: '最后一页'
48
+ },
43
49
  editor: {
44
50
  url: 'URL',
45
51
  bold: '粗体',
package/lang/zh-TW.js CHANGED
@@ -40,6 +40,12 @@ export default {
40
40
  pagination: (start, end, total) => start + '-' + end + ' 列,共 ' + total + ' 列',
41
41
  columns: '欄位'
42
42
  },
43
+ pagination: {
44
+ first: '首頁',
45
+ prev: '上一頁',
46
+ next: '下一頁',
47
+ last: '最後一頁'
48
+ },
43
49
  editor: {
44
50
  url: '網址',
45
51
  bold: '粗體',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "quasar",
3
- "version": "2.17.7",
3
+ "version": "2.18.0",
4
4
  "description": "Build high-performance VueJS user interfaces (SPA, PWA, SSR, Mobile and Desktop) in record time",
5
5
  "type": "module",
6
6
  "module": "dist/quasar.client.js",
@@ -64,7 +64,7 @@
64
64
  "cross-env": "^7.0.3",
65
65
  "cssnano": "^7.0.6",
66
66
  "diff": "^5.2.0",
67
- "esbuild": "^0.24.0",
67
+ "esbuild": "^0.25.0",
68
68
  "eslint": "^8.57.1",
69
69
  "fs-extra": "^11.2.0",
70
70
  "kolorist": "^1.8.0",
@@ -76,7 +76,7 @@
76
76
  "tinyglobby": "^0.2.10",
77
77
  "typescript": "^5.6.2",
78
78
  "vue": "^3.5.5",
79
- "@quasar/extras": "1.16.15",
79
+ "@quasar/extras": "1.16.17",
80
80
  "eslint-config-quasar": "0.0.1"
81
81
  },
82
82
  "vetur": {
@@ -55,13 +55,13 @@ export default createComponent({
55
55
 
56
56
  const
57
57
  child = [],
58
- len = vnodes.filter(c => c.type !== void 0 && c.type.name === 'QBreadcrumbsEl').length,
58
+ len = vnodes.filter(c => c.type?.name === 'QBreadcrumbsEl').length,
59
59
  separator = slots.separator !== void 0
60
60
  ? slots.separator
61
61
  : () => props.separator
62
62
 
63
63
  vnodes.forEach(comp => {
64
- if (comp.type !== void 0 && comp.type.name === 'QBreadcrumbsEl') {
64
+ if (comp.type?.name === 'QBreadcrumbsEl') {
65
65
  const middle = els < len
66
66
  const disabled = comp.props !== null && disabledValues.includes(comp.props.disable)
67
67
  const cls = (middle === true ? '' : ' q-breadcrumbs--last')
@@ -130,12 +130,12 @@ export default createComponent({
130
130
  // required for iOS and desktop Safari
131
131
  && el.contains(rootRef.value) === false
132
132
  ) {
133
- rootRef.value.focus()
133
+ e.qAvoidFocus !== true && rootRef.value.focus()
134
134
 
135
135
  const onClickCleanup = () => {
136
136
  document.removeEventListener('keydown', stopAndPrevent, true)
137
137
  document.removeEventListener('keyup', onClickCleanup, passiveCapture)
138
- rootRef.value !== null && rootRef.value.removeEventListener('blur', onClickCleanup, passiveCapture)
138
+ rootRef.value?.removeEventListener('blur', onClickCleanup, passiveCapture)
139
139
  }
140
140
 
141
141
  document.addEventListener('keydown', stopAndPrevent, true)
@@ -158,7 +158,7 @@ export default createComponent({
158
158
 
159
159
  if (e.defaultPrevented !== true) {
160
160
  // focus external button if the focus helper was focused before
161
- rootRef.value.focus()
161
+ e.qAvoidFocus !== true && rootRef.value.focus()
162
162
 
163
163
  keyboardTarget = rootRef.value
164
164
  rootRef.value.classList.add('q-btn--active')
@@ -218,12 +218,11 @@ export default createComponent({
218
218
 
219
219
  // needed for IE (because it emits blur when focusing button from focus helper)
220
220
  if (
221
- e !== void 0
222
- && e.type === 'blur'
221
+ e?.type === 'blur'
223
222
  && document.activeElement === rootRef.value
224
223
  ) return
225
224
 
226
- if (e !== void 0 && e.type === 'keyup') {
225
+ if (e?.type === 'keyup') {
227
226
  if (keyboardTarget === rootRef.value && isKeyCode(e, [ 13, 32 ]) === true) {
228
227
  // for click trigger
229
228
  const evt = new MouseEvent('click', e)
@@ -272,11 +271,11 @@ export default createComponent({
272
271
 
273
272
  if (keyboardTarget === rootRef.value) {
274
273
  document.removeEventListener('keyup', onPressEnd, true)
275
- rootRef.value !== null && rootRef.value.removeEventListener('blur', onPressEnd, passiveCapture)
274
+ rootRef.value?.removeEventListener('blur', onPressEnd, passiveCapture)
276
275
  keyboardTarget = null
277
276
  }
278
277
 
279
- rootRef.value !== null && rootRef.value.classList.remove('q-btn--active')
278
+ rootRef.value?.classList.remove('q-btn--active')
280
279
  }
281
280
 
282
281
  function onLoadingEvt (evt) {
@@ -41,8 +41,11 @@ export default createComponent({
41
41
 
42
42
  cover: Boolean,
43
43
  persistent: Boolean,
44
+ noEscDismiss: Boolean,
44
45
  noRouteDismiss: Boolean,
45
46
  autoClose: Boolean,
47
+ noRefocus: Boolean,
48
+ noFocus: Boolean,
46
49
 
47
50
  menuAnchor: {
48
51
  type: String,
@@ -102,7 +105,7 @@ export default createComponent({
102
105
  const btnProps = computed(() => passBtnProps(props))
103
106
 
104
107
  watch(() => props.modelValue, val => {
105
- menuRef.value !== null && menuRef.value[ val ? 'show' : 'hide' ]()
108
+ menuRef.value?.[ val ? 'show' : 'hide' ]()
106
109
  })
107
110
 
108
111
  watch(() => props.split, hide)
@@ -138,15 +141,15 @@ export default createComponent({
138
141
  }
139
142
 
140
143
  function toggle (evt) {
141
- menuRef.value !== null && menuRef.value.toggle(evt)
144
+ menuRef.value?.toggle(evt)
142
145
  }
143
146
 
144
147
  function show (evt) {
145
- menuRef.value !== null && menuRef.value.show(evt)
148
+ menuRef.value?.show(evt)
146
149
  }
147
150
 
148
151
  function hide (evt) {
149
- menuRef.value !== null && menuRef.value.hide(evt)
152
+ menuRef.value?.hide(evt)
150
153
  }
151
154
 
152
155
  // expose public methods
@@ -175,8 +178,11 @@ export default createComponent({
175
178
  cover: props.cover,
176
179
  fit: true,
177
180
  persistent: props.persistent,
181
+ noEscDismiss: props.noEscDismiss,
178
182
  noRouteDismiss: props.noRouteDismiss,
179
183
  autoClose: props.autoClose,
184
+ noFocus: props.noFocus,
185
+ noRefocus: props.noRefocus,
180
186
  anchor: props.menuAnchor,
181
187
  self: props.menuSelf,
182
188
  offset: props.menuOffset,
@@ -73,6 +73,13 @@
73
73
  "category": "behavior"
74
74
  },
75
75
 
76
+ "no-esc-dismiss": {
77
+ "type": "Boolean",
78
+ "desc": "User cannot dismiss the popup by hitting ESC key; No need to set it if 'persistent' prop is also set",
79
+ "category": "behavior",
80
+ "addedIn": "v2.18"
81
+ },
82
+
76
83
  "no-route-dismiss": {
77
84
  "type": "Boolean",
78
85
  "desc": "Changing route app won't dismiss the popup; No need to set it if 'persistent' prop is also set",
@@ -85,6 +92,20 @@
85
92
  "category": "behavior"
86
93
  },
87
94
 
95
+ "no-refocus": {
96
+ "type": "Boolean",
97
+ "desc": "(Accessibility) When the dropdown gets hidden, do not refocus on the DOM element that previously had focus",
98
+ "category": "behavior",
99
+ "addedIn": "v2.18"
100
+ },
101
+
102
+ "no-focus": {
103
+ "type": "Boolean",
104
+ "desc": "(Accessibility) When the dropdown gets shown, do not switch focus on it",
105
+ "category": "behavior",
106
+ "addedIn": "v2.18"
107
+ },
108
+
88
109
  "menu-anchor": {
89
110
  "type": "String",
90
111
  "desc": "Two values setting the starting position or anchor point of the menu relative to its target",
@@ -340,7 +340,7 @@ export default createComponent({
340
340
 
341
341
  updateModel(rgb, change)
342
342
 
343
- if (evt !== void 0 && change !== true && evt.target.selectionEnd !== void 0) {
343
+ if (change !== true && evt?.target.selectionEnd !== void 0) {
344
344
  const index = evt.target.selectionEnd
345
345
  nextTick(() => {
346
346
  evt.target.setSelectionRange(index, index)
@@ -906,7 +906,7 @@ export default createComponent({
906
906
 
907
907
  function toggleDate (date, monthHash) {
908
908
  const month = daysMap.value[ monthHash ]
909
- const fn = month !== void 0 && month.includes(date.day) === true
909
+ const fn = month?.includes(date.day) === true
910
910
  ? removeFromModel
911
911
  : addToModel
912
912