@feedmepos/mf-brand-app-builder 0.5.30-dev.1 → 0.5.30-dev.12

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 { c as i, d as o, i as e, r as m } from "./app-CV1GhLxi.js";
2
+ import { c as i, d as o, i as e, r as m } from "./app-Z2a2jnO3.js";
3
3
  export {
4
4
  i as FmApp,
5
5
  o as FormKitPlugin,
@@ -87,15 +87,40 @@ export type BrandKit = BaseBrandKit & {
87
87
  app?: LayoutConfig;
88
88
  kiosk?: LayoutConfig;
89
89
  };
90
- ods?: {
91
- brandkitOverride?: RecursivePartial<BaseBrandKit>;
92
- layout?: OdsLayoutConfig;
93
- display?: OdsDisplayConfig;
94
- };
90
+ ods?: OdsConfigEntry[];
91
+ };
92
+ export type OdsConfigEntry = {
93
+ /** Display name for this config entry, e.g. "Flagship", "Express". */
94
+ label?: string;
95
+ /** Whether this is the default config applied to all unmatched restaurants. */
96
+ isDefault: boolean;
97
+ /** Restaurant IDs this config applies to. Ignored when `isDefault` is true. */
98
+ restaurantIds?: string[];
99
+ brandkitOverride?: RecursivePartial<BaseBrandKit>;
100
+ layout?: OdsLayoutConfig;
101
+ display?: OdsDisplayConfig;
95
102
  };
96
103
  export type BrandkitOverrideBy = 'app' | 'kiosk';
104
+ /**
105
+ * Controls what appears at the bottom of the ODS screen.
106
+ *
107
+ * - `feedme` – Default "Powered by FeedMe" footer bar with settings on click.
108
+ * - `settingsIcon` – No footer bar; a floating settings gear icon appears at
109
+ * the bottom-right on mouse/touch activity and auto-hides
110
+ * after ~10 seconds of inactivity.
111
+ */
112
+ export type OdsFooterMode = 'feedme' | 'settingsIcon';
97
113
  export type OrderGroupingMode = 'type' | 'status';
98
114
  export type OrderStatusBoardLayout = 'horizontal' | 'vertical';
115
+ /**
116
+ * Pre-built templates for the status board sections (preparing / ready).
117
+ *
118
+ * - `default` – Standard ODS StatusOrderSection (current behaviour).
119
+ * - `bordered-card` – Gold-bordered cards with inline titles, order cards with numbering + platform logos.
120
+ * - `floating-tab` – Gray-bordered card with a floating tab title, minimal order text grid.
121
+ * - `centered-pill` – Pill-shaped container with centered gold title + underline, single-column grid.
122
+ */
123
+ export type StatusSectionTemplateName = 'default' | 'bordered-card' | 'floating-tab' | 'centered-pill';
99
124
  export type OdsLayoutConfig = {
100
125
  /** Background image covering the full screen, behind everything. */
101
126
  background?: {
@@ -128,6 +153,13 @@ export type OdsLayoutConfig = {
128
153
  * default: 'left'
129
154
  */
130
155
  boardAlign?: 'left' | 'right' | 'center';
156
+ /**
157
+ * Footer mode for the ODS screen.
158
+ * - `feedme` (default): shows "Powered by FeedMe" footer bar.
159
+ * - `settingsIcon`: hides footer bar, shows a floating settings icon
160
+ * at bottom-right that auto-hides after ~10s of inactivity.
161
+ */
162
+ footerMode?: OdsFooterMode;
131
163
  };
132
164
  export type OdsDisplayConfig = {
133
165
  groupBy: OrderGroupingMode;
@@ -138,6 +170,20 @@ export type OdsDisplayConfig = {
138
170
  statusColumnCount: number;
139
171
  /** Show delivery platform icon next to order numbers in status board. */
140
172
  showDeliveryIcons: boolean;
173
+ /** Show the In Restaurant / Delivery tabs on the order board when groupBy is 'type'. */
174
+ showOrderTypeTabs: boolean;
175
+ /** Show order count, drinks, and food statistics in the preparing section header. */
176
+ showOrderCount: boolean;
177
+ /** Show estimated waiting time in the preparing section header. Default false. */
178
+ showEstimatedTime: boolean;
179
+ /**
180
+ * Named template for the horizontal status board.
181
+ * When set to a non-default value, replaces the entire horizontal status
182
+ * board content with a custom template component.
183
+ * Only applies when statusLayout is 'horizontal'.
184
+ * default: 'default'
185
+ */
186
+ statusTemplate?: StatusSectionTemplateName;
141
187
  };
142
188
  export type ApplyBrandKitOptions = {
143
189
  overrideBy?: BrandkitOverrideBy;
@@ -145,11 +191,12 @@ export type ApplyBrandKitOptions = {
145
191
  export type FdoMetadata = {
146
192
  type: 'BUSINESS' | 'RESTAURANT';
147
193
  country: string;
148
- pwaConfig: {
194
+ businessId?: string;
195
+ pwaConfig?: {
149
196
  short_name: string;
150
197
  name: string;
151
198
  background_color: string;
152
199
  theme_color: string;
153
200
  };
154
- brandkit: BrandKit | null;
201
+ brandkit?: BrandKit | null;
155
202
  };
@@ -39,14 +39,14 @@ const S = /* @__PURE__ */ new Set(), T = {
39
39
  colors: {
40
40
  primary: "#ff7823",
41
41
  secondary: "#fff3e6",
42
- accent: "#fff3e6",
42
+ accent: "#B25300",
43
43
  background: {
44
44
  base: "#F8F8F8",
45
45
  elevated: "#FFFFFF"
46
46
  },
47
47
  neutral: {
48
48
  light: "#ECF0F0",
49
- mid: "#555555",
49
+ mid: "#B2B3B6",
50
50
  dark: "#1C1C1E"
51
51
  },
52
52
  text: {
@@ -82,7 +82,7 @@ const S = /* @__PURE__ */ new Set(), T = {
82
82
  fontFamilies: []
83
83
  };
84
84
  function V(a = T, f, u) {
85
- var c, d, m, p, g, b, F, h, x, E, w, k, B, I, P, A;
85
+ var c, d, m, p, g, b, F, h, x, B, E, w, k, I, P, A;
86
86
  const y = {}, o = document.documentElement, n = (i, r) => {
87
87
  r && o.style.setProperty(`--brand-${i}`, r);
88
88
  }, { fonts: e } = a, t = y.overrideBy ? (m = (d = (c = a.ordering) == null ? void 0 : c[y.overrideBy]) == null ? void 0 : d.brandkitOverride) == null ? void 0 : m.colors : void 0, s = {
@@ -100,12 +100,12 @@ function V(a = T, f, u) {
100
100
  },
101
101
  status: {
102
102
  success: ((x = t == null ? void 0 : t.status) == null ? void 0 : x.success) ?? a.colors.status.success,
103
- warning: ((E = t == null ? void 0 : t.status) == null ? void 0 : E.warning) ?? a.colors.status.warning,
104
- error: ((w = t == null ? void 0 : t.status) == null ? void 0 : w.error) ?? a.colors.status.error,
105
- info: ((k = t == null ? void 0 : t.status) == null ? void 0 : k.info) ?? a.colors.status.info
103
+ warning: ((B = t == null ? void 0 : t.status) == null ? void 0 : B.warning) ?? a.colors.status.warning,
104
+ error: ((E = t == null ? void 0 : t.status) == null ? void 0 : E.error) ?? a.colors.status.error,
105
+ info: ((w = t == null ? void 0 : t.status) == null ? void 0 : w.info) ?? a.colors.status.info
106
106
  },
107
107
  text: {
108
- onPrimary: ((B = t == null ? void 0 : t.text) == null ? void 0 : B.onPrimary) ?? a.colors.text.onPrimary,
108
+ onPrimary: ((k = t == null ? void 0 : t.text) == null ? void 0 : k.onPrimary) ?? a.colors.text.onPrimary,
109
109
  primary: ((I = t == null ? void 0 : t.text) == null ? void 0 : I.primary) ?? a.colors.text.primary,
110
110
  secondary: ((P = t == null ? void 0 : t.text) == null ? void 0 : P.secondary) ?? a.colors.text.secondary,
111
111
  tertiary: ((A = t == null ? void 0 : t.text) == null ? void 0 : A.tertiary) ?? a.colors.text.tertiary