@web-widget/vue2 0.0.15 → 0.1.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/vite.cjs ADDED
@@ -0,0 +1,46 @@
1
+ "use strict";
2
+ var __defProp = Object.defineProperty;
3
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
4
+ var __getOwnPropNames = Object.getOwnPropertyNames;
5
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
6
+ var __export = (target, all) => {
7
+ for (var name in all)
8
+ __defProp(target, name, { get: all[name], enumerable: true });
9
+ };
10
+ var __copyProps = (to, from, except, desc) => {
11
+ if (from && typeof from === "object" || typeof from === "function") {
12
+ for (let key of __getOwnPropNames(from))
13
+ if (!__hasOwnProp.call(to, key) && key !== except)
14
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
15
+ }
16
+ return to;
17
+ };
18
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
19
+
20
+ // src/vite.ts
21
+ var vite_exports = {};
22
+ __export(vite_exports, {
23
+ default: () => vue2WebWidgetPlugin
24
+ });
25
+ module.exports = __toCommonJS(vite_exports);
26
+ var import_vite = require("@web-widget/vite");
27
+ function vue2WebWidgetPlugin({
28
+ provide = "@web-widget/vue2",
29
+ toWebWidgets = {
30
+ include: [
31
+ /\b(routes|widgets).*\.vue(\?.*\.(ts|js))?$/,
32
+ /(\.route|widget).*\.vue(\?.*\.(ts|js))?$/
33
+ ]
34
+ },
35
+ toComponents = {
36
+ include: ["widgets/**/*", "**/*.widget.*"],
37
+ exclude: /.vue\?.*$/,
38
+ includeImporter: /.*\.vue(\?.*\.(ts|js))?$/
39
+ }
40
+ } = {}) {
41
+ return (0, import_vite.webWidgetPlugin)({
42
+ provide,
43
+ toWebWidgets,
44
+ toComponents
45
+ });
46
+ }
@@ -1,10 +1,149 @@
1
1
  import * as _web_widget_schema from '@web-widget/schema';
2
- import { D as DefineVueRenderOptions } from './types-000d9dee.js';
3
- export { a as DefineWebWidgetOptions, W as WebWidget, _ as __ENV__, d as defineWebWidget } from './types-000d9dee.js';
2
+ import { RenderContext, ComponentProps } from '@web-widget/schema';
3
+ import * as vue from 'vue';
4
+ import vue__default, { PropType, Component } from 'vue';
4
5
  export * from '@web-widget/schema/client-helpers';
5
- import 'vue/types/v3-component-options.js';
6
- import 'vue';
7
- import '@web-widget/web-widget';
6
+ import * as vue_types_v3_component_options_js from 'vue/types/v3-component-options.js';
7
+ import { Loader, WebWidgetContainerOptions } from '@web-widget/web-widget';
8
+
9
+ declare const __ENV__: {
10
+ server: boolean;
11
+ };
12
+ declare const WebWidget: vue.DefineComponent<{
13
+ base: {
14
+ type: PropType<string | undefined>;
15
+ };
16
+ data: {
17
+ type: PropType<{
18
+ [x: string]: string | number | boolean | {
19
+ [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
20
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
21
+ } | undefined>;
22
+ default: {};
23
+ };
24
+ import: {
25
+ type: PropType<string | undefined>;
26
+ };
27
+ inactive: {
28
+ type: PropType<boolean | undefined>;
29
+ default: undefined;
30
+ };
31
+ loader: {
32
+ type: PropType<Loader>;
33
+ required: true;
34
+ };
35
+ loading: {
36
+ type: PropType<"lazy" | "eager" | undefined>;
37
+ };
38
+ meta: {
39
+ type: PropType<_web_widget_schema.Meta | undefined>;
40
+ };
41
+ name: {
42
+ type: PropType<string | undefined>;
43
+ };
44
+ renderStage: {
45
+ type: PropType<"server" | "client" | undefined>;
46
+ };
47
+ renderTarget: {
48
+ type: PropType<"light" | "shadow" | undefined>;
49
+ default: string;
50
+ };
51
+ fallback: {
52
+ type: PropType<Component>;
53
+ default: undefined;
54
+ };
55
+ }, () => vue.VNode, {}, {}, {}, vue_types_v3_component_options_js.ComponentOptionsMixin, vue_types_v3_component_options_js.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
56
+ base: {
57
+ type: PropType<string | undefined>;
58
+ };
59
+ data: {
60
+ type: PropType<{
61
+ [x: string]: string | number | boolean | {
62
+ [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
63
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
64
+ } | undefined>;
65
+ default: {};
66
+ };
67
+ import: {
68
+ type: PropType<string | undefined>;
69
+ };
70
+ inactive: {
71
+ type: PropType<boolean | undefined>;
72
+ default: undefined;
73
+ };
74
+ loader: {
75
+ type: PropType<Loader>;
76
+ required: true;
77
+ };
78
+ loading: {
79
+ type: PropType<"lazy" | "eager" | undefined>;
80
+ };
81
+ meta: {
82
+ type: PropType<_web_widget_schema.Meta | undefined>;
83
+ };
84
+ name: {
85
+ type: PropType<string | undefined>;
86
+ };
87
+ renderStage: {
88
+ type: PropType<"server" | "client" | undefined>;
89
+ };
90
+ renderTarget: {
91
+ type: PropType<"light" | "shadow" | undefined>;
92
+ default: string;
93
+ };
94
+ fallback: {
95
+ type: PropType<Component>;
96
+ default: undefined;
97
+ };
98
+ }>>, {
99
+ data: {
100
+ [x: string]: string | number | boolean | {
101
+ [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
102
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
103
+ } | undefined;
104
+ inactive: boolean | undefined;
105
+ renderTarget: "light" | "shadow" | undefined;
106
+ fallback: Component;
107
+ }>;
108
+ interface DefineWebWidgetOptions {
109
+ base?: WebWidgetContainerOptions["base"];
110
+ import?: WebWidgetContainerOptions["import"];
111
+ loading?: WebWidgetContainerOptions["loading"];
112
+ name?: WebWidgetContainerOptions["name"];
113
+ renderStage?: WebWidgetContainerOptions["renderStage"];
114
+ renderTarget?: WebWidgetContainerOptions["renderTarget"];
115
+ }
116
+ declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): vue.DefineComponent<{
117
+ renderStage: {
118
+ type: PropType<"server" | "client" | undefined>;
119
+ default: "server" | "client" | undefined;
120
+ };
121
+ fallback: {
122
+ type: PropType<Component>;
123
+ };
124
+ }, () => vue.VNode, {}, {}, {}, vue_types_v3_component_options_js.ComponentOptionsMixin, vue_types_v3_component_options_js.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
125
+ renderStage: {
126
+ type: PropType<"server" | "client" | undefined>;
127
+ default: "server" | "client" | undefined;
128
+ };
129
+ fallback: {
130
+ type: PropType<Component>;
131
+ };
132
+ }>>, {
133
+ renderStage: "server" | "client" | undefined;
134
+ }>;
135
+
136
+ type JSONValue = string | number | boolean | {
137
+ [x: string]: JSONValue;
138
+ } | Array<JSONValue>;
139
+ type JSONProps = {
140
+ [x: string]: JSONValue;
141
+ };
142
+ interface DefineVueRenderOptions {
143
+ onBeforeCreateApp?: (context: RenderContext, component: Component, props: ComponentProps) => any;
144
+ onCreatedApp?: (app: vue__default, context: RenderContext, component: Component, props: ComponentProps) => void;
145
+ onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<JSONProps>;
146
+ }
8
147
 
9
148
  declare const defineVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: DefineVueRenderOptions) => (context: _web_widget_schema.ClientWidgetRenderContext<unknown> | _web_widget_schema.ClientRouteRenderContext<unknown, Record<string, string>>) => Promise<void | {
10
149
  mount?: (() => void | Promise<void>) | undefined;
@@ -33,4 +172,4 @@ declare const render: (context: _web_widget_schema.ClientWidgetRenderContext<unk
33
172
  }) => void | Promise<void>) | undefined;
34
173
  }>;
35
174
 
36
- export { defineVueRender, render };
175
+ export { DefineWebWidgetOptions, WebWidget, __ENV__, defineVueRender, defineWebWidget, render };
@@ -0,0 +1,261 @@
1
+ "use strict";
2
+ var __create = Object.create;
3
+ var __defProp = Object.defineProperty;
4
+ var __defProps = Object.defineProperties;
5
+ var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
6
+ var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
7
+ var __getOwnPropNames = Object.getOwnPropertyNames;
8
+ var __getOwnPropSymbols = Object.getOwnPropertySymbols;
9
+ var __getProtoOf = Object.getPrototypeOf;
10
+ var __hasOwnProp = Object.prototype.hasOwnProperty;
11
+ var __propIsEnum = Object.prototype.propertyIsEnumerable;
12
+ var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
13
+ var __spreadValues = (a, b) => {
14
+ for (var prop in b || (b = {}))
15
+ if (__hasOwnProp.call(b, prop))
16
+ __defNormalProp(a, prop, b[prop]);
17
+ if (__getOwnPropSymbols)
18
+ for (var prop of __getOwnPropSymbols(b)) {
19
+ if (__propIsEnum.call(b, prop))
20
+ __defNormalProp(a, prop, b[prop]);
21
+ }
22
+ return a;
23
+ };
24
+ var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
25
+ var __objRest = (source, exclude) => {
26
+ var target = {};
27
+ for (var prop in source)
28
+ if (__hasOwnProp.call(source, prop) && exclude.indexOf(prop) < 0)
29
+ target[prop] = source[prop];
30
+ if (source != null && __getOwnPropSymbols)
31
+ for (var prop of __getOwnPropSymbols(source)) {
32
+ if (exclude.indexOf(prop) < 0 && __propIsEnum.call(source, prop))
33
+ target[prop] = source[prop];
34
+ }
35
+ return target;
36
+ };
37
+ var __export = (target, all) => {
38
+ for (var name in all)
39
+ __defProp(target, name, { get: all[name], enumerable: true });
40
+ };
41
+ var __copyProps = (to, from, except, desc) => {
42
+ if (from && typeof from === "object" || typeof from === "function") {
43
+ for (let key of __getOwnPropNames(from))
44
+ if (!__hasOwnProp.call(to, key) && key !== except)
45
+ __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
46
+ }
47
+ return to;
48
+ };
49
+ var __reExport = (target, mod, secondTarget) => (__copyProps(target, mod, "default"), secondTarget && __copyProps(secondTarget, mod, "default"));
50
+ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
51
+ // If the importer is in node compatibility mode or this is not an ESM
52
+ // file that has been converted to a CommonJS file using a Babel-
53
+ // compatible transform (i.e. "__esModule" has not been set), then set
54
+ // "default" to the CommonJS "module.exports" for node compatibility.
55
+ isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
56
+ mod
57
+ ));
58
+ var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
59
+
60
+ // src/server.ts
61
+ var server_exports = {};
62
+ __export(server_exports, {
63
+ WebWidget: () => WebWidget,
64
+ __ENV__: () => __ENV__,
65
+ defineVueRender: () => defineVueRender,
66
+ defineWebWidget: () => defineWebWidget,
67
+ render: () => render
68
+ });
69
+ module.exports = __toCommonJS(server_exports);
70
+ var import_server_helpers = require("@web-widget/schema/server-helpers");
71
+ var import_node_stream = require("stream");
72
+ var import_vue2 = __toESM(require("vue"), 1);
73
+ var import_vue_server_renderer = require("vue-server-renderer");
74
+ __reExport(server_exports, require("@web-widget/schema/server-helpers"), module.exports);
75
+
76
+ // src/web-widget.ts
77
+ var import_web_widget = require("@web-widget/web-widget");
78
+ var import_vue = require("vue");
79
+ var __ENV__ = {
80
+ server: true
81
+ };
82
+ var WebWidget = /* @__PURE__ */ (0, import_vue.defineComponent)({
83
+ name: "WebWidget",
84
+ props: {
85
+ base: {
86
+ type: String
87
+ },
88
+ data: {
89
+ type: Object,
90
+ default: {}
91
+ },
92
+ import: {
93
+ type: String
94
+ },
95
+ inactive: {
96
+ type: Boolean,
97
+ // NOTE: If the default value is not set, it will be false here.
98
+ default: void 0
99
+ },
100
+ loader: {
101
+ type: Function,
102
+ required: true
103
+ },
104
+ loading: {
105
+ type: String
106
+ },
107
+ meta: {
108
+ type: Object
109
+ },
110
+ name: {
111
+ type: String
112
+ },
113
+ renderStage: {
114
+ type: String
115
+ },
116
+ renderTarget: {
117
+ type: String,
118
+ default: "light"
119
+ },
120
+ // -----
121
+ fallback: {
122
+ type: Object,
123
+ // NOTE: If the default value is not set, it will be false here.
124
+ default: void 0
125
+ }
126
+ },
127
+ setup(_a, { slots }) {
128
+ var _b = _a, { fallback, loader } = _b, props = __objRest(_b, ["fallback", "loader"]);
129
+ if (!loader) {
130
+ throw new TypeError(`Missing loader.`);
131
+ }
132
+ if (Object.keys(slots).length > 0) {
133
+ throw new TypeError(`No support slot.`);
134
+ }
135
+ const AsyncComponent = (0, import_vue.defineAsyncComponent)({
136
+ loader: async () => {
137
+ const children = "";
138
+ const [tag, attrs, innerHTML] = await (0, import_web_widget.parse)(loader, __spreadProps(__spreadValues({}, props), {
139
+ children
140
+ }));
141
+ if (!__ENV__.server) {
142
+ console.warn(`Client components are experimental.`);
143
+ await customElements.whenDefined(tag);
144
+ const element = Object.assign(document.createElement(tag), props);
145
+ await element.bootstrap();
146
+ }
147
+ return (0, import_vue.defineComponent)({
148
+ render(h2) {
149
+ return h2(tag, {
150
+ attrs,
151
+ domProps: {
152
+ innerHTML
153
+ }
154
+ });
155
+ }
156
+ });
157
+ },
158
+ delay: 200,
159
+ timeout: 3e3,
160
+ errorComponent: fallback,
161
+ loadingComponent: fallback
162
+ });
163
+ return () => (0, import_vue.h)(AsyncComponent);
164
+ }
165
+ });
166
+ function defineWebWidget(loader, options) {
167
+ console.warn(`defineWebWidget of vue2 is an experimental feature.`);
168
+ options.renderTarget = "light";
169
+ options.loading = "lazy";
170
+ return /* @__PURE__ */ (0, import_vue.defineComponent)({
171
+ name: "WebWidgetSuspense",
172
+ props: {
173
+ renderStage: {
174
+ type: String,
175
+ default: options.renderStage
176
+ },
177
+ fallback: {
178
+ type: Object
179
+ }
180
+ },
181
+ setup({ fallback, renderStage }, { slots }) {
182
+ const data = (0, import_vue.useAttrs)();
183
+ return () => (0, import_vue.h)(WebWidget, {
184
+ props: __spreadProps(__spreadValues({}, options), {
185
+ data,
186
+ loader,
187
+ renderStage,
188
+ // -----
189
+ fallback
190
+ }),
191
+ scopedSlots: slots
192
+ });
193
+ }
194
+ });
195
+ }
196
+
197
+ // src/server.ts
198
+ var ESCAPE_LOOKUP = {
199
+ ">": "\\u003e",
200
+ "<": "\\u003c",
201
+ "\u2028": "\\u2028",
202
+ "\u2029": "\\u2029"
203
+ };
204
+ var ESCAPE_REGEX = /[><\u2028\u2029]/g;
205
+ function htmlEscapeJsonString(str) {
206
+ return str.replace(ESCAPE_REGEX, (match) => ESCAPE_LOOKUP[match]);
207
+ }
208
+ var defineVueRender = ({
209
+ onBeforeCreateApp = () => ({}),
210
+ onCreatedApp = () => {
211
+ },
212
+ onPrefetchData
213
+ } = {}) => {
214
+ return (0, import_server_helpers.defineRender)(async (context, component, props) => {
215
+ const shellTag = "web-widget.shell";
216
+ const state = onPrefetchData ? await onPrefetchData(context, component, props) : void 0;
217
+ const mergedProps = state ? Object.assign(state, props) : props;
218
+ const renderer = (0, import_vue_server_renderer.createRenderer)();
219
+ const vNodeData = {
220
+ attrs: {
221
+ "data-vue2root": "true"
222
+ },
223
+ props: mergedProps
224
+ };
225
+ const shellTagVNodeData = {};
226
+ let render2;
227
+ if (state) {
228
+ const stateStringify = htmlEscapeJsonString(JSON.stringify(state));
229
+ render2 = (h2) => h2(shellTag, shellTagVNodeData, [
230
+ h2(component, vNodeData),
231
+ h2(
232
+ "script",
233
+ {
234
+ attrs: {
235
+ as: "state",
236
+ type: "application/json"
237
+ }
238
+ },
239
+ stateStringify
240
+ )
241
+ ]);
242
+ } else {
243
+ render2 = (h2) => h2(shellTag, shellTagVNodeData, [h2(component, vNodeData)]);
244
+ }
245
+ const app = new import_vue2.default(__spreadValues({
246
+ render: render2
247
+ }, onBeforeCreateApp(context, component, mergedProps)));
248
+ onCreatedApp(app, context, component, mergedProps);
249
+ return import_node_stream.Readable.toWeb ? import_node_stream.Readable.toWeb(renderer.renderToStream(app)) : renderer.renderToString(app);
250
+ });
251
+ };
252
+ var render = defineVueRender();
253
+ // Annotate the CommonJS export names for ESM import in node:
254
+ 0 && (module.exports = {
255
+ WebWidget,
256
+ __ENV__,
257
+ defineVueRender,
258
+ defineWebWidget,
259
+ render,
260
+ ...require("@web-widget/schema/server-helpers")
261
+ });
@@ -1,12 +1,151 @@
1
1
  import * as _web_widget_schema from '@web-widget/schema';
2
- import { D as DefineVueRenderOptions } from './types-000d9dee.js';
3
- export { a as DefineWebWidgetOptions, W as WebWidget, _ as __ENV__, d as defineWebWidget } from './types-000d9dee.js';
2
+ import { RenderContext, ComponentProps } from '@web-widget/schema';
3
+ import * as vue from 'vue';
4
+ import vue__default, { PropType, Component } from 'vue';
4
5
  export * from '@web-widget/schema/server-helpers';
5
- import 'vue/types/v3-component-options.js';
6
- import 'vue';
7
- import '@web-widget/web-widget';
6
+ import * as vue_types_v3_component_options_js from 'vue/types/v3-component-options.js';
7
+ import { Loader, WebWidgetContainerOptions } from '@web-widget/web-widget';
8
+
9
+ declare const __ENV__: {
10
+ server: boolean;
11
+ };
12
+ declare const WebWidget: vue.DefineComponent<{
13
+ base: {
14
+ type: PropType<string | undefined>;
15
+ };
16
+ data: {
17
+ type: PropType<{
18
+ [x: string]: string | number | boolean | {
19
+ [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
20
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
21
+ } | undefined>;
22
+ default: {};
23
+ };
24
+ import: {
25
+ type: PropType<string | undefined>;
26
+ };
27
+ inactive: {
28
+ type: PropType<boolean | undefined>;
29
+ default: undefined;
30
+ };
31
+ loader: {
32
+ type: PropType<Loader>;
33
+ required: true;
34
+ };
35
+ loading: {
36
+ type: PropType<"lazy" | "eager" | undefined>;
37
+ };
38
+ meta: {
39
+ type: PropType<_web_widget_schema.Meta | undefined>;
40
+ };
41
+ name: {
42
+ type: PropType<string | undefined>;
43
+ };
44
+ renderStage: {
45
+ type: PropType<"server" | "client" | undefined>;
46
+ };
47
+ renderTarget: {
48
+ type: PropType<"light" | "shadow" | undefined>;
49
+ default: string;
50
+ };
51
+ fallback: {
52
+ type: PropType<Component>;
53
+ default: undefined;
54
+ };
55
+ }, () => vue.VNode, {}, {}, {}, vue_types_v3_component_options_js.ComponentOptionsMixin, vue_types_v3_component_options_js.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
56
+ base: {
57
+ type: PropType<string | undefined>;
58
+ };
59
+ data: {
60
+ type: PropType<{
61
+ [x: string]: string | number | boolean | {
62
+ [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
63
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
64
+ } | undefined>;
65
+ default: {};
66
+ };
67
+ import: {
68
+ type: PropType<string | undefined>;
69
+ };
70
+ inactive: {
71
+ type: PropType<boolean | undefined>;
72
+ default: undefined;
73
+ };
74
+ loader: {
75
+ type: PropType<Loader>;
76
+ required: true;
77
+ };
78
+ loading: {
79
+ type: PropType<"lazy" | "eager" | undefined>;
80
+ };
81
+ meta: {
82
+ type: PropType<_web_widget_schema.Meta | undefined>;
83
+ };
84
+ name: {
85
+ type: PropType<string | undefined>;
86
+ };
87
+ renderStage: {
88
+ type: PropType<"server" | "client" | undefined>;
89
+ };
90
+ renderTarget: {
91
+ type: PropType<"light" | "shadow" | undefined>;
92
+ default: string;
93
+ };
94
+ fallback: {
95
+ type: PropType<Component>;
96
+ default: undefined;
97
+ };
98
+ }>>, {
99
+ data: {
100
+ [x: string]: string | number | boolean | {
101
+ [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
102
+ } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
103
+ } | undefined;
104
+ inactive: boolean | undefined;
105
+ renderTarget: "light" | "shadow" | undefined;
106
+ fallback: Component;
107
+ }>;
108
+ interface DefineWebWidgetOptions {
109
+ base?: WebWidgetContainerOptions["base"];
110
+ import?: WebWidgetContainerOptions["import"];
111
+ loading?: WebWidgetContainerOptions["loading"];
112
+ name?: WebWidgetContainerOptions["name"];
113
+ renderStage?: WebWidgetContainerOptions["renderStage"];
114
+ renderTarget?: WebWidgetContainerOptions["renderTarget"];
115
+ }
116
+ declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): vue.DefineComponent<{
117
+ renderStage: {
118
+ type: PropType<"server" | "client" | undefined>;
119
+ default: "server" | "client" | undefined;
120
+ };
121
+ fallback: {
122
+ type: PropType<Component>;
123
+ };
124
+ }, () => vue.VNode, {}, {}, {}, vue_types_v3_component_options_js.ComponentOptionsMixin, vue_types_v3_component_options_js.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
125
+ renderStage: {
126
+ type: PropType<"server" | "client" | undefined>;
127
+ default: "server" | "client" | undefined;
128
+ };
129
+ fallback: {
130
+ type: PropType<Component>;
131
+ };
132
+ }>>, {
133
+ renderStage: "server" | "client" | undefined;
134
+ }>;
135
+
136
+ type JSONValue = string | number | boolean | {
137
+ [x: string]: JSONValue;
138
+ } | Array<JSONValue>;
139
+ type JSONProps = {
140
+ [x: string]: JSONValue;
141
+ };
142
+ interface DefineVueRenderOptions {
143
+ onBeforeCreateApp?: (context: RenderContext, component: Component, props: ComponentProps) => any;
144
+ onCreatedApp?: (app: vue__default, context: RenderContext, component: Component, props: ComponentProps) => void;
145
+ onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<JSONProps>;
146
+ }
8
147
 
9
148
  declare const defineVueRender: ({ onBeforeCreateApp, onCreatedApp, onPrefetchData, }?: DefineVueRenderOptions) => (context: _web_widget_schema.ServerWidgetRenderContext<unknown> | _web_widget_schema.ServerRouteRenderContext<unknown, Record<string, string>>) => Promise<string | ReadableStream<any>>;
10
149
  declare const render: (context: _web_widget_schema.ServerWidgetRenderContext<unknown> | _web_widget_schema.ServerRouteRenderContext<unknown, Record<string, string>>) => Promise<string | ReadableStream<any>>;
11
150
 
12
- export { defineVueRender, render };
151
+ export { DefineWebWidgetOptions, WebWidget, __ENV__, defineVueRender, defineWebWidget, render };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@web-widget/vue2",
3
- "version": "0.0.15",
3
+ "version": "0.1.0",
4
4
  "type": "module",
5
5
  "exports": {
6
6
  ".": {
@@ -10,11 +10,13 @@
10
10
  },
11
11
  "default": {
12
12
  "types": "./dist/vue2.server.d.ts",
13
+ "require": "./dist/vue2.server.cjs",
13
14
  "default": "./dist/vue2.server.js"
14
15
  }
15
16
  },
16
17
  "./vite": {
17
18
  "types": "./dist/vite.d.ts",
19
+ "require": "./dist/vite.cjs",
18
20
  "default": "./dist/vite.js"
19
21
  }
20
22
  },
@@ -22,7 +24,7 @@
22
24
  "dist"
23
25
  ],
24
26
  "dependencies": {
25
- "@web-widget/vite": "0.6.0",
27
+ "@web-widget/vite": "1.1.0",
26
28
  "@web-widget/schema": "0.0.10",
27
29
  "@web-widget/web-widget": "1.0.0-alpha.10",
28
30
  "vue": "^2.7.14",
@@ -1,147 +0,0 @@
1
- import * as vue_types_v3_component_options_js from 'vue/types/v3-component-options.js';
2
- import * as vue from 'vue';
3
- import vue__default, { PropType, Component } from 'vue';
4
- import * as _web_widget_schema from '@web-widget/schema';
5
- import { RenderContext, ComponentProps } from '@web-widget/schema';
6
- import { Loader, WebWidgetContainerOptions } from '@web-widget/web-widget';
7
-
8
- declare const __ENV__: {
9
- server: boolean;
10
- };
11
- declare const WebWidget: vue.DefineComponent<{
12
- base: {
13
- type: PropType<string | undefined>;
14
- };
15
- data: {
16
- type: PropType<{
17
- [x: string]: string | number | boolean | {
18
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
19
- } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
20
- } | undefined>;
21
- default: {};
22
- };
23
- import: {
24
- type: PropType<string | undefined>;
25
- };
26
- inactive: {
27
- type: PropType<boolean | undefined>;
28
- default: undefined;
29
- };
30
- loader: {
31
- type: PropType<Loader>;
32
- required: true;
33
- };
34
- loading: {
35
- type: PropType<"lazy" | "eager" | undefined>;
36
- };
37
- meta: {
38
- type: PropType<_web_widget_schema.Meta | undefined>;
39
- };
40
- name: {
41
- type: PropType<string | undefined>;
42
- };
43
- renderStage: {
44
- type: PropType<"server" | "client" | undefined>;
45
- };
46
- renderTarget: {
47
- type: PropType<"light" | "shadow" | undefined>;
48
- default: string;
49
- };
50
- fallback: {
51
- type: PropType<Component>;
52
- default: undefined;
53
- };
54
- }, () => vue.VNode, {}, {}, {}, vue_types_v3_component_options_js.ComponentOptionsMixin, vue_types_v3_component_options_js.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
55
- base: {
56
- type: PropType<string | undefined>;
57
- };
58
- data: {
59
- type: PropType<{
60
- [x: string]: string | number | boolean | {
61
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
62
- } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
63
- } | undefined>;
64
- default: {};
65
- };
66
- import: {
67
- type: PropType<string | undefined>;
68
- };
69
- inactive: {
70
- type: PropType<boolean | undefined>;
71
- default: undefined;
72
- };
73
- loader: {
74
- type: PropType<Loader>;
75
- required: true;
76
- };
77
- loading: {
78
- type: PropType<"lazy" | "eager" | undefined>;
79
- };
80
- meta: {
81
- type: PropType<_web_widget_schema.Meta | undefined>;
82
- };
83
- name: {
84
- type: PropType<string | undefined>;
85
- };
86
- renderStage: {
87
- type: PropType<"server" | "client" | undefined>;
88
- };
89
- renderTarget: {
90
- type: PropType<"light" | "shadow" | undefined>;
91
- default: string;
92
- };
93
- fallback: {
94
- type: PropType<Component>;
95
- default: undefined;
96
- };
97
- }>>, {
98
- data: {
99
- [x: string]: string | number | boolean | {
100
- [x: string]: string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
101
- } | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | (string | number | boolean | any | any)[])[])[])[])[])[])[])[])[])[])[];
102
- } | undefined;
103
- inactive: boolean | undefined;
104
- renderTarget: "light" | "shadow" | undefined;
105
- fallback: Component;
106
- }>;
107
- interface DefineWebWidgetOptions {
108
- base?: WebWidgetContainerOptions["base"];
109
- import?: WebWidgetContainerOptions["import"];
110
- loading?: WebWidgetContainerOptions["loading"];
111
- name?: WebWidgetContainerOptions["name"];
112
- renderStage?: WebWidgetContainerOptions["renderStage"];
113
- renderTarget?: WebWidgetContainerOptions["renderTarget"];
114
- }
115
- declare function defineWebWidget(loader: Loader, options: DefineWebWidgetOptions): vue.DefineComponent<{
116
- renderStage: {
117
- type: PropType<"server" | "client" | undefined>;
118
- default: "server" | "client" | undefined;
119
- };
120
- fallback: {
121
- type: PropType<Component>;
122
- };
123
- }, () => vue.VNode, {}, {}, {}, vue_types_v3_component_options_js.ComponentOptionsMixin, vue_types_v3_component_options_js.ComponentOptionsMixin, {}, string, Readonly<vue.ExtractPropTypes<{
124
- renderStage: {
125
- type: PropType<"server" | "client" | undefined>;
126
- default: "server" | "client" | undefined;
127
- };
128
- fallback: {
129
- type: PropType<Component>;
130
- };
131
- }>>, {
132
- renderStage: "server" | "client" | undefined;
133
- }>;
134
-
135
- type JSONValue = string | number | boolean | {
136
- [x: string]: JSONValue;
137
- } | Array<JSONValue>;
138
- type JSONProps = {
139
- [x: string]: JSONValue;
140
- };
141
- interface DefineVueRenderOptions {
142
- onBeforeCreateApp?: (context: RenderContext, component: Component, props: ComponentProps) => any;
143
- onCreatedApp?: (app: vue__default, context: RenderContext, component: Component, props: ComponentProps) => void;
144
- onPrefetchData?: (context: RenderContext, component: Component, props: ComponentProps) => Promise<JSONProps>;
145
- }
146
-
147
- export { DefineVueRenderOptions as D, WebWidget as W, __ENV__ as _, DefineWebWidgetOptions as a, defineWebWidget as d };