@fayz-ai/plugin-fiscal-br 0.8.0 → 0.8.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/data/inbox.d.ts +2 -0
- package/dist/data/inbox.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +205 -33
- package/dist/index.js.map +1 -1
- package/dist/lib/financial-provider.d.ts +1 -1
- package/dist/lib/financial-provider.d.ts.map +1 -1
- package/dist/migrations/index.d.ts +2 -0
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/types.d.ts +1 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/views/NoteAttachmentsCard.d.ts.map +1 -1
- package/dist/views/NoteReconcileView.d.ts.map +1 -1
- package/package.json +5 -5
- package/dist/views/ComingSoon.d.ts +0 -2
- package/dist/views/ComingSoon.d.ts.map +0 -1
package/dist/data/inbox.d.ts
CHANGED
|
@@ -279,4 +279,6 @@ export interface SyncNewNotesResult {
|
|
|
279
279
|
* path as «Puxar por chave», so nothing here bypasses its permissions.
|
|
280
280
|
*/
|
|
281
281
|
export declare function syncNewNotes(max?: number): Promise<SyncNewNotesResult>;
|
|
282
|
+
/** Each product's stock unit (inventory details), for prefilling the note's lines. */
|
|
283
|
+
export declare function listProductStockUnits(productIds: string[]): Promise<Map<string, string>>;
|
|
282
284
|
//# sourceMappingURL=inbox.d.ts.map
|
package/dist/data/inbox.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/data/inbox.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"inbox.d.ts","sourceRoot":"","sources":["../../src/data/inbox.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -11,7 +11,7 @@ export { InvoiceNotesButton } from './views/InvoiceNotesButton';
|
|
|
11
11
|
export { InboundNotesPage } from './views/InboundNotesPage';
|
|
12
12
|
export { InboundNotesView } from './views/InboundNotesView';
|
|
13
13
|
export { NoteReconcileView } from './views/NoteReconcileView';
|
|
14
|
-
export { ComingSoon, EmBreve } from '
|
|
14
|
+
export { ComingSoon, EmBreve } from '@fayz-ai/ui';
|
|
15
15
|
export { IssuedNotesView, ReturnedNotesView, TaxGroupsView } from './views/GapScreens';
|
|
16
16
|
/**
|
|
17
17
|
* O grupo «Notas Fiscais» como o V1 o desenha: cinco telas sob uma aba. Duas
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AAUvG,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAA;AACjE,OAAO,EAA4B,KAAK,+BAA+B,EAAE,MAAM,wBAAwB,CAAA;AAUvG,cAAc,wBAAwB,CAAA;AACtC,cAAc,0BAA0B,CAAA;AACxC,cAAc,SAAS,CAAA;AACvB,cAAc,eAAe,CAAA;AAC7B,cAAc,cAAc,CAAA;AAC5B,cAAc,eAAe,CAAA;AAC7B,cAAc,mBAAmB,CAAA;AACjC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAA;AAC/D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAC3D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAA;AAC7D,OAAO,EAAE,UAAU,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAA;AACtF;;;;GAIG;AACH,OAAO,EAAE,yBAAyB,EAAE,wBAAwB,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAErH,MAAM,WAAW,4BAA6B,SAAQ,+BAA+B;IACnF,sGAAsG;IACtG,UAAU,CAAC,EAAE,MAAM,GAAG,WAAW,GAAG,UAAU,CAAA;IAC9C,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB;;;;OAIG;IACH,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,MAAM,CAAA;CAC7C;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,GAAE,4BAAiC,GAAG,cAAc,CA+HhG"}
|
package/dist/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import { recordRailFields, RECORD_GROUP, activeFacet, describeError, getSupabaseClientOptional, connectionSettings, connectionStatus, definePlugin, createConnectionStore, settingsStatus, maskCpfCnpj, getActiveTenantId as getActiveTenantId$1 } from '@fayz-ai/core';
|
|
1
|
+
import { recordRailFields, RECORD_GROUP, activeFacet, describeError, getSupabaseClientOptional, formatCurrency, connectionSettings, connectionStatus, definePlugin, createConnectionStore, settingsStatus, maskCpfCnpj, getActiveTenantId as getActiveTenantId$1 } from '@fayz-ai/core';
|
|
2
2
|
import React6, { useState, useCallback, useEffect, useMemo, useRef } from 'react';
|
|
3
3
|
import { ModalHeader, ModalTitle, ModalBody, Skeleton, AiActionButton, Dropdown, DropdownTrigger, Button, DropdownContent, DropdownItem, Hint, Card, InlineLink, SearchSelect, Input, EmBreve, DatePicker, ModalFooter, SubpageHeader, Modal, ModalContent, ModalDescription, Select, SelectTrigger, SelectValue, SelectContent, SelectItem, useFilterDraft, RowActions, PageHeaderActions, FilterPanel, FilterPanelField, SearchField, TooltipProvider, DataTable, ChevronPager, Tooltip, TooltipTrigger, TooltipContent, Badge, SegmentedControl, ComingSoon, toast, CardHeader, CardTitle, CardContent, CardDescription, Switch } from '@fayz-ai/ui';
|
|
4
4
|
export { ComingSoon, EmBreve } from '@fayz-ai/ui';
|
|
5
5
|
import { registerDocumentOpener, PersonLink, getActiveTenantId, useUnitFilter, PageActions, adminNavigateTo, usePermissionOptional, UNIT_DETAIL_ZONES } from '@fayz-ai/admin';
|
|
6
6
|
import { Loader2, Download, ChevronDown, FileCode2, FileText, RefreshCw, UserPlus, Gift, AlertTriangle, ChevronRight, Check, Trash2, Plus, KeyRound, Image, UploadCloud, Paperclip, ScanLine, Eye, ListChecks, FileDown, CheckCircle2, FileCheck2, XCircle, Inbox, X, Info, ShieldCheck } from 'lucide-react';
|
|
7
7
|
import { jsx, jsxs, Fragment } from 'react/jsx-runtime';
|
|
8
|
-
import { FINANCIAL_INVOICE_ZONES } from '@fayz-ai/
|
|
8
|
+
import { FINANCIAL_INVOICE_ZONES } from '@fayz-ai/financial/views/zones';
|
|
9
9
|
|
|
10
10
|
// src/index.ts
|
|
11
11
|
var PLUGNOTAS_CONNECTOR_ID = "plugnotas";
|
|
@@ -4308,6 +4308,108 @@ COMMENT ON COLUMN public.plg_fiscalbr_emitter_settings.dfe_last_error_at IS
|
|
|
4308
4308
|
|
|
4309
4309
|
GRANT SELECT (dfe_last_error, dfe_last_error_at) ON public.plg_fiscalbr_emitter_settings TO authenticated;
|
|
4310
4310
|
`;
|
|
4311
|
+
var MIGRATION_027_A_NOTA_COM_CONTA_E_SEM_ESTOQUE_TERMINA_NO_V2 = `-- ---------------------------------------------------------------------------
|
|
4312
|
+
-- A note that has its payable but never reached stock can be finished in V2.
|
|
4313
|
+
-- ---------------------------------------------------------------------------
|
|
4314
|
+
-- In the V1, saving the payment plan of a DANFE import opened the payable
|
|
4315
|
+
-- before anyone reconciled the lines; many imports stopped there. Copied over,
|
|
4316
|
+
-- those notes carry invoice_id and no stock, and both RPCs read invoice_id as
|
|
4317
|
+
-- "accepted": nothing could be reconciled and the goods never entered stock
|
|
4318
|
+
-- (Artorius 18, Espa\xE7o Facial 72, Pertinho 17 on 14/10/2026).
|
|
4319
|
+
--
|
|
4320
|
+
-- "Settled" is now: stocked, or a payable with no stock line left to receive.
|
|
4321
|
+
-- Saving decisions is allowed until then, and accepting a note that already has
|
|
4322
|
+
-- its payable receives the stock against it instead of opening a second one.
|
|
4323
|
+
-- ---------------------------------------------------------------------------
|
|
4324
|
+
|
|
4325
|
+
DO $m$
|
|
4326
|
+
DECLARE
|
|
4327
|
+
v_def text;
|
|
4328
|
+
v_old text;
|
|
4329
|
+
v_new text;
|
|
4330
|
+
v_start integer;
|
|
4331
|
+
v_end integer;
|
|
4332
|
+
v_pending constant text := $q$NOT EXISTS (SELECT 1 FROM public.plg_fiscalbr_inbox_items x
|
|
4333
|
+
WHERE x.tenant_id = v_tenant AND x.inbox_document_id = v_doc.id
|
|
4334
|
+
AND x.stock_movement_id IS NULL
|
|
4335
|
+
AND (x.entry_type IS NULL OR x.entry_type = '' OR x.entry_type IN ('insumo','revenda','patrimonio','uso_consumo')))$q$;
|
|
4336
|
+
BEGIN
|
|
4337
|
+
-- 1. Saving decisions.
|
|
4338
|
+
SELECT pg_get_functiondef(p.oid) INTO v_def FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
|
|
4339
|
+
WHERE n.nspname = 'public' AND p.proname = 'fiscalbr_save_inbox_decision';
|
|
4340
|
+
v_old := 'IF v_doc.stocked_at IS NOT NULL OR v_doc.invoice_id IS NOT NULL THEN';
|
|
4341
|
+
IF v_def IS NULL THEN RAISE EXCEPTION 'fiscalbr/027: fiscalbr_save_inbox_decision does not exist'; END IF;
|
|
4342
|
+
IF position(v_old in v_def) > 0 THEN
|
|
4343
|
+
v_def := replace(v_def, v_old, 'IF v_doc.stocked_at IS NOT NULL OR (v_doc.invoice_id IS NOT NULL AND ' || v_pending || ') THEN');
|
|
4344
|
+
-- v_tenant is that function's own variable name too.
|
|
4345
|
+
EXECUTE v_def;
|
|
4346
|
+
ELSIF position('x.stock_movement_id IS NULL' in v_def) = 0 THEN
|
|
4347
|
+
RAISE EXCEPTION 'fiscalbr/027: unexpected body of fiscalbr_save_inbox_decision \u2014 check by hand';
|
|
4348
|
+
END IF;
|
|
4349
|
+
|
|
4350
|
+
-- 2. Accepting.
|
|
4351
|
+
SELECT pg_get_functiondef(p.oid) INTO v_def FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
|
|
4352
|
+
WHERE n.nspname = 'public' AND p.proname = 'fiscalbr_accept_inbox_document';
|
|
4353
|
+
IF v_def IS NULL THEN RAISE EXCEPTION 'fiscalbr/027: fiscalbr_accept_inbox_document does not exist'; END IF;
|
|
4354
|
+
IF position('Half-done in the V1' in v_def) > 0 THEN RETURN; END IF;
|
|
4355
|
+
|
|
4356
|
+
IF position(v_old in v_def) = 0 THEN
|
|
4357
|
+
RAISE EXCEPTION 'fiscalbr/027: unexpected guard in fiscalbr_accept_inbox_document \u2014 check by hand';
|
|
4358
|
+
END IF;
|
|
4359
|
+
v_def := replace(v_def, v_old, 'IF v_doc.stocked_at IS NOT NULL OR (v_doc.invoice_id IS NOT NULL AND ' || v_pending || ') THEN');
|
|
4360
|
+
|
|
4361
|
+
v_start := position(' SELECT coalesce(sum(value), 0),' in v_def);
|
|
4362
|
+
v_new := 'PERFORM public.plg_fiscalbr_note_charge_lines(v_tenant, v_doc.id, v_invoice, v_total);';
|
|
4363
|
+
v_end := position(v_new in v_def);
|
|
4364
|
+
IF v_start = 0 OR v_end = 0 OR v_end < v_start THEN
|
|
4365
|
+
RAISE EXCEPTION 'fiscalbr/027: unexpected payable block in fiscalbr_accept_inbox_document \u2014 check by hand';
|
|
4366
|
+
END IF;
|
|
4367
|
+
v_end := v_end + length(v_new);
|
|
4368
|
+
v_def := substr(v_def, 1, v_start - 1)
|
|
4369
|
+
|| $q$ IF v_doc.invoice_id IS NOT NULL THEN
|
|
4370
|
+
-- Half-done in the V1: the payable exists; only the stock is missing.
|
|
4371
|
+
v_invoice := v_doc.invoice_id;
|
|
4372
|
+
SELECT total INTO v_total FROM public.plg_financial_invoices WHERE id = v_invoice;
|
|
4373
|
+
v_insts := '[]'::jsonb;
|
|
4374
|
+
ELSE
|
|
4375
|
+
$q$ || substr(v_def, v_start, v_end - v_start) || $q$
|
|
4376
|
+
END IF;$q$
|
|
4377
|
+
|| substr(v_def, v_end);
|
|
4378
|
+
EXECUTE v_def;
|
|
4379
|
+
END
|
|
4380
|
+
$m$;
|
|
4381
|
+
`;
|
|
4382
|
+
var MIGRATION_028_A_LINHA_DE_ESTOQUE_TEM_UNIDADE = `-- ---------------------------------------------------------------------------
|
|
4383
|
+
-- A stock line enters with its unit.
|
|
4384
|
+
-- ---------------------------------------------------------------------------
|
|
4385
|
+
-- Accepting let a stock line through with no stock unit; the movement then
|
|
4386
|
+
-- carried a bare quantity that every screen reads as "unidade" (Artorius, NF-e
|
|
4387
|
+
-- 222879: 20 kg of copa lombo entered as 20 units). The screen now suggests the
|
|
4388
|
+
-- unit and refuses without one; this is the same rule where it cannot be
|
|
4389
|
+
-- skipped.
|
|
4390
|
+
-- ---------------------------------------------------------------------------
|
|
4391
|
+
|
|
4392
|
+
DO $m$
|
|
4393
|
+
DECLARE
|
|
4394
|
+
v_def text;
|
|
4395
|
+
v_old constant text := $q$ IF v_it.product_id IS NULL THEN$q$;
|
|
4396
|
+
v_new constant text := $q$ IF v_it.stock_unit_id IS NULL THEN
|
|
4397
|
+
RAISE EXCEPTION 'fiscalbr: item % entra no estoque sem unidade \u2014 escolha a unidade de estoque', v_it.item_number
|
|
4398
|
+
USING ERRCODE = '23514';
|
|
4399
|
+
END IF;
|
|
4400
|
+
IF v_it.product_id IS NULL THEN$q$;
|
|
4401
|
+
BEGIN
|
|
4402
|
+
SELECT pg_get_functiondef(p.oid) INTO v_def FROM pg_proc p JOIN pg_namespace n ON n.oid = p.pronamespace
|
|
4403
|
+
WHERE n.nspname = 'public' AND p.proname = 'fiscalbr_accept_inbox_document';
|
|
4404
|
+
IF v_def IS NULL THEN RAISE EXCEPTION 'fiscalbr/028: fiscalbr_accept_inbox_document does not exist'; END IF;
|
|
4405
|
+
IF position('entra no estoque sem unidade' in v_def) > 0 THEN RETURN; END IF;
|
|
4406
|
+
IF position(v_old in v_def) = 0 THEN
|
|
4407
|
+
RAISE EXCEPTION 'fiscalbr/028: unexpected body of fiscalbr_accept_inbox_document \u2014 check by hand';
|
|
4408
|
+
END IF;
|
|
4409
|
+
EXECUTE replace(v_def, v_old, v_new);
|
|
4410
|
+
END
|
|
4411
|
+
$m$;
|
|
4412
|
+
`;
|
|
4311
4413
|
var MIGRATIONS = [
|
|
4312
4414
|
{ id: "000_baseline", sql: MIGRATION_000_BASELINE },
|
|
4313
4415
|
{ id: "001_preserve_terminal_results_and_recover_leases", sql: MIGRATION_001_PRESERVE_TERMINAL_RESULTS_AND_RECOVER_LEASES },
|
|
@@ -4335,7 +4437,9 @@ var MIGRATIONS = [
|
|
|
4335
4437
|
{ id: "023_a_nota_aceita_sem_linhas_recebe_as_linhas", sql: MIGRATION_023_A_NOTA_ACEITA_SEM_LINHAS_RECEBE_AS_LINHAS },
|
|
4336
4438
|
{ id: "024_a_nota_nao_aponta_para_conta_que_sumiu", sql: MIGRATION_024_A_NOTA_NAO_APONTA_PARA_CONTA_QUE_SUMIU },
|
|
4337
4439
|
{ id: "025_a_conta_da_nota_fecha_com_o_total", sql: MIGRATION_025_A_CONTA_DA_NOTA_FECHA_COM_O_TOTAL },
|
|
4338
|
-
{ id: "026_o_recebimento_parado_diz_por_que", sql: MIGRATION_026_O_RECEBIMENTO_PARADO_DIZ_POR_QUE }
|
|
4440
|
+
{ id: "026_o_recebimento_parado_diz_por_que", sql: MIGRATION_026_O_RECEBIMENTO_PARADO_DIZ_POR_QUE },
|
|
4441
|
+
{ id: "027_a_nota_com_conta_e_sem_estoque_termina_no_v2", sql: MIGRATION_027_A_NOTA_COM_CONTA_E_SEM_ESTOQUE_TERMINA_NO_V2 },
|
|
4442
|
+
{ id: "028_a_linha_de_estoque_tem_unidade", sql: MIGRATION_028_A_LINHA_DE_ESTOQUE_TEM_UNIDADE }
|
|
4339
4443
|
];
|
|
4340
4444
|
var taxGroupEntity = {
|
|
4341
4445
|
name: "Grupo fiscal",
|
|
@@ -5310,6 +5414,12 @@ async function syncNewNotes(max = 25) {
|
|
|
5310
5414
|
}
|
|
5311
5415
|
return result;
|
|
5312
5416
|
}
|
|
5417
|
+
async function listProductStockUnits(productIds) {
|
|
5418
|
+
if (productIds.length === 0) return /* @__PURE__ */ new Map();
|
|
5419
|
+
const { data, error } = await sb().from("plg_inventory_product_details").select("product_id, measurement_unit_id").in("product_id", productIds).not("measurement_unit_id", "is", null);
|
|
5420
|
+
if (error) throw error;
|
|
5421
|
+
return new Map((data ?? []).map((r) => [String(r.product_id), String(r.measurement_unit_id)]));
|
|
5422
|
+
}
|
|
5313
5423
|
var formatCnpj = (d) => `${d.slice(0, 2)}.${d.slice(2, 5)}.${d.slice(5, 8)}/${d.slice(8, 12)}-${d.slice(12)}`;
|
|
5314
5424
|
var groupKey = (digits2) => digits2.replace(/(\d{4})(?=\d)/g, "$1 ");
|
|
5315
5425
|
function PullByKeyDialog({ open, onOpenChange, unitId, initialKey, onPulled }) {
|
|
@@ -5417,7 +5527,7 @@ function PullByKeyDialog({ open, onOpenChange, unitId, initialKey, onPulled }) {
|
|
|
5417
5527
|
] })
|
|
5418
5528
|
] }) });
|
|
5419
5529
|
}
|
|
5420
|
-
var money = (value) =>
|
|
5530
|
+
var money = (value) => formatCurrency(value || 0, "BRL");
|
|
5421
5531
|
var day = (iso) => iso ? iso.slice(0, 10).split("-").reverse().join("/") : "\u2014";
|
|
5422
5532
|
var cnpj = (digits2) => {
|
|
5423
5533
|
const d = (digits2 ?? "").replace(/\D/g, "");
|
|
@@ -5919,7 +6029,7 @@ function StockBadge({ stockedAt, status }) {
|
|
|
5919
6029
|
] }) : /* @__PURE__ */ jsx("span", { className: "inline-flex items-center rounded-full bg-warning-soft px-2 py-0.5 text-[11px] font-medium text-warning-soft-foreground", children: "Pendente" });
|
|
5920
6030
|
}
|
|
5921
6031
|
var MAX_BYTES = 15 * 1024 * 1024;
|
|
5922
|
-
var money2 = (v) =>
|
|
6032
|
+
var money2 = (v) => formatCurrency(v || 0);
|
|
5923
6033
|
var day2 = (iso) => iso ? iso.slice(0, 10).split("-").reverse().join("/") : "\u2014";
|
|
5924
6034
|
var size = (b) => !b ? "" : b < 1024 * 1024 ? `${Math.max(1, Math.round(b / 1024))} KB` : `${(b / 1024 / 1024).toFixed(1)} MB`;
|
|
5925
6035
|
function applyPaymentCode(list, code) {
|
|
@@ -6116,7 +6226,7 @@ var norm = (u) => (u ?? "").trim().toUpperCase().replace(/\.$/, "");
|
|
|
6116
6226
|
function packagingCount(commercialUnit) {
|
|
6117
6227
|
return PACKAGING_COUNT[norm(commercialUnit)] ?? null;
|
|
6118
6228
|
}
|
|
6119
|
-
var money3 = (v) =>
|
|
6229
|
+
var money3 = (v) => formatCurrency(v || 0, "BRL");
|
|
6120
6230
|
var qty = (v) => new Intl.NumberFormat("pt-BR", { maximumFractionDigits: 4 }).format(v || 0);
|
|
6121
6231
|
var day3 = (iso) => iso ? iso.slice(0, 10).split("-").reverse().join("/") : "\u2014";
|
|
6122
6232
|
var ENTRY_TYPES = [
|
|
@@ -6132,6 +6242,32 @@ var localSearch = (options) => (query) => {
|
|
|
6132
6242
|
return (q ? options.filter((o) => o.label.toLowerCase().includes(q)) : options).slice(0, 40);
|
|
6133
6243
|
};
|
|
6134
6244
|
var labelOf = (options, id) => options.find((o) => o.id === id)?.label;
|
|
6245
|
+
var NOTE_UNIT_CODES = {
|
|
6246
|
+
KG: "kg",
|
|
6247
|
+
KGS: "kg",
|
|
6248
|
+
KILO: "kg",
|
|
6249
|
+
QUILO: "kg",
|
|
6250
|
+
G: "g",
|
|
6251
|
+
GR: "g",
|
|
6252
|
+
GRS: "g",
|
|
6253
|
+
L: "l",
|
|
6254
|
+
LT: "l",
|
|
6255
|
+
LTS: "l",
|
|
6256
|
+
LITRO: "l",
|
|
6257
|
+
ML: "ml",
|
|
6258
|
+
UN: "un",
|
|
6259
|
+
UND: "un",
|
|
6260
|
+
UNID: "un",
|
|
6261
|
+
UNI: "un",
|
|
6262
|
+
UNIDADE: "un"
|
|
6263
|
+
};
|
|
6264
|
+
function suggestedStockUnit(item, units, productUnits, productId) {
|
|
6265
|
+
const fromProduct = productId ? productUnits.get(productId) : void 0;
|
|
6266
|
+
if (fromProduct && units.some((u) => u.id === fromProduct)) return fromProduct;
|
|
6267
|
+
if (packagingCount(item.unit) !== null) return null;
|
|
6268
|
+
const code = NOTE_UNIT_CODES[String(item.unit ?? "").trim().toUpperCase().replace(/\d+$/, "")];
|
|
6269
|
+
return code ? units.find((u) => u.abbreviation.toLowerCase() === code)?.id ?? null : null;
|
|
6270
|
+
}
|
|
6135
6271
|
var draftOf = (item) => ({
|
|
6136
6272
|
productId: item.productId,
|
|
6137
6273
|
productLabel: "",
|
|
@@ -6156,6 +6292,7 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6156
6292
|
const [defaultAccount, setDefaultAccount] = useState(null);
|
|
6157
6293
|
const [location, setLocation] = useState(null);
|
|
6158
6294
|
const [units, setUnits] = useState([]);
|
|
6295
|
+
const [productUnits, setProductUnits] = useState(() => /* @__PURE__ */ new Map());
|
|
6159
6296
|
const [accounts, setAccounts] = useState([]);
|
|
6160
6297
|
const [locations, setLocations] = useState([]);
|
|
6161
6298
|
const [saving, setSaving] = useState(false);
|
|
@@ -6216,9 +6353,16 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6216
6353
|
if (detail) {
|
|
6217
6354
|
const vinculados = [...new Set(detail.items.map((i) => i.productId).filter((id) => !!id))];
|
|
6218
6355
|
const nomes = vinculados.length ? new Map((await listProductsByIds(vinculados).catch(() => [])).map((p) => [p.id, p.name])) : /* @__PURE__ */ new Map();
|
|
6356
|
+
const unidadesDoProduto = await listProductStockUnits(vinculados).catch(() => /* @__PURE__ */ new Map());
|
|
6357
|
+
setProductUnits(unidadesDoProduto);
|
|
6219
6358
|
setDrafts(Object.fromEntries(detail.items.map((i) => [
|
|
6220
6359
|
i.id,
|
|
6221
|
-
{
|
|
6360
|
+
{
|
|
6361
|
+
...draftOf(i),
|
|
6362
|
+
productLabel: i.productId && nomes.get(i.productId) || "",
|
|
6363
|
+
// Stocked lines keep what was recorded; open ones get a unit instead of a blank.
|
|
6364
|
+
stockUnitId: i.stockUnitId ?? (i.stockMovementId ? null : suggestedStockUnit(i, u, unidadesDoProduto, i.productId))
|
|
6365
|
+
}
|
|
6222
6366
|
])));
|
|
6223
6367
|
setChecked(Object.fromEntries(detail.items.filter((i) => i.reconciled).map((i) => [i.id, true])));
|
|
6224
6368
|
const pending = detail.items.find((i) => !i.reconciled);
|
|
@@ -6286,11 +6430,18 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6286
6430
|
const decisions = useMemo(() => buildDecisions(drafts), [buildDecisions, drafts]);
|
|
6287
6431
|
const stockLines = decisions.filter((d) => isStockBearing(d.entryType));
|
|
6288
6432
|
const missingProduct = stockLines.filter((d) => !d.productId).length;
|
|
6433
|
+
const missingUnit = stockLines.filter((d) => {
|
|
6434
|
+
const item = note?.items.find((i) => i.id === d.id);
|
|
6435
|
+
return !d.stockUnitId && !item?.stockMovementId;
|
|
6436
|
+
}).length;
|
|
6289
6437
|
const missingType = decisions.filter((d) => !d.entryType).length;
|
|
6290
6438
|
const suspectFactor = (item, d) => packagingCount(item.unit) !== null && isStockBearing(d.entryType) && ((Number(d.conversionFactor.replace(",", ".")) || 1) === 1 || !d.stockUnitId);
|
|
6291
6439
|
const unverifiedFactor = note ? note.items.filter((i) => suspectFactor(i, drafts[i.id] ?? draftOf(i))).length : 0;
|
|
6292
6440
|
const instalmentSum = instalments.reduce((acc, d) => acc + (Number(d.amount) || 0), 0);
|
|
6293
|
-
const
|
|
6441
|
+
const hasPayable = Boolean(note?.invoiceId);
|
|
6442
|
+
const pendingStock = (note?.items ?? []).some((i) => !i.stockMovementId && (!i.entryType || isStockBearing(i.entryType)));
|
|
6443
|
+
const readOnly = Boolean(note?.stockedAt || hasPayable && !pendingStock);
|
|
6444
|
+
const paymentLocked = readOnly || hasPayable;
|
|
6294
6445
|
const isReady = (item, d) => Boolean(d.entryType) && (!isStockBearing(d.entryType) || Boolean(d.productId)) && !suspectFactor(item, d);
|
|
6295
6446
|
const doneCount = note ? note.items.filter((i) => checked[i.id]).length : 0;
|
|
6296
6447
|
const toggleItem = (id) => setOpenIds((prev) => prev.includes(id) ? prev.filter((x) => x !== id) : [...prev, id]);
|
|
@@ -6545,11 +6696,12 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6545
6696
|
const pendencias = [
|
|
6546
6697
|
unverifiedFactor > 0 && `${unverifiedFactor} com fator por conferir`,
|
|
6547
6698
|
missingType > 0 && `${missingType} sem tipo`,
|
|
6548
|
-
missingProduct > 0 && `${missingProduct} sem produto
|
|
6699
|
+
missingProduct > 0 && `${missingProduct} sem produto`,
|
|
6700
|
+
missingUnit > 0 && `${missingUnit} sem unidade de estoque`
|
|
6549
6701
|
].filter(Boolean).join(" \xB7 ");
|
|
6550
6702
|
const rodape = readOnly ? null : {
|
|
6551
6703
|
start: /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
6552
|
-
/* @__PURE__ */ jsxs(
|
|
6704
|
+
!hasPayable && /* @__PURE__ */ jsxs(
|
|
6553
6705
|
Button,
|
|
6554
6706
|
{
|
|
6555
6707
|
variant: "ghost",
|
|
@@ -6582,10 +6734,10 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6582
6734
|
onClick: () => {
|
|
6583
6735
|
void accept();
|
|
6584
6736
|
},
|
|
6585
|
-
disabled: accepting || saving || missingType > 0 || missingProduct > 0 || unverifiedFactor > 0,
|
|
6737
|
+
disabled: accepting || saving || missingType > 0 || missingProduct > 0 || missingUnit > 0 || unverifiedFactor > 0,
|
|
6586
6738
|
children: [
|
|
6587
6739
|
accepting ? /* @__PURE__ */ jsx(Loader2, { className: "mr-1.5 h-3.5 w-3.5 animate-spin" }) : /* @__PURE__ */ jsx(Check, { className: "mr-1.5 h-3.5 w-3.5" }),
|
|
6588
|
-
"Aceitar"
|
|
6740
|
+
hasPayable ? "Dar entrada no estoque" : "Aceitar"
|
|
6589
6741
|
]
|
|
6590
6742
|
}
|
|
6591
6743
|
)
|
|
@@ -6594,7 +6746,7 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6594
6746
|
return moldura(/* @__PURE__ */ jsxs("div", { className: `space-y-4 ${emModal ? "" : "pb-24"}`, children: [
|
|
6595
6747
|
cabecalho(`Concilia\xE7\xE3o \xB7 NF-e ${note.number}`),
|
|
6596
6748
|
accepted && /* @__PURE__ */ jsxs(Card, { className: "border-success bg-success-soft p-4", children: [
|
|
6597
|
-
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-success-soft-foreground", children: accepted.alreadyAccepted ? "Esta nota j\xE1 havia sido aceita \u2014 nada foi lan\xE7ado de novo." : `Aceita: ${accepted.stockLines} ${accepted.stockLines === 1 ? "linha" : "linhas"} de estoque e um t\xEDtulo de ${money3(accepted.invoiceTotal)} em ${accepted.instalments} ${accepted.instalments === 1 ? "parcela" : "parcelas"}.` }),
|
|
6749
|
+
/* @__PURE__ */ jsx("p", { className: "text-sm font-medium text-success-soft-foreground", children: accepted.alreadyAccepted ? "Esta nota j\xE1 havia sido aceita \u2014 nada foi lan\xE7ado de novo." : accepted.instalments === 0 ? `Entrada no estoque: ${accepted.stockLines} ${accepted.stockLines === 1 ? "linha" : "linhas"}, ligadas \xE0 conta a pagar que a nota j\xE1 tinha (${money3(accepted.invoiceTotal)}).` : `Aceita: ${accepted.stockLines} ${accepted.stockLines === 1 ? "linha" : "linhas"} de estoque e um t\xEDtulo de ${money3(accepted.invoiceTotal)} em ${accepted.instalments} ${accepted.instalments === 1 ? "parcela" : "parcelas"}.` }),
|
|
6598
6750
|
accepted.invoiceId && onOpenInvoice && /* @__PURE__ */ jsx(Button, { variant: "outline", size: "sm", className: "mt-2", onClick: () => onOpenInvoice(accepted.invoiceId), children: "Abrir a conta a pagar" })
|
|
6599
6751
|
] }),
|
|
6600
6752
|
payableLost && !readOnly && /* @__PURE__ */ jsxs(Card, { className: "border-warning bg-warning-soft p-4", "data-testid": "note-payable-lost", children: [
|
|
@@ -6619,7 +6771,7 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6619
6771
|
] }),
|
|
6620
6772
|
/* @__PURE__ */ jsxs("div", { children: [
|
|
6621
6773
|
/* @__PURE__ */ jsx("dt", { className: "text-xs text-muted-foreground", children: "Estoque" }),
|
|
6622
|
-
/* @__PURE__ */ jsx("dd", { className: "mt-0.5", children: note.stockedAt ? `Entrada em ${day3(note.stockedAt)}` : /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: readOnly ? "Sem entrada no estoque" : "Ainda sem entrada \u2014 entra quando a nota for aceita" }) })
|
|
6774
|
+
/* @__PURE__ */ jsx("dd", { className: "mt-0.5", children: note.stockedAt ? `Entrada em ${day3(note.stockedAt)}` : /* @__PURE__ */ jsx("span", { className: "text-muted-foreground", children: readOnly ? "Sem entrada no estoque" : hasPayable ? "Ainda sem entrada \u2014 conclua a concilia\xE7\xE3o e d\xEA entrada" : "Ainda sem entrada \u2014 entra quando a nota for aceita" }) })
|
|
6623
6775
|
] })
|
|
6624
6776
|
] })
|
|
6625
6777
|
] }),
|
|
@@ -6752,10 +6904,12 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6752
6904
|
suggestionNote && /* @__PURE__ */ jsxs("div", { className: "flex items-start gap-2 rounded-md border border-magic/30 bg-magic-soft px-3 py-2", children: [
|
|
6753
6905
|
/* @__PURE__ */ jsx("p", { className: "flex-1 text-xs text-magic-soft-foreground", children: suggestionNote }),
|
|
6754
6906
|
/* @__PURE__ */ jsx(
|
|
6755
|
-
|
|
6907
|
+
Button,
|
|
6756
6908
|
{
|
|
6909
|
+
variant: "bare",
|
|
6910
|
+
size: "bare",
|
|
6757
6911
|
type: "button",
|
|
6758
|
-
className: "shrink-0 text-xs text-magic-soft-foreground/70 hover:underline",
|
|
6912
|
+
className: "shrink-0 text-xs text-magic-soft-foreground/70 hover:underline font-normal",
|
|
6759
6913
|
onClick: () => setSuggestionNote(null),
|
|
6760
6914
|
children: "Fechar"
|
|
6761
6915
|
}
|
|
@@ -6794,12 +6948,14 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6794
6948
|
const typeLabel = ENTRY_TYPES.find((t) => t.value === d.entryType)?.label;
|
|
6795
6949
|
return /* @__PURE__ */ jsxs(Card, { className: "overflow-hidden", children: [
|
|
6796
6950
|
/* @__PURE__ */ jsxs(
|
|
6797
|
-
|
|
6951
|
+
Button,
|
|
6798
6952
|
{
|
|
6953
|
+
variant: "bare",
|
|
6954
|
+
size: "bare",
|
|
6799
6955
|
type: "button",
|
|
6800
6956
|
onClick: () => toggleItem(item.id),
|
|
6801
6957
|
"aria-expanded": open,
|
|
6802
|
-
className: "flex w-full items-center gap-3 px-4 py-3 text-left transition-colors hover:bg-muted/30",
|
|
6958
|
+
className: "flex w-full items-center justify-start gap-3 rounded-none px-4 py-3 text-left font-normal transition-colors hover:bg-muted/30",
|
|
6803
6959
|
children: [
|
|
6804
6960
|
/* @__PURE__ */ jsx(
|
|
6805
6961
|
ChevronRight,
|
|
@@ -6850,12 +7006,14 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6850
7006
|
/* @__PURE__ */ jsxs("label", { className: "block", children: [
|
|
6851
7007
|
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Tipo do registro" }),
|
|
6852
7008
|
/* @__PURE__ */ jsx("div", { className: "mt-1 flex flex-wrap gap-1", children: ENTRY_TYPES.map((t) => /* @__PURE__ */ jsxs(
|
|
6853
|
-
|
|
7009
|
+
Button,
|
|
6854
7010
|
{
|
|
7011
|
+
variant: "bare",
|
|
7012
|
+
size: "bare",
|
|
6855
7013
|
type: "button",
|
|
6856
7014
|
disabled: readOnly,
|
|
6857
7015
|
onClick: () => patch(item.id, { entryType: t.value }),
|
|
6858
|
-
className: `rounded-full border px-2.5 py-1 text-[11px] transition-colors disabled:opacity-60 ${d.entryType === t.value ? "border-primary bg-primary text-primary-foreground" : "border-input hover:bg-muted"}`,
|
|
7016
|
+
className: `gap-0 font-normal rounded-full border px-2.5 py-1 text-[11px] transition-colors disabled:opacity-60 ${d.entryType === t.value ? "border-primary bg-primary text-primary-foreground" : "border-input hover:bg-muted"}`,
|
|
6859
7017
|
children: [
|
|
6860
7018
|
t.label,
|
|
6861
7019
|
t.hint && /* @__PURE__ */ jsxs("span", { className: "ml-1 opacity-70", children: [
|
|
@@ -6875,7 +7033,17 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6875
7033
|
{
|
|
6876
7034
|
value: d.productId ?? void 0,
|
|
6877
7035
|
displayValue: d.productLabel || void 0,
|
|
6878
|
-
onChange: (id, option) =>
|
|
7036
|
+
onChange: (id, option) => {
|
|
7037
|
+
patch(item.id, { productId: id || null, productLabel: option?.label ?? "" });
|
|
7038
|
+
if (id && !d.stockUnitId) {
|
|
7039
|
+
void listProductStockUnits([id]).then((m) => {
|
|
7040
|
+
setProductUnits((prev) => new Map([...prev, ...m]));
|
|
7041
|
+
const unit = suggestedStockUnit(item, units, m, id);
|
|
7042
|
+
if (unit) patch(item.id, { stockUnitId: unit });
|
|
7043
|
+
}).catch(() => {
|
|
7044
|
+
});
|
|
7045
|
+
}
|
|
7046
|
+
},
|
|
6879
7047
|
onSearch: async (term) => {
|
|
6880
7048
|
const found = await searchProducts(term || item.description.slice(0, 24));
|
|
6881
7049
|
return found.map((prod) => ({
|
|
@@ -6916,7 +7084,7 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6916
7084
|
displayValue: labelOf(unitOptions, d.stockUnitId),
|
|
6917
7085
|
onChange: (id) => patch(item.id, { stockUnitId: id || null }),
|
|
6918
7086
|
minChars: 0,
|
|
6919
|
-
placeholder: "
|
|
7087
|
+
placeholder: "Escolha a unidade",
|
|
6920
7088
|
noResultsLabel: "Nenhuma unidade",
|
|
6921
7089
|
searchingLabel: "Buscando\u2026",
|
|
6922
7090
|
clearLabel: "Limpar",
|
|
@@ -6979,12 +7147,14 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
6979
7147
|
/* @__PURE__ */ jsxs("label", { className: "block", children: [
|
|
6980
7148
|
/* @__PURE__ */ jsx("span", { className: "text-xs font-medium text-muted-foreground", children: "Modo de custo" }),
|
|
6981
7149
|
/* @__PURE__ */ jsx("div", { className: "mt-1 flex gap-1", children: ["novo", "media"].map((mode) => /* @__PURE__ */ jsx(
|
|
6982
|
-
|
|
7150
|
+
Button,
|
|
6983
7151
|
{
|
|
7152
|
+
variant: "bare",
|
|
7153
|
+
size: "bare",
|
|
6984
7154
|
type: "button",
|
|
6985
7155
|
disabled: readOnly,
|
|
6986
7156
|
onClick: () => patch(item.id, { costMode: mode }),
|
|
6987
|
-
className: `flex-1 rounded-md border px-2 py-1 text-[11px] disabled:opacity-60 ${d.costMode === mode ? "border-primary bg-primary/10" : "border-input hover:bg-muted"}`,
|
|
7157
|
+
className: `font-normal flex-1 rounded-md border px-2 py-1 text-[11px] disabled:opacity-60 ${d.costMode === mode ? "border-primary bg-primary/10" : "border-input hover:bg-muted"}`,
|
|
6988
7158
|
children: mode === "novo" ? "Novo" : "M\xE9dia"
|
|
6989
7159
|
},
|
|
6990
7160
|
mode
|
|
@@ -7068,7 +7238,7 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
7068
7238
|
/* @__PURE__ */ jsx("span", { className: "pb-2 text-xs tabular-nums text-muted-foreground", children: inst.index }),
|
|
7069
7239
|
/* @__PURE__ */ jsxs("label", { className: "block", children: [
|
|
7070
7240
|
/* @__PURE__ */ jsx("span", { className: "text-[11px] text-muted-foreground", children: "Vencimento" }),
|
|
7071
|
-
|
|
7241
|
+
paymentLocked ? /* @__PURE__ */ jsx("p", { className: "py-2 text-sm tabular-nums", children: day3(inst.dueDate) }) : /* @__PURE__ */ jsx(
|
|
7072
7242
|
DatePicker,
|
|
7073
7243
|
{
|
|
7074
7244
|
value: inst.dueDate ?? "",
|
|
@@ -7083,7 +7253,7 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
7083
7253
|
{
|
|
7084
7254
|
value: String(inst.amount),
|
|
7085
7255
|
inputMode: "decimal",
|
|
7086
|
-
disabled:
|
|
7256
|
+
disabled: paymentLocked,
|
|
7087
7257
|
onChange: (e) => setInstalments((prev) => prev.map((p, j) => j === i ? { ...p, amount: Number(e.target.value.replace(",", ".")) || 0 } : p))
|
|
7088
7258
|
}
|
|
7089
7259
|
)
|
|
@@ -7094,12 +7264,12 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
7094
7264
|
Input,
|
|
7095
7265
|
{
|
|
7096
7266
|
value: inst.barcode ?? inst.pixKey ?? "",
|
|
7097
|
-
disabled:
|
|
7267
|
+
disabled: paymentLocked,
|
|
7098
7268
|
onChange: (e) => setInstalments((prev) => prev.map((p, j) => j === i ? { ...p, barcode: e.target.value } : p))
|
|
7099
7269
|
}
|
|
7100
7270
|
)
|
|
7101
7271
|
] }),
|
|
7102
|
-
!
|
|
7272
|
+
!paymentLocked && /* @__PURE__ */ jsx(
|
|
7103
7273
|
Button,
|
|
7104
7274
|
{
|
|
7105
7275
|
variant: "ghost",
|
|
@@ -7110,7 +7280,7 @@ function NoteReconcileView({ noteId, onBack, onOpenInvoice, chrome = "page" }) {
|
|
|
7110
7280
|
}
|
|
7111
7281
|
)
|
|
7112
7282
|
] }, i)) }),
|
|
7113
|
-
!
|
|
7283
|
+
!paymentLocked && /* @__PURE__ */ jsxs(
|
|
7114
7284
|
Button,
|
|
7115
7285
|
{
|
|
7116
7286
|
variant: "outline",
|
|
@@ -7924,7 +8094,7 @@ var dayOrDateTime = (v) => {
|
|
|
7924
8094
|
const d = new Date(v);
|
|
7925
8095
|
return d.getHours() === 0 && d.getMinutes() === 0 && d.getSeconds() === 0 ? d.toLocaleDateString("pt-BR") : dateTime(v);
|
|
7926
8096
|
};
|
|
7927
|
-
var money4 = (v) => v == null ? "\u2014" : v
|
|
8097
|
+
var money4 = (v) => v == null ? "\u2014" : formatCurrency(v);
|
|
7928
8098
|
function buttonHint(s) {
|
|
7929
8099
|
const parts = [s.hasValid ? "Notas fiscais desta conta \u2014 h\xE1 uma nota v\xE1lida" : "Notas fiscais desta conta"];
|
|
7930
8100
|
if (s.withoutEffect > 0) parts.push(`${s.withoutEffect} cancelada(s), rejeitada(s) ou com erro`);
|
|
@@ -8011,10 +8181,12 @@ function NoteRow({ note, canCancel, onChanged }) {
|
|
|
8011
8181
|
};
|
|
8012
8182
|
return /* @__PURE__ */ jsxs("div", { className: `rounded-lg border ${dimmed ? "bg-muted/30" : ""}`, children: [
|
|
8013
8183
|
/* @__PURE__ */ jsxs(
|
|
8014
|
-
|
|
8184
|
+
Button,
|
|
8015
8185
|
{
|
|
8186
|
+
variant: "bare",
|
|
8187
|
+
size: "bare",
|
|
8016
8188
|
type: "button",
|
|
8017
|
-
className: "flex w-full items-center gap-2 p-3 text-left",
|
|
8189
|
+
className: "font-normal whitespace-normal justify-start flex w-full items-center gap-2 p-3 text-left",
|
|
8018
8190
|
onClick: () => setExpanded((v) => !v),
|
|
8019
8191
|
"aria-expanded": expanded,
|
|
8020
8192
|
children: [
|
|
@@ -8572,6 +8744,6 @@ function createPlugNotasPlugin(options = {}) {
|
|
|
8572
8744
|
});
|
|
8573
8745
|
}
|
|
8574
8746
|
|
|
8575
|
-
export { EVENT_LABEL, InboundNoteDocumentModal, InboundNotesPage, InboundNotesView, InvoiceNotesButton, IssuedNotesView, MODEL_LABEL, NfeParseError, NoteReconcileView, PLUGNOTAS_CONNECTOR_ID, PLUGNOTAS_FIELDS, PLUGNOTAS_SETTINGS, PullByKeyError, ReturnedNotesView, STATUS_META, STOCK_BEARING_ENTRY_TYPES, TaxGroupsView, acceptNote, addNoteAttachment, cancelNote, createPlugNotasConnector, createPlugNotasFinancialProvider, createPlugNotasPlugin, eventStatusLabel, explainRejection, extractPaymentCode, fetchNotePdf, fillInboxLines, findInboxNoteByNumber, findInboxNoteByOperation, getInboxIntakeHealth, getInboxNote, getInboxNotePdf, getInboxNoteXml, getNotePayable, healInboxNote, inboundNoteDocumentModal, inboundNotesInventoryView, isStockBearing, isValidCnpj, isWithoutEffect, linkInboxSupplier, listChartAccounts, listInboxNotes, listInvoiceNotes, listMeasurementUnits, listNoteAttachments, listNoteEvents, listProductsByIds, listStockLocations, listSupplierMap, markPlugNotasEmitterReady, moveNoteAttachmentsToInvoice, notesButtonState, onlyDigits, parseBoleto, parseNfeXml, paymentLabel, paymentTypeFromCode, pullNoteByKey, recipientLabel, refreshNote, rejectNote, removeNoteAttachment, saveNoteDecision, searchProducts, stageNoteFromXml, statusLabel, suggestNoteItems, summarizeNotes, syncNewNotes, toStagePayload };
|
|
8747
|
+
export { EVENT_LABEL, InboundNoteDocumentModal, InboundNotesPage, InboundNotesView, InvoiceNotesButton, IssuedNotesView, MODEL_LABEL, NfeParseError, NoteReconcileView, PLUGNOTAS_CONNECTOR_ID, PLUGNOTAS_FIELDS, PLUGNOTAS_SETTINGS, PullByKeyError, ReturnedNotesView, STATUS_META, STOCK_BEARING_ENTRY_TYPES, TaxGroupsView, acceptNote, addNoteAttachment, cancelNote, createPlugNotasConnector, createPlugNotasFinancialProvider, createPlugNotasPlugin, eventStatusLabel, explainRejection, extractPaymentCode, fetchNotePdf, fillInboxLines, findInboxNoteByNumber, findInboxNoteByOperation, getInboxIntakeHealth, getInboxNote, getInboxNotePdf, getInboxNoteXml, getNotePayable, healInboxNote, inboundNoteDocumentModal, inboundNotesInventoryView, isStockBearing, isValidCnpj, isWithoutEffect, linkInboxSupplier, listChartAccounts, listInboxNotes, listInvoiceNotes, listMeasurementUnits, listNoteAttachments, listNoteEvents, listProductStockUnits, listProductsByIds, listStockLocations, listSupplierMap, markPlugNotasEmitterReady, moveNoteAttachmentsToInvoice, notesButtonState, onlyDigits, parseBoleto, parseNfeXml, paymentLabel, paymentTypeFromCode, pullNoteByKey, recipientLabel, refreshNote, rejectNote, removeNoteAttachment, saveNoteDecision, searchProducts, stageNoteFromXml, statusLabel, suggestNoteItems, summarizeNotes, syncNewNotes, toStagePayload };
|
|
8576
8748
|
//# sourceMappingURL=index.js.map
|
|
8577
8749
|
//# sourceMappingURL=index.js.map
|