@wix/himalaya-cli 0.978.0 → 0.980.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.
@@ -30,7 +30,6 @@ export interface AppearanceDirective {
30
30
  region?: string;
31
31
  colorScheme?: "light" | "dark";
32
32
  layoutDirection?: "ltr" | "rtl";
33
- fontScale?: number;
34
33
  }
35
34
  export interface DeterminismDirective {
36
35
  freezeClock?: string;
@@ -9715,8 +9715,7 @@ var LAUNCH_MANIFEST_SCHEMA = {
9715
9715
  locale: { type: "string" },
9716
9716
  region: { type: "string" },
9717
9717
  colorScheme: { type: "string", enum: ["light", "dark"] },
9718
- layoutDirection: { type: "string", enum: ["ltr", "rtl"] },
9719
- fontScale: { type: "number" }
9718
+ layoutDirection: { type: "string", enum: ["ltr", "rtl"] }
9720
9719
  }),
9721
9720
  determinism: directiveObject({
9722
9721
  freezeClock: { type: "string" },
@@ -7766,8 +7766,7 @@ var LAUNCH_MANIFEST_SCHEMA = {
7766
7766
  locale: { type: "string" },
7767
7767
  region: { type: "string" },
7768
7768
  colorScheme: { type: "string", enum: ["light", "dark"] },
7769
- layoutDirection: { type: "string", enum: ["ltr", "rtl"] },
7770
- fontScale: { type: "number" }
7769
+ layoutDirection: { type: "string", enum: ["ltr", "rtl"] }
7771
7770
  }),
7772
7771
  determinism: directiveObject({
7773
7772
  freezeClock: { type: "string" },
package/dist/cli.mjs CHANGED
@@ -17753,8 +17753,10 @@ function makeTokenResolvers(tokens, scheme) {
17753
17753
  };
17754
17754
  const font = (style = "body") => {
17755
17755
  const t = tokens.typography?.[style] ?? tokens.fonts?.[style] ?? tokens.typography?.body ?? tokens.fonts?.body;
17756
+ const size = t?.size ?? 14;
17756
17757
  return {
17757
- size: t?.size ?? 14,
17758
+ size,
17759
+ remSize: pxToRem(size),
17758
17760
  weight: t?.weight ?? 400,
17759
17761
  line: t?.line ?? 1.4,
17760
17762
  family: t?.family,
@@ -17868,9 +17870,11 @@ function makeTokenResolvers(tokens, scheme) {
17868
17870
  scheme
17869
17871
  };
17870
17872
  }
17871
- var DEFAULT_FONT_STACK, SERIF_FAMILY_RE;
17873
+ var REM_ROOT_PX, pxToRem, DEFAULT_FONT_STACK, SERIF_FAMILY_RE;
17872
17874
  var init_tokens2 = __esm({
17873
17875
  "../../core/web-renderer/src/tokens.ts"() {
17876
+ REM_ROOT_PX = 16;
17877
+ pxToRem = (px) => `${px / REM_ROOT_PX}rem`;
17874
17878
  DEFAULT_FONT_STACK = '"Wix Madefor Text", system-ui';
17875
17879
  SERIF_FAMILY_RE = /\b(georgia|times|garamond|palatino|baskerville|didot|charter|bodoni|caslon|cambria|constantia|rockwell|playfair|merriweather|lora|literata|spectral|serif)\b/i;
17876
17880
  }
@@ -23788,7 +23792,7 @@ function renderInner(node, ctx) {
23788
23792
  return /* @__PURE__ */ jsx6("div", { style: { fontFamily: bodyFont(ctx), lineHeight: 1.5, overflowWrap: "break-word", color: C(resolveScalarStatic(props.color, ctx) ?? "textPrimary", "#13171e"), ...wrap }, children: runs.map((r, i) => {
23789
23793
  const marks = Array.isArray(r.marks) ? r.marks : [];
23790
23794
  const f = ctx.font(r.style);
23791
- return /* @__PURE__ */ jsx6("span", { style: { fontSize: f.size, fontWeight: marks.includes("bold") ? 700 : f.weight, fontStyle: marks.includes("italic") ? "italic" : void 0, textDecoration: marks.includes("underline") ? "underline" : void 0, ...f.family ? { fontFamily: fontStack(f.family) } : {}, ...r.color ? { color: C(r.color) } : {}, ...marks.includes("code") ? { fontFamily: "ui-monospace, monospace", background: C("surfaceTertiary", "#eee"), padding: "1px 5px", borderRadius: 4 } : {} }, children: txt(r.text, ctx) }, i);
23795
+ return /* @__PURE__ */ jsx6("span", { style: { fontSize: f.remSize, fontWeight: marks.includes("bold") ? 700 : f.weight, fontStyle: marks.includes("italic") ? "italic" : void 0, textDecoration: marks.includes("underline") ? "underline" : void 0, ...f.family ? { fontFamily: fontStack(f.family) } : {}, ...r.color ? { color: C(r.color) } : {}, ...marks.includes("code") ? { fontFamily: "ui-monospace, monospace", background: C("surfaceTertiary", "#eee"), padding: "1px 5px", borderRadius: 4 } : {} }, children: txt(r.text, ctx) }, i);
23792
23796
  }) });
23793
23797
  }
23794
23798
  case "Image":
@@ -23829,8 +23833,8 @@ function renderInner(node, ctx) {
23829
23833
  props.leading && /* @__PURE__ */ jsx6("div", { style: { flex: "none", display: "flex" }, children: renderNode(props.leading, ctx) }),
23830
23834
  /* @__PURE__ */ jsxs3("div", { style: { flex: 1, minWidth: 0, display: "flex", flexDirection: "column", gap: 2 }, children: [
23831
23835
  props.overline != null && /* @__PURE__ */ jsx6("span", { style: { fontFamily: bodyFont(ctx), fontSize: 11, fontWeight: 600, letterSpacing: 0.4, textTransform: "uppercase", color: C(props.overlineColor ?? "textSecondary", "#888"), ...ell }, children: txt(props.overline, ctx) }),
23832
- /* @__PURE__ */ jsx6("span", { style: { fontFamily: fontStack(titleF.family), fontSize: titleF.size, fontWeight: titleF.weight, color: C(props.titleColor ?? "textPrimary", "#13171e"), ...ell }, children: txt(props.title, ctx) ?? (ctx.empty ? "" : "") }),
23833
- props.subtitle != null && /* @__PURE__ */ jsx6("span", { style: { fontFamily: fontStack(subF.family), fontSize: subF.size, color: C(props.subtitleColor ?? "textSecondary", "#888"), ...ell }, children: txt(props.subtitle, ctx) })
23836
+ /* @__PURE__ */ jsx6("span", { style: { fontFamily: fontStack(titleF.family), fontSize: titleF.remSize, fontWeight: titleF.weight, color: C(props.titleColor ?? "textPrimary", "#13171e"), ...ell }, children: txt(props.title, ctx) ?? (ctx.empty ? "" : "") }),
23837
+ props.subtitle != null && /* @__PURE__ */ jsx6("span", { style: { fontFamily: fontStack(subF.family), fontSize: subF.remSize, color: C(props.subtitleColor ?? "textSecondary", "#888"), ...ell }, children: txt(props.subtitle, ctx) })
23834
23838
  ] }),
23835
23839
  props.trailing ? (
23836
23840
  // #1010 — the row's `onTap` lives on the outer flex div, and the trailing
@@ -23896,7 +23900,7 @@ function renderInner(node, ctx) {
23896
23900
  case "Label": {
23897
23901
  const f = ctx.font(props.style ?? "body");
23898
23902
  const col = C(resolveScalarStatic(props.color, ctx) ?? "textPrimary", "#13171e");
23899
- return /* @__PURE__ */ jsxs3("span", { style: { display: "inline-flex", alignItems: "center", gap: 6, fontFamily: fontStack(f.family), fontSize: f.size, fontWeight: f.weight, color: col, ...wrap }, children: [
23903
+ return /* @__PURE__ */ jsxs3("span", { style: { display: "inline-flex", alignItems: "center", gap: 6, fontFamily: fontStack(f.family), fontSize: f.remSize, fontWeight: f.weight, color: col, ...wrap }, children: [
23900
23904
  props.icon && /* @__PURE__ */ jsx6("span", { style: { display: "inline-grid", placeItems: "center", width: f.size, height: f.size }, children: iconSvg(props.icon, { size: f.size, color: col }) }),
23901
23905
  txt(props.text, ctx)
23902
23906
  ] });
@@ -23925,7 +23929,7 @@ function renderInner(node, ctx) {
23925
23929
  ensureMarqueeKeyframes();
23926
23930
  const f = ctx.font(props.style ?? "body");
23927
23931
  const dur = props.durationMs ?? 8e3;
23928
- return /* @__PURE__ */ jsx6("div", { style: { width: "100%", overflow: "hidden", whiteSpace: "nowrap", ...wrap }, children: /* @__PURE__ */ jsx6("span", { style: { display: "inline-block", paddingLeft: "100%", fontFamily: fontStack(f.family), fontSize: f.size, color: C(resolveScalarStatic(props.color, ctx) ?? "textPrimary", "#13171e"), animation: ctx.empty ? void 0 : `himalaya-marquee ${dur}ms linear infinite` }, children: txt(props.text, ctx) }) });
23932
+ return /* @__PURE__ */ jsx6("div", { style: { width: "100%", overflow: "hidden", whiteSpace: "nowrap", ...wrap }, children: /* @__PURE__ */ jsx6("span", { style: { display: "inline-block", paddingLeft: "100%", fontFamily: fontStack(f.family), fontSize: f.remSize, color: C(resolveScalarStatic(props.color, ctx) ?? "textPrimary", "#13171e"), animation: ctx.empty ? void 0 : `himalaya-marquee ${dur}ms linear infinite` }, children: txt(props.text, ctx) }) });
23929
23933
  }
23930
23934
  case "Timeline":
23931
23935
  return /* @__PURE__ */ jsx6(TimelineNode, { props, ctx, wrap });
@@ -25777,8 +25781,8 @@ var init_renderNode = __esm({
25777
25781
  const content = countContent != null ? countContent : icuPattern != null ? /* @__PURE__ */ jsx6(InterpolatedTextView, { pattern: icuPattern, params: props.template?.params ?? {}, ctx }) : mdSource != null ? /* @__PURE__ */ jsx6("span", { dangerouslySetInnerHTML: mdInline(mdSource) }) : txt(props.text, ctx);
25778
25782
  const tAlign = props.textAlign === "center" ? "center" : props.textAlign === "trailing" ? "right" : props.textAlign === "justify" ? "justify" : props.textAlign === "leading" ? "left" : void 0;
25779
25783
  const tDecor = props.decoration === "strikethrough" ? "line-through" : props.decoration === "underline" ? "underline" : void 0;
25780
- const ln = typeof props.lineSpacing === "number" ? `${(f.line ?? 1.4) * f.size + props.lineSpacing}px` : f.line;
25781
- return /* @__PURE__ */ jsx6("div", { ...countAttrs, style: { fontFamily: fontStack(f.family), fontSize: f.size, fontWeight: f.weight, lineHeight: ln, letterSpacing: f.letterSpacing, color: C(resolveScalarStatic(props.color, ctx) ?? "textPrimary", "#13171e"), whiteSpace: "pre-wrap", overflowWrap: "anywhere", wordBreak: "break-word", minWidth: 0, ...tAlign ? { textAlign: tAlign } : {}, ...tDecor ? { textDecoration: tDecor } : {}, ...props.maxLines ? { display: "-webkit-box", WebkitLineClamp: props.maxLines, WebkitBoxOrient: "vertical", overflow: "hidden" } : {}, ...wrap }, children: content == null || content === "" ? collapse ? null : "\xA0" : content });
25784
+ const ln = typeof props.lineSpacing === "number" ? pxToRem((f.line ?? 1.4) * f.size + props.lineSpacing) : f.line;
25785
+ return /* @__PURE__ */ jsx6("div", { ...countAttrs, style: { fontFamily: fontStack(f.family), fontSize: f.remSize, fontWeight: f.weight, lineHeight: ln, letterSpacing: f.letterSpacing, color: C(resolveScalarStatic(props.color, ctx) ?? "textPrimary", "#13171e"), whiteSpace: "pre-wrap", overflowWrap: "anywhere", wordBreak: "break-word", minWidth: 0, ...tAlign ? { textAlign: tAlign } : {}, ...tDecor ? { textDecoration: tDecor } : {}, ...props.maxLines ? { display: "-webkit-box", WebkitLineClamp: props.maxLines, WebkitBoxOrient: "vertical", overflow: "hidden" } : {}, ...wrap }, children: content == null || content === "" ? collapse ? null : "\xA0" : content });
25782
25786
  });
25783
25787
  ImageNode = withExtras("ImageNode", ({ props, ctx, wrap }) => {
25784
25788
  const C = ctx.color;
@@ -25922,7 +25926,7 @@ var init_renderNode = __esm({
25922
25926
  borderRadius: props.iconOnly ? "50%" : pillRadius,
25923
25927
  fontFamily: fontStack(f.family),
25924
25928
  fontWeight: f.weight,
25925
- fontSize: f.size,
25929
+ fontSize: f.remSize,
25926
25930
  background: primary ? accent : "transparent",
25927
25931
  color: fg,
25928
25932
  border: outlined ? `1px solid ${accent}` : "none",
@@ -26072,7 +26076,7 @@ var init_renderNode = __esm({
26072
26076
  const capF = ctx.font("caption");
26073
26077
  return /* @__PURE__ */ jsx6("div", { style: { display: "inline-flex", flexDirection: "column", alignItems: "center", gap: 4, ...wrap }, children: /* @__PURE__ */ jsxs3("div", { style: { position: "relative", width: 72, height: 72 }, children: [
26074
26078
  /* @__PURE__ */ jsx6("div", { style: { width: 72, height: 72, borderRadius: "50%", background: `conic-gradient(${tint} ${pct * 360}deg, ${track} 0deg)`, WebkitMask: ringMask, mask: ringMask, ...gaugeAnim } }),
26075
- /* @__PURE__ */ jsx6("div", { style: { position: "absolute", inset: 0, display: "grid", placeItems: "center", fontFamily: fontStack(capF.family), fontSize: capF.size, fontWeight: capF.weight, color: C("textPrimary", "#13171e") }, children: txt(props.label, ctx) || `${Math.round(pct * 100)}%` })
26079
+ /* @__PURE__ */ jsx6("div", { style: { position: "absolute", inset: 0, display: "grid", placeItems: "center", fontFamily: fontStack(capF.family), fontSize: capF.remSize, fontWeight: capF.weight, color: C("textPrimary", "#13171e") }, children: txt(props.label, ctx) || `${Math.round(pct * 100)}%` })
26076
26080
  ] }) });
26077
26081
  });
26078
26082
  RatingNode = withExtras("RatingNode", ({ props, ctx, wrap }) => {
@@ -28800,8 +28804,7 @@ var init_launch_manifest = __esm({
28800
28804
  locale: { type: "string" },
28801
28805
  region: { type: "string" },
28802
28806
  colorScheme: { type: "string", enum: ["light", "dark"] },
28803
- layoutDirection: { type: "string", enum: ["ltr", "rtl"] },
28804
- fontScale: { type: "number" }
28807
+ layoutDirection: { type: "string", enum: ["ltr", "rtl"] }
28805
28808
  }),
28806
28809
  determinism: directiveObject({
28807
28810
  freezeClock: { type: "string" },
@@ -43619,19 +43622,19 @@ var init_preview_assets_generated = __esm({
43619
43622
  "../../packages/serve/src/preview-assets.generated.ts"() {
43620
43623
  init_preview_assets_format();
43621
43624
  PREVIEW_ASSET_MANIFEST = [
43622
- { key: "assets/index-QajXLF48.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 987074, sha256: "46a30017dbf3793f00e3ad24c865ca7708174a0c676a87257fb37f3f6a4179fa" },
43623
- { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 987082, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
43624
- { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1078006, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
43625
- { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1168990, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
43626
- { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1259970, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
43627
- { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1350842, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
43628
- { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 1441822, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
43629
- { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 1550458, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
43630
- { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 1659542, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
43631
- { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 1768590, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
43632
- { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 1876290, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
43633
- { key: "index.html", contentType: "text/html; charset=utf-8", offset: 1964398, length: 4448, sha256: "e2f66c98bc1767a88a1d28cf5af1078a100e4505d14370f06066534651ea5912" },
43634
- { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 1968846, length: 13784, sha256: "cfb9465254fab84f0e084bb4542c282758ea29774b5f172840cc0b9e4194ef89" }
43625
+ { key: "assets/index-EUz_f6yu.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 987137, sha256: "7b526f22885a0dfed16aa63cc802e4d17c3565e78ba5a8a873bcb111ffe1a076" },
43626
+ { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 987145, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
43627
+ { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1078069, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
43628
+ { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1169053, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
43629
+ { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1260033, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
43630
+ { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1350905, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
43631
+ { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 1441885, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
43632
+ { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 1550521, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
43633
+ { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 1659605, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
43634
+ { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 1768653, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
43635
+ { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 1876353, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
43636
+ { key: "index.html", contentType: "text/html; charset=utf-8", offset: 1964461, length: 4448, sha256: "78be80518ed0f28fbf085b806c0d4ef5ec796da109a3f2f257f4ee31e1c01214" },
43637
+ { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 1968909, length: 13784, sha256: "cfb9465254fab84f0e084bb4542c282758ea29774b5f172840cc0b9e4194ef89" }
43635
43638
  ];
43636
43639
  }
43637
43640
  });
Binary file
@@ -363,7 +363,10 @@ nicety. Don't animate everything: if every element moves, nothing reads as impor
363
363
  - **Contrast** comes from the token roles — pair `textPrimary`/`textSecondary` with the right surface,
364
364
  and provide the `highContrast` scheme value for load-bearing colors.
365
365
  - **Reduced motion** — §6.
366
- - **Dynamic type** — size text via typography tokens (which scale) rather than fixed sizes.
366
+ - **Dynamic type** — size text via typography tokens rather than fixed sizes. Every token path now
367
+ honours the OS text-size setting: iOS scales through `UIFontMetrics` (system and variable-font arms
368
+ included, not only branded `Font.custom`), Android emits `sp`, and web emits `rem`. A raw pixel size
369
+ bypasses all three and will not grow when the user enlarges text.
367
370
  - **RTL** — §2.
368
371
 
369
372
  ---
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.978.0",
3
+ "version": "0.980.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": [
@@ -64,5 +64,5 @@
64
64
  "artifactId": "himalaya-cli"
65
65
  }
66
66
  },
67
- "falconPackageHash": "88b2cfb0f2d75cce7fa6a3681bfbfd1b227e95d24d266ba8ca8e722a"
67
+ "falconPackageHash": "368282e77f04dbca007c69c5749df4c67e7cfe40d1d798348f0f381e"
68
68
  }