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.
@@ -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: keyof typeof QuasarStyles;
6
- primaryColor?: string;
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 };
@@ -1,4 +1,41 @@
1
- import { type IMaterialDynamicColorsThemeColor } from 'material-dynamic-colors/src/cdn/interfaces';
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: IMaterialDynamicColorsThemeColor;
15
- dark: IMaterialDynamicColorsThemeColor;
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: (primaryColor?: string) => Promise<QuasarTheme>;
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.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.8",
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
- "material-dynamic-colors": "^1.1.2",
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.13.17",
45
+ "@types/node": "^22.14.0",
46
46
  "@unocss/preset-icons": "^66.0.0",
47
- "@unocss/preset-mini": "66.1.0-beta.8",
47
+ "@unocss/preset-mini": "66.1.0-beta.10",
48
48
  "quasar": "^2.18.1",
49
- "typescript": "^5.8.2"
49
+ "typescript": "^5.8.3"
50
50
  },
51
51
  "peerDependencies": {
52
- "quasar": "^2.17.7"
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 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 {
@@ -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: keyof typeof QuasarStyles
28
- primaryColor?: string
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
- async (options?: QuasarPresetOptions) => {
1522
- if (!options)
1523
- options = {
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
- const style: QuasarStyle = (await QuasarStyles[options.style]).default
1531
- const theme = await generateTheme(options.primaryColor)
1523
+ const style = options.style
1524
+ const theme = generateTheme(options.sourceColor)
1532
1525
 
1533
- return [
1534
- presetUno({
1535
- dark: {
1536
- light: '.body--light',
1537
- dark: '.body--dark'
1538
- }
1539
- }),
1540
- animatedUno(),
1541
- presetIcons({}),
1542
- presetWebFonts(
1543
- options.presetWebFonts || {
1544
- provider: 'bunny',
1545
- fonts: {
1546
- roboto: 'Roboto'
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
- name: 'quasar',
1552
- safelist: generateSafelist(options),
1553
- preflights: corePreflights.concat(style.preflights),
1554
- rules: coreRules.concat(style.rules),
1555
- variants: style.variants,
1556
- shortcuts: coreShortcuts.concat(style.shortcuts),
1557
- theme,
1558
- outputToCssLayers: true,
1559
- layers: {
1560
- components: -1,
1561
- default: 1,
1562
- utilities: 2
1563
- },
1564
- extractors: [
1565
- {
1566
- name: 'quasar-extractor',
1567
- order: 0,
1568
- extract({ code }) {
1569
- const kebabMatch = code.matchAll(/q-(\w)([\w-]*)/g)
1570
- const pascalMatch = code.matchAll(/Q([A-Z][a-z0-9]+)+/g)
1571
- const transitionMatch = code.matchAll(
1572
- /(transition|transition-show|transition-hide|transition-prev|transition-next)="(\S*)"/g
1573
- )
1574
- const colorMatch = code.matchAll(/color[=|:]"(.*?)"/g)
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
- for (const match of kebabMatch) {
1580
- matches.push(match[0])
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
- // const classes = qClasses.filter((c) =>
1606
- // matches.some((component) => {
1607
- // component = component.replaceAll(
1608
- // 'q-chat-message',
1609
- // 'q-message'
1610
- // )
1611
- // component = component.replaceAll(
1612
- // 'q-scroll-area',
1613
- // 'q-scrollarea'
1614
- // )
1615
- // return c.includes(component)
1616
- // })
1617
- // )
1618
- const classes = []
1619
- const componentClasses = [
1620
- ...matches,
1621
- ...pascalComponentsMatch.reduce((acc, component) => {
1622
- if (component in componentsSafelistMap) {
1623
- acc.push(
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
- transformers: [
1642
- transformerVariantGroup()
1643
- // {
1644
- // name: 'find-classes-in-quasar-src',
1645
- // enforce: 'pre', // enforce before other transformers
1646
- // idFilter(id) {
1647
- // return id.match(/quasar\/src\/.*\.js/)
1648
- // },
1649
- // async transform(code, id, { uno }) {
1650
- // for (const c of baseSafelist) {
1651
- // if (code.toString().includes(c)) console.log(c)
1652
- // }
1653
- // return code
1654
- // // code is a MagicString instance
1655
- // }
1656
- // }
1657
- ]
1658
- } as Preset
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
@@ -1,7 +1,13 @@
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 {
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 { setDefaultPropsMd2, setDefaultPropsMd3 }
19
+ export {
20
+ MaterialDesign2,
21
+ MaterialDesign3,
22
+ setDefaultPropsMd2,
23
+ setDefaultPropsMd3
24
+ }