@wix/himalaya-cli 0.1564.0 → 0.1565.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.
@@ -35,12 +35,12 @@ export interface DetailedHeaderOptions {
35
35
  collapsedHeight?: number;
36
36
  }
37
37
  /**
38
- * Build the shared Detailed header used by One App migrations.
38
+ * Build an optional Detailed cover header for screens that explicitly request one.
39
39
  *
40
40
  * The header uses Himalaya's cross-platform `CollapsingHeader` and standard
41
- * components for the detail card, logo, member strip, and actions. A migration
42
- * calls this builder instead of copying header layout into each app. Himalaya's
43
- * hero accepts one image, so pass the first source cover image here.
41
+ * components for the detail card, logo, member strip, and actions. The One App
42
+ * migration workflow uses native navigation bars and does not call this builder.
43
+ * Himalaya's hero accepts one image.
44
44
  */
45
45
  export declare function detailedHeader(opts: DetailedHeaderOptions): Node;
46
46
  export interface ScreenEnvelope {
package/dist/cli.mjs CHANGED
@@ -13604,6 +13604,7 @@ function webViewOriginAllowed(url, origins) {
13604
13604
  }
13605
13605
  var init_webview_origin = __esm({
13606
13606
  "../../core/ts/src/webview-origin.ts"() {
13607
+ "use strict";
13607
13608
  }
13608
13609
  });
13609
13610
 
@@ -147,7 +147,7 @@ Apply these interpretation rules:
147
147
  only when the resolved source top-bar settings show a title and Structure supplies
148
148
  its value; leave it empty when the source does not show a title or has no title.
149
149
  Do not create a title from the app name, business name, route ID, tab label or
150
- section content. Keep a custom page header separate from the shell top bar.
150
+ section content. Apply the native-navigation policy below to source custom headers.
151
151
  - Keep navigation visibility, reachability and data access separate. Reevaluate
152
152
  membership/plan/badge gates at runtime; an operator's successful read is not an
153
153
  end-user access policy. Never expose protected content beneath a visual gate.
@@ -205,30 +205,34 @@ Apply these interpretation rules:
205
205
  explicitly rather than treating a pass as full design parity. A deliberate difference
206
206
  is waived only by a `design` coverage row with status `adapted` that cites the user's
207
207
  instruction and explains the change. This check compares values, not rendered screens.
208
- - For each configured Detailed header, import and call the shared
209
- `detailedHeader` builder from `@wix/himalaya/screens`. Do not recreate its
210
- component tree in the app. Resolve the source fallback and visibility rules
211
- first, then pass the title, subtitle, first cover image, logo, permitted member
212
- data, location label and configured actions. Set `collapsible: false` when the
213
- source header is not collapsible. The shared hero supports one cover image; list
214
- additional source carousel images as an adaptation gap.
215
-
216
- ```ts
217
- import { detailedHeader } from "@wix/himalaya/screens";
218
-
219
- const header = detailedHeader({
220
- id: "home.header",
221
- title: "Studio name",
222
- subtitle: "Source subtitle",
223
- imageUrl: "https://example.test/cover.jpg",
224
- primaryAction: {
225
- label: "Join",
226
- action: { actionId: "himi.open", params: { screenId: "membership" } },
227
- },
228
- });
229
- ```
230
-
231
- Add this returned component to the screen tree at the source header position.
208
+ - **Native navigation is the migration target.** Use the shell's native top bar
209
+ and, for bottom-tab navigation, `navigation.tabBar.presentation: "native"`.
210
+ Do not recreate the source Detailed header, call `detailedHeader`, or insert a
211
+ `CollapsingHeader` hero/card above the page. This target adaptation supersedes
212
+ the older instruction to reproduce the source cover header; the source
213
+ research still explains how to interpret its settings.
214
+ - Emit resolved native actions in `navigation.topBarDefault` or a complete
215
+ per-screen `topBar` override. The shell owns back/menu controls. Per-screen
216
+ actions support `hiddenPath` when `navigation.topBarDefault.actions` declares
217
+ the same action ID and binding, evaluated by `navigation.navLogicBundle`.
218
+ Keep that registration for screen overrides: screen-only paths are not
219
+ subscribed, and an unresolved path leaves the action visible. Do not invent
220
+ visibility fields. These bindings control presentation only and must not
221
+ authorize data or actions. Preserve runtime access checks, and report any source visibility
222
+ rule that the target cannot represent as a gap. Preserve the title rule above:
223
+ a source cover title does not by itself authorize a native top-bar title.
224
+ - Account for source header content in `.himi/one-app/migration-report.md`.
225
+ Record the custom cover, carousel and overlapping card as an intentional
226
+ native-navigation adaptation there; do not invent header-presentation rows in
227
+ the derived coverage ledger. Preserve meaningful subtitle, location and configured CTA content
228
+ as ordinary page content or supported native actions, with the same runtime
229
+ access rules. Report unsupported avatar/logo/action behavior as a gap; do not
230
+ invent member data, drop a configured CTA silently, or add an in-page toolbar
231
+ to imitate a missing native control.
232
+ - Verify the migrated app's native top bar, bottom tabs, back navigation and
233
+ configured actions on the affected devices, including RTL. A web screenshot
234
+ alone does not prove native navigation or control availability. Record any
235
+ unavailable device check as unverified.
232
236
  - Business context contains only `phoneNumber`, `website`, and `services`, with
233
237
  their permitted nested values. Structure wins on authored phone/URL/design.
234
238
  Installed services do not add features. Installation IDs are not record IDs.
@@ -257,8 +261,11 @@ reference's top-tabs row in R04 and its top-tabs acceptance case:
257
261
  in-screen top tabs.
258
262
  - `target.hiddenPages` become screens without a tab entry. Keep their routes for
259
263
  actions and links.
260
- - The first tab takes the source screen's header. The other tabs take a compact
261
- default top bar, as the editor gives each new screen a default header.
264
+ - The plan attaches the source screen's header settings to the first tab as
265
+ interpretation evidence; it does not require a custom header in the target.
266
+ Apply the native-navigation policy above to that tab too. Resolve every tab's
267
+ effective native top bar, with compact defaults for the other tabs as in the
268
+ editor conversion.
262
269
  - `target.initialTabId` is the first tab; the editor drops the source
263
270
  `initialTabId`. `initial_tab_changed` names the page that used to open first.
264
271
  - `target.showLabels` is the source label setting. Pilates hides labels when it
@@ -127,11 +127,11 @@ Translate the resolved result to Himi. Its inspected schema says a per-screen `t
127
127
  - Resolve the effective source bar for every target screen, including screens created by a navigation conversion. Do not assume that a shared source header means every screen has the same effective bar.
128
128
  - When screens have the same effective actions and style, use one shared `TopBarConfig` value or builder for them. Use it as `top_bar_default` when it is the app-wide bar. Use a complete per-screen `top_bar` only when a screen differs.
129
129
  - Himi reads the bar title from `ScreenDescriptor.title`. Set this field only when the resolved source top-bar settings show a title and Structure supplies that title. For a dynamic source title, use the title resolved by the viewer rules. If the source does not show a title or has no title value, leave the target title empty. Do not invent a title from the app name, business name, route ID, tab label, or section content.
130
- - A source custom header is page content. It is not the shell's top bar. Keep the two surfaces separate. Reuse a page-header component only when multiple screens share that configured header content.
130
+ - A source custom header is page content in the original viewer. It is not the shell's top bar. Apply the current migration's native-navigation adaptation in R09 rather than duplicating the source header above the native bar.
131
131
 
132
132
  ### R09. Treat header content as conditional, configured behavior
133
133
 
134
- Use supplied header inputs within the agreed shared-header scope. If the source config requires content beyond that scope, describe it and the needed target adaptation before expanding the implementation.
134
+ The source rules below describe the original viewer. **For the current One App migration target, use native navigation bars, bottom tabs and the top bar; do not reproduce a custom Detailed cover header.** This target policy supersedes this reference's older shared-header recommendation. Keep the source facts as interpretation evidence and record the target adaptation explicitly.
135
135
 
136
136
  Relevant source behavior to preserve when applicable:
137
137
 
@@ -142,7 +142,9 @@ Relevant source behavior to preserve when applicable:
142
142
  - Logo, invite button, CTA, member count/avatars, and business-profile entry point have separate controls. A CTA needs both its configuration and its show flag.
143
143
  - Member visibility and restaurant/location behavior depend on runtime services and permissions. Structure does not contain the member records needed to populate them; the restricted business export is not a member directory.
144
144
 
145
- For a configured Detailed header, use `detailedHeader` from `@wix/himalaya/screens`. This shared builder uses Himalaya's cross-platform `CollapsingHeader`, a rounded detail card, and standard logo, member, and button components. Every migration must call this builder. Do not copy its component tree into an app. Pass the resolved title, subtitle, first cover image, logo, allowed member data, location label, configured actions, and the page nodes in `content`. Put the remaining screen content in `content` so it scrolls beneath the hero and the hero collapses with the page. Do not place those nodes as siblings of the returned header. Keep member data hidden when the source permissions or runtime services do not allow it. The current hero supports one cover image; keep the source order and record extra carousel images as an adaptation gap. If `isCollapsible` is false, pass `collapsible: false` so the hero keeps one height. [Header domain](https://github.com/wix-private/mobile-modules/blob/3a9713cf8bbb014ce4d3006d356a82a0f02db007/packages/libraries/pilates/src/domain/Header.ts) · [Header view model](https://github.com/wix-private/mobile-modules/blob/3a9713cf8bbb014ce4d3006d356a82a0f02db007/packages/libraries/pilates/src/elements/PilatesHeader/useViewModel.ts) · [Detailed header presenter](https://github.com/wix-private/mobile-modules/blob/3a9713cf8bbb014ce4d3006d356a82a0f02db007/packages/modules/wix-one-app-member-view/src/newStructure/elements/headers/detailedHeader/usePresenter.ts) · [Himi schema](https://github.com/wix-private/himalaya/blob/d3bc68c77151b678d337323615eb9889fa8e38c3/core/schema/core.proto)
145
+ Do not call `detailedHeader` or add a `CollapsingHeader` hero/card in the migrated screen. Configure the shell through `navigation.topBarDefault`, complete per-screen `topBar` overrides, and `navigation.tabBar.presentation: "native"` for bottom tabs. Keep R08a's title and action-resolution rules; the shell owns back/menu controls. The `navigation-plan.json` first-tab source-header reference is evidence, not an instruction to render the old header.
146
+
147
+ Record the omitted custom cover, carousel and overlapping card as an adaptation in `.himi/one-app/migration-report.md`; do not invent header-presentation rows in the derived coverage ledger. Preserve meaningful subtitle, location and configured CTA content as ordinary page content or supported native actions, subject to the original runtime access rules. Per-screen `topBar.actions` support `hiddenPath` when `navigation.topBarDefault.actions` declares the same action ID and binding, evaluated by `navigation.navLogicBundle`. Keep that registration for screen overrides: screen-only paths are not subscribed, and an unresolved path leaves the action visible. Preserve representable source visibility rules through these supported bindings; do not invent visibility fields. These bindings control presentation only, not authorization. Keep runtime access checks and report source visibility rules the target cannot represent as gaps. Unsupported leading avatars, logos or actions remain explicit gaps; do not invent member data or an in-page toolbar. Verify top bars, bottom tabs, back navigation and configured actions on affected native devices, including RTL; report unavailable checks as unverified. [Header domain](https://github.com/wix-private/mobile-modules/blob/3a9713cf8bbb014ce4d3006d356a82a0f02db007/packages/libraries/pilates/src/domain/Header.ts) · [Header view model](https://github.com/wix-private/mobile-modules/blob/3a9713cf8bbb014ce4d3006d356a82a0f02db007/packages/libraries/pilates/src/elements/PilatesHeader/useViewModel.ts) · [Detailed header presenter](https://github.com/wix-private/mobile-modules/blob/3a9713cf8bbb014ce4d3006d356a82a0f02db007/packages/modules/wix-one-app-member-view/src/newStructure/elements/headers/detailedHeader/usePresenter.ts) · [Himi schema](https://github.com/wix-private/himalaya/blob/d3bc68c77151b678d337323615eb9889fa8e38c3/core/schema/core.proto)
146
148
 
147
149
  ## Step 4 — Recreate each section envelope before its content
148
150
 
@@ -4117,7 +4117,7 @@
4117
4117
  {
4118
4118
  "name": "detailedHeader",
4119
4119
  "kind": "function",
4120
- "jsdoc": "/**\n * Build the shared Detailed header used by One App migrations.\n *\n * The header uses Himalaya's cross-platform `CollapsingHeader` and standard\n * components for the detail card, logo, member strip, and actions. A migration\n * calls this builder instead of copying header layout into each app. Himalaya's\n * hero accepts one image, so pass the first source cover image here.\n */",
4120
+ "jsdoc": "/**\n * Build an optional Detailed cover header for screens that explicitly request one.\n *\n * The header uses Himalaya's cross-platform `CollapsingHeader` and standard\n * components for the detail card, logo, member strip, and actions. The One App\n * migration workflow uses native navigation bars and does not call this builder.\n * Himalaya's hero accepts one image.\n */",
4121
4121
  "decl": "export function detailedHeader(opts: DetailedHeaderOptions): Node;"
4122
4122
  },
4123
4123
  {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1564.0",
3
+ "version": "0.1565.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": [
@@ -71,5 +71,5 @@
71
71
  "artifactId": "himalaya-cli"
72
72
  }
73
73
  },
74
- "falconPackageHash": "71c5eb27bff3ea0c176e99091c8c457b4d2a6bc36fea244505eb12f9"
74
+ "falconPackageHash": "16b866eb8f71ec4f6b11fd676bbccd286b18aa734527d15c2f337eae"
75
75
  }