@fayz-ai/plugin-shop 0.9.1 → 0.11.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.
- package/dist/ShopPage-YB5ZWECJ.js +2926 -0
- package/dist/ShopPage-YB5ZWECJ.js.map +1 -0
- package/dist/analytics/cards.d.ts +3 -0
- package/dist/analytics/cards.d.ts.map +1 -0
- package/dist/chunk-HAKXHHAG.js +882 -0
- package/dist/chunk-HAKXHHAG.js.map +1 -0
- package/dist/data/productDataProvider.d.ts.map +1 -1
- package/dist/data/registries.d.ts +53 -0
- package/dist/data/registries.d.ts.map +1 -0
- package/dist/data/registry-routes.d.ts +21 -0
- package/dist/data/registry-routes.d.ts.map +1 -0
- package/dist/data/shared.d.ts +12 -2
- package/dist/data/shared.d.ts.map +1 -1
- package/dist/data/shippingProfileDataProvider.d.ts +19 -0
- package/dist/data/shippingProfileDataProvider.d.ts.map +1 -0
- package/dist/data/stockLocationDataProvider.d.ts +13 -0
- package/dist/data/stockLocationDataProvider.d.ts.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4650 -508
- package/dist/index.js.map +1 -1
- package/dist/integrations/abacatepay/connectorDef.d.ts +41 -0
- package/dist/integrations/abacatepay/connectorDef.d.ts.map +1 -0
- package/dist/integrations/appmax/connectorDef.d.ts +28 -0
- package/dist/integrations/appmax/connectorDef.d.ts.map +1 -0
- package/dist/integrations/bling/connectorDef.d.ts +10 -0
- package/dist/integrations/bling/connectorDef.d.ts.map +1 -0
- package/dist/integrations/bling/data.d.ts +61 -0
- package/dist/integrations/bling/data.d.ts.map +1 -0
- package/dist/integrations/bling/inbound.d.ts +97 -0
- package/dist/integrations/bling/inbound.d.ts.map +1 -0
- package/dist/integrations/bling/index.d.ts +9 -0
- package/dist/integrations/bling/index.d.ts.map +1 -0
- package/dist/integrations/bling/limits.d.ts +33 -0
- package/dist/integrations/bling/limits.d.ts.map +1 -0
- package/dist/integrations/bling/mapping.d.ts +10 -0
- package/dist/integrations/bling/mapping.d.ts.map +1 -0
- package/dist/integrations/bling/sync.d.ts +70 -0
- package/dist/integrations/bling/sync.d.ts.map +1 -0
- package/dist/integrations/bling/types.d.ts +59 -0
- package/dist/integrations/bling/types.d.ts.map +1 -0
- package/dist/integrations/melhor-envio/connectorDef.d.ts +38 -0
- package/dist/integrations/melhor-envio/connectorDef.d.ts.map +1 -0
- package/dist/integrations/melhor-envio/labelProvider.d.ts +4 -0
- package/dist/integrations/melhor-envio/labelProvider.d.ts.map +1 -0
- package/dist/integrations/stripe-connect/connectorDef.d.ts +17 -0
- package/dist/integrations/stripe-connect/connectorDef.d.ts.map +1 -0
- package/dist/integrations/vindi/connectorDef.d.ts +76 -0
- package/dist/integrations/vindi/connectorDef.d.ts.map +1 -0
- package/dist/settings/CheckoutSettings.d.ts +17 -0
- package/dist/settings/CheckoutSettings.d.ts.map +1 -0
- package/dist/settings/ChoiceCards.d.ts +23 -0
- package/dist/settings/ChoiceCards.d.ts.map +1 -0
- package/dist/settings/FulfillmentSettings.d.ts +23 -0
- package/dist/settings/FulfillmentSettings.d.ts.map +1 -0
- package/dist/settings/HandlingSettings.d.ts +17 -0
- package/dist/settings/HandlingSettings.d.ts.map +1 -0
- package/dist/settings/PackagesSettings.d.ts +22 -0
- package/dist/settings/PackagesSettings.d.ts.map +1 -0
- package/dist/settings/PaymentProviderRow.d.ts +28 -0
- package/dist/settings/PaymentProviderRow.d.ts.map +1 -0
- package/dist/settings/PaymentsSettings.d.ts +7 -0
- package/dist/settings/PaymentsSettings.d.ts.map +1 -0
- package/dist/settings/SettingsState.d.ts +27 -0
- package/dist/settings/SettingsState.d.ts.map +1 -0
- package/dist/settings/ShippingSettings.d.ts +27 -0
- package/dist/settings/ShippingSettings.d.ts.map +1 -0
- package/dist/settings/StoreGeneralSettings.d.ts +19 -0
- package/dist/settings/StoreGeneralSettings.d.ts.map +1 -0
- package/dist/settings/error-message.d.ts +2 -0
- package/dist/settings/error-message.d.ts.map +1 -0
- package/dist/settings/index.d.ts +12 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/payment-provider.d.ts +13 -0
- package/dist/settings/payment-provider.d.ts.map +1 -0
- package/dist/settings/useStoreSettings.d.ts +30 -0
- package/dist/settings/useStoreSettings.d.ts.map +1 -0
- package/dist/views/AgencySelect.d.ts +17 -0
- package/dist/views/AgencySelect.d.ts.map +1 -0
- package/dist/views/ContentPage.d.ts.map +1 -1
- package/dist/views/FulfillmentProviderSelect.d.ts +14 -0
- package/dist/views/FulfillmentProviderSelect.d.ts.map +1 -0
- package/dist/views/NewOrderCharge.d.ts +17 -0
- package/dist/views/NewOrderCharge.d.ts.map +1 -0
- package/dist/views/NewOrderPage.d.ts +9 -0
- package/dist/views/NewOrderPage.d.ts.map +1 -0
- package/dist/views/OrderDetailView.d.ts +2 -0
- package/dist/views/OrderDetailView.d.ts.map +1 -1
- package/dist/views/OrderPaymentDetail.d.ts +5 -0
- package/dist/views/OrderPaymentDetail.d.ts.map +1 -0
- package/dist/views/OrderProviderLinks.d.ts +5 -0
- package/dist/views/OrderProviderLinks.d.ts.map +1 -0
- package/dist/views/PackageSelect.d.ts +20 -0
- package/dist/views/PackageSelect.d.ts.map +1 -0
- package/dist/views/ProductImagesTab.d.ts.map +1 -1
- package/dist/views/ProductVariantsTab.d.ts +29 -0
- package/dist/views/ProductVariantsTab.d.ts.map +1 -0
- package/dist/views/SenderLocationModal.d.ts +20 -0
- package/dist/views/SenderLocationModal.d.ts.map +1 -0
- package/dist/views/ShipOrderForm.d.ts +10 -0
- package/dist/views/ShipOrderForm.d.ts.map +1 -0
- package/dist/views/ShipWithCarrier.d.ts +18 -0
- package/dist/views/ShipWithCarrier.d.ts.map +1 -0
- package/dist/views/ShipmentActions.d.ts +11 -0
- package/dist/views/ShipmentActions.d.ts.map +1 -0
- package/dist/views/ShippingProfileSelect.d.ts +13 -0
- package/dist/views/ShippingProfileSelect.d.ts.map +1 -0
- package/dist/views/ShopPage.d.ts.map +1 -1
- package/dist/views/customerEntity.d.ts.map +1 -1
- package/dist/views/eta-label.d.ts +6 -0
- package/dist/views/eta-label.d.ts.map +1 -0
- package/dist/views/media-links.d.ts +12 -0
- package/dist/views/media-links.d.ts.map +1 -0
- package/dist/views/new-order-rules.d.ts +55 -0
- package/dist/views/new-order-rules.d.ts.map +1 -0
- package/dist/views/order-actions.d.ts +4 -0
- package/dist/views/order-actions.d.ts.map +1 -0
- package/dist/views/productEntity.d.ts.map +1 -1
- package/dist/views/shippingZoneEntity.d.ts.map +1 -1
- package/package.json +10 -7
- package/dist/ShopPage-PVHFKDF3.js +0 -690
- package/dist/ShopPage-PVHFKDF3.js.map +0 -1
- package/dist/components/ShopSettings.d.ts +0 -15
- package/dist/components/ShopSettings.d.ts.map +0 -1
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProviderResolver } from '../data/shared';
|
|
3
|
+
export interface CheckoutSettingsProps {
|
|
4
|
+
provider?: ShopProviderResolver;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Checkout — quem pode comprar e o que é pedido no caminho.
|
|
8
|
+
*
|
|
9
|
+
* A honestidade sobre quem impõe o quê está nas descrições, e não é detalhe:
|
|
10
|
+
* «compra sem cadastro» é recusada pelo SERVIDOR (trigger da 0045), então
|
|
11
|
+
* desligá-la vale mesmo contra um POST direto no RPC. «Exigir e-mail
|
|
12
|
+
* confirmado» e os campos do formulário são de INTERFACE — a vitrine obedece, e
|
|
13
|
+
* um comprador determinado não é impedido pelo banco. Prometer imposição onde
|
|
14
|
+
* ela não existe é pior do que não ter a opção.
|
|
15
|
+
*/
|
|
16
|
+
export declare function CheckoutSettings({ provider }: CheckoutSettingsProps): React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=CheckoutSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckoutSettings.d.ts","sourceRoot":"","sources":["../../src/settings/CheckoutSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAI1D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAkDD;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,qBA+EnE"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
export interface Choice<T extends string> {
|
|
3
|
+
value: T;
|
|
4
|
+
label: string;
|
|
5
|
+
description: string;
|
|
6
|
+
/** Optional lucide icon component, rendered before the label. */
|
|
7
|
+
Icon?: React.ComponentType<{
|
|
8
|
+
className?: string;
|
|
9
|
+
}>;
|
|
10
|
+
}
|
|
11
|
+
export interface ChoiceCardsProps<T extends string> {
|
|
12
|
+
label: string;
|
|
13
|
+
choices: ReadonlyArray<Choice<T>>;
|
|
14
|
+
value: T | undefined;
|
|
15
|
+
onChange: (value: T) => void;
|
|
16
|
+
disabled?: boolean;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Mutually exclusive policies with a paragraph each — a radio, not a dropdown:
|
|
20
|
+
* choosing between two of these needs both on screen at once.
|
|
21
|
+
*/
|
|
22
|
+
export declare function ChoiceCards<T extends string>({ label, choices, value, onChange, disabled, }: ChoiceCardsProps<T>): React.JSX.Element;
|
|
23
|
+
//# sourceMappingURL=ChoiceCards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ChoiceCards.d.ts","sourceRoot":"","sources":["../../src/settings/ChoiceCards.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,MAAM,CAAC,CAAC,SAAS,MAAM;IACtC,KAAK,EAAE,CAAC,CAAA;IACR,KAAK,EAAE,MAAM,CAAA;IACb,WAAW,EAAE,MAAM,CAAA;IACnB,iEAAiE;IACjE,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAA;CACnD;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,SAAS,MAAM;IAChD,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACjC,KAAK,EAAE,CAAC,GAAG,SAAS,CAAA;IACpB,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,KAAK,IAAI,CAAA;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAA;CACnB;AAED;;;GAGG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,MAAM,EAAE,EAC5C,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,QAAQ,GAC1C,EAAE,gBAAgB,CAAC,CAAC,CAAC,qBAsCrB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProviderResolver } from '../data/shared';
|
|
3
|
+
export interface FulfillmentSettingsProps {
|
|
4
|
+
provider?: ShopProviderResolver;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Fulfillment — se a remessa nasce sozinha.
|
|
8
|
+
*
|
|
9
|
+
* Uma decisão só, e ela é sobre QUANDO um registro de remessa passa a existir —
|
|
10
|
+
* não sobre quem entrega. `public.fulfillments` e `fulfillment_items` já existem
|
|
11
|
+
* desde a 0018, com o `fulfillment_status` do pedido DERIVADO deles por trigger;
|
|
12
|
+
* a política escolhida aqui é lida por um trigger da 0045 que insere a remessa
|
|
13
|
+
* com os itens do pedido, exatamente como a tela do pedido faria à mão. Nada
|
|
14
|
+
* aqui escreve `fulfillment_status`: ele continua derivado, que é o que o impede
|
|
15
|
+
* de divergir da realidade.
|
|
16
|
+
*
|
|
17
|
+
* Pedidos que já existem não são afetados. A política vale para o que vem
|
|
18
|
+
* depois, e isso é dito na tela: um lojista que liga a baixa automática
|
|
19
|
+
* esperando ver os pedidos de ontem despacharem tem uma surpresa pior do que a
|
|
20
|
+
* frase.
|
|
21
|
+
*/
|
|
22
|
+
export declare function FulfillmentSettings({ provider }: FulfillmentSettingsProps): React.JSX.Element;
|
|
23
|
+
//# sourceMappingURL=FulfillmentSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FulfillmentSettings.d.ts","sourceRoot":"","sources":["../../src/settings/FulfillmentSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAK1D,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AA8BD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,QAAQ,EAAE,EAAE,wBAAwB,qBA6BzE"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ShopProviderResolver } from '../data/shared';
|
|
3
|
+
import type { StoreSettingsHandle } from './useStoreSettings';
|
|
4
|
+
export interface HandlingSettingsProps {
|
|
5
|
+
/** The Entrega screen's own settings read, shared rather than repeated. */
|
|
6
|
+
settings: StoreSettingsHandle;
|
|
7
|
+
provider?: ShopProviderResolver;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Shipping profiles, and the handling note that travels with the parcel.
|
|
11
|
+
*
|
|
12
|
+
* Replaces a three-way cold-chain radio: a profile answers refrigerated, fragile,
|
|
13
|
+
* oversized and made-to-order with one mechanism. The note is separate because it
|
|
14
|
+
* does not decide who may carry the box.
|
|
15
|
+
*/
|
|
16
|
+
export declare function HandlingSettings({ settings, provider }: HandlingSettingsProps): React.JSX.Element | null;
|
|
17
|
+
//# sourceMappingURL=HandlingSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HandlingSettings.d.ts","sourceRoot":"","sources":["../../src/settings/HandlingSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,EAAW,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AACnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAI7D,MAAM,WAAW,qBAAqB;IACpC,2EAA2E;IAC3E,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,qBAAqB,4BAkF7E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Embalagens — em que caixas a loja embala.
|
|
4
|
+
*
|
|
5
|
+
* É a metade que faltava do frete real. O produto declara o que ele É (peso e
|
|
6
|
+
* medidas, na seção Envio do cadastro) e para onde ele VAI (a embalagem que
|
|
7
|
+
* aponta); esta tela é o cadastro de onde essa escolha sai. Enquanto ela não
|
|
8
|
+
* existia, a caixa da cotação era uma constante no código — 4×16×20cm e 300g
|
|
9
|
+
* para toda loja da plataforma, que é o piso que a Correios aceita e não a
|
|
10
|
+
* medida de nada que alguém vende. O frete cotado e o frete pago divergiam, e a
|
|
11
|
+
* diferença saía da margem do lojista.
|
|
12
|
+
*
|
|
13
|
+
* A LISTA NÃO É DESTE ARQUIVO, e essa é a correção: era um CRUD escrito à mão,
|
|
14
|
+
* com o seu próprio jeito de listar, criar, validar e apagar. Agora é
|
|
15
|
+
* `PluginRegistryDef` + `RegistryCrudView`, o mesmo par que desenha feriados,
|
|
16
|
+
* locais e categorias — uma interface a menos para o lojista aprender e umas
|
|
17
|
+
* duzentas linhas a menos para manter sincronizadas com o resto do admin.
|
|
18
|
+
*/
|
|
19
|
+
export declare function PackagesSettings({ basePath }: {
|
|
20
|
+
basePath?: string;
|
|
21
|
+
}): React.JSX.Element;
|
|
22
|
+
//# sourceMappingURL=PackagesSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackagesSettings.d.ts","sourceRoot":"","sources":["../../src/settings/PackagesSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB;;;;;;;;;;;;;;;;GAgBG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,QAAkD,EAAE,EAAE;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB,qBAUA"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type UnifiedConnector } from '@fayz-ai/admin';
|
|
3
|
+
/**
|
|
4
|
+
* One payment gateway, where activating it IS choosing it.
|
|
5
|
+
*
|
|
6
|
+
* Shopify and Nuvemshop have no "primary provider" control: a provider is active
|
|
7
|
+
* or it is not, and turning one on is what makes it charge. Ours were two
|
|
8
|
+
* sections, so the gateway was chosen in one place and listed in another with
|
|
9
|
+
* the relationship left to be guessed.
|
|
10
|
+
*
|
|
11
|
+
* The row body ONLY selects, and the named link beside it is the only way into
|
|
12
|
+
* the connection's own screen — a row that sometimes selected and sometimes
|
|
13
|
+
* opened a panel read as broken, which is what it was reported as.
|
|
14
|
+
*/
|
|
15
|
+
export declare function PaymentProviderRow({ connector, selected, onSelect, onOpen }: {
|
|
16
|
+
connector: UnifiedConnector;
|
|
17
|
+
selected: boolean;
|
|
18
|
+
onSelect: (connector: UnifiedConnector) => void;
|
|
19
|
+
onOpen: (connector: UnifiedConnector) => void;
|
|
20
|
+
}): React.JSX.Element;
|
|
21
|
+
/** The absence of a gateway, as a choice in the same list — Shopify's "manual
|
|
22
|
+
* payment methods only". A separate section for it made it look like a setting
|
|
23
|
+
* about something else. */
|
|
24
|
+
export declare function ManualChargeRow({ selected, onSelect }: {
|
|
25
|
+
selected: boolean;
|
|
26
|
+
onSelect: () => void;
|
|
27
|
+
}): React.JSX.Element;
|
|
28
|
+
//# sourceMappingURL=PaymentProviderRow.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentProviderRow.d.ts","sourceRoot":"","sources":["../../src/settings/PaymentProviderRow.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAA4B,KAAK,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEhF;;;;;;;;;;;GAWG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAC5E,SAAS,EAAE,gBAAgB,CAAA;IAC3B,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAA;IAC/C,MAAM,EAAE,CAAC,SAAS,EAAE,gBAAgB,KAAK,IAAI,CAAA;CAC9C,qBAoDA;AAED;;4BAE4B;AAC5B,wBAAgB,eAAe,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE;IACtD,QAAQ,EAAE,OAAO,CAAA;IACjB,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB,qBA4BA"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProviderResolver } from '../data/shared';
|
|
3
|
+
export interface PaymentsSettingsProps {
|
|
4
|
+
provider?: ShopProviderResolver;
|
|
5
|
+
}
|
|
6
|
+
export declare function PaymentsSettings({ provider }: PaymentsSettingsProps): React.JSX.Element;
|
|
7
|
+
//# sourceMappingURL=PaymentsSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PaymentsSettings.d.ts","sourceRoot":"","sources":["../../src/settings/PaymentsSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAM1D,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AA0CD,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,qBA2InE"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* The three things every Commerce settings screen has to say, said once.
|
|
4
|
+
*
|
|
5
|
+
* Loading, saving and refused are not decoration on a settings screen that
|
|
6
|
+
* writes to a server: without them a merchant cannot tell "salvo" from "não
|
|
7
|
+
* chegou", and the whole reason these screens exist is that the previous ones
|
|
8
|
+
* silently kept everything in React state. The saving/saved line is what
|
|
9
|
+
* replaces the Save button the auto-save design removes.
|
|
10
|
+
*
|
|
11
|
+
* `supported: false` is its own case, and deliberately loud: it means the
|
|
12
|
+
* mounted shop provider has no store-settings methods at all, so every control
|
|
13
|
+
* below would be a toggle wired to nothing — which is exactly the bug this wave
|
|
14
|
+
* fixes and must not be reintroduced silently by a bespoke provider.
|
|
15
|
+
*/
|
|
16
|
+
export declare function SettingsState({ loading, saving, error, loadError, supported, children, }: {
|
|
17
|
+
loading: boolean;
|
|
18
|
+
saving: boolean;
|
|
19
|
+
error: string | null;
|
|
20
|
+
/** The READ failed. Opposite copy from `error`, and shown ABOVE the controls
|
|
21
|
+
* rather than below: what is on screen is defaults, not the store's settings,
|
|
22
|
+
* and that has to be read before anything is clicked. */
|
|
23
|
+
loadError?: string | null;
|
|
24
|
+
supported: boolean;
|
|
25
|
+
children: React.ReactNode;
|
|
26
|
+
}): React.JSX.Element;
|
|
27
|
+
//# sourceMappingURL=SettingsState.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SettingsState.d.ts","sourceRoot":"","sources":["../../src/settings/SettingsState.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;;;;;;;GAaG;AACH,wBAAgB,aAAa,CAAC,EAC5B,OAAO,EACP,MAAM,EACN,KAAK,EACL,SAAS,EACT,SAAS,EACT,QAAQ,GACT,EAAE;IACD,OAAO,EAAE,OAAO,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;8DAE0D;IAC1D,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACzB,SAAS,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B,qBA6DA"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { type ShopProviderResolver } from '../data/shared';
|
|
3
|
+
export interface ShippingSettingsProps {
|
|
4
|
+
provider?: ShopProviderResolver;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Entrega — o preço base, as zonas e quem coleta.
|
|
8
|
+
*
|
|
9
|
+
* A ORDEM DE PRECEDÊNCIA é o assunto desta tela, e está escrita nela em vez de
|
|
10
|
+
* só no SQL: uma ZONA que cobre o CEP ganha do preço base; o preço base é o que
|
|
11
|
+
* a loja cobra para um endereço que nenhuma zona cobre. Sem isso dito, um
|
|
12
|
+
* lojista que criou uma zona não entende por que o número que ele digitou aqui
|
|
13
|
+
* não aparece no checkout.
|
|
14
|
+
*
|
|
15
|
+
* O preço base vive em public.shipping_settings desde a 0015 e, até agora, só
|
|
16
|
+
* podia ser escrito por SQL à mão — a tabela existia, com RLS e leitura anônima,
|
|
17
|
+
* e nenhuma tela. É este arquivo que fecha isso.
|
|
18
|
+
*
|
|
19
|
+
* ZONAS E EMBALAGENS SÃO CADASTROS, e desde a FAY-1407 são cadastros DAQUI. As
|
|
20
|
+
* zonas moravam numa página de CRUD própria em /store/shipping, então clicar em
|
|
21
|
+
* "Zonas de entrega" no meio de configurar a entrega jogava o lojista para fora
|
|
22
|
+
* de Configurações e o trazia de volta pela seta do navegador. Agora as duas
|
|
23
|
+
* abrem em `_properties/<id>` dentro desta mesma tela, pelo `RegistryCrudView`
|
|
24
|
+
* genérico — o mesmo que desenha feriados e locais.
|
|
25
|
+
*/
|
|
26
|
+
export declare function ShippingSettings({ provider }: ShippingSettingsProps): React.JSX.Element;
|
|
27
|
+
//# sourceMappingURL=ShippingSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShippingSettings.d.ts","sourceRoot":"","sources":["../../src/settings/ShippingSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,OAAO,EAAW,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAWnE,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAuCD;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,wBAAgB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,qBAAqB,qBAqYnE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProviderResolver } from '../data/shared';
|
|
3
|
+
export interface StoreGeneralSettingsProps {
|
|
4
|
+
currency?: {
|
|
5
|
+
code?: string;
|
|
6
|
+
locale?: string;
|
|
7
|
+
symbol?: string;
|
|
8
|
+
};
|
|
9
|
+
provider?: ShopProviderResolver;
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Loja — moeda, formatação e as regras de catálogo.
|
|
13
|
+
*
|
|
14
|
+
* O `currency` que o app passa na criação do plugin é o VALOR INICIAL mostrado,
|
|
15
|
+
* não o valor salvo: enquanto o lojista não escolhe, a vitrine segue com o que o
|
|
16
|
+
* app declarou, e é isso que a coluna nula significa. Escolher grava.
|
|
17
|
+
*/
|
|
18
|
+
export declare function StoreGeneralSettings({ currency, provider }: StoreGeneralSettingsProps): React.JSX.Element;
|
|
19
|
+
//# sourceMappingURL=StoreGeneralSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StoreGeneralSettings.d.ts","sourceRoot":"","sources":["../../src/settings/StoreGeneralSettings.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAI1D,MAAM,WAAW,yBAAyB;IACxC,QAAQ,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IAC9D,QAAQ,CAAC,EAAE,oBAAoB,CAAA;CAChC;AAeD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,EAAE,yBAAyB,qBAmErF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"error-message.d.ts","sourceRoot":"","sources":["../../src/settings/error-message.ts"],"names":[],"mappings":"AAmBA,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAInD"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export { useStoreSettings } from './useStoreSettings';
|
|
2
|
+
export type { StoreSettingsHandle } from './useStoreSettings';
|
|
3
|
+
export { SettingsState } from './SettingsState';
|
|
4
|
+
export { errorMessage } from './error-message';
|
|
5
|
+
export { StoreGeneralSettings } from './StoreGeneralSettings';
|
|
6
|
+
export { PaymentsSettings } from './PaymentsSettings';
|
|
7
|
+
export { CheckoutSettings } from './CheckoutSettings';
|
|
8
|
+
export { ShippingSettings } from './ShippingSettings';
|
|
9
|
+
export { PackagesSettings } from './PackagesSettings';
|
|
10
|
+
export { HandlingSettings } from './HandlingSettings';
|
|
11
|
+
export { FulfillmentSettings } from './FulfillmentSettings';
|
|
12
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,YAAY,EAAE,mBAAmB,EAAE,MAAM,oBAAoB,CAAA;AAC7D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAA;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAA;AAC7D,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAA;AACrD,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Which gateway should be charging, given what the store stored and what is
|
|
3
|
+
* connected right now. Returns the slug to persist, or null for "leave it".
|
|
4
|
+
*
|
|
5
|
+
* The store must always have someone charging: a gateway just connected and
|
|
6
|
+
* nobody named makes every order pending for no reason, and a named gateway
|
|
7
|
+
* that went away makes the checkout promise a charge that cannot open.
|
|
8
|
+
*
|
|
9
|
+
* `''` is the one answer this never overrides — it is the merchant saying "eu
|
|
10
|
+
* confirmo à mão", which is a decision. `undefined` is the absence of one.
|
|
11
|
+
*/
|
|
12
|
+
export declare function resolvePaymentProvider(current: string | undefined | null, live: readonly string[]): string | null;
|
|
13
|
+
//# sourceMappingURL=payment-provider.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payment-provider.d.ts","sourceRoot":"","sources":["../../src/settings/payment-provider.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,wBAAgB,sBAAsB,CACpC,OAAO,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,EAClC,IAAI,EAAE,SAAS,MAAM,EAAE,GACtB,MAAM,GAAG,IAAI,CAKf"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { StoreSettings, UpdateStoreSettingsInput } from '@fayz-ai/shop';
|
|
2
|
+
import { type ShopProviderResolver } from '../data/shared';
|
|
3
|
+
export interface StoreSettingsHandle {
|
|
4
|
+
/** Merged over `defaults`: what the controls render. */
|
|
5
|
+
value: StoreSettings;
|
|
6
|
+
/** What is actually stored — `undefined` for anything undecided. */
|
|
7
|
+
stored: StoreSettings | null;
|
|
8
|
+
set: (patch: UpdateStoreSettingsInput) => void;
|
|
9
|
+
loading: boolean;
|
|
10
|
+
/** True while a write is in flight or pending. Drives the "saving…" hint. */
|
|
11
|
+
saving: boolean;
|
|
12
|
+
/** The provider refused the WRITE. Shown inline; the optimistic value stays
|
|
13
|
+
* on screen so the merchant does not lose what they typed. */
|
|
14
|
+
error: string | null;
|
|
15
|
+
/**
|
|
16
|
+
* The provider refused the READ.
|
|
17
|
+
*
|
|
18
|
+
* Kept apart from `error` because the two need opposite copy and imply
|
|
19
|
+
* opposite things. A failed save means "your change did not stick"; a failed
|
|
20
|
+
* load means "everything below is a default, not your settings" — and showing
|
|
21
|
+
* the save wording for a load failure, which is what this hook did at first,
|
|
22
|
+
* tells the merchant a change was lost when they had not made one.
|
|
23
|
+
*/
|
|
24
|
+
loadError: string | null;
|
|
25
|
+
/** False when the mounted provider has no store-settings support at all —
|
|
26
|
+
* the screen says so instead of pretending the toggles work. */
|
|
27
|
+
supported: boolean;
|
|
28
|
+
}
|
|
29
|
+
export declare function useStoreSettings(provider: ShopProviderResolver | undefined, defaults?: StoreSettings): StoreSettingsHandle;
|
|
30
|
+
//# sourceMappingURL=useStoreSettings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"useStoreSettings.d.ts","sourceRoot":"","sources":["../../src/settings/useStoreSettings.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,eAAe,CAAA;AAC5E,OAAO,EAAW,KAAK,oBAAoB,EAAE,MAAM,gBAAgB,CAAA;AAwBnE,MAAM,WAAW,mBAAmB;IAClC,wDAAwD;IACxD,KAAK,EAAE,aAAa,CAAA;IACpB,oEAAoE;IACpE,MAAM,EAAE,aAAa,GAAG,IAAI,CAAA;IAC5B,GAAG,EAAE,CAAC,KAAK,EAAE,wBAAwB,KAAK,IAAI,CAAA;IAC9C,OAAO,EAAE,OAAO,CAAA;IAChB,6EAA6E;IAC7E,MAAM,EAAE,OAAO,CAAA;IACf;mEAC+D;IAC/D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;;;;;;;OAQG;IACH,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;qEACiE;IACjE,SAAS,EAAE,OAAO,CAAA;CACnB;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,oBAAoB,GAAG,SAAS,EAC1C,QAAQ,GAAE,aAAkB,GAC3B,mBAAmB,CA6DrB"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
type Chosen = Record<string, {
|
|
4
|
+
id: string;
|
|
5
|
+
name?: string;
|
|
6
|
+
}>;
|
|
7
|
+
export interface AgencySelectProps {
|
|
8
|
+
/** The `carrierAgencies` map of the location being edited. */
|
|
9
|
+
value: Chosen | null | undefined;
|
|
10
|
+
onChange: (value: Chosen) => void;
|
|
11
|
+
/** The rest of the form — the address this place has. */
|
|
12
|
+
values?: Record<string, unknown>;
|
|
13
|
+
provider?: () => ShopProvider;
|
|
14
|
+
}
|
|
15
|
+
export declare function AgencySelect({ value, onChange, values, provider }: AgencySelectProps): React.JSX.Element | null;
|
|
16
|
+
export {};
|
|
17
|
+
//# sourceMappingURL=AgencySelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AgencySelect.d.ts","sourceRoot":"","sources":["../../src/views/AgencySelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAMlD,OAAO,KAAK,EAAkB,YAAY,EAAE,MAAM,eAAe,CAAA;AAejE,KAAK,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE;IAAE,EAAE,EAAE,MAAM,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAA;AAE3D,MAAM,WAAW,iBAAiB;IAChC,8DAA8D;IAC9D,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,CAAA;IAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IACjC,yDAAyD;IACzD,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAChC,QAAQ,CAAC,EAAE,MAAM,YAAY,CAAA;CAC9B;AAED,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,4BAuHpF"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ContentPage.d.ts","sourceRoot":"","sources":["../../src/views/ContentPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ContentPage.d.ts","sourceRoot":"","sources":["../../src/views/ContentPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AASzB,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,YAAY,CAAA;AAyCtD,MAAM,WAAW,gBAAgB;IAC/B,eAAe,CAAC,EAAE,oBAAoB,CAAA;CACvC;AAED,wBAAgB,WAAW,CAAC,EAAE,eAAe,EAAE,EAAE,gBAAgB,qBAwOhE"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Who ships from this location. Three-state, and the empty option is named:
|
|
4
|
+
* "segue a loja" is a real answer, different from "eu mesmo despacho" — the
|
|
5
|
+
* first follows whatever Entrega decides later, the second never asks a gateway.
|
|
6
|
+
*
|
|
7
|
+
* A gateway that is declared but not yet connected is still offered: deciding
|
|
8
|
+
* in advance is the point of the field, and the row says it is not connected.
|
|
9
|
+
*/
|
|
10
|
+
export declare function FulfillmentProviderSelect({ value, onChange }: {
|
|
11
|
+
value: string | null;
|
|
12
|
+
onChange: (next: string | null) => void;
|
|
13
|
+
}): React.JSX.Element;
|
|
14
|
+
//# sourceMappingURL=FulfillmentProviderSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FulfillmentProviderSelect.d.ts","sourceRoot":"","sources":["../../src/views/FulfillmentProviderSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;IAC7D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;CACxC,qBAoCA"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
export interface NewOrderChargeProps {
|
|
4
|
+
open: boolean;
|
|
5
|
+
provider: () => ShopProvider;
|
|
6
|
+
sessionId: string;
|
|
7
|
+
emv: string;
|
|
8
|
+
qrcodeBase64: string | null;
|
|
9
|
+
total: number;
|
|
10
|
+
currency: string;
|
|
11
|
+
customerName: string;
|
|
12
|
+
customerPhone: string;
|
|
13
|
+
onPaid: (orderId?: string) => void;
|
|
14
|
+
onClose: () => void;
|
|
15
|
+
}
|
|
16
|
+
export declare function NewOrderCharge({ open, provider, sessionId, emv, qrcodeBase64, total, currency, customerName, customerPhone, onPaid, onClose, }: NewOrderChargeProps): React.JSX.Element;
|
|
17
|
+
//# sourceMappingURL=NewOrderCharge.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewOrderCharge.d.ts","sourceRoot":"","sources":["../../src/views/NewOrderCharge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmD,MAAM,OAAO,CAAA;AAOvE,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAmBjD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,OAAO,CAAA;IACb,QAAQ,EAAE,MAAM,YAAY,CAAA;IAC5B,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,YAAY,EAAE,MAAM,GAAG,IAAI,CAAA;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,QAAQ,EAAE,MAAM,CAAA;IAChB,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,OAAO,EAAE,MAAM,IAAI,CAAA;CACpB;AAED,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,KAAK,EAAE,QAAQ,EAC7D,YAAY,EAAE,aAAa,EAAE,MAAM,EAAE,OAAO,GAC7C,EAAE,mBAAmB,qBA2IrB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
export interface NewOrderPageProps {
|
|
4
|
+
provider: () => ShopProvider;
|
|
5
|
+
onDone: (orderId?: string) => void;
|
|
6
|
+
onCancel: () => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function NewOrderPage({ provider, onDone, onCancel }: NewOrderPageProps): React.JSX.Element;
|
|
9
|
+
//# sourceMappingURL=NewOrderPage.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NewOrderPage.d.ts","sourceRoot":"","sources":["../../src/views/NewOrderPage.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAYxE,OAAO,KAAK,EAC8C,YAAY,EACrE,MAAM,eAAe,CAAA;AAkGtB,MAAM,WAAW,iBAAiB;IAChC,QAAQ,EAAE,MAAM,YAAY,CAAA;IAC5B,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,QAAQ,EAAE,MAAM,IAAI,CAAA;CACrB;AAED,wBAAgB,YAAY,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,iBAAiB,qBAkc7E"}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
/** Shared with the orders table: one order vocabulary, not two. */
|
|
4
|
+
export declare const ORDER_STATUS_LABEL: Record<string, string>;
|
|
3
5
|
export declare function OrderDetailView({ orderId, provider, onBack }: {
|
|
4
6
|
orderId: string;
|
|
5
7
|
provider: () => ShopProvider;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OrderDetailView.d.ts","sourceRoot":"","sources":["../../src/views/OrderDetailView.tsx"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"OrderDetailView.d.ts","sourceRoot":"","sources":["../../src/views/OrderDetailView.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAA;AAc/D,OAAO,KAAK,EAAS,YAAY,EAAE,MAAM,eAAe,CAAA;AA0DxD,mEAAmE;AACnE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAKrD,CAAA;AAoED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE;IAC7D,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,YAAY,CAAA;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAA;CACnB,qBA8WA;AAED,eAAO,MAAM,eAAe,GAAI,IAAI,MAAM,WAAyB,CAAA;AACnE,eAAO,MAAM,SAAS,GAAI,IAAI,MAAM,SAAyC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderPaymentDetail.d.ts","sourceRoot":"","sources":["../../src/views/OrderPaymentDetail.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAsClD,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,4BA8ElE"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"OrderProviderLinks.d.ts","sourceRoot":"","sources":["../../src/views/OrderProviderLinks.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAsDlD,wBAAgB,kBAAkB,CAAC,EAAE,OAAO,EAAE,EAAE;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,4BAqDlE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
/**
|
|
4
|
+
* Em que embalagem ESTE produto vai.
|
|
5
|
+
*
|
|
6
|
+
* A lista de embalagens da loja é a fonte (Configurações → Entrega →
|
|
7
|
+
* Embalagens); aqui o produto só aponta para uma linha dela. Foi a correção do
|
|
8
|
+
* founder sobre o Shopify: lá o produto se ASSOCIA a uma embalagem já
|
|
9
|
+
* cadastrada, em vez de repetir altura e largura no cadastro de cada item — o
|
|
10
|
+
* que ele escolhe não é uma medida, é o pacote em que a loja despacha.
|
|
11
|
+
*
|
|
12
|
+
* Vazio = «padrão da loja», que é um estado legítimo e o de toda loja no dia
|
|
13
|
+
* seguinte à 0046. Não é «não preenchido».
|
|
14
|
+
*/
|
|
15
|
+
export declare function PackageSelect({ value, onChange, getProvider }: {
|
|
16
|
+
value: string | null;
|
|
17
|
+
onChange: (next: string | null) => void;
|
|
18
|
+
getProvider?: () => ShopProvider;
|
|
19
|
+
}): React.JSX.Element;
|
|
20
|
+
//# sourceMappingURL=PackageSelect.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PackageSelect.d.ts","sourceRoot":"","sources":["../../src/views/PackageSelect.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,KAAK,EAAmB,YAAY,EAAE,MAAM,eAAe,CAAA;AAWlE;;;;;;;;;;;GAWG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,EAAE;IAC9D,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAA;IACvC,WAAW,CAAC,EAAE,MAAM,YAAY,CAAA;CACjC,qBAwFA"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProductImagesTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductImagesTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"ProductImagesTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductImagesTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAsC,MAAM,OAAO,CAAA;AAE1D,OAAO,KAAK,EAAyB,YAAY,EAAE,MAAM,eAAe,CAAA;AAExE;;;;;;;;;;;GAWG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;IACtD,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,YAAY,CAAA;CAChC,qBAwIA"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
/**
|
|
4
|
+
* Variantes — os eixos de opção e a matriz que eles geram.
|
|
5
|
+
*
|
|
6
|
+
* A tela que faltava. As tabelas existem desde a 0028, a vitrine monta o
|
|
7
|
+
* seletor a partir delas desde o M5 e o `shop_place_order` cobra por elas desde
|
|
8
|
+
* a 0029 — mas nenhuma tela do admin sabia criá-las. Na prática, ou o lojista
|
|
9
|
+
* chamava alguém com acesso ao banco, ou vendia P, M e G contra o mesmo
|
|
10
|
+
* contador, que é exatamente o defeito que o cabeçalho da 0028 descreve.
|
|
11
|
+
*
|
|
12
|
+
* DUAS COISAS AQUI NÃO SÃO ESCOLHA DE TELA, e é por isso que elas moram no
|
|
13
|
+
* @fayz-ai/shop e não neste arquivo:
|
|
14
|
+
*
|
|
15
|
+
* • A VARIANTE PADRÃO (0037). Todo produto tem uma, ela não aparece em lugar
|
|
16
|
+
* nenhum, e sumir com o último eixo tem que trazê-la de volta — senão o
|
|
17
|
+
* produto fica esgotado para sempre e ninguém vê erro. `applyVariantMatrix`
|
|
18
|
+
* é quem sabe disso.
|
|
19
|
+
* • O ESTOQUE. Desde a 0034 ele é razão, não coluna: quem digita 12 aqui não
|
|
20
|
+
* escreve 12 em lugar nenhum, gera o movimento da DIFERENÇA e deixa a 0036
|
|
21
|
+
* espelhar de volta. `setVariantStock` é quem sabe disso.
|
|
22
|
+
*/
|
|
23
|
+
export declare function ProductVariantsTab({ item, getProvider }: {
|
|
24
|
+
item: unknown;
|
|
25
|
+
getProvider: () => ShopProvider;
|
|
26
|
+
}): React.JSX.Element;
|
|
27
|
+
/** '2,5' e '2.5' são a mesma medida — o lojista digita como o teclado dele manda. */
|
|
28
|
+
export declare function parseNumber(raw: string): number | null;
|
|
29
|
+
//# sourceMappingURL=ProductVariantsTab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ProductVariantsTab.d.ts","sourceRoot":"","sources":["../../src/views/ProductVariantsTab.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,KAAK,EAA2B,YAAY,EAAsC,MAAM,eAAe,CAAA;AAO9G;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,kBAAkB,CAAC,EAAE,IAAI,EAAE,WAAW,EAAE,EAAE;IACxD,IAAI,EAAE,OAAO,CAAA;IACb,WAAW,EAAE,MAAM,YAAY,CAAA;CAChC,qBAuKA;AA0VD,qFAAqF;AACrF,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAKtD"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider, StockLocation } from '@fayz-ai/shop';
|
|
3
|
+
/**
|
|
4
|
+
* The same row `shop-shipping-label` reads: active, dispatching online, default
|
|
5
|
+
* first. Resolved here too rather than passed in, so the screen showing the
|
|
6
|
+
* refusal and the function that produced it cannot disagree about which
|
|
7
|
+
* warehouse is wrong.
|
|
8
|
+
*/
|
|
9
|
+
export declare function pickDispatchLocation(locations: StockLocation[], locationId?: string | null): StockLocation | null;
|
|
10
|
+
export interface SenderLocationModalProps {
|
|
11
|
+
open: boolean;
|
|
12
|
+
onClose: () => void;
|
|
13
|
+
/** Called after a save, so the caller can retry what the carrier refused. */
|
|
14
|
+
onSaved: () => void;
|
|
15
|
+
provider?: () => ShopProvider;
|
|
16
|
+
/** Which place. Defaults to the one the label function reads. */
|
|
17
|
+
locationId?: string | null;
|
|
18
|
+
}
|
|
19
|
+
export declare function SenderLocationModal({ open, onClose, onSaved, provider, locationId, }: SenderLocationModalProps): React.JSX.Element;
|
|
20
|
+
//# sourceMappingURL=SenderLocationModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SenderLocationModal.d.ts","sourceRoot":"","sources":["../../src/views/SenderLocationModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,eAAe,CAAA;AAWhE;;;;;GAKG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,aAAa,EAAE,EAC1B,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,GACzB,aAAa,GAAG,IAAI,CAStB;AAED,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAA;IACb,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,6EAA6E;IAC7E,OAAO,EAAE,MAAM,IAAI,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,YAAY,CAAA;IAC7B,iEAAiE;IACjE,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CAC3B;AAED,wBAAgB,mBAAmB,CAAC,EAClC,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,GAC7C,EAAE,wBAAwB,qBA0B1B"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
export interface ShipOrderFormProps {
|
|
4
|
+
orderId: string;
|
|
5
|
+
provider: () => ShopProvider;
|
|
6
|
+
/** Called after the shipment exists, so the page can re-read it. */
|
|
7
|
+
onShipped: () => void;
|
|
8
|
+
}
|
|
9
|
+
export declare function ShipOrderForm({ orderId, provider, onShipped }: ShipOrderFormProps): React.JSX.Element | null;
|
|
10
|
+
//# sourceMappingURL=ShipOrderForm.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShipOrderForm.d.ts","sourceRoot":"","sources":["../../src/views/ShipOrderForm.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAIvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,eAAe,CAAA;AAgBjD,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,MAAM,CAAA;IACf,QAAQ,EAAE,MAAM,YAAY,CAAA;IAC5B,oEAAoE;IACpE,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,aAAa,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,kBAAkB,4BAsHjF"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
export interface ShipWithCarrierProps {
|
|
4
|
+
orderId: string;
|
|
5
|
+
/**
|
|
6
|
+
* The app's shop provider. WHO carries the parcel is resolved from the
|
|
7
|
+
* registry, but reading the store's own dispatch location is ordinary data
|
|
8
|
+
* access — and the global runtime provider is not the app's, so without this
|
|
9
|
+
* the sender form found no locations in a store that has them.
|
|
10
|
+
*/
|
|
11
|
+
provider?: () => ShopProvider;
|
|
12
|
+
/** The carrier the merchant chose, when they chose one. */
|
|
13
|
+
preferredCarrier?: string | null;
|
|
14
|
+
/** Called after the label exists, so the order can re-read its shipments. */
|
|
15
|
+
onShipped: () => void;
|
|
16
|
+
}
|
|
17
|
+
export declare function ShipWithCarrier({ orderId, provider, preferredCarrier, onShipped }: ShipWithCarrierProps): React.JSX.Element | null;
|
|
18
|
+
//# sourceMappingURL=ShipWithCarrier.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ShipWithCarrier.d.ts","sourceRoot":"","sources":["../../src/views/ShipWithCarrier.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAoD,MAAM,OAAO,CAAA;AAQxE,OAAO,KAAK,EAAsC,YAAY,EAAE,MAAM,eAAe,CAAA;AA2BrF,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,MAAM,CAAA;IACf;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,MAAM,YAAY,CAAA;IAC7B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,6EAA6E;IAC7E,SAAS,EAAE,MAAM,IAAI,CAAA;CACtB;AAED,wBAAgB,eAAe,CAAC,EAAE,OAAO,EAAE,QAAQ,EAAE,gBAAgB,EAAE,SAAS,EAAE,EAAE,oBAAoB,4BAiTvG"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import type { ShopProvider } from '@fayz-ai/shop';
|
|
3
|
+
export interface ShipmentActionsProps {
|
|
4
|
+
fulfillmentId: string;
|
|
5
|
+
status: string;
|
|
6
|
+
hasTracking: boolean;
|
|
7
|
+
provider: () => ShopProvider;
|
|
8
|
+
onChanged: () => void;
|
|
9
|
+
}
|
|
10
|
+
export declare function ShipmentActions({ fulfillmentId, status, hasTracking, provider, onChanged }: ShipmentActionsProps): React.JSX.Element | null;
|
|
11
|
+
//# sourceMappingURL=ShipmentActions.d.ts.map
|