@fayz-ai/plugin-shop 0.9.1 → 0.10.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 (119) hide show
  1. package/dist/ShopPage-ZBJRNMKQ.js +2942 -0
  2. package/dist/ShopPage-ZBJRNMKQ.js.map +1 -0
  3. package/dist/analytics/cards.d.ts +3 -0
  4. package/dist/analytics/cards.d.ts.map +1 -0
  5. package/dist/chunk-EW4XJRA2.js +835 -0
  6. package/dist/chunk-EW4XJRA2.js.map +1 -0
  7. package/dist/data/registries.d.ts +53 -0
  8. package/dist/data/registries.d.ts.map +1 -0
  9. package/dist/data/registry-routes.d.ts +21 -0
  10. package/dist/data/registry-routes.d.ts.map +1 -0
  11. package/dist/data/shippingProfileDataProvider.d.ts +19 -0
  12. package/dist/data/shippingProfileDataProvider.d.ts.map +1 -0
  13. package/dist/data/stockLocationDataProvider.d.ts +13 -0
  14. package/dist/data/stockLocationDataProvider.d.ts.map +1 -0
  15. package/dist/index.d.ts +15 -0
  16. package/dist/index.d.ts.map +1 -1
  17. package/dist/index.js +4446 -504
  18. package/dist/index.js.map +1 -1
  19. package/dist/integrations/abacatepay/connectorDef.d.ts +41 -0
  20. package/dist/integrations/abacatepay/connectorDef.d.ts.map +1 -0
  21. package/dist/integrations/appmax/connectorDef.d.ts +28 -0
  22. package/dist/integrations/appmax/connectorDef.d.ts.map +1 -0
  23. package/dist/integrations/bling/connectorDef.d.ts +10 -0
  24. package/dist/integrations/bling/connectorDef.d.ts.map +1 -0
  25. package/dist/integrations/bling/data.d.ts +61 -0
  26. package/dist/integrations/bling/data.d.ts.map +1 -0
  27. package/dist/integrations/bling/inbound.d.ts +97 -0
  28. package/dist/integrations/bling/inbound.d.ts.map +1 -0
  29. package/dist/integrations/bling/index.d.ts +9 -0
  30. package/dist/integrations/bling/index.d.ts.map +1 -0
  31. package/dist/integrations/bling/limits.d.ts +33 -0
  32. package/dist/integrations/bling/limits.d.ts.map +1 -0
  33. package/dist/integrations/bling/mapping.d.ts +10 -0
  34. package/dist/integrations/bling/mapping.d.ts.map +1 -0
  35. package/dist/integrations/bling/sync.d.ts +70 -0
  36. package/dist/integrations/bling/sync.d.ts.map +1 -0
  37. package/dist/integrations/bling/types.d.ts +59 -0
  38. package/dist/integrations/bling/types.d.ts.map +1 -0
  39. package/dist/integrations/melhor-envio/connectorDef.d.ts +38 -0
  40. package/dist/integrations/melhor-envio/connectorDef.d.ts.map +1 -0
  41. package/dist/integrations/melhor-envio/labelProvider.d.ts +4 -0
  42. package/dist/integrations/melhor-envio/labelProvider.d.ts.map +1 -0
  43. package/dist/integrations/stripe-connect/connectorDef.d.ts +17 -0
  44. package/dist/integrations/stripe-connect/connectorDef.d.ts.map +1 -0
  45. package/dist/settings/CheckoutSettings.d.ts +17 -0
  46. package/dist/settings/CheckoutSettings.d.ts.map +1 -0
  47. package/dist/settings/ChoiceCards.d.ts +23 -0
  48. package/dist/settings/ChoiceCards.d.ts.map +1 -0
  49. package/dist/settings/FulfillmentSettings.d.ts +23 -0
  50. package/dist/settings/FulfillmentSettings.d.ts.map +1 -0
  51. package/dist/settings/HandlingSettings.d.ts +17 -0
  52. package/dist/settings/HandlingSettings.d.ts.map +1 -0
  53. package/dist/settings/PackagesSettings.d.ts +22 -0
  54. package/dist/settings/PackagesSettings.d.ts.map +1 -0
  55. package/dist/settings/PaymentProviderRow.d.ts +28 -0
  56. package/dist/settings/PaymentProviderRow.d.ts.map +1 -0
  57. package/dist/settings/PaymentsSettings.d.ts +7 -0
  58. package/dist/settings/PaymentsSettings.d.ts.map +1 -0
  59. package/dist/settings/SettingsState.d.ts +27 -0
  60. package/dist/settings/SettingsState.d.ts.map +1 -0
  61. package/dist/settings/ShippingSettings.d.ts +27 -0
  62. package/dist/settings/ShippingSettings.d.ts.map +1 -0
  63. package/dist/settings/StoreGeneralSettings.d.ts +19 -0
  64. package/dist/settings/StoreGeneralSettings.d.ts.map +1 -0
  65. package/dist/settings/error-message.d.ts +2 -0
  66. package/dist/settings/error-message.d.ts.map +1 -0
  67. package/dist/settings/index.d.ts +12 -0
  68. package/dist/settings/index.d.ts.map +1 -0
  69. package/dist/settings/payment-provider.d.ts +13 -0
  70. package/dist/settings/payment-provider.d.ts.map +1 -0
  71. package/dist/settings/useStoreSettings.d.ts +30 -0
  72. package/dist/settings/useStoreSettings.d.ts.map +1 -0
  73. package/dist/views/AgencySelect.d.ts +17 -0
  74. package/dist/views/AgencySelect.d.ts.map +1 -0
  75. package/dist/views/ContentPage.d.ts.map +1 -1
  76. package/dist/views/FulfillmentProviderSelect.d.ts +14 -0
  77. package/dist/views/FulfillmentProviderSelect.d.ts.map +1 -0
  78. package/dist/views/NewOrderCharge.d.ts +17 -0
  79. package/dist/views/NewOrderCharge.d.ts.map +1 -0
  80. package/dist/views/NewOrderPage.d.ts +9 -0
  81. package/dist/views/NewOrderPage.d.ts.map +1 -0
  82. package/dist/views/OrderDetailView.d.ts +2 -0
  83. package/dist/views/OrderDetailView.d.ts.map +1 -1
  84. package/dist/views/OrderPaymentDetail.d.ts +5 -0
  85. package/dist/views/OrderPaymentDetail.d.ts.map +1 -0
  86. package/dist/views/OrderProviderLinks.d.ts +5 -0
  87. package/dist/views/OrderProviderLinks.d.ts.map +1 -0
  88. package/dist/views/PackageSelect.d.ts +20 -0
  89. package/dist/views/PackageSelect.d.ts.map +1 -0
  90. package/dist/views/ProductImagesTab.d.ts.map +1 -1
  91. package/dist/views/ProductVariantsTab.d.ts +29 -0
  92. package/dist/views/ProductVariantsTab.d.ts.map +1 -0
  93. package/dist/views/SenderLocationModal.d.ts +20 -0
  94. package/dist/views/SenderLocationModal.d.ts.map +1 -0
  95. package/dist/views/ShipOrderForm.d.ts +10 -0
  96. package/dist/views/ShipOrderForm.d.ts.map +1 -0
  97. package/dist/views/ShipWithCarrier.d.ts +18 -0
  98. package/dist/views/ShipWithCarrier.d.ts.map +1 -0
  99. package/dist/views/ShipmentActions.d.ts +11 -0
  100. package/dist/views/ShipmentActions.d.ts.map +1 -0
  101. package/dist/views/ShippingProfileSelect.d.ts +13 -0
  102. package/dist/views/ShippingProfileSelect.d.ts.map +1 -0
  103. package/dist/views/ShopPage.d.ts.map +1 -1
  104. package/dist/views/customerEntity.d.ts.map +1 -1
  105. package/dist/views/eta-label.d.ts +6 -0
  106. package/dist/views/eta-label.d.ts.map +1 -0
  107. package/dist/views/media-links.d.ts +12 -0
  108. package/dist/views/media-links.d.ts.map +1 -0
  109. package/dist/views/new-order-rules.d.ts +55 -0
  110. package/dist/views/new-order-rules.d.ts.map +1 -0
  111. package/dist/views/order-actions.d.ts +4 -0
  112. package/dist/views/order-actions.d.ts.map +1 -0
  113. package/dist/views/productEntity.d.ts.map +1 -1
  114. package/dist/views/shippingZoneEntity.d.ts.map +1 -1
  115. package/package.json +10 -7
  116. package/dist/ShopPage-PVHFKDF3.js +0 -690
  117. package/dist/ShopPage-PVHFKDF3.js.map +0 -1
  118. package/dist/components/ShopSettings.d.ts +0 -15
  119. package/dist/components/ShopSettings.d.ts.map +0 -1
@@ -0,0 +1,55 @@
1
+ import type { CheckoutSettlement } from '@fayz-ai/shop';
2
+ export type ChargeOutcome = 'waiting' | 'paid' | 'expired' | 'failed';
3
+ /**
4
+ * What the merchant is told while a Pix is open.
5
+ *
6
+ * `pending` is the ordinary answer for as long as the buyer has the QR code in
7
+ * front of them, and reading it as a refusal put "o pagamento não foi
8
+ * concluído" on screen one second after the charge was opened. Only the three
9
+ * dead states end the wait; anything else — including a state this build has
10
+ * never heard of — keeps waiting.
11
+ */
12
+ export declare function chargeOutcome(state: CheckoutSettlement['state'] | undefined): ChargeOutcome;
13
+ export type NewOrderEnding = 'charge' | 'received' | 'later';
14
+ export interface NewOrderDraft {
15
+ lineCount: number;
16
+ /** Lines whose product has options but no variant chosen yet. */
17
+ unresolvedVariants: number;
18
+ customerName: string;
19
+ customerEmail: string;
20
+ customerPhone: string;
21
+ /** Digits only. Empty when the merchant did not ask for it. */
22
+ customerDocument: string;
23
+ documentValid: boolean;
24
+ /** True once the address carries a postcode the store can quote. */
25
+ delivers: boolean;
26
+ addressComplete: boolean;
27
+ }
28
+ /**
29
+ * The one sentence that stands between a draft and the act — or null.
30
+ *
31
+ * The acquirer's requirements only apply to the charge ending: a counter sale
32
+ * settled in cash needs no CPF, and demanding one there would be this screen
33
+ * inventing a rule nobody has.
34
+ */
35
+ export declare function validateNewOrder(draft: NewOrderDraft, ending: NewOrderEnding): string | null;
36
+ /**
37
+ * Is this the "one e-mail, one customer" index refusing a second row?
38
+ *
39
+ * Postgres says it as `duplicate key value violates unique constraint
40
+ * "shop_customers_tenant_email_idx"`, which is true and useless to a merchant
41
+ * mid-call: the person is already their customer, and what they want is that
42
+ * record. Matched by SQLSTATE first, by the sentence only as a fallback for the
43
+ * transports that drop the code.
44
+ */
45
+ export declare function isDuplicateEmail(error: unknown): boolean;
46
+ /**
47
+ * Is the carrier complaining about the SENDER rather than this order?
48
+ *
49
+ * Its refusals name the field — "O campo from.phone é obrigatório quando service
50
+ * for 4" — and every `from.*` one is about the store's dispatch location, which
51
+ * the merchant can fix without leaving the screen. `to.*` is about the order,
52
+ * and a button offering to edit the warehouse would be a wrong turn.
53
+ */
54
+ export declare function isSenderRefusal(message: string | null | undefined): boolean;
55
+ //# sourceMappingURL=new-order-rules.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"new-order-rules.d.ts","sourceRoot":"","sources":["../../src/views/new-order-rules.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAOvD,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,CAAA;AAErE;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,GAAG,SAAS,GAAG,aAAa,CAK3F;AAED,MAAM,MAAM,cAAc,GAAG,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAA;AAE5D,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,iEAAiE;IACjE,kBAAkB,EAAE,MAAM,CAAA;IAC1B,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,aAAa,EAAE,MAAM,CAAA;IACrB,+DAA+D;IAC/D,gBAAgB,EAAE,MAAM,CAAA;IACxB,aAAa,EAAE,OAAO,CAAA;IACtB,oEAAoE;IACpE,QAAQ,EAAE,OAAO,CAAA;IACjB,eAAe,EAAE,OAAO,CAAA;CACzB;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,aAAa,EAAE,MAAM,EAAE,cAAc,GAAG,MAAM,GAAG,IAAI,CAqB5F;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAKxD;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,OAAO,CAG3E"}
@@ -0,0 +1,4 @@
1
+ import type { ShopProvider } from '@fayz-ai/shop';
2
+ /** Cancels one order through whichever door this store's provider offers. */
3
+ export declare function cancelShopOrder(provider: ShopProvider, orderId: string, reason?: string): Promise<void>;
4
+ //# sourceMappingURL=order-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"order-actions.d.ts","sourceRoot":"","sources":["../../src/views/order-actions.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAajD,6EAA6E;AAC7E,wBAAsB,eAAe,CACnC,QAAQ,EAAE,YAAY,EACtB,OAAO,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,MAAM,GACd,OAAO,CAAC,IAAI,CAAC,CAYf"}
@@ -1 +1 @@
1
- {"version":3,"file":"productEntity.d.ts","sourceRoot":"","sources":["../../src/views/productEntity.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAA+B,MAAM,eAAe,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAsC1D,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7C;AAsBD,wBAAgB,sBAAsB,CACpC,YAAY,SAAQ,EACpB,WAAW,CAAC,EAAE,MAAM,YAAY,GAC/B,SAAS,CAAC,OAAO,CAAC,CA0JpB"}
1
+ {"version":3,"file":"productEntity.d.ts","sourceRoot":"","sources":["../../src/views/productEntity.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAA+B,MAAM,eAAe,CAAA;AAC3E,OAAO,KAAK,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAgD1D,8EAA8E;AAC9E,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7C;AAsBD,wBAAgB,sBAAsB,CACpC,YAAY,SAAQ,EACpB,WAAW,CAAC,EAAE,MAAM,YAAY,GAC/B,SAAS,CAAC,OAAO,CAAC,CAmOpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"shippingZoneEntity.d.ts","sourceRoot":"","sources":["../../src/views/shippingZoneEntity.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAoBjD,wBAAgB,2BAA2B,CAAC,QAAQ,SAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAoGrF"}
1
+ {"version":3,"file":"shippingZoneEntity.d.ts","sourceRoot":"","sources":["../../src/views/shippingZoneEntity.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,eAAe,CAAA;AACxD,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AA2BjD,wBAAgB,2BAA2B,CAAC,QAAQ,SAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CA+HrF"}
package/package.json CHANGED
@@ -3,7 +3,7 @@
3
3
  "fayz": {
4
4
  "status": "preview"
5
5
  },
6
- "version": "0.9.1",
6
+ "version": "0.10.0",
7
7
  "description": "[experimental] Fayz SDK — plugin-shop plugin",
8
8
  "type": "module",
9
9
  "sideEffects": false,
@@ -27,10 +27,10 @@
27
27
  },
28
28
  "dependencies": {
29
29
  "@tanstack/react-table": "^8.20.0",
30
- "@fayz-ai/core": "^0.10.0",
31
- "@fayz-ai/admin": "^0.10.0",
32
- "@fayz-ai/shop": "^0.10.0",
33
- "@fayz-ai/ui": "^0.10.0"
30
+ "@fayz-ai/core": "^0.11.0",
31
+ "@fayz-ai/admin": "^0.11.0",
32
+ "@fayz-ai/shop": "^0.11.0",
33
+ "@fayz-ai/ui": "^0.11.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/react": "^18.3.0",
@@ -38,7 +38,8 @@
38
38
  "tsup": "^8.2.0",
39
39
  "typescript": "^5.5.0",
40
40
  "zustand": "^4.5.0",
41
- "lucide-react": "^0.400.0"
41
+ "lucide-react": "^0.400.0",
42
+ "vitest": "^4.1.5"
42
43
  },
43
44
  "license": "MIT",
44
45
  "keywords": [
@@ -53,6 +54,8 @@
53
54
  "build": "tsup && tsc --emitDeclarationOnly --declaration --declarationMap --noEmit false",
54
55
  "dev": "tsup --watch",
55
56
  "typecheck": "tsc --noEmit",
56
- "clean": "rm -rf dist"
57
+ "clean": "rm -rf dist",
58
+ "test": "vitest run && pnpm run test:functions",
59
+ "test:functions": "node --test functions/_shared/*.test.mjs"
57
60
  }
58
61
  }