unocss-preset-quasar 0.1.1 → 0.1.3
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/dist/index.js +67 -73
- package/dist/styles/index.js +3 -3
- package/dist/styles/md2/components/QSkeleton.unocss.js +51 -51
- package/dist/styles/md2/components/QTree.unocss.js +13 -13
- package/dist/styles/md3/components/QBtnToggle.unocss.js +5 -5
- package/dist/styles/md3/components/QSkeleton.unocss.js +51 -51
- package/dist/styles/md3/components/QSlider.unocss.js +2 -2
- package/dist/styles/md3/components/QTime.unocss.js +21 -10
- package/dist/styles/md3/components/QTree.unocss.js +13 -13
- package/dist/theme.js +132 -60
- package/dist/types/index.d.ts +3 -7
- package/dist/types/styles/index.d.ts +3 -3
- package/dist/types/theme.d.ts +41 -4
- package/package.json +8 -8
- package/src/index.ts +192 -200
- package/src/styles/index.ts +14 -3
- package/src/styles/md2/components/QSkeleton.unocss.ts +51 -75
- package/src/styles/md2/components/QTree.unocss.ts +14 -13
- package/src/styles/md3/components/QBtnToggle.unocss.ts +5 -5
- package/src/styles/md3/components/QSkeleton.unocss.ts +51 -75
- package/src/styles/md3/components/QSlider.unocss.ts +2 -2
- package/src/styles/md3/components/QTime.unocss.ts +21 -10
- package/src/styles/md3/components/QTree.unocss.ts +14 -13
- package/src/styles/md3/index.ts +0 -1
- package/src/theme.ts +239 -64
package/dist/types/index.d.ts
CHANGED
|
@@ -1,19 +1,15 @@
|
|
|
1
1
|
import { type Preset } from 'unocss';
|
|
2
2
|
import { type QuasarIconSet, type QuasarPlugins } from 'quasar';
|
|
3
|
+
import { type QuasarStyle } from './styles/index.js';
|
|
3
4
|
import { WebFontsOptions } from '@unocss/preset-web-fonts/index.js';
|
|
4
5
|
export interface QuasarPresetOptions {
|
|
5
|
-
style:
|
|
6
|
-
|
|
6
|
+
style: QuasarStyle;
|
|
7
|
+
sourceColor?: string;
|
|
7
8
|
plugins?: (keyof QuasarPlugins)[];
|
|
8
9
|
iconSet?: QuasarIconSet;
|
|
9
10
|
presetWebFonts?: WebFontsOptions;
|
|
10
11
|
}
|
|
11
|
-
declare const QuasarStyles: {
|
|
12
|
-
md2: Promise<typeof import("./styles/md2/index.js")>;
|
|
13
|
-
md3: Promise<typeof import("./styles/md3/index.js")>;
|
|
14
|
-
};
|
|
15
12
|
export declare const QuasarPreset: Preset<object>;
|
|
16
13
|
export declare const defaultSplitRE: RegExp;
|
|
17
14
|
export declare const splitWithVariantGroupRE: RegExp;
|
|
18
15
|
export declare function splitCode(code: string): string[];
|
|
19
|
-
export {};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import { Preflight, Rule, UserShortcuts, Variant } from '@unocss/core';
|
|
2
2
|
import { QuasarTheme } from '../theme.js';
|
|
3
|
-
import { setDefaultProps as setDefaultPropsMd2 } from './md2/index.js';
|
|
4
|
-
import { setDefaultProps as setDefaultPropsMd3 } from './md3/index.js';
|
|
3
|
+
import { default as MaterialDesign2, setDefaultProps as setDefaultPropsMd2 } from './md2/index.js';
|
|
4
|
+
import { default as MaterialDesign3, setDefaultProps as setDefaultPropsMd3 } from './md3/index.js';
|
|
5
5
|
export interface QuasarStyle {
|
|
6
6
|
rules: Rule<QuasarTheme>[];
|
|
7
7
|
variants: Variant<QuasarTheme>[];
|
|
8
8
|
preflights: Preflight<QuasarTheme>[];
|
|
9
9
|
shortcuts: UserShortcuts<QuasarTheme>[];
|
|
10
10
|
}
|
|
11
|
-
export { setDefaultPropsMd2, setDefaultPropsMd3 };
|
|
11
|
+
export { MaterialDesign2, MaterialDesign3, setDefaultPropsMd2, setDefaultPropsMd3 };
|
package/dist/types/theme.d.ts
CHANGED
|
@@ -1,4 +1,41 @@
|
|
|
1
|
-
|
|
1
|
+
interface MaterialColorScheme {
|
|
2
|
+
primary: string;
|
|
3
|
+
onPrimary: string;
|
|
4
|
+
primaryContainer: string;
|
|
5
|
+
onPrimaryContainer: string;
|
|
6
|
+
secondary: string;
|
|
7
|
+
onSecondary: string;
|
|
8
|
+
secondaryContainer: string;
|
|
9
|
+
onSecondaryContainer: string;
|
|
10
|
+
tertiary: string;
|
|
11
|
+
onTertiary: string;
|
|
12
|
+
tertiaryContainer: string;
|
|
13
|
+
onTertiaryContainer: string;
|
|
14
|
+
error: string;
|
|
15
|
+
onError: string;
|
|
16
|
+
errorContainer: string;
|
|
17
|
+
onErrorContainer: string;
|
|
18
|
+
background: string;
|
|
19
|
+
onBackground: string;
|
|
20
|
+
surface: string;
|
|
21
|
+
onSurface: string;
|
|
22
|
+
surfaceVariant: string;
|
|
23
|
+
onSurfaceVariant: string;
|
|
24
|
+
outline: string;
|
|
25
|
+
outlineVariant: string;
|
|
26
|
+
shadow: string;
|
|
27
|
+
scrim: string;
|
|
28
|
+
inverseSurface: string;
|
|
29
|
+
inverseOnSurface: string;
|
|
30
|
+
inversePrimary: string;
|
|
31
|
+
surfaceDim: string;
|
|
32
|
+
surfaceBright: string;
|
|
33
|
+
surfaceContainerLowest: string;
|
|
34
|
+
surfaceContainerLow: string;
|
|
35
|
+
surfaceContainer: string;
|
|
36
|
+
surfaceContainerHigh: string;
|
|
37
|
+
surfaceContainerHighest: string;
|
|
38
|
+
}
|
|
2
39
|
export interface QuasarTheme {
|
|
3
40
|
typography: {
|
|
4
41
|
fontFamily: string;
|
|
@@ -11,8 +48,8 @@ export interface QuasarTheme {
|
|
|
11
48
|
xl: string;
|
|
12
49
|
};
|
|
13
50
|
colors: {
|
|
14
|
-
light:
|
|
15
|
-
dark:
|
|
51
|
+
light: MaterialColorScheme;
|
|
52
|
+
dark: MaterialColorScheme;
|
|
16
53
|
primary: string;
|
|
17
54
|
secondary: string;
|
|
18
55
|
accent: string;
|
|
@@ -1150,5 +1187,5 @@ export interface QuasarTheme {
|
|
|
1150
1187
|
};
|
|
1151
1188
|
}
|
|
1152
1189
|
declare const defaultTheme: QuasarTheme;
|
|
1153
|
-
export declare const generateTheme: (
|
|
1190
|
+
export declare const generateTheme: (sourceColor: string) => QuasarTheme;
|
|
1154
1191
|
export { defaultTheme };
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unocss-preset-quasar",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.3",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"author": "Stefan van Herwijnen",
|
|
6
6
|
"description": "UnoCSS preset for Quasar Framework",
|
|
@@ -29,27 +29,27 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/simsustech/unocss-preset-quasar/tree/main/#readme",
|
|
31
31
|
"dependencies": {
|
|
32
|
+
"@material/material-color-utilities": "^0.3.0",
|
|
32
33
|
"@unocss/core": "^66.0.0",
|
|
33
34
|
"@unocss/preset-uno": "^66.0.0",
|
|
34
|
-
"@unocss/preset-web-fonts": "66.1.0-beta.
|
|
35
|
+
"@unocss/preset-web-fonts": "66.1.0-beta.10",
|
|
35
36
|
"@unocss/preset-wind": "^66.0.0",
|
|
36
37
|
"animated-unocss": "^0.0.6",
|
|
37
|
-
"
|
|
38
|
-
"unocss": "66.1.0-beta.8"
|
|
38
|
+
"unocss": "66.1.0-beta.10"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
41
41
|
"@iconify-json/mdi": "^1.2.3",
|
|
42
42
|
"@quasar/extras": "^1.16.17",
|
|
43
43
|
"@quasar/quasar-ui-qmarkdown": "^2.0.5",
|
|
44
44
|
"@quasar/quasar-ui-qmediaplayer": "^2.0.0-beta.0",
|
|
45
|
-
"@types/node": "^22.
|
|
45
|
+
"@types/node": "^22.14.0",
|
|
46
46
|
"@unocss/preset-icons": "^66.0.0",
|
|
47
|
-
"@unocss/preset-mini": "66.1.0-beta.
|
|
47
|
+
"@unocss/preset-mini": "66.1.0-beta.10",
|
|
48
48
|
"quasar": "^2.18.1",
|
|
49
|
-
"typescript": "^5.8.
|
|
49
|
+
"typescript": "^5.8.3"
|
|
50
50
|
},
|
|
51
51
|
"peerDependencies": {
|
|
52
|
-
"quasar": "^2.
|
|
52
|
+
"quasar": "^2.18.1"
|
|
53
53
|
},
|
|
54
54
|
"publishConfig": {
|
|
55
55
|
"access": "public",
|
package/src/index.ts
CHANGED
|
@@ -5,8 +5,8 @@ import {
|
|
|
5
5
|
presetWebFonts,
|
|
6
6
|
transformerVariantGroup
|
|
7
7
|
} from 'unocss'
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
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 {
|
|
@@ -24,18 +24,13 @@ import {
|
|
|
24
24
|
import { WebFontsOptions } from '@unocss/preset-web-fonts/index.js'
|
|
25
25
|
|
|
26
26
|
export interface QuasarPresetOptions {
|
|
27
|
-
style:
|
|
28
|
-
|
|
27
|
+
style: QuasarStyle
|
|
28
|
+
sourceColor?: string
|
|
29
29
|
plugins?: (keyof QuasarPlugins)[]
|
|
30
30
|
iconSet?: QuasarIconSet
|
|
31
31
|
presetWebFonts?: WebFontsOptions
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
const QuasarStyles = {
|
|
35
|
-
md2: import('./styles/md2/index.js'),
|
|
36
|
-
md3: import('./styles/md3/index.js')
|
|
37
|
-
}
|
|
38
|
-
|
|
39
34
|
const extractKeys = (obj: Record<string, any>) =>
|
|
40
35
|
Object.values(obj).reduce((acc, cur) => {
|
|
41
36
|
if (typeof cur === 'string') acc.push(cur)
|
|
@@ -102,6 +97,64 @@ const QTabSafelist = [
|
|
|
102
97
|
'q-tab--active',
|
|
103
98
|
'q-tab--inactive'
|
|
104
99
|
]
|
|
100
|
+
const QSliderSafelist = [
|
|
101
|
+
'q-slider',
|
|
102
|
+
'q-slider--h',
|
|
103
|
+
'q-slider--v',
|
|
104
|
+
'q-slider--editable',
|
|
105
|
+
'q-slider__track-container',
|
|
106
|
+
'q-slider__track-container--h',
|
|
107
|
+
'q-slider__track-container--v',
|
|
108
|
+
'q-slider__track',
|
|
109
|
+
'q-slider__inner',
|
|
110
|
+
'q-slider__selection',
|
|
111
|
+
'q-slider__markers',
|
|
112
|
+
'q-slider__markers--h',
|
|
113
|
+
'q-slider__markers--v',
|
|
114
|
+
'q-slider__marker-labels-container',
|
|
115
|
+
'q-slider__marker-labels',
|
|
116
|
+
'q-slider__marker-labels--h-standard',
|
|
117
|
+
'q-slider__marker-labels--h-switched',
|
|
118
|
+
'q-slider__marker-labels--h-ltr',
|
|
119
|
+
'q-slider__marker-labels--h-rtl',
|
|
120
|
+
'q-slider__marker-labels--v-standard',
|
|
121
|
+
'q-slider__marker-labels--v-switched',
|
|
122
|
+
'q-slider__marker-labels--v-ltr',
|
|
123
|
+
'q-slider__marker-labels--v-rtl',
|
|
124
|
+
'q-slider__thumb',
|
|
125
|
+
'q-slider__thumb--h',
|
|
126
|
+
'q-slider__thumb--h-ltr',
|
|
127
|
+
'q-slider__thumb--h-rtl',
|
|
128
|
+
'q-slider__thumb--v',
|
|
129
|
+
'q-slider__thumb--v-ltr',
|
|
130
|
+
'q-slider__thumb--v-rtl',
|
|
131
|
+
'q-slider__thumb-shape',
|
|
132
|
+
'q-slider__focus-ring',
|
|
133
|
+
'q-slider__pin',
|
|
134
|
+
'q-slider__pin--h',
|
|
135
|
+
'q-slider__pin--h-standard',
|
|
136
|
+
'q-slider__pin--h-switched',
|
|
137
|
+
'q-slider__pin--v',
|
|
138
|
+
'q-slider__pin--v-standard',
|
|
139
|
+
'q-slider__pin--v-switched',
|
|
140
|
+
'q-slider__label',
|
|
141
|
+
'q-slider__label--h',
|
|
142
|
+
'q-slider__label--h-standard',
|
|
143
|
+
'q-slider__label--h-switched',
|
|
144
|
+
'q-slider__label--v',
|
|
145
|
+
'q-slider__label--v-standard',
|
|
146
|
+
'q-slider__label--v-switched',
|
|
147
|
+
'q-slider__text-container',
|
|
148
|
+
'q-slider__text',
|
|
149
|
+
'q-slider--no-value',
|
|
150
|
+
'q-slider--focus',
|
|
151
|
+
'q-slider--inactive',
|
|
152
|
+
'q-slider--active',
|
|
153
|
+
'q-slider--label',
|
|
154
|
+
'q-slider--dark',
|
|
155
|
+
'q-slider--dense'
|
|
156
|
+
]
|
|
157
|
+
|
|
105
158
|
const componentsSafelistMap: Partial<Record<keyof QuasarComponents, string[]>> =
|
|
106
159
|
{
|
|
107
160
|
QIcon: ['q-icon'],
|
|
@@ -567,6 +620,7 @@ const componentsSafelistMap: Partial<Record<keyof QuasarComponents, string[]>> =
|
|
|
567
620
|
'q-radio--dark',
|
|
568
621
|
'q-radio--dense'
|
|
569
622
|
],
|
|
623
|
+
QRange: QSliderSafelist,
|
|
570
624
|
QRating: [
|
|
571
625
|
'q-rating',
|
|
572
626
|
'q-rating__icon-container',
|
|
@@ -643,63 +697,7 @@ const componentsSafelistMap: Partial<Record<keyof QuasarComponents, string[]>> =
|
|
|
643
697
|
'q-slide-item__bottom',
|
|
644
698
|
'q-slide-item__content'
|
|
645
699
|
],
|
|
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
|
-
],
|
|
700
|
+
QSlider: QSliderSafelist,
|
|
703
701
|
QSpace: ['q-space'],
|
|
704
702
|
QSpinner: ['q-spinner', 'q-spinner-mat'],
|
|
705
703
|
QSplitter: [
|
|
@@ -1517,148 +1515,142 @@ const generateSafelist = ({
|
|
|
1517
1515
|
return safelist
|
|
1518
1516
|
}
|
|
1519
1517
|
|
|
1520
|
-
export const QuasarPreset = definePreset(
|
|
1521
|
-
|
|
1522
|
-
|
|
1523
|
-
|
|
1524
|
-
style: 'md2',
|
|
1525
|
-
primaryColor: '#CEB8F1'
|
|
1526
|
-
}
|
|
1527
|
-
if (!Object.keys(QuasarStyles).includes(options.style))
|
|
1528
|
-
throw new Error('Unsupported Quasar style')
|
|
1518
|
+
export const QuasarPreset = definePreset((options: QuasarPresetOptions) => {
|
|
1519
|
+
if (!options.sourceColor) {
|
|
1520
|
+
options.sourceColor = '#806cb0'
|
|
1521
|
+
}
|
|
1529
1522
|
|
|
1530
|
-
|
|
1531
|
-
|
|
1523
|
+
const style = options.style
|
|
1524
|
+
const theme = generateTheme(options.sourceColor)
|
|
1532
1525
|
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1539
|
-
|
|
1540
|
-
|
|
1541
|
-
|
|
1542
|
-
|
|
1543
|
-
|
|
1544
|
-
|
|
1545
|
-
|
|
1546
|
-
|
|
1547
|
-
}
|
|
1526
|
+
return [
|
|
1527
|
+
presetWind3({
|
|
1528
|
+
dark: {
|
|
1529
|
+
light: '.body--light',
|
|
1530
|
+
dark: '.body--dark'
|
|
1531
|
+
}
|
|
1532
|
+
}),
|
|
1533
|
+
animatedUno(),
|
|
1534
|
+
presetIcons({}),
|
|
1535
|
+
presetWebFonts(
|
|
1536
|
+
options.presetWebFonts || {
|
|
1537
|
+
provider: 'bunny',
|
|
1538
|
+
fonts: {
|
|
1539
|
+
roboto: 'Roboto'
|
|
1548
1540
|
}
|
|
1549
|
-
|
|
1550
|
-
|
|
1551
|
-
|
|
1552
|
-
|
|
1553
|
-
|
|
1554
|
-
|
|
1555
|
-
|
|
1556
|
-
|
|
1557
|
-
|
|
1558
|
-
|
|
1559
|
-
|
|
1560
|
-
|
|
1561
|
-
|
|
1562
|
-
|
|
1563
|
-
|
|
1564
|
-
|
|
1565
|
-
|
|
1566
|
-
|
|
1567
|
-
|
|
1568
|
-
|
|
1569
|
-
|
|
1570
|
-
|
|
1571
|
-
|
|
1572
|
-
|
|
1573
|
-
)
|
|
1574
|
-
|
|
1575
|
-
|
|
1576
|
-
const pascalComponentsMatch: string[] = []
|
|
1577
|
-
const matches: string[] = []
|
|
1541
|
+
}
|
|
1542
|
+
),
|
|
1543
|
+
{
|
|
1544
|
+
name: 'quasar',
|
|
1545
|
+
safelist: generateSafelist(options),
|
|
1546
|
+
preflights: corePreflights.concat(style.preflights),
|
|
1547
|
+
rules: coreRules.concat(style.rules),
|
|
1548
|
+
variants: style.variants,
|
|
1549
|
+
shortcuts: coreShortcuts.concat(style.shortcuts),
|
|
1550
|
+
theme,
|
|
1551
|
+
outputToCssLayers: true,
|
|
1552
|
+
layers: {
|
|
1553
|
+
components: -1,
|
|
1554
|
+
default: 1,
|
|
1555
|
+
utilities: 2
|
|
1556
|
+
},
|
|
1557
|
+
extractors: [
|
|
1558
|
+
{
|
|
1559
|
+
name: 'quasar-extractor',
|
|
1560
|
+
order: 0,
|
|
1561
|
+
extract({ code }) {
|
|
1562
|
+
const kebabMatch = code.matchAll(/q-(\w)([\w-]*)/g)
|
|
1563
|
+
const pascalMatch = code.matchAll(/Q([A-Z][a-z0-9]+)+/g)
|
|
1564
|
+
const transitionMatch = code.matchAll(
|
|
1565
|
+
/(transition|transition-show|transition-hide|transition-prev|transition-next)="(\S*)"/g
|
|
1566
|
+
)
|
|
1567
|
+
const colorMatch = code.matchAll(/color[=|:]"(.*?)"/g)
|
|
1578
1568
|
|
|
1579
|
-
|
|
1580
|
-
|
|
1581
|
-
pascalComponentsMatch.push(toPascalCase(match[0]))
|
|
1582
|
-
}
|
|
1583
|
-
for (const match of pascalMatch) {
|
|
1584
|
-
pascalComponentsMatch.push(match[0])
|
|
1585
|
-
matches.push(toKebabCase(match[0]))
|
|
1586
|
-
}
|
|
1587
|
-
const transitionClasses = []
|
|
1588
|
-
for (const match of transitionMatch) {
|
|
1589
|
-
transitionClasses.push(
|
|
1590
|
-
...[
|
|
1591
|
-
'enter-from',
|
|
1592
|
-
'enter-active',
|
|
1593
|
-
'enter-to',
|
|
1594
|
-
'leave-from',
|
|
1595
|
-
'leave-active',
|
|
1596
|
-
'leave-to'
|
|
1597
|
-
].map((v) => `q-transition--${match[2]}-${v}`)
|
|
1598
|
-
)
|
|
1599
|
-
}
|
|
1600
|
-
const colorClasses = []
|
|
1601
|
-
for (const match of colorMatch) {
|
|
1602
|
-
colorClasses.push(`text-${match[1]}`, `bg-${match[1]}`)
|
|
1603
|
-
}
|
|
1569
|
+
const pascalComponentsMatch: string[] = []
|
|
1570
|
+
const matches: string[] = []
|
|
1604
1571
|
|
|
1605
|
-
|
|
1606
|
-
|
|
1607
|
-
|
|
1608
|
-
|
|
1609
|
-
|
|
1610
|
-
|
|
1611
|
-
|
|
1612
|
-
|
|
1613
|
-
|
|
1614
|
-
|
|
1615
|
-
|
|
1616
|
-
|
|
1617
|
-
|
|
1618
|
-
|
|
1619
|
-
|
|
1620
|
-
|
|
1621
|
-
|
|
1622
|
-
|
|
1623
|
-
|
|
1624
|
-
...(componentsSafelistMap as Record<string, string>)[
|
|
1625
|
-
component
|
|
1626
|
-
]
|
|
1627
|
-
)
|
|
1628
|
-
}
|
|
1629
|
-
return acc
|
|
1630
|
-
}, [] as string[])
|
|
1631
|
-
]
|
|
1632
|
-
classes.push(
|
|
1633
|
-
...transitionClasses,
|
|
1634
|
-
...colorClasses,
|
|
1635
|
-
...componentClasses
|
|
1572
|
+
for (const match of kebabMatch) {
|
|
1573
|
+
matches.push(match[0])
|
|
1574
|
+
pascalComponentsMatch.push(toPascalCase(match[0]))
|
|
1575
|
+
}
|
|
1576
|
+
for (const match of pascalMatch) {
|
|
1577
|
+
pascalComponentsMatch.push(match[0])
|
|
1578
|
+
matches.push(toKebabCase(match[0]))
|
|
1579
|
+
}
|
|
1580
|
+
const transitionClasses = []
|
|
1581
|
+
for (const match of transitionMatch) {
|
|
1582
|
+
transitionClasses.push(
|
|
1583
|
+
...[
|
|
1584
|
+
'enter-from',
|
|
1585
|
+
'enter-active',
|
|
1586
|
+
'enter-to',
|
|
1587
|
+
'leave-from',
|
|
1588
|
+
'leave-active',
|
|
1589
|
+
'leave-to'
|
|
1590
|
+
].map((v) => `q-transition--${match[2]}-${v}`)
|
|
1636
1591
|
)
|
|
1637
|
-
return classes
|
|
1638
1592
|
}
|
|
1593
|
+
const colorClasses = []
|
|
1594
|
+
for (const match of colorMatch) {
|
|
1595
|
+
colorClasses.push(`text-${match[1]}`, `bg-${match[1]}`)
|
|
1596
|
+
}
|
|
1597
|
+
|
|
1598
|
+
// const classes = qClasses.filter((c) =>
|
|
1599
|
+
// matches.some((component) => {
|
|
1600
|
+
// component = component.replaceAll(
|
|
1601
|
+
// 'q-chat-message',
|
|
1602
|
+
// 'q-message'
|
|
1603
|
+
// )
|
|
1604
|
+
// component = component.replaceAll(
|
|
1605
|
+
// 'q-scroll-area',
|
|
1606
|
+
// 'q-scrollarea'
|
|
1607
|
+
// )
|
|
1608
|
+
// return c.includes(component)
|
|
1609
|
+
// })
|
|
1610
|
+
// )
|
|
1611
|
+
const classes = []
|
|
1612
|
+
const componentClasses = [
|
|
1613
|
+
...matches,
|
|
1614
|
+
...pascalComponentsMatch.reduce((acc, component) => {
|
|
1615
|
+
if (component in componentsSafelistMap) {
|
|
1616
|
+
acc.push(
|
|
1617
|
+
...(componentsSafelistMap as Record<string, string>)[
|
|
1618
|
+
component
|
|
1619
|
+
]
|
|
1620
|
+
)
|
|
1621
|
+
}
|
|
1622
|
+
return acc
|
|
1623
|
+
}, [] as string[])
|
|
1624
|
+
]
|
|
1625
|
+
classes.push(
|
|
1626
|
+
...transitionClasses,
|
|
1627
|
+
...colorClasses,
|
|
1628
|
+
...componentClasses
|
|
1629
|
+
)
|
|
1630
|
+
return classes
|
|
1639
1631
|
}
|
|
1640
|
-
|
|
1641
|
-
|
|
1642
|
-
|
|
1643
|
-
|
|
1644
|
-
|
|
1645
|
-
|
|
1646
|
-
|
|
1647
|
-
|
|
1648
|
-
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
)
|
|
1632
|
+
}
|
|
1633
|
+
],
|
|
1634
|
+
transformers: [
|
|
1635
|
+
transformerVariantGroup()
|
|
1636
|
+
// {
|
|
1637
|
+
// name: 'find-classes-in-quasar-src',
|
|
1638
|
+
// enforce: 'pre', // enforce before other transformers
|
|
1639
|
+
// idFilter(id) {
|
|
1640
|
+
// return id.match(/quasar\/src\/.*\.js/)
|
|
1641
|
+
// },
|
|
1642
|
+
// async transform(code, id, { uno }) {
|
|
1643
|
+
// for (const c of baseSafelist) {
|
|
1644
|
+
// if (code.toString().includes(c)) console.log(c)
|
|
1645
|
+
// }
|
|
1646
|
+
// return code
|
|
1647
|
+
// // code is a MagicString instance
|
|
1648
|
+
// }
|
|
1649
|
+
// }
|
|
1650
|
+
]
|
|
1651
|
+
} as Preset
|
|
1652
|
+
]
|
|
1653
|
+
})
|
|
1662
1654
|
|
|
1663
1655
|
export const defaultSplitRE = /[\\:]?[\s'"`;{}]+/g
|
|
1664
1656
|
export const splitWithVariantGroupRE = /([\\:]?[\s"'`;<>]|:\(|\)"|\)\s)/g
|
package/src/styles/index.ts
CHANGED
|
@@ -1,7 +1,13 @@
|
|
|
1
1
|
import { Preflight, Rule, UserShortcuts, Variant } from '@unocss/core'
|
|
2
2
|
import { QuasarTheme } from '../theme.js'
|
|
3
|
-
import {
|
|
4
|
-
|
|
3
|
+
import {
|
|
4
|
+
default as MaterialDesign2,
|
|
5
|
+
setDefaultProps as setDefaultPropsMd2
|
|
6
|
+
} from './md2/index.js'
|
|
7
|
+
import {
|
|
8
|
+
default as MaterialDesign3,
|
|
9
|
+
setDefaultProps as setDefaultPropsMd3
|
|
10
|
+
} from './md3/index.js'
|
|
5
11
|
|
|
6
12
|
export interface QuasarStyle {
|
|
7
13
|
rules: Rule<QuasarTheme>[]
|
|
@@ -10,4 +16,9 @@ export interface QuasarStyle {
|
|
|
10
16
|
shortcuts: UserShortcuts<QuasarTheme>[]
|
|
11
17
|
}
|
|
12
18
|
|
|
13
|
-
export {
|
|
19
|
+
export {
|
|
20
|
+
MaterialDesign2,
|
|
21
|
+
MaterialDesign3,
|
|
22
|
+
setDefaultPropsMd2,
|
|
23
|
+
setDefaultPropsMd3
|
|
24
|
+
}
|