@wix/himalaya-cli 0.1613.0 → 0.1615.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/sdk/ui/src/index.d.ts +53 -13
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +3 -0
- package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/ui.mjs +31 -5
- package/dist/cli.mjs +1638 -1330
- package/dist/preview-assets.generated.bin +0 -0
- package/fixtures/wix-canned.json +4 -0
- package/guides/component-reference.json +1 -1
- package/guides/component-reference.md +3 -0
- package/guides/designing-himi-screens.md +4 -1
- package/guides/hhp.md +2 -2
- package/guides/sdk-reference.json +28 -4
- package/package.json +2 -2
- package/template-icons/salon-spa.png +0 -0
- package/templates/beauty-salon/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/beauty-salon/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/beauty-salon/tier5-src/_shared/himi-booking-saved.ts +88 -0
- package/templates/beauty-salon/tier5-src/himi-booking-service/index.ts +50 -3
- package/templates/beauty-salon/tier5-src/himi-booking-services/index.ts +70 -3
- package/templates/beauty-salon/tier5-src/himi-booking-time/index.ts +40 -8
- package/templates/beauty-salon/tier5-src/himi-branded-lite-agenda/index.ts +7 -2
- package/templates/beauty-salon/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/branded-lite/dev/index.ts +192 -0
- package/templates/branded-lite/l10n/en.json +1 -1
- package/templates/branded-lite/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/branded-lite/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/branded-lite/tier5-src/_shared/himi-booking-saved.ts +88 -0
- package/templates/branded-lite/tier5-src/himi-booking-service/index.ts +50 -3
- package/templates/branded-lite/tier5-src/himi-booking-services/index.ts +70 -3
- package/templates/branded-lite/tier5-src/himi-booking-time/index.ts +40 -8
- package/templates/branded-lite/tier5-src/himi-branded-lite-agenda/index.ts +7 -2
- package/templates/branded-lite/tier5-src/himi-branded-lite-galleries/index.ts +104 -12
- package/templates/branded-lite/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/community-club/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/community-club/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/community-club/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/events-meetups/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/events-meetups/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/events-meetups/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/gym-fitness/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/gym-fitness/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/gym-fitness/tier5-src/_shared/himi-booking-saved.ts +88 -0
- package/templates/gym-fitness/tier5-src/himi-booking-service/index.ts +50 -3
- package/templates/gym-fitness/tier5-src/himi-booking-services/index.ts +70 -3
- package/templates/gym-fitness/tier5-src/himi-booking-time/index.ts +40 -8
- package/templates/gym-fitness/tier5-src/himi-branded-lite-agenda/index.ts +7 -2
- package/templates/gym-fitness/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/nonprofit-cause/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/nonprofit-cause/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/nonprofit-cause/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/podcast-creator/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/podcast-creator/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/podcast-creator/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/portfolio-creative/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/portfolio-creative/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/portfolio-creative/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/restaurant/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/restaurant/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/restaurant/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/retail-store/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/retail-store/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/retail-store/tier5-src/himi-branded-lite-home/index.ts +178 -12
- package/templates/salon-spa/README.md +53 -0
- package/templates/salon-spa/config.ts +272 -0
- package/templates/salon-spa/dev/index.ts +19893 -0
- package/templates/salon-spa/himalaya.content.json +49 -0
- package/templates/salon-spa/himalaya.template.json +14 -0
- package/templates/salon-spa/icon.png +0 -0
- package/templates/salon-spa/platforms.json +1 -0
- package/templates/salon-spa/tier5-src/_shared/app-locale.ts +61 -0
- package/templates/salon-spa/tier5-src/_shared/booking-location.ts +147 -0
- package/templates/salon-spa/tier5-src/_shared/booking-session.ts +222 -0
- package/templates/salon-spa/tier5-src/_shared/branded-lite-hosted.ts +278 -0
- package/templates/salon-spa/tier5-src/_shared/branded-load-state.ts +109 -0
- package/templates/salon-spa/tier5-src/_shared/business-chat-copy.ts +40 -0
- package/templates/salon-spa/tier5-src/_shared/business-chat-history.ts +48 -0
- package/templates/salon-spa/tier5-src/_shared/business-chat-message-model.ts +177 -0
- package/templates/salon-spa/tier5-src/_shared/business-chat-model.ts +56 -0
- package/templates/salon-spa/tier5-src/_shared/business-chat-presenter.ts +581 -0
- package/templates/salon-spa/tier5-src/_shared/business-chat-transport.ts +148 -0
- package/templates/salon-spa/tier5-src/_shared/collection-contract.ts +230 -0
- package/templates/salon-spa/tier5-src/_shared/collection-query.ts +193 -0
- package/templates/salon-spa/tier5-src/_shared/collection-service.ts +400 -0
- package/templates/salon-spa/tier5-src/_shared/detail-presence.ts +51 -0
- package/templates/salon-spa/tier5-src/_shared/empty-flags.ts +33 -0
- package/templates/salon-spa/tier5-src/_shared/engine-intl.ts +508 -0
- package/templates/salon-spa/tier5-src/_shared/himi-account.ts +164 -0
- package/templates/salon-spa/tier5-src/_shared/himi-booking-saved.ts +88 -0
- package/templates/salon-spa/tier5-src/_shared/himi-bookings.ts +318 -0
- package/templates/salon-spa/tier5-src/_shared/himi-copy.ts +89 -0
- package/templates/salon-spa/tier5-src/_shared/himi-store.ts +7 -0
- package/templates/salon-spa/tier5-src/_shared/himi-text.ts +24 -0
- package/templates/salon-spa/tier5-src/_shared/host-events.ts +66 -0
- package/templates/salon-spa/tier5-src/_shared/hosted-checkout.ts +70 -0
- package/templates/salon-spa/tier5-src/_shared/iap-attendance-form.ts +106 -0
- package/templates/salon-spa/tier5-src/_shared/iap-attendance-purchase.ts +211 -0
- package/templates/salon-spa/tier5-src/_shared/iap-attendance.ts +38 -0
- package/templates/salon-spa/tier5-src/_shared/iap-worker.ts +125 -0
- package/templates/salon-spa/tier5-src/_shared/local-preferences.ts +38 -0
- package/templates/salon-spa/tier5-src/_shared/member-access.ts +52 -0
- package/templates/salon-spa/tier5-src/_shared/member-account-routes.ts +52 -0
- package/templates/salon-spa/tier5-src/_shared/member-bookings.ts +94 -0
- package/templates/salon-spa/tier5-src/_shared/offset-page.ts +10 -0
- package/templates/salon-spa/tier5-src/_shared/online-actions.ts +76 -0
- package/templates/salon-spa/tier5-src/_shared/owner-load-error.ts +348 -0
- package/templates/salon-spa/tier5-src/_shared/payment-setup.ts +6 -0
- package/templates/salon-spa/tier5-src/_shared/rich-body.ts +78 -0
- package/templates/salon-spa/tier5-src/_shared/rich-content-link.ts +34 -0
- package/templates/salon-spa/tier5-src/_shared/weekly-goal.ts +107 -0
- package/templates/salon-spa/tier5-src/_shared/wix-service-price.ts +146 -0
- package/templates/salon-spa/tier5-src/business-chat/index.ts +669 -0
- package/templates/salon-spa/tier5-src/himi-booking-account/index.ts +241 -0
- package/templates/salon-spa/tier5-src/himi-booking-bookings/index.ts +466 -0
- package/templates/salon-spa/tier5-src/himi-booking-saved/index.ts +103 -0
- package/templates/salon-spa/tier5-src/himi-booking-service/index.ts +1170 -0
- package/templates/salon-spa/tier5-src/himi-booking-services/index.ts +791 -0
- package/templates/salon-spa/tier5-src/himi-booking-time/index.ts +1712 -0
- package/templates/salon-spa/tier5-src/himi-branded-lite-agenda/index.ts +950 -0
- package/templates/salon-spa/tier5-src/himi-branded-lite-galleries/index.ts +282 -0
- package/templates/salon-spa/tier5-src/himi-salon-home/index.ts +544 -0
- package/templates/salon-spa/tier5-src/himi-store-account/index.ts +925 -0
- package/templates/salon-spa/tokens.json +341 -0
- package/templates/yoga-studio/dev/index.ts +192 -0
- package/templates/yoga-studio/tier5-src/_shared/branded-load-state.ts +5 -2
- package/templates/yoga-studio/tier5-src/_shared/himi-account.ts +31 -0
- package/templates/yoga-studio/tier5-src/_shared/himi-booking-saved.ts +88 -0
- package/templates/yoga-studio/tier5-src/himi-booking-service/index.ts +50 -3
- package/templates/yoga-studio/tier5-src/himi-booking-services/index.ts +70 -3
- package/templates/yoga-studio/tier5-src/himi-booking-time/index.ts +40 -8
- package/templates/yoga-studio/tier5-src/himi-branded-lite-agenda/index.ts +7 -2
- package/templates/yoga-studio/tier5-src/himi-branded-lite-home/index.ts +178 -12
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
{
|
|
2
|
+
"colors": {
|
|
3
|
+
"surfacePrimary": {
|
|
4
|
+
"light": "#FAF6EF",
|
|
5
|
+
"dark": "#141712",
|
|
6
|
+
"highContrast": "#FFFFFF"
|
|
7
|
+
},
|
|
8
|
+
"surfaceSecondary": {
|
|
9
|
+
"light": "#F2ECE2",
|
|
10
|
+
"dark": "#1B1F19",
|
|
11
|
+
"highContrast": "#F2F2F2"
|
|
12
|
+
},
|
|
13
|
+
"surfaceElevated": {
|
|
14
|
+
"light": "#FFFFFF",
|
|
15
|
+
"dark": "#222720",
|
|
16
|
+
"highContrast": "#FFFFFF"
|
|
17
|
+
},
|
|
18
|
+
"surfaceSubtle": {
|
|
19
|
+
"light": "#F6F1E8",
|
|
20
|
+
"dark": "#181B16",
|
|
21
|
+
"highContrast": "#FFFFFF"
|
|
22
|
+
},
|
|
23
|
+
"surfaceTertiary": {
|
|
24
|
+
"light": "#E9E1D4",
|
|
25
|
+
"dark": "#2A3027",
|
|
26
|
+
"highContrast": "#E6E6E6"
|
|
27
|
+
},
|
|
28
|
+
"textPrimary": {
|
|
29
|
+
"light": "#252A22",
|
|
30
|
+
"dark": "#F2EFE7",
|
|
31
|
+
"highContrast": "#000000"
|
|
32
|
+
},
|
|
33
|
+
"textSecondary": {
|
|
34
|
+
"light": "#585E53",
|
|
35
|
+
"dark": "#C2BDB1",
|
|
36
|
+
"highContrast": "#1F1F1F"
|
|
37
|
+
},
|
|
38
|
+
"textTertiary": {
|
|
39
|
+
"light": "#767A6E",
|
|
40
|
+
"dark": "#97938A",
|
|
41
|
+
"highContrast": "#333333"
|
|
42
|
+
},
|
|
43
|
+
"textOnAccent": {
|
|
44
|
+
"light": "#FFFFFF",
|
|
45
|
+
"dark": "#10130E",
|
|
46
|
+
"highContrast": "#FFFFFF"
|
|
47
|
+
},
|
|
48
|
+
"accentPrimary": {
|
|
49
|
+
"light": "#46594A",
|
|
50
|
+
"dark": "#A7C0A9",
|
|
51
|
+
"highContrast": "#1E2D21"
|
|
52
|
+
},
|
|
53
|
+
"accentSecondary": {
|
|
54
|
+
"light": "#A9834C",
|
|
55
|
+
"dark": "#D4B47F",
|
|
56
|
+
"highContrast": "#5A4220"
|
|
57
|
+
},
|
|
58
|
+
"accentSurface": {
|
|
59
|
+
"light": "#F3E0D8",
|
|
60
|
+
"dark": "#2C3830",
|
|
61
|
+
"highContrast": "#F7E9E3"
|
|
62
|
+
},
|
|
63
|
+
"accentText": {
|
|
64
|
+
"light": "#3E5042",
|
|
65
|
+
"dark": "#B4CCB6",
|
|
66
|
+
"highContrast": "#1E2D21"
|
|
67
|
+
},
|
|
68
|
+
"success": {
|
|
69
|
+
"light": "#2F6A47",
|
|
70
|
+
"dark": "#8CC9A2",
|
|
71
|
+
"highContrast": "#0F4526"
|
|
72
|
+
},
|
|
73
|
+
"successSurface": {
|
|
74
|
+
"light": "#E7F0E9",
|
|
75
|
+
"dark": "#15211A",
|
|
76
|
+
"highContrast": "#E7F0E9"
|
|
77
|
+
},
|
|
78
|
+
"warning": {
|
|
79
|
+
"light": "#8A6118",
|
|
80
|
+
"dark": "#D6B061",
|
|
81
|
+
"highContrast": "#5C3E07"
|
|
82
|
+
},
|
|
83
|
+
"warningSurface": {
|
|
84
|
+
"light": "#F6EEDC",
|
|
85
|
+
"dark": "#231D10",
|
|
86
|
+
"highContrast": "#F6EEDC"
|
|
87
|
+
},
|
|
88
|
+
"danger": {
|
|
89
|
+
"light": "#A63D33",
|
|
90
|
+
"dark": "#E0928A",
|
|
91
|
+
"highContrast": "#7A1F17"
|
|
92
|
+
},
|
|
93
|
+
"dangerSurface": {
|
|
94
|
+
"light": "#F7E8E5",
|
|
95
|
+
"dark": "#261513",
|
|
96
|
+
"highContrast": "#F7E8E5"
|
|
97
|
+
},
|
|
98
|
+
"border": {
|
|
99
|
+
"light": "#E5DCCD",
|
|
100
|
+
"dark": "#30362D",
|
|
101
|
+
"highContrast": "#5C5C5C"
|
|
102
|
+
}
|
|
103
|
+
},
|
|
104
|
+
"spacing": {
|
|
105
|
+
"xs": 4,
|
|
106
|
+
"sm": 8,
|
|
107
|
+
"md": 12,
|
|
108
|
+
"lg": 16,
|
|
109
|
+
"xl": 24,
|
|
110
|
+
"xxl": 32
|
|
111
|
+
},
|
|
112
|
+
"typography": {
|
|
113
|
+
"display": {
|
|
114
|
+
"size": 38,
|
|
115
|
+
"weight": 400,
|
|
116
|
+
"line": 1.12,
|
|
117
|
+
"letterSpacing": -0.4,
|
|
118
|
+
"family": "Georgia"
|
|
119
|
+
},
|
|
120
|
+
"heroTitle": {
|
|
121
|
+
"size": 34,
|
|
122
|
+
"weight": 400,
|
|
123
|
+
"line": 1.12,
|
|
124
|
+
"letterSpacing": -0.3,
|
|
125
|
+
"family": "Georgia"
|
|
126
|
+
},
|
|
127
|
+
"pageTitle": {
|
|
128
|
+
"size": 28,
|
|
129
|
+
"weight": 400,
|
|
130
|
+
"line": 1.2,
|
|
131
|
+
"letterSpacing": -0.2,
|
|
132
|
+
"family": "Georgia"
|
|
133
|
+
},
|
|
134
|
+
"title1": {
|
|
135
|
+
"size": 30,
|
|
136
|
+
"weight": 400,
|
|
137
|
+
"line": 1.2,
|
|
138
|
+
"letterSpacing": -0.3,
|
|
139
|
+
"family": "Georgia"
|
|
140
|
+
},
|
|
141
|
+
"title2": {
|
|
142
|
+
"size": 24,
|
|
143
|
+
"weight": 400,
|
|
144
|
+
"line": 1.25,
|
|
145
|
+
"letterSpacing": -0.2,
|
|
146
|
+
"family": "Georgia"
|
|
147
|
+
},
|
|
148
|
+
"title3": {
|
|
149
|
+
"size": 18,
|
|
150
|
+
"weight": 600,
|
|
151
|
+
"line": 1.3,
|
|
152
|
+
"letterSpacing": 0,
|
|
153
|
+
"family": "Wix Madefor Text"
|
|
154
|
+
},
|
|
155
|
+
"headline": {
|
|
156
|
+
"size": 16,
|
|
157
|
+
"weight": 600,
|
|
158
|
+
"line": 1.35,
|
|
159
|
+
"letterSpacing": 0,
|
|
160
|
+
"family": "Wix Madefor Text"
|
|
161
|
+
},
|
|
162
|
+
"body": {
|
|
163
|
+
"size": 16,
|
|
164
|
+
"weight": 400,
|
|
165
|
+
"line": 1.5,
|
|
166
|
+
"letterSpacing": 0,
|
|
167
|
+
"family": "Wix Madefor Text"
|
|
168
|
+
},
|
|
169
|
+
"bodyEmphasis": {
|
|
170
|
+
"size": 16,
|
|
171
|
+
"weight": 600,
|
|
172
|
+
"line": 1.4,
|
|
173
|
+
"letterSpacing": 0,
|
|
174
|
+
"family": "Wix Madefor Text"
|
|
175
|
+
},
|
|
176
|
+
"callout": {
|
|
177
|
+
"size": 15,
|
|
178
|
+
"weight": 500,
|
|
179
|
+
"line": 1.4,
|
|
180
|
+
"letterSpacing": 0,
|
|
181
|
+
"family": "Wix Madefor Text"
|
|
182
|
+
},
|
|
183
|
+
"label": {
|
|
184
|
+
"size": 14,
|
|
185
|
+
"weight": 600,
|
|
186
|
+
"line": 1.3,
|
|
187
|
+
"letterSpacing": 0,
|
|
188
|
+
"family": "Wix Madefor Text"
|
|
189
|
+
},
|
|
190
|
+
"footnote": {
|
|
191
|
+
"size": 14,
|
|
192
|
+
"weight": 400,
|
|
193
|
+
"line": 1.45,
|
|
194
|
+
"letterSpacing": 0,
|
|
195
|
+
"family": "Wix Madefor Text"
|
|
196
|
+
},
|
|
197
|
+
"caption": {
|
|
198
|
+
"size": 12,
|
|
199
|
+
"weight": 500,
|
|
200
|
+
"line": 1.4,
|
|
201
|
+
"letterSpacing": 0.2,
|
|
202
|
+
"family": "Wix Madefor Text"
|
|
203
|
+
},
|
|
204
|
+
"greetingScript": {
|
|
205
|
+
"size": 22,
|
|
206
|
+
"weight": 400,
|
|
207
|
+
"line": 1.2,
|
|
208
|
+
"letterSpacing": 0,
|
|
209
|
+
"family": "Georgia",
|
|
210
|
+
"style": "italic"
|
|
211
|
+
}
|
|
212
|
+
},
|
|
213
|
+
"radius": {
|
|
214
|
+
"sm": 8,
|
|
215
|
+
"md": 14,
|
|
216
|
+
"lg": 20,
|
|
217
|
+
"pill": 999
|
|
218
|
+
},
|
|
219
|
+
"kit": {
|
|
220
|
+
"material": "flat",
|
|
221
|
+
"variant": "default",
|
|
222
|
+
"density": "spacious",
|
|
223
|
+
"motion": "smooth",
|
|
224
|
+
"motionDefaults": "subtle"
|
|
225
|
+
},
|
|
226
|
+
"shadows": {
|
|
227
|
+
"sm": {
|
|
228
|
+
"color": "#2B2418",
|
|
229
|
+
"opacity": 0.06,
|
|
230
|
+
"radius": 8,
|
|
231
|
+
"x": 0,
|
|
232
|
+
"y": 2
|
|
233
|
+
},
|
|
234
|
+
"md": {
|
|
235
|
+
"color": "#2B2418",
|
|
236
|
+
"opacity": 0.09,
|
|
237
|
+
"radius": 18,
|
|
238
|
+
"x": 0,
|
|
239
|
+
"y": 6
|
|
240
|
+
},
|
|
241
|
+
"lg": {
|
|
242
|
+
"color": "#2B2418",
|
|
243
|
+
"opacity": 0.12,
|
|
244
|
+
"radius": 30,
|
|
245
|
+
"x": 0,
|
|
246
|
+
"y": 12
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
"gradients": {
|
|
250
|
+
"brand": {
|
|
251
|
+
"colors": [
|
|
252
|
+
"accentPrimary",
|
|
253
|
+
"accentText"
|
|
254
|
+
],
|
|
255
|
+
"angle": 135
|
|
256
|
+
},
|
|
257
|
+
"subtle": {
|
|
258
|
+
"colors": [
|
|
259
|
+
"surfaceSecondary",
|
|
260
|
+
"surfacePrimary"
|
|
261
|
+
],
|
|
262
|
+
"angle": 180
|
|
263
|
+
},
|
|
264
|
+
"hero": {
|
|
265
|
+
"colors": [
|
|
266
|
+
"accentSurface",
|
|
267
|
+
"surfacePrimary"
|
|
268
|
+
],
|
|
269
|
+
"angle": 160
|
|
270
|
+
}
|
|
271
|
+
},
|
|
272
|
+
"materials": {
|
|
273
|
+
"flat": {
|
|
274
|
+
"style": "flat",
|
|
275
|
+
"tint": "surfaceSecondary",
|
|
276
|
+
"opacity": 1
|
|
277
|
+
}
|
|
278
|
+
},
|
|
279
|
+
"motions": {
|
|
280
|
+
"smooth": {
|
|
281
|
+
"duration": 260,
|
|
282
|
+
"easing": "easeInOut"
|
|
283
|
+
},
|
|
284
|
+
"quick": {
|
|
285
|
+
"duration": 140,
|
|
286
|
+
"easing": "easeOut"
|
|
287
|
+
},
|
|
288
|
+
"appearSoft": {
|
|
289
|
+
"duration": 480,
|
|
290
|
+
"easing": "easeOut"
|
|
291
|
+
}
|
|
292
|
+
},
|
|
293
|
+
"tabBar": {
|
|
294
|
+
"background": {
|
|
295
|
+
"color": "surfaceElevated"
|
|
296
|
+
},
|
|
297
|
+
"shape": {
|
|
298
|
+
"kind": "full"
|
|
299
|
+
},
|
|
300
|
+
"border": {
|
|
301
|
+
"topHairline": true,
|
|
302
|
+
"color": "border"
|
|
303
|
+
},
|
|
304
|
+
"selectedIndicator": {
|
|
305
|
+
"kind": "colorOnly",
|
|
306
|
+
"color": "accentPrimary"
|
|
307
|
+
},
|
|
308
|
+
"activeTint": "accentPrimary",
|
|
309
|
+
"inactiveTint": "textTertiary",
|
|
310
|
+
"labels": {
|
|
311
|
+
"show": true,
|
|
312
|
+
"typography": "caption"
|
|
313
|
+
},
|
|
314
|
+
"iconSize": 22,
|
|
315
|
+
"motion": "smooth"
|
|
316
|
+
},
|
|
317
|
+
"drawer": {
|
|
318
|
+
"background": {
|
|
319
|
+
"color": "surfaceSecondary"
|
|
320
|
+
},
|
|
321
|
+
"width": 300,
|
|
322
|
+
"activeTint": "accentPrimary",
|
|
323
|
+
"inactiveTint": "textSecondary",
|
|
324
|
+
"selectedIndicator": {
|
|
325
|
+
"kind": "pill",
|
|
326
|
+
"color": "accentPrimary"
|
|
327
|
+
},
|
|
328
|
+
"labels": {
|
|
329
|
+
"show": true,
|
|
330
|
+
"typography": "body"
|
|
331
|
+
},
|
|
332
|
+
"iconSize": 22,
|
|
333
|
+
"edgeInsets": 12,
|
|
334
|
+
"motion": "smooth"
|
|
335
|
+
},
|
|
336
|
+
"contentMaxWidth": {
|
|
337
|
+
"base": 480,
|
|
338
|
+
"medium": 600,
|
|
339
|
+
"expanded": 760
|
|
340
|
+
}
|
|
341
|
+
}
|
|
@@ -2270,6 +2270,198 @@ const SCREENS = runtimeSetting({
|
|
|
2270
2270
|
]
|
|
2271
2271
|
}
|
|
2272
2272
|
}
|
|
2273
|
+
},
|
|
2274
|
+
{
|
|
2275
|
+
"id": "himi_branded_home.member_programs_section",
|
|
2276
|
+
"body": {
|
|
2277
|
+
"package": "himalaya",
|
|
2278
|
+
"type": "VStack",
|
|
2279
|
+
"props": {
|
|
2280
|
+
"spacing": 10,
|
|
2281
|
+
"alignment": "leading",
|
|
2282
|
+
"children": [
|
|
2283
|
+
{
|
|
2284
|
+
"id": "",
|
|
2285
|
+
"body": {
|
|
2286
|
+
"package": "himalaya",
|
|
2287
|
+
"type": "VStack",
|
|
2288
|
+
"props": {
|
|
2289
|
+
"spacing": 3,
|
|
2290
|
+
"alignment": "leading",
|
|
2291
|
+
"children": [
|
|
2292
|
+
{
|
|
2293
|
+
"id": "",
|
|
2294
|
+
"body": {
|
|
2295
|
+
"package": "himalaya",
|
|
2296
|
+
"type": "Text",
|
|
2297
|
+
"props": {
|
|
2298
|
+
"text": "Your programs",
|
|
2299
|
+
"style": "title3"
|
|
2300
|
+
}
|
|
2301
|
+
}
|
|
2302
|
+
}
|
|
2303
|
+
]
|
|
2304
|
+
}
|
|
2305
|
+
}
|
|
2306
|
+
},
|
|
2307
|
+
{
|
|
2308
|
+
"id": "himi_branded_home.member_programs",
|
|
2309
|
+
"body": {
|
|
2310
|
+
"package": "himalaya",
|
|
2311
|
+
"type": "Carousel",
|
|
2312
|
+
"props": {
|
|
2313
|
+
"itemsPath": "$service:himiBrandedHome.memberPrograms",
|
|
2314
|
+
"items": [
|
|
2315
|
+
{
|
|
2316
|
+
"id": "",
|
|
2317
|
+
"body": {
|
|
2318
|
+
"package": "himalaya",
|
|
2319
|
+
"type": "VStack",
|
|
2320
|
+
"props": {
|
|
2321
|
+
"spacing": 8,
|
|
2322
|
+
"alignment": "leading",
|
|
2323
|
+
"children": [
|
|
2324
|
+
{
|
|
2325
|
+
"id": "",
|
|
2326
|
+
"body": {
|
|
2327
|
+
"package": "himalaya",
|
|
2328
|
+
"type": "Image",
|
|
2329
|
+
"props": {
|
|
2330
|
+
"url": "$item.image",
|
|
2331
|
+
"fillWidth": true,
|
|
2332
|
+
"height": 108,
|
|
2333
|
+
"contentMode": "fill",
|
|
2334
|
+
"contentDescription": "$item.name"
|
|
2335
|
+
}
|
|
2336
|
+
},
|
|
2337
|
+
"modifiers": {
|
|
2338
|
+
"cornerRadius": 8,
|
|
2339
|
+
"fillMaxWidth": true,
|
|
2340
|
+
"hiddenPath": "$item.noImage"
|
|
2341
|
+
}
|
|
2342
|
+
},
|
|
2343
|
+
{
|
|
2344
|
+
"id": "himi_branded_home.member_program.initial",
|
|
2345
|
+
"body": {
|
|
2346
|
+
"package": "himalaya",
|
|
2347
|
+
"type": "ZStack",
|
|
2348
|
+
"props": {
|
|
2349
|
+
"alignment": "center",
|
|
2350
|
+
"children": [
|
|
2351
|
+
{
|
|
2352
|
+
"id": "",
|
|
2353
|
+
"body": {
|
|
2354
|
+
"package": "himalaya",
|
|
2355
|
+
"type": "Icon",
|
|
2356
|
+
"props": {
|
|
2357
|
+
"name": "photo",
|
|
2358
|
+
"size": 28,
|
|
2359
|
+
"tint": "accentPrimary"
|
|
2360
|
+
}
|
|
2361
|
+
},
|
|
2362
|
+
"modifiers": {
|
|
2363
|
+
"accessibilityRole": "decorative"
|
|
2364
|
+
}
|
|
2365
|
+
}
|
|
2366
|
+
]
|
|
2367
|
+
}
|
|
2368
|
+
},
|
|
2369
|
+
"modifiers": {
|
|
2370
|
+
"width": 108,
|
|
2371
|
+
"height": 108,
|
|
2372
|
+
"background": {
|
|
2373
|
+
"token": "accentSurface"
|
|
2374
|
+
},
|
|
2375
|
+
"cornerRadius": 16,
|
|
2376
|
+
"hiddenPath": "$item.hasImage"
|
|
2377
|
+
}
|
|
2378
|
+
},
|
|
2379
|
+
{
|
|
2380
|
+
"id": "",
|
|
2381
|
+
"body": {
|
|
2382
|
+
"package": "himalaya",
|
|
2383
|
+
"type": "Text",
|
|
2384
|
+
"props": {
|
|
2385
|
+
"text": "$item.name",
|
|
2386
|
+
"style": "bodyEmphasis",
|
|
2387
|
+
"maxLines": 2
|
|
2388
|
+
}
|
|
2389
|
+
}
|
|
2390
|
+
},
|
|
2391
|
+
{
|
|
2392
|
+
"id": "",
|
|
2393
|
+
"body": {
|
|
2394
|
+
"package": "himalaya",
|
|
2395
|
+
"type": "Text",
|
|
2396
|
+
"props": {
|
|
2397
|
+
"text": "$item.stateLabel",
|
|
2398
|
+
"style": "footnote",
|
|
2399
|
+
"color": "textSecondary",
|
|
2400
|
+
"maxLines": 1
|
|
2401
|
+
}
|
|
2402
|
+
}
|
|
2403
|
+
},
|
|
2404
|
+
{
|
|
2405
|
+
"id": "",
|
|
2406
|
+
"body": {
|
|
2407
|
+
"package": "himalaya",
|
|
2408
|
+
"type": "ProgressBar",
|
|
2409
|
+
"props": {
|
|
2410
|
+
"progress": 0,
|
|
2411
|
+
"progressPath": "$item.progressFraction",
|
|
2412
|
+
"tint": "accentPrimary",
|
|
2413
|
+
"trackColor": "surfaceTertiary"
|
|
2414
|
+
}
|
|
2415
|
+
},
|
|
2416
|
+
"modifiers": {
|
|
2417
|
+
"accessibilityLabel": "$item.name",
|
|
2418
|
+
"accessibilityValue": "$item.stateLabel",
|
|
2419
|
+
"hiddenPath": "$item.hideProgress"
|
|
2420
|
+
}
|
|
2421
|
+
}
|
|
2422
|
+
]
|
|
2423
|
+
}
|
|
2424
|
+
},
|
|
2425
|
+
"modifiers": {
|
|
2426
|
+
"background": {
|
|
2427
|
+
"token": "surfaceElevated"
|
|
2428
|
+
},
|
|
2429
|
+
"border": {
|
|
2430
|
+
"width": 1,
|
|
2431
|
+
"color": {
|
|
2432
|
+
"token": "border"
|
|
2433
|
+
}
|
|
2434
|
+
},
|
|
2435
|
+
"cornerRadius": 8,
|
|
2436
|
+
"padding": {
|
|
2437
|
+
"leading": 10,
|
|
2438
|
+
"trailing": 10,
|
|
2439
|
+
"top": 10,
|
|
2440
|
+
"bottom": 10
|
|
2441
|
+
},
|
|
2442
|
+
"width": 200,
|
|
2443
|
+
"onTap": {
|
|
2444
|
+
"actionId": "himi.open",
|
|
2445
|
+
"params": {
|
|
2446
|
+
"screenId": "himi_program",
|
|
2447
|
+
"id": "$item.id"
|
|
2448
|
+
}
|
|
2449
|
+
},
|
|
2450
|
+
"pressFeedback": "scale",
|
|
2451
|
+
"haptic": "light",
|
|
2452
|
+
"accessibilityLabel": "$item.name"
|
|
2453
|
+
}
|
|
2454
|
+
}
|
|
2455
|
+
]
|
|
2456
|
+
}
|
|
2457
|
+
}
|
|
2458
|
+
}
|
|
2459
|
+
]
|
|
2460
|
+
}
|
|
2461
|
+
},
|
|
2462
|
+
"modifiers": {
|
|
2463
|
+
"hiddenPath": "$service:himiBrandedHome.noMemberPrograms"
|
|
2464
|
+
}
|
|
2273
2465
|
}
|
|
2274
2466
|
]
|
|
2275
2467
|
}
|
|
@@ -35,11 +35,14 @@ export interface LoadFlags {
|
|
|
35
35
|
notMock: boolean;
|
|
36
36
|
notMockEmpty: boolean;
|
|
37
37
|
notMockUnavailable: boolean;
|
|
38
|
+
/** hiddenWhen gate for the empty state: false ONLY when the site answered with no rows
|
|
39
|
+
* (`notMockEmpty` is true then — it gates the sample banner, not the empty state). */
|
|
40
|
+
hideEmpty: boolean;
|
|
38
41
|
}
|
|
39
42
|
|
|
40
43
|
export const LOADING: LoadFlags = {
|
|
41
44
|
status: "loading", error: "", signInRequired: false, notErrored: true, notLoading: false, busy: true, noSignIn: true,
|
|
42
|
-
isMock: false, notMock: true, notMockEmpty: true, notMockUnavailable: true,
|
|
45
|
+
isMock: false, notMock: true, notMockEmpty: true, notMockUnavailable: true, hideEmpty: true,
|
|
43
46
|
};
|
|
44
47
|
|
|
45
48
|
const READY: LoadFlags = { ...LOADING, status: "ready", notLoading: true, busy: false };
|
|
@@ -78,7 +81,7 @@ type Rows<K extends string, T> = { [P in K]: T[] } & { emptyText: string } & Loa
|
|
|
78
81
|
export function loaded<K extends string, T>(key: K, rows: T[], copy: LoadCopy<T>): Rows<K, T> {
|
|
79
82
|
if (rows.length) return { ...READY, [key]: rows, emptyText: "" } as Rows<K, T>;
|
|
80
83
|
if (samplesRequested()) return sampleRows(key, copy, "empty");
|
|
81
|
-
return { ...READY, [key]: [], emptyText: copyParam(`${copy.prefix}.emptyText`, copy.empty) } as Rows<K, T>;
|
|
84
|
+
return { ...READY, [key]: [], emptyText: copyParam(`${copy.prefix}.emptyText`, copy.empty), hideEmpty: false } as Rows<K, T>;
|
|
82
85
|
}
|
|
83
86
|
|
|
84
87
|
/** A query threw. Never rows the customer did not create. */
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import { dispatch } from "@himalaya/dispatch";
|
|
2
2
|
// Relative for node resolution (see himi-store.ts note); rewritten off-repo.
|
|
3
3
|
import { displayName, getMyData, initials, type WixMyData } from "@himalaya/wix-users";
|
|
4
|
+
import { getMyMember } from "@himalaya/wix-members";
|
|
5
|
+
import { wixMediaUrl } from "@himalaya/wix-media";
|
|
4
6
|
import { formatDateMedium, formatWeekdayDateTime } from "../_shared/engine-intl.js";
|
|
5
7
|
|
|
6
8
|
export interface AccountProfile {
|
|
@@ -82,6 +84,31 @@ function profileFromData(data: WixMyData, fallbackEmail = ""): AccountProfile {
|
|
|
82
84
|
};
|
|
83
85
|
}
|
|
84
86
|
|
|
87
|
+
/** The signed-in site member's name and photo from their member record, or undefined when it
|
|
88
|
+
* cannot be read or names nobody (the caller then shows the email). */
|
|
89
|
+
async function siteMemberProfile(email: string): Promise<AccountProfile | undefined> {
|
|
90
|
+
try {
|
|
91
|
+
const member = (await getMyMember({ fieldsets: ["FULL"] }))?.member;
|
|
92
|
+
const name = [member?.contact?.firstName, member?.contact?.lastName].map((part) => (part ?? "").trim()).filter(Boolean).join(" ")
|
|
93
|
+
|| (member?.profile?.nickname ?? "").trim();
|
|
94
|
+
if (!name) return undefined;
|
|
95
|
+
const image = wixMediaUrl(member?.profile?.photo?.url) || wixMediaUrl(member?.profile?.photo?.id) || "";
|
|
96
|
+
return {
|
|
97
|
+
isMember: true,
|
|
98
|
+
identityLine: "Signed in",
|
|
99
|
+
detailLine: email || name,
|
|
100
|
+
memberName: name,
|
|
101
|
+
memberEmail: email || member?.loginEmail || "",
|
|
102
|
+
memberImage: image,
|
|
103
|
+
memberInitials: initialsFromName(name) || "M",
|
|
104
|
+
hasMemberImage: !!image,
|
|
105
|
+
noMemberImage: !image,
|
|
106
|
+
};
|
|
107
|
+
} catch {
|
|
108
|
+
return undefined;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
85
112
|
export function guestProfile(detailLine: string): AccountProfile {
|
|
86
113
|
return {
|
|
87
114
|
isMember: false,
|
|
@@ -118,6 +145,10 @@ export async function loadMemberProfile(guestDetailLine: string): Promise<Accoun
|
|
|
118
145
|
const data = await getMyData();
|
|
119
146
|
return profileFromData(data, storedEmail);
|
|
120
147
|
} catch {
|
|
148
|
+
// The account profile is an owner endpoint: the web host refuses it, and a site member need
|
|
149
|
+
// not have one. The member's own record (the Members API) still names them.
|
|
150
|
+
const member = await siteMemberProfile(storedEmail);
|
|
151
|
+
if (member) return member;
|
|
121
152
|
return {
|
|
122
153
|
isMember: true,
|
|
123
154
|
identityLine: "Signed in",
|