@wix/agent-skills 1.14.0 → 1.15.1

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 (268) hide show
  1. package/README.md +12 -1
  2. package/package.json +1 -1
  3. package/skills/README.md +23 -0
  4. package/skills/wix-app/SKILL.md +10 -2
  5. package/skills/wix-app/references/AUTO_PATTERNS_DASHBOARD.md +326 -0
  6. package/skills/wix-app/references/CODE_QUALITY.md +1 -0
  7. package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +124 -115
  8. package/skills/wix-app/references/DASHBOARD_PAGE.md +3 -0
  9. package/skills/wix-app/references/DATA_COLLECTION.md +5 -3
  10. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +25 -9
  11. package/skills/wix-app/references/SITE_PLUGIN.md +1 -1
  12. package/skills/wix-app/references/STORES_VERSIONING.md +9 -211
  13. package/skills/wix-app/references/auto-patterns-dashboard/action-cell.md +115 -0
  14. package/skills/wix-app/references/auto-patterns-dashboard/app-config-structure.md +264 -0
  15. package/skills/wix-app/references/auto-patterns-dashboard/app-context.md +37 -0
  16. package/skills/wix-app/references/auto-patterns-dashboard/bulk-actions.md +86 -0
  17. package/skills/wix-app/references/auto-patterns-dashboard/collection-page-actions.md +119 -0
  18. package/skills/wix-app/references/auto-patterns-dashboard/collection-page.md +103 -0
  19. package/skills/wix-app/references/auto-patterns-dashboard/custom-actions-override.md +76 -0
  20. package/skills/wix-app/references/auto-patterns-dashboard/custom-columns-override.md +82 -0
  21. package/skills/wix-app/references/auto-patterns-dashboard/custom-components-override.md +89 -0
  22. package/skills/wix-app/references/auto-patterns-dashboard/custom-header-override.md +124 -0
  23. package/skills/wix-app/references/auto-patterns-dashboard/custom-sections-override.md +91 -0
  24. package/skills/wix-app/references/auto-patterns-dashboard/custom-slots-override.md +71 -0
  25. package/skills/wix-app/references/auto-patterns-dashboard/entity-page-actions.md +70 -0
  26. package/skills/wix-app/references/auto-patterns-dashboard/entity-page-view-actions.md +73 -0
  27. package/skills/wix-app/references/auto-patterns-dashboard/entity-page.md +98 -0
  28. package/skills/wix-app/references/auto-patterns-dashboard/example-patterns.json +278 -0
  29. package/skills/wix-app/references/auto-patterns-dashboard/pages-configuration.md +94 -0
  30. package/skills/wix-app/references/auto-patterns-dashboard/resolved-action.md +43 -0
  31. package/skills/wix-app/references/auto-patterns-dashboard/sdk-utilities.md +66 -0
  32. package/skills/wix-app/references/auto-patterns-dashboard/views.md +76 -0
  33. package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +5 -0
  34. package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +1 -14
  35. package/skills/wix-app/references/editor-react-component/ANIMATED-COMPONENTS.md +151 -0
  36. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +54 -29
  37. package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +2 -2
  38. package/skills/wix-app/references/editor-react-component/COMPONENT-PREVIEW.md +57 -0
  39. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +23 -105
  40. package/skills/wix-app/references/editor-react-component/DESIGN-STATES.md +127 -0
  41. package/skills/wix-app/references/editor-react-component/PARTS.md +2 -1
  42. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +18 -16
  43. package/skills/wix-app/references/editor-react-component/REACT-PATTERNS.md +25 -53
  44. package/skills/wix-app/references/stores/CATEGORIES.md +22 -0
  45. package/skills/wix-app/references/stores/GET_PRODUCT.md +99 -0
  46. package/skills/wix-app/references/stores/INVENTORY.md +37 -0
  47. package/skills/wix-app/references/stores/QUERY.md +87 -0
  48. package/skills/wix-app/references/stores/WRITE.md +55 -0
  49. package/skills/wix-app/scripts/generate-auto-patterns.js +510 -0
  50. package/skills/wix-auth/SKILL.md +12 -0
  51. package/skills/wix-auth/references/device-flow.md +140 -0
  52. package/skills/wix-docs/SKILL.md +188 -0
  53. package/skills/wix-docs/references/API_SPEC_SEARCH.md +213 -0
  54. package/skills/wix-docs/references/EXTRACTING.md +120 -0
  55. package/skills/wix-headless/SKILL.md +89 -130
  56. package/skills/wix-headless/entry/bootstrap.mjs +93 -0
  57. package/skills/wix-headless/entry/skill.md +76 -0
  58. package/skills/wix-headless/references/AI_FEATURES.md +178 -0
  59. package/skills/wix-headless/references/CAPABILITIES.md +86 -0
  60. package/skills/wix-headless/references/DISCOVERY.md +34 -56
  61. package/skills/wix-headless/references/DOC_DISCOVERY.md +37 -0
  62. package/skills/wix-headless/references/FEEDBACK.md +129 -0
  63. package/skills/wix-headless/references/IMAGE_GENERATION.md +69 -0
  64. package/skills/wix-headless/references/SDK_HANDOFF.md +99 -0
  65. package/skills/wix-headless/references/SEED.md +45 -187
  66. package/skills/wix-headless/references/SETUP.md +32 -103
  67. package/skills/wix-headless/references/astro.md +98 -0
  68. package/skills/wix-headless/references/inline-recipes/how-to-code-a-blog.md +196 -0
  69. package/skills/wix-headless/references/inline-recipes/how-to-code-a-store.md +236 -0
  70. package/skills/wix-headless/references/inline-recipes/how-to-code-bookings.md +279 -0
  71. package/skills/wix-headless/references/inline-recipes/how-to-code-cms.md +163 -0
  72. package/skills/wix-headless/references/inline-recipes/how-to-code-events.md +203 -0
  73. package/skills/wix-headless/references/inline-recipes/how-to-code-forms.md +222 -0
  74. package/skills/wix-headless/references/inline-recipes/how-to-code-members-astro.md +124 -0
  75. package/skills/wix-headless/references/inline-recipes/how-to-code-members-custom-login.md +160 -0
  76. package/skills/wix-headless/references/inline-recipes/how-to-code-members-non-astro.md +118 -0
  77. package/skills/wix-headless/references/inline-recipes/how-to-code-portfolio.md +132 -0
  78. package/skills/wix-headless/references/inline-recipes/how-to-code-pricing-plans.md +124 -0
  79. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-orders.md +188 -0
  80. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurant-reservations.md +213 -0
  81. package/skills/wix-headless/references/inline-recipes/how-to-code-restaurants.md +161 -0
  82. package/skills/wix-headless/references/inline-recipes/setup-blog.md +175 -0
  83. package/skills/wix-headless/references/inline-recipes/setup-bookings.md +232 -0
  84. package/skills/wix-headless/references/inline-recipes/setup-cms.md +200 -0
  85. package/skills/wix-headless/references/inline-recipes/setup-events.md +196 -0
  86. package/skills/wix-headless/references/inline-recipes/setup-forms.md +174 -0
  87. package/skills/wix-headless/references/inline-recipes/setup-online-store.md +192 -0
  88. package/skills/wix-headless/references/inline-recipes/setup-portfolio.md +155 -0
  89. package/skills/wix-headless/references/inline-recipes/setup-pricing-plans.md +229 -0
  90. package/skills/wix-headless/references/inline-recipes/setup-restaurant-experiences.md +73 -0
  91. package/skills/wix-headless/references/inline-recipes/setup-restaurant-orders.md +197 -0
  92. package/skills/wix-headless/references/inline-recipes/setup-restaurant-reservations.md +136 -0
  93. package/skills/wix-headless/references/inline-recipes/setup-restaurants.md +152 -0
  94. package/skills/wix-headless/references/managed/AUTHENTICATION.md +57 -0
  95. package/skills/wix-headless/references/managed/CONNECT.md +74 -0
  96. package/skills/wix-headless/references/managed/CREATE.md +130 -0
  97. package/skills/wix-headless/references/managed/DEPLOYMENT.md +79 -0
  98. package/skills/wix-headless/references/non-astro.md +59 -0
  99. package/skills/wix-headless/references/self-managed/AUTHENTICATION.md +22 -0
  100. package/skills/wix-headless/references/self-managed/DEPLOYMENT.md +15 -0
  101. package/skills/wix-headless/references/stripe/AUTHENTICATION.md +55 -0
  102. package/skills/wix-headless/references/stripe/DEPLOYMENT.md +71 -0
  103. package/skills/wix-manage/SKILL.md +29 -3
  104. package/skills/wix-manage/references/analytics/query-site-analytics.md +298 -0
  105. package/skills/wix-manage/references/app-installation/install-wix-apps.md +3 -0
  106. package/skills/wix-manage/references/bookings/create-and-update-booking-services.md +1 -1
  107. package/skills/wix-manage/references/bookings/create-booking-service-from-prompt.md +6 -5
  108. package/skills/wix-manage/references/bookings/create-course-service.md +30 -5
  109. package/skills/wix-manage/references/bookings/diagnose-availability-issues.md +299 -0
  110. package/skills/wix-manage/references/cms/cms-schema-management.md +6 -0
  111. package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +30 -7
  112. package/skills/wix-manage/references/marketing/create-and-publish-social-post.md +517 -0
  113. package/skills/wix-manage/references/marketing/generate-and-publish-marketing-plan.md +218 -0
  114. package/skills/wix-manage/references/rich-content/author-ricos-rich-content.md +249 -0
  115. package/skills/wix-manage/references/sites/site-import.md +270 -0
  116. package/skills/wix-manage/references/stores/create-product-from-image.md +8 -6
  117. package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +57 -0
  118. package/skills/wix-vibe-headless/SKILL.md +142 -0
  119. package/skills/wix-vibe-headless/platforms/README.md +22 -0
  120. package/skills/wix-vibe-headless/platforms/base44.md +142 -0
  121. package/skills/wix-vibe-headless/platforms/generic.md +87 -0
  122. package/skills/wix-vibe-headless/references/blog/INSTRUCTIONS.md +128 -0
  123. package/skills/wix-vibe-headless/references/blog/wix-blog.js +217 -0
  124. package/skills/wix-vibe-headless/references/bookings/INSTRUCTIONS.md +157 -0
  125. package/skills/wix-vibe-headless/references/bookings/wix-bookings-checkout.js +147 -0
  126. package/skills/wix-vibe-headless/references/bookings/wix-bookings-services.js +217 -0
  127. package/skills/wix-vibe-headless/references/cms/INSTRUCTIONS.md +154 -0
  128. package/skills/wix-vibe-headless/references/cms/wix-cms.js +186 -0
  129. package/skills/wix-vibe-headless/references/events/INSTRUCTIONS.md +142 -0
  130. package/skills/wix-vibe-headless/references/events/wix-events-browse.js +136 -0
  131. package/skills/wix-vibe-headless/references/events/wix-events-registration.js +187 -0
  132. package/skills/wix-vibe-headless/references/members/INSTRUCTIONS.md +211 -0
  133. package/skills/wix-vibe-headless/references/members/wix-members-auth.js +387 -0
  134. package/skills/wix-vibe-headless/references/portfolio/INSTRUCTIONS.md +111 -0
  135. package/skills/wix-vibe-headless/references/portfolio/wix-portfolio.js +223 -0
  136. package/skills/wix-vibe-headless/references/pricing-plans/INSTRUCTIONS.md +127 -0
  137. package/skills/wix-vibe-headless/references/pricing-plans/wix-pricing-plans.js +157 -0
  138. package/skills/wix-vibe-headless/references/restaurants/INSTRUCTIONS.md +138 -0
  139. package/skills/wix-vibe-headless/references/restaurants/wix-restaurants-menu.js +224 -0
  140. package/skills/wix-vibe-headless/references/restaurants/wix-restaurants-ordering.js +156 -0
  141. package/skills/wix-vibe-headless/references/restaurants/wix-restaurants-reservations.js +107 -0
  142. package/skills/wix-vibe-headless/references/shared/wix-client.js +186 -0
  143. package/skills/wix-vibe-headless/references/storefront/INSTRUCTIONS.md +164 -0
  144. package/skills/wix-vibe-headless/references/storefront/wix-store-cart.js +147 -0
  145. package/skills/wix-vibe-headless/references/storefront/wix-store-catalog.js +146 -0
  146. package/skills/wix-headless/references/BUILD-astro.md +0 -253
  147. package/skills/wix-headless/references/BUILD-own-build.md +0 -167
  148. package/skills/wix-headless/references/BUILD.md +0 -105
  149. package/skills/wix-headless/references/DESIGN_SYSTEM.md +0 -165
  150. package/skills/wix-headless/references/DISCOVERY-connect.md +0 -55
  151. package/skills/wix-headless/references/DISCOVERY-create.md +0 -238
  152. package/skills/wix-headless/references/PLAN-connect.md +0 -19
  153. package/skills/wix-headless/references/PLAN-create.md +0 -17
  154. package/skills/wix-headless/references/PLAN.md +0 -92
  155. package/skills/wix-headless/references/astro/blog/BLOG_PAGES.md +0 -300
  156. package/skills/wix-headless/references/astro/blog/BLOG_SETUP.md +0 -218
  157. package/skills/wix-headless/references/astro/bookings/COMPONENTS.md +0 -45
  158. package/skills/wix-headless/references/astro/bookings/SERVICES_PAGES.md +0 -77
  159. package/skills/wix-headless/references/astro/cms/CMS_FOUNDATIONS.md +0 -214
  160. package/skills/wix-headless/references/astro/cms/FAQ_KNOWLEDGE_BASE.md +0 -231
  161. package/skills/wix-headless/references/astro/cms/PORTFOLIO.md +0 -453
  162. package/skills/wix-headless/references/astro/cms/RESOURCE_LIBRARY.md +0 -354
  163. package/skills/wix-headless/references/astro/cms/TEAM_DIRECTORY.md +0 -299
  164. package/skills/wix-headless/references/astro/designer/INSTRUCTIONS.md +0 -351
  165. package/skills/wix-headless/references/astro/ecom/CART_PAGES.md +0 -119
  166. package/skills/wix-headless/references/astro/ecom/CART_WIRING.md +0 -103
  167. package/skills/wix-headless/references/astro/ecom/COMPONENTS_CSS.md +0 -132
  168. package/skills/wix-headless/references/astro/forms/CONTACT_FORM.md +0 -463
  169. package/skills/wix-headless/references/astro/gift-cards/COMPONENTS.md +0 -119
  170. package/skills/wix-headless/references/astro/gift-cards/PAGES.md +0 -129
  171. package/skills/wix-headless/references/astro/stores/BACK_IN_STOCK.md +0 -178
  172. package/skills/wix-headless/references/astro/stores/CATEGORY_PAGES.md +0 -85
  173. package/skills/wix-headless/references/astro/stores/COMPONENTS_CSS.md +0 -129
  174. package/skills/wix-headless/references/astro/stores/HOME_AND_NAV.md +0 -229
  175. package/skills/wix-headless/references/astro/stores/PRODUCT_PAGES.md +0 -215
  176. package/skills/wix-headless/references/astro/stores/SHARED_WIRING.md +0 -165
  177. package/skills/wix-headless/references/astro/templates/Layout.astro +0 -132
  178. package/skills/wix-headless/references/astro/templates/astro.config.mjs +0 -41
  179. package/skills/wix-headless/references/astro/templates/bookings/AvailabilityCalendar.tsx +0 -374
  180. package/skills/wix-headless/references/astro/templates/bookings/BookingForm.tsx +0 -136
  181. package/skills/wix-headless/references/astro/templates/bookings/SeoTags.astro +0 -25
  182. package/skills/wix-headless/references/astro/templates/bookings/ServiceBookingFlow.tsx +0 -71
  183. package/skills/wix-headless/references/astro/templates/bookings/ServiceCard.astro +0 -54
  184. package/skills/wix-headless/references/astro/templates/bookings/booking-confirmation.astro +0 -49
  185. package/skills/wix-headless/references/astro/templates/bookings/bookingDriver.ts +0 -245
  186. package/skills/wix-headless/references/astro/templates/bookings/components-bookings.css +0 -424
  187. package/skills/wix-headless/references/astro/templates/bookings/services/[slug].astro +0 -176
  188. package/skills/wix-headless/references/astro/templates/bookings/services/index.astro +0 -181
  189. package/skills/wix-headless/references/astro/templates/ecom/CartBadge.tsx +0 -84
  190. package/skills/wix-headless/references/astro/templates/ecom/CartView.tsx +0 -543
  191. package/skills/wix-headless/references/astro/templates/ecom/cart.astro +0 -13
  192. package/skills/wix-headless/references/astro/templates/ecom/components-ecom.css +0 -302
  193. package/skills/wix-headless/references/astro/templates/ecom/discounts.ts +0 -71
  194. package/skills/wix-headless/references/astro/templates/ecom/thank-you.astro +0 -24
  195. package/skills/wix-headless/references/astro/templates/gift-cards/GiftCardPurchase.tsx +0 -172
  196. package/skills/wix-headless/references/astro/templates/gift-cards/_home-teaser-snippet.astro +0 -42
  197. package/skills/wix-headless/references/astro/templates/gift-cards/_nav-snippet.astro +0 -11
  198. package/skills/wix-headless/references/astro/templates/gift-cards/components-gift-cards.css +0 -220
  199. package/skills/wix-headless/references/astro/templates/gift-cards/gift-cards.astro +0 -51
  200. package/skills/wix-headless/references/astro/templates/gift-cards/gift-cards.ts +0 -75
  201. package/skills/wix-headless/references/astro/templates/global.css +0 -288
  202. package/skills/wix-headless/references/astro/templates/stores/AddToCartButton.tsx +0 -77
  203. package/skills/wix-headless/references/astro/templates/stores/BackInStockForm.tsx +0 -176
  204. package/skills/wix-headless/references/astro/templates/stores/CategoryRail.astro +0 -69
  205. package/skills/wix-headless/references/astro/templates/stores/ProductCard.astro +0 -79
  206. package/skills/wix-headless/references/astro/templates/stores/ProductPurchase.tsx +0 -397
  207. package/skills/wix-headless/references/astro/templates/stores/SeoTags.astro +0 -21
  208. package/skills/wix-headless/references/astro/templates/stores/back-in-stock.ts +0 -67
  209. package/skills/wix-headless/references/astro/templates/stores/categories.ts +0 -155
  210. package/skills/wix-headless/references/astro/templates/stores/category/[slug].astro +0 -130
  211. package/skills/wix-headless/references/astro/templates/stores/components-stores.css +0 -400
  212. package/skills/wix-headless/references/astro/templates/stores/products/[slug].astro +0 -128
  213. package/skills/wix-headless/references/astro/templates/stores/products/index.astro +0 -101
  214. package/skills/wix-headless/references/blog/BLOG_CONTENT.md +0 -161
  215. package/skills/wix-headless/references/blog/INSTRUCTIONS.md +0 -32
  216. package/skills/wix-headless/references/bookings/FLOW.md +0 -246
  217. package/skills/wix-headless/references/bookings/INSTRUCTIONS.md +0 -95
  218. package/skills/wix-headless/references/bookings/SERVICES_DATA.md +0 -355
  219. package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +0 -176
  220. package/skills/wix-headless/references/cms/INSTRUCTIONS.md +0 -71
  221. package/skills/wix-headless/references/commands/known-apps.json +0 -6
  222. package/skills/wix-headless/references/custom/CONNECTION_PLAN.md +0 -142
  223. package/skills/wix-headless/references/custom/INSTRUCTIONS.md +0 -88
  224. package/skills/wix-headless/references/custom/blog/WIRING.md +0 -52
  225. package/skills/wix-headless/references/custom/bookings/WIRING.md +0 -197
  226. package/skills/wix-headless/references/custom/cms/WIRING.md +0 -97
  227. package/skills/wix-headless/references/custom/ecom/WIRING.md +0 -67
  228. package/skills/wix-headless/references/custom/forms/WIRING.md +0 -101
  229. package/skills/wix-headless/references/custom/stores/WIRING.md +0 -80
  230. package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +0 -59
  231. package/skills/wix-headless/references/forms/INSTRUCTIONS.md +0 -43
  232. package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +0 -51
  233. package/skills/wix-headless/references/images/INSTRUCTIONS.md +0 -357
  234. package/skills/wix-headless/references/seed-recipes.md +0 -49
  235. package/skills/wix-headless/references/shared/AGENTS_MD.md +0 -47
  236. package/skills/wix-headless/references/shared/AUTHENTICATION.md +0 -108
  237. package/skills/wix-headless/references/shared/BUILD_NOISE.md +0 -8
  238. package/skills/wix-headless/references/shared/DESIGN_MD.md +0 -84
  239. package/skills/wix-headless/references/shared/DOCS_SEARCH.md +0 -41
  240. package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +0 -186
  241. package/skills/wix-headless/references/shared/IMPLEMENTER.md +0 -206
  242. package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +0 -97
  243. package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +0 -143
  244. package/skills/wix-headless/references/shared/STYLING.md +0 -140
  245. package/skills/wix-headless/references/stores/INSTRUCTIONS.md +0 -126
  246. package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +0 -252
  247. package/skills/wix-headless/references/verticals/_schema.json +0 -74
  248. package/skills/wix-headless/references/verticals/_schema.md +0 -95
  249. package/skills/wix-headless/references/verticals/blog.md +0 -31
  250. package/skills/wix-headless/references/verticals/bookings.md +0 -41
  251. package/skills/wix-headless/references/verticals/cms.md +0 -30
  252. package/skills/wix-headless/references/verticals/ecom.md +0 -25
  253. package/skills/wix-headless/references/verticals/forms.md +0 -26
  254. package/skills/wix-headless/references/verticals/gift-cards.md +0 -24
  255. package/skills/wix-headless/references/verticals/stores.md +0 -33
  256. package/skills/wix-headless/scripts/check-manifest.mjs +0 -335
  257. package/skills/wix-headless/scripts/compose.mjs +0 -520
  258. package/skills/wix-headless/scripts/emit-design-tokens.mjs +0 -157
  259. package/skills/wix-headless/scripts/flatten.sh +0 -61
  260. package/skills/wix-headless/scripts/generate-images.mjs +0 -242
  261. package/skills/wix-headless/scripts/patch-decorative-slots.mjs +0 -154
  262. package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +0 -190
  263. package/skills/wix-headless/scripts/scaffold.sh +0 -139
  264. package/skills/wix-headless/scripts/seed-utilities.sh +0 -93
  265. package/skills/wix-headless/scripts/write-decorative-json.mjs +0 -62
  266. package/skills/wix-headless/shared-utilities/analytics.ts +0 -40
  267. package/skills/wix-headless/shared-utilities/ricos.ts +0 -179
  268. package/skills/wix-headless/shared-utilities/wix-image.ts +0 -72
@@ -0,0 +1,91 @@
1
+ # Custom Sections Override Rules
2
+
3
+ **REQUIRED**: After creating section files, you MUST update `page.tsx` to register them.
4
+
5
+ ## Type Definitions
6
+ ```typescript
7
+ interface Section {
8
+ id: string; // Unique grouping ID
9
+ title: string; // Header text
10
+ primaryAction?: {
11
+ id: string;
12
+ label: string;
13
+ prefixIcon?: React.ReactElement;
14
+ onClick: () => void;
15
+ };
16
+ badge?: {
17
+ visible: boolean;
18
+ skin?: 'light' | 'danger' | 'neutralLight';
19
+ };
20
+ }
21
+
22
+ // Section Renderer Signature
23
+ type SectionRenderer = (item: any) => Section;
24
+ ```
25
+
26
+ ## Configuration Schema
27
+ ```json
28
+ {
29
+ "type": "collectionPage",
30
+ "collectionPage": {
31
+ "components": [
32
+ {
33
+ "layout": [
34
+ {
35
+ "type": "Table",
36
+ "table": {
37
+ "sections": {
38
+ "id": "groupByType" // Matches override key
39
+ }
40
+ }
41
+ }
42
+ ]
43
+ }
44
+ ]
45
+ }
46
+ }
47
+ ```
48
+
49
+ ## Validation Logic
50
+ - **IF** `sections.id` is defined **THEN** matching override function MUST exist.
51
+ - **IF** multiple items return same `id` from renderer **THEN** they will be visually grouped.
52
+ - **NEVER** perform heavy computations in renderer; it runs for every item.
53
+
54
+ ## Implementation Rules
55
+ - **MUST** be placed in `components/sections/` folder.
56
+ - **MUST** export a `useSections` hook from `components/sections/index.tsx`.
57
+ - **MUST** return a valid `Section` object.
58
+ - **MUST** handle missing fields gracefully (default values).
59
+
60
+ ## Canonical Example
61
+ ```tsx
62
+ // components/sections/groupByType.ts
63
+ import { Section } from '@wix/patterns';
64
+
65
+ export function groupByType(item: any): Section {
66
+ const type = item.type || 'other';
67
+ return {
68
+ id: type,
69
+ title: type.toUpperCase(),
70
+ badge: { visible: true, skin: 'neutralLight' }
71
+ };
72
+ }
73
+
74
+ // components/sections/index.tsx
75
+ import { groupByType } from './groupByType';
76
+ export const useSections = () => ({ groupByType });
77
+ ```
78
+
79
+ ## page.tsx Registration (REQUIRED)
80
+
81
+ **CRITICAL: PRESERVE EXISTING OVERRIDES** - Do NOT remove existing overrides. ADD this new one alongside them.
82
+
83
+ ```tsx
84
+ // 1. Add import (keep all existing imports)
85
+ import { useSections } from './components/sections';
86
+
87
+ // 2. Add hook call (keep all existing hook calls)
88
+ const sections = useSections();
89
+
90
+ // 3. Add sections to PatternsWizardOverridesProvider value (keep ALL existing overrides)
91
+ ```
@@ -0,0 +1,71 @@
1
+ # Custom Slots Override Rules
2
+
3
+ **REQUIRED**: After creating slot files, you MUST update `page.tsx` to register them.
4
+
5
+ ## Type Definitions
6
+ ```typescript
7
+ // Slot Component Signature
8
+ type SlotComponent = React.FC; // No props passed
9
+ ```
10
+
11
+ ## Configuration Schema
12
+ ```json
13
+ {
14
+ "type": "collectionPage",
15
+ "collectionPage": {
16
+ "components": [
17
+ {
18
+ "type": "custom",
19
+ "id": "topBanner" // Matches override key
20
+ },
21
+ {
22
+ "type": "collection",
23
+ "collection": { "collectionId": "items" }
24
+ }
25
+ ]
26
+ }
27
+ }
28
+ ```
29
+
30
+ ## Validation Logic
31
+ - **IF** `type` is `"custom"` in components array **THEN** `id` MUST match a key in the `slots` override object.
32
+ - **IF** implementing a slot **THEN** component MUST NOT expect any props.
33
+ - **NEVER** assume slot position; it renders exactly where placed in the `components` array.
34
+
35
+ ## Implementation Rules
36
+ - **MUST** be placed in `components/slots/` folder.
37
+ - **MUST** export a `useSlots` hook from `components/slots/index.tsx`.
38
+ - **MUST** be a standard React Functional Component.
39
+ - **MUST** match the `id` in configuration exactly.
40
+
41
+ ## Canonical Example
42
+ ```tsx
43
+ // components/slots/TopBanner.tsx
44
+ import { Card, Text } from '@wix/design-system';
45
+
46
+ export const TopBanner = () => (
47
+ <Card>
48
+ <Card.Content>
49
+ <Text>Welcome to the dashboard</Text>
50
+ </Card.Content>
51
+ </Card>
52
+ );
53
+
54
+ // components/slots/index.tsx
55
+ import { TopBanner } from './TopBanner';
56
+ export const useSlots = () => ({ topBanner: TopBanner });
57
+ ```
58
+
59
+ ## page.tsx Registration (REQUIRED)
60
+
61
+ **CRITICAL: PRESERVE EXISTING OVERRIDES** - Do NOT remove existing overrides. ADD this new one alongside them.
62
+
63
+ ```tsx
64
+ // 1. Add import (keep all existing imports)
65
+ import { useSlots } from './components/slots';
66
+
67
+ // 2. Add hook call (keep all existing hook calls)
68
+ const slots = useSlots();
69
+
70
+ // 3. Add slots to PatternsWizardOverridesProvider value (keep ALL existing overrides)
71
+ ```
@@ -0,0 +1,70 @@
1
+ # Entity Page Action Rules (Edit Mode)
2
+
3
+ ## Type Definitions
4
+ ```typescript
5
+ interface EntityPageConfig {
6
+ entityPage: {
7
+ actions: {
8
+ moreActions: (CustomActionItem | DividerItem)[];
9
+ };
10
+ };
11
+ }
12
+
13
+ interface CustomActionItem {
14
+ id: string; // Matches resolver name
15
+ type: 'custom';
16
+ label: string;
17
+ biName: string; // MANDATORY
18
+ }
19
+
20
+ interface DividerItem {
21
+ type: 'divider';
22
+ }
23
+
24
+ // Resolver Type
25
+ type CustomEntityPageActionResolver = (params: {
26
+ actionParams: {
27
+ entity: any; // Current entity data
28
+ form: UseFormReturn; // react-hook-form instance
29
+ };
30
+ sdk: AutoPatternsSDK;
31
+ }) => ResolvedAction;
32
+ ```
33
+
34
+ ## Validation Logic
35
+ - **IF** mode is `'edit'` **THEN** ONLY `moreActions` is supported (`primaryActions` forbidden).
36
+ - **IF** `type: 'custom'` **THEN** `id` MUST match exported resolver name.
37
+ - **IF** `type: 'divider'` **THEN** NO other properties allowed.
38
+ - **ONLY** `'custom'` and `'divider'` are valid action types in moreActions. There is NO built-in `'duplicate'`, `'copy'`, `'clone'`, `'archive'`, `'export'`, or similar action type.
39
+ - **IF** you need any operation beyond navigation (duplicate, archive, export, share, etc.) **THEN** use `type: 'custom'` with a resolver implementation.
40
+
41
+ ## Implementation Rules
42
+ - **MUST** place all custom actions in `moreActions` array for Edit Mode.
43
+ - **MUST** include `biName` for every action.
44
+ - **MUST** return a valid `ResolvedAction` object (see resolved_action.md).
45
+ - **MUST** use `errorHandler` for Wix API calls.
46
+ - **NEVER** use `primaryActions` or `secondaryActions` in Edit Mode.
47
+
48
+ ## Canonical Example
49
+ ```typescript
50
+ // Config
51
+ {
52
+ moreActions: [
53
+ { id: 'sendEmail', type: 'custom', label: 'Send Email', biName: 'send-email-action' },
54
+ { type: 'divider' },
55
+ { id: 'archive', type: 'custom', label: 'Archive', biName: 'archive-action' }
56
+ ]
57
+ }
58
+
59
+ // components/actions/sendEmail.tsx (use .tsx because it contains JSX icon)
60
+ export const sendEmail: CustomEntityPageActionResolver = ({ actionParams, sdk }) => {
61
+ return {
62
+ label: 'Send Email',
63
+ icon: <EmailIcon />,
64
+ biName: 'send-email-action',
65
+ onClick: () => {
66
+ // Logic here
67
+ }
68
+ };
69
+ };
70
+ ```
@@ -0,0 +1,73 @@
1
+ # Entity Page Action Rules (View Mode)
2
+
3
+ ## Type Definitions
4
+ ```typescript
5
+ interface EntityPageViewActions {
6
+ primaryActions?: ActionGroup;
7
+ secondaryActions?: ActionGroup;
8
+ moreActions?: (CustomActionItem | DividerItem)[];
9
+ }
10
+
11
+ type ActionGroup = | { type: 'action'; action: { item: ActionItem } } | { type: 'menu'; menu: { label: string; items: (ActionItem | DividerItem)[] } };
12
+
13
+ interface DividerItem {
14
+ type: 'divider';
15
+ }
16
+
17
+ interface ActionItem {
18
+ id: string; // Must match resolver if custom
19
+ label: string;
20
+ type: 'create' | 'custom';
21
+ biName: string; // MANDATORY
22
+ create?: {
23
+ mode: 'page';
24
+ page: { id: string };
25
+ };
26
+ }
27
+
28
+ type CustomEntityPageActionResolver = (params: {
29
+ actionParams: { entity: any };
30
+ sdk: AutoPatternsSDK;
31
+ }) => ResolvedAction;
32
+ ```
33
+
34
+ ## Validation Logic
35
+ - **IF** mode is `'view'` **THEN** supports `primaryActions`, `secondaryActions`, AND `moreActions`.
36
+ - **IF** action type is `'create'` **THEN** `create` config is **REQUIRED**.
37
+ - **IF** action type is `'custom'` **THEN** resolver implementation is **REQUIRED**.
38
+
39
+ ## Implementation Rules
40
+ - **MUST** use `primaryActions` for main workflow (e.g. Create).
41
+ - **MUST** use `secondaryActions` for supporting workflows.
42
+ - **MUST** use `moreActions` for less common/admin tasks.
43
+ - **MUST** check error handling rules: `errorHandler` for Wix APIs, none for external/SDK.
44
+ - **NEVER** manually add "Edit" action; it's automatic if an Edit Mode page exists.
45
+
46
+ ## Canonical Example
47
+ ```typescript
48
+ {
49
+ primaryActions: {
50
+ type: 'action',
51
+ action: {
52
+ item: {
53
+ id: 'createEntity',
54
+ label: 'Create New',
55
+ type: 'create',
56
+ biName: 'create-entity-action',
57
+ create: {
58
+ mode: 'page',
59
+ page: { id: 'entity-edit-page' }
60
+ }
61
+ }
62
+ }
63
+ },
64
+ moreActions: [
65
+ {
66
+ id: 'duplicateEntity',
67
+ type: 'custom',
68
+ label: 'Duplicate',
69
+ biName: 'duplicate-entity-action'
70
+ }
71
+ ]
72
+ }
73
+ ```
@@ -0,0 +1,98 @@
1
+ # Entity Page Rules
2
+
3
+ ## Type Definitions
4
+ ```typescript
5
+ interface EntityPageConfig {
6
+ type: 'entityPage';
7
+ entityPage: {
8
+ mode?: 'edit' | 'view'; // Default 'edit'
9
+ route: { path: string; params: { id: string } };
10
+ parentPageId: string; // REQUIRED
11
+ collectionId: string;
12
+ entityTypeSource: 'cms' | 'custom';
13
+ title?: {
14
+ text: string;
15
+ badges?: { id: string }; // Dynamic badges override ID
16
+ };
17
+ subtitle?: {
18
+ text: string;
19
+ id?: string; // Dynamic subtitle override ID
20
+ };
21
+ layout?: {
22
+ main: CardLayout[];
23
+ sidebar?: CardLayout[];
24
+ };
25
+ actions?: EntityPageActions; // See Action Rules
26
+ };
27
+ }
28
+
29
+ interface CardLayout {
30
+ type: 'card';
31
+ card: {
32
+ title?: { text: string };
33
+ children: LayoutContent[];
34
+ };
35
+ }
36
+
37
+ type LayoutContent = | { type: 'field'; field: { fieldId: string; span?: number } } | { type: 'container'; container: { children: LayoutContent[]; span?: number } } | { type: 'component'; component: { componentId: string; span?: number } };
38
+
39
+ // Override Types
40
+ type EntityPageHeaderSubtitle = (entity: any) => { text: string };
41
+ type EntityPageHeaderBadges = (entity: any) => {
42
+ text: string;
43
+ skin?: 'success' | 'warning' | 'destructive' | 'neutral' | 'premium';
44
+ prefixIcon?: ReactElement;
45
+ suffixIcon?: ReactElement;
46
+ }[];
47
+ ```
48
+
49
+ ## Validation Logic
50
+ - **IF** `mode` is undefined **THEN** defaults to `'edit'`.
51
+ - **IF** `mode: 'edit'` **THEN** only `moreActions` supported.
52
+ - **IF** `mode: 'view'` **THEN** `primaryActions`, `secondaryActions`, `moreActions` supported.
53
+ - **IF** `badges.id` defined **THEN** implementation MUST return array of badge objects.
54
+ - **IF** `subtitle.id` defined **THEN** implementation MUST return `{ text: string }`.
55
+
56
+ ## Implementation Rules
57
+ - **MUST** use route format `/[segment]/:entityId` (NEVER `/:entityId`).
58
+ - **MUST** map dynamic parameter in `route.params` (e.g. `{ id: 'entityId' }`).
59
+ - **MUST** register overrides for `badges` and `subtitle` if IDs are used.
60
+ - **MUST** use 12-column grid system for `span` (wraps if > 12).
61
+ - **SHOULD** put primary info in `main` layout, metadata in `sidebar`.
62
+ - **NEVER** return JSX from badge/subtitle functions (return data objects).
63
+
64
+ ## Canonical Example
65
+ ```typescript
66
+ // Config
67
+ {
68
+ type: 'entityPage',
69
+ entityPage: {
70
+ mode: 'view',
71
+ route: { path: '/pet/:entityId', params: { id: 'entityId' } },
72
+ parentPageId: 'pets-list',
73
+ collectionId: 'pets',
74
+ entityTypeSource: 'cms',
75
+ title: {
76
+ text: 'Pet Details',
77
+ badges: { id: 'petBadges' }
78
+ },
79
+ layout: {
80
+ main: [{
81
+ type: 'card',
82
+ card: {
83
+ title: { text: 'Info' },
84
+ children: [
85
+ { type: 'field', field: { fieldId: 'name', span: 6 } },
86
+ { type: 'field', field: { fieldId: 'age', span: 6 } }
87
+ ]
88
+ }
89
+ }]
90
+ }
91
+ }
92
+ }
93
+
94
+ // Override Implementation
95
+ export const petBadges = (entity) => ([
96
+ { text: entity.status, skin: entity.status === 'Active' ? 'success' : 'neutral' }
97
+ ]);
98
+ ```
@@ -0,0 +1,278 @@
1
+ {
2
+ "pages": [
3
+ {
4
+ "id": "additional-fees-collection",
5
+ "type": "collectionPage",
6
+ "appMainPage": true,
7
+ "collectionPage": {
8
+ "route": {
9
+ "path": "/"
10
+ },
11
+ "title": {
12
+ "text": "Additional Fees Configuration",
13
+ "hideTotal": false
14
+ },
15
+ "subtitle": {
16
+ "text": "Manage and configure additional fees for checkout"
17
+ },
18
+ "actions": {
19
+ "primaryActions": {
20
+ "type": "action",
21
+ "action": {
22
+ "item": {
23
+ "id": "create-additional-fees",
24
+ "type": "create",
25
+ "label": "Add New Fee",
26
+ "collection": {
27
+ "collectionId": "@mirivo/mirivo-private-app-for-test2011/additional-fees",
28
+ "entityTypeSource": "cms"
29
+ },
30
+ "create": {
31
+ "mode": "page",
32
+ "page": {
33
+ "id": "additional-fees-entity"
34
+ }
35
+ }
36
+ }
37
+ }
38
+ }
39
+ },
40
+ "components": [
41
+ {
42
+ "type": "collection",
43
+ "layout": [
44
+ {
45
+ "type": "Table",
46
+ "table": {
47
+ "columns": [
48
+ {
49
+ "id": "feeTitle",
50
+ "name": "Title",
51
+ "width": "200px",
52
+ "sortable": true
53
+ },
54
+ {
55
+ "id": "feeAmount",
56
+ "name": "Amount",
57
+ "width": "100px",
58
+ "sortable": true
59
+ },
60
+ {
61
+ "id": "feeType",
62
+ "name": "Type",
63
+ "width": "200px",
64
+ "sortable": true
65
+ },
66
+ {
67
+ "id": "isActive",
68
+ "name": "Active",
69
+ "width": "100px",
70
+ "sortable": true
71
+ }
72
+ ],
73
+ "customColumns": {
74
+ "enabled": true
75
+ }
76
+ }
77
+ }
78
+ ],
79
+ "entityPageId": "additional-fees-entity",
80
+ "collection": {
81
+ "collectionId": "@mirivo/mirivo-private-app-for-test2011/additional-fees",
82
+ "entityTypeSource": "cms"
83
+ },
84
+ "toolbarTitle": {
85
+ "title": "Additional Fees",
86
+ "subtitle": {
87
+ "text": "Configure fees applied during checkout process"
88
+ },
89
+ "showTotal": true
90
+ },
91
+ "filters": {
92
+ "items": [
93
+ {
94
+ "id": "feeAmount-filter",
95
+ "fieldId": "feeAmount",
96
+ "displayName": "Fee Amount",
97
+ "tagLabel": "Fee Amount",
98
+ "numberConfig": {
99
+ "allowedDecimals": true
100
+ }
101
+ },
102
+ {
103
+ "id": "isActive-filter",
104
+ "fieldId": "isActive",
105
+ "displayName": "Is Active",
106
+ "tagLabel": "Is Active"
107
+ }
108
+ ]
109
+ },
110
+ "emptyState": {
111
+ "title": "No Additional Fees Configured",
112
+ "subtitle": "Start by adding your first additional fee for checkout",
113
+ "addNewCta": {
114
+ "id": "create-additional-fees",
115
+ "text": "Create First Fee"
116
+ }
117
+ },
118
+ "actionCell": {
119
+ "primaryAction": {
120
+ "item": {
121
+ "id": "edit-additional-fees",
122
+ "type": "update",
123
+ "update": {
124
+ "mode": "page",
125
+ "page": {
126
+ "id": "additional-fees-entity"
127
+ }
128
+ }
129
+ }
130
+ },
131
+ "secondaryActions": {
132
+ "items": [
133
+ {
134
+ "id": "delete-additional-fees",
135
+ "type": "delete",
136
+ "label": "Delete",
137
+ "delete": {
138
+ "mode": "modal",
139
+ "modal": {
140
+ "title": {
141
+ "text": "Remove Additional Fee"
142
+ },
143
+ "description": {
144
+ "text": "Are you sure you want to delete this additional fee? This will remove it from future checkouts."
145
+ },
146
+ "feedback": {
147
+ "successToast": {
148
+ "text": "Additional fee deleted successfully"
149
+ },
150
+ "errorToast": {
151
+ "text": "Failed to delete additional fee"
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ ]
158
+ }
159
+ },
160
+ "bulkActionToolbar": {
161
+ "primaryActions": [
162
+ {
163
+ "type": "action",
164
+ "action": {
165
+ "item": {
166
+ "id": "bulk-delete-additional-fees",
167
+ "type": "bulkDelete",
168
+ "bulkDelete": {
169
+ "mode": "modal",
170
+ "modal": {
171
+ "title": {
172
+ "text": "Remove Multiple Fees"
173
+ },
174
+ "description": {
175
+ "text": "Are you sure you want to delete the selected additional fees? This will remove them from future checkouts."
176
+ },
177
+ "feedback": {
178
+ "successToast": {
179
+ "text": "Selected additional fees deleted successfully"
180
+ },
181
+ "errorToast": {
182
+ "text": "Failed to delete selected additional fees"
183
+ }
184
+ }
185
+ }
186
+ }
187
+ }
188
+ }
189
+ }
190
+ ]
191
+ }
192
+ }
193
+ ]
194
+ }
195
+ },
196
+ {
197
+ "id": "additional-fees-entity",
198
+ "type": "entityPage",
199
+ "entityPage": {
200
+ "route": {
201
+ "path": "/additional-fee/:entityId",
202
+ "params": {
203
+ "id": "entityId"
204
+ }
205
+ },
206
+ "title": {
207
+ "text": "Fee Details"
208
+ },
209
+ "subtitle": {
210
+ "text": "View and edit additional fee configuration"
211
+ },
212
+ "parentPageId": "additional-fees-collection",
213
+ "layout": {
214
+ "main": [
215
+ {
216
+ "type": "card",
217
+ "card": {
218
+ "title": {
219
+ "text": "Fee Information"
220
+ },
221
+ "subtitle": {
222
+ "text": "Basic details for the additional fee"
223
+ },
224
+ "children": [
225
+ {
226
+ "type": "field",
227
+ "field": {
228
+ "span": 12,
229
+ "fieldId": "feeTitle"
230
+ }
231
+ },
232
+ {
233
+ "type": "field",
234
+ "field": {
235
+ "span": 12,
236
+ "fieldId": "feeAmount"
237
+ }
238
+ },
239
+ {
240
+ "type": "field",
241
+ "field": {
242
+ "span": 12,
243
+ "fieldId": "feeType"
244
+ }
245
+ }
246
+ ]
247
+ }
248
+ }
249
+ ],
250
+ "sidebar": [
251
+ {
252
+ "type": "card",
253
+ "card": {
254
+ "title": {
255
+ "text": "Fee Status"
256
+ },
257
+ "subtitle": {
258
+ "text": "Activation and usage settings"
259
+ },
260
+ "children": [
261
+ {
262
+ "type": "field",
263
+ "field": {
264
+ "span": 12,
265
+ "fieldId": "isActive"
266
+ }
267
+ }
268
+ ]
269
+ }
270
+ }
271
+ ]
272
+ },
273
+ "collectionId": "@mirivo/mirivo-private-app-for-test2011/additional-fees",
274
+ "entityTypeSource": "cms"
275
+ }
276
+ }
277
+ ]
278
+ }