@quidgest/ui 0.13.3 → 0.14.1

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 (187) hide show
  1. package/dist/manifest/components.json +4 -0
  2. package/dist/ui.css +81 -0
  3. package/dist/ui.esm.js +1163 -935
  4. package/dist/ui.js +6 -6
  5. package/dist/ui.min.css +1 -1
  6. package/dist/ui.min.js +110 -101
  7. package/dist/ui.scss +1059 -973
  8. package/esm/components/QBadge/QBadge.d.ts +16 -68
  9. package/esm/components/QBadge/QBadge.d.ts.map +1 -1
  10. package/esm/components/QBadge/QBadge.vue.js +29 -32
  11. package/esm/components/QBadge/index.d.ts +2 -139
  12. package/esm/components/QBadge/index.d.ts.map +1 -1
  13. package/esm/components/QBadge/types.d.ts +29 -0
  14. package/esm/components/QBadge/types.d.ts.map +1 -0
  15. package/esm/components/QBadge/types.js +8 -0
  16. package/esm/components/QButton/QButton.d.ts +15 -80
  17. package/esm/components/QButton/QButton.d.ts.map +1 -1
  18. package/esm/components/QButton/index.d.ts +3 -198
  19. package/esm/components/QButton/index.d.ts.map +1 -1
  20. package/esm/components/QButton/types.d.ts +47 -0
  21. package/esm/components/QButton/types.d.ts.map +1 -0
  22. package/esm/components/QButtonGroup/QButtonGroup.d.ts +11 -42
  23. package/esm/components/QButtonGroup/QButtonGroup.d.ts.map +1 -1
  24. package/esm/components/QButtonGroup/index.d.ts +2 -79
  25. package/esm/components/QButtonGroup/index.d.ts.map +1 -1
  26. package/esm/components/QButtonGroup/types.d.ts +19 -0
  27. package/esm/components/QButtonGroup/types.d.ts.map +1 -0
  28. package/esm/components/QButtonToggle/QButtonToggle.d.ts +16 -73
  29. package/esm/components/QButtonToggle/QButtonToggle.d.ts.map +1 -1
  30. package/esm/components/QButtonToggle/index.d.ts +2 -115
  31. package/esm/components/QButtonToggle/index.d.ts.map +1 -1
  32. package/esm/components/QButtonToggle/types.d.ts +32 -0
  33. package/esm/components/QButtonToggle/types.d.ts.map +1 -0
  34. package/esm/components/QCombobox/QCombobox.d.ts +445 -435
  35. package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
  36. package/esm/components/QCombobox/QCombobox.vue.js +121 -126
  37. package/esm/components/QCombobox/index.d.ts +2 -1075
  38. package/esm/components/QCombobox/index.d.ts.map +1 -1
  39. package/esm/components/QCombobox/types.d.ts +93 -0
  40. package/esm/components/QCombobox/types.d.ts.map +1 -0
  41. package/esm/components/QCombobox/types.js +16 -0
  42. package/esm/components/QDialog/QDialog.d.ts +23 -186
  43. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  44. package/esm/components/QDialog/QDialog.vue.js +48 -64
  45. package/esm/components/QDialog/index.d.ts +3 -268
  46. package/esm/components/QDialog/index.d.ts.map +1 -1
  47. package/esm/components/QDialog/types.d.ts +80 -0
  48. package/esm/components/QDialog/types.d.ts.map +1 -0
  49. package/esm/components/QDialog/types.js +23 -0
  50. package/esm/components/QField/QField.d.ts +22 -77
  51. package/esm/components/QField/QField.d.ts.map +1 -1
  52. package/esm/components/QField/index.d.ts +3 -169
  53. package/esm/components/QField/index.d.ts.map +1 -1
  54. package/esm/components/QField/types.d.ts +37 -0
  55. package/esm/components/QField/types.d.ts.map +1 -0
  56. package/esm/components/QIcon/InlineSvg.d.ts +6 -6
  57. package/esm/components/QIcon/InlineSvg.d.ts.map +1 -1
  58. package/esm/components/QIcon/InlineSvg.js +6 -13
  59. package/esm/components/QIcon/QIcon.d.ts +4 -46
  60. package/esm/components/QIcon/QIcon.d.ts.map +1 -1
  61. package/esm/components/QIcon/QIcon.vue.js +2 -2
  62. package/esm/components/QIcon/QIconFont.d.ts +3 -51
  63. package/esm/components/QIcon/QIconFont.d.ts.map +1 -1
  64. package/esm/components/QIcon/QIconFont.vue.js +9 -9
  65. package/esm/components/QIcon/QIconImg.d.ts +2 -36
  66. package/esm/components/QIcon/QIconImg.d.ts.map +1 -1
  67. package/esm/components/QIcon/QIconImg.vue.js +3 -3
  68. package/esm/components/QIcon/QIconSvg.d.ts +7 -65
  69. package/esm/components/QIcon/QIconSvg.d.ts.map +1 -1
  70. package/esm/components/QIcon/QIconSvg.vue.js +9 -9
  71. package/esm/components/QIcon/index.d.ts +9 -157
  72. package/esm/components/QIcon/index.d.ts.map +1 -1
  73. package/esm/components/QIcon/types.d.ts +40 -0
  74. package/esm/components/QIcon/types.d.ts.map +1 -0
  75. package/esm/components/QInputGroup/QInputGroup.d.ts +17 -74
  76. package/esm/components/QInputGroup/QInputGroup.d.ts.map +1 -1
  77. package/esm/components/QInputGroup/index.d.ts +2 -153
  78. package/esm/components/QInputGroup/index.d.ts.map +1 -1
  79. package/esm/components/QInputGroup/types.d.ts +34 -0
  80. package/esm/components/QInputGroup/types.d.ts.map +1 -0
  81. package/esm/components/QLineLoader/QLineLoader.d.ts +3 -29
  82. package/esm/components/QLineLoader/QLineLoader.d.ts.map +1 -1
  83. package/esm/components/QLineLoader/index.d.ts +2 -13
  84. package/esm/components/QLineLoader/index.d.ts.map +1 -1
  85. package/esm/components/QLineLoader/types.d.ts +7 -0
  86. package/esm/components/QLineLoader/types.d.ts.map +1 -0
  87. package/esm/components/QList/QList.d.ts +25 -116
  88. package/esm/components/QList/QList.d.ts.map +1 -1
  89. package/esm/components/QList/QListItem.d.ts +16 -84
  90. package/esm/components/QList/QListItem.d.ts.map +1 -1
  91. package/esm/components/QList/QListItem.vue.js +25 -31
  92. package/esm/components/QList/QListItemGroup.d.ts +11 -34
  93. package/esm/components/QList/QListItemGroup.d.ts.map +1 -1
  94. package/esm/components/QList/index.d.ts +7 -453
  95. package/esm/components/QList/index.d.ts.map +1 -1
  96. package/esm/components/QList/types.d.ts +100 -0
  97. package/esm/components/QList/types.d.ts.map +1 -0
  98. package/esm/components/QList/types.js +11 -0
  99. package/esm/components/QOverlay/QOverlay.d.ts +31 -234
  100. package/esm/components/QOverlay/QOverlay.d.ts.map +1 -1
  101. package/esm/components/QOverlay/QOverlay.vue.js +1 -2
  102. package/esm/components/QOverlay/index.d.ts +2 -339
  103. package/esm/components/QOverlay/index.d.ts.map +1 -1
  104. package/esm/components/QOverlay/types.d.ts +87 -0
  105. package/esm/components/QOverlay/types.d.ts.map +1 -0
  106. package/esm/components/QPopover/QPopover.d.ts +21 -120
  107. package/esm/components/QPopover/QPopover.d.ts.map +1 -1
  108. package/esm/components/QPopover/index.d.ts +2 -180
  109. package/esm/components/QPopover/index.d.ts.map +1 -1
  110. package/esm/components/QPopover/types.d.ts +43 -0
  111. package/esm/components/QPopover/types.d.ts.map +1 -0
  112. package/esm/components/QPropertyList/QPropertyList.d.ts +42 -0
  113. package/esm/components/QPropertyList/QPropertyList.d.ts.map +1 -0
  114. package/esm/components/QPropertyList/QPropertyList.vue.js +145 -0
  115. package/esm/components/QPropertyList/QPropertyList.vue2.js +4 -0
  116. package/esm/components/QPropertyList/QPropertyListGroup.d.ts +11 -0
  117. package/esm/components/QPropertyList/QPropertyListGroup.d.ts.map +1 -0
  118. package/esm/components/QPropertyList/QPropertyListGroup.vue.js +68 -0
  119. package/esm/components/QPropertyList/QPropertyListGroup.vue2.js +4 -0
  120. package/esm/components/QPropertyList/QPropertyListPanel.d.ts +21 -0
  121. package/esm/components/QPropertyList/QPropertyListPanel.d.ts.map +1 -0
  122. package/esm/components/QPropertyList/QPropertyListPanel.vue.js +43 -0
  123. package/esm/components/QPropertyList/QPropertyListPanel.vue2.js +4 -0
  124. package/esm/components/QPropertyList/QPropertyListRow.d.ts +24 -0
  125. package/esm/components/QPropertyList/QPropertyListRow.d.ts.map +1 -0
  126. package/esm/components/QPropertyList/QPropertyListRow.vue.js +64 -0
  127. package/esm/components/QPropertyList/QPropertyListRow.vue2.js +4 -0
  128. package/esm/components/QPropertyList/index.d.ts +12 -0
  129. package/esm/components/QPropertyList/index.d.ts.map +1 -0
  130. package/esm/components/QPropertyList/index.js +12 -0
  131. package/esm/components/QPropertyList/types.d.ts +137 -0
  132. package/esm/components/QPropertyList/types.d.ts.map +1 -0
  133. package/esm/components/QPropertyList/types.js +14 -0
  134. package/esm/components/QSelect/QSelect.d.ts +202 -227
  135. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  136. package/esm/components/QSelect/QSelect.vue.js +140 -146
  137. package/esm/components/QSelect/index.d.ts +2 -369
  138. package/esm/components/QSelect/index.d.ts.map +1 -1
  139. package/esm/components/QSelect/types.d.ts +81 -0
  140. package/esm/components/QSelect/types.d.ts.map +1 -0
  141. package/esm/components/QSelect/types.js +16 -0
  142. package/esm/components/QSkeletonLoader/QSkeletonLoader.d.ts +3 -41
  143. package/esm/components/QSkeletonLoader/QSkeletonLoader.d.ts.map +1 -1
  144. package/esm/components/QSkeletonLoader/QSkeletonLoader.vue.js +19 -19
  145. package/esm/components/QSkeletonLoader/index.d.ts +2 -31
  146. package/esm/components/QSkeletonLoader/index.d.ts.map +1 -1
  147. package/esm/components/QSkeletonLoader/types.d.ts +15 -0
  148. package/esm/components/QSkeletonLoader/types.d.ts.map +1 -0
  149. package/esm/components/QSpinnerLoader/QSpinnerLoader.d.ts +3 -35
  150. package/esm/components/QSpinnerLoader/QSpinnerLoader.d.ts.map +1 -1
  151. package/esm/components/QSpinnerLoader/QSpinnerLoader.vue.js +6 -6
  152. package/esm/components/QSpinnerLoader/index.d.ts +2 -22
  153. package/esm/components/QSpinnerLoader/index.d.ts.map +1 -1
  154. package/esm/components/QSpinnerLoader/types.d.ts +11 -0
  155. package/esm/components/QSpinnerLoader/types.d.ts.map +1 -0
  156. package/esm/components/QTextField/QTextField.d.ts +103 -147
  157. package/esm/components/QTextField/QTextField.d.ts.map +1 -1
  158. package/esm/components/QTextField/index.d.ts +2 -229
  159. package/esm/components/QTextField/index.d.ts.map +1 -1
  160. package/esm/components/QTextField/types.d.ts +50 -0
  161. package/esm/components/QTextField/types.d.ts.map +1 -0
  162. package/esm/components/QThemeProvider/QThemeProvider.d.ts +10 -17
  163. package/esm/components/QThemeProvider/QThemeProvider.d.ts.map +1 -1
  164. package/esm/components/QThemeProvider/index.d.ts +2 -37
  165. package/esm/components/QThemeProvider/index.d.ts.map +1 -1
  166. package/esm/components/QThemeProvider/types.d.ts +7 -0
  167. package/esm/components/QThemeProvider/types.d.ts.map +1 -0
  168. package/esm/components/QTooltip/QTooltip.d.ts +28 -190
  169. package/esm/components/QTooltip/QTooltip.d.ts.map +1 -1
  170. package/esm/components/QTooltip/index.d.ts +2 -279
  171. package/esm/components/QTooltip/index.d.ts.map +1 -1
  172. package/esm/components/QTooltip/types.d.ts +66 -0
  173. package/esm/components/QTooltip/types.d.ts.map +1 -0
  174. package/esm/components/index.d.ts +1 -0
  175. package/esm/components/index.d.ts.map +1 -1
  176. package/esm/components/index.js +42 -37
  177. package/esm/composables/defaults.d.ts +0 -1
  178. package/esm/composables/defaults.js +3 -6
  179. package/esm/composables/theme.d.ts +0 -1
  180. package/esm/framework.d.ts +0 -1
  181. package/esm/index.d.ts +4 -0
  182. package/esm/templates/theme.d.ts +0 -1
  183. package/esm/utils/color.js +1 -2
  184. package/esm/utils/setupPropsProxy.d.ts +0 -1
  185. package/esm/utils/setupPropsProxy.js +2 -4
  186. package/esm/utils/theme.d.ts +0 -1
  187. package/package.json +40 -41
package/dist/ui.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.13.3
2
+ * Quidgest UI v0.14.1
3
3
  * (c) 2024 Quidgest - Consultores de Gestão, S.A.
4
4
  * Released under the MIT License.
5
5
  */
@@ -7,108 +7,108 @@
7
7
  *,
8
8
  ::before,
9
9
  ::after {
10
- box-sizing: border-box;
10
+ box-sizing: border-box;
11
11
  }
12
12
  html {
13
-
14
- font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',
15
- 'Segoe UI Emoji';
16
- line-height: 1.15;
17
- -webkit-text-size-adjust: 100%;
18
- -moz-tab-size: 4;
19
- tab-size: 4;
13
+
14
+ font-family: system-ui, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif, 'Apple Color Emoji',
15
+ 'Segoe UI Emoji';
16
+ line-height: 1.15;
17
+ -webkit-text-size-adjust: 100%;
18
+ -moz-tab-size: 4;
19
+ tab-size: 4;
20
20
  }
21
21
  body {
22
- margin: 0;
22
+ margin: 0;
23
23
  }
24
24
  hr {
25
- height: 0;
26
- color: inherit;
25
+ height: 0;
26
+ color: inherit;
27
27
  }
28
28
  b,
29
29
  strong {
30
- font-weight: bolder;
30
+ font-weight: bolder;
31
31
  }
32
32
  code,
33
33
  kbd,
34
34
  samp,
35
35
  pre {
36
- font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
37
- font-size: 1em;
36
+ font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
37
+ font-size: 1em;
38
38
  }
39
39
  small {
40
- font-size: 80%;
40
+ font-size: 80%;
41
41
  }
42
42
  sub,
43
43
  sup {
44
- font-size: 75%;
45
- line-height: 0;
46
- position: relative;
47
- vertical-align: baseline;
44
+ font-size: 75%;
45
+ line-height: 0;
46
+ position: relative;
47
+ vertical-align: baseline;
48
48
  }
49
49
  sub {
50
- bottom: -0.25em;
50
+ bottom: -0.25em;
51
51
  }
52
52
  sup {
53
- top: -0.5em;
53
+ top: -0.5em;
54
54
  }
55
55
  table {
56
- text-indent: 0;
57
- border-color: inherit;
56
+ text-indent: 0;
57
+ border-color: inherit;
58
58
  }
59
59
  button,
60
60
  input,
61
61
  optgroup,
62
62
  select,
63
63
  textarea {
64
- font-family: inherit;
65
- font-size: 100%;
66
- line-height: 1.15;
67
- margin: 0;
64
+ font-family: inherit;
65
+ font-size: 100%;
66
+ line-height: 1.15;
67
+ margin: 0;
68
68
  }
69
69
  button,
70
70
  select {
71
- text-transform: none;
71
+ text-transform: none;
72
72
  }
73
73
  button,
74
74
  [type='button'],
75
75
  [type='reset'],
76
76
  [type='submit'] {
77
- -webkit-appearance: button;
77
+ -webkit-appearance: button;
78
78
  }
79
79
  ::-moz-focus-inner {
80
- border-style: none;
81
- padding: 0;
80
+ border-style: none;
81
+ padding: 0;
82
82
  }
83
83
  :-moz-focusring {
84
- outline: 1px dotted ButtonText;
84
+ outline: 1px dotted ButtonText;
85
85
  }
86
86
  :-moz-ui-invalid {
87
- box-shadow: none;
87
+ box-shadow: none;
88
88
  }
89
89
  legend {
90
- padding: 0;
90
+ padding: 0;
91
91
  }
92
92
  progress {
93
- vertical-align: baseline;
93
+ vertical-align: baseline;
94
94
  }
95
95
  ::-webkit-inner-spin-button,
96
96
  ::-webkit-outer-spin-button {
97
- height: auto;
97
+ height: auto;
98
98
  }
99
99
  [type='search'] {
100
- -webkit-appearance: textfield;
101
- outline-offset: -2px;
100
+ -webkit-appearance: textfield;
101
+ outline-offset: -2px;
102
102
  }
103
103
  ::-webkit-search-decoration {
104
- -webkit-appearance: none;
104
+ -webkit-appearance: none;
105
105
  }
106
106
  ::-webkit-file-upload-button {
107
- -webkit-appearance: button;
108
- font: inherit;
107
+ -webkit-appearance: button;
108
+ font: inherit;
109
109
  }
110
110
  summary {
111
- display: list-item;
111
+ display: list-item;
112
112
  }
113
113
  $border-radius: 0.25rem !default;
114
114
  $compact: true !default;
@@ -116,59 +116,59 @@ $space-base: 0.25rem !default;
116
116
  $space-x-base: $space-base !default;
117
117
  $space-y-base: $space-base !default;
118
118
  $space-none: (
119
- x: 0,
120
- y: 0
119
+ x: 0,
120
+ y: 0
121
121
  ) !default;
122
122
  $space-xs: (
123
- x: (
124
- $space-x-base * 0.25
125
- ),
126
- y: (
127
- $space-y-base * 0.25
128
- )
123
+ x: (
124
+ $space-x-base * 0.25
125
+ ),
126
+ y: (
127
+ $space-y-base * 0.25
128
+ )
129
129
  ) !default;
130
130
  $space-sm: (
131
- x: (
132
- $space-x-base * 0.5
133
- ),
134
- y: (
135
- $space-y-base * 0.5
136
- )
131
+ x: (
132
+ $space-x-base * 0.5
133
+ ),
134
+ y: (
135
+ $space-y-base * 0.5
136
+ )
137
137
  ) !default;
138
138
  $space-md: (
139
- x: $space-x-base,
140
- y: $space-y-base
139
+ x: $space-x-base,
140
+ y: $space-y-base
141
141
  ) !default;
142
142
  $space-lg: (
143
- x: (
144
- $space-x-base * 1.5
145
- ),
146
- y: (
147
- $space-y-base * 1.5
148
- )
143
+ x: (
144
+ $space-x-base * 1.5
145
+ ),
146
+ y: (
147
+ $space-y-base * 1.5
148
+ )
149
149
  ) !default;
150
150
  $space-xl: (
151
- x: (
152
- $space-x-base * 3
153
- ),
154
- y: (
155
- $space-y-base * 3
156
- )
151
+ x: (
152
+ $space-x-base * 3
153
+ ),
154
+ y: (
155
+ $space-y-base * 3
156
+ )
157
157
  ) !default;
158
158
  $spaces: (
159
- 'none': $space-none,
160
- 'xs': $space-xs,
161
- 'sm': $space-sm,
162
- 'md': $space-md,
163
- 'lg': $space-lg,
164
- 'xl': $space-xl
159
+ 'none': $space-none,
160
+ 'xs': $space-xs,
161
+ 'sm': $space-sm,
162
+ 'md': $space-md,
163
+ 'lg': $space-lg,
164
+ 'xl': $space-xl
165
165
  ) !default;
166
166
  $shadow-sm: (0 0 #0000, 0 0 #0000, 0 1px 2px 0 rgba(0, 0, 0, 0.05));
167
167
  $shadow-md: (
168
- 0 0 #0000,
169
- 0 0 #0000,
170
- 0 4px 6px -1px rgba(0, 0, 0, 0.1),
171
- 0 2px 4px -2px rgba(0, 0, 0, 0.1)
168
+ 0 0 #0000,
169
+ 0 0 #0000,
170
+ 0 4px 6px -1px rgba(0, 0, 0, 0.1),
171
+ 0 2px 4px -2px rgba(0, 0, 0, 0.1)
172
172
  );
173
173
  $breakpoint-xs: 599px !default;
174
174
  $breakpoint-sm: 1023px !default;
@@ -192,124 +192,124 @@ $scrollbar-track: rgb(var(--q-theme-neutral-light-rgb) / 0.25);
192
192
  $input-padding-y: 0.26rem !default;
193
193
  $input-padding-x: 0.25rem !default;
194
194
  .no-scroll {
195
- height: 100%;
196
- margin: 0;
197
- overflow: hidden;
195
+ height: 100%;
196
+ margin: 0;
197
+ overflow: hidden;
198
198
  }
199
199
  *,
200
200
  ::after,
201
201
  ::before {
202
- border: 0 solid $border;
203
- outline-offset: 1px;
202
+ border: 0 solid $border;
203
+ outline-offset: 1px;
204
204
  }
205
205
  body {
206
- font-size: $font-size-base;
207
- color: var(--q-theme-on-background);
208
- caret-color: var(--q-theme-on-background);
209
-
210
- * {
211
-
212
- &::-webkit-scrollbar {
213
- width: 7px;
214
- height: 7px;
215
- }
216
- &::-webkit-scrollbar-thumb {
217
- background-color: $scrollbar-thumb;
218
- border-radius: $border-radius;
219
- }
220
- &::-webkit-scrollbar-track {
221
- background-color: $scrollbar-track;
222
- border-radius: $border-radius;
223
- }
224
-
225
- scrollbar-color: $scrollbar-thumb $scrollbar-track;
226
- scrollbar-width: thin;
227
- }
206
+ font-size: $font-size-base;
207
+ color: var(--q-theme-on-background);
208
+ caret-color: var(--q-theme-on-background);
209
+
210
+ * {
211
+
212
+ scrollbar-color: $scrollbar-thumb $scrollbar-track;
213
+ scrollbar-width: thin;
214
+
215
+ &::-webkit-scrollbar {
216
+ width: 7px;
217
+ height: 7px;
218
+ }
219
+ &::-webkit-scrollbar-thumb {
220
+ background-color: $scrollbar-thumb;
221
+ border-radius: $border-radius;
222
+ }
223
+ &::-webkit-scrollbar-track {
224
+ background-color: $scrollbar-track;
225
+ border-radius: $border-radius;
226
+ }
227
+ }
228
228
  }
229
229
  .fade-enter-from,
230
230
  .fade-leave-to {
231
- opacity: 0;
231
+ opacity: 0;
232
232
  }
233
233
  .fade-enter-to,
234
234
  .fade-leave-from {
235
- opacity: 1;
235
+ opacity: 1;
236
236
  }
237
237
  .fade-enter-active,
238
238
  .fade-leave-active {
239
- transition: opacity 0.2s;
239
+ transition: opacity 0.2s;
240
240
  }
241
241
  .q-badge {
242
- $this: &;
243
- display: inline-flex;
244
- border-width: 1px;
245
- border-color: transparent;
246
- border-radius: $border-radius;
247
- padding: 0.25em 0.5em;
248
- line-height: 1rem;
249
- font-size: 0.75rem;
250
- position: relative;
251
- color: var(--q-badge-text-color);
252
- &__underlay {
253
- position: absolute;
254
- top: 0;
255
- left: 0;
256
- width: 100%;
257
- height: 100%;
258
- border-radius: inherit;
259
- background-color: var(--q-badge-color);
260
- opacity: 0.1;
261
- }
262
- &__content {
263
- display: inline-flex;
264
- align-items: center;
265
- gap: 0.25rem;
266
- min-height: 1rem;
267
- z-index: 1;
268
- }
269
- &__remove.q-btn:not(:disabled) {
270
- padding: 0;
271
- border-radius: 9999px;
272
- color: inherit;
273
- &:hover {
274
- background-color: var(--q-badge-color);
275
- }
276
- }
277
-
278
- &--pill {
279
- border-radius: 9999px;
280
- }
281
- &--bold {
282
- #{$this}__underlay {
283
- opacity: 1;
284
- }
285
- }
286
- &--outlined {
287
- border-color: currentColor;
288
- #{$this}__underlay {
289
- opacity: 0;
290
- }
291
- }
292
- @mixin color-variant($color) {
293
- &--#{$color} {
294
- --q-badge-color: var(--q-theme-#{$color});
295
- }
296
- &--#{$color}.q-badge--tonal,
297
- &--#{$color}.q-badge--outlined {
298
- --q-badge-text-color: var(--q-theme-#{$color});
299
- }
300
- &--#{$color}.q-badge--bold {
301
- --q-badge-text-color: var(--q-theme-on-#{$color});
302
- .q-badge__remove.q-btn:not(:disabled):hover {
303
- background-color: var(--q-badge-text-color);
304
- color: var(--q-badge-color);
305
- }
306
- }
307
- }
308
- @include color-variant(primary);
309
- @include color-variant(info);
310
- @include color-variant(success);
311
- @include color-variant(warning);
312
- @include color-variant(danger);
242
+ $this: &;
243
+ display: inline-flex;
244
+ border-width: 1px;
245
+ border-color: transparent;
246
+ border-radius: $border-radius;
247
+ padding: 0.25em 0.5em;
248
+ line-height: 1rem;
249
+ font-size: 0.75rem;
250
+ position: relative;
251
+ color: var(--q-badge-text-color);
252
+ &__underlay {
253
+ position: absolute;
254
+ top: 0;
255
+ left: 0;
256
+ width: 100%;
257
+ height: 100%;
258
+ border-radius: inherit;
259
+ background-color: var(--q-badge-color);
260
+ opacity: 0.1;
261
+ }
262
+ &__content {
263
+ display: inline-flex;
264
+ align-items: center;
265
+ gap: 0.25rem;
266
+ min-height: 1rem;
267
+ z-index: 1;
268
+ }
269
+ &__remove.q-btn:not(:disabled) {
270
+ padding: 0;
271
+ border-radius: 9999px;
272
+ color: inherit;
273
+ &:hover {
274
+ background-color: var(--q-badge-color);
275
+ }
276
+ }
277
+
278
+ &--pill {
279
+ border-radius: 9999px;
280
+ }
281
+ &--bold {
282
+ #{$this}__underlay {
283
+ opacity: 1;
284
+ }
285
+ }
286
+ &--outlined {
287
+ border-color: currentColor;
288
+ #{$this}__underlay {
289
+ opacity: 0;
290
+ }
291
+ }
292
+ @mixin color-variant($color) {
293
+ &--#{$color} {
294
+ --q-badge-color: var(--q-theme-#{$color});
295
+ }
296
+ &--#{$color}.q-badge--tonal,
297
+ &--#{$color}.q-badge--outlined {
298
+ --q-badge-text-color: var(--q-theme-#{$color});
299
+ }
300
+ &--#{$color}.q-badge--bold {
301
+ --q-badge-text-color: var(--q-theme-on-#{$color});
302
+ .q-badge__remove.q-btn:not(:disabled):hover {
303
+ background-color: var(--q-badge-text-color);
304
+ color: var(--q-badge-color);
305
+ }
306
+ }
307
+ }
308
+ @include color-variant(primary);
309
+ @include color-variant(info);
310
+ @include color-variant(success);
311
+ @include color-variant(warning);
312
+ @include color-variant(danger);
313
313
  }
314
314
  $button-primary: var(--q-theme-primary);
315
315
  $button-primary-hover: var(--q-theme-primary-dark);
@@ -322,559 +322,561 @@ $button-text-on-danger: var(--q-theme-background);
322
322
  $button-plain-hover: rgb(var(--q-theme-neutral-rgb) / 0.1);
323
323
  $button-text-on-plain: var(--q-theme-on-background);
324
324
  .q-btn {
325
- $this: &;
326
- --box-shadow-tint: 0 0 0;
327
- position: relative;
328
- display: flex;
329
- flex-direction: row;
330
- align-items: center;
331
- padding: 0.4rem;
332
- border-width: 1px;
333
- background-color: transparent;
334
- user-select: none;
335
- -webkit-user-select: none;
336
- -moz-user-select: none;
337
- border-radius: $border-radius;
338
- transition-property: color, background-color, border-color, box-shadow, text-decoration-color,
339
- fill, stroke;
340
- transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
341
- transition-duration: 0.15s;
342
- &:hover:not(:disabled) {
343
- cursor: pointer;
344
- }
345
- &:focus {
346
- outline: $outline;
347
- z-index: 3;
348
- &:not(:focus-visible) {
349
- outline: 0;
350
- }
351
- }
352
- &__content {
353
- position: relative;
354
- display: flex;
355
- flex-direction: row;
356
- align-items: center;
357
- justify-content: center;
358
- font-size: $font-size-base;
359
- white-space: nowrap;
360
- gap: 0.25rem;
361
- pointer-events: none;
362
- @if $compact {
363
- line-height: 15px;
364
- min-width: 15px;
365
- } @else {
366
- line-height: 16px;
367
- min-width: 16px;
368
- }
369
- }
370
- .q-spinner-loader {
371
- color: currentColor;
372
- }
373
-
374
- &--primary {
375
- --box-shadow-tint: #{$button-primary-shadow};
376
- background-color: $button-primary;
377
- border-color: $button-primary;
378
- color: $button-text-on-primary;
379
- &:hover:not(:disabled) {
380
- background-color: $button-primary-hover;
381
- border-color: $button-primary-hover;
382
- }
383
- }
384
- &--secondary {
385
- --box-shadow-tint: #{$button-primary-shadow};
386
- border-color: currentColor;
387
- color: $button-primary;
388
- &:hover:not(:disabled) {
389
- background-color: $button-primary-hover;
390
- border-color: $button-primary-hover;
391
- color: $button-text-on-primary;
392
- }
393
- }
394
- &--tertiary {
395
- --box-shadow-tint: #{$button-primary-shadow};
396
- background-color: transparent;
397
- border-color: transparent;
398
- color: $button-primary;
399
- &:hover:not(:disabled),
400
- &:focus:not(:disabled) {
401
- color: $button-primary-hover;
402
- }
403
- }
404
- &--danger {
405
- --box-shadow-tint: #{$button-danger-shadow};
406
- background-color: $button-danger;
407
- border-color: $button-danger;
408
- color: $button-text-on-danger;
409
- &:hover:not(:disabled) {
410
- background-color: $button-danger-hover;
411
- border-color: $button-danger-hover;
412
- }
413
- }
414
- &--plain {
415
- color: $button-text-on-plain;
416
- &:hover:not(:disabled) {
417
- background-color: $button-plain-hover;
418
- }
419
- }
420
-
421
- &--active {
422
- z-index: 2;
423
- color: var(--q-theme-primary-dark);
424
- border-color: var(--q-theme-primary);
425
- background-color: rgb(var(--q-theme-primary-light-rgb) / 0.5);
426
- }
427
- &:disabled {
428
- opacity: 0.6;
429
- }
430
- &--loading {
431
- &:hover {
432
- cursor: not-allowed;
433
- }
434
- span {
435
- visibility: hidden;
436
- }
437
- }
438
-
439
- &--small {
440
- padding: 0.25rem;
441
- line-height: 14px;
442
- span {
443
- font-size: 0.75rem;
444
- line-height: 14px;
445
- }
446
- }
447
-
448
- &--borderless {
449
- border-color: transparent !important;
450
- }
451
- &--elevated {
452
- box-shadow:
453
- 0 2px 4px -1px rgb(var(--box-shadow-tint) / 0.2),
454
- 0 4px 5px 0 rgb(var(--box-shadow-tint) / 0.14),
455
- 0 1px 10px 0 rgb(var(--box-shadow-tint) / 0.12);
456
- }
457
-
458
- &--block {
459
- display: block;
460
- width: 100%;
461
- & + & {
462
- margin-top: 0.5rem;
463
- }
464
- }
465
- &__spinner {
466
- position: absolute;
467
- left: 50%;
468
- transform: translateX(-50%);
469
- }
325
+ $this: &;
326
+ --box-shadow-tint: 0 0 0;
327
+ position: relative;
328
+ display: flex;
329
+ flex-direction: row;
330
+ align-items: center;
331
+ padding: 0.4rem;
332
+ border-width: 1px;
333
+ background-color: transparent;
334
+ user-select: none;
335
+ -webkit-user-select: none;
336
+ -moz-user-select: none;
337
+ border-radius: $border-radius;
338
+ transition-property: color, background-color, border-color, box-shadow, text-decoration-color,
339
+ fill, stroke;
340
+ transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
341
+ transition-duration: 0.15s;
342
+ &:hover:not(:disabled) {
343
+ cursor: pointer;
344
+ }
345
+ &:focus {
346
+ outline: $outline;
347
+ z-index: 3;
348
+ &:not(:focus-visible) {
349
+ outline: 0;
350
+ }
351
+ }
352
+ &__content {
353
+ position: relative;
354
+ display: flex;
355
+ flex-direction: row;
356
+ align-items: center;
357
+ justify-content: center;
358
+ font-size: $font-size-base;
359
+ white-space: nowrap;
360
+ gap: 0.25rem;
361
+ pointer-events: none;
362
+ @if $compact {
363
+ line-height: 15px;
364
+ min-width: 15px;
365
+ } @else {
366
+ line-height: 16px;
367
+ min-width: 16px;
368
+ }
369
+ }
370
+ .q-spinner-loader {
371
+ color: currentColor;
372
+ }
373
+
374
+ &--primary {
375
+ --box-shadow-tint: #{$button-primary-shadow};
376
+ background-color: $button-primary;
377
+ border-color: $button-primary;
378
+ color: $button-text-on-primary;
379
+ &:hover:not(:disabled) {
380
+ background-color: $button-primary-hover;
381
+ border-color: $button-primary-hover;
382
+ }
383
+ }
384
+ &--secondary {
385
+ --box-shadow-tint: #{$button-primary-shadow};
386
+ border-color: currentColor;
387
+ color: $button-primary;
388
+ &:hover:not(:disabled) {
389
+ background-color: $button-primary-hover;
390
+ border-color: $button-primary-hover;
391
+ color: $button-text-on-primary;
392
+ }
393
+ }
394
+ &--tertiary {
395
+ --box-shadow-tint: #{$button-primary-shadow};
396
+ background-color: transparent;
397
+ border-color: transparent;
398
+ color: $button-primary;
399
+ &:hover:not(:disabled),
400
+ &:focus:not(:disabled) {
401
+ color: $button-primary-hover;
402
+ }
403
+ }
404
+ &--danger {
405
+ --box-shadow-tint: #{$button-danger-shadow};
406
+ background-color: $button-danger;
407
+ border-color: $button-danger;
408
+ color: $button-text-on-danger;
409
+ &:hover:not(:disabled) {
410
+ background-color: $button-danger-hover;
411
+ border-color: $button-danger-hover;
412
+ }
413
+ }
414
+ &--plain {
415
+ color: $button-text-on-plain;
416
+ &:hover:not(:disabled) {
417
+ background-color: $button-plain-hover;
418
+ }
419
+ }
420
+
421
+ &--active {
422
+ z-index: 2;
423
+ color: var(--q-theme-primary-dark);
424
+ border-color: var(--q-theme-primary);
425
+ background-color: rgb(var(--q-theme-primary-light-rgb) / 0.5);
426
+ }
427
+ &:disabled {
428
+ opacity: 0.6;
429
+ }
430
+ &--loading {
431
+ &:hover {
432
+ cursor: not-allowed;
433
+ }
434
+ span {
435
+ visibility: hidden;
436
+ }
437
+ }
438
+
439
+ &--small {
440
+ padding: 0.25rem;
441
+ line-height: 14px;
442
+ span {
443
+ font-size: 0.75rem;
444
+ line-height: 14px;
445
+ }
446
+ }
447
+
448
+ &--borderless {
449
+ border-color: transparent !important;
450
+ }
451
+ &--elevated {
452
+ box-shadow:
453
+ 0 2px 4px -1px rgb(var(--box-shadow-tint) / 0.2),
454
+ 0 4px 5px 0 rgb(var(--box-shadow-tint) / 0.14),
455
+ 0 1px 10px 0 rgb(var(--box-shadow-tint) / 0.12);
456
+ }
457
+
458
+ &--block {
459
+ display: block;
460
+ width: 100%;
461
+ & + & {
462
+ margin-top: 0.5rem;
463
+ }
464
+ }
465
+ &__spinner {
466
+ position: absolute;
467
+ left: 50%;
468
+ transform: translateX(-50%);
469
+ }
470
470
  }
471
471
  .q-btn-group {
472
- --box-shadow-tint: 0 0 0;
473
- position: relative;
474
- display: inline-flex;
475
- border-radius: $border-radius;
476
- &--elevated {
477
- --box-shadow-tint: var(--q-theme-primary-rgb);
478
- box-shadow:
479
- 0 2px 4px -1px rgb(var(--box-shadow-tint) / 0.2),
480
- 0 4px 5px 0 rgb(var(--box-shadow-tint) / 0.14),
481
- 0 1px 10px 0 rgb(var(--box-shadow-tint) / 0.12);
482
- }
483
- > .q-btn {
484
- position: relative;
485
- flex: 0 1 auto;
486
- &:not(:last-child) {
487
- border-top-right-radius: 0;
488
- border-bottom-right-radius: 0;
489
- }
490
- &:not(:first-child) {
491
- border-top-left-radius: 0;
492
- border-bottom-left-radius: 0;
493
- margin-left: -1px;
494
- }
495
- &:hover {
496
- z-index: 3;
497
- }
498
- }
472
+ --box-shadow-tint: 0 0 0;
473
+ position: relative;
474
+ display: inline-flex;
475
+ border-radius: $border-radius;
476
+ &--elevated {
477
+ --box-shadow-tint: var(--q-theme-primary-rgb);
478
+ box-shadow:
479
+ 0 2px 4px -1px rgb(var(--box-shadow-tint) / 0.2),
480
+ 0 4px 5px 0 rgb(var(--box-shadow-tint) / 0.14),
481
+ 0 1px 10px 0 rgb(var(--box-shadow-tint) / 0.12);
482
+ }
483
+ > .q-btn {
484
+ position: relative;
485
+ flex: 0 1 auto;
486
+ &:not(:last-child) {
487
+ border-top-right-radius: 0;
488
+ border-bottom-right-radius: 0;
489
+ }
490
+ &:not(:first-child) {
491
+ border-top-left-radius: 0;
492
+ border-bottom-left-radius: 0;
493
+ margin-left: -1px;
494
+ }
495
+ &:hover {
496
+ z-index: 3;
497
+ }
498
+ }
499
499
  }
500
500
  .q-combobox {
501
- $this: &;
502
- &:not(#{$this}--disabled) {
503
- #{$this}__clear,
504
- #{$this}__chevron {
505
- &:hover,
506
- &:focus {
507
- cursor: pointer;
508
- opacity: 1;
509
- }
510
- }
511
- }
512
- &--expanded {
513
- #{$this}__chevron svg {
514
- transform: rotate(-180deg);
515
- }
516
- }
501
+ $this: &;
502
+ &:not(#{$this}--disabled) {
503
+ #{$this}__clear,
504
+ #{$this}__chevron {
505
+ &:hover,
506
+ &:focus {
507
+ cursor: pointer;
508
+ opacity: 1;
509
+ }
510
+ }
511
+ }
512
+ &--expanded {
513
+ #{$this}__chevron svg {
514
+ transform: rotate(-180deg);
515
+ }
516
+ }
517
517
  }
518
518
  .q-combobox__clear,
519
519
  .q-combobox__chevron {
520
- padding: 0.1rem;
521
- opacity: 0.5;
522
- &:hover {
523
- cursor: inherit;
524
- }
520
+ padding: 0.1rem;
521
+ opacity: 0.5;
522
+ &:hover {
523
+ cursor: inherit;
524
+ }
525
525
  }
526
526
  .q-combobox__chevron svg {
527
- transition: all 0.2s;
527
+ transition: all 0.2s;
528
528
  }
529
529
  .q-dialog {
530
- display: flex;
531
- flex-direction: column;
532
- align-items: center;
533
- justify-content: center;
534
- max-width: 50rem;
535
- min-width: 20rem;
536
- padding: $space-base;
530
+ display: flex;
531
+ flex-direction: column;
532
+ align-items: center;
533
+ justify-content: center;
534
+ max-width: 50rem;
535
+ min-width: 20rem;
536
+ padding: $space-base;
537
537
  }
538
538
  .q-dialog__underlay {
539
- background-color: rgb(var(--q-theme-on-background-rgb) / 0.3);
539
+ background-color: rgb(var(--q-theme-on-background-rgb) / 0.3);
540
540
  }
541
541
  .q-dialog__header {
542
- display: flex;
543
- width: 100%;
544
- justify-content: space-between;
545
- padding: 0.4rem $space-base;
546
- &-title {
547
- align-self: flex-start;
548
- font-weight: $font-weight-bold;
549
- padding: 0.4rem;
550
- font-size: 1rem;
551
- }
542
+ display: flex;
543
+ width: 100%;
544
+ justify-content: space-between;
545
+ padding: 0.4rem $space-base;
546
+ &-title {
547
+ align-self: flex-start;
548
+ font-weight: $font-weight-bold;
549
+ padding: 0.4rem;
550
+ font-size: 1rem;
551
+ }
552
552
  }
553
553
  .q-dialog__header .q-btn {
554
- align-items: center;
554
+ align-items: center;
555
555
  }
556
556
  .q-dialog__body {
557
- display: flex;
558
- flex-direction: column;
559
- align-items: center;
560
- padding: $space-base 0.65rem;
561
- gap: 0.4rem;
562
- &-icon svg {
563
- height: 5em;
564
- width: 5em;
565
- }
566
- &-actions {
567
- display: flex;
568
- justify-content: center;
569
- flex-wrap: wrap;
570
- gap: 0.5rem;
571
- padding: 0.65rem;
572
- padding-bottom: 0.5rem;
573
- }
557
+ display: flex;
558
+ flex-direction: column;
559
+ align-items: center;
560
+ padding: $space-base 0.65rem;
561
+ gap: 0.4rem;
562
+ &-icon svg {
563
+ height: 5em;
564
+ width: 5em;
565
+ }
566
+ &-actions {
567
+ display: flex;
568
+ justify-content: center;
569
+ flex-wrap: wrap;
570
+ gap: 0.5rem;
571
+ padding: 0.65rem;
572
+ padding-bottom: 0.5rem;
573
+ }
574
574
  }
575
575
  .q-field {
576
- $this: &;
577
- display: flex;
578
- flex-direction: column;
579
- border-radius: $border-radius;
580
- width: fit-content;
581
- &__label {
582
- display: flex;
583
- gap: $space-base;
584
- align-items: center;
585
- color: var(--q-theme-neutral-dark);
586
- line-height: 1.5;
587
- }
588
- &__control {
589
- display: flex;
590
- align-items: center;
591
- height: inherit;
592
- width: 100%;
593
- border-radius: inherit;
594
- border-width: 1px;
595
- background-color: transparent;
596
- padding: $input-padding-y $input-padding-x;
597
- line-height: 1.5;
598
- transition: color var(--transition-duration) var(--transition-timing-function);
599
- }
600
- &__extras {
601
- display: flex;
602
- gap: $space-base;
603
- align-items: center;
604
- color: var(--q-theme-neutral);
605
- margin-top: $space-base;
606
- font-size: calc(0.9 * $font-size-base);
607
- }
608
- &__prepend,
609
- &__append {
610
- display: flex;
611
- align-items: center;
612
- }
613
- &__prepend {
614
- padding-right: 0.25rem;
615
- padding-left: 0.05rem;
616
- }
617
- &__append {
618
- margin-left: auto;
619
- padding-left: 0.25rem;
620
- padding-right: 0.05rem;
621
- }
622
-
623
- &--required {
624
- > #{$this}__label label::after {
625
- content: ' *';
626
- font-weight: 700;
627
- color: var(--q-theme-danger);
628
- }
629
- }
630
- &--readonly {
631
- > #{$this}__control {
632
- background-color: rgb(var(--q-theme-neutral-light-rgb) / 0.25);
633
- }
634
- }
635
- &--disabled {
636
- > #{$this}__control {
637
- opacity: 0.5;
638
- &:hover {
639
- cursor: not-allowed;
640
- }
641
- }
642
- }
643
- &:not(#{$this}--disabled) {
644
- #{$this}__control {
645
- &:focus-within {
646
- outline: $outline;
647
- }
648
- }
649
- }
650
-
651
- @mixin field-size($size, $multiplier: 1) {
652
- &--#{$size} {
653
- > #{$this}__control {
654
- width: calc(#{$multiplier} * 5em + #{$multiplier - 1} * $space-base);
655
- }
656
- }
657
- }
658
- @include field-size(mini, 1);
659
- @include field-size(small, 2);
660
- @include field-size(medium, 3);
661
- @include field-size(large, 4);
662
- @include field-size(xlarge, 6);
663
- @include field-size(xxlarge, 8);
664
- &--block {
665
- width: 100%;
666
- }
576
+ $this: &;
577
+ display: flex;
578
+ flex-direction: column;
579
+ border-radius: $border-radius;
580
+ width: fit-content;
581
+ &__label {
582
+ display: flex;
583
+ gap: $space-base;
584
+ align-items: center;
585
+ color: var(--q-theme-neutral-dark);
586
+ line-height: 1.5;
587
+ }
588
+ &__control {
589
+ display: flex;
590
+ align-items: center;
591
+ height: inherit;
592
+ width: 100%;
593
+ border-radius: inherit;
594
+ border-width: 1px;
595
+ background-color: transparent;
596
+ padding: $input-padding-y $input-padding-x;
597
+ line-height: 1.5;
598
+ transition: color var(--transition-duration) var(--transition-timing-function);
599
+ }
600
+ &__extras {
601
+ display: flex;
602
+ gap: $space-base;
603
+ align-items: center;
604
+ color: var(--q-theme-neutral);
605
+ margin-top: $space-base;
606
+ font-size: calc(0.9 * $font-size-base);
607
+ }
608
+ &__prepend,
609
+ &__append {
610
+ display: flex;
611
+ align-items: center;
612
+ }
613
+ &__prepend {
614
+ padding-right: 0.25rem;
615
+ padding-left: 0.05rem;
616
+ }
617
+ &__append {
618
+ margin-left: auto;
619
+ padding-left: 0.25rem;
620
+ padding-right: 0.05rem;
621
+ }
622
+
623
+ &--required {
624
+ > #{$this}__label label::after {
625
+ content: ' *';
626
+ font-weight: 700;
627
+ color: var(--q-theme-danger);
628
+ }
629
+ }
630
+ &--readonly {
631
+ > #{$this}__control {
632
+ background-color: rgb(var(--q-theme-neutral-light-rgb) / 0.25);
633
+ }
634
+ }
635
+ &--disabled {
636
+ > #{$this}__control {
637
+ opacity: 0.5;
638
+ &:hover {
639
+ cursor: not-allowed;
640
+ }
641
+ }
642
+ }
643
+ &:not(#{$this}--disabled) {
644
+ #{$this}__control {
645
+ &:focus-within {
646
+ outline: $outline;
647
+ }
648
+ }
649
+ }
650
+
651
+ @mixin field-size($size, $multiplier: 1) {
652
+ &--#{$size} {
653
+ > #{$this}__control {
654
+ width: calc(#{$multiplier} * 5em + #{$multiplier - 1} * $space-base);
655
+ }
656
+ }
657
+ }
658
+ @include field-size(mini, 1);
659
+ @include field-size(small, 2);
660
+ @include field-size(medium, 3);
661
+ @include field-size(large, 4);
662
+ @include field-size(xlarge, 6);
663
+ @include field-size(xxlarge, 8);
664
+ &--block {
665
+ width: 100%;
666
+ }
667
667
  }
668
668
  .q-icon {
669
- display: inline-block;
670
- &__svg {
671
- fill: currentColor;
672
- }
673
- &__svg,
674
- &__img {
675
- width: 1em;
676
- height: 1em;
677
- }
669
+ display: inline-block;
670
+ &__svg {
671
+ fill: currentColor;
672
+ }
673
+ &__svg,
674
+ &__img {
675
+ width: 1em;
676
+ height: 1em;
677
+ }
678
678
  }
679
679
  $input-group-addon-color: var(--q-theme-primary);
680
680
  $input-group-addon-background: rgb(var(--q-theme-neutral-light-rgb) / 0.25);
681
681
  .q-input-group {
682
- &__prepend > :first-child {
683
- border-top-left-radius: $border-radius;
684
- border-bottom-left-radius: $border-radius;
685
- }
686
- &__append > :last-child {
687
- border-top-right-radius: $border-radius;
688
- border-bottom-right-radius: $border-radius;
689
- }
690
- &__prepend,
691
- &__append {
692
- display: flex;
693
- align-items: stretch;
694
- height: inherit;
695
- > * {
696
- border-radius: 0;
697
- min-width: 40px;
698
- height: 100%;
699
- justify-content: center;
700
- }
701
- > span {
702
- display: flex;
703
- align-items: center;
704
- text-align: center;
705
- line-height: 1.5;
706
- font-size: $font-size-base;
707
- border-width: 1px;
708
- background-color: $input-group-addon-background;
709
- color: $input-group-addon-color;
710
- white-space: nowrap;
711
- padding: 0 0.4rem;
712
- }
713
- > * + * {
714
- margin-left: -1px;
715
- }
716
- }
717
- > .q-field__control {
718
- display: flex;
719
- align-items: stretch;
720
- height: auto;
721
- border-width: 0;
722
- padding: 0;
723
- outline: none !important;
724
- > * {
725
- border-radius: 0;
726
- &:focus-within {
727
- z-index: 2;
728
- }
729
- }
730
- > :first-child {
731
- border-top-left-radius: $border-radius;
732
- border-bottom-left-radius: $border-radius;
733
- }
734
- > :last-child {
735
- border-top-right-radius: $border-radius;
736
- border-bottom-right-radius: $border-radius;
737
- }
738
- > * + * {
739
- margin-left: -1px;
740
- }
741
- }
682
+ &__prepend > :first-child {
683
+ border-top-left-radius: $border-radius;
684
+ border-bottom-left-radius: $border-radius;
685
+ }
686
+ &__append > :last-child {
687
+ border-top-right-radius: $border-radius;
688
+ border-bottom-right-radius: $border-radius;
689
+ }
690
+ &__prepend,
691
+ &__append {
692
+ display: flex;
693
+ align-items: stretch;
694
+ height: inherit;
695
+ > * {
696
+ border-radius: 0;
697
+ min-width: 40px;
698
+ height: 100%;
699
+ justify-content: center;
700
+ }
701
+ > span {
702
+ display: flex;
703
+ align-items: center;
704
+ text-align: center;
705
+ line-height: 1.5;
706
+ font-size: $font-size-base;
707
+ border-width: 1px;
708
+ background-color: $input-group-addon-background;
709
+ color: $input-group-addon-color;
710
+ white-space: nowrap;
711
+ padding: 0 0.4rem;
712
+ }
713
+ > * + * {
714
+ margin-left: -1px;
715
+ }
716
+ }
717
+ > .q-field__control {
718
+ display: flex;
719
+ align-items: stretch;
720
+ height: auto;
721
+ border-width: 0;
722
+ padding: 0;
723
+ outline: none !important;
724
+ > * {
725
+ border-radius: 0;
726
+ &:focus-within {
727
+ z-index: 2;
728
+ }
729
+ }
730
+ > :first-child {
731
+ border-top-left-radius: $border-radius;
732
+ border-bottom-left-radius: $border-radius;
733
+ }
734
+ > :last-child {
735
+ border-top-right-radius: $border-radius;
736
+ border-bottom-right-radius: $border-radius;
737
+ }
738
+ > * + * {
739
+ margin-left: -1px;
740
+ }
741
+ }
742
742
  }
743
743
  $line-color: var(--q-theme-primary);
744
744
  .q-line-loader {
745
- width: 100%;
746
- height: 2px;
747
- display: inline-block;
748
- position: relative;
749
- background: transparent;
750
- overflow: hidden;
751
- &::after {
752
- content: '';
753
- min-width: 33%;
754
- height: 2px;
755
- background: linear-gradient(
756
- to right,
757
- rgb(237, 235, 233) 0%,
758
- $line-color 50%,
759
- rgb(237, 235, 233) 100%
760
- );
761
- position: absolute;
762
- top: 0;
763
- left: 0;
764
- box-sizing: border-box;
765
- animation: q-move 2s linear infinite;
766
- }
745
+ width: 100%;
746
+ height: 2px;
747
+ display: inline-block;
748
+ position: relative;
749
+ background: transparent;
750
+ overflow: hidden;
751
+ &::after {
752
+ content: '';
753
+ min-width: 33%;
754
+ height: 2px;
755
+
756
+ background: linear-gradient(
757
+ to right,
758
+ rgb(237, 235, 233) 0%,
759
+ $line-color 50%,
760
+ rgb(237, 235, 233) 100%
761
+ );
762
+
763
+ position: absolute;
764
+ top: 0;
765
+ left: 0;
766
+ box-sizing: border-box;
767
+ animation: q-move 2s linear infinite;
768
+ }
767
769
  }
768
770
  @keyframes q-move {
769
- 0% {
770
- left: 0;
771
- transform: translateX(-100%);
772
- }
773
- 100% {
774
- left: 100%;
775
- transform: translateX(0%);
776
- }
771
+ 0% {
772
+ left: 0;
773
+ transform: translateX(-100%);
774
+ }
775
+ 100% {
776
+ left: 100%;
777
+ transform: translateX(0%);
778
+ }
777
779
  }
778
780
  .q-list {
779
- display: flex;
780
- flex-direction: column;
781
- align-items: center;
782
- position: relative;
783
- overflow-x: hidden;
784
- overflow-y: auto;
785
- margin: 0;
786
- padding: 0;
787
- -webkit-overflow-scrolling: touch;
788
- width: 100%;
789
- border-radius: $border-radius;
781
+ display: flex;
782
+ flex-direction: column;
783
+ align-items: center;
784
+ position: relative;
785
+ overflow-x: hidden;
786
+ overflow-y: auto;
787
+ margin: 0;
788
+ padding: 0;
789
+ -webkit-overflow-scrolling: touch;
790
+ width: 100%;
791
+ border-radius: $border-radius;
790
792
  }
791
793
  .q-list-item-group {
792
- display: flex;
793
- flex-direction: column;
794
- align-items: center;
795
- gap: 1px;
796
- list-style: none;
797
- padding: 0;
798
- margin: 0;
799
- width: inherit;
800
- &__title {
801
- color: var(--q-theme-neutral);
802
- padding: 5px 6px;
803
- line-height: 15px;
804
- width: inherit;
805
- }
806
- & + & {
807
- padding-top: $space-base;
808
- margin-top: $space-base;
809
- border-top-width: 1px;
810
- }
794
+ display: flex;
795
+ flex-direction: column;
796
+ align-items: center;
797
+ gap: 1px;
798
+ list-style: none;
799
+ padding: 0;
800
+ margin: 0;
801
+ width: inherit;
802
+ &__title {
803
+ color: var(--q-theme-neutral);
804
+ padding: 5px 6px;
805
+ line-height: 15px;
806
+ width: inherit;
807
+ }
808
+ & + & {
809
+ padding-top: $space-base;
810
+ margin-top: $space-base;
811
+ border-top-width: 1px;
812
+ }
811
813
  }
812
814
  .q-list-item {
813
- $this: &;
814
- display: flex;
815
- gap: 0.25rem;
816
- align-items: center;
817
- padding: 5px 6px;
818
- list-style: none;
819
- line-height: 15px;
820
- word-wrap: break-word;
821
- -webkit-touch-callout: none;
822
- width: inherit;
823
- border-radius: $border-radius;
824
- outline: none;
825
- &:hover {
826
- cursor: pointer;
827
- }
828
- &:hover,
829
- &:focus-visible,
830
- &--highlighted {
831
- background-color: rgb(var(--q-theme-primary-light-rgb) / 0.5);
832
- }
833
- &--disabled {
834
- pointer-events: none;
835
- opacity: 0.5;
836
- &:hover {
837
- cursor: not-allowed;
838
- }
839
- }
840
- &--selected {
841
- background-color: var(--q-theme-primary-light) !important;
842
- }
843
- em {
844
- font-style: normal;
845
- text-decoration: underline;
846
- }
847
- &__container {
848
- display: flex;
849
- flex-direction: column;
850
- flex-wrap: wrap;
851
- gap: $space-base;
852
- }
853
- &__content {
854
- display: flex;
855
- gap: $space-base;
856
- }
857
- &__check-container {
858
- display: flex;
859
- margin-left: auto;
860
- min-width: 1em;
861
- align-self: flex-start;
862
- }
863
- &__description {
864
- display: flex;
865
- gap: $space-base;
866
- align-items: flex-start;
867
- color: var(--q-theme-neutral);
868
- font-size: 0.75em;
869
- .q-icon {
870
- font-size: inherit;
871
- flex-shrink: 0;
872
- height: 1lh;
873
- }
874
- }
875
- & + & {
876
- margin-top: 1px;
877
- }
815
+ $this: &;
816
+ display: flex;
817
+ gap: 0.25rem;
818
+ align-items: center;
819
+ padding: 5px 6px;
820
+ list-style: none;
821
+ line-height: 15px;
822
+ word-wrap: break-word;
823
+ -webkit-touch-callout: none;
824
+ width: inherit;
825
+ border-radius: $border-radius;
826
+ outline: none;
827
+ &:hover {
828
+ cursor: pointer;
829
+ }
830
+ &:hover,
831
+ &:focus-visible,
832
+ &--highlighted {
833
+ background-color: rgb(var(--q-theme-primary-light-rgb) / 0.5);
834
+ }
835
+ &--disabled {
836
+ pointer-events: none;
837
+ opacity: 0.5;
838
+ &:hover {
839
+ cursor: not-allowed;
840
+ }
841
+ }
842
+ &--selected {
843
+ background-color: var(--q-theme-primary-light) !important;
844
+ }
845
+ em {
846
+ font-style: normal;
847
+ text-decoration: underline;
848
+ }
849
+ &__container {
850
+ display: flex;
851
+ flex-direction: column;
852
+ flex-wrap: wrap;
853
+ gap: $space-base;
854
+ }
855
+ &__content {
856
+ display: flex;
857
+ gap: $space-base;
858
+ }
859
+ &__check-container {
860
+ display: flex;
861
+ margin-left: auto;
862
+ min-width: 1em;
863
+ align-self: flex-start;
864
+ }
865
+ &__description {
866
+ display: flex;
867
+ gap: $space-base;
868
+ align-items: flex-start;
869
+ color: var(--q-theme-neutral);
870
+ font-size: 0.75em;
871
+ .q-icon {
872
+ font-size: inherit;
873
+ flex-shrink: 0;
874
+ height: 1lh;
875
+ }
876
+ }
877
+ & + & {
878
+ margin-top: 1px;
879
+ }
878
880
  }
879
881
  $overlay-border-width: 1px;
880
882
  $overlay-arrow-width: 11.31px;
@@ -882,316 +884,400 @@ $overlay-arrow-height: 11.31px;
882
884
  $overlay-z-index: 1070;
883
885
  $arrow-tip-radius: 0.1rem;
884
886
  .q-overlay {
885
- $this: &;
886
- --q-overlay-bg: var(--q-theme-background);
887
- --q-overlay-color: var(--q-theme-on-background);
888
- --q-overlay-border-color: var(--q-theme-neutral-light);
889
- position: fixed;
890
- z-index: $overlay-z-index;
891
- &__underlay {
892
- position: fixed;
893
- inset: 0;
894
- z-index: $overlay-z-index - 1;
895
- &--blur {
896
- backdrop-filter: blur(2px);
897
- }
898
- }
899
- &__content {
900
- display: block;
901
- position: relative;
902
- min-width: fit-content;
903
- width: 100%;
904
- background-color: var(--q-overlay-bg);
905
- color: var(--q-overlay-color);
906
- border: $overlay-border-width solid var(--q-overlay-border-color);
907
- border-radius: $border-radius;
908
- outline: none;
909
- box-shadow:
910
- 0 0 #0000,
911
- 0 0 #0000,
912
- 0 4px 6px -1px rgba(0, 0, 0, 0.1),
913
- 0 2px 4px -2px rgba(0, 0, 0, 0.1);
914
- }
915
- &__arrow {
916
- position: absolute;
917
- display: block;
918
- width: $overlay-arrow-width;
919
- height: $overlay-arrow-height;
920
- transition: opacity 0.2s ease 0s;
921
- transform: rotate(45deg);
922
- background-color: inherit;
923
- border: 0 solid var(--q-overlay-border-color);
924
- }
925
- &--top {
926
- #{$this}__arrow {
927
- bottom: - calc($overlay-arrow-height / 2) - $overlay-border-width;
928
- border-bottom-right-radius: $arrow-tip-radius;
929
- border-right-width: $overlay-border-width;
930
- border-bottom-width: $overlay-border-width;
931
- }
932
- }
933
- &--bottom {
934
- #{$this}__arrow {
935
- top: - calc($overlay-arrow-height / 2) - $overlay-border-width;
936
- border-top-left-radius: $arrow-tip-radius;
937
- border-left-width: $overlay-border-width;
938
- border-top-width: $overlay-border-width;
939
- }
940
- }
941
- &--left {
942
- #{$this}__arrow {
943
- right: - calc($overlay-arrow-width / 2) - $overlay-border-width;
944
- border-top-right-radius: $arrow-tip-radius;
945
- border-right-width: $overlay-border-width;
946
- border-top-width: $overlay-border-width;
947
- }
948
- }
949
- &--right {
950
- #{$this}__arrow {
951
- left: - calc($overlay-arrow-width / 2) - $overlay-border-width;
952
- border-bottom-left-radius: $arrow-tip-radius;
953
- border-left-width: $overlay-border-width;
954
- border-bottom-width: $overlay-border-width;
955
- }
956
- }
957
-
958
- &--independent {
959
- position: fixed;
960
- top: 50%;
961
- left: 50%;
962
- transform: translate(-50%, -50%);
963
- }
964
- &--inverted {
965
-
966
- --q-overlay-bg: var(--q-theme-on-background);
967
- --q-overlay-color: var(--q-theme-background);
968
- --q-overlay-border-color: var(--q-theme-neutral-dark);
969
- }
887
+ $this: &;
888
+ --q-overlay-bg: var(--q-theme-background);
889
+ --q-overlay-color: var(--q-theme-on-background);
890
+ --q-overlay-border-color: var(--q-theme-neutral-light);
891
+ position: fixed;
892
+ z-index: $overlay-z-index;
893
+ &__underlay {
894
+ position: fixed;
895
+ inset: 0;
896
+ z-index: $overlay-z-index - 1;
897
+ &--blur {
898
+ backdrop-filter: blur(2px);
899
+ }
900
+ }
901
+ &__content {
902
+ display: block;
903
+ position: relative;
904
+ min-width: fit-content;
905
+ width: 100%;
906
+ background-color: var(--q-overlay-bg);
907
+ color: var(--q-overlay-color);
908
+ border: $overlay-border-width solid var(--q-overlay-border-color);
909
+ border-radius: $border-radius;
910
+ outline: none;
911
+ box-shadow:
912
+ 0 0 #0000,
913
+ 0 0 #0000,
914
+ 0 4px 6px -1px rgba(0, 0, 0, 0.1),
915
+ 0 2px 4px -2px rgba(0, 0, 0, 0.1);
916
+ }
917
+ &__arrow {
918
+ position: absolute;
919
+ display: block;
920
+ width: $overlay-arrow-width;
921
+ height: $overlay-arrow-height;
922
+ transition: opacity 0.2s ease 0s;
923
+ transform: rotate(45deg);
924
+ background-color: inherit;
925
+ border: 0 solid var(--q-overlay-border-color);
926
+ }
927
+ &--top {
928
+ #{$this}__arrow {
929
+ bottom: - calc($overlay-arrow-height / 2) - $overlay-border-width;
930
+ border-bottom-right-radius: $arrow-tip-radius;
931
+ border-right-width: $overlay-border-width;
932
+ border-bottom-width: $overlay-border-width;
933
+ }
934
+ }
935
+ &--bottom {
936
+ #{$this}__arrow {
937
+ top: - calc($overlay-arrow-height / 2) - $overlay-border-width;
938
+ border-top-left-radius: $arrow-tip-radius;
939
+ border-left-width: $overlay-border-width;
940
+ border-top-width: $overlay-border-width;
941
+ }
942
+ }
943
+ &--left {
944
+ #{$this}__arrow {
945
+ right: - calc($overlay-arrow-width / 2) - $overlay-border-width;
946
+ border-top-right-radius: $arrow-tip-radius;
947
+ border-right-width: $overlay-border-width;
948
+ border-top-width: $overlay-border-width;
949
+ }
950
+ }
951
+ &--right {
952
+ #{$this}__arrow {
953
+ left: - calc($overlay-arrow-width / 2) - $overlay-border-width;
954
+ border-bottom-left-radius: $arrow-tip-radius;
955
+ border-left-width: $overlay-border-width;
956
+ border-bottom-width: $overlay-border-width;
957
+ }
958
+ }
959
+
960
+ &--independent {
961
+ position: fixed;
962
+ top: 50%;
963
+ left: 50%;
964
+ transform: translate(-50%, -50%);
965
+ }
966
+ &--inverted {
967
+
968
+ --q-overlay-bg: var(--q-theme-on-background);
969
+ --q-overlay-color: var(--q-theme-background);
970
+ --q-overlay-border-color: var(--q-theme-neutral-dark);
971
+ }
970
972
  }
971
973
  $popover-header-bg: rgb(var(--q-theme-neutral-light-rgb) / 0.25);
972
974
  .q-popover {
973
- .q-overlay__content {
974
- z-index: 1070;
975
- position: relative;
976
- max-width: 276px;
977
- line-height: 1.5;
978
- word-break: normal;
979
- word-spacing: normal;
980
- word-wrap: break-word;
981
- white-space: normal;
982
- line-break: auto;
983
- font-size: calc($font-size-base * 0.9);
984
- }
985
- &__header {
986
- padding: 0.5rem 1rem;
987
- margin: 0;
988
- font-size: $font-size-base;
989
- background-color: $popover-header-bg;
990
- border-bottom: 1px solid var(--q-overlay-border-color);
991
- border-top-left-radius: inherit;
992
- border-top-right-radius: inherit;
993
- }
994
- &__body {
995
- padding: 1rem;
996
- }
975
+ .q-overlay__content {
976
+ z-index: 1070;
977
+ position: relative;
978
+ max-width: 276px;
979
+ line-height: 1.5;
980
+ word-break: normal;
981
+ word-spacing: normal;
982
+ word-wrap: break-word;
983
+ white-space: normal;
984
+ line-break: auto;
985
+ font-size: calc($font-size-base * 0.9);
986
+ }
987
+ &__header {
988
+ padding: 0.5rem 1rem;
989
+ margin: 0;
990
+ font-size: $font-size-base;
991
+ background-color: $popover-header-bg;
992
+ border-bottom: 1px solid var(--q-overlay-border-color);
993
+ border-top-left-radius: inherit;
994
+ border-top-right-radius: inherit;
995
+ }
996
+ &__body {
997
+ padding: 1rem;
998
+ }
997
999
  }
998
1000
  .q-popover.q-overlay--bottom .q-overlay__arrow::after {
999
- border-bottom-color: $popover-header-bg;
1001
+ border-bottom-color: $popover-header-bg;
1002
+ }
1003
+ $table-header-bg: rgb(var(--q-theme-neutral-light-rgb) / 0.25);
1004
+ $row-hover-bg: rgb(var(--q-theme-primary-light-rgb) / 0.5);
1005
+ $row-selected-bg: rgb(var(--q-theme-primary-rgb) / 0.15);
1006
+ $base-border: 1px solid rgba(0, 0, 0, 0.1);
1007
+ .q-property-list {
1008
+ margin: 0;
1009
+ font-size: 0.9rem;
1010
+ display: flex;
1011
+ flex-direction: column;
1012
+ border: $base-border;
1013
+ &--side-panel {
1014
+ flex-direction: row;
1015
+ .q-property-list-panel__container {
1016
+ border-left: $base-border;
1017
+ width: 20%;
1018
+ }
1019
+ }
1020
+ &-panel__container {
1021
+ padding: 0.4rem;
1022
+ display: flex;
1023
+ flex-direction: column;
1024
+ min-height: 50px;
1025
+ gap: 1rem;
1026
+ }
1027
+ &-panel__label {
1028
+ font-weight: bold;
1029
+ }
1030
+ &__table {
1031
+ width: 100%;
1032
+ border-spacing: 0;
1033
+ margin: 0;
1034
+ }
1035
+ &__header {
1036
+ background: $table-header-bg;
1037
+ height: 25px;
1038
+ }
1039
+ &__row {
1040
+ &:hover {
1041
+ background-color: $row-hover-bg;
1042
+ }
1043
+ .q-field:not(.q-field--readonly) .q-field__control {
1044
+ background-color: var(--q-theme-background);
1045
+ }
1046
+ &--closed {
1047
+ display: none;
1048
+ }
1049
+ &--selected {
1050
+ background-color: $row-selected-bg;
1051
+ }
1052
+ }
1053
+ &__cell {
1054
+ padding: 0.1rem 0.5rem;
1055
+ &--label {
1056
+ width: 20%;
1057
+ font-size: 0.85rem;
1058
+ text-wrap: nowrap;
1059
+ opacity: 0.8;
1060
+ }
1061
+ }
1062
+ tbody td {
1063
+ border-bottom: $base-border;
1064
+ }
1065
+ &-group {
1066
+ cursor: pointer;
1067
+ td {
1068
+ padding: 0.2rem 0.25rem;
1069
+ }
1070
+ &__content {
1071
+ display: flex;
1072
+ align-items: center;
1073
+ }
1074
+ ~ .q-property-list__row .q-property-list__cell--label {
1075
+ padding: 0 2rem;
1076
+ }
1077
+ &--no-toggle {
1078
+ cursor: default;
1079
+ td {
1080
+ padding: 0.5rem 1rem;
1081
+ }
1082
+ }
1083
+ }
1000
1084
  }
1001
1085
  .q-select {
1002
- $this: &;
1003
- &:not(#{$this}--readonly):not(#{$this}--disabled) {
1004
- cursor: pointer;
1005
- }
1006
- &:not(#{$this}--disabled) {
1007
- #{$this}__clear,
1008
- #{$this}__chevron {
1009
- &:hover,
1010
- &:focus {
1011
- opacity: 1;
1012
- }
1013
- }
1014
- }
1015
- &__value,
1016
- &__placeholder {
1017
- white-space: nowrap;
1018
- overflow: hidden;
1019
- text-overflow: ellipsis;
1020
- pointer-events: none;
1021
- min-height: 1lh;
1022
- }
1023
- &__placeholder {
1024
- font-style: italic;
1025
- color: var(--q-theme-neutral);
1026
- }
1027
- &--expanded {
1028
- #{$this}__chevron svg {
1029
- transform: rotate(-180deg);
1030
- }
1031
- }
1032
-
1033
- .q-field__prepend {
1034
- padding-left: 6px;
1035
- padding-right: $space-base;
1036
- }
1086
+ $this: &;
1087
+ &:not(#{$this}--readonly):not(#{$this}--disabled) {
1088
+ cursor: pointer;
1089
+ }
1090
+ &:not(#{$this}--disabled) {
1091
+ #{$this}__clear,
1092
+ #{$this}__chevron {
1093
+ &:hover,
1094
+ &:focus {
1095
+ opacity: 1;
1096
+ }
1097
+ }
1098
+ }
1099
+ &__value,
1100
+ &__placeholder {
1101
+ white-space: nowrap;
1102
+ overflow: hidden;
1103
+ text-overflow: ellipsis;
1104
+ pointer-events: none;
1105
+ min-height: 1lh;
1106
+ }
1107
+ &__placeholder {
1108
+ font-style: italic;
1109
+ color: var(--q-theme-neutral);
1110
+ }
1111
+ &--expanded {
1112
+ #{$this}__chevron svg {
1113
+ transform: rotate(-180deg);
1114
+ }
1115
+ }
1116
+
1117
+ .q-field__prepend {
1118
+ padding-left: 6px;
1119
+ padding-right: $space-base;
1120
+ }
1037
1121
  }
1038
1122
  .q-select__clear,
1039
1123
  .q-select__chevron {
1040
- padding: 0.1rem;
1041
- opacity: 0.5;
1042
- &:hover {
1043
- cursor: inherit;
1044
- }
1124
+ padding: 0.1rem;
1125
+ opacity: 0.5;
1126
+ &:hover {
1127
+ cursor: inherit;
1128
+ }
1045
1129
  }
1046
1130
  .q-select__chevron svg {
1047
- transition: all 0.2s;
1131
+ transition: all 0.2s;
1048
1132
  }
1049
1133
  .q-select__body {
1050
- display: flex;
1051
- flex-direction: column;
1052
- align-items: flex-start;
1053
- gap: $space-base;
1054
- width: 100%;
1055
- padding: $space-base 0;
1056
- outline: none;
1057
- .q-list-item {
1058
- width: calc(100% - 2 * $space-base);
1059
- margin-left: $space-base;
1060
- margin-right: $space-base;
1061
- }
1134
+ display: flex;
1135
+ flex-direction: column;
1136
+ align-items: flex-start;
1137
+ gap: $space-base;
1138
+ width: 100%;
1139
+ padding: $space-base 0;
1140
+ outline: none;
1141
+ .q-list-item {
1142
+ width: calc(100% - 2 * $space-base);
1143
+ margin-left: $space-base;
1144
+ margin-right: $space-base;
1145
+ }
1062
1146
  }
1063
1147
  .q-select__items {
1064
- min-width: fit-content;
1065
- width: 100%;
1066
- max-height: 240px;
1067
- align-items: start;
1148
+ min-width: fit-content;
1149
+ width: 100%;
1150
+ max-height: 240px;
1151
+ align-items: start;
1068
1152
  }
1069
1153
  .q-select__loader {
1070
- display: flex;
1071
- justify-content: center;
1072
- width: 100%;
1154
+ display: flex;
1155
+ justify-content: center;
1156
+ width: 100%;
1073
1157
  }
1074
1158
  .q-select__loader,
1075
1159
  .q-select__empty {
1076
- margin: calc(4 * $space-base) 0;
1160
+ margin: calc(4 * $space-base) 0;
1077
1161
  }
1078
1162
  .q-skeleton-loader {
1079
- $this: &;
1080
- &__bone {
1081
- display: inline-flex;
1082
- width: 100%;
1083
- height: 100%;
1084
- position: relative;
1085
- overflow: hidden;
1086
- background-color: var(--q-theme-neutral-light);
1087
- animation: fadeIn 1s;
1088
- border-radius: $border-radius;
1089
- &::after {
1090
- position: absolute;
1091
- top: 0;
1092
- right: 0;
1093
- bottom: 0;
1094
- left: 0;
1095
- transform: translateX(-100%);
1096
- background-image: linear-gradient(
1097
- 90deg,
1098
- rgb(var(--q-theme-background-rgb) / 0) 0,
1099
- rgb(var(--q-theme-background-rgb) / 0.2) 20%,
1100
- rgb(var(--q-theme-background-rgb) / 0.5) 60%,
1101
- rgb(var(--q-theme-background-rgb) / 0)
1102
- );
1103
- animation: shimmer 2s infinite;
1104
- content: '';
1105
- }
1106
- }
1107
- &--text {
1108
- height: 1em;
1109
- }
1110
- &--icon {
1111
- width: 20px;
1112
- height: 20px;
1113
- #{$this}__bone {
1114
- border-radius: 50%;
1115
- }
1116
- }
1117
- @keyframes shimmer {
1118
- 100% {
1119
- transform: translateX(100%);
1120
- }
1121
- }
1122
- @keyframes fadeIn {
1123
- 0% {
1124
- opacity: 0;
1125
- }
1126
- 100% {
1127
- opacity: 1;
1128
- }
1129
- }
1163
+ $this: &;
1164
+ &__bone {
1165
+ display: inline-flex;
1166
+ width: 100%;
1167
+ height: 100%;
1168
+ position: relative;
1169
+ overflow: hidden;
1170
+ background-color: var(--q-theme-neutral-light);
1171
+ animation: fadeIn 1s;
1172
+ border-radius: $border-radius;
1173
+ &::after {
1174
+ position: absolute;
1175
+ top: 0;
1176
+ right: 0;
1177
+ bottom: 0;
1178
+ left: 0;
1179
+ transform: translateX(-100%);
1180
+
1181
+ background-image: linear-gradient(
1182
+ 90deg,
1183
+ rgb(var(--q-theme-background-rgb) / 0) 0,
1184
+ rgb(var(--q-theme-background-rgb) / 0.2) 20%,
1185
+ rgb(var(--q-theme-background-rgb) / 0.5) 60%,
1186
+ rgb(var(--q-theme-background-rgb) / 0)
1187
+ );
1188
+
1189
+ animation: shimmer 2s infinite;
1190
+ content: '';
1191
+ }
1192
+ }
1193
+ &--text {
1194
+ height: 1em;
1195
+ }
1196
+ &--icon {
1197
+ width: 20px;
1198
+ height: 20px;
1199
+ #{$this}__bone {
1200
+ border-radius: 50%;
1201
+ }
1202
+ }
1203
+ @keyframes shimmer {
1204
+ 100% {
1205
+ transform: translateX(100%);
1206
+ }
1207
+ }
1208
+ @keyframes fadeIn {
1209
+ 0% {
1210
+ opacity: 0;
1211
+ }
1212
+ 100% {
1213
+ opacity: 1;
1214
+ }
1215
+ }
1130
1216
  }
1131
1217
  $spinner-color: var(--q-theme-primary);
1132
1218
  .q-spinner-loader {
1133
- font-size: 48px;
1134
- width: 1em;
1135
- padding: 0.15em;
1136
- aspect-ratio: 1;
1137
- border-radius: 50%;
1138
- color: $spinner-color;
1139
- background: currentColor;
1140
- --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
1141
- -webkit-mask: var(--_m);
1142
- mask: var(--_m);
1143
- -webkit-mask-composite: source-out;
1144
- mask-composite: subtract;
1145
- animation: q-rotate 1s infinite linear;
1219
+ font-size: 48px;
1220
+ width: 1em;
1221
+ padding: 0.15em;
1222
+ aspect-ratio: 1;
1223
+ border-radius: 50%;
1224
+ color: $spinner-color;
1225
+ background: currentColor;
1226
+ --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
1227
+ -webkit-mask: var(--_m);
1228
+ mask: var(--_m);
1229
+ -webkit-mask-composite: source-out;
1230
+ mask-composite: subtract;
1231
+ animation: q-rotate 1s infinite linear;
1146
1232
  }
1147
1233
  @keyframes q-rotate {
1148
- to {
1149
- transform: rotate(1turn);
1150
- }
1234
+ to {
1235
+ transform: rotate(1turn);
1236
+ }
1151
1237
  }
1152
1238
  .q-text-field__input {
1153
- width: 100%;
1154
- line-height: inherit;
1155
- outline: none;
1156
- color: inherit;
1157
- background-color: transparent;
1158
- padding: 0;
1159
- &::placeholder {
1160
- font-style: italic;
1161
- color: var(--q-theme-neutral);
1162
- }
1163
- &:disabled {
1164
- user-select: none;
1165
- }
1166
- &:hover {
1167
- cursor: inherit;
1168
- }
1239
+ width: 100%;
1240
+ line-height: inherit;
1241
+ outline: none;
1242
+ color: inherit;
1243
+ background-color: transparent;
1244
+ padding: 0;
1245
+ &::placeholder {
1246
+ font-style: italic;
1247
+ color: var(--q-theme-neutral);
1248
+ }
1249
+ &:disabled {
1250
+ user-select: none;
1251
+ }
1252
+ &:hover {
1253
+ cursor: inherit;
1254
+ }
1169
1255
  }
1170
1256
  .q-theme-provider {
1171
- color: var(--q-theme-on-background);
1172
- caret-color: var(--q-theme-on-background);
1257
+ color: var(--q-theme-on-background);
1258
+ caret-color: var(--q-theme-on-background);
1173
1259
  }
1174
1260
  .q-tooltip .q-overlay__content {
1175
- display: flex;
1176
- flex-direction: column;
1177
- gap: $space-base;
1178
- align-items: center;
1179
- padding: 0.5rem;
1180
- font-style: normal;
1181
- font-size: calc($font-size-base * 0.9);
1182
- font-weight: $font-weight-regular;
1183
- text-decoration: none;
1184
- text-shadow: none;
1185
- text-transform: none;
1186
- line-height: 1.5;
1187
- line-break: auto;
1188
- word-wrap: break-word;
1189
- word-break: normal;
1190
- word-spacing: normal;
1191
- white-space: normal;
1192
- letter-spacing: normal;
1193
- max-width: 200px;
1261
+ display: flex;
1262
+ flex-direction: column;
1263
+ gap: $space-base;
1264
+ align-items: center;
1265
+ padding: 0.5rem;
1266
+ font-style: normal;
1267
+ font-size: calc($font-size-base * 0.9);
1268
+ font-weight: $font-weight-regular;
1269
+ text-decoration: none;
1270
+ text-shadow: none;
1271
+ text-transform: none;
1272
+ line-height: 1.5;
1273
+ line-break: auto;
1274
+ word-wrap: break-word;
1275
+ word-break: normal;
1276
+ word-spacing: normal;
1277
+ white-space: normal;
1278
+ letter-spacing: normal;
1279
+ max-width: 200px;
1194
1280
  }
1195
1281
  .q-tooltip.q-overlay--inverted .q-overlay__content {
1196
- --q-overlay-border-color: var(--q-theme-on-background);
1282
+ --q-overlay-border-color: var(--q-theme-on-background);
1197
1283
  }