@quidgest/ui 0.14.0 → 0.14.2

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 (121) hide show
  1. package/dist/ui.css +4 -0
  2. package/dist/ui.esm.js +752 -739
  3. package/dist/ui.js +4 -4
  4. package/dist/ui.min.js +51 -51
  5. package/dist/ui.scss +1053 -1049
  6. package/esm/components/QBadge/QBadge.d.ts +14 -41
  7. package/esm/components/QBadge/QBadge.d.ts.map +1 -1
  8. package/esm/components/QBadge/QBadge.vue.js +33 -33
  9. package/esm/components/QBadge/index.d.ts +0 -1
  10. package/esm/components/QBadge/types.d.ts +6 -7
  11. package/esm/components/QBadge/types.d.ts.map +1 -1
  12. package/esm/components/QButton/QButton.d.ts +12 -35
  13. package/esm/components/QButton/QButton.d.ts.map +1 -1
  14. package/esm/components/QButton/index.d.ts +0 -1
  15. package/esm/components/QButtonGroup/QButtonGroup.d.ts +9 -26
  16. package/esm/components/QButtonGroup/QButtonGroup.d.ts.map +1 -1
  17. package/esm/components/QButtonGroup/index.d.ts +0 -1
  18. package/esm/components/QButtonToggle/QButtonToggle.d.ts +17 -47
  19. package/esm/components/QButtonToggle/QButtonToggle.d.ts.map +1 -1
  20. package/esm/components/QButtonToggle/QButtonToggle.vue.js +26 -23
  21. package/esm/components/QButtonToggle/index.d.ts +0 -1
  22. package/esm/components/QCombobox/QCombobox.d.ts +373 -485
  23. package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
  24. package/esm/components/QCombobox/QCombobox.vue.js +92 -87
  25. package/esm/components/QCombobox/index.d.ts +0 -1
  26. package/esm/components/QCombobox/types.d.ts +9 -8
  27. package/esm/components/QCombobox/types.d.ts.map +1 -1
  28. package/esm/components/QCombobox/types.js +3 -1
  29. package/esm/components/QDialog/QDialog.d.ts +21 -109
  30. package/esm/components/QDialog/QDialog.d.ts.map +1 -1
  31. package/esm/components/QDialog/QDialog.vue.js +16 -16
  32. package/esm/components/QDialog/index.d.ts +0 -1
  33. package/esm/components/QDialog/types.d.ts +6 -8
  34. package/esm/components/QDialog/types.d.ts.map +1 -1
  35. package/esm/components/QField/QField.d.ts +18 -41
  36. package/esm/components/QField/QField.d.ts.map +1 -1
  37. package/esm/components/QField/index.d.ts +0 -1
  38. package/esm/components/QIcon/InlineSvg.d.ts +6 -6
  39. package/esm/components/QIcon/QIcon.d.ts +2 -28
  40. package/esm/components/QIcon/QIcon.d.ts.map +1 -1
  41. package/esm/components/QIcon/QIconFont.d.ts +2 -30
  42. package/esm/components/QIcon/QIconFont.d.ts.map +1 -1
  43. package/esm/components/QIcon/QIconImg.d.ts +1 -11
  44. package/esm/components/QIcon/QIconImg.d.ts.map +1 -1
  45. package/esm/components/QIcon/QIconSvg.d.ts +6 -32
  46. package/esm/components/QIcon/QIconSvg.d.ts.map +1 -1
  47. package/esm/components/QIcon/index.d.ts +0 -1
  48. package/esm/components/QInputGroup/QInputGroup.d.ts +12 -39
  49. package/esm/components/QInputGroup/QInputGroup.d.ts.map +1 -1
  50. package/esm/components/QInputGroup/index.d.ts +0 -1
  51. package/esm/components/QInputGroup/types.d.ts +0 -1
  52. package/esm/components/QLineLoader/QLineLoader.d.ts +2 -24
  53. package/esm/components/QLineLoader/QLineLoader.d.ts.map +1 -1
  54. package/esm/components/QLineLoader/index.d.ts +0 -1
  55. package/esm/components/QList/QList.d.ts +22 -72
  56. package/esm/components/QList/QList.d.ts.map +1 -1
  57. package/esm/components/QList/QListItem.d.ts +14 -39
  58. package/esm/components/QList/QListItem.d.ts.map +1 -1
  59. package/esm/components/QList/QListItem.vue.js +5 -5
  60. package/esm/components/QList/QListItemGroup.d.ts +9 -26
  61. package/esm/components/QList/QListItemGroup.d.ts.map +1 -1
  62. package/esm/components/QList/index.d.ts +0 -1
  63. package/esm/components/QList/types.d.ts +5 -7
  64. package/esm/components/QList/types.d.ts.map +1 -1
  65. package/esm/components/QOverlay/QOverlay.d.ts +23 -141
  66. package/esm/components/QOverlay/QOverlay.d.ts.map +1 -1
  67. package/esm/components/QOverlay/index.d.ts +0 -1
  68. package/esm/components/QOverlay/types.d.ts +0 -1
  69. package/esm/components/QPopover/QPopover.d.ts +19 -77
  70. package/esm/components/QPopover/QPopover.d.ts.map +1 -1
  71. package/esm/components/QPopover/index.d.ts +0 -1
  72. package/esm/components/QPopover/types.d.ts +0 -1
  73. package/esm/components/QPropertyList/QPropertyList.d.ts +28 -56
  74. package/esm/components/QPropertyList/QPropertyList.d.ts.map +1 -1
  75. package/esm/components/QPropertyList/QPropertyList.vue.js +61 -62
  76. package/esm/components/QPropertyList/QPropertyListGroup.d.ts +7 -44
  77. package/esm/components/QPropertyList/QPropertyListGroup.d.ts.map +1 -1
  78. package/esm/components/QPropertyList/QPropertyListGroup.vue.js +22 -26
  79. package/esm/components/QPropertyList/QPropertyListPanel.d.ts +11 -43
  80. package/esm/components/QPropertyList/QPropertyListPanel.d.ts.map +1 -1
  81. package/esm/components/QPropertyList/QPropertyListPanel.vue.js +14 -16
  82. package/esm/components/QPropertyList/QPropertyListRow.d.ts +12 -17
  83. package/esm/components/QPropertyList/QPropertyListRow.d.ts.map +1 -1
  84. package/esm/components/QPropertyList/QPropertyListRow.vue.js +28 -25
  85. package/esm/components/QPropertyList/index.d.ts +0 -1
  86. package/esm/components/QPropertyList/types.d.ts +66 -34
  87. package/esm/components/QPropertyList/types.d.ts.map +1 -1
  88. package/esm/components/QSelect/QSelect.d.ts +199 -147
  89. package/esm/components/QSelect/QSelect.d.ts.map +1 -1
  90. package/esm/components/QSelect/QSelect.vue.js +130 -125
  91. package/esm/components/QSelect/index.d.ts +0 -1
  92. package/esm/components/QSelect/types.d.ts +9 -8
  93. package/esm/components/QSelect/types.d.ts.map +1 -1
  94. package/esm/components/QSelect/types.js +5 -3
  95. package/esm/components/QSkeletonLoader/QSkeletonLoader.d.ts +2 -28
  96. package/esm/components/QSkeletonLoader/QSkeletonLoader.d.ts.map +1 -1
  97. package/esm/components/QSkeletonLoader/QSkeletonLoader.vue.js +19 -19
  98. package/esm/components/QSkeletonLoader/index.d.ts +0 -1
  99. package/esm/components/QSpinnerLoader/QSpinnerLoader.d.ts +2 -26
  100. package/esm/components/QSpinnerLoader/QSpinnerLoader.d.ts.map +1 -1
  101. package/esm/components/QSpinnerLoader/index.d.ts +0 -1
  102. package/esm/components/QTextField/QTextField.d.ts +100 -96
  103. package/esm/components/QTextField/QTextField.d.ts.map +1 -1
  104. package/esm/components/QTextField/index.d.ts +0 -1
  105. package/esm/components/QTextField/types.d.ts +0 -1
  106. package/esm/components/QThemeProvider/QThemeProvider.d.ts +8 -13
  107. package/esm/components/QThemeProvider/QThemeProvider.d.ts.map +1 -1
  108. package/esm/components/QThemeProvider/index.d.ts +0 -1
  109. package/esm/components/QTooltip/QTooltip.d.ts +24 -121
  110. package/esm/components/QTooltip/QTooltip.d.ts.map +1 -1
  111. package/esm/components/QTooltip/QTooltip.vue.js +1 -1
  112. package/esm/components/QTooltip/index.d.ts +0 -1
  113. package/esm/components/QTooltip/types.d.ts +1 -2
  114. package/esm/components/QTooltip/types.d.ts.map +1 -1
  115. package/esm/composables/defaults.d.ts +0 -1
  116. package/esm/composables/theme.d.ts +0 -1
  117. package/esm/framework.d.ts +0 -1
  118. package/esm/templates/theme.d.ts +0 -1
  119. package/esm/utils/setupPropsProxy.d.ts +0 -1
  120. package/esm/utils/theme.d.ts +0 -1
  121. package/package.json +35 -33
package/dist/ui.scss CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Quidgest UI v0.14.0
2
+ * Quidgest UI v0.14.2
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
- 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
- }
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,398 +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;
1000
1002
  }
1001
1003
  $table-header-bg: rgb(var(--q-theme-neutral-light-rgb) / 0.25);
1002
1004
  $row-hover-bg: rgb(var(--q-theme-primary-light-rgb) / 0.5);
1003
1005
  $row-selected-bg: rgb(var(--q-theme-primary-rgb) / 0.15);
1004
1006
  $base-border: 1px solid rgba(0, 0, 0, 0.1);
1005
1007
  .q-property-list {
1006
- margin: 0;
1007
- font-size: 0.9rem;
1008
- display: flex;
1009
- flex-direction: column;
1010
- border: $base-border;
1011
- &--side-panel {
1012
- flex-direction: row;
1013
- .q-property-list-panel__container {
1014
- border-left: $base-border;
1015
- width: 20%;
1016
- }
1017
- }
1018
- &-panel__container {
1019
- padding: 0.4rem;
1020
- display: flex;
1021
- flex-direction: column;
1022
- min-height: 50px;
1023
- gap: 1rem;
1024
- }
1025
- &-panel__label {
1026
- font-weight: bold;
1027
- }
1028
- &__table {
1029
- width: 100%;
1030
- border-spacing: 0;
1031
- margin: 0;
1032
- }
1033
- &__header {
1034
- background: $table-header-bg;
1035
- height: 25px;
1036
- }
1037
- &__row {
1038
- &:hover {
1039
- background-color: $row-hover-bg;
1040
- }
1041
- .q-field:not(.q-field--readonly) .q-field__control {
1042
- background-color: var(--q-theme-background);
1043
- }
1044
- &--closed {
1045
- display: none;
1046
- }
1047
- &--selected {
1048
- background-color: $row-selected-bg;
1049
- }
1050
- }
1051
- &__cell {
1052
- padding: 0.1rem 0.5rem;
1053
- &--label {
1054
- width: 20%;
1055
- font-size: 0.85rem;
1056
- text-wrap: nowrap;
1057
- opacity: 0.8;
1058
- }
1059
- }
1060
- tbody td {
1061
- border-bottom: $base-border;
1062
- }
1063
- &-group {
1064
- cursor: pointer;
1065
- td {
1066
- padding: 0.2rem 0.25rem;
1067
- }
1068
- &__content {
1069
- display: flex;
1070
- align-items: center;
1071
- }
1072
- ~ .q-property-list__row .q-property-list__cell--label {
1073
- padding: 0 2rem;
1074
- }
1075
- &--no-toggle {
1076
- cursor: default;
1077
- td {
1078
- padding: 0.5rem 1rem;
1079
- }
1080
- }
1081
- }
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
+ }
1082
1084
  }
1083
1085
  .q-select {
1084
- $this: &;
1085
- &:not(#{$this}--readonly):not(#{$this}--disabled) {
1086
- cursor: pointer;
1087
- }
1088
- &:not(#{$this}--disabled) {
1089
- #{$this}__clear,
1090
- #{$this}__chevron {
1091
- &:hover,
1092
- &:focus {
1093
- opacity: 1;
1094
- }
1095
- }
1096
- }
1097
- &__value,
1098
- &__placeholder {
1099
- white-space: nowrap;
1100
- overflow: hidden;
1101
- text-overflow: ellipsis;
1102
- pointer-events: none;
1103
- min-height: 1lh;
1104
- }
1105
- &__placeholder {
1106
- font-style: italic;
1107
- color: var(--q-theme-neutral);
1108
- }
1109
- &--expanded {
1110
- #{$this}__chevron svg {
1111
- transform: rotate(-180deg);
1112
- }
1113
- }
1114
-
1115
- .q-field__prepend {
1116
- padding-left: 6px;
1117
- padding-right: $space-base;
1118
- }
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
+ }
1119
1121
  }
1120
1122
  .q-select__clear,
1121
1123
  .q-select__chevron {
1122
- padding: 0.1rem;
1123
- opacity: 0.5;
1124
- &:hover {
1125
- cursor: inherit;
1126
- }
1124
+ padding: 0.1rem;
1125
+ opacity: 0.5;
1126
+ &:hover {
1127
+ cursor: inherit;
1128
+ }
1127
1129
  }
1128
1130
  .q-select__chevron svg {
1129
- transition: all 0.2s;
1131
+ transition: all 0.2s;
1130
1132
  }
1131
1133
  .q-select__body {
1132
- display: flex;
1133
- flex-direction: column;
1134
- align-items: flex-start;
1135
- gap: $space-base;
1136
- width: 100%;
1137
- padding: $space-base 0;
1138
- outline: none;
1139
- .q-list-item {
1140
- width: calc(100% - 2 * $space-base);
1141
- margin-left: $space-base;
1142
- margin-right: $space-base;
1143
- }
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
+ }
1144
1146
  }
1145
1147
  .q-select__items {
1146
- min-width: fit-content;
1147
- width: 100%;
1148
- max-height: 240px;
1149
- align-items: start;
1148
+ min-width: fit-content;
1149
+ width: 100%;
1150
+ max-height: 240px;
1151
+ align-items: start;
1150
1152
  }
1151
1153
  .q-select__loader {
1152
- display: flex;
1153
- justify-content: center;
1154
- width: 100%;
1154
+ display: flex;
1155
+ justify-content: center;
1156
+ width: 100%;
1155
1157
  }
1156
1158
  .q-select__loader,
1157
1159
  .q-select__empty {
1158
- margin: calc(4 * $space-base) 0;
1160
+ margin: calc(4 * $space-base) 0;
1159
1161
  }
1160
1162
  .q-skeleton-loader {
1161
- $this: &;
1162
- &__bone {
1163
- display: inline-flex;
1164
- width: 100%;
1165
- height: 100%;
1166
- position: relative;
1167
- overflow: hidden;
1168
- background-color: var(--q-theme-neutral-light);
1169
- animation: fadeIn 1s;
1170
- border-radius: $border-radius;
1171
- &::after {
1172
- position: absolute;
1173
- top: 0;
1174
- right: 0;
1175
- bottom: 0;
1176
- left: 0;
1177
- transform: translateX(-100%);
1178
- background-image: linear-gradient(
1179
- 90deg,
1180
- rgb(var(--q-theme-background-rgb) / 0) 0,
1181
- rgb(var(--q-theme-background-rgb) / 0.2) 20%,
1182
- rgb(var(--q-theme-background-rgb) / 0.5) 60%,
1183
- rgb(var(--q-theme-background-rgb) / 0)
1184
- );
1185
- animation: shimmer 2s infinite;
1186
- content: '';
1187
- }
1188
- }
1189
- &--text {
1190
- height: 1em;
1191
- }
1192
- &--icon {
1193
- width: 20px;
1194
- height: 20px;
1195
- #{$this}__bone {
1196
- border-radius: 50%;
1197
- }
1198
- }
1199
- @keyframes shimmer {
1200
- 100% {
1201
- transform: translateX(100%);
1202
- }
1203
- }
1204
- @keyframes fadeIn {
1205
- 0% {
1206
- opacity: 0;
1207
- }
1208
- 100% {
1209
- opacity: 1;
1210
- }
1211
- }
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
+ }
1212
1216
  }
1213
1217
  $spinner-color: var(--q-theme-primary);
1214
1218
  .q-spinner-loader {
1215
- font-size: 48px;
1216
- width: 1em;
1217
- padding: 0.15em;
1218
- aspect-ratio: 1;
1219
- border-radius: 50%;
1220
- color: $spinner-color;
1221
- background: currentColor;
1222
- --_m: conic-gradient(#0000 10%, #000), linear-gradient(#000 0 0) content-box;
1223
- -webkit-mask: var(--_m);
1224
- mask: var(--_m);
1225
- -webkit-mask-composite: source-out;
1226
- mask-composite: subtract;
1227
- 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;
1228
1232
  }
1229
1233
  @keyframes q-rotate {
1230
- to {
1231
- transform: rotate(1turn);
1232
- }
1234
+ to {
1235
+ transform: rotate(1turn);
1236
+ }
1233
1237
  }
1234
1238
  .q-text-field__input {
1235
- width: 100%;
1236
- line-height: inherit;
1237
- outline: none;
1238
- color: inherit;
1239
- background-color: transparent;
1240
- padding: 0;
1241
- &::placeholder {
1242
- font-style: italic;
1243
- color: var(--q-theme-neutral);
1244
- }
1245
- &:disabled {
1246
- user-select: none;
1247
- }
1248
- &:hover {
1249
- cursor: inherit;
1250
- }
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
+ }
1251
1255
  }
1252
1256
  .q-theme-provider {
1253
- color: var(--q-theme-on-background);
1254
- caret-color: var(--q-theme-on-background);
1257
+ color: var(--q-theme-on-background);
1258
+ caret-color: var(--q-theme-on-background);
1255
1259
  }
1256
1260
  .q-tooltip .q-overlay__content {
1257
- display: flex;
1258
- flex-direction: column;
1259
- gap: $space-base;
1260
- align-items: center;
1261
- padding: 0.5rem;
1262
- font-style: normal;
1263
- font-size: calc($font-size-base * 0.9);
1264
- font-weight: $font-weight-regular;
1265
- text-decoration: none;
1266
- text-shadow: none;
1267
- text-transform: none;
1268
- line-height: 1.5;
1269
- line-break: auto;
1270
- word-wrap: break-word;
1271
- word-break: normal;
1272
- word-spacing: normal;
1273
- white-space: normal;
1274
- letter-spacing: normal;
1275
- 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;
1276
1280
  }
1277
1281
  .q-tooltip.q-overlay--inverted .q-overlay__content {
1278
- --q-overlay-border-color: var(--q-theme-on-background);
1282
+ --q-overlay-border-color: var(--q-theme-on-background);
1279
1283
  }