@wix/himalaya-cli 0.1196.0 → 0.1197.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.
package/dist/cli.mjs CHANGED
@@ -33277,6 +33277,32 @@ var init_overlayModality = __esm({
33277
33277
  }
33278
33278
  });
33279
33279
 
33280
+ // ../../core/web-renderer/src/sheet.ts
33281
+ function sheetDetents(detents) {
33282
+ if (!Array.isArray(detents)) return [];
33283
+ const kept = detents.filter((d) => typeof d === "number" && d > 0 && d <= 1);
33284
+ return [...new Set(kept)].sort((a, b) => a - b);
33285
+ }
33286
+ function nextDetentIndex(index, count2) {
33287
+ return count2 <= 1 ? 0 : (index + 1) % count2;
33288
+ }
33289
+ function detentAfterDrag(index, count2, dy) {
33290
+ if (count2 <= 1 || Math.abs(dy) < DETENT_DRAG_THRESHOLD) return Math.max(0, Math.min(index, count2 - 1));
33291
+ return Math.max(0, Math.min(count2 - 1, index + (dy < 0 ? 1 : -1)));
33292
+ }
33293
+ function sheetEdge(edge) {
33294
+ return edge === "leading" || edge === "trailing" ? edge : "bottom";
33295
+ }
33296
+ var DETENT_DRAG_THRESHOLD, SIDE_SHEET_MAX_WIDTH, SIDE_SHEET_FRACTION, SIDE_SHEET_WIDTH_CSS;
33297
+ var init_sheet = __esm({
33298
+ "../../core/web-renderer/src/sheet.ts"() {
33299
+ DETENT_DRAG_THRESHOLD = 24;
33300
+ SIDE_SHEET_MAX_WIDTH = 320;
33301
+ SIDE_SHEET_FRACTION = 0.85;
33302
+ SIDE_SHEET_WIDTH_CSS = `min(${SIDE_SHEET_MAX_WIDTH}px, ${SIDE_SHEET_FRACTION * 100}%)`;
33303
+ }
33304
+ });
33305
+
33280
33306
  // ../../core/web-renderer/src/listGestures.tsx
33281
33307
  import { useRef, useState as useState2 } from "react";
33282
33308
  import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
@@ -36214,6 +36240,7 @@ var init_renderNode = __esm({
36214
36240
  init_controls();
36215
36241
  init_modalStack();
36216
36242
  init_overlayModality();
36243
+ init_sheet();
36217
36244
  init_listGestures();
36218
36245
  init_worker_subtree();
36219
36246
  init_preview_surfaces();
@@ -38256,17 +38283,117 @@ var init_renderNode = __esm({
38256
38283
  const bound = useResolvedScalar(props.presentedPath, ctx);
38257
38284
  const gated = props.presentedPath != null || props.presented != null;
38258
38285
  const presented = props.presentedPath != null ? bound : props.presented;
38259
- const shown2 = !gated || presented === true || presented === "true";
38286
+ const gateOpen = !gated || presented === true || presented === "true";
38287
+ const [dismissed, setDismissed] = React7.useState(false);
38288
+ React7.useEffect(() => {
38289
+ if (!gateOpen) setDismissed(false);
38290
+ }, [gateOpen]);
38291
+ const shown2 = gateOpen && !dismissed;
38260
38292
  const modal = isOverlayModal("BottomSheet", props.modal);
38293
+ const dismissible = props.dismissible !== false;
38294
+ const edge = sheetEdge(props.edge);
38295
+ const detents = edge === "bottom" ? sheetDetents(props.detents) : [];
38296
+ const [detentIndex, setDetentIndex] = React7.useState(0);
38297
+ React7.useEffect(() => {
38298
+ if (!shown2) setDetentIndex(0);
38299
+ }, [shown2]);
38261
38300
  const dialogRef = React7.useRef(null);
38262
38301
  const trapTab = useModalOverlay(dialogRef, shown2 && modal);
38302
+ const latest = React7.useRef({ ctx, onDismiss: props.onDismiss });
38303
+ latest.current = { ctx, onDismiss: props.onDismiss };
38304
+ const closed = React7.useRef(false);
38305
+ React7.useEffect(() => {
38306
+ if (shown2) closed.current = false;
38307
+ }, [shown2]);
38308
+ const dismiss = React7.useCallback(() => {
38309
+ if (closed.current) return;
38310
+ closed.current = true;
38311
+ setDismissed(true);
38312
+ const { ctx: now, onDismiss } = latest.current;
38313
+ if (onDismiss != null) now.onAction?.(resolveItemDeep2(onDismiss, now));
38314
+ }, []);
38315
+ React7.useEffect(() => {
38316
+ if (!shown2 || !dismissible) return;
38317
+ const doc = dialogRef.current?.ownerDocument;
38318
+ if (!doc) return;
38319
+ const onKey = (e) => {
38320
+ const d = dialogRef.current;
38321
+ if (e.key !== "Escape" || !d || !isWithinTopModal(d)) return;
38322
+ if (d.querySelector(`[role="menu"], [${PRESENTED_OVERLAY_ATTR}]`) != null) return;
38323
+ e.stopPropagation();
38324
+ dismiss();
38325
+ };
38326
+ doc.addEventListener("keydown", onKey, true);
38327
+ return () => doc.removeEventListener("keydown", onKey, true);
38328
+ }, [shown2, dismissible, dismiss]);
38329
+ const drag = React7.useRef(null);
38263
38330
  if (!shown2) return null;
38264
- const grabber = props.showGrabber !== false;
38331
+ const grabber = props.showGrabber !== false && edge === "bottom";
38265
38332
  const sheet = idiomControls(ctx.idiom).sheet;
38266
- return /* @__PURE__ */ jsx8("div", { style: { position: "absolute", inset: 0, background: "rgba(0,0,0,.35)", zIndex: 50, display: "flex", flexDirection: "column", justifyContent: "flex-end", ...wrap }, children: /* @__PURE__ */ jsxs5("div", { ref: dialogRef, role: "dialog", "aria-modal": modal ? "true" : void 0, tabIndex: modal ? -1 : void 0, onKeyDown: modal ? trapTab : void 0, "aria-label": props.title != null ? sheetTitle : "Sheet", style: { width: "100%", background: C("surfacePrimary", "#fff"), borderRadius: `${sheet.cornerRadius}px ${sheet.cornerRadius}px 0 0`, boxShadow: "0 -4px 24px rgba(0,0,0,.12)", overflow: "hidden" }, children: [
38267
- grabber && /* @__PURE__ */ jsx8("div", { style: { display: "flex", justifyContent: "center", padding: "8px 0 4px" }, children: /* @__PURE__ */ jsx8("div", { style: { width: sheet.grabberWidth, height: sheet.grabberHeight, borderRadius: 999, background: C("surfaceTertiary", "#d8dce2") } }) }),
38268
- /* @__PURE__ */ jsx8("div", { style: { padding: "8px 16px 16px" }, children: props.content ? renderNode(props.content, ctx) : null })
38269
- ] }) });
38333
+ const r = `${sheet.cornerRadius}px`;
38334
+ const side2 = edge !== "bottom";
38335
+ const index = Math.min(detentIndex, Math.max(detents.length - 1, 0));
38336
+ const sized = detents.length ? { height: `${detents[index] * 100}%`, maxHeight: `${detents[detents.length - 1] * 100}%`, display: "flex", flexDirection: "column" } : {};
38337
+ const shape = side2 ? {
38338
+ width: SIDE_SHEET_WIDTH_CSS,
38339
+ height: "100%",
38340
+ display: "flex",
38341
+ flexDirection: "column",
38342
+ // Unoffset, so it falls toward the scrim whichever physical side RTL puts the panel on —
38343
+ // box-shadow has no logical form, and the half cast at the screen edge is off-screen anyway.
38344
+ boxShadow: "0 0 24px rgba(0,0,0,.12)",
38345
+ // Rounded on the side that faces the screen — logical corners, so RTL flips them too.
38346
+ ...edge === "leading" ? { borderStartEndRadius: r, borderEndEndRadius: r } : { borderStartStartRadius: r, borderEndStartRadius: r }
38347
+ } : { width: "100%", borderRadius: `${r} ${r} 0 0`, boxShadow: "0 -4px 24px rgba(0,0,0,.12)", ...sized };
38348
+ const handleBar = /* @__PURE__ */ jsx8("div", { style: { width: sheet.grabberWidth, height: sheet.grabberHeight, borderRadius: 999, background: C("surfaceTertiary", "#d8dce2") } });
38349
+ const handleBox = { display: "flex", justifyContent: "center", padding: "8px 0 4px", flexShrink: 0 };
38350
+ return /* @__PURE__ */ jsx8(
38351
+ "div",
38352
+ {
38353
+ "data-sheet-scrim": "",
38354
+ onClick: dismissible ? (e) => {
38355
+ if (drag.current?.moved) {
38356
+ drag.current = null;
38357
+ return;
38358
+ }
38359
+ if (e.target === e.currentTarget) dismiss();
38360
+ } : void 0,
38361
+ style: { position: "absolute", inset: 0, background: "rgba(0,0,0,.35)", zIndex: 50, display: "flex", ...side2 ? { flexDirection: "row", justifyContent: edge === "leading" ? "flex-start" : "flex-end" } : { flexDirection: "column", justifyContent: "flex-end" }, ...wrap },
38362
+ children: /* @__PURE__ */ jsxs5("div", { ref: dialogRef, role: "dialog", "data-sheet-edge": edge, "aria-modal": modal ? "true" : void 0, tabIndex: modal ? -1 : void 0, onKeyDown: modal ? trapTab : void 0, "aria-label": props.title != null ? sheetTitle : "Sheet", style: { background: C("surfacePrimary", "#fff"), overflow: "hidden", ...shape }, children: [
38363
+ grabber && (detents.length > 1 ? /* @__PURE__ */ jsx8(
38364
+ "button",
38365
+ {
38366
+ type: "button",
38367
+ "aria-label": "Resize sheet",
38368
+ "data-sheet-handle": "",
38369
+ onClick: () => {
38370
+ if (drag.current?.moved) {
38371
+ drag.current = null;
38372
+ return;
38373
+ }
38374
+ drag.current = null;
38375
+ setDetentIndex((i) => nextDetentIndex(i, detents.length));
38376
+ },
38377
+ onPointerDown: (e) => {
38378
+ drag.current = { y: e.clientY, moved: false };
38379
+ e.currentTarget.setPointerCapture?.(e.pointerId);
38380
+ },
38381
+ onPointerUp: (e) => {
38382
+ const d = drag.current;
38383
+ if (!d) return;
38384
+ const dy = e.clientY - d.y;
38385
+ if (Math.abs(dy) < DETENT_DRAG_THRESHOLD) return;
38386
+ d.moved = true;
38387
+ setDetentIndex(detentAfterDrag(index, detents.length, dy));
38388
+ },
38389
+ style: { ...handleBox, width: "100%", border: "none", background: "transparent", cursor: "ns-resize", touchAction: "none" },
38390
+ children: handleBar
38391
+ }
38392
+ ) : /* @__PURE__ */ jsx8("div", { style: handleBox, children: handleBar })),
38393
+ /* @__PURE__ */ jsx8("div", { style: { padding: side2 ? "16px" : "8px 16px 16px", ...side2 || detents.length ? { flex: 1, minHeight: 0, overflowY: "auto" } : {} }, children: props.content ? renderNode(props.content, ctx) : null })
38394
+ ] })
38395
+ }
38396
+ );
38270
38397
  });
38271
38398
  PRESENTED_OVERLAY_ATTR = "data-hm-presented-overlay";
38272
38399
  PopoverNode = withExtras("PopoverNode", ({ props, ctx, wrap }) => {
@@ -61232,21 +61359,21 @@ var init_preview_assets_generated = __esm({
61232
61359
  "../../packages/serve/src/preview-assets.generated.ts"() {
61233
61360
  init_preview_assets_format();
61234
61361
  PREVIEW_ASSET_MANIFEST = [
61235
- { key: "assets/index-DguBaniI.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1137597, sha256: "22b20d33f0bdfb014b6ca6594cfd8ad3a6b5a2d152b0e36b077aaf85eeff679e" },
61236
- { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1137605, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
61237
- { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1142215, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
61238
- { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1630799, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
61239
- { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1721723, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
61240
- { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1812707, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
61241
- { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1903687, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
61242
- { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1994559, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
61243
- { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2085539, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
61244
- { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2194175, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
61245
- { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2303259, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
61246
- { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2412307, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
61247
- { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2520007, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
61248
- { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2608115, length: 4947, sha256: "585aea745576a63c4e6115d570ec4eb9d9facbf7fdb3cdce22246b5880cd0ca6" },
61249
- { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2613062, length: 17344, sha256: "d057298d75e7373e5e2c4d11b7d1bcbea88e03af555ba63d97641c78509c58e4" }
61362
+ { key: "assets/index-Be22pfxU.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1139970, sha256: "62e8562cac4241e5d50d5174a0a0c919a8f95eef7bcab5e2864bd1b809ba1934" },
61363
+ { key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1139978, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
61364
+ { key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1144588, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
61365
+ { key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1633172, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
61366
+ { key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1724096, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
61367
+ { key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1815080, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
61368
+ { key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1906060, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
61369
+ { key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1996932, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
61370
+ { key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2087912, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
61371
+ { key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2196548, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
61372
+ { key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2305632, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
61373
+ { key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2414680, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
61374
+ { key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2522380, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
61375
+ { key: "index.html", contentType: "text/html; charset=utf-8", offset: 2610488, length: 4947, sha256: "386fa61b1b421ce787158e789f1305d53d99f3bd49f49f90a18913d84b2d155a" },
61376
+ { key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2615435, length: 17344, sha256: "d057298d75e7373e5e2c4d11b7d1bcbea88e03af555ba63d97641c78509c58e4" }
61250
61377
  ];
61251
61378
  }
61252
61379
  });
Binary file
@@ -13,7 +13,6 @@
13
13
  "Slider",
14
14
  "SelectionControl",
15
15
  "ActivityIndicator",
16
- "BottomSheet",
17
16
  "Menu",
18
17
  "Tooltip",
19
18
  "Popover",
@@ -770,42 +769,6 @@
770
769
  "bindings": [
771
770
  "presentedPath"
772
771
  ],
773
- "notImplemented": [
774
- {
775
- "props": [
776
- "edge"
777
- ],
778
- "platforms": [
779
- "ios"
780
- ],
781
- "severity": "category",
782
- "note": "`edge` (side sheet) is ignored — it always opens from the bottom."
783
- },
784
- {
785
- "props": [
786
- "detents",
787
- "edge"
788
- ],
789
- "platforms": [
790
- "android"
791
- ],
792
- "severity": "category",
793
- "note": "`detents` are ignored (opens full height). `edge` (side sheet) is ignored — it always opens from the bottom."
794
- },
795
- {
796
- "props": [
797
- "detents",
798
- "dismissible",
799
- "onDismiss",
800
- "edge"
801
- ],
802
- "platforms": [
803
- "web"
804
- ],
805
- "severity": "category",
806
- "note": "`detents` are ignored (opens full height). No scrim tap / Escape to close, so `onDismiss` never fires — for a dismissible sheet here, present the content as its own screen with `presentation: \"sheet\"` on the navigating `Action`. `edge` (side sheet) is ignored — it always opens from the bottom."
807
- }
808
- ],
809
772
  "propsSource": "export interface BottomSheetProps {\n /** Place the sheet as a root-payload sibling (normally the final child), not\n * inside the trigger row, so its presented overlay can cover the whole screen. */\n content?: Component;\n /** Fractional heights, e.g. [0.3, 0.9]. */\n detents?: number[];\n dismissible?: boolean;\n showGrabber?: boolean;\n onDismiss?: Action;\n presented?: boolean;\n /** \"$service:\" binding → bool (overrides `presented`). */\n presentedPath?: string;\n edge?: \"bottom\" | \"leading\" | \"trailing\";\n /** The overlay traps focus and hides the rest of the tree from AT while\n * presented (iOS `accessibilityViewIsModal`, Android `isTraversalGroup`, ARIA\n * `aria-modal`). TRI-STATE: absent takes this component's default (**true**), an\n * explicit `false` opts it out. */\n modal?: boolean;\n}"
810
773
  },
811
774
  {
@@ -116,9 +116,9 @@ See also **[Modifiers](#modifiers)** (the `modifiers` block) and **[Actions](#ac
116
116
 
117
117
  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.
118
118
 
119
- **Scope: 21 of 84 components, all of them web / android / ios-only** — every other component/platform pair reads every prop it decodes. The list splits in two, and the halves mean different things:
119
+ **Scope: 20 of 84 components, all of them web / android / ios-only** — every other component/platform pair reads every prop it decodes. The list splits in two, and the halves mean different things:
120
120
 
121
- - **`category` (8: `BottomSheet`, `Menu`, `Tooltip`, `Popover`, `ChipsInput`, `OtpInput`, `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 — for a dismissible sheet it is `presentation: "sheet"` on the navigating `Action`, not `BottomSheet`.
121
+ - **`category` (7: `Menu`, `Tooltip`, `Popover`, `ChipsInput`, `OtpInput`, `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.
122
122
  - **`styling` (13: `Text`, `Carousel`, `CollapsingHeader`, `Banner`, `Snackbar`, `WebView`, `Slider`, `SelectionControl`, `ActivityIndicator`, `Map`, `Video`, `PdfView`, `Agenda`)** — 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.
123
123
 
124
124
  | Component | Unread props | Platform | Kind | Note |
@@ -133,9 +133,6 @@ These props are accepted by the schema and pass validation, but the named platfo
133
133
  | `Slider` | `debounceMs` | ios, web | styling | `debounceMs` does not throttle onChange. |
134
134
  | `SelectionControl` | `groupId` | android, web | styling | Radios sharing a `groupId` are not mutually exclusive. |
135
135
  | `ActivityIndicator` | `ring` | ios, android, web | styling | The `ring` style is never selected (determinate vs indeterminate follows `value`). |
136
- | `BottomSheet` | `edge` | ios | category | `edge` (side sheet) is ignored — it always opens from the bottom. |
137
- | `BottomSheet` | `detents`, `edge` | android | category | `detents` are ignored (opens full height). `edge` (side sheet) is ignored — it always opens from the bottom. |
138
- | `BottomSheet` | `detents`, `dismissible`, `onDismiss`, `edge` | web | category | `detents` are ignored (opens full height). No scrim tap / Escape to close, so `onDismiss` never fires — for a dismissible sheet here, present the content as its own screen with `presentation: "sheet"` on the navigating `Action`. `edge` (side sheet) is ignored — it always opens from the bottom. |
139
136
  | `Menu` | `itemsPath` | ios | category | `itemsPath` does not bind items. |
140
137
  | `Menu` | `style`, `itemsPath` | android, web | category | `style` is ignored — `context`/`action_sheet` render as a dropdown. `itemsPath` does not bind items. |
141
138
  | `Tooltip` | `edge`, `trigger`, `onDismiss` | ios, android, web | category | Not an overlay — renders always-expanded inline; `edge`, `trigger` and dismissal are inert. |
@@ -1309,12 +1306,6 @@ export interface BottomSheetProps {
1309
1306
  }
1310
1307
  ```
1311
1308
 
1312
- > ⚠️ **Not implemented on ios:** `edge` — `edge` (side sheet) is ignored — it always opens from the bottom.
1313
-
1314
- > ⚠️ **Not implemented on android:** `detents`, `edge` — `detents` are ignored (opens full height). `edge` (side sheet) is ignored — it always opens from the bottom.
1315
-
1316
- > ⚠️ **Not implemented on web:** `detents`, `dismissible`, `onDismiss`, `edge` — `detents` are ignored (opens full height). No scrim tap / Escape to close, so `onDismiss` never fires — for a dismissible sheet here, present the content as its own screen with `presentation: "sheet"` on the navigating `Action`. `edge` (side sheet) is ignored — it always opens from the bottom.
1317
-
1318
1309
  #### Menu
1319
1310
 
1320
1311
  ```ts
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1196.0",
3
+ "version": "0.1197.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": [
@@ -67,5 +67,5 @@
67
67
  "artifactId": "himalaya-cli"
68
68
  }
69
69
  },
70
- "falconPackageHash": "e95a1f768b7ab7776b103e30d88d9c746126ab8916e74519b48e3d94"
70
+ "falconPackageHash": "3f470cbc63eb9c1ea7dd879c9c6957121770abb5dcd24125ae87b4a7"
71
71
  }