@wix/himalaya-cli 0.978.0 → 0.979.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
@@ -5290,6 +5290,7 @@ function resolveTranslation(value, catalog, sourceCatalog) {
5290
5290
  var BINDING_SIGILS, BINDING_SIGIL_RE, TRANSLATION_PREFIX, TRANSLATION_KEY_RE;
5291
5291
  var init_bindings = __esm({
5292
5292
  "../../core/ts/src/bindings.ts"() {
5293
+ "use strict";
5293
5294
  BINDING_SIGILS = ["service", "flag", "item", "t"];
5294
5295
  BINDING_SIGIL_RE = new RegExp(
5295
5296
  `^\\$(?:${BINDING_SIGILS.filter((s) => s !== "t").join("|")})\\b|^\\$t:`
@@ -17753,8 +17754,10 @@ function makeTokenResolvers(tokens, scheme) {
17753
17754
  };
17754
17755
  const font = (style = "body") => {
17755
17756
  const t = tokens.typography?.[style] ?? tokens.fonts?.[style] ?? tokens.typography?.body ?? tokens.fonts?.body;
17757
+ const size = t?.size ?? 14;
17756
17758
  return {
17757
- size: t?.size ?? 14,
17759
+ size,
17760
+ remSize: pxToRem(size),
17758
17761
  weight: t?.weight ?? 400,
17759
17762
  line: t?.line ?? 1.4,
17760
17763
  family: t?.family,
@@ -17868,9 +17871,11 @@ function makeTokenResolvers(tokens, scheme) {
17868
17871
  scheme
17869
17872
  };
17870
17873
  }
17871
- var DEFAULT_FONT_STACK, SERIF_FAMILY_RE;
17874
+ var REM_ROOT_PX, pxToRem, DEFAULT_FONT_STACK, SERIF_FAMILY_RE;
17872
17875
  var init_tokens2 = __esm({
17873
17876
  "../../core/web-renderer/src/tokens.ts"() {
17877
+ REM_ROOT_PX = 16;
17878
+ pxToRem = (px) => `${px / REM_ROOT_PX}rem`;
17874
17879
  DEFAULT_FONT_STACK = '"Wix Madefor Text", system-ui';
17875
17880
  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
17881
  }
@@ -23788,7 +23793,7 @@ function renderInner(node, ctx) {
23788
23793
  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
23794
  const marks = Array.isArray(r.marks) ? r.marks : [];
23790
23795
  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);
23796
+ 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
23797
  }) });
23793
23798
  }
23794
23799
  case "Image":
@@ -23829,8 +23834,8 @@ function renderInner(node, ctx) {
23829
23834
  props.leading && /* @__PURE__ */ jsx6("div", { style: { flex: "none", display: "flex" }, children: renderNode(props.leading, ctx) }),
23830
23835
  /* @__PURE__ */ jsxs3("div", { style: { flex: 1, minWidth: 0, display: "flex", flexDirection: "column", gap: 2 }, children: [
23831
23836
  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) })
23837
+ /* @__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 ? "" : "") }),
23838
+ 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
23839
  ] }),
23835
23840
  props.trailing ? (
23836
23841
  // #1010 — the row's `onTap` lives on the outer flex div, and the trailing
@@ -23896,7 +23901,7 @@ function renderInner(node, ctx) {
23896
23901
  case "Label": {
23897
23902
  const f = ctx.font(props.style ?? "body");
23898
23903
  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: [
23904
+ 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
23905
  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
23906
  txt(props.text, ctx)
23902
23907
  ] });
@@ -23925,7 +23930,7 @@ function renderInner(node, ctx) {
23925
23930
  ensureMarqueeKeyframes();
23926
23931
  const f = ctx.font(props.style ?? "body");
23927
23932
  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) }) });
23933
+ 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
23934
  }
23930
23935
  case "Timeline":
23931
23936
  return /* @__PURE__ */ jsx6(TimelineNode, { props, ctx, wrap });
@@ -25777,8 +25782,8 @@ var init_renderNode = __esm({
25777
25782
  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
25783
  const tAlign = props.textAlign === "center" ? "center" : props.textAlign === "trailing" ? "right" : props.textAlign === "justify" ? "justify" : props.textAlign === "leading" ? "left" : void 0;
25779
25784
  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 });
25785
+ const ln = typeof props.lineSpacing === "number" ? pxToRem((f.line ?? 1.4) * f.size + props.lineSpacing) : f.line;
25786
+ 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
25787
  });
25783
25788
  ImageNode = withExtras("ImageNode", ({ props, ctx, wrap }) => {
25784
25789
  const C = ctx.color;
@@ -25922,7 +25927,7 @@ var init_renderNode = __esm({
25922
25927
  borderRadius: props.iconOnly ? "50%" : pillRadius,
25923
25928
  fontFamily: fontStack(f.family),
25924
25929
  fontWeight: f.weight,
25925
- fontSize: f.size,
25930
+ fontSize: f.remSize,
25926
25931
  background: primary ? accent : "transparent",
25927
25932
  color: fg,
25928
25933
  border: outlined ? `1px solid ${accent}` : "none",
@@ -26072,7 +26077,7 @@ var init_renderNode = __esm({
26072
26077
  const capF = ctx.font("caption");
26073
26078
  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
26079
  /* @__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)}%` })
26080
+ /* @__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
26081
  ] }) });
26077
26082
  });
26078
26083
  RatingNode = withExtras("RatingNode", ({ props, ctx, wrap }) => {
@@ -28800,8 +28805,7 @@ var init_launch_manifest = __esm({
28800
28805
  locale: { type: "string" },
28801
28806
  region: { type: "string" },
28802
28807
  colorScheme: { type: "string", enum: ["light", "dark"] },
28803
- layoutDirection: { type: "string", enum: ["ltr", "rtl"] },
28804
- fontScale: { type: "number" }
28808
+ layoutDirection: { type: "string", enum: ["ltr", "rtl"] }
28805
28809
  }),
28806
28810
  determinism: directiveObject({
28807
28811
  freezeClock: { type: "string" },
@@ -43619,19 +43623,19 @@ var init_preview_assets_generated = __esm({
43619
43623
  "../../packages/serve/src/preview-assets.generated.ts"() {
43620
43624
  init_preview_assets_format();
43621
43625
  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" }
43626
+ { key: "assets/index-EUz_f6yu.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 987137, sha256: "7b526f22885a0dfed16aa63cc802e4d17c3565e78ba5a8a873bcb111ffe1a076" },
43627
+ { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 987145, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
43628
+ { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1078069, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
43629
+ { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1169053, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
43630
+ { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1260033, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
43631
+ { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1350905, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
43632
+ { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 1441885, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
43633
+ { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 1550521, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
43634
+ { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 1659605, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
43635
+ { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 1768653, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
43636
+ { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 1876353, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
43637
+ { key: "index.html", contentType: "text/html; charset=utf-8", offset: 1964461, length: 4448, sha256: "78be80518ed0f28fbf085b806c0d4ef5ec796da109a3f2f257f4ee31e1c01214" },
43638
+ { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 1968909, length: 13784, sha256: "cfb9465254fab84f0e084bb4542c282758ea29774b5f172840cc0b9e4194ef89" }
43635
43639
  ];
43636
43640
  }
43637
43641
  });
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.979.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": "16761478845899a9ba0931eb0a135cf4d6e5d8909a3ad2899152b122"
68
68
  }