@feedmepos/mf-brand-app-builder 0.5.43-dev.1 → 0.5.45-dev.1

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.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import "vue";
2
- import { d as i, f as o, i as e, r as m } from "./app-BlFm1Tkh.js";
2
+ import { d as i, f as o, i as e, r as m } from "./app-DqTMfqMo.js";
3
3
  export {
4
4
  i as FmApp,
5
5
  o as FormKitPlugin,
@@ -45,5 +45,39 @@ export declare const brandkit: {
45
45
  fontFamilies: never[];
46
46
  };
47
47
  export declare function applyBrandKitFromAPI(url: string): Promise<void>;
48
+ /** A colour split into `"r g b"` channels and its own alpha. */
49
+ export interface RgbColor {
50
+ channels: string;
51
+ alpha: number;
52
+ }
53
+ /**
54
+ * `{ channels: "255 120 35", alpha: 1 }` from a browser-serialised colour, or
55
+ * undefined.
56
+ *
57
+ * Split out from the DOM probe below so the parsing can be tested without one.
58
+ */
59
+ export declare function parseRgbColor(computed: string): RgbColor | undefined;
60
+ /**
61
+ * A brand colour as `"r g b"` channels, so Tailwind utilities can apply opacity
62
+ * with `rgb(var(--brand-x-rgb) / <alpha-value>)`.
63
+ *
64
+ * That form works from Chrome 65 and Safari 12. The alternative — wrapping the
65
+ * colour in `color-mix()` — needs Chrome 111, and an engine that cannot parse a
66
+ * function discards the whole declaration, so the FeedMe kiosk tablets on the
67
+ * Huawei WebView (Chromium 88) rendered with no brand colour at all.
68
+ *
69
+ * BrandKit types every colour as a plain `string`, so the value is whatever a
70
+ * portal user typed: `#RGB`, `#RRGGBB`, `#RRGGBBAA`, `rgb()`, `hsl()`, or a
71
+ * keyword like `black`. Rather than guess at a parser, hand it to the browser —
72
+ * it is the same engine that would have painted the colour, so anything it
73
+ * accepts round-trips exactly, and anything it rejects returns undefined and
74
+ * simply leaves the companion variable unset.
75
+ *
76
+ * A kit colour may carry its own alpha (US Pizza used `#RRGGBBAA` for a tinted
77
+ * selected-tile wash). That cannot live in the channels, so it is returned
78
+ * separately and applied through the `-a` companion — dropping it turned the
79
+ * wash into a solid block.
80
+ */
81
+ export declare function toRgbColor(value: string): RgbColor | undefined;
48
82
  export declare function applyBrandKit(kit?: BrandKit, targetOrOptions?: HTMLElement | ApplyBrandKitOptions, maybeOptions?: ApplyBrandKitOptions): void;
49
83
  export declare function applyBrandkitFeedmeUI(kit?: BrandKit, target?: HTMLElement): void;
@@ -80,7 +80,6 @@ export type BrandKit = BaseBrandKit & {
80
80
  category: 'HORIZONTAL' | 'VERTICAL';
81
81
  singleCategory: boolean;
82
82
  brandkitOverride?: RecursivePartial<BaseBrandKit>;
83
- showSubItemAsRadioIfPossible?: boolean;
84
83
  };
85
84
  };
86
85
  layout?: {
@@ -0,0 +1,144 @@
1
+ import { useSnackbar as R } from "@feedmepos/ui-library";
2
+ function L() {
3
+ const n = R();
4
+ function r(l, d) {
5
+ const { loading: i, success: a, error: s, duration: t } = d, e = n.open(
6
+ {
7
+ message: typeof i == "function" ? i() : i,
8
+ type: "info",
9
+ spinner: !0,
10
+ dismissable: !1
11
+ },
12
+ null
13
+ );
14
+ return (typeof l == "function" ? l() : l).then((c) => (n.close(e), a && n.open(
15
+ {
16
+ message: typeof a == "function" ? a() : a,
17
+ type: "success",
18
+ spinner: !1,
19
+ dismissable: !0
20
+ },
21
+ t ?? 2e3
22
+ ), c)).catch((c) => {
23
+ throw s && (n.close(e), n.open(
24
+ {
25
+ message: typeof s == "function" ? s(c) : s,
26
+ type: "error",
27
+ spinner: !1,
28
+ dismissable: !0
29
+ },
30
+ t ?? 2e3
31
+ )), c;
32
+ });
33
+ }
34
+ return {
35
+ promise: r
36
+ };
37
+ }
38
+ const I = /* @__PURE__ */ new Set(), O = {
39
+ colors: {
40
+ primary: "#ff7823",
41
+ secondary: "#fff3e6",
42
+ accent: "#B25300",
43
+ background: {
44
+ base: "#F8F8F8",
45
+ elevated: "#FFFFFF"
46
+ },
47
+ neutral: {
48
+ light: "#DADADA",
49
+ mid: "#B2B3B6",
50
+ dark: "#1C1C1E"
51
+ },
52
+ text: {
53
+ onPrimary: "#FFFFFF",
54
+ primary: "#1C1C1E",
55
+ secondary: "#555555",
56
+ tertiary: "#A2A09E"
57
+ },
58
+ status: {
59
+ success: "#10B981",
60
+ warning: "#F59E0B",
61
+ error: "#EF4444",
62
+ info: "#3B82F6"
63
+ // Add info if missing previously
64
+ }
65
+ },
66
+ fonts: {
67
+ brand: "'Inter', sans-serif",
68
+ heading: "'Inter', sans-serif",
69
+ body: "'Roboto', sans-serif"
70
+ },
71
+ ordering: {
72
+ app: {
73
+ category: "VERTICAL",
74
+ items: "LIST",
75
+ singleCategory: !1
76
+ },
77
+ kiosk: {
78
+ category: "VERTICAL",
79
+ singleCategory: !1
80
+ }
81
+ },
82
+ fontFamilies: []
83
+ };
84
+ function T(n) {
85
+ const r = n.match(/[\d.]+/g);
86
+ if (!r || r.length < 3) return;
87
+ const l = r.length > 3 ? Number(r[3]) : 1;
88
+ if (Number.isFinite(l))
89
+ return { channels: `${r[0]} ${r[1]} ${r[2]}`, alpha: l };
90
+ }
91
+ function k(n) {
92
+ if (typeof document > "u" || n.includes("var(")) return;
93
+ const r = document.createElement("span");
94
+ if (r.style.display = "none", r.style.color = n, !r.style.color) return;
95
+ (document.body ?? document.documentElement).appendChild(r);
96
+ const d = getComputedStyle(r).color;
97
+ return r.remove(), T(d);
98
+ }
99
+ function N(n = O, r, l) {
100
+ var c, f, m, p, b, g, h, F, x, E, B, w, P, A, $, S;
101
+ const d = {}, i = document.documentElement, a = (y, o) => {
102
+ if (!o || (i.style.setProperty(`--brand-${y}`, o), !y.startsWith("color-"))) return;
103
+ const u = k(o);
104
+ u && (i.style.setProperty(`--brand-${y}-rgb`, u.channels), u.alpha < 1 ? i.style.setProperty(`--brand-${y}-a`, String(u.alpha)) : i.style.removeProperty(`--brand-${y}-a`));
105
+ }, { fonts: s } = n, t = d.overrideBy ? (m = (f = (c = n.ordering) == null ? void 0 : c[d.overrideBy]) == null ? void 0 : f.brandkitOverride) == null ? void 0 : m.colors : void 0, e = {
106
+ primary: (t == null ? void 0 : t.primary) ?? n.colors.primary,
107
+ secondary: (t == null ? void 0 : t.secondary) ?? n.colors.secondary,
108
+ accent: (t == null ? void 0 : t.accent) ?? n.colors.accent,
109
+ background: {
110
+ base: ((p = t == null ? void 0 : t.background) == null ? void 0 : p.base) ?? n.colors.background.base,
111
+ elevated: ((b = t == null ? void 0 : t.background) == null ? void 0 : b.elevated) ?? n.colors.background.elevated
112
+ },
113
+ neutral: {
114
+ light: ((g = t == null ? void 0 : t.neutral) == null ? void 0 : g.light) ?? n.colors.neutral.light,
115
+ mid: ((h = t == null ? void 0 : t.neutral) == null ? void 0 : h.mid) ?? n.colors.neutral.mid,
116
+ dark: ((F = t == null ? void 0 : t.neutral) == null ? void 0 : F.dark) ?? n.colors.neutral.dark
117
+ },
118
+ status: {
119
+ success: ((x = t == null ? void 0 : t.status) == null ? void 0 : x.success) ?? n.colors.status.success,
120
+ warning: ((E = t == null ? void 0 : t.status) == null ? void 0 : E.warning) ?? n.colors.status.warning,
121
+ error: ((B = t == null ? void 0 : t.status) == null ? void 0 : B.error) ?? n.colors.status.error,
122
+ info: ((w = t == null ? void 0 : t.status) == null ? void 0 : w.info) ?? n.colors.status.info
123
+ },
124
+ text: {
125
+ onPrimary: ((P = t == null ? void 0 : t.text) == null ? void 0 : P.onPrimary) ?? n.colors.text.onPrimary,
126
+ primary: ((A = t == null ? void 0 : t.text) == null ? void 0 : A.primary) ?? n.colors.text.primary,
127
+ secondary: (($ = t == null ? void 0 : t.text) == null ? void 0 : $.secondary) ?? n.colors.text.secondary,
128
+ tertiary: ((S = t == null ? void 0 : t.text) == null ? void 0 : S.tertiary) ?? n.colors.text.tertiary
129
+ }
130
+ };
131
+ a("color-primary", e.primary), a("color-secondary", e.secondary), a("color-accent", e.accent), a("color-background-base", e.background.base), a("color-background-elevated", e.background.elevated), a("color-neutral-light", e.neutral.light), a("color-neutral-mid", e.neutral.mid), a("color-neutral-dark", e.neutral.dark), a("color-typo-on-primary", e.text.onPrimary), a("color-typo-primary", e.text.primary), a("color-typo-secondary", e.text.secondary), a("color-typo-tertiary", e.text.tertiary), a("color-status-success", e.status.success), a("color-status-warning", e.status.warning), a("color-status-error", e.status.error), a("color-status-info", e.status.info), a("font-family-brand", s.brand), a("font-family-heading", s.heading ?? s.brand), a("font-family-body", s.body ?? s.brand);
132
+ for (const y of n.fontFamilies ?? []) {
133
+ const o = y.stylesheet;
134
+ if (!o || I.has(o) || document.querySelector(`link[href="${o}"]`))
135
+ continue;
136
+ const u = document.createElement("link");
137
+ u.rel = "stylesheet", u.href = o, u.setAttribute("data-brand-font", o), document.head.appendChild(u), I.add(o);
138
+ }
139
+ }
140
+ export {
141
+ N as a,
142
+ O as b,
143
+ L as u
144
+ };
@@ -676,10 +676,6 @@ export declare const i18nMessages: {
676
676
  currentSelection: string;
677
677
  preview: string;
678
678
  reset: string;
679
- showSubItemAsRadioIfPossible: {
680
- title: string;
681
- description: string;
682
- };
683
679
  colorOverride: {
684
680
  title: string;
685
681
  descriptionApp: string;
@@ -1975,10 +1971,6 @@ export declare const i18nMessages: {
1975
1971
  currentSelection: string;
1976
1972
  preview: string;
1977
1973
  reset: string;
1978
- showSubItemAsRadioIfPossible: {
1979
- title: string;
1980
- description: string;
1981
- };
1982
1974
  colorOverride: {
1983
1975
  title: string;
1984
1976
  descriptionApp: string;
@@ -3249,10 +3241,6 @@ export declare const i18nMessages: {
3249
3241
  currentSelection: string;
3250
3242
  preview: string;
3251
3243
  reset: string;
3252
- showSubItemAsRadioIfPossible: {
3253
- title: string;
3254
- description: string;
3255
- };
3256
3244
  colorOverride: {
3257
3245
  title: string;
3258
3246
  descriptionApp: string;
@@ -4523,10 +4511,6 @@ export declare const i18nMessages: {
4523
4511
  currentSelection: string;
4524
4512
  preview: string;
4525
4513
  reset: string;
4526
- showSubItemAsRadioIfPossible: {
4527
- title: string;
4528
- description: string;
4529
- };
4530
4514
  colorOverride: {
4531
4515
  title: string;
4532
4516
  descriptionApp: string;
@@ -5995,10 +5979,6 @@ export declare const i18nMessages: {
5995
5979
  currentSelection: string;
5996
5980
  preview: string;
5997
5981
  reset: string;
5998
- showSubItemAsRadioIfPossible: {
5999
- title: string;
6000
- description: string;
6001
- };
6002
5982
  colorOverride: {
6003
5983
  title: string;
6004
5984
  descriptionApp: string;
@@ -7467,10 +7447,6 @@ export declare const i18nMessages: {
7467
7447
  currentSelection: string;
7468
7448
  preview: string;
7469
7449
  reset: string;
7470
- showSubItemAsRadioIfPossible: {
7471
- title: string;
7472
- description: string;
7473
- };
7474
7450
  colorOverride: {
7475
7451
  title: string;
7476
7452
  descriptionApp: string;
@@ -8907,10 +8883,6 @@ export declare const i18nMessages: {
8907
8883
  currentSelection: string;
8908
8884
  preview: string;
8909
8885
  reset: string;
8910
- showSubItemAsRadioIfPossible: {
8911
- title: string;
8912
- description: string;
8913
- };
8914
8886
  colorOverride: {
8915
8887
  title: string;
8916
8888
  descriptionApp: string;
@@ -3,6 +3,23 @@
3
3
  * Should be called once at app startup (e.g. in main.ts or App.vue).
4
4
  */
5
5
  export declare function initFeatureFlag(mode: string): Promise<void>;
6
+ /**
7
+ * Reads the `{ "enabled": boolean }` payload FeedMe flags carry, tolerating the
8
+ * value arriving as an object, a JSON string, or a bare boolean. Anything it
9
+ * cannot make sense of counts as disabled, so a malformed flag hides a feature
10
+ * rather than exposing it.
11
+ */
12
+ export declare const isFeatureEnabled: (v: unknown) => boolean;
13
+ /**
14
+ * Environment-scoped flag: read without an identity, so its value is whatever
15
+ * the Flagsmith environment serves and no per-business override can reach it.
16
+ * That is the point — this shape is for rollout kill switches, while
17
+ * per-business entitlement lives in Billing.
18
+ *
19
+ * Both the flag's own toggle and an `{ "enabled": true }` payload are required,
20
+ * so a flag switched off in Flagsmith stays off whatever its stale value says.
21
+ */
22
+ export declare function useEnvironmentFeatureFlag(key: string): import("vue").ComputedRef<boolean>;
6
23
  /**
7
24
  * Composable to fetch a business-scoped feature flag.
8
25
  *
@@ -1,2 +1,3 @@
1
1
  import './assets/main.css';
2
2
  import '@feedmepos/mf-common/style.css';
3
+ import '@feedmepos/mf-miniprogram-v2/style';
@@ -105,7 +105,6 @@ export declare const useBusinessStore: import("pinia").StoreDefinition<"business
105
105
  } | undefined;
106
106
  } | undefined;
107
107
  } | undefined;
108
- showSubItemAsRadioIfPossible?: boolean | undefined;
109
108
  };
110
109
  } | undefined;
111
110
  layout?: {
@@ -324,7 +323,6 @@ export declare const useBusinessStore: import("pinia").StoreDefinition<"business
324
323
  } | undefined;
325
324
  } | undefined;
326
325
  } | undefined;
327
- showSubItemAsRadioIfPossible?: boolean | undefined;
328
326
  };
329
327
  } | undefined;
330
328
  layout?: {
@@ -548,7 +546,6 @@ export declare const useBusinessStore: import("pinia").StoreDefinition<"business
548
546
  } | undefined;
549
547
  } | undefined;
550
548
  } | undefined;
551
- showSubItemAsRadioIfPossible?: boolean | undefined;
552
549
  };
553
550
  } | undefined;
554
551
  layout?: {
@@ -767,7 +764,6 @@ export declare const useBusinessStore: import("pinia").StoreDefinition<"business
767
764
  } | undefined;
768
765
  } | undefined;
769
766
  } | undefined;
770
- showSubItemAsRadioIfPossible?: boolean | undefined;
771
767
  };
772
768
  } | undefined;
773
769
  layout?: {
@@ -991,7 +987,6 @@ export declare const useBusinessStore: import("pinia").StoreDefinition<"business
991
987
  } | undefined;
992
988
  } | undefined;
993
989
  } | undefined;
994
- showSubItemAsRadioIfPossible?: boolean | undefined;
995
990
  };
996
991
  } | undefined;
997
992
  layout?: {
@@ -1210,7 +1205,6 @@ export declare const useBusinessStore: import("pinia").StoreDefinition<"business
1210
1205
  } | undefined;
1211
1206
  } | undefined;
1212
1207
  } | undefined;
1213
- showSubItemAsRadioIfPossible?: boolean | undefined;
1214
1208
  };
1215
1209
  } | undefined;
1216
1210
  layout?: {
@@ -1,4 +1,4 @@
1
- import { g as Q, c as K } from "./app-BlFm1Tkh.js";
1
+ import { g as Q, c as K } from "./app-DqTMfqMo.js";
2
2
  var E = { exports: {} };
3
3
  (function(V, X) {
4
4
  (function(W, k) {
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as lA, createElementBlock as x, openBlock as T, normalizeStyle as gA, renderSlot as Qe, computed as LA, createBlock as rA, normalizeProps as $e, guardReactiveProps as Yg, withCtx as IA, createElementVNode as v, toDisplayString as K, resolveComponent as iA, createCommentVNode as AA, Fragment as tA, renderList as YA, normalizeClass as hA, createVNode as Z, unref as N, mergeProps as NA, useTemplateRef as aB, watch as wg, getCurrentInstance as Ag, withModifiers as Kg, createTextVNode as ae, inject as lB, ref as Ue, shallowRef as fB, onMounted as wB, onUnmounted as cB, h as PC, Text as dB, onActivated as uB } from "vue";
2
2
  import { _ as ZA } from "./Icon.vue_vue_type_style_index_0_lang-BcRjQndc.js";
3
3
  import { D as be, C as RC } from "./CircularProgress-DdblYCtV.js";
4
- import { m as DB, v as vB, k as pB, t as mB, z as hB, b as PB, e as RB, g as MB, c as bB } from "./app-BlFm1Tkh.js";
4
+ import { m as DB, v as vB, k as pB, t as mB, z as hB, b as PB, e as RB, g as MB, c as bB } from "./app-DqTMfqMo.js";
5
5
  import "@vue/devtools-api";
6
6
  import "@feedmepos/ui-library";
7
7
  function Ng(e) {
@@ -8173,7 +8173,7 @@ function ni(e, A, g, C) {
8173
8173
  return e.processor && (o.processor = e.processor), C.list && (o.list = C.list), C.named && (o.named = C.named), PA(C.plural) && (o.pluralIndex = C.plural), o;
8174
8174
  }
8175
8175
  cQ();
8176
- var ai = { env: { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_56314d19-3838-4179-ab6d-19f24bf48a1a", npm_package_devDependencies__types_node: "^20.12.5", DOTNET_NOLOGO: "1", npm_package_dependencies_pinia: "^2.1.7", USER: "runner", npm_config_user_agent: "pnpm/9.5.0 npm/? node/v24.14.1 linux x64", CI: "true", npm_package_dependencies_vue: "3.5.13", USE_BAZEL_FALLBACK_VERSION: "silent:", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_56314d19-3838-4179-ab6d-19f24bf48a1a", PIPX_HOME: "/opt/pipx", npm_package_dependencies_vue3_colorpicker: "^2.3.0", npm_package_devDependencies__tsconfig_node20: "^20.1.4", npm_package_devDependencies_tsc_alias: "^1.8.10", npm_package_devDependencies_vite: "^5.2.11", npm_node_execpath: "/opt/hostedtoolcache/node/24.14.1/x64/bin/node", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", SHLVL: "1", HCA_CLOUD_PROVIDER: "azure", npm_package_files_0: "dist", HOME: "/home/runner", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_build_mf_dev: "vite build --mode fmmf:dev", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "feedmepos", npm_package_scripts_build_mf_prod: "vite build --mode fmmf:prod", NODE_OPTIONS: "--max-old-space-size=8192", GRADLE_HOME: "/usr/share/gradle-9.6.1", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/29.0.14206865", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", npm_package_scripts_type_check: "vue-tsc --build --force", npm_package_dependencies__feedmepos_mf_common: "^1.26.3", npm_package_dependencies_opentype_js: "^1.3.4", npm_package_devDependencies_npm_run_all2: "^6.1.2", GITHUB_REPOSITORY_OWNER_ID: "54831515", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-Linux", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", SYSTEMD_EXEC_PID: "1809", ACTIONS_ORCHESTRATION_ID: "1af680fa-0148-4adb-a7e8-947743784c0b.deploy.__default", npm_package_dependencies__feedmepos_ui_library: "1.8.4", npm_package_dependencies_dayjs: "^1.11.13", npm_package_dependencies_dotenv: "^16.4.5", npm_package_dependencies_vue_accessible_color_picker: "^5.2.0", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_scripts_build_only_dev: "pnpm build:mf:dev && pnpm build:dts && pnpm build-types && cp package.json ./dist", npm_package_dependencies_i18next: "^25.1.1", npm_package_devDependencies_tailwindcss: "^3.4.3", npm_package_devDependencies_typescript: "~5.4.0", JAVA_HOME_25_X64: "/usr/lib/jvm/temurin-25-jdk-amd64", NVM_DIR: "/home/runner/.nvm", npm_package_scripts_build_only_prod: "pnpm build:mf:prod && pnpm build:dts && pnpm build-types && cp package.json ./dist", npm_package_devDependencies_vue_tsc: "^2.0.11", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20260720.247.2", npm_package_scripts_dev: "vite --mode dev", npm_package_devDependencies_prettier: "^3.2.5", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GITHUB_ARTIFACTS: "/home/runner/work/_temp/_runner_file_commands/artifacts_56314d19-3838-4179-ab6d-19f24bf48a1a", STORE_PATH: "/home/runner/setup-pnpm/node_modules/.bin/store/v3", SWIFT_PATH: "/usr/share/swift/usr/bin", npm_package_type: "module", npm_package_scripts_prod: "vite --mode prod", npm_package_dependencies__feedmepos_brand_core: "0.0.2-beta.4", npm_package_devDependencies__vue_tsconfig: "^0.5.1", npm_package_devDependencies_vite_plugin_vue_devtools: "^7.0.25", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", JOURNAL_STREAM: "9:12152", GITHUB_WORKFLOW: "[DEV/BETA] Publish Brand App Builder to NPM", _: "/home/runner/setup-pnpm/node_modules/.bin/pnpm", npm_package_module: "./dist/app.js", npm_package_devDependencies_autoprefixer: "^10.4.19", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.13/x64", npm_package_scripts_lint: "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", npm_package_devDependencies__types_uuid: "^9.0.8", npm_config_registry: "https://registry.npmjs.org", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GOROOT_1_25_X64: "/opt/hostedtoolcache/go/1.25.12/x64", GITHUB_RUN_ID: "30377662457", npm_package_scripts_deploy_npm_dev: "pnpm run build-only:dev && pnpm publish --tag beta --no-git-checks --access public .", npm_package_dependencies_vue_sonner: "^1.1.4", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "d5d6584bf9356f86c9dd7a854b02f16e109b5360", GOROOT_1_26_X64: "/opt/hostedtoolcache/go/1.26.5/x64", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_exports___import: "./dist/app.js", npm_package_scripts_deploy_npm_prod: "pnpm run build-only:prod && pnpm publish --tag latest --no-git-checks --access public .", npm_package_devDependencies__vitejs_plugin_vue: "^5.0.4", GITHUB_WORKFLOW_REF: "feedmepos/brand-app/.github/workflows/brand-app-npm-dev.yml@refs/heads/main", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_dependencies_axios: "^1.7.2", npm_config_node_gyp: "/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node_modules/node-gyp/bin/node-gyp.js", PATH: "/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node-gyp-bin:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node-gyp-bin:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node-gyp-bin:/home/runner/setup-pnpm/node_modules/.bin:/opt/hostedtoolcache/node/24.14.1/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_2d3e7bee-f845-41d7-b0b5-74e182f53a30", INVOCATION_ID: "08ab980138c64c56a793f9fb2805292a", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", NODE: "/opt/hostedtoolcache/node/24.14.1/x64/bin/node", npm_package_name: "@feedmepos/mf-brand-app-builder", npm_package_dependencies__formkit_vue: "^1.6.7", npm_package_devDependencies__types_qrcode: "^1.5.5", GITHUB_ACTION: "__run_7", GITHUB_RUN_NUMBER: "169", GITHUB_TRIGGERING_ACTOR: "buxkaizhe", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_config_frozen_lockfile: "", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_devDependencies__vue_eslint_config_typescript: "^13.0.0", npm_package_devDependencies_eslint: "^8.57.0", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000098939", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "main", GITHUB_REPOSITORY: "feedmepos/brand-app", npm_package_scripts_build_dts: "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.app.json --outDir ./dist && pnpm tsc-resolve", npm_package_scripts_build_types: "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.app.json --outDir dist --composite false && pnpm tsc-resolve", npm_package_dependencies__feedmepos_core: "^2.14.46", npm_lifecycle_script: "vite build --mode fmmf:dev", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_scripts_test: "node --test tests/*.test.mjs", npm_package_devDependencies__vue_eslint_config_prettier: "^9.0.0", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "810874788", GITHUB_ACTIONS: "true", NODE_PATH: "/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.25/node_modules/vite/bin/node_modules:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.25/node_modules/vite/node_modules:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.25/node_modules:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules", npm_package_version: "0.5.43-dev.1", npm_package_dependencies__feedmepos_hrm_permission: "1.0.10", npm_package_dependencies_vuedraggable: "^4.1.0", npm_package_devDependencies__rushstack_eslint_patch: "^1.8.0", npm_lifecycle_event: "build:mf:dev", GITHUB_REF_PROTECTED: "false", npm_package_scripts_build: 'run-p type-check "build-only {@}" --', npm_package_dependencies_uuid: "^9.0.1", npm_package_dependencies_vue_i18n: "^11.1.3", GITHUB_WORKSPACE: "/home/runner/work/brand-app/brand-app", ACCEPT_EULA: "Y", GITHUB_JOB: "deploy", GITHUB_SHA: "d5d6584bf9356f86c9dd7a854b02f16e109b5360", GITHUB_RUN_ATTEMPT: "1", npm_package_exports___style: "./dist/style.css", npm_package_scripts_tsc_resolve: "tsc-alias --project tsconfig.app.json --outDir dist", npm_package_dependencies_vue_router: "^4.3.2", ACTIONS_RUNNER_RETURN_JOB_RESULT_FOR_HOSTED: "1", GITHUB_REF: "refs/heads/main", GITHUB_ACTOR: "buxkaizhe", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_scripts_format: "prettier --write src/", npm_package_dependencies__formkit_core: "^1.6.7", npm_package_dependencies_monaco_editor: "^0.52.2", npm_package_dependencies_qrcode: "^1.5.4", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_56314d19-3838-4179-ab6d-19f24bf48a1a", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/brand-app/brand-app/client/merchant", GITHUB_ACTOR_ID: "53389118", RUNNER_WORKSPACE: "/home/runner/work/brand-app", npm_execpath: "/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/pnpm.cjs", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_56314d19-3838-4179-ab6d-19f24bf48a1a", npm_package_exports___types: "./dist/merchant/src/app.d.ts", npm_package_dependencies__feedmepos_feature_flag: "^0.0.15", npm_package_dependencies__monaco_editor_loader: "^1.5.0", EDGEWEBDRIVER: "/usr/local/share/edge_driver", PNPM_SCRIPT_SRC_DIR: "/home/runner/work/brand-app/brand-app/client/merchant", npm_package_devDependencies_eslint_plugin_vue: "^9.23.0", npm_package_devDependencies_postcss: "^8.4.38", npm_command: "run-script", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ARTIFACTS_LIST: "/home/runner/work/_temp/_runner_file_commands/artifacts_list_56314d19-3838-4179-ab6d-19f24bf48a1a", SGX_AESM_ADDR: "1", PSModulePath: "/root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules:/usr/share/az_15.6.1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_preview: "vite preview", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", PNPM_HOME: "/home/runner/setup-pnpm/node_modules/.bin", npm_package_devDependencies__types_opentype_js: "^1.3.8", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_56314d19-3838-4179-ab6d-19f24bf48a1a", INIT_CWD: "/home/runner/work/brand-app/brand-app/client/merchant", NODE_ENV: "production", VITE_MF_CLIENT_ID: "1a362d621873497b277ea55258cc82594ba148d235257f7bd44ea2acc132d8a4", VITE_IMAGE_URL: "https://image.feedmedev.cc", VITE_PWA_ICON_SERVICE: "https://pwa-icon-service.feedmeapidev.com", VITE_USER_URL: "https://{slug}.feedmedev.vip", VITE_MEMBER_URL: "https://{slug}.member.feedmedev.cc", VITE_BACKEND_URL: "https://api.feedmedev.vip", VITE_COUNTRY_CONFIG_URL: "https://country-config-dev.feedmeapi.com", VITE_ODS_PREVIEW_URL: "https://v2-dev.feedme-ods.pages.dev/", LAUNCH_EDITOR: "code" } };
8176
+ var ai = { env: { GITHUB_STATE: "/home/runner/work/_temp/_runner_file_commands/save_state_fc9967cb-e843-4815-8f2b-65422dcb286f", npm_package_devDependencies__types_node: "^20.12.5", DOTNET_NOLOGO: "1", npm_package_dependencies_pinia: "^2.1.7", USER: "runner", npm_config_user_agent: "pnpm/9.5.0 npm/? node/v24.14.1 linux x64", CI: "true", npm_package_dependencies_vue: "3.5.13", USE_BAZEL_FALLBACK_VERSION: "silent:", RUNNER_ENVIRONMENT: "github-hosted", GITHUB_ENV: "/home/runner/work/_temp/_runner_file_commands/set_env_fc9967cb-e843-4815-8f2b-65422dcb286f", PIPX_HOME: "/opt/pipx", npm_package_dependencies_vue3_colorpicker: "^2.3.0", npm_package_devDependencies__tsconfig_node20: "^20.1.4", npm_package_devDependencies_tsc_alias: "^1.8.10", npm_package_devDependencies_vite: "^5.2.11", npm_node_execpath: "/opt/hostedtoolcache/node/24.14.1/x64/bin/node", JAVA_HOME_8_X64: "/usr/lib/jvm/temurin-8-jdk-amd64", SHLVL: "1", HCA_CLOUD_PROVIDER: "azure", npm_package_files_0: "dist", HOME: "/home/runner", RUNNER_TEMP: "/home/runner/work/_temp", GITHUB_EVENT_PATH: "/home/runner/work/_temp/_github_workflow/event.json", npm_package_scripts_build_mf_dev: "vite build --mode fmmf:dev", JAVA_HOME_11_X64: "/usr/lib/jvm/temurin-11-jdk-amd64", PIPX_BIN_DIR: "/opt/pipx_bin", GITHUB_REPOSITORY_OWNER: "feedmepos", npm_package_scripts_build_mf_prod: "vite build --mode fmmf:prod", NODE_OPTIONS: "--max-old-space-size=8192", GRADLE_HOME: "/usr/share/gradle-9.6.1", ANDROID_NDK_LATEST_HOME: "/usr/local/lib/android/sdk/ndk/29.0.14206865", JAVA_HOME_21_X64: "/usr/lib/jvm/temurin-21-jdk-amd64", GITHUB_RETENTION_DAYS: "90", npm_package_scripts_type_check: "vue-tsc --build --force", npm_package_dependencies__feedmepos_mf_common: "^1.26.3", npm_package_dependencies_opentype_js: "^1.3.4", npm_package_devDependencies_npm_run_all2: "^6.1.2", GITHUB_REPOSITORY_OWNER_ID: "54831515", POWERSHELL_DISTRIBUTION_CHANNEL: "GitHub-Actions-Linux", AZURE_EXTENSION_DIR: "/opt/az/azcliextensions", GITHUB_HEAD_REF: "", SYSTEMD_EXEC_PID: "1786", ACTIONS_ORCHESTRATION_ID: "30f2c9cd-34c0-41db-941f-69cc370f97c0.deploy.__default", npm_package_dependencies__feedmepos_ui_library: "1.8.4", npm_package_dependencies_dayjs: "^1.11.13", npm_package_dependencies_dotenv: "^16.4.5", npm_package_dependencies_vue_accessible_color_picker: "^5.2.0", GITHUB_GRAPHQL_URL: "https://api.github.com/graphql", npm_package_scripts_build_only_dev: "pnpm build:mf:dev && pnpm build:dts && pnpm build-types && cp package.json ./dist", npm_package_dependencies_i18next: "^25.1.1", npm_package_devDependencies_tailwindcss: "^3.4.3", npm_package_devDependencies_typescript: "~5.4.0", JAVA_HOME_25_X64: "/usr/lib/jvm/temurin-25-jdk-amd64", NVM_DIR: "/home/runner/.nvm", npm_package_scripts_build_only_prod: "pnpm build:mf:prod && pnpm build:dts && pnpm build-types && cp package.json ./dist", npm_package_devDependencies_vue_tsc: "^2.0.11", DOTNET_SKIP_FIRST_TIME_EXPERIENCE: "1", JAVA_HOME_17_X64: "/usr/lib/jvm/temurin-17-jdk-amd64", ImageVersion: "20260720.247.2", npm_package_scripts_dev: "vite --mode dev", npm_package_devDependencies_prettier: "^3.2.5", LOGNAME: "runner", RUNNER_OS: "Linux", GITHUB_API_URL: "https://api.github.com", GITHUB_ARTIFACTS: "/home/runner/work/_temp/_runner_file_commands/artifacts_fc9967cb-e843-4815-8f2b-65422dcb286f", STORE_PATH: "/home/runner/setup-pnpm/node_modules/.bin/store/v3", SWIFT_PATH: "/usr/share/swift/usr/bin", npm_package_type: "module", npm_package_scripts_prod: "vite --mode prod", npm_package_dependencies__feedmepos_brand_core: "0.0.2-beta.4", npm_package_devDependencies__vue_tsconfig: "^0.5.1", npm_package_devDependencies_vite_plugin_vue_devtools: "^7.0.25", CHROMEWEBDRIVER: "/usr/local/share/chromedriver-linux64", JOURNAL_STREAM: "9:10114", GITHUB_WORKFLOW: "[DEV/BETA] Publish Brand App Builder to NPM", _: "/home/runner/setup-pnpm/node_modules/.bin/pnpm", npm_package_module: "./dist/app.js", npm_package_devDependencies_autoprefixer: "^10.4.19", MEMORY_PRESSURE_WATCH: "/sys/fs/cgroup/system.slice/hosted-compute-agent.service/memory.pressure", GOROOT_1_24_X64: "/opt/hostedtoolcache/go/1.24.13/x64", npm_package_scripts_lint: "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore", npm_package_devDependencies__types_uuid: "^9.0.8", npm_config_registry: "https://registry.npmjs.org", ACTIONS_RUNNER_ACTION_ARCHIVE_CACHE: "/opt/actionarchivecache", GOROOT_1_25_X64: "/opt/hostedtoolcache/go/1.25.12/x64", GITHUB_RUN_ID: "31676904449", npm_package_scripts_deploy_npm_dev: "pnpm run build-only:dev && pnpm publish --tag beta --no-git-checks --access public .", npm_package_dependencies_vue_sonner: "^1.1.4", GITHUB_REF_TYPE: "branch", BOOTSTRAP_HASKELL_NONINTERACTIVE: "1", GITHUB_WORKFLOW_SHA: "0ec2e0f0597e3628bd54acc747b5e6772de44fb0", GOROOT_1_26_X64: "/opt/hostedtoolcache/go/1.26.5/x64", GITHUB_BASE_REF: "", ImageOS: "ubuntu24", npm_package_exports___import: "./dist/app.js", npm_package_scripts_deploy_npm_prod: "pnpm run build-only:prod && pnpm publish --tag latest --no-git-checks --access public .", npm_package_devDependencies__vitejs_plugin_vue: "^5.0.4", GITHUB_WORKFLOW_REF: "feedmepos/brand-app/.github/workflows/brand-app-npm-dev.yml@refs/heads/feat/embed-miniprogram-v2-workspace", GITHUB_ACTION_REPOSITORY: "", ENABLE_RUNNER_TRACING: "true", npm_package_dependencies_axios: "^1.7.2", npm_config_node_gyp: "/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node_modules/node-gyp/bin/node-gyp.js", PATH: "/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node-gyp-bin:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node-gyp-bin:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.bin:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/dist/node-gyp-bin:/home/runner/setup-pnpm/node_modules/.bin:/opt/hostedtoolcache/node/24.14.1/x64/bin:/snap/bin:/home/runner/.local/bin:/opt/pipx_bin:/home/runner/.cargo/bin:/home/runner/.config/composer/vendor/bin:/usr/local/.ghcup/bin:/home/runner/.dotnet/tools:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin", ANT_HOME: "/usr/share/ant", DOTNET_MULTILEVEL_LOOKUP: "0", RUNNER_TRACKING_ID: "github_c6eebc3f-e23d-4f9b-8aa1-515565aceaec", INVOCATION_ID: "bf56f60d753644738c71e7decafe344b", RUNNER_TOOL_CACHE: "/opt/hostedtoolcache", NODE: "/opt/hostedtoolcache/node/24.14.1/x64/bin/node", npm_package_name: "@feedmepos/mf-brand-app-builder", npm_package_dependencies__formkit_vue: "^1.6.7", npm_package_devDependencies__types_qrcode: "^1.5.5", GITHUB_ACTION: "__run_7", GITHUB_RUN_NUMBER: "176", GITHUB_TRIGGERING_ACTOR: "mmjang", RUNNER_ARCH: "X64", XDG_RUNTIME_DIR: "/run/user/1001", AGENT_TOOLSDIRECTORY: "/opt/hostedtoolcache", npm_config_frozen_lockfile: "", LANG: "C.UTF-8", VCPKG_INSTALLATION_ROOT: "/usr/local/share/vcpkg", npm_package_devDependencies__vue_eslint_config_typescript: "^13.0.0", npm_package_devDependencies_eslint: "^8.57.0", CONDA: "/usr/share/miniconda", RUNNER_NAME: "GitHub Actions 1000109618", XDG_CONFIG_HOME: "/home/runner/.config", GITHUB_REF_NAME: "feat/embed-miniprogram-v2-workspace", GITHUB_REPOSITORY: "feedmepos/brand-app", npm_package_scripts_build_dts: "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.app.json --outDir ./dist && pnpm tsc-resolve", npm_package_scripts_build_types: "vue-tsc --declaration --emitDeclarationOnly -p tsconfig.app.json --outDir dist --composite false && pnpm tsc-resolve", npm_package_dependencies__feedmepos_core: "^2.14.46", npm_lifecycle_script: "vite build --mode fmmf:dev", ANDROID_NDK_ROOT: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ACTION_REF: "", DEBIAN_FRONTEND: "noninteractive", npm_package_scripts_test: "node --test tests/*.test.mjs", npm_package_devDependencies__vue_eslint_config_prettier: "^9.0.0", SHELL: "/bin/bash", GITHUB_REPOSITORY_ID: "810874788", GITHUB_ACTIONS: "true", NODE_PATH: "/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.25/node_modules/vite/bin/node_modules:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.25/node_modules/vite/node_modules:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/vite@5.4.21_@types+node@20.19.25/node_modules:/home/runner/work/brand-app/brand-app/client/merchant/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules:/home/runner/setup-pnpm/node_modules/.pnpm/node_modules", npm_package_version: "0.5.45-dev.1", npm_package_dependencies__feedmepos_hrm_permission: "1.0.10", npm_package_dependencies_vuedraggable: "^4.1.0", npm_package_devDependencies__rushstack_eslint_patch: "^1.8.0", npm_lifecycle_event: "build:mf:dev", GITHUB_REF_PROTECTED: "false", npm_package_scripts_build: 'run-p type-check "build-only {@}" --', npm_package_dependencies_uuid: "^9.0.1", npm_package_dependencies_vue_i18n: "^11.1.3", GITHUB_WORKSPACE: "/home/runner/work/brand-app/brand-app", ACCEPT_EULA: "Y", GITHUB_JOB: "deploy", GITHUB_SHA: "0ec2e0f0597e3628bd54acc747b5e6772de44fb0", GITHUB_RUN_ATTEMPT: "1", npm_package_exports___style: "./dist/style.css", npm_package_scripts_tsc_resolve: "tsc-alias --project tsconfig.app.json --outDir dist", npm_package_dependencies_vue_router: "^4.3.2", ACTIONS_RUNNER_RETURN_JOB_RESULT_FOR_HOSTED: "1", GITHUB_REF: "refs/heads/feat/embed-miniprogram-v2-workspace", GITHUB_ACTOR: "mmjang", ANDROID_SDK_ROOT: "/usr/local/lib/android/sdk", npm_package_scripts_format: "prettier --write src/", npm_package_dependencies__feedmepos_mf_miniprogram_v2: "https://registry.npmjs.org/@feedmepos/mf-miniprogram-v2/-/mf-miniprogram-v2-0.2.0-dev.2.tgz", npm_package_dependencies__formkit_core: "^1.6.7", npm_package_dependencies_monaco_editor: "^0.52.2", npm_package_dependencies_qrcode: "^1.5.4", GITHUB_PATH: "/home/runner/work/_temp/_runner_file_commands/add_path_fc9967cb-e843-4815-8f2b-65422dcb286f", JAVA_HOME: "/usr/lib/jvm/temurin-17-jdk-amd64", PWD: "/home/runner/work/brand-app/brand-app/client/merchant", GITHUB_ACTOR_ID: "5045203", RUNNER_WORKSPACE: "/home/runner/work/brand-app", npm_execpath: "/home/runner/setup-pnpm/node_modules/.pnpm/pnpm@9.5.0/node_modules/pnpm/bin/pnpm.cjs", HOMEBREW_CLEANUP_PERIODIC_FULL_DAYS: "3650", GITHUB_EVENT_NAME: "workflow_dispatch", HOMEBREW_NO_AUTO_UPDATE: "1", ANDROID_HOME: "/usr/local/lib/android/sdk", GITHUB_SERVER_URL: "https://github.com", GECKOWEBDRIVER: "/usr/local/share/gecko_driver", GHCUP_INSTALL_BASE_PREFIX: "/usr/local", GITHUB_OUTPUT: "/home/runner/work/_temp/_runner_file_commands/set_output_fc9967cb-e843-4815-8f2b-65422dcb286f", npm_package_exports___types: "./dist/merchant/src/app.d.ts", npm_package_dependencies__feedmepos_feature_flag: "^0.0.15", npm_package_dependencies__monaco_editor_loader: "^1.5.0", EDGEWEBDRIVER: "/usr/local/share/edge_driver", PNPM_SCRIPT_SRC_DIR: "/home/runner/work/brand-app/brand-app/client/merchant", npm_package_devDependencies_eslint_plugin_vue: "^9.23.0", npm_package_devDependencies_postcss: "^8.4.38", npm_command: "run-script", ANDROID_NDK: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_ARTIFACTS_LIST: "/home/runner/work/_temp/_runner_file_commands/artifacts_list_fc9967cb-e843-4815-8f2b-65422dcb286f", SGX_AESM_ADDR: "1", PSModulePath: "/root/.local/share/powershell/Modules:/usr/local/share/powershell/Modules:/opt/microsoft/powershell/7/Modules:/usr/share/az_15.6.1", CHROME_BIN: "/usr/bin/google-chrome", npm_package_scripts_preview: "vite preview", SELENIUM_JAR_PATH: "/usr/share/java/selenium-server.jar", MEMORY_PRESSURE_WRITE: "c29tZSAyMDAwMDAgMjAwMDAwMAA=", PNPM_HOME: "/home/runner/setup-pnpm/node_modules/.bin", npm_package_devDependencies__types_opentype_js: "^1.3.8", ANDROID_NDK_HOME: "/usr/local/lib/android/sdk/ndk/27.3.13750724", GITHUB_STEP_SUMMARY: "/home/runner/work/_temp/_runner_file_commands/step_summary_fc9967cb-e843-4815-8f2b-65422dcb286f", INIT_CWD: "/home/runner/work/brand-app/brand-app/client/merchant", NODE_ENV: "production", VITE_MF_CLIENT_ID: "1a362d621873497b277ea55258cc82594ba148d235257f7bd44ea2acc132d8a4", VITE_IMAGE_URL: "https://image.feedmedev.cc", VITE_PWA_ICON_SERVICE: "https://pwa-icon-service.feedmeapidev.com", VITE_USER_URL: "https://{slug}.feedmedev.vip", VITE_MEMBER_URL: "https://{slug}.member.feedmedev.cc", VITE_BACKEND_URL: "https://api.feedmedev.vip", VITE_COUNTRY_CONFIG_URL: "https://country-config-dev.feedmeapi.com", VITE_ODS_PREVIEW_URL: "https://v2-dev.feedme-ods.pages.dev/", LAUNCH_EDITOR: "code" } };
8177
8177
  const li = "11.1.7";
8178
8178
  function fi() {
8179
8179
  typeof __VUE_I18N_FULL_INSTALL__ != "boolean" && (ne().__VUE_I18N_FULL_INSTALL__ = !0), typeof __VUE_I18N_LEGACY_API__ != "boolean" && (ne().__VUE_I18N_LEGACY_API__ = !0), typeof __INTLIFY_DROP_MESSAGE_COMPILER__ != "boolean" && (ne().__INTLIFY_DROP_MESSAGE_COMPILER__ = !1), typeof __INTLIFY_PROD_DEVTOOLS__ != "boolean" && (ne().__INTLIFY_PROD_DEVTOOLS__ = !1);
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@feedmepos/mf-brand-app-builder",
3
- "version": "0.5.43-dev.1",
3
+ "version": "0.5.45-dev.1",
4
4
  "type": "module",
5
5
  "files": [
6
6
  "dist"
@@ -38,6 +38,7 @@
38
38
  "@feedmepos/feature-flag": "^0.0.15",
39
39
  "@feedmepos/hrm-permission": "1.0.10",
40
40
  "@feedmepos/mf-common": "^1.26.3",
41
+ "@feedmepos/mf-miniprogram-v2": "https://registry.npmjs.org/@feedmepos/mf-miniprogram-v2/-/mf-miniprogram-v2-0.2.0-dev.2.tgz",
41
42
  "@feedmepos/ui-library": "1.8.4",
42
43
  "@formkit/core": "^1.6.7",
43
44
  "@formkit/vue": "^1.6.7",
package/dist/style.css CHANGED
@@ -1 +1 @@
1
- @charset "UTF-8";.vacp-color-picker{max-inline-size:var(--vacp-width-color-space, 300px);padding:var(--vacp-spacing, 6px);display:grid;grid-gap:var(--vacp-spacing, 6px);grid-template-columns:1fr min-content;font-size:var(--vacp-font-size, .8em);font-family:var(--vacp-font-family, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif);color:var(--vacp-color-text, currentColor);background-color:var(--vacp-color-background, #fff)}.vacp-color-picker,.vacp-color-picker *,.vacp-color-picker *:before,.vacp-color-picker *:after{box-sizing:border-box}.vacp-color-picker :focus{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-color-picker button::-moz-focus-inner{border:none;padding:0}:where(.vacp-color-picker) button{inline-size:calc(var(--vacp-spacing, 6px) * 6);block-size:calc(var(--vacp-spacing, 6px) * 6);margin:0;padding:var(--vacp-spacing, 6px);display:flex;align-items:center;justify-content:center;border:var(--vacp-width-border, 1px) solid transparent;border-radius:50%;font:inherit;color:var(--vacp-color-text-input, currentColor);background-color:var(--vacp-color-background-input, #fff)}:where(.vacp-color-picker) button:focus{border-color:var(--vacp-color-border, #000)}:where(.vacp-color-picker) button:enabled:hover{background-color:#0002}.vacp-color-space{grid-column:1/-1;overflow:hidden;aspect-ratio:1/.6}.vacp-color-space-thumb{--vacp-thumb-size: calc(var(--vacp-spacing, 6px) * 4);inline-size:var(--vacp-thumb-size);block-size:var(--vacp-thumb-size);margin-inline-start:calc(-1 * var(--vacp-thumb-size) / 2);margin-block-end:calc(-1 * var(--vacp-thumb-size) / 2);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);transform:rotate(0)}.vacp-color-space-thumb:focus{outline-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000),0 0 0 calc(var(--vacp-width-border, 1px) + 2px) var(--vacp-color-focus, #19f)}.vacp-range-input-label{--vacp-slider-track-height: calc(var(--vacp-spacing, 6px) * 3);--vacp-slider-thumb-size: calc(var(--vacp-spacing, 6px) * 4 - var(--vacp-width-border, 1px) * 2);display:block}.vacp-range-input-group{display:flex;flex-direction:column;justify-content:center}.vacp-range-input-group>:not(:first-child){margin-block-start:var(--vacp-spacing, 6px)}.vacp-range-input,.vacp-range-input::-webkit-slider-thumb{-webkit-appearance:none}.vacp-range-input{display:block;inline-size:100%;block-size:var(--vacp-slider-track-height);margin-inline:0;margin-block:calc(var(--vacp-spacing, 6px) / 2 + 1px);padding:0;border:none;background:none}.vacp-range-input:focus{outline:none}.vacp-range-input::-moz-focus-outer{border:none}.vacp-range-input--alpha{background-color:#fff;background-image:linear-gradient(45deg,#eee 25%,transparent 25%,transparent 75%,#eee 75%,#eee),linear-gradient(45deg,#eee 25%,transparent 25%,transparent 75%,#eee 75%,#eee);background-size:calc(var(--vacp-spacing, 6px) * 2) calc(var(--vacp-spacing, 6px) * 2);background-position:0 0,var(--vacp-spacing, 6px) var(--vacp-spacing, 6px)}.vacp-range-input::-moz-range-track{box-sizing:border-box;inline-size:100%;block-size:var(--vacp-slider-track-height);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000)}.vacp-range-input::-webkit-slider-runnable-track{box-sizing:border-box;inline-size:100%;block-size:var(--vacp-slider-track-height);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000)}.vacp-range-input::-ms-track{box-sizing:border-box;inline-size:100%;block-size:var(--vacp-slider-track-height);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000)}.vacp-range-input:focus::-moz-range-track{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-range-input:focus::-webkit-slider-runnable-track{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-range-input:focus::-ms-track{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-range-input--alpha::-moz-range-track{background-image:linear-gradient(to right,transparent,var(--vacp-color))}.vacp-range-input--alpha::-webkit-slider-runnable-track{background-image:linear-gradient(to right,transparent,var(--vacp-color))}.vacp-range-input--alpha::-ms-track{background-image:linear-gradient(to right,transparent,var(--vacp-color))}.vacp-range-input--hue::-moz-range-track{background-image:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.vacp-range-input--hue::-webkit-slider-runnable-track{background-image:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.vacp-range-input--hue::-ms-track{background-image:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.vacp-range-input::-moz-range-thumb{box-sizing:border-box;inline-size:var(--vacp-slider-thumb-size);block-size:var(--vacp-slider-thumb-size);border:3px solid #fff;border-radius:50%;background-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);isolation:isolate}.vacp-range-input::-webkit-slider-thumb{box-sizing:border-box;inline-size:var(--vacp-slider-thumb-size);block-size:var(--vacp-slider-thumb-size);margin-block-start:calc(-1 * var(--vacp-spacing, 6px) / 2);border:3px solid #fff;border-radius:50%;background-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);isolation:isolate}.vacp-range-input::-ms-thumb{box-sizing:border-box;inline-size:var(--vacp-slider-thumb-size);block-size:var(--vacp-slider-thumb-size);margin-block-start:calc(-1 * var(--vacp-spacing, 6px) / 2);border:3px solid #fff;border-radius:50%;background-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);isolation:isolate}.vacp-actions{justify-self:center;align-self:center;display:flex;gap:var(--vacp-spacing, 6px);align-items:center}.vacp-color-inputs{grid-column:1/-1;display:flex;align-items:center}.vacp-color-inputs>:not(:first-child){margin-inline-start:var(--vacp-spacing, 6px)}.vacp-color-input-group{flex-grow:1;display:grid;grid-auto-flow:column;-moz-column-gap:var(--vacp-spacing, 6px);column-gap:var(--vacp-spacing, 6px)}.vacp-color-input-label{text-align:center}.vacp-color-input{width:100%;margin:0;margin-block-start:calc(var(--vacp-spacing, 6px) / 2);padding:var(--vacp-spacing, 6px);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000);font:inherit;text-align:center;color:inherit;color:var(--vacp-color-text-input, currentColor);background-color:var(--vacp-color-background-input, #fff)}.vacp-format-switch-button{flex-shrink:0}.vacp-visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);inline-size:1px;block-size:1px;margin:-1px;padding:0;border:0;white-space:nowrap}.json-editor[data-v-5f3f5512]{width:100%;min-height:400px;height:100%;border:1px solid #ccc;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.error-banner[data-v-5f3f5512]{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#fee;border-bottom:1px solid #fcc;color:#c33;font-size:12px;min-height:32px}.error-icon[data-v-5f3f5512]{font-size:14px}.error-text[data-v-5f3f5512]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-container[data-v-5f3f5512]{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;background-color:#f9f9f9}.loading-spinner[data-v-5f3f5512]{width:20px;height:20px;border:2px solid #e1e5e9;border-left-color:#007acc;border-radius:50%;animation:spin-5f3f5512 1s linear infinite}.loading-text[data-v-5f3f5512]{color:#666;font-size:14px}@keyframes spin-5f3f5512{to{transform:rotate(360deg)}}.editor-container[data-v-5f3f5512]{flex:1;width:100%}.editor-container.has-error[data-v-5f3f5512]{border-top:1px solid #fcc}.fade-enter-from[data-v-c0ceb201]{opacity:0}.fade-enter-to[data-v-c0ceb201],.fade-leave-from[data-v-c0ceb201]{opacity:1}.fade-leave-to[data-v-c0ceb201]{opacity:0}.fade-enter-active[data-v-c0ceb201],.fade-leave-active[data-v-c0ceb201]{transition:opacity .5s ease}.collapse-enter-active[data-v-97e57f6e],.collapse-leave-active[data-v-97e57f6e]{transition:max-height .3s ease}.collapse-enter-from[data-v-97e57f6e],.collapse-leave-to[data-v-97e57f6e]{max-height:0}.collapse-enter-to[data-v-97e57f6e],.collapse-leave-from[data-v-97e57f6e]{max-height:999px}.icon-rounded{font-variation-settings:"FILL" 0}.icon-filled{font-variation-settings:"FILL" 1}.spinner[data-v-3c8691e9]{animation:progress-circular-dash-3c8691e9 2s ease-in-out infinite,progress-circular-rotate-3c8691e9 2s linear infinite;transform-origin:center center}@keyframes progress-circular-dash-3c8691e9{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-48px}}@keyframes progress-circular-rotate-3c8691e9{to{transform:rotate(720deg)}}swiper-container::part(bullet-active){height:6px;width:18px;border-radius:6px;background-color:var(--fm-color-primary)}swiper-container::part(bullet){opacity:1;height:6px;width:6px;border-radius:9999;background-color:var(--fm-color-neutral-white)}.fm-stepper-field--input{text-align:end}.bg-checkerboard{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px}
1
+ @charset "UTF-8";.vacp-color-picker{max-inline-size:var(--vacp-width-color-space, 300px);padding:var(--vacp-spacing, 6px);display:grid;grid-gap:var(--vacp-spacing, 6px);grid-template-columns:1fr min-content;font-size:var(--vacp-font-size, .8em);font-family:var(--vacp-font-family, -apple-system, BlinkMacSystemFont, Segoe UI, Arial, sans-serif);color:var(--vacp-color-text, currentColor);background-color:var(--vacp-color-background, #fff)}.vacp-color-picker,.vacp-color-picker *,.vacp-color-picker *:before,.vacp-color-picker *:after{box-sizing:border-box}.vacp-color-picker :focus{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-color-picker button::-moz-focus-inner{border:none;padding:0}:where(.vacp-color-picker) button{inline-size:calc(var(--vacp-spacing, 6px) * 6);block-size:calc(var(--vacp-spacing, 6px) * 6);margin:0;padding:var(--vacp-spacing, 6px);display:flex;align-items:center;justify-content:center;border:var(--vacp-width-border, 1px) solid transparent;border-radius:50%;font:inherit;color:var(--vacp-color-text-input, currentColor);background-color:var(--vacp-color-background-input, #fff)}:where(.vacp-color-picker) button:focus{border-color:var(--vacp-color-border, #000)}:where(.vacp-color-picker) button:enabled:hover{background-color:#0002}.vacp-color-space{grid-column:1/-1;overflow:hidden;aspect-ratio:1/.6}.vacp-color-space-thumb{--vacp-thumb-size: calc(var(--vacp-spacing, 6px) * 4);inline-size:var(--vacp-thumb-size);block-size:var(--vacp-thumb-size);margin-inline-start:calc(-1 * var(--vacp-thumb-size) / 2);margin-block-end:calc(-1 * var(--vacp-thumb-size) / 2);border:3px solid #fff;border-radius:50%;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);transform:rotate(0)}.vacp-color-space-thumb:focus{outline-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000),0 0 0 calc(var(--vacp-width-border, 1px) + 2px) var(--vacp-color-focus, #19f)}.vacp-range-input-label{--vacp-slider-track-height: calc(var(--vacp-spacing, 6px) * 3);--vacp-slider-thumb-size: calc(var(--vacp-spacing, 6px) * 4 - var(--vacp-width-border, 1px) * 2);display:block}.vacp-range-input-group{display:flex;flex-direction:column;justify-content:center}.vacp-range-input-group>:not(:first-child){margin-block-start:var(--vacp-spacing, 6px)}.vacp-range-input,.vacp-range-input::-webkit-slider-thumb{-webkit-appearance:none}.vacp-range-input{display:block;inline-size:100%;block-size:var(--vacp-slider-track-height);margin-inline:0;margin-block:calc(var(--vacp-spacing, 6px) / 2 + 1px);padding:0;border:none;background:none}.vacp-range-input:focus{outline:none}.vacp-range-input::-moz-focus-outer{border:none}.vacp-range-input--alpha{background-color:#fff;background-image:linear-gradient(45deg,#eee 25%,transparent 25%,transparent 75%,#eee 75%,#eee),linear-gradient(45deg,#eee 25%,transparent 25%,transparent 75%,#eee 75%,#eee);background-size:calc(var(--vacp-spacing, 6px) * 2) calc(var(--vacp-spacing, 6px) * 2);background-position:0 0,var(--vacp-spacing, 6px) var(--vacp-spacing, 6px)}.vacp-range-input::-moz-range-track{box-sizing:border-box;inline-size:100%;block-size:var(--vacp-slider-track-height);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000)}.vacp-range-input::-webkit-slider-runnable-track{box-sizing:border-box;inline-size:100%;block-size:var(--vacp-slider-track-height);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000)}.vacp-range-input::-ms-track{box-sizing:border-box;inline-size:100%;block-size:var(--vacp-slider-track-height);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000)}.vacp-range-input:focus::-moz-range-track{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-range-input:focus::-webkit-slider-runnable-track{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-range-input:focus::-ms-track{outline:2px solid var(--vacp-color-focus, #19f)}.vacp-range-input--alpha::-moz-range-track{background-image:linear-gradient(to right,transparent,var(--vacp-color))}.vacp-range-input--alpha::-webkit-slider-runnable-track{background-image:linear-gradient(to right,transparent,var(--vacp-color))}.vacp-range-input--alpha::-ms-track{background-image:linear-gradient(to right,transparent,var(--vacp-color))}.vacp-range-input--hue::-moz-range-track{background-image:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.vacp-range-input--hue::-webkit-slider-runnable-track{background-image:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.vacp-range-input--hue::-ms-track{background-image:linear-gradient(to right,red,#ff0,#0f0,#0ff,#00f,#f0f,red)}.vacp-range-input::-moz-range-thumb{box-sizing:border-box;inline-size:var(--vacp-slider-thumb-size);block-size:var(--vacp-slider-thumb-size);border:3px solid #fff;border-radius:50%;background-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);isolation:isolate}.vacp-range-input::-webkit-slider-thumb{box-sizing:border-box;inline-size:var(--vacp-slider-thumb-size);block-size:var(--vacp-slider-thumb-size);margin-block-start:calc(-1 * var(--vacp-spacing, 6px) / 2);border:3px solid #fff;border-radius:50%;background-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);isolation:isolate}.vacp-range-input::-ms-thumb{box-sizing:border-box;inline-size:var(--vacp-slider-thumb-size);block-size:var(--vacp-slider-thumb-size);margin-block-start:calc(-1 * var(--vacp-spacing, 6px) / 2);border:3px solid #fff;border-radius:50%;background-color:transparent;box-shadow:0 0 0 var(--vacp-width-border, 1px) var(--vacp-color-border, #000);isolation:isolate}.vacp-actions{justify-self:center;align-self:center;display:flex;gap:var(--vacp-spacing, 6px);align-items:center}.vacp-color-inputs{grid-column:1/-1;display:flex;align-items:center}.vacp-color-inputs>:not(:first-child){margin-inline-start:var(--vacp-spacing, 6px)}.vacp-color-input-group{flex-grow:1;display:grid;grid-auto-flow:column;-moz-column-gap:var(--vacp-spacing, 6px);column-gap:var(--vacp-spacing, 6px)}.vacp-color-input-label{text-align:center}.vacp-color-input{width:100%;margin:0;margin-block-start:calc(var(--vacp-spacing, 6px) / 2);padding:var(--vacp-spacing, 6px);border:var(--vacp-width-border, 1px) solid var(--vacp-color-border, #000);font:inherit;text-align:center;color:inherit;color:var(--vacp-color-text-input, currentColor);background-color:var(--vacp-color-background-input, #fff)}.vacp-format-switch-button{flex-shrink:0}.vacp-visually-hidden{position:absolute;overflow:hidden;clip:rect(0 0 0 0);inline-size:1px;block-size:1px;margin:-1px;padding:0;border:0;white-space:nowrap}.json-editor[data-v-5f3f5512]{width:100%;min-height:400px;height:100%;border:1px solid #ccc;border-radius:4px;overflow:hidden;display:flex;flex-direction:column}.error-banner[data-v-5f3f5512]{display:flex;align-items:center;gap:8px;padding:8px 12px;background-color:#fee;border-bottom:1px solid #fcc;color:#c33;font-size:12px;min-height:32px}.error-icon[data-v-5f3f5512]{font-size:14px}.error-text[data-v-5f3f5512]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading-container[data-v-5f3f5512]{flex:1;display:flex;align-items:center;justify-content:center;gap:12px;background-color:#f9f9f9}.loading-spinner[data-v-5f3f5512]{width:20px;height:20px;border:2px solid #e1e5e9;border-left-color:#007acc;border-radius:50%;animation:spin-5f3f5512 1s linear infinite}.loading-text[data-v-5f3f5512]{color:#666;font-size:14px}@keyframes spin-5f3f5512{to{transform:rotate(360deg)}}.editor-container[data-v-5f3f5512]{flex:1;width:100%}.editor-container.has-error[data-v-5f3f5512]{border-top:1px solid #fcc}.fade-enter-from[data-v-8e944979]{opacity:0}.fade-enter-to[data-v-8e944979],.fade-leave-from[data-v-8e944979]{opacity:1}.fade-leave-to[data-v-8e944979]{opacity:0}.fade-enter-active[data-v-8e944979],.fade-leave-active[data-v-8e944979]{transition:opacity .5s ease}.collapse-enter-active[data-v-2195ed7a],.collapse-leave-active[data-v-2195ed7a]{transition:max-height .3s ease}.collapse-enter-from[data-v-2195ed7a],.collapse-leave-to[data-v-2195ed7a]{max-height:0}.collapse-enter-to[data-v-2195ed7a],.collapse-leave-from[data-v-2195ed7a]{max-height:999px}.icon-rounded{font-variation-settings:"FILL" 0}.icon-filled{font-variation-settings:"FILL" 1}.spinner[data-v-3c8691e9]{animation:progress-circular-dash-3c8691e9 2s ease-in-out infinite,progress-circular-rotate-3c8691e9 2s linear infinite;transform-origin:center center}@keyframes progress-circular-dash-3c8691e9{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:100,200;stroke-dashoffset:-15px}to{stroke-dasharray:100,200;stroke-dashoffset:-48px}}@keyframes progress-circular-rotate-3c8691e9{to{transform:rotate(720deg)}}swiper-container::part(bullet-active){height:6px;width:18px;border-radius:6px;background-color:var(--fm-color-primary)}swiper-container::part(bullet){opacity:1;height:6px;width:6px;border-radius:9999;background-color:var(--fm-color-neutral-white)}.fm-stepper-field--input{text-align:end}.bg-checkerboard{background-image:linear-gradient(45deg,#ccc 25%,transparent 25%),linear-gradient(-45deg,#ccc 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#ccc 75%),linear-gradient(-45deg,transparent 75%,#ccc 75%);background-size:10px 10px;background-position:0 0,0 5px,5px -5px,-5px 0px}