siesa-ui-kit 1.0.113 → 1.0.116
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/components/ButtonGroup/ButtonGroup.d.ts +53 -0
- package/dist/components/ButtonGroup/ButtonGroup.d.ts.map +1 -0
- package/dist/components/ButtonGroup/ButtonGroup.types.d.ts +82 -0
- package/dist/components/ButtonGroup/ButtonGroup.types.d.ts.map +1 -0
- package/dist/components/ButtonGroup/index.d.ts +3 -0
- package/dist/components/ButtonGroup/index.d.ts.map +1 -0
- package/dist/components/MasterDocument/ActionBar.d.ts +12 -0
- package/dist/components/MasterDocument/ActionBar.d.ts.map +1 -0
- package/dist/components/MasterDocument/ApprovalBanner.d.ts +3 -0
- package/dist/components/MasterDocument/ApprovalBanner.d.ts.map +1 -0
- package/dist/components/MasterDocument/ConflictModal.d.ts +24 -0
- package/dist/components/MasterDocument/ConflictModal.d.ts.map +1 -0
- package/dist/components/MasterDocument/ContentLayout.d.ts +9 -0
- package/dist/components/MasterDocument/ContentLayout.d.ts.map +1 -0
- package/dist/components/MasterDocument/ContextStrip.d.ts +9 -0
- package/dist/components/MasterDocument/ContextStrip.d.ts.map +1 -0
- package/dist/components/MasterDocument/DocumentCreationWizard.d.ts +25 -0
- package/dist/components/MasterDocument/DocumentCreationWizard.d.ts.map +1 -0
- package/dist/components/MasterDocument/DocumentList.d.ts +30 -0
- package/dist/components/MasterDocument/DocumentList.d.ts.map +1 -0
- package/dist/components/MasterDocument/FactBox.d.ts +30 -0
- package/dist/components/MasterDocument/FactBox.d.ts.map +1 -0
- package/dist/components/MasterDocument/FactBoxCfde.d.ts +22 -0
- package/dist/components/MasterDocument/FactBoxCfde.d.ts.map +1 -0
- package/dist/components/MasterDocument/FactBoxFinancial.d.ts +23 -0
- package/dist/components/MasterDocument/FactBoxFinancial.d.ts.map +1 -0
- package/dist/components/MasterDocument/FactBoxPaymentTerms.d.ts +30 -0
- package/dist/components/MasterDocument/FactBoxPaymentTerms.d.ts.map +1 -0
- package/dist/components/MasterDocument/FactBoxTotals.d.ts +23 -0
- package/dist/components/MasterDocument/FactBoxTotals.d.ts.map +1 -0
- package/dist/components/MasterDocument/FieldRenderer.d.ts +23 -0
- package/dist/components/MasterDocument/FieldRenderer.d.ts.map +1 -0
- package/dist/components/MasterDocument/GlobalDiscountControl.d.ts +25 -0
- package/dist/components/MasterDocument/GlobalDiscountControl.d.ts.map +1 -0
- package/dist/components/MasterDocument/HeaderRenderer.d.ts +27 -0
- package/dist/components/MasterDocument/HeaderRenderer.d.ts.map +1 -0
- package/dist/components/MasterDocument/LineContextMenu.d.ts +10 -0
- package/dist/components/MasterDocument/LineContextMenu.d.ts.map +1 -0
- package/dist/components/MasterDocument/LineFormModal.d.ts +26 -0
- package/dist/components/MasterDocument/LineFormModal.d.ts.map +1 -0
- package/dist/components/MasterDocument/LinesSection.d.ts +26 -0
- package/dist/components/MasterDocument/LinesSection.d.ts.map +1 -0
- package/dist/components/MasterDocument/MasterDocument.d.ts +19 -24
- package/dist/components/MasterDocument/MasterDocument.d.ts.map +1 -1
- package/dist/components/MasterDocument/MasterDocument.types.d.ts +483 -304
- package/dist/components/MasterDocument/MasterDocument.types.d.ts.map +1 -1
- package/dist/components/MasterDocument/Skeletons.d.ts +21 -0
- package/dist/components/MasterDocument/Skeletons.d.ts.map +1 -0
- package/dist/components/MasterDocument/StateBadge.d.ts +17 -0
- package/dist/components/MasterDocument/StateBadge.d.ts.map +1 -0
- package/dist/components/MasterDocument/adapter/ApiService.types.d.ts +43 -0
- package/dist/components/MasterDocument/adapter/ApiService.types.d.ts.map +1 -0
- package/dist/components/MasterDocument/adapter/MasterDocumentAdapter.types.d.ts +90 -0
- package/dist/components/MasterDocument/adapter/MasterDocumentAdapter.types.d.ts.map +1 -0
- package/dist/components/MasterDocument/adapter/createDefaultAdapter.d.ts +26 -0
- package/dist/components/MasterDocument/adapter/createDefaultAdapter.d.ts.map +1 -0
- package/dist/components/MasterDocument/icons.d.ts +3 -3
- package/dist/components/MasterDocument/icons.d.ts.map +1 -1
- package/dist/components/MasterDocument/index.d.ts +30 -6
- package/dist/components/MasterDocument/index.d.ts.map +1 -1
- package/dist/components/MasterDocument/provider/MasterDocumentProvider.d.ts +36 -0
- package/dist/components/MasterDocument/provider/MasterDocumentProvider.d.ts.map +1 -0
- package/dist/components/MasterDocument/provider/iconRegistry.d.ts +4 -0
- package/dist/components/MasterDocument/provider/iconRegistry.d.ts.map +1 -0
- package/dist/components/MasterDocument/smart/SmartMasterDocument.d.ts +27 -0
- package/dist/components/MasterDocument/smart/SmartMasterDocument.d.ts.map +1 -0
- package/dist/components/MasterDocument/smart/factBoxBuilder.d.ts +5 -0
- package/dist/components/MasterDocument/smart/factBoxBuilder.d.ts.map +1 -0
- package/dist/components/MasterDocument/smart/useConflictDetection.d.ts +6 -0
- package/dist/components/MasterDocument/smart/useConflictDetection.d.ts.map +1 -0
- package/dist/components/MasterDocument/smart/useFactBoxData.d.ts +9 -0
- package/dist/components/MasterDocument/smart/useFactBoxData.d.ts.map +1 -0
- package/dist/components/MasterDocument/smart/useMasterDocumentReducer.d.ts +65 -0
- package/dist/components/MasterDocument/smart/useMasterDocumentReducer.d.ts.map +1 -0
- package/dist/components/MasterDocument/template/MasterDocumentTemplate.types.d.ts +278 -0
- package/dist/components/MasterDocument/template/MasterDocumentTemplate.types.d.ts.map +1 -0
- package/dist/components/MasterDocument/template/expressionEvaluator.d.ts +5 -0
- package/dist/components/MasterDocument/template/expressionEvaluator.d.ts.map +1 -0
- package/dist/index.d.ts +4 -3
- package/dist/index.d.ts.map +1 -1
- package/dist/siesa-ui-kit.cjs +168 -165
- package/dist/siesa-ui-kit.cjs.map +1 -1
- package/dist/siesa-ui-kit.mjs +24631 -21017
- package/dist/siesa-ui-kit.mjs.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +10 -9
- package/dist/components/MasterDocument/MasterDocumentDetail.d.ts +0 -12
- package/dist/components/MasterDocument/MasterDocumentDetail.d.ts.map +0 -1
- package/dist/components/MasterDocument/MasterDocumentFormModal.d.ts +0 -31
- package/dist/components/MasterDocument/MasterDocumentFormModal.d.ts.map +0 -1
- package/dist/components/MasterDocument/MasterDocumentHeaderSections.d.ts +0 -13
- package/dist/components/MasterDocument/MasterDocumentHeaderSections.d.ts.map +0 -1
- package/dist/components/MasterDocument/MasterDocumentToolbar.d.ts +0 -13
- package/dist/components/MasterDocument/MasterDocumentToolbar.d.ts.map +0 -1
- package/dist/components/MasterDocument/MasterDocumentTotals.d.ts +0 -11
- package/dist/components/MasterDocument/MasterDocumentTotals.d.ts.map +0 -1
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { ButtonGroupProps } from './ButtonGroup.types';
|
|
2
|
+
/**
|
|
3
|
+
* ButtonGroup - Grupo de botones toggle conectados
|
|
4
|
+
*
|
|
5
|
+
* Componente de selección tipo radio donde los botones aparecen
|
|
6
|
+
* visualmente conectados. Solo un valor puede estar seleccionado a la vez.
|
|
7
|
+
*
|
|
8
|
+
* Soporta tres modos por opción:
|
|
9
|
+
* - **Solo texto**: `{ value, label }`
|
|
10
|
+
* - **Icono + texto**: `{ value, label, icon }`
|
|
11
|
+
* - **Solo icono**: `{ value, icon, ariaLabel }` (botón cuadrado)
|
|
12
|
+
*
|
|
13
|
+
* **Figma:** Button Group Item
|
|
14
|
+
* Node ID: 7879-38523
|
|
15
|
+
*
|
|
16
|
+
* @example
|
|
17
|
+
* ```tsx
|
|
18
|
+
* // Solo texto
|
|
19
|
+
* <ButtonGroup
|
|
20
|
+
* options={[
|
|
21
|
+
* { value: 'con', label: 'Con' },
|
|
22
|
+
* { value: 'sin', label: 'Sin' },
|
|
23
|
+
* ]}
|
|
24
|
+
* value={selected}
|
|
25
|
+
* onChange={setSelected}
|
|
26
|
+
* />
|
|
27
|
+
*
|
|
28
|
+
* // Icono + texto
|
|
29
|
+
* <ButtonGroup
|
|
30
|
+
* options={[
|
|
31
|
+
* { value: 'default', label: 'Por Defecto', icon: <StarIcon /> },
|
|
32
|
+
* { value: 'identified', label: 'Identificado' },
|
|
33
|
+
* ]}
|
|
34
|
+
* value={selected}
|
|
35
|
+
* onChange={setSelected}
|
|
36
|
+
* />
|
|
37
|
+
*
|
|
38
|
+
* // Solo icono
|
|
39
|
+
* <ButtonGroup
|
|
40
|
+
* options={[
|
|
41
|
+
* { value: 'list', icon: <ListIcon />, ariaLabel: 'Vista lista' },
|
|
42
|
+
* { value: 'grid', icon: <GridIcon />, ariaLabel: 'Vista cuadrícula' },
|
|
43
|
+
* ]}
|
|
44
|
+
* value={selected}
|
|
45
|
+
* onChange={setSelected}
|
|
46
|
+
* />
|
|
47
|
+
* ```
|
|
48
|
+
*
|
|
49
|
+
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=7879-38523
|
|
50
|
+
*/
|
|
51
|
+
export declare function ButtonGroup({ options, value, onChange, disabled, className, 'aria-label': ariaLabel, }: ButtonGroupProps): import("react/jsx-runtime").JSX.Element;
|
|
52
|
+
export default ButtonGroup;
|
|
53
|
+
//# sourceMappingURL=ButtonGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroup.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAM5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAgDG;AACH,wBAAgB,WAAW,CAAC,EAC1B,OAAO,EACP,KAAK,EACL,QAAQ,EACR,QAAgB,EAChB,SAAS,EACT,YAAY,EAAE,SAAS,GACxB,EAAE,gBAAgB,2CAwFlB;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,82 @@
|
|
|
1
|
+
import type { ReactNode } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Opción individual dentro del ButtonGroup
|
|
4
|
+
*
|
|
5
|
+
* Soporta tres modos:
|
|
6
|
+
* - **Solo texto**: solo `label`
|
|
7
|
+
* - **Icono + texto**: `icon` y `label`
|
|
8
|
+
* - **Solo icono**: `icon` sin `label` (requiere `ariaLabel` para accesibilidad)
|
|
9
|
+
*/
|
|
10
|
+
export interface ButtonGroupOption {
|
|
11
|
+
/** Valor único que identifica la opción */
|
|
12
|
+
value: string;
|
|
13
|
+
/** Texto visible de la opción (opcional si se usa solo icono) */
|
|
14
|
+
label?: string;
|
|
15
|
+
/** Icono a mostrar junto al texto o solo (16x16px) */
|
|
16
|
+
icon?: ReactNode;
|
|
17
|
+
/**
|
|
18
|
+
* Posición del icono respecto al texto
|
|
19
|
+
* @default 'left'
|
|
20
|
+
*/
|
|
21
|
+
iconPosition?: 'left' | 'right';
|
|
22
|
+
/** Si la opción individual está deshabilitada */
|
|
23
|
+
disabled?: boolean;
|
|
24
|
+
/** Etiqueta accesible (requerido para modo solo icono) */
|
|
25
|
+
ariaLabel?: string;
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Props del componente ButtonGroup
|
|
29
|
+
*
|
|
30
|
+
* Grupo de botones toggle conectados visualmente con selección tipo radio.
|
|
31
|
+
*
|
|
32
|
+
* **Variantes visuales (Figma node 7879-38523):**
|
|
33
|
+
* - Solo texto: "Con", "Sin", "Aparte", "Con y Aparte"
|
|
34
|
+
* - Icono + texto: "Por Defecto" con icono, "Lista" con icono
|
|
35
|
+
* - Solo icono: Botones cuadrados con icono de grid/lista
|
|
36
|
+
*
|
|
37
|
+
* **Estructura visual:**
|
|
38
|
+
* - Los botones aparecen conectados sin espacio entre ellos
|
|
39
|
+
* - El primer botón tiene border-radius solo a la izquierda
|
|
40
|
+
* - El último botón tiene border-radius solo a la derecha
|
|
41
|
+
* - El botón seleccionado se eleva con z-index para mostrar su borde
|
|
42
|
+
*
|
|
43
|
+
* **Tokens de diseño:**
|
|
44
|
+
* - Seleccionado: fondo primary-custom-600 (#0e79fd), borde primary-inverse-border, texto blanco
|
|
45
|
+
* - No seleccionado: fondo bg-primary, borde border-primary, texto content-primary
|
|
46
|
+
* - Padding: px-3.5 (14px), py-1.5 (6px) — solo icono: p-1.5 (6px)
|
|
47
|
+
* - Border radius: 4px (rounded)
|
|
48
|
+
* - Tipografía: 14px, medium (seleccionado) / regular (no seleccionado)
|
|
49
|
+
* - Iconos: 16x16px, gap 6px con texto
|
|
50
|
+
*
|
|
51
|
+
* @see https://www.figma.com/design/5XNqf2YTxvwemxwo1LMQ6j/Siesa-UI-Kit?node-id=7879-38523 - Diseño Figma
|
|
52
|
+
*/
|
|
53
|
+
export interface ButtonGroupProps {
|
|
54
|
+
/**
|
|
55
|
+
* Array de opciones a mostrar como botones toggle
|
|
56
|
+
*/
|
|
57
|
+
options: ButtonGroupOption[];
|
|
58
|
+
/**
|
|
59
|
+
* Valor actualmente seleccionado (null si ninguno)
|
|
60
|
+
*/
|
|
61
|
+
value: string | null;
|
|
62
|
+
/**
|
|
63
|
+
* Callback ejecutado cuando cambia la selección
|
|
64
|
+
*/
|
|
65
|
+
onChange: (value: string) => void;
|
|
66
|
+
/**
|
|
67
|
+
* Si todo el grupo está deshabilitado
|
|
68
|
+
* Aplica opacity: 50% y cursor-not-allowed a todos los botones
|
|
69
|
+
*
|
|
70
|
+
* @default false
|
|
71
|
+
*/
|
|
72
|
+
disabled?: boolean;
|
|
73
|
+
/**
|
|
74
|
+
* Clases CSS adicionales para el contenedor del grupo
|
|
75
|
+
*/
|
|
76
|
+
className?: string;
|
|
77
|
+
/**
|
|
78
|
+
* Etiqueta accesible para el grupo de botones
|
|
79
|
+
*/
|
|
80
|
+
'aria-label'?: string;
|
|
81
|
+
}
|
|
82
|
+
//# sourceMappingURL=ButtonGroup.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ButtonGroup.types.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonGroup/ButtonGroup.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC;;;;;;;GAOG;AACH,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,iEAAiE;IACjE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,sDAAsD;IACtD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAChC,iDAAiD;IACjD,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;OAEG;IACH,OAAO,EAAE,iBAAiB,EAAE,CAAC;IAE7B;;OAEG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAElC;;;;;OAKG;IACH,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;OAEG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/ButtonGroup/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,YAAY,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import type { ActionBarProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Barra de acciones principal del documento maestro.
|
|
4
|
+
*
|
|
5
|
+
* Contiene breadcrumb, número de documento, badge de estado, botones de
|
|
6
|
+
* transición (con overflow responsivo a dropdown), toggle de FactBox y
|
|
7
|
+
* menú de acciones adicionales.
|
|
8
|
+
*
|
|
9
|
+
* @see MasterDocument.types - ActionBarProps
|
|
10
|
+
*/
|
|
11
|
+
export declare function ActionBar({ breadcrumbLabel, onBreadcrumbClick, documentId, stateBadge, docTypeBadge, transitions, onTransition, actions, onToggleFactBox, factBoxOpen, className, }: ActionBarProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
//# sourceMappingURL=ActionBar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ActionBar.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/ActionBar.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAI7D;;;;;;;;GAQG;AACH,wBAAgB,SAAS,CAAC,EACxB,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,UAAU,EACV,YAAY,EACZ,WAAW,EACX,YAAY,EACZ,OAAO,EACP,eAAe,EACf,WAAW,EACX,SAAS,GACV,EAAE,cAAc,2CAuRhB"}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { ApprovalBannerProps } from './MasterDocument.types';
|
|
2
|
+
export declare function ApprovalBanner({ steps, message, onApprove, approveLabel, onReject, rejectLabel, className, }: ApprovalBannerProps): import("react/jsx-runtime").JSX.Element;
|
|
3
|
+
//# sourceMappingURL=ApprovalBanner.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApprovalBanner.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/ApprovalBanner.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,mBAAmB,EAAgB,MAAM,wBAAwB,CAAC;AA8ChF,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,OAAO,EACP,SAAS,EACT,YAAwB,EACxB,QAAQ,EACR,WAAwB,EACxB,SAAS,GACV,EAAE,mBAAmB,2CAsErB"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { ConflictModalProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Modal de alerta de conflicto de edición concurrente.
|
|
4
|
+
*
|
|
5
|
+
* Se muestra cuando otro usuario ha guardado cambios en el mismo documento
|
|
6
|
+
* mientras el usuario actual estaba editando. Ofrece dos acciones: recargar
|
|
7
|
+
* el documento (perder cambios locales) o seguir editando (mantener cambios).
|
|
8
|
+
*
|
|
9
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
10
|
+
* @see MasterDocument.types - ConflictModalProps
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <ConflictModal
|
|
15
|
+
* open={hasConflict}
|
|
16
|
+
* modifiedBy="Carlos Pérez"
|
|
17
|
+
* modifiedAgo="hace 2 minutos"
|
|
18
|
+
* onReload={() => reloadDocument()}
|
|
19
|
+
* onKeepEditing={() => dismissConflict()}
|
|
20
|
+
* />
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
export declare function ConflictModal({ open, modifiedBy, modifiedAgo, onReload, onKeepEditing, className, }: ConflictModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
24
|
+
//# sourceMappingURL=ConflictModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ConflictModal.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/ConflictModal.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,SAAS,GACV,EAAE,kBAAkB,kDA8GpB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ContentLayoutProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Layout flex que organiza el contenido principal y el panel FactBox.
|
|
4
|
+
* El FactBox se renderiza como sidebar estática en xl+ o como overlay en pantallas menores.
|
|
5
|
+
*
|
|
6
|
+
* @see MasterDocument.types - ContentLayoutProps
|
|
7
|
+
*/
|
|
8
|
+
export declare function ContentLayout({ children, factBox, factBoxOpen, onFactBoxClose, className, }: ContentLayoutProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=ContentLayout.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContentLayout.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/ContentLayout.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,OAAO,EACP,WAAW,EACX,cAAc,EACd,SAAS,GACV,EAAE,kBAAkB,2CAmBpB"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { ContextStripProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Franja contextual que muestra campos clave del documento (cliente, vendedor, etc.)
|
|
4
|
+
* en una barra horizontal compacta debajo del ActionBar. Visible solo en md+.
|
|
5
|
+
*
|
|
6
|
+
* @see MasterDocument.types - ContextStripProps
|
|
7
|
+
*/
|
|
8
|
+
export declare function ContextStrip({ items, currencyPanel, className }: ContextStripProps): import("react/jsx-runtime").JSX.Element | null;
|
|
9
|
+
//# sourceMappingURL=ContextStrip.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ContextStrip.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/ContextStrip.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAEhE;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,iBAAiB,kDA6ClF"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { DocumentCreationWizardProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Asistente paso a paso para crear un nuevo documento maestro.
|
|
4
|
+
*
|
|
5
|
+
* Guía al usuario a seleccionar compañía, centro de operación y tipo de
|
|
6
|
+
* documento en tres pasos secuenciales. Soporta estados de carga y error
|
|
7
|
+
* por paso, y confirma la creación cuando los tres campos están completos.
|
|
8
|
+
*
|
|
9
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
10
|
+
* @see MasterDocument.types - DocumentCreationWizardProps, WizardOption
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <DocumentCreationWizard
|
|
15
|
+
* open={showWizard}
|
|
16
|
+
* onClose={() => setShowWizard(false)}
|
|
17
|
+
* companies={[{ id: '1', label: 'Siesa SAS' }]}
|
|
18
|
+
* onSelectCompany={(id) => setCompany(id)}
|
|
19
|
+
* onConfirm={() => createDocument()}
|
|
20
|
+
* {...otherProps}
|
|
21
|
+
* />
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function DocumentCreationWizard({ open, onClose, companies, selectedCompany, onSelectCompany, operationCenters, selectedCO, onSelectCO, documentTypes, selectedType, onSelectType, onConfirm, loadingStep, errorStep, className, }: DocumentCreationWizardProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
//# sourceMappingURL=DocumentCreationWizard.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentCreationWizard.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/DocumentCreationWizard.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,2BAA2B,EAAgB,MAAM,wBAAwB,CAAC;AAwExF;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,sBAAsB,CAAC,EACrC,IAAI,EACJ,OAAO,EACP,SAAS,EACT,eAAe,EACf,eAAe,EACf,gBAAgB,EAChB,UAAU,EACV,UAAU,EACV,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,SAAS,EACT,WAAW,EACX,SAAS,EACT,SAAS,GACV,EAAE,2BAA2B,kDAoK7B"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { DocumentListProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Vista de lista de documentos con filtros, búsqueda avanzada y paginación.
|
|
4
|
+
*
|
|
5
|
+
* Renderiza un encabezado con título, chip de compañía y acciones (exportar,
|
|
6
|
+
* crear nuevo), una barra de pills de estado, un panel de búsqueda avanzada
|
|
7
|
+
* colapsable, la tabla de resultados y controles de paginación.
|
|
8
|
+
*
|
|
9
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
10
|
+
* @see MasterDocument.types - DocumentListProps
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <DocumentList
|
|
15
|
+
* title="Pedidos de Venta"
|
|
16
|
+
* companyName="Siesa SAS"
|
|
17
|
+
* pills={[{ key: 'all', label: 'Todos', count: 42, active: true }]}
|
|
18
|
+
* columns={[{ key: 'number', header: 'Número' }]}
|
|
19
|
+
* rows={data}
|
|
20
|
+
* totalCount={42}
|
|
21
|
+
* page={1}
|
|
22
|
+
* pageSize={10}
|
|
23
|
+
* onPageChange={setPage}
|
|
24
|
+
* onRowClick={(row) => navigate(row.id)}
|
|
25
|
+
* {...otherProps}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function DocumentList({ title, subtitle, companyName, onCompanyChange, onExport, onCreateNew, createNewLabel, pills, onPillClick, searchFields, searchValues, onSearchChange, onSearch, onClearSearch, searchOpen, onToggleSearch, columns, rows, totalCount, onRowClick, emptyState, page, pageSize, onPageChange, loading, error, onRetry, className, }: DocumentListProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
//# sourceMappingURL=DocumentList.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"DocumentList.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/DocumentList.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,wBAAwB,CAAC;AAIhE;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,QAAQ,EACR,WAAW,EACX,eAAe,EACf,QAAQ,EACR,WAAW,EACX,cAAwB,EACxB,KAAK,EACL,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,cAAc,EACd,QAAQ,EACR,aAAa,EACb,UAAU,EACV,cAAc,EACd,OAAO,EACP,IAAI,EACJ,UAAU,EACV,UAAU,EACV,UAAU,EACV,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,KAAK,EACL,OAAO,EACP,SAAS,GACV,EAAE,iBAAiB,2CAuVnB"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FactBoxProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Panel de información contextual (FactBox) del documento maestro.
|
|
4
|
+
*
|
|
5
|
+
* Se adapta a tres breakpoints:
|
|
6
|
+
* - **xl+**: barra lateral estática a la derecha del formulario.
|
|
7
|
+
* - **md–lg**: panel deslizante desde la derecha (drawer), controlado por `open`/`onClose`.
|
|
8
|
+
* - **xs–sm**: hoja inferior deslizante (bottom sheet), controlada por `open`/`onClose`.
|
|
9
|
+
*
|
|
10
|
+
* Acepta un arreglo de `FactBoxSectionConfig`, cada una con su propia clave,
|
|
11
|
+
* etiqueta, insignia opcional y nodo hijo. Cada sección se renderiza como un
|
|
12
|
+
* widget colapsable independiente (acordeón).
|
|
13
|
+
*
|
|
14
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
15
|
+
* @see MasterDocument.types - FactBoxProps, FactBoxSectionConfig
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <FactBox
|
|
20
|
+
* sections={[
|
|
21
|
+
* { key: 'totals', label: 'Totales', defaultOpen: true, children: <FactBoxTotals ... /> },
|
|
22
|
+
* { key: 'cfde', label: 'DIAN', defaultOpen: false, children: <FactBoxCfde ... /> },
|
|
23
|
+
* ]}
|
|
24
|
+
* open={drawerOpen}
|
|
25
|
+
* onClose={() => setDrawerOpen(false)}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function FactBox({ sections, open, onClose, className }: FactBoxProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
//# sourceMappingURL=FactBox.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FactBox.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/FactBox.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAwB,MAAM,wBAAwB,CAAC;AA2EjF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,OAAO,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,EAAE,YAAY,2CA+G3E"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { FactBoxCfdeProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Widget de información DIAN (Factura Electrónica) para el panel FactBox.
|
|
4
|
+
*
|
|
5
|
+
* Muestra el estado de transmisión DIAN con su insignia de color, el número de
|
|
6
|
+
* FE, CUFE, fecha de emisión, contador de impresiones y enlace al QR. Expone
|
|
7
|
+
* acciones de Retransmitir (estados REJECTED/ERROR) y Descargar PDF (estado
|
|
8
|
+
* ACCEPTED) cuando se proveen los callbacks correspondientes.
|
|
9
|
+
*
|
|
10
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
11
|
+
* @see MasterDocument.types - FactBoxCfdeProps, CfdeStatus
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <FactBoxCfde
|
|
16
|
+
* data={{ status: 'ACCEPTED', number: 'FE-0001', cufe: 'abc123' }}
|
|
17
|
+
* onDownloadPdf={() => downloadPdf()}
|
|
18
|
+
* />
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export declare function FactBoxCfde({ data, onRetransmit, onDownloadPdf, className }: FactBoxCfdeProps): import("react/jsx-runtime").JSX.Element;
|
|
22
|
+
//# sourceMappingURL=FactBoxCfde.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FactBoxCfde.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/FactBoxCfde.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAc,MAAM,wBAAwB,CAAC;AAiB3E;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,WAAW,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,EAAE,gBAAgB,2CAgG7F"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { FactBoxFinancialProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Widget de movimientos financieros para el panel FactBox.
|
|
4
|
+
*
|
|
5
|
+
* Presenta cuentas por cobrar, cuentas por pagar, anticipos cruzados y efectivo
|
|
6
|
+
* en una lista de filas etiqueta/valor. Cuando el documento opera en moneda
|
|
7
|
+
* extranjera, muestra un bloque adicional con los equivalentes en moneda local
|
|
8
|
+
* (COP). Si no existe ningún movimiento registrado, renderiza un mensaje de
|
|
9
|
+
* "Pendiente de contabilización".
|
|
10
|
+
*
|
|
11
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
12
|
+
* @see MasterDocument.types - FactBoxFinancialProps
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <FactBoxFinancial
|
|
17
|
+
* data={{ receivableAmount: 1500000 }}
|
|
18
|
+
* formatCurrency={(v) => `$${v.toLocaleString('es-CO')}`}
|
|
19
|
+
* />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function FactBoxFinancial({ data, formatCurrency, className }: FactBoxFinancialProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=FactBoxFinancial.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FactBoxFinancial.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/FactBoxFinancial.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAsCpE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,IAAI,EAAE,cAAc,EAAE,SAAS,EAAE,EAAE,qBAAqB,2CAkD1F"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { FactBoxPaymentTermsProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Widget de condiciones de pago para el panel FactBox.
|
|
4
|
+
*
|
|
5
|
+
* Muestra el código y nombre del plazo, número de cuotas, modo de período y
|
|
6
|
+
* días de vencimiento. Cuando el pronto pago está habilitado, presenta una
|
|
7
|
+
* sección con indicador visual verde, ventana en días y porcentaje de descuento.
|
|
8
|
+
* Si existe anticipo requerido, lo muestra con su monto calculado.
|
|
9
|
+
*
|
|
10
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
11
|
+
* @see MasterDocument.types - FactBoxPaymentTermsProps, PeriodMode
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <FactBoxPaymentTerms
|
|
16
|
+
* data={{
|
|
17
|
+
* code: 'C30',
|
|
18
|
+
* name: 'Crédito 30 días',
|
|
19
|
+
* installmentCount: 1,
|
|
20
|
+
* periodMode: 'days',
|
|
21
|
+
* dueDays: 30,
|
|
22
|
+
* earlyPaymentEnabled: true,
|
|
23
|
+
* earlyPaymentDays: 10,
|
|
24
|
+
* earlyPaymentDiscountPct: 2,
|
|
25
|
+
* }}
|
|
26
|
+
* />
|
|
27
|
+
* ```
|
|
28
|
+
*/
|
|
29
|
+
export declare function FactBoxPaymentTerms({ data, className }: FactBoxPaymentTermsProps): import("react/jsx-runtime").JSX.Element;
|
|
30
|
+
//# sourceMappingURL=FactBoxPaymentTerms.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FactBoxPaymentTerms.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/FactBoxPaymentTerms.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAc,MAAM,wBAAwB,CAAC;AA2BnF;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAgB,mBAAmB,CAAC,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE,wBAAwB,2CA+ChF"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { FactBoxTotalsProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Widget de totales del documento para el panel FactBox.
|
|
4
|
+
*
|
|
5
|
+
* Renderiza una tarjeta KPI destacada con el total general del documento,
|
|
6
|
+
* una grilla 2×2 de KPIs secundarios (subtotal, descuentos, impuestos, etc.)
|
|
7
|
+
* y una lista de desglose detallado con filas resumen separadas visualmente.
|
|
8
|
+
* Todos los valores monetarios son cadenas ya formateadas por el consumidor.
|
|
9
|
+
*
|
|
10
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
11
|
+
* @see MasterDocument.types - FactBoxTotalsProps
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <FactBoxTotals
|
|
16
|
+
* grandTotal={{ value: '$1.500.000', label: 'Total documento' }}
|
|
17
|
+
* kpis={[{ label: 'Subtotal', value: '$1.200.000' }]}
|
|
18
|
+
* breakdown={[{ label: 'IVA 19%', value: '$228.000' }]}
|
|
19
|
+
* />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function FactBoxTotals({ grandTotal, kpis, breakdown, className, }: FactBoxTotalsProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=FactBoxTotals.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FactBoxTotals.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/FactBoxTotals.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,wBAAwB,CAAC;AAEjE;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,UAAU,EACV,IAAI,EACJ,SAAS,EACT,SAAS,GACV,EAAE,kBAAkB,2CAyEpB"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { FieldRendererProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Renderizador genérico de campos del documento maestro.
|
|
4
|
+
*
|
|
5
|
+
* Selecciona el control apropiado (text, number, currency, select, toggle, etc.)
|
|
6
|
+
* según `fieldDef.control` y aplica el estado de solo lectura, error y accesibilidad.
|
|
7
|
+
* Compatible con LookupField cuando se provee `lookupConfig` y `fetcher`.
|
|
8
|
+
*
|
|
9
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
10
|
+
* @see MasterDocument.types - FieldRendererProps, FieldDescriptor, ControlType
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <FieldRenderer
|
|
15
|
+
* fieldDef={{ key: 'cliente', label: 'Cliente', control: 'searcher', order: 1, span: 1, editableOn: ['DRAFT'] }}
|
|
16
|
+
* value="CLI-001"
|
|
17
|
+
* onChange={(v) => updateField('cliente', v)}
|
|
18
|
+
* editable={true}
|
|
19
|
+
* />
|
|
20
|
+
* ```
|
|
21
|
+
*/
|
|
22
|
+
export declare function FieldRenderer({ fieldDef, value, onChange, editable, error, readOnly, className, lookupConfig, fetcher, onRecordSelect, }: FieldRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
23
|
+
//# sourceMappingURL=FieldRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FieldRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/FieldRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAkC,MAAM,wBAAwB,CAAC;AAyUjG;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,OAAO,EACP,cAAc,GACf,EAAE,kBAAkB,2CA6GpB"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { GlobalDiscountControlProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Control de descuento global a nivel de documento.
|
|
4
|
+
*
|
|
5
|
+
* Permite al usuario aplicar un descuento en modo porcentaje (%) o monto fijo
|
|
6
|
+
* ($). Muestra el equivalente calculado en la unidad complementaria (si el modo
|
|
7
|
+
* es porcentaje, calcula el monto; si es monto, calcula el porcentaje). En modo
|
|
8
|
+
* de solo lectura (`editable={false}`) suprime los controles y presenta el
|
|
9
|
+
* valor formateado.
|
|
10
|
+
*
|
|
11
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
12
|
+
* @see MasterDocument.types - GlobalDiscountControlProps
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```tsx
|
|
16
|
+
* <GlobalDiscountControl
|
|
17
|
+
* data={{ mode: 'percentage', percentage: 5 }}
|
|
18
|
+
* onChange={(d) => setDiscount(d)}
|
|
19
|
+
* subtotal={1200000}
|
|
20
|
+
* formatCurrency={(v) => `$${v.toLocaleString('es-CO')}`}
|
|
21
|
+
* />
|
|
22
|
+
* ```
|
|
23
|
+
*/
|
|
24
|
+
export declare function GlobalDiscountControl({ data, onChange, subtotal, formatCurrency, editable, className, }: GlobalDiscountControlProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
//# sourceMappingURL=GlobalDiscountControl.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GlobalDiscountControl.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/GlobalDiscountControl.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,0BAA0B,EAAE,MAAM,wBAAwB,CAAC;AAEzE;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,qBAAqB,CAAC,EACpC,IAAI,EACJ,QAAQ,EACR,QAAQ,EACR,cAAc,EACd,QAAe,EACf,SAAS,GACV,EAAE,0BAA0B,2CAgH5B"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { HeaderRendererProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Renderizador del encabezado del documento maestro.
|
|
4
|
+
*
|
|
5
|
+
* Soporta dos modos de visualización: `accordion` (secciones colapsables)
|
|
6
|
+
* y `tabs` (pestañas horizontales). Cada sección agrupa campos renderizados
|
|
7
|
+
* por `FieldRenderer` en un grid responsivo configurable.
|
|
8
|
+
*
|
|
9
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
10
|
+
* @see MasterDocument.types - HeaderRendererProps, SectionConfig
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <HeaderRenderer
|
|
15
|
+
* mode="accordion"
|
|
16
|
+
* columns={3}
|
|
17
|
+
* sections={[{ key: 'general', label: 'Información general', defaultOpen: true }]}
|
|
18
|
+
* fieldsBySection={{ general: fields }}
|
|
19
|
+
* values={headerData}
|
|
20
|
+
* onFieldChange={(key, value) => updateHeader(key, value)}
|
|
21
|
+
* docState="DRAFT"
|
|
22
|
+
* mode_form="edit"
|
|
23
|
+
* />
|
|
24
|
+
* ```
|
|
25
|
+
*/
|
|
26
|
+
export declare function HeaderRenderer({ mode, columns, sections, fieldsBySection, values, errors, onFieldChange, docState, mode_form, className, lookupConfigs, fetcher, onRecordSelect, }: HeaderRendererProps): import("react/jsx-runtime").JSX.Element;
|
|
27
|
+
//# sourceMappingURL=HeaderRenderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeaderRenderer.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/HeaderRenderer.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,mBAAmB,EAMpB,MAAM,wBAAwB,CAAC;AAoPhC;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,OAAO,EACP,QAAQ,EACR,eAAe,EACf,MAAM,EACN,MAAM,EACN,aAAa,EACb,QAAQ,EACR,SAAS,EACT,SAAS,EACT,aAAa,EACb,OAAO,EACP,cAAc,GACf,EAAE,mBAAmB,2CAgDrB"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { LineContextMenuProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Menú contextual flotante para acciones sobre una línea de detalle
|
|
4
|
+
* (editar, duplicar, eliminar). Se posiciona en las coordenadas del clic
|
|
5
|
+
* y se cierra al hacer clic fuera o presionar Escape.
|
|
6
|
+
*
|
|
7
|
+
* @see MasterDocument.types - LineContextMenuProps
|
|
8
|
+
*/
|
|
9
|
+
export declare function LineContextMenu({ open, position, onClose, items, className, }: LineContextMenuProps): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
//# sourceMappingURL=LineContextMenu.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineContextMenu.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/LineContextMenu.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AAEnE;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAI,EACJ,QAAQ,EACR,OAAO,EACP,KAAK,EACL,SAAS,GACV,EAAE,oBAAoB,kDAkEtB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LineFormModalProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* LineFormModal — modal deslizante para crear o editar una línea del documento.
|
|
4
|
+
*
|
|
5
|
+
* En escritorio se muestra como un diálogo centrado; en móvil se presenta
|
|
6
|
+
* como una hoja inferior (bottom sheet). Gestiona el formulario internamente
|
|
7
|
+
* con `react-hook-form` y ejecuta las reglas de cálculo automático mediante
|
|
8
|
+
* `ComputedRulesRunner`.
|
|
9
|
+
*
|
|
10
|
+
* @see FieldRenderer — renderiza cada campo del formulario
|
|
11
|
+
* @see ComputedRule — tipo para las reglas de campos calculados
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* ```tsx
|
|
15
|
+
* <LineFormModal
|
|
16
|
+
* open={lineModal.open}
|
|
17
|
+
* onClose={() => setLineModal({ open: false, lineId: null })}
|
|
18
|
+
* onConfirm={(data) => handleLineSave(lineModal.lineId, data)}
|
|
19
|
+
* fields={lineFields}
|
|
20
|
+
* title="Nueva línea"
|
|
21
|
+
* confirmLabel="Agregar línea"
|
|
22
|
+
* />
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function LineFormModal({ open, onClose, onConfirm, fields, initialData, computedRules, errors: externalErrors, title, confirmLabel, cancelLabel, columns, className, }: LineFormModalProps): import("react/jsx-runtime").JSX.Element | null;
|
|
26
|
+
//# sourceMappingURL=LineFormModal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LineFormModal.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/LineFormModal.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,kBAAkB,EAAgB,MAAM,wBAAwB,CAAC;AA4C/E;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAAC,EAC5B,IAAI,EACJ,OAAO,EACP,SAAS,EACT,MAAM,EACN,WAAW,EACX,aAAa,EACb,MAAM,EAAE,cAAc,EACtB,KAAK,EACL,YAA0B,EAC1B,WAAwB,EACxB,OAAW,EACX,SAAS,GACV,EAAE,kBAAkB,kDA4JpB"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { LinesSectionProps } from './MasterDocument.types';
|
|
2
|
+
/**
|
|
3
|
+
* Sección de líneas de detalle del documento maestro.
|
|
4
|
+
*
|
|
5
|
+
* Renderiza una tabla virtualizada (TanStack Table + TanStack Virtual) en
|
|
6
|
+
* escritorio y tarjetas apiladas en móvil. Incluye menú contextual por línea
|
|
7
|
+
* (editar, duplicar, eliminar), estado activo visual y estado vacío.
|
|
8
|
+
*
|
|
9
|
+
* @see docs/colors.md - Sistema de tokens de color
|
|
10
|
+
* @see MasterDocument.types - LinesSectionProps, DocumentLineData, LineColumnConfig
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
* ```tsx
|
|
14
|
+
* <LinesSection
|
|
15
|
+
* title="Líneas del documento"
|
|
16
|
+
* lines={documentLines}
|
|
17
|
+
* columns={lineColumns}
|
|
18
|
+
* onEditLine={(id) => openLineModal(id)}
|
|
19
|
+
* onDeleteLine={(id) => removeLine(id)}
|
|
20
|
+
* canAddLine={isEditable}
|
|
21
|
+
* onAddLine={() => openNewLineModal()}
|
|
22
|
+
* />
|
|
23
|
+
* ```
|
|
24
|
+
*/
|
|
25
|
+
export declare function LinesSection({ title, lines, columns: columnConfigs, lineFields, alerts, canAddLine, onAddLine, onEditLine, onDeleteLine, onDuplicateLine, activeLineId, currentBreakpoint, className, }: LinesSectionProps): import("react/jsx-runtime").JSX.Element;
|
|
26
|
+
//# sourceMappingURL=LinesSection.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"LinesSection.d.ts","sourceRoot":"","sources":["../../../src/components/MasterDocument/LinesSection.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,EACV,iBAAiB,EAIlB,MAAM,wBAAwB,CAAC;AA4GhC;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,YAAY,CAAC,EAC3B,KAAK,EACL,KAAK,EACL,OAAO,EAAE,aAAa,EACtB,UAAU,EACV,MAAM,EACN,UAAU,EACV,SAAS,EACT,UAAU,EACV,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,iBAAiB,EACjB,SAAS,GACV,EAAE,iBAAiB,2CA8TnB"}
|