@eliseubatista99/react-scaffold-core 0.1.18 → 0.1.20

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.
@@ -17,4 +17,7 @@ export declare const usePageLayoutHelper: (props: PageLayoutProps) => {
17
17
  visibility?: "always" | "fixed";
18
18
  styles?: React.CSSProperties;
19
19
  };
20
+ page: {
21
+ extraHeight: void;
22
+ };
20
23
  };
package/dist/index.cjs.js CHANGED
@@ -74,11 +74,10 @@ Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}
74
74
  input:-webkit-autofill {
75
75
  background-color: #00000000;
76
76
  }
77
- `,$a=({name:e,label:t,leftIcon:r,rightIcon:o,bottomMessage:i,placeHolder:a,autoComplete:l="off",value:f,initialValue:d,type:p="text",onChange:w,onFocus:E,inputStyles:R,containerProps:A,step:C})=>{const v=k=>{w?.(k.currentTarget.value)},M=k=>{E?.()};return G.jsxs(Fa,{style:{width:"100%",maxWidth:"357px",gap:"8px",...A},children:[t,G.jsxs("div",{style:{display:"flex",flexDirection:"row",width:"100%",height:"47px",margin:"8px auto 0 auto",border:"2px solid #000000",borderRadius:"5px",padding:"5px 15px",color:"#000000",fontFamily:"Poppins",fontStyle:"normal",fontWeight:400,fontSize:"16px",lineHeight:"24px",outline:"none",alignItems:"center",gap:"10px",...R},children:[r,G.jsx("input",{name:e,type:p,autoComplete:l,step:C,style:{flex:1,border:"none",color:"inherit",fontFamily:"inherit",fontStyle:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",outline:"inherit",background:"none"},placeholder:a,value:f,defaultValue:d,onChange:v,onFocus:M}),o]}),i]})},Wa=({id:e,styles:t,children:r})=>{const{isItemVisible:o}=et();return G.jsx(G.Fragment,{children:o(e)&&G.jsx("div",{style:{width:"100%",minHeight:"100%",left:0,top:0,position:"fixed",zIndex:1e3,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",...t},children:r})})},qa=({id:e,children:t,backgroundStyles:r,contentStyles:o,onClickOutsideModal:i})=>{const{isItemVisible:a}=et();return G.jsx(G.Fragment,{children:a(e)&&G.jsx("div",{style:{width:"100%",height:"100%",minHeight:"100vh",background:"#00000068",position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:1e3,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",...r},onClick:()=>{i?.()},children:G.jsx("div",{style:{width:"90%",maxWidth:"375px",height:"fit-content",minHeight:"80px",maxHeight:"50%",background:"#ffffff",borderRadius:"16px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",zIndex:1001,position:"relative",padding:"24px",...o},onClick:l=>{l.stopPropagation()},children:t})})})},Ba=e=>{const t=q.useRef(null),r=q.useRef(null),[o,i]=q.useState(24),[a,l]=q.useState(24),f=q.useCallback(()=>{t.current&&i(t.current.clientHeight)},[t,t.current]),d=q.useCallback(()=>{r.current&&l(r.current.clientHeight)},[r,r.current]);return q.useEffect(()=>{f()},[f,t,t.current]),q.useEffect(()=>{d()},[d,r,r.current]),{header:{...e.header,visible:e.header!==void 0,height:e.header?.visibility==="fixed"?0:o,ref:t},footer:{...e.footer,visible:e.footer!==void 0,height:e.footer?.visibility==="fixed"?0:a,ref:r}}},Ua=je.div`
77
+ `,$a=({name:e,label:t,leftIcon:r,rightIcon:o,bottomMessage:i,placeHolder:a,autoComplete:l="off",value:f,initialValue:d,type:p="text",onChange:w,onFocus:E,inputStyles:R,containerProps:A,step:C})=>{const v=k=>{w?.(k.currentTarget.value)},M=k=>{E?.()};return G.jsxs(Fa,{style:{width:"100%",maxWidth:"357px",gap:"8px",...A},children:[t,G.jsxs("div",{style:{display:"flex",flexDirection:"row",width:"100%",height:"47px",margin:"8px auto 0 auto",border:"2px solid #000000",borderRadius:"5px",padding:"5px 15px",color:"#000000",fontFamily:"Poppins",fontStyle:"normal",fontWeight:400,fontSize:"16px",lineHeight:"24px",outline:"none",alignItems:"center",gap:"10px",...R},children:[r,G.jsx("input",{name:e,type:p,autoComplete:l,step:C,style:{flex:1,border:"none",color:"inherit",fontFamily:"inherit",fontStyle:"inherit",fontWeight:"inherit",fontSize:"inherit",lineHeight:"inherit",outline:"inherit",background:"none"},placeholder:a,value:f,defaultValue:d,onChange:v,onFocus:M}),o]}),i]})},Wa=({id:e,styles:t,children:r})=>{const{isItemVisible:o}=et();return G.jsx(G.Fragment,{children:o(e)&&G.jsx("div",{style:{width:"100%",minHeight:"100%",left:0,top:0,position:"fixed",zIndex:1e3,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",...t},children:r})})},qa=({id:e,children:t,backgroundStyles:r,contentStyles:o,onClickOutsideModal:i})=>{const{isItemVisible:a}=et();return G.jsx(G.Fragment,{children:a(e)&&G.jsx("div",{style:{width:"100%",height:"100%",minHeight:"100vh",background:"#00000068",position:"fixed",top:"50%",left:"50%",transform:"translate(-50%, -50%)",zIndex:1e3,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",...r},onClick:()=>{i?.()},children:G.jsx("div",{style:{width:"90%",maxWidth:"375px",height:"fit-content",minHeight:"80px",maxHeight:"50%",background:"#ffffff",borderRadius:"16px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",zIndex:1001,position:"relative",padding:"24px",...o},onClick:l=>{l.stopPropagation()},children:t})})})},Ba=e=>{const t=q.useRef(null),r=q.useRef(null),[o,i]=q.useState(24),[a,l]=q.useState(24),f=q.useCallback(()=>{t.current&&i(t.current.clientHeight)},[t,t.current]),d=q.useCallback(()=>{r.current&&l(r.current.clientHeight)},[r,r.current]),p=q.useCallback(()=>{e.header?.visibility,e.footer?.visibility},[r,r.current]);return q.useEffect(()=>{f()},[f,t,t.current]),q.useEffect(()=>{d()},[d,r,r.current]),{header:{...e.header,visible:e.header!==void 0,height:e.header?.visibility==="fixed"?0:o,ref:t},footer:{...e.footer,visible:e.footer!==void 0,height:e.footer?.visibility==="fixed"?0:a,ref:r},page:{extraHeight:p()}}},Ua=je.div`
78
78
  min-height: 100vh;
79
79
  width: 100%;
80
80
  min-width: 100%;
81
- overflow: hidden;
82
81
  position: relative;
83
82
  box-sizing: border-box;
84
83
  top: 0;
@@ -94,4 +93,4 @@ Please change the parent <Route path="${k}"> to <Route path="${k==="/"?"*":`${k}
94
93
  box-sizing: border-box;
95
94
  position: relative;
96
95
  }
97
- `,Ya=e=>{const{containerStyles:t,pageStyles:r,children:o,allowScroll:i=!0,floatingContent:a}=e,{footer:l,header:f}=Ba(e);return G.jsxs(Ua,{"data-testid":"page-container",styles:t,children:[G.jsxs("div",{"data-testid":"page-layout",style:{minHeight:"100%",width:"100%",overflowY:i?"auto":"hidden",display:"flex",flexDirection:"column",boxSizing:"border-box"},children:[f.visible&&G.jsx("div",{ref:f.ref,"data-testid":"page-header",style:{width:"100%",zIndex:99,position:f.visibility==="fixed"?"relative":"fixed",top:0,left:0,right:0,display:"flex",flexDirection:"row",height:"fit-content",boxSizing:"border-box",...f.styles},children:f.content}),G.jsx("div",{style:{width:"100%",flex:1,minHeight:"fit-content",marginTop:`${f.height}px`,marginBottom:`${l.height}px`,padding:"12px 24px",boxSizing:"border-box",overflowY:i?void 0:"hidden",...r},children:o})]}),l.visible&&G.jsx("div",{ref:l.ref,"data-testid":"page-footer",style:{width:"100%",zIndex:99,position:l.visibility==="fixed"?"relative":"fixed",bottom:0,left:0,right:0,display:"flex",flexDirection:"row",height:"fit-content",boxSizing:"border-box",...l.styles},children:l.content})]})},Va=({src:e,width:t="22",height:r="28",stroke:o,viewBox:i="0 0 22 28",fill:a="#000000",alt:l="",onClick:f,styles:d})=>G.jsx("div",{style:{width:"fit-content",height:"fit-content",display:"flex",alignItems:"center",justifyContent:"center",...d},onClick:()=>f?.(),children:G.jsx("svg",{width:t,height:r,viewBox:i,fill:a,stroke:o,xmlns:"http://www.w3.org/2000/svg",style:{display:"flex"},children:e})}),Xa=({id:e,children:t,styles:r,durationInSeconds:o=3})=>{const i=q.useRef(!1),{isItemVisible:a,hideItem:l}=et();return q.useEffect(()=>{const f=a(e);i.current!==f&&(i.current=f,f&&setTimeout(()=>l(e),o*1e3))},[i,a,l]),G.jsx(G.Fragment,{children:a(e)&&G.jsx("div",{style:{width:"100px",height:"40px",background:"#534a4aff",color:"#ffffff",position:"fixed",top:"10px",left:"50%",transform:"translateX(-50%)",zIndex:1e3,borderRadius:"20px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",border:"solid 3px #000000ff",...r},onClick:f=>{f.stopPropagation()},children:t})})},Ga=({overflowEllipsis:e,children:t,styles:r})=>G.jsx("p",{style:{fontFamily:"inherit",maxWidth:"100%",overflow:"hidden",whiteSpace:e?"nowrap":"normal",textOverflow:"ellipsis",fontSize:"16px",fontStyle:"normal",lineHeight:"normal",color:"#000000",...r},children:t});class Ka{static isScrollEnabled=()=>document.body.style.overflow==="unset"||document.body.style.overflow==="auto";static disableScroll=()=>{document.body.style.overflow="hidden"};static enableScroll=()=>{document.body.style.overflow="unset"}}class Ja{static getPascalCase=t=>t.replace(/\w+/g,function(r){return r[0].toUpperCase()+r.slice(1).toLowerCase()});static isEqual=(t,r,o=!0)=>o?t===r:t.toUpperCase()===r.toUpperCase()}exports.Button=xn;exports.Carousel=Qi;exports.Drawer=Aa;exports.FeedbackProvider=Ma;exports.Form=Ha;exports.Image=Na;exports.InputField=$a;exports.Loader=Wa;exports.Modal=qa;exports.NavigationProvider=La;exports.PageLayout=Ya;exports.ScrollHelper=Ka;exports.SvgImage=Va;exports.TextHelper=Ja;exports.TimeHelper=Ur;exports.Toast=Xa;exports.Typography=Ga;exports.defaultBreakpoints=Yr;exports.useDidMount=eo;exports.useDrag=Br;exports.useFeedback=et;exports.useFetch=to;exports.useIsTouchingParentElement=ro;exports.useNavigation=Da;exports.usePointer=qr;exports.useResponsive=no;exports.useTranslations=ao;
96
+ `,Ya=e=>{const{containerStyles:t,pageStyles:r,children:o,allowScroll:i=!0,floatingContent:a}=e,{footer:l,header:f,page:d}=Ba(e);return G.jsxs(Ua,{"data-testid":"page-container",styles:t,children:[f.visible&&G.jsx("div",{ref:f.ref,"data-testid":"page-header",style:{width:"100%",zIndex:99,position:f.visibility==="fixed"?"relative":"sticky",top:0,left:0,right:0,display:"flex",flexDirection:"row",height:"fit-content",boxSizing:"border-box",...f.styles},children:f.content}),G.jsx("div",{"data-testid":"page-layout",style:{minHeight:`calc(100% + ${d.extraHeight}px)`,width:"100%",overflowY:i?"auto":"hidden",display:"flex",flexDirection:"column",boxSizing:"border-box",top:`-${f.height}px`,bottom:`-${l.height}px`},children:G.jsx("div",{style:{width:"100%",flex:1,minHeight:"fit-content",paddingTop:`${f.height}px`,paddingBottom:`${l.height}px`,padding:"12px 24px",boxSizing:"border-box",overflowY:i?void 0:"hidden",...r},children:o})}),l.visible&&G.jsx("div",{ref:l.ref,"data-testid":"page-footer",style:{width:"100%",zIndex:99,position:l.visibility==="fixed"?"relative":"sticky",bottom:0,left:0,right:0,display:"flex",flexDirection:"row",height:"fit-content",boxSizing:"border-box",...l.styles},children:l.content})]})},Va=({src:e,width:t="22",height:r="28",stroke:o,viewBox:i="0 0 22 28",fill:a="#000000",alt:l="",onClick:f,styles:d})=>G.jsx("div",{style:{width:"fit-content",height:"fit-content",display:"flex",alignItems:"center",justifyContent:"center",...d},onClick:()=>f?.(),children:G.jsx("svg",{width:t,height:r,viewBox:i,fill:a,stroke:o,xmlns:"http://www.w3.org/2000/svg",style:{display:"flex"},children:e})}),Xa=({id:e,children:t,styles:r,durationInSeconds:o=3})=>{const i=q.useRef(!1),{isItemVisible:a,hideItem:l}=et();return q.useEffect(()=>{const f=a(e);i.current!==f&&(i.current=f,f&&setTimeout(()=>l(e),o*1e3))},[i,a,l]),G.jsx(G.Fragment,{children:a(e)&&G.jsx("div",{style:{width:"100px",height:"40px",background:"#534a4aff",color:"#ffffff",position:"fixed",top:"10px",left:"50%",transform:"translateX(-50%)",zIndex:1e3,borderRadius:"20px",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",border:"solid 3px #000000ff",...r},onClick:f=>{f.stopPropagation()},children:t})})},Ga=({overflowEllipsis:e,children:t,styles:r})=>G.jsx("p",{style:{fontFamily:"inherit",maxWidth:"100%",overflow:"hidden",whiteSpace:e?"nowrap":"normal",textOverflow:"ellipsis",fontSize:"16px",fontStyle:"normal",lineHeight:"normal",color:"#000000",...r},children:t});class Ka{static isScrollEnabled=()=>document.body.style.overflow==="unset"||document.body.style.overflow==="auto";static disableScroll=()=>{document.body.style.overflow="hidden"};static enableScroll=()=>{document.body.style.overflow="unset"}}class Ja{static getPascalCase=t=>t.replace(/\w+/g,function(r){return r[0].toUpperCase()+r.slice(1).toLowerCase()});static isEqual=(t,r,o=!0)=>o?t===r:t.toUpperCase()===r.toUpperCase()}exports.Button=xn;exports.Carousel=Qi;exports.Drawer=Aa;exports.FeedbackProvider=Ma;exports.Form=Ha;exports.Image=Na;exports.InputField=$a;exports.Loader=Wa;exports.Modal=qa;exports.NavigationProvider=La;exports.PageLayout=Ya;exports.ScrollHelper=Ka;exports.SvgImage=Va;exports.TextHelper=Ja;exports.TimeHelper=Ur;exports.Toast=Xa;exports.Typography=Ga;exports.defaultBreakpoints=Yr;exports.useDidMount=eo;exports.useDrag=Br;exports.useFeedback=et;exports.useFetch=to;exports.useIsTouchingParentElement=ro;exports.useNavigation=Da;exports.usePointer=qr;exports.useResponsive=no;exports.useTranslations=ao;
package/dist/index.es.js CHANGED
@@ -6128,6 +6128,8 @@ const fn = U.createContext({
6128
6128
  t.current && i(t.current.clientHeight);
6129
6129
  }, [t, t.current]), d = U.useCallback(() => {
6130
6130
  r.current && l(r.current.clientHeight);
6131
+ }, [r, r.current]), h = U.useCallback(() => {
6132
+ e.header?.visibility, e.footer?.visibility;
6131
6133
  }, [r, r.current]);
6132
6134
  return U.useEffect(() => {
6133
6135
  f();
@@ -6145,13 +6147,15 @@ const fn = U.createContext({
6145
6147
  visible: e.footer !== void 0,
6146
6148
  height: e.footer?.visibility === "fixed" ? 0 : a,
6147
6149
  ref: r
6150
+ },
6151
+ page: {
6152
+ extraHeight: h()
6148
6153
  }
6149
6154
  };
6150
6155
  }, Da = je.div`
6151
6156
  min-height: 100vh;
6152
6157
  width: 100%;
6153
6158
  min-width: 100%;
6154
- overflow: hidden;
6155
6159
  position: relative;
6156
6160
  box-sizing: border-box;
6157
6161
  top: 0;
@@ -6174,60 +6178,60 @@ const fn = U.createContext({
6174
6178
  children: o,
6175
6179
  allowScroll: i = !0,
6176
6180
  floatingContent: a
6177
- } = e, { footer: l, header: f } = La(e);
6181
+ } = e, { footer: l, header: f, page: d } = La(e);
6178
6182
  return /* @__PURE__ */ G.jsxs(Da, { "data-testid": "page-container", styles: t, children: [
6179
- /* @__PURE__ */ G.jsxs(
6183
+ f.visible && /* @__PURE__ */ G.jsx(
6184
+ "div",
6185
+ {
6186
+ ref: f.ref,
6187
+ "data-testid": "page-header",
6188
+ style: {
6189
+ width: "100%",
6190
+ zIndex: 99,
6191
+ position: f.visibility === "fixed" ? "relative" : "sticky",
6192
+ top: 0,
6193
+ left: 0,
6194
+ right: 0,
6195
+ display: "flex",
6196
+ flexDirection: "row",
6197
+ height: "fit-content",
6198
+ boxSizing: "border-box",
6199
+ ...f.styles
6200
+ },
6201
+ children: f.content
6202
+ }
6203
+ ),
6204
+ /* @__PURE__ */ G.jsx(
6180
6205
  "div",
6181
6206
  {
6182
6207
  "data-testid": "page-layout",
6183
6208
  style: {
6184
- minHeight: "100%",
6209
+ minHeight: `calc(100% + ${d.extraHeight}px)`,
6185
6210
  width: "100%",
6186
6211
  overflowY: i ? "auto" : "hidden",
6187
6212
  display: "flex",
6188
6213
  flexDirection: "column",
6189
- boxSizing: "border-box"
6214
+ boxSizing: "border-box",
6215
+ top: `-${f.height}px`,
6216
+ bottom: `-${l.height}px`
6190
6217
  },
6191
- children: [
6192
- f.visible && /* @__PURE__ */ G.jsx(
6193
- "div",
6194
- {
6195
- ref: f.ref,
6196
- "data-testid": "page-header",
6197
- style: {
6198
- width: "100%",
6199
- zIndex: 99,
6200
- position: f.visibility === "fixed" ? "relative" : "fixed",
6201
- top: 0,
6202
- left: 0,
6203
- right: 0,
6204
- display: "flex",
6205
- flexDirection: "row",
6206
- height: "fit-content",
6207
- boxSizing: "border-box",
6208
- ...f.styles
6209
- },
6210
- children: f.content
6211
- }
6212
- ),
6213
- /* @__PURE__ */ G.jsx(
6214
- "div",
6215
- {
6216
- style: {
6217
- width: "100%",
6218
- flex: 1,
6219
- minHeight: "fit-content",
6220
- marginTop: `${f.height}px`,
6221
- marginBottom: `${l.height}px`,
6222
- padding: "12px 24px",
6223
- boxSizing: "border-box",
6224
- overflowY: i ? void 0 : "hidden",
6225
- ...r
6226
- },
6227
- children: o
6228
- }
6229
- )
6230
- ]
6218
+ children: /* @__PURE__ */ G.jsx(
6219
+ "div",
6220
+ {
6221
+ style: {
6222
+ width: "100%",
6223
+ flex: 1,
6224
+ minHeight: "fit-content",
6225
+ paddingTop: `${f.height}px`,
6226
+ paddingBottom: `${l.height}px`,
6227
+ padding: "12px 24px",
6228
+ boxSizing: "border-box",
6229
+ overflowY: i ? void 0 : "hidden",
6230
+ ...r
6231
+ },
6232
+ children: o
6233
+ }
6234
+ )
6231
6235
  }
6232
6236
  ),
6233
6237
  l.visible && /* @__PURE__ */ G.jsx(
@@ -6238,7 +6242,7 @@ const fn = U.createContext({
6238
6242
  style: {
6239
6243
  width: "100%",
6240
6244
  zIndex: 99,
6241
- position: l.visibility === "fixed" ? "relative" : "fixed",
6245
+ position: l.visibility === "fixed" ? "relative" : "sticky",
6242
6246
  bottom: 0,
6243
6247
  left: 0,
6244
6248
  right: 0,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eliseubatista99/react-scaffold-core",
3
- "version": "0.1.18",
3
+ "version": "0.1.20",
4
4
  "private": false,
5
5
  "description": "A library which provides basic components, hooks, helpers and providers to easily build a React application and avoid repeating the usual code.",
6
6
  "main": "dist/index.cjs.js",