vitrify 0.17.6 → 0.17.8

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 (42) hide show
  1. package/dist/plugins/quasar/unocss/components/QBtnGroup.unocss.js +1 -1
  2. package/dist/plugins/quasar/unocss/components/QColorPicker.unocss.js +1 -1
  3. package/dist/plugins/quasar/unocss/components/QDate.unocss.js +2 -2
  4. package/dist/plugins/quasar/unocss/components/QLayout.unocss.js +62 -62
  5. package/dist/plugins/quasar/unocss/components/QRadio.unocss.js +1 -1
  6. package/dist/plugins/quasar/unocss/components/QSlider.unocss.js +3 -3
  7. package/dist/plugins/quasar/unocss/components/QSplitter.unocss.js +2 -2
  8. package/dist/plugins/quasar/unocss/components/QStepper.unocss.js +1 -1
  9. package/dist/plugins/quasar/unocss/components/QToggle.unocss.js +1 -1
  10. package/dist/plugins/quasar/unocss/components/QUploader.unocss.js +1 -1
  11. package/dist/plugins/quasar/unocss/core/dark.unocss.js +1 -2
  12. package/dist/plugins/quasar/unocss/core/elevation.unocss.js +7 -1
  13. package/dist/plugins/quasar/unocss/core/flex.unocss.js +16 -29
  14. package/dist/plugins/quasar/unocss/core/mouse.unocss.js +1 -1
  15. package/dist/plugins/quasar/unocss/core/transitions.unocss.js +10 -1
  16. package/dist/plugins/quasar/unocss/index.js +380 -277
  17. package/dist/plugins/quasar/unocss/theme.js +4 -0
  18. package/dist/plugins/quasar.js +18 -101
  19. package/dist/types/plugins/quasar/unocss/core/elevation.unocss.d.ts +3 -2
  20. package/dist/types/plugins/quasar/unocss/core/transitions.unocss.d.ts +3 -2
  21. package/dist/types/plugins/quasar/unocss/index.d.ts +2 -5
  22. package/dist/types/plugins/quasar/unocss/theme.d.ts +5 -1
  23. package/dist/types/plugins/quasar.d.ts +3 -2
  24. package/package.json +2 -1
  25. package/src/node/plugins/quasar/unocss/components/QBtnGroup.unocss.ts +1 -1
  26. package/src/node/plugins/quasar/unocss/components/QColorPicker.unocss.ts +1 -1
  27. package/src/node/plugins/quasar/unocss/components/QDate.unocss.ts +2 -2
  28. package/src/node/plugins/quasar/unocss/components/QLayout.unocss.ts +62 -62
  29. package/src/node/plugins/quasar/unocss/components/QRadio.unocss.ts +1 -1
  30. package/src/node/plugins/quasar/unocss/components/QSlider.unocss.ts +3 -3
  31. package/src/node/plugins/quasar/unocss/components/QSplitter.unocss.ts +2 -2
  32. package/src/node/plugins/quasar/unocss/components/QStepper.unocss.ts +1 -1
  33. package/src/node/plugins/quasar/unocss/components/QToggle.unocss.ts +1 -1
  34. package/src/node/plugins/quasar/unocss/components/QUploader.unocss.ts +1 -1
  35. package/src/node/plugins/quasar/unocss/core/dark.unocss.ts +1 -2
  36. package/src/node/plugins/quasar/unocss/core/elevation.unocss.ts +8 -1
  37. package/src/node/plugins/quasar/unocss/core/flex.unocss.ts +13 -32
  38. package/src/node/plugins/quasar/unocss/core/mouse.unocss.ts +1 -1
  39. package/src/node/plugins/quasar/unocss/core/transitions.unocss.ts +11 -1
  40. package/src/node/plugins/quasar/unocss/index.ts +399 -281
  41. package/src/node/plugins/quasar/unocss/theme.ts +9 -1
  42. package/src/node/plugins/quasar.ts +30 -111
@@ -2,6 +2,7 @@
2
2
  import {
3
3
  definePreset,
4
4
  type Preflight,
5
+ presetIcons,
5
6
  type Rule,
6
7
  transformerVariantGroup,
7
8
  type UserShortcuts
@@ -137,7 +138,10 @@ import {
137
138
  preflights as DarkPreflights,
138
139
  shortcuts as DarkShortcuts
139
140
  } from './core/dark.unocss.js'
140
- import { rules as ElevationRules } from './core/elevation.unocss.js'
141
+ import {
142
+ shortcuts as ElevationShortcuts,
143
+ rules as ElevationRules
144
+ } from './core/elevation.unocss.js'
141
145
  import { shortcuts as FlexShortcuts } from './core/flex.unocss.js'
142
146
  import {
143
147
  rules as HelperRules,
@@ -152,7 +156,10 @@ import { shortcuts as OrientationShortcuts } from './core/orientation.unocss.js'
152
156
  import { shortcuts as PositionShortcuts } from './core/position.unocss.js'
153
157
  import { shortcuts as SizeShortcuts } from './core/size.unocss.js'
154
158
  import { shortcuts as TouchShortcuts } from './core/touch.unocss.js'
155
- import { shortcuts as TransitionsShortcuts } from './core/transitions.unocss.js'
159
+ import {
160
+ preflights as TransitionPreflights,
161
+ shortcuts as TransitionsShortcuts
162
+ } from './core/transitions.unocss.js'
156
163
  import {
157
164
  preflights as TypographyPreflights,
158
165
  shortcuts as TypographyShortcuts
@@ -166,16 +173,20 @@ import {
166
173
  import { shortcuts as QHeaderShortcuts } from './components/QHeader.unocss.js'
167
174
  import { shortcuts as QFooterShortcuts } from './components/QFooter.unocss.js'
168
175
  import { shortcuts as QDrawerShortcuts } from './components/QDrawer.unocss.js'
169
- import { type QuasarPlugins } from 'quasar'
176
+ import { type QuasarIconSet, type QuasarPlugins } from 'quasar'
170
177
 
171
178
  export interface QuasarPresetOptions {
172
179
  plugins?: (keyof QuasarPlugins)[]
173
- theme?: {
174
- shadowColor?: string
175
- darkShadowColor?: string
176
- }
180
+ iconSet?: QuasarIconSet
177
181
  }
178
182
 
183
+ const extractKeys = (obj: Record<string, any>) =>
184
+ Object.values(obj).reduce((acc, cur) => {
185
+ if (typeof cur === 'string') acc.push(cur)
186
+ else if (typeof cur === 'object') acc = acc.concat(extractKeys(cur))
187
+ return acc
188
+ }, [] as string[])
189
+
179
190
  const toKebabCase = (str: string) =>
180
191
  str
181
192
  .match(/[A-Z]{2,}(?=[A-Z][a-z]+[0-9]*|\b)|[A-Z]?[a-z]+[0-9]*|[A-Z]|[0-9]+/g)
@@ -313,293 +324,371 @@ const pluginSafelistMap: Partial<Record<keyof QuasarPlugins, string[]>> = {
313
324
  }
314
325
 
315
326
  const baseSafelist = [
316
- 'material-icons',
317
- 'material-icons-outlined',
318
- 'material-icons-round',
319
- 'material-icons-sharp',
320
- 'material-symbols-outlined',
321
- 'material-symbols-rounded',
322
- 'material-symbols-sharp',
323
- 'q-animate--scale',
324
- 'q-animate--fade',
325
- 'inset-shadow',
326
- 'inset-shadow-down',
327
- 'no-shadow',
328
- 'shadow-0',
329
- 'z-marginals',
330
- 'z-notify',
331
- 'z-fullscreen',
332
- 'z-inherit',
333
- 'row',
327
+ 'absolute',
328
+ 'absolute-bottom',
329
+ 'absolute-full',
330
+ 'absolute-right',
331
+ 'absolute-top',
332
+ 'block',
333
+ 'border-radius-inherit',
334
334
  'column',
335
+ 'content-center',
336
+ 'cursor-pointer',
337
+ 'disabled',
338
+ 'ellipsis',
339
+ 'fit',
340
+ 'fixed',
341
+ 'fixed-bottom',
342
+ 'fixed-full',
343
+ 'fixed-left',
344
+ 'fixed-right',
345
+ 'fixed-top',
335
346
  'flex',
336
- 'wrap',
337
- 'no-wrap',
338
- 'reverse-wrap',
339
- 'order-first',
340
- 'order-last',
341
- 'order-none',
342
- 'justify-start',
343
- 'justify-end',
344
- 'justify-center',
345
347
  'flex-center',
346
- 'justify-between',
347
- 'justify-around',
348
- 'justify-evenly',
349
- 'items-start',
350
- 'items-end',
348
+ 'full-width',
349
+ 'fullscreen',
350
+ 'glossy',
351
+ 'hidden',
352
+ 'hide-scrollbar',
353
+ 'invisible',
351
354
  'items-center',
352
- 'items-baseline',
355
+ 'items-end',
356
+ 'items-start',
353
357
  'items-stretch',
354
- 'content-start',
355
- 'content-end',
356
- 'content-center',
357
- 'content-stretch',
358
- 'content-between',
359
- 'content-around',
360
- 'self-start',
361
- 'self-end',
362
- 'self-center',
363
- 'self-baseline',
364
- 'self-stretch',
365
- 'q-gutter-x-none',
366
- 'q-gutter-none',
367
- 'q-gutter-y-none',
368
- 'q-col-gutter-x-none',
369
- 'q-col-gutter-none',
370
- 'q-col-gutter-y-none',
371
- 'q-gutter-x-xs',
372
- 'q-gutter-xs',
373
- 'q-gutter-y-xs',
374
- 'q-col-gutter-x-xs',
375
- 'q-col-gutter-xs',
376
- 'q-col-gutter-y-xs',
377
- 'q-gutter-x-sm',
378
- 'q-gutter-sm',
379
- 'q-gutter-y-sm',
380
- 'q-col-gutter-x-sm',
381
- 'q-col-gutter-sm',
382
- 'q-col-gutter-y-sm',
383
- 'q-gutter-x-md',
384
- 'q-gutter-md',
385
- 'q-gutter-y-md',
386
- 'q-col-gutter-x-md',
387
- 'q-col-gutter-md',
388
- 'q-col-gutter-y-md',
389
- 'q-gutter-x-lg',
390
- 'q-gutter-lg',
391
- 'q-gutter-y-lg',
392
- 'q-col-gutter-x-lg',
393
- 'q-col-gutter-lg',
394
- 'q-col-gutter-y-lg',
395
- 'q-gutter-x-xl',
396
- 'q-gutter-xl',
397
- 'q-gutter-y-xl',
398
- 'q-col-gutter-x-xl',
399
- 'q-col-gutter-xl',
400
- 'q-col-gutter-y-xl',
401
- 'rounded-borders',
402
- 'border-radius-inherit',
358
+ 'justify-between',
359
+ 'justify-center',
360
+ 'justify-end',
361
+ 'justify-start',
362
+ 'no-border',
363
+ 'no-border-radius',
364
+ 'no-outline',
365
+ 'no-pointer-events',
366
+ 'no-pointer-events--children',
367
+ 'no-shadow',
403
368
  'no-transition',
404
- 'transition-0',
405
- 'glossy',
406
- 'q-placeholder',
407
- 'q-body--fullscreen-mixin',
408
- 'q-body--prevent-scroll',
369
+ 'no-wrap',
370
+ 'non-selectable',
371
+ 'on-left',
372
+ 'on-right',
373
+ 'overflow-auto',
374
+ 'overflow-hidden',
375
+ 'q-animate--scale',
409
376
  'q-body--force-scrollbar-x',
410
377
  'q-body--force-scrollbar-y',
411
- 'q-no-input-spinner',
378
+ 'q-body--fullscreen-mixin',
379
+ 'q-body--prevent-scroll',
380
+ 'q-dark',
381
+ 'q-focus-helper',
382
+ 'q-focusable',
383
+ 'q-gutter-x-sm',
384
+ 'q-gutter-xs',
385
+ 'q-hoverable',
412
386
  'q-link',
413
387
  'q-link--focusable',
414
- 'non-selectable',
388
+ 'q-manual-focusable',
389
+ 'q-placeholder',
390
+ 'q-position-engine',
391
+ 'readonly',
392
+ 'relative-position',
393
+ 'rotate-180',
394
+ 'rounded-borders',
395
+ 'row',
415
396
  'scroll',
416
397
  'scroll-x',
417
398
  'scroll-y',
418
- 'no-scroll',
419
- 'no-pointer-events',
420
- 'no-pointer-events--children',
421
- 'all-pointer-events',
422
- 'cursor-pointer',
423
- 'cursor-not-afllowed',
424
- 'cursor-inherit',
425
- 'cursor-none',
426
- 'rotate-45',
427
- 'rotate-90',
428
- 'rotate-135',
429
- 'rotate-180',
430
- 'rotate-225',
431
- 'rotate-270',
432
- 'rotate-315',
433
- 'flip-horizontal',
434
- 'flip-vertical',
435
- 'float-left',
436
- 'float-right',
437
- 'relative-position',
438
- 'fixed',
439
- 'fixed-full',
440
- 'fullscreen',
441
- 'fixed-center',
442
- 'fixed-bottom',
443
- 'fixed-left',
444
- 'fixed-right',
445
- 'fixed-top',
446
- 'fixed-top-left',
447
- 'fixed-top-right',
448
- 'fixed-bottom-left',
449
- 'fixed-bottom-right',
450
- 'absolute',
451
- 'absolute-full',
452
- 'absolute-center',
453
- 'absolute-bottom',
454
- 'absolute-left',
455
- 'absolute-right',
456
- 'absolute-top',
457
- 'absolute-top-left',
458
- 'absolute-top-right',
459
- 'absolute-bottom-left',
460
- 'absolute-bottom-right',
461
- 'vertical-top',
462
- 'vertical-middle',
463
- 'vertical-bottom',
464
- 'on-left',
465
- 'on-right',
466
- 'q-position-engine',
467
- 'fit',
468
- 'full-height',
469
- 'full-width',
470
- 'window-height',
471
- 'window-width',
472
- 'block',
473
- 'inline-block',
474
- 'q-touch',
475
- 'q-touch-x',
476
- 'q-touch-y',
477
- 'q-transition--slide-right-enter-active',
478
- 'q-transition--slide-right-leave-active',
479
- 'q-transition--slide-left-enter-active',
480
- 'q-transition--slide-left-leave-active',
481
- 'q-transition--slide-up-enter-active',
482
- 'q-transition--slide-up-leave-active',
483
- 'q-transition--slide-down-enter-active',
484
- 'q-transition--slide-down-leave-active',
485
- 'q-transition--jump-right-enter-active',
486
- 'q-transition--jump-right-leave-active',
487
- 'q-transition--jump-left-enter-active',
488
- 'q-transition--jump-left-leave-active',
489
- 'q-transition--jump-up-enter-active',
490
- 'q-transition--jump-up-leave-active',
491
- 'q-transition--jump-down-enter-active',
492
- 'q-transition--jump-down-leave-active',
493
- 'q-transition--fade-enter-active',
494
- 'q-transition--fade-leave-active',
495
- 'q-transition--scale-enter-active',
496
- 'q-transition--scale-leave-active',
497
- 'q-transition--rotate-enter-active',
498
- 'q-transition--rotate-leave-active',
499
- 'q-transition--flip-enter-active',
500
- 'q-transition--flip-leave-active',
501
- 'q-transition--slide-right-enter-from',
502
- 'q-transition--slide-right-leave-to',
503
- 'q-transition--slide-left-enter-from',
504
- 'q-transition--slide-left-leave-to',
505
- 'q-transition--slide-up-enter-from',
506
- 'q-transition--slide-up-leave-to',
507
- 'q-transition--slide-down-enter-from',
508
- 'q-transition--slide-down-leave-to',
509
- 'q-transition--jump-right-enter-from',
510
- 'q-transition--jump-right-leave-to',
511
- 'q-transition--jump-left-enter-from',
512
- 'q-transition--jump-left-leave-to',
513
- 'q-transition--jump-up-enter-from',
514
- 'q-transition--jump-up-leave-to',
515
- 'q-transition--jump-down-enter-from',
516
- 'q-transition--jump-down-leave-to',
517
- 'q-transition--fade-enter-from',
518
- 'q-transition--fade-leave-to',
519
- 'q-transition--scale-enter-from',
520
- 'q-transition--scale-leave-to',
521
- 'q-transition--rotate-enter-from',
522
- 'q-transition--rotate-leave-to',
523
- 'q-transition--flip-right-enter-active',
524
- 'q-transition--flip-right-leave-active',
525
- 'q-transition--flip-left-enter-active',
526
- 'q-transition--flip-left-leave-active',
527
- 'q-transition--flip-up-enter-active',
528
- 'q-transition--flip-up-leave-active',
529
- 'q-transition--flip-down-enter-active',
530
- 'q-transition--flip-down-leave-active',
531
- 'q-transition--flip-right-enter-to',
532
- 'q-transition--flip-right-leave-from',
533
- 'q-transition--flip-left-enter-to',
534
- 'q-transition--flip-left-leave-from',
535
- 'q-transition--flip-up-enter-to',
536
- 'q-transition--flip-up-leave-from',
537
- 'q-transition--flip-down-enter-to',
538
- 'q-transition--flip-down-leave-from',
539
- 'q-transition--flip-right-enter-from',
540
- 'q-transition--flip-right-leave-to',
541
- 'q-transition--flip-left-enter-from',
542
- 'q-transition--flip-left-leave-to',
543
- 'q-transition--flip-up-enter-from',
544
- 'q-transition--flip-up-leave-to',
545
- 'q-transition--flip-down-enter-from',
546
- 'q-transition--flip-down-leave-to',
547
- 'text-h1',
548
- 'text-h2',
549
- 'text-h3',
550
- 'text-h4',
551
- 'text-h5',
552
- 'text-h6',
553
- 'text-subtitle1',
554
- 'text-subtitle2',
555
- 'text-body1',
399
+ 'self-center',
400
+ 'self-end',
401
+ 'self-start',
402
+ 'self-stretch',
556
403
  'text-body2',
557
- 'text-overline',
558
404
  'text-caption',
559
- 'text-uppercase',
560
- 'text-lowercase',
561
- 'text-capitalize',
562
405
  'text-center',
563
- 'text-left',
564
- 'text-right',
565
- 'text-justify',
566
- 'text-italic',
567
- 'text-bold',
568
406
  'text-no-wrap',
569
- 'text-strike',
570
- 'text-weight-thin',
571
- 'text-weight-light',
572
- 'text-weight-regular',
573
- 'text-weight-medium',
574
- 'text-weight-bold',
575
- 'text-weight-bolder',
576
- 'no-margin',
577
- 'no-padding',
578
- 'no-border',
579
- 'no-border-radius',
580
- 'no-box-shadow',
581
- 'no-outline',
582
- 'ellipsis',
583
- 'ellipsis-2-lines',
584
- 'ellipsis-3-lines',
585
- 'readonly',
586
- 'disabled',
587
- 'hidden',
588
- 'invisible',
407
+ 'text-overline',
589
408
  'transparent',
590
- 'overflow-auto',
591
- 'overflow-hidden',
592
- 'overflow-hidden-y',
593
- 'hide-scrollbar',
594
- 'dimmed',
595
- 'light-dimmed',
596
- 'z-top',
409
+ 'wrap',
597
410
  'z-max',
598
- 'q-focus-helper',
599
- 'q-focusable',
600
- 'q-manual-focusable',
601
- 'q-hoverable',
602
- 'q-dark'
411
+ 'z-top'
412
+ // 'q-animate--scale',
413
+ // 'q-animate--fade',
414
+ // 'inset-shadow',
415
+ // 'inset-shadow-down',
416
+ // 'no-shadow',
417
+ // 'shadow-0',
418
+ // 'z-marginals',
419
+ // 'z-notify',
420
+ // 'z-fullscreen',
421
+ // 'z-inherit',
422
+ // 'row',
423
+ // 'column',
424
+ // 'flex',
425
+ // 'wrap',
426
+ // 'no-wrap',
427
+ // 'reverse-wrap',
428
+ // 'order-first',
429
+ // 'order-last',
430
+ // 'order-none',
431
+ // 'justify-start',
432
+ // 'justify-end',
433
+ // 'justify-center',
434
+ // 'flex-center',
435
+ // 'justify-between',
436
+ // 'justify-around',
437
+ // 'justify-evenly',
438
+ // 'items-start',
439
+ // 'items-end',
440
+ // 'items-center',
441
+ // 'items-baseline',
442
+ // 'items-stretch',
443
+ // 'content-start',
444
+ // 'content-end',
445
+ // 'content-center',
446
+ // 'content-stretch',
447
+ // 'content-between',
448
+ // 'content-around',
449
+ // 'self-start',
450
+ // 'self-end',
451
+ // 'self-center',
452
+ // 'self-baseline',
453
+ // 'self-stretch',
454
+ // 'q-gutter-x-none',
455
+ // 'q-gutter-none',
456
+ // 'q-gutter-y-none',
457
+ // 'q-col-gutter-x-none',
458
+ // 'q-col-gutter-none',
459
+ // 'q-col-gutter-y-none',
460
+ // 'q-gutter-x-xs',
461
+ // 'q-gutter-xs',
462
+ // 'q-gutter-y-xs',
463
+ // 'q-col-gutter-x-xs',
464
+ // 'q-col-gutter-xs',
465
+ // 'q-col-gutter-y-xs',
466
+ // 'q-gutter-x-sm',
467
+ // 'q-gutter-sm',
468
+ // 'q-gutter-y-sm',
469
+ // 'q-col-gutter-x-sm',
470
+ // 'q-col-gutter-sm',
471
+ // 'q-col-gutter-y-sm',
472
+ // 'q-gutter-x-md',
473
+ // 'q-gutter-md',
474
+ // 'q-gutter-y-md',
475
+ // 'q-col-gutter-x-md',
476
+ // 'q-col-gutter-md',
477
+ // 'q-col-gutter-y-md',
478
+ // 'q-gutter-x-lg',
479
+ // 'q-gutter-lg',
480
+ // 'q-gutter-y-lg',
481
+ // 'q-col-gutter-x-lg',
482
+ // 'q-col-gutter-lg',
483
+ // 'q-col-gutter-y-lg',
484
+ // 'q-gutter-x-xl',
485
+ // 'q-gutter-xl',
486
+ // 'q-gutter-y-xl',
487
+ // 'q-col-gutter-x-xl',
488
+ // 'q-col-gutter-xl',
489
+ // 'q-col-gutter-y-xl',
490
+ // 'rounded-borders',
491
+ // 'border-radius-inherit',
492
+ // 'no-transition',
493
+ // 'transition-0',
494
+ // 'glossy',
495
+ // 'q-placeholder',
496
+ // 'q-body--fullscreen-mixin',
497
+ // 'q-body--prevent-scroll',
498
+ // 'q-body--force-scrollbar-x',
499
+ // 'q-body--force-scrollbar-y',
500
+ // 'q-no-input-spinner',
501
+ // 'q-link',
502
+ // 'q-link--focusable',
503
+ // 'non-selectable',
504
+ // 'scroll',
505
+ // 'scroll-x',
506
+ // 'scroll-y',
507
+ // 'no-scroll',
508
+ // 'no-pointer-events',
509
+ // 'no-pointer-events--children',
510
+ // 'all-pointer-events',
511
+ // 'cursor-pointer',
512
+ // 'cursor-not-afllowed',
513
+ // 'cursor-inherit',
514
+ // 'cursor-none',
515
+ // 'rotate-45',
516
+ // 'rotate-90',
517
+ // 'rotate-135',
518
+ // 'rotate-180',
519
+ // 'rotate-225',
520
+ // 'rotate-270',
521
+ // 'rotate-315',
522
+ // 'flip-horizontal',
523
+ // 'flip-vertical',
524
+ // 'float-left',
525
+ // 'float-right',
526
+ // 'relative-position',
527
+ // 'fixed',
528
+ // 'fixed-full',
529
+ // 'fullscreen',
530
+ // 'fixed-center',
531
+ // 'fixed-bottom',
532
+ // 'fixed-left',
533
+ // 'fixed-right',
534
+ // 'fixed-top',
535
+ // 'fixed-top-left',
536
+ // 'fixed-top-right',
537
+ // 'fixed-bottom-left',
538
+ // 'fixed-bottom-right',
539
+ // 'absolute',
540
+ // 'absolute-full',
541
+ // 'absolute-center',
542
+ // 'absolute-bottom',
543
+ // 'absolute-left',
544
+ // 'absolute-right',
545
+ // 'absolute-top',
546
+ // 'absolute-top-left',
547
+ // 'absolute-top-right',
548
+ // 'absolute-bottom-left',
549
+ // 'absolute-bottom-right',
550
+ // 'vertical-top',
551
+ // 'vertical-middle',
552
+ // 'vertical-bottom',
553
+ // 'on-left',
554
+ // 'on-right',
555
+ // 'q-position-engine',
556
+ // 'fit',
557
+ // 'full-height',
558
+ // 'full-width',
559
+ // 'window-height',
560
+ // 'window-width',
561
+ // 'block',
562
+ // 'inline-block',
563
+ // 'q-touch',
564
+ // 'q-touch-x',
565
+ // 'q-touch-y',
566
+ // 'q-transition--slide-right-enter-active',
567
+ // 'q-transition--slide-right-leave-active',
568
+ // 'q-transition--slide-left-enter-active',
569
+ // 'q-transition--slide-left-leave-active',
570
+ // 'q-transition--slide-up-enter-active',
571
+ // 'q-transition--slide-up-leave-active',
572
+ // 'q-transition--slide-down-enter-active',
573
+ // 'q-transition--slide-down-leave-active',
574
+ // 'q-transition--jump-right-enter-active',
575
+ // 'q-transition--jump-right-leave-active',
576
+ // 'q-transition--jump-left-enter-active',
577
+ // 'q-transition--jump-left-leave-active',
578
+ // 'q-transition--jump-up-enter-active',
579
+ // 'q-transition--jump-up-leave-active',
580
+ // 'q-transition--jump-down-enter-active',
581
+ // 'q-transition--jump-down-leave-active',
582
+ // 'q-transition--fade-enter-active',
583
+ // 'q-transition--fade-leave-active',
584
+ // 'q-transition--scale-enter-active',
585
+ // 'q-transition--scale-leave-active',
586
+ // 'q-transition--rotate-enter-active',
587
+ // 'q-transition--rotate-leave-active',
588
+ // 'q-transition--flip-enter-active',
589
+ // 'q-transition--flip-leave-active',
590
+ // 'q-transition--slide-right-enter-from',
591
+ // 'q-transition--slide-right-leave-to',
592
+ // 'q-transition--slide-left-enter-from',
593
+ // 'q-transition--slide-left-leave-to',
594
+ // 'q-transition--slide-up-enter-from',
595
+ // 'q-transition--slide-up-leave-to',
596
+ // 'q-transition--slide-down-enter-from',
597
+ // 'q-transition--slide-down-leave-to',
598
+ // 'q-transition--jump-right-enter-from',
599
+ // 'q-transition--jump-right-leave-to',
600
+ // 'q-transition--jump-left-enter-from',
601
+ // 'q-transition--jump-left-leave-to',
602
+ // 'q-transition--jump-up-enter-from',
603
+ // 'q-transition--jump-up-leave-to',
604
+ // 'q-transition--jump-down-enter-from',
605
+ // 'q-transition--jump-down-leave-to',
606
+ // 'q-transition--fade-enter-from',
607
+ // 'q-transition--fade-leave-to',
608
+ // 'q-transition--scale-enter-from',
609
+ // 'q-transition--scale-leave-to',
610
+ // 'q-transition--rotate-enter-from',
611
+ // 'q-transition--rotate-leave-to',
612
+ // 'q-transition--flip-right-enter-active',
613
+ // 'q-transition--flip-right-leave-active',
614
+ // 'q-transition--flip-left-enter-active',
615
+ // 'q-transition--flip-left-leave-active',
616
+ // 'q-transition--flip-up-enter-active',
617
+ // 'q-transition--flip-up-leave-active',
618
+ // 'q-transition--flip-down-enter-active',
619
+ // 'q-transition--flip-down-leave-active',
620
+ // 'q-transition--flip-right-enter-to',
621
+ // 'q-transition--flip-right-leave-from',
622
+ // 'q-transition--flip-left-enter-to',
623
+ // 'q-transition--flip-left-leave-from',
624
+ // 'q-transition--flip-up-enter-to',
625
+ // 'q-transition--flip-up-leave-from',
626
+ // 'q-transition--flip-down-enter-to',
627
+ // 'q-transition--flip-down-leave-from',
628
+ // 'q-transition--flip-right-enter-from',
629
+ // 'q-transition--flip-right-leave-to',
630
+ // 'q-transition--flip-left-enter-from',
631
+ // 'q-transition--flip-left-leave-to',
632
+ // 'q-transition--flip-up-enter-from',
633
+ // 'q-transition--flip-up-leave-to',
634
+ // 'q-transition--flip-down-enter-from',
635
+ // 'q-transition--flip-down-leave-to',
636
+ // 'text-h1',
637
+ // 'text-h2',
638
+ // 'text-h3',
639
+ // 'text-h4',
640
+ // 'text-h5',
641
+ // 'text-h6',
642
+ // 'text-subtitle1',
643
+ // 'text-subtitle2',
644
+ // 'text-body1',
645
+ // 'text-body2',
646
+ // 'text-overline',
647
+ // 'text-caption',
648
+ // 'text-uppercase',
649
+ // 'text-lowercase',
650
+ // 'text-capitalize',
651
+ // 'text-center',
652
+ // 'text-left',
653
+ // 'text-right',
654
+ // 'text-justify',
655
+ // 'text-italic',
656
+ // 'text-bold',
657
+ // 'text-no-wrap',
658
+ // 'text-strike',
659
+ // 'text-weight-thin',
660
+ // 'text-weight-light',
661
+ // 'text-weight-regular',
662
+ // 'text-weight-medium',
663
+ // 'text-weight-bold',
664
+ // 'text-weight-bolder',
665
+ // 'no-margin',
666
+ // 'no-padding',
667
+ // 'no-border',
668
+ // 'no-border-radius',
669
+ // 'no-box-shadow',
670
+ // 'no-outline',
671
+ // 'ellipsis',
672
+ // 'ellipsis-2-lines',
673
+ // 'ellipsis-3-lines',
674
+ // 'readonly',
675
+ // 'disabled',
676
+ // 'hidden',
677
+ // 'invisible',
678
+ // 'transparent',
679
+ // 'overflow-auto',
680
+ // 'overflow-hidden',
681
+ // 'overflow-hidden-y',
682
+ // 'hide-scrollbar',
683
+ // 'dimmed',
684
+ // 'light-dimmed',
685
+ // 'z-top',
686
+ // 'z-max',
687
+ // 'q-focus-helper',
688
+ // 'q-focusable',
689
+ // 'q-manual-focusable',
690
+ // 'q-hoverable',
691
+ // 'q-dark'
603
692
  ]
604
693
 
605
694
  const qClasses = [
@@ -1420,7 +1509,13 @@ const qClasses = [
1420
1509
  'q-notification--bottom-right-leave-active'
1421
1510
  ]
1422
1511
 
1423
- const generateSafelist = (plugins?: (keyof QuasarPlugins)[]) => {
1512
+ const generateSafelist = ({
1513
+ plugins,
1514
+ iconSet
1515
+ }: {
1516
+ plugins?: (keyof QuasarPlugins)[]
1517
+ iconSet?: QuasarIconSet
1518
+ }) => {
1424
1519
  let safelist = baseSafelist
1425
1520
  if (plugins) {
1426
1521
  for (const plugin of plugins) {
@@ -1428,14 +1523,18 @@ const generateSafelist = (plugins?: (keyof QuasarPlugins)[]) => {
1428
1523
  if (pluginSafelist) safelist = safelist.concat(pluginSafelist)
1429
1524
  }
1430
1525
  }
1526
+ if (iconSet) {
1527
+ const iconSetSafelist = extractKeys(iconSet)
1528
+ if (iconSetSafelist) safelist = safelist.concat(iconSetSafelist)
1529
+ }
1431
1530
  return safelist
1432
1531
  }
1433
1532
 
1434
1533
  export default definePreset((options: QuasarPresetOptions = {}) => {
1435
1534
  return {
1436
1535
  name: 'quasar',
1437
- presets: [presetUno(), animatedUno()],
1438
- safelist: generateSafelist(options?.plugins),
1536
+ presets: [presetUno(), animatedUno(), presetIcons({})],
1537
+ safelist: generateSafelist(options),
1439
1538
  preflights: (
1440
1539
  [
1441
1540
  {
@@ -1721,7 +1820,8 @@ export default definePreset((options: QuasarPresetOptions = {}) => {
1721
1820
  HelperPreflights,
1722
1821
  MousePreflights,
1723
1822
  TypographyPreflights,
1724
- VisibilityPreflights
1823
+ VisibilityPreflights,
1824
+ TransitionPreflights
1725
1825
  ),
1726
1826
  rules: ([] as Rule<QuasarTheme>[]).concat(
1727
1827
  HelperRules,
@@ -1818,7 +1918,8 @@ export default definePreset((options: QuasarPresetOptions = {}) => {
1818
1918
  VisibilityShortcuts,
1819
1919
  QHeaderShortcuts,
1820
1920
  QFooterShortcuts,
1821
- QDrawerShortcuts
1921
+ QDrawerShortcuts,
1922
+ ElevationShortcuts
1822
1923
  ),
1823
1924
  theme: defaultTheme,
1824
1925
  variants: [
@@ -1831,16 +1932,33 @@ export default definePreset((options: QuasarPresetOptions = {}) => {
1831
1932
  extract({ code }) {
1832
1933
  const kebabMatch = code.matchAll(/q-(\w)([\w-]*)/g)
1833
1934
  const pascalMatch = code.matchAll(/Q([A-Z][a-z0-9]+)+/g)
1935
+ const transitionMatch = code.matchAll(
1936
+ /(transition|transition-show|transition-hide)="(\S*)"/g
1937
+ )
1834
1938
 
1835
1939
  const matches: string[] = []
1836
1940
  for (const match of kebabMatch) matches.push(match[0])
1837
1941
  for (const match of pascalMatch) {
1838
1942
  matches.push(toKebabCase(match[0]))
1839
1943
  }
1944
+ const transitionClasses = []
1945
+ for (const match of transitionMatch) {
1946
+ transitionClasses.push(
1947
+ ...[
1948
+ 'enter-from',
1949
+ 'enter-active',
1950
+ 'enter-to',
1951
+ 'leave-from',
1952
+ 'leave-active',
1953
+ 'leave-to'
1954
+ ].map((v) => `q-transition--${match[2]}-${v}`)
1955
+ )
1956
+ }
1840
1957
 
1841
1958
  const classes = qClasses.filter((c) =>
1842
1959
  matches.some((component) => c.includes(component))
1843
1960
  )
1961
+ classes.push(...transitionClasses)
1844
1962
  return classes
1845
1963
  }
1846
1964
  }
@@ -1854,7 +1972,7 @@ export default definePreset((options: QuasarPresetOptions = {}) => {
1854
1972
  // return id.match(/quasar\/src\/.*\.js/)
1855
1973
  // },
1856
1974
  // async transform(code, id, { uno }) {
1857
- // for (const c of safelist) {
1975
+ // for (const c of baseSafelist) {
1858
1976
  // if (code.toString().includes(c)) console.log(c)
1859
1977
  // }
1860
1978
  // return code