@wix/himalaya-cli 0.1072.0 → 0.1074.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -224,5 +224,23 @@ export interface AppConfigDocument {
224
224
  * `/v1/boot` uses this too, so the first-paint optimization cannot drift from
225
225
  * the authoritative per-document fallback in locale handling, overrides, or
226
226
  * navigation-bundle expansion. */
227
+ /** Every linkable-screen entry with all five fields — the defaults Kotlin and Swift apply. Binaries
228
+ * shipped before #3318 decode a linkable screen with all five REQUIRED and drop the whole
229
+ * NavigationConfig when one is missing, so nothing served may carry a partial entry. */
230
+ export declare function completeLinkableScreens<T extends {
231
+ screenId: string;
232
+ isPublic?: boolean;
233
+ paramKeys?: string[];
234
+ parentScreenId?: string;
235
+ tabId?: string;
236
+ }>(list: readonly T[]): (T & {
237
+ isPublic: boolean;
238
+ paramKeys: string[];
239
+ parentScreenId: string;
240
+ tabId: string;
241
+ })[];
242
+ /** A merged (overridden) config with its linkable screens completed — ONE rule for every place that
243
+ * shows or serves the effective config, so the admin view and the device payload cannot diverge. */
244
+ export declare function withCompleteLinkables<T extends object>(cfg: T): T;
227
245
  export declare function buildAppConfigDocument(req: IncomingMessage, meta: DerivedAppMeta, override?: Record<string, unknown>, bundleCtx?: NavBundleContext): AppConfigDocument;
228
246
  export declare function handleAppConfigRequest(req: IncomingMessage, res: ServerResponse, meta: DerivedAppMeta, override?: Record<string, unknown>, bundleCtx?: NavBundleContext): void;
package/dist/cli.mjs CHANGED
@@ -27757,6 +27757,13 @@ function fitZoom(pts, w, h, fallback) {
27757
27757
  }
27758
27758
  return 1;
27759
27759
  }
27760
+ function layoutScale(el) {
27761
+ const r = el.getBoundingClientRect();
27762
+ return {
27763
+ kx: r.width > 0 && el.offsetWidth > 0 ? el.offsetWidth / r.width : 1,
27764
+ ky: r.height > 0 && el.offsetHeight > 0 ? el.offsetHeight / r.height : 1
27765
+ };
27766
+ }
27760
27767
  function parseLocalDate(when) {
27761
27768
  if (when == null || when === "") return null;
27762
27769
  if (typeof when === "string") {
@@ -31752,18 +31759,18 @@ var init_renderNode = __esm({
31752
31759
  }), [JSON.stringify(shapesRaw)]);
31753
31760
  const boundCameraRaw = useResolvedScalar(props.cameraPath, ctx);
31754
31761
  const commandedCamera = React5.useMemo(() => decodeCamera(boundCameraRaw), [boundCameraRaw]);
31755
- const boxRef = React5.useRef(null);
31756
31762
  const [box, setBox] = React5.useState({ w: 400, h });
31757
31763
  const [userCam, setUserCam] = React5.useState(null);
31758
31764
  const dragRef = React5.useRef(null);
31759
31765
  const dragMovedRef = React5.useRef(false);
31760
31766
  const regionReportedRef = React5.useRef(false);
31767
+ const [boxEl, setBoxEl] = React5.useState(null);
31768
+ const attachBox = React5.useCallback((el) => setBoxEl(el), []);
31761
31769
  React5.useEffect(() => {
31762
- const el = boxRef.current;
31770
+ const el = boxEl;
31763
31771
  if (!el) return;
31764
31772
  const measure = () => {
31765
- const r = el.getBoundingClientRect();
31766
- if (r.width > 0 && r.height > 0) setBox({ w: r.width, h: r.height });
31773
+ if (el.clientWidth > 0 && el.clientHeight > 0) setBox({ w: el.clientWidth, h: el.clientHeight });
31767
31774
  };
31768
31775
  measure();
31769
31776
  const RO = globalThis.ResizeObserver;
@@ -31771,12 +31778,18 @@ var init_renderNode = __esm({
31771
31778
  const ro = new RO(measure);
31772
31779
  ro.observe(el);
31773
31780
  return () => ro.disconnect();
31774
- }, [h]);
31775
- const usesTileArm = (route.length > 0 || shapes.length > 0 || hasEvents || props.cameraPath != null || props.showUserLocation === true || props.fitToContent === true) && !usesSchematicRoute(props);
31781
+ }, [boxEl, h]);
31782
+ const hasMarkerFeed = typeof props.markersPath === "string" && props.markersPath !== "";
31783
+ const hasStaticMarkers = markers.length > 0 && !hasMarkerFeed;
31784
+ const otherTileReason = route.length > 0 || shapes.length > 0 || hasEvents || props.cameraPath != null || props.showUserLocation === true || props.fitToContent === true;
31785
+ const usesTileArm = (otherTileReason || hasStaticMarkers) && !usesSchematicRoute(props);
31786
+ const pinsOnly = hasStaticMarkers && !otherTileReason;
31776
31787
  {
31777
31788
  const all = [...route, ...markers, ...shapes.flatMap((sh) => sh.points)].filter((p) => p && typeof p.latitude === "number" && typeof p.longitude === "number");
31778
31789
  const declared = typeof props.zoom === "number" && props.zoom > 0 ? Math.max(1, Math.min(19, props.zoom)) : 13;
31779
- const shouldFit = props.fitToContent === true || route.length > 0;
31790
+ const hasCenter = typeof props.latitude === "number" && typeof props.longitude === "number";
31791
+ const hasZoom = typeof props.zoom === "number" && props.zoom > 0;
31792
+ const shouldFit = props.fitToContent === true || route.length > 0 || pinsOnly && (!hasCenter || markers.length > 1 && !hasZoom);
31780
31793
  const W = box.w;
31781
31794
  const H = box.h;
31782
31795
  const fitted = shouldFit ? fitZoom(all, W - 48, H - 48, declared) : declared;
@@ -31796,7 +31809,7 @@ var init_renderNode = __esm({
31796
31809
  }, [commandedCamera]);
31797
31810
  const originX = mercatorX(cLng, z) - W / 2;
31798
31811
  const originY = mercatorY(cLat, z) - H / 2;
31799
- const interactive = props.interactive !== false;
31812
+ const interactive = pinsOnly ? props.interactive === true : props.interactive !== false;
31800
31813
  const resolvedTileSource = resolveTileSource(props.tileSource);
31801
31814
  const fireMapEvent = (action, payload) => {
31802
31815
  if (!action || !ctx.onAction) return;
@@ -31808,9 +31821,11 @@ var init_renderNode = __esm({
31808
31821
  return;
31809
31822
  }
31810
31823
  if (!props.onMapTap && !props.onMarkerTap) return;
31811
- const r = e.currentTarget.getBoundingClientRect();
31812
- const px = e.clientX - r.left;
31813
- const py = e.clientY - r.top;
31824
+ const el = e.currentTarget;
31825
+ const r = el.getBoundingClientRect();
31826
+ const { kx, ky } = layoutScale(el);
31827
+ const px = (e.clientX - r.left) * kx - el.clientLeft;
31828
+ const py = (e.clientY - r.top) * ky - el.clientTop;
31814
31829
  const hit = markerHit(px, py, markers, z, originX, originY);
31815
31830
  if (hit !== null) {
31816
31831
  const m = markers[hit];
@@ -31842,14 +31857,14 @@ var init_renderNode = __esm({
31842
31857
  };
31843
31858
  const onPointerDown = (e) => {
31844
31859
  if (!interactive) return;
31845
- dragRef.current = { x: e.clientX, y: e.clientY, lat: cLat, lng: cLng, z };
31860
+ dragRef.current = { x: e.clientX, y: e.clientY, lat: cLat, lng: cLng, z, ...layoutScale(e.currentTarget) };
31846
31861
  dragMovedRef.current = false;
31847
31862
  };
31848
31863
  const onPointerMove = (e) => {
31849
31864
  const d2 = dragRef.current;
31850
31865
  if (!d2) return;
31851
- const dx = e.clientX - d2.x;
31852
- const dy = e.clientY - d2.y;
31866
+ const dx = (e.clientX - d2.x) * d2.kx;
31867
+ const dy = (e.clientY - d2.y) * d2.ky;
31853
31868
  if (Math.abs(dx) + Math.abs(dy) < 3) return;
31854
31869
  dragMovedRef.current = true;
31855
31870
  const cx = mercatorX(d2.lng, d2.z) - dx;
@@ -31902,7 +31917,7 @@ var init_renderNode = __esm({
31902
31917
  if (usesTileArm) return /* @__PURE__ */ jsxs3(
31903
31918
  "div",
31904
31919
  {
31905
- ref: boxRef,
31920
+ ref: attachBox,
31906
31921
  "data-map-mode": "tile",
31907
31922
  "data-route-points": route.length,
31908
31923
  "data-map-zoom": z,
@@ -31914,6 +31929,7 @@ var init_renderNode = __esm({
31914
31929
  onWheel,
31915
31930
  style: {
31916
31931
  width: "100%",
31932
+ boxSizing: "border-box",
31917
31933
  height: h,
31918
31934
  borderRadius: ctx.radius("md", 8),
31919
31935
  overflow: "hidden",
@@ -33404,7 +33420,7 @@ function deriveNavigationConfig(app, bundleCtx) {
33404
33420
  if (ov.parents[s.screenId]) s.parentScreenId = ov.parents[s.screenId];
33405
33421
  }
33406
33422
  }
33407
- const linkableScreens = app.linkableScreens?.length ? app.linkableScreens : [...concrete, ...templated];
33423
+ const linkableScreens = app.linkableScreens?.length ? completeLinkableScreens(app.linkableScreens) : [...concrete, ...templated];
33408
33424
  const config = {
33409
33425
  scheme: app.urlScheme,
33410
33426
  deepLinkPatterns: app.deepLinkPatterns ?? ov?.deepLinkPatterns ?? [],
@@ -33477,8 +33493,21 @@ function mergeConfig(base, patch) {
33477
33493
  }
33478
33494
  return out;
33479
33495
  }
33496
+ function completeLinkableScreens(list) {
33497
+ return list.map((s) => ({
33498
+ ...s,
33499
+ isPublic: s.isPublic ?? false,
33500
+ paramKeys: s.paramKeys ?? [],
33501
+ parentScreenId: s.parentScreenId ?? "",
33502
+ tabId: s.tabId ?? ""
33503
+ }));
33504
+ }
33505
+ function withCompleteLinkables(cfg) {
33506
+ const list = cfg.linkableScreens;
33507
+ return Array.isArray(list) ? { ...cfg, linkableScreens: completeLinkableScreens(list) } : cfg;
33508
+ }
33480
33509
  function buildAppConfigDocument(req, meta, override, bundleCtx) {
33481
- const baseline = override ? mergeConfig(deriveNavigationConfig(meta, bundleCtx), override) : deriveNavigationConfig(meta, bundleCtx);
33510
+ const baseline = override ? withCompleteLinkables(mergeConfig(deriveNavigationConfig(meta, bundleCtx), override)) : deriveNavigationConfig(meta, bundleCtx);
33482
33511
  const acceptLanguage = req.headers["accept-language"];
33483
33512
  const locale = pickLocale(typeof acceptLanguage === "string" ? acceptLanguage : null);
33484
33513
  const config = locale ? translate(JSON.parse(JSON.stringify(baseline)), locale) : baseline;
@@ -37302,9 +37331,9 @@ async function handleAdminPlayground(req, res, state) {
37302
37331
  }
37303
37332
  if (path2 === "/v1/admin/app-config" && state.app) {
37304
37333
  const built = deriveNavigationConfig(state.app.meta);
37334
+ const effectiveConfig = () => state.appConfigOverride ? withCompleteLinkables(deepMerge3(built, state.appConfigOverride)) : built;
37305
37335
  if (req.method === "GET") {
37306
- const effective = state.appConfigOverride ? deepMerge3(built, state.appConfigOverride) : built;
37307
- return sendJson(res, 200, { source: state.appConfigOverride ? "override" : "built", built, effective });
37336
+ return sendJson(res, 200, { source: state.appConfigOverride ? "override" : "built", built, effective: effectiveConfig() });
37308
37337
  }
37309
37338
  if (req.method === "PUT") {
37310
37339
  let patch;
@@ -37317,7 +37346,7 @@ async function handleAdminPlayground(req, res, state) {
37317
37346
  const nav = isNavControlPatch(patch);
37318
37347
  state.appConfigOverride = nav && state.appConfigOverride ? deepMerge3(state.appConfigOverride, patch) : patch;
37319
37348
  publishSSE(state, "config.invalidated", { reason: nav ? "navigate" : "admin_override", at: Date.now() });
37320
- return sendJson(res, 200, { status: "ok", effective: deepMerge3(built, state.appConfigOverride) });
37349
+ return sendJson(res, 200, { status: "ok", effective: effectiveConfig() });
37321
37350
  }
37322
37351
  if (req.method === "DELETE") {
37323
37352
  const existed = state.appConfigOverride !== void 0;
@@ -47772,6 +47801,43 @@ function unreachedNativeWrites(screen, bundleJs, observed) {
47772
47801
  }
47773
47802
  return out;
47774
47803
  }
47804
+ function splitEntries(cell) {
47805
+ const out = [];
47806
+ let depth = 0;
47807
+ let cur = "";
47808
+ for (const ch of cell) {
47809
+ if (ch === "(" || ch === "[") depth++;
47810
+ else if ((ch === ")" || ch === "]") && depth > 0) depth--;
47811
+ if ((ch === "," || ch === ";") && depth === 0) {
47812
+ out.push(cur);
47813
+ cur = "";
47814
+ continue;
47815
+ }
47816
+ cur += ch;
47817
+ }
47818
+ out.push(cur);
47819
+ if (depth > 0) return cell.split(/[,;]/).map((e) => e.trim()).filter(Boolean);
47820
+ return out.map((e) => e.trim()).filter(Boolean);
47821
+ }
47822
+ function entryHead(entry) {
47823
+ if (/^\s*[—–-]\s/.test(entry)) return "";
47824
+ return entry.split(/\s*[([]|\s+[—–]\s*|\s+-\s+/)[0].trim();
47825
+ }
47826
+ function entryNames(entry) {
47827
+ const head = entryHead(entry);
47828
+ return head ? [head] : [];
47829
+ }
47830
+ function hasNote(entry) {
47831
+ return entryHead(entry) !== entry.trim();
47832
+ }
47833
+ function namesLine(allowed2) {
47834
+ const names = [...new Set(allowed2.flatMap(entryNames))];
47835
+ return names.length ? `it names: ${names.join(", ")}` : "its entries are only notes, which approve nothing";
47836
+ }
47837
+ function isNoneEntry(entry) {
47838
+ const head = entryHead(entry);
47839
+ return NONE.test(entry) || head !== "" && NONE.test(head);
47840
+ }
47775
47841
  function parseDataAccess(text5, from) {
47776
47842
  const body = text5.replace(/<!--[\s\S]*?(?:-->|$)/g, "");
47777
47843
  const heading = new RegExp(`(?:^|\\n)##[ \\t]+${DATA_ACCESS_HEADING}\\b[^\\n]*([\\s\\S]*?)(?=\\n##[ \\t]|$)`, "i").exec(body);
@@ -47791,7 +47857,7 @@ function parseDataAccess(text5, from) {
47791
47857
  const screen = unquote(row[screenCol] ?? "");
47792
47858
  if (!screen) continue;
47793
47859
  const cell = unquote(row[writesCol] ?? "");
47794
- const entries = cell.split(/[,;]/).map((e) => e.trim()).filter((e) => e && !NONE.test(e));
47860
+ const entries = splitEntries(cell).filter((e) => !isNoneEntry(e));
47795
47861
  rows.push({ screen, allowed: NONE.test(cell) || !entries.length ? null : entries });
47796
47862
  }
47797
47863
  return rows.length ? { from, rows } : null;
@@ -47812,15 +47878,19 @@ function readDataAccess(dir) {
47812
47878
  return null;
47813
47879
  }
47814
47880
  function entryApproves(entry, w) {
47815
- const e = entry.trim();
47881
+ const head = entryHead(entry);
47882
+ return head !== "" && nameApproves(head, w, !hasNote(entry));
47883
+ }
47884
+ function nameApproves(name, w, kinds) {
47885
+ const e = name.trim();
47816
47886
  const lower = e.toLowerCase();
47817
47887
  const actionTail = w.action.split(".").pop() ?? w.action;
47818
47888
  if (e === w.action || e === actionTail) return true;
47819
47889
  if (w.via === "native") {
47820
47890
  const tail = w.capability.split(".").pop();
47821
47891
  if (e === w.capability || e === tail || e === nativeWriteOf(w.capability)?.canonical) return true;
47822
- if (w.kind === "payment" && /^payments?$/.test(lower)) return true;
47823
- if (w.kind === "member-signup" && /^(sign-?up|register|registration|member[- ]signup)$/.test(lower)) return true;
47892
+ if (kinds && w.kind === "payment" && /^payments?$/.test(lower)) return true;
47893
+ if (kinds && w.kind === "member-signup" && /^(sign-?up|register|registration|member[- ]signup)$/.test(lower)) return true;
47824
47894
  return false;
47825
47895
  }
47826
47896
  const m = /^(?:(GET|POST|PUT|PATCH|DELETE)\s+)?(\/\S*|https?:\/\/\S+)$/i.exec(e);
@@ -47865,7 +47935,9 @@ function unapprovedWriteFindings(writes, plan) {
47865
47935
  trigger,
47866
47936
  invariant: "write-not-approved",
47867
47937
  severity: "warning",
47868
- message: allowed2.length ? `${does}, which ${plan.from}'s data-access table does not name for this screen (approved: ${allowed2.join(", ")})` : `${does}, but ${plan.from}'s data-access table approves no writes on this screen`,
47938
+ // Quote the NAMES the table offers, not its raw cells: printing `registerDirect (member sign-up)`
47939
+ // as "approved" beside "does not name registerDirect" read as a contradiction (#3317).
47940
+ message: allowed2.length ? `${does}, which ${plan.from}'s data-access table does not name for this screen (${namesLine(allowed2)})` : `${does}, but ${plan.from}'s data-access table approves no writes on this screen`,
47869
47941
  hint
47870
47942
  });
47871
47943
  }
@@ -53308,21 +53380,21 @@ var init_preview_assets_generated = __esm({
53308
53380
  "../../packages/serve/src/preview-assets.generated.ts"() {
53309
53381
  init_preview_assets_format();
53310
53382
  PREVIEW_ASSET_MANIFEST = [
53311
- { key: "assets/index-DlDXdHId.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1063092, sha256: "758c655ba88cbb54101f690281513fcff56aaa8b4a31dd49545d0f30f45e05f8" },
53312
- { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1063100, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
53313
- { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1067710, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
53314
- { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1556294, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
53315
- { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1647218, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
53316
- { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1738202, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
53317
- { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1829182, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
53318
- { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1920054, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
53319
- { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2011034, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
53320
- { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2119670, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
53321
- { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2228754, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
53322
- { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2337802, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
53323
- { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2445502, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
53324
- { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2533610, length: 4947, sha256: "7a5bedfb0fdf0c376ce40bba70539332bca4b2fad4e4112465fb1875e03aa29b" },
53325
- { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2538557, length: 17209, sha256: "dffc9718e2faa63ae2cc919e0a842f585ed565aaaa7c53778e90379442c731b6" }
53383
+ { key: "assets/index-m9AT09y1.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1063636, sha256: "21533f17025f9aff5e289562f02ca918ecb42fe690ccd8456a479b934be895f9" },
53384
+ { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1063644, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
53385
+ { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1068254, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
53386
+ { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1556838, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
53387
+ { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1647762, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
53388
+ { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1738746, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
53389
+ { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1829726, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
53390
+ { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1920598, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
53391
+ { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2011578, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
53392
+ { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2120214, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
53393
+ { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2229298, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
53394
+ { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2338346, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
53395
+ { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2446046, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
53396
+ { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2534154, length: 4947, sha256: "087ac1ca63900b0a2a73517170f77427493eb3c5ad226e535d14998227157118" },
53397
+ { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2539101, length: 17209, sha256: "dffc9718e2faa63ae2cc919e0a842f585ed565aaaa7c53778e90379442c731b6" }
53326
53398
  ];
53327
53399
  }
53328
53400
  });
Binary file
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1072.0",
3
+ "version": "0.1074.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -65,5 +65,5 @@
65
65
  "artifactId": "himalaya-cli"
66
66
  }
67
67
  },
68
- "falconPackageHash": "18f2e2636552474acd27ddb5b45d00aa4507785ea72311c47c6039ae"
68
+ "falconPackageHash": "7a692205667e48110cdc1332a2fc3261f5963c047570186fd81ce92f"
69
69
  }
@@ -1092,6 +1092,7 @@ const SCREENS = runtimeSetting({
1092
1092
  "top": 16,
1093
1093
  "bottom": 16
1094
1094
  },
1095
+ "fillMaxWidth": true,
1095
1096
  "hiddenPath": "$service:himiBrandedHome.hideHeroFallback"
1096
1097
  }
1097
1098
  },
@@ -1092,6 +1092,7 @@ const SCREENS = runtimeSetting({
1092
1092
  "top": 16,
1093
1093
  "bottom": 16
1094
1094
  },
1095
+ "fillMaxWidth": true,
1095
1096
  "hiddenPath": "$service:himiBrandedHome.hideHeroFallback"
1096
1097
  }
1097
1098
  },
@@ -647,6 +647,7 @@ const SCREENS = runtimeSetting({
647
647
  "top": 16,
648
648
  "bottom": 16
649
649
  },
650
+ "fillMaxWidth": true,
650
651
  "hiddenPath": "$service:himiBrandedHome.hasDishHeroImage"
651
652
  }
652
653
  }