@maz-ui/nuxt 5.0.0-beta.23 → 5.0.0-beta.25

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/README.md CHANGED
@@ -182,6 +182,13 @@ export default defineNuxtConfig({
182
182
  autoImport: true, // Auto-import all components globally
183
183
  },
184
184
 
185
+ // Global component defaults (instance prop > defaults[Component] > defaults.global > library default)
186
+ defaults: {
187
+ global: { roundedSize: 'lg' }, // cross-cutting (roundedSize, size)
188
+ MazBtn: { roundedSize: 'full' }, // per-component, wins over global
189
+ MazCard: { bordered: false, elevation: true },
190
+ },
191
+
185
192
  // Composables (customize what you need)
186
193
  composables: {
187
194
  useTheme: true,
package/dist/module.d.mts CHANGED
@@ -1,6 +1,7 @@
1
1
  import * as _nuxt_schema from '@nuxt/schema';
2
2
  import { MazUiThemeOptions, ThemePreset, ThemePresetName } from '@maz-ui/themes';
3
3
  import { MazUiTranslationsOptions } from '@maz-ui/translations';
4
+ import { MazUiDefaultsOptions } from 'maz-ui/composables/useGlobalConfig';
4
5
  import { VLazyImgOptions, VFullscreenImgOptions, VTooltipOptions } from 'maz-ui/directives';
5
6
  import { AosOptions, DialogOptions, ToastOptions } from 'maz-ui/plugins';
6
7
 
@@ -55,6 +56,19 @@ interface MazUiNuxtOptions {
55
56
  * }
56
57
  */
57
58
  translations?: MazUiTranslationsOptions;
59
+ /**
60
+ * Global default prop values for components
61
+ * @description Set default prop values once for every component, with the priority:
62
+ * instance prop > `defaults[Component]` > `defaults.global` > library default.
63
+ * A global default never wins over a prop set on the component instance.
64
+ * @default {}
65
+ * @example {
66
+ * global: { roundedSize: 'lg' },
67
+ * MazBtn: { roundedSize: 'full' },
68
+ * MazCard: { bordered: false, elevation: true },
69
+ * }
70
+ */
71
+ defaults?: MazUiDefaultsOptions;
58
72
  /**
59
73
  * CSS and styles configuration
60
74
  */
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.0.0"
6
6
  },
7
- "version": "5.0.0-beta.23",
7
+ "version": "5.0.0-beta.25",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "1.0.2",
10
10
  "unbuild": "unknown"
package/dist/module.mjs CHANGED
@@ -44,6 +44,7 @@ const COMPONENT_NAMES = {
44
44
  MazLazyImg: true,
45
45
  MazLink: true,
46
46
  MazLoadingBar: true,
47
+ MazMarkdownEditor: true,
47
48
  MazPagination: true,
48
49
  MazDatePicker: true,
49
50
  MazPullToRefresh: true,
@@ -130,6 +131,7 @@ const defaults = {
130
131
  fallbackLocale: "en",
131
132
  preloadFallback: true
132
133
  },
134
+ defaults: {},
133
135
  components: {
134
136
  autoImport: true
135
137
  },
@@ -187,6 +189,9 @@ const module$1 = defineNuxtModule({
187
189
  addPlugin(resolve(_dirname, "./runtime/plugins/theme"));
188
190
  addPlugin(resolve(_dirname, "./runtime/plugins/translations"));
189
191
  addPlugin(resolve(_dirname, "./runtime/plugins/maz-link-component"));
192
+ if (Object.keys(moduleOptions.defaults).length > 0) {
193
+ addPlugin(resolve(_dirname, "./runtime/plugins/defaults"));
194
+ }
190
195
  if (moduleOptions.components.autoImport) {
191
196
  for (const name of Object.keys(COMPONENT_NAMES)) {
192
197
  addComponent({
@@ -0,0 +1,2 @@
1
+ declare const _default: import("nuxt/app").Plugin<Record<string, unknown>> & import("nuxt/app").ObjectPlugin<Record<string, unknown>>;
2
+ export default _default;
@@ -0,0 +1,8 @@
1
+ import { GLOBAL_CONFIG_INJECTION_KEY } from "maz-ui/composables/useGlobalConfig";
2
+ import { defineNuxtPlugin } from "nuxt/app";
3
+ export default defineNuxtPlugin(({ vueApp, $config }) => {
4
+ const defaults = $config.public.mazUi?.defaults;
5
+ if (defaults && Object.keys(defaults).length > 0) {
6
+ vueApp.provide(GLOBAL_CONFIG_INJECTION_KEY, defaults);
7
+ }
8
+ });
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@maz-ui/nuxt",
3
3
  "type": "module",
4
- "version": "5.0.0-beta.23",
4
+ "version": "5.0.0-beta.25",
5
5
  "description": "Nuxt module for Maz-UI",
6
6
  "author": "Louis Mazel <me@loicmazuel.com>",
7
7
  "license": "MIT",
@@ -51,10 +51,10 @@
51
51
  "@nuxt/devtools-kit": "^3.2.3",
52
52
  "@nuxt/kit": "^4.4.6",
53
53
  "defu": "^6.1.7",
54
- "@maz-ui/themes": "5.0.0-beta.22",
55
- "@maz-ui/translations": "5.0.0-beta.18",
56
- "maz-ui": "5.0.0-beta.23",
57
- "@maz-ui/utils": "5.0.0-beta.18"
54
+ "@maz-ui/themes": "5.0.0-beta.25",
55
+ "@maz-ui/translations": "5.0.0-beta.25",
56
+ "@maz-ui/utils": "5.0.0-beta.25",
57
+ "maz-ui": "5.0.0-beta.25"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@nuxt/devtools": "^3.2.3",
@@ -62,7 +62,7 @@
62
62
  "@nuxt/schema": "^4.4.6",
63
63
  "@nuxt/test-utils": "^4.0.3",
64
64
  "nuxt": "^4.4.6",
65
- "@maz-ui/eslint-config": "5.0.0-beta.18"
65
+ "@maz-ui/eslint-config": "5.0.0-beta.25"
66
66
  },
67
67
  "lint-staged": {
68
68
  "*.{js,ts,mjs,mts,cjs,md,yml,json}": "cross-env NODE_ENV=production eslint --fix"