@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.
- package/components/detalhes/Category.d.ts +1 -0
- package/components/detalhes/Category.js +14 -0
- package/components/detalhes/Field.d.ts +1 -0
- package/components/detalhes/Field.js +42 -0
- package/components/detalhes/FieldLabel.d.ts +1 -0
- package/components/detalhes/FieldLabel.js +28 -0
- package/components/detalhes/File.d.ts +1 -0
- package/components/detalhes/File.js +62 -0
- package/components/form/checkbox/CheckBox.js +18 -0
- package/components/form/checkbox/CheckBoxAdditional.d.ts +1 -0
- package/components/form/checkbox/CheckBoxAdditional.js +95 -0
- package/components/form/checkbox/CheckBoxWarning.js +43 -0
- package/components/form/checkbox/RequiredCheckBoxValidator.d.ts +1 -0
- package/components/form/checkbox/RequiredCheckBoxValidator.js +85 -0
- package/components/form/date/DatePicker.d.ts +1 -0
- package/components/form/date/DatePicker.js +105 -0
- package/components/form/date/GenericDatePicker.d.ts +1 -0
- package/components/form/date/GenericDatePicker.js +105 -0
- package/components/form/date/TimePicker.d.ts +1 -0
- package/components/form/date/TimePicker.js +82 -0
- package/components/form/file/DropFileUpload.d.ts +1 -0
- package/components/form/file/DropFileUpload.js +226 -0
- package/components/form/file/FileUpload.d.ts +1 -0
- package/components/form/file/FileUpload.js +200 -0
- package/components/form/input/ActiveInput.js +33 -0
- package/components/form/input/AutoComplete.d.ts +1 -0
- package/components/form/input/AutoComplete.js +69 -0
- package/components/form/input/FetchAutoComplete.d.ts +1 -0
- package/components/form/input/FetchAutoComplete.js +134 -0
- package/components/form/input/FixedAutoComplete.d.ts +1 -0
- package/components/form/input/FixedAutoComplete.js +83 -0
- package/components/form/input/GenericFetchAutoComplete.d.ts +1 -0
- package/components/form/input/GenericFetchAutoComplete.js +132 -0
- package/components/form/input/GenericInput.js +168 -0
- package/components/form/input/GenericMaskInput.js +79 -0
- package/components/form/input/GenericMultInput.d.ts +1 -0
- package/components/form/input/GenericMultInput.js +67 -0
- package/components/form/input/Input.js +168 -0
- package/components/form/input/MaskInput.js +78 -0
- package/components/form/input/MultInput.d.ts +1 -0
- package/components/form/input/MultInput.js +67 -0
- package/components/form/input/OtherCheckBox.d.ts +1 -0
- package/components/form/input/OtherCheckBox.js +56 -0
- package/components/form/stepper/Stepper.js +135 -0
- package/components/form/stepper/StepperBlock.js +97 -0
- package/components/form/switch/Switch.js +54 -0
- package/components/form/switch/ToggleVisibility.d.ts +1 -0
- package/components/form/switch/ToggleVisibility.js +61 -0
- package/components/form/table/FilterSection.d.ts +1 -0
- package/components/form/table/FilterSection.js +217 -0
- package/components/form/table/GenericTable.js +1034 -0
- package/components/form/table/Table.js +514 -0
- package/components/form/table/TableErrorState.js +27 -0
- package/components/form/table/TableLoadingState.d.ts +1 -0
- package/components/form/table/TableLoadingState.js +39 -0
- package/components/form/table/types.js +2 -0
- package/components/form/table/utils.d.ts +1 -0
- package/components/form/table/utils.js +361 -0
- package/components/icons/icons.d.ts +1 -0
- package/components/icons/icons.js +24 -0
- package/components/map/AnimatedMarker.js +65 -0
- package/components/map/DraggableMarker.js +66 -0
- package/components/map/Map.js +23 -0
- package/components/map/index.d.ts +1 -0
- package/components/map/index.js +31 -0
- package/components/modal/Modal.d.ts +1 -0
- package/components/modal/Modal.js +105 -0
- package/components/navbar/NavBar.d.ts +1 -0
- package/components/navbar/NavBar.js +171 -0
- package/components/navbar/TabNavBar.d.ts +1 -0
- package/components/navbar/TabNavBar.js +179 -0
- package/components/providers/FormProvider.js +54 -0
- package/components/providers/KeycloakAuthProvider.d.ts +1 -0
- package/components/providers/KeycloakAuthProvider.js +118 -0
- package/components/providers/OAuthProvider.d.ts +1 -0
- package/components/providers/OAuthProvider.js +138 -0
- package/components/providers/SspComponentsProvider.d.ts +1 -0
- package/components/providers/SspComponentsProvider.js +18 -0
- package/components/utils/Bt.d.ts +1 -0
- package/components/utils/Bt.js +35 -0
- package/components/utils/CustomMenu.js +39 -0
- package/context/auth.d.ts +1 -0
- package/context/auth.js +5 -0
- package/context/form.js +5 -0
- package/index.d.ts +18 -18
- package/index.js +94 -0
- package/package.json +1 -1
- package/types/auth.js +2 -0
- package/types/form.js +31 -0
- package/Map-31d95a26.js +0 -2
- package/Map-31d95a26.js.map +0 -1
- package/Map-644d2f90.js +0 -2
- package/Map-644d2f90.js.map +0 -1
- package/components/form/input/OptionalInput.d.ts +0 -10
- package/components/loading/LinearProgress.d.ts +0 -2
- package/components/loading/LoadingScreen.d.ts +0 -7
- package/components/providers/GenericFormProvider.d.ts +0 -10
- package/components/teste/Teste.d.ts +0 -3
- package/decorators/FormBaseDecorator.d.ts +0 -2
- package/decorators/GenericFormBaseDecorator.d.ts +0 -2
- package/decorators/StepperDecorator.d.ts +0 -2
- package/index.cjs +0 -3
- package/index.cjs.map +0 -1
- package/index.esm.js +0 -3
- package/index.esm.js.map +0 -1
- package/stories/Autocomplete.stories.d.ts +0 -6
- package/stories/CheckBox.stories.d.ts +0 -6
- package/stories/CheckBoxWarning.stories.d.ts +0 -6
- package/stories/DatePicker.stories.d.ts +0 -6
- package/stories/DetalhesCategory.stories.d.ts +0 -6
- package/stories/DetalhesField.stories.d.ts +0 -6
- package/stories/DetalhesFieldLabel.stories.d.ts +0 -6
- package/stories/DetalhesFile.stories.d.ts +0 -6
- package/stories/DropFileUpload.stories.d.ts +0 -6
- package/stories/ExemploAssitirValorInput.stories.d.ts +0 -7
- package/stories/ExemploInputs.stories.d.ts +0 -7
- package/stories/ExemploTable.stories.d.ts +0 -1
- package/stories/ExemploValoresCompartilhados.stories.d.ts +0 -7
- package/stories/FetchAutocomplete.stories.d.ts +0 -6
- package/stories/FileUpload.stories.d.ts +0 -6
- package/stories/FixedAutocomplete.stories.d.ts +0 -6
- package/stories/GenericFetchAutocomplete.stories.d.ts +0 -6
- package/stories/GenericInput.stories.d.ts +0 -6
- package/stories/GenericTable.stories.d.ts +0 -6
- package/stories/Input.stories.d.ts +0 -6
- package/stories/LinearProgress.stories.d.ts +0 -6
- package/stories/LoadingScreen.stories.d.ts +0 -6
- package/stories/Map.stories.d.ts +0 -6
- package/stories/MultInput.stories.d.ts +0 -6
- package/stories/NavBar.stories.d.ts +0 -6
- package/stories/OptionalInput.stories.d.ts +0 -6
- package/stories/OtherCheckBox.stories.d.ts +0 -6
- package/stories/Stepper.stories.d.ts +0 -6
- package/stories/StepperBlock.stories.d.ts +0 -6
- package/stories/Switch.stories.d.ts +0 -6
- package/stories/Table.stories.d.ts +0 -4
- package/stories/TableWithStaticData.stories.d.ts +0 -6
- package/stories/Teste.stories.d.ts +0 -6
- package/stories/TimePicker.stories.d.ts +0 -6
|
@@ -0,0 +1,138 @@
|
|
|
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.OAuthProvider = exports.cookieName = void 0;
|
|
39
|
+
const cookies_next_1 = require("cookies-next");
|
|
40
|
+
const jwt_decode_1 = __importDefault(require("jwt-decode"));
|
|
41
|
+
const router_1 = require("next/router");
|
|
42
|
+
const react_1 = __importStar(require("react"));
|
|
43
|
+
const auth_1 = require("../../context/auth");
|
|
44
|
+
exports.cookieName = 'nextauth.token';
|
|
45
|
+
const userImgName = 'user-data.img';
|
|
46
|
+
function OAuthProvider({ children, AUTH_URL, oidcConfig, redirectURL, validateTokenRoute, testToken, testIP, logoutURL = redirectURL, }) {
|
|
47
|
+
const govBrURL = oidcConfig.authority + '/authorize?response_type=code&client_id=' + oidcConfig.client_id + '&scope=' + oidcConfig.scope + '&redirect_uri=' + oidcConfig.redirect_uri;
|
|
48
|
+
const [user, setUser] = (0, react_1.useState)();
|
|
49
|
+
const [userLoaded, setUserLoaded] = (0, react_1.useState)(false);
|
|
50
|
+
const router = (0, router_1.useRouter)();
|
|
51
|
+
const isAuth = !!user;
|
|
52
|
+
(0, react_1.useEffect)(() => {
|
|
53
|
+
const token = (0, cookies_next_1.getCookie)(exports.cookieName);
|
|
54
|
+
if (!token) {
|
|
55
|
+
setUserLoaded(true);
|
|
56
|
+
return;
|
|
57
|
+
}
|
|
58
|
+
fetch(`${AUTH_URL}${validateTokenRoute}`, {
|
|
59
|
+
method: 'POST',
|
|
60
|
+
headers: {
|
|
61
|
+
Authorization: `Bearer ${token}`,
|
|
62
|
+
},
|
|
63
|
+
}).then((res) => {
|
|
64
|
+
if (!res.ok) {
|
|
65
|
+
logout();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
const user = (0, jwt_decode_1.default)(token);
|
|
70
|
+
const img = localStorage.getItem(userImgName);
|
|
71
|
+
setUser({ name: user.given_name, image: img !== null && img !== void 0 ? img : '', roles: user.roles.map((x) => x.code), token });
|
|
72
|
+
setUserLoaded(true);
|
|
73
|
+
}
|
|
74
|
+
});
|
|
75
|
+
}, []);
|
|
76
|
+
function login() {
|
|
77
|
+
// Teste em localhost
|
|
78
|
+
if (location && (location.hostname === 'localhost' || location.hostname === testIP)) {
|
|
79
|
+
const token = testToken;
|
|
80
|
+
(0, cookies_next_1.setCookie)(exports.cookieName, token);
|
|
81
|
+
setUser({
|
|
82
|
+
name: 'Teste',
|
|
83
|
+
image: '',
|
|
84
|
+
roles: [1],
|
|
85
|
+
token: token,
|
|
86
|
+
});
|
|
87
|
+
router.replace(redirectURL).finally(() => setUserLoaded(true));
|
|
88
|
+
}
|
|
89
|
+
//
|
|
90
|
+
else {
|
|
91
|
+
setUserLoaded(false);
|
|
92
|
+
router.replace(govBrURL);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
// chamado no callback de login
|
|
96
|
+
function saveUserData(authData) {
|
|
97
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
98
|
+
const token = authData.ssp_token;
|
|
99
|
+
(0, cookies_next_1.setCookie)(exports.cookieName, token);
|
|
100
|
+
const userData = (0, jwt_decode_1.default)(token);
|
|
101
|
+
const idToken = (0, jwt_decode_1.default)(authData.id_token);
|
|
102
|
+
// pegando foto de usuario
|
|
103
|
+
yield fetch(idToken.picture, {
|
|
104
|
+
headers: {
|
|
105
|
+
Authorization: `Bearer ${authData.access_token}`,
|
|
106
|
+
},
|
|
107
|
+
}).then((res) => {
|
|
108
|
+
if (res.status === 200) {
|
|
109
|
+
res.blob().then((b) => {
|
|
110
|
+
const reader = new FileReader();
|
|
111
|
+
reader.readAsDataURL(b);
|
|
112
|
+
reader.onload = () => {
|
|
113
|
+
const base64 = reader.result;
|
|
114
|
+
localStorage.setItem(userImgName, base64);
|
|
115
|
+
setUser({ name: userData.name, image: base64, roles: userData.roles.map((x) => x.code), token });
|
|
116
|
+
router.replace(redirectURL).finally(() => setUserLoaded(true));
|
|
117
|
+
};
|
|
118
|
+
});
|
|
119
|
+
}
|
|
120
|
+
setUser({ name: userData.name, image: '', roles: userData.roles.map((x) => x.code), token });
|
|
121
|
+
router.replace(redirectURL).finally(() => setUserLoaded(true));
|
|
122
|
+
return;
|
|
123
|
+
});
|
|
124
|
+
router.replace(redirectURL).finally(() => setUserLoaded(true));
|
|
125
|
+
});
|
|
126
|
+
}
|
|
127
|
+
function logout() {
|
|
128
|
+
setUserLoaded(false);
|
|
129
|
+
router.replace(logoutURL).finally(() => {
|
|
130
|
+
setUser(null);
|
|
131
|
+
(0, cookies_next_1.deleteCookie)(exports.cookieName);
|
|
132
|
+
localStorage.removeItem(userImgName);
|
|
133
|
+
setUserLoaded(true);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
return react_1.default.createElement(auth_1.AuthContext.Provider, { value: { user, isAuth, userLoaded, login, logout, saveUserData, type: 'govbr' } }, children);
|
|
137
|
+
}
|
|
138
|
+
exports.OAuthProvider = OAuthProvider;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.SspComponentsProvider = void 0;
|
|
7
|
+
const react_1 = __importDefault(require("react"));
|
|
8
|
+
const react_toastify_1 = require("react-toastify");
|
|
9
|
+
const Modal_1 = require("../modal/Modal");
|
|
10
|
+
// import '../../css/ReactToastify.css'
|
|
11
|
+
//components principal da aplicação
|
|
12
|
+
function SspComponentsProvider(props) {
|
|
13
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
14
|
+
react_1.default.createElement(Modal_1.CustomModalProvider, null),
|
|
15
|
+
props.children,
|
|
16
|
+
react_1.default.createElement(react_toastify_1.ToastContainer, { position: 'bottom-right', theme: 'colored' })));
|
|
17
|
+
}
|
|
18
|
+
exports.SspComponentsProvider = SspComponentsProvider;
|
package/components/utils/Bt.d.ts
CHANGED
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const material_1 = require("@mui/material");
|
|
18
|
+
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const tinycolor2_1 = __importDefault(require("tinycolor2"));
|
|
20
|
+
function Bt(_a) {
|
|
21
|
+
var { customColor = '#383838', customFontColor = 'white' } = _a, props = __rest(_a, ["customColor", "customFontColor"]);
|
|
22
|
+
const bgColor = (0, tinycolor2_1.default)(customColor);
|
|
23
|
+
return (react_1.default.createElement(material_1.Button, Object.assign({}, props, { sx: {
|
|
24
|
+
bgcolor: bgColor.toHexString(),
|
|
25
|
+
color: (0, tinycolor2_1.default)(customFontColor).toHexString(),
|
|
26
|
+
':hover': {
|
|
27
|
+
bgcolor: bgColor.darken(10).toHexString(),
|
|
28
|
+
},
|
|
29
|
+
boxShadow: 'none',
|
|
30
|
+
borderRadius: 3,
|
|
31
|
+
textTransform: 'capitalize',
|
|
32
|
+
paddingX: 2,
|
|
33
|
+
}, size: 'small' }), props.children));
|
|
34
|
+
}
|
|
35
|
+
exports.default = Bt;
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __rest = (this && this.__rest) || function (s, e) {
|
|
3
|
+
var t = {};
|
|
4
|
+
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)
|
|
5
|
+
t[p] = s[p];
|
|
6
|
+
if (s != null && typeof Object.getOwnPropertySymbols === "function")
|
|
7
|
+
for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
|
|
8
|
+
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))
|
|
9
|
+
t[p[i]] = s[p[i]];
|
|
10
|
+
}
|
|
11
|
+
return t;
|
|
12
|
+
};
|
|
13
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
14
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const material_1 = require("@mui/material");
|
|
18
|
+
const react_1 = __importDefault(require("react"));
|
|
19
|
+
const Bt_1 = __importDefault(require("./Bt"));
|
|
20
|
+
function CustomMenu(_a) {
|
|
21
|
+
var { data = [] } = _a, props = __rest(_a, ["data"]);
|
|
22
|
+
const [anchorEl, setAnchorEl] = react_1.default.useState(null);
|
|
23
|
+
const open = Boolean(anchorEl);
|
|
24
|
+
const handleClick = (event) => {
|
|
25
|
+
setAnchorEl(event.currentTarget);
|
|
26
|
+
};
|
|
27
|
+
const handleClose = () => {
|
|
28
|
+
setAnchorEl(null);
|
|
29
|
+
};
|
|
30
|
+
return (react_1.default.createElement(react_1.default.Fragment, null,
|
|
31
|
+
react_1.default.createElement(Bt_1.default, Object.assign({}, props.btProps, { onClick: handleClick }), props.children),
|
|
32
|
+
react_1.default.createElement(material_1.Menu, { id: 'basic-menu', anchorEl: anchorEl, open: open, onClose: handleClose, MenuListProps: {
|
|
33
|
+
'aria-labelledby': 'basic-button',
|
|
34
|
+
} }, data.map((x) => (react_1.default.createElement(material_1.MenuItem, { onClick: (e) => {
|
|
35
|
+
x.onClick && x.onClick();
|
|
36
|
+
handleClose();
|
|
37
|
+
} }, x.name))))));
|
|
38
|
+
}
|
|
39
|
+
exports.default = CustomMenu;
|
package/context/auth.d.ts
CHANGED
package/context/auth.js
ADDED
package/context/form.js
ADDED
package/index.d.ts
CHANGED
|
@@ -1,44 +1,44 @@
|
|
|
1
|
-
import { Category } from './components/detalhes/Category';
|
|
2
|
-
import { Field } from './components/detalhes/Field';
|
|
3
|
-
import { FieldLabel } from './components/detalhes/FieldLabel';
|
|
4
|
-
import { File } from './components/detalhes/File';
|
|
5
1
|
import CheckBox from './components/form/checkbox/CheckBox';
|
|
6
|
-
import CheckBoxAdditional from './components/form/checkbox/CheckBoxAdditional';
|
|
7
2
|
import CheckBoxWarning from './components/form/checkbox/CheckBoxWarning';
|
|
8
|
-
import RequiredCheckBoxGroup from './components/form/checkbox/RequiredCheckBoxValidator';
|
|
9
3
|
import DatePicker from './components/form/date/DatePicker';
|
|
10
4
|
import GenericDatePicker from './components/form/date/GenericDatePicker';
|
|
11
5
|
import TimePicker from './components/form/date/TimePicker';
|
|
12
|
-
import DropFileUpload from './components/form/file/DropFileUpload';
|
|
13
6
|
import FileUpload from './components/form/file/FileUpload';
|
|
14
7
|
import ActiveInput from './components/form/input/ActiveInput';
|
|
15
8
|
import AutoComplete from './components/form/input/AutoComplete';
|
|
16
9
|
import FetchAutoComplete from './components/form/input/FetchAutoComplete';
|
|
17
|
-
import { FixedAutoComplete } from './components/form/input/FixedAutoComplete';
|
|
18
10
|
import GenericFetchAutoComplete from './components/form/input/GenericFetchAutoComplete';
|
|
19
|
-
import GenericInput from './components/form/input/GenericInput';
|
|
20
|
-
import GenericMaskInput from './components/form/input/GenericMaskInput';
|
|
21
|
-
import GenericMultInput from './components/form/input/GenericMultInput';
|
|
22
11
|
import Input from './components/form/input/Input';
|
|
23
12
|
import MaskInput from './components/form/input/MaskInput';
|
|
13
|
+
import GenericMaskInput from './components/form/input/GenericMaskInput';
|
|
24
14
|
import MultInput from './components/form/input/MultInput';
|
|
15
|
+
import GenericMultInput from './components/form/input/GenericMultInput';
|
|
25
16
|
import OtherCheckBox from './components/form/input/OtherCheckBox';
|
|
26
17
|
import Stepper from './components/form/stepper/Stepper';
|
|
27
18
|
import StepperBlock from './components/form/stepper/StepperBlock';
|
|
28
19
|
import Switch from './components/form/switch/Switch';
|
|
29
20
|
import { SwitchWatch, ToggleVisibility } from './components/form/switch/ToggleVisibility';
|
|
30
|
-
import GenericTable from './components/form/table/GenericTable';
|
|
31
21
|
import Table from './components/form/table/Table';
|
|
32
|
-
import
|
|
33
|
-
import { MODAL } from './components/modal/Modal';
|
|
22
|
+
import GenericTable from './components/form/table/GenericTable';
|
|
34
23
|
import NavBar from './components/navbar/NavBar';
|
|
35
24
|
import TabNavBar from './components/navbar/TabNavBar';
|
|
36
25
|
import FormProvider from './components/providers/FormProvider';
|
|
26
|
+
import { OAuthProvider, cookieName as AUTH_COOKIE_NAME } from './components/providers/OAuthProvider';
|
|
27
|
+
import { AuthContext } from './context/auth';
|
|
28
|
+
import { FormContext } from './context/form';
|
|
29
|
+
import { Category } from './components/detalhes/Category';
|
|
30
|
+
import { Field } from './components/detalhes/Field';
|
|
31
|
+
import { FieldLabel } from './components/detalhes/FieldLabel';
|
|
32
|
+
import { File } from './components/detalhes/File';
|
|
33
|
+
import CheckBoxAdditional from './components/form/checkbox/CheckBoxAdditional';
|
|
34
|
+
import RequiredCheckBoxGroup from './components/form/checkbox/RequiredCheckBoxValidator';
|
|
37
35
|
import { KeycloakAuthProvider } from './components/providers/KeycloakAuthProvider';
|
|
38
|
-
import {
|
|
36
|
+
import { FixedAutoComplete } from './components/form/input/FixedAutoComplete';
|
|
37
|
+
import DropFileUpload from './components/form/file/DropFileUpload';
|
|
38
|
+
import { MODAL } from './components/modal/Modal';
|
|
39
39
|
import { SspComponentsProvider } from './components/providers/SspComponentsProvider';
|
|
40
40
|
import Button from './components/utils/Bt';
|
|
41
41
|
import Menu from './components/utils/CustomMenu';
|
|
42
|
-
import
|
|
43
|
-
import {
|
|
44
|
-
export {
|
|
42
|
+
import GenericInput from './components/form/input/GenericInput';
|
|
43
|
+
import { Map } from './components/map';
|
|
44
|
+
export { CheckBox, CheckBoxWarning, DatePicker, GenericDatePicker, TimePicker, FileUpload, ActiveInput, AutoComplete, FetchAutoComplete, GenericFetchAutoComplete, Input, GenericInput, MaskInput, MultInput, GenericMultInput, GenericMaskInput, OtherCheckBox, Stepper, StepperBlock, Switch, SwitchWatch, ToggleVisibility, GenericTable, Table, NavBar, FormProvider, OAuthProvider, AUTH_COOKIE_NAME, AuthContext, FormContext, KeycloakAuthProvider, CheckBoxAdditional, RequiredCheckBoxGroup, FixedAutoComplete, Category, Field, FieldLabel, File, DropFileUpload, MODAL, SspComponentsProvider, TabNavBar, Button, Menu, Map, };
|
package/index.js
ADDED
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.Map = exports.Menu = exports.Button = exports.TabNavBar = exports.SspComponentsProvider = exports.MODAL = exports.DropFileUpload = exports.File = exports.FieldLabel = exports.Field = exports.Category = exports.FixedAutoComplete = exports.RequiredCheckBoxGroup = exports.CheckBoxAdditional = exports.KeycloakAuthProvider = exports.FormContext = exports.AuthContext = exports.AUTH_COOKIE_NAME = exports.OAuthProvider = exports.FormProvider = exports.NavBar = exports.Table = exports.GenericTable = exports.ToggleVisibility = exports.SwitchWatch = exports.Switch = exports.StepperBlock = exports.Stepper = exports.OtherCheckBox = exports.GenericMaskInput = exports.GenericMultInput = exports.MultInput = exports.MaskInput = exports.GenericInput = exports.Input = exports.GenericFetchAutoComplete = exports.FetchAutoComplete = exports.AutoComplete = exports.ActiveInput = exports.FileUpload = exports.TimePicker = exports.GenericDatePicker = exports.DatePicker = exports.CheckBoxWarning = exports.CheckBox = void 0;
|
|
7
|
+
const CheckBox_1 = __importDefault(require("./components/form/checkbox/CheckBox"));
|
|
8
|
+
exports.CheckBox = CheckBox_1.default;
|
|
9
|
+
const CheckBoxWarning_1 = __importDefault(require("./components/form/checkbox/CheckBoxWarning"));
|
|
10
|
+
exports.CheckBoxWarning = CheckBoxWarning_1.default;
|
|
11
|
+
const DatePicker_1 = __importDefault(require("./components/form/date/DatePicker"));
|
|
12
|
+
exports.DatePicker = DatePicker_1.default;
|
|
13
|
+
const GenericDatePicker_1 = __importDefault(require("./components/form/date/GenericDatePicker"));
|
|
14
|
+
exports.GenericDatePicker = GenericDatePicker_1.default;
|
|
15
|
+
const TimePicker_1 = __importDefault(require("./components/form/date/TimePicker"));
|
|
16
|
+
exports.TimePicker = TimePicker_1.default;
|
|
17
|
+
const FileUpload_1 = __importDefault(require("./components/form/file/FileUpload"));
|
|
18
|
+
exports.FileUpload = FileUpload_1.default;
|
|
19
|
+
const ActiveInput_1 = __importDefault(require("./components/form/input/ActiveInput"));
|
|
20
|
+
exports.ActiveInput = ActiveInput_1.default;
|
|
21
|
+
const AutoComplete_1 = __importDefault(require("./components/form/input/AutoComplete"));
|
|
22
|
+
exports.AutoComplete = AutoComplete_1.default;
|
|
23
|
+
const FetchAutoComplete_1 = __importDefault(require("./components/form/input/FetchAutoComplete"));
|
|
24
|
+
exports.FetchAutoComplete = FetchAutoComplete_1.default;
|
|
25
|
+
const GenericFetchAutoComplete_1 = __importDefault(require("./components/form/input/GenericFetchAutoComplete"));
|
|
26
|
+
exports.GenericFetchAutoComplete = GenericFetchAutoComplete_1.default;
|
|
27
|
+
const Input_1 = __importDefault(require("./components/form/input/Input"));
|
|
28
|
+
exports.Input = Input_1.default;
|
|
29
|
+
const MaskInput_1 = __importDefault(require("./components/form/input/MaskInput"));
|
|
30
|
+
exports.MaskInput = MaskInput_1.default;
|
|
31
|
+
const GenericMaskInput_1 = __importDefault(require("./components/form/input/GenericMaskInput"));
|
|
32
|
+
exports.GenericMaskInput = GenericMaskInput_1.default;
|
|
33
|
+
const MultInput_1 = __importDefault(require("./components/form/input/MultInput"));
|
|
34
|
+
exports.MultInput = MultInput_1.default;
|
|
35
|
+
const GenericMultInput_1 = __importDefault(require("./components/form/input/GenericMultInput"));
|
|
36
|
+
exports.GenericMultInput = GenericMultInput_1.default;
|
|
37
|
+
const OtherCheckBox_1 = __importDefault(require("./components/form/input/OtherCheckBox"));
|
|
38
|
+
exports.OtherCheckBox = OtherCheckBox_1.default;
|
|
39
|
+
const Stepper_1 = __importDefault(require("./components/form/stepper/Stepper"));
|
|
40
|
+
exports.Stepper = Stepper_1.default;
|
|
41
|
+
const StepperBlock_1 = __importDefault(require("./components/form/stepper/StepperBlock"));
|
|
42
|
+
exports.StepperBlock = StepperBlock_1.default;
|
|
43
|
+
const Switch_1 = __importDefault(require("./components/form/switch/Switch"));
|
|
44
|
+
exports.Switch = Switch_1.default;
|
|
45
|
+
const ToggleVisibility_1 = require("./components/form/switch/ToggleVisibility");
|
|
46
|
+
Object.defineProperty(exports, "SwitchWatch", { enumerable: true, get: function () { return ToggleVisibility_1.SwitchWatch; } });
|
|
47
|
+
Object.defineProperty(exports, "ToggleVisibility", { enumerable: true, get: function () { return ToggleVisibility_1.ToggleVisibility; } });
|
|
48
|
+
const Table_1 = __importDefault(require("./components/form/table/Table"));
|
|
49
|
+
exports.Table = Table_1.default;
|
|
50
|
+
const GenericTable_1 = __importDefault(require("./components/form/table/GenericTable"));
|
|
51
|
+
exports.GenericTable = GenericTable_1.default;
|
|
52
|
+
const NavBar_1 = __importDefault(require("./components/navbar/NavBar"));
|
|
53
|
+
exports.NavBar = NavBar_1.default;
|
|
54
|
+
const TabNavBar_1 = __importDefault(require("./components/navbar/TabNavBar"));
|
|
55
|
+
exports.TabNavBar = TabNavBar_1.default;
|
|
56
|
+
const FormProvider_1 = __importDefault(require("./components/providers/FormProvider"));
|
|
57
|
+
exports.FormProvider = FormProvider_1.default;
|
|
58
|
+
const OAuthProvider_1 = require("./components/providers/OAuthProvider");
|
|
59
|
+
Object.defineProperty(exports, "OAuthProvider", { enumerable: true, get: function () { return OAuthProvider_1.OAuthProvider; } });
|
|
60
|
+
Object.defineProperty(exports, "AUTH_COOKIE_NAME", { enumerable: true, get: function () { return OAuthProvider_1.cookieName; } });
|
|
61
|
+
const auth_1 = require("./context/auth");
|
|
62
|
+
Object.defineProperty(exports, "AuthContext", { enumerable: true, get: function () { return auth_1.AuthContext; } });
|
|
63
|
+
const form_1 = require("./context/form");
|
|
64
|
+
Object.defineProperty(exports, "FormContext", { enumerable: true, get: function () { return form_1.FormContext; } });
|
|
65
|
+
const Category_1 = require("./components/detalhes/Category");
|
|
66
|
+
Object.defineProperty(exports, "Category", { enumerable: true, get: function () { return Category_1.Category; } });
|
|
67
|
+
const Field_1 = require("./components/detalhes/Field");
|
|
68
|
+
Object.defineProperty(exports, "Field", { enumerable: true, get: function () { return Field_1.Field; } });
|
|
69
|
+
const FieldLabel_1 = require("./components/detalhes/FieldLabel");
|
|
70
|
+
Object.defineProperty(exports, "FieldLabel", { enumerable: true, get: function () { return FieldLabel_1.FieldLabel; } });
|
|
71
|
+
const File_1 = require("./components/detalhes/File");
|
|
72
|
+
Object.defineProperty(exports, "File", { enumerable: true, get: function () { return File_1.File; } });
|
|
73
|
+
const CheckBoxAdditional_1 = __importDefault(require("./components/form/checkbox/CheckBoxAdditional"));
|
|
74
|
+
exports.CheckBoxAdditional = CheckBoxAdditional_1.default;
|
|
75
|
+
const RequiredCheckBoxValidator_1 = __importDefault(require("./components/form/checkbox/RequiredCheckBoxValidator"));
|
|
76
|
+
exports.RequiredCheckBoxGroup = RequiredCheckBoxValidator_1.default;
|
|
77
|
+
const KeycloakAuthProvider_1 = require("./components/providers/KeycloakAuthProvider");
|
|
78
|
+
Object.defineProperty(exports, "KeycloakAuthProvider", { enumerable: true, get: function () { return KeycloakAuthProvider_1.KeycloakAuthProvider; } });
|
|
79
|
+
const FixedAutoComplete_1 = require("./components/form/input/FixedAutoComplete");
|
|
80
|
+
Object.defineProperty(exports, "FixedAutoComplete", { enumerable: true, get: function () { return FixedAutoComplete_1.FixedAutoComplete; } });
|
|
81
|
+
const DropFileUpload_1 = __importDefault(require("./components/form/file/DropFileUpload"));
|
|
82
|
+
exports.DropFileUpload = DropFileUpload_1.default;
|
|
83
|
+
const Modal_1 = require("./components/modal/Modal");
|
|
84
|
+
Object.defineProperty(exports, "MODAL", { enumerable: true, get: function () { return Modal_1.MODAL; } });
|
|
85
|
+
const SspComponentsProvider_1 = require("./components/providers/SspComponentsProvider");
|
|
86
|
+
Object.defineProperty(exports, "SspComponentsProvider", { enumerable: true, get: function () { return SspComponentsProvider_1.SspComponentsProvider; } });
|
|
87
|
+
const Bt_1 = __importDefault(require("./components/utils/Bt"));
|
|
88
|
+
exports.Button = Bt_1.default;
|
|
89
|
+
const CustomMenu_1 = __importDefault(require("./components/utils/CustomMenu"));
|
|
90
|
+
exports.Menu = CustomMenu_1.default;
|
|
91
|
+
const GenericInput_1 = __importDefault(require("./components/form/input/GenericInput"));
|
|
92
|
+
exports.GenericInput = GenericInput_1.default;
|
|
93
|
+
const map_1 = require("./components/map");
|
|
94
|
+
Object.defineProperty(exports, "Map", { enumerable: true, get: function () { return map_1.Map; } });
|
package/package.json
CHANGED
package/types/auth.js
ADDED
package/types/form.js
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ColumnDirection = exports.FieldType = void 0;
|
|
4
|
+
var FieldType;
|
|
5
|
+
(function (FieldType) {
|
|
6
|
+
FieldType[FieldType["INPUT"] = 0] = "INPUT";
|
|
7
|
+
FieldType[FieldType["MULT_INPUT"] = 1] = "MULT_INPUT";
|
|
8
|
+
FieldType[FieldType["PHONE"] = 2] = "PHONE";
|
|
9
|
+
FieldType[FieldType["CPF_CNPJ"] = 3] = "CPF_CNPJ";
|
|
10
|
+
FieldType[FieldType["CPF"] = 4] = "CPF";
|
|
11
|
+
FieldType[FieldType["CNPJ"] = 5] = "CNPJ";
|
|
12
|
+
FieldType[FieldType["RG"] = 6] = "RG";
|
|
13
|
+
FieldType[FieldType["EMAIL"] = 7] = "EMAIL";
|
|
14
|
+
FieldType[FieldType["ACTIVE"] = 8] = "ACTIVE";
|
|
15
|
+
FieldType[FieldType["CHECKBOX"] = 9] = "CHECKBOX";
|
|
16
|
+
FieldType[FieldType["CHECKBOX_WARNING"] = 10] = "CHECKBOX_WARNING";
|
|
17
|
+
FieldType[FieldType["OTHER_CHECKBOX"] = 11] = "OTHER_CHECKBOX";
|
|
18
|
+
FieldType[FieldType["LABEL"] = 12] = "LABEL";
|
|
19
|
+
FieldType[FieldType["CUSTOM"] = 13] = "CUSTOM";
|
|
20
|
+
FieldType[FieldType["FILE"] = 14] = "FILE";
|
|
21
|
+
FieldType[FieldType["MULT_FILE"] = 15] = "MULT_FILE";
|
|
22
|
+
FieldType[FieldType["DATE"] = 16] = "DATE";
|
|
23
|
+
FieldType[FieldType["TIME"] = 17] = "TIME";
|
|
24
|
+
FieldType[FieldType["NUMBER"] = 18] = "NUMBER";
|
|
25
|
+
FieldType[FieldType["AUTO_COMPLETE"] = 19] = "AUTO_COMPLETE";
|
|
26
|
+
})(FieldType = exports.FieldType || (exports.FieldType = {}));
|
|
27
|
+
var ColumnDirection;
|
|
28
|
+
(function (ColumnDirection) {
|
|
29
|
+
ColumnDirection["ROW"] = "row";
|
|
30
|
+
ColumnDirection["COLUMN"] = "column";
|
|
31
|
+
})(ColumnDirection = exports.ColumnDirection || (exports.ColumnDirection = {}));
|
package/Map-31d95a26.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e,jsxs as t}from"react/jsx-runtime";import{Box as o}from"@mui/material";import{useMapEvents as n,Marker as r,Popup as l,useMap as a,MapContainer as i,TileLayer as s}from"react-leaflet";import c,{icon as d}from"leaflet";import{useState as p,useRef as m,useMemo as u,useEffect as h}from"react";import"leaflet-defaulticon-compatibility";import"leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.css";import"leaflet/dist/leaflet.css";function f({...t}){const[o,a]=p(t.startCoord),i=m(null),s=u(()=>({dragend(){const e=i.current;null!=e&&a(e.getLatLng())}}),[]);return n({click(e){t.fixedPosition||a({lat:e.latlng.lat,lng:e.latlng.lng})}}),h(()=>{o&&(i.current&&(i.current.closePopup(),t.showPopup&&i.current.openPopup()),t.onChange&&t.onChange(o))},[o,t.onChange]),e(r,{icon:g,draggable:t.draggable,eventHandlers:s,position:o,ref:i,children:e(l,{className:"custom-popup",children:t.children})})}const g=d({iconUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon.png",shadowUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41],className:"leaflet-red-marker"}),y=({coords:e})=>{const t=a();return h(()=>{const o=document.createElement("div");o.style.position="relative",o.style.width="20px",o.style.height="20px",o.style.backgroundColor="rgba(0, 100, 255, 0.6)",o.style.borderRadius="50%",o.style.animation="sonarPulse 2s infinite";const n=document.createElement("div");n.style.position="absolute",n.style.top="50%",n.style.left="50%",n.style.width="100%",n.style.height="100%",n.style.backgroundColor="rgba(0, 100, 255, 0.4)",n.style.borderRadius="50%",n.style.transform="translate(-50%, -50%) scale(1)",n.style.animation="sonarPulse 2s infinite",o.appendChild(n);const r=document.createElement("style");r.innerHTML="\n @keyframes sonarPulse {\n 0% {\n transform: translate(-50%, -50%) scale(1);\n opacity: 0.8;\n }\n 100% {\n transform: translate(-50%, -50%) scale(2);\n opacity: 0;\n }\n }",document.head.appendChild(r);const l=c.marker(e,{icon:c.divIcon({className:"",html:o.outerHTML,iconSize:[40,40],iconAnchor:[0,5]})});return l.addTo(t),()=>{t.removeLayer(l),document.head.removeChild(r)}},[t,e]),null};function b(n){return e(o,{borderRadius:2,border:"2px solid #c7c7c7",overflow:"hidden",...n.style,children:t(i,{center:n.firstCoords,zoom:19,scrollWheelZoom:!0,style:n.mapStyle,children:[e(s,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),n.pulseMarkerList&&n.pulseMarkerList.map((t,o)=>e(y,{coords:t},JSON.stringify(t)+o)),e(f,{startCoord:n.firstCoords,onChange:n.onCoordsChange,showPopup:void 0!==n.popupContent,fixedPosition:n.fixedPosition,children:n.popupContent})]})})}export{b as Map};
|
|
2
|
-
//# sourceMappingURL=Map-31d95a26.js.map
|
package/Map-31d95a26.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Map-31d95a26.js","sources":["../src/components/map/DraggableMarker.tsx","../src/components/map/AnimatedMarker.tsx","../src/components/map/Map.tsx"],"sourcesContent":["'use client'\nimport { icon, LatLngExpression, Marker as MarketType } from 'leaflet'\nimport { ReactElement, useEffect, useMemo, useRef, useState } from 'react'\nimport { Marker, Popup, useMapEvents } from 'react-leaflet'\n\nimport React from 'react'\n\ninterface DraggableMarkerProps {\n startCoord: LatLngExpression\n draggable?: boolean\n // eslint-disable-next-line no-unused-vars\n onChange?: (coord: LatLngExpression) => void\n children?: ReactElement\n showPopup?: boolean\n fixedPosition?: boolean\n}\n\nexport default function DraggableMarker({ ...props }: DraggableMarkerProps) {\n const [position, setPosition] = useState<LatLngExpression>(props.startCoord)\n const markerRef = useRef<MarketType>(null)\n\n const eventHandlers = useMemo(\n () => ({\n dragend() {\n const marker = markerRef.current\n if (marker != null) {\n setPosition(marker.getLatLng())\n }\n },\n }),\n []\n )\n\n useMapEvents({\n click(e) {\n if (props.fixedPosition) return\n\n setPosition({ lat: e.latlng.lat, lng: e.latlng.lng })\n },\n })\n\n useEffect(() => {\n if (!position) return\n\n if (markerRef.current) {\n markerRef.current.closePopup()\n\n if (props.showPopup) markerRef.current.openPopup()\n }\n\n if (props.onChange) props.onChange(position)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [position, props.onChange])\n\n return (\n <Marker icon={redIcon} draggable={props.draggable} eventHandlers={eventHandlers} position={position} ref={markerRef}>\n <Popup className='custom-popup'>{props.children}</Popup>\n </Marker>\n )\n}\n\n//#region Marker Icon\nconst redIcon = icon({\n iconUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41],\n className: 'leaflet-red-marker',\n})\n//#endregion\n","import L, { LatLngExpression } from 'leaflet'\nimport { useEffect } from 'react'\nimport { useMap } from 'react-leaflet'\n\nconst AnimatedMarker = ({ coords }: { coords: LatLngExpression }) => {\n const map = useMap()\n\n useEffect(() => {\n // Criar o ícone do marcador com HTML\n const markerElement = document.createElement('div')\n markerElement.style.position = 'relative'\n markerElement.style.width = '20px'\n markerElement.style.height = '20px'\n markerElement.style.backgroundColor = 'rgba(0, 100, 255, 0.6)'\n markerElement.style.borderRadius = '50%'\n markerElement.style.animation = 'sonarPulse 2s infinite'\n\n // Criar o efeito de pulso (onda ao redor)\n const pulseElement = document.createElement('div')\n pulseElement.style.position = 'absolute'\n pulseElement.style.top = '50%'\n pulseElement.style.left = '50%'\n pulseElement.style.width = '100%'\n pulseElement.style.height = '100%'\n pulseElement.style.backgroundColor = 'rgba(0, 100, 255, 0.4)'\n pulseElement.style.borderRadius = '50%'\n pulseElement.style.transform = 'translate(-50%, -50%) scale(1)'\n pulseElement.style.animation = 'sonarPulse 2s infinite'\n\n markerElement.appendChild(pulseElement)\n\n // Adicionar a animação no CSS global\n const keyframes = `\n @keyframes sonarPulse {\n 0% {\n transform: translate(-50%, -50%) scale(1);\n opacity: 0.8;\n }\n 100% {\n transform: translate(-50%, -50%) scale(2);\n opacity: 0;\n }\n }`\n const styleElement = document.createElement('style')\n styleElement.innerHTML = keyframes\n document.head.appendChild(styleElement)\n\n // Criar o marcador no mapa\n const marker = L.marker(coords, {\n icon: L.divIcon({\n className: '',\n html: markerElement.outerHTML,\n iconSize: [40, 40], // Define o tamanho do ícone\n iconAnchor: [0, 5], // Centraliza o ícone (metade do width e height)\n }),\n })\n\n marker.addTo(map)\n\n // Limpar marcador e estilos ao desmontar\n return () => {\n map.removeLayer(marker)\n document.head.removeChild(styleElement)\n }\n }, [map, coords])\n\n return null // Nenhum componente visível, já que o marcador é diretamente manipulado pelo Leaflet\n}\n\nexport default AnimatedMarker\n","'use client'\nimport { Box, BoxProps } from '@mui/material'\nimport { MapContainer, TileLayer } from 'react-leaflet'\nimport DraggableMarker from './DraggableMarker'\n\nimport React from 'react'\n\nimport 'leaflet-defaulticon-compatibility'\nimport 'leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.css'\nimport 'leaflet/dist/leaflet.css'\nimport { LatLngExpression } from 'leaflet'\nimport AnimatedMarker from './AnimatedMarker'\nimport { ReactElement } from 'react'\n\nexport interface MapProps {\n firstCoords: any\n // eslint-disable-next-line no-unused-vars\n onCoordsChange?: (coords: any) => void\n pulseMarkerList?: LatLngExpression[]\n popupContent?: ReactElement\n style?: BoxProps\n mapStyle?: React.CSSProperties\n fixedPosition?: boolean\n}\n\nexport function Map(props: MapProps) {\n return (\n <Box borderRadius={2} border='2px solid #c7c7c7' overflow='hidden' {...props.style}>\n <MapContainer center={props.firstCoords} zoom={19} scrollWheelZoom style={props.mapStyle}>\n <TileLayer attribution='© <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors' url='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' />\n {props.pulseMarkerList && props.pulseMarkerList.map((coord, idx) => <AnimatedMarker key={JSON.stringify(coord) + idx} coords={coord} />)}\n <DraggableMarker startCoord={props.firstCoords} onChange={props.onCoordsChange} showPopup={typeof props.popupContent !== 'undefined'} fixedPosition={props.fixedPosition}>\n {props.popupContent}\n </DraggableMarker>\n </MapContainer>\n </Box>\n )\n}\n"],"names":["DraggableMarker","props","position","setPosition","useState","startCoord","markerRef","useRef","eventHandlers","useMemo","dragend","marker","current","getLatLng","useMapEvents","click","e","fixedPosition","lat","latlng","lng","useEffect","closePopup","showPopup","openPopup","onChange","_jsx","Marker","icon","redIcon","draggable","ref","children","Popup","className","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","AnimatedMarker","coords","map","useMap","markerElement","document","createElement","style","width","height","backgroundColor","borderRadius","animation","pulseElement","top","left","transform","appendChild","styleElement","innerHTML","head","L","divIcon","html","outerHTML","addTo","removeLayer","removeChild","Map","Box","border","overflow","_jsxs","MapContainer","center","firstCoords","zoom","scrollWheelZoom","mapStyle","TileLayer","attribution","url","pulseMarkerList","coord","idx","JSON","stringify","onCoordsChange","popupContent"],"mappings":"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"}
|
package/Map-644d2f90.js
DELETED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
var e=require("react/jsx-runtime"),t=require("@mui/material"),r=require("react-leaflet"),o=require("leaflet"),n=require("react");function a(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}require("leaflet-defaulticon-compatibility"),require("leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.css"),require("leaflet/dist/leaflet.css");var s=/*#__PURE__*/a(o);function l({...t}){const[o,a]=n.useState(t.startCoord),s=n.useRef(null),l=n.useMemo(()=>({dragend(){const e=s.current;null!=e&&a(e.getLatLng())}}),[]);return r.useMapEvents({click(e){t.fixedPosition||a({lat:e.latlng.lat,lng:e.latlng.lng})}}),n.useEffect(()=>{o&&(s.current&&(s.current.closePopup(),t.showPopup&&s.current.openPopup()),t.onChange&&t.onChange(o))},[o,t.onChange]),e.jsx(r.Marker,{icon:i,draggable:t.draggable,eventHandlers:l,position:o,ref:s,children:e.jsx(r.Popup,{className:"custom-popup",children:t.children})})}const i=o.icon({iconUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon.png",shadowUrl:"https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png",iconSize:[25,41],iconAnchor:[12,41],popupAnchor:[1,-34],shadowSize:[41,41],className:"leaflet-red-marker"}),c=({coords:e})=>{const t=r.useMap();return n.useEffect(()=>{const r=document.createElement("div");r.style.position="relative",r.style.width="20px",r.style.height="20px",r.style.backgroundColor="rgba(0, 100, 255, 0.6)",r.style.borderRadius="50%",r.style.animation="sonarPulse 2s infinite";const o=document.createElement("div");o.style.position="absolute",o.style.top="50%",o.style.left="50%",o.style.width="100%",o.style.height="100%",o.style.backgroundColor="rgba(0, 100, 255, 0.4)",o.style.borderRadius="50%",o.style.transform="translate(-50%, -50%) scale(1)",o.style.animation="sonarPulse 2s infinite",r.appendChild(o);const n=document.createElement("style");n.innerHTML="\n @keyframes sonarPulse {\n 0% {\n transform: translate(-50%, -50%) scale(1);\n opacity: 0.8;\n }\n 100% {\n transform: translate(-50%, -50%) scale(2);\n opacity: 0;\n }\n }",document.head.appendChild(n);const a=s.default.marker(e,{icon:s.default.divIcon({className:"",html:r.outerHTML,iconSize:[40,40],iconAnchor:[0,5]})});return a.addTo(t),()=>{t.removeLayer(a),document.head.removeChild(n)}},[t,e]),null};exports.Map=function(o){return e.jsx(t.Box,{borderRadius:2,border:"2px solid #c7c7c7",overflow:"hidden",...o.style,children:e.jsxs(r.MapContainer,{center:o.firstCoords,zoom:19,scrollWheelZoom:!0,style:o.mapStyle,children:[e.jsx(r.TileLayer,{attribution:'© <a href="https://www.openstreetmap.org/copyright">OpenStreetMap</a> contributors',url:"https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"}),o.pulseMarkerList&&o.pulseMarkerList.map((t,r)=>e.jsx(c,{coords:t},JSON.stringify(t)+r)),e.jsx(l,{startCoord:o.firstCoords,onChange:o.onCoordsChange,showPopup:void 0!==o.popupContent,fixedPosition:o.fixedPosition,children:o.popupContent})]})})};
|
|
2
|
-
//# sourceMappingURL=Map-644d2f90.js.map
|
package/Map-644d2f90.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Map-644d2f90.js","sources":["../src/components/map/DraggableMarker.tsx","../src/components/map/AnimatedMarker.tsx","../src/components/map/Map.tsx"],"sourcesContent":["'use client'\nimport { icon, LatLngExpression, Marker as MarketType } from 'leaflet'\nimport { ReactElement, useEffect, useMemo, useRef, useState } from 'react'\nimport { Marker, Popup, useMapEvents } from 'react-leaflet'\n\nimport React from 'react'\n\ninterface DraggableMarkerProps {\n startCoord: LatLngExpression\n draggable?: boolean\n // eslint-disable-next-line no-unused-vars\n onChange?: (coord: LatLngExpression) => void\n children?: ReactElement\n showPopup?: boolean\n fixedPosition?: boolean\n}\n\nexport default function DraggableMarker({ ...props }: DraggableMarkerProps) {\n const [position, setPosition] = useState<LatLngExpression>(props.startCoord)\n const markerRef = useRef<MarketType>(null)\n\n const eventHandlers = useMemo(\n () => ({\n dragend() {\n const marker = markerRef.current\n if (marker != null) {\n setPosition(marker.getLatLng())\n }\n },\n }),\n []\n )\n\n useMapEvents({\n click(e) {\n if (props.fixedPosition) return\n\n setPosition({ lat: e.latlng.lat, lng: e.latlng.lng })\n },\n })\n\n useEffect(() => {\n if (!position) return\n\n if (markerRef.current) {\n markerRef.current.closePopup()\n\n if (props.showPopup) markerRef.current.openPopup()\n }\n\n if (props.onChange) props.onChange(position)\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [position, props.onChange])\n\n return (\n <Marker icon={redIcon} draggable={props.draggable} eventHandlers={eventHandlers} position={position} ref={markerRef}>\n <Popup className='custom-popup'>{props.children}</Popup>\n </Marker>\n )\n}\n\n//#region Marker Icon\nconst redIcon = icon({\n iconUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-icon.png',\n shadowUrl: 'https://cdnjs.cloudflare.com/ajax/libs/leaflet/1.7.1/images/marker-shadow.png',\n iconSize: [25, 41],\n iconAnchor: [12, 41],\n popupAnchor: [1, -34],\n shadowSize: [41, 41],\n className: 'leaflet-red-marker',\n})\n//#endregion\n","import L, { LatLngExpression } from 'leaflet'\nimport { useEffect } from 'react'\nimport { useMap } from 'react-leaflet'\n\nconst AnimatedMarker = ({ coords }: { coords: LatLngExpression }) => {\n const map = useMap()\n\n useEffect(() => {\n // Criar o ícone do marcador com HTML\n const markerElement = document.createElement('div')\n markerElement.style.position = 'relative'\n markerElement.style.width = '20px'\n markerElement.style.height = '20px'\n markerElement.style.backgroundColor = 'rgba(0, 100, 255, 0.6)'\n markerElement.style.borderRadius = '50%'\n markerElement.style.animation = 'sonarPulse 2s infinite'\n\n // Criar o efeito de pulso (onda ao redor)\n const pulseElement = document.createElement('div')\n pulseElement.style.position = 'absolute'\n pulseElement.style.top = '50%'\n pulseElement.style.left = '50%'\n pulseElement.style.width = '100%'\n pulseElement.style.height = '100%'\n pulseElement.style.backgroundColor = 'rgba(0, 100, 255, 0.4)'\n pulseElement.style.borderRadius = '50%'\n pulseElement.style.transform = 'translate(-50%, -50%) scale(1)'\n pulseElement.style.animation = 'sonarPulse 2s infinite'\n\n markerElement.appendChild(pulseElement)\n\n // Adicionar a animação no CSS global\n const keyframes = `\n @keyframes sonarPulse {\n 0% {\n transform: translate(-50%, -50%) scale(1);\n opacity: 0.8;\n }\n 100% {\n transform: translate(-50%, -50%) scale(2);\n opacity: 0;\n }\n }`\n const styleElement = document.createElement('style')\n styleElement.innerHTML = keyframes\n document.head.appendChild(styleElement)\n\n // Criar o marcador no mapa\n const marker = L.marker(coords, {\n icon: L.divIcon({\n className: '',\n html: markerElement.outerHTML,\n iconSize: [40, 40], // Define o tamanho do ícone\n iconAnchor: [0, 5], // Centraliza o ícone (metade do width e height)\n }),\n })\n\n marker.addTo(map)\n\n // Limpar marcador e estilos ao desmontar\n return () => {\n map.removeLayer(marker)\n document.head.removeChild(styleElement)\n }\n }, [map, coords])\n\n return null // Nenhum componente visível, já que o marcador é diretamente manipulado pelo Leaflet\n}\n\nexport default AnimatedMarker\n","'use client'\nimport { Box, BoxProps } from '@mui/material'\nimport { MapContainer, TileLayer } from 'react-leaflet'\nimport DraggableMarker from './DraggableMarker'\n\nimport React from 'react'\n\nimport 'leaflet-defaulticon-compatibility'\nimport 'leaflet-defaulticon-compatibility/dist/leaflet-defaulticon-compatibility.css'\nimport 'leaflet/dist/leaflet.css'\nimport { LatLngExpression } from 'leaflet'\nimport AnimatedMarker from './AnimatedMarker'\nimport { ReactElement } from 'react'\n\nexport interface MapProps {\n firstCoords: any\n // eslint-disable-next-line no-unused-vars\n onCoordsChange?: (coords: any) => void\n pulseMarkerList?: LatLngExpression[]\n popupContent?: ReactElement\n style?: BoxProps\n mapStyle?: React.CSSProperties\n fixedPosition?: boolean\n}\n\nexport function Map(props: MapProps) {\n return (\n <Box borderRadius={2} border='2px solid #c7c7c7' overflow='hidden' {...props.style}>\n <MapContainer center={props.firstCoords} zoom={19} scrollWheelZoom style={props.mapStyle}>\n <TileLayer attribution='© <a href=\"https://www.openstreetmap.org/copyright\">OpenStreetMap</a> contributors' url='https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' />\n {props.pulseMarkerList && props.pulseMarkerList.map((coord, idx) => <AnimatedMarker key={JSON.stringify(coord) + idx} coords={coord} />)}\n <DraggableMarker startCoord={props.firstCoords} onChange={props.onCoordsChange} showPopup={typeof props.popupContent !== 'undefined'} fixedPosition={props.fixedPosition}>\n {props.popupContent}\n </DraggableMarker>\n </MapContainer>\n </Box>\n )\n}\n"],"names":["DraggableMarker","props","position","setPosition","useState","startCoord","markerRef","useRef","eventHandlers","useMemo","dragend","marker","current","getLatLng","useMapEvents","click","e","fixedPosition","lat","latlng","lng","useEffect","closePopup","showPopup","openPopup","onChange","_jsx","Marker","icon","redIcon","draggable","ref","children","jsx","Popup","className","iconUrl","shadowUrl","iconSize","iconAnchor","popupAnchor","shadowSize","AnimatedMarker","coords","map","useMap","markerElement","document","createElement","style","width","height","backgroundColor","borderRadius","animation","pulseElement","top","left","transform","appendChild","styleElement","innerHTML","head","L","divIcon","html","outerHTML","addTo","removeLayer","removeChild","Box","border","overflow","_jsxs","jsxs","MapContainer","center","firstCoords","zoom","scrollWheelZoom","mapStyle","TileLayer","attribution","url","pulseMarkerList","coord","idx","JSON","stringify","onCoordsChange","popupContent"],"mappings":"0YAiBwB,SAAAA,MAAqBC,IACzC,MAAOC,EAAUC,GAAeC,EAAAA,SAA2BH,EAAMI,YAC3DC,EAAYC,EAAAA,OAAmB,MAE/BC,EAAgBC,EAAOA,QACzB,KAAO,CACHC,UACI,MAAMC,EAASL,EAAUM,QACX,MAAVD,GACAR,EAAYQ,EAAOE,YAE3B,IAEJ,IAwBJ,OArBAC,EAAYA,aAAC,CACTC,MAAMC,GACEf,EAAMgB,eAEVd,EAAY,CAAEe,IAAKF,EAAEG,OAAOD,IAAKE,IAAKJ,EAAEG,OAAOC,KACnD,IAGJC,EAAAA,UAAU,KACDnB,IAEDI,EAAUM,UACVN,EAAUM,QAAQU,aAEdrB,EAAMsB,WAAWjB,EAAUM,QAAQY,aAGvCvB,EAAMwB,UAAUxB,EAAMwB,SAASvB,GAAQ,EAE5C,CAACA,EAAUD,EAAMwB,WAGhBC,EAAAA,IAACC,EAAAA,OAAO,CAAAC,KAAMC,EAASC,UAAW7B,EAAM6B,UAAWtB,cAAeA,EAAeN,SAAUA,EAAU6B,IAAKzB,EACtG0B,SAAAN,EAAAO,IAACC,QAAM,CAAAC,UAAU,wBAAgBlC,EAAM+B,YAGnD,CAGA,MAAMH,EAAUD,EAAAA,KAAK,CACjBQ,QAAS,8EACTC,UAAW,gFACXC,SAAU,CAAC,GAAI,IACfC,WAAY,CAAC,GAAI,IACjBC,YAAa,CAAC,GAAI,IAClBC,WAAY,CAAC,GAAI,IACjBN,UAAW,uBCjETO,EAAiBA,EAAGC,aACtB,MAAMC,EAAMC,EAAMA,SA6DlB,OA3DAxB,EAASA,UAAC,KAEN,MAAMyB,EAAgBC,SAASC,cAAc,OAC7CF,EAAcG,MAAM/C,SAAW,WAC/B4C,EAAcG,MAAMC,MAAQ,OAC5BJ,EAAcG,MAAME,OAAS,OAC7BL,EAAcG,MAAMG,gBAAkB,yBACtCN,EAAcG,MAAMI,aAAe,MACnCP,EAAcG,MAAMK,UAAY,yBAGhC,MAAMC,EAAeR,SAASC,cAAc,OAC5CO,EAAaN,MAAM/C,SAAW,WAC9BqD,EAAaN,MAAMO,IAAM,MACzBD,EAAaN,MAAMQ,KAAO,MAC1BF,EAAaN,MAAMC,MAAQ,OAC3BK,EAAaN,MAAME,OAAS,OAC5BI,EAAaN,MAAMG,gBAAkB,yBACrCG,EAAaN,MAAMI,aAAe,MAClCE,EAAaN,MAAMS,UAAY,iCAC/BH,EAAaN,MAAMK,UAAY,yBAE/BR,EAAca,YAAYJ,GAG1B,MAWMK,EAAeb,SAASC,cAAc,SAC5CY,EAAaC,UAZK,+TAalBd,SAASe,KAAKH,YAAYC,GAG1B,MAAMjD,EAASoD,EAAAA,QAAEpD,OAAOgC,EAAQ,CAC5Bf,KAAMmC,EAAAA,QAAEC,QAAQ,CACZ7B,UAAW,GACX8B,KAAMnB,EAAcoB,UACpB5B,SAAU,CAAC,GAAI,IACfC,WAAY,CAAC,EAAG,OAOxB,OAHA5B,EAAOwD,MAAMvB,GAGN,KACHA,EAAIwB,YAAYzD,GAChBoC,SAASe,KAAKO,YAAYT,GAC9B,EACD,CAAChB,EAAKD,IAEF,kBCzCK,SAAI1C,GAChB,OACIyB,EAAAA,IAAC4C,EAAAA,IAAG,CAACjB,aAAc,EAAGkB,OAAO,oBAAoBC,SAAS,YAAavE,EAAMgD,MAAKjB,SAC9EyC,EAACC,KAAAC,EAAYA,aAAC,CAAAC,OAAQ3E,EAAM4E,YAAaC,KAAM,GAAIC,iBAAgB,EAAA9B,MAAOhD,EAAM+E,SAC5EhD,SAAA,CAAAN,MAACuD,EAAAA,UAAS,CAACC,YAAY,qFAA0FC,IAAI,uDACpHlF,EAAMmF,iBAAmBnF,EAAMmF,gBAAgBxC,IAAI,CAACyC,EAAOC,IAAQ5D,EAACO,IAAAS,EAAiD,CAAAC,OAAQ0C,GAArCE,KAAKC,UAAUH,GAASC,IACjH5D,EAAAA,IAAC1B,EAAgB,CAAAK,WAAYJ,EAAM4E,YAAapD,SAAUxB,EAAMwF,eAAgBlE,eAAyC,IAAvBtB,EAAMyF,aAA8BzE,cAAehB,EAAMgB,cAAae,SACnK/B,EAAMyF,mBAK3B"}
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
interface OptionalInputProps {
|
|
2
|
-
title: string;
|
|
3
|
-
name: string;
|
|
4
|
-
required?: boolean;
|
|
5
|
-
xs?: number;
|
|
6
|
-
sm?: number;
|
|
7
|
-
md?: number;
|
|
8
|
-
}
|
|
9
|
-
export default function OptionalInput({ title, name, required, xs, sm, md }: OptionalInputProps): JSX.Element;
|
|
10
|
-
export {};
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { ReactElement } from 'react';
|
|
2
|
-
import { FieldValues } from 'react-hook-form';
|
|
3
|
-
interface FormProviderProps<T extends FieldValues> {
|
|
4
|
-
children: ReactElement | ReactElement[];
|
|
5
|
-
onSubmit: (data: T) => void;
|
|
6
|
-
formMethod?: 'POST' | 'GET' | 'PUT' | 'DELETE' | 'UPDATE';
|
|
7
|
-
submiting?: boolean;
|
|
8
|
-
}
|
|
9
|
-
export default function GenericFormProvider<T extends FieldValues>({ children, onSubmit, formMethod, submiting }: FormProviderProps<T>): JSX.Element;
|
|
10
|
-
export {};
|