@ssplib/react-components 0.0.295 → 0.0.296

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 (139) hide show
  1. package/components/detalhes/Category.d.ts +1 -0
  2. package/components/detalhes/Category.js +14 -0
  3. package/components/detalhes/Field.d.ts +1 -0
  4. package/components/detalhes/Field.js +42 -0
  5. package/components/detalhes/FieldLabel.d.ts +1 -0
  6. package/components/detalhes/FieldLabel.js +28 -0
  7. package/components/detalhes/File.d.ts +1 -0
  8. package/components/detalhes/File.js +62 -0
  9. package/components/form/checkbox/CheckBox.js +18 -0
  10. package/components/form/checkbox/CheckBoxAdditional.d.ts +1 -0
  11. package/components/form/checkbox/CheckBoxAdditional.js +95 -0
  12. package/components/form/checkbox/CheckBoxWarning.js +43 -0
  13. package/components/form/checkbox/RequiredCheckBoxValidator.d.ts +1 -0
  14. package/components/form/checkbox/RequiredCheckBoxValidator.js +85 -0
  15. package/components/form/date/DatePicker.d.ts +1 -0
  16. package/components/form/date/DatePicker.js +105 -0
  17. package/components/form/date/GenericDatePicker.d.ts +1 -0
  18. package/components/form/date/GenericDatePicker.js +105 -0
  19. package/components/form/date/TimePicker.d.ts +1 -0
  20. package/components/form/date/TimePicker.js +82 -0
  21. package/components/form/file/DropFileUpload.d.ts +1 -0
  22. package/components/form/file/DropFileUpload.js +226 -0
  23. package/components/form/file/FileUpload.d.ts +1 -0
  24. package/components/form/file/FileUpload.js +200 -0
  25. package/components/form/input/ActiveInput.js +33 -0
  26. package/components/form/input/AutoComplete.d.ts +1 -0
  27. package/components/form/input/AutoComplete.js +69 -0
  28. package/components/form/input/FetchAutoComplete.d.ts +1 -0
  29. package/components/form/input/FetchAutoComplete.js +134 -0
  30. package/components/form/input/FixedAutoComplete.d.ts +1 -0
  31. package/components/form/input/FixedAutoComplete.js +83 -0
  32. package/components/form/input/GenericFetchAutoComplete.d.ts +1 -0
  33. package/components/form/input/GenericFetchAutoComplete.js +132 -0
  34. package/components/form/input/GenericInput.js +168 -0
  35. package/components/form/input/GenericMaskInput.js +79 -0
  36. package/components/form/input/GenericMultInput.d.ts +1 -0
  37. package/components/form/input/GenericMultInput.js +67 -0
  38. package/components/form/input/Input.js +168 -0
  39. package/components/form/input/MaskInput.js +78 -0
  40. package/components/form/input/MultInput.d.ts +1 -0
  41. package/components/form/input/MultInput.js +67 -0
  42. package/components/form/input/OtherCheckBox.d.ts +1 -0
  43. package/components/form/input/OtherCheckBox.js +56 -0
  44. package/components/form/stepper/Stepper.js +135 -0
  45. package/components/form/stepper/StepperBlock.js +97 -0
  46. package/components/form/switch/Switch.js +54 -0
  47. package/components/form/switch/ToggleVisibility.d.ts +1 -0
  48. package/components/form/switch/ToggleVisibility.js +61 -0
  49. package/components/form/table/FilterSection.d.ts +1 -0
  50. package/components/form/table/FilterSection.js +217 -0
  51. package/components/form/table/GenericTable.js +1034 -0
  52. package/components/form/table/Table.js +514 -0
  53. package/components/form/table/TableErrorState.js +27 -0
  54. package/components/form/table/TableLoadingState.d.ts +1 -0
  55. package/components/form/table/TableLoadingState.js +39 -0
  56. package/components/form/table/types.js +2 -0
  57. package/components/form/table/utils.d.ts +1 -0
  58. package/components/form/table/utils.js +361 -0
  59. package/components/icons/icons.d.ts +1 -0
  60. package/components/icons/icons.js +24 -0
  61. package/components/map/AnimatedMarker.js +65 -0
  62. package/components/map/DraggableMarker.js +66 -0
  63. package/components/map/Map.js +23 -0
  64. package/components/map/index.d.ts +1 -0
  65. package/components/map/index.js +31 -0
  66. package/components/modal/Modal.d.ts +1 -0
  67. package/components/modal/Modal.js +105 -0
  68. package/components/navbar/NavBar.d.ts +1 -0
  69. package/components/navbar/NavBar.js +171 -0
  70. package/components/navbar/TabNavBar.d.ts +1 -0
  71. package/components/navbar/TabNavBar.js +179 -0
  72. package/components/providers/FormProvider.js +54 -0
  73. package/components/providers/KeycloakAuthProvider.d.ts +1 -0
  74. package/components/providers/KeycloakAuthProvider.js +118 -0
  75. package/components/providers/OAuthProvider.d.ts +1 -0
  76. package/components/providers/OAuthProvider.js +138 -0
  77. package/components/providers/SspComponentsProvider.d.ts +1 -0
  78. package/components/providers/SspComponentsProvider.js +18 -0
  79. package/components/utils/Bt.d.ts +1 -0
  80. package/components/utils/Bt.js +35 -0
  81. package/components/utils/CustomMenu.js +39 -0
  82. package/context/auth.d.ts +1 -0
  83. package/context/auth.js +5 -0
  84. package/context/form.js +5 -0
  85. package/index.d.ts +18 -18
  86. package/index.js +94 -0
  87. package/package.json +1 -1
  88. package/types/auth.js +2 -0
  89. package/types/form.js +31 -0
  90. package/Map-31d95a26.js +0 -2
  91. package/Map-31d95a26.js.map +0 -1
  92. package/Map-644d2f90.js +0 -2
  93. package/Map-644d2f90.js.map +0 -1
  94. package/components/form/input/OptionalInput.d.ts +0 -10
  95. package/components/loading/LinearProgress.d.ts +0 -2
  96. package/components/loading/LoadingScreen.d.ts +0 -7
  97. package/components/providers/GenericFormProvider.d.ts +0 -10
  98. package/components/teste/Teste.d.ts +0 -3
  99. package/decorators/FormBaseDecorator.d.ts +0 -2
  100. package/decorators/GenericFormBaseDecorator.d.ts +0 -2
  101. package/decorators/StepperDecorator.d.ts +0 -2
  102. package/index.cjs +0 -3
  103. package/index.cjs.map +0 -1
  104. package/index.esm.js +0 -3
  105. package/index.esm.js.map +0 -1
  106. package/stories/Autocomplete.stories.d.ts +0 -6
  107. package/stories/CheckBox.stories.d.ts +0 -6
  108. package/stories/CheckBoxWarning.stories.d.ts +0 -6
  109. package/stories/DatePicker.stories.d.ts +0 -6
  110. package/stories/DetalhesCategory.stories.d.ts +0 -6
  111. package/stories/DetalhesField.stories.d.ts +0 -6
  112. package/stories/DetalhesFieldLabel.stories.d.ts +0 -6
  113. package/stories/DetalhesFile.stories.d.ts +0 -6
  114. package/stories/DropFileUpload.stories.d.ts +0 -6
  115. package/stories/ExemploAssitirValorInput.stories.d.ts +0 -7
  116. package/stories/ExemploInputs.stories.d.ts +0 -7
  117. package/stories/ExemploTable.stories.d.ts +0 -1
  118. package/stories/ExemploValoresCompartilhados.stories.d.ts +0 -7
  119. package/stories/FetchAutocomplete.stories.d.ts +0 -6
  120. package/stories/FileUpload.stories.d.ts +0 -6
  121. package/stories/FixedAutocomplete.stories.d.ts +0 -6
  122. package/stories/GenericFetchAutocomplete.stories.d.ts +0 -6
  123. package/stories/GenericInput.stories.d.ts +0 -6
  124. package/stories/GenericTable.stories.d.ts +0 -6
  125. package/stories/Input.stories.d.ts +0 -6
  126. package/stories/LinearProgress.stories.d.ts +0 -6
  127. package/stories/LoadingScreen.stories.d.ts +0 -6
  128. package/stories/Map.stories.d.ts +0 -6
  129. package/stories/MultInput.stories.d.ts +0 -6
  130. package/stories/NavBar.stories.d.ts +0 -6
  131. package/stories/OptionalInput.stories.d.ts +0 -6
  132. package/stories/OtherCheckBox.stories.d.ts +0 -6
  133. package/stories/Stepper.stories.d.ts +0 -6
  134. package/stories/StepperBlock.stories.d.ts +0 -6
  135. package/stories/Switch.stories.d.ts +0 -6
  136. package/stories/Table.stories.d.ts +0 -4
  137. package/stories/TableWithStaticData.stories.d.ts +0 -6
  138. package/stories/Teste.stories.d.ts +0 -6
  139. package/stories/TimePicker.stories.d.ts +0 -6
@@ -0,0 +1,105 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __importDefault = (this && this.__importDefault) || function (mod) {
26
+ return (mod && mod.__esModule) ? mod : { "default": mod };
27
+ };
28
+ Object.defineProperty(exports, "__esModule", { value: true });
29
+ exports.CustomModalProvider = exports.MODAL = void 0;
30
+ const CloseRounded_1 = __importDefault(require("@mui/icons-material/CloseRounded"));
31
+ const material_1 = require("@mui/material");
32
+ const react_1 = __importStar(require("react"));
33
+ exports.MODAL = {
34
+ open: () => { },
35
+ close: () => { },
36
+ openReparented: () => { },
37
+ reparent: () => react_1.default.createElement(react_1.default.Fragment, null),
38
+ };
39
+ function ReparentHelper() {
40
+ const ref = (0, react_1.useRef)(null);
41
+ return react_1.default.createElement("div", { ref: ref });
42
+ }
43
+ function CustomModalProvider() {
44
+ const [open, setOpen] = (0, react_1.useState)(false);
45
+ const [content, setContent] = (0, react_1.useState)(null);
46
+ // const contentRef = useRef<JSX.Element | JSX.Element[]>(<></>)
47
+ const handleClose = () => setOpen(false);
48
+ const containerRef = (0, react_1.useRef)(null);
49
+ const theme = (0, material_1.useTheme)();
50
+ const isDesktop = (0, material_1.useMediaQuery)(theme.breakpoints.up('sm'));
51
+ const [idRef, setIdRef] = (0, react_1.useState)({});
52
+ const [currentId, setCurrentId] = (0, react_1.useState)(-1321465654);
53
+ (0, react_1.useEffect)(() => {
54
+ exports.MODAL.open = (customCompoment) => {
55
+ if (customCompoment)
56
+ setContent(customCompoment);
57
+ setCurrentId(-1321465654);
58
+ setOpen(true);
59
+ };
60
+ exports.MODAL.reparent = (element, id) => {
61
+ setIdRef((obj) => (Object.assign(Object.assign({}, obj), { [id]: react_1.default.createElement(react_1.default.Fragment, null, element) })));
62
+ return react_1.default.createElement(react_1.default.Fragment, null);
63
+ };
64
+ exports.MODAL.openReparented = (id) => {
65
+ setCurrentId(id);
66
+ setContent(null);
67
+ setOpen(true);
68
+ };
69
+ exports.MODAL.close = handleClose;
70
+ }, [setOpen]);
71
+ return (react_1.default.createElement(react_1.default.Fragment, null, !isDesktop ? (react_1.default.createElement(material_1.SwipeableDrawer, { anchor: 'bottom', open: open, onClose: handleClose, onOpen: () => { }, PaperProps: {
72
+ sx: {
73
+ bgcolor: 'transparent',
74
+ },
75
+ } },
76
+ react_1.default.createElement(material_1.Stack, { direction: 'row', onClick: handleClose, maxHeight: '8vh', height: '8vh', justifyContent: 'center', alignItems: 'center' },
77
+ react_1.default.createElement(material_1.Typography, { fontWeight: 600, color: 'white' }, "Clique fora para fechar")),
78
+ react_1.default.createElement(material_1.Box, { p: 2, maxHeight: '92vh', bgcolor: 'white', overflow: 'auto' },
79
+ content,
80
+ idRef[currentId]))) : (react_1.default.createElement(material_1.Modal, { open: open, onClose: handleClose },
81
+ react_1.default.createElement(material_1.Box, { sx: {
82
+ position: 'absolute',
83
+ top: '50%',
84
+ left: '50%',
85
+ transform: 'translate(-50%, -50%)',
86
+ borderRadius: 2,
87
+ bgcolor: 'white',
88
+ border: '1px solid #454545',
89
+ boxShadow: 24,
90
+ } },
91
+ react_1.default.createElement(material_1.Box, { onClick: handleClose, width: 'fit-content', height: 'fit-content', position: 'absolute', right: 0, top: 0, margin: 0.6, sx: {
92
+ ':hover': {
93
+ transform: 'scale(1.03)',
94
+ transition: 'all 500ms',
95
+ cursor: 'pointer',
96
+ },
97
+ } },
98
+ react_1.default.createElement(CloseRounded_1.default, { sx: {
99
+ transform: 'scale(.9)',
100
+ } })),
101
+ react_1.default.createElement(material_1.Box, { overflow: 'auto', maxHeight: '90vh', p: 2, marginTop: 4, borderTop: 'solid 1px gray', bgcolor: '#F9F9F9', borderRadius: 2 },
102
+ content,
103
+ idRef[currentId]))))));
104
+ }
105
+ exports.CustomModalProvider = CustomModalProvider;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export default function NavBar({ links, title, img, pos, next, el, menuItems, paddingBottom, logoutMsg, logoutFunc, ...props }: {
2
3
  links: {
3
4
  name: string;
@@ -0,0 +1,171 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __rest = (this && this.__rest) || function (s, e) {
35
+ var t = {};
36
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
37
+ t[p] = s[p];
38
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
39
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
40
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
41
+ t[p[i]] = s[p[i]];
42
+ }
43
+ return t;
44
+ };
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ const KeyboardArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardArrowDown"));
50
+ const LogoutOutlined_1 = __importDefault(require("@mui/icons-material/LogoutOutlined"));
51
+ const Menu_1 = __importDefault(require("@mui/icons-material/Menu"));
52
+ const Person_1 = __importDefault(require("@mui/icons-material/Person"));
53
+ const material_1 = require("@mui/material");
54
+ const LinearProgress_1 = __importDefault(require("@mui/material/LinearProgress"));
55
+ const image_1 = __importDefault(require("next/image"));
56
+ const link_1 = __importDefault(require("next/link"));
57
+ const router_1 = require("next/router");
58
+ const react_1 = __importStar(require("react"));
59
+ const auth_1 = require("../../context/auth");
60
+ function NavBar(_a) {
61
+ var { links, title, img, pos = 'fixed', next = true, el, menuItems, paddingBottom = 0, logoutMsg = 'Sair', logoutFunc } = _a, props = __rest(_a, ["links", "title", "img", "pos", "next", "el", "menuItems", "paddingBottom", "logoutMsg", "logoutFunc"]);
62
+ let router = undefined;
63
+ if (next)
64
+ router = (0, router_1.useRouter)();
65
+ const { user, login, logout, type } = (0, react_1.useContext)(auth_1.AuthContext);
66
+ const [anchor, setAnchor] = (0, react_1.useState)(null);
67
+ const [avatarAnchor, setAvatarAnchor] = (0, react_1.useState)(null);
68
+ const menuOpen = Boolean(anchor);
69
+ const avatarMenu = Boolean(avatarAnchor);
70
+ const [loading, setLoading] = (0, react_1.useState)(false);
71
+ const onMenuClick = (0, react_1.useCallback)((e) => {
72
+ setAnchor(e.currentTarget);
73
+ }, []);
74
+ const closeMenu = (0, react_1.useCallback)(() => {
75
+ setAnchor(null);
76
+ }, []);
77
+ const onMenuItemClick = (0, react_1.useCallback)((e, link) => {
78
+ setLoading(true);
79
+ setAnchor(null);
80
+ if (router)
81
+ router
82
+ .push({
83
+ pathname: link,
84
+ })
85
+ .finally(() => setLoading(false));
86
+ else {
87
+ setLoading(false);
88
+ }
89
+ }, [router]);
90
+ function changeRoute(e, path) {
91
+ setLoading(true);
92
+ if (router) {
93
+ router
94
+ .push({
95
+ pathname: path,
96
+ })
97
+ .finally(() => setLoading(false));
98
+ }
99
+ else {
100
+ setLoading(false);
101
+ }
102
+ }
103
+ return (react_1.default.createElement(react_1.default.Fragment, null,
104
+ react_1.default.createElement(material_1.Box, { position: pos, sx: { width: '100%', zIndex: 100 } },
105
+ react_1.default.createElement(material_1.AppBar, { position: 'relative', elevation: 0, sx: { backgroundColor: '#F1F5F9', color: 'black', paddingY: 1, paddingX: { xs: 1, md: 4 } } },
106
+ react_1.default.createElement(material_1.Stack, { direction: 'row', justifyContent: 'space-between' },
107
+ react_1.default.createElement(material_1.Stack, { direction: 'row', alignItems: 'center', spacing: 2, marginRight: 2, sx: { display: { xs: 'none', md: 'flex' }, width: '100%' } },
108
+ react_1.default.createElement(link_1.default, { href: '/' }, next ? react_1.default.createElement(image_1.default, { src: img, alt: title, width: 40, height: 40 }) : react_1.default.createElement("img", { src: img, height: 35 })),
109
+ react_1.default.createElement(material_1.Box, null,
110
+ react_1.default.createElement(material_1.Typography, { variant: 'subtitle1', fontWeight: 600 }, title))),
111
+ react_1.default.createElement(material_1.Box, { sx: {
112
+ display: {
113
+ xs: 'flex',
114
+ md: 'none',
115
+ },
116
+ } }, links.length > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
117
+ react_1.default.createElement(material_1.IconButton, { onClick: onMenuClick },
118
+ react_1.default.createElement(Menu_1.default, null)),
119
+ react_1.default.createElement(material_1.Menu, { open: menuOpen, onClose: closeMenu, anchorEl: anchor }, links.map((x) => (react_1.default.createElement(material_1.MenuItem, { key: `navmenu${x}`, onClick: (e) => onMenuItemClick(e, x.path) },
120
+ react_1.default.createElement(material_1.Typography, { textTransform: 'capitalize' }, x.name)))))))),
121
+ react_1.default.createElement(material_1.Stack, { direction: 'row', justifyContent: 'flex-end', alignItems: 'center', sx: { width: { md: '100%' } } },
122
+ react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 2, sx: { display: { xs: 'none', md: 'flex' } } }, links.map((x) => (react_1.default.createElement(material_1.Box, { key: `navigation${x.path}`, sx: {
123
+ a: {
124
+ color: '#2c7da0',
125
+ textDecoration: 'none',
126
+ textTransform: 'capitalize',
127
+ '&:hover': {
128
+ color: '#90e0ef',
129
+ },
130
+ },
131
+ } },
132
+ react_1.default.createElement(material_1.Button, { onClick: (e) => changeRoute(e, x.path), sx: { textTransform: 'capitalize' } }, x.name))))),
133
+ react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 2 },
134
+ react_1.default.createElement(material_1.Box, null, el),
135
+ user ? (react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 1, sx: {
136
+ '&:hover': {
137
+ backgroundColor: '#a9def9',
138
+ cursor: 'pointer',
139
+ },
140
+ padding: 0.5,
141
+ borderRadius: 60,
142
+ } },
143
+ react_1.default.createElement(material_1.Box, { sx: { display: 'flex', alignItems: 'center' } },
144
+ react_1.default.createElement(material_1.Avatar, { sx: { width: 30, height: 30 }, src: user.image }),
145
+ react_1.default.createElement(material_1.Menu, { open: avatarMenu, onClose: (e) => setAvatarAnchor(null), anchorEl: avatarAnchor, disableScrollLock: true, transformOrigin: { horizontal: 'right', vertical: 'top' }, anchorOrigin: { horizontal: 'right', vertical: 'bottom' }, sx: { '.MuiMenu-paper': { borderRadius: 4 } } },
146
+ menuItems,
147
+ react_1.default.createElement(material_1.MenuItem, { onClick: (e) => __awaiter(this, void 0, void 0, function* () {
148
+ setAvatarAnchor(null);
149
+ if (!!logoutFunc) {
150
+ try {
151
+ yield logoutFunc();
152
+ }
153
+ catch (error) {
154
+ console.error(error);
155
+ }
156
+ }
157
+ logout();
158
+ }) },
159
+ react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 1 },
160
+ react_1.default.createElement(LogoutOutlined_1.default, { sx: { fill: '#545454' } }),
161
+ react_1.default.createElement(material_1.Typography, { textTransform: 'capitalize' }, logoutMsg))))),
162
+ react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 0.4, alignItems: 'center', onClick: (e) => setAvatarAnchor(e.currentTarget), sx: { userSelect: 'none' } },
163
+ react_1.default.createElement(material_1.Typography, null, "Ol\u00E1,"),
164
+ react_1.default.createElement(material_1.Typography, { fontWeight: 600 }, user === null || user === void 0 ? void 0 : user.given_name),
165
+ react_1.default.createElement(KeyboardArrowDown_1.default, null)))) : type === 'govbr' ? (react_1.default.createElement(material_1.Button, { variant: 'contained', size: 'small', startIcon: react_1.default.createElement(Person_1.default, null), onClick: login, sx: { color: 'white', textTransform: 'inherit', borderRadius: 50, paddingX: 2 } },
166
+ react_1.default.createElement(material_1.Typography, { fontWeight: 600, fontSize: 15, padding: 0.4 }, "Entrar com o gov.br"))) : (react_1.default.createElement(material_1.Button, { variant: 'contained', size: 'small', startIcon: react_1.default.createElement(Person_1.default, null), onClick: login, sx: { color: 'white', textTransform: 'inherit', borderRadius: 50, paddingX: 2 } },
167
+ react_1.default.createElement(material_1.Typography, { fontWeight: 600, fontSize: 15, padding: 0.4 }, "Entrar"))))))),
168
+ loading && react_1.default.createElement(LinearProgress_1.default, null)),
169
+ react_1.default.createElement(material_1.Box, { paddingBottom: paddingBottom })));
170
+ }
171
+ exports.default = NavBar;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export default function TabNavBar({ links, title, img, pos, next, el, menuItems, color, route, paddingBottom, logoutMsg, logoutFunc, ...props }: {
2
3
  links: {
3
4
  name: string;
@@ -0,0 +1,179 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __rest = (this && this.__rest) || function (s, e) {
35
+ var t = {};
36
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
37
+ t[p] = s[p];
38
+ if (s != null && typeof Object.getOwnPropertySymbols === "function")
39
+ for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
40
+ if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
41
+ t[p[i]] = s[p[i]];
42
+ }
43
+ return t;
44
+ };
45
+ var __importDefault = (this && this.__importDefault) || function (mod) {
46
+ return (mod && mod.__esModule) ? mod : { "default": mod };
47
+ };
48
+ Object.defineProperty(exports, "__esModule", { value: true });
49
+ const KeyboardArrowDown_1 = __importDefault(require("@mui/icons-material/KeyboardArrowDown"));
50
+ const LogoutOutlined_1 = __importDefault(require("@mui/icons-material/LogoutOutlined"));
51
+ const Menu_1 = __importDefault(require("@mui/icons-material/Menu"));
52
+ const Person_1 = __importDefault(require("@mui/icons-material/Person"));
53
+ const material_1 = require("@mui/material");
54
+ const LinearProgress_1 = __importDefault(require("@mui/material/LinearProgress"));
55
+ const image_1 = __importDefault(require("next/image"));
56
+ const link_1 = __importDefault(require("next/link"));
57
+ const router_1 = require("next/router");
58
+ const react_1 = __importStar(require("react"));
59
+ const auth_1 = require("../../context/auth");
60
+ function verificarRota(route, path) {
61
+ if (path === '/')
62
+ return route === path;
63
+ return route.startsWith(path);
64
+ }
65
+ function TabNavBar(_a) {
66
+ var { links, title, img, pos = 'fixed', next = true, el, menuItems, color = 'blue', route = '/teste/89', paddingBottom = 0, logoutMsg = 'Sair', logoutFunc } = _a, props = __rest(_a, ["links", "title", "img", "pos", "next", "el", "menuItems", "color", "route", "paddingBottom", "logoutMsg", "logoutFunc"]);
67
+ let router = undefined;
68
+ if (next)
69
+ router = (0, router_1.useRouter)();
70
+ const { user, login, logout, type } = (0, react_1.useContext)(auth_1.AuthContext);
71
+ const [anchor, setAnchor] = (0, react_1.useState)(null);
72
+ const [avatarAnchor, setAvatarAnchor] = (0, react_1.useState)(null);
73
+ const menuOpen = Boolean(anchor);
74
+ const avatarMenu = Boolean(avatarAnchor);
75
+ const [loading, setLoading] = (0, react_1.useState)(false);
76
+ const onMenuClick = (0, react_1.useCallback)((e) => {
77
+ setAnchor(e.currentTarget);
78
+ }, []);
79
+ const closeMenu = (0, react_1.useCallback)(() => {
80
+ setAnchor(null);
81
+ }, []);
82
+ const onMenuItemClick = (0, react_1.useCallback)((e, link) => {
83
+ setLoading(true);
84
+ setAnchor(null);
85
+ if (router)
86
+ router
87
+ .push({
88
+ pathname: link,
89
+ })
90
+ .finally(() => setLoading(false));
91
+ else {
92
+ setLoading(false);
93
+ }
94
+ }, [router]);
95
+ function changeRoute(e, path) {
96
+ setLoading(true);
97
+ if (router) {
98
+ router
99
+ .push({
100
+ pathname: path,
101
+ })
102
+ .finally(() => setLoading(false));
103
+ }
104
+ else {
105
+ setLoading(false);
106
+ }
107
+ }
108
+ return (react_1.default.createElement(react_1.default.Fragment, null,
109
+ react_1.default.createElement(material_1.Box, { position: pos, sx: { width: '100%', zIndex: 100 } },
110
+ react_1.default.createElement(material_1.AppBar, { position: 'relative', elevation: 0, sx: { backgroundColor: 'white', color: 'black', paddingX: { xs: 1, md: 4 } } },
111
+ react_1.default.createElement(material_1.Stack, { direction: 'row', justifyContent: 'space-between' },
112
+ react_1.default.createElement(material_1.Stack, { direction: 'row', alignItems: 'center', spacing: 2, marginRight: 2, sx: { display: { xs: 'none', md: 'flex' }, width: '100%' } },
113
+ react_1.default.createElement(link_1.default, { href: '/' }, next ? react_1.default.createElement(image_1.default, { src: img, alt: title, width: 40, height: 40 }) : react_1.default.createElement("img", { src: img, height: 35 })),
114
+ react_1.default.createElement(material_1.Box, null,
115
+ react_1.default.createElement(material_1.Typography, { variant: 'subtitle1', fontWeight: 600 }, title))),
116
+ react_1.default.createElement(material_1.Stack, { direction: 'row', width: '100%', justifyContent: 'center', alignItems: 'center', spacing: 2, sx: { display: { xs: 'none', md: 'flex' } } }, links.map((x, index) => {
117
+ var _a;
118
+ return (react_1.default.createElement(material_1.Box, { borderBottom: next ? (verificarRota((_a = router === null || router === void 0 ? void 0 : router.pathname) !== null && _a !== void 0 ? _a : '', x.path) ? `solid 4px ${color}` : '') : verificarRota(route, x.path) ? `solid 4px ${color}` : '', height: '100%', paddingX: 2, key: JSON.stringify({ x, index }), sx: {
119
+ ':hover': {
120
+ backgroundColor: '#fcfcfc',
121
+ cursor: 'pointer',
122
+ userSelect: 'none',
123
+ },
124
+ }, onClick: (e) => {
125
+ next && console.log('pathname:', router === null || router === void 0 ? void 0 : router.pathname, ':=', x.path);
126
+ changeRoute(e, x.path);
127
+ } },
128
+ react_1.default.createElement(material_1.Stack, { height: '100%', justifyContent: 'center' }, x.name)));
129
+ })),
130
+ react_1.default.createElement(material_1.Box, { sx: {
131
+ display: {
132
+ xs: 'flex',
133
+ md: 'none',
134
+ },
135
+ } }, links.length > 0 && (react_1.default.createElement(react_1.default.Fragment, null,
136
+ react_1.default.createElement(material_1.IconButton, { onClick: onMenuClick },
137
+ react_1.default.createElement(Menu_1.default, null)),
138
+ react_1.default.createElement(material_1.Menu, { open: menuOpen, onClose: closeMenu, anchorEl: anchor }, links.map((x, index) => (react_1.default.createElement(material_1.MenuItem, { key: JSON.stringify({ x, index }), onClick: (e) => onMenuItemClick(e, x.path) },
139
+ react_1.default.createElement(material_1.Typography, { textTransform: 'capitalize' }, x.name)))))))),
140
+ react_1.default.createElement(material_1.Stack, { direction: 'row', justifyContent: 'flex-end', alignItems: 'center', sx: { width: { md: '100%' } }, paddingY: 1 },
141
+ react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 2 },
142
+ react_1.default.createElement(material_1.Box, null, el),
143
+ user ? (react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 1, sx: {
144
+ '&:hover': {
145
+ backgroundColor: '#a9def9',
146
+ cursor: 'pointer',
147
+ },
148
+ padding: 0.5,
149
+ borderRadius: 60,
150
+ } },
151
+ react_1.default.createElement(material_1.Box, { sx: { display: 'flex', alignItems: 'center' } },
152
+ react_1.default.createElement(material_1.Avatar, { sx: { width: 30, height: 30 }, src: user.image }),
153
+ react_1.default.createElement(material_1.Menu, { open: avatarMenu, onClose: (e) => setAvatarAnchor(null), anchorEl: avatarAnchor, disableScrollLock: true, transformOrigin: { horizontal: 'right', vertical: 'top' }, anchorOrigin: { horizontal: 'right', vertical: 'bottom' }, sx: { '.MuiMenu-paper': { borderRadius: 4 } } },
154
+ menuItems,
155
+ react_1.default.createElement(material_1.MenuItem, { onClick: (e) => __awaiter(this, void 0, void 0, function* () {
156
+ setAvatarAnchor(null);
157
+ if (!!logoutFunc) {
158
+ try {
159
+ yield logoutFunc();
160
+ }
161
+ catch (error) {
162
+ console.error(error);
163
+ }
164
+ }
165
+ logout();
166
+ }) },
167
+ react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 1 },
168
+ react_1.default.createElement(LogoutOutlined_1.default, { sx: { fill: '#545454' } }),
169
+ react_1.default.createElement(material_1.Typography, { textTransform: 'capitalize' }, logoutMsg))))),
170
+ react_1.default.createElement(material_1.Stack, { direction: 'row', spacing: 0.4, alignItems: 'center', onClick: (e) => setAvatarAnchor(e.currentTarget), sx: { userSelect: 'none' } },
171
+ react_1.default.createElement(material_1.Typography, null, "Ol\u00E1,"),
172
+ react_1.default.createElement(material_1.Typography, { fontWeight: 600 }, user.given_name),
173
+ react_1.default.createElement(KeyboardArrowDown_1.default, null)))) : type === 'govbr' ? (react_1.default.createElement(material_1.Button, { variant: 'contained', size: 'small', startIcon: react_1.default.createElement(Person_1.default, null), onClick: login, sx: { color: 'white', textTransform: 'inherit', borderRadius: 50, paddingX: 2 } },
174
+ react_1.default.createElement(material_1.Typography, { fontWeight: 600, fontSize: 15, padding: 0.4 }, "Entrar com o gov.br"))) : (react_1.default.createElement(material_1.Button, { variant: 'contained', size: 'small', startIcon: react_1.default.createElement(Person_1.default, null), onClick: login, sx: { color: 'white', textTransform: 'inherit', borderRadius: 50, paddingX: 2 } },
175
+ react_1.default.createElement(material_1.Typography, { fontWeight: 600, fontSize: 15, padding: 0.4 }, "Entrar"))))))),
176
+ loading && react_1.default.createElement(LinearProgress_1.default, null)),
177
+ react_1.default.createElement(material_1.Box, { paddingBottom: paddingBottom })));
178
+ }
179
+ exports.default = TabNavBar;
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ const react_1 = __importStar(require("react"));
27
+ const react_hook_form_1 = require("react-hook-form");
28
+ const form_1 = require("../../context/form");
29
+ const react_toastify_1 = require("react-toastify");
30
+ function FormProvider({ children, onSubmit, formMethod = 'GET', submiting = false }) {
31
+ const { register, handleSubmit, control, formState, reset, watch, trigger, setValue, unregister, getValues } = (0, react_hook_form_1.useForm)();
32
+ const [filesUid, setFilesUid] = (0, react_1.useState)([]);
33
+ return (react_1.default.createElement(form_1.FormContext.Provider, { value: {
34
+ formRegister: register,
35
+ formWatch: watch,
36
+ formReset: reset,
37
+ formControl: control,
38
+ formSetValue: setValue,
39
+ formTrigger: trigger,
40
+ formUnregister: unregister,
41
+ formGetValues: getValues,
42
+ formHandleSubmit: handleSubmit,
43
+ setFilesUid: setFilesUid,
44
+ formState: formState,
45
+ errors: formState === null || formState === void 0 ? void 0 : formState.errors,
46
+ submiting: submiting,
47
+ } },
48
+ react_1.default.createElement("form", { method: formMethod, onSubmit: handleSubmit((data) => onSubmit(data, filesUid), () => (0, react_toastify_1.toast)('Formulário incompleto! Verifique os campos marcados e tente novamente.', {
49
+ type: 'warning',
50
+ position: 'top-right',
51
+ theme: 'colored',
52
+ })) }, children)));
53
+ }
54
+ exports.default = FormProvider;
@@ -1,3 +1,4 @@
1
+ /// <reference types="react" />
1
2
  export declare const cookieName = "nextauth.token";
2
3
  export declare function KeycloakAuthProvider({ url, realm, clientId, children, type, resource_name, redirectUri, }: {
3
4
  url: string;
@@ -0,0 +1,118 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
26
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
27
+ return new (P || (P = Promise))(function (resolve, reject) {
28
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
29
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
30
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ var __importDefault = (this && this.__importDefault) || function (mod) {
35
+ return (mod && mod.__esModule) ? mod : { "default": mod };
36
+ };
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.KeycloakAuthProvider = exports.cookieName = void 0;
39
+ const router_1 = require("next/router");
40
+ const react_1 = __importStar(require("react"));
41
+ const auth_1 = require("../../context/auth");
42
+ const keycloak_js_1 = __importDefault(require("keycloak-js"));
43
+ exports.cookieName = 'nextauth.token';
44
+ const userImgName = 'user-data.img';
45
+ function KeycloakAuthProvider({ url, realm, clientId, children, type = 'ad', resource_name = 'eventos-front', redirectUri = '', }) {
46
+ const [user, setUser] = (0, react_1.useState)();
47
+ const [userLoaded, setUserLoaded] = (0, react_1.useState)(false);
48
+ const [kc, setKc] = (0, react_1.useState)(null);
49
+ const router = (0, router_1.useRouter)();
50
+ const isAuth = !!user;
51
+ (0, react_1.useEffect)(() => {
52
+ const keycloak = new keycloak_js_1.default({
53
+ url: url,
54
+ realm: realm,
55
+ clientId: clientId,
56
+ });
57
+ setKc(keycloak);
58
+ keycloak.onTokenExpired = () => __awaiter(this, void 0, void 0, function* () {
59
+ console.log('token expired');
60
+ try {
61
+ const refreshed = yield keycloak.updateToken(5);
62
+ if (refreshed) {
63
+ setUser((prevUser) => (Object.assign(Object.assign({}, prevUser), { token: keycloak.token })));
64
+ }
65
+ console.log(refreshed ? 'Token was refreshed' : 'Token is still valid');
66
+ }
67
+ catch (error) {
68
+ console.log('Failed to refresh token', error);
69
+ }
70
+ });
71
+ keycloak
72
+ .init({
73
+ onLoad: 'check-sso',
74
+ pkceMethod: 'S256',
75
+ })
76
+ .then((auth) => {
77
+ var _a, _b;
78
+ setUserLoaded(true);
79
+ if (!auth) {
80
+ console.log('NAO AUTENTICADO');
81
+ //window.location.reload();
82
+ }
83
+ else {
84
+ const tokenParsed = keycloak.tokenParsed;
85
+ console.log('TOKEN-> ', tokenParsed);
86
+ const userData = Object.assign(Object.assign({}, tokenParsed), { token: keycloak.token, roles: ((_b = ((_a = tokenParsed === null || tokenParsed === void 0 ? void 0 : tokenParsed.resource_access) !== null && _a !== void 0 ? _a : {})[resource_name]) !== null && _b !== void 0 ? _b : []).roles });
87
+ setUser(userData);
88
+ console.info('Authenticated!!!');
89
+ }
90
+ }, () => {
91
+ console.error('Authenticated Failed');
92
+ })
93
+ .catch((err) => console.log(err));
94
+ const s = router.query['status'];
95
+ if (!s)
96
+ return;
97
+ if (s === 'success') {
98
+ window.history.replaceState(null, '', '/');
99
+ }
100
+ }, []);
101
+ function login() {
102
+ console.log('Tentando logar...');
103
+ console.log('KC: ', {
104
+ instancia: kc,
105
+ logado: kc === null || kc === void 0 ? void 0 : kc.authenticated,
106
+ client_id: kc === null || kc === void 0 ? void 0 : kc.clientId,
107
+ });
108
+ kc === null || kc === void 0 ? void 0 : kc.login({ redirectUri });
109
+ }
110
+ function logout() {
111
+ setUserLoaded(false);
112
+ kc === null || kc === void 0 ? void 0 : kc.logout();
113
+ setUser(null);
114
+ localStorage.removeItem(userImgName);
115
+ }
116
+ return react_1.default.createElement(auth_1.AuthContext.Provider, { value: { user, isAuth, userLoaded, login, logout, saveUserData: () => { }, type } }, children);
117
+ }
118
+ exports.KeycloakAuthProvider = KeycloakAuthProvider;