linear-react-components-ui 1.1.26-beta.21 → 1.1.26-beta.22
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/lib/assets/styles/datepicker2.css +1 -1
- package/lib/assets/styles/dialog.css +1 -1
- package/lib/assets/styles/drawers.css +1 -1
- package/lib/assets/styles/gridlayout.css +1 -1
- package/lib/assets/styles/selectfield.css +1 -1
- package/lib/assets/styles/textfield.css +1 -1
- package/lib/assets/styles/tooltip.css +1 -1
- package/lib/dialog/base/index.js +53 -55
- package/lib/dialog/base/index.js.map +1 -1
- package/lib/dialog/form/index.js +56 -55
- package/lib/dialog/form/index.js.map +1 -1
- package/lib/drawer/Drawer.js +7 -7
- package/lib/drawer/Drawer.js.map +1 -1
- package/lib/drawer/index.js +1 -1
- package/lib/drawer/index.js.map +1 -1
- package/lib/form2/types.d.ts +9 -4
- package/lib/form2/useForm/index.js +96 -89
- package/lib/form2/useForm/index.js.map +1 -1
- package/lib/icons/helper.d.ts +12 -0
- package/lib/icons/helper.js +12 -0
- package/lib/icons/helper.js.map +1 -1
- package/lib/inputs/date/index.js +59 -61
- package/lib/inputs/date/index.js.map +1 -1
- package/lib/inputs2/checkboxfield/base.d.ts +27 -0
- package/lib/inputs2/checkboxfield/base.js +100 -0
- package/lib/inputs2/checkboxfield/base.js.map +1 -0
- package/lib/inputs2/checkboxfield/index.d.ts +4 -25
- package/lib/inputs2/checkboxfield/index.js +41 -108
- package/lib/inputs2/checkboxfield/index.js.map +1 -1
- package/lib/inputs2/date/datefield/base.d.ts +3 -0
- package/lib/inputs2/date/datefield/base.js +193 -0
- package/lib/inputs2/date/datefield/base.js.map +1 -0
- package/lib/inputs2/date/datefield/index.d.ts +2 -1
- package/lib/inputs2/date/datefield/index.js +42 -312
- package/lib/inputs2/date/datefield/index.js.map +1 -1
- package/lib/inputs2/date/datefield/types.d.ts +6 -4
- package/lib/inputs2/date/dateperiodfield/base.d.ts +3 -0
- package/lib/inputs2/date/dateperiodfield/base.js +511 -0
- package/lib/inputs2/date/dateperiodfield/base.js.map +1 -0
- package/lib/inputs2/date/dateperiodfield/index.d.ts +2 -1
- package/lib/inputs2/date/dateperiodfield/index.js +42 -517
- package/lib/inputs2/date/dateperiodfield/index.js.map +1 -1
- package/lib/inputs2/date/dateperiodfield/types.d.ts +6 -4
- package/lib/inputs2/mask/Cnpj.d.ts +1 -3
- package/lib/inputs2/mask/Cnpj.js +38 -44
- package/lib/inputs2/mask/Cnpj.js.map +1 -1
- package/lib/inputs2/mask/Cpf.d.ts +0 -1
- package/lib/inputs2/mask/Cpf.js +32 -42
- package/lib/inputs2/mask/Cpf.js.map +1 -1
- package/lib/inputs2/numberfield/index.js +85 -68
- package/lib/inputs2/numberfield/index.js.map +1 -1
- package/lib/inputs2/radiofield/base.d.ts +3 -0
- package/lib/inputs2/radiofield/base.js +115 -0
- package/lib/inputs2/radiofield/base.js.map +1 -0
- package/lib/inputs2/radiofield/index.d.ts +2 -1
- package/lib/inputs2/radiofield/index.js +41 -108
- package/lib/inputs2/radiofield/index.js.map +1 -1
- package/lib/inputs2/radiofield/types.d.ts +5 -2
- package/lib/inputs2/selectfield/base.d.ts +3 -0
- package/lib/inputs2/selectfield/base.js +411 -0
- package/lib/inputs2/selectfield/base.js.map +1 -0
- package/lib/inputs2/selectfield/index.d.ts +3 -3
- package/lib/inputs2/selectfield/index.js +49 -404
- package/lib/inputs2/selectfield/index.js.map +1 -1
- package/lib/inputs2/selectfield/listbox.d.ts +0 -1
- package/lib/inputs2/selectfield/listbox.js +33 -34
- package/lib/inputs2/selectfield/listbox.js.map +1 -1
- package/lib/inputs2/selectfield/types.d.ts +8 -7
- package/lib/inputs2/selectfield/types.js.map +1 -1
- package/lib/inputs2/textareafield/base.d.ts +23 -0
- package/lib/inputs2/textareafield/base.js +137 -0
- package/lib/inputs2/textareafield/base.js.map +1 -0
- package/lib/inputs2/textareafield/index.d.ts +4 -22
- package/lib/inputs2/textareafield/index.js +45 -130
- package/lib/inputs2/textareafield/index.js.map +1 -1
- package/lib/inputs2/textfield/base.d.ts +23 -0
- package/lib/inputs2/textfield/base.js +107 -0
- package/lib/inputs2/textfield/base.js.map +1 -0
- package/lib/inputs2/textfield/index.d.ts +4 -22
- package/lib/inputs2/textfield/index.js +45 -103
- package/lib/inputs2/textfield/index.js.map +1 -1
- package/lib/tooltip/types.d.ts +4 -1
- package/lib/tooltip/useTooltip.js +68 -86
- package/lib/tooltip/useTooltip.js.map +1 -1
- package/package.json +1 -1
- package/lib/inputs2/selectfield/simple.d.ts +0 -9
- package/lib/inputs2/selectfield/simple.js +0 -24
- package/lib/inputs2/selectfield/simple.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
.tooltip-component{font-family:Roboto,sans-serif;position:absolute;padding:8px;background:#000000d9;border-radius:5px;color:#fff;box-shadow:2px 2px 3px #0000004d;text-align:center;font-size:13px;z-index:999999;pointer-events:none;max-width:300px;word-break:break-word}.tooltip-component.left:after{content:" ";position:absolute;top:50%;left:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:transparent transparent transparent rgba(0,0,0,.85)}.tooltip-component.right:after{content:" ";position:absolute;top:50%;right:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:transparent rgba(0,0,0,.85) transparent transparent}.tooltip-component.top:after{content:" ";position:absolute;top:100%;left:
|
|
1
|
+
.tooltip-component{--arrow-position: 50%;font-family:Roboto,sans-serif;position:absolute;padding:8px;background:#000000d9;border-radius:5px;color:#fff;box-shadow:2px 2px 3px #0000004d;text-align:center;font-size:13px;z-index:999999;pointer-events:none;max-width:300px;word-break:break-word}.tooltip-component.left:after{content:" ";position:absolute;top:50%;left:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:transparent transparent transparent rgba(0,0,0,.85)}.tooltip-component.right:after{content:" ";position:absolute;top:50%;right:100%;margin-top:-5px;border-width:5px;border-style:solid;border-color:transparent rgba(0,0,0,.85) transparent transparent}.tooltip-component.top:after{content:" ";position:absolute;top:100%;left:var(--arrow-position);margin-left:-5px;border-width:5px;border-style:solid;border-color:rgba(0,0,0,.85) transparent transparent}.tooltip-component.bottom:after{content:" ";position:absolute;bottom:100%;left:var(--arrow-position);margin-left:-5px;border-width:5px;border-style:solid;border-color:transparent transparent rgba(0,0,0,.85)}.tooltip-component.tooltip-error{background:#dd2d1b;color:#fff;z-index:99999}.tooltip-component.tooltip-error:before{content:"";position:absolute;inset:0;height:100%;width:100%;background:inherit;border-radius:inherit;z-index:-1;opacity:.7;animation:tooltip-component 2s ease-out infinite}@keyframes tooltip-component{to{transform:scale(1.05,1.25);opacity:0}}.tooltip-component.tooltip-error.left:after{border-left-color:#dd2d1b}.tooltip-component.tooltip-error.right:after{border-right-color:#dd2d1b}.tooltip-component.tooltip-error.top:after{border-top-color:#dd2d1b}.tooltip-component.tooltip-error.bottom:after{border-bottom-color:#dd2d1b}
|
package/lib/dialog/base/index.js
CHANGED
|
@@ -12,46 +12,46 @@ import Pe from "../../node_modules/uuid/dist/v4.js";
|
|
|
12
12
|
const Be = _e({}), {
|
|
13
13
|
body: Me
|
|
14
14
|
} = document, ze = (c) => {
|
|
15
|
-
const e = De.c(
|
|
16
|
-
let
|
|
17
|
-
e[0] === Symbol.for("react.memo_cache_sentinel") ? (
|
|
18
|
-
const we =
|
|
15
|
+
const e = De.c(66);
|
|
16
|
+
let m;
|
|
17
|
+
e[0] === Symbol.for("react.memo_cache_sentinel") ? (m = Pe(), e[0] = m) : m = e[0];
|
|
18
|
+
const we = m, {
|
|
19
19
|
id: re,
|
|
20
20
|
overlay: ce,
|
|
21
|
-
closeOnEsc:
|
|
21
|
+
closeOnEsc: E,
|
|
22
22
|
closeOnOutsideClick: q,
|
|
23
23
|
wrapperClassName: ae,
|
|
24
24
|
className: de,
|
|
25
25
|
children: T,
|
|
26
26
|
open: a,
|
|
27
27
|
onOpenChange: d,
|
|
28
|
-
zIndex:
|
|
29
|
-
handlerClose:
|
|
28
|
+
zIndex: me,
|
|
29
|
+
handlerClose: x
|
|
30
30
|
} = c, U = re === void 0 ? we : re, G = ce === void 0 ? !0 : ce, J = ae === void 0 ? "" : ae, be = de === void 0 ? "" : de, {
|
|
31
31
|
headerRef: Q
|
|
32
|
-
} = Oe(Se), [
|
|
33
|
-
let x;
|
|
34
|
-
e[1] === Symbol.for("react.memo_cache_sentinel") ? (x = [], e[1] = x) : x = e[1];
|
|
35
|
-
const ye = le(x);
|
|
36
|
-
a !== void 0 && a !== t && ue(a);
|
|
32
|
+
} = Oe(Se), [fe, ue] = he(a), t = fe === void 0 ? !0 : fe, [i, pe] = he(!1), n = le(null), V = le(null);
|
|
37
33
|
let C;
|
|
38
|
-
e[
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
const l = C;
|
|
34
|
+
e[1] === Symbol.for("react.memo_cache_sentinel") ? (C = [], e[1] = C) : C = e[1];
|
|
35
|
+
const ye = le(C);
|
|
36
|
+
a !== void 0 && a !== t && ue(a);
|
|
42
37
|
let D;
|
|
43
|
-
e[
|
|
38
|
+
e[2] !== x || e[3] !== d || e[4] !== a ? (D = () => {
|
|
39
|
+
a !== void 0 && d ? d(!1) : (x && x(), d && d(!1));
|
|
40
|
+
}, e[2] = x, e[3] = d, e[4] = a, e[5] = D) : D = e[5];
|
|
41
|
+
const l = D;
|
|
42
|
+
let R;
|
|
43
|
+
e[6] !== q || e[7] !== l || e[8] !== i ? (R = (o) => {
|
|
44
44
|
if (!q)
|
|
45
45
|
return;
|
|
46
46
|
const s = o.target;
|
|
47
47
|
o.stopPropagation(), n !== null && n.current !== null && !i && !n.current.contains(s) && l();
|
|
48
|
-
}, e[6] = q, e[7] = l, e[8] = i, e[9] =
|
|
49
|
-
const Z =
|
|
50
|
-
let
|
|
51
|
-
e[10] !== l ? (
|
|
48
|
+
}, e[6] = q, e[7] = l, e[8] = i, e[9] = R) : R = e[9];
|
|
49
|
+
const Z = R;
|
|
50
|
+
let _;
|
|
51
|
+
e[10] !== l ? (_ = (o) => {
|
|
52
52
|
o?.key === "Escape" && (o.stopPropagation(), l());
|
|
53
|
-
}, e[10] = l, e[11] =
|
|
54
|
-
const
|
|
53
|
+
}, e[10] = l, e[11] = _) : _ = e[11];
|
|
54
|
+
const w = _;
|
|
55
55
|
let O, L;
|
|
56
56
|
e[12] !== t ? (O = () => {
|
|
57
57
|
t && V.current && (ye.current = Array.from(V.current.querySelectorAll("button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])")));
|
|
@@ -109,54 +109,52 @@ const Be = _e({}), {
|
|
|
109
109
|
o.shiftKey && document.activeElement === r ? (b.focus(), o.preventDefault()) : !o.shiftKey && document.activeElement === b && (r.focus(), o.preventDefault());
|
|
110
110
|
}
|
|
111
111
|
}, e[21] = K) : K = e[21];
|
|
112
|
-
const xe = K, ee =
|
|
113
|
-
let
|
|
114
|
-
e[22] !== ee ? (
|
|
112
|
+
const xe = K, ee = me ? Number(me) : void 0;
|
|
113
|
+
let f;
|
|
114
|
+
e[22] !== ee ? (f = {
|
|
115
115
|
zIndex: ee
|
|
116
|
-
}, e[22] = ee, e[23] =
|
|
117
|
-
let
|
|
118
|
-
e[24] !== G ? (
|
|
116
|
+
}, e[22] = ee, e[23] = f) : f = e[23];
|
|
117
|
+
let u;
|
|
118
|
+
e[24] !== G ? (u = G && /* @__PURE__ */ z("div", { className: "modal-overlay", "data-testid": "modal-overlay" }), e[24] = G, e[25] = u) : u = e[25];
|
|
119
119
|
const te = `dialog ${be}`;
|
|
120
|
+
let p;
|
|
121
|
+
e[26] !== c ? (p = Ne(c), e[26] = c, e[27] = p) : p = e[27];
|
|
120
122
|
let y;
|
|
121
|
-
e[
|
|
123
|
+
e[28] !== T || e[29] !== p || e[30] !== J ? (y = /* @__PURE__ */ z("div", { className: J, "data-testid": "dialog-wrapper", style: p, ref: n, children: T }), e[28] = T, e[29] = p, e[30] = J, e[31] = y) : y = e[31];
|
|
122
124
|
let v;
|
|
123
|
-
e[
|
|
124
|
-
let g;
|
|
125
|
-
e[32] !== te || e[33] !== v ? (g = /* @__PURE__ */ z("div", { className: te, "data-testid": "dialog-component", children: v }), e[32] = te, e[33] = v, e[34] = g) : g = e[34];
|
|
125
|
+
e[32] !== te || e[33] !== y ? (v = /* @__PURE__ */ z("div", { className: te, "data-testid": "dialog-component", children: y }), e[32] = te, e[33] = y, e[34] = v) : v = e[34];
|
|
126
126
|
let W;
|
|
127
|
-
e[35] !== Z || e[36] !== U || e[37] !==
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
] }), e[35] = Z, e[36] = U, e[37] =
|
|
127
|
+
e[35] !== Z || e[36] !== U || e[37] !== f || e[38] !== u || e[39] !== v ? (W = /* @__PURE__ */ Ce("div", { id: U, onKeyDown: xe, ref: V, className: "modalcontainer", onMouseDown: Z, style: f, children: [
|
|
128
|
+
u,
|
|
129
|
+
v
|
|
130
|
+
] }), e[35] = Z, e[36] = U, e[37] = f, e[38] = u, e[39] = v, e[40] = W) : W = e[40];
|
|
131
131
|
const oe = W;
|
|
132
132
|
let $;
|
|
133
133
|
e[41] === Symbol.for("react.memo_cache_sentinel") ? ($ = [], e[41] = $) : $ = e[41], Le(ke, $);
|
|
134
|
-
let H;
|
|
135
|
-
e[42] !==
|
|
136
|
-
document.removeEventListener("keydown",
|
|
137
|
-
}), e[42] =
|
|
138
|
-
let I;
|
|
139
|
-
e[46] !== m || e[47] !== t ? (I = [t, m], e[46] = m, e[47] = t, e[48] = I) : I = e[48], F(H, I);
|
|
134
|
+
let H, I;
|
|
135
|
+
e[42] !== E || e[43] !== w || e[44] !== t ? (H = () => (t && E && document.addEventListener("keydown", w), () => {
|
|
136
|
+
document.removeEventListener("keydown", w);
|
|
137
|
+
}), I = [t, E, w], e[42] = E, e[43] = w, e[44] = t, e[45] = H, e[46] = I) : (H = e[45], I = e[46]), F(H, I);
|
|
140
138
|
let A;
|
|
141
|
-
e[
|
|
139
|
+
e[47] !== i || e[48] !== M || e[49] !== P || e[50] !== t ? (A = () => (t && (document.addEventListener("mousedown", M), document.addEventListener("mouseup", ve), i && document.addEventListener("mousemove", P)), () => {
|
|
142
140
|
document.removeEventListener("mousedown", M), document.removeEventListener("mouseup", ve), document.removeEventListener("mousemove", P);
|
|
143
|
-
}), e[
|
|
141
|
+
}), e[47] = i, e[48] = M, e[49] = P, e[50] = t, e[51] = A) : A = e[51];
|
|
144
142
|
let X;
|
|
145
|
-
e[
|
|
143
|
+
e[52] !== i || e[53] !== t ? (X = [i, t], e[52] = i, e[53] = t, e[54] = X) : X = e[54], F(A, X);
|
|
146
144
|
let Y;
|
|
147
|
-
if (e[
|
|
145
|
+
if (e[55] !== t ? (Y = [t], e[55] = t, e[56] = Y) : Y = e[56], F(Ke, Y), !t)
|
|
148
146
|
return null;
|
|
149
147
|
const ne = d || ue;
|
|
150
|
-
let
|
|
151
|
-
e[
|
|
148
|
+
let g;
|
|
149
|
+
e[57] !== l || e[58] !== t || e[59] !== ne ? (g = {
|
|
152
150
|
handleClose: l,
|
|
153
151
|
open: t,
|
|
154
152
|
onOpenChange: ne
|
|
155
|
-
}, e[
|
|
156
|
-
let
|
|
157
|
-
e[
|
|
153
|
+
}, e[57] = l, e[58] = t, e[59] = ne, e[60] = g) : g = e[60];
|
|
154
|
+
let h;
|
|
155
|
+
e[61] !== oe ? (h = Re.createPortal(oe, Me), e[61] = oe, e[62] = h) : h = e[62];
|
|
158
156
|
let j;
|
|
159
|
-
return e[
|
|
157
|
+
return e[63] !== g || e[64] !== h ? (j = /* @__PURE__ */ z(Be.Provider, { value: g, children: h }), e[63] = g, e[64] = h, e[65] = j) : j = e[65], j;
|
|
160
158
|
};
|
|
161
159
|
function ke() {
|
|
162
160
|
const {
|
|
@@ -167,9 +165,9 @@ function ke() {
|
|
|
167
165
|
};
|
|
168
166
|
}
|
|
169
167
|
function Ke() {
|
|
170
|
-
const c = window.innerWidth - document.documentElement.clientWidth, e = document.body.style.overflow,
|
|
168
|
+
const c = window.innerWidth - document.documentElement.clientWidth, e = document.body.style.overflow, m = document.body.style.paddingRight;
|
|
171
169
|
return document.body.style.overflow = "hidden", document.body.style.paddingRight = `${c}px`, () => {
|
|
172
|
-
document.body.style.overflow = e, document.body.style.paddingRight =
|
|
170
|
+
document.body.style.overflow = e, document.body.style.paddingRight = m;
|
|
173
171
|
};
|
|
174
172
|
}
|
|
175
173
|
export {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/dialog/base/index.tsx"],"sourcesContent":["import '../../assets/styles/dialog.scss';\nimport ReactDOM from 'react-dom';\nimport * as uuid from 'uuid';\nimport { \n createContext, \n MouseEventHandler, \n useContext, \n useEffect, \n useLayoutEffect, \n useRef, \n useState,\n KeyboardEvent as ReactKeyboardEvent,\n} from 'react';\nimport dialogStyle from './style';\nimport { IBaseProps } from '../types';\nimport { FormDialogContext } from '../form';\nimport BaseContent from './Content';\nimport BaseHeader from './Header';\nimport BaseFooter from './Footer';\n\ntype DialogContextType = {\n handleClose: () => void\n open: boolean\n onOpenChange: (open: boolean) => void\n};\n\nexport const DialogContext = createContext({} as DialogContextType);\n\nconst { body } = document;\nconst BaseDialog = (props: IBaseProps) => {\n const baseDialogId = uuid.v4();\n const {\n id = baseDialogId,\n overlay = true,\n closeOnEsc,\n closeOnOutsideClick,\n wrapperClassName = '',\n className = '',\n children,\n open: openProp,\n onOpenChange,\n zIndex,\n handlerClose,\n } = props;\n const { headerRef } = useContext(FormDialogContext);\n const [open = true, setOpen] = useState(openProp);\n const [isDragging, setIsDragging] = useState(false);\n const wrapperEl = useRef<HTMLDivElement>(null);\n const modalContainerRef = useRef<HTMLDivElement>(null);\n const focusableElementsRef = useRef<HTMLElement[]>([]);\n\n if (openProp !== undefined && openProp !== open) {\n setOpen(openProp);\n }\n\n const handleClose = () => {\n if (openProp !== undefined && onOpenChange) {\n onOpenChange(false);\n } else {\n if (handlerClose) handlerClose();\n if (onOpenChange) onOpenChange(false);\n }\n };\n\n const handleClickOutside: MouseEventHandler = (event) => {\n if (!closeOnOutsideClick) return;\n const target = event.target as Element;\n event.stopPropagation();\n if (wrapperEl !== null && wrapperEl.current !== null && !isDragging &&\n !wrapperEl.current.contains(target)) {\n handleClose();\n }\n };\n\n const onKeyDownPress = (event: KeyboardEvent) => {\n if (event?.key === 'Escape') {\n event.stopPropagation();\n handleClose();\n }\n };\n\n useEffect(() => {\n if (open && modalContainerRef.current) {\n focusableElementsRef.current = Array.from(\n modalContainerRef.current.querySelectorAll<HTMLElement>(\n \"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\",\n ),\n );\n }\n }, [open]);\n\n const onDialogPositionChange = ({\n positionX, positionY,\n }: { positionX: number; positionY: number; }) => {\n if (wrapperEl.current) {\n const { width, height } = wrapperEl.current.getBoundingClientRect();\n let x = positionX <= 0 ? 0 : positionX;\n let y = positionY <= 0 ? 0 : positionY;\n\n if (x + width >= window.innerWidth) x = window.innerWidth - width;\n if (y + height >= window.innerHeight) y = window.innerHeight - height;\n\n wrapperEl.current.style.transform = `translate(${x}px, ${y}px)`;\n wrapperEl.current.style.transition = 'none';\n wrapperEl.current.style.left = '0';\n wrapperEl.current.style.top = '0';\n wrapperEl.current.style.position = 'absolute';\n }\n };\n\n const onMouseMove = (event: MouseEvent) => {\n if (wrapperEl.current && isDragging) {\n const { left, top } = wrapperEl.current.getBoundingClientRect();\n onDialogPositionChange({\n positionX: event.movementX + left,\n positionY: event.movementY + top,\n });\n }\n };\n\n const onMouseDown = (event: MouseEvent) => {\n const element = event.target as Element;\n const isHeader = headerRef?.current?.contains(element);\n\n if (wrapperEl.current && isHeader) setIsDragging(true);\n };\n\n const onMouseUp = () => {\n if (wrapperEl.current) setIsDragging(false);\n };\n\n const handleKeyDown = (e: ReactKeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Tab') {\n const { current: elements } = focusableElementsRef;\n if (elements.length === 0) return;\n\n const firstElement = elements[0];\n const lastElement = elements[elements.length - 1];\n\n if (e.shiftKey && document.activeElement === firstElement) {\n lastElement.focus();\n e.preventDefault();\n } else if (!e.shiftKey && document.activeElement === lastElement) {\n firstElement.focus();\n e.preventDefault();\n }\n }\n };\n\n const createdModal = (\n <div\n id={id}\n onKeyDown={handleKeyDown}\n ref={modalContainerRef}\n className='modalcontainer'\n onMouseDown={handleClickOutside}\n style={{ zIndex: zIndex ? Number(zIndex) : undefined }}>\n {overlay && (\n <div className='modal-overlay' data-testid=\"modal-overlay\" />\n )}\n <div className={`dialog ${className}`} data-testid='dialog-component'>\n <div\n className={wrapperClassName}\n data-testid=\"dialog-wrapper\"\n style={dialogStyle(props)}\n ref={wrapperEl}>\n {children}\n </div>\n </div>\n </div>\n );\n\n useLayoutEffect(() => {\n const { activeElement } = document;\n const lastElementActiveBeforeOpen = activeElement as HTMLElement;\n return () => { lastElementActiveBeforeOpen?.focus(); };\n }, []);\n\n useEffect(() => {\n if (open) {\n if (closeOnEsc) {\n document.addEventListener('keydown', onKeyDownPress);\n }\n }\n\n return () => {\n document.removeEventListener('keydown', onKeyDownPress);\n };\n }, [open, closeOnEsc]);\n\n useEffect(() => {\n if (open) {\n document.addEventListener('mousedown', onMouseDown);\n document.addEventListener('mouseup', onMouseUp);\n if (isDragging) document.addEventListener('mousemove', onMouseMove);\n }\n\n return () => {\n document.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [isDragging, open]);\n\n useEffect(() => {\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n const originalOverflow = document.body.style.overflow;\n const originalPaddingRight = document.body.style.paddingRight;\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight = `${scrollbarWidth}px`;\n\n return () => {\n document.body.style.overflow = originalOverflow;\n document.body.style.paddingRight = originalPaddingRight;\n };\n }, [open]);\n\n if (!open) return null;\n\n return (\n <DialogContext.Provider value={{\n handleClose, open, onOpenChange: onOpenChange || setOpen,\n }}>\n {ReactDOM.createPortal(createdModal, body)}\n </DialogContext.Provider>\n );\n};\n\nexport default BaseDialog;\nexport { BaseContent, BaseHeader, BaseFooter }; \n"],"names":["DialogContext","createContext","body","document","BaseDialog","props","$","_c","t0","Symbol","for","uuid","v4","baseDialogId","id","t1","overlay","t2","closeOnEsc","closeOnOutsideClick","wrapperClassName","t3","className","t4","children","open","openProp","onOpenChange","zIndex","handlerClose","undefined","headerRef","useContext","FormDialogContext","t5","setOpen","useState","isDragging","setIsDragging","wrapperEl","useRef","modalContainerRef","t6","focusableElementsRef","t7","handleClose","t8","event","target","stopPropagation","current","contains","handleClickOutside","t9","event_0","key","onKeyDownPress","t10","t11","Array","from","querySelectorAll","useEffect","t12","t13","positionX","positionY","width","height","getBoundingClientRect","x","y","window","innerWidth","innerHeight","style","transform","transition","left","top","position","onDialogPositionChange","event_1","movementX","movementY","onMouseMove","t14","event_2","element","isHeader","onMouseDown","t15","onMouseUp","t16","e","elements","length","firstElement","lastElement","shiftKey","activeElement","focus","preventDefault","handleKeyDown","t17","Number","t18","t19","jsx","t20","t21","dialogStyle","t22","t23","t24","createdModal","t25","useLayoutEffect","_temp","t26","addEventListener","removeEventListener","t27","t28","t29","t30","_temp2","t31","t32","t33","ReactDOM","createPortal","t34","lastElementActiveBeforeOpen","scrollbarWidth","documentElement","clientWidth","originalOverflow","overflow","originalPaddingRight","paddingRight"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/dialog/base/index.tsx"],"sourcesContent":["import '../../assets/styles/dialog.scss';\nimport ReactDOM from 'react-dom';\nimport * as uuid from 'uuid';\nimport { \n createContext, \n MouseEventHandler, \n useContext, \n useEffect, \n useLayoutEffect, \n useRef, \n useState,\n KeyboardEvent as ReactKeyboardEvent,\n} from 'react';\nimport dialogStyle from './style';\nimport { IBaseProps } from '../types';\nimport { FormDialogContext } from '../form';\nimport BaseContent from './Content';\nimport BaseHeader from './Header';\nimport BaseFooter from './Footer';\n\ntype DialogContextType = {\n handleClose: () => void\n open: boolean\n onOpenChange: (open: boolean) => void\n};\n\nexport const DialogContext = createContext({} as DialogContextType);\n\nconst { body } = document;\nconst BaseDialog = (props: IBaseProps) => {\n const baseDialogId = uuid.v4();\n const {\n id = baseDialogId,\n overlay = true,\n closeOnEsc,\n closeOnOutsideClick,\n wrapperClassName = '',\n className = '',\n children,\n open: openProp,\n onOpenChange,\n zIndex,\n handlerClose,\n } = props;\n const { headerRef } = useContext(FormDialogContext);\n const [open = true, setOpen] = useState(openProp);\n const [isDragging, setIsDragging] = useState(false);\n const wrapperEl = useRef<HTMLDivElement>(null);\n const modalContainerRef = useRef<HTMLDivElement>(null);\n const focusableElementsRef = useRef<HTMLElement[]>([]);\n\n if (openProp !== undefined && openProp !== open) {\n setOpen(openProp);\n }\n\n const handleClose = () => {\n if (openProp !== undefined && onOpenChange) {\n onOpenChange(false);\n } else {\n if (handlerClose) handlerClose();\n if (onOpenChange) onOpenChange(false);\n }\n };\n\n const handleClickOutside: MouseEventHandler = (event) => {\n if (!closeOnOutsideClick) return;\n const target = event.target as Element;\n event.stopPropagation();\n if (wrapperEl !== null && wrapperEl.current !== null && !isDragging &&\n !wrapperEl.current.contains(target)) {\n handleClose();\n }\n };\n\n const onKeyDownPress = (event: KeyboardEvent) => {\n if (event?.key === 'Escape') {\n event.stopPropagation();\n handleClose();\n }\n };\n\n useEffect(() => {\n if (open && modalContainerRef.current) {\n focusableElementsRef.current = Array.from(\n modalContainerRef.current.querySelectorAll<HTMLElement>(\n \"button, a, input, select, textarea, [tabindex]:not([tabindex='-1'])\",\n ),\n );\n }\n }, [open]);\n\n const onDialogPositionChange = ({\n positionX, positionY,\n }: { positionX: number; positionY: number; }) => {\n if (wrapperEl.current) {\n const { width, height } = wrapperEl.current.getBoundingClientRect();\n let x = positionX <= 0 ? 0 : positionX;\n let y = positionY <= 0 ? 0 : positionY;\n\n if (x + width >= window.innerWidth) x = window.innerWidth - width;\n if (y + height >= window.innerHeight) y = window.innerHeight - height;\n\n wrapperEl.current.style.transform = `translate(${x}px, ${y}px)`;\n wrapperEl.current.style.transition = 'none';\n wrapperEl.current.style.left = '0';\n wrapperEl.current.style.top = '0';\n wrapperEl.current.style.position = 'absolute';\n }\n };\n\n const onMouseMove = (event: MouseEvent) => {\n if (wrapperEl.current && isDragging) {\n const { left, top } = wrapperEl.current.getBoundingClientRect();\n onDialogPositionChange({\n positionX: event.movementX + left,\n positionY: event.movementY + top,\n });\n }\n };\n\n const onMouseDown = (event: MouseEvent) => {\n const element = event.target as Element;\n const isHeader = headerRef?.current?.contains(element);\n\n if (wrapperEl.current && isHeader) setIsDragging(true);\n };\n\n const onMouseUp = () => {\n if (wrapperEl.current) setIsDragging(false);\n };\n\n const handleKeyDown = (e: ReactKeyboardEvent<HTMLDivElement>) => {\n if (e.key === 'Tab') {\n const { current: elements } = focusableElementsRef;\n if (elements.length === 0) return;\n\n const firstElement = elements[0];\n const lastElement = elements[elements.length - 1];\n\n if (e.shiftKey && document.activeElement === firstElement) {\n lastElement.focus();\n e.preventDefault();\n } else if (!e.shiftKey && document.activeElement === lastElement) {\n firstElement.focus();\n e.preventDefault();\n }\n }\n };\n\n const createdModal = (\n <div\n id={id}\n onKeyDown={handleKeyDown}\n ref={modalContainerRef}\n className='modalcontainer'\n onMouseDown={handleClickOutside}\n style={{ zIndex: zIndex ? Number(zIndex) : undefined }}>\n {overlay && (\n <div className='modal-overlay' data-testid=\"modal-overlay\" />\n )}\n <div className={`dialog ${className}`} data-testid='dialog-component'>\n <div\n className={wrapperClassName}\n data-testid=\"dialog-wrapper\"\n style={dialogStyle(props)}\n ref={wrapperEl}>\n {children}\n </div>\n </div>\n </div>\n );\n\n useLayoutEffect(() => {\n const { activeElement } = document;\n const lastElementActiveBeforeOpen = activeElement as HTMLElement;\n return () => { lastElementActiveBeforeOpen?.focus(); };\n }, []);\n\n useEffect(() => {\n if (open) {\n if (closeOnEsc) {\n document.addEventListener('keydown', onKeyDownPress);\n }\n }\n\n return () => {\n document.removeEventListener('keydown', onKeyDownPress);\n };\n }, [open, closeOnEsc, onKeyDownPress]);\n\n useEffect(() => {\n if (open) {\n document.addEventListener('mousedown', onMouseDown);\n document.addEventListener('mouseup', onMouseUp);\n if (isDragging) document.addEventListener('mousemove', onMouseMove);\n }\n\n return () => {\n document.removeEventListener('mousedown', onMouseDown);\n document.removeEventListener('mouseup', onMouseUp);\n document.removeEventListener('mousemove', onMouseMove);\n };\n }, [isDragging, open]);\n\n useEffect(() => {\n const scrollbarWidth = window.innerWidth - document.documentElement.clientWidth;\n\n const originalOverflow = document.body.style.overflow;\n const originalPaddingRight = document.body.style.paddingRight;\n\n document.body.style.overflow = 'hidden';\n document.body.style.paddingRight = `${scrollbarWidth}px`;\n\n return () => {\n document.body.style.overflow = originalOverflow;\n document.body.style.paddingRight = originalPaddingRight;\n };\n }, [open]);\n\n if (!open) return null;\n\n return (\n <DialogContext.Provider value={{\n handleClose, open, onOpenChange: onOpenChange || setOpen,\n }}>\n {ReactDOM.createPortal(createdModal, body)}\n </DialogContext.Provider>\n );\n};\n\nexport default BaseDialog;\nexport { BaseContent, BaseHeader, BaseFooter }; \n"],"names":["DialogContext","createContext","body","document","BaseDialog","props","$","_c","t0","Symbol","for","uuid","v4","baseDialogId","id","t1","overlay","t2","closeOnEsc","closeOnOutsideClick","wrapperClassName","t3","className","t4","children","open","openProp","onOpenChange","zIndex","handlerClose","undefined","headerRef","useContext","FormDialogContext","t5","setOpen","useState","isDragging","setIsDragging","wrapperEl","useRef","modalContainerRef","t6","focusableElementsRef","t7","handleClose","t8","event","target","stopPropagation","current","contains","handleClickOutside","t9","event_0","key","onKeyDownPress","t10","t11","Array","from","querySelectorAll","useEffect","t12","t13","positionX","positionY","width","height","getBoundingClientRect","x","y","window","innerWidth","innerHeight","style","transform","transition","left","top","position","onDialogPositionChange","event_1","movementX","movementY","onMouseMove","t14","event_2","element","isHeader","onMouseDown","t15","onMouseUp","t16","e","elements","length","firstElement","lastElement","shiftKey","activeElement","focus","preventDefault","handleKeyDown","t17","Number","t18","t19","jsx","t20","t21","dialogStyle","t22","t23","t24","createdModal","t25","useLayoutEffect","_temp","t26","t27","addEventListener","removeEventListener","t28","t29","t30","_temp2","t31","t32","t33","ReactDOM","createPortal","t34","lastElementActiveBeforeOpen","scrollbarWidth","documentElement","clientWidth","originalOverflow","overflow","originalPaddingRight","paddingRight"],"mappings":"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"}
|
package/lib/dialog/form/index.js
CHANGED
|
@@ -1,31 +1,32 @@
|
|
|
1
|
-
import { jsx as l, jsxs as
|
|
2
|
-
import { c as
|
|
3
|
-
import { createContext as
|
|
4
|
-
import
|
|
5
|
-
import
|
|
6
|
-
import
|
|
1
|
+
import { jsx as l, jsxs as Z } from "react/jsx-runtime";
|
|
2
|
+
import { c as le } from "../../_virtual/compiler-runtime.js";
|
|
3
|
+
import { createContext as re, useRef as se, useContext as ce, useState as ae, useEffect as me, Children as fe, cloneElement as p } from "react";
|
|
4
|
+
import de from "../base/index.js";
|
|
5
|
+
import ue from "../base/Header.js";
|
|
6
|
+
import he from "../../buttons/button_container/index.js";
|
|
7
7
|
import '../../assets/styles/button.css';/* empty css */
|
|
8
|
-
import
|
|
9
|
-
import
|
|
10
|
-
import
|
|
11
|
-
import
|
|
12
|
-
import
|
|
13
|
-
const
|
|
14
|
-
const e =
|
|
8
|
+
import Ce from "../base/Content.js";
|
|
9
|
+
import ye from "../base/Footer.js";
|
|
10
|
+
import ve from "../../spinner/index.js";
|
|
11
|
+
import we, { FormSecurityContext as xe } from "../../form/withFormSecurity.js";
|
|
12
|
+
import ge from "../Question.js";
|
|
13
|
+
const Fe = re({}), Ne = (t) => {
|
|
14
|
+
const e = le.c(56), {
|
|
15
15
|
showFooter: H,
|
|
16
16
|
isWaiting: I,
|
|
17
17
|
width: M,
|
|
18
18
|
height: P,
|
|
19
|
-
content:
|
|
20
|
-
children:
|
|
19
|
+
content: ee,
|
|
20
|
+
children: te,
|
|
21
21
|
className: Q,
|
|
22
22
|
wrapperClassName: V,
|
|
23
23
|
contentClassName: q,
|
|
24
24
|
headerClassName: G,
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
closeOnEsc: J,
|
|
26
|
+
securityBeforeUnload: K,
|
|
27
|
+
securityTitle: X,
|
|
28
|
+
securityText: Y
|
|
29
|
+
} = t, B = H === void 0 ? !0 : H, r = I === void 0 ? !1 : I, D = M === void 0 ? "50%" : M, T = P === void 0 ? "50%" : P, U = Q === void 0 ? "" : Q, oe = V === void 0 ? "" : V, _ = q === void 0 ? "" : q, b = G === void 0 ? "" : G, k = J === void 0 ? !0 : J, o = K === void 0 ? !1 : K, R = X === void 0 ? "Dados Alterados" : X, $ = Y === void 0 ? "Você possui dados alterados, confirma o fechamento?" : Y, ne = se(null), C = ce(xe), [j, A] = ae(!1);
|
|
29
30
|
let y;
|
|
30
31
|
e[0] !== r ? (y = r ? {
|
|
31
32
|
opacity: 0.4,
|
|
@@ -35,77 +36,77 @@ const xe = ne({}), ge = (t) => {
|
|
|
35
36
|
let v;
|
|
36
37
|
e[2] !== t || e[3] !== o ? (v = () => {
|
|
37
38
|
if (o) {
|
|
38
|
-
|
|
39
|
+
A(!0);
|
|
39
40
|
return;
|
|
40
41
|
}
|
|
41
42
|
t.handlerClose && t.handlerClose();
|
|
42
43
|
}, e[2] = t, e[3] = o, e[4] = v) : v = e[4];
|
|
43
|
-
const
|
|
44
|
+
const n = v;
|
|
44
45
|
let w;
|
|
45
46
|
e[5] !== t ? (w = () => {
|
|
46
|
-
t.handlerClose?.(),
|
|
47
|
+
t.handlerClose?.(), A(!1);
|
|
47
48
|
}, e[5] = t, e[6] = w) : w = e[6];
|
|
48
|
-
const
|
|
49
|
+
const L = w;
|
|
49
50
|
let x;
|
|
50
51
|
e[7] === Symbol.for("react.memo_cache_sentinel") ? (x = () => {
|
|
51
|
-
|
|
52
|
+
A(!1);
|
|
52
53
|
}, e[7] = x) : x = e[7];
|
|
53
|
-
const
|
|
54
|
+
const ie = x;
|
|
54
55
|
let g;
|
|
55
|
-
e[8] !== r ? (g = () => r ? /* @__PURE__ */ l("div", { className: "waitingspinner", children: /* @__PURE__ */ l(
|
|
56
|
+
e[8] !== r ? (g = () => r ? /* @__PURE__ */ l("div", { className: "waitingspinner", children: /* @__PURE__ */ l(ve, { style: {
|
|
56
57
|
width: 60
|
|
57
58
|
}, delayTime: 0 }) }) : null, e[8] = r, e[9] = g) : g = e[9];
|
|
58
|
-
const
|
|
59
|
+
const O = g;
|
|
59
60
|
let F, N;
|
|
60
61
|
e[10] !== o ? (F = () => {
|
|
61
|
-
const
|
|
62
|
-
return o && window.addEventListener("beforeunload",
|
|
63
|
-
window.removeEventListener("beforeunload",
|
|
62
|
+
const i = Se;
|
|
63
|
+
return o && window.addEventListener("beforeunload", i), () => {
|
|
64
|
+
window.removeEventListener("beforeunload", i);
|
|
64
65
|
};
|
|
65
|
-
}, N = [o], e[10] = o, e[11] = F, e[12] = N) : (F = e[11], N = e[12]),
|
|
66
|
+
}, N = [o], e[10] = o, e[11] = F, e[12] = N) : (F = e[11], N = e[12]), me(F, N);
|
|
66
67
|
let S;
|
|
67
68
|
e[13] === Symbol.for("react.memo_cache_sentinel") ? (S = {
|
|
68
|
-
headerRef:
|
|
69
|
+
headerRef: ne
|
|
69
70
|
}, e[13] = S) : S = e[13];
|
|
70
|
-
const W = `dialog-form-wrapper ${
|
|
71
|
-
let a;
|
|
72
|
-
e[14] !== i || e[15] !== b || e[16] !== t.icon || e[17] !== t.title ? (a = t.title && /* @__PURE__ */ l("div", { className: `header-form ${b}`, children: /* @__PURE__ */ l(fe, { title: t.title, handlerClose: i, icon: t.icon }) }), e[14] = i, e[15] = b, e[16] = t.icon, e[17] = t.title, e[18] = a) : a = e[18];
|
|
71
|
+
const W = `dialog-form-wrapper ${oe}`;
|
|
73
72
|
let c;
|
|
74
|
-
e[
|
|
73
|
+
e[14] !== n || e[15] !== b || e[16] !== t.icon || e[17] !== t.title ? (c = t.title && /* @__PURE__ */ l("div", { className: `header-form ${b}`, children: /* @__PURE__ */ l(ue, { title: t.title, handlerClose: n, icon: t.icon }) }), e[14] = n, e[15] = b, e[16] = t.icon, e[17] = t.title, e[18] = c) : c = e[18];
|
|
74
|
+
let a;
|
|
75
|
+
e[19] !== s || e[20] !== t.styleForContent ? (a = {
|
|
75
76
|
...t.styleForContent,
|
|
76
77
|
...s
|
|
77
|
-
}, e[19] = s, e[20] = t.styleForContent, e[21] =
|
|
78
|
-
const z =
|
|
78
|
+
}, e[19] = s, e[20] = t.styleForContent, e[21] = a) : a = e[21];
|
|
79
|
+
const z = ee || te;
|
|
79
80
|
let m;
|
|
80
|
-
e[22] !== _ || e[23] !==
|
|
81
|
+
e[22] !== _ || e[23] !== a || e[24] !== z ? (m = /* @__PURE__ */ l(Ce, { styleForContent: a, className: _, children: z }), e[22] = _, e[23] = a, e[24] = z, e[25] = m) : m = e[25];
|
|
81
82
|
let f;
|
|
82
|
-
e[26] !==
|
|
83
|
+
e[26] !== O ? (f = O(), e[26] = O, e[27] = f) : f = e[27];
|
|
83
84
|
let d;
|
|
84
|
-
e[28] !== C || e[29] !==
|
|
85
|
+
e[28] !== C || e[29] !== n || e[30] !== s || e[31] !== t || e[32] !== o || e[33] !== B ? (d = B && t.buttons && /* @__PURE__ */ l(ye, { children: /* @__PURE__ */ l(he, { ...t, style: {
|
|
85
86
|
...s
|
|
86
|
-
}, children:
|
|
87
|
-
onClick:
|
|
88
|
-
}) :
|
|
87
|
+
}, children: fe.toArray(t.buttons.map((i) => C && (C.securityBeforeUnload || o) && i && i.type && i.type.name === "CancelButton" ? p(i, {
|
|
88
|
+
onClick: n
|
|
89
|
+
}) : p(i))) }) }), e[28] = C, e[29] = n, e[30] = s, e[31] = t, e[32] = o, e[33] = B, e[34] = d) : d = e[34];
|
|
89
90
|
let u;
|
|
90
|
-
e[35] !== U || e[36] !==
|
|
91
|
-
|
|
91
|
+
e[35] !== U || e[36] !== k || e[37] !== n || e[38] !== T || e[39] !== t || e[40] !== o || e[41] !== W || e[42] !== c || e[43] !== m || e[44] !== f || e[45] !== d || e[46] !== D ? (u = /* @__PURE__ */ Z(de, { ...t, width: D, height: T, className: U, wrapperClassName: W, handlerClose: n, closeOnEsc: k, securityBeforeUnload: o, children: [
|
|
92
|
+
c,
|
|
92
93
|
m,
|
|
93
94
|
f,
|
|
94
95
|
d
|
|
95
|
-
] }), e[35] = U, e[36] =
|
|
96
|
+
] }), e[35] = U, e[36] = k, e[37] = n, e[38] = T, e[39] = t, e[40] = o, e[41] = W, e[42] = c, e[43] = m, e[44] = f, e[45] = d, e[46] = D, e[47] = u) : u = e[47];
|
|
96
97
|
let h;
|
|
97
|
-
e[
|
|
98
|
-
let
|
|
99
|
-
return e[
|
|
98
|
+
e[48] !== L || e[49] !== $ || e[50] !== R || e[51] !== j ? (h = /* @__PURE__ */ l(ge, { zIndex: "99999999", title: R, text: $, visible: j, onConfirmClick: L, onUnconfirmClick: ie }), e[48] = L, e[49] = $, e[50] = R, e[51] = j, e[52] = h) : h = e[52];
|
|
99
|
+
let E;
|
|
100
|
+
return e[53] !== u || e[54] !== h ? (E = /* @__PURE__ */ Z(Fe.Provider, { value: S, children: [
|
|
100
101
|
u,
|
|
101
102
|
h
|
|
102
|
-
] }), e[
|
|
103
|
-
},
|
|
104
|
-
function
|
|
103
|
+
] }), e[53] = u, e[54] = h, e[55] = E) : E = e[55], E;
|
|
104
|
+
}, Le = we(Ne);
|
|
105
|
+
function Se(t) {
|
|
105
106
|
t?.preventDefault();
|
|
106
107
|
}
|
|
107
108
|
export {
|
|
108
|
-
|
|
109
|
-
|
|
109
|
+
Fe as FormDialogContext,
|
|
110
|
+
Le as default
|
|
110
111
|
};
|
|
111
112
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../src/lib/dialog/form/index.tsx"],"sourcesContent":["import { useContext, createContext, useRef, useState, useEffect, Children, cloneElement } from 'react';\nimport BaseDialog from '../base';\nimport BaseHeader from '../base/Header';\nimport { ButtonContainer } from '../../buttons/index';\nimport Content from '../base/Content';\nimport BaseFooter from '../base/Footer';\nimport SpinnerLoading from '../../spinner';\nimport withFormSecurity, { FormSecurityContext } from '../../form/withFormSecurity';\nimport { IFormProps, IFormDialogContext } from '../types';\nimport DialogQuestion from '../Question';\n\nexport const FormDialogContext = createContext({} as IFormDialogContext);\n\nconst ModalForm = (props: IFormProps) => {\n const {\n showFooter = true,\n isWaiting = false,\n width = '50%',\n height = '50%',\n content,\n children,\n className = '',\n wrapperClassName = '',\n contentClassName = '',\n headerClassName = '',\n securityBeforeUnload = false,\n securityTitle = 'Dados Alterados',\n securityText = 'Você possui dados alterados, confirma o fechamento?',\n } = props;\n const headerRef = useRef<HTMLDivElement>(null);\n const context = useContext(FormSecurityContext);\n const [showSecurityDialog, setShowSecurityDialog] = useState(false);\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none' } : {};\n\n const handlerClose = () => {\n if (securityBeforeUnload) {\n setShowSecurityDialog(true);\n return;\n }\n\n if (props.handlerClose) {\n props.handlerClose();\n }\n };\n\n const onConfirmSecurity = () => {\n props.handlerClose?.();\n setShowSecurityDialog(false);\n };\n\n const onUnconfirmClick = () => {\n setShowSecurityDialog(false);\n };\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n useEffect(() => {\n const onBeforeUnload = (e: Event) => {\n e?.preventDefault();\n };\n\n if (securityBeforeUnload) {\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => {\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n }, [securityBeforeUnload]);\n\n return (\n <FormDialogContext.Provider value={{ headerRef: headerRef as any }}>\n <BaseDialog\n {...props}\n width={width}\n height={height}\n className={className}\n wrapperClassName={`dialog-form-wrapper ${wrapperClassName}`}\n securityBeforeUnload={securityBeforeUnload}\n handlerClose={handlerClose}>\n {props.title &&\n <div className={`header-form ${headerClassName}`}>\n <BaseHeader\n title={props.title}\n handlerClose={handlerClose}\n icon={props.icon} />\n </div>\n }\n <Content \n styleForContent={{ ...props.styleForContent, ...overlayStyle }} \n className={contentClassName}>\n {content || children}\n </Content>\n {getSpinner()}\n {showFooter && props.buttons &&\n <BaseFooter>\n <ButtonContainer {...props} style={{ ...overlayStyle }}>\n {Children.toArray(props.buttons.map((button) => {\n if (context && (context.securityBeforeUnload || securityBeforeUnload) && button \n && button.type && button.type.name === 'CancelButton') {\n return cloneElement(button, { onClick: handlerClose });\n }\n return cloneElement(button);\n }))}\n </ButtonContainer>\n </BaseFooter>\n }\n </BaseDialog>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle}\n text={securityText}\n visible={showSecurityDialog}\n onConfirmClick={onConfirmSecurity}\n onUnconfirmClick={onUnconfirmClick} />\n </FormDialogContext.Provider>\n );\n};\n\nexport default withFormSecurity(ModalForm);\n"],"names":["FormDialogContext","createContext","ModalForm","props","$","_c","showFooter","t0","isWaiting","t1","width","t2","height","t3","content","children","className","t4","wrapperClassName","t5","contentClassName","t6","headerClassName","t7","securityBeforeUnload","t8","securityTitle","t9","securityText","t10","undefined","headerRef","useRef","context","useContext","FormSecurityContext","showSecurityDialog","setShowSecurityDialog","useState","t11","opacity","pointerEvent","overlayStyle","t12","handlerClose","t13","onConfirmSecurity","t14","Symbol","for","onUnconfirmClick","t15","jsx","SpinnerLoading","getSpinner","t16","t17","onBeforeUnload","_temp","window","addEventListener","removeEventListener","useEffect","t18","t19","t20","icon","title","BaseHeader","t21","styleForContent","t22","t23","Content","t24","t25","buttons","BaseFooter","ButtonContainer","Children","toArray","map","button","type","name","cloneElement","onClick","t26","jsxs","BaseDialog","t27","DialogQuestion","t28","FormDialog","withFormSecurity","e","preventDefault"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../src/lib/dialog/form/index.tsx"],"sourcesContent":["import { useContext, createContext, useRef, useState, useEffect, Children, cloneElement } from 'react';\nimport BaseDialog from '../base';\nimport BaseHeader from '../base/Header';\nimport { ButtonContainer } from '../../buttons/index';\nimport Content from '../base/Content';\nimport BaseFooter from '../base/Footer';\nimport SpinnerLoading from '../../spinner';\nimport withFormSecurity, { FormSecurityContext } from '../../form/withFormSecurity';\nimport { IFormProps, IFormDialogContext } from '../types';\nimport DialogQuestion from '../Question';\n\nexport const FormDialogContext = createContext({} as IFormDialogContext);\n\nconst ModalForm = (props: IFormProps) => {\n const {\n showFooter = true,\n isWaiting = false,\n width = '50%',\n height = '50%',\n content,\n children,\n className = '',\n wrapperClassName = '',\n contentClassName = '',\n headerClassName = '',\n closeOnEsc = true,\n securityBeforeUnload = false,\n securityTitle = 'Dados Alterados',\n securityText = 'Você possui dados alterados, confirma o fechamento?',\n } = props;\n const headerRef = useRef<HTMLDivElement>(null);\n const context = useContext(FormSecurityContext);\n const [showSecurityDialog, setShowSecurityDialog] = useState(false);\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none' } : {};\n\n const handlerClose = () => {\n if (securityBeforeUnload) {\n setShowSecurityDialog(true);\n return;\n }\n\n if (props.handlerClose) {\n props.handlerClose();\n }\n };\n\n const onConfirmSecurity = () => {\n props.handlerClose?.();\n setShowSecurityDialog(false);\n };\n\n const onUnconfirmClick = () => {\n setShowSecurityDialog(false);\n };\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n useEffect(() => {\n const onBeforeUnload = (e: Event) => {\n e?.preventDefault();\n };\n\n if (securityBeforeUnload) {\n window.addEventListener('beforeunload', onBeforeUnload);\n }\n return () => {\n window.removeEventListener('beforeunload', onBeforeUnload);\n };\n }, [securityBeforeUnload]);\n\n return (\n <FormDialogContext.Provider value={{ headerRef: headerRef as any }}>\n <BaseDialog\n {...props}\n width={width}\n height={height}\n className={className}\n wrapperClassName={`dialog-form-wrapper ${wrapperClassName}`}\n handlerClose={handlerClose}\n closeOnEsc={closeOnEsc}\n securityBeforeUnload={securityBeforeUnload}>\n {props.title &&\n <div className={`header-form ${headerClassName}`}>\n <BaseHeader\n title={props.title}\n handlerClose={handlerClose}\n icon={props.icon} />\n </div>\n }\n <Content \n styleForContent={{ ...props.styleForContent, ...overlayStyle }} \n className={contentClassName}>\n {content || children}\n </Content>\n {getSpinner()}\n {showFooter && props.buttons &&\n <BaseFooter>\n <ButtonContainer {...props} style={{ ...overlayStyle }}>\n {Children.toArray(props.buttons.map((button) => {\n if (context && (context.securityBeforeUnload || securityBeforeUnload) && button \n && button.type && button.type.name === 'CancelButton') {\n return cloneElement(button, { onClick: handlerClose });\n }\n return cloneElement(button);\n }))}\n </ButtonContainer>\n </BaseFooter>\n }\n </BaseDialog>\n <DialogQuestion\n zIndex=\"99999999\"\n title={securityTitle}\n text={securityText}\n visible={showSecurityDialog}\n onConfirmClick={onConfirmSecurity}\n onUnconfirmClick={onUnconfirmClick} />\n </FormDialogContext.Provider>\n );\n};\n\nexport default withFormSecurity(ModalForm);\n"],"names":["FormDialogContext","createContext","ModalForm","props","$","_c","showFooter","t0","isWaiting","t1","width","t2","height","t3","content","children","className","t4","wrapperClassName","t5","contentClassName","t6","headerClassName","t7","closeOnEsc","t8","securityBeforeUnload","t9","securityTitle","t10","securityText","t11","undefined","headerRef","useRef","context","useContext","FormSecurityContext","showSecurityDialog","setShowSecurityDialog","useState","t12","opacity","pointerEvent","overlayStyle","t13","handlerClose","t14","onConfirmSecurity","t15","Symbol","for","onUnconfirmClick","t16","jsx","SpinnerLoading","getSpinner","t17","t18","onBeforeUnload","_temp","window","addEventListener","removeEventListener","useEffect","t19","t20","t21","icon","title","BaseHeader","t22","styleForContent","t23","t24","Content","t25","t26","buttons","BaseFooter","ButtonContainer","Children","toArray","map","button","type","name","cloneElement","onClick","t27","jsxs","BaseDialog","t28","DialogQuestion","t29","FormDialog","withFormSecurity","e","preventDefault"],"mappings":"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"}
|
package/lib/drawer/Drawer.js
CHANGED
|
@@ -3,9 +3,9 @@ import { useRef as w, useState as R, useEffect as h } from "react";
|
|
|
3
3
|
import H from "react-dom";
|
|
4
4
|
import V from "./helpers.js";
|
|
5
5
|
import { actionsOnPermissionDenied as q, OPTIONS_ON_DENIED as z } from "../permissionValidations.js";
|
|
6
|
+
import '../assets/styles/drawers.css';/* empty css */
|
|
6
7
|
import A from "./Header.js";
|
|
7
8
|
import F from "./Content.js";
|
|
8
|
-
import '../assets/styles/drawers.css';/* empty css */
|
|
9
9
|
import G from "../spinner/index.js";
|
|
10
10
|
const te = ({
|
|
11
11
|
position: C = "left",
|
|
@@ -23,14 +23,14 @@ const te = ({
|
|
|
23
23
|
content: l,
|
|
24
24
|
title: u,
|
|
25
25
|
isWaiting: p = !1,
|
|
26
|
-
customClassElementDrawer:
|
|
26
|
+
customClassElementDrawer: f = "",
|
|
27
27
|
...S
|
|
28
28
|
}) => {
|
|
29
29
|
const x = {
|
|
30
30
|
...S,
|
|
31
31
|
title: u
|
|
32
32
|
}, i = w(document.createElement("div"));
|
|
33
|
-
i.current.className = "drawercontainer",
|
|
33
|
+
i.current.className = "drawercontainer", f && (i.current.className = f);
|
|
34
34
|
const o = w(null), {
|
|
35
35
|
hideContent: B
|
|
36
36
|
} = z, [$] = R(q([B], O)), k = p ? {
|
|
@@ -44,20 +44,20 @@ const te = ({
|
|
|
44
44
|
t.className = "drawer-component", t.id = String(n), e.appendChild(t), t.appendChild(i.current), o.current = t;
|
|
45
45
|
}, _ = (e, n) => {
|
|
46
46
|
const t = document.createElement("div");
|
|
47
|
-
t.className = "drawer-overlay", t.id = n, t.dataset.testid = "drawer-overlay", e.appendChild(t);
|
|
47
|
+
t.className = "drawer-overlay", t.id = n, t.inert = !1, t.dataset.testid = "drawer-overlay", e.appendChild(t);
|
|
48
48
|
}, c = (e) => {
|
|
49
49
|
a && e.key === "Escape" && (m?.(), e.stopPropagation());
|
|
50
50
|
};
|
|
51
51
|
h(() => {
|
|
52
52
|
let e;
|
|
53
53
|
const n = Math.round(+/* @__PURE__ */ new Date() / 1e3), t = `overlay-${n}`;
|
|
54
|
-
return d === void 0 ? e = document.getElementsByTagName("body")[0] : e = document.getElementById(d), e &&
|
|
55
|
-
const
|
|
54
|
+
return d === void 0 ? e = document.getElementsByTagName("body")[0] : e = document.getElementById(d), g && e && _(e, t), e && T(e, n), () => {
|
|
55
|
+
const y = document.getElementById(t);
|
|
56
56
|
if (a && document.body.removeEventListener("keydown", c), d) {
|
|
57
57
|
const v = document.getElementById(d);
|
|
58
58
|
v && o.current && v.removeChild(o.current);
|
|
59
59
|
} else o.current && document.body.removeChild(o.current);
|
|
60
|
-
|
|
60
|
+
y && e && e.removeChild(y);
|
|
61
61
|
};
|
|
62
62
|
}, []), h(() => (a && document.body.addEventListener("keydown", c), () => document.body.removeEventListener("keydown", c)), [a]);
|
|
63
63
|
const L = {
|
package/lib/drawer/Drawer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Drawer.js","sources":["../../src/lib/drawer/Drawer.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport DrawerContext from './helpers';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport { IDrawerProps, IDrawerContext } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\nimport { DrawerContent, DrawerHeader } from '.';\nimport SpinnerLoading from '../spinner';\n\nconst BaseDrawer = ({\n position = 'left', customClass = '', children, style, customClassForContent = '', targetId,\n closeOnEsc, overlay, permissionAttr, skeletonize, handlerClose, customClassForDrawer = '',\n content, title, isWaiting = false, customClassElementDrawer = '', ...rest\n}: IDrawerProps) => {\n const headerProps = { ...rest, title };\n const drawerContainerEl = useRef(document.createElement('div'));\n drawerContainerEl.current.className = 'drawercontainer';\n if (customClassElementDrawer) {\n drawerContainerEl.current.className = customClassElementDrawer;\n }\n const drawerComponentEl = useRef<HTMLDivElement>(null);\n const { hideContent } = OPTIONS_ON_DENIED;\n const [onDenied] = useState<OnDenied>(actionsOnPermissionDenied([hideContent], permissionAttr));\n\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none', placeContent: 'center' } : {};\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n const setDrawerComponent = (body: HTMLElement, randonId: number) => {\n const componentEl = document.createElement('div');\n componentEl.className = 'drawer-component';\n componentEl.id = String(randonId);\n body.appendChild(componentEl);\n componentEl.appendChild(drawerContainerEl.current);\n drawerComponentEl.current = componentEl;\n };\n\n const setDrawerOverlay = (body: HTMLElement, id: string) => {\n const drawerOverlay = document.createElement('div');\n drawerOverlay.className = 'drawer-overlay';\n drawerOverlay.id = id;\n drawerOverlay.dataset.testid = 'drawer-overlay';\n body.appendChild(drawerOverlay);\n };\n\n const closeDrawerOnEsc = (e: KeyboardEvent) => {\n if (closeOnEsc && (e.key === 'Escape')) {\n handlerClose?.();\n e.stopPropagation();\n }\n };\n\n useEffect(() => {\n let body: HTMLElement | null;\n const randomId = Math.round(+new Date() / 1000);\n const overlayId = `overlay-${randomId}`;\n if (targetId === undefined) {\n body = document.getElementsByTagName('body')[0];\n } else {\n body = document.getElementById(targetId);\n }\n if (body)
|
|
1
|
+
{"version":3,"file":"Drawer.js","sources":["../../src/lib/drawer/Drawer.tsx"],"sourcesContent":["import { useEffect, useRef, useState } from 'react';\nimport ReactDOM from 'react-dom';\nimport DrawerContext from './helpers';\nimport { actionsOnPermissionDenied, OPTIONS_ON_DENIED } from '../permissionValidations';\nimport { IDrawerProps, IDrawerContext } from './types';\nimport { OnDenied } from '../@types/PermissionAttr';\nimport { DrawerContent, DrawerHeader } from '.';\nimport SpinnerLoading from '../spinner';\n\nconst BaseDrawer = ({\n position = 'left', customClass = '', children, style, customClassForContent = '', targetId,\n closeOnEsc, overlay, permissionAttr, skeletonize, handlerClose, customClassForDrawer = '',\n content, title, isWaiting = false, customClassElementDrawer = '', ...rest\n}: IDrawerProps) => {\n const headerProps = { ...rest, title };\n const drawerContainerEl = useRef(document.createElement('div'));\n drawerContainerEl.current.className = 'drawercontainer';\n if (customClassElementDrawer) {\n drawerContainerEl.current.className = customClassElementDrawer;\n }\n const drawerComponentEl = useRef<HTMLDivElement>(null);\n const { hideContent } = OPTIONS_ON_DENIED;\n const [onDenied] = useState<OnDenied>(actionsOnPermissionDenied([hideContent], permissionAttr));\n\n const overlayStyle = isWaiting ? { opacity: 0.4, pointerEvent: 'none', placeContent: 'center' } : {};\n\n const getSpinner = () => {\n if (!isWaiting) return null;\n return (\n <div className=\"waitingspinner\">\n <SpinnerLoading style={{ width: 60 }} delayTime={0} />\n </div>\n );\n };\n\n const setDrawerComponent = (body: HTMLElement, randonId: number) => {\n const componentEl = document.createElement('div');\n componentEl.className = 'drawer-component';\n componentEl.id = String(randonId);\n body.appendChild(componentEl);\n componentEl.appendChild(drawerContainerEl.current);\n drawerComponentEl.current = componentEl;\n };\n\n const setDrawerOverlay = (body: HTMLElement, id: string) => {\n const drawerOverlay = document.createElement('div');\n drawerOverlay.className = 'drawer-overlay';\n drawerOverlay.id = id;\n drawerOverlay.inert = false;\n drawerOverlay.dataset.testid = 'drawer-overlay';\n body.appendChild(drawerOverlay);\n };\n\n const closeDrawerOnEsc = (e: KeyboardEvent) => {\n if (closeOnEsc && (e.key === 'Escape')) {\n handlerClose?.();\n e.stopPropagation();\n }\n };\n\n useEffect(() => {\n let body: HTMLElement | null;\n const randomId = Math.round(+new Date() / 1000);\n const overlayId = `overlay-${randomId}`;\n if (targetId === undefined) {\n body = document.getElementsByTagName('body')[0];\n } else {\n body = document.getElementById(targetId);\n }\n if (overlay && body) setDrawerOverlay(body, overlayId);\n if (body) setDrawerComponent(body, randomId);\n return () => {\n const drawerOverlay = document.getElementById(overlayId);\n if (closeOnEsc) document.body.removeEventListener('keydown', closeDrawerOnEsc);\n if (targetId) {\n const drawerComponentTarget = document.getElementById(targetId);\n if (drawerComponentTarget && drawerComponentEl.current) {\n drawerComponentTarget.removeChild(drawerComponentEl.current);\n }\n } else if (drawerComponentEl.current) document.body.removeChild(drawerComponentEl.current);\n if (drawerOverlay && body) body.removeChild(drawerOverlay);\n };\n }, []);\n\n useEffect(() => {\n if (closeOnEsc) {\n document.body.addEventListener('keydown', closeDrawerOnEsc);\n }\n return () => document.body.removeEventListener('keydown', closeDrawerOnEsc);\n }, [closeOnEsc]);\n\n const contextValues: IDrawerContext = {\n handlerClose,\n hideContent: onDenied.hideContent,\n skeletonize,\n };\n\n const drawerContent = () => (\n <DrawerContext.Provider value={contextValues}>\n <div data-testid=\"drawercontainer-component\" className={`${position} ${customClass}`} style={style}>\n <div\n style={overlayStyle}\n data-testid=\"drawercontent\"\n className={`drawercontent ${skeletonize ? '-skeletonized' : ''} ${customClassForContent}`}>\n {title && <DrawerHeader {...headerProps} customClass={customClassForDrawer} />}\n {content ? <DrawerContent>{content}</DrawerContent> : children}\n {getSpinner()}\n </div>\n </div>\n </DrawerContext.Provider>\n );\n\n return ReactDOM.createPortal(drawerContent(), drawerContainerEl.current);\n};\n\nexport default BaseDrawer;\n"],"names":["BaseDrawer","position","customClass","children","style","customClassForContent","targetId","closeOnEsc","overlay","permissionAttr","skeletonize","handlerClose","customClassForDrawer","content","title","isWaiting","customClassElementDrawer","rest","headerProps","drawerContainerEl","useRef","document","createElement","current","className","drawerComponentEl","hideContent","OPTIONS_ON_DENIED","onDenied","useState","actionsOnPermissionDenied","overlayStyle","opacity","pointerEvent","placeContent","getSpinner","jsx","SpinnerLoading","width","setDrawerComponent","body","randonId","componentEl","id","String","appendChild","setDrawerOverlay","drawerOverlay","inert","dataset","testid","closeDrawerOnEsc","e","key","stopPropagation","useEffect","randomId","Math","round","Date","overlayId","undefined","getElementsByTagName","getElementById","removeEventListener","drawerComponentTarget","removeChild","addEventListener","contextValues","drawerContent","DrawerContext","jsxs","DrawerHeader","DrawerContent","ReactDOM","createPortal"],"mappings":"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"}
|
package/lib/drawer/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import '../assets/styles/drawers.css';/* empty css */
|
|
1
2
|
import r from "./Drawer.js";
|
|
2
3
|
import { default as i } from "./Header.js";
|
|
3
4
|
import { default as w } from "./Content.js";
|
|
4
|
-
import '../assets/styles/drawers.css';/* empty css */
|
|
5
5
|
import e from "../form/withFormSecurity.js";
|
|
6
6
|
const m = e(r);
|
|
7
7
|
export {
|