@wix/himalaya-cli 0.1581.0 → 0.1583.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.
Files changed (50) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/builder.d.ts +8 -0
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +26 -2
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/validator.d.ts +18 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/core.mjs +5 -1
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/sdui.mjs +5 -1
  6. package/dist/cli.mjs +17195 -17232
  7. package/dist/preview-assets.generated.bin +0 -0
  8. package/guides/component-reference.json +4 -3
  9. package/guides/component-reference.md +24 -2
  10. package/package.json +2 -2
  11. package/templates/beauty-salon/config.ts +20 -1
  12. package/templates/beauty-salon/dev/index.ts +1751 -629
  13. package/templates/beauty-salon/tier5-src/_shared/booking-location.ts +147 -0
  14. package/templates/beauty-salon/tier5-src/_shared/booking-session.ts +222 -0
  15. package/templates/beauty-salon/tier5-src/himi-booking-service/index.ts +277 -14
  16. package/templates/beauty-salon/tier5-src/himi-booking-services/index.ts +351 -92
  17. package/templates/beauty-salon/tier5-src/himi-booking-time/index.ts +25 -5
  18. package/templates/beauty-salon/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
  19. package/templates/branded-lite/config.ts +20 -1
  20. package/templates/branded-lite/dev/index.ts +1688 -566
  21. package/templates/branded-lite/l10n/en.json +2 -2
  22. package/templates/branded-lite/tier5-src/_shared/booking-location.ts +147 -0
  23. package/templates/branded-lite/tier5-src/_shared/booking-session.ts +222 -0
  24. package/templates/branded-lite/tier5-src/himi-booking-service/index.ts +277 -14
  25. package/templates/branded-lite/tier5-src/himi-booking-services/index.ts +351 -92
  26. package/templates/branded-lite/tier5-src/himi-booking-time/index.ts +25 -5
  27. package/templates/branded-lite/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
  28. package/templates/community-club/config.ts +20 -1
  29. package/templates/events-meetups/config.ts +20 -1
  30. package/templates/gym-fitness/config.ts +20 -1
  31. package/templates/gym-fitness/dev/index.ts +1751 -629
  32. package/templates/gym-fitness/tier5-src/_shared/booking-location.ts +147 -0
  33. package/templates/gym-fitness/tier5-src/_shared/booking-session.ts +222 -0
  34. package/templates/gym-fitness/tier5-src/himi-booking-service/index.ts +277 -14
  35. package/templates/gym-fitness/tier5-src/himi-booking-services/index.ts +351 -92
  36. package/templates/gym-fitness/tier5-src/himi-booking-time/index.ts +25 -5
  37. package/templates/gym-fitness/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
  38. package/templates/nonprofit-cause/config.ts +20 -1
  39. package/templates/podcast-creator/config.ts +20 -1
  40. package/templates/portfolio-creative/config.ts +20 -1
  41. package/templates/restaurant/config.ts +20 -1
  42. package/templates/retail-store/config.ts +20 -1
  43. package/templates/yoga-studio/config.ts +20 -1
  44. package/templates/yoga-studio/dev/index.ts +1533 -411
  45. package/templates/yoga-studio/tier5-src/_shared/booking-location.ts +147 -0
  46. package/templates/yoga-studio/tier5-src/_shared/booking-session.ts +222 -0
  47. package/templates/yoga-studio/tier5-src/himi-booking-service/index.ts +277 -14
  48. package/templates/yoga-studio/tier5-src/himi-booking-services/index.ts +351 -92
  49. package/templates/yoga-studio/tier5-src/himi-booking-time/index.ts +25 -5
  50. package/templates/yoga-studio/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
@@ -1350,6 +1350,9 @@ export declare function agenda(props: {
1350
1350
  * an Agenda without silently inverting its own sort. Flips the day GROUPS and
1351
1351
  * the events within each group together. */
1352
1352
  descending?: boolean;
1353
+ /** `{ date }` when the day at the top of the visible area changes by the user's scroll (not a
1354
+ * `scrollToDate` jump): a calendar above the list can follow it. */
1355
+ onVisibleDateChange?: ActionShape;
1353
1356
  }, opts?: {
1354
1357
  id?: string;
1355
1358
  }): Component;
@@ -1689,6 +1692,11 @@ export declare function lazyList(props: {
1689
1692
  itemsPath?: string;
1690
1693
  /** Animate insert/remove/reorder as the bound array changes (needs stable ids). */
1691
1694
  animateItems?: boolean;
1695
+ /** `$service:` path naming a row by its item `id` ("id" or "id|nonce"): a change scrolls that
1696
+ * row to the top of the visible area. Section anchors. */
1697
+ scrollToItemPath?: string;
1698
+ /** `{ id }` when the row at the top of the visible area changes by the user's scroll. */
1699
+ onTopItemChange?: ActionShape;
1692
1700
  }, opts?: {
1693
1701
  id?: string;
1694
1702
  }): Component;
@@ -531,6 +531,20 @@ export interface LazyListProps {
531
531
  */
532
532
  contentInsetTop?: number;
533
533
  contentInsetBottom?: number;
534
+ /**
535
+ * Jump to a row of a bound (`itemsPath`) list: a `$service:` path whose value names a row by
536
+ * its item's `id`. When the value CHANGES to a non-empty one, the row's top is brought to the
537
+ * top of the visible area (the list's scroll, or the screen's when the list sits in it).
538
+ * Only the part before the first "|" is the id, so a worker can re-trigger the same row
539
+ * ("cat:yoga|2"). Unknown id ⇒ nothing.
540
+ */
541
+ scrollToItemPath?: string;
542
+ /**
543
+ * Fired with args `{ id }` when the bound row at the top of the visible area changes because
544
+ * the user scrolled: on a change only, after the scroll settles, never for a
545
+ * `scrollToItemPath` jump, not on first render. Rows with no `id` are skipped.
546
+ */
547
+ onTopItemChange?: Action;
534
548
  }
535
549
  export interface GridProps {
536
550
  items: Component[];
@@ -2408,7 +2422,10 @@ export interface AgendaProps {
2408
2422
  events?: CalendarEvent[];
2409
2423
  eventsPath?: string;
2410
2424
  scrollToDate?: string;
2411
- /** Worker-driven jump target (a literal `scrollToDate` is frozen in the descriptor). */
2425
+ /** Worker-driven jump target (a literal `scrollToDate` is frozen in the descriptor). Either may be
2426
+ * "YYYY-MM-DD|<anything>": the day is the part before "|", and a change of the whole value jumps
2427
+ * again, also to the same day. A suffix-less value equal to the day last reported through
2428
+ * `onVisibleDateChange` is an echo of the user's own scroll and does not move the list. */
2412
2429
  scrollToDatePath?: string;
2413
2430
  stickyHeaders?: boolean;
2414
2431
  emptyText?: string;
@@ -2422,6 +2439,11 @@ export interface AgendaProps {
2422
2439
  * (an owner's orders, recent activity) could not become an Agenda without
2423
2440
  * silently inverting itself — every arm sorted ascending unconditionally. */
2424
2441
  descending?: boolean;
2442
+ /** Fired with args `{ date: "YYYY-MM-DD" }` when the day group at the top of the visible area
2443
+ * changes because the user scrolled (the agenda's own scroll, or the screen's): on a change
2444
+ * only, after the scroll settles, never for a `scrollToDate` jump, not on first render. Lets a
2445
+ * calendar above the list follow it. */
2446
+ onVisibleDateChange?: Action;
2425
2447
  }
2426
2448
  export type CoreComponentBody = {
2427
2449
  package: "himalaya";
@@ -3178,7 +3200,9 @@ export interface TopBarAction {
3178
3200
  badge?: NavBadge;
3179
3201
  /** Live bindings against `NavigationConfig.navLogicBundle` — see `NavTabItem`.
3180
3202
  * `hiddenPath` drops the action from the trailing cluster, which is how "hide
3181
- * Checkout while the cart is empty" is said without publishing two top bars. */
3203
+ * Checkout while the cart is empty" is said without publishing two top bars.
3204
+ * A screen's own top-bar action binds the same nav worker; runtime 1.8.0 and later
3205
+ * watch those paths (an older one shows the action). */
3182
3206
  hiddenPath?: string;
3183
3207
  labelPath?: string;
3184
3208
  iconPath?: string;
@@ -708,6 +708,15 @@ export declare const screenDescriptorSchema: {
708
708
  readonly badge: {
709
709
  readonly $ref: "#/$defs/navBadge";
710
710
  };
711
+ readonly hiddenPath: {
712
+ readonly type: "string";
713
+ };
714
+ readonly labelPath: {
715
+ readonly type: "string";
716
+ };
717
+ readonly iconPath: {
718
+ readonly type: "string";
719
+ };
711
720
  };
712
721
  };
713
722
  readonly navBadge: {
@@ -2137,6 +2146,15 @@ export declare const widgetSnapshotSchema: {
2137
2146
  readonly badge: {
2138
2147
  readonly $ref: "#/$defs/navBadge";
2139
2148
  };
2149
+ readonly hiddenPath: {
2150
+ readonly type: "string";
2151
+ };
2152
+ readonly labelPath: {
2153
+ readonly type: "string";
2154
+ };
2155
+ readonly iconPath: {
2156
+ readonly type: "string";
2157
+ };
2140
2158
  };
2141
2159
  };
2142
2160
  readonly navBadge: {
@@ -8794,7 +8794,11 @@ var screenDescriptorSchema = {
8794
8794
  label: { type: "string" },
8795
8795
  accessibilityLabel: { type: "string" },
8796
8796
  onTap: { $ref: "#/$defs/action" },
8797
- badge: { $ref: "#/$defs/navBadge" }
8797
+ badge: { $ref: "#/$defs/navBadge" },
8798
+ // RFC 0010 slot bindings (core.proto TopBarAction 7–9): they bind the app's nav worker.
8799
+ hiddenPath: { type: "string" },
8800
+ labelPath: { type: "string" },
8801
+ iconPath: { type: "string" }
8798
8802
  }
8799
8803
  },
8800
8804
  navBadge: {
@@ -7366,7 +7366,11 @@ var screenDescriptorSchema = {
7366
7366
  label: { type: "string" },
7367
7367
  accessibilityLabel: { type: "string" },
7368
7368
  onTap: { $ref: "#/$defs/action" },
7369
- badge: { $ref: "#/$defs/navBadge" }
7369
+ badge: { $ref: "#/$defs/navBadge" },
7370
+ // RFC 0010 slot bindings (core.proto TopBarAction 7–9): they bind the app's nav worker.
7371
+ hiddenPath: { type: "string" },
7372
+ labelPath: { type: "string" },
7373
+ iconPath: { type: "string" }
7370
7374
  }
7371
7375
  },
7372
7376
  navBadge: {