@credithub/harlan-components 1.102.0 → 1.103.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/components/common/printButton.d.ts +8 -0
- package/dist/components/common/printButton.js +39 -0
- package/dist/components/consultaSimplesSection/consultaSimplesSection.js +19 -2
- package/dist/components/interface/section.d.ts +2 -0
- package/dist/components/interface/section.js +4 -5
- package/dist/hooks/usePrintWhenStable.d.ts +44 -0
- package/dist/hooks/usePrintWhenStable.js +92 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.js +3 -0
- package/dist/styles/globalStyle.js +1 -1
- package/lib/cjs/index.js +336 -192
- package/lib/esm/index.js +333 -193
- package/package.json +1 -1
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {
|
|
2
|
+
if (Object.defineProperty) { Object.defineProperty(cooked, "raw", { value: raw }); } else { cooked.raw = raw; }
|
|
3
|
+
return cooked;
|
|
4
|
+
};
|
|
5
|
+
import BtnWrapper from '../../assets/btn/btnWrapper';
|
|
6
|
+
import PrintIcon from '../../assets/btn/printIcon';
|
|
7
|
+
import Tooltip from '../../components/common/tooltip';
|
|
8
|
+
import React from 'react';
|
|
9
|
+
import styled, { keyframes } from 'styled-components';
|
|
10
|
+
// Animação de rotação do spinner
|
|
11
|
+
var spin = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n"], ["\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(360deg);\n }\n"])));
|
|
12
|
+
// Container para garantir tamanho fixo e evitar layout shift
|
|
13
|
+
var IconContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n"], ["\n display: flex;\n align-items: center;\n justify-content: center;\n width: 20px;\n height: 20px;\n flex-shrink: 0;\n"])));
|
|
14
|
+
// Spinner estilizado com tamanho similar ao PrintIcon
|
|
15
|
+
var Spinner = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject(["\n border: 2px solid rgba(0, 0, 0, 0.1);\n border-left-color: ", ";\n border-radius: 50%;\n width: 16px;\n height: 16px;\n animation: ", " 0.8s linear infinite;\n"], ["\n border: 2px solid rgba(0, 0, 0, 0.1);\n border-left-color: ", ";\n border-radius: 50%;\n width: 16px;\n height: 16px;\n animation: ", " 0.8s linear infinite;\n"])), function (_a) {
|
|
16
|
+
var theme = _a.theme;
|
|
17
|
+
return theme.colors.cinzaEscuro;
|
|
18
|
+
}, spin);
|
|
19
|
+
var TooltipWrapper = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject(["\n /* Oculta o tooltip na impress\u00E3o */\n @media print {\n display: none !important;\n }\n"], ["\n /* Oculta o tooltip na impress\u00E3o */\n @media print {\n display: none !important;\n }\n"])));
|
|
20
|
+
var TooltipContent = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject(["\n display: flex;\n flex-direction: column;\n gap: 8px;\n"], ["\n display: flex;\n flex-direction: column;\n gap: 8px;\n"])));
|
|
21
|
+
var TooltipTitle = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject(["\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n"], ["\n font-weight: 600;\n font-size: 14px;\n color: ", ";\n"])), function (_a) {
|
|
22
|
+
var theme = _a.theme;
|
|
23
|
+
return theme.colors.azulCredithub;
|
|
24
|
+
});
|
|
25
|
+
var TooltipMessage = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject(["\n font-size: 13px;\n line-height: 1.4;\n"], ["\n font-size: 13px;\n line-height: 1.4;\n"])));
|
|
26
|
+
var PrintButton = function (_a) {
|
|
27
|
+
var onClick = _a.onClick, _b = _a.isLoading, isLoading = _b === void 0 ? false : _b, _c = _a.tooltipMessage, tooltipMessage = _c === void 0 ? 'Aguardando consultas finalizarem...' : _c;
|
|
28
|
+
var button = (React.createElement(BtnWrapper, { onClick: !isLoading ? onClick : undefined },
|
|
29
|
+
React.createElement(IconContainer, null, isLoading ? React.createElement(Spinner, null) : React.createElement(PrintIcon, null))));
|
|
30
|
+
if (isLoading) {
|
|
31
|
+
return (React.createElement(TooltipWrapper, null,
|
|
32
|
+
React.createElement(Tooltip, { placement: "left", content: React.createElement(TooltipContent, null,
|
|
33
|
+
React.createElement(TooltipTitle, null, "\u23F3 Aguardando estabiliza\u00E7\u00E3o"),
|
|
34
|
+
React.createElement(TooltipMessage, null, tooltipMessage)), icon: button })));
|
|
35
|
+
}
|
|
36
|
+
return button;
|
|
37
|
+
};
|
|
38
|
+
export default PrintButton;
|
|
39
|
+
var templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;
|
|
@@ -27,6 +27,7 @@ var __rest = (this && this.__rest) || function (s, e) {
|
|
|
27
27
|
import ConsultaSimplesIcon from '../../assets/icones/consultaSimples';
|
|
28
28
|
import { useGlobalData } from '../../contexts/globalDataContext';
|
|
29
29
|
import { usePostHog } from '../../contexts/PostHogContext';
|
|
30
|
+
import usePrintWhenStable from '../../hooks/usePrintWhenStable';
|
|
30
31
|
import theme from '../../styles/theme';
|
|
31
32
|
import { formatMoney } from '../../utils/number';
|
|
32
33
|
import { formatDocument } from '../../utils/string';
|
|
@@ -43,10 +44,26 @@ var spin = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObjec
|
|
|
43
44
|
var Spinner = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-left-color: #222;\n border-radius: 50%;\n width: 9px;\n height: 9px;\n animation: ", " 1s linear infinite;\n margin-right: 8px;\n display: inline-block;\n vertical-align: middle;\n"], ["\n border: 1px solid rgba(0, 0, 0, 0.1);\n border-left-color: #222;\n border-radius: 50%;\n width: 9px;\n height: 9px;\n animation: ", " 1s linear infinite;\n margin-right: 8px;\n display: inline-block;\n vertical-align: middle;\n"])), spin);
|
|
44
45
|
var ConsultaSimplesSection = function (_a) {
|
|
45
46
|
var _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r;
|
|
46
|
-
var documento = _a.documento, children = _a.children, onClose = _a.onClose, isFinancial = _a.isFinancial, ctime = _a.ctime, printMode = _a.printMode, rest = __rest(_a, ["documento", "children", "onClose", "isFinancial", "ctime", "printMode"]);
|
|
47
|
+
var documento = _a.documento, children = _a.children, onClose = _a.onClose, onClickPrint = _a.onClickPrint, isFinancial = _a.isFinancial, ctime = _a.ctime, printMode = _a.printMode, rest = __rest(_a, ["documento", "children", "onClose", "onClickPrint", "isFinancial", "ctime", "printMode"]);
|
|
47
48
|
var ctx = useContext(Queries.Finder);
|
|
48
49
|
var data = useGlobalData().data;
|
|
49
50
|
var posthog = usePostHog().posthog;
|
|
51
|
+
// Hook para observar mutações no DOM e imprimir quando estável
|
|
52
|
+
var _s = usePrintWhenStable({
|
|
53
|
+
debounceTime: 500,
|
|
54
|
+
maxWaitTime: 30000,
|
|
55
|
+
onStart: function () {
|
|
56
|
+
console.log('ConsultaSimples: Aguardando DOM estabilizar para impressão...');
|
|
57
|
+
},
|
|
58
|
+
onStable: function () {
|
|
59
|
+
console.log('ConsultaSimples: DOM estável, iniciando impressão');
|
|
60
|
+
onClickPrint === null || onClickPrint === void 0 ? void 0 : onClickPrint();
|
|
61
|
+
}
|
|
62
|
+
}), printWhenStable = _s.printWhenStable, isWaiting = _s.isWaiting;
|
|
63
|
+
// Handler que usa o observer ao invés de imprimir diretamente
|
|
64
|
+
var handlePrint = function () {
|
|
65
|
+
printWhenStable();
|
|
66
|
+
};
|
|
50
67
|
// Extraindo valores do globalData
|
|
51
68
|
var receitaStatus = ((_c = (_b = data.dossie) === null || _b === void 0 ? void 0 : _b.summary) === null || _c === void 0 ? void 0 : _c.receitaStatus) &&
|
|
52
69
|
['ATIVA', 'REGULAR'].indexOf(data.dossie.summary.receitaStatus) === -1
|
|
@@ -133,7 +150,7 @@ var ConsultaSimplesSection = function (_a) {
|
|
|
133
150
|
}); })
|
|
134
151
|
});
|
|
135
152
|
}, [posthog, pendencias]);
|
|
136
|
-
return (React.createElement(Section, __assign({ title: "Consulta Simples", subtitle: "Consulta de informa\u00E7\u00F5es do documento.", description: React.createElement(React.Fragment, null,
|
|
153
|
+
return (React.createElement(Section, __assign({ title: "Consulta Simples", subtitle: "Consulta de informa\u00E7\u00F5es do documento.", onClickPrint: handlePrint, isPrintLoading: isWaiting, printLoadingMessage: "O sistema est\u00E1 verificando se todas as consultas foram conclu\u00EDdas. Por favor, aguarde...", description: React.createElement(React.Fragment, null,
|
|
137
154
|
ctimeDate ? (React.createElement(StatusMessage, { type: "warning" },
|
|
138
155
|
React.createElement(WarningCircle, { weight: "fill", size: 18, color: theme.colors.cinzaEscuro, style: { marginRight: 6, verticalAlign: 'text-bottom' } }),
|
|
139
156
|
"Informa\u00E7\u00F5es referem-se a",
|
|
@@ -8,6 +8,8 @@ export interface SectionProps extends React.PropsWithChildren<{
|
|
|
8
8
|
contentClassName?: string;
|
|
9
9
|
ctx?: RequestContext<any>;
|
|
10
10
|
printMode?: boolean;
|
|
11
|
+
isPrintLoading?: boolean;
|
|
12
|
+
printLoadingMessage?: string;
|
|
11
13
|
} & HeaderProps> {
|
|
12
14
|
}
|
|
13
15
|
declare const Section: React.FC<SectionProps>;
|
|
@@ -7,7 +7,7 @@ import BtnWrapper from '../../assets/btn/btnWrapper';
|
|
|
7
7
|
import ChevronDown from '../../assets/btn/chevronDown';
|
|
8
8
|
import ChevronUp from '../../assets/btn/chevronUp';
|
|
9
9
|
import CloseIcon from '../../assets/btn/closeIcon';
|
|
10
|
-
import
|
|
10
|
+
import PrintButton from '../../components/common/printButton';
|
|
11
11
|
import useToggle from '../../hooks/useToggle';
|
|
12
12
|
import classNames from 'classnames';
|
|
13
13
|
import React from 'react';
|
|
@@ -16,14 +16,13 @@ import Header from './header';
|
|
|
16
16
|
var SectionContaner = styled.section(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n @media screen {\n background-color: rgb(239, 239, 239);\n }\n page-break-before: avoid;\n page-break-after: avoid;\n page-break-inside: avoid;\n"], ["\n @media screen {\n background-color: rgb(239, 239, 239);\n }\n page-break-before: avoid;\n page-break-after: avoid;\n page-break-inside: avoid;\n"])));
|
|
17
17
|
var ResultContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject(["\n display: ", ";\n position: relative;\n margin-top: 20px;\n flex-direction: column;\n row-gap: 20px;\n @media screen {\n background-color: #efefef;\n }\n"], ["\n display: ", ";\n position: relative;\n margin-top: 20px;\n flex-direction: column;\n row-gap: 20px;\n @media screen {\n background-color: #efefef;\n }\n"])), function (props) { return (props.hide ? 'none' : 'flex'); });
|
|
18
18
|
var Section = function (_a) {
|
|
19
|
-
var title = _a.title, subtitle = _a.subtitle, description = _a.description, _b = _a.minimized, minimized = _b === void 0 ? false : _b, onClose = _a.onClose, variant = _a.variant, loadingProps = _a.loadingProps, icon = _a.icon, actions = _a.actions, children = _a.children, onClickPrint = _a.onClickPrint, className = _a.className, contentClassName = _a.contentClassName, _c = _a.printMode, printMode = _c === void 0 ? false : _c;
|
|
20
|
-
var
|
|
19
|
+
var title = _a.title, subtitle = _a.subtitle, description = _a.description, _b = _a.minimized, minimized = _b === void 0 ? false : _b, onClose = _a.onClose, variant = _a.variant, loadingProps = _a.loadingProps, icon = _a.icon, actions = _a.actions, children = _a.children, onClickPrint = _a.onClickPrint, className = _a.className, contentClassName = _a.contentClassName, _c = _a.printMode, printMode = _c === void 0 ? false : _c, _d = _a.isPrintLoading, isPrintLoading = _d === void 0 ? false : _d, printLoadingMessage = _a.printLoadingMessage;
|
|
20
|
+
var _e = useToggle(!minimized), isOpen = _e[0], toggleOpen = _e[1];
|
|
21
21
|
var sectionClass = classNames(className);
|
|
22
22
|
var sectionContentClass = classNames(contentClassName);
|
|
23
23
|
return (React.createElement(SectionContaner, { className: sectionClass },
|
|
24
24
|
React.createElement(Header, { title: title, subtitle: subtitle, description: description, loadingProps: loadingProps, icon: icon, variant: variant, actions: !printMode ? (React.createElement(React.Fragment, null,
|
|
25
|
-
React.createElement(
|
|
26
|
-
React.createElement(PrintIcon, { onClick: onClickPrint })),
|
|
25
|
+
React.createElement(PrintButton, { onClick: onClickPrint, isLoading: isPrintLoading, tooltipMessage: printLoadingMessage }),
|
|
27
26
|
children && (React.createElement(BtnWrapper, { hidden: variant === 'loading', onClick: toggleOpen }, isOpen ? React.createElement(ChevronUp, null) : React.createElement(ChevronDown, null))),
|
|
28
27
|
onClose && (React.createElement(BtnWrapper, { onClick: onClose },
|
|
29
28
|
React.createElement(CloseIcon, null))),
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
interface UsePrintWhenStableOptions {
|
|
2
|
+
/**
|
|
3
|
+
* Tempo em ms para considerar o DOM estável (sem mutações)
|
|
4
|
+
* @default 500
|
|
5
|
+
*/
|
|
6
|
+
debounceTime?: number;
|
|
7
|
+
/**
|
|
8
|
+
* Elemento raiz para observar (se não fornecido, usa document.body)
|
|
9
|
+
*/
|
|
10
|
+
rootElement?: HTMLElement | null;
|
|
11
|
+
/**
|
|
12
|
+
* Callback executado quando o DOM está estável e pronto para impressão
|
|
13
|
+
*/
|
|
14
|
+
onStable?: () => void;
|
|
15
|
+
/**
|
|
16
|
+
* Callback executado ao iniciar a observação
|
|
17
|
+
*/
|
|
18
|
+
onStart?: () => void;
|
|
19
|
+
/**
|
|
20
|
+
* Tempo máximo de espera em ms antes de forçar a impressão
|
|
21
|
+
* @default 10000 (10 segundos)
|
|
22
|
+
*/
|
|
23
|
+
maxWaitTime?: number;
|
|
24
|
+
}
|
|
25
|
+
/**
|
|
26
|
+
* Hook que usa MutationObserver para detectar quando o DOM está estável
|
|
27
|
+
* e então executa a impressão. Isso garante que todos os dados foram carregados
|
|
28
|
+
* e renderizados antes de gerar o PDF.
|
|
29
|
+
*/
|
|
30
|
+
export declare const usePrintWhenStable: (options?: UsePrintWhenStableOptions) => {
|
|
31
|
+
/**
|
|
32
|
+
* Inicia a observação do DOM e imprime quando estável
|
|
33
|
+
*/
|
|
34
|
+
printWhenStable: () => void;
|
|
35
|
+
/**
|
|
36
|
+
* Para a observação e limpa os timers
|
|
37
|
+
*/
|
|
38
|
+
cancel: () => void;
|
|
39
|
+
/**
|
|
40
|
+
* Indica se está aguardando o DOM estabilizar
|
|
41
|
+
*/
|
|
42
|
+
isWaiting: boolean;
|
|
43
|
+
};
|
|
44
|
+
export default usePrintWhenStable;
|
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
import { useCallback, useRef, useState } from 'react';
|
|
2
|
+
/**
|
|
3
|
+
* Hook que usa MutationObserver para detectar quando o DOM está estável
|
|
4
|
+
* e então executa a impressão. Isso garante que todos os dados foram carregados
|
|
5
|
+
* e renderizados antes de gerar o PDF.
|
|
6
|
+
*/
|
|
7
|
+
export var usePrintWhenStable = function (options) {
|
|
8
|
+
if (options === void 0) { options = {}; }
|
|
9
|
+
var _a = options.debounceTime, debounceTime = _a === void 0 ? 500 : _a, _b = options.rootElement, rootElement = _b === void 0 ? null : _b, onStable = options.onStable, onStart = options.onStart, _c = options.maxWaitTime, maxWaitTime = _c === void 0 ? 10000 : _c;
|
|
10
|
+
var observerRef = useRef(null);
|
|
11
|
+
var timeoutRef = useRef(null);
|
|
12
|
+
var maxWaitTimeoutRef = useRef(null);
|
|
13
|
+
var _d = useState(false), isWaiting = _d[0], setIsWaiting = _d[1];
|
|
14
|
+
var cleanup = useCallback(function () {
|
|
15
|
+
if (observerRef.current) {
|
|
16
|
+
observerRef.current.disconnect();
|
|
17
|
+
observerRef.current = null;
|
|
18
|
+
}
|
|
19
|
+
if (timeoutRef.current) {
|
|
20
|
+
clearTimeout(timeoutRef.current);
|
|
21
|
+
timeoutRef.current = null;
|
|
22
|
+
}
|
|
23
|
+
if (maxWaitTimeoutRef.current) {
|
|
24
|
+
clearTimeout(maxWaitTimeoutRef.current);
|
|
25
|
+
maxWaitTimeoutRef.current = null;
|
|
26
|
+
}
|
|
27
|
+
setIsWaiting(false);
|
|
28
|
+
}, []);
|
|
29
|
+
var triggerPrint = useCallback(function () {
|
|
30
|
+
cleanup();
|
|
31
|
+
onStable === null || onStable === void 0 ? void 0 : onStable();
|
|
32
|
+
window.print();
|
|
33
|
+
}, [cleanup, onStable]);
|
|
34
|
+
var startObserving = useCallback(function () {
|
|
35
|
+
// Limpa observadores anteriores
|
|
36
|
+
cleanup();
|
|
37
|
+
// Define estado de aguardando
|
|
38
|
+
setIsWaiting(true);
|
|
39
|
+
// Callback ao iniciar
|
|
40
|
+
onStart === null || onStart === void 0 ? void 0 : onStart();
|
|
41
|
+
var targetElement = rootElement || document.body;
|
|
42
|
+
if (!targetElement) {
|
|
43
|
+
console.warn('usePrintWhenStable: No target element found');
|
|
44
|
+
triggerPrint();
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Timeout máximo para forçar impressão mesmo se o DOM não estabilizar
|
|
48
|
+
maxWaitTimeoutRef.current = setTimeout(function () {
|
|
49
|
+
console.warn("usePrintWhenStable: Forced print after ".concat(maxWaitTime, "ms max wait time"));
|
|
50
|
+
triggerPrint();
|
|
51
|
+
}, maxWaitTime);
|
|
52
|
+
// Cria o MutationObserver
|
|
53
|
+
observerRef.current = new MutationObserver(function () {
|
|
54
|
+
// Reseta o timeout a cada mutação detectada
|
|
55
|
+
if (timeoutRef.current) {
|
|
56
|
+
clearTimeout(timeoutRef.current);
|
|
57
|
+
}
|
|
58
|
+
// Cria novo timeout que será executado se não houver mais mutações
|
|
59
|
+
timeoutRef.current = setTimeout(function () {
|
|
60
|
+
triggerPrint();
|
|
61
|
+
}, debounceTime);
|
|
62
|
+
});
|
|
63
|
+
// Configura o observer para monitorar mudanças abrangentes
|
|
64
|
+
observerRef.current.observe(targetElement, {
|
|
65
|
+
childList: true, // Detecta adição/remoção de elementos
|
|
66
|
+
subtree: true, // Observa toda a árvore de descendentes
|
|
67
|
+
attributes: true, // Detecta mudanças em atributos
|
|
68
|
+
characterData: true, // Detecta mudanças em texto
|
|
69
|
+
attributeOldValue: false,
|
|
70
|
+
characterDataOldValue: false
|
|
71
|
+
});
|
|
72
|
+
// Inicia o primeiro timeout
|
|
73
|
+
timeoutRef.current = setTimeout(function () {
|
|
74
|
+
triggerPrint();
|
|
75
|
+
}, debounceTime);
|
|
76
|
+
}, [cleanup, debounceTime, maxWaitTime, onStart, rootElement, triggerPrint]);
|
|
77
|
+
return {
|
|
78
|
+
/**
|
|
79
|
+
* Inicia a observação do DOM e imprime quando estável
|
|
80
|
+
*/
|
|
81
|
+
printWhenStable: startObserving,
|
|
82
|
+
/**
|
|
83
|
+
* Para a observação e limpa os timers
|
|
84
|
+
*/
|
|
85
|
+
cancel: cleanup,
|
|
86
|
+
/**
|
|
87
|
+
* Indica se está aguardando o DOM estabilizar
|
|
88
|
+
*/
|
|
89
|
+
isWaiting: isWaiting
|
|
90
|
+
};
|
|
91
|
+
};
|
|
92
|
+
export default usePrintWhenStable;
|
package/dist/index.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export { default as BankAccounts } from './components/bank-accounts/bank-account
|
|
|
3
3
|
export { default as CCF } from './components/ccf/ccf';
|
|
4
4
|
export { default as ChartSystem } from './components/chart/chartSystem';
|
|
5
5
|
export { default as AddItemField } from './components/common/addItem';
|
|
6
|
+
export { default as PrintButton } from './components/common/printButton';
|
|
6
7
|
export { default as Tooltip } from './components/common/tooltip';
|
|
7
8
|
export { default as Contacts } from './components/contacts/contacts';
|
|
8
9
|
export { default as DividasPublicas } from './components/dividasPublicas/dividasPublicas';
|
|
@@ -23,3 +24,5 @@ export { default as SCR } from './components/scr/scr';
|
|
|
23
24
|
export { default as Veiculos } from './components/veiculos/veiculos';
|
|
24
25
|
export * from './components/webservice';
|
|
25
26
|
export { default as ConsultaSimples } from './consultaSimples';
|
|
27
|
+
export { PrintModeProvider, usePrintMode } from './contexts/printModeContext';
|
|
28
|
+
export { default as usePrintWhenStable } from './hooks/usePrintWhenStable';
|
package/dist/index.js
CHANGED
|
@@ -3,6 +3,7 @@ export { default as BankAccounts } from './components/bank-accounts/bank-account
|
|
|
3
3
|
export { default as CCF } from './components/ccf/ccf';
|
|
4
4
|
export { default as ChartSystem } from './components/chart/chartSystem';
|
|
5
5
|
export { default as AddItemField } from './components/common/addItem';
|
|
6
|
+
export { default as PrintButton } from './components/common/printButton';
|
|
6
7
|
export { default as Tooltip } from './components/common/tooltip';
|
|
7
8
|
export { default as Contacts } from './components/contacts/contacts';
|
|
8
9
|
export { default as DividasPublicas } from './components/dividasPublicas/dividasPublicas';
|
|
@@ -23,3 +24,5 @@ export { default as SCR } from './components/scr/scr';
|
|
|
23
24
|
export { default as Veiculos } from './components/veiculos/veiculos';
|
|
24
25
|
export * from './components/webservice';
|
|
25
26
|
export { default as ConsultaSimples } from './consultaSimples';
|
|
27
|
+
export { PrintModeProvider, usePrintMode } from './contexts/printModeContext';
|
|
28
|
+
export { default as usePrintWhenStable } from './hooks/usePrintWhenStable';
|
|
@@ -5,7 +5,7 @@ var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cook
|
|
|
5
5
|
// src/styles/globalStyle.tsx
|
|
6
6
|
import React from 'react';
|
|
7
7
|
import { createGlobalStyle } from 'styled-components';
|
|
8
|
-
var GlobalStyle = createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n /* Reset + fonte padr\u00E3o para toda a aplica\u00E7\u00E3o (inclui modais e portais) */\n *, *::before, *::after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-family: 'Open Sans Condensed', sans-serif;\n }\n\n body {\n -webkit-font-smoothing: antialiased;\n }\n\n /* Oculta bot\u00F5es na impress\u00E3o */\n @media print {\n button,\n [role=\"button\"],\n [class*=\"Button\"],\n [class^=\"Button\"],\n [class*=\"btn\"],\n [class^=\"btn\"],\n .button,\n .btn {\n display: none !important;\n }\n }\n\n /* Anima\u00E7\u00F5es utilit\u00E1rias */\n @keyframes highlight {\n from {\n background-color: rgba(255, 215, 0, 0.35);\n }\n to {\n background-color: transparent;\n }\n }\n\n .highlighted-process {\n animation: highlight 3s ease-out forwards !important;\n }\n\n @keyframes blueHighlight {\n from {\n background-color: rgba(0, 122, 255, 0.35);\n }\n to {\n background-color: rgba(0, 122, 255, 0.15);\n }\n }\n\n .blue-highlighted-process {\n animation: blueHighlight 2.5s ease-in-out;\n background-color: rgba(0, 122, 255, 0.15);\n transition: background-color 0.3s ease-in-out;\n }\n"], ["\n /* Reset + fonte padr\u00E3o para toda a aplica\u00E7\u00E3o (inclui modais e portais) */\n *, *::before, *::after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-family: 'Open Sans Condensed', sans-serif;\n }\n\n body {\n -webkit-font-smoothing: antialiased;\n }\n\n /* Oculta bot\u00F5es na impress\u00E3o */\n @media print {\n button,\n [role=\"button\"],\n [class*=\"Button\"],\n [class^=\"Button\"],\n [class*=\"btn\"],\n [class^=\"btn\"],\n .button,\n .btn {\n display: none !important;\n }\n }\n\n /* Anima\u00E7\u00F5es utilit\u00E1rias */\n @keyframes highlight {\n from {\n background-color: rgba(255, 215, 0, 0.35);\n }\n to {\n background-color: transparent;\n }\n }\n\n .highlighted-process {\n animation: highlight 3s ease-out forwards !important;\n }\n\n @keyframes blueHighlight {\n from {\n background-color: rgba(0, 122, 255, 0.35);\n }\n to {\n background-color: rgba(0, 122, 255, 0.15);\n }\n }\n\n .blue-highlighted-process {\n animation: blueHighlight 2.5s ease-in-out;\n background-color: rgba(0, 122, 255, 0.15);\n transition: background-color 0.3s ease-in-out;\n }\n"])));
|
|
8
|
+
var GlobalStyle = createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject(["\n /* Reset + fonte padr\u00E3o para toda a aplica\u00E7\u00E3o (inclui modais e portais) */\n *, *::before, *::after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-family: 'Open Sans Condensed', sans-serif;\n }\n\n body {\n -webkit-font-smoothing: antialiased;\n }\n\n /* Oculta bot\u00F5es e tooltips na impress\u00E3o */\n @media print {\n button,\n [role=\"button\"],\n [class*=\"Button\"],\n [class^=\"Button\"],\n [class*=\"btn\"],\n [class^=\"btn\"],\n .button,\n .btn,\n [class*=\"tooltip\"],\n [class*=\"Tooltip\"],\n [data-tooltip] {\n display: none !important;\n visibility: hidden !important;\n }\n }\n\n /* Anima\u00E7\u00F5es utilit\u00E1rias */\n @keyframes highlight {\n from {\n background-color: rgba(255, 215, 0, 0.35);\n }\n to {\n background-color: transparent;\n }\n }\n\n .highlighted-process {\n animation: highlight 3s ease-out forwards !important;\n }\n\n @keyframes blueHighlight {\n from {\n background-color: rgba(0, 122, 255, 0.35);\n }\n to {\n background-color: rgba(0, 122, 255, 0.15);\n }\n }\n\n .blue-highlighted-process {\n animation: blueHighlight 2.5s ease-in-out;\n background-color: rgba(0, 122, 255, 0.15);\n transition: background-color 0.3s ease-in-out;\n }\n"], ["\n /* Reset + fonte padr\u00E3o para toda a aplica\u00E7\u00E3o (inclui modais e portais) */\n *, *::before, *::after {\n margin: 0;\n padding: 0;\n box-sizing: border-box;\n font-family: 'Open Sans Condensed', sans-serif;\n }\n\n body {\n -webkit-font-smoothing: antialiased;\n }\n\n /* Oculta bot\u00F5es e tooltips na impress\u00E3o */\n @media print {\n button,\n [role=\"button\"],\n [class*=\"Button\"],\n [class^=\"Button\"],\n [class*=\"btn\"],\n [class^=\"btn\"],\n .button,\n .btn,\n [class*=\"tooltip\"],\n [class*=\"Tooltip\"],\n [data-tooltip] {\n display: none !important;\n visibility: hidden !important;\n }\n }\n\n /* Anima\u00E7\u00F5es utilit\u00E1rias */\n @keyframes highlight {\n from {\n background-color: rgba(255, 215, 0, 0.35);\n }\n to {\n background-color: transparent;\n }\n }\n\n .highlighted-process {\n animation: highlight 3s ease-out forwards !important;\n }\n\n @keyframes blueHighlight {\n from {\n background-color: rgba(0, 122, 255, 0.35);\n }\n to {\n background-color: rgba(0, 122, 255, 0.15);\n }\n }\n\n .blue-highlighted-process {\n animation: blueHighlight 2.5s ease-in-out;\n background-color: rgba(0, 122, 255, 0.15);\n transition: background-color 0.3s ease-in-out;\n }\n"])));
|
|
9
9
|
// Componente que aplica os estilos globais da aplicação.
|
|
10
10
|
// A fonte "Open Sans Condensed" já é carregada via index.html.
|
|
11
11
|
var GlobalStyleProvider = function () { return (React.createElement(React.Fragment, null,
|