@wix/himalaya-cli 0.1196.0 → 0.1198.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
|
@@ -6818,7 +6818,6 @@ function walk(node, registry, path2, out2) {
|
|
|
6818
6818
|
var SYSTEM_FONT_FAMILY, TONAL_ELEVATION_ALPHA, COLOR_TOKEN_PROPS, TYPOGRAPHY_TOKEN_PROPS;
|
|
6819
6819
|
var init_tokens = __esm({
|
|
6820
6820
|
"../../core/ts/src/tokens.ts"() {
|
|
6821
|
-
"use strict";
|
|
6822
6821
|
SYSTEM_FONT_FAMILY = "$system";
|
|
6823
6822
|
TONAL_ELEVATION_ALPHA = [0, 0.05, 0.08, 0.11, 0.12, 0.14];
|
|
6824
6823
|
COLOR_TOKEN_PROPS = {
|
|
@@ -6869,7 +6868,6 @@ function resolveTranslation(value, catalog, sourceCatalog) {
|
|
|
6869
6868
|
var BINDING_SIGILS, BINDING_SIGIL_RE, TRANSLATION_PREFIX, TRANSLATION_KEY_RE;
|
|
6870
6869
|
var init_bindings = __esm({
|
|
6871
6870
|
"../../core/ts/src/bindings.ts"() {
|
|
6872
|
-
"use strict";
|
|
6873
6871
|
BINDING_SIGILS = ["service", "flag", "item", "t"];
|
|
6874
6872
|
BINDING_SIGIL_RE = new RegExp(
|
|
6875
6873
|
`^\\$(?:${BINDING_SIGILS.filter((s) => s !== "t").join("|")})\\b|^\\$t:`
|
|
@@ -33277,6 +33275,32 @@ var init_overlayModality = __esm({
|
|
|
33277
33275
|
}
|
|
33278
33276
|
});
|
|
33279
33277
|
|
|
33278
|
+
// ../../core/web-renderer/src/sheet.ts
|
|
33279
|
+
function sheetDetents(detents) {
|
|
33280
|
+
if (!Array.isArray(detents)) return [];
|
|
33281
|
+
const kept = detents.filter((d) => typeof d === "number" && d > 0 && d <= 1);
|
|
33282
|
+
return [...new Set(kept)].sort((a, b) => a - b);
|
|
33283
|
+
}
|
|
33284
|
+
function nextDetentIndex(index, count2) {
|
|
33285
|
+
return count2 <= 1 ? 0 : (index + 1) % count2;
|
|
33286
|
+
}
|
|
33287
|
+
function detentAfterDrag(index, count2, dy) {
|
|
33288
|
+
if (count2 <= 1 || Math.abs(dy) < DETENT_DRAG_THRESHOLD) return Math.max(0, Math.min(index, count2 - 1));
|
|
33289
|
+
return Math.max(0, Math.min(count2 - 1, index + (dy < 0 ? 1 : -1)));
|
|
33290
|
+
}
|
|
33291
|
+
function sheetEdge(edge) {
|
|
33292
|
+
return edge === "leading" || edge === "trailing" ? edge : "bottom";
|
|
33293
|
+
}
|
|
33294
|
+
var DETENT_DRAG_THRESHOLD, SIDE_SHEET_MAX_WIDTH, SIDE_SHEET_FRACTION, SIDE_SHEET_WIDTH_CSS;
|
|
33295
|
+
var init_sheet = __esm({
|
|
33296
|
+
"../../core/web-renderer/src/sheet.ts"() {
|
|
33297
|
+
DETENT_DRAG_THRESHOLD = 24;
|
|
33298
|
+
SIDE_SHEET_MAX_WIDTH = 320;
|
|
33299
|
+
SIDE_SHEET_FRACTION = 0.85;
|
|
33300
|
+
SIDE_SHEET_WIDTH_CSS = `min(${SIDE_SHEET_MAX_WIDTH}px, ${SIDE_SHEET_FRACTION * 100}%)`;
|
|
33301
|
+
}
|
|
33302
|
+
});
|
|
33303
|
+
|
|
33280
33304
|
// ../../core/web-renderer/src/listGestures.tsx
|
|
33281
33305
|
import { useRef, useState as useState2 } from "react";
|
|
33282
33306
|
import { Fragment as Fragment2, jsx as jsx6, jsxs as jsxs3 } from "react/jsx-runtime";
|
|
@@ -36190,7 +36214,7 @@ function renderInner(node, ctx) {
|
|
|
36190
36214
|
}
|
|
36191
36215
|
}
|
|
36192
36216
|
}
|
|
36193
|
-
var useIsomorphicLayoutEffect, ResponsiveGrid, SPLIT_EXPANDED_MIN_WIDTH, SPLIT_COLUMN_GAP, ResponsiveSplitView, ABSOLUTE_URL_RE, appearKeyframesInjected, pressStylesInjected, FOCUS_RING_CSS, focusStylesInjected, HLIST_CHILD_CSS, hListStylesInjected, listAnimateRuntimeInstalled, transitionKeyframesInjected, countUpRuntimeInjected, MEASURE_PREFIX, measureRuntimeInjected, revealRuntimeInjected, vectorAnimStylesInjected, scrollProgressRuntimeInjected, confettiRuntimeInjected, lottieRuntimeInjected, riveRuntimeInjected, gradientKeyframesInjected, parallaxRuntimeInjected, spinKeyframesInjected, marqueeKeyframesInjected, alignItems, zJustifyItems, hAlignItems, bodyFont, kids2, rowKidCtx, rowKids, staggeredKids, asTextL10n, asBoundText, useBoundString, InterpolatedTextView, txt, selectFragmentCase, fragmentValueHash, fragmentSlotContent, FragmentSlotNode, RichContentEditorNode, WorkerSubtreeNode, RichContentNode, resolveItemDeep2, resolveSwipeActions, resolveModBindings, resolvedComponentId, directServiceBindings, ReactiveDirectScalars, HiddenGate, KEYBOARD_INPUT_MODES, AUTOCAPITALIZE_VALUES, ENTER_KEY_HINTS, AUTOGROW_CEILING, EditableField, MenuNode, LoadMoreSentinel, FieldErrorNode, FormView, MediaSlotProvider, MEDIA_ITEM_BINDABLE, MediaPlayerView, VideoNode, PdfViewNode, WebViewNode, InteractivePicker, InteractiveDatePicker, InteractiveSearchField, InteractiveStepper, SYNTHETIC_TAP_ROLE, SYNTHETIC_TABINDEX, INFERRED_DECORATIVE, SELF_RENDERED_LEAF, ROLE_WHEN_NAMED, AUTHORED_ROLE, PENDING_RANGE, RANGE_ROLES, NODE_A11Y_ATTRS, INTERACTIVE_ROLES, ALWAYS_INTERACTIVE_COMPONENT_TYPES, controlNode, ToggleNode, SliderNode, SelectionControlNode, TabsNode, SegmentedControlNode, DisclosureGroupNode, GridNode, SplitViewNode, TextNode, ImageNode, ANIMATION_LEAF, LottieNode, RiveNode, AvatarNode, IconNode, ButtonNode, OtpInputNode, ProgressBarNode, ACTIVITY_DEFAULT_NAME, ActivityIndicatorNode, NATIVELY_TABBABLE, BottomSheetNode, PRESENTED_OVERLAY_ATTR, PopoverNode, ChipsInputNode, ChipNode, TableNode, GaugeRing, GaugeNode, RATING_METRICS, ratingMetrics, RatingNode, AvatarStripNode, CHART_STROKE_CYCLE, chartStrokeAt, chartBarCenter, ChartNode, donutSliceOpacity, DonutChartNode, LegendMarker, LegendNode, cellAlign, DataTableNode, voiceNoteState, voiceNoteDelivery, VOICE_NOTE_DEFAULT_BARS, clampBarCount, VoiceNoteNode, TimelineNode, WheelPickerNode, ColorPickerNode, FilterChipsNode, TILE_PX, MAX_MERCATOR_LAT, DEFAULT_TILE_MAX_ZOOM, CIRCLE_SEGMENTS, METRES_PER_DEG_LAT, MARKER_HIT_RADIUS, SHAPE_HIT_RADIUS, MapNode, CollapsingHeaderNode, UnsupportedOnSurface, CALENDAR_DATE_ONLY_RE, CAL_DEFAULT_MAX_DOTS, CAL_AGENDA_INITIAL_DAYS, CAL_AGENDA_PAGE_DAYS, CAL_DEFAULT_SNAP_MINUTES, CAL_UNASSIGNED_LANE_ID, MonthCalendarNode, TimeGridNode, AgendaNode, ARIA_ROLE, initialFocusScheduled, PRESENTED_SCOPE, focusRoots, A11yHintDescription, WebRenderer;
|
|
36217
|
+
var useIsomorphicLayoutEffect, ResponsiveGrid, SPLIT_EXPANDED_MIN_WIDTH, SPLIT_COLUMN_GAP, ResponsiveSplitView, ABSOLUTE_URL_RE, appearKeyframesInjected, pressStylesInjected, FOCUS_RING_CSS, focusStylesInjected, HLIST_CHILD_CSS, hListStylesInjected, listAnimateRuntimeInstalled, transitionKeyframesInjected, countUpRuntimeInjected, MEASURE_PREFIX, measureRuntimeInjected, revealRuntimeInjected, vectorAnimStylesInjected, scrollProgressRuntimeInjected, confettiRuntimeInjected, lottieRuntimeInjected, riveRuntimeInjected, gradientKeyframesInjected, parallaxRuntimeInjected, spinKeyframesInjected, marqueeKeyframesInjected, alignItems, zJustifyItems, hAlignItems, bodyFont, kids2, rowKidCtx, rowKids, staggeredKids, asTextL10n, asBoundText, useBoundString, InterpolatedTextView, txt, selectFragmentCase, fragmentValueHash, fragmentSlotContent, FragmentSlotNode, RichContentEditorNode, WorkerSubtreeNode, RichContentNode, resolveItemDeep2, resolveSwipeActions, resolveModBindings, resolvedComponentId, directServiceBindings, withRootStyle, ReactiveDirectScalars, HiddenGate, KEYBOARD_INPUT_MODES, AUTOCAPITALIZE_VALUES, ENTER_KEY_HINTS, AUTOGROW_CEILING, EditableField, MenuNode, LoadMoreSentinel, FieldErrorNode, FormView, MediaSlotProvider, MEDIA_ITEM_BINDABLE, MediaPlayerView, VideoNode, PdfViewNode, WebViewNode, InteractivePicker, InteractiveDatePicker, InteractiveSearchField, InteractiveStepper, SYNTHETIC_TAP_ROLE, SYNTHETIC_TABINDEX, INFERRED_DECORATIVE, SELF_RENDERED_LEAF, ROLE_WHEN_NAMED, AUTHORED_ROLE, PENDING_RANGE, RANGE_ROLES, NODE_A11Y_ATTRS, INTERACTIVE_ROLES, ALWAYS_INTERACTIVE_COMPONENT_TYPES, controlNode, ToggleNode, SliderNode, SelectionControlNode, TabsNode, SegmentedControlNode, DisclosureGroupNode, GridNode, SplitViewNode, TextNode, ImageNode, ANIMATION_LEAF, LottieNode, RiveNode, AvatarNode, IconNode, ButtonNode, OtpInputNode, ProgressBarNode, ACTIVITY_DEFAULT_NAME, ActivityIndicatorNode, NATIVELY_TABBABLE, BottomSheetNode, PRESENTED_OVERLAY_ATTR, PopoverNode, ChipsInputNode, ChipNode, TableNode, GaugeRing, GaugeNode, RATING_METRICS, ratingMetrics, RatingNode, AvatarStripNode, CHART_STROKE_CYCLE, chartStrokeAt, chartBarCenter, ChartNode, donutSliceOpacity, DonutChartNode, LegendMarker, LegendNode, cellAlign, DataTableNode, voiceNoteState, voiceNoteDelivery, VOICE_NOTE_DEFAULT_BARS, clampBarCount, VoiceNoteNode, TimelineNode, WheelPickerNode, ColorPickerNode, FilterChipsNode, TILE_PX, MAX_MERCATOR_LAT, DEFAULT_TILE_MAX_ZOOM, CIRCLE_SEGMENTS, METRES_PER_DEG_LAT, MARKER_HIT_RADIUS, SHAPE_HIT_RADIUS, MapNode, CollapsingHeaderNode, UnsupportedOnSurface, CALENDAR_DATE_ONLY_RE, CAL_DEFAULT_MAX_DOTS, CAL_AGENDA_INITIAL_DAYS, CAL_AGENDA_PAGE_DAYS, CAL_DEFAULT_SNAP_MINUTES, CAL_UNASSIGNED_LANE_ID, MonthCalendarNode, TimeGridNode, AgendaNode, ARIA_ROLE, initialFocusScheduled, PRESENTED_SCOPE, focusRoots, A11yHintDescription, WebRenderer;
|
|
36194
36218
|
var init_renderNode = __esm({
|
|
36195
36219
|
"../../core/web-renderer/src/renderNode.tsx"() {
|
|
36196
36220
|
"use strict";
|
|
@@ -36214,6 +36238,7 @@ var init_renderNode = __esm({
|
|
|
36214
36238
|
init_controls();
|
|
36215
36239
|
init_modalStack();
|
|
36216
36240
|
init_overlayModality();
|
|
36241
|
+
init_sheet();
|
|
36217
36242
|
init_listGestures();
|
|
36218
36243
|
init_worker_subtree();
|
|
36219
36244
|
init_preview_surfaces();
|
|
@@ -36572,12 +36597,22 @@ var init_renderNode = __esm({
|
|
|
36572
36597
|
add(modifiers?.background);
|
|
36573
36598
|
add(modifiers?.backgroundColorPath ?? modifiers?.background_color_path);
|
|
36574
36599
|
add(modifiers?.border?.color);
|
|
36600
|
+
add(modifiers?.accessibilityLabel ?? modifiers?.accessibility_label);
|
|
36575
36601
|
const props = node?.body?.props;
|
|
36576
36602
|
add(props?.tint);
|
|
36577
36603
|
add(props?.color);
|
|
36578
36604
|
return [...out2];
|
|
36579
36605
|
};
|
|
36580
|
-
|
|
36606
|
+
withRootStyle = (content, style) => {
|
|
36607
|
+
if (Array.isArray(content)) return content.map((child) => withRootStyle(child, style));
|
|
36608
|
+
if (!React7.isValidElement(content)) return content;
|
|
36609
|
+
if (content.type === React7.Fragment) {
|
|
36610
|
+
return React7.cloneElement(content, {}, React7.Children.map(content.props.children, (child) => withRootStyle(child, style)));
|
|
36611
|
+
}
|
|
36612
|
+
const element = content;
|
|
36613
|
+
return React7.cloneElement(element, { style: { ...element.props.style, ...style } });
|
|
36614
|
+
};
|
|
36615
|
+
ReactiveDirectScalars = ({ node, ctx, bindings, style }) => {
|
|
36581
36616
|
const [, rerender] = React7.useState(0);
|
|
36582
36617
|
const bindingKey = bindings.join("|");
|
|
36583
36618
|
React7.useEffect(() => {
|
|
@@ -36585,7 +36620,8 @@ var init_renderNode = __esm({
|
|
|
36585
36620
|
const unsubs = bindings.map((binding2) => ctx.provider.subscribe(servicePath(binding2), () => rerender((n) => n + 1)));
|
|
36586
36621
|
return () => unsubs.forEach((unsubscribe) => unsubscribe());
|
|
36587
36622
|
}, [ctx.provider, bindingKey]);
|
|
36588
|
-
|
|
36623
|
+
const rendered = renderNodeInner(node, ctx);
|
|
36624
|
+
return /* @__PURE__ */ jsx8(Fragment4, { children: style ? withRootStyle(rendered, style) : rendered });
|
|
36589
36625
|
};
|
|
36590
36626
|
HiddenGate = ({ ctx, binding: binding2, children }) => {
|
|
36591
36627
|
const v = useBoundValue(ctx, binding2);
|
|
@@ -38256,17 +38292,117 @@ var init_renderNode = __esm({
|
|
|
38256
38292
|
const bound = useResolvedScalar(props.presentedPath, ctx);
|
|
38257
38293
|
const gated = props.presentedPath != null || props.presented != null;
|
|
38258
38294
|
const presented = props.presentedPath != null ? bound : props.presented;
|
|
38259
|
-
const
|
|
38295
|
+
const gateOpen = !gated || presented === true || presented === "true";
|
|
38296
|
+
const [dismissed, setDismissed] = React7.useState(false);
|
|
38297
|
+
React7.useEffect(() => {
|
|
38298
|
+
if (!gateOpen) setDismissed(false);
|
|
38299
|
+
}, [gateOpen]);
|
|
38300
|
+
const shown2 = gateOpen && !dismissed;
|
|
38260
38301
|
const modal = isOverlayModal("BottomSheet", props.modal);
|
|
38302
|
+
const dismissible = props.dismissible !== false;
|
|
38303
|
+
const edge = sheetEdge(props.edge);
|
|
38304
|
+
const detents = edge === "bottom" ? sheetDetents(props.detents) : [];
|
|
38305
|
+
const [detentIndex, setDetentIndex] = React7.useState(0);
|
|
38306
|
+
React7.useEffect(() => {
|
|
38307
|
+
if (!shown2) setDetentIndex(0);
|
|
38308
|
+
}, [shown2]);
|
|
38261
38309
|
const dialogRef = React7.useRef(null);
|
|
38262
38310
|
const trapTab = useModalOverlay(dialogRef, shown2 && modal);
|
|
38311
|
+
const latest = React7.useRef({ ctx, onDismiss: props.onDismiss });
|
|
38312
|
+
latest.current = { ctx, onDismiss: props.onDismiss };
|
|
38313
|
+
const closed = React7.useRef(false);
|
|
38314
|
+
React7.useEffect(() => {
|
|
38315
|
+
if (shown2) closed.current = false;
|
|
38316
|
+
}, [shown2]);
|
|
38317
|
+
const dismiss = React7.useCallback(() => {
|
|
38318
|
+
if (closed.current) return;
|
|
38319
|
+
closed.current = true;
|
|
38320
|
+
setDismissed(true);
|
|
38321
|
+
const { ctx: now, onDismiss } = latest.current;
|
|
38322
|
+
if (onDismiss != null) now.onAction?.(resolveItemDeep2(onDismiss, now));
|
|
38323
|
+
}, []);
|
|
38324
|
+
React7.useEffect(() => {
|
|
38325
|
+
if (!shown2 || !dismissible) return;
|
|
38326
|
+
const doc = dialogRef.current?.ownerDocument;
|
|
38327
|
+
if (!doc) return;
|
|
38328
|
+
const onKey = (e) => {
|
|
38329
|
+
const d = dialogRef.current;
|
|
38330
|
+
if (e.key !== "Escape" || !d || !isWithinTopModal(d)) return;
|
|
38331
|
+
if (d.querySelector(`[role="menu"], [${PRESENTED_OVERLAY_ATTR}]`) != null) return;
|
|
38332
|
+
e.stopPropagation();
|
|
38333
|
+
dismiss();
|
|
38334
|
+
};
|
|
38335
|
+
doc.addEventListener("keydown", onKey, true);
|
|
38336
|
+
return () => doc.removeEventListener("keydown", onKey, true);
|
|
38337
|
+
}, [shown2, dismissible, dismiss]);
|
|
38338
|
+
const drag = React7.useRef(null);
|
|
38263
38339
|
if (!shown2) return null;
|
|
38264
|
-
const grabber = props.showGrabber !== false;
|
|
38340
|
+
const grabber = props.showGrabber !== false && edge === "bottom";
|
|
38265
38341
|
const sheet = idiomControls(ctx.idiom).sheet;
|
|
38266
|
-
|
|
38267
|
-
|
|
38268
|
-
|
|
38269
|
-
] }
|
|
38342
|
+
const r = `${sheet.cornerRadius}px`;
|
|
38343
|
+
const side2 = edge !== "bottom";
|
|
38344
|
+
const index = Math.min(detentIndex, Math.max(detents.length - 1, 0));
|
|
38345
|
+
const sized = detents.length ? { height: `${detents[index] * 100}%`, maxHeight: `${detents[detents.length - 1] * 100}%`, display: "flex", flexDirection: "column" } : {};
|
|
38346
|
+
const shape = side2 ? {
|
|
38347
|
+
width: SIDE_SHEET_WIDTH_CSS,
|
|
38348
|
+
height: "100%",
|
|
38349
|
+
display: "flex",
|
|
38350
|
+
flexDirection: "column",
|
|
38351
|
+
// Unoffset, so it falls toward the scrim whichever physical side RTL puts the panel on —
|
|
38352
|
+
// box-shadow has no logical form, and the half cast at the screen edge is off-screen anyway.
|
|
38353
|
+
boxShadow: "0 0 24px rgba(0,0,0,.12)",
|
|
38354
|
+
// Rounded on the side that faces the screen — logical corners, so RTL flips them too.
|
|
38355
|
+
...edge === "leading" ? { borderStartEndRadius: r, borderEndEndRadius: r } : { borderStartStartRadius: r, borderEndStartRadius: r }
|
|
38356
|
+
} : { width: "100%", borderRadius: `${r} ${r} 0 0`, boxShadow: "0 -4px 24px rgba(0,0,0,.12)", ...sized };
|
|
38357
|
+
const handleBar = /* @__PURE__ */ jsx8("div", { style: { width: sheet.grabberWidth, height: sheet.grabberHeight, borderRadius: 999, background: C("surfaceTertiary", "#d8dce2") } });
|
|
38358
|
+
const handleBox = { display: "flex", justifyContent: "center", padding: "8px 0 4px", flexShrink: 0 };
|
|
38359
|
+
return /* @__PURE__ */ jsx8(
|
|
38360
|
+
"div",
|
|
38361
|
+
{
|
|
38362
|
+
"data-sheet-scrim": "",
|
|
38363
|
+
onClick: dismissible ? (e) => {
|
|
38364
|
+
if (drag.current?.moved) {
|
|
38365
|
+
drag.current = null;
|
|
38366
|
+
return;
|
|
38367
|
+
}
|
|
38368
|
+
if (e.target === e.currentTarget) dismiss();
|
|
38369
|
+
} : void 0,
|
|
38370
|
+
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 },
|
|
38371
|
+
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: [
|
|
38372
|
+
grabber && (detents.length > 1 ? /* @__PURE__ */ jsx8(
|
|
38373
|
+
"button",
|
|
38374
|
+
{
|
|
38375
|
+
type: "button",
|
|
38376
|
+
"aria-label": "Resize sheet",
|
|
38377
|
+
"data-sheet-handle": "",
|
|
38378
|
+
onClick: () => {
|
|
38379
|
+
if (drag.current?.moved) {
|
|
38380
|
+
drag.current = null;
|
|
38381
|
+
return;
|
|
38382
|
+
}
|
|
38383
|
+
drag.current = null;
|
|
38384
|
+
setDetentIndex((i) => nextDetentIndex(i, detents.length));
|
|
38385
|
+
},
|
|
38386
|
+
onPointerDown: (e) => {
|
|
38387
|
+
drag.current = { y: e.clientY, moved: false };
|
|
38388
|
+
e.currentTarget.setPointerCapture?.(e.pointerId);
|
|
38389
|
+
},
|
|
38390
|
+
onPointerUp: (e) => {
|
|
38391
|
+
const d = drag.current;
|
|
38392
|
+
if (!d) return;
|
|
38393
|
+
const dy = e.clientY - d.y;
|
|
38394
|
+
if (Math.abs(dy) < DETENT_DRAG_THRESHOLD) return;
|
|
38395
|
+
d.moved = true;
|
|
38396
|
+
setDetentIndex(detentAfterDrag(index, detents.length, dy));
|
|
38397
|
+
},
|
|
38398
|
+
style: { ...handleBox, width: "100%", border: "none", background: "transparent", cursor: "ns-resize", touchAction: "none" },
|
|
38399
|
+
children: handleBar
|
|
38400
|
+
}
|
|
38401
|
+
) : /* @__PURE__ */ jsx8("div", { style: handleBox, children: handleBar })),
|
|
38402
|
+
/* @__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 })
|
|
38403
|
+
] })
|
|
38404
|
+
}
|
|
38405
|
+
);
|
|
38270
38406
|
});
|
|
38271
38407
|
PRESENTED_OVERLAY_ATTR = "data-hm-presented-overlay";
|
|
38272
38408
|
PopoverNode = withExtras("PopoverNode", ({ props, ctx, wrap }) => {
|
|
@@ -61232,21 +61368,21 @@ var init_preview_assets_generated = __esm({
|
|
|
61232
61368
|
"../../packages/serve/src/preview-assets.generated.ts"() {
|
|
61233
61369
|
init_preview_assets_format();
|
|
61234
61370
|
PREVIEW_ASSET_MANIFEST = [
|
|
61235
|
-
{ key: "assets/index-
|
|
61236
|
-
{ key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset:
|
|
61237
|
-
{ key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset:
|
|
61238
|
-
{ key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset:
|
|
61239
|
-
{ key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset:
|
|
61240
|
-
{ key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset:
|
|
61241
|
-
{ key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset:
|
|
61242
|
-
{ key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset:
|
|
61243
|
-
{ key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset:
|
|
61244
|
-
{ key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset:
|
|
61245
|
-
{ key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset:
|
|
61246
|
-
{ key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset:
|
|
61247
|
-
{ key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset:
|
|
61248
|
-
{ key: "index.html", contentType: "text/html; charset=utf-8", offset:
|
|
61249
|
-
{ key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset:
|
|
61371
|
+
{ key: "assets/index-Bj2h2VLm.js", contentType: "application/javascript; charset=utf-8", offset: 8, length: 1140295, sha256: "4501893b27a6121e14d79939efd53d5c88fd923cddab4314ecb5eb41de3233b9" },
|
|
61372
|
+
{ key: "fonts/Roboto-LICENSE.txt", contentType: "application/octet-stream", offset: 1140303, length: 4610, sha256: "994062dd7af4186a739de55dd9e151c63b6301f8e2cbafc608d35c2e87da0cd2" },
|
|
61373
|
+
{ key: "fonts/Roboto-Variable.ttf", contentType: "font/ttf", offset: 1144913, length: 488584, sha256: "d7598e12c5dbef095ff8272cfc55da0250bd07fbdecbac8a530b9b277872a134" },
|
|
61374
|
+
{ key: "fonts/WixMadeforDisplay-Bold.ttf", contentType: "font/ttf", offset: 1633497, length: 90924, sha256: "ec4c7d63772d980d6e147b2df6215fd2737e4b04cebe0cf7e11dc695fb63cdcf" },
|
|
61375
|
+
{ key: "fonts/WixMadeforDisplay-ExtraBold.ttf", contentType: "font/ttf", offset: 1724421, length: 90984, sha256: "bf4c16a2774edd38a921edf3099469866cd74c094fd596f3fa4e81f54a04dfaa" },
|
|
61376
|
+
{ key: "fonts/WixMadeforDisplay-Medium.ttf", contentType: "font/ttf", offset: 1815405, length: 90980, sha256: "368faca44fb9f7207e4af784e94750b1ee59c1098b8689e0f4a918926f244fb5" },
|
|
61377
|
+
{ key: "fonts/WixMadeforDisplay-Regular.ttf", contentType: "font/ttf", offset: 1906385, length: 90872, sha256: "97ed8f1a6772abe26e3d8af5cecfc4b02faa94497d585b0398b5053b739a70c1" },
|
|
61378
|
+
{ key: "fonts/WixMadeforDisplay-SemiBold.ttf", contentType: "font/ttf", offset: 1997257, length: 90980, sha256: "642feab8a48ddf6c7a89d7c2a7c0edfa0e6e773f671287e460e222703563191e" },
|
|
61379
|
+
{ key: "fonts/WixMadeforText-Bold.ttf", contentType: "font/ttf", offset: 2088237, length: 108636, sha256: "37c179b4fefb63ea9637322b84583a2df53aa226c150294eea1675c14b1b8e29" },
|
|
61380
|
+
{ key: "fonts/WixMadeforText-ExtraBold.ttf", contentType: "font/ttf", offset: 2196873, length: 109084, sha256: "62e2fe4718129f36ecdb0ae4de385bd6b81ecc876146447167c6c140fad699a9" },
|
|
61381
|
+
{ key: "fonts/WixMadeforText-Medium.ttf", contentType: "font/ttf", offset: 2305957, length: 109048, sha256: "4ecf270136af928612c76fe4ebade91d8156975e5ea4c0cf9225501dd1788e02" },
|
|
61382
|
+
{ key: "fonts/WixMadeforText-Regular.ttf", contentType: "font/ttf", offset: 2415005, length: 107700, sha256: "dee56f09fd3efc127c1ea95557edc74110c1460a46287da36e0af25efd341ef5" },
|
|
61383
|
+
{ key: "fonts/WixMadeforText-SemiBold.ttf", contentType: "font/ttf", offset: 2522705, length: 88108, sha256: "dced97a77624bc5f8b1ae65850360908297f4588e09feb6f22792d29dc7e765b" },
|
|
61384
|
+
{ key: "index.html", contentType: "text/html; charset=utf-8", offset: 2610813, length: 4947, sha256: "4bb31d3503d8874f0c8b90db2fafd58b0229ff64adeec94b2debf5ace8151c7a" },
|
|
61385
|
+
{ key: "t5-frame.html", contentType: "text/html; charset=utf-8", offset: 2615760, length: 17344, sha256: "d057298d75e7373e5e2c4d11b7d1bcbea88e03af555ba63d97641c78509c58e4" }
|
|
61250
61386
|
];
|
|
61251
61387
|
}
|
|
61252
61388
|
});
|
|
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:
|
|
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` (
|
|
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.
|
|
3
|
+
"version": "0.1198.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": "
|
|
70
|
+
"falconPackageHash": "da789b2bd209029f397baa8fd5f1d53d0cd64549c3eb4006ffb204d0"
|
|
71
71
|
}
|