@nuxt/ui 0.2.0 → 0.3.0

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/nuxt.mjs CHANGED
@@ -1,121 +1,11 @@
1
1
  import { fileURLToPath } from 'url';
2
2
  import { defineNuxtModule, addComponentsDir, createResolver, installModule } from '@nuxt/kit';
3
3
  import defu from 'defu';
4
- import { parseColor } from '@unocss/preset-mini/utils';
5
- import { theme } from '@unocss/preset-mini';
6
- import { fonts } from '@unocss/preset-mini/rules';
7
- import { mergeDeep, presetUno, presetAttributify, presetTypography, presetIcons, transformerDirectives, transformerVariantGroup } from 'unocss';
8
-
9
- const NuxtUIPreset = {
10
- name: "nuxt-ui",
11
- theme: mergeDeep(theme, {
12
- colors: {
13
- context: "rgba(var(--nui-c-context),%alpha)"
14
- },
15
- fontFamily: {
16
- sans: "Avenir, Helvetica, Arial, sans-serif"
17
- }
18
- }),
19
- rules: [
20
- [/^n-(.*)$/, ([, body], { theme }) => {
21
- const color = parseColor(body, theme);
22
- if (color?.cssColor?.type === "rgb" && color.cssColor.components) {
23
- return {
24
- "--nui-c-context": `${color.cssColor.components.join(",")}`
25
- };
26
- }
27
- }],
28
- [/^n-(.*)$/, fonts[1][1]],
29
- ["n-dashed", { "border-style": "dashed" }],
30
- ["n-solid", {
31
- "background-color": "rgba(var(--nui-c-context), 1) !important",
32
- "border-color": "rgba(var(--nui-c-context), 1)",
33
- color: "white !important"
34
- }],
35
- ["n-disabled", {
36
- opacity: 0.4,
37
- "pointer-events": "none",
38
- filter: "saturate(0)"
39
- }]
40
- ],
41
- variants: [
42
- (input) => {
43
- const prefix = "n-disabled:";
44
- if (input.startsWith(prefix)) {
45
- return {
46
- matcher: input.slice(prefix.length),
47
- selector: (input2) => `[disabled] ${input2}, ${input2}[disabled]`
48
- };
49
- }
50
- },
51
- (input) => {
52
- const prefix = "n-checked:";
53
- if (input.startsWith(prefix)) {
54
- return {
55
- matcher: input.slice(prefix.length),
56
- selector: (input2) => `[checked] ${input2}, ${input2}[checked]`
57
- };
58
- }
59
- }
60
- ],
61
- shortcuts: {
62
- "n-bg-base": "bg-white dark:bg-[#222]",
63
- "n-border-base": "border-gray-400/50",
64
- "n-border-300": "border-gray-400/40",
65
- "n-border-200": "border-gray-400/25",
66
- "n-transition": "transition-all duration-200",
67
- "n-focus-base": "ring-2 ring-context/50",
68
- "n-active-base": "ring-3 ring-context/10",
69
- "n-borderless": "!border-none !shadow-none",
70
- "n-link-base": "underline underline-offset-2 underline-black/20 dark:underline-white/40",
71
- "n-link-hover": "decoration-dotted text-context underline-context",
72
- "n-card-base": "border n-border-200 rounded n-bg-base shadow-sm",
73
- "n-header-upper": "text-sm uppercase mb-2 leading-1.2em tracking-wide op50",
74
- "n-button-base": "border n-border-base rounded shadow-sm px-1em py-0.25em inline-flex items-center gap-1 op80 !outline-none",
75
- "n-button-hover": "op100 !border-context text-context",
76
- "n-button-active": "n-active-base bg-context/5",
77
- "n-button-icon": "-ml-0.2em mr-0.2em text-1.1em",
78
- "n-checkbox-box": "border n-border-base w-1.1em h-1.1em mr-1 text-white flex flex-none items-center rounded-sm overflow-visible",
79
- "n-checkbox-box-checked": "bg-context border-context",
80
- "n-checkbox-icon": "carbon-checkmark",
81
- "n-radio-box": "border n-border-base w-1.2em h-1.2em mr-1 text-white flex flex-none rounded-full overflow-visible",
82
- "n-radio-box-checked": "border-context",
83
- "n-radio-inner": "bg-context rounded-1/2 w-0 h-0 m-auto",
84
- "n-radio-inner-checked": "w-0.8em h-0.8em",
85
- "n-switch-base": "inline-flex items-center select-none",
86
- "n-switch-slider": "mr-1 rounded-full border n-border-base relative p-2px",
87
- "n-switch-slider-checked": "border-context/20 bg-context/10",
88
- "n-switch-thumb": "h-1em w-1em rounded-1/2 border n-border-base ml-0 mr-0.8em",
89
- "n-switch-thumb-checked": "bg-context border-context ml-0.8em mr-0",
90
- "n-tip-base": "bg-context/8 text-context px-1em py-0.4em rounded flex items-center dark:bg-context/12",
91
- "n-tip-icon": "-ml-0.2em mr-0.4em text-1.1em"
92
- }
93
- };
94
- function extendUnocssOptions(user = {}) {
95
- return {
96
- ...user,
97
- preflight: true,
98
- presets: [
99
- presetUno(),
100
- presetAttributify(),
101
- presetTypography(),
102
- presetIcons({
103
- prefix: "",
104
- scale: 1.2,
105
- extraProperties: {
106
- display: "inline-block",
107
- "vertical-align": "middle"
108
- }
109
- }),
110
- NuxtUIPreset,
111
- ...user.presets || []
112
- ],
113
- transformers: [
114
- transformerDirectives(),
115
- transformerVariantGroup()
116
- ]
117
- };
118
- }
4
+ import { extendUnocssOptions } from './unocss.mjs';
5
+ import '@unocss/preset-mini/utils';
6
+ import '@unocss/preset-mini';
7
+ import '@unocss/preset-mini/rules';
8
+ import 'unocss';
119
9
 
120
10
  const rPath = (p) => fileURLToPath(new URL(p, import.meta.url).toString());
121
11
  const nuxt = defineNuxtModule({
@@ -0,0 +1,7 @@
1
+ import { Preset } from '@unocss/core';
2
+ import { UnocssNuxtOptions } from '@unocss/nuxt';
3
+
4
+ declare const NuxtUIPreset: () => Preset;
5
+ declare function extendUnocssOptions(user?: UnocssNuxtOptions): UnocssNuxtOptions;
6
+
7
+ export { NuxtUIPreset, extendUnocssOptions };
@@ -0,0 +1,117 @@
1
+ import { parseColor } from '@unocss/preset-mini/utils';
2
+ import { theme } from '@unocss/preset-mini';
3
+ import { fonts } from '@unocss/preset-mini/rules';
4
+ import { presetUno, presetAttributify, presetTypography, presetIcons, mergeDeep, transformerDirectives, transformerVariantGroup } from 'unocss';
5
+
6
+ const NuxtUIPreset = () => ({
7
+ name: "nuxt-ui",
8
+ theme: mergeDeep(theme, {
9
+ colors: {
10
+ context: "rgba(var(--nui-c-context),%alpha)"
11
+ },
12
+ fontFamily: {
13
+ sans: "Avenir, Helvetica, Arial, sans-serif"
14
+ }
15
+ }),
16
+ rules: [
17
+ [/^n-(.*)$/, ([, body], { theme }) => {
18
+ const color = parseColor(body, theme);
19
+ if (color?.cssColor?.type === "rgb" && color.cssColor.components) {
20
+ return {
21
+ "--nui-c-context": `${color.cssColor.components.join(",")}`
22
+ };
23
+ }
24
+ }],
25
+ [/^n-(.*)$/, fonts[1][1]],
26
+ ["n-dashed", { "border-style": "dashed" }],
27
+ ["n-solid", {
28
+ "background-color": "rgba(var(--nui-c-context), 1) !important",
29
+ "border-color": "rgba(var(--nui-c-context), 1)",
30
+ color: "white !important"
31
+ }],
32
+ ["n-disabled", {
33
+ opacity: 0.4,
34
+ "pointer-events": "none",
35
+ filter: "saturate(0)"
36
+ }]
37
+ ],
38
+ variants: [
39
+ (input) => {
40
+ const prefix = "n-disabled:";
41
+ if (input.startsWith(prefix)) {
42
+ return {
43
+ matcher: input.slice(prefix.length),
44
+ selector: (input2) => `[disabled] ${input2}, ${input2}[disabled]`
45
+ };
46
+ }
47
+ },
48
+ (input) => {
49
+ const prefix = "n-checked:";
50
+ if (input.startsWith(prefix)) {
51
+ return {
52
+ matcher: input.slice(prefix.length),
53
+ selector: (input2) => `[checked] ${input2}, ${input2}[checked]`
54
+ };
55
+ }
56
+ }
57
+ ],
58
+ shortcuts: {
59
+ "n-bg-base": "bg-white dark:bg-[#222]",
60
+ "n-border-base": "border-gray-400/50",
61
+ "n-border-300": "border-gray-400/40",
62
+ "n-border-200": "border-gray-400/25",
63
+ "n-transition": "transition-all duration-200",
64
+ "n-focus-base": "ring-2 ring-context/50",
65
+ "n-active-base": "ring-3 ring-context/10",
66
+ "n-borderless": "!border-none !shadow-none",
67
+ "n-link-base": "underline underline-offset-2 underline-black/20 dark:underline-white/40",
68
+ "n-link-hover": "decoration-dotted text-context underline-context",
69
+ "n-card-base": "border n-border-200 rounded n-bg-base shadow-sm",
70
+ "n-header-upper": "text-sm uppercase mb-2 leading-1.2em tracking-wide op50",
71
+ "n-button-base": "border n-border-base rounded shadow-sm px-1em py-0.25em inline-flex items-center gap-1 op80 !outline-none",
72
+ "n-button-hover": "op100 !border-context text-context",
73
+ "n-button-active": "n-active-base bg-context/5",
74
+ "n-button-icon": "-ml-0.2em mr-0.2em text-1.1em",
75
+ "n-checkbox-box": "border n-border-base w-1.1em h-1.1em mr-1 text-white flex flex-none items-center rounded-sm overflow-visible",
76
+ "n-checkbox-box-checked": "bg-context border-context",
77
+ "n-checkbox-icon": "carbon-checkmark",
78
+ "n-radio-box": "border n-border-base w-1.2em h-1.2em mr-1 text-white flex flex-none rounded-full overflow-visible",
79
+ "n-radio-box-checked": "border-context",
80
+ "n-radio-inner": "bg-context rounded-1/2 w-0 h-0 m-auto",
81
+ "n-radio-inner-checked": "w-0.8em h-0.8em",
82
+ "n-switch-base": "inline-flex items-center select-none",
83
+ "n-switch-slider": "mr-1 rounded-full border n-border-base relative p-2px",
84
+ "n-switch-slider-checked": "border-context/20 bg-context/10",
85
+ "n-switch-thumb": "h-1em w-1em rounded-1/2 border n-border-base ml-0 mr-0.8em",
86
+ "n-switch-thumb-checked": "bg-context border-context ml-0.8em mr-0",
87
+ "n-tip-base": "bg-context/8 text-context px-1em py-0.4em rounded flex items-center dark:bg-context/12",
88
+ "n-tip-icon": "-ml-0.2em mr-0.4em text-1.1em"
89
+ }
90
+ });
91
+ function extendUnocssOptions(user = {}) {
92
+ return {
93
+ ...user,
94
+ preflight: true,
95
+ presets: [
96
+ presetUno(),
97
+ presetAttributify(),
98
+ presetTypography(),
99
+ presetIcons({
100
+ prefix: "",
101
+ scale: 1.2,
102
+ extraProperties: {
103
+ display: "inline-block",
104
+ "vertical-align": "middle"
105
+ }
106
+ }),
107
+ NuxtUIPreset(),
108
+ ...user.presets || []
109
+ ],
110
+ transformers: [
111
+ transformerDirectives(),
112
+ transformerVariantGroup()
113
+ ]
114
+ };
115
+ }
116
+
117
+ export { NuxtUIPreset, extendUnocssOptions };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@nuxt/ui",
3
- "version": "0.2.0",
3
+ "version": "0.3.0",
4
4
  "license": "MIT",
5
5
  "type": "module",
6
6
  "exports": {
@@ -11,6 +11,9 @@
11
11
  "./nuxt": {
12
12
  "import": "./dist/nuxt.mjs",
13
13
  "require": "./nuxt.cjs"
14
+ },
15
+ "./unocss": {
16
+ "import": "./dist/unocss.mjs"
14
17
  }
15
18
  },
16
19
  "main": "./dist/nuxt.mjs",
@@ -27,27 +30,27 @@
27
30
  },
28
31
  "dependencies": {
29
32
  "@iconify-json/carbon": "^1.1.6",
30
- "@nuxt/kit": "^3.0.0-rc.4",
33
+ "@nuxt/kit": "^3.0.0-rc.6",
31
34
  "@nuxtjs/color-mode": "^3.1.4",
32
- "@unocss/core": "^0.44.1",
33
- "@unocss/nuxt": "^0.44.1",
34
- "@unocss/preset-attributify": "^0.44.1",
35
- "@unocss/preset-icons": "^0.44.1",
36
- "@unocss/preset-mini": "^0.44.1",
37
- "@unocss/reset": "^0.44.1",
38
- "@vueuse/core": "^8.9.2",
39
- "@vueuse/integrations": "^8.9.2",
40
- "@vueuse/nuxt": "^8.9.2",
35
+ "@unocss/core": "^0.44.5",
36
+ "@unocss/nuxt": "^0.44.5",
37
+ "@unocss/preset-attributify": "^0.44.5",
38
+ "@unocss/preset-icons": "^0.44.5",
39
+ "@unocss/preset-mini": "^0.44.5",
40
+ "@unocss/reset": "^0.44.5",
41
+ "@vueuse/core": "^8.9.4",
42
+ "@vueuse/integrations": "^8.9.4",
43
+ "@vueuse/nuxt": "^8.9.4",
41
44
  "defu": "^6.0.0",
42
45
  "focus-trap": "^6.9.4",
43
- "unocss": "^0.44.1"
46
+ "unocss": "^0.44.5"
44
47
  },
45
48
  "devDependencies": {
46
- "nuxt": "3.0.0-rc.4",
47
- "unbuild": "^0.7.4"
49
+ "nuxt": "^3.0.0-rc.6",
50
+ "unbuild": "^0.7.6"
48
51
  },
49
52
  "publishConfig": {
50
53
  "access": "public"
51
54
  },
52
- "gitHead": "1d10fbfe28e7256c18c04404f4e1f0805a4e454a"
55
+ "gitHead": "645084bc7a3b59243aa430e072f1b195b91cf558"
53
56
  }