@aglyn/plugins-commerce 1.0.0-beta.219 → 1.0.0-beta.220

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 (80) hide show
  1. package/README.md +5 -0
  2. package/package.json +14 -14
  3. package/src/lib/components/console/catalog-organization-card.component.js +626 -446
  4. package/src/lib/components/console/catalog-organization-card.component.js.map +1 -1
  5. package/src/lib/components/console/payments-settings-card.component.js +1 -1
  6. package/src/lib/components/console/payments-settings-card.component.js.map +1 -1
  7. package/src/lib/components/console/product-editor-dialog.component.js +1127 -846
  8. package/src/lib/components/console/product-editor-dialog.component.js.map +1 -1
  9. package/src/lib/components/console/site-member-purchases.component.d.ts +24 -0
  10. package/src/lib/components/console/site-member-purchases.component.js +339 -0
  11. package/src/lib/components/console/site-member-purchases.component.js.map +1 -0
  12. package/src/lib/components/member-signup.js +2 -2
  13. package/src/lib/components/member-signup.js.map +1 -1
  14. package/src/lib/components/newsletter-signup.js +2 -2
  15. package/src/lib/components/newsletter-signup.js.map +1 -1
  16. package/src/lib/constants/operator-alerts.js +5 -3
  17. package/src/lib/constants/operator-alerts.js.map +1 -1
  18. package/src/lib/model/commerce-io.js +1 -1
  19. package/src/lib/model/commerce-io.js.map +1 -1
  20. package/src/lib/model/commerce-record-lists.d.ts +31 -0
  21. package/src/lib/model/commerce-record-lists.js +45 -0
  22. package/src/lib/model/commerce-record-lists.js.map +1 -0
  23. package/src/lib/model/commerce-record-routes.d.ts +18 -0
  24. package/src/lib/model/commerce-record-routes.js +1 -1
  25. package/src/lib/model/commerce-record-routes.js.map +1 -1
  26. package/src/lib/model/commerce-search-sources.js +4 -2
  27. package/src/lib/model/commerce-search-sources.js.map +1 -1
  28. package/src/lib/model/commerce-topics.d.ts +20 -0
  29. package/src/lib/model/commerce-topics.js +33 -0
  30. package/src/lib/model/commerce-topics.js.map +1 -0
  31. package/src/lib/model/index.d.ts +1 -0
  32. package/src/lib/model/index.js +1 -0
  33. package/src/lib/model/index.js.map +1 -1
  34. package/src/lib/model/product-record.d.ts +32 -0
  35. package/src/lib/model/product-record.js +82 -0
  36. package/src/lib/model/product-record.js.map +1 -0
  37. package/src/lib/model/site-member-purchases.d.ts +48 -0
  38. package/src/lib/model/site-member-purchases.js +50 -0
  39. package/src/lib/model/site-member-purchases.js.map +1 -0
  40. package/src/lib/plugin.js +12 -0
  41. package/src/lib/plugin.js.map +1 -1
  42. package/src/lib/server/billing-webhook.js +342 -170
  43. package/src/lib/server/billing-webhook.js.map +1 -1
  44. package/src/lib/server/cart-checkout.js +1 -1
  45. package/src/lib/server/cart-checkout.js.map +1 -1
  46. package/src/lib/server/gift-cards.js +7 -3
  47. package/src/lib/server/gift-cards.js.map +1 -1
  48. package/src/lib/server/low-stock.js +3 -1
  49. package/src/lib/server/low-stock.js.map +1 -1
  50. package/src/lib/server/member-post.js +2 -2
  51. package/src/lib/server/member-post.js.map +1 -1
  52. package/src/lib/server/membership-admin-password.js +4 -1
  53. package/src/lib/server/membership-admin-password.js.map +1 -1
  54. package/src/lib/server/membership-register.js +13 -2
  55. package/src/lib/server/membership-register.js.map +1 -1
  56. package/src/lib/server/newsletter.js +32 -19
  57. package/src/lib/server/newsletter.js.map +1 -1
  58. package/src/lib/server/pos-order.js +1 -1
  59. package/src/lib/server/pos-order.js.map +1 -1
  60. package/src/lib/server/process-abandoned.js +4 -2
  61. package/src/lib/server/process-abandoned.js.map +1 -1
  62. package/src/lib/server/process-restock.js +7 -5
  63. package/src/lib/server/process-restock.js.map +1 -1
  64. package/src/lib/server/product-record-index.js +5 -37
  65. package/src/lib/server/product-record-index.js.map +1 -1
  66. package/src/lib/server/reconcile-stock.js +1 -1
  67. package/src/lib/server/reconcile-stock.js.map +1 -1
  68. package/src/lib/server/reserve-stock.js +6 -1
  69. package/src/lib/server/reserve-stock.js.map +1 -1
  70. package/src/lib/server/revenue-source.js +3 -3
  71. package/src/lib/server/revenue-source.js.map +1 -1
  72. package/src/lib/server/supplier-outbox.js +16 -1
  73. package/src/lib/server/supplier-outbox.js.map +1 -1
  74. package/src/lib/server/supplier-update.js +19 -9
  75. package/src/lib/server/supplier-update.js.map +1 -1
  76. package/src/lib/starter-templates.d.ts +19 -0
  77. package/src/lib/starter-templates.js +157 -0
  78. package/src/lib/starter-templates.js.map +1 -0
  79. package/src/lib/tenant-emails.js +54 -14
  80. package/src/lib/tenant-emails.js.map +1 -1
package/README.md CHANGED
@@ -39,11 +39,16 @@ The entry in `plugins.config.json` also declares an `accounts` capability ("User
39
39
  - A **Products** nav item and page at `/products`, with the sections Catalog, Orders, Promotions, Reservations, Settings and Analytics as routes.
40
40
  - A **POS** nav item and page at `/pos`, which requires the plugin's own `managePos` permission.
41
41
  - A "Commerce" widget in the `commerceGlance` slot, and a "Newest site users" widget in the `hostDashboard` slot under the accounts capability.
42
+ - A "Purchases" widget in the `siteMember` slot: a site user's lifetime purchase total, orders and subscriptions, in their drawer on the site's Users page.
42
43
  - The plugin's permissions (`COMMERCE_PERMISSIONS`) and its config schema (`COMMERCE_CONFIG_SCHEMA`, which holds the POS discount ceiling).
43
44
  - Three zones its own surfaces host, declared with `registerPluginZone`: `productEditor` (among the product editor's fields), `productsHub` (above the catalog table) and `productImport` (inside the CSV import dialog). Their props are declared on the zone tokens in `components/console/product-zones`.
44
45
 
45
46
  All console pages and cards are code-split.
46
47
 
48
+ ### Starter sites
49
+
50
+ `commerceStarterTemplates()` (`starter-templates`) returns the two shop starters, "Shop (physical products)" and "Shop (digital products)": home, shop, product page, cart and account pages built around this plugin's elements. `plugins.config.json` names it under `starterTemplates`, and the manifest generator compiles the starters into core's `STARTER_TEMPLATES`, which the template gallery, the seed route and the AI plugin's examples read. The starter ids, page keys and node ids are persisted in every site that used one.
51
+
47
52
  ### On the server
48
53
 
49
54
  `@aglyn/plugins-commerce/server` pulls in `firebase-admin` and Stripe and is kept out of the client entry point.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@aglyn/plugins-commerce",
3
- "version": "1.0.0-beta.219",
3
+ "version": "1.0.0-beta.220",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://aglyn.com",
6
6
  "repository": {
@@ -25,18 +25,18 @@
25
25
  "./package.json": "./package.json"
26
26
  },
27
27
  "dependencies": {
28
- "@aglyn/aglyn": "1.0.0-beta.219",
29
- "@aglyn/shared-data-mdi": "1.0.0-beta.219",
30
- "@aglyn/shared-ui-jsx": "1.0.0-beta.219",
31
- "@aglyn/shared-ui-next": "1.0.0-beta.219",
32
- "@aglyn/shared-ui-snackstack": "1.0.0-beta.219",
33
- "@aglyn/shared-util-email": "1.0.0-beta.219",
34
- "@aglyn/shared-util-http": "1.0.0-beta.219",
35
- "@aglyn/shared-util-timestamp": "1.0.0-beta.219",
36
- "@aglyn/shared-util-tools": "1.0.0-beta.219",
37
- "@aglyn/tenant-data-admin": "1.0.0-beta.219",
38
- "@aglyn/tenant-feature-instance": "1.0.0-beta.219",
39
- "@aglyn/tenant-runtime": "1.0.0-beta.219",
28
+ "@aglyn/aglyn": "1.0.0-beta.220",
29
+ "@aglyn/shared-data-mdi": "1.0.0-beta.220",
30
+ "@aglyn/shared-ui-jsx": "1.0.0-beta.220",
31
+ "@aglyn/shared-ui-next": "1.0.0-beta.220",
32
+ "@aglyn/shared-ui-snackstack": "1.0.0-beta.220",
33
+ "@aglyn/shared-util-email": "1.0.0-beta.220",
34
+ "@aglyn/shared-util-http": "1.0.0-beta.220",
35
+ "@aglyn/shared-util-timestamp": "1.0.0-beta.220",
36
+ "@aglyn/shared-util-tools": "1.0.0-beta.220",
37
+ "@aglyn/tenant-data-admin": "1.0.0-beta.220",
38
+ "@aglyn/tenant-feature-instance": "1.0.0-beta.220",
39
+ "@aglyn/tenant-runtime": "1.0.0-beta.220",
40
40
  "@stripe/react-stripe-js": "^6.12.0",
41
41
  "@stripe/stripe-js": "^9.17.0",
42
42
  "@swc/helpers": "0.5.23",
@@ -46,7 +46,7 @@
46
46
  "@mui/material": "^9.3.1",
47
47
  "@mui/x-data-grid": "^9.12.0",
48
48
  "firebase": "^12.18.0",
49
- "next": "16.3.3",
49
+ "next": "^16.3.3",
50
50
  "react": "^19.2.8"
51
51
  },
52
52
  "sideEffects": [