@feedmepos/mf-miniprogram-v2 0.2.2 → 0.2.4

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-miniprogram-v2",
3
- "version": "0.2.2",
3
+ "version": "0.2.4",
4
4
  "type": "module",
5
5
  "publishConfig": {
6
6
  "access": "public",
@@ -38,6 +38,7 @@
38
38
  },
39
39
  "dependencies": {
40
40
  "@casl/ability": "3.4.0",
41
+ "@feedmepos/feature-flag": "^0.0.15",
41
42
  "@feedmepos/media-picker": "2.0.0",
42
43
  "@feedmepos/mf-common": "^1.27.9",
43
44
  "@feedmepos/ui-library": "1.8.4",
@@ -1,214 +0,0 @@
1
- import { defineComponent as N, computed as y, ref as q, onMounted as V, onBeforeUnmount as O, resolveComponent as f, openBlock as n, createElementBlock as i, Fragment as S, createElementVNode as a, normalizeClass as P, createVNode as o, renderList as w, unref as l, withCtx as u, toDisplayString as v, createBlock as B, createCommentVNode as F } from "vue";
2
- import { useCoreStore as $ } from "@feedmepos/mf-common";
3
- import { useRoute as D, RouterView as G } from "vue-router";
4
- import { P as c } from "./PortalIcon-DO0VrIoY.js";
5
- import { r as I, u as Q, w as L } from "./adminAccess-CDxAuQ-M.js";
6
- import { p as U } from "./portalContext-B2pXdNtB.js";
7
- import { p as d } from "./portalNavigation-DKCfwTH8.js";
8
- import { t as H } from "./templatePickerFlag-CosY_15R.js";
9
- import { _ as J } from "./_plugin-vue_export-helper-CHgC5LLL.js";
10
- const W = {
11
- class: "portal-sidebar",
12
- "aria-label": "Mini Program navigation"
13
- }, X = ["aria-expanded", "aria-label"], Y = {
14
- id: "miniprogram-navigation",
15
- class: "portal-nav"
16
- }, Z = { class: "portal-nav-label" }, ee = { class: "portal-nav-label" }, ae = { class: "portal-main" }, le = {
17
- key: 0,
18
- class: "portal-breadcrumb",
19
- "aria-label": "Breadcrumb"
20
- }, te = {
21
- id: "miniprogram-content",
22
- class: "portal-content",
23
- tabindex: "-1"
24
- }, oe = {
25
- key: 0,
26
- class: "portal-empty"
27
- }, re = {
28
- key: 1,
29
- class: "portal-loading",
30
- role: "status"
31
- }, ne = {
32
- key: 2,
33
- class: "portal-empty",
34
- role: "alert"
35
- }, se = /* @__PURE__ */ N({
36
- __name: "App",
37
- setup(ie) {
38
- const r = D(), k = $(), s = U(), p = y(() => r.name === "miniprogram-v2-project"), b = q(
39
- I(
40
- "mpv2:portal-collapsed",
41
- typeof window < "u" && window.matchMedia("(max-width: 1000px)").matches
42
- )
43
- ), g = q(I("mpv2:editor-collapsed", !0)), _ = y(() => p.value ? g.value : b.value), h = y(
44
- () => {
45
- var C;
46
- return p.value ? (C = s.context.value) == null ? void 0 : C.project.name : String(r.meta.title ?? "Ecosystem");
47
- }
48
- ), T = [
49
- { name: "miniprogram-v2-ecosystem", label: "Ecosystem", icon: "ecosystem" },
50
- { name: "miniprogram-v2-brand-kit", label: "Brand Kit", icon: "brand" },
51
- { name: "miniprogram-v2-pages", label: "Pages", icon: "pages" }
52
- ], R = y(() => ({ name: "miniprogram-v2-mobile-projects", query: d(r.query) })), z = Q(), A = H();
53
- let M = !1;
54
- V(() => {
55
- M = k.hideSidebar.value, k.hideSidebar.value = !0;
56
- }), O(() => {
57
- k.hideSidebar.value = M;
58
- });
59
- function E() {
60
- p.value ? (g.value = !g.value, L("mpv2:editor-collapsed", g.value)) : (b.value = !b.value, L("mpv2:portal-collapsed", b.value));
61
- }
62
- return (C, e) => {
63
- const m = f("RouterLink"), x = f("FmIcon"), j = f("FmCircularProgress"), K = f("FmButton");
64
- return n(), i(S, null, [
65
- e[13] || (e[13] = a("link", {
66
- href: "https://fonts.googleapis.com/css2?family=Material+Symbols+Rounded:opsz,wght,FILL,GRAD@24,400,0..1,0",
67
- rel: "stylesheet"
68
- }, null, -1)),
69
- a("div", {
70
- class: P(["mpv2-app portal-shell", { "portal-shell--collapsed": _.value }])
71
- }, [
72
- e[12] || (e[12] = a("a", {
73
- class: "portal-skip",
74
- href: "#miniprogram-content"
75
- }, "Skip to content", -1)),
76
- a("aside", W, [
77
- a("button", {
78
- class: "portal-sidebar-toggle",
79
- type: "button",
80
- "aria-expanded": !_.value,
81
- "aria-controls": "miniprogram-navigation",
82
- "aria-label": _.value ? "Expand navigation" : "Collapse navigation",
83
- onClick: E
84
- }, [
85
- o(c, { name: "collapse" }),
86
- e[0] || (e[0] = a("span", { class: "portal-nav-label" }, "Mini Program", -1))
87
- ], 8, X),
88
- a("nav", Y, [
89
- (n(), i(S, null, w(T, (t) => o(m, {
90
- key: t.name,
91
- to: { name: t.name, query: l(d)(l(r).query) },
92
- class: "portal-nav-item",
93
- title: t.label,
94
- "aria-label": t.label,
95
- "aria-current": l(r).name === t.name ? "page" : void 0
96
- }, {
97
- default: u(() => [
98
- o(c, {
99
- name: t.icon
100
- }, null, 8, ["name"]),
101
- a("span", Z, v(t.label), 1)
102
- ]),
103
- _: 2
104
- }, 1032, ["to", "title", "aria-label", "aria-current"])), 64)),
105
- e[4] || (e[4] = a("p", { class: "portal-nav-caption" }, "Platforms", -1)),
106
- o(m, {
107
- to: R.value,
108
- class: P(["portal-nav-item", { "router-link-active": p.value }]),
109
- title: "Mobile Ordering",
110
- "aria-label": "Mobile Ordering",
111
- "aria-current": p.value ? "page" : void 0
112
- }, {
113
- default: u(() => [
114
- o(c, { name: "mobile" }),
115
- e[1] || (e[1] = a("span", { class: "portal-nav-label" }, "Mobile Ordering", -1))
116
- ]),
117
- _: 1
118
- }, 8, ["to", "class", "aria-current"]),
119
- (n(), i(S, null, w(["tablet", "kiosk"], (t) => o(m, {
120
- key: t,
121
- to: { name: `miniprogram-v2-${t}`, query: l(d)(l(r).query) },
122
- class: "portal-nav-item",
123
- title: t === "tablet" ? "Tablet" : "Kiosk",
124
- "aria-label": t === "tablet" ? "Tablet" : "Kiosk"
125
- }, {
126
- default: u(() => [
127
- o(c, { name: t }, null, 8, ["name"]),
128
- a("span", ee, v(t === "tablet" ? "Tablet" : "Kiosk"), 1)
129
- ]),
130
- _: 2
131
- }, 1032, ["to", "title", "aria-label"])), 64)),
132
- e[5] || (e[5] = a("div", { class: "portal-nav-divider" }, null, -1)),
133
- o(m, {
134
- to: { name: "miniprogram-v2-module-center", query: l(d)(l(r).query) },
135
- class: P(["portal-nav-item", { "router-link-active": l(r).name === "miniprogram-v2-module-detail" }]),
136
- title: "Module library",
137
- "aria-label": "Module library"
138
- }, {
139
- default: u(() => [
140
- o(x, {
141
- name: "widgets",
142
- size: "md"
143
- }),
144
- e[2] || (e[2] = a("span", { class: "portal-nav-label" }, "Module library", -1))
145
- ]),
146
- _: 1
147
- }, 8, ["to", "class"]),
148
- l(z) && l(A) ? (n(), B(m, {
149
- key: 0,
150
- to: { name: "miniprogram-v2-template-center", query: l(d)(l(r).query) },
151
- class: "portal-nav-item",
152
- title: "Template library",
153
- "aria-label": "Template library"
154
- }, {
155
- default: u(() => [
156
- o(x, {
157
- name: "dashboard_customize",
158
- size: "md"
159
- }),
160
- e[3] || (e[3] = a("span", { class: "portal-nav-label" }, "Template library", -1))
161
- ]),
162
- _: 1
163
- }, 8, ["to"])) : F("", !0)
164
- ]),
165
- o(m, {
166
- to: { name: "miniprogram-v2-settings", query: l(d)(l(r).query) },
167
- class: "portal-nav-item portal-settings-link",
168
- title: "Settings",
169
- "aria-label": "Settings"
170
- }, {
171
- default: u(() => [
172
- o(c, { name: "settings" }),
173
- e[6] || (e[6] = a("span", { class: "portal-nav-label" }, "Settings", -1))
174
- ]),
175
- _: 1
176
- }, 8, ["to"])
177
- ]),
178
- a("div", ae, [
179
- p.value ? F("", !0) : (n(), i("header", le, [
180
- a("span", null, v(l(s).businessName.value), 1),
181
- e[7] || (e[7] = a("span", { "aria-hidden": "true" }, "/", -1)),
182
- a("span", null, v(h.value), 1),
183
- e[8] || (e[8] = a("div", {
184
- id: "portal-page-actions",
185
- class: "portal-page-actions"
186
- }, null, -1))
187
- ])),
188
- a("div", te, [
189
- l(s).businessId.value ? l(s).loading.value ? (n(), i("div", re, [
190
- o(j, { size: "xl" }),
191
- e[10] || (e[10] = a("span", null, "Loading your Mini Program…", -1))
192
- ])) : l(s).error.value ? (n(), i("section", ne, [
193
- e[11] || (e[11] = a("h1", null, "Could not open this Mini Program", -1)),
194
- a("p", null, v(l(s).error.value), 1),
195
- o(K, {
196
- label: "Try again",
197
- onClick: l(s).refresh
198
- }, null, 8, ["onClick"])
199
- ])) : (n(), B(l(G), {
200
- key: `${l(s).businessId.value}:${l(r).params.projectId ?? String(l(r).name)}`
201
- })) : (n(), i("section", oe, [...e[9] || (e[9] = [
202
- a("h1", null, "Select a business", -1),
203
- a("p", null, "Choose a business in the Portal header to open its Mini Program.", -1)
204
- ])]))
205
- ])
206
- ])
207
- ], 2)
208
- ], 64);
209
- };
210
- }
211
- }), fe = /* @__PURE__ */ J(se, [["__scopeId", "data-v-782c3640"]]);
212
- export {
213
- fe as default
214
- };
@@ -1,237 +0,0 @@
1
- import { defineComponent as W, computed as h, openBlock as r, createElementBlock as l, createStaticVNode as v, createCommentVNode as f, ref as E, createElementVNode as n, Fragment as S, renderList as g, normalizeClass as K, toDisplayString as b, createVNode as J } from "vue";
2
- import { _ as T } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
- function dt(t) {
4
- return t === "active" ? "success" : t === "needs_attention" ? "warning" : "neutral";
5
- }
6
- function ut(t) {
7
- return t === "active" ? "Active" : t === "needs_attention" ? "Needs attention" : "Archived";
8
- }
9
- function ct(t) {
10
- return t === "succeeded" ? "success" : t === "failed" ? "error" : t === "queued" || t === "running" ? "info" : "neutral";
11
- }
12
- function pt(t) {
13
- switch (t) {
14
- case "queued":
15
- return "Queued";
16
- case "running":
17
- return "Running";
18
- case "succeeded":
19
- return "Built";
20
- case "failed":
21
- return "Build failed";
22
- default:
23
- return "No build yet";
24
- }
25
- }
26
- function ft(t) {
27
- switch (t) {
28
- case "ready":
29
- return "Ready";
30
- case "provisioning":
31
- return "Setting up";
32
- case "failed":
33
- return "Setup failed";
34
- default:
35
- return "Not set up";
36
- }
37
- }
38
- const F = ["preview", "published", "rolled_back"];
39
- function yt(t) {
40
- return F.includes(t.status);
41
- }
42
- function Vt(t) {
43
- return t.is_live === 1 ? "Live" : t.build_status === "queued" || t.build_status === "running" ? "Building" : t.build_status === "failed" ? "Failed" : t.build_status === "succeeded" ? "Ready" : "Draft";
44
- }
45
- function ht(t) {
46
- return t.is_live === 1 ? "primary" : t.build_status === "succeeded" ? "success" : t.build_status === "queued" || t.build_status === "running" ? "info" : t.build_status === "failed" ? "error" : "neutral";
47
- }
48
- const A = {
49
- key: 0,
50
- viewBox: "0 0 56 96",
51
- class: "h-[72px] w-[42px] shrink-0 rounded-[6px] border border-portal-border-default bg-portal-bg-default",
52
- "aria-hidden": "true",
53
- focusable: "false"
54
- }, Y = {
55
- key: 0,
56
- fill: "currentColor",
57
- class: "text-fm-color-neutral-gray-300"
58
- }, L = {
59
- key: 1,
60
- fill: "currentColor",
61
- class: "text-fm-color-neutral-gray-300"
62
- }, Z = {
63
- key: 2,
64
- fill: "currentColor",
65
- class: "text-fm-color-neutral-gray-300"
66
- }, I = /* @__PURE__ */ W({
67
- __name: "AppTemplateThumbnail",
68
- props: {
69
- restaurantStyle: {}
70
- },
71
- setup(t) {
72
- const y = t, d = h(
73
- () => y.restaurantStyle === "qsr" || y.restaurantStyle === "coffee" || y.restaurantStyle === "tea"
74
- );
75
- return (U, c) => d.value ? (r(), l("svg", A, [
76
- t.restaurantStyle === "qsr" ? (r(), l("g", Y, [...c[0] || (c[0] = [
77
- v('<rect x="6" y="7" width="44" height="6" rx="3"></rect><rect x="6" y="18" width="19" height="18" rx="2"></rect><rect x="31" y="18" width="19" height="18" rx="2"></rect><rect x="6" y="40" width="19" height="18" rx="2"></rect><rect x="31" y="40" width="19" height="18" rx="2"></rect><rect x="6" y="62" width="19" height="18" rx="2"></rect><rect x="31" y="62" width="19" height="18" rx="2"></rect><rect x="6" y="85" width="44" height="7" rx="3.5" class="text-fm-color-neutral-gray-400"></rect>', 8)
78
- ])])) : t.restaurantStyle === "coffee" ? (r(), l("g", L, [...c[1] || (c[1] = [
79
- v('<rect x="6" y="7" width="44" height="30" rx="3"></rect><rect x="6" y="43" width="26" height="4" rx="2"></rect><rect x="6" y="53" width="44" height="12" rx="2"></rect><rect x="6" y="69" width="44" height="12" rx="2"></rect><rect x="6" y="87" width="18" height="4" rx="2"></rect>', 5)
80
- ])])) : (r(), l("g", Z, [...c[2] || (c[2] = [
81
- v('<rect x="6" y="7" width="44" height="5" rx="2.5"></rect><rect x="6" y="17" width="44" height="9" rx="2"></rect><rect x="6" y="28" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="18" y="28" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="30" y="28" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="6" y="38" width="44" height="9" rx="2"></rect><rect x="6" y="49" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="18" y="49" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="6" y="59" width="44" height="9" rx="2"></rect><rect x="6" y="70" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="18" y="70" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="30" y="70" width="9" height="4" rx="2" class="text-fm-color-neutral-gray-400"></rect><rect x="6" y="80" width="44" height="9" rx="2"></rect>', 13)
82
- ])]))
83
- ])) : f("", !0);
84
- }
85
- }), u = "data:image/png;base64,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", N = {
86
- key: 0,
87
- class: "rounded-lg border border-portal-border-default bg-portal-bg-default p-16"
88
- }, P = { class: "mt-12 flex items-start gap-16" }, R = { class: "min-w-0 max-w-[480px] shrink-0" }, O = {
89
- key: 0,
90
- class: "m-0 mb-8 fm-typo-en-body-sm-600 uppercase tracking-wide text-portal-text-muted"
91
- }, j = { class: "flex flex-col gap-8" }, C = ["aria-checked", "disabled", "onClick", "onMouseenter", "onFocus"], G = {
92
- key: 0,
93
- class: "h-[6px] w-[6px] rounded-full bg-portal-bg-default"
94
- }, B = { class: "min-w-0 max-w-[640px] flex-1" }, H = { class: "flex flex-wrap items-center gap-8" }, z = { class: "fm-typo-en-body-md-600 text-portal-text-primary" }, M = {
95
- key: 0,
96
- class: "rounded-full bg-portal-bg-canvas px-8 py-[2px] fm-typo-en-body-sm-400 text-portal-text-muted"
97
- }, D = { class: "mt-4 block fm-typo-en-body-sm-400 text-portal-text-muted" }, _ = { class: "sticky top-16 min-w-0 flex-1" }, $ = { class: "overflow-hidden rounded-lg border border-portal-border-default bg-fm-color-neutral-gray-50 p-12" }, tt = {
98
- key: 0,
99
- class: "m-0 mt-8"
100
- }, et = { class: "preview-strip flex snap-x snap-mandatory gap-8 overflow-x-auto rounded-md" }, rt = ["src", "alt"], lt = { class: "m-0 mt-6 flex items-center justify-between fm-typo-en-body-sm-400 text-portal-text-muted" }, nt = { key: 0 }, st = {
101
- key: 1,
102
- class: "m-0 mt-8 flex min-h-[96px] w-full items-center justify-center rounded-md border border-dashed border-fm-color-neutral-gray-300 p-12 text-center fm-typo-en-body-sm-400 text-portal-text-muted"
103
- }, at = /* @__PURE__ */ W({
104
- __name: "AppTemplatePicker",
105
- props: {
106
- templates: {},
107
- modelValue: {},
108
- disabled: { type: Boolean }
109
- },
110
- emits: ["update:modelValue"],
111
- setup(t, { emit: y }) {
112
- const d = t, U = y, c = h(() => d.templates.length > 1), w = {
113
- qsr: [u, u, u],
114
- coffee: [u, u, u],
115
- tea: [u, u, u]
116
- }, k = E(null), q = h(() => {
117
- const i = k.value ?? d.modelValue;
118
- return (i ? d.templates.find((s) => s.id === i) : void 0) ?? d.templates.find((s) => s.default) ?? d.templates[0] ?? null;
119
- }), V = h(() => {
120
- var e;
121
- const i = (e = q.value) == null ? void 0 : e.restaurantStyle;
122
- return i ? w[i] : null;
123
- });
124
- function m(i) {
125
- k.value = i;
126
- }
127
- const X = h(() => {
128
- const i = [], e = /* @__PURE__ */ new Map();
129
- for (const s of d.templates) {
130
- if (!s.industries.length) {
131
- i.push(s);
132
- continue;
133
- }
134
- for (const o of s.industries) {
135
- const p = e.get(o) ?? [];
136
- p.push(s), e.set(o, p);
137
- }
138
- }
139
- return [
140
- ...i.length ? [{ label: null, templates: i }] : [],
141
- ...[...e.entries()].sort(([s], [o]) => s.localeCompare(o)).map(([s, o]) => ({ label: s, templates: o }))
142
- ];
143
- });
144
- function Q(i) {
145
- d.disabled || U("update:modelValue", i);
146
- }
147
- return (i, e) => {
148
- var s;
149
- return c.value ? (r(), l("section", N, [
150
- e[4] || (e[4] = n("p", { class: "m-0 fm-typo-en-body-md-600 text-portal-text-primary" }, "App template", -1)),
151
- e[5] || (e[5] = n("p", { class: "m-0 mt-4 fm-typo-en-body-sm-400 text-portal-text-muted" }, " The starting code for this merchant's app. This cannot be changed after setup. ", -1)),
152
- n("div", P, [
153
- n("div", R, [
154
- (r(!0), l(S, null, g(X.value, (o, p) => (r(), l("div", {
155
- key: o.label ?? "__general",
156
- role: "radiogroup",
157
- "aria-label": "App template",
158
- class: K(p === 0 ? "" : "mt-16")
159
- }, [
160
- o.label ? (r(), l("p", O, b(o.label), 1)) : f("", !0),
161
- n("div", j, [
162
- (r(!0), l(S, null, g(o.templates, (a) => (r(), l("button", {
163
- key: a.id,
164
- type: "button",
165
- role: "radio",
166
- "aria-checked": t.modelValue === a.id,
167
- disabled: t.disabled,
168
- class: K([
169
- "flex w-full cursor-pointer items-start gap-12 rounded-lg border p-12 text-left transition disabled:cursor-not-allowed disabled:opacity-60",
170
- t.modelValue === a.id ? "border-fm-color-primary bg-fm-color-primary-50" : "border-fm-color-neutral-gray-200 bg-fm-color-neutral-white hover:border-fm-color-neutral-gray-300"
171
- ]),
172
- onClick: (x) => Q(a.id),
173
- onMouseenter: (x) => m(a.id),
174
- onMouseleave: e[0] || (e[0] = (x) => m(null)),
175
- onFocus: (x) => m(a.id),
176
- onBlur: e[1] || (e[1] = (x) => m(null))
177
- }, [
178
- n("span", {
179
- class: K([
180
- "mt-[2px] flex h-16 w-16 shrink-0 items-center justify-center rounded-full border",
181
- t.modelValue === a.id ? "border-fm-color-primary bg-fm-color-primary" : "border-fm-color-neutral-gray-300 bg-fm-color-neutral-white"
182
- ])
183
- }, [
184
- t.modelValue === a.id ? (r(), l("span", G)) : f("", !0)
185
- ], 2),
186
- J(I, {
187
- "restaurant-style": a.restaurantStyle
188
- }, null, 8, ["restaurant-style"]),
189
- n("span", B, [
190
- n("span", H, [
191
- n("span", z, b(a.label), 1),
192
- a.default ? (r(), l("span", M, " Default ")) : f("", !0)
193
- ]),
194
- n("span", D, b(a.description), 1)
195
- ])
196
- ], 42, C))), 128))
197
- ])
198
- ], 2))), 128))
199
- ]),
200
- n("aside", _, [
201
- n("div", $, [
202
- e[3] || (e[3] = n("p", { class: "m-0 fm-typo-en-body-sm-600 text-portal-text-primary" }, "App preview", -1)),
203
- (s = V.value) != null && s.length ? (r(), l("figure", tt, [
204
- n("div", et, [
205
- (r(!0), l(S, null, g(V.value, (o, p) => {
206
- var a;
207
- return r(), l("img", {
208
- key: p,
209
- src: o,
210
- alt: `${((a = q.value) == null ? void 0 : a.label) ?? "App template"} preview ${p + 1} of ${V.value.length}`,
211
- class: "w-[85%] shrink-0 snap-start rounded-md bg-portal-bg-default object-contain"
212
- }, null, 8, rt);
213
- }), 128))
214
- ]),
215
- n("figcaption", lt, [
216
- e[2] || (e[2] = n("span", null, "Preview illustration · not a live screenshot", -1)),
217
- V.value.length > 1 ? (r(), l("span", nt, b(V.value.length) + " screens", 1)) : f("", !0)
218
- ])
219
- ])) : (r(), l("p", st, " Preview not available — check the built app for the real result. "))
220
- ])
221
- ])
222
- ])
223
- ])) : f("", !0);
224
- };
225
- }
226
- }), mt = /* @__PURE__ */ T(at, [["__scopeId", "data-v-000984a6"]]);
227
- export {
228
- mt as A,
229
- ht as a,
230
- Vt as b,
231
- ut as c,
232
- ct as d,
233
- pt as e,
234
- ft as p,
235
- yt as r,
236
- dt as s
237
- };