@wix/himalaya-cli 0.1024.0 → 0.1025.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.
@@ -2514,7 +2514,18 @@ export interface OrientationConfig {
2514
2514
  /** RFC 0010 — tab-bar structure config. */
2515
2515
  export interface TabBarConfig {
2516
2516
  items: NavTabItem[];
2517
- }
2517
+ /** #3222 — who draws the bar. `"native"` (the default, and what an absent or unknown value
2518
+ * means): the platform's own — SwiftUI `TabView` on iOS, Material 3 `NavigationBar` on
2519
+ * Android, and the web preview imitates the look it is previewing. `"kit"`: `KitTabBar`, styled
2520
+ * by the design kit's `tabBar` block (shape, indicator, gradient…). Operational: it can be
2521
+ * flipped over the air. */
2522
+ presentation?: TabBarPresentation;
2523
+ }
2524
+ /** #3222 — see `TabBarConfig.presentation`. */
2525
+ export type TabBarPresentation = "native" | "kit";
2526
+ /** #3222 — the presentation a tab bar is drawn with: `"kit"` only when asked for by name; anything
2527
+ * else (absent, empty, unknown) is the platform's native bar. */
2528
+ export declare function resolveTabBarPresentation(raw: unknown): TabBarPresentation;
2518
2529
  /** RFC 0010 (nav-modes amendment) — sidebar / navigation-rail structure.
2519
2530
  * Reuses NavTabItem (each entry roots its own stack, like a tab). */
2520
2531
  export interface SidebarConfig {
@@ -6882,6 +6882,11 @@ var require_dist = __commonJS({
6882
6882
  }
6883
6883
  });
6884
6884
 
6885
+ // ../../core/ts/src/schema.ts
6886
+ function resolveTabBarPresentation(raw) {
6887
+ return raw === "kit" ? "kit" : "native";
6888
+ }
6889
+
6885
6890
  // ../../core/ts/src/stream-policy.ts
6886
6891
  var STREAM_POLICY_VERSION = 1;
6887
6892
  var FORBIDDEN_HEADERS = /* @__PURE__ */ new Set([
@@ -13062,6 +13067,7 @@ export {
13062
13067
  resolveSurfaceEnvelope,
13063
13068
  resolveSurfaceNav,
13064
13069
  resolveSurfaceViewKey,
13070
+ resolveTabBarPresentation,
13065
13071
  screenDescriptorSchema,
13066
13072
  selectIdiomOverlay,
13067
13073
  shouldRevealError,
package/dist/cli.mjs CHANGED
@@ -12750,7 +12750,9 @@ var init_idiom_controls = __esm({
12750
12750
  segmented: { height: 50, trackPadding: 3, trackRadius: null, segmentRadius: null, outlined: false, selectedCheck: false, roles: FILLED_SEGMENT_ROLES },
12751
12751
  sheet: { cornerRadius: 16, grabberWidth: 36, grabberHeight: 5 },
12752
12752
  navBar: { rootTitle: "inline", pushedTitle: "inline", back: "chevron", inlineTitleSize: 15, largeTitleSize: 15, hideWithStickyChrome: false },
12753
- press: { button: "none", tappable: "none", highlightOpacity: 1, stateLayerOpacity: 0 }
12753
+ press: { button: "none", tappable: "none", highlightOpacity: 1, stateLayerOpacity: 0 },
12754
+ // The web's own bar, exactly as web-host drew it before #3222.
12755
+ tabBar: { height: null, itemPadding: "7px 4px 6px", itemGap: 3, iconSize: 22, labelSize: 11, labelWeight: 600, indicator: null, roles: { background: "surfacePrimary", selected: "accentPrimary", selectedLabel: "accentPrimary", unselected: "textSecondary", indicator: null }, topHairline: true, translucent: false, badgeColor: "#E62214" }
12754
12756
  },
12755
12757
  // iOS: the stock UIKit / SwiftUI controls. The switch is MEASURED against
12756
12758
  // HimalayaDemoAppSnapshotTests' gallery_inputs golden (51×31, 27pt thumb, 2pt inset).
@@ -12771,7 +12773,10 @@ var init_idiom_controls = __esm({
12771
12773
  // A Button is `.buttonStyle(.borderless)`, which dims its content while pressed; any other
12772
12774
  // tappable is `.onTapGesture` (SDUIRenderer.swift `TapGestureIfPresent`), which shows
12773
12775
  // nothing. The dim is approximate — no golden captures a pressed state.
12774
- press: { button: "highlight", tappable: "none", highlightOpacity: 0.3, stateLayerOpacity: 0 }
12776
+ press: { button: "highlight", tappable: "none", highlightOpacity: 0.3, stateLayerOpacity: 0 },
12777
+ // UITabBar: 49pt, a 25pt glyph over a 10pt medium label, the tint on the selected tab, a
12778
+ // translucent material with a hairline, systemRed badges.
12779
+ tabBar: { height: 49, itemPadding: "6px 2px 2px", itemGap: 2, iconSize: 25, labelSize: 10, labelWeight: 500, indicator: null, roles: { background: "surfacePrimary", selected: "accentPrimary", selectedLabel: "accentPrimary", unselected: "textSecondary", indicator: null }, topHairline: true, translucent: true, badgeColor: "#FF3B30" }
12775
12780
  },
12776
12781
  // Android: the stock Material 3 controls. The switch's ON state is MEASURED against the
12777
12782
  // Paparazzi gallery_inputs golden (52×32 track, 24dp thumb, 4dp inset); its OFF state —
@@ -12818,7 +12823,12 @@ var init_idiom_controls = __esm({
12818
12823
  navBar: { rootTitle: "none", pushedTitle: "none", back: "arrow", inlineTitleSize: 0, largeTitleSize: 0, hideWithStickyChrome: false },
12819
12824
  // M3 Buttons and `Modifier.clickable` (every `onTap`, SDUIRenderer.kt) ripple. The web draws
12820
12825
  // the M3 pressed state layer (10% of the content colour), not the expanding circle.
12821
- press: { button: "ripple", tappable: "ripple", highlightOpacity: 1, stateLayerOpacity: 0.1 }
12826
+ press: { button: "ripple", tappable: "ripple", highlightOpacity: 1, stateLayerOpacity: 0.1 },
12827
+ // M3 NavigationBar: 80dp on surfaceContainer, a 64×32 pill (secondaryContainer) behind the
12828
+ // selected 24dp icon, a 12sp medium label, no hairline. Roles as HimalayaMaterialTheme maps
12829
+ // them: surfaceContainer → surfaceSecondary, secondaryContainer → accentSurface,
12830
+ // onSecondaryContainer / onSurface → textPrimary, onSurfaceVariant → textSecondary.
12831
+ tabBar: { height: 80, itemPadding: "12px 0 16px", itemGap: 4, iconSize: 24, labelSize: 12, labelWeight: 500, indicator: { width: 64, height: 32, radius: 16 }, roles: { background: ["surfaceSecondary", "surfacePrimary"], selected: "textPrimary", selectedLabel: "textPrimary", unselected: "textSecondary", indicator: ["accentSurface", "surfaceTertiary"] }, topHairline: false, translucent: false, badgeColor: "#B3261E" }
12822
12832
  }
12823
12833
  };
12824
12834
  }
@@ -20036,6 +20046,7 @@ function shouldRevealError(args) {
20036
20046
  var EMAIL_RE, URL_HOST_RE, INTEGER_RE, NUMBER_RE;
20037
20047
  var init_validation = __esm({
20038
20048
  "../../core/ts/src/validation.ts"() {
20049
+ "use strict";
20039
20050
  EMAIL_RE = /^[A-Za-z0-9._%+-]+@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*\.[A-Za-z]{2,}$/;
20040
20051
  URL_HOST_RE = /^[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)*(:[0-9]+)?$/;
20041
20052
  INTEGER_RE = /^[+-]?[0-9]+$/;
@@ -23479,6 +23490,7 @@ function validateWorkerSubtree(raw, slotId, policy, actionCatalog) {
23479
23490
  var WORKER_SUBTREE_CEILINGS, ID_PART, ACTION_ID;
23480
23491
  var init_worker_subtree = __esm({
23481
23492
  "../../core/ts/src/worker-subtree.ts"() {
23493
+ "use strict";
23482
23494
  init_worker_subtree_safe_types_generated();
23483
23495
  WORKER_SUBTREE_CEILINGS = Object.freeze({
23484
23496
  maxEncodedBytes: 65536,
@@ -29273,6 +29285,7 @@ __export(src_exports, {
29273
29285
  makeModStyle: () => makeModStyle,
29274
29286
  makeTokenResolvers: () => makeTokenResolvers,
29275
29287
  normalize: () => normalize,
29288
+ pickRole: () => pickRole,
29276
29289
  renderDescriptorToHtml: () => renderDescriptorToHtml,
29277
29290
  renderNode: () => renderNode,
29278
29291
  servicePath: () => servicePath,
@@ -48769,21 +48782,21 @@ var init_preview_assets_generated = __esm({
48769
48782
  "../../packages/serve/src/preview-assets.generated.ts"() {
48770
48783
  init_preview_assets_format();
48771
48784
  PREVIEW_ASSET_MANIFEST = [
48772
- { key: "assets/index-hHpGDjBZ.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1038931, sha256: "65ef206c528bdc3e9b7ec6907e734267cd225ed33513982c46ecb3bbdd6d44ee" },
48773
- { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1038939, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
48774
- { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1043549, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
48775
- { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1532133, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
48776
- { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1623057, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
48777
- { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1714041, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
48778
- { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1805021, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
48779
- { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1895893, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
48780
- { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 1986873, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
48781
- { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2095509, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
48782
- { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2204593, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
48783
- { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2313641, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
48784
- { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2421341, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
48785
- { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2509449, length: 4947, sha256: "f07de6435f49d7608a56b7af529229f2ccc10901ab33a9e600e01f10b60975d6" },
48786
- { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2514396, length: 17209, sha256: "dffc9718e2faa63ae2cc919e0a842f585ed565aaaa7c53778e90379442c731b6" }
48785
+ { key: "assets/index-CxGyJNjV.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1041209, sha256: "4eb08b810b7f8e5ae57dc8eef60fe084213c20e0ba7a9bc79b55c89b50cd1291" },
48786
+ { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1041217, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
48787
+ { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1045827, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
48788
+ { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1534411, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
48789
+ { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1625335, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
48790
+ { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1716319, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
48791
+ { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1807299, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
48792
+ { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1898171, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
48793
+ { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 1989151, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
48794
+ { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2097787, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
48795
+ { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2206871, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
48796
+ { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2315919, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
48797
+ { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2423619, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
48798
+ { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2511727, length: 4947, sha256: "8f89772181b62b7bda8f1620af71cca03ee0aae2471127d0633e07488edbf290" },
48799
+ { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2516674, length: 17209, sha256: "dffc9718e2faa63ae2cc919e0a842f585ed565aaaa7c53778e90379442c731b6" }
48787
48800
  ];
48788
48801
  }
48789
48802
  });
Binary file
@@ -871,7 +871,7 @@
871
871
  "name": "TabBarConfig",
872
872
  "kind": "interface",
873
873
  "jsdoc": "/** Tab-bar structure config. */",
874
- "decl": "export interface TabBarConfig {\n items: NavTabItem[];\n}"
874
+ "decl": "export interface TabBarConfig {\n items: NavTabItem[];\n /** #3222 — who draws the bar. `\"native\"` (the default, and what an absent or unknown value\n * means): the platform's own — SwiftUI `TabView` on iOS, Material 3 `NavigationBar` on\n * Android, and the web preview imitates the look it is previewing. `\"kit\"`: `KitTabBar`, styled\n * by the design kit's `tabBar` block (shape, indicator, gradient…). Operational: it can be\n * flipped over the air. */\n presentation?: TabBarPresentation;\n}"
875
875
  },
876
876
  {
877
877
  "name": "NavTabItem",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1024.0",
3
+ "version": "0.1025.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": "3447850e1e9f50f259b3b0d4aadd45e127233d1ae54ad9d31816cc1d"
68
+ "falconPackageHash": "8524486511ccaa0f22705e39a4f6405e723ac7f3adb4ebcef9d05324"
69
69
  }