unocss-preset-quasar 0.1.1 → 0.1.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.
package/src/index.ts CHANGED
@@ -5,8 +5,8 @@ import {
5
5
  presetWebFonts,
6
6
  transformerVariantGroup
7
7
  } from 'unocss'
8
- import presetUno from '@unocss/preset-uno'
9
- import { defaultTheme, generateTheme } from './theme.js'
8
+ import presetWind3 from '@unocss/preset-wind3'
9
+ import { generateTheme } from './theme.js'
10
10
  import { animatedUno } from 'animated-unocss'
11
11
 
12
12
  import {
@@ -25,7 +25,7 @@ import { WebFontsOptions } from '@unocss/preset-web-fonts/index.js'
25
25
 
26
26
  export interface QuasarPresetOptions {
27
27
  style: keyof typeof QuasarStyles
28
- primaryColor?: string
28
+ sourceColor?: string
29
29
  plugins?: (keyof QuasarPlugins)[]
30
30
  iconSet?: QuasarIconSet
31
31
  presetWebFonts?: WebFontsOptions
@@ -102,6 +102,64 @@ const QTabSafelist = [
102
102
  'q-tab--active',
103
103
  'q-tab--inactive'
104
104
  ]
105
+ const QSliderSafelist = [
106
+ 'q-slider',
107
+ 'q-slider--h',
108
+ 'q-slider--v',
109
+ 'q-slider--editable',
110
+ 'q-slider__track-container',
111
+ 'q-slider__track-container--h',
112
+ 'q-slider__track-container--v',
113
+ 'q-slider__track',
114
+ 'q-slider__inner',
115
+ 'q-slider__selection',
116
+ 'q-slider__markers',
117
+ 'q-slider__markers--h',
118
+ 'q-slider__markers--v',
119
+ 'q-slider__marker-labels-container',
120
+ 'q-slider__marker-labels',
121
+ 'q-slider__marker-labels--h-standard',
122
+ 'q-slider__marker-labels--h-switched',
123
+ 'q-slider__marker-labels--h-ltr',
124
+ 'q-slider__marker-labels--h-rtl',
125
+ 'q-slider__marker-labels--v-standard',
126
+ 'q-slider__marker-labels--v-switched',
127
+ 'q-slider__marker-labels--v-ltr',
128
+ 'q-slider__marker-labels--v-rtl',
129
+ 'q-slider__thumb',
130
+ 'q-slider__thumb--h',
131
+ 'q-slider__thumb--h-ltr',
132
+ 'q-slider__thumb--h-rtl',
133
+ 'q-slider__thumb--v',
134
+ 'q-slider__thumb--v-ltr',
135
+ 'q-slider__thumb--v-rtl',
136
+ 'q-slider__thumb-shape',
137
+ 'q-slider__focus-ring',
138
+ 'q-slider__pin',
139
+ 'q-slider__pin--h',
140
+ 'q-slider__pin--h-standard',
141
+ 'q-slider__pin--h-switched',
142
+ 'q-slider__pin--v',
143
+ 'q-slider__pin--v-standard',
144
+ 'q-slider__pin--v-switched',
145
+ 'q-slider__label',
146
+ 'q-slider__label--h',
147
+ 'q-slider__label--h-standard',
148
+ 'q-slider__label--h-switched',
149
+ 'q-slider__label--v',
150
+ 'q-slider__label--v-standard',
151
+ 'q-slider__label--v-switched',
152
+ 'q-slider__text-container',
153
+ 'q-slider__text',
154
+ 'q-slider--no-value',
155
+ 'q-slider--focus',
156
+ 'q-slider--inactive',
157
+ 'q-slider--active',
158
+ 'q-slider--label',
159
+ 'q-slider--dark',
160
+ 'q-slider--dense'
161
+ ]
162
+
105
163
  const componentsSafelistMap: Partial<Record<keyof QuasarComponents, string[]>> =
106
164
  {
107
165
  QIcon: ['q-icon'],
@@ -567,6 +625,7 @@ const componentsSafelistMap: Partial<Record<keyof QuasarComponents, string[]>> =
567
625
  'q-radio--dark',
568
626
  'q-radio--dense'
569
627
  ],
628
+ QRange: QSliderSafelist,
570
629
  QRating: [
571
630
  'q-rating',
572
631
  'q-rating__icon-container',
@@ -643,63 +702,7 @@ const componentsSafelistMap: Partial<Record<keyof QuasarComponents, string[]>> =
643
702
  'q-slide-item__bottom',
644
703
  'q-slide-item__content'
645
704
  ],
646
- QSlider: [
647
- 'q-slider',
648
- 'q-slider--h',
649
- 'q-slider--v',
650
- 'q-slider--editable',
651
- 'q-slider__track-container',
652
- 'q-slider__track-container--h',
653
- 'q-slider__track-container--v',
654
- 'q-slider__track',
655
- 'q-slider__inner',
656
- 'q-slider__selection',
657
- 'q-slider__markers',
658
- 'q-slider__markers--h',
659
- 'q-slider__markers--v',
660
- 'q-slider__marker-labels-container',
661
- 'q-slider__marker-labels',
662
- 'q-slider__marker-labels--h-standard',
663
- 'q-slider__marker-labels--h-switched',
664
- 'q-slider__marker-labels--h-ltr',
665
- 'q-slider__marker-labels--h-rtl',
666
- 'q-slider__marker-labels--v-standard',
667
- 'q-slider__marker-labels--v-switched',
668
- 'q-slider__marker-labels--v-ltr',
669
- 'q-slider__marker-labels--v-rtl',
670
- 'q-slider__thumb',
671
- 'q-slider__thumb--h',
672
- 'q-slider__thumb--h-ltr',
673
- 'q-slider__thumb--h-rtl',
674
- 'q-slider__thumb--v',
675
- 'q-slider__thumb--v-ltr',
676
- 'q-slider__thumb--v-rtl',
677
- 'q-slider__thumb-shape',
678
- 'q-slider__focus-ring',
679
- 'q-slider__pin',
680
- 'q-slider__pin--h',
681
- 'q-slider__pin--h-standard',
682
- 'q-slider__pin--h-switched',
683
- 'q-slider__pin--v',
684
- 'q-slider__pin--v-standard',
685
- 'q-slider__pin--v-switched',
686
- 'q-slider__label',
687
- 'q-slider__label--h',
688
- 'q-slider__label--h-standard',
689
- 'q-slider__label--h-switched',
690
- 'q-slider__label--v',
691
- 'q-slider__label--v-standard',
692
- 'q-slider__label--v-switched',
693
- 'q-slider__text-container',
694
- 'q-slider__text',
695
- 'q-slider--no-value',
696
- 'q-slider--focus',
697
- 'q-slider--inactive',
698
- 'q-slider--active',
699
- 'q-slider--label',
700
- 'q-slider--dark',
701
- 'q-slider--dense'
702
- ],
705
+ QSlider: QSliderSafelist,
703
706
  QSpace: ['q-space'],
704
707
  QSpinner: ['q-spinner', 'q-spinner-mat'],
705
708
  QSplitter: [
@@ -1522,16 +1525,21 @@ export const QuasarPreset = definePreset(
1522
1525
  if (!options)
1523
1526
  options = {
1524
1527
  style: 'md2',
1525
- primaryColor: '#CEB8F1'
1528
+ sourceColor: '#806cb0'
1526
1529
  }
1527
1530
  if (!Object.keys(QuasarStyles).includes(options.style))
1528
1531
  throw new Error('Unsupported Quasar style')
1529
1532
 
1533
+ if (!options.sourceColor) {
1534
+ options.sourceColor = '#806cb0'
1535
+ }
1536
+
1530
1537
  const style: QuasarStyle = (await QuasarStyles[options.style]).default
1531
- const theme = await generateTheme(options.primaryColor)
1538
+
1539
+ const theme = await generateTheme(options.sourceColor)
1532
1540
 
1533
1541
  return [
1534
- presetUno({
1542
+ presetWind3({
1535
1543
  dark: {
1536
1544
  light: '.body--light',
1537
1545
  dark: '.body--dark'
@@ -61,171 +61,147 @@ const preflights: Preflight<QuasarTheme>[] = [
61
61
 
62
62
  const shortcuts: UserShortcuts<QuasarTheme> = [
63
63
  [
64
- /^q-skeleton$/,
64
+ /^q-skeleton\$/,
65
65
  ([, c], { theme }) =>
66
66
  theme.quasar?.components?.['q-skeleton'] ??
67
- `bg-[rgba(0,_0,_0,_0.12)] rounded-[4px] box-border [&:before]:(content-['_'])`
67
+ `bg-gray-200 rounded box-border`
68
68
  ],
69
-
70
69
  [
71
- /^q-skeleton--anim$/,
70
+ /^q-skeleton--anim\$/,
72
71
  ([, c], { theme }) =>
73
72
  theme.quasar?.components?.['q-skeleton--anim'] ?? `cursor-wait`
74
73
  ],
75
-
76
74
  [
77
- /^q-skeleton--type-text$/,
75
+ /^q-skeleton--type-text\$/,
78
76
  ([, c], { theme }) =>
79
77
  theme.quasar?.components?.['q-skeleton--type-text'] ??
80
- `scale-x-100 scale-y-[0.5]`
78
+ `transform scale-y-50`
81
79
  ],
82
-
83
80
  [
84
- /^q-skeleton--type-circle$/,
81
+ /^q-skeleton--type-circle\$/,
85
82
  ([, c], { theme }) =>
86
83
  theme.quasar?.components?.['q-skeleton--type-circle'] ??
87
- `h-[48px] w-[48px] rounded-[50%]`
84
+ `h-12 w-12 rounded-full`
88
85
  ],
89
-
90
86
  [
91
- /^q-skeleton--type-QAvatar$/,
87
+ /^q-skeleton--type-QAvatar\$/,
92
88
  ([, c], { theme }) =>
93
89
  theme.quasar?.components?.['q-skeleton--type-QAvatar'] ??
94
- `h-[48px] w-[48px] rounded-[50%]`
90
+ `h-12 w-12 rounded-full`
95
91
  ],
96
-
97
92
  [
98
- /^q-skeleton--type-QBtn$/,
93
+ /^q-skeleton--type-QBtn\$/,
99
94
  ([, c], { theme }) =>
100
- theme.quasar?.components?.['q-skeleton--type-QBtn'] ?? `w-[90px] h-[36px]`
95
+ theme.quasar?.components?.['q-skeleton--type-QBtn'] ?? `w-24 h-9`
101
96
  ],
102
-
103
97
  [
104
- /^q-skeleton--type-QBadge$/,
98
+ /^q-skeleton--type-QBadge\$/,
105
99
  ([, c], { theme }) =>
106
- theme.quasar?.components?.['q-skeleton--type-QBadge'] ??
107
- `w-[70px] h-[16px]`
100
+ theme.quasar?.components?.['q-skeleton--type-QBadge'] ?? `w-18 h-4`
108
101
  ],
109
-
110
102
  [
111
- /^q-skeleton--type-QChip$/,
103
+ /^q-skeleton--type-QChip\$/,
112
104
  ([, c], { theme }) =>
113
105
  theme.quasar?.components?.['q-skeleton--type-QChip'] ??
114
- `w-[90px] h-[28px] rounded-[16px]`
106
+ `w-24 h-7 rounded-full`
115
107
  ],
116
-
117
108
  [
118
- /^q-skeleton--type-QToolbar$/,
109
+ /^q-skeleton--type-QToolbar\$/,
119
110
  ([, c], { theme }) =>
120
- theme.quasar?.components?.['q-skeleton--type-QToolbar'] ?? `h-[50px]`
111
+ theme.quasar?.components?.['q-skeleton--type-QToolbar'] ?? `h-12`
121
112
  ],
122
-
123
113
  [
124
- /^q-skeleton--type-QCheckbox$/,
114
+ /^q-skeleton--type-QCheckbox\$/,
125
115
  ([, c], { theme }) =>
126
116
  theme.quasar?.components?.['q-skeleton--type-QCheckbox'] ??
127
- `w-[40px] h-[40px] rounded-[50%]`
117
+ `h-10 w-10 rounded-full`
128
118
  ],
129
-
130
119
  [
131
- /^q-skeleton--type-QRadio$/,
120
+ /^q-skeleton--type-QRadio\$/,
132
121
  ([, c], { theme }) =>
133
122
  theme.quasar?.components?.['q-skeleton--type-QRadio'] ??
134
- `w-[40px] h-[40px] rounded-[50%]`
123
+ `h-10 w-10 rounded-full`
135
124
  ],
136
-
137
125
  [
138
- /^q-skeleton--type-QToggle$/,
126
+ /^q-skeleton--type-QToggle\$/,
139
127
  ([, c], { theme }) =>
140
128
  theme.quasar?.components?.['q-skeleton--type-QToggle'] ??
141
- `w-[56px] h-[40px] rounded-[7px]`
129
+ `w-14 h-10 rounded-md`
142
130
  ],
143
-
144
131
  [
145
- /^q-skeleton--type-QSlider$/,
132
+ /^q-skeleton--type-QSlider\$/,
146
133
  ([, c], { theme }) =>
147
- theme.quasar?.components?.['q-skeleton--type-QSlider'] ?? `h-[40px]`
134
+ theme.quasar?.components?.['q-skeleton--type-QSlider'] ?? `h-10`
148
135
  ],
149
-
150
136
  [
151
- /^q-skeleton--type-QRange$/,
137
+ /^q-skeleton--type-QRange\$/,
152
138
  ([, c], { theme }) =>
153
- theme.quasar?.components?.['q-skeleton--type-QRange'] ?? `h-[40px]`
139
+ theme.quasar?.components?.['q-skeleton--type-QRange'] ?? `h-10`
154
140
  ],
155
-
156
141
  [
157
- /^q-skeleton--type-QInput$/,
142
+ /^q-skeleton--type-QInput\$/,
158
143
  ([, c], { theme }) =>
159
- theme.quasar?.components?.['q-skeleton--type-QInput'] ?? `h-[56px]`
144
+ theme.quasar?.components?.['q-skeleton--type-QInput'] ?? `h-14`
160
145
  ],
161
-
162
146
  [
163
- /^q-skeleton--bordered$/,
147
+ /^q-skeleton--bordered\$/,
164
148
  ([, c], { theme }) =>
165
149
  theme.quasar?.components?.['q-skeleton--bordered'] ??
166
- `border-[1px] border-solid border-[rgba(0,0,0,0.05)]`
150
+ `border border-gray-200`
167
151
  ],
168
-
169
152
  [
170
- /^q-skeleton--square$/,
153
+ /^q-skeleton--square\$/,
171
154
  ([, c], { theme }) =>
172
155
  theme.quasar?.components?.['q-skeleton--square'] ?? `rounded-none`
173
156
  ],
174
-
175
157
  [
176
- /^q-skeleton--anim-fade$/,
158
+ /^q-skeleton--anim-fade\$/,
177
159
  ([, c], { theme }) =>
178
- theme.quasar?.components?.['q-skeleton--anim-fade'] ??
179
- `animate-[q-skeleton--fade_var(--q-skeleton-speed)_linear_0.5s_infinite]`
160
+ theme.quasar?.components?.['q-skeleton--anim-fade'] ?? `animate-fade`
180
161
  ],
181
-
182
162
  [
183
- /^q-skeleton--anim-pulse$/,
163
+ /^q-skeleton--anim-pulse\$/,
184
164
  ([, c], { theme }) =>
185
- theme.quasar?.components?.['q-skeleton--anim-pulse'] ??
186
- `animate-[q-skeleton--pulse_var(--q-skeleton-speed)_ease-in-out_0.5s_infinite]`
165
+ theme.quasar?.components?.['q-skeleton--anim-pulse'] ?? `animate-pulse`
187
166
  ],
188
-
189
167
  [
190
- /^q-skeleton--anim-pulse-x$/,
168
+ /^q-skeleton--anim-pulse-x\$/,
191
169
  ([, c], { theme }) =>
192
170
  theme.quasar?.components?.['q-skeleton--anim-pulse-x'] ??
193
- `animate-[q-skeleton--pulse-x_var(--q-skeleton-speed)_ease-in-out_0.5s_infinite]`
171
+ `animate-pulse-x`
194
172
  ],
195
-
196
173
  [
197
- /^q-skeleton--anim-pulse-y$/,
174
+ /^q-skeleton--anim-pulse-y\$/,
198
175
  ([, c], { theme }) =>
199
176
  theme.quasar?.components?.['q-skeleton--anim-pulse-y'] ??
200
- `animate-[q-skeleton--pulse-y_var(--q-skeleton-speed)_ease-in-out_0.5s_infinite]`
177
+ `animate-pulse-y`
201
178
  ],
202
-
203
179
  [
204
- /^q-skeleton--anim-wave$/,
180
+ /^q-skeleton--anim-wave\$/,
205
181
  ([, c], { theme }) =>
206
182
  theme.quasar?.components?.['q-skeleton--anim-wave'] ??
207
- `relative overflow-hidden [&:after]:(content-[''] absolute top-[0] right-[0] bottom-[0] left-[0] z-0) [&:after]:(bg-[linear-gradient(_90deg,_rgba(255,_255,_255,_0),_rgba(255,_255,_255,_0.5),_rgba(255,_255,_255,_0)_)] animate-[q-skeleton--wave_var(--q-skeleton-speed)_linear_0.5s_infinite])`
183
+ `relative overflow-hidden z-10 before:content-['\\00a0'] before:absolute before:top-0 before:right-0 before:bottom-0 before:left-0 before:z-0 after:content-[''] after:absolute after:top-0 after:right-0 after:bottom-0 after:left-0 after:z-0 after:bg-gradient-to-r after:from-transparent after:via-white/50 after:to-transparent after:animate-wave`
208
184
  ],
209
-
210
185
  [
211
- /^q-skeleton--anim-blink$/,
186
+ /^q-skeleton--anim-blink\$/,
212
187
  ([, c], { theme }) =>
213
188
  theme.quasar?.components?.['q-skeleton--anim-blink'] ??
214
- `relative overflow-hidden [&:after]:(content-[''] absolute top-[0] right-[0] bottom-[0] left-[0] z-0) [&:after]:(bg-[rgba(255,_255,_255,_0.7)] animate-[q-skeleton--fade_var(--q-skeleton-speed)_linear_0.5s_infinite])`
189
+ `relative overflow-hidden z-10 before:content-['\\00a0'] before:absolute before:top-0 before:right-0 before:bottom-0 before:left-0 before:z-0 after:content-[''] after:absolute after:top-0 after:right-0 after:bottom-0 after:left-0 after:z-0 after:bg-white/70 after:animate-fade`
215
190
  ],
216
-
217
191
  [
218
- /^q-skeleton--anim-pop$/,
192
+ /^q-skeleton--anim-pop\$/,
219
193
  ([, c], { theme }) =>
220
194
  theme.quasar?.components?.['q-skeleton--anim-pop'] ??
221
- `relative overflow-hidden [&:after]:(content-[''] absolute top-[0] right-[0] bottom-[0] left-[0] z-0)`
195
+ `relative overflow-hidden z-10 before:content-['\\00a0'] before:absolute before:top-0 before:right-0 before:bottom-0 before:left-0 before:z-0 after:content-[''] after:absolute after:top-0 after:right-0 after:bottom-0 after:left-0 after:z-0`
222
196
  ],
223
-
224
197
  [
225
- /^q-skeleton--dark$/,
198
+ /^q-skeleton--dark\$/,
226
199
  ([, c], { theme }) =>
227
200
  theme.quasar?.components?.['q-skeleton--dark'] ??
228
- `bg-[rgba(255,_255,_255,_0.05)] [&.q-skeleton--bordered]:(border-[1px] border-solid border-[rgba(255,255,255,0.25)]) [&.q-skeleton--anim-wave:after]:(bg-[linear-gradient(_90deg,_rgba(255,_255,_255,_0),_rgba(255,_255,_255,_0.1),_rgba(255,_255,_255,_0)_)]) [&.q-skeleton--anim-blink:after]:(bg-[rgba(255,_255,_255,_0.2)])`
201
+ `bg-white/5
202
+ [&.q-skeleton--bordered]:(border border-white/25)
203
+ [&.q-skeleton--anim-wave]:(after:bg-gradient-to-r after:from-transparent after:via-white/10 after:to-transparent)
204
+ [&.q-skeleton--anim-blink]:(after:bg-white/20)`
229
205
  ]
230
206
  ]
231
207
 
@@ -13,33 +13,34 @@ const preflights: Preflight<QuasarTheme>[] = [
13
13
  `
14
14
  }
15
15
  ]
16
+
16
17
  const shortcuts: UserShortcuts<QuasarTheme> = [
17
18
  [
18
19
  /^q-tree$/,
19
20
  ([, c], { theme }) =>
20
21
  theme.quasar?.components?.['q-tree'] ??
21
- `relative text-[#9e9e9e] [&_>_.q-tree\\_\\_node]:(p-0) [&_>_.q-tree\\_\\_node:after]:(hidden) [&_>_.q-tree\\_\\_node_>_.q-tree\\_\\_node-header:before]:(hidden) [&_>_.q-tree\\_\\_node--child_>_.q-tree\\_\\_node-header]:(pl-[24px])`
22
+ `relative text-[#9e9e9e] [&_>_.q-tree\\_\\_node]:(p-0) [&_>_.q-tree\\_\\_node:after]:(hidden) [&_>_.q-tree\\_\\_node>_.q-tree\\_\\_node-header:before]:(hidden) [&_>_.q-tree\\_\\_node--child>_.q-tree\\_\\_node-header]:(pl-[24px])`
22
23
  ],
23
24
 
24
25
  [
25
26
  /^q-tree__node$/,
26
27
  ([, c], { theme }) =>
27
28
  theme.quasar?.components?.['q-tree__node'] ??
28
- `pt-[0] pr-[0] pb-[3px] pl-[22px] [&:after]:(content-empty absolute -top-[3px] bottom-[0] w-[2px] right-auto -left-[13px] [border-left:1px_solid_currentColor]) [&:last-child:after]:(hidden)`
29
+ `pt-[0] pr-[0] pb-[3px] pl-[22px] [&:after]:(content-empty absolute -top-[3px] bottom-[0] w-[2px] right-auto -left-[13px] border-left-current) [&:last-child:after]:(hidden)`
29
30
  ],
30
31
 
31
32
  [
32
33
  /^q-tree__node--disabled$/,
33
34
  ([, c], { theme }) =>
34
35
  theme.quasar?.components?.['q-tree__node--disabled'] ??
35
- `pointer-events-none [&_.disabled]:(!opacity-100) [&_>_div]:(!opacity-60) [&_>_i]:(!opacity-60) [&_>_.disabled]:(!opacity-60) [&_>_div_.q-tree\\_\\_node--disabled_>_div]:(!opacity-100) [&_>_div_.q-tree\\_\\_node--disabled_>_i]:(!opacity-100) [&_>_div_.q-tree\\_\\_node--disabled_>_.disabled]:(!opacity-100) [&_>_i_.q-tree\\_\\_node--disabled_>_div]:(!opacity-100) [&_>_i_.q-tree\\_\\_node--disabled_>_i]:(!opacity-100) [&_>_i_.q-tree\\_\\_node--disabled_>_.disabled]:(!opacity-100) [&_>_.disabled_.q-tree\\_\\_node--disabled_>_div]:(!opacity-100) [&_>_.disabled_.q-tree\\_\\_node--disabled_>_i]:(!opacity-100) [&_>_.disabled_.q-tree\\_\\_node--disabled_>_.disabled]:(!opacity-100)`
36
+ `pointer-events-none [&_.disabled]:(!opacity-100) [&>div]:(!opacity-60) [&>i]:(!opacity-60) [&>_.disabled]:(!opacity-60) [&>div_.q-tree\\_\\_node--disabled>div]:(!opacity-100) [&>div_.q-tree\\_\\_node--disabled>i]:(!opacity-100) [&>div_.q-tree\\_\\_node--disabled>_.disabled]:(!opacity-100) [&>i_.q-tree\\_\\_node--disabled>div]:(!opacity-100) [&>i_.q-tree\\_\\_node--disabled>i]:(!opacity-100) [&>i_.q-tree\\_\\_node--disabled>_.disabled]:(!opacity-100) [&>_.disabled_.q-tree\\_\\_node--disabled>div]:(!opacity-100) [&>_.disabled_.q-tree\\_\\_node--disabled>i]:(!opacity-100) [&>_.disabled_.q-tree\\_\\_node--disabled>_.disabled]:(!opacity-100)`
36
37
  ],
37
38
 
38
39
  [
39
40
  /^q-tree__node-header$/,
40
41
  ([, c], { theme }) =>
41
42
  theme.quasar?.components?.['q-tree__node-header'] ??
42
- `[&:before]:(content-empty absolute -top-[3px] bottom-2/4 w-[31px] -left-[35px] [border-left:1px_solid_currentColor] [border-bottom:1px_solid_currentColor]) p-[4px] mt-[3px] rounded-[4px] outline-[0]`
43
+ `[&:before]:(content-empty absolute -top-[3px] bottom-2/4 w-[31px] -left-[35px] border-left-current border-bottom-current) p-[4px] mt-[3px] rounded-[4px] outline-[0]`
43
44
  ],
44
45
 
45
46
  [
@@ -59,7 +60,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
59
60
  /^q-tree__node--parent$/,
60
61
  ([, c], { theme }) =>
61
62
  theme.quasar?.components?.['q-tree__node--parent'] ??
62
- `pl-[2px] [&_>_.q-tree\\_\\_node-header:before]:(w-[15px] -left-[15px]) [&_>_.q-tree\\_\\_node-collapsible_>_.q-tree\\_\\_node-body]:(pt-[5px] pr-[0] pb-[8px] pl-[27px]) [&_>_.q-tree\\_\\_node-collapsible_>_.q-tree\\_\\_node-body:after]:(content-empty absolute top-[0] w-[2px] h-full right-auto left-[12px] [border-left:1px_solid_currentColor] bottom-[50px])`
63
+ `pl-[2px] [&>_.q-tree__node-header:before]:(w-[15px] -left-[15px]) [&>_.q-tree__node-collapsible>_.q-tree__node-body]:(pt-[5px] pr-[0] pb-[8px] pl-[27px]) [&>_.q-tree__node-collapsible>_.q-tree__node-body:after]:(content-empty absolute top-[0] w-[2px] h-full right-auto left-[12px] border-left-current bottom-[50px])`
63
64
  ],
64
65
 
65
66
  [
@@ -72,20 +73,20 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
72
73
  /^q-tree__node-header-content$/,
73
74
  ([, c], { theme }) =>
74
75
  theme.quasar?.components?.['q-tree__node-header-content'] ??
75
- `text-[#000] [transition:color_0.3s] [&_.q-icon]:(text-[21px]) [&_.q-avatar]:(text-[28px] rounded-[50%] w-[28px] h-[28px])`
76
+ `text-[#000] [transition:color_0.3s] [&_.q-icon]:(text-21px) [&_.q-avatar]:(text-[28px] rounded-[50%] w-[28px] h-[28px])`
76
77
  ],
77
78
 
78
79
  [
79
80
  /^q-tree__node--selected$/,
80
81
  ([, c], { theme }) =>
81
82
  theme.quasar?.components?.['q-tree__node--selected'] ??
82
- `[&_.q-tree\\_\\_node-header-content]:(text-[#9e9e9e])`
83
+ `[&_.q-tree\\_\\_node--selected_.q-tree__node-header-content]:(text-[#9e9e9e])`
83
84
  ],
84
85
 
85
86
  [
86
87
  /^q-tree__icon$/,
87
88
  ([, c], { theme }) =>
88
- theme.quasar?.components?.['q-tree__icon'] ?? `text-[21px]`
89
+ theme.quasar?.components?.['q-tree__icon'] ?? `text-21px`
89
90
  ],
90
91
 
91
92
  [
@@ -118,7 +119,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
118
119
  /^q-tree__arrow--rotate$/,
119
120
  ([, c], { theme }) =>
120
121
  theme.quasar?.components?.['q-tree__arrow--rotate'] ??
121
- `[transform:rotate3d(0,_0,_1,_90deg)]`
122
+ `[transform:rotate3d(0_0_1_90deg)]`
122
123
  ],
123
124
 
124
125
  [
@@ -131,28 +132,28 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
131
132
  /^q-tree--dark$/,
132
133
  ([, c], { theme }) =>
133
134
  theme.quasar?.components?.['q-tree--dark'] ??
134
- `[&_.q-tree\\_\\_node-header-content]:(text-[#fff])`
135
+ `[&--dark] [&_.q-tree__node-header-content]:(text-[#fff])`
135
136
  ],
136
137
 
137
138
  [
138
139
  /^q-tree--no-connectors$/,
139
140
  ([, c], { theme }) =>
140
141
  theme.quasar?.components?.['q-tree--no-connectors'] ??
141
- `[&_.q-tree\\_\\_node:after]:(!hidden) [&_.q-tree\\_\\_node-header:before]:(!hidden) [&_.q-tree\\_\\_node-body:after]:(!hidden)`
142
+ `[&--no-connectors] [&_.q-tree__node:after]:(!hidden) [&--no-connectors] [&_.q-tree__node-header:before]:(!hidden) [&--no-connectors] [&_.q-tree__node-body:after]:(!hidden)`
142
143
  ],
143
144
 
144
145
  [
145
146
  /^q-tree--dense$/,
146
147
  ([, c], { theme }) =>
147
148
  theme.quasar?.components?.['q-tree--dense'] ??
148
- `[&_>_.q-tree\\_\\_node--child_>_.q-tree\\_\\_node-header]:(pl-px) [&_.q-tree\\_\\_arrow]:(mr-px) [&_.q-tree\\_\\_spinner]:(mr-px) [&_.q-tree\\_\\_img]:(h-[32px]) [&_.q-tree\\_\\_tickbox]:(mr-[3px]) [&_.q-tree\\_\\_node]:(p-0) [&_.q-tree\\_\\_node:after]:(top-[0] -left-[8px]) [&_.q-tree\\_\\_node-header]:(mt-0 p-px) [&_.q-tree\\_\\_node-header:before]:(top-[0] -left-[8px] w-[8px]) [&_.q-tree\\_\\_node--child]:(pl-[17px]) [&_.q-tree\\_\\_node--child_>_.q-tree\\_\\_node-header:before]:(-left-[25px] w-[21px]) [&_.q-tree\\_\\_node-body]:(pt-[0] px-[0] pb-[2px]) [&_.q-tree\\_\\_children]:(pl-[16px])`
149
+ `[&--dense] &>_.q-tree__node--child>_.q-tree__node-header:(pl-px) [&--dense] [&_.q-tree__arrow]:(mr-px) [&--dense] [&_.q-tree__spinner]:(mr-px) [&--dense] [&_.q-tree__img]:(h-[32px]) [&--dense] [&_.q-tree__tickbox]:(mr-[3px]) [&--dense] [&_.q-tree__node]:(p-0) [&--dense] [&_.q-tree__node:after]:(top-[0] -left-[8px]) [&--dense] [&_.q-tree__node-header]:(mt-0 p-px) [&--dense] [&_.q-tree__node-header:before]:(top-[0] -left-[8px] w-[8px]) [&--dense] &>_.q-tree__node--child>_.q-tree__node-header:(pl-[17px]) [&--dense] &>_.q-tree__node--child>_.q-tree__node-header:before:(-left-[25px] w-[21px]) [&--dense] [&_.q-tree__node-body]:(pt-[0] pr-[0] pb-[2px]) [&--dense] [&_.q-tree__children]:(pl-[16px])`
149
150
  ],
150
151
 
151
152
  [
152
153
  /^q-tree--dense$/,
153
154
  ([, c], { theme }) =>
154
155
  theme.quasar?.components?.['q-tree--dense'] ??
155
- `[&__.q-tree\\_\\_node--parent__>_.q-tree\\_\\_node-collapsible__>_.q-tree\\_\\_node-body]:(pt-[0] pr-[0] pb-[2px] pl-[20px]) [&__.q-tree\\_\\_node--parent__>_.q-tree\\_\\_node-collapsible__>_.q-tree\\_\\_node-body:after]:(left-[8px])`
156
+ `[&--dense] &__.q-tree__node--parent>_.q-tree__node-collapsible>_.q-tree__node-body:(pt-[0] pr-[0] pb-[2px] pl-[20px]) [&--dense] &__.q-tree__node--parent>_.q-tree__node-collapsible>_.q-tree__node-body:after:(left-[8px])`
156
157
  ]
157
158
  ]
158
159
 
@@ -12,12 +12,12 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
12
12
  rounded-[3px]
13
13
  [box-shadow:0_1px_5px_rgba(0,_0,_0,_0.2),_0_2px_2px_rgba(0,_0,_0,_0.14),_0_3px_1px_-2px_rgba(0,_0,_0,_0.12)]
14
14
  align-middle
15
- [&_>_.q-btn-item]:([border-radius:inherit] self-stretch)
15
+ [&_>_.q-btn-item]:(bg-transparent text-light-on-surface dark:text-dark-on-surface self-stretch)
16
+ [&_>_.q-btn-item.bg-primary]:(!bg-light-primary !text-light-on-primary dark:!bg-dark-primary dark:!text-dark-on-primary)
16
17
  [&_>_.q-btn-item:before]:([box-shadow:none])
17
18
  [&_>_.q-btn-item_.q-badge--floating]:(right-0)
18
19
  [&_>_.q-btn-group]:([box-shadow:none])
19
- [&_>_.q-btn-group:first-child_>_.q-btn]:(border-rd-0 bg-light-outline dark:bg-dark-outline)
20
- [&_>_.q-btn-group:first-child_>_.q-btn--active]:(bg-light-seondary-container dark:bg-dark-secondary-container)
20
+ [&_>_.q-btn-group:first-child_>_.q-btn--active]:(!bg-light-secondary-container dark:!bg-dark-secondary-container)
21
21
  [&_>_.q-btn-group:first-child_>_.q-btn:first-child]:([border-top-left-radius:inherit] [border-bottom-left-radius:inherit])
22
22
  [&_>_.q-btn-group:last-child_>_.q-btn:last-child]:([border-top-right-radius:inherit] [border-bottom-right-radius:inherit])
23
23
  [&_>_.q-btn-group:not(:first-child)_>_.q-btn:first-child:before]:([border-left:0])