@wix/himalaya-cli 0.1477.0 → 0.1478.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.
Binary file
@@ -8,11 +8,7 @@
8
8
  "Icon",
9
9
  "Carousel",
10
10
  "Pager",
11
- "Snackbar",
12
11
  "WebView",
13
- "Slider",
14
- "SelectionControl",
15
- "ActivityIndicator",
16
12
  "Menu",
17
13
  "Video",
18
14
  "PdfView",
@@ -578,18 +574,6 @@
578
574
  "category": "Feedback",
579
575
  "propsType": "SnackbarProps",
580
576
  "bindings": [],
581
- "notImplemented": {
582
- "props": [
583
- "durationMs"
584
- ],
585
- "platforms": [
586
- "ios",
587
- "android",
588
- "web"
589
- ],
590
- "severity": "styling",
591
- "note": "The Snackbar component renders inline, so `durationMs` does nothing (the `snackbar` presentation verb is the working toast)."
592
- },
593
577
  "propsSource": "export interface SnackbarProps {\n message: string;\n action?: Action;\n durationMs?: number;\n severity?: Severity;\n /** #1059 — action label; overridable for localized hosts. Default \"Take action\". */\n actionLabel?: string;\n}"
594
578
  },
595
579
  {
@@ -677,17 +661,6 @@
677
661
  ]
678
662
  }
679
663
  ],
680
- "notImplemented": {
681
- "props": [
682
- "debounceMs"
683
- ],
684
- "platforms": [
685
- "ios",
686
- "web"
687
- ],
688
- "severity": "styling",
689
- "note": "`debounceMs` does not throttle onChange."
690
- },
691
664
  "propsSource": "export interface SliderProps {\n value?: number;\n min?: number;\n max?: number;\n /** 0 = continuous; >0 snaps. */\n step?: number;\n onChange?: Action;\n /** Two-thumb range mode. */\n range?: boolean;\n upperValue?: number;\n /** \"$service:\"/\"$item.\" binding → number (overrides `value`). */\n valuePath?: string;\n tint?: TokenName;\n debounceMs?: number;\n disabled?: boolean;\n}"
692
665
  },
693
666
  {
@@ -702,7 +675,7 @@
702
675
  "callback": "onChange",
703
676
  "key": "value",
704
677
  "encoding": "boolean",
705
- "note": "The next checked state. iOS additionally sends `groupId` for radio groups.",
678
+ "note": "The next checked state. A grouped radio additionally sends `groupId`, on every arm.",
706
679
  "divergences": [
707
680
  {
708
681
  "arms": [
@@ -713,26 +686,18 @@
713
686
  },
714
687
  {
715
688
  "arms": [
716
- "ios"
689
+ "ios",
690
+ "android",
691
+ "web",
692
+ "rn"
717
693
  ],
718
694
  "kind": "additive",
719
- "actual": "additionally sends `groupId` so a radio group can identify which set changed.",
695
+ "actual": "a grouped radio additionally sends `groupId` so a worker can identify which set changed.",
720
696
  "reason": "Additive, not conflicting. It was previously hard-coded as an allowed key in the gate, which put it outside the contract — the one place this PR claims is the single source of truth."
721
697
  }
722
698
  ]
723
699
  }
724
700
  ],
725
- "notImplemented": {
726
- "props": [
727
- "groupId"
728
- ],
729
- "platforms": [
730
- "android",
731
- "web"
732
- ],
733
- "severity": "styling",
734
- "note": "Radios sharing a `groupId` are not mutually exclusive."
735
- },
736
701
  "propsSource": "export interface SelectionControlProps {\n label?: string;\n value?: boolean;\n kind?: \"checkbox\" | \"radio\";\n /** Radios sharing a `groupId` are mutually exclusive. */\n groupId?: string;\n onChange?: Action;\n /** \"$service:\"/\"$item.\" binding → bool (overrides `value`). */\n valuePath?: string;\n disabled?: boolean;\n /** Checkbox tri-state (renders a dash); ignored for radio. */\n indeterminate?: boolean;\n}"
737
702
  },
738
703
  {
@@ -742,18 +707,6 @@
742
707
  "bindings": [
743
708
  "valuePath"
744
709
  ],
745
- "notImplemented": {
746
- "props": [
747
- "ring"
748
- ],
749
- "platforms": [
750
- "ios",
751
- "android",
752
- "web"
753
- ],
754
- "severity": "styling",
755
- "note": "The `ring` style is never selected (determinate vs indeterminate follows `value`)."
756
- },
757
710
  "propsSource": "export interface ActivityIndicatorProps {\n /** 0..1 (determinate); ignored when `indeterminate`. */\n value?: number;\n /** `$service:`/`$item.` binding → a live 0..1 fraction (overrides `value`). */\n valuePath?: string;\n indeterminate?: boolean;\n size?: number;\n tint?: TokenName;\n /** Determinate ring vs. arc spinner. */\n ring?: boolean;\n}"
758
711
  },
759
712
  {
@@ -119,10 +119,10 @@ See also **[Modifiers](#modifiers)** (the `modifiers` block) and **[Actions](#ac
119
119
 
120
120
  These props are accepted by the schema and pass validation, but the named platform's renderer never reads them — they silently do nothing (no warning, no log). Prefer a prop NOT listed here, or drive the behaviour from a worker.
121
121
 
122
- **Scope: 14 of 87 components, all of them android / web / ios-only** — every other component/platform pair reads every prop it decodes. The list splits in two, and the halves mean different things:
122
+ **Scope: 10 of 87 components, all of them android / web / ios-only** — every other component/platform pair reads every prop it decodes. The list splits in two, and the halves mean different things:
123
123
 
124
124
  - **`category` (3: `Menu`, `MediaPlayer`, `TimeGrid`)** — the prop changes the component's *kind*. These genuinely are **not implemented**: an overlay renders always-visible inline, so the component does not do the job its name implies. Check the row's note for a working alternative.
125
- - **`styling` (11: `Text`, `Icon`, `Carousel`, `Pager`, `Snackbar`, `WebView`, `Slider`, `SelectionControl`, `ActivityIndicator`, `Video`, `PdfView`)** — the component itself **works**; only the listed prop is inert. `Slider` on iOS is a working slider whose `debounceMs` does not throttle — not a broken `Slider`. Use the component; just do not depend on that one prop.
125
+ - **`styling` (7: `Text`, `Icon`, `Carousel`, `Pager`, `WebView`, `Video`, `PdfView`)** — the component itself **works**; only the listed prop is inert. Use the component; just do not depend on that one prop.
126
126
 
127
127
  | Component | Unread props | Platform | Kind | Note |
128
128
  |---|---|---|---|---|
@@ -130,11 +130,7 @@ These props are accepted by the schema and pass validation, but the named platfo
130
130
  | `Icon` | `renderingMode`, `weight`, `variableValue` | android, web | styling | Fixed catalog vectors have no SF layers, font-weight axis or variable fills. Bounce and pulse animate the whole glyph; variableColor remains static. React Native uses the same catalog fallback. |
131
131
  | `Carousel` | `liveWindow` | ios, android, web | styling | Declared ahead of its runtime: every page stays mounted until Pager/Carousel live_window lands on each renderer (W8, #4630). |
132
132
  | `Pager` | `liveWindow` | ios, android, web | styling | Declared ahead of its runtime: every page stays mounted until Pager/Carousel live_window lands on each renderer (W8, #4630). |
133
- | `Snackbar` | `durationMs` | ios, android, web | styling | The Snackbar component renders inline, so `durationMs` does nothing (the `snackbar` presentation verb is the working toast). |
134
133
  | `WebView` | `bridge`, `instanceId`, `activePath`, `mutedPath`, `reloadKeyPath`, `heightPath`, `fill` | ios, android, web | styling | The embedded worker-bridged WebView contract is declared ahead of its runtime: no channel, instance identity, fill layout, bound height or active/muted/reload binding until the hosts implement it (iOS/macOS #4624/#4625, Android #4626/#4627, web #4628/#4629). |
135
- | `Slider` | `debounceMs` | ios, web | styling | `debounceMs` does not throttle onChange. |
136
- | `SelectionControl` | `groupId` | android, web | styling | Radios sharing a `groupId` are not mutually exclusive. |
137
- | `ActivityIndicator` | `ring` | ios, android, web | styling | The `ring` style is never selected (determinate vs indeterminate follows `value`). |
138
134
  | `Menu` | `itemsPath` | ios | category | `itemsPath` does not bind items. |
139
135
  | `Menu` | `style`, `itemsPath` | android, web | category | `style: "action_sheet"` renders as a dropdown. (`style: "context"` is honoured: it opens on a long-press, or right-click on web, with its `preview`.) `itemsPath` does not bind items. |
140
136
  | `Video` | `poster` | ios | styling | `poster` is not shown. |
@@ -1145,8 +1141,6 @@ export interface SnackbarProps {
1145
1141
  }
1146
1142
  ```
1147
1143
 
1148
- > ⚠️ **Implemented, but these props are inert on ios, android, web:** `durationMs` — The Snackbar component renders inline, so `durationMs` does nothing (the `snackbar` presentation verb is the working toast).
1149
-
1150
1144
  #### AlertDialog
1151
1145
 
1152
1146
  ```ts
@@ -1271,8 +1265,6 @@ export interface SliderProps {
1271
1265
  }
1272
1266
  ```
1273
1267
 
1274
- > ⚠️ **Implemented, but these props are inert on ios, web:** `debounceMs` — `debounceMs` does not throttle onChange.
1275
-
1276
1268
  **Dispatches** — see [What a control sends](#what-a-control-sends-action-payloads):
1277
1269
 
1278
1270
  | callback | key | type |
@@ -1303,19 +1295,17 @@ export interface SelectionControlProps {
1303
1295
  }
1304
1296
  ```
1305
1297
 
1306
- > ⚠️ **Implemented, but these props are inert on android, web:** `groupId` — Radios sharing a `groupId` are not mutually exclusive.
1307
-
1308
1298
  **Dispatches** — see [What a control sends](#what-a-control-sends-action-payloads):
1309
1299
 
1310
1300
  | callback | key | type |
1311
1301
  |---|---|---|
1312
1302
  | `onChange` | `value` | boolean |
1313
1303
 
1314
- > `onChange` — The next checked state. iOS additionally sends `groupId` for radio groups.
1304
+ > `onChange` — The next checked state. A grouped radio additionally sends `groupId`, on every arm.
1315
1305
 
1316
1306
  > ⚠️ **`onChange` on rn — DIVERGES:** mirrors the value into `params` as a BOOLEAN.
1317
1307
 
1318
- > ⚠️ **`onChange` on ios — ALSO sends:** additionally sends `groupId` so a radio group can identify which set changed. Additive, not conflicting. It was previously hard-coded as an allowed key in the gate, which put it outside the contract — the one place this PR claims is the single source of truth.
1308
+ > ⚠️ **`onChange` on ios + android + web + rn — ALSO sends:** a grouped radio additionally sends `groupId` so a worker can identify which set changed. Additive, not conflicting. It was previously hard-coded as an allowed key in the gate, which put it outside the contract — the one place this PR claims is the single source of truth.
1319
1309
 
1320
1310
  #### ActivityIndicator
1321
1311
 
@@ -1333,8 +1323,6 @@ export interface ActivityIndicatorProps {
1333
1323
  }
1334
1324
  ```
1335
1325
 
1336
- > ⚠️ **Implemented, but these props are inert on ios, android, web:** `ring` — The `ring` style is never selected (determinate vs indeterminate follows `value`).
1337
-
1338
1326
  ### Overlays & menus
1339
1327
 
1340
1328
  #### BottomSheet
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1477.0",
3
+ "version": "0.1478.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": "c8bc671d48c378f2cea33ccdf2dd61f759b3920ebb50a7c0a1c87a1d"
74
+ "falconPackageHash": "9df3ab790eedc5502b485d550de7a6fda56709041ca3aa3c46412c91"
75
75
  }