@community-release/nx-ui 0.0.18 → 0.0.19
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/module.d.mts +221 -5
- package/dist/module.d.ts +221 -5
- package/dist/module.json +1 -1
- package/dist/module.mjs +1 -2
- package/dist/runtime/plugins/methods.mjs +23 -20
- package/dist/runtime/plugins/variables.mjs +21 -17
- package/dist/types.d.mts +2 -10
- package/dist/types.d.ts +2 -10
- package/package.json +10 -10
package/dist/module.d.mts
CHANGED
|
@@ -1,7 +1,223 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { defineNuxtModule, createResolver, addTemplate, addPlugin, addComponentsDir, addComponent } from '@nuxt/kit';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
var defaultStyle = {
|
|
6
|
+
"content-width": "1400px",
|
|
7
|
+
// website content width
|
|
8
|
+
// Border radius
|
|
9
|
+
"border-radius-big": "18px",
|
|
10
|
+
"border-radius-default": "8px",
|
|
11
|
+
"border-radius-small": "3px",
|
|
12
|
+
// Inputs height
|
|
13
|
+
"input-height-large": "60px",
|
|
14
|
+
"input-height-big": "52px",
|
|
15
|
+
"input-height-medium": "48px",
|
|
16
|
+
"input-height-default": "42px",
|
|
17
|
+
"input-height-small": "32px",
|
|
18
|
+
"input-height-mini": "24px",
|
|
19
|
+
// Line height
|
|
20
|
+
"text-line-height": 1.4,
|
|
21
|
+
// Colors
|
|
22
|
+
"color-text": "rgba(0,0,0,0.8)",
|
|
23
|
+
"color-header-text": "rgba(0,0,0,1)",
|
|
24
|
+
"color-primary": "blue",
|
|
25
|
+
"color-primary-text": "blue",
|
|
26
|
+
"color-text-on-primary": "#fff",
|
|
27
|
+
"color-secondary": "cyan",
|
|
28
|
+
"color-secondary-text": "cyan",
|
|
29
|
+
"color-text-on-secondary": "#fff",
|
|
30
|
+
"color-gray": "rgba(56,60,68, 0.8)",
|
|
31
|
+
"color-gray-text": "rgba(56,60,68, 1)",
|
|
32
|
+
"color-text-on-gray": "#fff",
|
|
33
|
+
"color-red": "red",
|
|
34
|
+
"color-red-text": "var(--color-red)",
|
|
35
|
+
"color-text-on-red": "#fff",
|
|
36
|
+
"color-error": "var(--color-red)",
|
|
37
|
+
"color-surface": "#ccc",
|
|
38
|
+
"color-surface-text": "#aaa",
|
|
39
|
+
"color-text-on-surface": "var(--color-text)",
|
|
40
|
+
"color-neutral": "#ccc",
|
|
41
|
+
"color-neutral-text": "#aaa",
|
|
42
|
+
"color-text-on-neutral": "var(--color-text)",
|
|
43
|
+
"color-bg": "#fff",
|
|
44
|
+
"color-bg-text": "#fff",
|
|
45
|
+
"color-text-on-bg": "var(--color-text)",
|
|
46
|
+
"color-border": "#e8e8e8",
|
|
47
|
+
"color-border-bolder": "#e0e0e0",
|
|
48
|
+
// Text
|
|
49
|
+
"text-large": "32px",
|
|
50
|
+
"text-big": "24px",
|
|
51
|
+
"text-medium": "18px",
|
|
52
|
+
"text-default": "16px",
|
|
53
|
+
"text-small": "14px",
|
|
54
|
+
"text-mini": "12px",
|
|
55
|
+
// Font
|
|
56
|
+
"font-text": '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";',
|
|
57
|
+
"font-header": "var(--font-text)",
|
|
58
|
+
"font-accent": "var(--font-text)",
|
|
59
|
+
"font-icons": "FontAwesome",
|
|
60
|
+
"font-mono": "Consolas, SF Mono",
|
|
61
|
+
// Font weight
|
|
62
|
+
"font-weight-medium": "600",
|
|
63
|
+
// Padding
|
|
64
|
+
"space-extra-large": "100px",
|
|
65
|
+
"space-large": "50px",
|
|
66
|
+
"space-big": "32px",
|
|
67
|
+
"space-medium": "25px",
|
|
68
|
+
"space-default": "20px",
|
|
69
|
+
"space-small": "15px",
|
|
70
|
+
"space-mini": "10px",
|
|
71
|
+
"space-micro": "5px",
|
|
72
|
+
// Box shadow
|
|
73
|
+
"bs-1": "0 3px 8px rgba(13,72,177, 0.03), 0 6px 16px rgba(13,72,177, 0.03)",
|
|
74
|
+
"bs-2": "0 1px 3px rgba(13,72,177, 0.07), 0 1px 2px rgba(13,72,177, 0.1)",
|
|
75
|
+
"bs-3": "0 0.4px 0.6px rgba(13,72,177, 0.019), 0 1px 1.6px rgba(13,72,177, 0.027), 0 2.1px 3.2px rgba(13,72,177, 0.033), 4.4px 6.6px rgba(13,72,177, 0.041), 0 12px 18px rgba(13,72,177, 0.06)",
|
|
76
|
+
// Animation
|
|
77
|
+
"ani-time": "0.3s",
|
|
78
|
+
"ani-ease": "ease"
|
|
79
|
+
};
|
|
6
80
|
|
|
7
|
-
|
|
81
|
+
var generateStyle = (options) => {
|
|
82
|
+
let result = ":root {";
|
|
83
|
+
const userStyle = options?.style ? options.style : {};
|
|
84
|
+
for (let key in userStyle) {
|
|
85
|
+
if (key in defaultStyle)
|
|
86
|
+
defaultStyle[key] = userStyle[key];
|
|
87
|
+
else
|
|
88
|
+
console.error(`UI: Unknown css variable defined in ui config "${key}"`);
|
|
89
|
+
}
|
|
90
|
+
for (let key in defaultStyle) {
|
|
91
|
+
result += `--ui-${key}:${defaultStyle[key]};`;
|
|
92
|
+
}
|
|
93
|
+
result += "}";
|
|
94
|
+
return result;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
var defaultComponentsStyle = {
|
|
98
|
+
accordion: {
|
|
99
|
+
"title-font-size": "var(--ui-text-medium)",
|
|
100
|
+
"text-font-size": "var(--ui-text-default)"
|
|
101
|
+
},
|
|
102
|
+
button: {
|
|
103
|
+
"border-radius": "var(--ui-input-height-large)"
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
var generateComponentsDefaults = (options) => {
|
|
108
|
+
let result = "";
|
|
109
|
+
const components = options?.components ? options.components : {};
|
|
110
|
+
for (let name in defaultComponentsStyle) {
|
|
111
|
+
const style = Object.assign(defaultComponentsStyle[name], components[name] ? components[name] : {});
|
|
112
|
+
for (let prop in style) {
|
|
113
|
+
result += `@ui-${name}-${prop}: ${style[prop]};
|
|
114
|
+
`;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
var readComponentsProps = (resolve, srcDir, options = {}) => {
|
|
121
|
+
const dirComponents = resolve(srcDir, "./runtime/components/");
|
|
122
|
+
const result = {};
|
|
123
|
+
let files = fs.readdirSync(dirComponents, { recursive: true, encoding: "utf-8" });
|
|
124
|
+
files = files.filter((v) => v.indexOf("props.json") !== -1);
|
|
125
|
+
for (let file of files) {
|
|
126
|
+
const componentName = file.split(path.sep)[0];
|
|
127
|
+
const propsJSON = fs.readFileSync(resolve(dirComponents, file), { encoding: "utf-8" });
|
|
128
|
+
const props = JSON.parse(propsJSON);
|
|
129
|
+
result[componentName] = props;
|
|
130
|
+
}
|
|
131
|
+
if (options?.componentsProps) {
|
|
132
|
+
for (let componentName in options.componentsProps) {
|
|
133
|
+
if (!(componentName in result)) {
|
|
134
|
+
console.error(`Reading user defined components props error: component "${componentName}" does not exist`);
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
const userDefinedProps = options.componentsProps[componentName];
|
|
138
|
+
for (let prop in userDefinedProps) {
|
|
139
|
+
if (!(prop in result[componentName])) {
|
|
140
|
+
console.error(`Reading user defined components props error: prop "${prop}" does not exist in "${componentName}"`);
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
result[componentName][prop] = userDefinedProps[prop];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return result;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
var module = defineNuxtModule({
|
|
151
|
+
meta: {
|
|
152
|
+
name: "ui",
|
|
153
|
+
configKey: "ui"
|
|
154
|
+
},
|
|
155
|
+
// Default configuration options of the Nuxt module
|
|
156
|
+
defaults: {},
|
|
157
|
+
setup(options, nuxt) {
|
|
158
|
+
const { resolve } = createResolver(import.meta.url);
|
|
159
|
+
const srcDir = resolve("./");
|
|
160
|
+
addTemplate({
|
|
161
|
+
filename: "ui.style.mjs",
|
|
162
|
+
getContents: () => "export default " + JSON.stringify(generateStyle(options))
|
|
163
|
+
//write: true
|
|
164
|
+
});
|
|
165
|
+
addTemplate({
|
|
166
|
+
dst: resolve("./runtime/components/styles/components.less"),
|
|
167
|
+
write: true,
|
|
168
|
+
filename: "components.less",
|
|
169
|
+
getContents: () => generateComponentsDefaults(options)
|
|
170
|
+
});
|
|
171
|
+
const componentsProps = readComponentsProps(resolve, srcDir, options);
|
|
172
|
+
for (let componentName in componentsProps) {
|
|
173
|
+
addTemplate({
|
|
174
|
+
filename: `ui.${componentName}.mjs`,
|
|
175
|
+
// @ts-ignore
|
|
176
|
+
getContents: () => "export default " + JSON.stringify(componentsProps[componentName])
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
addPlugin({
|
|
180
|
+
src: resolve("./runtime/plugins/variables"),
|
|
181
|
+
mode: "server"
|
|
182
|
+
});
|
|
183
|
+
addPlugin({
|
|
184
|
+
src: resolve("./runtime/plugins/methods"),
|
|
185
|
+
mode: "all"
|
|
186
|
+
});
|
|
187
|
+
addComponentsDir({
|
|
188
|
+
path: resolve("./runtime/components"),
|
|
189
|
+
// watch: true,
|
|
190
|
+
prefix: "ui",
|
|
191
|
+
pathPrefix: false,
|
|
192
|
+
global: false,
|
|
193
|
+
extensions: ["vue"]
|
|
194
|
+
});
|
|
195
|
+
addComponent({
|
|
196
|
+
filePath: resolve("./runtime/components/map/zoom"),
|
|
197
|
+
name: "ui-map-zoom",
|
|
198
|
+
global: false
|
|
199
|
+
});
|
|
200
|
+
addComponent({
|
|
201
|
+
filePath: resolve("./runtime/components/map/device-zoom-switch"),
|
|
202
|
+
name: "ui-map-device-zoom-switch",
|
|
203
|
+
global: false
|
|
204
|
+
});
|
|
205
|
+
addComponent({
|
|
206
|
+
filePath: resolve("./runtime/components/map/location/index"),
|
|
207
|
+
name: "ui-map-location",
|
|
208
|
+
global: false
|
|
209
|
+
});
|
|
210
|
+
addComponent({
|
|
211
|
+
filePath: resolve("./runtime/components/map/location/list"),
|
|
212
|
+
name: "ui-map-location-list",
|
|
213
|
+
global: false
|
|
214
|
+
});
|
|
215
|
+
addComponent({
|
|
216
|
+
filePath: resolve("./runtime/components/map/location/nearest"),
|
|
217
|
+
name: "ui-map-location-nearest",
|
|
218
|
+
global: false
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
export { module as default };
|
package/dist/module.d.ts
CHANGED
|
@@ -1,7 +1,223 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { defineNuxtModule, createResolver, addTemplate, addPlugin, addComponentsDir, addComponent } from '@nuxt/kit';
|
|
2
|
+
import fs from 'node:fs';
|
|
3
|
+
import path from 'node:path';
|
|
2
4
|
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
5
|
+
var defaultStyle = {
|
|
6
|
+
"content-width": "1400px",
|
|
7
|
+
// website content width
|
|
8
|
+
// Border radius
|
|
9
|
+
"border-radius-big": "18px",
|
|
10
|
+
"border-radius-default": "8px",
|
|
11
|
+
"border-radius-small": "3px",
|
|
12
|
+
// Inputs height
|
|
13
|
+
"input-height-large": "60px",
|
|
14
|
+
"input-height-big": "52px",
|
|
15
|
+
"input-height-medium": "48px",
|
|
16
|
+
"input-height-default": "42px",
|
|
17
|
+
"input-height-small": "32px",
|
|
18
|
+
"input-height-mini": "24px",
|
|
19
|
+
// Line height
|
|
20
|
+
"text-line-height": 1.4,
|
|
21
|
+
// Colors
|
|
22
|
+
"color-text": "rgba(0,0,0,0.8)",
|
|
23
|
+
"color-header-text": "rgba(0,0,0,1)",
|
|
24
|
+
"color-primary": "blue",
|
|
25
|
+
"color-primary-text": "blue",
|
|
26
|
+
"color-text-on-primary": "#fff",
|
|
27
|
+
"color-secondary": "cyan",
|
|
28
|
+
"color-secondary-text": "cyan",
|
|
29
|
+
"color-text-on-secondary": "#fff",
|
|
30
|
+
"color-gray": "rgba(56,60,68, 0.8)",
|
|
31
|
+
"color-gray-text": "rgba(56,60,68, 1)",
|
|
32
|
+
"color-text-on-gray": "#fff",
|
|
33
|
+
"color-red": "red",
|
|
34
|
+
"color-red-text": "var(--color-red)",
|
|
35
|
+
"color-text-on-red": "#fff",
|
|
36
|
+
"color-error": "var(--color-red)",
|
|
37
|
+
"color-surface": "#ccc",
|
|
38
|
+
"color-surface-text": "#aaa",
|
|
39
|
+
"color-text-on-surface": "var(--color-text)",
|
|
40
|
+
"color-neutral": "#ccc",
|
|
41
|
+
"color-neutral-text": "#aaa",
|
|
42
|
+
"color-text-on-neutral": "var(--color-text)",
|
|
43
|
+
"color-bg": "#fff",
|
|
44
|
+
"color-bg-text": "#fff",
|
|
45
|
+
"color-text-on-bg": "var(--color-text)",
|
|
46
|
+
"color-border": "#e8e8e8",
|
|
47
|
+
"color-border-bolder": "#e0e0e0",
|
|
48
|
+
// Text
|
|
49
|
+
"text-large": "32px",
|
|
50
|
+
"text-big": "24px",
|
|
51
|
+
"text-medium": "18px",
|
|
52
|
+
"text-default": "16px",
|
|
53
|
+
"text-small": "14px",
|
|
54
|
+
"text-mini": "12px",
|
|
55
|
+
// Font
|
|
56
|
+
"font-text": '-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";',
|
|
57
|
+
"font-header": "var(--font-text)",
|
|
58
|
+
"font-accent": "var(--font-text)",
|
|
59
|
+
"font-icons": "FontAwesome",
|
|
60
|
+
"font-mono": "Consolas, SF Mono",
|
|
61
|
+
// Font weight
|
|
62
|
+
"font-weight-medium": "600",
|
|
63
|
+
// Padding
|
|
64
|
+
"space-extra-large": "100px",
|
|
65
|
+
"space-large": "50px",
|
|
66
|
+
"space-big": "32px",
|
|
67
|
+
"space-medium": "25px",
|
|
68
|
+
"space-default": "20px",
|
|
69
|
+
"space-small": "15px",
|
|
70
|
+
"space-mini": "10px",
|
|
71
|
+
"space-micro": "5px",
|
|
72
|
+
// Box shadow
|
|
73
|
+
"bs-1": "0 3px 8px rgba(13,72,177, 0.03), 0 6px 16px rgba(13,72,177, 0.03)",
|
|
74
|
+
"bs-2": "0 1px 3px rgba(13,72,177, 0.07), 0 1px 2px rgba(13,72,177, 0.1)",
|
|
75
|
+
"bs-3": "0 0.4px 0.6px rgba(13,72,177, 0.019), 0 1px 1.6px rgba(13,72,177, 0.027), 0 2.1px 3.2px rgba(13,72,177, 0.033), 4.4px 6.6px rgba(13,72,177, 0.041), 0 12px 18px rgba(13,72,177, 0.06)",
|
|
76
|
+
// Animation
|
|
77
|
+
"ani-time": "0.3s",
|
|
78
|
+
"ani-ease": "ease"
|
|
79
|
+
};
|
|
6
80
|
|
|
7
|
-
|
|
81
|
+
var generateStyle = (options) => {
|
|
82
|
+
let result = ":root {";
|
|
83
|
+
const userStyle = options?.style ? options.style : {};
|
|
84
|
+
for (let key in userStyle) {
|
|
85
|
+
if (key in defaultStyle)
|
|
86
|
+
defaultStyle[key] = userStyle[key];
|
|
87
|
+
else
|
|
88
|
+
console.error(`UI: Unknown css variable defined in ui config "${key}"`);
|
|
89
|
+
}
|
|
90
|
+
for (let key in defaultStyle) {
|
|
91
|
+
result += `--ui-${key}:${defaultStyle[key]};`;
|
|
92
|
+
}
|
|
93
|
+
result += "}";
|
|
94
|
+
return result;
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
var defaultComponentsStyle = {
|
|
98
|
+
accordion: {
|
|
99
|
+
"title-font-size": "var(--ui-text-medium)",
|
|
100
|
+
"text-font-size": "var(--ui-text-default)"
|
|
101
|
+
},
|
|
102
|
+
button: {
|
|
103
|
+
"border-radius": "var(--ui-input-height-large)"
|
|
104
|
+
}
|
|
105
|
+
};
|
|
106
|
+
|
|
107
|
+
var generateComponentsDefaults = (options) => {
|
|
108
|
+
let result = "";
|
|
109
|
+
const components = options?.components ? options.components : {};
|
|
110
|
+
for (let name in defaultComponentsStyle) {
|
|
111
|
+
const style = Object.assign(defaultComponentsStyle[name], components[name] ? components[name] : {});
|
|
112
|
+
for (let prop in style) {
|
|
113
|
+
result += `@ui-${name}-${prop}: ${style[prop]};
|
|
114
|
+
`;
|
|
115
|
+
}
|
|
116
|
+
}
|
|
117
|
+
return result;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
var readComponentsProps = (resolve, srcDir, options = {}) => {
|
|
121
|
+
const dirComponents = resolve(srcDir, "./runtime/components/");
|
|
122
|
+
const result = {};
|
|
123
|
+
let files = fs.readdirSync(dirComponents, { recursive: true, encoding: "utf-8" });
|
|
124
|
+
files = files.filter((v) => v.indexOf("props.json") !== -1);
|
|
125
|
+
for (let file of files) {
|
|
126
|
+
const componentName = file.split(path.sep)[0];
|
|
127
|
+
const propsJSON = fs.readFileSync(resolve(dirComponents, file), { encoding: "utf-8" });
|
|
128
|
+
const props = JSON.parse(propsJSON);
|
|
129
|
+
result[componentName] = props;
|
|
130
|
+
}
|
|
131
|
+
if (options?.componentsProps) {
|
|
132
|
+
for (let componentName in options.componentsProps) {
|
|
133
|
+
if (!(componentName in result)) {
|
|
134
|
+
console.error(`Reading user defined components props error: component "${componentName}" does not exist`);
|
|
135
|
+
continue;
|
|
136
|
+
}
|
|
137
|
+
const userDefinedProps = options.componentsProps[componentName];
|
|
138
|
+
for (let prop in userDefinedProps) {
|
|
139
|
+
if (!(prop in result[componentName])) {
|
|
140
|
+
console.error(`Reading user defined components props error: prop "${prop}" does not exist in "${componentName}"`);
|
|
141
|
+
continue;
|
|
142
|
+
}
|
|
143
|
+
result[componentName][prop] = userDefinedProps[prop];
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
}
|
|
147
|
+
return result;
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
var module = defineNuxtModule({
|
|
151
|
+
meta: {
|
|
152
|
+
name: "ui",
|
|
153
|
+
configKey: "ui"
|
|
154
|
+
},
|
|
155
|
+
// Default configuration options of the Nuxt module
|
|
156
|
+
defaults: {},
|
|
157
|
+
setup(options, nuxt) {
|
|
158
|
+
const { resolve } = createResolver(import.meta.url);
|
|
159
|
+
const srcDir = resolve("./");
|
|
160
|
+
addTemplate({
|
|
161
|
+
filename: "ui.style.mjs",
|
|
162
|
+
getContents: () => "export default " + JSON.stringify(generateStyle(options))
|
|
163
|
+
//write: true
|
|
164
|
+
});
|
|
165
|
+
addTemplate({
|
|
166
|
+
dst: resolve("./runtime/components/styles/components.less"),
|
|
167
|
+
write: true,
|
|
168
|
+
filename: "components.less",
|
|
169
|
+
getContents: () => generateComponentsDefaults(options)
|
|
170
|
+
});
|
|
171
|
+
const componentsProps = readComponentsProps(resolve, srcDir, options);
|
|
172
|
+
for (let componentName in componentsProps) {
|
|
173
|
+
addTemplate({
|
|
174
|
+
filename: `ui.${componentName}.mjs`,
|
|
175
|
+
// @ts-ignore
|
|
176
|
+
getContents: () => "export default " + JSON.stringify(componentsProps[componentName])
|
|
177
|
+
});
|
|
178
|
+
}
|
|
179
|
+
addPlugin({
|
|
180
|
+
src: resolve("./runtime/plugins/variables"),
|
|
181
|
+
mode: "server"
|
|
182
|
+
});
|
|
183
|
+
addPlugin({
|
|
184
|
+
src: resolve("./runtime/plugins/methods"),
|
|
185
|
+
mode: "all"
|
|
186
|
+
});
|
|
187
|
+
addComponentsDir({
|
|
188
|
+
path: resolve("./runtime/components"),
|
|
189
|
+
// watch: true,
|
|
190
|
+
prefix: "ui",
|
|
191
|
+
pathPrefix: false,
|
|
192
|
+
global: false,
|
|
193
|
+
extensions: ["vue"]
|
|
194
|
+
});
|
|
195
|
+
addComponent({
|
|
196
|
+
filePath: resolve("./runtime/components/map/zoom"),
|
|
197
|
+
name: "ui-map-zoom",
|
|
198
|
+
global: false
|
|
199
|
+
});
|
|
200
|
+
addComponent({
|
|
201
|
+
filePath: resolve("./runtime/components/map/device-zoom-switch"),
|
|
202
|
+
name: "ui-map-device-zoom-switch",
|
|
203
|
+
global: false
|
|
204
|
+
});
|
|
205
|
+
addComponent({
|
|
206
|
+
filePath: resolve("./runtime/components/map/location/index"),
|
|
207
|
+
name: "ui-map-location",
|
|
208
|
+
global: false
|
|
209
|
+
});
|
|
210
|
+
addComponent({
|
|
211
|
+
filePath: resolve("./runtime/components/map/location/list"),
|
|
212
|
+
name: "ui-map-location-list",
|
|
213
|
+
global: false
|
|
214
|
+
});
|
|
215
|
+
addComponent({
|
|
216
|
+
filePath: resolve("./runtime/components/map/location/nearest"),
|
|
217
|
+
name: "ui-map-location-nearest",
|
|
218
|
+
global: false
|
|
219
|
+
});
|
|
220
|
+
}
|
|
221
|
+
});
|
|
222
|
+
|
|
223
|
+
export { module as default };
|
package/dist/module.json
CHANGED
package/dist/module.mjs
CHANGED
|
@@ -120,7 +120,7 @@ const generateComponentsDefaults = (options) => {
|
|
|
120
120
|
const readComponentsProps = (resolve, srcDir, options = {}) => {
|
|
121
121
|
const dirComponents = resolve(srcDir, "./runtime/components/");
|
|
122
122
|
const result = {};
|
|
123
|
-
let files = fs.readdirSync(dirComponents, { recursive: true });
|
|
123
|
+
let files = fs.readdirSync(dirComponents, { recursive: true, encoding: "utf-8" });
|
|
124
124
|
files = files.filter((v) => v.indexOf("props.json") !== -1);
|
|
125
125
|
for (let file of files) {
|
|
126
126
|
const componentName = file.split(path.sep)[0];
|
|
@@ -169,7 +169,6 @@ const module = defineNuxtModule({
|
|
|
169
169
|
getContents: () => generateComponentsDefaults(options)
|
|
170
170
|
});
|
|
171
171
|
const componentsProps = readComponentsProps(resolve, srcDir, options);
|
|
172
|
-
console.log("nx-ui componentsProps", componentsProps);
|
|
173
172
|
for (let componentName in componentsProps) {
|
|
174
173
|
addTemplate({
|
|
175
174
|
filename: `ui.${componentName}.mjs`,
|
|
@@ -1,20 +1,23 @@
|
|
|
1
|
-
import { defineNuxtPlugin } from
|
|
2
|
-
import { useUINoticeStore } from
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
}
|
|
1
|
+
import { defineNuxtPlugin } from '#app';
|
|
2
|
+
import { useUINoticeStore } from '../components/notice/store.mjs';
|
|
3
|
+
|
|
4
|
+
export default defineNuxtPlugin(function (nuxt) {
|
|
5
|
+
const noticeStore = useUINoticeStore();
|
|
6
|
+
|
|
7
|
+
return {
|
|
8
|
+
provide: {
|
|
9
|
+
showNotice(duration = 8000, templateComponent, templateProps = {}) {
|
|
10
|
+
const id = noticeStore.add({
|
|
11
|
+
duration,
|
|
12
|
+
templateComponent,
|
|
13
|
+
templateProps
|
|
14
|
+
});
|
|
15
|
+
|
|
16
|
+
return id;
|
|
17
|
+
},
|
|
18
|
+
hideNotice(id) {
|
|
19
|
+
noticeStore.remove(id);
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
};
|
|
23
|
+
});
|
|
@@ -1,17 +1,21 @@
|
|
|
1
|
-
import { computed } from
|
|
2
|
-
import { defineNuxtPlugin } from
|
|
3
|
-
import { useHead } from
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
1
|
+
import { computed } from 'vue';
|
|
2
|
+
import { defineNuxtPlugin } from '#app';
|
|
3
|
+
import { useHead } from '#imports';
|
|
4
|
+
|
|
5
|
+
import style from '#build/ui.style.mjs';
|
|
6
|
+
|
|
7
|
+
export default defineNuxtPlugin(function(nuxt) {
|
|
8
|
+
const computedStyle = computed(() => style);
|
|
9
|
+
|
|
10
|
+
const headData = {
|
|
11
|
+
style: [
|
|
12
|
+
{
|
|
13
|
+
innerHTML: () => computedStyle.value,
|
|
14
|
+
tagPriority: -2,
|
|
15
|
+
id: 'nuxt-ui-style',
|
|
16
|
+
},
|
|
17
|
+
],
|
|
18
|
+
};
|
|
19
|
+
|
|
20
|
+
useHead(headData);
|
|
21
|
+
});
|
package/dist/types.d.mts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
import type {
|
|
2
|
+
import type { } from './module.js'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
declare module '@nuxt/schema' {
|
|
6
|
-
interface NuxtConfig { ['ui']?: Partial<ModuleOptions> }
|
|
7
|
-
interface NuxtOptions { ['ui']?: ModuleOptions }
|
|
8
|
-
}
|
|
9
5
|
|
|
10
|
-
declare module 'nuxt/schema' {
|
|
11
|
-
interface NuxtConfig { ['ui']?: Partial<ModuleOptions> }
|
|
12
|
-
interface NuxtOptions { ['ui']?: ModuleOptions }
|
|
13
|
-
}
|
|
14
6
|
|
|
15
7
|
|
|
16
|
-
export type {
|
|
8
|
+
export type { default } from './module.js'
|
package/dist/types.d.ts
CHANGED
|
@@ -1,16 +1,8 @@
|
|
|
1
1
|
|
|
2
|
-
import type {
|
|
2
|
+
import type { } from './module'
|
|
3
3
|
|
|
4
4
|
|
|
5
|
-
declare module '@nuxt/schema' {
|
|
6
|
-
interface NuxtConfig { ['ui']?: Partial<ModuleOptions> }
|
|
7
|
-
interface NuxtOptions { ['ui']?: ModuleOptions }
|
|
8
|
-
}
|
|
9
5
|
|
|
10
|
-
declare module 'nuxt/schema' {
|
|
11
|
-
interface NuxtConfig { ['ui']?: Partial<ModuleOptions> }
|
|
12
|
-
interface NuxtOptions { ['ui']?: ModuleOptions }
|
|
13
|
-
}
|
|
14
6
|
|
|
15
7
|
|
|
16
|
-
export type {
|
|
8
|
+
export type { default } from './module'
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@community-release/nx-ui",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.19",
|
|
4
4
|
"description": "nx-ui - Nuxt UI library",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -10,13 +10,11 @@
|
|
|
10
10
|
"type": "module",
|
|
11
11
|
"exports": {
|
|
12
12
|
".": {
|
|
13
|
-
"types": "./dist/types.d.ts",
|
|
14
13
|
"import": "./dist/module.mjs",
|
|
15
14
|
"require": "./dist/module.cjs"
|
|
16
15
|
}
|
|
17
16
|
},
|
|
18
17
|
"main": "./dist/module.cjs",
|
|
19
|
-
"types": "./dist/types.d.ts",
|
|
20
18
|
"files": [
|
|
21
19
|
"dist"
|
|
22
20
|
],
|
|
@@ -26,34 +24,35 @@
|
|
|
26
24
|
"@nuxtjs/i18n": "^8.3.1",
|
|
27
25
|
"@pinia/nuxt": "^0.5.1",
|
|
28
26
|
"ol": "^9.1.0",
|
|
29
|
-
"pinia": "^2.1.7"
|
|
27
|
+
"pinia": "^2.1.7",
|
|
28
|
+
"vue": "^3.4.31"
|
|
30
29
|
},
|
|
31
30
|
"devDependencies": {
|
|
32
31
|
"@nuxt/devtools": "latest",
|
|
33
32
|
"@nuxt/module-builder": "^0.5.5",
|
|
34
33
|
"@nuxt/schema": "^3.11.2",
|
|
35
34
|
"@nuxt/test-utils": "^3.12.0",
|
|
36
|
-
"@types/node": "^20.12.4",
|
|
37
35
|
"@vitejs/plugin-vue": "^5.0.5",
|
|
38
36
|
"@vue/test-utils": "^2.4.6",
|
|
39
37
|
"@vuedoc/md": "^4.0.0-beta8",
|
|
40
38
|
"@vuedoc/parser": "^4.0.0-beta14",
|
|
41
39
|
"changelogen": "^0.5.5",
|
|
40
|
+
"cross-env": "^7.0.3",
|
|
42
41
|
"happy-dom": "^14.12.0",
|
|
43
42
|
"less": "^3.9.0",
|
|
44
43
|
"less-loader": "^5.0.0",
|
|
45
44
|
"nuxt": "^3.12.1",
|
|
46
|
-
"typescript": "^5.4.5",
|
|
47
45
|
"vite-raw-plugin": "^1.0.2",
|
|
48
46
|
"vitest": "^1.6.0",
|
|
49
|
-
"vue-docgen-cli": "^4.79.0"
|
|
47
|
+
"vue-docgen-cli": "^4.79.0",
|
|
48
|
+
"vue-tsc": "^2.0.24"
|
|
50
49
|
},
|
|
51
50
|
"resolutions": {
|
|
52
51
|
"string-width": "4.2.3"
|
|
53
52
|
},
|
|
54
53
|
"scripts": {
|
|
55
54
|
"prepack": "nuxt-module-build build",
|
|
56
|
-
"dev": "nuxi dev docs",
|
|
55
|
+
"dev": "nuxi dev docs --host",
|
|
57
56
|
"build": "nuxi build docs",
|
|
58
57
|
"prepare": "nuxt-module-build build && nuxt-module-build prepare && nuxi prepare docs",
|
|
59
58
|
"release": "npm run test && npm run prepack && changelogen --release && npm publish && git push --follow-tags",
|
|
@@ -61,6 +60,7 @@
|
|
|
61
60
|
"test:watch": "vitest watch",
|
|
62
61
|
"test:com": "vitest components run",
|
|
63
62
|
"test:genmocks": "node ./src/utils/generateTestMocks.mjs",
|
|
64
|
-
"docs:components": "vue-docgen"
|
|
63
|
+
"docs:components": "vue-docgen",
|
|
64
|
+
"docs:generate": "npm run generate:production -prefix ./docs"
|
|
65
65
|
}
|
|
66
|
-
}
|
|
66
|
+
}
|