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
@@ -307,6 +307,10 @@ const defaultTheme = {
307
307
  tooltip: 9000,
308
308
  notify: 9500,
309
309
  max: 9998
310
+ },
311
+ transition: {
312
+ duration: '.3s',
313
+ easing: 'cubic-bezier(0.215,0.61,0.355,1)'
310
314
  }
311
315
  }
312
316
  };
@@ -74,11 +74,17 @@ export const QuasarPlugin = async ({ ssr = false, pwa = false }) => {
74
74
  const { default: lang } = await import('virtual:quasar-lang');
75
75
  // @ts-ignore
76
76
  const { default: iconSet } = await import('virtual:quasar-iconSet');
77
+ const { default: iconMapFn } = await import(
78
+ // @ts-ignore
79
+ 'virtual:quasar-iconMapFn');
77
80
  app.use(staticImports?.Quasar, {
78
81
  plugins: quasarPlugins,
79
82
  directives,
80
83
  lang,
81
- iconSet
84
+ iconSet,
85
+ config: {
86
+ iconMapFn
87
+ }
82
88
  }, ssrContext);
83
89
  }
84
90
  ];
@@ -117,104 +123,6 @@ export const QuasarPlugin = async ({ ssr = false, pwa = false }) => {
117
123
  ? undefined
118
124
  : {
119
125
  global: ['quasar/src/css/index.sass']
120
- // global: [
121
- // 'quasar/src/css/helpers/string.sass',
122
- // 'quasar/src/css/helpers/math.sass',
123
- // 'quasar/src/css/variables.sass',
124
- // 'quasar/src/css/normalize.sass',
125
- // // 'quasar/src/components/icon/QIcon.sass',
126
- // // /* Composables */
127
- // // 'quasar/src/composables/private.use-panel/use-panel.sass',
128
- // // /* Components */
129
- // // 'quasar/src/components/ajax-bar/QAjaxBar.sass',
130
- // // 'quasar/src/components/avatar/QAvatar.sass',
131
- // // 'quasar/src/components/badge/QBadge.sass',
132
- // // 'quasar/src/components/banner/QBanner.sass',
133
- // // 'quasar/src/components/bar/QBar.sass',
134
- // // 'quasar/src/components/breadcrumbs/QBreadcrumbs.sass',
135
- // // 'quasar/src/components/btn/QBtn.sass',
136
- // // 'quasar/src/components/btn-dropdown/QBtnDropdown.sass',
137
- // // 'quasar/src/components/btn-group/QBtnGroup.sass',
138
- // // 'quasar/src/components/btn-toggle/QBtnToggle.sass',
139
- // // 'quasar/src/components/card/QCard.sass',
140
- // // 'quasar/src/components/carousel/QCarousel.sass',
141
- // // 'quasar/src/components/chat/QChatMessage.sass',
142
- // // 'quasar/src/components/checkbox/QCheckbox.sass',
143
- // // 'quasar/src/components/chip/QChip.sass',
144
- // // 'quasar/src/components/circular-progress/QCircularProgress.sass',
145
- // // 'quasar/src/components/color/QColor.sass',
146
- // // 'quasar/src/components/date/QDate.sass',
147
- // // 'quasar/src/components/dialog/QDialog.sass',
148
- // // 'quasar/src/components/editor/QEditor.sass',
149
- // // 'quasar/src/components/expansion-item/QExpansionItem.sass',
150
- // // 'quasar/src/components/fab/QFab.sass',
151
- // // 'quasar/src/components/field/QField.sass',
152
- // 'quasar/src/components/file/QFile.sass',
153
- // 'quasar/src/components/form/QForm.sass',
154
- // 'quasar/src/components/img/QImg.sass',
155
- // 'quasar/src/components/inner-loading/QInnerLoading.sass',
156
- // 'quasar/src/components/input/QInput.sass',
157
- // 'quasar/src/components/intersection/QIntersection.sass',
158
- // 'quasar/src/components/item/QItem.sass',
159
- // 'quasar/src/components/knob/QKnob.sass',
160
- // 'quasar/src/components/layout/QLayout.sass',
161
- // 'quasar/src/components/linear-progress/QLinearProgress.sass',
162
- // 'quasar/src/components/menu/QMenu.sass',
163
- // 'quasar/src/components/option-group/QOptionGroup.sass',
164
- // 'quasar/src/components/pagination/QPagination.sass',
165
- // 'quasar/src/components/parallax/QParallax.sass',
166
- // 'quasar/src/components/popup-edit/QPopupEdit.sass',
167
- // 'quasar/src/components/pull-to-refresh/QPullToRefresh.sass',
168
- // 'quasar/src/components/radio/QRadio.sass',
169
- // 'quasar/src/components/rating/QRating.sass',
170
- // 'quasar/src/components/responsive/QResponsive.sass',
171
- // 'quasar/src/components/scroll-area/QScrollArea.sass',
172
- // 'quasar/src/components/select/QSelect.sass',
173
- // 'quasar/src/components/separator/QSeparator.sass',
174
- // 'quasar/src/components/skeleton/QSkeleton.sass',
175
- // 'quasar/src/components/slide-item/QSlideItem.sass',
176
- // 'quasar/src/components/slider/QSlider.sass',
177
- // 'quasar/src/components/space/QSpace.sass',
178
- // 'quasar/src/components/spinner/QSpinner.sass',
179
- // 'quasar/src/components/splitter/QSplitter.sass',
180
- // 'quasar/src/components/stepper/QStepper.sass',
181
- // 'quasar/src/components/tab-panels/QTabPanel.sass',
182
- // 'quasar/src/components/table/QTable.sass',
183
- // 'quasar/src/components/tabs/QTabs.sass',
184
- // 'quasar/src/components/time/QTime.sass',
185
- // 'quasar/src/components/timeline/QTimeline.sass',
186
- // 'quasar/src/components/toggle/QToggle.sass',
187
- // 'quasar/src/components/toolbar/QToolbar.sass',
188
- // 'quasar/src/components/tooltip/QTooltip.sass',
189
- // 'quasar/src/components/tree/QTree.sass',
190
- // 'quasar/src/components/uploader/QUploader.sass',
191
- // 'quasar/src/components/video/QVideo.sass',
192
- // 'quasar/src/components/virtual-scroll/QVirtualScroll.sass',
193
- // /* Directives */
194
- // 'quasar/src/directives/ripple/Ripple.sass',
195
- // 'quasar/src/directives/morph/Morph.sass',
196
- // /* Plugins */
197
- // 'quasar/src/plugins/bottom-sheet/component/BottomSheetComponent.sass',
198
- // 'quasar/src/plugins/dialog/component/DialogPluginComponent.sass',
199
- // 'quasar/src/plugins/loading/Loading.sass',
200
- // 'quasar/src/plugins/notify/Notify.sass',
201
- // /* Core */
202
- // 'quasar/src/css/core/animations.sass',
203
- // 'quasar/src/css/core/colors.sass',
204
- // 'quasar/src/css/core/elevation.sass',
205
- // 'quasar/src/css/core/flex.sass',
206
- // 'quasar/src/css/core/helpers.sass',
207
- // 'quasar/src/css/core/mouse.sass',
208
- // 'quasar/src/css/core/orientation.sass',
209
- // 'quasar/src/css/core/positioning.sass',
210
- // 'quasar/src/css/core/size.sass',
211
- // 'quasar/src/css/core/touch.sass',
212
- // 'quasar/src/css/core/transitions.sass',
213
- // 'quasar/src/css/core/typography.sass',
214
- // 'quasar/src/css/core/visibility.sass',
215
- // 'quasar/src/css/core/dark.sass'
216
- // ]
217
- // additionalData: [`@import 'quasar/src/css/index.sass'`]
218
126
  }
219
127
  },
220
128
  resolve: {
@@ -262,6 +170,8 @@ export const QuasarPlugin = async ({ ssr = false, pwa = false }) => {
262
170
  return 'virtual:quasar-lang';
263
171
  case 'virtual:quasar-iconSet':
264
172
  return 'virtual:quasar-iconSet';
173
+ case 'virtual:quasar-iconMapFn':
174
+ return 'virtual:quasar-iconMapFn';
265
175
  case 'virtual:quasar':
266
176
  return { id: 'virtual:quasar', moduleSideEffects: false };
267
177
  default:
@@ -280,8 +190,15 @@ export const QuasarPlugin = async ({ ssr = false, pwa = false }) => {
280
190
  export default lang`;
281
191
  }
282
192
  else if (id === 'virtual:quasar-iconSet') {
283
- return `import iconSet from 'quasar/icon-set/${quasarConf?.framework.iconSet || 'material-icons'}';
284
- export default iconSet`;
193
+ return `${typeof quasarConf.framework.iconSet === 'string'
194
+ ? `import iconSet from 'quasar/icon-set/${quasarConf?.framework.iconSet || 'material-icons'}';
195
+ export default iconSet`
196
+ : `export default ${quasarConf.framework.iconSet
197
+ ? JSON.stringify(quasarConf.framework.iconSet)
198
+ : null}`}`;
199
+ }
200
+ else if (id === 'virtual:quasar-iconMapFn') {
201
+ return `export default ${quasarConf?.framework.iconMapFn?.toString() ?? null}`;
285
202
  }
286
203
  else if (id === 'virtual:quasar') {
287
204
  return `export * from 'quasar/src/plugins.js';
@@ -1,4 +1,5 @@
1
- import type { Rule } from '@unocss/core';
1
+ import type { Rule, UserShortcuts } from '@unocss/core';
2
2
  import type { QuasarTheme } from '../theme.js';
3
3
  declare const rules: Rule<QuasarTheme>[];
4
- export { rules };
4
+ declare const shortcuts: UserShortcuts<QuasarTheme>;
5
+ export { rules, shortcuts };
@@ -1,4 +1,5 @@
1
- import type { UserShortcuts } from '@unocss/core';
1
+ import type { Preflight, UserShortcuts } from '@unocss/core';
2
2
  import type { QuasarTheme } from '../theme.js';
3
+ declare const preflights: Preflight<QuasarTheme>[];
3
4
  declare const shortcuts: UserShortcuts<QuasarTheme>;
4
- export { shortcuts };
5
+ export { preflights, shortcuts };
@@ -1,10 +1,7 @@
1
- import { type QuasarPlugins } from 'quasar';
1
+ import { type QuasarIconSet, type QuasarPlugins } from 'quasar';
2
2
  export interface QuasarPresetOptions {
3
3
  plugins?: (keyof QuasarPlugins)[];
4
- theme?: {
5
- shadowColor?: string;
6
- darkShadowColor?: string;
7
- };
4
+ iconSet?: QuasarIconSet;
8
5
  }
9
6
  declare const _default: import("unocss").Preset<object>;
10
7
  export default _default;
@@ -295,7 +295,7 @@ export interface QuasarTheme {
295
295
  'blue-grey-13 ': string;
296
296
  'blue-grey-14 ': '#455a64';
297
297
  };
298
- quasar?: {
298
+ quasar: {
299
299
  components?: {
300
300
  'q-icon'?: string;
301
301
  'q-panel'?: string;
@@ -1119,6 +1119,10 @@ export interface QuasarTheme {
1119
1119
  notify: number;
1120
1120
  max: number;
1121
1121
  };
1122
+ transition: {
1123
+ duration: string;
1124
+ easing: string;
1125
+ };
1122
1126
  };
1123
1127
  }
1124
1128
  declare const defaultTheme: QuasarTheme;
@@ -1,12 +1,13 @@
1
1
  import type { VitrifyPlugin } from './index.js';
2
- import { type QuasarFonts, type QuasarComponents, type QuasarDirectives, type QuasarIconSets, type QuasarPlugins } from 'quasar';
2
+ import { type QuasarFonts, type QuasarComponents, type QuasarDirectives, type QuasarIconSets, type QuasarPlugins, type GlobalQuasarIconMapFn, type QuasarIconSet } from 'quasar';
3
3
  export interface QuasarConf {
4
4
  framework: {
5
5
  components?: (keyof QuasarComponents)[];
6
6
  directives?: (keyof QuasarDirectives)[];
7
7
  plugins?: (keyof QuasarPlugins)[];
8
8
  lang?: string;
9
- iconSet?: QuasarIconSets;
9
+ iconSet?: QuasarIconSets | QuasarIconSet;
10
+ iconMapFn?: GlobalQuasarIconMapFn;
10
11
  };
11
12
  extras?: (QuasarIconSets | QuasarFonts)[];
12
13
  disableSass?: boolean;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vitrify",
3
- "version": "0.17.6",
3
+ "version": "0.17.8",
4
4
  "license": "MIT",
5
5
  "author": "Stefan van Herwijnen",
6
6
  "description": "Vite as your Full Stack development tool",
@@ -81,6 +81,7 @@
81
81
  "@types/merge-deep": "^3.0.3",
82
82
  "@types/node": "^22.10.2",
83
83
  "@types/ws": "^8.5.13",
84
+ "@unocss/preset-icons": "^65.4.2",
84
85
  "@vue/runtime-core": "^3.5.13",
85
86
  "beasties": "^0.2.0",
86
87
  "css": "^3.0.0",
@@ -6,7 +6,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
6
6
  /^q-btn-group$/,
7
7
  ([, c], { theme }) =>
8
8
  theme.quasar?.components?.['q-btn-group'] ??
9
- `rounded-[3px] [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)] align-middle [&_>_.q-btn-item]:([border-radius:inherit] self-stretch) [&_>_.q-btn-item:before]:([box-shadow:none]) [&_>_.q-btn-item_.q-badge--floating]:(right-0) [&_>_.q-btn-group]:([box-shadow:none]) [&_>_.q-btn-group:first-child_>_.q-btn:first-child]:([border-top-left-radius:inherit] [border-bottom-left-radius:inherit]) [&_>_.q-btn-group:last-child_>_.q-btn:last-child]:([border-top-right-radius:inherit] [border-bottom-right-radius:inherit]) [&_>_.q-btn-group:not(:first-child)_>_.q-btn:first-child:before]:([border-left:0]) [&_>_.q-btn-group:not(:last-child)_>_.q-btn:last-child:before]:([border-right:0]) [&_>_.q-btn-item:not(:last-child)]:(rounded-tr-none rounded-br-none) [&_>_.q-btn-item:not(:first-child)]:(rounded-tl-none rounded-bl-none) [&_>_.q-btn-item.q-btn--standard:before]:()`
9
+ `rounded-[3px] [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)] align-middle [&_>_.q-btn-item]:([border-radius:inherit] self-stretch) [&_>_.q-btn-item:before]:([box-shadow:none]) [&_>_.q-btn-item_.q-badge--floating]:(right-0) [&_>_.q-btn-group]:([box-shadow:none]) [&_>_.q-btn-group:first-child_>_.q-btn:first-child]:([border-top-left-radius:inherit] [border-bottom-left-radius:inherit]) [&_>_.q-btn-group:last-child_>_.q-btn:last-child]:([border-top-right-radius:inherit] [border-bottom-right-radius:inherit]) [&_>_.q-btn-group:not(:first-child)_>_.q-btn:first-child:before]:([border-left:0]) [&_>_.q-btn-group:not(:last-child)_>_.q-btn:last-child:before]:([border-right:0]) [&_>_.q-btn-item:not(:last-child)]:(rounded-tr-none rounded-br-none) [&_>_.q-btn-item:not(:first-child)]:(rounded-tl-none rounded-bl-none) [&_>_.q-btn-item.q-btn--standard:before]:(z--1)`
10
10
  ],
11
11
 
12
12
  [
@@ -68,7 +68,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
68
68
  /^q-color-picker__header-bg$/,
69
69
  ([, c], { theme }) =>
70
70
  theme.quasar?.components?.['q-color-picker__header-bg'] ??
71
- `bg-[#fff] bg-[url('data:image/png]`
71
+ `bg-[#fff] bg-[url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAAH0lEQVQoU2NkYGAwZkAFZ5G5jPRRgOYEVDeB3EBjBQBOZwTVugIGyAAAAABJRU5ErkJggg==')]`
72
72
  ],
73
73
 
74
74
  [
@@ -114,7 +114,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
114
114
  /^q-date__edit-range$/,
115
115
  ([, c], { theme }) =>
116
116
  theme.quasar?.components?.['q-date__edit-range'] ??
117
- `[&:after]:() [&:nth-child(7n-6):after]:(rounded-tl-none rounded-bl-none) [&:nth-child(7n):after]:(rounded-tr-none rounded-br-none)`
117
+ `[&:after]:(border-[currentColor_transparent]) [&:nth-child(7n-6):after]:(rounded-tl-none rounded-bl-none) [&:nth-child(7n):after]:(rounded-tr-none rounded-br-none)`
118
118
  ],
119
119
 
120
120
  [
@@ -180,7 +180,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
180
180
  /^q-date--portrait-standard$/,
181
181
  ([, c], { theme }) =>
182
182
  theme.quasar?.components?.['q-date--portrait-standard'] ??
183
- `[&_.q-date\\_\\_content]:(h-[calc(100% - 86px)]) [&_.q-date\\_\\_header]:([border-top-right-radius:inherit] h-[86px]) [&_.q-date\\_\\_header-title]:(items-center h-[30px])`
183
+ `[&_.q-date\\_\\_content]:(h-[calc(100%-86px)]) [&_.q-date\\_\\_header]:([border-top-right-radius:inherit] h-[86px]) [&_.q-date\\_\\_header-title]:(items-center h-[30px])`
184
184
  ],
185
185
 
186
186
  [
@@ -2,68 +2,68 @@ import type { Preflight, Rule, UserShortcuts } from '@unocss/core'
2
2
  import type { QuasarTheme } from '../theme.js'
3
3
 
4
4
  const preflights: Preflight<QuasarTheme>[] = [
5
- // {
6
- // getCSS: ({ theme }) => `
7
- // body.q-ios-padding .q-layout--standard .q-header > .q-toolbar:nth-child(1),
8
- // body.q-ios-padding .q-layout--standard .q-header > .q-tabs:nth-child(1) .q-tabs__content,
9
- // body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content {
10
- // padding-top: 20px;
11
- // min-height: 70px;
12
- // padding-top: env(safe-area-inset-top);
13
- // min-height: calc(env(safe-area-inset-top) + 50px);
14
- // }
15
- // body.q-ios-padding .q-layout--standard .q-footer > .q-toolbar:last-child,
16
- // body.q-ios-padding .q-layout--standard .q-footer > .q-tabs:nth-last-child(1 of :not(.q-layout__shadow)) .q-tabs__content,
17
- // body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content {
18
- // padding-bottom: env(safe-area-inset-bottom);
19
- // min-height: calc(env(safe-area-inset-bottom) + 50px);
20
- // }
21
- // .q-body--layout-animate .q-drawer__backdrop {
22
- // transition: background-color 0.12s !important;
23
- // }
24
- // .q-body--layout-animate .q-drawer {
25
- // transition: transform 0.12s, width 0.12s, top 0.12s, bottom 0.12s !important;
26
- // }
27
- // .q-body--layout-animate .q-layout__section--marginal {
28
- // transition: transform 0.12s, left 0.12s, right 0.12s !important;
29
- // }
30
- // .q-body--layout-animate .q-page-container {
31
- // transition: padding-top 0.12s, padding-right 0.12s, padding-bottom 0.12s, padding-left 0.12s !important;
32
- // }
33
- // .q-body--layout-animate .q-page-sticky {
34
- // transition: transform 0.12s, left 0.12s, right 0.12s, top 0.12s, bottom 0.12s !important;
35
- // }
36
- // body:not(.q-body--layout-animate) .q-layout--prevent-focus {
37
- // visibility: hidden;
38
- // }
39
- // .q-body--drawer-toggle {
40
- // overflow-x: hidden !important;
41
- // }
42
- // @media (max-width: 599.98px) {
43
- // .q-layout-padding {
44
- // padding: 8px;
45
- // }
46
- // }
47
- // @media (min-width: 600px) and (max-width: 1439.98px) {
48
- // .q-layout-padding {
49
- // padding: 16px;
50
- // }
51
- // }
52
- // @media (min-width: 1440px) {
53
- // .q-layout-padding {
54
- // padding: 24px;
55
- // }
56
- // }
57
- // body.body--dark .q-header, body.body--dark .q-footer, body.body--dark .q-drawer {
58
- // border-color: rgba(255, 255, 255, 0.28);
59
- // }
60
- // body.body--dark .q-layout__shadow:after {
61
- // box-shadow: 0 0 10px 2px rgba(255, 255, 255, 0.2), 0 0px 10px rgba(255, 255, 255, 0.24);
62
- // }
63
- // body.platform-ios .q-layout--containerized {
64
- // position: unset !important;
65
- // }`
66
- // }
5
+ {
6
+ getCSS: ({ theme }) => `
7
+ body.q-ios-padding .q-layout--standard .q-header > .q-toolbar:nth-child(1),
8
+ body.q-ios-padding .q-layout--standard .q-header > .q-tabs:nth-child(1) .q-tabs__content,
9
+ body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content {
10
+ padding-top: 20px;
11
+ min-height: 70px;
12
+ padding-top: env(safe-area-inset-top);
13
+ min-height: calc(env(safe-area-inset-top) + 50px);
14
+ }
15
+ body.q-ios-padding .q-layout--standard .q-footer > .q-toolbar:last-child,
16
+ body.q-ios-padding .q-layout--standard .q-footer > .q-tabs:nth-last-child(1 of :not(.q-layout__shadow)) .q-tabs__content,
17
+ body.q-ios-padding .q-layout--standard .q-drawer--top-padding .q-drawer__content {
18
+ padding-bottom: env(safe-area-inset-bottom);
19
+ min-height: calc(env(safe-area-inset-bottom) + 50px);
20
+ }
21
+ .q-body--layout-animate .q-drawer__backdrop {
22
+ transition: background-color 0.12s !important;
23
+ }
24
+ .q-body--layout-animate .q-drawer {
25
+ transition: transform 0.12s, width 0.12s, top 0.12s, bottom 0.12s !important;
26
+ }
27
+ .q-body--layout-animate .q-layout__section--marginal {
28
+ transition: transform 0.12s, left 0.12s, right 0.12s !important;
29
+ }
30
+ .q-body--layout-animate .q-page-container {
31
+ transition: padding-top 0.12s, padding-right 0.12s, padding-bottom 0.12s, padding-left 0.12s !important;
32
+ }
33
+ .q-body--layout-animate .q-page-sticky {
34
+ transition: transform 0.12s, left 0.12s, right 0.12s, top 0.12s, bottom 0.12s !important;
35
+ }
36
+ body:not(.q-body--layout-animate) .q-layout--prevent-focus {
37
+ visibility: hidden;
38
+ }
39
+ .q-body--drawer-toggle {
40
+ overflow-x: hidden !important;
41
+ }
42
+ @media (max-width: 599.98px) {
43
+ .q-layout-padding {
44
+ padding: 8px;
45
+ }
46
+ }
47
+ @media (min-width: 600px) and (max-width: 1439.98px) {
48
+ .q-layout-padding {
49
+ padding: 16px;
50
+ }
51
+ }
52
+ @media (min-width: 1440px) {
53
+ .q-layout-padding {
54
+ padding: 24px;
55
+ }
56
+ }
57
+ body.body--dark .q-header, body.body--dark .q-footer, body.body--dark .q-drawer {
58
+ border-color: rgba(255, 255, 255, 0.28);
59
+ }
60
+ body.body--dark .q-layout__shadow:after {
61
+ box-shadow: 0 0 10px 2px rgba(255, 255, 255, 0.2), 0 0px 10px rgba(255, 255, 255, 0.24);
62
+ }
63
+ body.platform-ios .q-layout--containerized {
64
+ position: unset !important;
65
+ }`
66
+ }
67
67
  ]
68
68
 
69
69
  const shortcuts: UserShortcuts<QuasarTheme> = [
@@ -84,7 +84,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
84
84
  /^q-radio--dark$/,
85
85
  ([, c], { theme }) =>
86
86
  theme.quasar?.components?.['q-radio--dark'] ??
87
- `[&_.q-radio\\_\\_inner]:(text-[rgba(255,_255,_255,_0.7)]) [&_.q-radio\\_\\_inner:before]:(!opacity-[0.32]) [&_.q-radio\\_\\_inner--truthy]:()`
87
+ `[&_.q-radio\\_\\_inner]:(text-[rgba(255,_255,_255,_0.7)]) [&_.q-radio\\_\\_inner:before]:(!opacity-[0.32]) [&_.q-radio\\_\\_inner--truthy]:(text-primary)`
88
88
  ],
89
89
 
90
90
  [
@@ -12,7 +12,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
12
12
  /^q-slider--editable$/,
13
13
  ([, c], { theme }) =>
14
14
  theme.quasar?.components?.['q-slider--editable'] ??
15
- `[&_.q-slider\\_\\_track-container]:()`
15
+ `[&_.q-slider\\_\\_track-container]:(cursor-grab)`
16
16
  ],
17
17
 
18
18
  [/^q-slider__track-container$/, ([, c], { theme }) => `outline-0`],
@@ -21,14 +21,14 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
21
21
  /^q-slider__track-container--h$/,
22
22
  ([, c], { theme }) =>
23
23
  theme.quasar?.components?.['q-slider__track-container--h'] ??
24
- `w-full px-[0] py-[12px] [&_.q-slider\\_\\_selection]:()`
24
+ `w-full px-[0] py-[12px] [&_.q-slider\\_\\_selection]:(will-change-width will-change-left)`
25
25
  ],
26
26
 
27
27
  [
28
28
  /^q-slider__track-container--v$/,
29
29
  ([, c], { theme }) =>
30
30
  theme.quasar?.components?.['q-slider__track-container--v'] ??
31
- `h-full px-[12px] py-[0] [&_.q-slider\\_\\_selection]:()`
31
+ `h-full px-[12px] py-[0] [&_.q-slider\\_\\_selection]:(will-change-height will-change-top)`
32
32
  ],
33
33
 
34
34
  [
@@ -34,14 +34,14 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
34
34
  /^q-splitter--vertical$/,
35
35
  ([, c], { theme }) =>
36
36
  theme.quasar?.components?.['q-splitter--vertical'] ??
37
- `[&_>_.q-splitter\\_\\_panel]:(h-full) [&.q-splitter--active]:() [&_>_.q-splitter\\_\\_separator]:(w-px) [&_>_.q-splitter\\_\\_separator_>_div]:(-left-[6px] -right-[6px]) [&.q-splitter--workable_>_.q-splitter\\_\\_separator]:()`
37
+ `[&_>_.q-splitter\\_\\_panel]:(h-full) [&.q-splitter--active]:(cursor-col-resize) [&_>_.q-splitter\\_\\_separator]:(w-px) [&_>_.q-splitter\\_\\_separator_>_div]:(-left-[6px] -right-[6px]) [&.q-splitter--workable_>_.q-splitter\\_\\_separator]:(cursor-col-resize)`
38
38
  ],
39
39
 
40
40
  [
41
41
  /^q-splitter--horizontal$/,
42
42
  ([, c], { theme }) =>
43
43
  theme.quasar?.components?.['q-splitter--horizontal'] ??
44
- `[&_>_.q-splitter\\_\\_panel]:(w-full) [&.q-splitter--active]:() [&_>_.q-splitter\\_\\_separator]:(h-px) [&_>_.q-splitter\\_\\_separator_>_div]:(-top-[6px] -bottom-[6px]) [&.q-splitter--workable_>_.q-splitter\\_\\_separator]:()`
44
+ `[&_>_.q-splitter\\_\\_panel]:(w-full) [&.q-splitter--active]:(cursor-row-resize) [&_>_.q-splitter\\_\\_separator]:(h-px) [&_>_.q-splitter\\_\\_separator_>_div]:(-top-[6px] -bottom-[6px]) [&.q-splitter--workable_>_.q-splitter\\_\\_separator]:(cursor-row-resize)`
45
45
  ],
46
46
 
47
47
  [
@@ -153,7 +153,7 @@ __.q-stepper\\_\\_tab:last-child]:(items-end) [&_.q-stepper\\_\\_tab]:(px-[0] py
153
153
  /^q-stepper--horizontal$/,
154
154
  ([, c], { theme }) =>
155
155
  theme.quasar?.components?.['q-stepper--horizontal'] ??
156
- `[&_.q-stepper\\_\\_step-inner]:(p-[24px]) [&_.q-stepper\\_\\_tab:first-child]:([border-top-left-radius:inherit]) [&_.q-stepper\\_\\_tab:last-child]:([border-top-right-radius:inherit]) [&_.q-stepper\\_\\_tab:first-child_.q-stepper\\_\\_dot:before]:(hidden) [&_.q-stepper\\_\\_tab:last-child_.q-stepper\\_\\_label:after]:(hidden) [&_.q-stepper\\_\\_tab:last-child_.q-stepper\\_\\_dot:after]:(hidden) [&_.q-stepper\\_\\_tab]:(overflow-hidden) [&_.q-stepper\\_\\_line]:() [&_.q-stepper\\_\\_line:before]:(absolute top-2/4 h-px w-screen bg-[rgba(0,_0,_0,_0.12)]) [&_.q-stepper\\_\\_line:after]:(absolute top-2/4 h-px w-screen bg-[rgba(0,_0,_0,_0.12)]) [&_.q-stepper\\_\\_label:after]:(content-[''] left-full ml-[8px]) [&_.q-stepper\\_\\_dot:after]:(content-[''] left-full ml-[8px]) [&_.q-stepper\\_\\_dot:before]:(content-[''] right-full mr-[8px]) [&_>_.q-stepper\\_\\_nav]:(pt-[0] px-[24px] pb-[24px])`
156
+ `[&_.q-stepper\\_\\_step-inner]:(p-[24px]) [&_.q-stepper\\_\\_tab:first-child]:([border-top-left-radius:inherit]) [&_.q-stepper\\_\\_tab:last-child]:([border-top-right-radius:inherit]) [&_.q-stepper\\_\\_tab:first-child_.q-stepper\\_\\_dot:before]:(hidden) [&_.q-stepper\\_\\_tab:last-child_.q-stepper\\_\\_label:after]:(hidden) [&_.q-stepper\\_\\_tab:last-child_.q-stepper\\_\\_dot:after]:(hidden) [&_.q-stepper\\_\\_tab]:(overflow-hidden) [&_.q-stepper\\_\\_line]:(contain-layout) [&_.q-stepper\\_\\_line:before]:(absolute top-2/4 h-px w-screen bg-[rgba(0,_0,_0,_0.12)]) [&_.q-stepper\\_\\_line:after]:(absolute top-2/4 h-px w-screen bg-[rgba(0,_0,_0,_0.12)]) [&_.q-stepper\\_\\_label:after]:(content-[''] left-full ml-[8px]) [&_.q-stepper\\_\\_dot:after]:(content-[''] left-full ml-[8px]) [&_.q-stepper\\_\\_dot:before]:(content-[''] right-full mr-[8px]) [&_>_.q-stepper\\_\\_nav]:(pt-[0] px-[24px] pb-[24px])`
157
157
  ],
158
158
 
159
159
  [
@@ -79,7 +79,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
79
79
  /^q-toggle--dark$/,
80
80
  ([, c], { theme }) =>
81
81
  theme.quasar?.components?.['q-toggle--dark'] ??
82
- `[&_.q-toggle\\_\\_inner]:(text-[#fff]) [&_.q-toggle\\_\\_inner--truthy]:() [&_.q-toggle\\_\\_thumb:after]:([box-shadow:none]) [&_.q-toggle\\_\\_thumb:before]:(!opacity-[0.32])`
82
+ `[&_.q-toggle\\_\\_inner]:(text-[#fff]) [&_.q-toggle\\_\\_inner--truthy]:(text-primary) [&_.q-toggle\\_\\_thumb:after]:([box-shadow:none]) [&_.q-toggle\\_\\_thumb:before]:(!opacity-[0.32])`
83
83
  ],
84
84
 
85
85
  [
@@ -20,7 +20,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
20
20
  /^q-uploader__input$/,
21
21
  ([, c], { theme }) =>
22
22
  theme.quasar?.components?.['q-uploader__input'] ??
23
- `opacity-0 w-full h-full !cursor-pointer [&::-webkit-file-upload-button]:(cursor-pointer)`
23
+ `opacity-0 w-full h-full cursor-pointer [&::-webkit-file-upload-button]:(cursor-pointer)`
24
24
  ],
25
25
 
26
26
  [
@@ -7,8 +7,7 @@ const preflights: Preflight<QuasarTheme>[] = [
7
7
  body.body--dark {
8
8
  color: #fff;
9
9
  background: ${theme.colors['dark-page']};
10
- }
11
- `
10
+ }`
12
11
  }
13
12
  ]
14
13
 
@@ -92,4 +92,11 @@ const rules: Rule<QuasarTheme>[] = [
92
92
  )
93
93
  ]
94
94
 
95
- export { rules }
95
+ const shortcuts: UserShortcuts<QuasarTheme> = [
96
+ [/^shadow-none$/, ([, c], { theme }) => `shadow-none`],
97
+ [/^no-shadow$/, ([, c], { theme }) => `shadow-none`],
98
+ // TODO
99
+ [/^shadow-(0?[1-9]|1[0-9]|2[0-4])$/, ([, nr], { theme }) => `shadow-md`]
100
+ ]
101
+
102
+ export { rules, shortcuts }
@@ -16,39 +16,20 @@ const colGutter = {
16
16
  const sizes = ['sm', 'md', 'lg', 'xl']
17
17
 
18
18
  const shortcuts: UserShortcuts<QuasarTheme> = [
19
+ [/^row$/, ([, c], { theme }) => `flex flex-row flex-wrap`],
20
+ [/^column$/, ([, c], { theme }) => `flex flex-col flex-wrap`],
19
21
  [
20
- /^row$/,
21
- ([, c], { theme }) => `flex flex-row flex-wrap
22
- [&_>_.col]:(grow)
23
- ${sizes
24
- .map((size) => `[&_>_.col-${size}]:(${size}:basis-auto ${size}:grow)`)
25
- .join(' ')}
26
- ${grid.map((nr) => `[&_>_.col-${nr}]:(basis-${nr}/12)`).join(' ')}
27
- ${sizes
28
- .map((size) =>
29
- grid
30
- .map((nr) => `[&_>_.col-${size}-${nr}]:(${size}:basis-${nr}/12)`)
31
- .join(' ')
32
- )
33
- .join(' ')}
34
- `
35
- ],
36
- [
37
- /^column$/,
38
- ([, c], { theme }) => `flex flex-col flex-wrap
39
- [&_>_.col]:(grow)
40
- ${sizes
41
- .map((size) => `[&_>_.col-${size}]:(${size}:basis-auto ${size}:grow)`)
42
- .join(' ')}
43
- ${grid.map((nr) => `[&_>_.col-${nr}]:(basis-${nr}/12)`).join(' ')}
44
- ${sizes
45
- .map((size) =>
46
- grid
47
- .map((nr) => `[&_>_.col-${size}-${nr}]:(${size}:basis-${nr}/12)`)
48
- .join(' ')
49
- )
50
- .join(' ')}
51
- `
22
+ /^col(?:-)?(none|xs|sm|md|lg|xl)?(?:-)?([2-9]|1[0-2]?)?$/,
23
+ ([, size, nr], { theme }) => {
24
+ if (size && nr) {
25
+ return `${size}:basis-${nr}/12)`
26
+ } else if (nr) {
27
+ return `basis-${nr}/12`
28
+ } else if (size) {
29
+ return `${size}:basis-auto ${size}:grow`
30
+ }
31
+ return `grow`
32
+ }
52
33
  ],
53
34
  [
54
35
  /^q-col-gutter-(none|xs|sm|md|lg|xl)$/,
@@ -40,7 +40,7 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
40
40
 
41
41
  [/^cursor-inherit$/, ([, c], { theme }) => `[cursor:inherit!important]`],
42
42
 
43
- [/^cursor-none$/, ([, c], { theme }) => ``]
43
+ ['cursor-pointer', 'cursor-[pointer]!']
44
44
  ]
45
45
 
46
46
  export { preflights, shortcuts }
@@ -1,6 +1,16 @@
1
1
  import type { Preflight, Rule, UserShortcuts } from '@unocss/core'
2
2
  import type { QuasarTheme } from '../theme.js'
3
3
 
4
+ const preflights: Preflight<QuasarTheme>[] = [
5
+ {
6
+ getCSS: ({ theme }) => `
7
+ :root {
8
+ --q-transition-duration: ${theme.quasar.transition.duration};
9
+ --q-transition-easing: ${theme.quasar.transition.easing};
10
+ }`
11
+ }
12
+ ]
13
+
4
14
  const shortcuts: UserShortcuts<QuasarTheme> = [
5
15
  [
6
16
  /^q-transition--slide-right-enter-active$/,
@@ -389,4 +399,4 @@ const shortcuts: UserShortcuts<QuasarTheme> = [
389
399
  ]
390
400
  ]
391
401
 
392
- export { shortcuts }
402
+ export { preflights, shortcuts }