@wix/himalaya-cli 0.1021.0 → 0.1023.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/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +53 -1
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/validator.d.ts +52 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/core.mjs +16 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/sdui.mjs +16 -0
- package/dist/cli.mjs +366 -170
- package/dist/preview-assets.generated.bin +0 -0
- package/guides/component-reference.json +5 -5
- package/guides/component-reference.md +35 -0
- package/guides/designing-himi-screens.md +7 -3
- package/guides/headless-loop.md +8 -1
- package/guides/release-notes.md +40 -0
- package/guides/testing-himi-apps.md +9 -12
- package/guides/wix-api-usage.md +4 -2
- package/guides/wix-login-integration.md +2 -1
- package/guides/wix-sdk-overview.md +6 -1
- package/package.json +2 -2
package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts
CHANGED
|
@@ -349,7 +349,39 @@ export interface Modifiers {
|
|
|
349
349
|
/** RFC 0058 §3.1 — additive state that a single role cannot carry. A node may
|
|
350
350
|
* hold several. */
|
|
351
351
|
accessibilityTraits?: AccessibilityTrait[];
|
|
352
|
-
|
|
352
|
+
/** RFC 0058 §4 — explicit traversal index within the nearest focus group. Absent ⇒
|
|
353
|
+
* the arm's visual / DOM order. The lower index is reached FIRST, which is why iOS
|
|
354
|
+
* (whose `accessibilitySortPriority` is descending) negates it. */
|
|
355
|
+
focusOrder?: number;
|
|
356
|
+
/** RFC 0058 §4 — this node's subtree is ONE traversal scope: children are ordered
|
|
357
|
+
* relative to each other, then the group takes its parent's slot (iOS
|
|
358
|
+
* `shouldGroupAccessibilityChildren`, Android `isTraversalGroup`, ARIA grouping). */
|
|
359
|
+
focusGroup?: boolean;
|
|
360
|
+
/** RFC 0058 §4 — AT / keyboard focus lands here when the screen or a newly presented
|
|
361
|
+
* modal appears. At most one per focus scope. */
|
|
362
|
+
initialFocus?: boolean;
|
|
363
|
+
/** RFC 0058 §4 — a general live-region announcement, on any node and any transition.
|
|
364
|
+
* The generalization of `FragmentSlotCase.accessibilityAnnouncement`, which only ever
|
|
365
|
+
* fired on a fragment-slot case swap. */
|
|
366
|
+
announce?: LiveRegion;
|
|
367
|
+
}
|
|
368
|
+
/** RFC 0058 §4 — a screen-change / state-change announcement. `text` EMPTY means
|
|
369
|
+
* "announce this node's own resolved name + value", which is what makes a status line
|
|
370
|
+
* whose text just changed need no authoring at all. */
|
|
371
|
+
export interface LiveRegion {
|
|
372
|
+
/** Default `"polite"`. `"assertive"` interrupts, and is for errors and destructive
|
|
373
|
+
* confirmations — the wrong default everywhere else. */
|
|
374
|
+
politeness?: LiveRegionPoliteness;
|
|
375
|
+
/** Explicit text; empty/absent ⇒ the node's own resolved name + value. */
|
|
376
|
+
text?: string;
|
|
377
|
+
/** Default `"on_change"`. `"none"` is the deliberate opt-out — an enum rather than a
|
|
378
|
+
* flag pair precisely so a default of "on" can still be turned off. */
|
|
379
|
+
trigger?: LiveRegionTrigger;
|
|
380
|
+
}
|
|
381
|
+
/** RFC 0058 §4 — how hard an announcement pushes. */
|
|
382
|
+
export type LiveRegionPoliteness = "polite" | "assertive";
|
|
383
|
+
/** RFC 0058 §4 — when an announcement fires. */
|
|
384
|
+
export type LiveRegionTrigger = "on_change" | "on_appear" | "both" | "none";
|
|
353
385
|
/** RFC 0058 §3.2 — the role AT announces for a node. The union of what iOS,
|
|
354
386
|
* Android, web and React Native can express; an arm that cannot express a role
|
|
355
387
|
* exactly falls back to the nearest one it has. */
|
|
@@ -1109,6 +1141,11 @@ export interface AlertDialogProps {
|
|
|
1109
1141
|
confirmLabel?: string;
|
|
1110
1142
|
/** #1059 — cancel button label; overridable. Default "Cancel". */
|
|
1111
1143
|
cancelLabel?: string;
|
|
1144
|
+
/** RFC 0058 §4 — the overlay traps focus and hides the rest of the tree from AT while
|
|
1145
|
+
* presented (iOS `accessibilityViewIsModal`, Android `isTraversalGroup`, ARIA
|
|
1146
|
+
* `aria-modal`). TRI-STATE: absent takes this component's default (**true**), an
|
|
1147
|
+
* explicit `false` opts it out. */
|
|
1148
|
+
modal?: boolean;
|
|
1112
1149
|
}
|
|
1113
1150
|
export type TextMark = "bold" | "italic" | "underline" | "code" | "link";
|
|
1114
1151
|
export interface TextRun {
|
|
@@ -1195,6 +1232,11 @@ export interface BottomSheetProps {
|
|
|
1195
1232
|
/** "$service:" binding → bool (overrides `presented`). */
|
|
1196
1233
|
presentedPath?: string;
|
|
1197
1234
|
edge?: "bottom" | "leading" | "trailing";
|
|
1235
|
+
/** RFC 0058 §4 — the overlay traps focus and hides the rest of the tree from AT while
|
|
1236
|
+
* presented (iOS `accessibilityViewIsModal`, Android `isTraversalGroup`, ARIA
|
|
1237
|
+
* `aria-modal`). TRI-STATE: absent takes this component's default (**true**), an
|
|
1238
|
+
* explicit `false` opts it out. */
|
|
1239
|
+
modal?: boolean;
|
|
1198
1240
|
}
|
|
1199
1241
|
export interface MenuItem {
|
|
1200
1242
|
id: string;
|
|
@@ -1210,6 +1252,11 @@ export interface MenuProps {
|
|
|
1210
1252
|
style?: "dropdown" | "context" | "action_sheet";
|
|
1211
1253
|
/** "$service:" binding → MenuItem[]. */
|
|
1212
1254
|
itemsPath?: string;
|
|
1255
|
+
/** RFC 0058 §4 — the overlay traps focus and hides the rest of the tree from AT while
|
|
1256
|
+
* presented (iOS `accessibilityViewIsModal`, Android `isTraversalGroup`, ARIA
|
|
1257
|
+
* `aria-modal`). TRI-STATE: absent keeps today's NON-modal behaviour (flipping this
|
|
1258
|
+
* component's default to modal is #2900); `true` opts in, an explicit `false` stays out. */
|
|
1259
|
+
modal?: boolean;
|
|
1213
1260
|
}
|
|
1214
1261
|
export interface TooltipProps {
|
|
1215
1262
|
anchor?: Component;
|
|
@@ -1227,6 +1274,11 @@ export interface PopoverProps {
|
|
|
1227
1274
|
presented?: boolean;
|
|
1228
1275
|
presentedPath?: string;
|
|
1229
1276
|
onDismiss?: Action;
|
|
1277
|
+
/** RFC 0058 §4 — the overlay traps focus and hides the rest of the tree from AT while
|
|
1278
|
+
* presented (iOS `accessibilityViewIsModal`, Android `isTraversalGroup`, ARIA
|
|
1279
|
+
* `aria-modal`). TRI-STATE: absent keeps today's NON-modal behaviour (flipping this
|
|
1280
|
+
* component's default to modal is #2900); `true` opts in, an explicit `false` stays out. */
|
|
1281
|
+
modal?: boolean;
|
|
1230
1282
|
}
|
|
1231
1283
|
export interface ChipProps {
|
|
1232
1284
|
label?: string;
|
package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/validator.d.ts
CHANGED
|
@@ -624,6 +624,32 @@ export declare const screenDescriptorSchema: {
|
|
|
624
624
|
readonly enum: readonly ["selected", "disabled", "updates_frequently", "plays_sound", "starts_media"];
|
|
625
625
|
};
|
|
626
626
|
};
|
|
627
|
+
readonly focusOrder: {
|
|
628
|
+
readonly type: "integer";
|
|
629
|
+
};
|
|
630
|
+
readonly focusGroup: {
|
|
631
|
+
readonly type: "boolean";
|
|
632
|
+
};
|
|
633
|
+
readonly initialFocus: {
|
|
634
|
+
readonly type: "boolean";
|
|
635
|
+
};
|
|
636
|
+
readonly announce: {
|
|
637
|
+
readonly type: "object";
|
|
638
|
+
readonly additionalProperties: false;
|
|
639
|
+
readonly properties: {
|
|
640
|
+
readonly politeness: {
|
|
641
|
+
readonly type: "string";
|
|
642
|
+
readonly enum: readonly ["polite", "assertive"];
|
|
643
|
+
};
|
|
644
|
+
readonly text: {
|
|
645
|
+
readonly type: "string";
|
|
646
|
+
};
|
|
647
|
+
readonly trigger: {
|
|
648
|
+
readonly type: "string";
|
|
649
|
+
readonly enum: readonly ["on_change", "on_appear", "both", "none"];
|
|
650
|
+
};
|
|
651
|
+
};
|
|
652
|
+
};
|
|
627
653
|
readonly boxShadow: {
|
|
628
654
|
readonly type: "object";
|
|
629
655
|
readonly additionalProperties: false;
|
|
@@ -1541,6 +1567,32 @@ export declare const widgetSnapshotSchema: {
|
|
|
1541
1567
|
readonly enum: readonly ["selected", "disabled", "updates_frequently", "plays_sound", "starts_media"];
|
|
1542
1568
|
};
|
|
1543
1569
|
};
|
|
1570
|
+
readonly focusOrder: {
|
|
1571
|
+
readonly type: "integer";
|
|
1572
|
+
};
|
|
1573
|
+
readonly focusGroup: {
|
|
1574
|
+
readonly type: "boolean";
|
|
1575
|
+
};
|
|
1576
|
+
readonly initialFocus: {
|
|
1577
|
+
readonly type: "boolean";
|
|
1578
|
+
};
|
|
1579
|
+
readonly announce: {
|
|
1580
|
+
readonly type: "object";
|
|
1581
|
+
readonly additionalProperties: false;
|
|
1582
|
+
readonly properties: {
|
|
1583
|
+
readonly politeness: {
|
|
1584
|
+
readonly type: "string";
|
|
1585
|
+
readonly enum: readonly ["polite", "assertive"];
|
|
1586
|
+
};
|
|
1587
|
+
readonly text: {
|
|
1588
|
+
readonly type: "string";
|
|
1589
|
+
};
|
|
1590
|
+
readonly trigger: {
|
|
1591
|
+
readonly type: "string";
|
|
1592
|
+
readonly enum: readonly ["on_change", "on_appear", "both", "none"];
|
|
1593
|
+
};
|
|
1594
|
+
};
|
|
1595
|
+
};
|
|
1544
1596
|
readonly boxShadow: {
|
|
1545
1597
|
readonly type: "object";
|
|
1546
1598
|
readonly additionalProperties: false;
|
|
@@ -8323,6 +8323,22 @@ var screenDescriptorSchema = {
|
|
|
8323
8323
|
enum: ["selected", "disabled", "updates_frequently", "plays_sound", "starts_media"]
|
|
8324
8324
|
}
|
|
8325
8325
|
},
|
|
8326
|
+
// RFC 0058 §4 — focus and announcement (core.proto Modifiers 70–73). `modifiers`
|
|
8327
|
+
// is `additionalProperties: false`, so a descriptor carrying one of these would be
|
|
8328
|
+
// REJECTED on every arm at once until the validator knows it — which makes this
|
|
8329
|
+
// part of the vocabulary rather than a downstream consumer of it.
|
|
8330
|
+
focusOrder: { type: "integer" },
|
|
8331
|
+
focusGroup: { type: "boolean" },
|
|
8332
|
+
initialFocus: { type: "boolean" },
|
|
8333
|
+
announce: {
|
|
8334
|
+
type: "object",
|
|
8335
|
+
additionalProperties: false,
|
|
8336
|
+
properties: {
|
|
8337
|
+
politeness: { type: "string", enum: ["polite", "assertive"] },
|
|
8338
|
+
text: { type: "string" },
|
|
8339
|
+
trigger: { type: "string", enum: ["on_change", "on_appear", "both", "none"] }
|
|
8340
|
+
}
|
|
8341
|
+
},
|
|
8326
8342
|
// #1052 — explicit drop shadow (colour token + radius + offset), alongside the `shadow` token form.
|
|
8327
8343
|
boxShadow: {
|
|
8328
8344
|
type: "object",
|
|
@@ -7369,6 +7369,22 @@ var screenDescriptorSchema = {
|
|
|
7369
7369
|
enum: ["selected", "disabled", "updates_frequently", "plays_sound", "starts_media"]
|
|
7370
7370
|
}
|
|
7371
7371
|
},
|
|
7372
|
+
// RFC 0058 §4 — focus and announcement (core.proto Modifiers 70–73). `modifiers`
|
|
7373
|
+
// is `additionalProperties: false`, so a descriptor carrying one of these would be
|
|
7374
|
+
// REJECTED on every arm at once until the validator knows it — which makes this
|
|
7375
|
+
// part of the vocabulary rather than a downstream consumer of it.
|
|
7376
|
+
focusOrder: { type: "integer" },
|
|
7377
|
+
focusGroup: { type: "boolean" },
|
|
7378
|
+
initialFocus: { type: "boolean" },
|
|
7379
|
+
announce: {
|
|
7380
|
+
type: "object",
|
|
7381
|
+
additionalProperties: false,
|
|
7382
|
+
properties: {
|
|
7383
|
+
politeness: { type: "string", enum: ["polite", "assertive"] },
|
|
7384
|
+
text: { type: "string" },
|
|
7385
|
+
trigger: { type: "string", enum: ["on_change", "on_appear", "both", "none"] }
|
|
7386
|
+
}
|
|
7387
|
+
},
|
|
7372
7388
|
// #1052 — explicit drop shadow (colour token + radius + offset), alongside the `shadow` token form.
|
|
7373
7389
|
boxShadow: {
|
|
7374
7390
|
type: "object",
|