@wix/agent-skills 1.0.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 (220) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +111 -0
  3. package/package.json +29 -0
  4. package/skills/wix-app/SKILL.md +344 -0
  5. package/skills/wix-app/references/APP_IDENTIFIERS.md +35 -0
  6. package/skills/wix-app/references/APP_MARKET_REVIEW.md +311 -0
  7. package/skills/wix-app/references/APP_VALIDATION.md +171 -0
  8. package/skills/wix-app/references/BACKEND_API.md +233 -0
  9. package/skills/wix-app/references/BACKEND_EVENT.md +116 -0
  10. package/skills/wix-app/references/CODE_QUALITY.md +33 -0
  11. package/skills/wix-app/references/CUSTOM_ELEMENT_WIDGET.md +587 -0
  12. package/skills/wix-app/references/DASHBOARD_MENU_PLUGIN.md +157 -0
  13. package/skills/wix-app/references/DASHBOARD_MODAL.md +283 -0
  14. package/skills/wix-app/references/DASHBOARD_PAGE.md +403 -0
  15. package/skills/wix-app/references/DASHBOARD_PLUGIN.md +205 -0
  16. package/skills/wix-app/references/DATA_COLLECTION.md +451 -0
  17. package/skills/wix-app/references/DOCUMENTATION.md +42 -0
  18. package/skills/wix-app/references/EDITOR_REACT_COMPONENT.md +65 -0
  19. package/skills/wix-app/references/EMBEDDED_SCRIPT.md +468 -0
  20. package/skills/wix-app/references/EXTENSION_REGISTRATION.md +96 -0
  21. package/skills/wix-app/references/SERVICE_PLUGIN.md +235 -0
  22. package/skills/wix-app/references/SITE_PLUGIN.md +436 -0
  23. package/skills/wix-app/references/STORES_VERSIONING.md +334 -0
  24. package/skills/wix-app/references/backend-event/COMMON-EVENTS.md +84 -0
  25. package/skills/wix-app/references/custom-element-widget/SETTINGS_PANEL.md +345 -0
  26. package/skills/wix-app/references/dashboard-menu-plugin/blog-slots.md +71 -0
  27. package/skills/wix-app/references/dashboard-menu-plugin/bookings-slots.md +58 -0
  28. package/skills/wix-app/references/dashboard-menu-plugin/crm-slots.md +8 -0
  29. package/skills/wix-app/references/dashboard-menu-plugin/ecommerce-slots.md +17 -0
  30. package/skills/wix-app/references/dashboard-menu-plugin/events-slots.md +29 -0
  31. package/skills/wix-app/references/dashboard-menu-plugin/restaurants-slots.md +27 -0
  32. package/skills/wix-app/references/dashboard-menu-plugin/stores-slots.md +35 -0
  33. package/skills/wix-app/references/dashboard-page/API_SPEC.md +138 -0
  34. package/skills/wix-app/references/dashboard-page/DASHBOARD_API.md +573 -0
  35. package/skills/wix-app/references/dashboard-page/DYNAMIC_PARAMETERS.md +269 -0
  36. package/skills/wix-app/references/dashboard-page/ECOM_NAVIGATION.md +164 -0
  37. package/skills/wix-app/references/dashboard-plugin/SLOTS.md +294 -0
  38. package/skills/wix-app/references/data-collection/WIX_DATA.md +270 -0
  39. package/skills/wix-app/references/data-collection/extension-template.ts +107 -0
  40. package/skills/wix-app/references/editor-react-component/ACCESSIBILITY.md +138 -0
  41. package/skills/wix-app/references/editor-react-component/COMPONENT-API.md +454 -0
  42. package/skills/wix-app/references/editor-react-component/COMPONENT-CONFIGURATION.md +165 -0
  43. package/skills/wix-app/references/editor-react-component/CSS-GUIDELINES.md +576 -0
  44. package/skills/wix-app/references/editor-react-component/DIRECTIONALITY.md +170 -0
  45. package/skills/wix-app/references/editor-react-component/EDIT-FLOW.md +6 -0
  46. package/skills/wix-app/references/editor-react-component/PARTS.md +25 -0
  47. package/skills/wix-app/references/editor-react-component/PROPS-VS-CSS.md +203 -0
  48. package/skills/wix-app/references/editor-react-component/REACT-GUIDELINES.md +167 -0
  49. package/skills/wix-app/references/editor-react-component/REACT-PATTERNS.md +137 -0
  50. package/skills/wix-app/references/service-plugin/ADDITIONAL-FEES.md +112 -0
  51. package/skills/wix-app/references/service-plugin/BOOKINGS-STAFF-SORTING.md +118 -0
  52. package/skills/wix-app/references/service-plugin/DISCOUNT-TRIGGERS.md +87 -0
  53. package/skills/wix-app/references/service-plugin/GIFT-CARDS.md +86 -0
  54. package/skills/wix-app/references/service-plugin/PAYMENT-SETTINGS.md +135 -0
  55. package/skills/wix-app/references/service-plugin/SHIPPING-RATES.md +79 -0
  56. package/skills/wix-app/references/service-plugin/VALIDATIONS.md +68 -0
  57. package/skills/wix-app/references/site-plugin/EXAMPLES.md +311 -0
  58. package/skills/wix-app/references/site-plugin/SLOTS.md +263 -0
  59. package/skills/wix-design-system/SKILL.md +129 -0
  60. package/skills/wix-design-system/references/file-structure.md +56 -0
  61. package/skills/wix-design-system/scripts/wds.cjs +531 -0
  62. package/skills/wix-headless/SKILL.md +418 -0
  63. package/skills/wix-headless/references/DISCOVERY.md +332 -0
  64. package/skills/wix-headless/references/ORCHESTRATION.md +269 -0
  65. package/skills/wix-headless/references/SETUP.md +154 -0
  66. package/skills/wix-headless/references/blog/BLOG_CONTENT.md +152 -0
  67. package/skills/wix-headless/references/blog/BLOG_PAGES.md +299 -0
  68. package/skills/wix-headless/references/blog/BLOG_SETUP.md +218 -0
  69. package/skills/wix-headless/references/blog/INSTRUCTIONS.md +32 -0
  70. package/skills/wix-headless/references/cms/CMS_FOUNDATIONS.md +373 -0
  71. package/skills/wix-headless/references/cms/FAQ_KNOWLEDGE_BASE.md +229 -0
  72. package/skills/wix-headless/references/cms/INSTRUCTIONS.md +40 -0
  73. package/skills/wix-headless/references/cms/PORTFOLIO.md +454 -0
  74. package/skills/wix-headless/references/cms/RESOURCE_LIBRARY.md +356 -0
  75. package/skills/wix-headless/references/cms/TEAM_DIRECTORY.md +299 -0
  76. package/skills/wix-headless/references/commands/install-app.md +42 -0
  77. package/skills/wix-headless/references/commands/known-apps.json +5 -0
  78. package/skills/wix-headless/references/commands/mcp-bootstrap.md +28 -0
  79. package/skills/wix-headless/references/designer/INSTRUCTIONS.md +828 -0
  80. package/skills/wix-headless/references/ecom/CART_PAGES.md +120 -0
  81. package/skills/wix-headless/references/ecom/CART_WIRING.md +103 -0
  82. package/skills/wix-headless/references/ecom/COMPONENTS_CSS.md +132 -0
  83. package/skills/wix-headless/references/ecom/INSTRUCTIONS.md +59 -0
  84. package/skills/wix-headless/references/forms/CONTACT_FORM.md +477 -0
  85. package/skills/wix-headless/references/forms/INSTRUCTIONS.md +43 -0
  86. package/skills/wix-headless/references/gift-cards/COMPONENTS.md +119 -0
  87. package/skills/wix-headless/references/gift-cards/INSTRUCTIONS.md +51 -0
  88. package/skills/wix-headless/references/gift-cards/PAGES.md +129 -0
  89. package/skills/wix-headless/references/images/INSTRUCTIONS.md +359 -0
  90. package/skills/wix-headless/references/shared/BUILD_NOISE.md +8 -0
  91. package/skills/wix-headless/references/shared/IMAGE_GENERATION.md +185 -0
  92. package/skills/wix-headless/references/shared/IMPLEMENTER.md +155 -0
  93. package/skills/wix-headless/references/shared/MCP_PREFIX.md +105 -0
  94. package/skills/wix-headless/references/shared/PRODUCTION_SHARP_EDGES.md +97 -0
  95. package/skills/wix-headless/references/shared/RETURN_CONTRACT.md +423 -0
  96. package/skills/wix-headless/references/shared/STYLING.md +117 -0
  97. package/skills/wix-headless/references/stores/BACK_IN_STOCK.md +178 -0
  98. package/skills/wix-headless/references/stores/CATEGORY_PAGES.md +86 -0
  99. package/skills/wix-headless/references/stores/COMPONENTS_CSS.md +129 -0
  100. package/skills/wix-headless/references/stores/HOME_AND_NAV.md +227 -0
  101. package/skills/wix-headless/references/stores/INSTRUCTIONS.md +96 -0
  102. package/skills/wix-headless/references/stores/PRODUCT_CATALOG_DATA.md +249 -0
  103. package/skills/wix-headless/references/stores/PRODUCT_PAGES.md +213 -0
  104. package/skills/wix-headless/references/stores/SHARED_WIRING.md +164 -0
  105. package/skills/wix-headless/references/verticals/_schema.json +160 -0
  106. package/skills/wix-headless/references/verticals/_schema.md +185 -0
  107. package/skills/wix-headless/references/verticals/blog.md +125 -0
  108. package/skills/wix-headless/references/verticals/cms.md +121 -0
  109. package/skills/wix-headless/references/verticals/ecom.md +96 -0
  110. package/skills/wix-headless/references/verticals/forms.md +106 -0
  111. package/skills/wix-headless/references/verticals/gift-cards.md +121 -0
  112. package/skills/wix-headless/references/verticals/stores.md +167 -0
  113. package/skills/wix-headless/scripts/check-manifest.mjs +198 -0
  114. package/skills/wix-headless/scripts/copy-utility-templates.mjs +153 -0
  115. package/skills/wix-headless/scripts/emit-design-tokens.mjs +77 -0
  116. package/skills/wix-headless/scripts/finalize-run-json.mjs +141 -0
  117. package/skills/wix-headless/scripts/init-site-json.mjs +63 -0
  118. package/skills/wix-headless/scripts/patch-decorative-slots.mjs +124 -0
  119. package/skills/wix-headless/scripts/plan-entity-image-waves.mjs +190 -0
  120. package/skills/wix-headless/scripts/preview.sh +45 -0
  121. package/skills/wix-headless/scripts/release.sh +73 -0
  122. package/skills/wix-headless/scripts/scaffold.sh +53 -0
  123. package/skills/wix-headless/scripts/seed-utilities.sh +55 -0
  124. package/skills/wix-headless/shared-utilities/analytics.ts +40 -0
  125. package/skills/wix-headless/shared-utilities/ricos.ts +179 -0
  126. package/skills/wix-headless/shared-utilities/wix-image.ts +72 -0
  127. package/skills/wix-headless/templates/ecom/CartBadge.tsx +84 -0
  128. package/skills/wix-headless/templates/ecom/CartView.tsx +543 -0
  129. package/skills/wix-headless/templates/ecom/cart.astro +13 -0
  130. package/skills/wix-headless/templates/ecom/components-ecom.css +215 -0
  131. package/skills/wix-headless/templates/ecom/discounts.ts +71 -0
  132. package/skills/wix-headless/templates/ecom/thank-you.astro +24 -0
  133. package/skills/wix-headless/templates/gift-cards/GiftCardPurchase.tsx +172 -0
  134. package/skills/wix-headless/templates/gift-cards/_home-teaser-snippet.astro +42 -0
  135. package/skills/wix-headless/templates/gift-cards/_nav-snippet.astro +11 -0
  136. package/skills/wix-headless/templates/gift-cards/components-gift-cards.css +219 -0
  137. package/skills/wix-headless/templates/gift-cards/gift-cards.astro +51 -0
  138. package/skills/wix-headless/templates/gift-cards/gift-cards.ts +75 -0
  139. package/skills/wix-headless/templates/stores/AddToCartButton.tsx +77 -0
  140. package/skills/wix-headless/templates/stores/BackInStockForm.tsx +176 -0
  141. package/skills/wix-headless/templates/stores/CategoryRail.astro +69 -0
  142. package/skills/wix-headless/templates/stores/ProductCard.astro +79 -0
  143. package/skills/wix-headless/templates/stores/ProductPurchase.tsx +397 -0
  144. package/skills/wix-headless/templates/stores/SeoTags.astro +21 -0
  145. package/skills/wix-headless/templates/stores/back-in-stock.ts +67 -0
  146. package/skills/wix-headless/templates/stores/categories.ts +155 -0
  147. package/skills/wix-headless/templates/stores/category/[slug].astro +130 -0
  148. package/skills/wix-headless/templates/stores/components-stores.css +295 -0
  149. package/skills/wix-headless/templates/stores/products/[slug].astro +128 -0
  150. package/skills/wix-headless/templates/stores/products/index.astro +101 -0
  151. package/skills/wix-manage/SKILL.md +280 -0
  152. package/skills/wix-manage/references/app-installation/install-wix-apps.md +155 -0
  153. package/skills/wix-manage/references/app-installation/list-installed-apps.md +124 -0
  154. package/skills/wix-manage/references/blog/how-to-create-blog-posts.md +226 -0
  155. package/skills/wix-manage/references/bookings/booking-service-policy-setup.md +95 -0
  156. package/skills/wix-manage/references/bookings/booking-system-integration-gaps.md +416 -0
  157. package/skills/wix-manage/references/bookings/bookings-staff-setup.md +255 -0
  158. package/skills/wix-manage/references/bookings/create-and-update-booking-services.md +462 -0
  159. package/skills/wix-manage/references/bookings/end-to-end-booking-flow.md +278 -0
  160. package/skills/wix-manage/references/bookings/external-calendar-integration.md +258 -0
  161. package/skills/wix-manage/references/bookings/multi-resource-service-creation.md +231 -0
  162. package/skills/wix-manage/references/calendar/configure-default-business-hours.md +226 -0
  163. package/skills/wix-manage/references/cms/cms-data-items-crud.md +422 -0
  164. package/skills/wix-manage/references/cms/cms-data-operations-extended.md +263 -0
  165. package/skills/wix-manage/references/cms/cms-ecommerce-catalog-integration.md +136 -0
  166. package/skills/wix-manage/references/cms/cms-references-and-relationships.md +160 -0
  167. package/skills/wix-manage/references/cms/cms-schema-management.md +143 -0
  168. package/skills/wix-manage/references/contacts/bulk-delete-contacts.md +73 -0
  169. package/skills/wix-manage/references/contacts/bulk-label-and-unlabel-contacts.md +67 -0
  170. package/skills/wix-manage/references/domains/domain-search-and-purchase.md +434 -0
  171. package/skills/wix-manage/references/ecommerce/api-recommendation-tracking.md +420 -0
  172. package/skills/wix-manage/references/ecommerce/flow-add-free-shipping.md +267 -0
  173. package/skills/wix-manage/references/ecommerce/flow-bundle-and-save.md +290 -0
  174. package/skills/wix-manage/references/ecommerce/flow-fix-coverage-gaps.md +300 -0
  175. package/skills/wix-manage/references/ecommerce/flow-optimize-shipping-rates.md +364 -0
  176. package/skills/wix-manage/references/ecommerce/flow-seasonal-promotion.md +315 -0
  177. package/skills/wix-manage/references/ecommerce/flow-stock-mover.md +308 -0
  178. package/skills/wix-manage/references/ecommerce/flow-upsell-boost.md +271 -0
  179. package/skills/wix-manage/references/ecommerce/goal-clear-inventory.md +118 -0
  180. package/skills/wix-manage/references/ecommerce/goal-drive-cross-sells.md +122 -0
  181. package/skills/wix-manage/references/ecommerce/goal-increase-aov.md +132 -0
  182. package/skills/wix-manage/references/ecommerce/goal-reduce-cart-abandonment.md +148 -0
  183. package/skills/wix-manage/references/ecommerce/goal-seasonal-revenue.md +146 -0
  184. package/skills/wix-manage/references/ecommerce/guardrail-discount-conflicts.md +118 -0
  185. package/skills/wix-manage/references/ecommerce/guardrail-margin-protection.md +88 -0
  186. package/skills/wix-manage/references/ecommerce/guardrail-rate-pricing-sanity.md +108 -0
  187. package/skills/wix-manage/references/ecommerce/guardrail-shipping-health.md +124 -0
  188. package/skills/wix-manage/references/ecommerce/recipe-apply-shipping-recommendations.md +299 -0
  189. package/skills/wix-manage/references/ecommerce/recommend-ecommerce-strategy.md +582 -0
  190. package/skills/wix-manage/references/ecommerce/setup-coupons.md +338 -0
  191. package/skills/wix-manage/references/ecommerce/setup-discount-rules.md +444 -0
  192. package/skills/wix-manage/references/ecommerce/setup-shipping-rates.md +86 -0
  193. package/skills/wix-manage/references/ecommerce/setup-shipping-regions.md +56 -0
  194. package/skills/wix-manage/references/ecommerce/setup-store-pickup-location.md +209 -0
  195. package/skills/wix-manage/references/ecommerce/skill-graph.md +139 -0
  196. package/skills/wix-manage/references/ecommerce/troubleshoot-checkout-delivery-dropoff.md +124 -0
  197. package/skills/wix-manage/references/ecommerce/troubleshoot-discount-not-applying.md +95 -0
  198. package/skills/wix-manage/references/events/list-events.md +203 -0
  199. package/skills/wix-manage/references/forms/create-form.md +260 -0
  200. package/skills/wix-manage/references/get-paid/create-payment-links.md +212 -0
  201. package/skills/wix-manage/references/get-paid/how-to-setup-wix-payments.md +57 -0
  202. package/skills/wix-manage/references/get-paid/payment-links-for-bookings.md +101 -0
  203. package/skills/wix-manage/references/media/upload-media-to-wix.md +216 -0
  204. package/skills/wix-manage/references/pricing-plans/create-and-update-pricing-plans.md +77 -0
  205. package/skills/wix-manage/references/pricing-plans/pricing-plans-bookings-integration.md +166 -0
  206. package/skills/wix-manage/references/restaurants/wix-restaurants-setup.md +336 -0
  207. package/skills/wix-manage/references/rich-content/ricos-converter-service.md +295 -0
  208. package/skills/wix-manage/references/site-properties/change-payment-currency-site-properties.md +59 -0
  209. package/skills/wix-manage/references/sites/create-site-from-template.md +183 -0
  210. package/skills/wix-manage/references/sites/query-sites.md +125 -0
  211. package/skills/wix-manage/references/stores/add-store-pages-to-site.md +57 -0
  212. package/skills/wix-manage/references/stores/bulk-create-products-with-options.md +1041 -0
  213. package/skills/wix-manage/references/stores/create-product-catalog-v1.md +125 -0
  214. package/skills/wix-manage/references/stores/create-product-from-image.md +824 -0
  215. package/skills/wix-manage/references/stores/create-product-with-options-catalog-v3.md +566 -0
  216. package/skills/wix-manage/references/stores/find-products-query-and-search-catalog-v3.md +194 -0
  217. package/skills/wix-manage/references/stores/query-products-catalog-v1.md +80 -0
  218. package/skills/wix-manage/references/stores/setup-online-store-catalog-v3.md +99 -0
  219. package/skills/wix-manage/references/stores/update-product-pre-order.md +213 -0
  220. package/skills/wix-manage/references/stores/update-product-with-options.md +318 -0
@@ -0,0 +1,573 @@
1
+ # Dashboard API Reference
2
+
3
+ Complete reference for the `@wix/dashboard` host module.
4
+
5
+ ## navigate()
6
+
7
+ Host Module '@wix/dashboard' 'navigate()' method for navigating between dashboard pages.
8
+
9
+ **Method parameters:**
10
+ - `destination`: Destination
11
+ - `options?`: NavigationOptions
12
+
13
+ **Destination object:**
14
+ - `pageId` (string): ID of the page to navigate to
15
+ - `relativeUrl` (string): Optional. URL segment appended to the base page URL. Can include path segments, query string, and fragment.
16
+
17
+ **Navigation options:**
18
+ - `displayMode` ("main" | "overlay" | "auto"): How to display the destination page. "auto" (default) loads in current context.
19
+ - `history` ("push" | "replace"): Optional. Whether to push a new history entry or replace the current one.
20
+
21
+ **Example:**
22
+ ```typescript
23
+ import { dashboard } from '@wix/dashboard';
24
+ // Navigate to your own app's page with some internal state
25
+ dashboard.navigate({pageId: <your-page-id>, relativeUrl: "/an/internal/state?param=value"})
26
+ // Navigate to a relative route of the current page
27
+ dashboard.navigate({ relativeUrl: "/some/internal/route" });
28
+ // Navigate to the Products List page
29
+ dashboard.navigate({ pageId: "0845ada2-467f-4cab-ba40-2f07c812343d" });
30
+ // Add a button that navigates to the Products List page (React/TSX)
31
+ const GoToProductsButton = () => (
32
+ <button onClick={() => dashboard.navigate({ pageId: "0845ada2-467f-4cab-ba40-2f07c812343d" })}>
33
+ Go to Products
34
+ </button>
35
+ );
36
+ // Open bookings settings page in an overlay page
37
+ dashboard.navigate(
38
+ { pageId: "bcdb42a8-2423-4101-add6-cbebc1951bc2" },
39
+ { displayMode: "overlay" },
40
+ );
41
+ // Navigate to the home page as a main page from inside an overlay page
42
+ dashboard.navigate(
43
+ { pageId: "2e96bad1-df32-47b6-942f-e3ecabd74e57" },
44
+ { displayMode: "main" },
45
+ );
46
+ ```
47
+
48
+ ## Page IDs
49
+
50
+ Common Wix dashboard page IDs useful for navigation. Use with `dashboard.navigate({ pageId })`.
51
+
52
+ **Selection policy:**
53
+ - When asked to navigate by page name, choose the closest match from the list below.
54
+ - Prefer exact match; otherwise use common aliases/synonyms.
55
+ - Do not default to "Home" unless the user asks for home or no reasonable match exists.
56
+ - If multiple names share the same ID, treat them as aliases.
57
+
58
+ **ID formats:**
59
+ - Most IDs are GUIDs. Some are slugs (e.g., "wix-restaurants-orders-new", "restaurants_orders"). Use them as-is.
60
+
61
+ **Aliases/synonyms (non-exhaustive):**
62
+ - Products List: product list, products page, catalog, product catalog, inventory products
63
+ - Automatic Discounts ↔ Coupons
64
+
65
+ **Page IDs:**
66
+ - Abandoned Carts: bb407b4d-6df5-4607-81df-6cd9ecf5d229
67
+ - Activity: dfad075a-1ab3-458c-a77b-8fc9f509eaca
68
+ - Accept Payments Page: abe22932-49cb-43e0-b22d-8e342482113e
69
+ - Automatic Discounts: ed0163bf-ddeb-4dbe-8042-648b44bcbaac
70
+ - Automations: 67028126-3a56-43dd-9ed2-0c9c875e739c
71
+ - Back in Stock Requests: 74ff0096-6e7f-4d40-9f72-e85a2a7d5726
72
+ - Behavior Overview: d53c7001-5056-48d3-81e8-5320f9ef08e4
73
+ - Bookings Settings: bcdb42a8-2423-4101-add6-cbebc1951bc2
74
+ - Blog Overview: a7f877e0-69ac-459f-8b5b-eb7c5e25bad2
75
+ - Blog Writers: b8c96d90-95d6-57de-9a97-0d44c4dfaa96
76
+ - Business Cards: 44a21d57-98a3-486f-9def-5e5f356363b5
77
+ - Business Email Settings: bfd22a01-fc5b-4b53-940d-beaeac065230
78
+ - Contacts List: bdd09dca-7cc9-4524-81d7-c9336071b33e
79
+ - Contacts Segments: 0f410434-052f-4edb-8a89-ef564e4465e5
80
+ - Contacts Workflows: 511fe7f0-d0fe-4acb-84bc-b9887e4c92b7
81
+ - Content Manager: 6513755b-2a3b-45b9-8172-99c16e00dfde
82
+ - Coupons: ed0163bf-ddeb-4dbe-8042-648b44bcbaac
83
+ - Domain Connection: 3aeabb6d-0bc6-4b88-a6ba-3b40096a9c3a
84
+ - Email Marketing: 2abbf001-de3d-4b60-a186-28afd3f4c7ac
85
+ - Facebook and Instagram Ads: 4ada9d29-ff4d-40b6-802e-97dbd661fd7c
86
+ - Find Products to Sell: 958a5f12-e276-4dee-9c05-4aa880f31932
87
+ - Forms & Submissions: 8b307095-20c5-48a8-a36e-6c7ad6f11552
88
+ - Forum Categories: d6d2f9e8-43a7-4781-8e3c-4da93f91ea45
89
+ - Forum Posts: 6ce59b51-95ce-485e-a158-42686d647793
90
+ - Forum Settings: b1b1df78-6340-4ef0-b576-5dab0b2602e3
91
+ - Gift Card Overview: 99bc7dcb-312d-4462-9ff6-ca764606cfbb
92
+ - Gift Card Sales: 8bae1213-e243-4cd5-910b-9c3d4b6c0750
93
+ - Google Business Profile: 98b6ed3b-9ac6-486f-a347-0de6f9929965
94
+ - Home: 2e96bad1-df32-47b6-942f-e3ecabd74e57
95
+ - Import Contacts Page: 135f0c27-4fb9-453d-8479-7f8762227234
96
+ - Inbox: 1ae6068f-0fe6-4986-975a-3565f4147fbe
97
+ - Integrations: 02bba945-0d2c-4173-838e-cf186d57d9c8
98
+ - Inventory: 59a8855e-515a-49c1-894a-035731d2fd44
99
+ - Invoices: 237552b5-9d8e-4bdc-a39b-6e70a83caea0
100
+ - Language and Region Settings: f1f1abd6-3949-4633-a6dc-74337c70957a
101
+ - Logs: 4576d2f4-7da6-4ad1-ad51-418e09847e34
102
+ - Loyalty Program: c3ad65e1-0b0f-4da9-a8a3-6025c321da50
103
+ - Manage Loyalty Program: 978a178c-a739-46ed-93c3-60afaabd6ca4
104
+ - Marketing Home: 6617e07c-c3f3-45eb-9280-b41f23f259dd
105
+ - Manage Installed Apps: ad471122-7305-4007-9210-2a764d2e5e57
106
+ - Monitoring: e1a20a83-1908-4bae-9214-b9e26e6fda2a
107
+ - Music Library: 5da7cc0e-93e2-49cf-b8fa-de46be1af7b7
108
+ - My Albums: ef237a91-20b1-4e62-bbd7-31e28bda04a0
109
+ - Notification You Get - settings: e96a4137-cf9d-42ba-96c2-b583fce6f00b
110
+ - Notifications You Send - settings: e6576ec0-802c-4816-a84e-a206a10e7b3d
111
+ - New Order Form: a0278851-325c-4115-9bf1-08848468ad45
112
+ - Orders List: 8107f05f-d646-4c81-be90-adf28d321398
113
+ - Payments Dashboard: efe44d1d-506c-46c7-a770-e212b697acf0
114
+ - Price Quotes: 9f45b934-56a1-4036-96eb-4f6e2ff15c73
115
+ - Pricing Plans: e7b7afbb-6d4e-46b2-8bd6-0af78dc9d21e
116
+ - Products List: 0845ada2-467f-4cab-ba40-2f07c812343d
117
+ - Programs: ccf2fe64-86c2-44a3-8e97-eed943c49b58
118
+ - Recurring Invoices: 5bfd82d5-51e0-4dc0-aab9-9b384bf15f5d
119
+ - Restaurants Menus (New): 37c3de13-6224-42ee-bd80-308d452a2c7d
120
+ - Restaurants Menus: b278a256-2757-4f19-9313-c05c783bec92
121
+ - Restaurant Orders (New): wix-restaurants-orders-new
122
+ - Orders: 2c7daf4b-dbe7-4e00-9ffd-9b44b1884507
123
+ - Restaurant Orders: restaurants_orders
124
+ - Pricing Plans Settings: ce9562b2-f279-4c45-bee8-af3870d27069
125
+ - Roles And Permissions: ca4fc2e2-e8fc-4b4c-bfa0-32479931a00a
126
+ - Sales Overview: 98052ea0-bfe4-4095-88ba-d5c65c03254b
127
+ - Secrets Manager: f94ac43e-52c4-4564-b1da-68df51b9e614
128
+ - Settings Page: 50103805-f706-428a-ab43-04579324d067
129
+ - SEO - Get Found on Google: baf8b254-72c1-417b-a546-ecc9d869aa71
130
+ - SEO Overview: 721868b6-1d4d-4a40-a876-786f6cbfffcc
131
+ - Shipping and Delivery Settings: 26128445-061b-4dfc-bc44-fd53b13dd687
132
+ - Site Alerts: cabc24b1-fb28-445f-b38f-4db49aa26a58
133
+ - Site History: 122ec73e-4e5d-4c3a-ad62-3f62bdb31e0f
134
+ - Site Groups: 04c7e480-f1ad-4742-81f6-ac0edfd8a350
135
+ - Site Insights: 7f57c576-7911-46cf-abee-cd8905e59a21
136
+ - Site Reports: 66aeefcd-3e60-4b41-8991-934c5ee331ec
137
+ - Site Members: c696eca6-7489-40ae-8c41-815cea571b53
138
+ - Social Media Marketing: 36f17da6-ba4a-4657-af44-a45196771850
139
+ - Staff Management: a4f36fac-ea18-483b-8236-095e29fcb726
140
+ - New Staff Member Page: 3e6d608b-bbc2-4e72-a1ef-4d441bb113ad
141
+ - Subscriptions: 79dbb935-d823-4feb-9272-ef2cbcf2aafd
142
+ - Table Reservations: e4d65aa4-30ba-4700-ad47-28765d4cf3bc
143
+ - Tasks & Reminders: e1d6190c-bb9b-41b8-aa67-6024d19442e1
144
+ - Tax Settings: 7f43cf15-e14a-48f7-a7fa-9d0d1b1a6f02
145
+ - Triggered Emails: 9b111e6f-76c4-48e9-89cb-99e804ce6d31
146
+ - New Triggered Email form: bf982c96-9bb7-49e1-8116-be03aa1fc0d5
147
+ - Video Library: a9e63e77-29c6-4822-8687-51fa4bdd2279
148
+ - Website Settings: 29570214-f230-4228-9209-f09efb53f768
149
+ - Wix App Market: e839f784-0e31-45e6-8de8-426824a6dc2d
150
+
151
+ ## observeState()
152
+
153
+ Host Module '@wix/dashboard' 'observeState()' method to receive contextual state and environmental information for dashboard pages, widgets, and modals. The observer runs on initialization and whenever the state is updated.
154
+
155
+ **Method parameters:**
156
+ - `observer`: Observer — callback receiving (componentParams, environmentState)
157
+
158
+ **Observer:**
159
+ - `componentParams`: P | PageParams — Data sent to your component by its host. For dashboard pages rendered by the platform, this is PageParams
160
+ - `environmentState`: EnvironmentState — Information about the user's environment
161
+
162
+ **Page params:**
163
+ - `location`: PageLocation — Information about the location of the rendered page
164
+
165
+ **Environment state:**
166
+ - `locale` (string): User's locale (ISO 639-1)
167
+ - `pageLocation` (PageLocation): Deprecated. Information about the currently rendered page location
168
+
169
+ **Page location:**
170
+ - `pageId` (string): ID of the current page
171
+ - `pathname` (string): Any parts of the current URL path appended to the page's base URL path
172
+ - `search` (string, optional): Current URL query string
173
+ - `hash` (string, optional): Current URL fragment identifier
174
+
175
+ **Example:**
176
+ ```typescript
177
+ import { dashboard } from '@wix/dashboard';
178
+
179
+ // Receive state passed by your host
180
+ dashboard.observeState((componentParams, environmentState) => {
181
+ console.log(componentParams, environmentState);
182
+ });
183
+
184
+ // Receive user's locale
185
+ dashboard.observeState((_, { locale }) => {
186
+ console.log('locale:', locale);
187
+ });
188
+
189
+ // Handle internal page routes
190
+ dashboard.observeState((pageParams, environmentState) => {
191
+ // This value is logged on initialization and whenever either of the componentParams or environmentState objects change.
192
+ const { pathname, search } = pageParams.location;
193
+ if (pathname.startsWith("/list")) {
194
+ const queryParams = new URLSearchParams(search);
195
+ const sortBy = queryParams.get("sortBy");
196
+ console.log("Show items list sorted by", sortBy);
197
+ } else if (pathname.startsWith("/item")) {
198
+ const { itemId } = pathname.match("/item/(?<itemId>.*)").groups;
199
+ console.log("Show item with id", itemId);
200
+ }
201
+ console.log("Unknown route");
202
+ });
203
+ ```
204
+
205
+ ## showToast()
206
+
207
+ Host Module '@wix/dashboard' 'showToast()' displays a toast notification from a dashboard page or widget. Up to 3 toasts show at once; additional toasts may be queued.
208
+
209
+ **Method parameters:**
210
+ - `config`: ToastConfig — Toast configuration options
211
+
212
+ **Toast config:**
213
+ - `message` (string): Text to display
214
+ - `type` ("standard" | "success" | "warning" | "error"): Icon and message type. Default: standard
215
+ - `priority` ("low" | "normal" | "high"): Display priority. Default: normal
216
+ - `timeout` ("none" | "normal"): Auto-dismiss after ~6s if 'normal'
217
+ - `onToastSeen` (() => void, optional): Called when the toast is seen
218
+ - `onCloseClick` (() => void, optional): Called when the toast close button is clicked
219
+ - `action` (ToastAction, optional): call-to-action displayed in the toast
220
+
221
+ **Toast action:**
222
+ - `text` (string): Text that appears in the call-to-action.
223
+ - `uiType` ("button" | "link"): The type of call-to-action
224
+ - `onClick` (() => void): Callback function to run after the call-to-action is clicked.
225
+ - `removeToastOnClick` (boolean): Whether to remove the toast after click
226
+
227
+ **Returns:**
228
+ An object with a method to remove the toast programmatically
229
+ `{ remove: () => void }`
230
+
231
+ **Example:**
232
+ ```typescript
233
+ import { dashboard } from '@wix/dashboard';
234
+
235
+ // Display a success toast when a product is updated
236
+ dashboard.showToast({
237
+ message: "Product updated successfully!",
238
+ type: "success",
239
+ });
240
+
241
+ // Display an error toast with a 'Learn more' link
242
+ dashboard.showToast({
243
+ message: "Product update failed.",
244
+ timeout: "none",
245
+ type: "error",
246
+ priority: "low",
247
+ action: {
248
+ uiType: "link",
249
+ text: "Learn more",
250
+ removeToastOnClick: true,
251
+ onClick: () => {
252
+ // Logic to run when the user clicks the 'Learn more' link.
253
+ console.log("Learn more clicked!");
254
+ },
255
+ },
256
+ });
257
+
258
+ // Remove a displayed toast
259
+ const { remove } = dashboard.showToast({
260
+ message: "Product updated successfully!",
261
+ type: "success",
262
+ timeout: "none",
263
+ });
264
+
265
+ // Remove the toast.
266
+ remove();
267
+ ```
268
+
269
+ ## openModal()
270
+
271
+ Host Module '@wix/dashboard' 'openModal()' opens a dashboard modal extension on your app's dashboard page.
272
+
273
+ **Notes:**
274
+ - Does not work when developing sites or building apps with Blocks.
275
+ - Requires a dashboard modal extension to be implemented first.
276
+ - Avoid using relative CSS height units (e.g., 'vh') in extensions opened by this method.
277
+
278
+ **Method parameters:**
279
+ - `modalInfo`: ModalInfo — Information about the dashboard modal to open
280
+
281
+ **Modal info:**
282
+ - `modalId` (string): ID of the dashboard modal extension to open
283
+ - `params` (Record<string, any>, optional): Custom data to pass into the modal (accessible via observeState in the modal)
284
+
285
+ **Returns:**
286
+ Promise that resolves when the modal is closed.
287
+ `{ modalClosed: Promise<Serializable> }`
288
+
289
+ **Example:**
290
+ ```typescript
291
+ import { dashboard } from '@wix/dashboard';
292
+
293
+ // Open a modal
294
+ await dashboard.openModal({
295
+ modalId: 'your-modal-id',
296
+ });
297
+
298
+ // Pass extra data when opening a modal
299
+ await dashboard.openModal({
300
+ modalId: 'your-modal-id',
301
+ params: { firstName: "Name" },
302
+ });
303
+
304
+ // Get notified when the modal is closed (continue after it closes)
305
+ const { modalClosed } = dashboard.openModal({
306
+ modalId: "1d52d058-0392-44fa-bd64-ed09275a6fcc",
307
+ });
308
+ modalClosed.then((result) => {
309
+ if (result) {
310
+ console.log("The modal was closed and returned the value:", result);
311
+ } else {
312
+ console.log("The modal was closed without any data.");
313
+ }
314
+ });
315
+ ```
316
+
317
+ ## navigateBack()
318
+
319
+ Host Module '@wix/dashboard' 'navigateBack()' navigates the user back to the previous dashboard page (equivalent to the browser back button).
320
+
321
+ **Signature:**
322
+ No parameters.
323
+
324
+ **Example:**
325
+ ```typescript
326
+ import { dashboard } from '@wix/dashboard';
327
+
328
+ // Navigate back to the previous page
329
+ dashboard.navigateBack();
330
+ ```
331
+
332
+ ## getPageUrl()
333
+
334
+ Host Module '@wix/dashboard' 'getPageUrl()' returns the full URL for a dashboard page.
335
+
336
+ **Method parameters:**
337
+ - `destination`: Destination — URL destination details
338
+
339
+ **Destination object:**
340
+ - `pageId` (string): ID of the page to link to
341
+ - `relativeUrl` (string, optional): URL segment appended to the base page URL. Can include path segments, query string, and fragment
342
+
343
+ **Returns:**
344
+ The full URL (string) of the dashboard page with the provided relativeUrl appended.
345
+ `Promise<string>`
346
+
347
+ **Example:**
348
+ ```typescript
349
+ import { dashboard } from '@wix/dashboard';
350
+
351
+ // Get the URL of the dashboard's home page with a query string
352
+ const pageUrl = await dashboard.getPageUrl({
353
+ pageId: "0845ada2-467f-4cab-ba40-2f07c812343d",
354
+ relativeUrl: "?referral=widget",
355
+ });
356
+ ```
357
+
358
+ ## openMediaManager()
359
+
360
+ Host Module '@wix/dashboard' 'openMediaManager()' opens the Wix Media Manager in a modal to let users pick media files. Developer Preview.
361
+
362
+ **Method parameters:**
363
+ - `options?`: Options — Optional Media Manager options
364
+
365
+ **Options:**
366
+ - `category` (string, optional): Media type to display. Supported: "IMAGE", "VIDEO", "MUSIC", "DOCUMENT", "VECTOR_ART", "3D_IMAGE". Default: all except "3D_IMAGE"
367
+ - `multiSelect` (boolean, optional): Whether multiple files can be selected. Default: false
368
+
369
+ **Returns:**
370
+ A promise that resolves to an object with a single key called items. The value of that key is an array of file descriptor objects for the selected media files.
371
+ `Promise<{ items: Array<FileDescriptor> }>`
372
+
373
+ **File descriptor:**
374
+ FileDescriptor is the full schema describing a Media Manager file, including IDs, timestamps, media-type, URLs, status, labels, and a media-specific payload.
375
+
376
+ **Typical fields:**
377
+ - `_id` (string): File GUID
378
+ - `_createdDate` (Date): Creation time
379
+ - `_updatedDate` (Date): Last update time
380
+ - `displayName` (string): File name as shown in Media Manager
381
+ - `mediaType` (ARCHIVE | AUDIO | DOCUMENT | IMAGE | MODEL3D | OTHER | UNKNOWN | VECTOR | VIDEO): Media file type
382
+ - `url` (string): Static URL of the file
383
+ - `thumbnailUrl` (string): Thumbnail URL
384
+ - `sizeInBytes` (string): File size in bytes
385
+ - `parentFolderId` (string): ID of the file's parent folder.
386
+ - `siteId` (string): Site GUID where the media is stored
387
+ - `private` (boolean): Whether file is private
388
+ - `operationStatus` (FAILED | READY | PENDING): Upload/processing status
389
+ - `state` (DELETED | OK): File state
390
+ - `hash` (string): File hash
391
+ - `labels` (string[]): User/AI labels
392
+ - `sourceUrl` (string): URL where the file was uploaded from.
393
+ - `media` (object): One of the following variants with specific fields
394
+ - archive: { _id: string; filename: string; sizeInBytes: string; url: string; urlExpirationDate: Date }
395
+ - audio: { _id: string; assets: string[]; bitrate: number; duration: number; format: string; sizeInBytes: string }
396
+ - document: string
397
+ - image: { caption: string; colors: { palette: Array<{ hex: string; rgb: { r: number; g: number; b: number } }>; prominent: { hex: string; rgb: { r: number; g: number; b: number } }; }; faces: Array<{ confidence: number; height: number; width: number; x: number; y: number }>; image: string; previewImage: string; }
398
+ - model3d: { _id: string; altText: string; filename: string; sizeInBytes: string; thumbnail: string; url: string; urlExpirationDate: Date }
399
+ - vector: { caption: string; colors: { palette: Array<{ hex: string; rgb: { r: number; g: number; b: number } }>; prominent: { hex: string; rgb: { r: number; g: number; b: number } }; }; faces: Array<{ confidence: number; height: number; width: number; x: number; y: number }>; image: string; previewImage: string; }
400
+ - video: string
401
+
402
+ **Example:**
403
+ ```typescript
404
+ import { dashboard } from '@wix/dashboard';
405
+
406
+ // Open a media manager modal allowing multiple image selection
407
+ const chosenMediaItems = await dashboard.openMediaManager({
408
+ multiSelect: true,
409
+ });
410
+ console.log("You have chosen: ", chosenMediaItems.items);
411
+ ```
412
+
413
+ ## onBeforeUnload()
414
+
415
+ Host Module '@wix/dashboard' 'onBeforeUnload()' registers a beforeunload handler for a dashboard page, modal, or plugin extension. The callback runs when the user is about to navigate away or the browsing context is unloading. Calling event.preventDefault() pauses navigation and shows a warning dialog about unsaved data.
416
+
417
+ **Signature:**
418
+ `onBeforeUnload(callback: (event: { preventDefault: () => void }) => void): { remove: () => void }`
419
+
420
+ **Method parameters:**
421
+ - `callback`: (event: { preventDefault: () => void }) => void — Called when the beforeunload event fires
422
+
423
+ **Notes:**
424
+ - Do not assume the beforeunload event will always fire or that a confirmation dialog will always appear; behavior varies by browser.
425
+
426
+ **Returns:**
427
+ An object with a remove() method to unregister the handler
428
+ `{ remove: () => void }`
429
+
430
+ **Example:**
431
+ ```typescript
432
+ import { dashboard } from '@wix/dashboard';
433
+
434
+ // Prompt for confirmation before unloading unsaved data
435
+ const { remove } = dashboard.onBeforeUnload((event) => {
436
+ // Check if there's unsaved data on the page
437
+ if (unsavedPageData) {
438
+ event.preventDefault();
439
+ }
440
+ });
441
+ ```
442
+
443
+ ## addSitePlugin()
444
+
445
+ Host Module '@wix/dashboard' 'addSitePlugin()' adds a site plugin to one of the slots supported in an app created by Wix. You can target a specific slot or rely on prioritized slots configured in your app's dashboard.
446
+
447
+ **Notes:**
448
+ - Developer Preview. API is subject to change.
449
+ - Requires a site plugin extension to be configured first.
450
+
451
+ **Method parameters:**
452
+ - `pluginId`: string — ID of your site plugin (from the extension's settings in your app's dashboard)
453
+ - `options`: addSitePluginOptions — Options for adding the site plugin
454
+
455
+ **Add site plugin options:**
456
+ - `placement?`: PluginPlacement — Details of the slot to add the plugin to. If omitted, the plugin is added to the first available slot based on your installation settings. If all prioritized slots are occupied, it won't be added
457
+
458
+ **Plugin placement:**
459
+ - `appDefinitionId`: string — ID of the Wix app hosting the widget and slot (see list of apps created by Wix)
460
+ - `widgetId`: string — ID of the host widget in which the slot exists
461
+ - `slotId`: string — ID of the slot in the host widget
462
+
463
+ **Returns:**
464
+ Resolves on success. See Errors for possible rejection reasons
465
+ `Promise<void>`
466
+
467
+ **Errors:**
468
+ - 3001: Slot occupied
469
+ - 3002: Slot not found
470
+ - 3003: Error adding plugin
471
+ - 3004: Error replacing existing plugin
472
+ - 3005: Error loading modal data
473
+ - 3006: Aborted by user
474
+ - 3007: Site not published yet
475
+
476
+ **Example:**
477
+ ```typescript
478
+ import { dashboard } from '@wix/dashboard';
479
+
480
+ // Add a site plugin to a specific slot
481
+ const pluginId = "975bffb7-3c04-42cc-9840-3d48c24e73d5";
482
+ const pluginPlacement = {
483
+ appDefinitionId: "13d21c63-b5ec-5912-8397-c3a5ddb27a97",
484
+ widgetId: "a91a0543-d4bd-4e6b-b315-9410aa27bcde",
485
+ slotId: "slot1",
486
+ };
487
+
488
+ dashboard
489
+ .addSitePlugin(pluginId, { placement: pluginPlacement })
490
+ .then(() => {
491
+ console.log("Plugin added successfully");
492
+ })
493
+ .catch((error) => {
494
+ console.error("Error adding plugin:", error);
495
+ });
496
+
497
+ // Add a site plugin without specifying a slot (uses prioritized slots)
498
+ const pluginId = "975bffb7-3c04-42cc-9840-3d48c24e73d5";
499
+
500
+ dashboard
501
+ .addSitePlugin(pluginId, {})
502
+ .then(() => {
503
+ console.log("Plugin added successfully");
504
+ })
505
+ .catch((error) => {
506
+ console.error("Error adding plugin:", error);
507
+ });
508
+ ```
509
+
510
+ ## setPageTitle()
511
+
512
+ Host Module '@wix/dashboard' 'setPageTitle()' sets the title of the current dashboard page in the browser tab. This can only be called from dashboard pages (not plugin extensions). Pass null to reset the title to the default dashboard page title.
513
+
514
+ **Method parameters:**
515
+ - `pageTitle`: string | null — Title to set (or null to reset)
516
+
517
+ **Returns:**
518
+ void
519
+
520
+ **Example:**
521
+ ```typescript
522
+ import { dashboard } from '@wix/dashboard';
523
+
524
+ // Set a static page title
525
+ dashboard.setPageTitle('Orders Overview');
526
+
527
+ // Reset to default dashboard page title
528
+ dashboard.observeState((_, environmentState) => {
529
+ // Use a regular expression to capture the productId value.
530
+ const queryParams = environmentState.pageLocation.search;
531
+ const productIdMatch = queryParams.match(/[?&]productId=([^&]+)/);
532
+ let productId;
533
+ if (productIdMatch) {
534
+ productId = productIdMatch[1];
535
+ }
536
+
537
+ // If a product ID was found, set the page title to the ID.
538
+ if (productId) {
539
+ dashboard.setPageTitle("Product: " + productId);
540
+ // If no product ID was found, reset the page title to default.
541
+ } else {
542
+ dashboard.setPageTitle(null);
543
+ }
544
+ });
545
+ ```
546
+
547
+ ## onLayerStateChange()
548
+
549
+ Host Module '@wix/dashboard' 'onLayerStateChange()' registers a handler fired when a page, modal, or plugin extension moves between foreground and background. Use it to refresh data when coming to foreground and pause resource-intensive work when backgrounded.
550
+
551
+ **Method parameters:**
552
+ - `callback`: (state: "foreground" | "background") => void — Called whenever the layer state changes
553
+
554
+ **Returns:**
555
+ An object with remove() to unregister the handler
556
+ `{ remove: () => void }`
557
+
558
+ **Example:**
559
+ ```typescript
560
+ import { dashboard } from '@wix/dashboard';
561
+
562
+ // Refresh/pause depending on visibility
563
+ const { remove } = dashboard.onLayerStateChange((state) => {
564
+ if (state === "foreground") {
565
+ refreshData();
566
+ }
567
+ });
568
+
569
+ // Remove the onLayerStateChange handler when the beforeUnload event is triggered.
570
+ dashboard.onBeforeUnload(() => {
571
+ remove();
572
+ });
573
+ ```