quasar 2.4.10 → 2.5.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 (228) hide show
  1. package/dist/api/BottomSheet.json +4 -0
  2. package/dist/api/Dialog.json +5 -1
  3. package/dist/api/LoadingBar.json +7 -0
  4. package/dist/api/Notify.json +20 -10
  5. package/dist/api/Platform.json +171 -0
  6. package/dist/api/QAjaxBar.json +13 -1
  7. package/dist/api/QBtnDropdown.json +4 -2
  8. package/dist/api/QCheckbox.json +27 -0
  9. package/dist/api/QEditor.json +4 -2
  10. package/dist/api/QExpansionItem.json +6 -3
  11. package/dist/api/QFab.json +4 -2
  12. package/dist/api/QFabAction.json +4 -2
  13. package/dist/api/QFile.json +4 -2
  14. package/dist/api/QImg.json +1 -2
  15. package/dist/api/QInnerLoading.json +2 -1
  16. package/dist/api/QInput.json +4 -2
  17. package/dist/api/QPagination.json +4 -2
  18. package/dist/api/QRadio.json +18 -0
  19. package/dist/api/QRange.json +9 -0
  20. package/dist/api/QScrollArea.json +13 -5
  21. package/dist/api/QSelect.json +6 -3
  22. package/dist/api/QSlider.json +9 -0
  23. package/dist/api/QSplitter.json +8 -4
  24. package/dist/api/QTable.json +9 -0
  25. package/dist/api/QTime.json +8 -2
  26. package/dist/api/QToggle.json +24 -24
  27. package/dist/icon-set/bootstrap-icons.umd.prod.js +1 -1
  28. package/dist/icon-set/eva-icons.umd.prod.js +1 -1
  29. package/dist/icon-set/fontawesome-v5-pro.umd.prod.js +1 -1
  30. package/dist/icon-set/fontawesome-v5.umd.prod.js +1 -1
  31. package/dist/icon-set/ionicons-v4.umd.prod.js +1 -1
  32. package/dist/icon-set/line-awesome.umd.prod.js +1 -1
  33. package/dist/icon-set/material-icons-outlined.umd.prod.js +1 -1
  34. package/dist/icon-set/material-icons-round.umd.prod.js +1 -1
  35. package/dist/icon-set/material-icons-sharp.umd.prod.js +1 -1
  36. package/dist/icon-set/material-icons.umd.prod.js +1 -1
  37. package/dist/icon-set/mdi-v3.umd.prod.js +1 -1
  38. package/dist/icon-set/mdi-v4.umd.prod.js +1 -1
  39. package/dist/icon-set/mdi-v5.umd.prod.js +1 -1
  40. package/dist/icon-set/mdi-v6.umd.prod.js +1 -1
  41. package/dist/icon-set/svg-bootstrap-icons.umd.prod.js +1 -1
  42. package/dist/icon-set/svg-eva-icons.umd.prod.js +1 -1
  43. package/dist/icon-set/svg-fontawesome-v5.umd.prod.js +1 -1
  44. package/dist/icon-set/svg-ionicons-v4.umd.prod.js +1 -1
  45. package/dist/icon-set/svg-ionicons-v5.umd.prod.js +1 -1
  46. package/dist/icon-set/svg-ionicons-v6.umd.prod.js +1 -1
  47. package/dist/icon-set/svg-line-awesome.umd.prod.js +1 -1
  48. package/dist/icon-set/svg-material-icons-outlined.umd.prod.js +1 -1
  49. package/dist/icon-set/svg-material-icons-round.umd.prod.js +1 -1
  50. package/dist/icon-set/svg-material-icons-sharp.umd.prod.js +1 -1
  51. package/dist/icon-set/svg-material-icons.umd.prod.js +1 -1
  52. package/dist/icon-set/svg-mdi-v4.umd.prod.js +1 -1
  53. package/dist/icon-set/svg-mdi-v5.umd.prod.js +1 -1
  54. package/dist/icon-set/svg-mdi-v6.umd.prod.js +1 -1
  55. package/dist/icon-set/svg-themify.umd.prod.js +1 -1
  56. package/dist/icon-set/themify.umd.prod.js +1 -1
  57. package/dist/lang/ar.umd.prod.js +1 -1
  58. package/dist/lang/az-Latn.umd.prod.js +1 -1
  59. package/dist/lang/bg.umd.prod.js +1 -1
  60. package/dist/lang/bn.umd.prod.js +1 -1
  61. package/dist/lang/ca.umd.prod.js +1 -1
  62. package/dist/lang/cs.umd.prod.js +1 -1
  63. package/dist/lang/da.umd.prod.js +1 -1
  64. package/dist/lang/de.umd.prod.js +1 -1
  65. package/dist/lang/el.umd.prod.js +1 -1
  66. package/dist/lang/en-GB.umd.prod.js +1 -1
  67. package/dist/lang/en-US.umd.prod.js +1 -1
  68. package/dist/lang/eo.umd.prod.js +1 -1
  69. package/dist/lang/es.umd.prod.js +1 -1
  70. package/dist/lang/et.umd.prod.js +1 -1
  71. package/dist/lang/fa-IR.umd.prod.js +1 -1
  72. package/dist/lang/fa.umd.prod.js +1 -1
  73. package/dist/lang/fi.umd.prod.js +1 -1
  74. package/dist/lang/fr.umd.prod.js +1 -1
  75. package/dist/lang/gn.umd.prod.js +1 -1
  76. package/dist/lang/he.umd.prod.js +1 -1
  77. package/dist/lang/hr.umd.prod.js +1 -1
  78. package/dist/lang/hu.umd.prod.js +1 -1
  79. package/dist/lang/id.umd.prod.js +1 -1
  80. package/dist/lang/is.umd.prod.js +1 -1
  81. package/dist/lang/it.umd.prod.js +1 -1
  82. package/dist/lang/ja.umd.prod.js +1 -1
  83. package/dist/lang/km.umd.prod.js +1 -1
  84. package/dist/lang/ko-KR.umd.prod.js +1 -1
  85. package/dist/lang/kur-CKB.umd.prod.js +1 -1
  86. package/dist/lang/lt.umd.prod.js +1 -1
  87. package/dist/lang/lu.umd.prod.js +1 -1
  88. package/dist/lang/lv.umd.prod.js +1 -1
  89. package/dist/lang/ml.umd.prod.js +1 -1
  90. package/dist/lang/ms.umd.prod.js +1 -1
  91. package/dist/lang/my.umd.prod.js +1 -1
  92. package/dist/lang/nb-NO.umd.prod.js +1 -1
  93. package/dist/lang/nl.umd.prod.js +1 -1
  94. package/dist/lang/pl.umd.prod.js +1 -1
  95. package/dist/lang/pt-BR.umd.prod.js +1 -1
  96. package/dist/lang/pt.umd.prod.js +1 -1
  97. package/dist/lang/ro.umd.prod.js +1 -1
  98. package/dist/lang/ru.umd.prod.js +1 -1
  99. package/dist/lang/sk.umd.prod.js +1 -1
  100. package/dist/lang/sl.umd.prod.js +1 -1
  101. package/dist/lang/sr-CYR.umd.prod.js +1 -1
  102. package/dist/lang/sr.umd.prod.js +1 -1
  103. package/dist/lang/sv.umd.prod.js +1 -1
  104. package/dist/lang/ta.umd.prod.js +1 -1
  105. package/dist/lang/th.umd.prod.js +1 -1
  106. package/dist/lang/tr.umd.prod.js +1 -1
  107. package/dist/lang/ug.umd.prod.js +1 -1
  108. package/dist/lang/uk.umd.prod.js +1 -1
  109. package/dist/lang/vi.umd.prod.js +1 -1
  110. package/dist/lang/zh-CN.umd.prod.js +1 -1
  111. package/dist/lang/zh-TW.umd.prod.js +1 -1
  112. package/dist/quasar.cjs.prod.js +2 -2
  113. package/dist/quasar.css +39 -10
  114. package/dist/quasar.esm.prod.js +2 -2
  115. package/dist/quasar.prod.css +1 -1
  116. package/dist/quasar.rtl.css +56 -23
  117. package/dist/quasar.rtl.prod.css +1 -1
  118. package/dist/quasar.sass +32 -11
  119. package/dist/quasar.umd.js +276 -118
  120. package/dist/quasar.umd.prod.js +2 -2
  121. package/dist/ssr-directives/Morph.js +1 -1
  122. package/dist/transforms/auto-import.json +39 -3
  123. package/dist/transforms/import-map.json +18 -0
  124. package/dist/types/api/slider.d.ts +6 -7
  125. package/dist/types/api/validation.d.ts +1 -1
  126. package/dist/types/api/vue-prop-types.ts +15 -0
  127. package/dist/types/api.d.ts +1 -0
  128. package/dist/types/index.d.ts +246 -188
  129. package/dist/types/utils/dom.d.ts +4 -2
  130. package/dist/types/utils.d.ts +3 -1
  131. package/dist/vetur/quasar-attributes.json +62 -42
  132. package/dist/vetur/quasar-tags.json +8 -3
  133. package/dist/web-types/web-types.json +103 -58
  134. package/package.json +13 -3
  135. package/src/components/ajax-bar/QAjaxBar.js +22 -12
  136. package/src/components/ajax-bar/QAjaxBar.json +16 -1
  137. package/src/components/avatar/__tests__/QAvatar.spec.js +121 -0
  138. package/src/components/badge/__tests__/QBadge.spec.js +74 -0
  139. package/src/components/breadcrumbs/QBreadcrumbs.js +1 -1
  140. package/src/components/btn/__tests__/QBtn.spec.js +55 -0
  141. package/src/components/btn/__tests__/use-btn.spec.js +189 -0
  142. package/src/components/btn-dropdown/QBtnDropdown.json +4 -2
  143. package/src/components/checkbox/QCheckbox.js +34 -3
  144. package/src/components/checkbox/QCheckbox.json +17 -0
  145. package/src/components/checkbox/QCheckbox.sass +17 -5
  146. package/src/components/checkbox/use-checkbox.js +4 -0
  147. package/src/components/checkbox/use-checkbox.json +18 -0
  148. package/src/components/chip/__tests__/QChip.spec.js +155 -0
  149. package/src/components/date/__tests__/QDate.spec.js +189 -0
  150. package/src/components/date/__tests__/use-datetime.spec.js +83 -0
  151. package/src/components/dialog/QDialog.js +1 -1
  152. package/src/components/dialog/__tests__/QDialog.spec.js +129 -0
  153. package/src/components/editor/QEditor.js +1 -1
  154. package/src/components/editor/QEditor.json +3 -1
  155. package/src/components/editor/__tests__/QEditor.spec.js +195 -0
  156. package/src/components/expansion-item/QExpansionItem.json +6 -3
  157. package/src/components/fab/use-fab.json +4 -2
  158. package/src/components/file/QFile.json +4 -2
  159. package/src/components/form/QForm.js +12 -2
  160. package/src/components/img/QImg.json +2 -3
  161. package/src/components/infinite-scroll/QInfiniteScroll.js +3 -2
  162. package/src/components/inner-loading/QInnerLoading.json +2 -1
  163. package/src/components/input/QInput.js +10 -1
  164. package/src/components/input/QInput.json +4 -2
  165. package/src/components/input/__tests__/QInput.spec.js +105 -0
  166. package/src/components/input/__tests__/use-mask.spec.js +29 -0
  167. package/src/components/menu/QMenu.js +2 -1
  168. package/src/components/menu/__tests__/QMenu.spec.js +610 -0
  169. package/src/components/menu/__tests__/WrapperOne.vue +51 -0
  170. package/src/components/menu/__tests__/WrapperTwo.vue +38 -0
  171. package/src/components/pagination/QPagination.json +4 -2
  172. package/src/components/radio/QRadio.js +26 -1
  173. package/src/components/radio/QRadio.json +16 -0
  174. package/src/components/radio/QRadio.sass +17 -6
  175. package/src/components/scroll-area/QScrollArea.js +21 -1
  176. package/src/components/scroll-area/QScrollArea.json +13 -5
  177. package/src/components/select/QSelect.js +13 -9
  178. package/src/components/select/QSelect.json +6 -3
  179. package/src/components/select/QSelect.sass +1 -0
  180. package/src/components/select/__tests__/QSelect.spec.js +2003 -0
  181. package/src/components/select/__tests__/WrapperOne.vue +28 -0
  182. package/src/components/slider/use-slider.json +9 -0
  183. package/src/components/splitter/QSplitter.json +8 -4
  184. package/src/components/stepper/QStep.js +19 -14
  185. package/src/components/stepper/QStepper.sass +3 -0
  186. package/src/components/table/QTable.json +9 -0
  187. package/src/components/table/__tests__/QTable.spec.js +635 -0
  188. package/src/components/table/__tests__/QTd.spec.js +35 -0
  189. package/src/components/table/__tests__/QTh.spec.js +27 -0
  190. package/src/components/table/__tests__/QTr.spec.js +27 -0
  191. package/src/components/tabs/QTabs.js +10 -2
  192. package/src/components/tabs/__tests__/QRouteTab.spec.js +9 -0
  193. package/src/components/tabs/__tests__/QTab.spec.js +79 -0
  194. package/src/components/tabs/__tests__/QTabs.spec.js +147 -0
  195. package/src/components/time/QTime.json +2 -2
  196. package/src/components/toggle/QToggle.js +5 -13
  197. package/src/components/toggle/QToggle.json +3 -12
  198. package/src/components/tree/QTree.js +5 -3
  199. package/src/components/uploader/__tests__/QUploader.spec.js +161 -0
  200. package/src/components/virtual-scroll/use-virtual-scroll.js +20 -9
  201. package/src/composables/private/__tests__/FieldWrapper.vue +39 -0
  202. package/src/composables/private/__tests__/use-anchor.spec.js +99 -0
  203. package/src/composables/private/__tests__/use-field.spec.js +351 -0
  204. package/src/composables/private/__tests__/use-file.spec.js +69 -0
  205. package/src/composables/private/__tests__/use-form.spec.js +11 -0
  206. package/src/composables/private/__tests__/use-fullscreen.spec.js +37 -0
  207. package/src/composables/private/__tests__/use-model-toggle.spec.js +306 -0
  208. package/src/composables/private/__tests__/use-portal.spec.js +4 -0
  209. package/src/composables/private/__tests__/use-router-link.spec.js +55 -0
  210. package/src/composables/private/__tests__/use-size.spec.js +37 -0
  211. package/src/composables/private/__tests__/use-transition.spec.js +108 -0
  212. package/src/composables/private/__tests__/use-validate.spec.js +111 -0
  213. package/src/composables/private/use-field.js +16 -9
  214. package/src/composables/private/use-fullscreen.js +1 -1
  215. package/src/composables/private/use-model-toggle.js +1 -1
  216. package/src/composables/private/use-validate.js +9 -5
  217. package/src/plugins/BottomSheet.json +1 -0
  218. package/src/plugins/Dialog.json +1 -0
  219. package/src/plugins/LoadingBar.js +3 -3
  220. package/src/plugins/LoadingBar.json +8 -0
  221. package/src/plugins/Meta.js +1 -1
  222. package/src/plugins/Notify.json +20 -10
  223. package/src/plugins/Platform.js +15 -8
  224. package/src/plugins/Platform.json +166 -0
  225. package/src/plugins/Screen.js +11 -8
  226. package/src/utils/date.js +5 -5
  227. package/src/utils/private/global-dialog.json +3 -0
  228. package/src/utils/private/vm.js +14 -8
@@ -51,7 +51,8 @@
51
51
  },
52
52
 
53
53
  "input-style": {
54
- "type": [ "Array", "String", "Object" ],
54
+ "type": [ "String", "Array", "Object" ],
55
+ "tsType": "VueStyleProp",
55
56
  "desc": "Style definitions to be attributed to the input (if using one)",
56
57
  "examples": [
57
58
  "background-color: #ff0000",
@@ -61,7 +62,8 @@
61
62
  },
62
63
 
63
64
  "input-class": {
64
- "type": [ "Array", "String", "Object" ],
65
+ "type": [ "String", "Array", "Object" ],
66
+ "tsType": "VueClassProp",
65
67
  "desc": "Class definitions to be attributed to the input (if using one)",
66
68
  "examples": [
67
69
  "my-special-class",
@@ -1,5 +1,7 @@
1
1
  import { h, ref, computed, getCurrentInstance } from 'vue'
2
2
 
3
+ import QIcon from '../icon/QIcon.js'
4
+
3
5
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
4
6
  import useSize, { useSizeProps } from '../../composables/private/use-size.js'
5
7
  import useRefocusTarget from '../../composables/private/use-refocus-target.js'
@@ -11,6 +13,7 @@ import { stopAndPrevent } from '../../utils/event.js'
11
13
  import { hSlot, hMergeSlot } from '../../utils/private/render.js'
12
14
 
13
15
  const svg = h('svg', {
16
+ key: 'svg',
14
17
  class: 'q-radio__bg absolute non-selectable',
15
18
  viewBox: '0 0 24 24',
16
19
  'aria-hidden': 'true'
@@ -39,6 +42,9 @@ export default createComponent({
39
42
  label: String,
40
43
  leftLabel: Boolean,
41
44
 
45
+ checkedIcon: String,
46
+ uncheckedIcon: String,
47
+
42
48
  color: String,
43
49
  keepColor: Boolean,
44
50
  dense: Boolean,
@@ -80,6 +86,13 @@ export default createComponent({
80
86
  + `q-radio__inner--${ isTrue.value === true ? 'truthy' : 'falsy' }${ color }`
81
87
  })
82
88
 
89
+ const icon = computed(() =>
90
+ (isTrue.value === true
91
+ ? props.checkedIcon
92
+ : props.uncheckedIcon
93
+ ) || null
94
+ )
95
+
83
96
  const tabindex = computed(() => (
84
97
  props.disable === true ? -1 : props.tabindex || 0
85
98
  ))
@@ -125,7 +138,19 @@ export default createComponent({
125
138
  Object.assign(proxy, { set: onClick })
126
139
 
127
140
  return () => {
128
- const content = [ svg ]
141
+ const content = icon.value !== null
142
+ ? [
143
+ h('div', {
144
+ key: 'icon',
145
+ class: 'q-radio__icon-container absolute flex flex-center no-wrap'
146
+ }, [
147
+ h(QIcon, {
148
+ class: 'q-radio__icon',
149
+ name: icon.value
150
+ })
151
+ ])
152
+ ]
153
+ : [ svg ]
129
154
 
130
155
  props.disable !== true && injectFormInput(
131
156
  content,
@@ -33,6 +33,22 @@
33
33
  "category": "label"
34
34
  },
35
35
 
36
+ "checked-icon": {
37
+ "type": "String",
38
+ "desc": "The icon to be used when selected (instead of the default design)",
39
+ "examples": [ "visibility" ],
40
+ "category": "icons",
41
+ "addedIn": "v2.5"
42
+ },
43
+
44
+ "unchecked-icon": {
45
+ "type": "String",
46
+ "desc": "The icon to be used when un-selected (instead of the default design)",
47
+ "examples": [ "visibility_off" ],
48
+ "category": "icons",
49
+ "addedIn": "v2.5"
50
+ },
51
+
36
52
  "color": {
37
53
  "extends": "color"
38
54
  },
@@ -3,19 +3,26 @@ $radio-transition: .22s cubic-bezier(0,0,.2,1) 0ms
3
3
  .q-radio
4
4
  vertical-align: middle
5
5
 
6
- &__bg
6
+ &__native
7
+ width: 1px
8
+ height: 1px
9
+
10
+ &__bg,
11
+ &__icon-container
7
12
  top: 25%
8
13
  left: 25%
9
14
  width: 50%
10
15
  height: 50%
11
- -webkit-print-color-adjust: exact
16
+ user-select: none
12
17
 
18
+ &__bg
19
+ -webkit-print-color-adjust: exact
13
20
  path
14
21
  fill: currentColor
15
22
 
16
- &__native
17
- width: 1px
18
- height: 1px
23
+ &__icon
24
+ color: currentColor
25
+ font-size: .6em
19
26
 
20
27
  &__check
21
28
  transform-origin: 50% 50%
@@ -49,12 +56,16 @@ $radio-transition: .22s cubic-bezier(0,0,.2,1) 0ms
49
56
 
50
57
  &--dense
51
58
 
59
+ .q-checkbox__icon
60
+ font-size: .6em
61
+
52
62
  .q-radio__inner
53
63
  width: .5em
54
64
  min-width: .5em
55
65
  height: .5em
56
66
 
57
- .q-radio__bg
67
+ .q-radio__bg,
68
+ .q-radio__icon-container
58
69
  left: 0
59
70
  top: 0
60
71
  width: 100%
@@ -1,4 +1,4 @@
1
- import { h, ref, computed, withDirectives, onBeforeUnmount, getCurrentInstance } from 'vue'
1
+ import { h, ref, computed, withDirectives, onActivated, onDeactivated, onBeforeUnmount, getCurrentInstance } from 'vue'
2
2
 
3
3
  import useDark, { useDarkProps } from '../../composables/private/use-dark.js'
4
4
 
@@ -380,6 +380,26 @@ export default createComponent({
380
380
  }
381
381
  })
382
382
 
383
+ let scrollPosition = null
384
+
385
+ onDeactivated(() => {
386
+ scrollPosition = {
387
+ top: scroll.vertical.position.value,
388
+ left: scroll.horizontal.position.value
389
+ }
390
+ })
391
+
392
+ onActivated(() => {
393
+ if (scrollPosition === null) { return }
394
+
395
+ const scrollTarget = targetRef.value
396
+
397
+ if (scrollTarget !== null) {
398
+ setHorizontalScrollPosition(scrollTarget, scrollPosition.left)
399
+ setVerticalScrollPosition(scrollTarget, scrollPosition.top)
400
+ }
401
+ })
402
+
383
403
  onBeforeUnmount(emitScroll.cancel)
384
404
 
385
405
  return () => {
@@ -9,21 +9,24 @@
9
9
  },
10
10
 
11
11
  "bar-style": {
12
- "type": [ "Array", "String", "Object"],
12
+ "type": [ "String", "Array", "Object" ],
13
+ "tsType": "VueStyleProp",
13
14
  "desc": "Object with CSS properties and values for custom styling the scrollbars (both vertical and horizontal)",
14
15
  "examples": [ ":bar-style=\"{ borderRadius: '5px', background: 'red', opacity: 1 }\"" ],
15
16
  "category": "style"
16
17
  },
17
18
 
18
19
  "vertical-bar-style": {
19
- "type": [ "Array", "String", "Object"],
20
+ "type": [ "String", "Array", "Object" ],
21
+ "tsType": "VueStyleProp",
20
22
  "desc": "Object with CSS properties and values for custom styling the vertical scrollbar; Is applied on top of 'bar-style' prop",
21
23
  "examples": [ ":bar-style=\"{ right: '4px', borderRadius: '5px', background: 'red', width: '10px', opacity: 1 }\"" ],
22
24
  "category": "style"
23
25
  },
24
26
 
25
27
  "horizontal-bar-style": {
26
- "type": [ "Array", "String", "Object"],
28
+ "type": [ "String", "Array", "Object" ],
29
+ "tsType": "VueStyleProp",
27
30
  "desc": "Object with CSS properties and values for custom styling the horizontal scrollbar; Is applied on top of 'bar-style' prop",
28
31
  "examples": [ ":bar-style=\"{ bottom: '4px', borderRadius: '5px', background: 'red', height: '10px', opacity: 1 }\"" ],
29
32
  "category": "style"
@@ -31,6 +34,7 @@
31
34
 
32
35
  "thumb-style": {
33
36
  "type": "Object",
37
+ "tsType": "VueStyleObjectProp",
34
38
  "desc": "Object with CSS properties and values for custom styling the thumb of scrollbars (both vertical and horizontal)",
35
39
  "examples": [ ":thumb-style=\"{ right: '4px', borderRadius: '5px', background: 'red', width: '10px', opacity: 1 }\"" ],
36
40
  "category": "style"
@@ -38,6 +42,7 @@
38
42
 
39
43
  "vertical-thumb-style": {
40
44
  "type": "Object",
45
+ "tsType": "VueStyleObjectProp",
41
46
  "desc": "Object with CSS properties and values for custom styling the thumb of the vertical scrollbar; Is applied on top of 'thumb-style' prop",
42
47
  "examples": [ ":thumb-style=\"{ right: '4px', borderRadius: '5px', background: 'red', width: '10px', opacity: 1 }\"" ],
43
48
  "category": "style"
@@ -45,20 +50,23 @@
45
50
 
46
51
  "horizontal-thumb-style": {
47
52
  "type": "Object",
53
+ "tsType": "VueStyleObjectProp",
48
54
  "desc": "Object with CSS properties and values for custom styling the thumb of the horizontal scrollbar; Is applied on top of 'thumb-style' prop",
49
55
  "examples": [ ":thumb-style=\"{ bottom: '4px', borderRadius: '5px', background: 'red', height: '10px', opacity: 1 }\"" ],
50
56
  "category": "style"
51
57
  },
52
58
 
53
59
  "content-style": {
54
- "type": [ "Array", "String", "Object"],
60
+ "type": [ "String", "Array", "Object" ],
61
+ "tsType": "VueStyleProp",
55
62
  "desc": "Object with CSS properties and values for styling the container of QScrollArea",
56
63
  "examples": [ ":content-style=\"{ backgroundColor: '#C0C0C0' }\"" ],
57
64
  "category": "style"
58
65
  },
59
66
 
60
67
  "content-active-style": {
61
- "type": [ "Array", "String", "Object"],
68
+ "type": [ "String", "Array", "Object" ],
69
+ "tsType": "VueStyleProp",
62
70
  "desc": "Object with CSS properties and values for styling the container of QScrollArea when scroll area becomes active (is mouse hovered)",
63
71
  "examples": [ ":content-active-style=\"{ backgroundColor: 'white' }\"" ],
64
72
  "category": "style"
@@ -610,8 +610,12 @@ export default createComponent({
610
610
  return innerOptionsValue.value.find(v => isDeepEqual(v, val)) !== void 0
611
611
  }
612
612
 
613
- function selectInputText () {
614
- if (props.useInput === true && targetRef.value !== null) {
613
+ function selectInputText (e) {
614
+ if (
615
+ props.useInput === true
616
+ && targetRef.value !== null
617
+ && (e === void 0 || (targetRef.value === e.target && e.target.value === selectedString.value))
618
+ ) {
615
619
  targetRef.value.select()
616
620
  }
617
621
  }
@@ -981,7 +985,7 @@ export default createComponent({
981
985
  type: 'search',
982
986
  ...comboboxAttrs.value,
983
987
  ...state.splitAttrs.attributes.value,
984
- id: state.targetUid.value,
988
+ id: isTarget === true ? state.targetUid.value : void 0,
985
989
  maxlength: props.maxlength,
986
990
  autocomplete: props.autocomplete,
987
991
  'data-autofocus': (fromDialog !== true && props.autofocus === true) || void 0,
@@ -992,7 +996,7 @@ export default createComponent({
992
996
 
993
997
  if (fromDialog !== true && hasDialog === true) {
994
998
  if (Array.isArray(data.class) === true) {
995
- data.class[ 0 ] += ' no-pointer-events'
999
+ data.class = [ ...data.class, 'no-pointer-events' ]
996
1000
  }
997
1001
  else {
998
1002
  data.class += ' no-pointer-events'
@@ -1385,7 +1389,7 @@ export default createComponent({
1385
1389
  filter, updateMenuPosition, updateInputValue,
1386
1390
  isOptionSelected,
1387
1391
  getEmittingOptionValue,
1388
- isOptionDisabled: (...args) => isOptionDisabled.value.apply(null, args),
1392
+ isOptionDisabled: (...args) => isOptionDisabled.value.apply(null, args) === true,
1389
1393
  getOptionValue: (...args) => getOptionValue.value.apply(null, args),
1390
1394
  getOptionLabel: (...args) => getOptionLabel.value.apply(null, args)
1391
1395
  })
@@ -1458,13 +1462,13 @@ export default createComponent({
1458
1462
  child.push(getInput(fromDialog, isTarget))
1459
1463
  }
1460
1464
  // there can be only one (when dialog is opened the control in dialog should be target)
1461
- else if (state.editable.value === true && isTarget === true) {
1465
+ else if (state.editable.value === true) {
1462
1466
  child.push(
1463
1467
  h('div', {
1464
- ref: targetRef,
1468
+ ref: isTarget === true ? targetRef : void 0,
1465
1469
  key: 'd_t',
1466
1470
  class: 'q-select__focus-target',
1467
- id: state.targetUid.value,
1471
+ id: isTarget === true ? state.targetUid.value : void 0,
1468
1472
  ...comboboxAttrs.value,
1469
1473
  onKeydown: onTargetKeydown,
1470
1474
  onKeyup: onTargetKeyup,
@@ -1472,7 +1476,7 @@ export default createComponent({
1472
1476
  })
1473
1477
  )
1474
1478
 
1475
- if (typeof props.autocomplete === 'string' && props.autocomplete.length > 0) {
1479
+ if (isTarget === true && typeof props.autocomplete === 'string' && props.autocomplete.length > 0) {
1476
1480
  child.push(
1477
1481
  h('input', {
1478
1482
  class: 'q-select__autocomplete-input',
@@ -224,7 +224,8 @@
224
224
  },
225
225
 
226
226
  "popup-content-style": {
227
- "type": [ "Array", "String", "Object" ],
227
+ "type": [ "String", "Array", "Object" ],
228
+ "tsType": "VueStyleProp",
228
229
  "desc": "Style definitions to be attributed to the popup content",
229
230
  "examples": [
230
231
  "background-color: #ff0000",
@@ -279,7 +280,8 @@
279
280
  },
280
281
 
281
282
  "input-class": {
282
- "type": [ "Array", "String", "Object" ],
283
+ "type": [ "String", "Array", "Object" ],
284
+ "tsType": "VueClassProp",
283
285
  "desc": "Class definitions to be attributed to the underlying input tag",
284
286
  "examples": [
285
287
  "my-special-class",
@@ -289,7 +291,8 @@
289
291
  },
290
292
 
291
293
  "input-style": {
292
- "type": [ "Array", "String", "Object" ],
294
+ "type": [ "String", "Array", "Object" ],
295
+ "tsType": "VueStyleProp",
293
296
  "desc": "Style definitions to be attributed to the underlying input tag",
294
297
  "examples": [
295
298
  "background-color: #ff0000",
@@ -8,6 +8,7 @@
8
8
 
9
9
  .q-field__input
10
10
  min-width: 50px !important
11
+ cursor: text
11
12
 
12
13
  &--padding
13
14
  padding-left: 4px