@wix/himalaya-cli 0.1569.0 → 0.1571.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 (159) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/l10n-strings.d.ts +3 -2
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/define-app.d.ts +8 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/auth-providers/wix/src/index.d.ts +7 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/screens/src/business-contact-service.d.ts +17 -0
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/screens/src/business-contact.d.ts +73 -0
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/screens/src/index.d.ts +3 -0
  7. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/screens/src/invite-target.d.ts +1 -0
  8. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/flows/screens/src/invite.d.ts +148 -0
  9. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/extensions.d.ts +6 -3
  10. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/auth.mjs +17 -7
  11. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/core/validation.mjs +17 -7
  12. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/core.mjs +17 -7
  13. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +575 -91
  14. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/state.mjs +17 -7
  15. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-auth.mjs +7 -1
  16. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-blog.mjs +1 -0
  17. package/dist/cli.mjs +1897 -1226
  18. package/dist/preview-assets.generated.bin +0 -0
  19. package/guides/base44-app-to-himi-app.md +1 -1
  20. package/guides/capabilities.md +7 -0
  21. package/guides/getting-started.md +5 -0
  22. package/guides/himi-json-output.md +11 -0
  23. package/guides/himi-skill.md +5 -0
  24. package/guides/one-app-to-himi-app.md +267 -8
  25. package/guides/sdk-reference.json +2 -2
  26. package/guides/skill.md +5 -0
  27. package/guides/splash-screens.md +10 -1
  28. package/guides/tier-5-add-a-screen.md +20 -0
  29. package/guides/trim-a-template.md +5 -0
  30. package/guides/wix-business-context.md +11 -2
  31. package/package.json +2 -2
  32. package/templates/beauty-salon/config.ts +8 -1
  33. package/templates/beauty-salon/dev/index.ts +244 -1
  34. package/templates/beauty-salon/himalaya.content.json +3 -0
  35. package/templates/beauty-salon/tier5-src/_shared/member-read.ts +52 -0
  36. package/templates/beauty-salon/tier5-src/_shared/program-description.ts +11 -0
  37. package/templates/beauty-salon/tier5-src/business-contact/index.ts +6 -0
  38. package/templates/beauty-salon/tier5-src/himi-blog-post/index.ts +35 -12
  39. package/templates/beauty-salon/tier5-src/himi-branded-lite-home/index.ts +3 -3
  40. package/templates/beauty-salon/tier5-src/himi-store-product/index.ts +6 -9
  41. package/templates/beauty-salon-owner/config.ts +1 -1
  42. package/templates/branded-lite/config.ts +8 -1
  43. package/templates/branded-lite/dev/index.ts +409 -2
  44. package/templates/branded-lite/himalaya.content.json +3 -0
  45. package/templates/branded-lite/tier5-src/_shared/member-read.ts +52 -0
  46. package/templates/branded-lite/tier5-src/_shared/program-description.ts +11 -0
  47. package/templates/branded-lite/tier5-src/business-contact/index.ts +6 -0
  48. package/templates/branded-lite/tier5-src/himi-blog-post/index.ts +35 -12
  49. package/templates/branded-lite/tier5-src/himi-branded-lite-home/index.ts +3 -3
  50. package/templates/branded-lite/tier5-src/himi-branded-lite-notifsettings/index.ts +39 -11
  51. package/templates/branded-lite/tier5-src/himi-branded-lite-program/index.ts +16 -14
  52. package/templates/branded-lite/tier5-src/himi-branded-lite-programs/index.ts +3 -7
  53. package/templates/branded-lite/tier5-src/himi-events-my-events/index.ts +76 -42
  54. package/templates/branded-lite/tier5-src/himi-store-product/index.ts +6 -9
  55. package/templates/branded-lite/tier5-src/wix-spaces-chat-thread/index.ts +101 -34
  56. package/templates/branded-lite/tier5-src/wix-spaces-forum-post/index.ts +23 -6
  57. package/templates/branded-lite/tier5-src/wix-spaces-member-detail/index.ts +26 -11
  58. package/templates/community-club/config.ts +8 -1
  59. package/templates/community-club/dev/index.ts +278 -2
  60. package/templates/community-club/himalaya.content.json +3 -0
  61. package/templates/community-club/tier5-src/_shared/branded-load-state.ts +106 -0
  62. package/templates/community-club/tier5-src/_shared/member-read.ts +52 -0
  63. package/templates/community-club/tier5-src/_shared/program-description.ts +11 -0
  64. package/templates/community-club/tier5-src/business-contact/index.ts +6 -0
  65. package/templates/community-club/tier5-src/himi-blog-post/index.ts +35 -12
  66. package/templates/community-club/tier5-src/himi-branded-lite-home/index.ts +3 -3
  67. package/templates/community-club/tier5-src/himi-events-my-events/index.ts +76 -42
  68. package/templates/community-club-owner/config.ts +1 -1
  69. package/templates/events-meetups/config.ts +8 -1
  70. package/templates/events-meetups/dev/index.ts +278 -2
  71. package/templates/events-meetups/himalaya.content.json +3 -0
  72. package/templates/events-meetups/tier5-src/_shared/branded-load-state.ts +106 -0
  73. package/templates/events-meetups/tier5-src/_shared/member-read.ts +52 -0
  74. package/templates/events-meetups/tier5-src/_shared/program-description.ts +11 -0
  75. package/templates/events-meetups/tier5-src/business-contact/index.ts +6 -0
  76. package/templates/events-meetups/tier5-src/himi-blog-post/index.ts +35 -12
  77. package/templates/events-meetups/tier5-src/himi-branded-lite-home/index.ts +3 -3
  78. package/templates/events-meetups/tier5-src/himi-events-my-events/index.ts +76 -42
  79. package/templates/events-meetups-owner/config.ts +1 -1
  80. package/templates/gym-fitness/config.ts +8 -1
  81. package/templates/gym-fitness/dev/index.ts +278 -2
  82. package/templates/gym-fitness/himalaya.content.json +3 -0
  83. package/templates/gym-fitness/tier5-src/_shared/member-read.ts +52 -0
  84. package/templates/gym-fitness/tier5-src/_shared/program-description.ts +11 -0
  85. package/templates/gym-fitness/tier5-src/business-contact/index.ts +6 -0
  86. package/templates/gym-fitness/tier5-src/himi-blog-post/index.ts +35 -12
  87. package/templates/gym-fitness/tier5-src/himi-branded-lite-home/index.ts +3 -3
  88. package/templates/gym-fitness/tier5-src/himi-events-my-events/index.ts +76 -42
  89. package/templates/gym-fitness/tier5-src/himi-store-product/index.ts +6 -9
  90. package/templates/gym-fitness-owner/config.ts +1 -1
  91. package/templates/nonprofit-cause/config.ts +8 -1
  92. package/templates/nonprofit-cause/dev/index.ts +278 -2
  93. package/templates/nonprofit-cause/himalaya.content.json +3 -0
  94. package/templates/nonprofit-cause/tier5-src/_shared/branded-load-state.ts +106 -0
  95. package/templates/nonprofit-cause/tier5-src/_shared/member-read.ts +52 -0
  96. package/templates/nonprofit-cause/tier5-src/_shared/program-description.ts +11 -0
  97. package/templates/nonprofit-cause/tier5-src/business-contact/index.ts +6 -0
  98. package/templates/nonprofit-cause/tier5-src/himi-blog-post/index.ts +35 -12
  99. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-home/index.ts +3 -3
  100. package/templates/nonprofit-cause/tier5-src/himi-events-my-events/index.ts +76 -42
  101. package/templates/nonprofit-cause-owner/config.ts +1 -1
  102. package/templates/owner-lite/config.ts +1 -1
  103. package/templates/podcast-creator/config.ts +8 -1
  104. package/templates/podcast-creator/dev/index.ts +278 -2
  105. package/templates/podcast-creator/himalaya.content.json +3 -0
  106. package/templates/podcast-creator/tier5-src/_shared/branded-load-state.ts +106 -0
  107. package/templates/podcast-creator/tier5-src/_shared/member-read.ts +52 -0
  108. package/templates/podcast-creator/tier5-src/_shared/program-description.ts +11 -0
  109. package/templates/podcast-creator/tier5-src/business-contact/index.ts +6 -0
  110. package/templates/podcast-creator/tier5-src/himi-blog-post/index.ts +35 -12
  111. package/templates/podcast-creator/tier5-src/himi-branded-lite-home/index.ts +3 -3
  112. package/templates/podcast-creator/tier5-src/himi-events-my-events/index.ts +76 -42
  113. package/templates/podcast-creator-owner/config.ts +1 -1
  114. package/templates/portfolio-creative/config.ts +8 -1
  115. package/templates/portfolio-creative/dev/index.ts +278 -2
  116. package/templates/portfolio-creative/himalaya.content.json +3 -0
  117. package/templates/portfolio-creative/tier5-src/_shared/branded-load-state.ts +106 -0
  118. package/templates/portfolio-creative/tier5-src/_shared/member-read.ts +52 -0
  119. package/templates/portfolio-creative/tier5-src/_shared/program-description.ts +11 -0
  120. package/templates/portfolio-creative/tier5-src/business-contact/index.ts +6 -0
  121. package/templates/portfolio-creative/tier5-src/himi-blog-post/index.ts +35 -12
  122. package/templates/portfolio-creative/tier5-src/himi-branded-lite-home/index.ts +3 -3
  123. package/templates/portfolio-creative/tier5-src/himi-events-my-events/index.ts +76 -42
  124. package/templates/portfolio-creative/tier5-src/himi-store-product/index.ts +6 -9
  125. package/templates/portfolio-creative-owner/config.ts +1 -1
  126. package/templates/restaurant/config.ts +8 -1
  127. package/templates/restaurant/dev/index.ts +278 -2
  128. package/templates/restaurant/himalaya.content.json +3 -0
  129. package/templates/restaurant/tier5-src/_shared/branded-load-state.ts +106 -0
  130. package/templates/restaurant/tier5-src/_shared/member-read.ts +52 -0
  131. package/templates/restaurant/tier5-src/_shared/program-description.ts +11 -0
  132. package/templates/restaurant/tier5-src/business-contact/index.ts +6 -0
  133. package/templates/restaurant/tier5-src/himi-blog-post/index.ts +35 -12
  134. package/templates/restaurant/tier5-src/himi-branded-lite-home/index.ts +3 -3
  135. package/templates/restaurant/tier5-src/himi-events-my-events/index.ts +76 -42
  136. package/templates/restaurant-owner/config.ts +1 -1
  137. package/templates/retail-store/config.ts +8 -1
  138. package/templates/retail-store/dev/index.ts +244 -1
  139. package/templates/retail-store/himalaya.content.json +3 -0
  140. package/templates/retail-store/tier5-src/_shared/branded-load-state.ts +106 -0
  141. package/templates/retail-store/tier5-src/_shared/member-read.ts +52 -0
  142. package/templates/retail-store/tier5-src/_shared/program-description.ts +11 -0
  143. package/templates/retail-store/tier5-src/business-contact/index.ts +6 -0
  144. package/templates/retail-store/tier5-src/himi-blog-post/index.ts +35 -12
  145. package/templates/retail-store/tier5-src/himi-branded-lite-home/index.ts +3 -3
  146. package/templates/retail-store/tier5-src/himi-store-product/index.ts +6 -9
  147. package/templates/retail-store-owner/config.ts +1 -1
  148. package/templates/yoga-studio/config.ts +8 -1
  149. package/templates/yoga-studio/dev/index.ts +306 -2
  150. package/templates/yoga-studio/himalaya.content.json +3 -0
  151. package/templates/yoga-studio/tier5-src/_shared/member-read.ts +52 -0
  152. package/templates/yoga-studio/tier5-src/_shared/program-description.ts +11 -0
  153. package/templates/yoga-studio/tier5-src/business-contact/index.ts +6 -0
  154. package/templates/yoga-studio/tier5-src/himi-blog-post/index.ts +35 -12
  155. package/templates/yoga-studio/tier5-src/himi-branded-lite-home/index.ts +3 -3
  156. package/templates/yoga-studio/tier5-src/himi-branded-lite-program/index.ts +16 -14
  157. package/templates/yoga-studio/tier5-src/himi-branded-lite-programs/index.ts +3 -7
  158. package/templates/yoga-studio/tier5-src/himi-events-my-events/index.ts +76 -42
  159. package/templates/yoga-studio-owner/config.ts +1 -1
@@ -8117,6 +8117,252 @@ const SCREENS = runtimeSetting({
8117
8117
  "bundleVersion": "0.0.1"
8118
8118
  }
8119
8119
  },
8120
+ "himi_business_contact": {
8121
+ "screenId": "himi_business_contact",
8122
+ "title": "Business contact",
8123
+ "renderer": "sdui_intent",
8124
+ "schemaVersion": 1,
8125
+ "cacheControl": {
8126
+ "maxAge": 0,
8127
+ "staleWhileRevalidate": 0
8128
+ },
8129
+ "payload": {
8130
+ "id": "himi_business_contact.root",
8131
+ "body": {
8132
+ "package": "himalaya",
8133
+ "type": "VStack",
8134
+ "props": {
8135
+ "spacing": 16,
8136
+ "alignment": "leading",
8137
+ "children": [
8138
+ {
8139
+ "id": "himi_business_contact.section",
8140
+ "body": {
8141
+ "package": "himalaya",
8142
+ "type": "VStack",
8143
+ "props": {
8144
+ "spacing": 12,
8145
+ "alignment": "leading",
8146
+ "children": [
8147
+ {
8148
+ "id": "himi_business_contact.section.title",
8149
+ "body": {
8150
+ "package": "himalaya",
8151
+ "type": "Text",
8152
+ "props": {
8153
+ "text": "Get in touch",
8154
+ "style": "title3",
8155
+ "collapseWhenEmpty": true
8156
+ }
8157
+ }
8158
+ },
8159
+ {
8160
+ "id": "himi_business_contact.section.message",
8161
+ "body": {
8162
+ "package": "himalaya",
8163
+ "type": "Button",
8164
+ "props": {
8165
+ "title": "Message",
8166
+ "style": "primary",
8167
+ "fullWidth": true,
8168
+ "action": {
8169
+ "actionId": "himi.open",
8170
+ "params": {
8171
+ "screenId": "himi_business_chat"
8172
+ }
8173
+ }
8174
+ }
8175
+ }
8176
+ },
8177
+ {
8178
+ "id": "himi_business_contact.section.directions_copy",
8179
+ "body": {
8180
+ "package": "himalaya",
8181
+ "type": "Text",
8182
+ "props": {
8183
+ "text": "Directions",
8184
+ "style": "body",
8185
+ "collapseWhenEmpty": true
8186
+ }
8187
+ },
8188
+ "modifiers": {
8189
+ "hidden": true
8190
+ }
8191
+ },
8192
+ {
8193
+ "id": "himi_business_contact.section.unavailable",
8194
+ "body": {
8195
+ "package": "himalaya",
8196
+ "type": "Text",
8197
+ "props": {
8198
+ "text": "Contact details unavailable",
8199
+ "style": "body",
8200
+ "collapseWhenEmpty": true
8201
+ }
8202
+ },
8203
+ "modifiers": {
8204
+ "hidden": true
8205
+ }
8206
+ },
8207
+ {
8208
+ "id": "himi_business_contact.section.member_count",
8209
+ "body": {
8210
+ "package": "himalaya",
8211
+ "type": "FragmentSlot",
8212
+ "props": {
8213
+ "casePath": "$service:businessContact.memberCountCase",
8214
+ "defaultCase": "unavailable",
8215
+ "cases": [
8216
+ {
8217
+ "id": "one",
8218
+ "content": {
8219
+ "id": "himi_business_contact.section.members_one",
8220
+ "body": {
8221
+ "package": "himalaya",
8222
+ "type": "HStack",
8223
+ "props": {
8224
+ "spacing": 4,
8225
+ "alignment": "center",
8226
+ "children": [
8227
+ {
8228
+ "id": "himi_business_contact.section.count_one",
8229
+ "body": {
8230
+ "package": "himalaya",
8231
+ "type": "Text",
8232
+ "props": {
8233
+ "text": "$service:businessContact.memberCount",
8234
+ "style": "footnote",
8235
+ "collapseWhenEmpty": true
8236
+ }
8237
+ }
8238
+ },
8239
+ {
8240
+ "id": "himi_business_contact.section.unit_one",
8241
+ "body": {
8242
+ "package": "himalaya",
8243
+ "type": "Text",
8244
+ "props": {
8245
+ "text": "member",
8246
+ "style": "footnote",
8247
+ "collapseWhenEmpty": true
8248
+ }
8249
+ }
8250
+ }
8251
+ ]
8252
+ }
8253
+ }
8254
+ }
8255
+ },
8256
+ {
8257
+ "id": "other",
8258
+ "content": {
8259
+ "id": "himi_business_contact.section.members_other",
8260
+ "body": {
8261
+ "package": "himalaya",
8262
+ "type": "HStack",
8263
+ "props": {
8264
+ "spacing": 4,
8265
+ "alignment": "center",
8266
+ "children": [
8267
+ {
8268
+ "id": "himi_business_contact.section.count_other",
8269
+ "body": {
8270
+ "package": "himalaya",
8271
+ "type": "Text",
8272
+ "props": {
8273
+ "text": "$service:businessContact.memberCount",
8274
+ "style": "footnote",
8275
+ "collapseWhenEmpty": true
8276
+ }
8277
+ }
8278
+ },
8279
+ {
8280
+ "id": "himi_business_contact.section.unit_other",
8281
+ "body": {
8282
+ "package": "himalaya",
8283
+ "type": "Text",
8284
+ "props": {
8285
+ "text": "members",
8286
+ "style": "footnote",
8287
+ "collapseWhenEmpty": true
8288
+ }
8289
+ }
8290
+ }
8291
+ ]
8292
+ }
8293
+ }
8294
+ }
8295
+ },
8296
+ {
8297
+ "id": "unavailable",
8298
+ "content": {
8299
+ "id": "himi_business_contact.section.members_unavailable",
8300
+ "body": {
8301
+ "package": "himalaya",
8302
+ "type": "Text",
8303
+ "props": {
8304
+ "text": "Member count unavailable",
8305
+ "style": "footnote",
8306
+ "collapseWhenEmpty": true
8307
+ }
8308
+ }
8309
+ }
8310
+ }
8311
+ ]
8312
+ }
8313
+ },
8314
+ "modifiers": {
8315
+ "hidden": true
8316
+ }
8317
+ },
8318
+ {
8319
+ "id": "himi_business_contact.section.feedback",
8320
+ "body": {
8321
+ "package": "himalaya",
8322
+ "type": "Text",
8323
+ "props": {
8324
+ "text": "$service:businessContact.message",
8325
+ "style": "footnote",
8326
+ "collapseWhenEmpty": true
8327
+ }
8328
+ }
8329
+ }
8330
+ ]
8331
+ }
8332
+ }
8333
+ }
8334
+ ]
8335
+ }
8336
+ },
8337
+ "modifiers": {
8338
+ "background": {
8339
+ "token": "surfacePrimary"
8340
+ },
8341
+ "padding": {
8342
+ "leading": 20,
8343
+ "trailing": 20,
8344
+ "top": 18,
8345
+ "bottom": 28
8346
+ },
8347
+ "onAppear": {
8348
+ "actionId": "tier5.businessContact.load",
8349
+ "args": {
8350
+ "showMemberCount": false
8351
+ }
8352
+ }
8353
+ }
8354
+ },
8355
+ "logicBundle": {
8356
+ "url": "http://localhost:8190/v1/bundles/business-contact?integrity=",
8357
+ "integrity": "",
8358
+ "contentType": "application/javascript+ts-bundle",
8359
+ "declaredCapabilities": [
8360
+ "open_url"
8361
+ ],
8362
+ "minBinaryVersion": "0.1.0",
8363
+ "bundleVersion": "0.0.1"
8364
+ }
8365
+ },
8120
8366
  "himi_appearance": {
8121
8367
  "screenId": "himi_appearance",
8122
8368
  "renderer": "sdui_intent",
@@ -36768,6 +37014,29 @@ const SCREENS = runtimeSetting({
36768
37014
  ]
36769
37015
  }
36770
37016
  }
37017
+ },
37018
+ {
37019
+ "id": "himi_member.sign_in",
37020
+ "body": {
37021
+ "package": "himalaya",
37022
+ "type": "Button",
37023
+ "props": {
37024
+ "title": "Sign in",
37025
+ "style": "primary",
37026
+ "action": {
37027
+ "actionId": "himi.open",
37028
+ "params": {
37029
+ "screenId": "himi_sign_in",
37030
+ "mode": "signin",
37031
+ "modal": "1"
37032
+ },
37033
+ "presentation": "sheet"
37034
+ }
37035
+ }
37036
+ },
37037
+ "modifiers": {
37038
+ "hiddenPath": "$service:spacesMemberDetail.noSignIn"
37039
+ }
36771
37040
  }
36772
37041
  ]
36773
37042
  }
@@ -37285,6 +37554,7 @@ const SCREENS = runtimeSetting({
37285
37554
  }
37286
37555
  },
37287
37556
  "modifiers": {
37557
+ "hiddenPath": "$service:spacesChatThread.signInRequired",
37288
37558
  "padding": {
37289
37559
  "leading": 16,
37290
37560
  "trailing": 16,
@@ -37292,6 +37562,29 @@ const SCREENS = runtimeSetting({
37292
37562
  "bottom": 0
37293
37563
  }
37294
37564
  }
37565
+ },
37566
+ {
37567
+ "id": "himi_chat_thread.sign_in",
37568
+ "body": {
37569
+ "package": "himalaya",
37570
+ "type": "Button",
37571
+ "props": {
37572
+ "title": "Sign in",
37573
+ "style": "primary",
37574
+ "action": {
37575
+ "actionId": "himi.open",
37576
+ "params": {
37577
+ "screenId": "himi_sign_in",
37578
+ "mode": "signin",
37579
+ "modal": "1"
37580
+ },
37581
+ "presentation": "sheet"
37582
+ }
37583
+ }
37584
+ },
37585
+ "modifiers": {
37586
+ "hiddenPath": "$service:spacesChatThread.noSignIn"
37587
+ }
37295
37588
  }
37296
37589
  ]
37297
37590
  }
@@ -56970,6 +57263,29 @@ const SCREENS = runtimeSetting({
56970
57263
  ]
56971
57264
  }
56972
57265
  }
57266
+ },
57267
+ {
57268
+ "id": "himi_forum_post.sign_in",
57269
+ "body": {
57270
+ "package": "himalaya",
57271
+ "type": "Button",
57272
+ "props": {
57273
+ "title": "Sign in",
57274
+ "style": "primary",
57275
+ "action": {
57276
+ "actionId": "himi.open",
57277
+ "params": {
57278
+ "screenId": "himi_sign_in",
57279
+ "mode": "signin",
57280
+ "modal": "1"
57281
+ },
57282
+ "presentation": "sheet"
57283
+ }
57284
+ }
57285
+ },
57286
+ "modifiers": {
57287
+ "hiddenPath": "$service:spacesForumPost.noSignIn"
57288
+ }
56973
57289
  }
56974
57290
  ]
56975
57291
  }
@@ -60147,6 +60463,9 @@ const SCREENS = runtimeSetting({
60147
60463
  "style": "body",
60148
60464
  "color": "textSecondary"
60149
60465
  }
60466
+ },
60467
+ "modifiers": {
60468
+ "hiddenPath": "$service:himiMyEvents.signInRequired"
60150
60469
  }
60151
60470
  },
60152
60471
  {
@@ -60161,6 +60480,32 @@ const SCREENS = runtimeSetting({
60161
60480
  "actionId": "tier5.himiMyEvents.load"
60162
60481
  }
60163
60482
  }
60483
+ },
60484
+ "modifiers": {
60485
+ "hiddenPath": "$service:himiMyEvents.signInRequired"
60486
+ }
60487
+ },
60488
+ {
60489
+ "id": "himi_my_events.retry.sign_in",
60490
+ "body": {
60491
+ "package": "himalaya",
60492
+ "type": "Button",
60493
+ "props": {
60494
+ "title": "Sign in",
60495
+ "style": "primary",
60496
+ "action": {
60497
+ "actionId": "himi.open",
60498
+ "params": {
60499
+ "screenId": "himi_sign_in",
60500
+ "mode": "signin",
60501
+ "modal": "1"
60502
+ },
60503
+ "presentation": "sheet"
60504
+ }
60505
+ }
60506
+ },
60507
+ "modifiers": {
60508
+ "hiddenPath": "$service:himiMyEvents.noSignIn"
60164
60509
  }
60165
60510
  }
60166
60511
  ]
@@ -60591,7 +60936,11 @@ const SCREENS = runtimeSetting({
60591
60936
  "bottom": 24
60592
60937
  },
60593
60938
  "onAppear": {
60594
- "actionId": "tier5.himiMyEvents.load"
60939
+ "actionId": "tier5.himiMyEvents.load",
60940
+ "params": {
60941
+ "signInScreenId": "himi_sign_in",
60942
+ "memberOnly": "1"
60943
+ }
60595
60944
  }
60596
60945
  }
60597
60946
  },
@@ -98821,6 +99170,31 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
98821
99170
  "hiddenPath": "$service:himiBrandedProgram.hidePriceRetry"
98822
99171
  }
98823
99172
  },
99173
+ {
99174
+ "id": "himi_program.description_rich",
99175
+ "body": {
99176
+ "package": "himalaya",
99177
+ "type": "RichContent",
99178
+ "props": {
99179
+ "documentJsonPath": "$service:himiBrandedProgram.descriptionJson",
99180
+ "onLink": {
99181
+ "actionId": "tier5.himiBrandedProgram.openLink"
99182
+ },
99183
+ "fallback": {
99184
+ "id": "",
99185
+ "body": {
99186
+ "package": "himalaya",
99187
+ "type": "Text",
99188
+ "props": {
99189
+ "text": "$service:himiBrandedProgram.description",
99190
+ "style": "body",
99191
+ "color": "textSecondary"
99192
+ }
99193
+ }
99194
+ }
99195
+ }
99196
+ }
99197
+ },
98824
99198
  {
98825
99199
  "id": "",
98826
99200
  "body": {
@@ -98832,6 +99206,9 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
98832
99206
  "color": "textSecondary",
98833
99207
  "collapseWhenEmpty": true
98834
99208
  }
99209
+ },
99210
+ "modifiers": {
99211
+ "hiddenPath": "$service:himiBrandedProgram.hasDescriptionJson"
98835
99212
  }
98836
99213
  }
98837
99214
  ]
@@ -102627,6 +103004,9 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
102627
103004
  "style": "body",
102628
103005
  "color": "textSecondary"
102629
103006
  }
103007
+ },
103008
+ "modifiers": {
103009
+ "hiddenPath": "$service:himiBlogPost.signInRequired"
102630
103010
  }
102631
103011
  },
102632
103012
  {
@@ -102641,6 +103021,32 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
102641
103021
  "actionId": "tier5.himiBlogPost.retry"
102642
103022
  }
102643
103023
  }
103024
+ },
103025
+ "modifiers": {
103026
+ "hiddenPath": "$service:himiBlogPost.signInRequired"
103027
+ }
103028
+ },
103029
+ {
103030
+ "id": "himi_blog_post.retry.sign_in",
103031
+ "body": {
103032
+ "package": "himalaya",
103033
+ "type": "Button",
103034
+ "props": {
103035
+ "title": "Sign in",
103036
+ "style": "primary",
103037
+ "action": {
103038
+ "actionId": "himi.open",
103039
+ "params": {
103040
+ "screenId": "himi_sign_in",
103041
+ "mode": "signin",
103042
+ "modal": "1"
103043
+ },
103044
+ "presentation": "sheet"
103045
+ }
103046
+ }
103047
+ },
103048
+ "modifiers": {
103049
+ "hiddenPath": "$service:himiBlogPost.noSignIn"
102644
103050
  }
102645
103051
  }
102646
103052
  ]
@@ -103345,7 +103751,8 @@ const TEMPLATED: { pattern: string; display: string; liveSeed?: LiveSeed; static
103345
103751
  "onAppear": {
103346
103752
  "actionId": "tier5.himiBlogPost.load",
103347
103753
  "params": {
103348
- "id": "__HIMI_ID__"
103754
+ "id": "__HIMI_ID__",
103755
+ "signInScreenId": "himi_sign_in"
103349
103756
  }
103350
103757
  }
103351
103758
  }
@@ -49,6 +49,9 @@
49
49
  "himi_business_chat": {
50
50
  "displayName": "Inbox"
51
51
  },
52
+ "himi_business_contact": {
53
+ "displayName": "Business contact"
54
+ },
52
55
  "himi_cart": {
53
56
  "displayName": "Cart"
54
57
  },
@@ -0,0 +1,52 @@
1
+ import { memberAccess, memberAccessChanged, memberAccessDenied, type MemberAccess } from "./member-access.js";
2
+ import { needsSignIn } from "./branded-load-state.js";
3
+
4
+ /** Public reads stay public. Capture their reader only to reject a result that
5
+ * belongs to the identity/site which was active before the request. */
6
+ export interface ReadAccess { member: MemberAccess; tenant: string; }
7
+ export async function readAccess(): Promise<ReadAccess> {
8
+ const member = await memberAccess();
9
+ const input = (globalThis as { himalaya?: { input?: Record<string, unknown> } }).himalaya?.input;
10
+ return { member, tenant: JSON.stringify([input?.__himiPreferenceAccount ?? "", input?.__himiPreferenceBusiness ?? ""]) };
11
+ }
12
+
13
+ export async function assertReadAccess(access: ReadAccess): Promise<void> {
14
+ const current = await readAccess();
15
+ if (current.member.email !== access.member.email || current.member.scope !== access.member.scope || current.tenant !== access.tenant) throw memberAccessChanged();
16
+ }
17
+
18
+ /** Bridge errors put the actual status first; codes quoted inside the body are data. */
19
+ function httpStatus(error: unknown): string | undefined {
20
+ return /^HTTP\s*(\d{3})\b/i.exec(String((error as { message?: unknown })?.message ?? error))?.[1];
21
+ }
22
+
23
+ export const NO_READ_SIGN_IN = { signInRequired: false, noSignIn: true };
24
+
25
+ /** An authorization refusal must not fall back to a previously cached article. */
26
+ export function readAccessDenied(error: unknown): boolean {
27
+ let cause = error;
28
+ for (let depth = 0; cause && depth < 4; depth++) {
29
+ const status = httpStatus(cause);
30
+ if (status ? status === "401" || status === "403" : memberAccessDenied(cause) || needsSignIn(cause)) return true;
31
+ cause = (cause as { cause?: unknown }).cause;
32
+ }
33
+ return false;
34
+ }
35
+
36
+ /** A permission failure alone says nothing about whether signing in can help.
37
+ * In particular, a private member profile can be unavailable to members too.
38
+ * Only an authentication refusal for a current visitor offers Sign in. Follow
39
+ * SDK wrapper causes (blog getPost preserves its original read error there). */
40
+ export async function readSignInFlags(error: unknown): Promise<typeof NO_READ_SIGN_IN> {
41
+ let authenticationRequired = false;
42
+ let permissionRefused = false;
43
+ let cause = error;
44
+ for (let depth = 0; cause && depth < 4; depth++) {
45
+ const status = httpStatus(cause);
46
+ permissionRefused ||= status === "403";
47
+ authenticationRequired ||= status ? status === "401" : needsSignIn(cause);
48
+ cause = (cause as { cause?: unknown }).cause;
49
+ }
50
+ const signInRequired = !permissionRefused && authenticationRequired && !(await memberAccess()).email;
51
+ return { signInRequired, noSignIn: !signInRequired };
52
+ }
@@ -0,0 +1,11 @@
1
+ import type { WixProgram } from "@himalaya/wix-online-programs";
2
+
3
+ /** v3 nests the body in description.details; older responses use settings or a
4
+ * flat description. The body itself may be a Ricos document or serialized text. */
5
+ export function programDescription(program: WixProgram): unknown {
6
+ const raw = (program as { description?: unknown }).description;
7
+ const nested = raw && typeof raw === "object" ? raw as { details?: unknown; nodes?: unknown } : undefined;
8
+ return program.settings?.description ?? nested?.details
9
+ ?? (typeof raw === "string" || Array.isArray(nested?.nodes) ? raw : undefined)
10
+ ?? program.details?.description;
11
+ }
@@ -0,0 +1,6 @@
1
+ import { createBusinessContactService } from "@himalaya/screens";
2
+
3
+ // Contact values and the optional public total are build-time source evidence.
4
+ // No owner API, device location, or cross-site source URL is read by this worker.
5
+ const svc = createBusinessContactService();
6
+ export { svc };