@wix/himalaya-cli 0.1488.0 → 0.1490.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 (57) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/builder.d.ts +12 -0
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +13 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/bookings-v2/src/extensions.d.ts +48 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-bookings.mjs +22 -0
  5. package/dist/cli.mjs +157 -48
  6. package/dist/preview-assets.generated.bin +0 -0
  7. package/guides/widgets.md +20 -7
  8. package/package.json +2 -2
  9. package/templates/beauty-salon/config.ts +13 -0
  10. package/templates/beauty-salon/dev/index.ts +784 -0
  11. package/templates/beauty-salon/himalaya.content.json +3 -0
  12. package/templates/beauty-salon/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  13. package/templates/beauty-salon/tier5-src/_shared/branded-load-state.ts +106 -0
  14. package/templates/beauty-salon/tier5-src/_shared/himi-bookings.ts +14 -0
  15. package/templates/beauty-salon/tier5-src/_shared/member-account-routes.ts +2 -1
  16. package/templates/beauty-salon/tier5-src/himi-booking-time/index.ts +25 -11
  17. package/templates/beauty-salon/tier5-src/himi-branded-lite-agenda/index.ts +769 -0
  18. package/templates/branded-lite/config.ts +13 -0
  19. package/templates/branded-lite/dev/index.ts +784 -0
  20. package/templates/branded-lite/himalaya.content.json +3 -0
  21. package/templates/branded-lite/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  22. package/templates/branded-lite/tier5-src/_shared/himi-bookings.ts +14 -0
  23. package/templates/branded-lite/tier5-src/_shared/member-account-routes.ts +2 -1
  24. package/templates/branded-lite/tier5-src/himi-booking-time/index.ts +25 -11
  25. package/templates/branded-lite/tier5-src/himi-branded-lite-agenda/index.ts +769 -0
  26. package/templates/community-club/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  27. package/templates/community-club/tier5-src/_shared/member-account-routes.ts +2 -1
  28. package/templates/events-meetups/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  29. package/templates/events-meetups/tier5-src/_shared/member-account-routes.ts +2 -1
  30. package/templates/gym-fitness/config.ts +13 -0
  31. package/templates/gym-fitness/dev/index.ts +784 -0
  32. package/templates/gym-fitness/himalaya.content.json +3 -0
  33. package/templates/gym-fitness/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  34. package/templates/gym-fitness/tier5-src/_shared/branded-load-state.ts +106 -0
  35. package/templates/gym-fitness/tier5-src/_shared/himi-bookings.ts +14 -0
  36. package/templates/gym-fitness/tier5-src/_shared/member-account-routes.ts +2 -1
  37. package/templates/gym-fitness/tier5-src/himi-booking-time/index.ts +25 -11
  38. package/templates/gym-fitness/tier5-src/himi-branded-lite-agenda/index.ts +769 -0
  39. package/templates/nonprofit-cause/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  40. package/templates/nonprofit-cause/tier5-src/_shared/member-account-routes.ts +2 -1
  41. package/templates/podcast-creator/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  42. package/templates/podcast-creator/tier5-src/_shared/member-account-routes.ts +2 -1
  43. package/templates/portfolio-creative/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  44. package/templates/portfolio-creative/tier5-src/_shared/member-account-routes.ts +2 -1
  45. package/templates/restaurant/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  46. package/templates/restaurant/tier5-src/_shared/member-account-routes.ts +2 -1
  47. package/templates/retail-store/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  48. package/templates/retail-store/tier5-src/_shared/member-account-routes.ts +2 -1
  49. package/templates/yoga-studio/config.ts +13 -0
  50. package/templates/yoga-studio/dev/index.ts +784 -0
  51. package/templates/yoga-studio/himalaya.content.json +3 -0
  52. package/templates/yoga-studio/tier5-src/_shared/branded-lite-hosted.ts +2 -1
  53. package/templates/yoga-studio/tier5-src/_shared/branded-load-state.ts +106 -0
  54. package/templates/yoga-studio/tier5-src/_shared/himi-bookings.ts +14 -0
  55. package/templates/yoga-studio/tier5-src/_shared/member-account-routes.ts +2 -1
  56. package/templates/yoga-studio/tier5-src/himi-booking-time/index.ts +25 -11
  57. package/templates/yoga-studio/tier5-src/himi-branded-lite-agenda/index.ts +769 -0
Binary file
package/guides/widgets.md CHANGED
@@ -46,13 +46,23 @@ bindings, only **resolved literal values**. Reading the clock is the one allowed
46
46
  the last produce (see [refresh](#refresh-taps-and-previews)). A `render` that throws, or returns a
47
47
  tree with a binding in it, makes that widget fail to produce.
48
48
 
49
- ### There is no live-data path yet
50
-
51
- Data your worker fetches **cannot** reach a widget today. `refresh.pushTopic` exists in the type
52
- definitions, but nothing consumes it yet: setting it does not make the widget update when data
53
- changes. Plan the widget around what you know when the app is built — a call to action, a
54
- constant, or a schedule (see [timelines](#content-whose-future-you-know-live-time-and-timelines)) — and let the
55
- tap take the user into the app, where the live data is.
49
+ ### Live data reaches a widget only through the app on the device
50
+
51
+ The produce above has no credential, so data your worker fetches **cannot** reach a widget through
52
+ `defineWidget`. The one path for live data runs on the device, in the app: the app fetches the
53
+ widget's descriptors, runs their worker **headlessly** with the signed-in session, resolves every
54
+ `$service:` binding to a literal, and publishes the frozen tree itself —
55
+ `WidgetSnapshotSync.publishLocal` on iOS, `WidgetSnapshotSync.publishLocalBlocking` on Android.
56
+ Owner Lite's Today widget works this way (`OwnerLiteHomeWidget`): it refreshes when the app runs or
57
+ the OS grants a background refresh, never on its own. An app that embeds Himalaya apps gets the same
58
+ produce from `HimalayaEmbedSurfaces.publishWidgets` (see
59
+ [embedding → widgets](embedding-sdk.md#home-and-lock-screen-widgets)).
60
+
61
+ `refresh.pushTopic` exists in the type definitions, but nothing consumes it yet: setting it does not
62
+ make the widget update when data changes. Without a device produce, plan the widget around what you
63
+ know when the app is built — a call to action, a constant, or a schedule (see
64
+ [timelines](#content-whose-future-you-know-live-time-and-timelines)) — and let the tap take the user
65
+ into the app, where the live data is.
56
66
 
57
67
  ## A widget that stays inside the contract
58
68
 
@@ -217,6 +227,9 @@ not, because the car lays out its own rows. It never goes through `defineWidget`
217
227
  request, not a schedule.
218
228
  - **`deepLink`** is where a tap takes the user. Point it at the screen that shows the live version
219
229
  of what the widget summarises.
230
+ - **`GET /v1/widgets?site=<metaSiteId>`** (and `/v1/widget/<id>?site=`) is accepted for a host that
231
+ shows one app on many sites. The snapshot is still the app's — nothing is produced per site — and
232
+ the response says so with `x-himalaya-widget-scope: app`.
220
233
  - **Preview a widget** while you work: `himi run --watch --content .` serves it at
221
234
  `GET /v1/widget/<widget id>`, and `GET /v1/widgets` lists every widget the app produces.
222
235
  `himi surfaces --measure-widgets` reports which families your package actually produces.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1488.0",
3
+ "version": "0.1490.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": "eda28cbf9b0757670a64bf4f2e5d095b82109dc86c7446f6fe7472fb"
74
+ "falconPackageHash": "cb54373a9c2a773492e66c5579403c0720caa00367681b4479fbc0e3"
75
75
  }
@@ -217,6 +217,13 @@ export default defineApp({
217
217
  "parentScreenId": "himi_account",
218
218
  "tabId": "profile"
219
219
  },
220
+ {
221
+ "screenId": "himi_agenda",
222
+ "isPublic": true,
223
+ "paramKeys": [],
224
+ "parentScreenId": "himi_services",
225
+ "tabId": "book"
226
+ },
220
227
  {
221
228
  "screenId": "himi_plans",
222
229
  "isPublic": true,
@@ -366,6 +373,12 @@ export default defineApp({
366
373
  "label": "Book",
367
374
  "icon": "calendar"
368
375
  },
376
+ {
377
+ "id": "drawer_agenda",
378
+ "screenId": "himi_agenda",
379
+ "label": "Agenda",
380
+ "icon": "list"
381
+ },
369
382
  {
370
383
  "id": "drawer_plans",
371
384
  "screenId": "himi_plans",