quasar 2.17.6 → 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 (291) 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/QOptionGroup.json +1 -1
  5. package/dist/api/QSelect.json +1 -1
  6. package/dist/api/QTable.json +1 -1
  7. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  8. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  9. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  10. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  11. package/dist/icon-set/fontawesome-v6-pro.umd.prod.js +1 -1
  12. package/dist/icon-set/fontawesome-v6.umd.prod.js +1 -1
  13. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  14. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  15. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  16. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  17. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  18. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  19. package/dist/icon-set/material-symbols-outlined.umd.prod.js +1 -1
  20. package/dist/icon-set/material-symbols-rounded.umd.prod.js +1 -1
  21. package/dist/icon-set/material-symbols-sharp.umd.prod.js +1 -1
  22. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  23. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  24. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  25. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  26. package/dist/icon-set/mdi-v7.umd.prod.js +1 -1
  27. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  30. package/dist/icon-set/svg-fontawesome-v6.umd.prod.js +1 -1
  31. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  33. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  34. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  35. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  36. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  37. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  38. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  39. package/dist/icon-set/svg-material-symbols-outlined.umd.prod.js +1 -1
  40. package/dist/icon-set/svg-material-symbols-rounded.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-material-symbols-sharp.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-mdi-v7.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  45. package/dist/icon-set/themify.umd.prod.js +1 -1
  46. package/dist/lang/ar-TN.umd.prod.js +2 -2
  47. package/dist/lang/ar.umd.prod.js +2 -2
  48. package/dist/lang/az-Latn.umd.prod.js +2 -2
  49. package/dist/lang/bg.umd.prod.js +2 -2
  50. package/dist/lang/bn.umd.prod.js +2 -2
  51. package/dist/lang/bs-BA.umd.prod.js +2 -2
  52. package/dist/lang/ca.umd.prod.js +2 -2
  53. package/dist/lang/cs.umd.prod.js +2 -2
  54. package/dist/lang/da.umd.prod.js +2 -2
  55. package/dist/lang/de-CH.umd.prod.js +2 -2
  56. package/dist/lang/de-DE.umd.prod.js +2 -2
  57. package/dist/lang/de.umd.prod.js +2 -2
  58. package/dist/lang/el.umd.prod.js +2 -2
  59. package/dist/lang/en-GB.umd.prod.js +2 -2
  60. package/dist/lang/en-US.umd.prod.js +2 -2
  61. package/dist/lang/eo.umd.prod.js +2 -2
  62. package/dist/lang/es.umd.prod.js +2 -2
  63. package/dist/lang/et.umd.prod.js +2 -2
  64. package/dist/lang/eu.umd.prod.js +2 -2
  65. package/dist/lang/fa-IR.umd.prod.js +2 -2
  66. package/dist/lang/fa.umd.prod.js +2 -2
  67. package/dist/lang/fi.umd.prod.js +2 -2
  68. package/dist/lang/fr.umd.prod.js +2 -2
  69. package/dist/lang/gn.umd.prod.js +2 -2
  70. package/dist/lang/he.umd.prod.js +2 -2
  71. package/dist/lang/hi.umd.prod.js +2 -2
  72. package/dist/lang/hr.umd.prod.js +2 -2
  73. package/dist/lang/hu.umd.prod.js +2 -2
  74. package/dist/lang/id.umd.prod.js +2 -2
  75. package/dist/lang/is.umd.prod.js +2 -2
  76. package/dist/lang/it.umd.prod.js +2 -2
  77. package/dist/lang/ja.umd.prod.js +2 -2
  78. package/dist/lang/kk.umd.prod.js +2 -2
  79. package/dist/lang/km.umd.prod.js +2 -2
  80. package/dist/lang/ko-KR.umd.prod.js +2 -2
  81. package/dist/lang/kur-CKB.umd.prod.js +2 -2
  82. package/dist/lang/lt.umd.prod.js +2 -2
  83. package/dist/lang/lu.umd.prod.js +2 -2
  84. package/dist/lang/lv.umd.prod.js +2 -2
  85. package/dist/lang/mk.umd.prod.js +2 -2
  86. package/dist/lang/ml.umd.prod.js +2 -2
  87. package/dist/lang/mm.umd.prod.js +2 -2
  88. package/dist/lang/ms-MY.umd.prod.js +2 -2
  89. package/dist/lang/ms.umd.prod.js +2 -2
  90. package/dist/lang/my.umd.prod.js +2 -2
  91. package/dist/lang/nb-NO.umd.prod.js +2 -2
  92. package/dist/lang/nl.umd.prod.js +2 -2
  93. package/dist/lang/pl.umd.prod.js +2 -2
  94. package/dist/lang/pt-BR.umd.prod.js +2 -2
  95. package/dist/lang/pt.umd.prod.js +2 -2
  96. package/dist/lang/ro.umd.prod.js +2 -2
  97. package/dist/lang/ru.umd.prod.js +2 -2
  98. package/dist/lang/sk.umd.prod.js +2 -2
  99. package/dist/lang/sl.umd.prod.js +2 -2
  100. package/dist/lang/sm.umd.prod.js +2 -2
  101. package/dist/lang/sr-CYR.umd.prod.js +2 -2
  102. package/dist/lang/sr.umd.prod.js +2 -2
  103. package/dist/lang/sv.umd.prod.js +2 -2
  104. package/dist/lang/ta.umd.prod.js +2 -2
  105. package/dist/lang/th.umd.prod.js +2 -2
  106. package/dist/lang/tl.umd.prod.js +2 -2
  107. package/dist/lang/tr.umd.prod.js +2 -2
  108. package/dist/lang/ug.umd.prod.js +1 -1
  109. package/dist/lang/uk.umd.prod.js +2 -2
  110. package/dist/lang/ur-PK.umd.prod.js +7 -0
  111. package/dist/lang/uz-Cyrl.umd.prod.js +2 -2
  112. package/dist/lang/uz-Latn.umd.prod.js +2 -2
  113. package/dist/lang/vi.umd.prod.js +2 -2
  114. package/dist/lang/zh-CN.umd.prod.js +2 -2
  115. package/dist/lang/zh-TW.umd.prod.js +2 -2
  116. package/dist/quasar.client.js +252 -179
  117. package/dist/quasar.css +1 -1
  118. package/dist/quasar.prod.css +1 -1
  119. package/dist/quasar.rtl.css +1 -1
  120. package/dist/quasar.rtl.prod.css +1 -1
  121. package/dist/quasar.sass +2 -2
  122. package/dist/quasar.server.prod.cjs +36 -36
  123. package/dist/quasar.server.prod.js +37 -37
  124. package/dist/quasar.umd.js +252 -179
  125. package/dist/quasar.umd.prod.js +42 -42
  126. package/dist/types/index.d.ts +86 -17
  127. package/dist/vetur/quasar-attributes.json +1 -1
  128. package/dist/vetur/quasar-tags.json +1 -1
  129. package/dist/web-types/web-types.json +1 -1
  130. package/lang/ar-TN.js +6 -0
  131. package/lang/ar.js +6 -0
  132. package/lang/az-Latn.js +6 -0
  133. package/lang/bg.js +6 -0
  134. package/lang/bn.js +6 -0
  135. package/lang/bs-BA.js +6 -0
  136. package/lang/ca.js +6 -0
  137. package/lang/cs.js +6 -0
  138. package/lang/da.js +6 -0
  139. package/lang/de-CH.js +6 -0
  140. package/lang/de-DE.js +6 -0
  141. package/lang/de.js +6 -0
  142. package/lang/el.js +6 -0
  143. package/lang/en-GB.js +6 -0
  144. package/lang/en-US.js +6 -0
  145. package/lang/eo.js +6 -0
  146. package/lang/es.js +6 -0
  147. package/lang/et.js +6 -0
  148. package/lang/eu.js +6 -0
  149. package/lang/fa-IR.js +6 -0
  150. package/lang/fa.js +6 -0
  151. package/lang/fi.js +6 -0
  152. package/lang/fr.js +6 -0
  153. package/lang/gn.js +6 -0
  154. package/lang/he.js +6 -0
  155. package/lang/hi.js +6 -0
  156. package/lang/hr.js +6 -0
  157. package/lang/hu.js +6 -0
  158. package/lang/id.js +6 -0
  159. package/lang/index.json +1 -1
  160. package/lang/is.js +6 -0
  161. package/lang/it.js +6 -0
  162. package/lang/ja.js +6 -0
  163. package/lang/kk.js +6 -0
  164. package/lang/km.js +6 -0
  165. package/lang/ko-KR.js +6 -0
  166. package/lang/kur-CKB.js +6 -0
  167. package/lang/lt.js +6 -0
  168. package/lang/lu.js +6 -0
  169. package/lang/lv.js +6 -0
  170. package/lang/mk.js +6 -0
  171. package/lang/ml.js +6 -0
  172. package/lang/mm.js +6 -0
  173. package/lang/ms-MY.js +6 -0
  174. package/lang/ms.js +6 -0
  175. package/lang/my.js +6 -0
  176. package/lang/nb-NO.js +6 -0
  177. package/lang/nl.js +6 -0
  178. package/lang/pl.js +6 -0
  179. package/lang/pt-BR.js +6 -0
  180. package/lang/pt.js +6 -0
  181. package/lang/ro.js +6 -0
  182. package/lang/ru.js +6 -0
  183. package/lang/sk.js +6 -0
  184. package/lang/sl.js +6 -0
  185. package/lang/sm.js +6 -0
  186. package/lang/sr-CYR.js +6 -0
  187. package/lang/sr.js +6 -0
  188. package/lang/sv.js +6 -0
  189. package/lang/ta.js +6 -0
  190. package/lang/th.js +6 -0
  191. package/lang/tl.js +6 -0
  192. package/lang/tr.js +6 -0
  193. package/lang/uk.js +6 -0
  194. package/lang/ur-PK.js +111 -0
  195. package/lang/uz-Cyrl.js +6 -0
  196. package/lang/uz-Latn.js +6 -0
  197. package/lang/vi.js +6 -0
  198. package/lang/zh-CN.js +6 -0
  199. package/lang/zh-TW.js +6 -0
  200. package/package.json +4 -4
  201. package/src/components/breadcrumbs/QBreadcrumbs.js +2 -2
  202. package/src/components/btn/QBtn.js +7 -8
  203. package/src/components/btn-dropdown/QBtnDropdown.js +10 -4
  204. package/src/components/btn-dropdown/QBtnDropdown.json +21 -0
  205. package/src/components/color/QColor.js +1 -1
  206. package/src/components/date/QDate.js +14 -7
  207. package/src/components/dialog/QDialog.js +2 -2
  208. package/src/components/dialog/QDialog.json +1 -1
  209. package/src/components/drawer/QDrawer.js +3 -5
  210. package/src/components/editor/QEditor.js +1 -1
  211. package/src/components/editor/editor-caret.js +1 -1
  212. package/src/components/editor/editor-utils.js +2 -2
  213. package/src/components/expansion-item/QExpansionItem.js +6 -3
  214. package/src/components/fab/QFab.js +2 -2
  215. package/src/components/form/QForm.js +2 -2
  216. package/src/components/form/QFormChildMixin.js +6 -4
  217. package/src/components/icon/QIcon.js +2 -2
  218. package/src/components/infinite-scroll/QInfiniteScroll.js +2 -4
  219. package/src/components/input/QInput.js +3 -3
  220. package/src/components/item/QItem.js +1 -1
  221. package/src/components/menu/QMenu.js +8 -5
  222. package/src/components/menu/QMenu.json +8 -1
  223. package/src/components/option-group/QOptionGroup.json +1 -17
  224. package/src/components/pagination/QPagination.js +8 -4
  225. package/src/components/parallax/QParallax.js +1 -1
  226. package/src/components/popup-edit/QPopupEdit.js +2 -2
  227. package/src/components/pull-to-refresh/QPullToRefresh.js +1 -1
  228. package/src/components/rating/QRating.sass +1 -1
  229. package/src/components/resize-observer/QResizeObserver.js +1 -1
  230. package/src/components/scroll-observer/QScrollObserver.js +2 -2
  231. package/src/components/select/QSelect.js +8 -6
  232. package/src/components/select/QSelect.json +2 -2
  233. package/src/components/slide-transition/QSlideTransition.js +2 -2
  234. package/src/components/stepper/StepHeader.js +1 -1
  235. package/src/components/table/QTable.js +84 -36
  236. package/src/components/table/QTable.json +138 -0
  237. package/src/components/table/QTr.js +4 -1
  238. package/src/components/table/table-sort.js +1 -1
  239. package/src/components/tabs/QTabs.js +2 -2
  240. package/src/components/tabs/use-tab.js +4 -4
  241. package/src/components/time/QTime.js +1 -1
  242. package/src/components/tree/QTree.js +2 -3
  243. package/src/components/virtual-scroll/use-virtual-scroll.js +3 -3
  244. package/src/composables/private.use-field/use-field.js +5 -5
  245. package/src/composables/private.use-file/use-file.js +6 -3
  246. package/src/composables/private.use-model-toggle/use-model-toggle.js +2 -2
  247. package/src/composables/private.use-refocus-target/use-refocus-target.js +6 -5
  248. package/src/composables/private.use-validate/use-validate.js +1 -1
  249. package/src/directives/intersection/Intersection.js +2 -2
  250. package/src/directives/morph/Morph.js +2 -2
  251. package/src/directives/mutation/Mutation.js +2 -2
  252. package/src/directives/touch-hold/TouchHold.js +2 -2
  253. package/src/directives/touch-pan/TouchPan.js +2 -2
  254. package/src/directives/touch-repeat/TouchRepeat.js +3 -3
  255. package/src/directives/touch-swipe/TouchSwipe.js +3 -3
  256. package/src/plugins/lang/Lang.test.js +12 -0
  257. package/src/plugins/loading/Loading.js +1 -1
  258. package/src/plugins/notify/Notify.js +1 -1
  259. package/src/plugins/private.body/Body.js +1 -1
  260. package/src/plugins/private.history/History.js +1 -1
  261. package/src/plugins/screen/Screen.js +1 -1
  262. package/src/utils/morph/morph.js +13 -10
  263. package/src/utils/open-url/open-url.js +3 -3
  264. package/src/utils/private.dialog/create-dialog.js +2 -2
  265. package/src/utils/private.portal/portal.js +1 -1
  266. package/src/components/date/__tests__/QDate.cy.js +0 -189
  267. package/src/components/date/__tests__/use-datetime.cy.js +0 -83
  268. package/src/components/editor/__tests__/QEditor.cy.js +0 -195
  269. package/src/components/field/__tests__/QField.cy.js +0 -156
  270. package/src/components/input/__tests__/QInput.cy.js +0 -786
  271. package/src/components/input/__tests__/use-mask.cy.js +0 -124
  272. package/src/components/menu/__tests__/QMenu.cy.js +0 -634
  273. package/src/components/menu/__tests__/WrapperOne.vue +0 -51
  274. package/src/components/menu/__tests__/WrapperTwo.vue +0 -38
  275. package/src/components/select/__tests__/QSelect.cy.js +0 -2018
  276. package/src/components/table/__tests__/QTable.cy.js +0 -635
  277. package/src/components/table/__tests__/QTd.cy.js +0 -35
  278. package/src/components/table/__tests__/QTh.cy.js +0 -27
  279. package/src/components/table/__tests__/QTr.cy.js +0 -27
  280. package/src/components/tabs/__tests__/QTab.cy.js +0 -79
  281. package/src/components/tabs/__tests__/QTabs.cy.js +0 -147
  282. package/src/components/uploader/__tests__/QUploader.cy.js +0 -191
  283. package/src/composables/__tests__/FieldWrapper.vue +0 -54
  284. package/src/composables/__tests__/use-anchor.cy.js +0 -98
  285. package/src/composables/__tests__/use-field.cy.js +0 -547
  286. package/src/composables/__tests__/use-file.cy.js +0 -69
  287. package/src/composables/__tests__/use-fullscreen.cy.js +0 -37
  288. package/src/composables/__tests__/use-model-toggle.cy.js +0 -350
  289. package/src/composables/__tests__/use-portal.cy.js +0 -4
  290. package/src/composables/__tests__/use-router-link.cy.js +0 -55
  291. package/src/composables/__tests__/use-validate.cy.js +0 -257
@@ -1,195 +0,0 @@
1
- describe('Editor API', () => {
2
- describe('Props', () => {
3
- describe('Category: behavior', () => {
4
- describe('(prop): paragraph-tag', () => {
5
- it.skip(' ', () => {
6
- //
7
- })
8
- })
9
- })
10
-
11
- describe('Category: content', () => {
12
- describe('(prop): placeholder', () => {
13
- it.skip(' ', () => {
14
- //
15
- })
16
- })
17
- })
18
-
19
- describe('Category: model', () => {
20
- describe('(prop): model-value', () => {
21
- it.skip(' ', () => {
22
- //
23
- })
24
- })
25
- })
26
-
27
- describe('Category: state', () => {
28
- describe('(prop): readonly', () => {
29
- it.skip(' ', () => {
30
- //
31
- })
32
- })
33
-
34
- describe('(prop): disable', () => {
35
- it.skip(' ', () => {
36
- //
37
- })
38
- })
39
- })
40
-
41
- describe('Category: style', () => {
42
- describe('(prop): square', () => {
43
- it.skip(' ', () => {
44
- //
45
- })
46
- })
47
-
48
- describe('(prop): flat', () => {
49
- it.skip(' ', () => {
50
- //
51
- })
52
- })
53
-
54
- describe('(prop): dense', () => {
55
- it.skip(' ', () => {
56
- //
57
- })
58
- })
59
-
60
- describe('(prop): dark', () => {
61
- it.skip(' ', () => {
62
- //
63
- })
64
- })
65
-
66
- describe('(prop): min-height', () => {
67
- it.skip(' ', () => {
68
- //
69
- })
70
- })
71
-
72
- describe('(prop): max-height', () => {
73
- it.skip(' ', () => {
74
- //
75
- })
76
- })
77
-
78
- describe('(prop): height', () => {
79
- it.skip(' ', () => {
80
- //
81
- })
82
- })
83
-
84
- describe('(prop): content-style', () => {
85
- it.skip(' ', () => {
86
- //
87
- })
88
- })
89
-
90
- describe('(prop): content-class', () => {
91
- it.skip(' ', () => {
92
- //
93
- })
94
- })
95
- })
96
-
97
- describe('Category: toolbar', () => {
98
- describe('(prop): definitions', () => {
99
- it.skip(' ', () => {
100
- //
101
- })
102
- })
103
-
104
- describe('(prop): fonts', () => {
105
- it.skip(' ', () => {
106
- //
107
- })
108
- })
109
-
110
- describe('(prop): toolbar', () => {
111
- it.skip(' ', () => {
112
- //
113
- })
114
- })
115
-
116
- describe('(prop): toolbar-color', () => {
117
- it.skip(' ', () => {
118
- //
119
- })
120
- })
121
-
122
- describe('(prop): toolbar-text-color', () => {
123
- it.skip(' ', () => {
124
- //
125
- })
126
- })
127
-
128
- describe('(prop): toolbar-toggle-color', () => {
129
- it.skip(' ', () => {
130
- //
131
- })
132
- })
133
-
134
- describe('(prop): toolbar-bg', () => {
135
- it.skip(' ', () => {
136
- //
137
- })
138
- })
139
- })
140
-
141
- describe('Category: toolbar|style', () => {
142
- describe('(prop): toolbar-outline', () => {
143
- it.skip(' ', () => {
144
- //
145
- })
146
- })
147
-
148
- describe('(prop): toolbar-push', () => {
149
- it.skip(' ', () => {
150
- //
151
- })
152
- })
153
-
154
- describe('(prop): toolbar-rounded', () => {
155
- it.skip(' ', () => {
156
- //
157
- })
158
- })
159
- })
160
- })
161
-
162
- describe('Events', () => {
163
- describe('(event): update:model-value', () => {
164
- it.skip(' ', () => {
165
- //
166
- })
167
- })
168
- })
169
-
170
- describe('Methods', () => {
171
- describe('(method): runCmd', () => {
172
- it.skip(' ', () => {
173
- //
174
- })
175
- })
176
-
177
- describe('(method): refreshToolbar', () => {
178
- it.skip(' ', () => {
179
- //
180
- })
181
- })
182
-
183
- describe('(method): focus', () => {
184
- it.skip(' ', () => {
185
- //
186
- })
187
- })
188
-
189
- describe('(method): getContentEl', () => {
190
- it.skip(' ', () => {
191
- //
192
- })
193
- })
194
- })
195
- })
@@ -1,156 +0,0 @@
1
- import QField from '../QField'
2
- import { vModelAdapter } from '@quasar/quasar-app-extension-testing-e2e-cypress'
3
- import { ref } from 'vue'
4
- import Icons from '../../../../icon-set/material-icons.mjs'
5
-
6
- function getHostElement () {
7
- return cy.get('.q-field')
8
- }
9
-
10
- function mountQField (options) {
11
- return cy.mount(QField, options)
12
- }
13
-
14
- describe('Field API', () => {
15
- describe('Props', () => {
16
- describe('Category: model', () => {
17
- describe('(prop): maxlength', () => {
18
- it.skip(' ', () => {
19
- // It is tricky to test this since it will require that we setup a control slot with v-model.
20
- // This is already tested in QInput and others using use-field composable, so are not testing it.
21
- })
22
- })
23
- })
24
- })
25
-
26
- describe('Slots', () => {
27
- describe('(slot): control', () => {
28
- it('should use control slot as content of the field', () => {
29
- const controlSlot = 'Hello there'
30
- mountQField({
31
- slots: {
32
- control: () => controlSlot
33
- }
34
- })
35
-
36
- getHostElement().get('.q-field__control-container').should('contain', controlSlot)
37
- })
38
- })
39
- })
40
-
41
- describe('Events', () => {
42
- describe('(event): update:model-value', () => {
43
- it('should emit onUpdate:modelValue event', () => {
44
- const model = ref('text')
45
- const fn = cy.stub()
46
- mountQField({
47
- props: {
48
- ...vModelAdapter(model),
49
- 'onUpdate:modelValue': fn,
50
- clearable: true
51
- }
52
- })
53
-
54
- getHostElement().get('button[type="button"]')
55
- .contains(Icons.field.clear).click()
56
- .then(() => {
57
- expect(fn).to.be.calledWith()
58
- })
59
- })
60
- })
61
-
62
- describe('(event): focus', () => {
63
- it('should emit the focus event', () => {
64
- const fn = cy.stub()
65
-
66
- mountQField({
67
- props: {
68
- onfocus: fn
69
- },
70
- slots: {
71
- control: 'text'
72
- }
73
- })
74
-
75
- getHostElement().click()
76
-
77
- getHostElement().then(() => {
78
- expect(fn).to.be.calledWith()
79
- })
80
- })
81
- })
82
-
83
- describe('(event): blur', () => {
84
- it('should emit blur event', () => {
85
- const fn = cy.stub()
86
- mountQField({
87
- props: {
88
- onblur: fn
89
- },
90
- slots: {
91
- control: 'text'
92
- }
93
- })
94
-
95
- getHostElement()
96
- .click()
97
-
98
- getHostElement().then(() => {
99
- Cypress.vueWrapper.vm.blur()
100
- })
101
-
102
- getHostElement()
103
- .then(() => {
104
- expect(fn).to.be.calledWith()
105
- })
106
- })
107
- })
108
- })
109
-
110
- describe('Methods', () => {
111
- describe('(method): focus', () => {
112
- it('should focus the component', () => {
113
- mountQField({
114
- slots: {
115
- control: 'text'
116
- }
117
- })
118
-
119
- getHostElement()
120
- .get('.q-field--focused')
121
- .should('not.exist')
122
-
123
- getHostElement()
124
- .then(() => {
125
- Cypress.vueWrapper.vm.focus()
126
- })
127
- getHostElement()
128
- .get('.q-field--focused')
129
- .should('exist')
130
- })
131
- })
132
-
133
- describe('(method): blur', () => {
134
- it('should blur the component', () => {
135
- mountQField({
136
- slots: {
137
- control: 'text'
138
- }
139
- })
140
-
141
- getHostElement().click()
142
-
143
- getHostElement()
144
- .get('.q-field--focused')
145
- .should('exist')
146
-
147
- getHostElement()
148
- .then(() => {
149
- Cypress.vueWrapper.vm.blur()
150
- })
151
-
152
- cy.get('.q-field--focused').should('not.exist')
153
- })
154
- })
155
- })
156
- })