@wix/himalaya-cli 0.1559.0 → 0.1561.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 (82) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/builder.d.ts +3 -1
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +2 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/events/src/index.d.ts +60 -7
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-events.mjs +11 -5
  5. package/dist/cli.mjs +191 -60
  6. package/dist/preview-assets.generated.bin +0 -0
  7. package/guides/component-reference.json +3 -2
  8. package/guides/component-reference.md +3 -1
  9. package/guides/one-app-to-himi-app.md +30 -5
  10. package/guides/sdk-reference.json +7 -7
  11. package/package.json +2 -2
  12. package/templates/beauty-salon/tier5-src/_shared/engine-intl.ts +18 -0
  13. package/templates/beauty-salon/tier5-src/_shared/himi-events.ts +7 -0
  14. package/templates/beauty-salon-owner/tier5-src/_shared/engine-intl.ts +18 -0
  15. package/templates/beauty-salon-owner/tier5-src/_shared/himi-events.ts +7 -0
  16. package/templates/branded-lite/dev/index.ts +2390 -851
  17. package/templates/branded-lite/himalaya.content.json +1 -1
  18. package/templates/branded-lite/tier5-src/_shared/engine-intl.ts +18 -0
  19. package/templates/branded-lite/tier5-src/_shared/himi-events.ts +7 -0
  20. package/templates/branded-lite/tier5-src/himi-events-detail/index.ts +803 -361
  21. package/templates/community-club/dev/index.ts +2387 -848
  22. package/templates/community-club/himalaya.content.json +1 -1
  23. package/templates/community-club/tier5-src/_shared/engine-intl.ts +18 -0
  24. package/templates/community-club/tier5-src/_shared/himi-events.ts +7 -0
  25. package/templates/community-club/tier5-src/himi-events-detail/index.ts +803 -361
  26. package/templates/community-club-owner/tier5-src/_shared/engine-intl.ts +18 -0
  27. package/templates/community-club-owner/tier5-src/_shared/himi-events.ts +7 -0
  28. package/templates/events-meetups/dev/index.ts +2387 -848
  29. package/templates/events-meetups/himalaya.content.json +1 -1
  30. package/templates/events-meetups/tier5-src/_shared/engine-intl.ts +18 -0
  31. package/templates/events-meetups/tier5-src/_shared/himi-events.ts +7 -0
  32. package/templates/events-meetups/tier5-src/himi-events-detail/index.ts +803 -361
  33. package/templates/events-meetups-owner/tier5-src/_shared/engine-intl.ts +18 -0
  34. package/templates/events-meetups-owner/tier5-src/_shared/himi-events.ts +7 -0
  35. package/templates/gym-fitness/dev/index.ts +2392 -853
  36. package/templates/gym-fitness/himalaya.content.json +1 -1
  37. package/templates/gym-fitness/tier5-src/_shared/engine-intl.ts +18 -0
  38. package/templates/gym-fitness/tier5-src/_shared/himi-events.ts +7 -0
  39. package/templates/gym-fitness/tier5-src/himi-events-detail/index.ts +803 -361
  40. package/templates/gym-fitness-owner/tier5-src/_shared/engine-intl.ts +18 -0
  41. package/templates/gym-fitness-owner/tier5-src/_shared/himi-events.ts +7 -0
  42. package/templates/nonprofit-cause/dev/index.ts +2387 -848
  43. package/templates/nonprofit-cause/himalaya.content.json +1 -1
  44. package/templates/nonprofit-cause/tier5-src/_shared/engine-intl.ts +18 -0
  45. package/templates/nonprofit-cause/tier5-src/_shared/himi-events.ts +7 -0
  46. package/templates/nonprofit-cause/tier5-src/himi-events-detail/index.ts +803 -361
  47. package/templates/nonprofit-cause-owner/tier5-src/_shared/engine-intl.ts +18 -0
  48. package/templates/nonprofit-cause-owner/tier5-src/_shared/himi-events.ts +7 -0
  49. package/templates/owner-lite/tier5-src/_shared/engine-intl.ts +18 -0
  50. package/templates/owner-lite/tier5-src/_shared/himi-events.ts +7 -0
  51. package/templates/podcast-creator/dev/index.ts +2388 -849
  52. package/templates/podcast-creator/himalaya.content.json +1 -1
  53. package/templates/podcast-creator/tier5-src/_shared/engine-intl.ts +18 -0
  54. package/templates/podcast-creator/tier5-src/_shared/himi-events.ts +7 -0
  55. package/templates/podcast-creator/tier5-src/himi-events-detail/index.ts +803 -361
  56. package/templates/podcast-creator-owner/tier5-src/_shared/engine-intl.ts +18 -0
  57. package/templates/podcast-creator-owner/tier5-src/_shared/himi-events.ts +7 -0
  58. package/templates/portfolio-creative/dev/index.ts +2375 -836
  59. package/templates/portfolio-creative/himalaya.content.json +1 -1
  60. package/templates/portfolio-creative/tier5-src/_shared/engine-intl.ts +18 -0
  61. package/templates/portfolio-creative/tier5-src/_shared/himi-events.ts +7 -0
  62. package/templates/portfolio-creative/tier5-src/himi-events-detail/index.ts +803 -361
  63. package/templates/portfolio-creative-owner/tier5-src/_shared/engine-intl.ts +18 -0
  64. package/templates/portfolio-creative-owner/tier5-src/_shared/himi-events.ts +7 -0
  65. package/templates/restaurant/dev/index.ts +2388 -849
  66. package/templates/restaurant/himalaya.content.json +1 -1
  67. package/templates/restaurant/tier5-src/_shared/engine-intl.ts +18 -0
  68. package/templates/restaurant/tier5-src/_shared/himi-events.ts +7 -0
  69. package/templates/restaurant/tier5-src/himi-events-detail/index.ts +803 -361
  70. package/templates/restaurant-owner/tier5-src/_shared/engine-intl.ts +18 -0
  71. package/templates/restaurant-owner/tier5-src/_shared/himi-events.ts +7 -0
  72. package/templates/retail-store/tier5-src/_shared/engine-intl.ts +18 -0
  73. package/templates/retail-store/tier5-src/_shared/himi-events.ts +7 -0
  74. package/templates/retail-store-owner/tier5-src/_shared/engine-intl.ts +18 -0
  75. package/templates/retail-store-owner/tier5-src/_shared/himi-events.ts +7 -0
  76. package/templates/yoga-studio/dev/index.ts +2403 -864
  77. package/templates/yoga-studio/himalaya.content.json +1 -1
  78. package/templates/yoga-studio/tier5-src/_shared/engine-intl.ts +18 -0
  79. package/templates/yoga-studio/tier5-src/_shared/himi-events.ts +7 -0
  80. package/templates/yoga-studio/tier5-src/himi-events-detail/index.ts +803 -361
  81. package/templates/yoga-studio-owner/tier5-src/_shared/engine-intl.ts +18 -0
  82. package/templates/yoga-studio-owner/tier5-src/_shared/himi-events.ts +7 -0
@@ -32,7 +32,7 @@
32
32
  "displayName": "Delete Account"
33
33
  },
34
34
  "himi_event": {
35
- "displayName": "Event"
35
+ "displayName": "Event Details"
36
36
  },
37
37
  "himi_events": {
38
38
  "displayName": "Events"
@@ -486,3 +486,21 @@ export function zoneOffsetAt(at: number, timeZone: string): number {
486
486
  }
487
487
  return NaN;
488
488
  }
489
+
490
+ /** Long zone label plus its short offset, e.g. "Israel Standard Time (GMT+2)". An engine
491
+ * without ECMA-402 has no zone database, so callers omit the supplementary label there. */
492
+ export function formatTimeZoneLabel(date: Date, timeZone: string, locale = "en"): string {
493
+ if (hasIntl()) {
494
+ if (!timeZone) return "";
495
+ try {
496
+ const parts = new Intl.DateTimeFormat(locale, { timeZone, timeZoneName: "long" }).formatToParts(date);
497
+ const name = parts.find((part) => part.type === "timeZoneName")?.value || timeZone;
498
+ const offset = new Intl.DateTimeFormat(locale, { timeZone, timeZoneName: "shortOffset" })
499
+ .formatToParts(date).find((part) => part.type === "timeZoneName")?.value;
500
+ return offset ? `${name} (${offset.replace(/:00$/, "")})` : name;
501
+ } catch {
502
+ return timeZone;
503
+ }
504
+ }
505
+ return "";
506
+ }
@@ -56,3 +56,10 @@ export function rememberRsvp(eventId: string): void {
56
56
  const next = [eventId, ...ids.filter((id) => id !== eventId)].slice(0, 50);
57
57
  try { storage()?.setItem(RSVP_KEY, JSON.stringify(next)); } catch { /* best-effort */ }
58
58
  }
59
+
60
+ /** Remove a locally confirmed RSVP after Wix confirms its cancellation. */
61
+ export function forgetRsvp(eventId: string): void {
62
+ if (!eventId) return;
63
+ const next = confirmedRsvpIds().filter((id) => id !== eventId);
64
+ try { storage()?.setItem(RSVP_KEY, JSON.stringify(next)); } catch { /* best-effort */ }
65
+ }