@wix/himalaya-cli 0.1544.0 → 0.1545.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 (225) hide show
  1. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/agent/src/index.d.ts +5 -2
  2. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/state/src/index.d.ts +14 -0
  3. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/core/sdk/state/src/read.d.ts +60 -0
  4. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/activity-counters-v1/src/index.d.ts +19 -0
  5. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ai-site-chat/src/index.d.ts +19 -0
  6. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/analytics/src/index.d.ts +42 -2
  7. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/async-jobs/src/index.d.ts +19 -0
  8. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/automations-v1/src/index.d.ts +19 -0
  9. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/badges-v2/src/index.d.ts +19 -0
  10. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/billing-tax-v1/src/index.d.ts +19 -0
  11. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/extensions.d.ts +5 -4
  12. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/blog-v3/src/index.d.ts +19 -0
  13. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/bookings-v2/src/extensions.d.ts +4 -4
  14. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/bookings-v2/src/index.d.ts +19 -0
  15. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-feed/src/index.d.ts +11 -0
  16. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/business-tools-v1/src/index.d.ts +19 -0
  17. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/chat-web/src/index.d.ts +22 -1
  18. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/comments-v1/src/index.d.ts +19 -0
  19. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/contacts/src/index.d.ts +19 -0
  20. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/coupons/src/index.d.ts +24 -2
  21. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/crm-tasks/src/index.d.ts +11 -0
  22. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/dashboard-setup/src/index.d.ts +11 -0
  23. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/data-collections-v1/src/index.d.ts +19 -0
  24. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/donations/src/index.d.ts +19 -0
  25. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ecom/src/extensions.d.ts +6 -5
  26. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/ecom/src/index.d.ts +19 -0
  27. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/email-marketing-v1/src/index.d.ts +19 -0
  28. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/events/src/index.d.ts +24 -2
  29. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/faq-v2/src/index.d.ts +19 -0
  30. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forms/src/index.d.ts +19 -0
  31. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/forum/src/index.d.ts +19 -0
  32. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/genie-chat/src/index.d.ts +11 -0
  33. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/gift-cards/src/index.d.ts +19 -0
  34. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/groups/src/index.d.ts +19 -0
  35. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/inbox/src/extensions.d.ts +2 -1
  36. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/inbox/src/index.d.ts +19 -0
  37. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/invoices/src/index.d.ts +24 -2
  38. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/loyalty/src/index.d.ts +28 -4
  39. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/marketing-v1/src/index.d.ts +19 -0
  40. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/members-feed-viewer/src/index.d.ts +23 -1
  41. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/members-v1/src/index.d.ts +25 -3
  42. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/new-releases/src/index.d.ts +23 -1
  43. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/notification-preferences/src/index.d.ts +23 -2
  44. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/notifications-v3/src/index.d.ts +19 -0
  45. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/online-programs/src/index.d.ts +25 -3
  46. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/portfolio/src/index.d.ts +25 -3
  47. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/pricing-plans/src/index.d.ts +28 -6
  48. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/redirects-v1/src/index.d.ts +19 -0
  49. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/restaurants/src/extensions.d.ts +2 -2
  50. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/restaurants/src/index.d.ts +19 -0
  51. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/reviews/src/index.d.ts +24 -2
  52. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/seo-v1/src/index.d.ts +19 -0
  53. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-list/src/index.d.ts +19 -0
  54. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/site-media/src/index.d.ts +11 -0
  55. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/social-feed/src/index.d.ts +23 -1
  56. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-collections/src/display.d.ts +3 -2
  57. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-collections/src/index.d.ts +27 -3
  58. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/catalog.d.ts +7 -7
  59. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/display.d.ts +4 -3
  60. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/extensions.d.ts +2 -1
  61. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/stores-v1/src/index.d.ts +19 -0
  62. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/table-reservations/src/index.d.ts +25 -3
  63. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/users/src/index.d.ts +23 -1
  64. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/video/src/index.d.ts +19 -0
  65. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/wix-data/src/index.d.ts +27 -3
  66. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk/workflows-v1/src/index.d.ts +19 -0
  67. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/_types/stdlib/wix-sdk-auto/_shared/runtime.generated.d.ts +8 -0
  68. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/checkout.mjs +12 -4
  69. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/screens.mjs +36 -11
  70. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/state.mjs +206 -12
  71. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-activity-counters.mjs +19 -5
  72. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-ai-site-chat.mjs +19 -5
  73. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-analytics.mjs +21 -7
  74. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-async-jobs.mjs +19 -5
  75. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-automations.mjs +19 -5
  76. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-badges.mjs +19 -5
  77. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-billing-tax.mjs +19 -5
  78. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-blog.mjs +31 -14
  79. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-bookings.mjs +26 -12
  80. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-business-tools.mjs +20 -6
  81. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-chat-web.mjs +29 -7
  82. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-comments.mjs +28 -5
  83. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-contacts.mjs +19 -5
  84. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-coupons.mjs +14 -6
  85. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-data-collections.mjs +19 -5
  86. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-data.mjs +15 -5
  87. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-donations.mjs +19 -5
  88. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-ecom.mjs +33 -16
  89. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-email-marketing.mjs +19 -5
  90. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-events.mjs +14 -6
  91. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-faq.mjs +20 -6
  92. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forms.mjs +19 -5
  93. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-forum.mjs +19 -5
  94. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-gift-cards.mjs +19 -5
  95. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-groups.mjs +19 -5
  96. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-inbox.mjs +21 -7
  97. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-invoices.mjs +14 -6
  98. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-loyalty.mjs +16 -8
  99. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-marketing.mjs +19 -5
  100. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-members-feed-viewer.mjs +21 -10
  101. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-members.mjs +17 -8
  102. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-new-releases.mjs +17 -5
  103. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-notification-preferences.mjs +20 -6
  104. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-notifications.mjs +19 -5
  105. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-online-programs.mjs +16 -8
  106. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-portfolio.mjs +16 -8
  107. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-pricing-plans.mjs +22 -14
  108. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-redirects.mjs +19 -5
  109. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-restaurants.mjs +22 -7
  110. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-reviews.mjs +14 -6
  111. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-rich-content-editor.mjs +3 -0
  112. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-seo.mjs +19 -5
  113. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-site-list.mjs +19 -5
  114. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-social-feed.mjs +15 -5
  115. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-stores-collections.mjs +20 -10
  116. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-stores.mjs +116 -83
  117. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-table-reservations.mjs +16 -8
  118. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-users.mjs +15 -5
  119. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-video.mjs +9 -1
  120. package/dist/authoring-runtime/node_modules/@wix/himalaya/dist/wix-workflows.mjs +19 -5
  121. package/dist/cli.mjs +90 -57
  122. package/dist/preview-assets.generated.bin +0 -0
  123. package/fixtures/wix-canned.json +8 -8
  124. package/guides/dynamic-list.service.ts +38 -29
  125. package/guides/form-submit.service.ts +2 -1
  126. package/guides/index.json +6 -0
  127. package/guides/offline-reading.md +63 -0
  128. package/guides/recipe-dynamic-list.md +2 -0
  129. package/guides/recipe-four-state.md +1 -0
  130. package/guides/sdk-reference.json +225 -99
  131. package/guides/testing-himi-apps.md +2 -0
  132. package/guides/tier-5-add-a-screen.md +2 -0
  133. package/package.json +2 -2
  134. package/templates/beauty-salon/dev/index.ts +4 -3
  135. package/templates/beauty-salon/tier5-src/_shared/collection-service.ts +6 -9
  136. package/templates/beauty-salon/tier5-src/_shared/iap-presentation.ts +7 -3
  137. package/templates/beauty-salon/tier5-src/himi-branded-lite-home/index.ts +1 -1
  138. package/templates/beauty-salon/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  139. package/templates/beauty-salon-owner/dev/index.ts +19 -19
  140. package/templates/beauty-salon-owner/tier5-src/_shared/collection-service.ts +6 -9
  141. package/templates/beauty-salon-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  142. package/templates/branded-lite/dev/index.ts +38 -20
  143. package/templates/branded-lite/tier5-src/_shared/collection-query-legacy.ts +194 -0
  144. package/templates/branded-lite/tier5-src/_shared/collection-query.ts +158 -99
  145. package/templates/branded-lite/tier5-src/_shared/collection-service.ts +31 -11
  146. package/templates/branded-lite/tier5-src/_shared/iap-presentation.ts +7 -3
  147. package/templates/branded-lite/tier5-src/_shared/read-service.ts +255 -0
  148. package/templates/branded-lite/tier5-src/himi-branded-lite-home/index.ts +1 -1
  149. package/templates/branded-lite/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  150. package/templates/branded-lite/tier5-src/himi-branded-lite-shop/index.ts +202 -159
  151. package/templates/branded-lite/tier5-src/himi-store-product/index.ts +130 -201
  152. package/templates/community-club/dev/index.ts +4 -4
  153. package/templates/community-club/tier5-src/_shared/collection-service.ts +6 -9
  154. package/templates/community-club/tier5-src/_shared/iap-presentation.ts +7 -3
  155. package/templates/community-club/tier5-src/himi-branded-lite-home/index.ts +1 -1
  156. package/templates/community-club-owner/dev/index.ts +19 -19
  157. package/templates/community-club-owner/tier5-src/_shared/collection-service.ts +6 -9
  158. package/templates/community-club-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  159. package/templates/events-meetups/dev/index.ts +3 -3
  160. package/templates/events-meetups/tier5-src/_shared/collection-service.ts +6 -9
  161. package/templates/events-meetups/tier5-src/_shared/iap-presentation.ts +7 -3
  162. package/templates/events-meetups/tier5-src/himi-branded-lite-home/index.ts +1 -1
  163. package/templates/events-meetups-owner/dev/index.ts +17 -17
  164. package/templates/events-meetups-owner/tier5-src/_shared/collection-service.ts +6 -9
  165. package/templates/events-meetups-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  166. package/templates/gym-fitness/dev/index.ts +5 -4
  167. package/templates/gym-fitness/tier5-src/_shared/collection-service.ts +6 -9
  168. package/templates/gym-fitness/tier5-src/_shared/iap-presentation.ts +7 -3
  169. package/templates/gym-fitness/tier5-src/himi-branded-lite-home/index.ts +1 -1
  170. package/templates/gym-fitness/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  171. package/templates/gym-fitness-owner/dev/index.ts +20 -20
  172. package/templates/gym-fitness-owner/tier5-src/_shared/collection-service.ts +6 -9
  173. package/templates/gym-fitness-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  174. package/templates/nonprofit-cause/dev/index.ts +4 -4
  175. package/templates/nonprofit-cause/tier5-src/_shared/collection-service.ts +6 -9
  176. package/templates/nonprofit-cause/tier5-src/_shared/iap-presentation.ts +7 -3
  177. package/templates/nonprofit-cause/tier5-src/himi-branded-lite-home/index.ts +1 -1
  178. package/templates/nonprofit-cause-owner/dev/index.ts +18 -18
  179. package/templates/nonprofit-cause-owner/tier5-src/_shared/collection-service.ts +6 -9
  180. package/templates/nonprofit-cause-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  181. package/templates/owner-lite/dev/index.ts +20 -20
  182. package/templates/owner-lite/tier5-src/_shared/collection-service.ts +6 -9
  183. package/templates/owner-lite/tier5-src/_shared/owner-module-data.ts +1 -1
  184. package/templates/podcast-creator/dev/index.ts +4 -4
  185. package/templates/podcast-creator/tier5-src/_shared/collection-service.ts +6 -9
  186. package/templates/podcast-creator/tier5-src/_shared/iap-presentation.ts +7 -3
  187. package/templates/podcast-creator/tier5-src/himi-branded-lite-home/index.ts +1 -1
  188. package/templates/podcast-creator-owner/dev/index.ts +19 -19
  189. package/templates/podcast-creator-owner/tier5-src/_shared/collection-service.ts +6 -9
  190. package/templates/podcast-creator-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  191. package/templates/portfolio-creative/dev/index.ts +5 -4
  192. package/templates/portfolio-creative/tier5-src/_shared/collection-service.ts +6 -9
  193. package/templates/portfolio-creative/tier5-src/_shared/iap-presentation.ts +7 -3
  194. package/templates/portfolio-creative/tier5-src/himi-branded-lite-home/index.ts +1 -1
  195. package/templates/portfolio-creative/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  196. package/templates/portfolio-creative-owner/dev/index.ts +19 -19
  197. package/templates/portfolio-creative-owner/tier5-src/_shared/collection-service.ts +6 -9
  198. package/templates/portfolio-creative-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  199. package/templates/restaurant/dev/index.ts +3 -3
  200. package/templates/restaurant/tier5-src/_shared/collection-service.ts +6 -9
  201. package/templates/restaurant/tier5-src/_shared/iap-presentation.ts +7 -3
  202. package/templates/restaurant/tier5-src/himi-branded-lite-home/index.ts +1 -1
  203. package/templates/restaurant-owner/dev/index.ts +20 -20
  204. package/templates/restaurant-owner/tier5-src/_shared/collection-service.ts +6 -9
  205. package/templates/restaurant-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  206. package/templates/retail-store/dev/index.ts +19 -1
  207. package/templates/retail-store/tier5-src/_shared/collection-query-legacy.ts +194 -0
  208. package/templates/retail-store/tier5-src/_shared/collection-query.ts +158 -99
  209. package/templates/retail-store/tier5-src/_shared/collection-service.ts +31 -11
  210. package/templates/retail-store/tier5-src/_shared/iap-presentation.ts +7 -3
  211. package/templates/retail-store/tier5-src/_shared/read-service.ts +255 -0
  212. package/templates/retail-store/tier5-src/himi-branded-lite-home/index.ts +1 -1
  213. package/templates/retail-store/tier5-src/himi-branded-lite-orders/index.ts +3 -0
  214. package/templates/retail-store/tier5-src/himi-branded-lite-shop/index.ts +202 -159
  215. package/templates/retail-store/tier5-src/himi-store-product/index.ts +130 -201
  216. package/templates/retail-store-owner/dev/index.ts +18 -18
  217. package/templates/retail-store-owner/tier5-src/_shared/collection-service.ts +6 -9
  218. package/templates/retail-store-owner/tier5-src/_shared/owner-module-data.ts +1 -1
  219. package/templates/yoga-studio/dev/index.ts +4 -4
  220. package/templates/yoga-studio/tier5-src/_shared/collection-service.ts +6 -9
  221. package/templates/yoga-studio/tier5-src/_shared/iap-presentation.ts +7 -3
  222. package/templates/yoga-studio/tier5-src/himi-branded-lite-home/index.ts +1 -1
  223. package/templates/yoga-studio-owner/dev/index.ts +18 -18
  224. package/templates/yoga-studio-owner/tier5-src/_shared/collection-service.ts +6 -9
  225. package/templates/yoga-studio-owner/tier5-src/_shared/owner-module-data.ts +1 -1
@@ -1,5 +1,7 @@
1
1
  # Testing Himalaya apps — which test, when, and how to fake dynamic data
2
2
 
3
+ For cached reads, unavailable offline states, safe reconnect actions, and failed-refresh retention, follow [Offline reading and recovery](offline-reading.md) (also available as himi docs offline-reading). A refresh failure must preserve useful content; an empty result requires a successful read.
4
+
3
5
  The canonical guide to Himalaya's test tiers, for **developers and coding agents**. It
4
6
  answers three questions:
5
7
 
@@ -1,5 +1,7 @@
1
1
  # Adding a Tier 5 screen
2
2
 
3
+ For cached reads, unavailable offline states, safe reconnect actions, and failed-refresh retention, follow [Offline reading and recovery](offline-reading.md) (also available as himi docs offline-reading). A refresh failure must preserve useful content; an empty result requires a successful read.
4
+
3
5
  How to add a screen whose **pixels are native** (Tier 1/2 SDUI, rendered by SwiftUI on iOS and Compose on Android) but whose **state and orchestration come from a server-pushed JS bundle** running in a per-screen worker.
4
6
 
5
7
  Tier 5 is opt-in: you only reach for it when a screen needs all three of:
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wix/himalaya-cli",
3
- "version": "0.1544.0",
3
+ "version": "0.1545.0",
4
4
  "type": "module",
5
5
  "description": "himi — the Himalaya authoring CLI. Build a Tier-5 content package on your own machine, push it to the production serve as a draft, preview it on web + Himi Player, and read worker logs back — the remote dev loop. Wraps @himalaya/serve-cli for transport.",
6
6
  "keywords": [
@@ -71,5 +71,5 @@
71
71
  "artifactId": "himalaya-cli"
72
72
  }
73
73
  },
74
- "falconPackageHash": "dd6b1446735f5206d1c3c73510948819f59f090968b25177db037538"
74
+ "falconPackageHash": "537ce9b28dda30a82fe688b5070033e1e9cf0e697d1ed735fe7aea7d"
75
75
  }
@@ -7900,7 +7900,8 @@ const SCREENS = runtimeSetting({
7900
7900
  "style": "body",
7901
7901
  "color": "textSecondary"
7902
7902
  }
7903
- }
7903
+ },
7904
+ "modifiers": {}
7904
7905
  },
7905
7906
  {
7906
7907
  "id": "himi_shop.retry",
@@ -25361,7 +25362,7 @@ const SCREENS = runtimeSetting({
25361
25362
  "package": "himalaya",
25362
25363
  "type": "Text",
25363
25364
  "props": {
25364
- "text": "Showing saved offline results · may be outdated",
25365
+ "text": "Showing previously loaded content · may be outdated",
25365
25366
  "style": "caption",
25366
25367
  "color": "textSecondary"
25367
25368
  }
@@ -28903,7 +28904,7 @@ const SCREENS = runtimeSetting({
28903
28904
  "package": "himalaya",
28904
28905
  "type": "Text",
28905
28906
  "props": {
28906
- "text": "Showing saved offline results · may be outdated",
28907
+ "text": "Showing previously loaded content · may be outdated",
28907
28908
  "style": "caption",
28908
28909
  "color": "textSecondary"
28909
28910
  }
@@ -1,4 +1,3 @@
1
- import { withOnlineWrites } from './online-actions.js';
2
1
  import { defineService as register, type ServiceDefinition } from '@himalaya/state';
3
2
  import { COLLECTIONS, COLLECTION_CHROME_MIN_ITEMS, initialCollection, normalizeCollection, projectCollection, collectionId, collectionActionsLabel, type CollectionRow } from './collection-contract.js';
4
3
  import { localPreferences, type PreferenceRuntime } from './local-preferences.js';
@@ -95,10 +94,7 @@ export function decorateCollection(name: string, def: { state: State; actions?:
95
94
  if (sort === 'default' || sort === 'az' || sort === 'za') { prefs.sort = sort; changed = true; }
96
95
  }
97
96
  if (Object.prototype.hasOwnProperty.call(input, 'collectionFilter')) {
98
- const requestedFilter = String(input.collectionFilter ?? '');
99
- // Old links to Saved must migrate with the stored preference when this
100
- // collection no longer exposes that filter.
101
- const filter = config.rowStyle === 'flat' && requestedFilter === 'saved' ? 'all' : requestedFilter;
97
+ const filter = String(input.collectionFilter ?? '');
102
98
  const configured = config.filterValues ?? [];
103
99
  const rows = Array.isArray(state[config.rows]) ? state[config.rows] as CollectionRow[] : [];
104
100
  const derived = config.filter ? rows.map(row => String(row[config.filter!] ?? '')).filter(Boolean) : [];
@@ -142,7 +138,7 @@ export function decorateCollection(name: string, def: { state: State; actions?:
142
138
  copyParam('collection.itemActionsFor', 'Actions for {title}'), copyParam('collection.itemActions', 'Item actions'));
143
139
  });
144
140
  if (previewId && !rows.some(row => collectionId(row) === previewId)) previewId = '';
145
- const filterChoices = [{ id: 'all', label: copyParam('collection.all', 'All') }, ...(config.rowStyle === 'flat' ? [] : [{ id: 'saved', label: copyParam('collection.saved', 'Saved') }]),
141
+ const filterChoices = [{ id: 'all', label: copyParam('collection.all', 'All') }, { id: 'saved', label: copyParam('collection.saved', 'Saved') },
146
142
  ...projected.filters.map(label => ({ id: `value:${label}`, label: copyParam(`collection.filter.${label}`, label) }))];
147
143
  const loading = s.status === 'loading' || s.isLoading === true;
148
144
  // Older domain reducers expose `errored` rather than `isErrored`; backend
@@ -223,7 +219,7 @@ export function decorateCollection(name: string, def: { state: State; actions?:
223
219
  ? [copyParam(`collection.${name}.countOne`, config.countNoun[0]), copyParam(`collection.${name}.countMany`, config.countNoun[1])] : undefined }),
224
220
  selectedSummary: `${prefs.selectedIds.length} ${copyParam('collection.selected', 'selected')}`,
225
221
  filterChoices,
226
- chips: config.filterValues && config.rowStyle !== 'flat' ? filterChoices.filter(choice => ['all', 'saved', prefs.filter].includes(choice.id)) : filterChoices,
222
+ chips: config.filterValues ? filterChoices.filter(choice => ['all', 'saved', prefs.filter].includes(choice.id)) : filterChoices,
227
223
  } };
228
224
  };
229
225
  const actions: Record<string, Reducer> = {};
@@ -374,8 +370,9 @@ export function defineBackendCollection<S extends object, Row extends object>(na
374
370
  controller: controller as unknown as BackendCollection['controller'],
375
371
  apply: (state, page) => options.apply(state as S, page as unknown as CollectionQueryState<Row>) as State,
376
372
  });
377
- const registerService = options.onlineWrites ? withOnlineWrites(options.register ?? register, ['confirmCancel', 'confirmOperation', 'retryOperation', 'commitWrite'], { messageFields: options.onlineWriteMessageFields ?? ['actionMessage'] }) : (options.register ?? register);
378
- const handle = registerService(name, definition);
373
+ // Compatibility starters retain their existing mutation behavior; accept the
374
+ // current authoring contract without enabling the offline-write rollout.
375
+ const handle = (options.register ?? register)(name, definition);
379
376
  // Registration restored the state a cold boot saved: the page it showed is this run's, before the first load. Only
380
377
  // when the service's own rows came back with it: a bundle that keeps them out of the restore (its `notHydrated`)
381
378
  // starts its first load as before, never from rows it chose not to restore. Rows that came back empty are the
@@ -103,6 +103,8 @@ export function withIapPresentation<S extends object>(options: {
103
103
  // scopeLanded is the completion of the active load, not a stale load result. It
104
104
  // must publish even if another overlapping onAppear load advanced contentVersion.
105
105
  if (!next || (content && action !== "scopeLanded" && version !== contentVersion)) return undefined;
106
+ // A committed read projection supersedes older load results still carrying a skeleton.
107
+ if (action === "readChanged" && definition.readLifecycle) contentVersion++;
106
108
  if (content) {
107
109
  options.onContent?.(next);
108
110
  const nextItems = options.items(next);
@@ -130,9 +132,11 @@ export function withIapPresentation<S extends object>(options: {
130
132
  };
131
133
  try {
132
134
  const next = reduce(state, ...args);
133
- // Keep synchronous sidecars synchronous. Adding an await lets their old
134
- // catalog snapshot commit after a newer asynchronous refresh.
135
- if (content || (next && typeof (next as Promise<S | undefined>).then === "function")) {
135
+ // A cached read projection must commit before another onAppear can consume it.
136
+ // Other content actions retain their scheduling: shop filters and panels can
137
+ // change while a load is pending, and their existing completion order matters.
138
+ const synchronousReadProjection = action === "readChanged" && !!definition.readLifecycle;
139
+ if ((content && !synchronousReadProjection) || (next && typeof (next as Promise<S | undefined>).then === "function")) {
136
140
  return (async () => {
137
141
  try { return presentResult(await next); }
138
142
  finally { finished(); }
@@ -250,7 +250,7 @@ interface State {
250
250
  hideFeaturedSkeleton: boolean;
251
251
  welcome: string;
252
252
  refreshedAt: string;
253
- /** The resolved home layout preset (RFC 0045 FragmentSlot discriminator).
253
+ /** The resolved home layout preset (shared slot discriminator).
254
254
  * Plain string, never a proto enum — a `$service:` casePath decodes it as a
255
255
  * JSON string and unknown values fall through to the shipped defaultCase. */
256
256
  effectiveLayout: string;
@@ -161,6 +161,9 @@ function derive(state: State): State {
161
161
  });
162
162
  return {
163
163
  ...state,
164
+ nextCursor: state.nextCursor ?? "",
165
+ filterOptions: state.filterOptions ?? [{ id: "all", label: copyParam("collection.all", "All"), selected: true },
166
+ ...Object.keys(FULFILLMENT).map(label => ({ id: `value:${label}`, label: copyParam(`collection.filter.${label}`, label), selected: false }))],
164
167
  displayRows: rows.map((row, index, rows) => {
165
168
  // Older owned cache rows retain their original date in meta. Group only
166
169
  // adjacent days so pagination and an explicit backend sort remain authoritative.
@@ -584,7 +584,7 @@ const SCREENS = runtimeSetting({
584
584
  "package": "himalaya",
585
585
  "type": "Text",
586
586
  "props": {
587
- "text": "Showing saved offline results · may be outdated",
587
+ "text": "Showing previously loaded content · may be outdated",
588
588
  "style": "caption",
589
589
  "color": "textSecondary"
590
590
  }
@@ -3938,7 +3938,7 @@ const SCREENS = runtimeSetting({
3938
3938
  "package": "himalaya",
3939
3939
  "type": "Text",
3940
3940
  "props": {
3941
- "text": "Showing saved offline results · may be outdated",
3941
+ "text": "Showing previously loaded content · may be outdated",
3942
3942
  "style": "caption",
3943
3943
  "color": "textSecondary"
3944
3944
  }
@@ -7205,7 +7205,7 @@ const SCREENS = runtimeSetting({
7205
7205
  "package": "himalaya",
7206
7206
  "type": "Text",
7207
7207
  "props": {
7208
- "text": "Showing saved offline results · may be outdated",
7208
+ "text": "Showing previously loaded content · may be outdated",
7209
7209
  "style": "caption",
7210
7210
  "color": "textSecondary"
7211
7211
  }
@@ -10379,7 +10379,7 @@ const SCREENS = runtimeSetting({
10379
10379
  "package": "himalaya",
10380
10380
  "type": "Text",
10381
10381
  "props": {
10382
- "text": "Showing saved offline results · may be outdated",
10382
+ "text": "Showing previously loaded content · may be outdated",
10383
10383
  "style": "caption",
10384
10384
  "color": "textSecondary"
10385
10385
  }
@@ -13733,7 +13733,7 @@ const SCREENS = runtimeSetting({
13733
13733
  "package": "himalaya",
13734
13734
  "type": "Text",
13735
13735
  "props": {
13736
- "text": "Showing saved offline results · may be outdated",
13736
+ "text": "Showing previously loaded content · may be outdated",
13737
13737
  "style": "caption",
13738
13738
  "color": "textSecondary"
13739
13739
  }
@@ -17087,7 +17087,7 @@ const SCREENS = runtimeSetting({
17087
17087
  "package": "himalaya",
17088
17088
  "type": "Text",
17089
17089
  "props": {
17090
- "text": "Showing saved offline results · may be outdated",
17090
+ "text": "Showing previously loaded content · may be outdated",
17091
17091
  "style": "caption",
17092
17092
  "color": "textSecondary"
17093
17093
  }
@@ -20441,7 +20441,7 @@ const SCREENS = runtimeSetting({
20441
20441
  "package": "himalaya",
20442
20442
  "type": "Text",
20443
20443
  "props": {
20444
- "text": "Showing saved offline results · may be outdated",
20444
+ "text": "Showing previously loaded content · may be outdated",
20445
20445
  "style": "caption",
20446
20446
  "color": "textSecondary"
20447
20447
  }
@@ -23795,7 +23795,7 @@ const SCREENS = runtimeSetting({
23795
23795
  "package": "himalaya",
23796
23796
  "type": "Text",
23797
23797
  "props": {
23798
- "text": "Showing saved offline results · may be outdated",
23798
+ "text": "Showing previously loaded content · may be outdated",
23799
23799
  "style": "caption",
23800
23800
  "color": "textSecondary"
23801
23801
  }
@@ -27149,7 +27149,7 @@ const SCREENS = runtimeSetting({
27149
27149
  "package": "himalaya",
27150
27150
  "type": "Text",
27151
27151
  "props": {
27152
- "text": "Showing saved offline results · may be outdated",
27152
+ "text": "Showing previously loaded content · may be outdated",
27153
27153
  "style": "caption",
27154
27154
  "color": "textSecondary"
27155
27155
  }
@@ -30503,7 +30503,7 @@ const SCREENS = runtimeSetting({
30503
30503
  "package": "himalaya",
30504
30504
  "type": "Text",
30505
30505
  "props": {
30506
- "text": "Showing saved offline results · may be outdated",
30506
+ "text": "Showing previously loaded content · may be outdated",
30507
30507
  "style": "caption",
30508
30508
  "color": "textSecondary"
30509
30509
  }
@@ -33770,7 +33770,7 @@ const SCREENS = runtimeSetting({
33770
33770
  "package": "himalaya",
33771
33771
  "type": "Text",
33772
33772
  "props": {
33773
- "text": "Showing saved offline results · may be outdated",
33773
+ "text": "Showing previously loaded content · may be outdated",
33774
33774
  "style": "caption",
33775
33775
  "color": "textSecondary"
33776
33776
  }
@@ -36944,7 +36944,7 @@ const SCREENS = runtimeSetting({
36944
36944
  "package": "himalaya",
36945
36945
  "type": "Text",
36946
36946
  "props": {
36947
- "text": "Showing saved offline results · may be outdated",
36947
+ "text": "Showing previously loaded content · may be outdated",
36948
36948
  "style": "caption",
36949
36949
  "color": "textSecondary"
36950
36950
  }
@@ -40298,7 +40298,7 @@ const SCREENS = runtimeSetting({
40298
40298
  "package": "himalaya",
40299
40299
  "type": "Text",
40300
40300
  "props": {
40301
- "text": "Showing saved offline results · may be outdated",
40301
+ "text": "Showing previously loaded content · may be outdated",
40302
40302
  "style": "caption",
40303
40303
  "color": "textSecondary"
40304
40304
  }
@@ -43652,7 +43652,7 @@ const SCREENS = runtimeSetting({
43652
43652
  "package": "himalaya",
43653
43653
  "type": "Text",
43654
43654
  "props": {
43655
- "text": "Showing saved offline results · may be outdated",
43655
+ "text": "Showing previously loaded content · may be outdated",
43656
43656
  "style": "caption",
43657
43657
  "color": "textSecondary"
43658
43658
  }
@@ -46919,7 +46919,7 @@ const SCREENS = runtimeSetting({
46919
46919
  "package": "himalaya",
46920
46920
  "type": "Text",
46921
46921
  "props": {
46922
- "text": "Showing saved offline results · may be outdated",
46922
+ "text": "Showing previously loaded content · may be outdated",
46923
46923
  "style": "caption",
46924
46924
  "color": "textSecondary"
46925
46925
  }
@@ -68518,7 +68518,7 @@ const SCREENS = runtimeSetting({
68518
68518
  "package": "himalaya",
68519
68519
  "type": "Text",
68520
68520
  "props": {
68521
- "text": "Showing saved offline results · may be outdated",
68521
+ "text": "Showing previously loaded content · may be outdated",
68522
68522
  "style": "caption",
68523
68523
  "color": "textSecondary"
68524
68524
  }
@@ -71248,7 +71248,7 @@ const SCREENS = runtimeSetting({
71248
71248
  "package": "himalaya",
71249
71249
  "type": "Text",
71250
71250
  "props": {
71251
- "text": "Showing saved offline results · may be outdated",
71251
+ "text": "Showing previously loaded content · may be outdated",
71252
71252
  "style": "caption",
71253
71253
  "color": "textSecondary"
71254
71254
  }
@@ -73752,7 +73752,7 @@ const SCREENS = runtimeSetting({
73752
73752
  "package": "himalaya",
73753
73753
  "type": "Text",
73754
73754
  "props": {
73755
- "text": "Showing saved offline results · may be outdated",
73755
+ "text": "Showing previously loaded content · may be outdated",
73756
73756
  "style": "caption",
73757
73757
  "color": "textSecondary"
73758
73758
  }
@@ -76434,7 +76434,7 @@ const SCREENS = runtimeSetting({
76434
76434
  "package": "himalaya",
76435
76435
  "type": "Text",
76436
76436
  "props": {
76437
- "text": "Showing saved offline results · may be outdated",
76437
+ "text": "Showing previously loaded content · may be outdated",
76438
76438
  "style": "caption",
76439
76439
  "color": "textSecondary"
76440
76440
  }
@@ -1,4 +1,3 @@
1
- import { withOnlineWrites } from './online-actions.js';
2
1
  import { defineService as register, type ServiceDefinition } from '@himalaya/state';
3
2
  import { COLLECTIONS, COLLECTION_CHROME_MIN_ITEMS, initialCollection, normalizeCollection, projectCollection, collectionId, collectionActionsLabel, type CollectionRow } from './collection-contract.js';
4
3
  import { localPreferences, type PreferenceRuntime } from './local-preferences.js';
@@ -95,10 +94,7 @@ export function decorateCollection(name: string, def: { state: State; actions?:
95
94
  if (sort === 'default' || sort === 'az' || sort === 'za') { prefs.sort = sort; changed = true; }
96
95
  }
97
96
  if (Object.prototype.hasOwnProperty.call(input, 'collectionFilter')) {
98
- const requestedFilter = String(input.collectionFilter ?? '');
99
- // Old links to Saved must migrate with the stored preference when this
100
- // collection no longer exposes that filter.
101
- const filter = config.rowStyle === 'flat' && requestedFilter === 'saved' ? 'all' : requestedFilter;
97
+ const filter = String(input.collectionFilter ?? '');
102
98
  const configured = config.filterValues ?? [];
103
99
  const rows = Array.isArray(state[config.rows]) ? state[config.rows] as CollectionRow[] : [];
104
100
  const derived = config.filter ? rows.map(row => String(row[config.filter!] ?? '')).filter(Boolean) : [];
@@ -142,7 +138,7 @@ export function decorateCollection(name: string, def: { state: State; actions?:
142
138
  copyParam('collection.itemActionsFor', 'Actions for {title}'), copyParam('collection.itemActions', 'Item actions'));
143
139
  });
144
140
  if (previewId && !rows.some(row => collectionId(row) === previewId)) previewId = '';
145
- const filterChoices = [{ id: 'all', label: copyParam('collection.all', 'All') }, ...(config.rowStyle === 'flat' ? [] : [{ id: 'saved', label: copyParam('collection.saved', 'Saved') }]),
141
+ const filterChoices = [{ id: 'all', label: copyParam('collection.all', 'All') }, { id: 'saved', label: copyParam('collection.saved', 'Saved') },
146
142
  ...projected.filters.map(label => ({ id: `value:${label}`, label: copyParam(`collection.filter.${label}`, label) }))];
147
143
  const loading = s.status === 'loading' || s.isLoading === true;
148
144
  // Older domain reducers expose `errored` rather than `isErrored`; backend
@@ -223,7 +219,7 @@ export function decorateCollection(name: string, def: { state: State; actions?:
223
219
  ? [copyParam(`collection.${name}.countOne`, config.countNoun[0]), copyParam(`collection.${name}.countMany`, config.countNoun[1])] : undefined }),
224
220
  selectedSummary: `${prefs.selectedIds.length} ${copyParam('collection.selected', 'selected')}`,
225
221
  filterChoices,
226
- chips: config.filterValues && config.rowStyle !== 'flat' ? filterChoices.filter(choice => ['all', 'saved', prefs.filter].includes(choice.id)) : filterChoices,
222
+ chips: config.filterValues ? filterChoices.filter(choice => ['all', 'saved', prefs.filter].includes(choice.id)) : filterChoices,
227
223
  } };
228
224
  };
229
225
  const actions: Record<string, Reducer> = {};
@@ -374,8 +370,9 @@ export function defineBackendCollection<S extends object, Row extends object>(na
374
370
  controller: controller as unknown as BackendCollection['controller'],
375
371
  apply: (state, page) => options.apply(state as S, page as unknown as CollectionQueryState<Row>) as State,
376
372
  });
377
- const registerService = options.onlineWrites ? withOnlineWrites(options.register ?? register, ['confirmCancel', 'confirmOperation', 'retryOperation', 'commitWrite'], { messageFields: options.onlineWriteMessageFields ?? ['actionMessage'] }) : (options.register ?? register);
378
- const handle = registerService(name, definition);
373
+ // Compatibility starters retain their existing mutation behavior; accept the
374
+ // current authoring contract without enabling the offline-write rollout.
375
+ const handle = (options.register ?? register)(name, definition);
379
376
  // Registration restored the state a cold boot saved: the page it showed is this run's, before the first load. Only
380
377
  // when the service's own rows came back with it: a bundle that keeps them out of the restore (its `notHydrated`)
381
378
  // starts its first load as before, never from rows it chose not to restore. Rows that came back empty are the
@@ -45,7 +45,7 @@ const LIMIT = 50;
45
45
  let zoneLookup: Promise<string | undefined> | undefined;
46
46
  function siteZone(): Promise<string | undefined> {
47
47
  // `Promise.resolve().then` so a bridge that throws synchronously is caught here too.
48
- zoneLookup ??= Promise.resolve().then(getSiteTimeZone).catch(() => undefined);
48
+ zoneLookup ??= Promise.resolve().then(() => getSiteTimeZone()).catch(() => undefined);
49
49
  return zoneLookup;
50
50
  }
51
51
 
@@ -9195,6 +9195,21 @@ const SCREENS = runtimeSetting({
9195
9195
  }
9196
9196
  }
9197
9197
  },
9198
+ {
9199
+ "id": "",
9200
+ "body": {
9201
+ "package": "himalaya",
9202
+ "type": "Text",
9203
+ "props": {
9204
+ "text": "$service:himiBrandedShop.readMessage",
9205
+ "style": "body",
9206
+ "color": "textSecondary"
9207
+ }
9208
+ },
9209
+ "modifiers": {
9210
+ "hiddenPath": "$service:himiBrandedShop.noReadMessage"
9211
+ }
9212
+ },
9198
9213
  {
9199
9214
  "id": "",
9200
9215
  "body": {
@@ -9205,6 +9220,9 @@ const SCREENS = runtimeSetting({
9205
9220
  "style": "body",
9206
9221
  "color": "textSecondary"
9207
9222
  }
9223
+ },
9224
+ "modifiers": {
9225
+ "hiddenPath": "$service:himiBrandedShop.hasReadMessage"
9208
9226
  }
9209
9227
  },
9210
9228
  {
@@ -26711,7 +26729,7 @@ const SCREENS = runtimeSetting({
26711
26729
  "package": "himalaya",
26712
26730
  "type": "Text",
26713
26731
  "props": {
26714
- "text": "Showing saved offline results · may be outdated",
26732
+ "text": "Showing previously loaded content · may be outdated",
26715
26733
  "style": "caption",
26716
26734
  "color": "textSecondary"
26717
26735
  }
@@ -29886,7 +29904,7 @@ const SCREENS = runtimeSetting({
29886
29904
  "package": "himalaya",
29887
29905
  "type": "Text",
29888
29906
  "props": {
29889
- "text": "Showing saved offline results · may be outdated",
29907
+ "text": "Showing previously loaded content · may be outdated",
29890
29908
  "style": "caption",
29891
29909
  "color": "textSecondary"
29892
29910
  }
@@ -32455,7 +32473,7 @@ const SCREENS = runtimeSetting({
32455
32473
  "package": "himalaya",
32456
32474
  "type": "Text",
32457
32475
  "props": {
32458
- "text": "Showing saved offline results · may be outdated",
32476
+ "text": "Showing previously loaded content · may be outdated",
32459
32477
  "style": "caption",
32460
32478
  "color": "textSecondary"
32461
32479
  }
@@ -37879,7 +37897,7 @@ const SCREENS = runtimeSetting({
37879
37897
  "package": "himalaya",
37880
37898
  "type": "Text",
37881
37899
  "props": {
37882
- "text": "Showing saved offline results · may be outdated",
37900
+ "text": "Showing previously loaded content · may be outdated",
37883
37901
  "style": "caption",
37884
37902
  "color": "textSecondary"
37885
37903
  }
@@ -40505,7 +40523,7 @@ const SCREENS = runtimeSetting({
40505
40523
  "package": "himalaya",
40506
40524
  "type": "Text",
40507
40525
  "props": {
40508
- "text": "Showing saved offline results · may be outdated",
40526
+ "text": "Showing previously loaded content · may be outdated",
40509
40527
  "style": "caption",
40510
40528
  "color": "textSecondary"
40511
40529
  }
@@ -42793,7 +42811,7 @@ const SCREENS = runtimeSetting({
42793
42811
  "package": "himalaya",
42794
42812
  "type": "Text",
42795
42813
  "props": {
42796
- "text": "Showing saved offline results · may be outdated",
42814
+ "text": "Showing previously loaded content · may be outdated",
42797
42815
  "style": "caption",
42798
42816
  "color": "textSecondary"
42799
42817
  }
@@ -45353,7 +45371,7 @@ const SCREENS = runtimeSetting({
45353
45371
  "package": "himalaya",
45354
45372
  "type": "Text",
45355
45373
  "props": {
45356
- "text": "Showing saved offline results · may be outdated",
45374
+ "text": "Showing previously loaded content · may be outdated",
45357
45375
  "style": "caption",
45358
45376
  "color": "textSecondary"
45359
45377
  }
@@ -47830,7 +47848,7 @@ const SCREENS = runtimeSetting({
47830
47848
  "package": "himalaya",
47831
47849
  "type": "Text",
47832
47850
  "props": {
47833
- "text": "Showing saved offline results · may be outdated",
47851
+ "text": "Showing previously loaded content · may be outdated",
47834
47852
  "style": "caption",
47835
47853
  "color": "textSecondary"
47836
47854
  }
@@ -50984,7 +51002,7 @@ const SCREENS = runtimeSetting({
50984
51002
  "package": "himalaya",
50985
51003
  "type": "Text",
50986
51004
  "props": {
50987
- "text": "Showing saved offline results · may be outdated",
51005
+ "text": "Showing previously loaded content · may be outdated",
50988
51006
  "style": "caption",
50989
51007
  "color": "textSecondary"
50990
51008
  }
@@ -53428,7 +53446,7 @@ const SCREENS = runtimeSetting({
53428
53446
  "package": "himalaya",
53429
53447
  "type": "Text",
53430
53448
  "props": {
53431
- "text": "Showing saved offline results · may be outdated",
53449
+ "text": "Showing previously loaded content · may be outdated",
53432
53450
  "style": "caption",
53433
53451
  "color": "textSecondary"
53434
53452
  }
@@ -57337,7 +57355,7 @@ const SCREENS = runtimeSetting({
57337
57355
  "package": "himalaya",
57338
57356
  "type": "Text",
57339
57357
  "props": {
57340
- "text": "Showing saved offline results · may be outdated",
57358
+ "text": "Showing previously loaded content · may be outdated",
57341
57359
  "style": "caption",
57342
57360
  "color": "textSecondary"
57343
57361
  }
@@ -60900,7 +60918,7 @@ const SCREENS = runtimeSetting({
60900
60918
  "package": "himalaya",
60901
60919
  "type": "Text",
60902
60920
  "props": {
60903
- "text": "Showing saved offline results · may be outdated",
60921
+ "text": "Showing previously loaded content · may be outdated",
60904
60922
  "style": "caption",
60905
60923
  "color": "textSecondary"
60906
60924
  }
@@ -63975,7 +63993,7 @@ const SCREENS = runtimeSetting({
63975
63993
  "package": "himalaya",
63976
63994
  "type": "Text",
63977
63995
  "props": {
63978
- "text": "Showing saved offline results · may be outdated",
63996
+ "text": "Showing previously loaded content · may be outdated",
63979
63997
  "style": "caption",
63980
63998
  "color": "textSecondary"
63981
63999
  }
@@ -67695,7 +67713,7 @@ const SCREENS = runtimeSetting({
67695
67713
  "package": "himalaya",
67696
67714
  "type": "Text",
67697
67715
  "props": {
67698
- "text": "Showing saved offline results · may be outdated",
67716
+ "text": "Showing previously loaded content · may be outdated",
67699
67717
  "style": "caption",
67700
67718
  "color": "textSecondary"
67701
67719
  }
@@ -69951,7 +69969,7 @@ const SCREENS = runtimeSetting({
69951
69969
  "package": "himalaya",
69952
69970
  "type": "Text",
69953
69971
  "props": {
69954
- "text": "Showing saved offline results · may be outdated",
69972
+ "text": "Showing previously loaded content · may be outdated",
69955
69973
  "style": "caption",
69956
69974
  "color": "textSecondary"
69957
69975
  }
@@ -72511,7 +72529,7 @@ const SCREENS = runtimeSetting({
72511
72529
  "package": "himalaya",
72512
72530
  "type": "Text",
72513
72531
  "props": {
72514
- "text": "Showing saved offline results · may be outdated",
72532
+ "text": "Showing previously loaded content · may be outdated",
72515
72533
  "style": "caption",
72516
72534
  "color": "textSecondary"
72517
72535
  }
@@ -75313,7 +75331,7 @@ const SCREENS = runtimeSetting({
75313
75331
  "package": "himalaya",
75314
75332
  "type": "Text",
75315
75333
  "props": {
75316
- "text": "Showing saved offline results · may be outdated",
75334
+ "text": "Showing previously loaded content · may be outdated",
75317
75335
  "style": "caption",
75318
75336
  "color": "textSecondary"
75319
75337
  }
@@ -78365,7 +78383,7 @@ const SCREENS = runtimeSetting({
78365
78383
  "package": "himalaya",
78366
78384
  "type": "Text",
78367
78385
  "props": {
78368
- "text": "Showing saved offline results · may be outdated",
78386
+ "text": "Showing previously loaded content · may be outdated",
78369
78387
  "style": "caption",
78370
78388
  "color": "textSecondary"
78371
78389
  }
@@ -81384,7 +81402,7 @@ const SCREENS = runtimeSetting({
81384
81402
  "package": "himalaya",
81385
81403
  "type": "Text",
81386
81404
  "props": {
81387
- "text": "Showing saved offline results · may be outdated",
81405
+ "text": "Showing previously loaded content · may be outdated",
81388
81406
  "style": "caption",
81389
81407
  "color": "textSecondary"
81390
81408
  }
@@ -83818,7 +83836,7 @@ const SCREENS = runtimeSetting({
83818
83836
  "package": "himalaya",
83819
83837
  "type": "Text",
83820
83838
  "props": {
83821
- "text": "Showing saved offline results · may be outdated",
83839
+ "text": "Showing previously loaded content · may be outdated",
83822
83840
  "style": "caption",
83823
83841
  "color": "textSecondary"
83824
83842
  }