@feedmepos/mf-miniprogram-v2 0.2.2-dev.1 → 0.2.2-dev.10
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/App-agMiJ0tU.js +197 -0
- package/dist/AppTemplatePicker-C0lZyhK2.js +184 -0
- package/dist/BrandFontPicker-BFjp8k2W.js +241 -0
- package/dist/BrandKitView-DUbIT3c8.js +249 -0
- package/dist/{ControlPlaneView-DmhLvgWt.js → ControlPlaneView-BJ6QP0bK.js} +8156 -7843
- package/dist/EcosystemView-BgjtBJy_.js +186 -0
- package/dist/{LegacyWorkspaceEntry-7DvIosoj.js → LegacyWorkspaceEntry-opz_kWz9.js} +1 -1
- package/dist/MobileProjectsView-DAWuOiCr.js +279 -0
- package/dist/{ModuleCenterView-Dqp-2hbL.js → ModuleCenterView-DyMr3iWV.js} +34 -34
- package/dist/{ModuleDetailView-cpQ_UfS9.js → ModuleDetailView-BeXK89Cs.js} +49 -49
- package/dist/{PagesView-CrVOYOT9.js → PagesView-CegMd6GC.js} +3 -3
- package/dist/{PlatformUnavailableView-Cdy-1zpi.js → PlatformUnavailableView-j0_2YBKm.js} +2 -2
- package/dist/PortalIcon-DO0VrIoY.js +28 -0
- package/dist/{PortalSettingsView-CkW-avwg.js → PortalSettingsView-Bqw8tMZb.js} +5 -5
- package/dist/WorkspaceEntryView-e2EUnq9A.js +21 -0
- package/dist/app.js +17 -11
- package/dist/{controlPlane-wUT1G_Gr.js → controlPlane-CoEgf9BA.js} +9 -9
- package/dist/{index-BDHUHtRw.js → index-D5qXvcfE.js} +24 -15
- package/dist/package.json +1 -1
- package/dist/{portalContext-CTVzkJV7.js → portalContext-C4HL_0kl.js} +2 -2
- package/dist/portalNavigation-DOF4Ah49.js +28 -0
- package/dist/{routes-L0ady_Wy.js → routes-Boz_WlNM.js} +1 -0
- package/dist/style.css +1 -1
- package/dist/useBrandKit-BlKlqpo2.js +1020 -0
- package/dist/{useModuleCatalog-CD5N246F.js → useModuleCatalog-DqECds3F.js} +3 -3
- package/package.json +1 -1
- package/dist/App-C-7evg9W.js +0 -216
- package/dist/BrandKitView-B8t8RkHr.js +0 -221
- package/dist/EcosystemView--S4hk_t4.js +0 -232
- package/dist/PortalIcon-D1RqQMzD.js +0 -19
- package/dist/WorkspaceEntryView-ZdXuMQoJ.js +0 -21
- package/dist/portalNavigation-DKCfwTH8.js +0 -28
- package/dist/useBrandKit-CpyR2j6m.js +0 -924
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { defineComponent as C, ref as M, computed as u, watch as T, resolveComponent as g, openBlock as n, createElementBlock as l, createElementVNode as e, toDisplayString as
|
|
1
|
+
import { defineComponent as C, ref as M, computed as u, watch as T, resolveComponent as g, openBlock as n, createElementBlock as l, createElementVNode as e, toDisplayString as i, createCommentVNode as _, Fragment as I, renderList as S, createVNode as k, onMounted as B, unref as d, withCtx as L, createBlock as v } from "vue";
|
|
2
2
|
import { useRoute as N, useRouter as P } from "vue-router";
|
|
3
|
-
import { m as q, i as A, u as F, _ as w } from "./useModuleCatalog-
|
|
3
|
+
import { m as q, i as A, u as F, _ as w } from "./useModuleCatalog-DqECds3F.js";
|
|
4
4
|
import { useDialog as V } from "@feedmepos/ui-library";
|
|
5
5
|
import { _ as E } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
6
|
-
const R = { class: "detail" }, j = { class: "detail__head" }, z = { class: "detail__name fm-typo-en-title-sm-600 text-
|
|
6
|
+
const R = { class: "detail" }, j = { class: "detail__head" }, z = { class: "detail__name fm-typo-en-title-sm-600 text-portal-text-primary" }, K = { class: "detail__version fm-typo-en-body-md-400 text-portal-text-muted" }, O = {
|
|
7
7
|
key: 0,
|
|
8
|
-
class: "detail__description fm-typo-en-body-md-400 text-
|
|
8
|
+
class: "detail__description fm-typo-en-body-md-400 text-portal-text-muted"
|
|
9
9
|
}, Y = { class: "detail__columns" }, G = { class: "detail__preview" }, H = {
|
|
10
10
|
key: 0,
|
|
11
11
|
class: "detail__note detail__note--error fm-typo-en-body-md-400"
|
|
@@ -21,7 +21,7 @@ const R = { class: "detail" }, j = { class: "detail__head" }, z = { class: "deta
|
|
|
21
21
|
}, se = {
|
|
22
22
|
key: 0,
|
|
23
23
|
class: "detail__optional fm-typo-en-body-sm-400"
|
|
24
|
-
}, le = { class: "detail__section" }, ae = ["value"],
|
|
24
|
+
}, le = { class: "detail__section" }, ae = ["value"], ie = /* @__PURE__ */ C({
|
|
25
25
|
__name: "ModuleDetail",
|
|
26
26
|
props: {
|
|
27
27
|
entry: {},
|
|
@@ -29,24 +29,24 @@ const R = { class: "detail" }, j = { class: "detail__head" }, z = { class: "deta
|
|
|
29
29
|
previewError: {}
|
|
30
30
|
},
|
|
31
31
|
setup(o) {
|
|
32
|
-
const
|
|
33
|
-
let
|
|
34
|
-
const
|
|
35
|
-
() =>
|
|
32
|
+
const r = o, b = V(), s = M(!1);
|
|
33
|
+
let m;
|
|
34
|
+
const c = u(() => q(r.entry)), p = u(
|
|
35
|
+
() => r.previewDocument ? A(r.previewDocument, r.entry.name) : null
|
|
36
36
|
);
|
|
37
37
|
T(
|
|
38
|
-
() =>
|
|
38
|
+
() => r.entry.name,
|
|
39
39
|
() => {
|
|
40
40
|
s.value = !1;
|
|
41
41
|
}
|
|
42
42
|
);
|
|
43
43
|
async function x() {
|
|
44
44
|
try {
|
|
45
|
-
await navigator.clipboard.writeText(
|
|
45
|
+
await navigator.clipboard.writeText(c.value), s.value = !0, window.clearTimeout(m), m = window.setTimeout(() => {
|
|
46
46
|
s.value = !1;
|
|
47
47
|
}, 2e3);
|
|
48
48
|
} catch (a) {
|
|
49
|
-
|
|
49
|
+
b.open({
|
|
50
50
|
title: "Could not copy",
|
|
51
51
|
message: `${a instanceof Error ? a.message : String(a)}. Select the text below and copy it manually.`,
|
|
52
52
|
dismissAway: !0,
|
|
@@ -55,62 +55,62 @@ const R = { class: "detail" }, j = { class: "detail__head" }, z = { class: "deta
|
|
|
55
55
|
}
|
|
56
56
|
}
|
|
57
57
|
return (a, t) => {
|
|
58
|
-
var
|
|
59
|
-
const
|
|
58
|
+
var y, D, $;
|
|
59
|
+
const f = g("FmButton");
|
|
60
60
|
return n(), l("div", R, [
|
|
61
61
|
e("header", j, [
|
|
62
|
-
e("h3", z,
|
|
63
|
-
e("span", K,
|
|
64
|
-
o.entry.description ? (n(), l("p", O,
|
|
62
|
+
e("h3", z, i(o.entry.name), 1),
|
|
63
|
+
e("span", K, i(o.entry.version), 1),
|
|
64
|
+
o.entry.description ? (n(), l("p", O, i(o.entry.description), 1)) : _("", !0)
|
|
65
65
|
]),
|
|
66
66
|
e("div", Y, [
|
|
67
67
|
e("section", G, [
|
|
68
|
-
t[0] || (t[0] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-
|
|
69
|
-
o.previewError ? (n(), l("p", H,
|
|
68
|
+
t[0] || (t[0] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-portal-text-muted" }, "Preview", -1)),
|
|
69
|
+
o.previewError ? (n(), l("p", H, i(o.previewError), 1)) : p.value ? (n(), l("iframe", {
|
|
70
70
|
key: o.entry.name,
|
|
71
71
|
class: "detail__frame",
|
|
72
72
|
title: "module preview",
|
|
73
73
|
sandbox: "allow-scripts",
|
|
74
|
-
srcdoc:
|
|
74
|
+
srcdoc: p.value
|
|
75
75
|
}, null, 8, Q)) : (n(), l("p", J, "Loading preview…")),
|
|
76
|
-
t[1] || (t[1] = e("p", { class: "detail__hint fm-typo-en-body-sm-400 text-
|
|
76
|
+
t[1] || (t[1] = e("p", { class: "detail__hint fm-typo-en-body-sm-400 text-portal-text-muted" }, " Stand-in brand colours. Your business's own palette applies in the workspace preview. ", -1))
|
|
77
77
|
]),
|
|
78
78
|
e("div", U, [
|
|
79
79
|
e("section", W, [
|
|
80
|
-
t[6] || (t[6] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-
|
|
80
|
+
t[6] || (t[6] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-portal-text-muted" }, "Details", -1)),
|
|
81
81
|
e("dl", X, [
|
|
82
82
|
t[2] || (t[2] = e("dt", null, "Id", -1)),
|
|
83
|
-
e("dd", null,
|
|
83
|
+
e("dd", null, i(o.entry.id), 1),
|
|
84
84
|
t[3] || (t[3] = e("dt", null, "Slot", -1)),
|
|
85
|
-
e("dd", null,
|
|
85
|
+
e("dd", null, i(o.entry.slot ?? "—"), 1),
|
|
86
86
|
t[4] || (t[4] = e("dt", null, "Data shape", -1)),
|
|
87
|
-
e("dd", null,
|
|
87
|
+
e("dd", null, i(o.entry.dataShape ?? "—"), 1),
|
|
88
88
|
t[5] || (t[5] = e("dt", null, "Type", -1)),
|
|
89
|
-
e("dd", null,
|
|
90
|
-
(
|
|
91
|
-
(D = o.entry.labels) != null && D.length ? (n(), l("dd", ee,
|
|
89
|
+
e("dd", null, i(o.entry.category), 1),
|
|
90
|
+
(y = o.entry.labels) != null && y.length ? (n(), l("dt", Z, "Labels")) : _("", !0),
|
|
91
|
+
(D = o.entry.labels) != null && D.length ? (n(), l("dd", ee, i(o.entry.labels.join(", ")), 1)) : _("", !0)
|
|
92
92
|
])
|
|
93
93
|
]),
|
|
94
94
|
e("section", te, [
|
|
95
|
-
t[7] || (t[7] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-
|
|
95
|
+
t[7] || (t[7] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-portal-text-muted" }, "Props", -1)),
|
|
96
96
|
($ = o.entry.props) != null && $.length ? (n(), l("ul", ne, [
|
|
97
97
|
(n(!0), l(I, null, S(o.entry.props, (h) => (n(), l("li", {
|
|
98
98
|
key: h.name
|
|
99
99
|
}, [
|
|
100
|
-
e("code", null,
|
|
100
|
+
e("code", null, i(h.name), 1),
|
|
101
101
|
h.required ? _("", !0) : (n(), l("span", se, "optional"))
|
|
102
102
|
]))), 128))
|
|
103
103
|
])) : (n(), l("p", oe, " This module declares no props interface, so it can only be offered as a like-for-like swap. "))
|
|
104
104
|
]),
|
|
105
105
|
e("section", le, [
|
|
106
|
-
t[8] || (t[8] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-
|
|
107
|
-
t[9] || (t[9] = e("p", { class: "detail__hint fm-typo-en-body-sm-400 text-
|
|
106
|
+
t[8] || (t[8] = e("h4", { class: "detail__label fm-typo-en-body-sm-600 text-portal-text-muted" }, "Ask the agent for it", -1)),
|
|
107
|
+
t[9] || (t[9] = e("p", { class: "detail__hint fm-typo-en-body-sm-400 text-portal-text-muted" }, " Paste this into a workspace chat. The agent copies the module into your app's own code. ", -1)),
|
|
108
108
|
e("textarea", {
|
|
109
109
|
class: "detail__prompt",
|
|
110
110
|
readonly: "",
|
|
111
|
-
value:
|
|
111
|
+
value: c.value
|
|
112
112
|
}, null, 8, ae),
|
|
113
|
-
k(
|
|
113
|
+
k(f, {
|
|
114
114
|
class: "detail__copy",
|
|
115
115
|
size: "md",
|
|
116
116
|
variant: s.value ? "secondary" : "primary",
|
|
@@ -124,22 +124,22 @@ const R = { class: "detail" }, j = { class: "detail__head" }, z = { class: "deta
|
|
|
124
124
|
]);
|
|
125
125
|
};
|
|
126
126
|
}
|
|
127
|
-
}),
|
|
127
|
+
}), re = /* @__PURE__ */ E(ie, [["__scopeId", "data-v-dc44acc5"]]), de = { class: "shell" }, me = { class: "page" }, ce = { class: "page__inner" }, ue = { class: "page__head" }, pe = {
|
|
128
128
|
key: 0,
|
|
129
129
|
class: "page__note fm-typo-en-body-md-400"
|
|
130
|
-
},
|
|
130
|
+
}, ye = /* @__PURE__ */ C({
|
|
131
131
|
__name: "ModuleDetailView",
|
|
132
132
|
setup(o) {
|
|
133
|
-
const
|
|
133
|
+
const r = N(), b = P(), s = F(), m = u(() => String(r.params.name ?? "")), c = u(() => s.find(m.value)), p = u(() => s.entries.value === null);
|
|
134
134
|
return B(() => s.load()), (x, a) => {
|
|
135
|
-
const t = g("FmIcon"),
|
|
135
|
+
const t = g("FmIcon"), f = g("RouterLink");
|
|
136
136
|
return n(), l("div", de, [
|
|
137
|
-
e("div",
|
|
138
|
-
e("div",
|
|
137
|
+
e("div", me, [
|
|
138
|
+
e("div", ce, [
|
|
139
139
|
e("header", ue, [
|
|
140
|
-
k(
|
|
140
|
+
k(f, {
|
|
141
141
|
class: "page__back",
|
|
142
|
-
to: { name: "miniprogram-v2-module-center", query: d(
|
|
142
|
+
to: { name: "miniprogram-v2-module-center", query: d(r).query }
|
|
143
143
|
}, {
|
|
144
144
|
default: L(() => [
|
|
145
145
|
k(t, {
|
|
@@ -152,38 +152,38 @@ const R = { class: "detail" }, j = { class: "detail__head" }, z = { class: "deta
|
|
|
152
152
|
_: 1
|
|
153
153
|
}, 8, ["to"])
|
|
154
154
|
]),
|
|
155
|
-
|
|
155
|
+
p.value ? (n(), l("p", pe, "Loading…")) : d(s).loadError.value ? (n(), v(w, {
|
|
156
156
|
key: 1,
|
|
157
157
|
icon: "error_outline",
|
|
158
158
|
tone: "error",
|
|
159
159
|
title: "Could not load the module library",
|
|
160
160
|
message: d(s).loadError.value,
|
|
161
161
|
"action-label": "Try again",
|
|
162
|
-
onAction: a[0] || (a[0] = (
|
|
162
|
+
onAction: a[0] || (a[0] = (y) => d(s).load(!0))
|
|
163
163
|
}, null, 8, ["message"])) : d(s).unpublished.value ? (n(), v(w, {
|
|
164
164
|
key: 2,
|
|
165
165
|
icon: "widgets",
|
|
166
166
|
title: "No module library has been published yet",
|
|
167
167
|
message: "Nothing has been published for this page to show."
|
|
168
|
-
})) :
|
|
168
|
+
})) : c.value ? (n(), v(re, {
|
|
169
169
|
key: 4,
|
|
170
|
-
entry:
|
|
170
|
+
entry: c.value,
|
|
171
171
|
"preview-document": d(s).previewDocument.value,
|
|
172
172
|
"preview-error": d(s).previewError.value
|
|
173
173
|
}, null, 8, ["entry", "preview-document", "preview-error"])) : (n(), v(w, {
|
|
174
174
|
key: 3,
|
|
175
175
|
icon: "search_off",
|
|
176
|
-
title: `No module named “${
|
|
176
|
+
title: `No module named “${m.value}”`,
|
|
177
177
|
message: "It is not in the published library. It may have been renamed, withdrawn, or never published.",
|
|
178
178
|
"action-label": "Back to the library",
|
|
179
|
-
onAction: a[1] || (a[1] = (
|
|
179
|
+
onAction: a[1] || (a[1] = (y) => d(b).push({ name: "miniprogram-v2-module-center", query: d(r).query }))
|
|
180
180
|
}, null, 8, ["title"]))
|
|
181
181
|
])
|
|
182
182
|
])
|
|
183
183
|
]);
|
|
184
184
|
};
|
|
185
185
|
}
|
|
186
|
-
}), we = /* @__PURE__ */ E(
|
|
186
|
+
}), we = /* @__PURE__ */ E(ye, [["__scopeId", "data-v-70b1bf30"]]);
|
|
187
187
|
export {
|
|
188
188
|
we as default
|
|
189
189
|
};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { defineComponent as p, resolveComponent as i, openBlock as l, createElementBlock as m, createElementVNode as o, createVNode as r, unref as t, withCtx as u, createTextVNode as c } from "vue";
|
|
2
2
|
import { useRoute as d } from "vue-router";
|
|
3
|
-
import { u as g } from "./portalContext-
|
|
4
|
-
import { w as f } from "./portalNavigation-
|
|
5
|
-
import { P as k } from "./PortalIcon-
|
|
3
|
+
import { u as g } from "./portalContext-C4HL_0kl.js";
|
|
4
|
+
import { w as f } from "./portalNavigation-DOF4Ah49.js";
|
|
5
|
+
import { P as k } from "./PortalIcon-DO0VrIoY.js";
|
|
6
6
|
const w = { class: "portal-page" }, y = { class: "portal-page-inner" }, b = { class: "portal-section portal-empty" }, E = /* @__PURE__ */ p({
|
|
7
7
|
__name: "PagesView",
|
|
8
8
|
setup(v) {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { defineComponent as i, computed as p, resolveComponent as m, openBlock as c, createElementBlock as u, createElementVNode as e, toDisplayString as a, unref as n, createVNode as r, withCtx as d, createTextVNode as _ } from "vue";
|
|
2
2
|
import { useRoute as g } from "vue-router";
|
|
3
|
-
import { P as f } from "./PortalIcon-
|
|
4
|
-
import { p as k } from "./portalNavigation-
|
|
3
|
+
import { P as f } from "./PortalIcon-DO0VrIoY.js";
|
|
4
|
+
import { p as k } from "./portalNavigation-DOF4Ah49.js";
|
|
5
5
|
const y = { class: "portal-page" }, b = { class: "portal-page-inner" }, v = { class: "portal-page-heading" }, h = { class: "portal-section portal-empty" }, P = /* @__PURE__ */ i({
|
|
6
6
|
__name: "PlatformUnavailableView",
|
|
7
7
|
setup(x) {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { defineComponent as l, openBlock as o, createElementBlock as t, createElementVNode as i, Fragment as c, renderList as n, normalizeStyle as d, normalizeClass as a } from "vue";
|
|
2
|
+
import { _ as C } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
3
|
+
const p = "data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%201197147779'%3e%3cpath%20id='Rectangle%2034624630'%20d='M4.5%200.75H6V17.25H4.5C2.42893%2017.25%200.75%2015.5711%200.75%2013.5V4.5C0.75%202.42893%202.42893%200.75%204.5%200.75Z'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20id='Rectangle%2034624631'%20d='M13.5%200.75C15.571%200.750015%2017.25%202.42897%2017.25%204.5V13.5C17.25%2015.5711%2015.5711%2017.25%2013.5%2017.25H6V0.75H13.5Z'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20id='Vector%20177'%20d='M13.5%206L9.64188%208.8059C9.5101%208.90175%209.5101%209.09825%209.64188%209.1941L13.5%2012'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e", g = "data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='18'%20height='18'%20viewBox='0%200%2018%2018'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%201197147825'%3e%3cpath%20id='Ellipse%201330'%20d='M9.00195%200.75C12.9283%200.75%2016.216%203.49224%2017.0498%207.16602C17.147%207.59434%2017.209%208.04273%2017.2354%208.49805C17.2893%209.42907%2016.4336%2010.25%2015.2197%2010.25H14.333C11.6195%2010.25%209.58394%2012.7328%2010.1162%2015.3936L10.1416%2015.5205C10.3386%2016.5059%209.72231%2017.25%209.00195%2017.25C4.44436%2017.25%200.75%2013.5562%200.75%209C0.75%204.44384%204.44436%200.750048%209.00195%200.75Z'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3ccircle%20id='Ellipse%201331'%20cx='5.25'%20cy='12.2495'%20r='1.25'%20fill='%236B6C70'/%3e%3ccircle%20id='Ellipse%201332'%20cx='4.25'%20cy='7.25'%20r='1.25'%20fill='%236B6C70'/%3e%3ccircle%20id='Ellipse%201333'%20cx='8.25'%20cy='4.25'%20r='1.25'%20fill='%236B6C70'/%3e%3ccircle%20id='Ellipse%201334'%20cx='13.25'%20cy='6.24951'%20r='1.25'%20fill='%236B6C70'/%3e%3c/g%3e%3c/svg%3e", k = "data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Format/folder'%3e%3cpath%20id='Vector'%20d='M2%208C2%207.46957%202.21071%206.96086%202.58579%206.58579C2.96086%206.21071%203.46957%206%204%206H9L11%208.5H20C20.5304%208.5%2021.0391%208.71071%2021.4142%209.08579C21.7893%209.46086%2022%209.96957%2022%2010.5V18C22%2018.5304%2021.7893%2019.0391%2021.4142%2019.4142C21.0391%2019.7893%2020.5304%2020%2020%2020H4C3.46957%2020%202.96086%2019.7893%202.58579%2019.4142C2.21071%2019.0391%202%2018.5304%202%2018V8Z'%20stroke='%236B6C70'%20stroke-width='1.25'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e", w = "data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Devices/mobile'%3e%3cpath%20id='Vector'%20d='M14.5%202H9.5C8.11929%202%207%203.11929%207%204.5V19.5C7%2020.8807%208.11929%2022%209.5%2022H14.5C15.8807%2022%2017%2020.8807%2017%2019.5V4.5C17%203.11929%2015.8807%202%2014.5%202Z'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linejoin='round'/%3e%3cpath%20id='Vector_2'%20d='M9.75%2019H14.25'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/g%3e%3c/svg%3e", h = "data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Devices/tablet'%3e%3cpath%20id='Vector'%20d='M17%202H7C5.89543%202%205%202.89543%205%204V20C5%2021.1046%205.89543%2022%207%2022H17C18.1046%2022%2019%2021.1046%2019%2020V4C19%202.89543%2018.1046%202%2017%202Z'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linejoin='round'/%3e%3cpath%20id='Vector_2'%20d='M11.9996%2020.3996C12.4967%2020.3996%2012.8996%2019.9967%2012.8996%2019.4996C12.8996%2019.0026%2012.4967%2018.5996%2011.9996%2018.5996C11.5026%2018.5996%2011.0996%2019.0026%2011.0996%2019.4996C11.0996%2019.9967%2011.5026%2020.3996%2011.9996%2020.3996Z'%20fill='%236B6C70'/%3e%3c/g%3e%3c/svg%3e", v = "data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='24'%20height='24'%20viewBox='0%200%2024%2024'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Devices/kiosk'%3e%3cpath%20id='Vector'%20d='M16%202H8C6.89543%202%206%202.89543%206%204V15C6%2016.1046%206.89543%2017%208%2017H16C17.1046%2017%2018%2016.1046%2018%2015V4C18%202.89543%2017.1046%202%2016%202Z'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linejoin='round'/%3e%3cpath%20id='Vector_2'%20d='M12%2017V21'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3cpath%20id='Vector_3'%20d='M8%2021H16'%20stroke='%236B6C70'%20stroke-width='1.5'%20stroke-linecap='round'/%3e%3c/g%3e%3c/svg%3e", m = "data:image/svg+xml,%3csvg%20preserveAspectRatio='none'%20overflow='visible'%20style='display:%20block;'%20width='16.25'%20height='15'%20viewBox='0%200%2016.25%2015'%20fill='none'%20xmlns='http://www.w3.org/2000/svg'%3e%3cg%20id='Group%201197147545'%3e%3cpath%20id='Vector'%20d='M14.9213%209.40635C15.3272%209.30438%2015.6126%208.94183%2015.6152%208.52478L15.625%206.93007C15.6275%206.525%2015.3623%206.16651%2014.9732%206.04892L14.1005%205.7852C13.8798%205.7185%2013.6924%205.57154%2013.5755%205.37352L12.8573%204.15727C12.739%203.95681%2012.7017%203.71897%2012.753%203.4921L12.9621%202.56859C13.0506%202.17784%2012.8737%201.7752%2012.5254%201.57492L11.0869%200.7476C10.7376%200.546665%2010.2975%200.596351%2010.0021%200.870075L9.3115%201.51008C9.13962%201.66936%208.91304%201.75704%208.67829%201.7551L7.2638%201.74343C7.03325%201.74153%206.81184%201.65331%206.64356%201.49631L5.97804%200.875398C5.68116%200.598427%205.23678%200.548947%204.88585%200.753787L3.49363%201.56643C3.13075%201.77825%202.9585%202.20851%203.07698%202.61051C3.1228%202.76597%203.17048%202.92701%203.21292%203.06898C3.28703%203.3169%203.25766%203.58529%203.12806%203.80945L2.42614%205.02358C2.29837%205.24458%202.08426%205.40375%201.83578%205.46516C1.68469%205.5025%201.50914%205.54613%201.34035%205.58818C0.93629%205.68883%200.651389%206.04815%200.645934%206.46301L0.62508%208.04887C0.61974%208.45496%200.883759%208.81595%201.27343%208.93536L2.17309%209.21105C2.39202%209.27813%202.57789%209.42429%202.69423%209.62084L3.41482%2010.8382C3.53378%2011.0392%203.57117%2011.2779%203.51934%2011.5054L3.30791%2012.4336C3.21883%2012.8247%203.39575%2013.2279%203.74437%2013.4284L5.17704%2014.2524C5.52563%2014.4529%205.96465%2014.4039%206.26008%2014.1316L6.96142%2013.4851C7.13328%2013.3267%207.35938%2013.2396%207.59352%2013.2417L9.01023%2013.2545C9.2404%2013.2566%209.4614%2013.3446%209.62948%2013.5013L10.2936%2014.1203C10.591%2014.3976%2011.0363%2014.4465%2011.3872%2014.2406L12.7622%2013.4339C13.1297%2013.2183%2013.3034%2012.778%2013.1882%2012.3689C13.1406%2012.1999%2013.0926%2012.0281%2013.0523%2011.8833C12.9866%2011.6471%2013.0193%2011.3949%2013.1425%2011.1827L13.8525%209.96047C13.9767%209.74663%2014.1824%209.59192%2014.4229%209.53151L14.9213%209.40635Z'%20stroke='%236B6C70'%20stroke-width='1.25'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3cpath%20id='Ellipse%201274'%20d='M8.19692%204.53055C9.88304%204.53055%2011.2457%205.89191%2011.2457%207.56571C11.2455%209.23933%209.88291%2010.5999%208.19692%2010.5999C6.51095%2010.5999%205.14829%209.23931%205.14809%207.56571C5.14809%205.89193%206.51082%204.53058%208.19692%204.53055Z'%20stroke='%236B6C70'%20stroke-width='1.25'%20stroke-linecap='round'%20stroke-linejoin='round'/%3e%3c/g%3e%3c/svg%3e", u = {
|
|
4
|
+
key: 0,
|
|
5
|
+
class: "portal-icon portal-icon-app",
|
|
6
|
+
"aria-hidden": "true"
|
|
7
|
+
}, x = { class: "portal-icon-dots" }, B = /* @__PURE__ */ l({
|
|
8
|
+
__name: "PortalIcon",
|
|
9
|
+
props: {
|
|
10
|
+
name: {}
|
|
11
|
+
},
|
|
12
|
+
setup(e) {
|
|
13
|
+
const s = { collapse: p, brand: g, pages: k, mobile: w, tablet: h, kiosk: v, settings: m };
|
|
14
|
+
return (f, L) => e.name === "ecosystem" ? (o(), t("span", u, [
|
|
15
|
+
i("span", x, [
|
|
16
|
+
(o(), t(c, null, n(9, (r) => i("span", { key: r })), 64))
|
|
17
|
+
])
|
|
18
|
+
])) : (o(), t("span", {
|
|
19
|
+
key: 1,
|
|
20
|
+
class: a(["portal-icon portal-icon-mask", `portal-icon-${e.name}`]),
|
|
21
|
+
style: d({ maskImage: `url(${JSON.stringify(s[e.name])})` }),
|
|
22
|
+
"aria-hidden": "true"
|
|
23
|
+
}, null, 6));
|
|
24
|
+
}
|
|
25
|
+
}), b = /* @__PURE__ */ C(B, [["__scopeId", "data-v-6d17c5ee"]]);
|
|
26
|
+
export {
|
|
27
|
+
b as P
|
|
28
|
+
};
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { defineComponent as k, computed as p, ref as l, onMounted as P, onScopeDispose as S, resolveComponent as x, openBlock as o, createElementBlock as n, createElementVNode as s, toDisplayString as d, createCommentVNode as h, Fragment as I, createVNode as A, unref as M } from "vue";
|
|
2
2
|
import { useRoute as N } from "vue-router";
|
|
3
|
-
import { e as _, a as $ } from "./index-
|
|
4
|
-
import { l as B, e as E } from "./controlPlane-
|
|
3
|
+
import { e as _, a as $ } from "./index-D5qXvcfE.js";
|
|
4
|
+
import { l as B, e as E } from "./controlPlane-CoEgf9BA.js";
|
|
5
5
|
import { useCoreStore as F } from "@feedmepos/mf-common";
|
|
6
|
-
import { u as U } from "./portalContext-
|
|
7
|
-
import { l as V } from "./portalNavigation-
|
|
6
|
+
import { u as U } from "./portalContext-C4HL_0kl.js";
|
|
7
|
+
import { l as V } from "./portalNavigation-DOF4Ah49.js";
|
|
8
8
|
import { _ as q } from "./_plugin-vue_export-helper-CHgC5LLL.js";
|
|
9
9
|
const L = { class: "portal-page" }, R = { class: "portal-page-inner settings-page" }, T = { class: "portal-page-heading" }, D = ["href"], H = {
|
|
10
10
|
key: 0,
|
|
@@ -117,7 +117,7 @@ const L = { class: "portal-page" }, R = { class: "portal-page-inner settings-pag
|
|
|
117
117
|
]);
|
|
118
118
|
};
|
|
119
119
|
}
|
|
120
|
-
}), ue = /* @__PURE__ */ q(X, [["__scopeId", "data-v-
|
|
120
|
+
}), ue = /* @__PURE__ */ q(X, [["__scopeId", "data-v-6c0e4447"]]);
|
|
121
121
|
export {
|
|
122
122
|
ue as default
|
|
123
123
|
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { defineComponent as c, watchEffect as a, openBlock as n, createElementBlock as p } from "vue";
|
|
2
|
+
import { useRoute as i, useRouter as u } from "vue-router";
|
|
3
|
+
import { u as l } from "./portalContext-C4HL_0kl.js";
|
|
4
|
+
import { w as m, a as f } from "./portalNavigation-DOF4Ah49.js";
|
|
5
|
+
const _ = {
|
|
6
|
+
class: "portal-loading",
|
|
7
|
+
role: "status"
|
|
8
|
+
}, x = /* @__PURE__ */ c({
|
|
9
|
+
__name: "WorkspaceEntryView",
|
|
10
|
+
setup(w) {
|
|
11
|
+
const r = l(), e = i(), s = u();
|
|
12
|
+
return a(() => {
|
|
13
|
+
var t;
|
|
14
|
+
const o = (t = r.context.value) == null ? void 0 : t.projectId;
|
|
15
|
+
o && s.replace(m(o, e.query.view === "sessions" ? "sessions" : f(e.query.view), e.query));
|
|
16
|
+
}), (o, t) => (n(), p("p", _, "Opening your workspace…"));
|
|
17
|
+
}
|
|
18
|
+
});
|
|
19
|
+
export {
|
|
20
|
+
x as default
|
|
21
|
+
};
|
package/dist/app.js
CHANGED
|
@@ -1,45 +1,51 @@
|
|
|
1
1
|
import { defineAsyncComponent as t } from "vue";
|
|
2
2
|
const o = [
|
|
3
|
+
{
|
|
4
|
+
path: "/platforms/mobile",
|
|
5
|
+
name: "miniprogram-v2-mobile-projects",
|
|
6
|
+
meta: { title: "Mobile" },
|
|
7
|
+
component: () => import("./MobileProjectsView-DAWuOiCr.js")
|
|
8
|
+
},
|
|
3
9
|
{
|
|
4
10
|
path: "/",
|
|
5
11
|
name: "miniprogram-v2-ecosystem",
|
|
6
12
|
meta: { title: "Ecosystem" },
|
|
7
13
|
beforeEnter: (e) => ["workspace", "releases", "sessions"].includes(String(e.query.view)) ? { name: "miniprogram-v2-control", query: e.query } : !0,
|
|
8
|
-
component: () => import("./EcosystemView
|
|
14
|
+
component: () => import("./EcosystemView-BgjtBJy_.js")
|
|
9
15
|
},
|
|
10
16
|
{
|
|
11
17
|
path: "/workspace",
|
|
12
18
|
name: "miniprogram-v2-control",
|
|
13
|
-
component: () => import("./WorkspaceEntryView-
|
|
19
|
+
component: () => import("./WorkspaceEntryView-e2EUnq9A.js")
|
|
14
20
|
},
|
|
15
21
|
{
|
|
16
22
|
path: "/p/:projectId/:view(workspace|releases|sessions)?",
|
|
17
23
|
name: "miniprogram-v2-project",
|
|
18
|
-
component: () => import("./ControlPlaneView-
|
|
24
|
+
component: () => import("./ControlPlaneView-BJ6QP0bK.js")
|
|
19
25
|
},
|
|
20
26
|
{
|
|
21
27
|
path: "/brand-kit",
|
|
22
28
|
name: "miniprogram-v2-brand-kit",
|
|
23
29
|
meta: { title: "Brand Kit" },
|
|
24
|
-
component: () => import("./BrandKitView-
|
|
30
|
+
component: () => import("./BrandKitView-DUbIT3c8.js")
|
|
25
31
|
},
|
|
26
32
|
{
|
|
27
33
|
path: "/pages",
|
|
28
34
|
name: "miniprogram-v2-pages",
|
|
29
35
|
meta: { title: "Pages" },
|
|
30
|
-
component: () => import("./PagesView-
|
|
36
|
+
component: () => import("./PagesView-CegMd6GC.js")
|
|
31
37
|
},
|
|
32
38
|
{
|
|
33
39
|
path: "/settings",
|
|
34
40
|
name: "miniprogram-v2-settings",
|
|
35
41
|
meta: { title: "Settings" },
|
|
36
|
-
component: () => import("./PortalSettingsView-
|
|
42
|
+
component: () => import("./PortalSettingsView-Bqw8tMZb.js")
|
|
37
43
|
},
|
|
38
44
|
...["tablet", "kiosk"].map((e) => ({
|
|
39
45
|
path: `/platforms/${e}`,
|
|
40
46
|
name: `miniprogram-v2-${e}`,
|
|
41
47
|
meta: { title: e === "tablet" ? "Tablet" : "Kiosk", kind: e },
|
|
42
|
-
component: () => import("./PlatformUnavailableView-
|
|
48
|
+
component: () => import("./PlatformUnavailableView-j0_2YBKm.js")
|
|
43
49
|
})),
|
|
44
50
|
{
|
|
45
51
|
// The shared component library, not this merchant's workspace — which is
|
|
@@ -47,7 +53,7 @@ const o = [
|
|
|
47
53
|
path: "/modules",
|
|
48
54
|
name: "miniprogram-v2-module-center",
|
|
49
55
|
meta: { title: "Module library" },
|
|
50
|
-
component: () => import("./ModuleCenterView-
|
|
56
|
+
component: () => import("./ModuleCenterView-DyMr3iWV.js")
|
|
51
57
|
},
|
|
52
58
|
{
|
|
53
59
|
// Keyed by the module's directory name, which is what the catalog, the
|
|
@@ -55,16 +61,16 @@ const o = [
|
|
|
55
61
|
path: "/modules/:name",
|
|
56
62
|
name: "miniprogram-v2-module-detail",
|
|
57
63
|
meta: { title: "Module library" },
|
|
58
|
-
component: () => import("./ModuleDetailView-
|
|
64
|
+
component: () => import("./ModuleDetailView-BeXK89Cs.js")
|
|
59
65
|
},
|
|
60
66
|
{
|
|
61
67
|
path: "/:pathMatch(.*)*",
|
|
62
68
|
redirect: (e) => ({ name: "miniprogram-v2-ecosystem", query: e.query, params: {} })
|
|
63
69
|
}
|
|
64
|
-
], r = {}, a = t(() => import("./App-
|
|
70
|
+
], r = {}, a = t(() => import("./App-agMiJ0tU.js")), i = t(() => import("./LegacyWorkspaceEntry-opz_kWz9.js"));
|
|
65
71
|
export {
|
|
66
72
|
a as FmApp,
|
|
67
|
-
|
|
73
|
+
i as MiniprogramWorkspace,
|
|
68
74
|
r as i18nMessages,
|
|
69
75
|
o as routes
|
|
70
76
|
};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { a as f, e as d, D as m } from "./index-
|
|
1
|
+
import { a as f, e as d, D as m } from "./index-D5qXvcfE.js";
|
|
2
2
|
import { useCoreStore as a, FeedMeAuth as p } from "@feedmepos/mf-common";
|
|
3
3
|
const h = [
|
|
4
4
|
"AE",
|
|
@@ -126,15 +126,15 @@ async function I(e, n = {}) {
|
|
|
126
126
|
}
|
|
127
127
|
export {
|
|
128
128
|
T as C,
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
129
|
+
$ as a,
|
|
130
|
+
x as b,
|
|
131
|
+
b as c,
|
|
132
|
+
P as d,
|
|
133
133
|
F as e,
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
134
|
+
y as f,
|
|
135
|
+
E as g,
|
|
136
|
+
u as h,
|
|
137
|
+
C as i,
|
|
138
138
|
D as j,
|
|
139
139
|
k,
|
|
140
140
|
i as l,
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const c = "69cde0740c0106001ca83dff", t = {
|
|
2
2
|
dev: {
|
|
3
3
|
env: "dev",
|
|
4
4
|
liveDomain: "feedmedev.vip",
|
|
@@ -18,29 +18,38 @@ const a = "69cde0740c0106001ca83dff", i = {
|
|
|
18
18
|
v1Origin: "https://brand.feedme.vip"
|
|
19
19
|
}
|
|
20
20
|
};
|
|
21
|
-
function
|
|
21
|
+
function o(e) {
|
|
22
22
|
return e === "dev" || e === "prod";
|
|
23
23
|
}
|
|
24
|
-
function
|
|
25
|
-
if (!
|
|
24
|
+
function s(e) {
|
|
25
|
+
if (!o(e))
|
|
26
26
|
throw new Error(`MINIPROGRAM_ENV must be 'dev' or 'prod', got ${JSON.stringify(e)}`);
|
|
27
|
-
return
|
|
27
|
+
return t[e];
|
|
28
28
|
}
|
|
29
|
-
function
|
|
29
|
+
function v(e) {
|
|
30
30
|
const r = e.toLowerCase().replace(/^fmmf:/, "");
|
|
31
31
|
return r === "prod" || r === "production" ? "prod" : "dev";
|
|
32
32
|
}
|
|
33
|
-
const
|
|
34
|
-
function
|
|
35
|
-
return
|
|
33
|
+
const a = /^[a-f0-9]{24}$/;
|
|
34
|
+
function d(e) {
|
|
35
|
+
return a.test(e);
|
|
36
|
+
}
|
|
37
|
+
function f(e = crypto.randomUUID()) {
|
|
38
|
+
const r = m("prj", e, 24);
|
|
39
|
+
return r.length === 27 ? r : r.padEnd(27, "0");
|
|
36
40
|
}
|
|
37
|
-
function
|
|
38
|
-
if (!
|
|
41
|
+
function g(e) {
|
|
42
|
+
if (!d(e)) throw new Error(`Invalid business id: ${e}`);
|
|
39
43
|
return `prj${e}`;
|
|
40
44
|
}
|
|
45
|
+
function m(e, r, n) {
|
|
46
|
+
const i = r.toLowerCase().replace(/[^a-z0-9]+/g, "-").replace(/^-+|-+$/g, "").replaceAll("-", "").slice(0, n);
|
|
47
|
+
return `${e}${i || Date.now().toString(36)}`;
|
|
48
|
+
}
|
|
41
49
|
export {
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
50
|
+
c as D,
|
|
51
|
+
s as a,
|
|
52
|
+
v as e,
|
|
53
|
+
g as l,
|
|
54
|
+
f as m
|
|
46
55
|
};
|
package/dist/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as b } from "./routes-
|
|
1
|
+
import { a as b } from "./routes-Boz_WlNM.js";
|
|
2
2
|
import { useCoreStore as d } from "@feedmepos/mf-common";
|
|
3
|
-
import {
|
|
3
|
+
import { c as g, e as h } from "./controlPlane-CoEgf9BA.js";
|
|
4
4
|
import { provide as y, computed as f, ref as c, watch as C, onScopeDispose as w, inject as x } from "vue";
|
|
5
5
|
function P() {
|
|
6
6
|
const e = d(), r = f(() => {
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
function o(e) {
|
|
2
|
+
return e === "releases" ? "releases" : "workspace";
|
|
3
|
+
}
|
|
4
|
+
function t(e) {
|
|
5
|
+
const { view: s, ...r } = e;
|
|
6
|
+
return r;
|
|
7
|
+
}
|
|
8
|
+
function c(e, s, r) {
|
|
9
|
+
return {
|
|
10
|
+
name: "miniprogram-v2-project",
|
|
11
|
+
params: { projectId: e, view: s === "workspace" ? void 0 : s },
|
|
12
|
+
query: t(r)
|
|
13
|
+
};
|
|
14
|
+
}
|
|
15
|
+
function i(e, s = "settings") {
|
|
16
|
+
const r = new URLSearchParams();
|
|
17
|
+
for (const a of ["businessId", "country", "restaurantId"]) {
|
|
18
|
+
const n = e[a];
|
|
19
|
+
typeof n == "string" && r.set(a, n);
|
|
20
|
+
}
|
|
21
|
+
return `/brand/${s}${r.size ? `?${r}` : ""}`;
|
|
22
|
+
}
|
|
23
|
+
export {
|
|
24
|
+
o as a,
|
|
25
|
+
i as l,
|
|
26
|
+
t as p,
|
|
27
|
+
c as w
|
|
28
|
+
};
|