@wix/himalaya-cli 0.1478.0 → 0.1480.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 (45) hide show
  1. package/dist/cli.mjs +454 -263
  2. package/dist/preview-assets.generated.bin +0 -0
  3. package/guides/component-reference.json +2 -25
  4. package/guides/component-reference.md +3 -9
  5. package/package.json +2 -2
  6. package/templates/beauty-salon/dev/index.ts +29 -229
  7. package/templates/beauty-salon/tier5-src/himi-booking-time/index.ts +69 -9
  8. package/templates/beauty-salon/tier5-src/himi-store-account/index.ts +6 -1
  9. package/templates/beauty-salon/tier5-src/wix-spaces-my-subscriptions/index.ts +2 -2
  10. package/templates/branded-lite/dev/index.ts +58 -364
  11. package/templates/branded-lite/tier5-src/himi-booking-time/index.ts +69 -9
  12. package/templates/branded-lite/tier5-src/himi-events-rsvp/index.ts +5 -0
  13. package/templates/branded-lite/tier5-src/himi-store-account/index.ts +6 -1
  14. package/templates/branded-lite/tier5-src/wix-spaces-my-subscriptions/index.ts +2 -2
  15. package/templates/community-club/dev/index.ts +26 -134
  16. package/templates/community-club/tier5-src/himi-events-rsvp/index.ts +5 -0
  17. package/templates/community-club/tier5-src/himi-store-account/index.ts +6 -1
  18. package/templates/events-meetups/dev/index.ts +26 -134
  19. package/templates/events-meetups/tier5-src/himi-events-rsvp/index.ts +5 -0
  20. package/templates/events-meetups/tier5-src/himi-store-account/index.ts +6 -1
  21. package/templates/gym-fitness/dev/index.ts +55 -363
  22. package/templates/gym-fitness/tier5-src/himi-booking-time/index.ts +69 -9
  23. package/templates/gym-fitness/tier5-src/himi-events-rsvp/index.ts +5 -0
  24. package/templates/gym-fitness/tier5-src/himi-store-account/index.ts +6 -1
  25. package/templates/gym-fitness/tier5-src/wix-spaces-my-subscriptions/index.ts +2 -2
  26. package/templates/nonprofit-cause/dev/index.ts +29 -136
  27. package/templates/nonprofit-cause/tier5-src/himi-events-rsvp/index.ts +5 -0
  28. package/templates/nonprofit-cause/tier5-src/himi-store-account/index.ts +6 -1
  29. package/templates/nonprofit-cause/tier5-src/wix-spaces-my-subscriptions/index.ts +2 -2
  30. package/templates/podcast-creator/dev/index.ts +29 -136
  31. package/templates/podcast-creator/tier5-src/himi-events-rsvp/index.ts +5 -0
  32. package/templates/podcast-creator/tier5-src/himi-store-account/index.ts +6 -1
  33. package/templates/podcast-creator/tier5-src/wix-spaces-my-subscriptions/index.ts +2 -2
  34. package/templates/portfolio-creative/dev/index.ts +26 -134
  35. package/templates/portfolio-creative/tier5-src/himi-events-rsvp/index.ts +5 -0
  36. package/templates/portfolio-creative/tier5-src/himi-store-account/index.ts +6 -1
  37. package/templates/restaurant/dev/index.ts +26 -134
  38. package/templates/restaurant/tier5-src/himi-events-rsvp/index.ts +5 -0
  39. package/templates/restaurant/tier5-src/himi-store-account/index.ts +6 -1
  40. package/templates/retail-store/tier5-src/himi-store-account/index.ts +6 -1
  41. package/templates/yoga-studio/dev/index.ts +55 -363
  42. package/templates/yoga-studio/tier5-src/himi-booking-time/index.ts +69 -9
  43. package/templates/yoga-studio/tier5-src/himi-events-rsvp/index.ts +5 -0
  44. package/templates/yoga-studio/tier5-src/himi-store-account/index.ts +6 -1
  45. package/templates/yoga-studio/tier5-src/wix-spaces-my-subscriptions/index.ts +2 -2
@@ -29635,140 +29635,6 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
29635
29635
  }
29636
29636
  }
29637
29637
  },
29638
- {
29639
- "id": "himi_rsvp.signin_card",
29640
- "body": {
29641
- "package": "himalaya",
29642
- "type": "VStack",
29643
- "props": {
29644
- "spacing": 12,
29645
- "alignment": "leading",
29646
- "children": [
29647
- {
29648
- "id": "",
29649
- "body": {
29650
- "package": "himalaya",
29651
- "type": "HStack",
29652
- "props": {
29653
- "spacing": 10,
29654
- "children": [
29655
- {
29656
- "id": "",
29657
- "body": {
29658
- "package": "himalaya",
29659
- "type": "Icon",
29660
- "props": {
29661
- "name": "person",
29662
- "size": 18,
29663
- "tint": "accentPrimary"
29664
- }
29665
- },
29666
- "modifiers": {
29667
- "accessibilityRole": "decorative"
29668
- }
29669
- },
29670
- {
29671
- "id": "",
29672
- "body": {
29673
- "package": "himalaya",
29674
- "type": "Text",
29675
- "props": {
29676
- "text": "Sign in to RSVP",
29677
- "style": "bodyEmphasis"
29678
- }
29679
- }
29680
- }
29681
- ]
29682
- }
29683
- }
29684
- },
29685
- {
29686
- "id": "",
29687
- "body": {
29688
- "package": "himalaya",
29689
- "type": "Text",
29690
- "props": {
29691
- "text": "Events can be browsed as a guest. RSVP is saved to your member identity.",
29692
- "style": "body",
29693
- "color": "textSecondary"
29694
- }
29695
- }
29696
- },
29697
- {
29698
- "id": "himi_rsvp.email",
29699
- "body": {
29700
- "package": "himalaya",
29701
- "type": "TextField",
29702
- "props": {
29703
- "placeholder": "Email",
29704
- "value": "",
29705
- "keyboard": "email",
29706
- "autoCapitalization": "none",
29707
- "onChange": {
29708
- "actionId": "tier5.himiEventsRsvp.setEmail"
29709
- }
29710
- }
29711
- }
29712
- },
29713
- {
29714
- "id": "himi_rsvp.password",
29715
- "body": {
29716
- "package": "himalaya",
29717
- "type": "TextField",
29718
- "props": {
29719
- "placeholder": "Password",
29720
- "valuePath": "$service:himiEventsRsvp.password",
29721
- "secure": true,
29722
- "autoCapitalization": "none",
29723
- "onChange": {
29724
- "actionId": "tier5.himiEventsRsvp.setPassword"
29725
- }
29726
- }
29727
- }
29728
- },
29729
- {
29730
- "id": "himi_rsvp.signin",
29731
- "body": {
29732
- "package": "himalaya",
29733
- "type": "Button",
29734
- "props": {
29735
- "title": "Sign in",
29736
- "style": "primary",
29737
- "fullWidth": true,
29738
- "action": {
29739
- "actionId": "tier5.himiEventsRsvp.signIn"
29740
- }
29741
- }
29742
- },
29743
- "modifiers": {
29744
- "cornerRadius": 8,
29745
- "pressFeedback": "scale",
29746
- "haptic": "medium"
29747
- }
29748
- }
29749
- ]
29750
- }
29751
- },
29752
- "modifiers": {
29753
- "background": {
29754
- "token": "surfaceElevated"
29755
- },
29756
- "border": {
29757
- "width": 1,
29758
- "color": {
29759
- "token": "border"
29760
- }
29761
- },
29762
- "cornerRadius": 8,
29763
- "padding": {
29764
- "leading": 14,
29765
- "trailing": 14,
29766
- "top": 14,
29767
- "bottom": 14
29768
- },
29769
- "hiddenPath": "$service:himiEventsRsvp.isMember"
29770
- }
29771
- },
29772
29638
  {
29773
29639
  "id": "himi_rsvp.member_card",
29774
29640
  "body": {
@@ -29884,6 +29750,32 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
29884
29750
  "hiddenPath": "$service:himiEventsRsvp.noSuccess"
29885
29751
  }
29886
29752
  },
29753
+ {
29754
+ "id": "himi_rsvp.confirm_sign_in",
29755
+ "body": {
29756
+ "package": "himalaya",
29757
+ "type": "Button",
29758
+ "props": {
29759
+ "title": "Confirm RSVP",
29760
+ "style": "primary",
29761
+ "fullWidth": true,
29762
+ "action": {
29763
+ "actionId": "himi.open",
29764
+ "params": {
29765
+ "screenId": "himi_sign_in",
29766
+ "mode": "signin",
29767
+ "intent": "rsvp"
29768
+ }
29769
+ }
29770
+ }
29771
+ },
29772
+ "modifiers": {
29773
+ "cornerRadius": 8,
29774
+ "pressFeedback": "scale",
29775
+ "haptic": "medium",
29776
+ "hiddenPath": "$service:himiEventsRsvp.hideGuestRsvp"
29777
+ }
29778
+ },
29887
29779
  {
29888
29780
  "id": "himi_rsvp.confirm",
29889
29781
  "body": {
@@ -35,6 +35,9 @@ interface S {
35
35
  noSuccess: boolean;
36
36
  canRsvp: boolean;
37
37
  cannotRsvp: boolean;
38
+ /** Hides a guest's RSVP button, which opens a sign-in screen: shown only for a guest with
39
+ * an event to RSVP to, as `cannotRsvp` requires an event for a member's. */
40
+ hideGuestRsvp: boolean;
38
41
  errored: boolean;
39
42
  notErrored: boolean;
40
43
  isLoading: boolean;
@@ -74,6 +77,7 @@ function derive(s: S): S {
74
77
  notMember: !s.isMember,
75
78
  canRsvp,
76
79
  cannotRsvp: !canRsvp,
80
+ hideGuestRsvp: s.isMember || !hasEvent,
77
81
  noSuccess: !hasSuccess,
78
82
  notErrored: !s.errored,
79
83
  noEmpty: s.status === "loading" || s.errored || hasEvent,
@@ -144,6 +148,7 @@ const svc = defineService<S, {
144
148
  noSuccess: true,
145
149
  canRsvp: false,
146
150
  cannotRsvp: true,
151
+ hideGuestRsvp: true,
147
152
  errored: false,
148
153
  notErrored: true,
149
154
  isLoading: true,
@@ -365,6 +365,11 @@ function authHeadline(s: S, isRegistering: boolean, isRecovering: boolean): { au
365
365
  authTitle: copyParam("storeAccount.authTitleRsvp", "Sign in to RSVP"),
366
366
  authBody: copyParam("storeAccount.authBodyRsvp", "Sign in to RSVP, then we’ll bring you back."),
367
367
  };
368
+ case "book":
369
+ return {
370
+ authTitle: copyParam("storeAccount.authTitleBook", "Sign in to book"),
371
+ authBody: copyParam("storeAccount.authBodyBook", "Sign in to book this time, then we’ll bring you back."),
372
+ };
368
373
  case "post":
369
374
  return {
370
375
  authTitle: copyParam("storeAccount.authTitlePost", "Sign in to post"),
@@ -392,7 +397,7 @@ interface S extends IapRestoreFields {
392
397
  noMemberImage: boolean;
393
398
  authTitle: string;
394
399
  authBody: string;
395
- /** Mid-flow gate intent (`join_group` | `rsvp` | `post` | ""). */
400
+ /** Mid-flow gate intent (`join_group` | `rsvp` | `book` | `post` | ""). */
396
401
  authIntent: string;
397
402
  authContextName: string;
398
403
  returnScreenId: string;
@@ -22045,140 +22045,6 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
22045
22045
  }
22046
22046
  }
22047
22047
  },
22048
- {
22049
- "id": "himi_rsvp.signin_card",
22050
- "body": {
22051
- "package": "himalaya",
22052
- "type": "VStack",
22053
- "props": {
22054
- "spacing": 12,
22055
- "alignment": "leading",
22056
- "children": [
22057
- {
22058
- "id": "",
22059
- "body": {
22060
- "package": "himalaya",
22061
- "type": "HStack",
22062
- "props": {
22063
- "spacing": 10,
22064
- "children": [
22065
- {
22066
- "id": "",
22067
- "body": {
22068
- "package": "himalaya",
22069
- "type": "Icon",
22070
- "props": {
22071
- "name": "person",
22072
- "size": 18,
22073
- "tint": "accentPrimary"
22074
- }
22075
- },
22076
- "modifiers": {
22077
- "accessibilityRole": "decorative"
22078
- }
22079
- },
22080
- {
22081
- "id": "",
22082
- "body": {
22083
- "package": "himalaya",
22084
- "type": "Text",
22085
- "props": {
22086
- "text": "Sign in to RSVP",
22087
- "style": "bodyEmphasis"
22088
- }
22089
- }
22090
- }
22091
- ]
22092
- }
22093
- }
22094
- },
22095
- {
22096
- "id": "",
22097
- "body": {
22098
- "package": "himalaya",
22099
- "type": "Text",
22100
- "props": {
22101
- "text": "Events can be browsed as a guest. RSVP is saved to your member identity.",
22102
- "style": "body",
22103
- "color": "textSecondary"
22104
- }
22105
- }
22106
- },
22107
- {
22108
- "id": "himi_rsvp.email",
22109
- "body": {
22110
- "package": "himalaya",
22111
- "type": "TextField",
22112
- "props": {
22113
- "placeholder": "Email",
22114
- "value": "",
22115
- "keyboard": "email",
22116
- "autoCapitalization": "none",
22117
- "onChange": {
22118
- "actionId": "tier5.himiEventsRsvp.setEmail"
22119
- }
22120
- }
22121
- }
22122
- },
22123
- {
22124
- "id": "himi_rsvp.password",
22125
- "body": {
22126
- "package": "himalaya",
22127
- "type": "TextField",
22128
- "props": {
22129
- "placeholder": "Password",
22130
- "valuePath": "$service:himiEventsRsvp.password",
22131
- "secure": true,
22132
- "autoCapitalization": "none",
22133
- "onChange": {
22134
- "actionId": "tier5.himiEventsRsvp.setPassword"
22135
- }
22136
- }
22137
- }
22138
- },
22139
- {
22140
- "id": "himi_rsvp.signin",
22141
- "body": {
22142
- "package": "himalaya",
22143
- "type": "Button",
22144
- "props": {
22145
- "title": "Sign in",
22146
- "style": "primary",
22147
- "fullWidth": true,
22148
- "action": {
22149
- "actionId": "tier5.himiEventsRsvp.signIn"
22150
- }
22151
- }
22152
- },
22153
- "modifiers": {
22154
- "cornerRadius": 8,
22155
- "pressFeedback": "scale",
22156
- "haptic": "medium"
22157
- }
22158
- }
22159
- ]
22160
- }
22161
- },
22162
- "modifiers": {
22163
- "background": {
22164
- "token": "surfaceElevated"
22165
- },
22166
- "border": {
22167
- "width": 1,
22168
- "color": {
22169
- "token": "border"
22170
- }
22171
- },
22172
- "cornerRadius": 8,
22173
- "padding": {
22174
- "leading": 14,
22175
- "trailing": 14,
22176
- "top": 14,
22177
- "bottom": 14
22178
- },
22179
- "hiddenPath": "$service:himiEventsRsvp.isMember"
22180
- }
22181
- },
22182
22048
  {
22183
22049
  "id": "himi_rsvp.member_card",
22184
22050
  "body": {
@@ -22294,6 +22160,32 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
22294
22160
  "hiddenPath": "$service:himiEventsRsvp.noSuccess"
22295
22161
  }
22296
22162
  },
22163
+ {
22164
+ "id": "himi_rsvp.confirm_sign_in",
22165
+ "body": {
22166
+ "package": "himalaya",
22167
+ "type": "Button",
22168
+ "props": {
22169
+ "title": "Confirm RSVP",
22170
+ "style": "primary",
22171
+ "fullWidth": true,
22172
+ "action": {
22173
+ "actionId": "himi.open",
22174
+ "params": {
22175
+ "screenId": "himi_sign_in",
22176
+ "mode": "signin",
22177
+ "intent": "rsvp"
22178
+ }
22179
+ }
22180
+ }
22181
+ },
22182
+ "modifiers": {
22183
+ "cornerRadius": 8,
22184
+ "pressFeedback": "scale",
22185
+ "haptic": "medium",
22186
+ "hiddenPath": "$service:himiEventsRsvp.hideGuestRsvp"
22187
+ }
22188
+ },
22297
22189
  {
22298
22190
  "id": "himi_rsvp.confirm",
22299
22191
  "body": {
@@ -35,6 +35,9 @@ interface S {
35
35
  noSuccess: boolean;
36
36
  canRsvp: boolean;
37
37
  cannotRsvp: boolean;
38
+ /** Hides a guest's RSVP button, which opens a sign-in screen: shown only for a guest with
39
+ * an event to RSVP to, as `cannotRsvp` requires an event for a member's. */
40
+ hideGuestRsvp: boolean;
38
41
  errored: boolean;
39
42
  notErrored: boolean;
40
43
  isLoading: boolean;
@@ -74,6 +77,7 @@ function derive(s: S): S {
74
77
  notMember: !s.isMember,
75
78
  canRsvp,
76
79
  cannotRsvp: !canRsvp,
80
+ hideGuestRsvp: s.isMember || !hasEvent,
77
81
  noSuccess: !hasSuccess,
78
82
  notErrored: !s.errored,
79
83
  noEmpty: s.status === "loading" || s.errored || hasEvent,
@@ -144,6 +148,7 @@ const svc = defineService<S, {
144
148
  noSuccess: true,
145
149
  canRsvp: false,
146
150
  cannotRsvp: true,
151
+ hideGuestRsvp: true,
147
152
  errored: false,
148
153
  notErrored: true,
149
154
  isLoading: true,
@@ -365,6 +365,11 @@ function authHeadline(s: S, isRegistering: boolean, isRecovering: boolean): { au
365
365
  authTitle: copyParam("storeAccount.authTitleRsvp", "Sign in to RSVP"),
366
366
  authBody: copyParam("storeAccount.authBodyRsvp", "Sign in to RSVP, then we’ll bring you back."),
367
367
  };
368
+ case "book":
369
+ return {
370
+ authTitle: copyParam("storeAccount.authTitleBook", "Sign in to book"),
371
+ authBody: copyParam("storeAccount.authBodyBook", "Sign in to book this time, then we’ll bring you back."),
372
+ };
368
373
  case "post":
369
374
  return {
370
375
  authTitle: copyParam("storeAccount.authTitlePost", "Sign in to post"),
@@ -392,7 +397,7 @@ interface S extends IapRestoreFields {
392
397
  noMemberImage: boolean;
393
398
  authTitle: string;
394
399
  authBody: string;
395
- /** Mid-flow gate intent (`join_group` | `rsvp` | `post` | ""). */
400
+ /** Mid-flow gate intent (`join_group` | `rsvp` | `book` | `post` | ""). */
396
401
  authIntent: string;
397
402
  authContextName: string;
398
403
  returnScreenId: string;
@@ -365,6 +365,11 @@ function authHeadline(s: S, isRegistering: boolean, isRecovering: boolean): { au
365
365
  authTitle: copyParam("storeAccount.authTitleRsvp", "Sign in to RSVP"),
366
366
  authBody: copyParam("storeAccount.authBodyRsvp", "Sign in to RSVP, then we’ll bring you back."),
367
367
  };
368
+ case "book":
369
+ return {
370
+ authTitle: copyParam("storeAccount.authTitleBook", "Sign in to book"),
371
+ authBody: copyParam("storeAccount.authBodyBook", "Sign in to book this time, then we’ll bring you back."),
372
+ };
368
373
  case "post":
369
374
  return {
370
375
  authTitle: copyParam("storeAccount.authTitlePost", "Sign in to post"),
@@ -392,7 +397,7 @@ interface S extends IapRestoreFields {
392
397
  noMemberImage: boolean;
393
398
  authTitle: string;
394
399
  authBody: string;
395
- /** Mid-flow gate intent (`join_group` | `rsvp` | `post` | ""). */
400
+ /** Mid-flow gate intent (`join_group` | `rsvp` | `book` | `post` | ""). */
396
401
  authIntent: string;
397
402
  authContextName: string;
398
403
  returnScreenId: string;