@pipelinesolucoes/display 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (40) hide show
  1. package/LICENSE +78 -0
  2. package/README.md +155 -0
  3. package/dist/app/layout.d.ts +6 -0
  4. package/dist/app/layout.js +19 -0
  5. package/dist/app/layout.js.map +1 -0
  6. package/dist/app/page.d.ts +1 -0
  7. package/dist/app/page.js +6 -0
  8. package/dist/app/page.js.map +1 -0
  9. package/dist/components/ModalMotion.d.ts +21 -0
  10. package/dist/components/ModalMotion.js +56 -0
  11. package/dist/components/ModalMotion.js.map +1 -0
  12. package/dist/components/VisualizadorPdf.d.ts +4 -0
  13. package/dist/components/VisualizadorPdf.js +18 -0
  14. package/dist/components/VisualizadorPdf.js.map +1 -0
  15. package/dist/components/VisualizadorPdfBase.d.ts +13 -0
  16. package/dist/components/VisualizadorPdfBase.js +39 -0
  17. package/dist/components/VisualizadorPdfBase.js.map +1 -0
  18. package/dist/constant.d.ts +11 -0
  19. package/dist/constant.js +12 -0
  20. package/dist/constant.js.map +1 -0
  21. package/dist/index.d.ts +6 -0
  22. package/dist/index.js +4 -0
  23. package/dist/index.js.map +1 -0
  24. package/dist/theme.d.ts +2 -0
  25. package/dist/theme.js +13 -0
  26. package/dist/theme.js.map +1 -0
  27. package/dist/tsconfig.tsbuildinfo +1 -0
  28. package/dist/types/TermsAndPrivacyProps.d.ts +22 -0
  29. package/dist/types/TermsAndPrivacyProps.js +2 -0
  30. package/dist/types/TermsAndPrivacyProps.js.map +1 -0
  31. package/dist/types/style/BorderProps.d.ts +5 -0
  32. package/dist/types/style/BorderProps.js +2 -0
  33. package/dist/types/style/BorderProps.js.map +1 -0
  34. package/dist/types/style/ColorProps.d.ts +6 -0
  35. package/dist/types/style/ColorProps.js +2 -0
  36. package/dist/types/style/ColorProps.js.map +1 -0
  37. package/dist/types/style/LayoutProps.d.ts +6 -0
  38. package/dist/types/style/LayoutProps.js +2 -0
  39. package/dist/types/style/LayoutProps.js.map +1 -0
  40. package/package.json +65 -0
package/LICENSE ADDED
@@ -0,0 +1,78 @@
1
+ LICENÇA COMERCIAL – PIPELINE SOLUÇÕES
2
+
3
+ Copyright (c) Pipeline Soluções
4
+
5
+ Este software é de propriedade da Pipeline Soluções e é disponibilizado
6
+ publicamente para instalação e avaliação. O uso comercial está sujeito
7
+ a licenciamento conforme os termos abaixo.
8
+
9
+ ────────────────────────────────────────────────────────────
10
+
11
+ 1. CONCESSÃO DE LICENÇA
12
+
13
+ A Pipeline Soluções concede ao Licenciado uma licença não exclusiva,
14
+ intransferível e revogável para utilizar este software em 1 (um)
15
+ projeto comercial, mediante aquisição de licença válida.
16
+
17
+ Projeto é definido como uma única aplicação em produção, incluindo
18
+ seus ambientes de desenvolvimento, homologação e staging.
19
+
20
+ ────────────────────────────────────────────────────────────
21
+
22
+ 2. USO PERMITIDO
23
+
24
+ É permitido:
25
+ - Instalar e avaliar o software livremente.
26
+ - Utilizar o software em projetos comerciais mediante licença válida.
27
+ - Modificar o código para uso interno no projeto licenciado.
28
+
29
+ ────────────────────────────────────────────────────────────
30
+
31
+ 3. USO PROIBIDO
32
+
33
+ É expressamente proibido:
34
+ - Utilizar o software em projetos comerciais sem licença válida.
35
+ - Redistribuir, sublicenciar, vender ou alugar este software,
36
+ integralmente ou em partes.
37
+ - Publicar o software como parte de outra biblioteca, framework
38
+ ou produto concorrente.
39
+ - Remover ou alterar avisos de copyright ou licenciamento.
40
+
41
+ ────────────────────────────────────────────────────────────
42
+
43
+ 4. SUPORTE E ATUALIZAÇÕES
44
+
45
+ A aquisição da licença pode incluir suporte básico e atualizações,
46
+ conforme acordado no momento da compra. A Pipeline Soluções não é
47
+ obrigada a fornecer suporte gratuito.
48
+
49
+ ────────────────────────────────────────────────────────────
50
+
51
+ 5. GARANTIAS E RESPONSABILIDADE
52
+
53
+ Este software é fornecido "NO ESTADO EM QUE SE ENCONTRA",
54
+ sem garantias de qualquer tipo, expressas ou implícitas.
55
+ Em nenhuma hipótese a Pipeline Soluções será responsabilizada
56
+ por danos diretos ou indiretos decorrentes do uso do software.
57
+
58
+ ────────────────────────────────────────────────────────────
59
+
60
+ 6. RESCISÃO
61
+
62
+ Esta licença será automaticamente rescindida em caso de violação
63
+ de qualquer um dos termos aqui estabelecidos. Em caso de rescisão,
64
+ o uso do software deverá ser interrompido imediatamente.
65
+
66
+ ────────────────────────────────────────────────────────────
67
+
68
+ 7. CONTATO
69
+
70
+ Para aquisição de licença comercial ou esclarecimento de dúvidas:
71
+
72
+ E-mail: contato@pipelinesolucoes.com.br
73
+ Site: https://www.pipelinesolucoes.com.br
74
+
75
+ ────────────────────────────────────────────────────────────
76
+
77
+ Ao utilizar este software em um projeto comercial, você declara ter
78
+ lido, compreendido e concordado com os termos desta licença.
package/README.md ADDED
@@ -0,0 +1,155 @@
1
+ # @pipelinesolucoes/display
2
+
3
+ Biblioteca de **componentes de display para React**, desenvolvida para **padronização visual**, **reutilização** e **escalabilidade** em aplicações modernas e design systems.
4
+
5
+ Este pacote faz parte do ecossistema de componentes da **Pipeline Soluções**.
6
+
7
+ ---
8
+
9
+ ## 📦 Componentes disponíveis
10
+
11
+ A biblioteca inclui os seguintes componentes:
12
+
13
+ - **ConfirmMessage**
14
+ Componente que exibe uma mensagem com um ícone opcional e ações de confirmação, renderizando dois botões: "Cancelar" e "OK".
15
+
16
+
17
+ ---
18
+
19
+ ## ✨ Características
20
+
21
+ - ✅ Pronto para produção
22
+ - 🎨 Integração com Material UI
23
+ - ♿ Foco em acessibilidade
24
+ - 🧩 Ideal para design systems
25
+ - 🔄 Reutilizável em múltiplos projetos
26
+ - 📦 Publicado no npm com versionamento semântico
27
+ - 🔐 Preparado para licenciamento por projeto
28
+
29
+ ---
30
+
31
+ ## 📥 Instalação
32
+
33
+ ```bash
34
+ npm install @pipelinesolucoes/display
35
+ ou
36
+ yarn add @pipelinesolucoes/display
37
+
38
+ ```
39
+
40
+ ## 🚀 Uso básico
41
+
42
+ ```
43
+
44
+ ```
45
+
46
+ ## 🧩 Uso em Design Systems
47
+
48
+ Este pacote foi projetado para:
49
+
50
+ - padronização de ações e navegação
51
+ - reutilização entre projetos
52
+ - evolução incremental de UI
53
+ - integração com temas e tokens de design
54
+
55
+ Pode ser utilizado de forma isolada ou como parte de um design system maior.
56
+
57
+ ---
58
+
59
+ ## 🔐 Licença de uso comercial
60
+
61
+ Este pacote é publicamente acessível no npm, porém:
62
+
63
+ O uso comercial é licenciado por projeto.
64
+
65
+ **O que isso significa?**
66
+
67
+ O pacote pode ser instalado e avaliado livremente.
68
+
69
+ Para uso em projetos comerciais, é necessária a aquisição de uma licença válida por projeto.
70
+
71
+ **Definição de projeto**
72
+
73
+ Projeto = 1 aplicação em produção
74
+ (ex.: site institucional, sistema interno ou aplicação SaaS).
75
+ Ambientes de desenvolvimento, staging e homologação estão incluídos no mesmo projeto.
76
+
77
+ ---
78
+
79
+ ## 📄 O que a licença inclui
80
+
81
+ ✔ Uso em 1 projeto
82
+ ✔ Atualizações enquanto a licença estiver ativa
83
+ ✔ Correções de bugs
84
+ ✔ Suporte básico
85
+ ✔ Evolução contínua do pacote
86
+
87
+ ---
88
+
89
+ ## ⚙️ Configuração de licença (mock)
90
+
91
+ Após adquirir a licença, você receberá um Project ID e uma License Key.
92
+
93
+ No projeto, configure as variáveis de ambiente:
94
+
95
+ PIPESOL_PROJECT_ID=meu-projeto
96
+ PIPESOL_display_LICENSE_KEY=SUA-LICENSE-KEY-AQUI
97
+
98
+
99
+ Atualmente, a validação é local e não bloqueante, servindo como preparação para automação futura.
100
+
101
+ ---
102
+
103
+ ## 🔁 Versionamento
104
+
105
+ Este projeto segue Semantic Versioning (SemVer):
106
+
107
+ 1.0.1 – Correção de bugs
108
+
109
+ 1.1.0 – Nova funcionalidade compatível
110
+
111
+ 2.0.0 – Mudança incompatível
112
+
113
+ 1.0.0-beta.x – Versões beta
114
+
115
+ Para listar as versões publicadas:
116
+
117
+ ```
118
+ npm view @pipelinesolucoes/display versions --json
119
+ ```
120
+
121
+ ## 🚀 Processo de publicação
122
+
123
+ Este pacote é publicado exclusivamente via CI/CD utilizando GitHub Actions.
124
+
125
+ Características do processo:
126
+
127
+ - Publicação apenas por tags Git (vX.Y.Z)
128
+ - Autenticação via Trusted Publishing (OIDC)
129
+ - Nenhum token npm armazenado
130
+ - Tokens clássicos desabilitados
131
+ - Autenticação em dois fatores (2FA) obrigatória
132
+ - Publicações seguras, rastreáveis e reprodutíveis
133
+
134
+ ---
135
+
136
+ ## 📬 Aquisição de licença e contato
137
+
138
+ Para adquirir uma licença comercial ou obter mais informações:
139
+
140
+ 📧 contato@pipelinesolucoes.com.br
141
+ 🌐 https://www.pipelinesolucoes.com.br
142
+
143
+ ---
144
+
145
+ ## 📄 Licença
146
+
147
+ Copyright © Pipeline Soluções
148
+ Este software está sujeito a licença comercial por projeto.
149
+ Consulte o arquivo LICENSE para mais informações.
150
+
151
+ ```
152
+ Se você quiser, eu também posso gerar agora o **arquivo `LICENSE`** (texto curto e claro) no mesmo padrão profissional pra você copiar e colar como `LICENSE` no repo.
153
+ ```
154
+
155
+
@@ -0,0 +1,6 @@
1
+ import type { Metadata } from "next";
2
+ import "./globals.css";
3
+ export declare const metadata: Metadata;
4
+ export default function RootLayout({ children, }: Readonly<{
5
+ children: React.ReactNode;
6
+ }>): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,19 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { Geist, Geist_Mono } from "next/font/google";
3
+ import "./globals.css";
4
+ const geistSans = Geist({
5
+ variable: "--font-geist-sans",
6
+ subsets: ["latin"],
7
+ });
8
+ const geistMono = Geist_Mono({
9
+ variable: "--font-geist-mono",
10
+ subsets: ["latin"],
11
+ });
12
+ export const metadata = {
13
+ title: "Create Next App",
14
+ description: "Generated by create next app",
15
+ };
16
+ export default function RootLayout({ children, }) {
17
+ return (_jsx("html", { lang: "en", children: _jsx("body", { className: `${geistSans.variable} ${geistMono.variable}`, children: children }) }));
18
+ }
19
+ //# sourceMappingURL=layout.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"layout.js","sourceRoot":"","sources":["../../src/app/layout.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrD,OAAO,eAAe,CAAC;AAEvB,MAAM,SAAS,GAAG,KAAK,CAAC;IACtB,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,CAAC,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,SAAS,GAAG,UAAU,CAAC;IAC3B,QAAQ,EAAE,mBAAmB;IAC7B,OAAO,EAAE,CAAC,OAAO,CAAC;CACnB,CAAC,CAAC;AAEH,MAAM,CAAC,MAAM,QAAQ,GAAa;IAChC,KAAK,EAAE,iBAAiB;IACxB,WAAW,EAAE,8BAA8B;CAC5C,CAAC;AAEF,MAAM,CAAC,OAAO,UAAU,UAAU,CAAC,EACjC,QAAQ,GAGR;IACA,OAAO,CACL,eAAM,IAAI,EAAC,IAAI,YACb,eAAM,SAAS,EAAE,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC,QAAQ,EAAE,YAC3D,QAAQ,GACJ,GACF,CACR,CAAC;AACJ,CAAC"}
@@ -0,0 +1 @@
1
+ export default function Home(): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,6 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ export default function Home() {
4
+ return (_jsx("p", { children: "teste" }));
5
+ }
6
+ //# sourceMappingURL=page.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"page.js","sourceRoot":"","sources":["../../src/app/page.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,MAAM,CAAC,OAAO,UAAU,IAAI;IAC1B,OAAO,CACL,gCAAY,CACb,CAAC;AACJ,CAAC"}
@@ -0,0 +1,21 @@
1
+ import { ReactNode } from 'react';
2
+ export declare const BoxTitulo: import("@emotion/styled").StyledComponent<import("@mui/system").BoxOwnProps<import("@mui/material").Theme> & Omit<import("react").DetailedHTMLProps<import("react").HTMLAttributes<HTMLDivElement>, HTMLDivElement>, keyof import("@mui/system").BoxOwnProps<import("@mui/material").Theme>> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme>, {}, {}>;
3
+ export declare const CloseIconStyled: import("@emotion/styled").StyledComponent<import("@mui/material").SvgIconOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").SVGProps<SVGSVGElement>, "style" | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "className" | "classes" | "htmlColor" | "inheritViewBox" | "titleAccess" | "viewBox"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
4
+ iconColor?: string;
5
+ }, {}, {}>;
6
+ interface ModalMotionProps {
7
+ open: boolean;
8
+ onClose: () => void;
9
+ children: ReactNode;
10
+ width?: string | number;
11
+ height?: string | number;
12
+ titulo?: string;
13
+ closeOnBackdrop?: boolean;
14
+ closeOnEsc?: boolean;
15
+ showCloseButton?: boolean;
16
+ backgroundColor: string;
17
+ boxShadow?: string;
18
+ iconCloseColor?: string;
19
+ }
20
+ export default function ModalMotion({ open, onClose, children, width, height, titulo, closeOnBackdrop, closeOnEsc, showCloseButton, backgroundColor, boxShadow, iconCloseColor, }: ModalMotionProps): import("react/jsx-runtime").JSX.Element;
21
+ export {};
@@ -0,0 +1,56 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useEffect } from 'react';
4
+ import { Backdrop, Box, IconButton, styled } from '@mui/material';
5
+ import CloseIcon from '@mui/icons-material/Close';
6
+ import { motion, AnimatePresence } from 'framer-motion';
7
+ export const BoxTitulo = styled(Box)(({ theme }) => (Object.assign({ display: 'grid', gridTemplateColumns: '1fr auto', alignItems: 'center', justifyItems: 'flex-start', minHeight: 40, padding: '8px 0 16px 0', gap: '16px', color: theme.palette.text.primary }, theme.typography.subtitle1)));
8
+ export const CloseIconStyled = styled(CloseIcon, {
9
+ shouldForwardProp: (prop) => prop !== "iconColor",
10
+ })(({ iconColor }) => ({
11
+ color: iconColor,
12
+ fontSize: "24px",
13
+ }));
14
+ export default function ModalMotion({ open, onClose, children, width, height = 'auto', titulo = '', closeOnBackdrop = false, closeOnEsc = true, showCloseButton = true, backgroundColor, boxShadow = "None", iconCloseColor = "black", }) {
15
+ useEffect(() => {
16
+ if (!open || !closeOnEsc)
17
+ return;
18
+ const handleKeyDown = (event) => {
19
+ if (event.key === 'Escape') {
20
+ onClose();
21
+ }
22
+ };
23
+ window.addEventListener('keydown', handleKeyDown);
24
+ return () => {
25
+ window.removeEventListener('keydown', handleKeyDown);
26
+ };
27
+ }, [open, closeOnEsc, onClose]);
28
+ const handleBackdropClick = () => {
29
+ if (closeOnBackdrop) {
30
+ onClose();
31
+ }
32
+ };
33
+ return (_jsx(AnimatePresence, { children: open && (_jsx(Backdrop, { open: open, onClick: handleBackdropClick, sx: {
34
+ zIndex: 1300,
35
+ color: '#fff',
36
+ padding: '16px',
37
+ }, children: _jsx(motion.div, { onClick: (e) => e.stopPropagation(), initial: { opacity: 0, scale: 0.92, y: 16 }, animate: { opacity: 1, scale: 1, y: 0 }, exit: { opacity: 0, scale: 0.92, y: 16 }, transition: { duration: 0.25 }, style: { width: '100%' }, children: _jsxs(Box, { display: "flex", flexDirection: "column", role: "dialog", "aria-modal": "true", sx: {
38
+ position: 'relative',
39
+ bgcolor: backgroundColor,
40
+ borderRadius: 2,
41
+ padding: '8px 20px 20px 20px',
42
+ margin: '0 auto',
43
+ width: {
44
+ xs: 'calc(100% - 32px)',
45
+ sm: '360px',
46
+ md: width !== null && width !== void 0 ? width : '360px',
47
+ lg: width !== null && width !== void 0 ? width : '500px',
48
+ xl: width !== null && width !== void 0 ? width : '500px',
49
+ },
50
+ height,
51
+ maxHeight: '90vh',
52
+ overflowY: 'auto',
53
+ boxShadow: boxShadow,
54
+ }, children: [(titulo || showCloseButton) && (_jsxs(BoxTitulo, { children: [_jsx(Box, { component: "div", children: titulo }), showCloseButton && (_jsx(IconButton, { onClick: onClose, "aria-label": "Fechar modal", children: _jsx(CloseIconStyled, { iconColor: iconCloseColor }) }))] })), children] }) }) })) }));
55
+ }
56
+ //# sourceMappingURL=ModalMotion.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ModalMotion.js","sourceRoot":"","sources":["../../src/components/ModalMotion.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { VisualizadorPdfBaseProps } from "./VisualizadorPdfBase";
2
+ declare const VisualizadorPdf: import("react").ComponentType<VisualizadorPdfBaseProps>;
3
+ export { VisualizadorPdf };
4
+ export default VisualizadorPdf;
@@ -0,0 +1,18 @@
1
+ // components/VisualizadorPdf.tsx
2
+ "use client";
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ import dynamic from "next/dynamic";
5
+ import { Box, Typography } from "@mui/material";
6
+ const VisualizadorPdf = dynamic(() => import("./VisualizadorPdfBase").then((mod) => mod.VisualizadorPdfBase), {
7
+ ssr: false,
8
+ loading: () => (_jsx(Box, { sx: {
9
+ width: "100%",
10
+ height: "480px",
11
+ display: "flex",
12
+ alignItems: "center",
13
+ justifyContent: "center",
14
+ }, children: _jsx(Typography, { children: "Carregando documento..." }) })),
15
+ });
16
+ export { VisualizadorPdf };
17
+ export default VisualizadorPdf;
18
+ //# sourceMappingURL=VisualizadorPdf.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizadorPdf.js","sourceRoot":"","sources":["../../src/components/VisualizadorPdf.tsx"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,YAAY,CAAC;;AAEb,OAAO,OAAO,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAIhD,MAAM,eAAe,GAAG,OAAO,CAC7B,GAAG,EAAE,CACH,MAAM,CAAC,uBAAuB,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,mBAAmB,CAAC,EACxE;IACE,GAAG,EAAE,KAAK;IACV,OAAO,EAAE,GAAG,EAAE,CAAC,CACb,KAAC,GAAG,IACF,EAAE,EAAE;YACF,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,OAAO;YACf,OAAO,EAAE,MAAM;YACf,UAAU,EAAE,QAAQ;YACpB,cAAc,EAAE,QAAQ;SACzB,YAED,KAAC,UAAU,0CAAqC,GAC5C,CACP;CACF,CACF,CAAC;AAEF,OAAO,EAAE,eAAe,EAAE,CAAC;AAC3B,eAAe,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ export declare const AnteriorIcon: import("@emotion/styled").StyledComponent<import("@mui/material").SvgIconOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").SVGProps<SVGSVGElement>, "style" | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "className" | "classes" | "htmlColor" | "inheritViewBox" | "titleAccess" | "viewBox"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
2
+ iconColor?: string;
3
+ }, {}, {}>;
4
+ export declare const ProximoIcon: import("@emotion/styled").StyledComponent<import("@mui/material").SvgIconOwnProps & import("@mui/material/OverridableComponent").CommonProps & Omit<import("react").SVGProps<SVGSVGElement>, "style" | "color" | "fontSize" | "shapeRendering" | "children" | "sx" | "className" | "classes" | "htmlColor" | "inheritViewBox" | "titleAccess" | "viewBox"> & import("@mui/system").MUIStyledCommonProps<import("@mui/material").Theme> & {
5
+ iconColor?: string;
6
+ }, {}, {}>;
7
+ export type VisualizadorPdfBaseProps = {
8
+ fileUrl: string;
9
+ width?: string;
10
+ height?: string;
11
+ iconColor?: string;
12
+ };
13
+ export declare function VisualizadorPdfBase({ fileUrl, width, height, iconColor }: VisualizadorPdfBaseProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,39 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useState } from "react";
4
+ import { Box, IconButton, Stack, styled, Typography, useTheme } from "@mui/material";
5
+ import { Document, Page, pdfjs } from "react-pdf";
6
+ import ArrowCircleLeftIcon from '@mui/icons-material/ArrowCircleLeft';
7
+ import ArrowCircleRightIcon from '@mui/icons-material/ArrowCircleRight';
8
+ export const AnteriorIcon = styled(ArrowCircleLeftIcon, {
9
+ shouldForwardProp: (prop) => prop !== "iconColor",
10
+ })(({ iconColor }) => ({
11
+ color: iconColor,
12
+ fontSize: "24px",
13
+ }));
14
+ export const ProximoIcon = styled(ArrowCircleRightIcon, {
15
+ shouldForwardProp: (prop) => prop !== "iconColor",
16
+ })(({ iconColor }) => ({
17
+ color: iconColor,
18
+ fontSize: "24px",
19
+ }));
20
+ pdfjs.GlobalWorkerOptions.workerSrc = new URL("pdfjs-dist/build/pdf.worker.min.mjs", import.meta.url).toString();
21
+ export function VisualizadorPdfBase({ fileUrl, width = '100%', height = "480px", iconColor = "black" }) {
22
+ const theme = useTheme();
23
+ const [numPages, setNumPages] = useState(0);
24
+ const [pageNumber, setPageNumber] = useState(1);
25
+ return (_jsxs(Box, { sx: {
26
+ width: width,
27
+ height: height,
28
+ }, children: [_jsxs(Stack, { direction: "row", spacing: "16px", alignItems: "center", justifyContent: "center", padding: "16px", width: "100%", children: [_jsx(IconButton, { "aria-label": "botao anterior", disabled: pageNumber <= 1, onClick: () => setPageNumber((prev) => prev - 1), children: _jsx(AnteriorIcon, { iconColor: iconColor }) }), _jsxs(Typography, { variant: "caption", color: theme.palette.text.primary, children: ["P\u00E1gina ", pageNumber, " de ", numPages || "..."] }), _jsx(IconButton, { "aria-label": "botao proximo", disabled: pageNumber >= numPages, onClick: () => setPageNumber((prev) => prev + 1), children: _jsx(ProximoIcon, { iconColor: iconColor }) })] }), _jsx(Box, { sx: {
29
+ display: "flex",
30
+ justifyContent: "center",
31
+ overflow: "auto",
32
+ height: `calc(${height} - 40px)`,
33
+ width: "100%",
34
+ }, children: _jsx(Document, { file: fileUrl, onLoadSuccess: ({ numPages }) => {
35
+ setNumPages(numPages);
36
+ setPageNumber(1);
37
+ }, loading: _jsx(Typography, { children: "Carregando documento..." }), error: _jsx(Typography, { children: "N\u00E3o foi poss\u00EDvel carregar o documento." }), children: _jsx(Page, { pageNumber: pageNumber, renderTextLayer: false, renderAnnotationLayer: false, scale: 1.5 }) }) })] }));
38
+ }
39
+ //# sourceMappingURL=VisualizadorPdfBase.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"VisualizadorPdfBase.js","sourceRoot":"","sources":["../../src/components/VisualizadorPdfBase.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAO,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjC,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACrF,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,WAAW,CAAC;AAClD,OAAO,mBAAmB,MAAM,qCAAqC,CAAC;AACtE,OAAO,oBAAoB,MAAM,sCAAsC,CAAC;AAExE,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,mBAAmB,EAAE;IACtD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW;CAClD,CAAC,CAAwB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC,oBAAoB,EAAE;IACtD,iBAAiB,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,WAAW;CAClD,CAAC,CAAwB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5C,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,MAAM;CACjB,CAAC,CAAC,CAAC;AAGJ,KAAK,CAAC,mBAAmB,CAAC,SAAS,GAAG,IAAI,GAAG,CAC3C,qCAAqC,EACrC,MAAM,CAAC,IAAI,CAAC,GAAG,CAChB,CAAC,QAAQ,EAAE,CAAC;AASb,MAAM,UAAU,mBAAmB,CAAC,EAClC,OAAO,EACP,KAAK,GAAG,MAAM,EACd,MAAM,GAAG,OAAO,EAChB,SAAS,GAAG,OAAO,EAA4B;IAE/C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,QAAQ,CAAS,CAAC,CAAC,CAAC;IAExD,OAAO,CACL,MAAC,GAAG,IACF,EAAE,EAAE;YACF,KAAK,EAAE,KAAK;YACZ,MAAM,EAAE,MAAM;SACf,aAED,MAAC,KAAK,IACJ,SAAS,EAAC,KAAK,EACf,OAAO,EAAC,MAAM,EACd,UAAU,EAAC,QAAQ,EACnB,cAAc,EAAC,QAAQ,EACvB,OAAO,EAAC,MAAM,EACd,KAAK,EAAG,MAAM,aAEd,KAAC,UAAU,kBACE,gBAAgB,EAC3B,QAAQ,EAAE,UAAU,IAAI,CAAC,EACzB,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,YAChD,KAAC,YAAY,IAAC,SAAS,EAAE,SAAS,GAAG,GAC1B,EAEb,MAAC,UAAU,IAAC,OAAO,EAAC,SAAS,EAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,6BACrD,UAAU,UAAM,QAAQ,IAAI,KAAK,IAC9B,EAEb,KAAC,UAAU,kBACE,eAAe,EAC1B,QAAQ,EAAE,UAAU,IAAI,QAAQ,EAChC,OAAO,EAAE,GAAG,EAAE,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,GAAG,CAAC,CAAC,YAChD,KAAC,WAAW,IAAC,SAAS,EAAE,SAAS,GAAG,GACzB,IACP,EAGR,KAAC,GAAG,IACF,EAAE,EAAE;oBACF,OAAO,EAAE,MAAM;oBACf,cAAc,EAAE,QAAQ;oBACxB,QAAQ,EAAE,MAAM;oBAChB,MAAM,EAAE,QAAQ,MAAM,UAAU;oBAChC,KAAK,EAAE,MAAM;iBACd,YAED,KAAC,QAAQ,IACP,IAAI,EAAE,OAAO,EACb,aAAa,EAAE,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE;wBAC9B,WAAW,CAAC,QAAQ,CAAC,CAAC;wBACtB,aAAa,CAAC,CAAC,CAAC,CAAC;oBACnB,CAAC,EACD,OAAO,EAAE,KAAC,UAAU,0CAAqC,EACzD,KAAK,EAAE,KAAC,UAAU,mEAAoD,YAEtE,KAAC,IAAI,IACH,UAAU,EAAE,UAAU,EACtB,eAAe,EAAE,KAAK,EACtB,qBAAqB,EAAE,KAAK,EAC5B,KAAK,EAAE,GAAG,GACV,GACO,GACP,IACF,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,11 @@
1
+ export declare const fbbackground = "#fff";
2
+ export declare const fbbackgroundDisabled = "#E5E7EB";
3
+ export declare const fbcolor = "#000";
4
+ export declare const fbcolorDisabled = "#9CA3AF";
5
+ export declare const fbborderRadius = "0";
6
+ export declare const fbboxShadow = "none";
7
+ export declare const fbborderColor = "#ccc";
8
+ export declare const fbcolorFocused = "#1976d2";
9
+ export declare const fbpadding = "8px";
10
+ export declare const fbmargin = "0";
11
+ export declare const fbheigth = "64px";
@@ -0,0 +1,12 @@
1
+ export const fbbackground = '#fff';
2
+ export const fbbackgroundDisabled = "#E5E7EB";
3
+ export const fbcolor = '#000';
4
+ export const fbcolorDisabled = "#9CA3AF";
5
+ export const fbborderRadius = "0";
6
+ export const fbboxShadow = "none";
7
+ export const fbborderColor = '#ccc';
8
+ export const fbcolorFocused = '#1976d2';
9
+ export const fbpadding = '8px';
10
+ export const fbmargin = '0';
11
+ export const fbheigth = '64px';
12
+ //# sourceMappingURL=constant.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"constant.js","sourceRoot":"","sources":["../src/constant.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC;AACnC,MAAM,CAAC,MAAM,oBAAoB,GAAG,SAAS,CAAC;AAC9C,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC;AAC9B,MAAM,CAAC,MAAM,eAAe,GAAG,SAAS,CAAC;AAEzC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAG,CAAC;AAClC,MAAM,CAAC,MAAM,WAAW,GAAG,MAAM,CAAC;AAClC,MAAM,CAAC,MAAM,aAAa,GAAG,MAAM,CAAC;AACpC,MAAM,CAAC,MAAM,cAAc,GAAG,SAAS,CAAC;AAExC,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAC;AAC/B,MAAM,CAAC,MAAM,QAAQ,GAAG,GAAG,CAAC;AAC5B,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC"}
@@ -0,0 +1,6 @@
1
+ import '@pipelinesolucoes/theme';
2
+ export { default as ModalMotion } from "./components/ModalMotion";
3
+ export { default as VisualizadorPdf } from "./components/VisualizadorPdf";
4
+ export type { BorderProps } from "./types/style/BorderProps";
5
+ export type { LayoutProps } from "./types/style/LayoutProps";
6
+ export type { ColorProps } from "./types/style/ColorProps";
package/dist/index.js ADDED
@@ -0,0 +1,4 @@
1
+ import '@pipelinesolucoes/theme';
2
+ export { default as ModalMotion } from "./components/ModalMotion";
3
+ export { default as VisualizadorPdf } from "./components/VisualizadorPdf";
4
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,yBAAyB,CAAC;AAEjC,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,OAAO,IAAI,eAAe,EAAE,MAAM,8BAA8B,CAAC"}
@@ -0,0 +1,2 @@
1
+ import { ThemeOptions } from '@mui/material/styles';
2
+ export declare const displayThemeOptions: ThemeOptions;
package/dist/theme.js ADDED
@@ -0,0 +1,13 @@
1
+ export const displayThemeOptions = {
2
+ pipelinesolucoes: {
3
+ notification: {
4
+ background: '#fff',
5
+ color: "#000",
6
+ borderRadius: "0",
7
+ boxShadow: "none",
8
+ borderColor: "#ccc",
9
+ padding: "4px 8px",
10
+ }
11
+ },
12
+ };
13
+ //# sourceMappingURL=theme.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"theme.js","sourceRoot":"","sources":["../src/theme.tsx"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,mBAAmB,GAAiB;IAC/C,gBAAgB,EAAE;QAChB,YAAY,EAAE;YACV,UAAU,EAAE,MAAM;YAClB,KAAK,EAAE,MAAM;YACb,YAAY,EAAE,GAAG;YACjB,SAAS,EAAE,MAAM;YACjB,WAAW,EAAE,MAAM;YACnB,OAAO,EAAE,SAAS;SACrB;KACF;CACF,CAAC"}