@wix/himalaya-cli 0.1582.0 → 0.1584.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 (336) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/dev-server/src/builder.d.ts +8 -0
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/schema.d.ts +26 -2
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/ts/src/validator.d.ts +18 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/extensions.d.ts +2 -0
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/comments-v1/src/extensions.d.ts +2 -0
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/events/src/index.d.ts +3 -0
  7. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/extensions.d.ts +15 -0
  8. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/loyalty/src/extensions.d.ts +13 -0
  9. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/members-v1/src/index.d.ts +19 -4
  10. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/core.mjs +5 -1
  11. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/sdui.mjs +5 -1
  12. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-comments.mjs +3 -0
  13. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-events.mjs +4 -2
  14. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-groups.mjs +5 -0
  15. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-loyalty.mjs +4 -0
  16. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-members.mjs +10 -3
  17. package/dist/cli.mjs +1098 -702
  18. package/dist/preview-assets.generated.bin +0 -0
  19. package/fixtures/wix-canned.json +25 -0
  20. package/guides/component-reference.json +4 -3
  21. package/guides/component-reference.md +24 -2
  22. package/guides/one-app-to-himi-app.md +52 -1
  23. package/guides/sdk-reference.json +37 -9
  24. package/guides/wix-api-usage.md +9 -0
  25. package/package.json +2 -2
  26. package/templates/beauty-salon/config.ts +27 -1
  27. package/templates/beauty-salon/dev/index.ts +2285 -757
  28. package/templates/beauty-salon/himalaya.content.json +3 -0
  29. package/templates/beauty-salon/tier5-src/_shared/booking-location.ts +147 -0
  30. package/templates/beauty-salon/tier5-src/_shared/booking-session.ts +222 -0
  31. package/templates/beauty-salon/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  32. package/templates/beauty-salon/tier5-src/_shared/collection-contract.ts +19 -3
  33. package/templates/beauty-salon/tier5-src/_shared/himi-restaurants.ts +2 -1
  34. package/templates/beauty-salon/tier5-src/_shared/owner-editor-value.ts +164 -0
  35. package/templates/beauty-salon/tier5-src/_shared/store-product-info.ts +50 -0
  36. package/templates/beauty-salon/tier5-src/himi-blog-post/index.ts +21 -8
  37. package/templates/beauty-salon/tier5-src/himi-booking-service/index.ts +277 -14
  38. package/templates/beauty-salon/tier5-src/himi-booking-services/index.ts +351 -92
  39. package/templates/beauty-salon/tier5-src/himi-booking-time/index.ts +25 -5
  40. package/templates/beauty-salon/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
  41. package/templates/beauty-salon/tier5-src/himi-branded-lite-category/index.ts +3 -2
  42. package/templates/beauty-salon/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  43. package/templates/beauty-salon/tier5-src/himi-branded-lite-plans/index.ts +2 -1
  44. package/templates/beauty-salon/tier5-src/himi-store-product/index.ts +14 -3
  45. package/templates/beauty-salon/tier5-src/wix-spaces-plan-detail/index.ts +2 -1
  46. package/templates/beauty-salon/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  47. package/templates/beauty-salon-owner/dev/index.ts +129 -66
  48. package/templates/beauty-salon-owner/tier5-src/_shared/collection-contract.ts +19 -3
  49. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  50. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-product/index.ts +39 -6
  51. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  52. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-products/index.ts +7 -4
  53. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-service/index.ts +38 -7
  54. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-service-form/index.ts +53 -7
  55. package/templates/beauty-salon-owner/tier5-src/himi-owner-lite-services/index.ts +4 -2
  56. package/templates/branded-lite/config.ts +29 -1
  57. package/templates/branded-lite/dev/index.ts +8371 -5565
  58. package/templates/branded-lite/himalaya.content.json +3 -0
  59. package/templates/branded-lite/l10n/en.json +2 -2
  60. package/templates/branded-lite/tier5-src/_shared/booking-location.ts +147 -0
  61. package/templates/branded-lite/tier5-src/_shared/booking-session.ts +222 -0
  62. package/templates/branded-lite/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  63. package/templates/branded-lite/tier5-src/_shared/collection-contract.ts +19 -3
  64. package/templates/branded-lite/tier5-src/_shared/event-registration.ts +86 -0
  65. package/templates/branded-lite/tier5-src/_shared/himi-restaurants.ts +2 -1
  66. package/templates/branded-lite/tier5-src/_shared/owner-editor-value.ts +164 -0
  67. package/templates/branded-lite/tier5-src/_shared/store-product-info.ts +50 -0
  68. package/templates/branded-lite/tier5-src/himi-blog-post/index.ts +21 -8
  69. package/templates/branded-lite/tier5-src/himi-booking-service/index.ts +277 -14
  70. package/templates/branded-lite/tier5-src/himi-booking-services/index.ts +351 -92
  71. package/templates/branded-lite/tier5-src/himi-booking-time/index.ts +25 -5
  72. package/templates/branded-lite/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
  73. package/templates/branded-lite/tier5-src/himi-branded-lite-badges/index.ts +2 -1
  74. package/templates/branded-lite/tier5-src/himi-branded-lite-category/index.ts +3 -2
  75. package/templates/branded-lite/tier5-src/himi-branded-lite-feed/index.ts +4 -3
  76. package/templates/branded-lite/tier5-src/himi-branded-lite-group-about/index.ts +243 -0
  77. package/templates/branded-lite/tier5-src/himi-branded-lite-loyalty/index.ts +115 -49
  78. package/templates/branded-lite/tier5-src/himi-branded-lite-plans/index.ts +2 -1
  79. package/templates/branded-lite/tier5-src/himi-branded-lite-podcasts/index.ts +2 -1
  80. package/templates/branded-lite/tier5-src/himi-branded-lite-portfolio/index.ts +2 -1
  81. package/templates/branded-lite/tier5-src/himi-branded-lite-portfolio-project/index.ts +3 -2
  82. package/templates/branded-lite/tier5-src/himi-branded-lite-program/facts.ts +52 -0
  83. package/templates/branded-lite/tier5-src/himi-branded-lite-program/index.ts +21 -11
  84. package/templates/branded-lite/tier5-src/himi-branded-lite-video/index.ts +2 -1
  85. package/templates/branded-lite/tier5-src/himi-events-detail/index.ts +12 -86
  86. package/templates/branded-lite/tier5-src/himi-events-list/index.ts +47 -6
  87. package/templates/branded-lite/tier5-src/himi-store-product/index.ts +13 -3
  88. package/templates/branded-lite/tier5-src/wix-spaces-forum-post/index.ts +3 -2
  89. package/templates/branded-lite/tier5-src/wix-spaces-member-detail/index.ts +53 -37
  90. package/templates/branded-lite/tier5-src/wix-spaces-members/index.ts +100 -34
  91. package/templates/branded-lite/tier5-src/wix-spaces-plan-detail/index.ts +2 -1
  92. package/templates/branded-lite/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  93. package/templates/community-club/config.ts +36 -1
  94. package/templates/community-club/dev/index.ts +1930 -401
  95. package/templates/community-club/himalaya.content.json +6 -0
  96. package/templates/community-club/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  97. package/templates/community-club/tier5-src/_shared/collection-contract.ts +19 -3
  98. package/templates/community-club/tier5-src/_shared/event-registration.ts +86 -0
  99. package/templates/community-club/tier5-src/_shared/himi-restaurants.ts +2 -1
  100. package/templates/community-club/tier5-src/himi-blog-post/index.ts +21 -8
  101. package/templates/community-club/tier5-src/himi-branded-lite-feed/index.ts +4 -3
  102. package/templates/community-club/tier5-src/himi-branded-lite-group-about/index.ts +243 -0
  103. package/templates/community-club/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  104. package/templates/community-club/tier5-src/himi-events-detail/index.ts +12 -86
  105. package/templates/community-club/tier5-src/himi-events-list/index.ts +47 -6
  106. package/templates/community-club/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  107. package/templates/community-club-owner/dev/index.ts +53 -1
  108. package/templates/community-club-owner/tier5-src/_shared/collection-contract.ts +19 -3
  109. package/templates/community-club-owner/tier5-src/himi-owner-lite-event/index.ts +16 -8
  110. package/templates/community-club-owner/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  111. package/templates/community-club-owner/tier5-src/himi-owner-lite-events/index.ts +4 -2
  112. package/templates/community-club-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  113. package/templates/community-club-owner/tier5-src/himi-owner-lite-product/index.ts +39 -6
  114. package/templates/community-club-owner/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  115. package/templates/community-club-owner/tier5-src/himi-owner-lite-products/index.ts +7 -4
  116. package/templates/events-meetups/config.ts +36 -1
  117. package/templates/events-meetups/dev/index.ts +1930 -401
  118. package/templates/events-meetups/himalaya.content.json +6 -0
  119. package/templates/events-meetups/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  120. package/templates/events-meetups/tier5-src/_shared/collection-contract.ts +19 -3
  121. package/templates/events-meetups/tier5-src/_shared/event-registration.ts +86 -0
  122. package/templates/events-meetups/tier5-src/_shared/himi-restaurants.ts +2 -1
  123. package/templates/events-meetups/tier5-src/himi-blog-post/index.ts +21 -8
  124. package/templates/events-meetups/tier5-src/himi-branded-lite-feed/index.ts +4 -3
  125. package/templates/events-meetups/tier5-src/himi-branded-lite-group-about/index.ts +243 -0
  126. package/templates/events-meetups/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  127. package/templates/events-meetups/tier5-src/himi-events-detail/index.ts +12 -86
  128. package/templates/events-meetups/tier5-src/himi-events-list/index.ts +47 -6
  129. package/templates/events-meetups/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  130. package/templates/events-meetups-owner/dev/index.ts +6 -0
  131. package/templates/events-meetups-owner/tier5-src/_shared/collection-contract.ts +19 -3
  132. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-event/index.ts +16 -8
  133. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  134. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-events/index.ts +4 -2
  135. package/templates/events-meetups-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  136. package/templates/gym-fitness/config.ts +27 -1
  137. package/templates/gym-fitness/dev/index.ts +2803 -844
  138. package/templates/gym-fitness/himalaya.content.json +3 -0
  139. package/templates/gym-fitness/tier5-src/_shared/booking-location.ts +147 -0
  140. package/templates/gym-fitness/tier5-src/_shared/booking-session.ts +222 -0
  141. package/templates/gym-fitness/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  142. package/templates/gym-fitness/tier5-src/_shared/collection-contract.ts +19 -3
  143. package/templates/gym-fitness/tier5-src/_shared/event-registration.ts +86 -0
  144. package/templates/gym-fitness/tier5-src/_shared/himi-restaurants.ts +2 -1
  145. package/templates/gym-fitness/tier5-src/_shared/owner-editor-value.ts +164 -0
  146. package/templates/gym-fitness/tier5-src/_shared/store-product-info.ts +50 -0
  147. package/templates/gym-fitness/tier5-src/himi-blog-post/index.ts +21 -8
  148. package/templates/gym-fitness/tier5-src/himi-booking-service/index.ts +277 -14
  149. package/templates/gym-fitness/tier5-src/himi-booking-services/index.ts +351 -92
  150. package/templates/gym-fitness/tier5-src/himi-booking-time/index.ts +25 -5
  151. package/templates/gym-fitness/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
  152. package/templates/gym-fitness/tier5-src/himi-branded-lite-category/index.ts +3 -2
  153. package/templates/gym-fitness/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  154. package/templates/gym-fitness/tier5-src/himi-branded-lite-plans/index.ts +2 -1
  155. package/templates/gym-fitness/tier5-src/himi-events-detail/index.ts +12 -86
  156. package/templates/gym-fitness/tier5-src/himi-events-list/index.ts +47 -6
  157. package/templates/gym-fitness/tier5-src/himi-store-product/index.ts +14 -3
  158. package/templates/gym-fitness/tier5-src/wix-spaces-plan-detail/index.ts +2 -1
  159. package/templates/gym-fitness/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  160. package/templates/gym-fitness-owner/dev/index.ts +132 -66
  161. package/templates/gym-fitness-owner/tier5-src/_shared/collection-contract.ts +19 -3
  162. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-event/index.ts +16 -8
  163. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  164. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-events/index.ts +4 -2
  165. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  166. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-product/index.ts +39 -6
  167. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  168. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-products/index.ts +7 -4
  169. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-service/index.ts +38 -7
  170. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-service-form/index.ts +53 -7
  171. package/templates/gym-fitness-owner/tier5-src/himi-owner-lite-services/index.ts +4 -2
  172. package/templates/nonprofit-cause/config.ts +36 -1
  173. package/templates/nonprofit-cause/dev/index.ts +1925 -396
  174. package/templates/nonprofit-cause/himalaya.content.json +6 -0
  175. package/templates/nonprofit-cause/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  176. package/templates/nonprofit-cause/tier5-src/_shared/collection-contract.ts +19 -3
  177. package/templates/nonprofit-cause/tier5-src/_shared/event-registration.ts +86 -0
  178. package/templates/nonprofit-cause/tier5-src/_shared/himi-restaurants.ts +2 -1
  179. package/templates/nonprofit-cause/tier5-src/himi-blog-post/index.ts +21 -8
  180. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-feed/index.ts +4 -3
  181. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-group-about/index.ts +243 -0
  182. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  183. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-plans/index.ts +2 -1
  184. package/templates/nonprofit-cause/tier5-src/himi-events-detail/index.ts +12 -86
  185. package/templates/nonprofit-cause/tier5-src/himi-events-list/index.ts +47 -6
  186. package/templates/nonprofit-cause/tier5-src/wix-spaces-plan-detail/index.ts +2 -1
  187. package/templates/nonprofit-cause/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  188. package/templates/nonprofit-cause-owner/dev/index.ts +85 -65
  189. package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-contract.ts +19 -3
  190. package/templates/nonprofit-cause-owner/tier5-src/_shared/owner-rich-guard.ts +27 -0
  191. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-event/index.ts +16 -8
  192. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  193. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-events/index.ts +4 -2
  194. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  195. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-service/index.ts +38 -7
  196. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-service-form/index.ts +53 -7
  197. package/templates/nonprofit-cause-owner/tier5-src/himi-owner-lite-services/index.ts +4 -2
  198. package/templates/owner-lite/dev/index.ts +132 -66
  199. package/templates/owner-lite/tier5-src/_shared/collection-contract.ts +19 -3
  200. package/templates/owner-lite/tier5-src/himi-owner-lite-event/index.ts +16 -8
  201. package/templates/owner-lite/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  202. package/templates/owner-lite/tier5-src/himi-owner-lite-events/index.ts +4 -2
  203. package/templates/owner-lite/tier5-src/himi-owner-lite-post/index.ts +7 -0
  204. package/templates/owner-lite/tier5-src/himi-owner-lite-product/index.ts +39 -6
  205. package/templates/owner-lite/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  206. package/templates/owner-lite/tier5-src/himi-owner-lite-products/index.ts +7 -4
  207. package/templates/owner-lite/tier5-src/himi-owner-lite-service/index.ts +38 -7
  208. package/templates/owner-lite/tier5-src/himi-owner-lite-service-form/index.ts +53 -7
  209. package/templates/owner-lite/tier5-src/himi-owner-lite-services/index.ts +4 -2
  210. package/templates/podcast-creator/config.ts +27 -1
  211. package/templates/podcast-creator/dev/index.ts +1051 -158
  212. package/templates/podcast-creator/himalaya.content.json +3 -0
  213. package/templates/podcast-creator/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  214. package/templates/podcast-creator/tier5-src/_shared/collection-contract.ts +19 -3
  215. package/templates/podcast-creator/tier5-src/_shared/event-registration.ts +86 -0
  216. package/templates/podcast-creator/tier5-src/_shared/himi-restaurants.ts +2 -1
  217. package/templates/podcast-creator/tier5-src/himi-blog-post/index.ts +21 -8
  218. package/templates/podcast-creator/tier5-src/himi-branded-lite-feed/index.ts +4 -3
  219. package/templates/podcast-creator/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  220. package/templates/podcast-creator/tier5-src/himi-branded-lite-plans/index.ts +2 -1
  221. package/templates/podcast-creator/tier5-src/himi-branded-lite-podcasts/index.ts +2 -1
  222. package/templates/podcast-creator/tier5-src/himi-events-detail/index.ts +12 -86
  223. package/templates/podcast-creator/tier5-src/himi-events-list/index.ts +47 -6
  224. package/templates/podcast-creator/tier5-src/wix-spaces-plan-detail/index.ts +2 -1
  225. package/templates/podcast-creator/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  226. package/templates/podcast-creator-owner/dev/index.ts +53 -1
  227. package/templates/podcast-creator-owner/tier5-src/_shared/collection-contract.ts +19 -3
  228. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-event/index.ts +16 -8
  229. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  230. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-events/index.ts +4 -2
  231. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  232. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-product/index.ts +39 -6
  233. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  234. package/templates/podcast-creator-owner/tier5-src/himi-owner-lite-products/index.ts +7 -4
  235. package/templates/portfolio-creative/config.ts +27 -1
  236. package/templates/portfolio-creative/dev/index.ts +1305 -468
  237. package/templates/portfolio-creative/himalaya.content.json +3 -0
  238. package/templates/portfolio-creative/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  239. package/templates/portfolio-creative/tier5-src/_shared/collection-contract.ts +19 -3
  240. package/templates/portfolio-creative/tier5-src/_shared/event-registration.ts +86 -0
  241. package/templates/portfolio-creative/tier5-src/_shared/himi-restaurants.ts +2 -1
  242. package/templates/portfolio-creative/tier5-src/_shared/owner-editor-value.ts +164 -0
  243. package/templates/portfolio-creative/tier5-src/_shared/store-product-info.ts +50 -0
  244. package/templates/portfolio-creative/tier5-src/himi-blog-post/index.ts +21 -8
  245. package/templates/portfolio-creative/tier5-src/himi-branded-lite-category/index.ts +3 -2
  246. package/templates/portfolio-creative/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  247. package/templates/portfolio-creative/tier5-src/himi-branded-lite-portfolio/index.ts +2 -1
  248. package/templates/portfolio-creative/tier5-src/himi-branded-lite-portfolio-project/index.ts +3 -2
  249. package/templates/portfolio-creative/tier5-src/himi-events-detail/index.ts +12 -86
  250. package/templates/portfolio-creative/tier5-src/himi-events-list/index.ts +47 -6
  251. package/templates/portfolio-creative/tier5-src/himi-store-product/index.ts +14 -3
  252. package/templates/portfolio-creative/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  253. package/templates/portfolio-creative-owner/dev/index.ts +129 -66
  254. package/templates/portfolio-creative-owner/tier5-src/_shared/collection-contract.ts +19 -3
  255. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  256. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-product/index.ts +39 -6
  257. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  258. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-products/index.ts +7 -4
  259. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-service/index.ts +38 -7
  260. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-service-form/index.ts +53 -7
  261. package/templates/portfolio-creative-owner/tier5-src/himi-owner-lite-services/index.ts +4 -2
  262. package/templates/restaurant/config.ts +27 -1
  263. package/templates/restaurant/dev/index.ts +1051 -158
  264. package/templates/restaurant/himalaya.content.json +3 -0
  265. package/templates/restaurant/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  266. package/templates/restaurant/tier5-src/_shared/collection-contract.ts +19 -3
  267. package/templates/restaurant/tier5-src/_shared/event-registration.ts +86 -0
  268. package/templates/restaurant/tier5-src/_shared/himi-restaurants.ts +2 -1
  269. package/templates/restaurant/tier5-src/himi-blog-post/index.ts +21 -8
  270. package/templates/restaurant/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  271. package/templates/restaurant/tier5-src/himi-events-detail/index.ts +12 -86
  272. package/templates/restaurant/tier5-src/himi-events-list/index.ts +47 -6
  273. package/templates/restaurant/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  274. package/templates/restaurant-owner/dev/index.ts +132 -66
  275. package/templates/restaurant-owner/tier5-src/_shared/collection-contract.ts +19 -3
  276. package/templates/restaurant-owner/tier5-src/himi-owner-lite-event/index.ts +16 -8
  277. package/templates/restaurant-owner/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  278. package/templates/restaurant-owner/tier5-src/himi-owner-lite-events/index.ts +4 -2
  279. package/templates/restaurant-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  280. package/templates/restaurant-owner/tier5-src/himi-owner-lite-product/index.ts +39 -6
  281. package/templates/restaurant-owner/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  282. package/templates/restaurant-owner/tier5-src/himi-owner-lite-products/index.ts +7 -4
  283. package/templates/restaurant-owner/tier5-src/himi-owner-lite-service/index.ts +38 -7
  284. package/templates/restaurant-owner/tier5-src/himi-owner-lite-service-form/index.ts +53 -7
  285. package/templates/restaurant-owner/tier5-src/himi-owner-lite-services/index.ts +4 -2
  286. package/templates/retail-store/config.ts +27 -1
  287. package/templates/retail-store/dev/index.ts +597 -191
  288. package/templates/retail-store/himalaya.content.json +3 -0
  289. package/templates/retail-store/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  290. package/templates/retail-store/tier5-src/_shared/collection-contract.ts +19 -3
  291. package/templates/retail-store/tier5-src/_shared/himi-restaurants.ts +2 -1
  292. package/templates/retail-store/tier5-src/_shared/owner-editor-value.ts +164 -0
  293. package/templates/retail-store/tier5-src/_shared/store-product-info.ts +50 -0
  294. package/templates/retail-store/tier5-src/himi-blog-post/index.ts +21 -8
  295. package/templates/retail-store/tier5-src/himi-branded-lite-category/index.ts +3 -2
  296. package/templates/retail-store/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  297. package/templates/retail-store/tier5-src/himi-store-product/index.ts +13 -3
  298. package/templates/retail-store/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  299. package/templates/retail-store-owner/dev/index.ts +50 -1
  300. package/templates/retail-store-owner/tier5-src/_shared/collection-contract.ts +19 -3
  301. package/templates/retail-store-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  302. package/templates/retail-store-owner/tier5-src/himi-owner-lite-product/index.ts +39 -6
  303. package/templates/retail-store-owner/tier5-src/himi-owner-lite-product-form/index.ts +14 -8
  304. package/templates/retail-store-owner/tier5-src/himi-owner-lite-products/index.ts +7 -4
  305. package/templates/yoga-studio/config.ts +27 -1
  306. package/templates/yoga-studio/dev/index.ts +2996 -877
  307. package/templates/yoga-studio/himalaya.content.json +3 -0
  308. package/templates/yoga-studio/tier5-src/_shared/booking-location.ts +147 -0
  309. package/templates/yoga-studio/tier5-src/_shared/booking-session.ts +222 -0
  310. package/templates/yoga-studio/tier5-src/_shared/branded-lite-hosted.ts +1 -1
  311. package/templates/yoga-studio/tier5-src/_shared/collection-contract.ts +19 -3
  312. package/templates/yoga-studio/tier5-src/_shared/event-registration.ts +86 -0
  313. package/templates/yoga-studio/tier5-src/_shared/himi-restaurants.ts +2 -1
  314. package/templates/yoga-studio/tier5-src/himi-blog-post/index.ts +21 -8
  315. package/templates/yoga-studio/tier5-src/himi-booking-service/index.ts +277 -14
  316. package/templates/yoga-studio/tier5-src/himi-booking-services/index.ts +351 -92
  317. package/templates/yoga-studio/tier5-src/himi-booking-time/index.ts +25 -5
  318. package/templates/yoga-studio/tier5-src/himi-branded-lite-agenda/index.ts +219 -220
  319. package/templates/yoga-studio/tier5-src/himi-branded-lite-notifsettings/index.ts +173 -0
  320. package/templates/yoga-studio/tier5-src/himi-branded-lite-plans/index.ts +2 -1
  321. package/templates/yoga-studio/tier5-src/himi-branded-lite-program/facts.ts +52 -0
  322. package/templates/yoga-studio/tier5-src/himi-branded-lite-program/index.ts +21 -11
  323. package/templates/yoga-studio/tier5-src/himi-events-detail/index.ts +12 -86
  324. package/templates/yoga-studio/tier5-src/himi-events-list/index.ts +47 -6
  325. package/templates/yoga-studio/tier5-src/wix-spaces-plan-detail/index.ts +2 -1
  326. package/templates/yoga-studio/tier5-src/wix-spaces-whats-new/index.ts +2 -1
  327. package/templates/yoga-studio-owner/dev/index.ts +85 -65
  328. package/templates/yoga-studio-owner/tier5-src/_shared/collection-contract.ts +19 -3
  329. package/templates/yoga-studio-owner/tier5-src/_shared/owner-rich-guard.ts +27 -0
  330. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-event/index.ts +16 -8
  331. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-event-form/index.ts +16 -7
  332. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-events/index.ts +4 -2
  333. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-post/index.ts +7 -0
  334. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-service/index.ts +38 -7
  335. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-service-form/index.ts +53 -7
  336. package/templates/yoga-studio-owner/tier5-src/himi-owner-lite-services/index.ts +4 -2
@@ -1350,6 +1350,9 @@ export declare function agenda(props: {
1350
1350
  * an Agenda without silently inverting its own sort. Flips the day GROUPS and
1351
1351
  * the events within each group together. */
1352
1352
  descending?: boolean;
1353
+ /** `{ date }` when the day at the top of the visible area changes by the user's scroll (not a
1354
+ * `scrollToDate` jump): a calendar above the list can follow it. */
1355
+ onVisibleDateChange?: ActionShape;
1353
1356
  }, opts?: {
1354
1357
  id?: string;
1355
1358
  }): Component;
@@ -1689,6 +1692,11 @@ export declare function lazyList(props: {
1689
1692
  itemsPath?: string;
1690
1693
  /** Animate insert/remove/reorder as the bound array changes (needs stable ids). */
1691
1694
  animateItems?: boolean;
1695
+ /** `$service:` path naming a row by its item `id` ("id" or "id|nonce"): a change scrolls that
1696
+ * row to the top of the visible area. Section anchors. */
1697
+ scrollToItemPath?: string;
1698
+ /** `{ id }` when the row at the top of the visible area changes by the user's scroll. */
1699
+ onTopItemChange?: ActionShape;
1692
1700
  }, opts?: {
1693
1701
  id?: string;
1694
1702
  }): Component;
@@ -531,6 +531,20 @@ export interface LazyListProps {
531
531
  */
532
532
  contentInsetTop?: number;
533
533
  contentInsetBottom?: number;
534
+ /**
535
+ * Jump to a row of a bound (`itemsPath`) list: a `$service:` path whose value names a row by
536
+ * its item's `id`. When the value CHANGES to a non-empty one, the row's top is brought to the
537
+ * top of the visible area (the list's scroll, or the screen's when the list sits in it).
538
+ * Only the part before the first "|" is the id, so a worker can re-trigger the same row
539
+ * ("cat:yoga|2"). Unknown id ⇒ nothing.
540
+ */
541
+ scrollToItemPath?: string;
542
+ /**
543
+ * Fired with args `{ id }` when the bound row at the top of the visible area changes because
544
+ * the user scrolled: on a change only, after the scroll settles, never for a
545
+ * `scrollToItemPath` jump, not on first render. Rows with no `id` are skipped.
546
+ */
547
+ onTopItemChange?: Action;
534
548
  }
535
549
  export interface GridProps {
536
550
  items: Component[];
@@ -2408,7 +2422,10 @@ export interface AgendaProps {
2408
2422
  events?: CalendarEvent[];
2409
2423
  eventsPath?: string;
2410
2424
  scrollToDate?: string;
2411
- /** Worker-driven jump target (a literal `scrollToDate` is frozen in the descriptor). */
2425
+ /** Worker-driven jump target (a literal `scrollToDate` is frozen in the descriptor). Either may be
2426
+ * "YYYY-MM-DD|<anything>": the day is the part before "|", and a change of the whole value jumps
2427
+ * again, also to the same day. A suffix-less value equal to the day last reported through
2428
+ * `onVisibleDateChange` is an echo of the user's own scroll and does not move the list. */
2412
2429
  scrollToDatePath?: string;
2413
2430
  stickyHeaders?: boolean;
2414
2431
  emptyText?: string;
@@ -2422,6 +2439,11 @@ export interface AgendaProps {
2422
2439
  * (an owner's orders, recent activity) could not become an Agenda without
2423
2440
  * silently inverting itself — every arm sorted ascending unconditionally. */
2424
2441
  descending?: boolean;
2442
+ /** Fired with args `{ date: "YYYY-MM-DD" }` when the day group at the top of the visible area
2443
+ * changes because the user scrolled (the agenda's own scroll, or the screen's): on a change
2444
+ * only, after the scroll settles, never for a `scrollToDate` jump, not on first render. Lets a
2445
+ * calendar above the list follow it. */
2446
+ onVisibleDateChange?: Action;
2425
2447
  }
2426
2448
  export type CoreComponentBody = {
2427
2449
  package: "himalaya";
@@ -3178,7 +3200,9 @@ export interface TopBarAction {
3178
3200
  badge?: NavBadge;
3179
3201
  /** Live bindings against `NavigationConfig.navLogicBundle` — see `NavTabItem`.
3180
3202
  * `hiddenPath` drops the action from the trailing cluster, which is how "hide
3181
- * Checkout while the cart is empty" is said without publishing two top bars. */
3203
+ * Checkout while the cart is empty" is said without publishing two top bars.
3204
+ * A screen's own top-bar action binds the same nav worker; runtime 1.8.0 and later
3205
+ * watch those paths (an older one shows the action). */
3182
3206
  hiddenPath?: string;
3183
3207
  labelPath?: string;
3184
3208
  iconPath?: string;
@@ -708,6 +708,15 @@ export declare const screenDescriptorSchema: {
708
708
  readonly badge: {
709
709
  readonly $ref: "#/$defs/navBadge";
710
710
  };
711
+ readonly hiddenPath: {
712
+ readonly type: "string";
713
+ };
714
+ readonly labelPath: {
715
+ readonly type: "string";
716
+ };
717
+ readonly iconPath: {
718
+ readonly type: "string";
719
+ };
711
720
  };
712
721
  };
713
722
  readonly navBadge: {
@@ -2137,6 +2146,15 @@ export declare const widgetSnapshotSchema: {
2137
2146
  readonly badge: {
2138
2147
  readonly $ref: "#/$defs/navBadge";
2139
2148
  };
2149
+ readonly hiddenPath: {
2150
+ readonly type: "string";
2151
+ };
2152
+ readonly labelPath: {
2153
+ readonly type: "string";
2154
+ };
2155
+ readonly iconPath: {
2156
+ readonly type: "string";
2157
+ };
2140
2158
  };
2141
2159
  };
2142
2160
  readonly navBadge: {
@@ -6,6 +6,8 @@ export declare function getDraftPost(postId: string, options?: WixCallOptions):
6
6
  * list projection (no body), so the body-bearing fields live here on the read
7
7
  * shape `getPost` returns once the body fieldsets are requested. */
8
8
  export interface WixPostWithContent extends WixPost {
9
+ /** Legacy Comments resource ID. Present when INTERNAL_ID was requested. */
10
+ internalId?: string;
9
11
  /** Ricos rich-content body (opaque JSON). Present only when RICH_CONTENT was requested. */
10
12
  richContent?: WixRichContent;
11
13
  /** Plain-text rendering of the body. Present only when CONTENT_TEXT was requested. */
@@ -29,7 +29,9 @@ type BlogCommentLike = {
29
29
  /** A created or listed comment as the blog screen's row. Accepts the curated and the auto-tier
30
30
  * (`comments.createComment`) response shapes alike — both are the same REST wire object. */
31
31
  export declare function blogCommentRow(comment: BlogCommentLike | undefined): WixBlogCommentRow;
32
+ /** `postId` is Blog v3 `post.internalId` (request INTERNAL_ID), not its navigation UUID. */
32
33
  export declare function createBlogComment(postId: string, text: string): Promise<WixBlogCommentRow>;
34
+ /** First Comments page for Blog v3 `post.internalId`, not its navigation UUID. */
33
35
  export declare function listBlogComments(postId: string): Promise<WixBlogCommentRow[]>;
34
36
  /** The appId Wix Groups registers as its comments provider. Same value as
35
37
  * GROUPS_APP_ID/GROUPS_APP_DEF_ID used elsewhere in this repo (social-feed's
@@ -126,6 +126,9 @@ export interface WixQueryEventsOptions {
126
126
  limit?: number;
127
127
  /** Page offset. */
128
128
  offset?: number;
129
+ /** Extra Events v3 fieldsets to read with each row (see {@link WixEventFieldset}), as
130
+ * {@link getEvent} takes. Omitted → the default fieldset, and the request is unchanged. */
131
+ fields?: WixEventFieldset[];
129
132
  /** Status filter (e.g. `["UPCOMING"]`), matched exactly against each row's `eventStatus`.
130
133
  * Omitted → all statuses returned; a value no row carries selects nothing.
131
134
  *
@@ -16,6 +16,21 @@ export declare function queryGroups(req?: WixGroupsQueryRequest, opts?: WixCallO
16
16
  * public group.
17
17
  */
18
18
  export declare function getGroup(id: string, opts?: WixCallOptions): Promise<WixGroup>;
19
+ export interface WixGroupRule {
20
+ title?: string;
21
+ description?: string;
22
+ }
23
+ export interface WixListGroupRulesResponse {
24
+ rules?: WixGroupRule[];
25
+ }
26
+ /**
27
+ * List a group's community rules — GET /social-groups/v2/rules/{groupId}.
28
+ *
29
+ * @scope visitor — a Visitor read of a public group returned 200 with `{ rules: [] }`
30
+ * (2026-11-05). Whether a private/secret group's rules are visible to a non-member
31
+ * is unconfirmed — needsLiveProbe. A group with no rules answers an empty `rules`.
32
+ */
33
+ export declare function listRules(groupId: string, opts?: WixCallOptions): Promise<WixListGroupRulesResponse>;
19
34
  export interface WixGroupCoverImage {
20
35
  /** A previously-uploaded Wix Media file id (from site-media generate-upload-url + PUT). */
21
36
  mediaId?: string;
@@ -1,3 +1,4 @@
1
+ import { type WixCallOptions } from "./index.js";
1
2
  export interface LoyaltyOverview {
2
3
  balance?: number;
3
4
  earned?: number;
@@ -41,3 +42,15 @@ export interface LoyaltyDashboardResponse {
41
42
  /** Loyalty BFF dashboard — program status + points overview + customers page.
42
43
  * GET /v1/loyalty-dashboard?limit=N. User-instance authed (auto-attached). */
43
44
  export declare function getLoyaltyBffDashboard(limit?: number): Promise<LoyaltyDashboardResponse>;
45
+ /** Read the authenticated member's own Loyalty account; no customer ID is accepted.
46
+ * Source contract: loyalty-v1.getCurrentMemberAccount. Anonymous visitors are refused.
47
+ * A signed-in customer recording is still required for migration acceptance.
48
+ * @scope member
49
+ */
50
+ export declare function getCurrentMemberLoyaltyAccount(readOptions?: WixCallOptions): Promise<{
51
+ account?: {
52
+ points?: {
53
+ balance?: number;
54
+ };
55
+ };
56
+ }>;
@@ -34,6 +34,11 @@ export interface WixPaging {
34
34
  export interface WixMembersQuery {
35
35
  filter?: Record<string, unknown>;
36
36
  paging?: WixPaging;
37
+ /** REST Query's wire name is `sorting`; `sort` remains for existing callers. */
38
+ sorting?: Array<{
39
+ fieldName: string;
40
+ order?: "ASC" | "DESC";
41
+ }>;
37
42
  sort?: unknown[];
38
43
  }
39
44
  export interface WixMemberImage {
@@ -77,10 +82,16 @@ export interface WixMembersMetadata {
77
82
  count?: number;
78
83
  offset?: number;
79
84
  total?: number;
85
+ tooManyToCount?: boolean;
80
86
  }
81
87
  export interface WixQueryMembersRequest {
82
88
  query?: WixMembersQuery;
83
89
  fieldsets?: string[];
90
+ /** Branded directory search uses these public member fields, on the server. */
91
+ search?: {
92
+ expression: string;
93
+ fields?: string[];
94
+ };
84
95
  }
85
96
  export interface WixQueryMembersResponse {
86
97
  members: WixMember[];
@@ -177,8 +188,11 @@ export interface WixActivityCounter {
177
188
  /** The app the counters belong to (match against MEMBERS_FOLLOWERS_APP_ID). */
178
189
  appId?: string;
179
190
  memberId?: string;
180
- /** Per-key counters, e.g. { followerCount: { count }, followingCount: { count } }. */
181
- counters?: Record<string, {
191
+ /** Branded's REST wire shape is a keyed array. Keep the older map shape readable too. */
192
+ counters?: Array<{
193
+ key?: string;
194
+ count?: number;
195
+ }> | Record<string, {
182
196
  count?: number;
183
197
  }>;
184
198
  }
@@ -198,8 +212,9 @@ export interface WixMyConnectionsResponse {
198
212
  connectedMembers?: WixMemberConnection[];
199
213
  }
200
214
  /** Followers / following totals for a member — POST
201
- * /members/v1/activity-counters/query. Parses the Followers-app counter entry;
202
- * defaults each total to 0 when absent. May 403 → caller should default. */
215
+ * /members/v1/activity-counters/query. Requires explicit nonnegative safe integer
216
+ * totals for this member's Followers-app entry. Missing/invalid totals reject,
217
+ * as do permission failures; callers should hide unavailable counts, never invent zero. */
203
218
  export declare function getFollowCounts(memberId: string, options?: WixCallOptions): Promise<WixFollowCounts>;
204
219
  /** Whether the signed-in member follows `targetId` — POST
205
220
  * /members/v3/followers/my/connections. Returns false on any miss. May 403 →
@@ -8794,7 +8794,11 @@ var screenDescriptorSchema = {
8794
8794
  label: { type: "string" },
8795
8795
  accessibilityLabel: { type: "string" },
8796
8796
  onTap: { $ref: "#/$defs/action" },
8797
- badge: { $ref: "#/$defs/navBadge" }
8797
+ badge: { $ref: "#/$defs/navBadge" },
8798
+ // RFC 0010 slot bindings (core.proto TopBarAction 7–9): they bind the app's nav worker.
8799
+ hiddenPath: { type: "string" },
8800
+ labelPath: { type: "string" },
8801
+ iconPath: { type: "string" }
8798
8802
  }
8799
8803
  },
8800
8804
  navBadge: {
@@ -7366,7 +7366,11 @@ var screenDescriptorSchema = {
7366
7366
  label: { type: "string" },
7367
7367
  accessibilityLabel: { type: "string" },
7368
7368
  onTap: { $ref: "#/$defs/action" },
7369
- badge: { $ref: "#/$defs/navBadge" }
7369
+ badge: { $ref: "#/$defs/navBadge" },
7370
+ // RFC 0010 slot bindings (core.proto TopBarAction 7–9): they bind the app's nav worker.
7371
+ hiddenPath: { type: "string" },
7372
+ labelPath: { type: "string" },
7373
+ iconPath: { type: "string" }
7370
7374
  }
7371
7375
  },
7372
7376
  navBadge: {
@@ -80,6 +80,9 @@ async function listBlogComments(postId) {
80
80
  "GET",
81
81
  `/comments/v1/comments/list-by-resource?${query}`
82
82
  );
83
+ if (!Array.isArray(response?.comments) && !(response?.comments == null && response?.pagingMetadata?.count === 0)) {
84
+ throw new Error("Blog comments response has no comment page");
85
+ }
83
86
  const rows = (response.comments ?? []).map((comment) => ({
84
87
  id: comment.id ?? "comment",
85
88
  authorName: commentAuthor(comment),
@@ -230,7 +230,9 @@ function normalizeEventAt(e, now) {
230
230
  id,
231
231
  title,
232
232
  day: date && !Number.isNaN(date.getTime()) ? String(date.getDate()) : title.slice(0, 1).toUpperCase(),
233
- month: date && !Number.isNaN(date.getTime()) ? date.toLocaleString("en-US", { month: "short" }).toUpperCase() : "",
233
+ // From the fixed table, not `toLocaleString`: QuickJS (the watch engine) has no ECMA-402 and
234
+ // answers that call with the whole "11/10/2030, 12:00:00 PM" string.
235
+ month: date && !Number.isNaN(date.getTime()) ? MONTHS_SHORT[date.getMonth()].toUpperCase() : "",
234
236
  dateLine: eventWhen(e, now),
235
237
  // "Past" for a finished event, "" otherwise — the shared collection row prints it in the
236
238
  // meta line, so an event from last month no longer reads as current.
@@ -300,7 +302,7 @@ function eventStartMs(e) {
300
302
  async function queryEvents(opts = {}, readOptions) {
301
303
  const limit = opts.limit ?? opts.query?.paging?.limit ?? 50;
302
304
  const offset = opts.offset ?? opts.query?.paging?.offset ?? 0;
303
- const res = await wixCall("POST", "/events/v3/events/query", { query: { ...opts.query, paging: { limit, offset } } }, readOptions);
305
+ const res = await wixCall("POST", "/events/v3/events/query", { query: { ...opts.query, paging: { limit, offset } }, ...opts.fields?.length ? { fields: opts.fields } : {} }, readOptions);
304
306
  let events = (res.events ?? []).map(decodeEvent);
305
307
  if (opts.statuses) {
306
308
  const wanted = new Set(opts.statuses);
@@ -6,6 +6,10 @@ function getGroup(id, opts) {
6
6
  if (!id) throw new Error("getGroup: id is required");
7
7
  return wixCall("GET", `/social-groups-proxy/groups/v2/groups/${encodeURIComponent(id)}`, void 0, opts);
8
8
  }
9
+ function listRules(groupId, opts) {
10
+ if (!groupId) throw new Error("listRules: groupId is required");
11
+ return wixCall("GET", `/social-groups/v2/rules/${encodeURIComponent(groupId)}`, void 0, opts);
12
+ }
9
13
  function createGroup(group) {
10
14
  return wixCall("POST", "/social-groups-proxy/groups/v2/groups", { group });
11
15
  }
@@ -102,6 +106,7 @@ export {
102
106
  joinGroup,
103
107
  leaveGroup,
104
108
  listJoinGroupRequests,
109
+ listRules,
105
110
  queryGroups,
106
111
  queryMembers,
107
112
  rejectJoinGroupRequests,
@@ -3,6 +3,9 @@ var LOYALTY_BFF = "https://apps.wix.com/loyalty/mobile-api/v1";
3
3
  function getLoyaltyBffDashboard(limit = 25) {
4
4
  return wixCall("GET", `${LOYALTY_BFF}/loyalty-dashboard?limit=${encodeURIComponent(String(limit))}`);
5
5
  }
6
+ function getCurrentMemberLoyaltyAccount(readOptions) {
7
+ return wixCall("GET", "/loyalty-accounts/v1/accounts/my-account", void 0, readOptions);
8
+ }
6
9
 
7
10
  // ../../stdlib/wix-sdk/loyalty/src/index.ts
8
11
  function wixCall(method, path, body, readOptions) {
@@ -40,6 +43,7 @@ function listLoyaltyEarningRules(readOptions) {
40
43
  return wixCall("GET", "/_api/loyalty-earning-rules/v1/earning-rules/rules", void 0, readOptions);
41
44
  }
42
45
  export {
46
+ getCurrentMemberLoyaltyAccount,
43
47
  getLoyaltyBffDashboard,
44
48
  getLoyaltyProgram,
45
49
  listLoyaltyEarningRules,
@@ -84,10 +84,17 @@ async function getFollowCounts(memberId, options) {
84
84
  { query: { filter: { memberId: { $in: [memberId] } } } },
85
85
  options
86
86
  );
87
- const entry = (res.activityCounters ?? []).find((c) => c.appId === MEMBERS_FOLLOWERS_APP_ID);
87
+ const entry = (res.activityCounters ?? []).find((c) => c.appId === MEMBERS_FOLLOWERS_APP_ID && c.memberId === memberId);
88
+ const counters = entry?.counters;
89
+ const value = (key) => Array.isArray(counters) ? counters.find((counter) => counter?.key === key)?.count : counters?.[key]?.count;
90
+ const followers = value("followerCount");
91
+ const following = value("followingCount");
92
+ if (typeof followers !== "number" || !Number.isSafeInteger(followers) || followers < 0 || typeof following !== "number" || !Number.isSafeInteger(following) || following < 0) {
93
+ throw new Error("getFollowCounts: explicit member totals are unavailable");
94
+ }
88
95
  return {
89
- followers: entry?.counters?.followerCount?.count ?? 0,
90
- following: entry?.counters?.followingCount?.count ?? 0
96
+ followers,
97
+ following
91
98
  };
92
99
  }
93
100
  async function isFollowingMember(targetId) {