diff --git a/README.txt b/README.txt index baf2c7c..8bea4a4 100644 --- a/README.txt +++ b/README.txt @@ -1,6 +1,6 @@ MDB 5 React -Version: FREE 7.1.0 +Version: FREE 7.2.0 Documentation: https://mdbootstrap.com/docs/b5/react/ diff --git a/app/demo/App.tsx b/app/demo/App.tsx index 6547d56..432f356 100644 --- a/app/demo/App.tsx +++ b/app/demo/App.tsx @@ -1,50 +1,25 @@ import React from "react"; -import { - MDBDropdown, - MDBDropdownMenu, - MDBDropdownToggle, - MDBDropdownItem, -} from "mdb-react-ui-kit"; +import { MDBBtn, MDBContainer } from "mdb-react-ui-kit"; -export default function App() { +function App() { return ( -
-
+ +
-
- Only now, you can get all premium features & more with the best - discounts of the year. -
- ​

All offers are LIMITED!

- - Check insane offers - -
-

- Publish your project with a single command. -

-

- Use{" "} - - MDB GO - {" "} - for a free hosting & deployment tool -

+
Thank you for using our product. We're glad you're with us.
+

MDB Team

+ + MDB REACT DOCS +
-
+ ); } + +export default App; diff --git a/app/package.json b/app/package.json index 1c8dadc..faca73e 100644 --- a/app/package.json +++ b/app/package.json @@ -1,6 +1,6 @@ { "name": "mdb-react-ui-kit-demo", - "version": "7.1.0", + "version": "7.2.0", "main": "index.js", "repository": { "type": "git", @@ -31,7 +31,7 @@ "css-loader": "5.0.1", "file-loader": "6.2.0", "html-loader": "^1.3.2", - "html-webpack-plugin": "4.5.0", + "html-webpack-plugin": "^5.1.0", "prettier": "^2.2.1", "sass": "^1.29.0", "sass-loader": "^10.1.0", @@ -39,7 +39,7 @@ "ts-loader": "^8.0.11", "typescript": "^4.1.3", "url-loader": "4.1.1", - "webpack": "5.1.0", + "webpack": "^5.20.0", "webpack-cli": "4.10.0", "webpack-dev-server": "4.9.1" }, diff --git a/app/src/free/components/Dropdown/DropdownMenu/DropdownMenu.tsx b/app/src/free/components/Dropdown/DropdownMenu/DropdownMenu.tsx index 1dc454c..8f5d7ee 100644 --- a/app/src/free/components/Dropdown/DropdownMenu/DropdownMenu.tsx +++ b/app/src/free/components/Dropdown/DropdownMenu/DropdownMenu.tsx @@ -2,7 +2,7 @@ import clsx from 'clsx'; import React, { Children, cloneElement } from 'react'; -import { createPortal } from 'react-dom'; +import Portal from '../../../../utils/Portal'; import { useDropdownContext } from '../hooks/useDropdownContext'; import { useKeyboard } from '../hooks/useKeyboard'; import { useFade } from '../hooks/useFade'; @@ -93,7 +93,7 @@ const MDBDropdownMenu = ({ ); - return <>{appendToBody ? createPortal(menu, document.body) : menu}; + return {menu}; }; export default MDBDropdownMenu; diff --git a/app/src/free/components/Popover/Popover.tsx b/app/src/free/components/Popover/Popover.tsx index 9f30386..691ba03 100644 --- a/app/src/free/components/Popover/Popover.tsx +++ b/app/src/free/components/Popover/Popover.tsx @@ -4,9 +4,9 @@ import clsx from 'clsx'; import React, { useCallback, useEffect, useState } from 'react'; import MDBBtn from '../Button/Button'; import type { PopoverProps } from './types'; -import ReactDOM from 'react-dom'; import { usePopper } from 'react-popper'; import { useOpenStatus } from '../../../utils/hooks'; +import Portal from '../../../../src/utils/Portal'; const MDBPopover: React.FC = ({ className, @@ -23,6 +23,7 @@ const MDBPopover: React.FC = ({ options, poperStyle, onClick, + disablePortal = false, ...props }): JSX.Element => { const [referenceElement, setReferenceElement] = useState(); @@ -92,8 +93,8 @@ const MDBPopover: React.FC = ({ {btnChildren} - {(attachELements || isOpen) && - ReactDOM.createPortal( + {(attachELements || isOpen) && ( + = ({ {...attributes.popper} > {children} - , - document.body - )} + + + )} ); }; diff --git a/app/src/free/components/Popover/types.tsx b/app/src/free/components/Popover/types.tsx index 6e7b40b..2bb4af7 100644 --- a/app/src/free/components/Popover/types.tsx +++ b/app/src/free/components/Popover/types.tsx @@ -11,6 +11,7 @@ interface PopoverProps extends ButtonProps { poperStyle?: React.CSSProperties; popperTag?: React.ComponentProps; tag?: React.ComponentProps; + disablePortal?: boolean; onOpen?: () => void; onClose?: () => void; } diff --git a/app/src/free/components/Tooltip/Tooltip.tsx b/app/src/free/components/Tooltip/Tooltip.tsx index 3731916..2e3a95c 100644 --- a/app/src/free/components/Tooltip/Tooltip.tsx +++ b/app/src/free/components/Tooltip/Tooltip.tsx @@ -1,11 +1,11 @@ 'use client'; import React, { useState, useEffect, useCallback, SyntheticEvent } from 'react'; -import ReactDOM from 'react-dom'; import clsx from 'clsx'; import { usePopper } from 'react-popper'; import type { TooltipProps } from './types'; import MDBBtn from '../Button/Button'; +import Portal from '../../../utils/Portal'; const MDBTooltip: React.FC = ({ className, @@ -22,6 +22,7 @@ const MDBTooltip: React.FC = ({ onClose, onMouseEnter, onMouseLeave, + type, ...props }) => { const [referenceElement, setReferenceElement] = useState(null); @@ -91,7 +92,6 @@ const MDBTooltip: React.FC = ({ }; } }, [handleClick, disableMouseDown]); - return ( <> = ({ onMouseLeave={handleOnMouseLeave} ref={setReferenceElement} {...wrapperProps} + type={type} > {children} - {isReadyToHide && - ReactDOM.createPortal( + {isReadyToHide && ( + = ({ {...props} >
{title}
-
, - document.body - )} + +
+ )} ); }; diff --git a/app/src/utils/Portal.tsx b/app/src/utils/Portal.tsx new file mode 100644 index 0000000..6252002 --- /dev/null +++ b/app/src/utils/Portal.tsx @@ -0,0 +1,34 @@ +import React, { useState, useEffect, RefObject } from 'react'; +import { createPortal } from 'react-dom'; + +type PortalTypes = { + children: React.ReactNode; + /** + * The reference to the container element where the elements will be rendered. If not specified the element will be rendered in the document body. + * */ + containerRef?: RefObject; + /** + * When `true` children will be rendered in normal DOM hierarchy. + * @default false + * */ + disablePortal?: boolean; +}; + +/** + * Renders elements outside the component's normal DOM hierarchy. + */ +const Portal = ({ children, containerRef, disablePortal }: PortalTypes) => { + const [mounted, setMounted] = useState(false); + + useEffect(() => { + !disablePortal && setMounted(true); + }, [disablePortal]); + + if (disablePortal) { + return <>{children}; + } + + return mounted ? createPortal(<>{children}, containerRef?.current || document.body) : null; +}; + +export default Portal; diff --git a/app/src/utils/hooks.tsx b/app/src/utils/hooks.tsx index a8dfda8..00c5567 100644 --- a/app/src/utils/hooks.tsx +++ b/app/src/utils/hooks.tsx @@ -2,14 +2,25 @@ import { useEffect, useState, useMemo, RefObject } from 'react'; const useOnScreen = (ref: RefObject) => { const [isIntersecting, setIntersecting] = useState(false); + const [observer, setObserver] = useState(null); // prettier-ignore - const observer = useMemo(() => new IntersectionObserver(([entry]) => { - setIntersecting(entry.isIntersecting) - }), []); + // const observer = useMemo(() => { + // return new IntersectionObserver(([entry]) => { + // setIntersecting(entry.isIntersecting) + // }); + // }, []); useEffect(() => { - if (!ref.current) return; + setObserver(() => { + return new IntersectionObserver(([entry]) => { + setIntersecting(entry.isIntersecting); + }); + }); + }, []); + + useEffect(() => { + if (!ref.current || !observer) return; observer.observe(ref.current); return () => observer.disconnect(); }, [observer, ref]); diff --git a/dist/mdb-react-ui-kit.cjs b/dist/mdb-react-ui-kit.cjs index 566e07a..d8cb2f1 100644 --- a/dist/mdb-react-ui-kit.cjs +++ b/dist/mdb-react-ui-kit.cjs @@ -1,2 +1,2 @@ (function(){"use strict";try{if(typeof document!="undefined"){var o=document.createElement("style");o.appendChild(document.createTextNode(".dropdown-menu .active:not(.form-control){color:#16181b;background-color:#eee}.dropdown-menu [data-active=true] a.dropdown-item,.dropdown-menu .dropdown-item:focus,.dropdown-menu li:focus .dropdown-item :not(.disabled){color:#16181b;background-color:#eee}.dropdown-menu li:focus{outline:none}.dropdown-menu.dropdown-menu-dark [data-active=true] a.dropdown-item,.dropdown-menu.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu.dropdown-menu-dark li:focus .dropdown-item{color:#fff;background-color:#1266f1}.btn-group.dropstart>.dropdown-menu{right:0!important}")),document.head.appendChild(o)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})(); -"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),n=require("react"),p=require("clsx"),J=require("react-dom"),ae=require("react-popper"),lt=require("@popperjs/core"),de=n.forwardRef(({breakpoint:e,fluid:t,children:s,className:a,tag:r="div",...o},i)=>{const l=p(`${t?"container-fluid":`container${e?"-"+e:""}`}`,a);return c.jsx(r,{className:l,...o,ref:i,children:s})});de.displayName="MDBContainer";const fe=n.forwardRef(({center:e,children:t,className:s,end:a,lg:r,md:o,offsetLg:i,offsetMd:l,offsetSm:u,order:f,size:d,sm:b,start:m,tag:g="div",xl:v,xxl:y,xs:h,...N},j)=>{const B=p(d&&`col-${d}`,h&&`col-xs-${h}`,b&&`col-sm-${b}`,o&&`col-md-${o}`,r&&`col-lg-${r}`,v&&`col-xl-${v}`,y&&`col-xxl-${y}`,!d&&!h&&!b&&!o&&!r&&!v&&!y?"col":"",f&&`order-${f}`,m&&"align-self-start",e&&"align-self-center",a&&"align-self-end",u&&`offset-sm-${u}`,l&&`offset-md-${l}`,i&&`offset-lg-${i}`,s);return c.jsx(g,{className:B,ref:j,...N,children:t})});fe.displayName="MDBCol";const me=n.forwardRef(({className:e,color:t="primary",pill:s,light:a,dot:r,tag:o="span",children:i,notification:l,...u},f)=>{const d=p("badge",a?t&&`badge-${t}`:t&&`bg-${t}`,r&&"badge-dot",s&&"rounded-pill",l&&"badge-notification",e);return c.jsx(o,{className:d,ref:f,...u,children:i})});me.displayName="MDBBadge";const it=({...e})=>{const[t,s]=n.useState(!1),a=p("ripple-wave",t&&"active");return n.useEffect(()=>{const r=setTimeout(()=>{s(!0)},50);return()=>{clearTimeout(r)}},[]),c.jsx("div",{className:a,...e})},ut=(...e)=>{const t=n.useRef();return n.useEffect(()=>{e.forEach(s=>{s&&(typeof s=="function"?s(t.current):s.current=t.current)})},[e]),t},re=n.forwardRef(({className:e,rippleTag:t="div",rippleCentered:s,rippleDuration:a=500,rippleUnbound:r,rippleRadius:o=0,rippleColor:i="dark",children:l,onMouseDown:u,...f},d)=>{const b=n.useRef(null),m=ut(d,b),g="rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%",v=[0,0,0],y=["primary","secondary","success","danger","warning","info","light","dark"],[h,N]=n.useState([]),[j,B]=n.useState(!1),C=p("ripple","ripple-surface",r&&"ripple-surface-unbound",j&&`ripple-surface-${i}`,e),M=()=>{if(y.find(E=>E===(i==null?void 0:i.toLowerCase())))return B(!0);{const E=I(i).join(",");return`radial-gradient(circle, ${g.split("{{color}}").join(`${E}`)})`}},I=T=>{const E=D=>(D.length<7&&(D=`#${D[1]}${D[1]}${D[2]}${D[2]}${D[3]}${D[3]}`),[parseInt(D.substr(1,2),16),parseInt(D.substr(3,2),16),parseInt(D.substr(5,2),16)]),S=D=>{const $=document.body.appendChild(document.createElement("fictum")),P="rgb(1, 2, 3)";return $.style.color=P,$.style.color!==P||($.style.color=D,$.style.color===P||$.style.color==="")?v:(D=getComputedStyle($).color,document.body.removeChild($),D)},O=D=>(D=D.match(/[.\d]+/g).map($=>+Number($)),D.length=3,D);return T.toLowerCase()==="transparent"?v:T[0]==="#"?E(T):(T.indexOf("rgb")===-1&&(T=S(T)),T.indexOf("rgb")===0?O(T):v)},x=T=>{const{offsetX:E,offsetY:S,height:O,width:D}=T,$=S<=O/2,P=E<=D/2,R=(G,_)=>Math.sqrt(G**2+_**2),F=S===O/2&&E===D/2,W={first:$===!0&&P===!1,second:$===!0&&P===!0,third:$===!1&&P===!0,fourth:$===!1&&P===!1},H={topLeft:R(E,S),topRight:R(D-E,S),bottomLeft:R(E,O-S),bottomRight:R(D-E,O-S)};let X=0;return F||W.fourth?X=H.topLeft:W.third?X=H.topRight:W.second?X=H.bottomRight:W.first&&(X=H.bottomLeft),X*2},L=T=>{var X;const E=(X=m.current)==null?void 0:X.getBoundingClientRect(),S=T.clientX-E.left,O=T.clientY-E.top,D=E.height,$=E.width,P={offsetX:s?D/2:S,offsetY:s?$/2:O,height:D,width:$},R={delay:a&&a*.5,duration:a&&a-a*.5},F=x(P),W=o||F/2,H={left:s?`${$/2-W}px`:`${S-W}px`,top:s?`${D/2-W}px`:`${O-W}px`,height:o?`${o*2}px`:`${F}px`,width:o?`${o*2}px`:`${F}px`,transitionDelay:`0s, ${R.delay}ms`,transitionDuration:`${a}ms, ${R.duration}ms`};return j?H:{...H,backgroundImage:`${M()}`}},A=T=>{const E=L(T),S=h.concat(E);N(S),u&&u(T)};return n.useEffect(()=>{const T=setTimeout(()=>{h.length>0&&N(h.splice(1,h.length-1))},a);return()=>{clearTimeout(T)}},[a,h]),c.jsxs(t,{className:C,onMouseDown:T=>A(T),ref:m,...f,children:[l,h.map((T,E)=>c.jsx(it,{style:T},E))]})});re.displayName="MDBRipple";const Z=n.forwardRef(({className:e,color:t="primary",outline:s,children:a,rounded:r,disabled:o,floating:i,size:l,href:u,block:f,active:d,toggle:b,noRipple:m,tag:g="button",role:v="button",...y},h)=>{const[N,j]=n.useState(d||!1);let B;const C=t&&["light","link"].includes(t)||s?"dark":"light";t!=="none"?s?t?B=`btn-outline-${t}`:B="btn-outline-primary":t?B=`btn-${t}`:B="btn-primary":B="";const M=p(t!=="none"&&"btn",B,r&&"btn-rounded",i&&"btn-floating",l&&`btn-${l}`,`${(u||g!=="button")&&o?"disabled":""}`,f&&"btn-block",N&&"active",e);return u&&g!=="a"&&(g="a"),["hr","img","input"].includes(g)||m?c.jsx(g,{className:M,onClick:b?()=>{j(!N)}:void 0,disabled:o&&g==="button"?!0:void 0,href:u,ref:h,role:v,...y,children:a}):c.jsx(re,{rippleTag:g,rippleColor:C,className:M,onClick:b?()=>{j(!N)}:void 0,disabled:o&&g==="button"?!0:void 0,href:u,ref:h,role:v,...y,children:a})});Z.displayName="MDBBtn";const pe=n.forwardRef(({className:e,children:t,shadow:s,toolbar:a,size:r,vertical:o,tag:i="div",role:l="group",...u},f)=>{let d;a?d="btn-toolbar":o?d="btn-group-vertical":d="btn-group";const b=p(d,s&&`shadow-${s}`,r&&`btn-group-${r}`,e);return c.jsx(i,{className:b,ref:f,role:l,...u,children:t})});pe.displayName="MDBBtnGroup";const be=n.forwardRef(({className:e,children:t,tag:s="div",color:a,grow:r,size:o,...i},l)=>{const u=p(`${r?"spinner-grow":"spinner-border"}`,a&&`text-${a}`,`${o?r?"spinner-grow-"+o:"spinner-border-"+o:""}`,e);return c.jsx(s,{className:u,ref:l,...i,children:t})});be.displayName="MDBSpinner";const ge=n.forwardRef(({className:e,children:t,border:s,background:a,tag:r="div",shadow:o,alignment:i,...l},u)=>{const f=p("card",s&&`border border-${s}`,a&&`bg-${a}`,o&&`shadow-${o}`,i&&`text-${i}`,e);return c.jsx(r,{className:f,ref:u,...l,children:t})});ge.displayName="MDBCard";const ve=n.forwardRef(({className:e,children:t,border:s,background:a,tag:r="div",...o},i)=>{const l=p("card-header",s&&`border-${s}`,a&&`bg-${a}`,e);return c.jsx(r,{className:l,...o,ref:i,children:t})});ve.displayName="MDBCardHeader";const he=n.forwardRef(({className:e,children:t,tag:s="p",...a},r)=>{const o=p("card-subtitle",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});he.displayName="MDBCardSubTitle";const ye=n.forwardRef(({className:e,children:t,tag:s="h5",...a},r)=>{const o=p("card-title",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});ye.displayName="MDBCardTitle";const Be=n.forwardRef(({className:e,children:t,tag:s="p",...a},r)=>{const o=p("card-text",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Be.displayName="MDBCardText";const Me=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("card-body",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Me.displayName="MDBCardBody";const xe=n.forwardRef(({className:e,children:t,border:s,background:a,tag:r="div",...o},i)=>{const l=p("card-footer",s&&`border-${s}`,a&&`bg-${a}`,e);return c.jsx(r,{className:l,...o,ref:i,children:t})});xe.displayName="MDBCardFooter";const dt=({className:e,children:t,overlay:s,position:a,fluid:r,...o})=>{const i=p(a&&`card-img-${a}`,r&&"img-fluid",s&&"card-img",e);return c.jsx("img",{className:i,...o,children:t})},De=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("card-img-overlay",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});De.displayName="MDBCardOverlay";const ft=({className:e,children:t,...s})=>{const a=p("card-link",e);return c.jsx("a",{className:a,...s,children:t})},Ne=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("card-group",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ne.displayName="MDBCardGroup";const we=n.forwardRef(({className:e,tag:t="ul",horizontal:s,horizontalSize:a,light:r,numbered:o,children:i,small:l,...u},f)=>{const d=p("list-group",s&&(a?`list-group-horizontal-${a}`:"list-group-horizontal"),r&&"list-group-light",o&&"list-group-numbered",l&&"list-group-small",e);return c.jsx(t,{className:d,ref:f,...u,children:i})});we.displayName="MDBListGroup";const je=n.forwardRef(({className:e,tag:t="li",active:s,disabled:a,action:r,color:o,children:i,noBorders:l,...u},f)=>{const d=t==="button",b=p("list-group-item",s&&"active",a&&!d&&"disabled",r&&"list-group-item-action",o&&`list-group-item-${o}`,l&&"border-0",e);return c.jsx(t,{className:b,disabled:d&&a,ref:f,...u,children:i})});je.displayName="MDBListGroupItem";const mt=({className:e,children:t,disableMouseDown:s,tag:a=Z,tooltipTag:r="div",options:o,placement:i="top",title:l,wrapperProps:u,wrapperClass:f,onOpen:d,onClose:b,onMouseEnter:m,onMouseLeave:g,...v})=>{const[y,h]=n.useState(null),[N,j]=n.useState(null),[B,C]=n.useState(!1),[M,I]=n.useState(!1),[x,L]=n.useState(!1),[A,T]=n.useState(!1),E=p("tooltip",x&&"show","fade",e),{styles:S,attributes:O}=ae.usePopper(y,N,{placement:i,...o});n.useEffect(()=>{let R,F;return B||M?(T(!0),R=setTimeout(()=>{L(!0)},4)):(L(!1),F=setTimeout(()=>{T(!1)},300)),()=>{clearTimeout(R),clearTimeout(F)}},[B,M]);const D=R=>{d==null||d(R),!R.defaultPrevented&&C(!0),m==null||m(R)},$=R=>{b==null||b(R),!R.defaultPrevented&&C(!1),g==null||g(R)},P=n.useCallback(R=>{R.target===y?I(!0):I(!1)},[y]);return n.useEffect(()=>{if(!s)return document.addEventListener("mousedown",P),()=>{document.removeEventListener("mousedown",P)}},[P,s]),c.jsxs(c.Fragment,{children:[c.jsx(a,{className:f,onMouseEnter:D,onMouseLeave:$,ref:h,...u,children:t}),A&&J.createPortal(c.jsx(r,{ref:j,className:E,style:S.popper,...O.popper,role:"tooltip",...v,children:c.jsx("div",{className:"tooltip-inner",children:l})}),document.body)]})},Te=n.forwardRef(({around:e,between:t,bottom:s,center:a,children:r,className:o,evenly:i,end:l,middle:u,start:f,tag:d="div",top:b,...m},g)=>{const v=p("row",e&&"justify-content-around",t&&"justify-content-between",s&&"align-self-end",a&&"justify-content-center",i&&"justifty-content-evenly",l&&"justify-content-end",u&&"align-self-center",f&&"justify-content-start",b&&"align-self-start",o);return c.jsx(d,{className:v,...m,ref:g,children:r})});Te.displayName="MDBRow";const pt=({animate:e,className:t,icon:s,fab:a,fas:r,fal:o,far:i,flag:l,spin:u,fixed:f,flip:d,list:b,size:m,pull:g,pulse:v,color:y,border:h,rotate:N,inverse:j,stack:B,iconType:C,children:M,...I})=>{let x;l?x="flag":a?x="fab":r?x="fas":i?x="far":o?x="fal":x="fa";const L=p(C?`fa-${C}`:x,e&&`fa-${e}`,l?`flag-${l}`:s&&`fa-${s}`,m&&`fa-${m}`,y&&`text-${y}`,h&&"fa-border",N&&`fa-rotate-${N}`,g&&`fa-pull-${g}`,u&&!e&&"fa-spin",b&&"fa-li",f&&"fa-fw",v&&!e&&"fa-pulse",j&&"fa-inverse",d&&`fa-flip-${d}`,B&&`fa-stack-${B}`,t);return c.jsx("i",{className:L,...I,children:M})},Ee=n.forwardRef(({className:e,children:t,tag:s="p",variant:a,color:r,blockquote:o,note:i,noteColor:l,listUnStyled:u,listInLine:f,...d},b)=>{const m=p(a&&a,o&&"blockquote",i&&"note",r&&`text-${r}`,l&&`note-${l}`,u&&"list-unstyled",f&&"list-inline",e);return o&&(s="blockquote"),(u||f)&&(s="ul"),c.jsx(s,{className:m,ref:b,...d,children:t})});Ee.displayName="MDBTypography";const Se=n.forwardRef(({className:e,color:t,uppercase:s,bold:a,children:r,...o},i)=>{const l=p("breadcrumb",a&&"font-weight-bold",t&&`text-${t}`,s&&"text-uppercase",e);return c.jsx("nav",{"aria-label":"breadcrumb",children:c.jsx("ol",{className:l,ref:i,...o,children:r})})});Se.displayName="MDBBreadcrumb";const Re=n.forwardRef(({className:e,active:t,current:s="page",children:a,...r},o)=>{const i=p("breadcrumb-item",t&&"active",e);return c.jsx("li",{className:i,ref:o,"aria-current":t&&s,...r,children:a})});Re.displayName="MDBBreadcrumbItem";const bt=e=>{if(e!==!1)return`navbar-expand-${e}`},Ce=n.forwardRef(({className:e,children:t,light:s,dark:a,scrolling:r,fixed:o,sticky:i,scrollingNavbarOffset:l,color:u,transparent:f,expand:d,tag:b="nav",bgColor:m,...g},v)=>{const[y,h]=n.useState(!1),N=p({"navbar-light":s,"navbar-dark":a,"scrolling-navbar":r||l,"top-nav-collapse":y,[`text-${u}`]:u&&f?y:u},o&&`fixed-${o}`,i&&"sticky-top","navbar",d&&bt(d),m&&`bg-${m}`,e),j=n.useCallback(()=>{l&&window.pageYOffset>l?h(!0):h(!1)},[l]);return n.useEffect(()=>((r||l)&&window.addEventListener("scroll",j),()=>{window.removeEventListener("scroll",j)}),[j,r,l]),c.jsx(b,{className:N,role:"navigation",...g,ref:v,children:t})});Ce.displayName="MDBNavbar";const Ie=n.forwardRef(({children:e,className:t="",disabled:s=!1,active:a=!1,tag:r="a",...o},i)=>{const l=p("nav-link",s?"disabled":a?"active":"",t);return c.jsx(r,{"data-test":"nav-link",className:l,style:{cursor:"pointer"},ref:i,...o,children:e})});Ie.displayName="MDBNavbarLink";const $e=n.forwardRef(({className:e,children:t,tag:s="a",...a},r)=>{const o=p("navbar-brand",e);return c.jsx(s,{className:o,ref:r,...a,children:t})});$e.displayName="MDBNavbarBrand";const ke=n.forwardRef(({children:e,className:t,active:s,text:a,tag:r="li",...o},i)=>{const l=p("nav-item",s&&"active",a&&"navbar-text",t);return c.jsx(r,{...o,className:l,ref:i,children:e})});ke.displayName="MDBNavbarItem";const Le=n.forwardRef(({children:e,className:t,right:s,fullWidth:a=!0,left:r,tag:o="ul",...i},l)=>{const u=p("navbar-nav",a&&"w-100",s&&"ms-auto",r&&"me-auto",t);return c.jsx(o,{className:u,ref:l,...i,children:e})});Le.displayName="MDBNavbarNav";const Ae=n.forwardRef(({children:e,className:t,tag:s="button",...a},r)=>{const o=p("navbar-toggler",t);return c.jsx(s,{...a,className:o,ref:r,children:e})});Ae.displayName="MDBNavbarToggler";const Fe=n.forwardRef(({children:e,bgColor:t,color:s,className:a,...r},o)=>{const i=p(t&&`bg-${t}`,s&&`text-${s}`,a);return c.jsx("footer",{className:i,...r,ref:o,children:e})});Fe.displayName="MDBFooter";const Pe=n.forwardRef(({children:e,size:t,circle:s,center:a,end:r,start:o,className:i,...l},u)=>{const f=p("pagination",a&&"justify-content-center",s&&"pagination-circle",r&&"justify-content-end",t&&`pagination-${t}`,o&&"justify-content-start",i);return c.jsx("ul",{className:f,...l,ref:u,children:e})});Pe.displayName="MDBPagination";const Oe=n.forwardRef(({children:e,className:t,tag:s="a",...a},r)=>{const o=p("page-link",t);return c.jsx(s,{className:o,...a,ref:r,children:e})});Oe.displayName="MDBPaginationLink";const He=n.forwardRef(({children:e,className:t,active:s,disabled:a,...r},o)=>{const i=p("page-item",s&&"active",a&&"disabled",t);return c.jsx("li",{className:i,...r,ref:o,children:e})});He.displayName="MDBPaginationItem";const gt=({className:e,classNameResponsive:t,responsive:s,align:a,borderColor:r,bordered:o,borderless:i,children:l,color:u,hover:f,small:d,striped:b,...m})=>{const g=p("table",a&&`align-${a}`,r&&`border-${r}`,o&&"table-bordered",i&&"table-borderless",u&&`table-${u}`,f&&"table-hover",d&&"table-sm",b&&"table-striped",e),v=n.useMemo(()=>c.jsx("table",{className:g,...m,children:l}),[l,g,m]);if(s){const y=p(typeof s=="string"?`table-responsive-${s}`:"table-responsive",t);return c.jsx("div",{className:y,children:v})}else return v},vt=({className:e,children:t,dark:s,light:a,...r})=>{const o=p(s&&"table-dark",a&&"table-light",e);return c.jsx("thead",{className:o,...r,children:t})},ht=({className:e,children:t,...s})=>{const a=p(e);return c.jsx("tbody",{className:a,...s,children:t})},ne=n.forwardRef(({animated:e,children:t,className:s,style:a,tag:r="div",valuenow:o,valuemax:i,striped:l,bgColor:u,valuemin:f,width:d,...b},m)=>{const g=p("progress-bar",u&&`bg-${u}`,l&&"progress-bar-striped",e&&"progress-bar-animated",s),v={width:`${d}%`,...a};return c.jsx(r,{className:g,style:v,ref:m,role:"progressbar",...b,"aria-valuenow":Number(d)??o,"aria-valuemin":Number(f),"aria-valuemax":Number(i),children:t})});ne.displayName="MDBProgressBar";const We=n.forwardRef(({className:e,children:t,tag:s="div",height:a,style:r,...o},i)=>{const l=p("progress",e),u={height:`${a}px`,...r};return c.jsx(s,{className:l,ref:i,style:u,...o,children:n.Children.map(t,f=>{if(!n.isValidElement(f)||f.type!==ne){console.error("Progress component only allows ProgressBar as child");return}else return f})})});We.displayName="MDBProgress";const yt=e=>{const[t,s]=n.useState(!1),a=n.useMemo(()=>new IntersectionObserver(([r])=>{s(r.isIntersecting)}),[]);return n.useEffect(()=>{if(e.current)return a.observe(e.current),()=>a.disconnect()},[a,e]),t},Bt=(e,t)=>n.useMemo(()=>t!==void 0?t:e,[t,e]),Ge=n.forwardRef(({className:e,size:t,contrast:s,value:a,defaultValue:r,id:o,labelClass:i,wrapperClass:l,wrapperStyle:u,wrapperTag:f="div",label:d,onChange:b,children:m,labelRef:g,labelStyle:v,type:y,onBlur:h,readonly:N=!1,showCounter:j=!1,...B},C)=>{var V;const[M,I]=n.useState(r),x=n.useMemo(()=>a!==void 0?a:M,[a,M]),[L,A]=n.useState(0),[T,E]=n.useState(!1),[S,O]=n.useState(0),D=n.useRef(null),$=yt(D),P=n.useRef(null),R=g||P;n.useImperativeHandle(C,()=>D.current);const F=p("form-outline",s&&"form-white",l),W=p("form-control",T&&"active",y==="date"&&"active",t&&`form-control-${t}`,e),H=p("form-label",i),X=n.useCallback(()=>{var w;(w=R.current)!=null&&w.clientWidth&&A(R.current.clientWidth*.8+8)},[R]),G=w=>{I(w.target.value),j&&O(w.target.value.length),b==null||b(w)},_=n.useCallback(w=>{D.current&&(E(!!x),h&&h(w))},[x,h]);return n.useEffect(()=>{X()},[(V=R.current)==null?void 0:V.clientWidth,X,$]),n.useEffect(()=>{if(x)return E(!0);E(!1)},[x]),c.jsxs(f,{className:F,style:u,children:[c.jsx("input",{type:y,readOnly:N,className:W,onBlur:_,onChange:G,onFocus:X,value:a,defaultValue:r,id:o,ref:D,...B}),d&&c.jsx("label",{className:H,style:v,htmlFor:o,ref:R,children:d}),c.jsxs("div",{className:"form-notch",children:[c.jsx("div",{className:"form-notch-leading"}),c.jsx("div",{className:"form-notch-middle",style:{width:L}}),c.jsx("div",{className:"form-notch-trailing"})]}),m,j&&B.maxLength&&c.jsx("div",{className:"form-helper",children:c.jsx("div",{className:"form-counter",children:`${S}/${B.maxLength}`})})]})});Ge.displayName="MDBInput";const te=n.forwardRef(({className:e,inputRef:t,labelClass:s,wrapperClass:a,labelStyle:r,wrapperTag:o="div",wrapperStyle:i,label:l,inline:u,btn:f,id:d,btnColor:b,disableWrapper:m,toggleSwitch:g,...v},y)=>{let h="form-check-input",N="form-check-label";f&&(h="btn-check",b?N=`btn btn-${b}`:N="btn btn-primary");const j=p(l&&!f&&"form-check",u&&!f&&"form-check-inline",g&&"form-switch",a),B=p(h,e),C=p(N,s),M=c.jsxs(c.Fragment,{children:[c.jsx("input",{className:B,id:d,ref:t,...v}),l&&c.jsx("label",{className:C,style:r,htmlFor:d,children:l})]});return c.jsx(c.Fragment,{children:m?M:c.jsx(o,{style:i,className:j,ref:y,children:M})})});te.displayName="InputTemplate";const Mt=({...e})=>c.jsx(te,{type:"checkbox",...e}),xt=({...e})=>c.jsx(te,{type:"radio",...e}),Xe=({className:e,children:t,open:s=!1,id:a,navbar:r,tag:o="div",collapseRef:i,style:l,onOpen:u,onClose:f,...d})=>{const[b,m]=n.useState(!1),[g,v]=n.useState(void 0),[y,h]=n.useState(!1),N=p(y?"collapsing":"collapse",!y&&b&&"show",r&&"navbar-collapse",e),j=n.useRef(null),B=i??j,C=n.useCallback(()=>{b&&v(void 0)},[b]);return n.useEffect(()=>{var M;g===void 0&&b&&v((M=B==null?void 0:B.current)==null?void 0:M.scrollHeight)},[g,b,B]),n.useEffect(()=>{b!==s&&(s?u==null||u():f==null||f(),m(s)),b&&h(!0);const M=setTimeout(()=>{h(!1)},350);return()=>{clearTimeout(M)}},[s,b,u,f]),n.useEffect(()=>{var M;v(b?(M=B==null?void 0:B.current)==null?void 0:M.scrollHeight:0)},[b,B,t]),n.useEffect(()=>(window.addEventListener("resize",C),()=>{window.removeEventListener("resize",C)}),[C]),c.jsx(o,{style:{height:g,...l},id:a,className:N,...d,ref:B,children:t})},qe=n.createContext(null),Dt=({children:e,isOpen:t=!1,options:s,animation:a=!0,dropup:r,dropright:o,dropleft:i,onClose:l,onOpen:u})=>{const[f,d]=n.useState(t),[b,m]=n.useState(null),[g,v]=n.useState(null),[y,h]=n.useState(-1);return c.jsx(qe.Provider,{value:{animation:a,activeIndex:y,isOpenState:f,setReferenceElement:m,setPopperElement:v,setActiveIndex:h,popperElement:g,setIsOpenState:d,referenceElement:b,onClose:l,onOpen:u,dropup:r,options:s,dropright:o,dropleft:i},children:e})},Nt=e=>e instanceof HTMLElement,wt=e=>e instanceof Node,Q=()=>{const e=n.useContext(qe);if(!e)throw new Error("Missing context data");return e},jt=()=>{const{isOpenState:e,setIsOpenState:t,setActiveIndex:s,popperElement:a,referenceElement:r,onClose:o}=Q(),i=n.useCallback(l=>{e&&(o==null||o(l)),!(!e||!wt(l.target)||a&&a.contains(l.target)||r&&r.contains(l.target)||l.defaultPrevented)&&(t(!1),setTimeout(()=>s(-1),300))},[e,t,s,a,r,o]);n.useEffect(()=>(document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)),[i])},Tt=({className:e,tag:t="div",group:s,children:a,dropup:r,dropright:o,dropleft:i,wrapper:l,...u})=>{jt();const f=p(s?"btn-group":"dropdown",r&&"dropup",o&&"dropend",i&&"dropstart",e);return l?c.jsx(t,{className:f,...u,children:a}):c.jsx(c.Fragment,{children:a})},Et=({animation:e,onClose:t,onOpen:s,wrapper:a=!0,...r})=>c.jsx(Dt,{animation:e,onClose:t,onOpen:s,...r,children:c.jsx(Tt,{wrapper:a,...r})}),St=({childTag:e,children:t,disabled:s,link:a,divider:r,header:o,href:i="#"})=>{const l=p("dropdown-item",s&&"disabled");return a?e?c.jsx(e,{className:l,children:t}):c.jsx("a",{href:i,className:l,children:t}):r?e?c.jsx(e,{className:"dropdown-divider",children:t}):c.jsx("hr",{className:"dropdown-divider"}):o?e?c.jsx(e,{className:"dropdown-header",children:t}):c.jsx("h6",{className:"dropdown-header",children:t}):c.jsx(c.Fragment,{children:t})};const Rt=({onClick:e,tag:t="li",childTag:s,children:a,style:r,link:o,divider:i,header:l,disabled:u,href:f,preventCloseOnClick:d,...b})=>{const{setIsOpenState:m,onClose:g,setActiveIndex:v}=Q(),y=h=>{g==null||g(h),e==null||e(h),!(u||d||h.defaultPrevented)&&(setTimeout(()=>v(-1),300),m(!1))};return c.jsx(t,{style:r,onClick:y,...b,children:c.jsx(St,{link:o,divider:i,header:l,disabled:u,href:f,childTag:s,children:a})})},ie=(e,t,s)=>s==="up"?e<=0?t[t.length-1].props.divider===!0||t[t.length-1].props.disabled===!0:t[e-1].props.divider===!0||t[e-1].props.disabled===!0:e===t.length-1?t[0].props.divider===!0||t[0].props.disabled===!0:t[e+1].props.divider===!0||t[e+1].props.disabled===!0,Ct=e=>{const{activeIndex:t,isOpenState:s,setIsOpenState:a,setActiveIndex:r,onClose:o}=Q(),i=n.useCallback(l=>{const u=["ArrowUp","ArrowDown","Tab","Enter","Escape"];if(!(!Array.isArray(e)||!u.includes(l.key))){if(Nt(document.activeElement)&&document.activeElement.blur(),l.key==="ArrowUp"){l.preventDefault();const f=ie(t,e,"up");if(t===1){r(f?e.length-1:0);return}if(t<=0){r(f?e.length-2:e.length-1);return}r(d=>f?d-2:d-1)}if(l.key==="ArrowDown"||l.key==="Tab"){l.preventDefault();const f=ie(t,e,"down");if(t===e.length-2){r(d=>f?0:d+1);return}if(t===e.length-1){r(f?1:0);return}r(d=>f?d+2:d+1)}if(l.key==="Enter"){const f=document.querySelector('[data-active="true"]'),d=f==null?void 0:f.firstElementChild;if(d)return d.click();if(o==null||o(l),l.defaultPrevented)return;a(!1),setTimeout(()=>r(-1),300)}if(l.key==="Escape"){if(o==null||o(l),l.defaultPrevented)return;a(!1),setTimeout(()=>r(-1),300)}}},[e,a,r,t,o]);n.useEffect(()=>(s&&document.addEventListener("keydown",i),()=>{s&&document.removeEventListener("keydown",i)}),[s,i]),n.useEffect(()=>{const l=document.querySelector('[data-active="true"]'),u=l==null?void 0:l.firstElementChild;return u==null||u.focus(),()=>u==null?void 0:u.blur()},[t])},It=()=>{const{isOpenState:e}=Q(),[t,s]=n.useState(!1),[a,r]=n.useState(!1),[o,i]=n.useState(e);return n.useEffect(()=>{let l;return e||(r(!0),s(!1),l=setTimeout(()=>{r(!1),i(!1)},300)),e&&(s(!0),r(!1),i(!0),l=setTimeout(()=>{s(!1)},300)),()=>clearTimeout(l)},[e]),{open:o,isFadeIn:t,isFadeOut:a}};const $t=({className:e,tag:t="ul",children:s,style:a,dark:r,responsive:o="",appendToBody:i=!1,alwaysOpen:l,...u})=>{const{activeIndex:f,setPopperElement:d,isOpenState:b,animation:m,referenceElement:g,popperElement:v,options:y,dropleft:h,dropup:N,dropright:j}=Q(),{open:B,isFadeIn:C,isFadeOut:M}=It();Ct(s);const I=()=>{if(j)return"right-start";if(h)return"left-start";const T=v&&getComputedStyle(v).getPropertyValue("--mdb-position").trim()==="end";return N?T?"top-end":"top-start":T?"bottom-end":"bottom-start"},{styles:x}=ae.usePopper(g,v,{placement:I(),modifiers:[lt.flip],...y}),L=p("dropdown-menu",r&&"dropdown-menu-dark",b&&"show",m&&"animation",C&&"fade-in",M&&"fade-out",o&&`dropdown-menu-${o}`,e);if(!B&&!l)return null;const A=c.jsx(t,{className:L,style:{position:"absolute",zIndex:1e3,...x.popper,...a},ref:d,...u,children:n.Children.map(s,(T,E)=>n.cloneElement(T,{tabIndex:0,"data-active":f===E&&!0,className:p(f===E?"active":"",T.props.className)}))});return c.jsx(c.Fragment,{children:i?J.createPortal(A,document.body):A})},kt=({className:e,tag:t=Z,children:s,onClick:a,split:r,...o})=>{const{setIsOpenState:i,setReferenceElement:l,isOpenState:u,setActiveIndex:f,onClose:d,onOpen:b}=Q(),m=p("dropdown-toggle",r&&"dropdown-toggle-split",e),g=v=>{a==null||a(v),u?d==null||d(v):b==null||b(v),!v.defaultPrevented&&(i(y=>!y),setTimeout(()=>f(-1),300))};return c.jsx(t,{onClick:g,ref:l,className:m,"aria-expanded":!!u,...o,children:s})},Lt=({className:e,btnClassName:t,btnChildren:s,children:a,tag:r=Z,onOpen:o,onClose:i,popperTag:l="div",open:u,placement:f="bottom",dismiss:d,options:b,poperStyle:m,onClick:g,...v})=>{const[y,h]=n.useState(),[N,j]=n.useState(),{styles:B,attributes:C}=ae.usePopper(y,N,{placement:f,...b}),[M,I]=n.useState(u??!1),x=Bt(M,u),[L,A]=n.useState(!1),[T,E]=n.useState(!1),S=p("popover fade",L&&x&&"show",e),O=$=>{x&&!d?i==null||i():x||o==null||o(),d?(E(!0),I(!0)):I(!x),g&&g($)},D=n.useCallback($=>{T&&N&&x&&y&&!y.contains($.target)&&(I(!1),i==null||i())},[T,x,N,y,i]);return n.useEffect(()=>{const $=setTimeout(()=>{A(x)},150);return()=>{clearTimeout($)}},[x]),n.useEffect(()=>(x&&document.addEventListener("mousedown",D),()=>{document.removeEventListener("mousedown",D)}),[D,x]),c.jsxs(c.Fragment,{children:[c.jsx(r,{onClick:O,className:t,...v,ref:h,children:s}),(L||x)&&J.createPortal(c.jsx(l,{className:S,ref:j,style:{...B.popper,...m},...C.popper,children:a}),document.body)]})},At=({className:e,children:t,tag:s="div",...a})=>{const r=p("popover-body",e);return c.jsx(s,{className:r,...a,children:t})},Ft=({className:e,children:t,tag:s="h3",...a})=>{const r=p("popover-header",e);return c.jsx(s,{className:r,...a,children:t})},Pt=({animationDirection:e,appendToBody:t,backdrop:s=!0,children:a,className:r,closeOnEsc:o=!0,setOpen:i,leaveHiddenModal:l=!0,modalRef:u,onClose:f,onClosePrevented:d,onOpen:b,open:m,staticBackdrop:g,nonInvasive:v=!1,tag:y="div",...h})=>{const[N,j]=n.useState(m),[B,C]=n.useState(m),[M,I]=n.useState(m),[x,L]=n.useState(!1),[A,T]=n.useState(0),[E,S]=n.useState([]),O=n.useRef(null),D=u||O,$=p("modal",x&&"modal-static",e,"fade",B&&"show",N&&v&&"modal-non-invasive-show",r),P=p("modal-backdrop","fade",N&&"show"),R=n.useCallback(()=>{C(G=>(G&&(f==null||f()),!1)),setTimeout(()=>{j(!1),i==null||i(!1)},150),setTimeout(()=>{I(!1)},350)},[f,i]),F=n.useCallback(G=>{v||B&&G.target===D.current&&(g?(L(!0),d==null||d(),setTimeout(()=>{L(!1)},300)):R())},[B,D,g,R,d,v]),W=n.useCallback(G=>{B&&G.key==="Tab"&&(G.preventDefault(),T(A+1)),o&&B&&G.key==="Escape"&&(g?(L(!0),d==null||d(),setTimeout(()=>{L(!1)},300)):R())},[B,o,A,g,R,d]);n.useEffect(()=>{var V;const G=(V=D.current)==null?void 0:V.querySelectorAll("button, a, input, select, textarea, [tabindex]"),_=Array.from(G).filter(w=>w.tabIndex!==-1).sort((w,k)=>w.tabIndex===k.tabIndex?0:k.tabIndex===null?-1:w.tabIndex===null?1:w.tabIndex-k.tabIndex);S(_),T(_.length-1)},[D]),n.useEffect(()=>{E&&E.length>0&&(A===E.length?(E[0].focus(),T(0)):E[A].focus())},[A,E]),n.useEffect(()=>{const G=()=>{const V=document.documentElement.clientWidth;return Math.abs(window.innerWidth-V)},_=window.innerWidth>document.documentElement.clientWidth&&window.innerWidth>=576;if(M&&_&&!v){const V=G();document.body.classList.add("modal-open"),document.body.style.overflow="hidden",document.body.style.paddingRight=`${V}px`}else document.body.classList.remove("modal-open"),document.body.style.overflow="",document.body.style.paddingRight="";return()=>{document.body.classList.remove("modal-open"),document.body.style.overflow="",document.body.style.paddingRight=""}},[M,v]),n.useEffect(()=>{m?(b==null||b(),I(!0),setTimeout(()=>{j(!0)},0),setTimeout(()=>{C(!0),i==null||i(!0)},150)):R()},[m,R,i,b]),n.useEffect(()=>{const G=_=>{_.target.closest(".modal-dialog")||window.addEventListener("mouseup",F,{once:!0})};return window.addEventListener("mousedown",G),window.addEventListener("keydown",W),()=>{window.removeEventListener("mousedown",G),window.removeEventListener("keydown",W)}},[W,F]);const H=c.jsx(c.Fragment,{children:(l||m||M)&&J.createPortal(c.jsxs(c.Fragment,{children:[c.jsx(y,{className:$,ref:D,style:{display:M||m?"block":"none",pointerEvents:v?"none":"initial"},...h,children:a}),J.createPortal(s&&M&&!v&&c.jsx("div",{className:P}),document.body)]}),document.body)}),X=c.jsx(c.Fragment,{children:(l||m||M)&&c.jsxs(c.Fragment,{children:[c.jsx(y,{className:$,ref:D,style:{display:M||m?"block":"none",pointerEvents:v?"none":"initial"},...h,children:a}),J.createPortal(s&&M&&!v&&c.jsx("div",{onClick:R,className:P}),document.body)]})});return c.jsx(c.Fragment,{children:t?H:X})},Ve=n.forwardRef(({className:e,centered:t,children:s,size:a,scrollable:r,tag:o="div",...i},l)=>{const u=p("modal-dialog",r&&"modal-dialog-scrollable",t&&"modal-dialog-centered",a&&`modal-${a}`,e);return c.jsx(o,{className:u,...i,ref:l,children:s})});Ve.displayName="MDBModalDialog";const _e=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-content",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});_e.displayName="MDBModalContent";const Ye=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-header",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ye.displayName="MDBModalHeader";const Ke=n.forwardRef(({className:e,children:t,tag:s="h5",...a},r)=>{const o=p("modal-title",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ke.displayName="MDBModalTitle";const Ue=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-body",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ue.displayName="MDBModalBody";const Je=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-footer",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Je.displayName="MDBModalFooter";const oe=n.createContext({activeElement:null,setTargets:null}),Ot=({container:e=typeof window!==void 0?window:null,className:t,children:s,offset:a=10,...r})=>{const o=p("sticky-top",t),[i,l]=n.useState(null),[u,f]=n.useState([]),d=e instanceof Window,b=n.useCallback(()=>{var N,j,B;if(!u.length)return;const m=d?window.pageYOffset:(N=e==null?void 0:e.current)==null?void 0:N.scrollTop,g=Number(a),v=(j=u[u.length-1])==null?void 0:j.current,y=(B=u[0])==null?void 0:B.current;m+g{var A;const I=(A=u[M+1])==null?void 0:A.current,x=C.current;if(m>x.offsetTop-g&&m<(I==null?void 0:I.offsetTop)-g){l(x);return}}),m>v.offsetTop-g&&l(v)},[a,u,d,e]);return n.useEffect(()=>{const m=d?e:e==null?void 0:e.current;return b(),m==null||m.addEventListener("scroll",b),()=>{m==null||m.removeEventListener("scroll",b)}},[b,e,d]),c.jsx("div",{className:o,...r,children:c.jsx("ul",{className:"nav flex-column nav-pills menu-sidebar",children:c.jsx(oe.Provider,{value:{activeElement:i,setTargets:f},children:s})})})},Ht=({className:e,collapsible:t,targetRef:s,children:a,subsections:r,onClick:o,onActivate:i,...l})=>{var y;const{activeElement:u,setTargets:f}=n.useContext(oe),d=()=>r==null?void 0:r.some(h=>h.current.id===(u==null?void 0:u.id)),b=(u==null?void 0:u.id)===((y=s.current)==null?void 0:y.id),m=b||d();b&&(i==null||i(u==null?void 0:u.id));const g=p("nav-link",t&&"collapsible-scrollspy",m&&"active",e),v=h=>{const N=s==null?void 0:s.current;N==null||N.scrollIntoView({behavior:"smooth"}),o==null||o(h)};return n.useEffect(()=>{f(h=>[...h,s])},[f,s]),c.jsx("li",{className:"nav-item",style:{cursor:"pointer"},children:c.jsx("a",{className:g,onClick:v,...l,children:a})})},Wt=({collapsible:e,className:t,children:s,style:a,...r})=>{const[o,i]=n.useState("0px"),{activeElement:l}=n.useContext(oe),u=p("nav flex-column",t),f=n.useRef(null);n.useEffect(()=>{const b=()=>e==null?void 0:e.some(g=>g.current.id===(l==null?void 0:l.id)),m=f.current;b()?i(`${m==null?void 0:m.scrollHeight}px`):i("0px")},[l,e]);const d={overflow:"hidden",height:o,transition:"height .5s ease",flexWrap:"nowrap",...a};return c.jsx("ul",{className:u,ref:f,style:e?d:a,...r,children:s})},Gt=({...e})=>c.jsx(te,{type:"checkbox",toggleSwitch:!0,...e}),Xt=({value:e,min:t="0",max:s="100",showThumb:a})=>{const r=Number(e),[o,i]=n.useState((r||0-Number(t))*100/(Number(s)-Number(t))),l=p("thumb",a&&"thumb-active");return n.useEffect(()=>{i((Number(e)-Number(t))*100/(Number(s)-Number(t)))},[e,s,t]),c.jsx("span",{className:l,style:{left:`calc(${o}% + (${8-o*.15}px))`},children:c.jsx("span",{className:"thumb-value",children:e})})},qt=({className:e,defaultValue:t=0,disableTooltip:s,labelId:a,max:r,min:o,onMouseDown:i,onMouseUp:l,onTouchStart:u,onTouchEnd:f,onChange:d,labelClass:b,value:m,label:g,id:v,inputRef:y,...h})=>{const[N,j]=n.useState(t),[B,C]=n.useState(!1),M=p("form-range",e),I=p("form-label",b),x=S=>{C(!0),i&&i(S)},L=S=>{C(!1),l&&l(S)},A=S=>{C(!0),u&&u(S)},T=S=>{C(!1),f&&f(S)},E=S=>{j(S.target.value),d&&d(S)};return c.jsxs(c.Fragment,{children:[g&&c.jsx("label",{className:I,id:a,htmlFor:v,children:g}),c.jsxs("div",{className:"range",children:[c.jsx("input",{type:"range",onMouseDown:x,onMouseUp:L,onTouchStart:A,onTouchEnd:T,onChange:E,className:M,value:m||N,id:v,min:o,max:r,ref:y,...h}),!s&&c.jsx(Xt,{value:m||N,showThumb:B,min:o,max:r})]})]})},Qe=n.forwardRef(({className:e,labelClass:t,labelStyle:s,inputRef:a,size:r,label:o,id:i,...l},u)=>{const f=p("form-control",`form-control-${r}`,e),d=p("form-label",t),b=n.useRef(null);return n.useImperativeHandle(u,()=>b.current||(a==null?void 0:a.current)),c.jsxs(c.Fragment,{children:[o&&c.jsx("label",{className:d,style:s,htmlFor:i,children:o}),c.jsx("input",{className:f,type:"file",id:i,ref:b,...l})]})});Qe.displayName="MDBFile";const Ze=n.forwardRef(({className:e,children:t,noBorder:s,textBefore:a,textAfter:r,noWrap:o,tag:i="div",textTag:l="span",textClass:u,size:f,textProps:d,...b},m)=>{const g=p("input-group",o&&"flex-nowrap",f&&`input-group-${f}`,e),v=p("input-group-text",s&&"border-0",u),y=h=>c.jsx(c.Fragment,{children:h&&Array.isArray(h)?h.map((N,j)=>c.jsx(l,{className:v,...d,children:N},j)):c.jsx(l,{className:v,...d,children:h})});return c.jsxs(i,{className:g,ref:m,...b,children:[a&&y(a),t,r&&y(r)]})});Ze.displayName="MDBInputGroup";const ze=n.forwardRef(({className:e,children:t,isValidated:s=!1,onReset:a,onSubmit:r,noValidate:o=!0,...i},l)=>{const[u,f]=n.useState(s),d=p("needs-validation",u&&"was-validated",e),b=g=>{g.preventDefault(),f(!0),r&&r(g)},m=g=>{g.preventDefault(),f(!1),a&&a(g)};return n.useEffect(()=>{f(s)},[s]),c.jsx("form",{className:d,onSubmit:b,onReset:m,ref:l,noValidate:o,...i,children:t})});ze.displayName="MDBValidation";const et=n.forwardRef(({className:e,fill:t,pills:s,justify:a,children:r,...o},i)=>{const l=p("nav",s?"nav-pills":"nav-tabs",t&&"nav-fill",a&&"nav-justified",e);return c.jsx("ul",{className:l,ref:i,...o,children:r})});et.displayName="MDBTabs";const tt=n.forwardRef(({className:e,children:t,style:s,tag:a="li",...r},o)=>{const i=p("nav-item",e);return c.jsx(a,{className:i,style:{cursor:"pointer",...s},role:"presentation",ref:o,...r,children:t})});tt.displayName="MDBTabsItem";const st=n.forwardRef(({className:e,color:t,active:s,onOpen:a,onClose:r,children:o,...i},l)=>{const u=p("nav-link",s&&"active",t&&`bg-${t}`,e);return n.useEffect(()=>{s?a==null||a():r==null||r()},[s]),c.jsx("a",{className:u,ref:l,...i,children:o})});st.displayName="MDBTabsLink";const at=n.forwardRef(({className:e,tag:t="div",children:s,...a},r)=>{const o=p("tab-content",e);return c.jsx(t,{className:o,ref:r,...a,children:s})});at.displayName="MDBTabsContent";const rt=n.forwardRef(({className:e,tag:t="div",open:s,children:a,...r},o)=>{const[i,l]=n.useState(!1),u=p("tab-pane","fade",i&&"show",s&&"active",e);return n.useEffect(()=>{let f;return s?f=setTimeout(()=>{l(!0)},100):l(!1),()=>{clearTimeout(f)}},[s]),c.jsx(t,{className:u,role:"tabpanel",ref:o,...r,children:a})});rt.displayName="MDBTabsPane";const ce=n.createContext({active:0}),Vt=({imagesCount:e,to:t})=>{const{active:s}=n.useContext(ce);return c.jsx("ol",{className:"carousel-indicators",children:Array.from(Array(e)).map((a,r)=>c.jsx("li",{"data-mdb-target":r,className:p(s===r&&"active"),onClick:()=>t(r)},r))})},_t=({move:e})=>c.jsxs(c.Fragment,{children:[c.jsxs("a",{role:"button",className:"carousel-control-prev",onClick:()=>e("prev"),children:[c.jsx("span",{className:"carousel-control-prev-icon"}),c.jsx("span",{className:"visually-hidden",children:"Previous"})]}),c.jsxs("a",{role:"button",className:"carousel-control-next",onClick:()=>e("next"),children:[c.jsx("span",{className:"carousel-control-next-icon"}),c.jsx("span",{className:"visually-hidden",children:"Next"})]})]}),Yt=e=>{const t=getComputedStyle(e),s=getComputedStyle(e==null?void 0:e.parentNode);return t.display!=="none"&&s.display!=="none"&&t.visibility!=="hidden"},Kt=e=>Array.from(e==null?void 0:e.querySelectorAll(".carousel-item")),Ut=e=>e.offsetHeight,Jt=(e,t,s=!0)=>{if(!s){ue(e);return}const a=Qt(t);t.addEventListener("transitionend",()=>ue(e),{once:!0}),zt(t,a)},ue=e=>{typeof e=="function"&&e()},Qt=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:s}=window.getComputedStyle(e);const a=Number.parseFloat(t),r=Number.parseFloat(s);return!a&&!r?0:(t=t.split(",")[0],s=s.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(s))*1e3)},Zt=e=>{e.dispatchEvent(new Event("transitionend"))},zt=(e,t)=>{let s=!1;const r=t+5;function o(){s=!0,e.removeEventListener("transitionend",o)}e.addEventListener("transitionend",o),setTimeout(()=>{s||Zt(e)},r)},es=({fade:e=!1,className:t,carouselInnerClassName:s,dark:a,children:r,interval:o=5e3,keyboard:i=!1,touch:l=!0,showControls:u,showIndicators:f,onSlide:d,...b})=>{const m=n.useRef([]),g=n.useRef(null),v=n.useRef(0),y=n.useRef(!1),[h,N]=n.useState(0),[j,B]=n.useState(0),[C,M]=n.useState({initialX:0,initialY:0}),[I,x]=n.useState(!1),L=n.useRef(null),A=p("carousel","slide",e&&"carousel-fade",a&&"carousel-dark",t),T=p("carousel-inner",s),E=n.useCallback((w,k)=>{if(k!==void 0)v.current=k,N(k);else{const q=h===j-1?0:h+1,K=h===0?j-1:h-1;v.current=w==="next"?q:K,N(w==="next"?q:K)}},[h,j]),S=n.useCallback(()=>{g.current&&(clearInterval(g.current),g.current=null)},[]),O=n.useCallback((w,k,q)=>{var le;if(!m.current||m.current.length<2)return;x(!0);const Y=m.current[h],U=Boolean(g.current),z=w==="next",ee=z?"carousel-item-start":"carousel-item-end",se=z?"carousel-item-next":"carousel-item-prev";if(k.classList.contains("active")){y.current=!1;return}E(w,q),!(!Y||!k)&&(y.current=!0,U&&S(),(le=L.current)!=null&&le.classList.contains("slide")?(k.classList.add(se),Ut(k),Y.classList.add(ee),k.classList.add(ee),Jt(()=>{x(!1),k.classList.remove(ee,se),k.classList.add("active"),Y.classList.remove("active",se,ee),y.current=!1},Y,!0)):(Y.classList.remove("active"),k.classList.add("active"),y.current=!1))},[L,h,E,S]),D=w=>{y.current||(y.current=!0,setTimeout(()=>{y.current=!1},w))},$=n.useCallback(w=>{const k=w==="prev",Y=(v.current+(k?-1:1))%j,U=m.current;return Y===-1?U[j-1]:U[Y]},[j]),P=w=>{const k=v.current,q=w>k?"next":"prev",K=m.current;return{direction:q,nextElement:K[w]}},R=w=>{if(y.current||(D(700),w>j-1||w<0))return;const{direction:k,nextElement:q}=P(w);O(k,q,w)},F=n.useCallback(w=>{if(y.current)return;D(600);const k=$(w);O(w,k)},[$,O]),W=n.useCallback(()=>{const{visibilityState:w,hidden:k}=document;if(w)return k||!Yt(L.current)?void 0:F("next");F("next")},[L,F]),H=n.useCallback(()=>{var k,q;const w=(q=(k=r==null?void 0:r[h])==null?void 0:k.props)==null?void 0:q.interval;g.current&&(clearInterval(g.current),g.current=null),g.current=setInterval(W,w||o)},[W,o,r,h]),X=w=>{l&&M({initialX:w.touches[0].clientX,initialY:w.touches[0].clientY})},G=w=>{y.current=!0;const{initialX:k,initialY:q}=C;if(!k||!q)return;const K=w.touches[0].clientX,Y=w.touches[0].clientY,U=k-K,z=q-Y;Math.abs(U)>Math.abs(z)&&(U>0?F("prev"):F("next")),M({initialX:0,initialY:0})},_=()=>{y.current=!1},V=n.useCallback(w=>{switch(w.key){case"ArrowLeft":w.preventDefault(),F("prev");break;case"ArrowRight":w.preventDefault(),F("next");break}},[F]);return n.useEffect(()=>{if(i)return window.addEventListener("keydown",V),()=>{window.removeEventListener("keydown",V)}},[V,i]),n.useEffect(()=>{const w=L.current,k=Kt(w);m.current=k,B(k.length)},[L]),n.useEffect(()=>{I&&(d==null||d())},[I,d]),n.useEffect(()=>(H(),()=>{S()}),[H,S]),c.jsx("div",{onTouchStart:X,onTouchMove:G,onTouchEnd:_,onMouseEnter:S,onMouseLeave:H,className:A,ref:L,...b,children:c.jsx("div",{className:T,children:c.jsxs(ce.Provider,{value:{active:h},children:[f&&c.jsx(Vt,{to:R,imagesCount:j}),r,u&&c.jsx(_t,{move:F})]})})})},ts=({className:e,children:t,itemId:s,...a})=>{const{active:r}=n.useContext(ce),o=n.useRef(!0),i=n.useRef(null),l=p("carousel-item",e);return n.useEffect(()=>{if(o.current&&r===s-1){const u=i.current;u==null||u.classList.add("active")}o.current=!1},[r,s]),c.jsx("div",{className:l,ref:i,...a,children:t})},ss=({className:e,children:t,...s})=>{const a=p("carousel-caption d-none d-md-block",e);return c.jsx("div",{className:a,...s,children:t})},nt=n.createContext({activeItem:0,setActiveItem:null,alwaysOpen:!1,initialActive:0}),ot=n.forwardRef(({alwaysOpen:e,borderless:t,className:s,flush:a,active:r,initialActive:o=0,tag:i="div",children:l,onChange:u,...f},d)=>{const b=n.useMemo(()=>typeof r<"u",[r]),m=p("accordion",a&&"accordion-flush",t&&"accordion-borderless",s),[g,v]=n.useState(o);return c.jsx(i,{className:m,ref:d,...f,children:c.jsx(nt.Provider,{value:{activeItem:b?r:g,setActiveItem:v,alwaysOpen:e,initialActive:o,onChange:u},children:l})})});ot.displayName="MDBAccordion";const ct=n.forwardRef(({className:e,bodyClassName:t,bodyStyle:s,headerClassName:a,collapseId:r,headerTitle:o,headerStyle:i,btnClassName:l,tag:u="div",children:f,...d},b)=>{const{activeItem:m,setActiveItem:g,alwaysOpen:v,onChange:y}=n.useContext(nt),h=n.useMemo(()=>Array.isArray(m)?m.includes(r):m===r,[m,r]),N=p("accordion-item",e),j=p("accordion-header",a),B=p("accordion-body",t),C=p("accordion-button",!h&&"collapsed",l),M=n.useCallback(I=>{let x=I;Array.isArray(m)?m.includes(I)?x=m.filter(A=>A!==I):x=v?[...m,I]:[I]:(x=m===I?0:I,v&&(x=[x])),y==null||y(x),g(x)},[y,m,g,v]);return c.jsxs(u,{className:N,ref:b,...d,children:[c.jsx("h2",{className:j,style:i,children:c.jsx("button",{onClick:()=>M(r),className:C,type:"button",children:o})}),c.jsx(Xe,{id:r.toString(),open:h,children:c.jsx("div",{className:B,style:s,children:f})})]})});ct.displayName="MDBAccordionItem";const as=({className:e,size:t,contrast:s,value:a,defaultValue:r,id:o,labelClass:i,wrapperClass:l,wrapperStyle:u,wrapperTag:f="div",label:d,onChange:b,children:m,labelRef:g,labelStyle:v,inputRef:y,onBlur:h,readonly:N=!1,...j})=>{var W;const B=n.useRef(null),C=n.useRef(null),M=g||B,I=y||C,[x,L]=n.useState(a||r),[A,T]=n.useState(0),[E,S]=n.useState(a!==void 0&&a.length>0||r!==void 0&&r.length>0),O=p("form-outline",s&&"form-white",l),D=p("form-control",E&&"active",t&&`form-control-${t}`,e),$=p("form-label",i);n.useEffect(()=>{var H;M.current&&((H=M.current)==null?void 0:H.clientWidth)!==0&&T(M.current.clientWidth*.8+8)},[M,(W=M.current)==null?void 0:W.clientWidth]);const P=()=>{M.current&&T(M.current.clientWidth*.8+8)};n.useEffect(()=>{a!==void 0&&(a.length>0?S(!0):S(!1))},[a]),n.useEffect(()=>{r!==void 0&&(r.length>0?S(!0):S(!1))},[r]);const R=H=>{L(H.currentTarget.value),b&&b(H)},F=n.useCallback(H=>{x!==void 0&&x.length>0||a!==void 0&&a.length>0?S(!0):S(!1),h&&h(H)},[x,a,h]);return c.jsxs(f,{className:O,style:{...u},children:[c.jsx("textarea",{readOnly:N,className:D,onBlur:F,onChange:R,onFocus:P,defaultValue:r,value:a,id:o,ref:I,...j}),d&&c.jsx("label",{className:$,style:v,htmlFor:o,ref:M,children:d}),c.jsxs("div",{className:"form-notch",children:[c.jsx("div",{className:"form-notch-leading"}),c.jsx("div",{className:"form-notch-middle",style:{width:A}}),c.jsx("div",{className:"form-notch-trailing"})]}),m]})},rs=({children:e,invalid:t,feedback:s="Looks good!",tooltip:a,tag:r="div",...o})=>{const[i,l]=n.useState(null),u=n.useRef(null),f=p(t?`invalid-${a?"tooltip":"feedback"}`:`valid-${a?"tooltip":"feedback"}`);return n.useEffect(()=>{var b,m;const d=(m=(b=u.current)==null?void 0:b.querySelector("input, textarea"))==null?void 0:m.parentElement;d&&l(d)},[]),c.jsxs(r,{ref:u,...o,children:[i&&J.createPortal(c.jsx("div",{className:f,children:s}),i),e]})},ns=({children:e})=>{const[t,s]=n.useState(!1);return n.useEffect(()=>{s(!0)},[]),c.jsx(c.Fragment,{children:t?e:null})};exports.MDBAccordion=ot;exports.MDBAccordionItem=ct;exports.MDBBadge=me;exports.MDBBreadcrumb=Se;exports.MDBBreadcrumbItem=Re;exports.MDBBtn=Z;exports.MDBBtnGroup=pe;exports.MDBCard=ge;exports.MDBCardBody=Me;exports.MDBCardFooter=xe;exports.MDBCardGroup=Ne;exports.MDBCardHeader=ve;exports.MDBCardImage=dt;exports.MDBCardLink=ft;exports.MDBCardOverlay=De;exports.MDBCardSubTitle=he;exports.MDBCardText=Be;exports.MDBCardTitle=ye;exports.MDBCarousel=es;exports.MDBCarouselCaption=ss;exports.MDBCarouselItem=ts;exports.MDBCheckbox=Mt;exports.MDBClientOnly=ns;exports.MDBCol=fe;exports.MDBCollapse=Xe;exports.MDBContainer=de;exports.MDBDropdown=Et;exports.MDBDropdownItem=Rt;exports.MDBDropdownMenu=$t;exports.MDBDropdownToggle=kt;exports.MDBFile=Qe;exports.MDBFooter=Fe;exports.MDBIcon=pt;exports.MDBInput=Ge;exports.MDBInputGroup=Ze;exports.MDBListGroup=we;exports.MDBListGroupItem=je;exports.MDBModal=Pt;exports.MDBModalBody=Ue;exports.MDBModalContent=_e;exports.MDBModalDialog=Ve;exports.MDBModalFooter=Je;exports.MDBModalHeader=Ye;exports.MDBModalTitle=Ke;exports.MDBNavbar=Ce;exports.MDBNavbarBrand=$e;exports.MDBNavbarItem=ke;exports.MDBNavbarLink=Ie;exports.MDBNavbarNav=Le;exports.MDBNavbarToggler=Ae;exports.MDBPagination=Pe;exports.MDBPaginationItem=He;exports.MDBPaginationLink=Oe;exports.MDBPopover=Lt;exports.MDBPopoverBody=At;exports.MDBPopoverHeader=Ft;exports.MDBProgress=We;exports.MDBProgressBar=ne;exports.MDBRadio=xt;exports.MDBRange=qt;exports.MDBRipple=re;exports.MDBRow=Te;exports.MDBScrollspy=Ot;exports.MDBScrollspyLink=Ht;exports.MDBScrollspySubList=Wt;exports.MDBSpinner=be;exports.MDBSwitch=Gt;exports.MDBTable=gt;exports.MDBTableBody=ht;exports.MDBTableHead=vt;exports.MDBTabs=et;exports.MDBTabsContent=at;exports.MDBTabsItem=tt;exports.MDBTabsLink=st;exports.MDBTabsPane=rt;exports.MDBTextArea=as;exports.MDBTooltip=mt;exports.MDBTypography=Ee;exports.MDBValidation=ze;exports.MDBValidationItem=rs; +"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const c=require("react/jsx-runtime"),n=require("react"),p=require("clsx"),ae=require("react-popper"),Q=require("react-dom"),it=require("@popperjs/core"),fe=n.forwardRef(({breakpoint:e,fluid:t,children:s,className:a,tag:r="div",...o},i)=>{const l=p(`${t?"container-fluid":`container${e?"-"+e:""}`}`,a);return c.jsx(r,{className:l,...o,ref:i,children:s})});fe.displayName="MDBContainer";const me=n.forwardRef(({center:e,children:t,className:s,end:a,lg:r,md:o,offsetLg:i,offsetMd:l,offsetSm:u,order:f,size:d,sm:g,start:m,tag:b="div",xl:v,xxl:y,xs:h,...w},x)=>{const M=p(d&&`col-${d}`,h&&`col-xs-${h}`,g&&`col-sm-${g}`,o&&`col-md-${o}`,r&&`col-lg-${r}`,v&&`col-xl-${v}`,y&&`col-xxl-${y}`,!d&&!h&&!g&&!o&&!r&&!v&&!y?"col":"",f&&`order-${f}`,m&&"align-self-start",e&&"align-self-center",a&&"align-self-end",u&&`offset-sm-${u}`,l&&`offset-md-${l}`,i&&`offset-lg-${i}`,s);return c.jsx(b,{className:M,ref:x,...w,children:t})});me.displayName="MDBCol";const pe=n.forwardRef(({className:e,color:t="primary",pill:s,light:a,dot:r,tag:o="span",children:i,notification:l,...u},f)=>{const d=p("badge",a?t&&`badge-${t}`:t&&`bg-${t}`,r&&"badge-dot",s&&"rounded-pill",l&&"badge-notification",e);return c.jsx(o,{className:d,ref:f,...u,children:i})});pe.displayName="MDBBadge";const ut=({...e})=>{const[t,s]=n.useState(!1),a=p("ripple-wave",t&&"active");return n.useEffect(()=>{const r=setTimeout(()=>{s(!0)},50);return()=>{clearTimeout(r)}},[]),c.jsx("div",{className:a,...e})},dt=(...e)=>{const t=n.useRef();return n.useEffect(()=>{e.forEach(s=>{s&&(typeof s=="function"?s(t.current):s.current=t.current)})},[e]),t},re=n.forwardRef(({className:e,rippleTag:t="div",rippleCentered:s,rippleDuration:a=500,rippleUnbound:r,rippleRadius:o=0,rippleColor:i="dark",children:l,onMouseDown:u,...f},d)=>{const g=n.useRef(null),m=dt(d,g),b="rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%",v=[0,0,0],y=["primary","secondary","success","danger","warning","info","light","dark"],[h,w]=n.useState([]),[x,M]=n.useState(!1),C=p("ripple","ripple-surface",r&&"ripple-surface-unbound",x&&`ripple-surface-${i}`,e),B=()=>{if(y.find(j=>j===(i==null?void 0:i.toLowerCase())))return M(!0);{const j=I(i).join(",");return`radial-gradient(circle, ${b.split("{{color}}").join(`${j}`)})`}},I=E=>{const j=N=>(N.length<7&&(N=`#${N[1]}${N[1]}${N[2]}${N[2]}${N[3]}${N[3]}`),[parseInt(N.substr(1,2),16),parseInt(N.substr(3,2),16),parseInt(N.substr(5,2),16)]),T=N=>{const $=document.body.appendChild(document.createElement("fictum")),P="rgb(1, 2, 3)";return $.style.color=P,$.style.color!==P||($.style.color=N,$.style.color===P||$.style.color==="")?v:(N=getComputedStyle($).color,document.body.removeChild($),N)},H=N=>(N=N.match(/[.\d]+/g).map($=>+Number($)),N.length=3,N);return E.toLowerCase()==="transparent"?v:E[0]==="#"?j(E):(E.indexOf("rgb")===-1&&(E=T(E)),E.indexOf("rgb")===0?H(E):v)},S=E=>{const{offsetX:j,offsetY:T,height:H,width:N}=E,$=T<=H/2,P=j<=N/2,A=(G,_)=>Math.sqrt(G**2+_**2),k=T===H/2&&j===N/2,O={first:$===!0&&P===!1,second:$===!0&&P===!0,third:$===!1&&P===!0,fourth:$===!1&&P===!1},W={topLeft:A(j,T),topRight:A(N-j,T),bottomLeft:A(j,H-T),bottomRight:A(N-j,H-T)};let X=0;return k||O.fourth?X=W.topLeft:O.third?X=W.topRight:O.second?X=W.bottomRight:O.first&&(X=W.bottomLeft),X*2},R=E=>{var X;const j=(X=m.current)==null?void 0:X.getBoundingClientRect(),T=E.clientX-j.left,H=E.clientY-j.top,N=j.height,$=j.width,P={offsetX:s?N/2:T,offsetY:s?$/2:H,height:N,width:$},A={delay:a&&a*.5,duration:a&&a-a*.5},k=S(P),O=o||k/2,W={left:s?`${$/2-O}px`:`${T-O}px`,top:s?`${N/2-O}px`:`${H-O}px`,height:o?`${o*2}px`:`${k}px`,width:o?`${o*2}px`:`${k}px`,transitionDelay:`0s, ${A.delay}ms`,transitionDuration:`${a}ms, ${A.duration}ms`};return x?W:{...W,backgroundImage:`${B()}`}},F=E=>{const j=R(E),T=h.concat(j);w(T),u&&u(E)};return n.useEffect(()=>{const E=setTimeout(()=>{h.length>0&&w(h.splice(1,h.length-1))},a);return()=>{clearTimeout(E)}},[a,h]),c.jsxs(t,{className:C,onMouseDown:E=>F(E),ref:m,...f,children:[l,h.map((E,j)=>c.jsx(ut,{style:E},j))]})});re.displayName="MDBRipple";const Z=n.forwardRef(({className:e,color:t="primary",outline:s,children:a,rounded:r,disabled:o,floating:i,size:l,href:u,block:f,active:d,toggle:g,noRipple:m,tag:b="button",role:v="button",...y},h)=>{const[w,x]=n.useState(d||!1);let M;const C=t&&["light","link"].includes(t)||s?"dark":"light";t!=="none"?s?t?M=`btn-outline-${t}`:M="btn-outline-primary":t?M=`btn-${t}`:M="btn-primary":M="";const B=p(t!=="none"&&"btn",M,r&&"btn-rounded",i&&"btn-floating",l&&`btn-${l}`,`${(u||b!=="button")&&o?"disabled":""}`,f&&"btn-block",w&&"active",e);return u&&b!=="a"&&(b="a"),["hr","img","input"].includes(b)||m?c.jsx(b,{className:B,onClick:g?()=>{x(!w)}:void 0,disabled:o&&b==="button"?!0:void 0,href:u,ref:h,role:v,...y,children:a}):c.jsx(re,{rippleTag:b,rippleColor:C,className:B,onClick:g?()=>{x(!w)}:void 0,disabled:o&&b==="button"?!0:void 0,href:u,ref:h,role:v,...y,children:a})});Z.displayName="MDBBtn";const ge=n.forwardRef(({className:e,children:t,shadow:s,toolbar:a,size:r,vertical:o,tag:i="div",role:l="group",...u},f)=>{let d;a?d="btn-toolbar":o?d="btn-group-vertical":d="btn-group";const g=p(d,s&&`shadow-${s}`,r&&`btn-group-${r}`,e);return c.jsx(i,{className:g,ref:f,role:l,...u,children:t})});ge.displayName="MDBBtnGroup";const be=n.forwardRef(({className:e,children:t,tag:s="div",color:a,grow:r,size:o,...i},l)=>{const u=p(`${r?"spinner-grow":"spinner-border"}`,a&&`text-${a}`,`${o?r?"spinner-grow-"+o:"spinner-border-"+o:""}`,e);return c.jsx(s,{className:u,ref:l,...i,children:t})});be.displayName="MDBSpinner";const ve=n.forwardRef(({className:e,children:t,border:s,background:a,tag:r="div",shadow:o,alignment:i,...l},u)=>{const f=p("card",s&&`border border-${s}`,a&&`bg-${a}`,o&&`shadow-${o}`,i&&`text-${i}`,e);return c.jsx(r,{className:f,ref:u,...l,children:t})});ve.displayName="MDBCard";const he=n.forwardRef(({className:e,children:t,border:s,background:a,tag:r="div",...o},i)=>{const l=p("card-header",s&&`border-${s}`,a&&`bg-${a}`,e);return c.jsx(r,{className:l,...o,ref:i,children:t})});he.displayName="MDBCardHeader";const ye=n.forwardRef(({className:e,children:t,tag:s="p",...a},r)=>{const o=p("card-subtitle",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});ye.displayName="MDBCardSubTitle";const Be=n.forwardRef(({className:e,children:t,tag:s="h5",...a},r)=>{const o=p("card-title",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Be.displayName="MDBCardTitle";const Me=n.forwardRef(({className:e,children:t,tag:s="p",...a},r)=>{const o=p("card-text",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Me.displayName="MDBCardText";const xe=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("card-body",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});xe.displayName="MDBCardBody";const De=n.forwardRef(({className:e,children:t,border:s,background:a,tag:r="div",...o},i)=>{const l=p("card-footer",s&&`border-${s}`,a&&`bg-${a}`,e);return c.jsx(r,{className:l,...o,ref:i,children:t})});De.displayName="MDBCardFooter";const ft=({className:e,children:t,overlay:s,position:a,fluid:r,...o})=>{const i=p(a&&`card-img-${a}`,r&&"img-fluid",s&&"card-img",e);return c.jsx("img",{className:i,...o,children:t})},Ne=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("card-img-overlay",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ne.displayName="MDBCardOverlay";const mt=({className:e,children:t,...s})=>{const a=p("card-link",e);return c.jsx("a",{className:a,...s,children:t})},we=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("card-group",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});we.displayName="MDBCardGroup";const je=n.forwardRef(({className:e,tag:t="ul",horizontal:s,horizontalSize:a,light:r,numbered:o,children:i,small:l,...u},f)=>{const d=p("list-group",s&&(a?`list-group-horizontal-${a}`:"list-group-horizontal"),r&&"list-group-light",o&&"list-group-numbered",l&&"list-group-small",e);return c.jsx(t,{className:d,ref:f,...u,children:i})});je.displayName="MDBListGroup";const Ee=n.forwardRef(({className:e,tag:t="li",active:s,disabled:a,action:r,color:o,children:i,noBorders:l,...u},f)=>{const d=t==="button",g=p("list-group-item",s&&"active",a&&!d&&"disabled",r&&"list-group-item-action",o&&`list-group-item-${o}`,l&&"border-0",e);return c.jsx(t,{className:g,disabled:d&&a,ref:f,...u,children:i})});Ee.displayName="MDBListGroupItem";const ne=({children:e,containerRef:t,disablePortal:s})=>{const[a,r]=n.useState(!1);return n.useEffect(()=>{!s&&r(!0)},[s]),s?c.jsx(c.Fragment,{children:e}):a?Q.createPortal(c.jsx(c.Fragment,{children:e}),(t==null?void 0:t.current)||document.body):null},pt=({className:e,children:t,disableMouseDown:s,tag:a=Z,tooltipTag:r="div",options:o,placement:i="top",title:l,wrapperProps:u,wrapperClass:f,onOpen:d,onClose:g,onMouseEnter:m,onMouseLeave:b,type:v,...y})=>{const[h,w]=n.useState(null),[x,M]=n.useState(null),[C,B]=n.useState(!1),[I,S]=n.useState(!1),[R,F]=n.useState(!1),[E,j]=n.useState(!1),T=p("tooltip",R&&"show","fade",e),{styles:H,attributes:N}=ae.usePopper(h,x,{placement:i,...o});n.useEffect(()=>{let k,O;return C||I?(j(!0),k=setTimeout(()=>{F(!0)},4)):(F(!1),O=setTimeout(()=>{j(!1)},300)),()=>{clearTimeout(k),clearTimeout(O)}},[C,I]);const $=k=>{d==null||d(k),!k.defaultPrevented&&B(!0),m==null||m(k)},P=k=>{g==null||g(k),!k.defaultPrevented&&B(!1),b==null||b(k)},A=n.useCallback(k=>{k.target===h?S(!0):S(!1)},[h]);return n.useEffect(()=>{if(!s)return document.addEventListener("mousedown",A),()=>{document.removeEventListener("mousedown",A)}},[A,s]),c.jsxs(c.Fragment,{children:[c.jsx(a,{className:f,onMouseEnter:$,onMouseLeave:P,ref:w,...u,type:v,children:t}),E&&c.jsx(ne,{children:c.jsx(r,{ref:M,className:T,style:H.popper,...N.popper,role:"tooltip",...y,children:c.jsx("div",{className:"tooltip-inner",children:l})})})]})},Te=n.forwardRef(({around:e,between:t,bottom:s,center:a,children:r,className:o,evenly:i,end:l,middle:u,start:f,tag:d="div",top:g,...m},b)=>{const v=p("row",e&&"justify-content-around",t&&"justify-content-between",s&&"align-self-end",a&&"justify-content-center",i&&"justifty-content-evenly",l&&"justify-content-end",u&&"align-self-center",f&&"justify-content-start",g&&"align-self-start",o);return c.jsx(d,{className:v,...m,ref:b,children:r})});Te.displayName="MDBRow";const gt=({animate:e,className:t,icon:s,fab:a,fas:r,fal:o,far:i,flag:l,spin:u,fixed:f,flip:d,list:g,size:m,pull:b,pulse:v,color:y,border:h,rotate:w,inverse:x,stack:M,iconType:C,children:B,...I})=>{let S;l?S="flag":a?S="fab":r?S="fas":i?S="far":o?S="fal":S="fa";const R=p(C?`fa-${C}`:S,e&&`fa-${e}`,l?`flag-${l}`:s&&`fa-${s}`,m&&`fa-${m}`,y&&`text-${y}`,h&&"fa-border",w&&`fa-rotate-${w}`,b&&`fa-pull-${b}`,u&&!e&&"fa-spin",g&&"fa-li",f&&"fa-fw",v&&!e&&"fa-pulse",x&&"fa-inverse",d&&`fa-flip-${d}`,M&&`fa-stack-${M}`,t);return c.jsx("i",{className:R,...I,children:B})},Se=n.forwardRef(({className:e,children:t,tag:s="p",variant:a,color:r,blockquote:o,note:i,noteColor:l,listUnStyled:u,listInLine:f,...d},g)=>{const m=p(a&&a,o&&"blockquote",i&&"note",r&&`text-${r}`,l&&`note-${l}`,u&&"list-unstyled",f&&"list-inline",e);return o&&(s="blockquote"),(u||f)&&(s="ul"),c.jsx(s,{className:m,ref:g,...d,children:t})});Se.displayName="MDBTypography";const Re=n.forwardRef(({className:e,color:t,uppercase:s,bold:a,children:r,...o},i)=>{const l=p("breadcrumb",a&&"font-weight-bold",t&&`text-${t}`,s&&"text-uppercase",e);return c.jsx("nav",{"aria-label":"breadcrumb",children:c.jsx("ol",{className:l,ref:i,...o,children:r})})});Re.displayName="MDBBreadcrumb";const Ce=n.forwardRef(({className:e,active:t,current:s="page",children:a,...r},o)=>{const i=p("breadcrumb-item",t&&"active",e);return c.jsx("li",{className:i,ref:o,"aria-current":t&&s,...r,children:a})});Ce.displayName="MDBBreadcrumbItem";const bt=e=>{if(e!==!1)return`navbar-expand-${e}`},Ie=n.forwardRef(({className:e,children:t,light:s,dark:a,scrolling:r,fixed:o,sticky:i,scrollingNavbarOffset:l,color:u,transparent:f,expand:d,tag:g="nav",bgColor:m,...b},v)=>{const[y,h]=n.useState(!1),w=p({"navbar-light":s,"navbar-dark":a,"scrolling-navbar":r||l,"top-nav-collapse":y,[`text-${u}`]:u&&f?y:u},o&&`fixed-${o}`,i&&"sticky-top","navbar",d&&bt(d),m&&`bg-${m}`,e),x=n.useCallback(()=>{l&&window.pageYOffset>l?h(!0):h(!1)},[l]);return n.useEffect(()=>((r||l)&&window.addEventListener("scroll",x),()=>{window.removeEventListener("scroll",x)}),[x,r,l]),c.jsx(g,{className:w,role:"navigation",...b,ref:v,children:t})});Ie.displayName="MDBNavbar";const $e=n.forwardRef(({children:e,className:t="",disabled:s=!1,active:a=!1,tag:r="a",...o},i)=>{const l=p("nav-link",s?"disabled":a?"active":"",t);return c.jsx(r,{"data-test":"nav-link",className:l,style:{cursor:"pointer"},ref:i,...o,children:e})});$e.displayName="MDBNavbarLink";const ke=n.forwardRef(({className:e,children:t,tag:s="a",...a},r)=>{const o=p("navbar-brand",e);return c.jsx(s,{className:o,ref:r,...a,children:t})});ke.displayName="MDBNavbarBrand";const Le=n.forwardRef(({children:e,className:t,active:s,text:a,tag:r="li",...o},i)=>{const l=p("nav-item",s&&"active",a&&"navbar-text",t);return c.jsx(r,{...o,className:l,ref:i,children:e})});Le.displayName="MDBNavbarItem";const Ae=n.forwardRef(({children:e,className:t,right:s,fullWidth:a=!0,left:r,tag:o="ul",...i},l)=>{const u=p("navbar-nav",a&&"w-100",s&&"ms-auto",r&&"me-auto",t);return c.jsx(o,{className:u,ref:l,...i,children:e})});Ae.displayName="MDBNavbarNav";const Fe=n.forwardRef(({children:e,className:t,tag:s="button",...a},r)=>{const o=p("navbar-toggler",t);return c.jsx(s,{...a,className:o,ref:r,children:e})});Fe.displayName="MDBNavbarToggler";const Pe=n.forwardRef(({children:e,bgColor:t,color:s,className:a,...r},o)=>{const i=p(t&&`bg-${t}`,s&&`text-${s}`,a);return c.jsx("footer",{className:i,...r,ref:o,children:e})});Pe.displayName="MDBFooter";const Oe=n.forwardRef(({children:e,size:t,circle:s,center:a,end:r,start:o,className:i,...l},u)=>{const f=p("pagination",a&&"justify-content-center",s&&"pagination-circle",r&&"justify-content-end",t&&`pagination-${t}`,o&&"justify-content-start",i);return c.jsx("ul",{className:f,...l,ref:u,children:e})});Oe.displayName="MDBPagination";const He=n.forwardRef(({children:e,className:t,tag:s="a",...a},r)=>{const o=p("page-link",t);return c.jsx(s,{className:o,...a,ref:r,children:e})});He.displayName="MDBPaginationLink";const We=n.forwardRef(({children:e,className:t,active:s,disabled:a,...r},o)=>{const i=p("page-item",s&&"active",a&&"disabled",t);return c.jsx("li",{className:i,...r,ref:o,children:e})});We.displayName="MDBPaginationItem";const vt=({className:e,classNameResponsive:t,responsive:s,align:a,borderColor:r,bordered:o,borderless:i,children:l,color:u,hover:f,small:d,striped:g,...m})=>{const b=p("table",a&&`align-${a}`,r&&`border-${r}`,o&&"table-bordered",i&&"table-borderless",u&&`table-${u}`,f&&"table-hover",d&&"table-sm",g&&"table-striped",e),v=n.useMemo(()=>c.jsx("table",{className:b,...m,children:l}),[l,b,m]);if(s){const y=p(typeof s=="string"?`table-responsive-${s}`:"table-responsive",t);return c.jsx("div",{className:y,children:v})}else return v},ht=({className:e,children:t,dark:s,light:a,...r})=>{const o=p(s&&"table-dark",a&&"table-light",e);return c.jsx("thead",{className:o,...r,children:t})},yt=({className:e,children:t,...s})=>{const a=p(e);return c.jsx("tbody",{className:a,...s,children:t})},oe=n.forwardRef(({animated:e,children:t,className:s,style:a,tag:r="div",valuenow:o,valuemax:i,striped:l,bgColor:u,valuemin:f,width:d,...g},m)=>{const b=p("progress-bar",u&&`bg-${u}`,l&&"progress-bar-striped",e&&"progress-bar-animated",s),v={width:`${d}%`,...a};return c.jsx(r,{className:b,style:v,ref:m,role:"progressbar",...g,"aria-valuenow":Number(d)??o,"aria-valuemin":Number(f),"aria-valuemax":Number(i),children:t})});oe.displayName="MDBProgressBar";const Ge=n.forwardRef(({className:e,children:t,tag:s="div",height:a,style:r,...o},i)=>{const l=p("progress",e),u={height:`${a}px`,...r};return c.jsx(s,{className:l,ref:i,style:u,...o,children:n.Children.map(t,f=>{if(!n.isValidElement(f)||f.type!==oe){console.error("Progress component only allows ProgressBar as child");return}else return f})})});Ge.displayName="MDBProgress";const Bt=e=>{const[t,s]=n.useState(!1),[a,r]=n.useState(null);return n.useEffect(()=>{r(()=>new IntersectionObserver(([o])=>{s(o.isIntersecting)}))},[]),n.useEffect(()=>{if(!(!e.current||!a))return a.observe(e.current),()=>a.disconnect()},[a,e]),t},Mt=(e,t)=>n.useMemo(()=>t!==void 0?t:e,[t,e]),Xe=n.forwardRef(({className:e,size:t,contrast:s,value:a,defaultValue:r,id:o,labelClass:i,wrapperClass:l,wrapperStyle:u,wrapperTag:f="div",label:d,onChange:g,children:m,labelRef:b,labelStyle:v,type:y,onBlur:h,readonly:w=!1,showCounter:x=!1,...M},C)=>{var V;const[B,I]=n.useState(r),S=n.useMemo(()=>a!==void 0?a:B,[a,B]),[R,F]=n.useState(0),[E,j]=n.useState(!1),[T,H]=n.useState(0),N=n.useRef(null),$=Bt(N),P=n.useRef(null),A=b||P;n.useImperativeHandle(C,()=>N.current);const k=p("form-outline",s&&"form-white",l),O=p("form-control",E&&"active",y==="date"&&"active",t&&`form-control-${t}`,e),W=p("form-label",i),X=n.useCallback(()=>{var D;(D=A.current)!=null&&D.clientWidth&&F(A.current.clientWidth*.8+8)},[A]),G=D=>{I(D.target.value),x&&H(D.target.value.length),g==null||g(D)},_=n.useCallback(D=>{N.current&&(j(!!S),h&&h(D))},[S,h]);return n.useEffect(()=>{X()},[(V=A.current)==null?void 0:V.clientWidth,X,$]),n.useEffect(()=>{if(S)return j(!0);j(!1)},[S]),c.jsxs(f,{className:k,style:u,children:[c.jsx("input",{type:y,readOnly:w,className:O,onBlur:_,onChange:G,onFocus:X,value:a,defaultValue:r,id:o,ref:N,...M}),d&&c.jsx("label",{className:W,style:v,htmlFor:o,ref:A,children:d}),c.jsxs("div",{className:"form-notch",children:[c.jsx("div",{className:"form-notch-leading"}),c.jsx("div",{className:"form-notch-middle",style:{width:R}}),c.jsx("div",{className:"form-notch-trailing"})]}),m,x&&M.maxLength&&c.jsx("div",{className:"form-helper",children:c.jsx("div",{className:"form-counter",children:`${T}/${M.maxLength}`})})]})});Xe.displayName="MDBInput";const te=n.forwardRef(({className:e,inputRef:t,labelClass:s,wrapperClass:a,labelStyle:r,wrapperTag:o="div",wrapperStyle:i,label:l,inline:u,btn:f,id:d,btnColor:g,disableWrapper:m,toggleSwitch:b,...v},y)=>{let h="form-check-input",w="form-check-label";f&&(h="btn-check",g?w=`btn btn-${g}`:w="btn btn-primary");const x=p(l&&!f&&"form-check",u&&!f&&"form-check-inline",b&&"form-switch",a),M=p(h,e),C=p(w,s),B=c.jsxs(c.Fragment,{children:[c.jsx("input",{className:M,id:d,ref:t,...v}),l&&c.jsx("label",{className:C,style:r,htmlFor:d,children:l})]});return c.jsx(c.Fragment,{children:m?B:c.jsx(o,{style:i,className:x,ref:y,children:B})})});te.displayName="InputTemplate";const xt=({...e})=>c.jsx(te,{type:"checkbox",...e}),Dt=({...e})=>c.jsx(te,{type:"radio",...e}),qe=({className:e,children:t,open:s=!1,id:a,navbar:r,tag:o="div",collapseRef:i,style:l,onOpen:u,onClose:f,...d})=>{const[g,m]=n.useState(!1),[b,v]=n.useState(void 0),[y,h]=n.useState(!1),w=p(y?"collapsing":"collapse",!y&&g&&"show",r&&"navbar-collapse",e),x=n.useRef(null),M=i??x,C=n.useCallback(()=>{g&&v(void 0)},[g]);return n.useEffect(()=>{var B;b===void 0&&g&&v((B=M==null?void 0:M.current)==null?void 0:B.scrollHeight)},[b,g,M]),n.useEffect(()=>{g!==s&&(s?u==null||u():f==null||f(),m(s)),g&&h(!0);const B=setTimeout(()=>{h(!1)},350);return()=>{clearTimeout(B)}},[s,g,u,f]),n.useEffect(()=>{var B;v(g?(B=M==null?void 0:M.current)==null?void 0:B.scrollHeight:0)},[g,M,t]),n.useEffect(()=>(window.addEventListener("resize",C),()=>{window.removeEventListener("resize",C)}),[C]),c.jsx(o,{style:{height:b,...l},id:a,className:w,...d,ref:M,children:t})},Ve=n.createContext(null),Nt=({children:e,isOpen:t=!1,options:s,animation:a=!0,dropup:r,dropright:o,dropleft:i,onClose:l,onOpen:u})=>{const[f,d]=n.useState(t),[g,m]=n.useState(null),[b,v]=n.useState(null),[y,h]=n.useState(-1);return c.jsx(Ve.Provider,{value:{animation:a,activeIndex:y,isOpenState:f,setReferenceElement:m,setPopperElement:v,setActiveIndex:h,popperElement:b,setIsOpenState:d,referenceElement:g,onClose:l,onOpen:u,dropup:r,options:s,dropright:o,dropleft:i},children:e})},wt=e=>e instanceof HTMLElement,jt=e=>e instanceof Node,J=()=>{const e=n.useContext(Ve);if(!e)throw new Error("Missing context data");return e},Et=()=>{const{isOpenState:e,setIsOpenState:t,setActiveIndex:s,popperElement:a,referenceElement:r,onClose:o}=J(),i=n.useCallback(l=>{e&&(o==null||o(l)),!(!e||!jt(l.target)||a&&a.contains(l.target)||r&&r.contains(l.target)||l.defaultPrevented)&&(t(!1),setTimeout(()=>s(-1),300))},[e,t,s,a,r,o]);n.useEffect(()=>(document.addEventListener("mousedown",i),()=>document.removeEventListener("mousedown",i)),[i])},Tt=({className:e,tag:t="div",group:s,children:a,dropup:r,dropright:o,dropleft:i,wrapper:l,...u})=>{Et();const f=p(s?"btn-group":"dropdown",r&&"dropup",o&&"dropend",i&&"dropstart",e);return l?c.jsx(t,{className:f,...u,children:a}):c.jsx(c.Fragment,{children:a})},St=({animation:e,onClose:t,onOpen:s,wrapper:a=!0,...r})=>c.jsx(Nt,{animation:e,onClose:t,onOpen:s,...r,children:c.jsx(Tt,{wrapper:a,...r})}),Rt=({childTag:e,children:t,disabled:s,link:a,divider:r,header:o,href:i="#"})=>{const l=p("dropdown-item",s&&"disabled");return a?e?c.jsx(e,{className:l,children:t}):c.jsx("a",{href:i,className:l,children:t}):r?e?c.jsx(e,{className:"dropdown-divider",children:t}):c.jsx("hr",{className:"dropdown-divider"}):o?e?c.jsx(e,{className:"dropdown-header",children:t}):c.jsx("h6",{className:"dropdown-header",children:t}):c.jsx(c.Fragment,{children:t})};const Ct=({onClick:e,tag:t="li",childTag:s,children:a,style:r,link:o,divider:i,header:l,disabled:u,href:f,preventCloseOnClick:d,...g})=>{const{setIsOpenState:m,onClose:b,setActiveIndex:v}=J(),y=h=>{b==null||b(h),e==null||e(h),!(u||d||h.defaultPrevented)&&(setTimeout(()=>v(-1),300),m(!1))};return c.jsx(t,{style:r,onClick:y,...g,children:c.jsx(Rt,{link:o,divider:i,header:l,disabled:u,href:f,childTag:s,children:a})})},ue=(e,t,s)=>s==="up"?e<=0?t[t.length-1].props.divider===!0||t[t.length-1].props.disabled===!0:t[e-1].props.divider===!0||t[e-1].props.disabled===!0:e===t.length-1?t[0].props.divider===!0||t[0].props.disabled===!0:t[e+1].props.divider===!0||t[e+1].props.disabled===!0,It=e=>{const{activeIndex:t,isOpenState:s,setIsOpenState:a,setActiveIndex:r,onClose:o}=J(),i=n.useCallback(l=>{const u=["ArrowUp","ArrowDown","Tab","Enter","Escape"];if(!(!Array.isArray(e)||!u.includes(l.key))){if(wt(document.activeElement)&&document.activeElement.blur(),l.key==="ArrowUp"){l.preventDefault();const f=ue(t,e,"up");if(t===1){r(f?e.length-1:0);return}if(t<=0){r(f?e.length-2:e.length-1);return}r(d=>f?d-2:d-1)}if(l.key==="ArrowDown"||l.key==="Tab"){l.preventDefault();const f=ue(t,e,"down");if(t===e.length-2){r(d=>f?0:d+1);return}if(t===e.length-1){r(f?1:0);return}r(d=>f?d+2:d+1)}if(l.key==="Enter"){const f=document.querySelector('[data-active="true"]'),d=f==null?void 0:f.firstElementChild;if(d)return d.click();if(o==null||o(l),l.defaultPrevented)return;a(!1),setTimeout(()=>r(-1),300)}if(l.key==="Escape"){if(o==null||o(l),l.defaultPrevented)return;a(!1),setTimeout(()=>r(-1),300)}}},[e,a,r,t,o]);n.useEffect(()=>(s&&document.addEventListener("keydown",i),()=>{s&&document.removeEventListener("keydown",i)}),[s,i]),n.useEffect(()=>{const l=document.querySelector('[data-active="true"]'),u=l==null?void 0:l.firstElementChild;return u==null||u.focus(),()=>u==null?void 0:u.blur()},[t])},$t=()=>{const{isOpenState:e}=J(),[t,s]=n.useState(!1),[a,r]=n.useState(!1),[o,i]=n.useState(e);return n.useEffect(()=>{let l;return e||(r(!0),s(!1),l=setTimeout(()=>{r(!1),i(!1)},300)),e&&(s(!0),r(!1),i(!0),l=setTimeout(()=>{s(!1)},300)),()=>clearTimeout(l)},[e]),{open:o,isFadeIn:t,isFadeOut:a}};const kt=({className:e,tag:t="ul",children:s,style:a,dark:r,responsive:o="",appendToBody:i=!1,alwaysOpen:l,...u})=>{const{activeIndex:f,setPopperElement:d,isOpenState:g,animation:m,referenceElement:b,popperElement:v,options:y,dropleft:h,dropup:w,dropright:x}=J(),{open:M,isFadeIn:C,isFadeOut:B}=$t();It(s);const I=()=>{if(x)return"right-start";if(h)return"left-start";const E=v&&getComputedStyle(v).getPropertyValue("--mdb-position").trim()==="end";return w?E?"top-end":"top-start":E?"bottom-end":"bottom-start"},{styles:S}=ae.usePopper(b,v,{placement:I(),modifiers:[it.flip],...y}),R=p("dropdown-menu",r&&"dropdown-menu-dark",g&&"show",m&&"animation",C&&"fade-in",B&&"fade-out",o&&`dropdown-menu-${o}`,e);if(!M&&!l)return null;const F=c.jsx(t,{className:R,style:{position:"absolute",zIndex:1e3,...S.popper,...a},ref:d,...u,children:n.Children.map(s,(E,j)=>n.cloneElement(E,{tabIndex:0,"data-active":f===j&&!0,className:p(f===j?"active":"",E.props.className)}))});return c.jsx(ne,{disablePortal:!i,children:F})},Lt=({className:e,tag:t=Z,children:s,onClick:a,split:r,...o})=>{const{setIsOpenState:i,setReferenceElement:l,isOpenState:u,setActiveIndex:f,onClose:d,onOpen:g}=J(),m=p("dropdown-toggle",r&&"dropdown-toggle-split",e),b=v=>{a==null||a(v),u?d==null||d(v):g==null||g(v),!v.defaultPrevented&&(i(y=>!y),setTimeout(()=>f(-1),300))};return c.jsx(t,{onClick:b,ref:l,className:m,"aria-expanded":!!u,...o,children:s})},At=({className:e,btnClassName:t,btnChildren:s,children:a,tag:r=Z,onOpen:o,onClose:i,popperTag:l="div",open:u,placement:f="bottom",dismiss:d,options:g,poperStyle:m,onClick:b,disablePortal:v=!1,...y})=>{const[h,w]=n.useState(),[x,M]=n.useState(),{styles:C,attributes:B}=ae.usePopper(h,x,{placement:f,...g}),[I,S]=n.useState(u??!1),R=Mt(I,u),[F,E]=n.useState(!1),[j,T]=n.useState(!1),H=p("popover fade",F&&R&&"show",e),N=P=>{R&&!d?i==null||i():R||o==null||o(),d?(T(!0),S(!0)):S(!R),b&&b(P)},$=n.useCallback(P=>{j&&x&&R&&h&&!h.contains(P.target)&&(S(!1),i==null||i())},[j,R,x,h,i]);return n.useEffect(()=>{const P=setTimeout(()=>{E(R)},150);return()=>{clearTimeout(P)}},[R]),n.useEffect(()=>(R&&document.addEventListener("mousedown",$),()=>{document.removeEventListener("mousedown",$)}),[$,R]),c.jsxs(c.Fragment,{children:[c.jsx(r,{onClick:N,className:t,...y,ref:w,children:s}),(F||R)&&c.jsx(ne,{disablePortal:v,children:c.jsx(l,{className:H,ref:M,style:{...C.popper,...m},...B.popper,children:a})})]})},Ft=({className:e,children:t,tag:s="div",...a})=>{const r=p("popover-body",e);return c.jsx(s,{className:r,...a,children:t})},Pt=({className:e,children:t,tag:s="h3",...a})=>{const r=p("popover-header",e);return c.jsx(s,{className:r,...a,children:t})},Ot=({animationDirection:e,appendToBody:t,backdrop:s=!0,children:a,className:r,closeOnEsc:o=!0,setOpen:i,leaveHiddenModal:l=!0,modalRef:u,onClose:f,onClosePrevented:d,onOpen:g,open:m,staticBackdrop:b,nonInvasive:v=!1,tag:y="div",...h})=>{const[w,x]=n.useState(m),[M,C]=n.useState(m),[B,I]=n.useState(m),[S,R]=n.useState(!1),[F,E]=n.useState(0),[j,T]=n.useState([]),H=n.useRef(null),N=u||H,$=p("modal",S&&"modal-static",e,"fade",M&&"show",w&&v&&"modal-non-invasive-show",r),P=p("modal-backdrop","fade",w&&"show"),A=n.useCallback(()=>{C(G=>(G&&(f==null||f()),!1)),setTimeout(()=>{x(!1),i==null||i(!1)},150),setTimeout(()=>{I(!1)},350)},[f,i]),k=n.useCallback(G=>{v||M&&G.target===N.current&&(b?(R(!0),d==null||d(),setTimeout(()=>{R(!1)},300)):A())},[M,N,b,A,d,v]),O=n.useCallback(G=>{M&&G.key==="Tab"&&(G.preventDefault(),E(F+1)),o&&M&&G.key==="Escape"&&(b?(R(!0),d==null||d(),setTimeout(()=>{R(!1)},300)):A())},[M,o,F,b,A,d]);n.useEffect(()=>{var V;const G=(V=N.current)==null?void 0:V.querySelectorAll("button, a, input, select, textarea, [tabindex]"),_=Array.from(G).filter(D=>D.tabIndex!==-1).sort((D,L)=>D.tabIndex===L.tabIndex?0:L.tabIndex===null?-1:D.tabIndex===null?1:D.tabIndex-L.tabIndex);T(_),E(_.length-1)},[N]),n.useEffect(()=>{j&&j.length>0&&(F===j.length?(j[0].focus(),E(0)):j[F].focus())},[F,j]),n.useEffect(()=>{const G=()=>{const V=document.documentElement.clientWidth;return Math.abs(window.innerWidth-V)},_=window.innerWidth>document.documentElement.clientWidth&&window.innerWidth>=576;if(B&&_&&!v){const V=G();document.body.classList.add("modal-open"),document.body.style.overflow="hidden",document.body.style.paddingRight=`${V}px`}else document.body.classList.remove("modal-open"),document.body.style.overflow="",document.body.style.paddingRight="";return()=>{document.body.classList.remove("modal-open"),document.body.style.overflow="",document.body.style.paddingRight=""}},[B,v]),n.useEffect(()=>{m?(g==null||g(),I(!0),setTimeout(()=>{x(!0)},0),setTimeout(()=>{C(!0),i==null||i(!0)},150)):A()},[m,A,i,g]),n.useEffect(()=>{const G=_=>{_.target.closest(".modal-dialog")||window.addEventListener("mouseup",k,{once:!0})};return window.addEventListener("mousedown",G),window.addEventListener("keydown",O),()=>{window.removeEventListener("mousedown",G),window.removeEventListener("keydown",O)}},[O,k]);const W=c.jsx(c.Fragment,{children:(l||m||B)&&Q.createPortal(c.jsxs(c.Fragment,{children:[c.jsx(y,{className:$,ref:N,style:{display:B||m?"block":"none",pointerEvents:v?"none":"initial"},...h,children:a}),Q.createPortal(s&&B&&!v&&c.jsx("div",{className:P}),document.body)]}),document.body)}),X=c.jsx(c.Fragment,{children:(l||m||B)&&c.jsxs(c.Fragment,{children:[c.jsx(y,{className:$,ref:N,style:{display:B||m?"block":"none",pointerEvents:v?"none":"initial"},...h,children:a}),Q.createPortal(s&&B&&!v&&c.jsx("div",{onClick:A,className:P}),document.body)]})});return c.jsx(c.Fragment,{children:t?W:X})},_e=n.forwardRef(({className:e,centered:t,children:s,size:a,scrollable:r,tag:o="div",...i},l)=>{const u=p("modal-dialog",r&&"modal-dialog-scrollable",t&&"modal-dialog-centered",a&&`modal-${a}`,e);return c.jsx(o,{className:u,...i,ref:l,children:s})});_e.displayName="MDBModalDialog";const Ye=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-content",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ye.displayName="MDBModalContent";const Ke=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-header",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ke.displayName="MDBModalHeader";const Ue=n.forwardRef(({className:e,children:t,tag:s="h5",...a},r)=>{const o=p("modal-title",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Ue.displayName="MDBModalTitle";const Je=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-body",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Je.displayName="MDBModalBody";const Qe=n.forwardRef(({className:e,children:t,tag:s="div",...a},r)=>{const o=p("modal-footer",e);return c.jsx(s,{className:o,...a,ref:r,children:t})});Qe.displayName="MDBModalFooter";const ce=n.createContext({activeElement:null,setTargets:null}),Ht=({container:e=typeof window!==void 0?window:null,className:t,children:s,offset:a=10,...r})=>{const o=p("sticky-top",t),[i,l]=n.useState(null),[u,f]=n.useState([]),d=e instanceof Window,g=n.useCallback(()=>{var w,x,M;if(!u.length)return;const m=d?window.pageYOffset:(w=e==null?void 0:e.current)==null?void 0:w.scrollTop,b=Number(a),v=(x=u[u.length-1])==null?void 0:x.current,y=(M=u[0])==null?void 0:M.current;m+b{var F;const I=(F=u[B+1])==null?void 0:F.current,S=C.current;if(m>S.offsetTop-b&&m<(I==null?void 0:I.offsetTop)-b){l(S);return}}),m>v.offsetTop-b&&l(v)},[a,u,d,e]);return n.useEffect(()=>{const m=d?e:e==null?void 0:e.current;return g(),m==null||m.addEventListener("scroll",g),()=>{m==null||m.removeEventListener("scroll",g)}},[g,e,d]),c.jsx("div",{className:o,...r,children:c.jsx("ul",{className:"nav flex-column nav-pills menu-sidebar",children:c.jsx(ce.Provider,{value:{activeElement:i,setTargets:f},children:s})})})},Wt=({className:e,collapsible:t,targetRef:s,children:a,subsections:r,onClick:o,onActivate:i,...l})=>{var y;const{activeElement:u,setTargets:f}=n.useContext(ce),d=()=>r==null?void 0:r.some(h=>h.current.id===(u==null?void 0:u.id)),g=(u==null?void 0:u.id)===((y=s.current)==null?void 0:y.id),m=g||d();g&&(i==null||i(u==null?void 0:u.id));const b=p("nav-link",t&&"collapsible-scrollspy",m&&"active",e),v=h=>{const w=s==null?void 0:s.current;w==null||w.scrollIntoView({behavior:"smooth"}),o==null||o(h)};return n.useEffect(()=>{f(h=>[...h,s])},[f,s]),c.jsx("li",{className:"nav-item",style:{cursor:"pointer"},children:c.jsx("a",{className:b,onClick:v,...l,children:a})})},Gt=({collapsible:e,className:t,children:s,style:a,...r})=>{const[o,i]=n.useState("0px"),{activeElement:l}=n.useContext(ce),u=p("nav flex-column",t),f=n.useRef(null);n.useEffect(()=>{const g=()=>e==null?void 0:e.some(b=>b.current.id===(l==null?void 0:l.id)),m=f.current;g()?i(`${m==null?void 0:m.scrollHeight}px`):i("0px")},[l,e]);const d={overflow:"hidden",height:o,transition:"height .5s ease",flexWrap:"nowrap",...a};return c.jsx("ul",{className:u,ref:f,style:e?d:a,...r,children:s})},Xt=({...e})=>c.jsx(te,{type:"checkbox",toggleSwitch:!0,...e}),qt=({value:e,min:t="0",max:s="100",showThumb:a})=>{const r=Number(e),[o,i]=n.useState((r||0-Number(t))*100/(Number(s)-Number(t))),l=p("thumb",a&&"thumb-active");return n.useEffect(()=>{i((Number(e)-Number(t))*100/(Number(s)-Number(t)))},[e,s,t]),c.jsx("span",{className:l,style:{left:`calc(${o}% + (${8-o*.15}px))`},children:c.jsx("span",{className:"thumb-value",children:e})})},Vt=({className:e,defaultValue:t=0,disableTooltip:s,labelId:a,max:r,min:o,onMouseDown:i,onMouseUp:l,onTouchStart:u,onTouchEnd:f,onChange:d,labelClass:g,value:m,label:b,id:v,inputRef:y,...h})=>{const[w,x]=n.useState(t),[M,C]=n.useState(!1),B=p("form-range",e),I=p("form-label",g),S=T=>{C(!0),i&&i(T)},R=T=>{C(!1),l&&l(T)},F=T=>{C(!0),u&&u(T)},E=T=>{C(!1),f&&f(T)},j=T=>{x(T.target.value),d&&d(T)};return c.jsxs(c.Fragment,{children:[b&&c.jsx("label",{className:I,id:a,htmlFor:v,children:b}),c.jsxs("div",{className:"range",children:[c.jsx("input",{type:"range",onMouseDown:S,onMouseUp:R,onTouchStart:F,onTouchEnd:E,onChange:j,className:B,value:m||w,id:v,min:o,max:r,ref:y,...h}),!s&&c.jsx(qt,{value:m||w,showThumb:M,min:o,max:r})]})]})},Ze=n.forwardRef(({className:e,labelClass:t,labelStyle:s,inputRef:a,size:r,label:o,id:i,...l},u)=>{const f=p("form-control",`form-control-${r}`,e),d=p("form-label",t),g=n.useRef(null);return n.useImperativeHandle(u,()=>g.current||(a==null?void 0:a.current)),c.jsxs(c.Fragment,{children:[o&&c.jsx("label",{className:d,style:s,htmlFor:i,children:o}),c.jsx("input",{className:f,type:"file",id:i,ref:g,...l})]})});Ze.displayName="MDBFile";const ze=n.forwardRef(({className:e,children:t,noBorder:s,textBefore:a,textAfter:r,noWrap:o,tag:i="div",textTag:l="span",textClass:u,size:f,textProps:d,...g},m)=>{const b=p("input-group",o&&"flex-nowrap",f&&`input-group-${f}`,e),v=p("input-group-text",s&&"border-0",u),y=h=>c.jsx(c.Fragment,{children:h&&Array.isArray(h)?h.map((w,x)=>c.jsx(l,{className:v,...d,children:w},x)):c.jsx(l,{className:v,...d,children:h})});return c.jsxs(i,{className:b,ref:m,...g,children:[a&&y(a),t,r&&y(r)]})});ze.displayName="MDBInputGroup";const et=n.forwardRef(({className:e,children:t,isValidated:s=!1,onReset:a,onSubmit:r,noValidate:o=!0,...i},l)=>{const[u,f]=n.useState(s),d=p("needs-validation",u&&"was-validated",e),g=b=>{b.preventDefault(),f(!0),r&&r(b)},m=b=>{b.preventDefault(),f(!1),a&&a(b)};return n.useEffect(()=>{f(s)},[s]),c.jsx("form",{className:d,onSubmit:g,onReset:m,ref:l,noValidate:o,...i,children:t})});et.displayName="MDBValidation";const tt=n.forwardRef(({className:e,fill:t,pills:s,justify:a,children:r,...o},i)=>{const l=p("nav",s?"nav-pills":"nav-tabs",t&&"nav-fill",a&&"nav-justified",e);return c.jsx("ul",{className:l,ref:i,...o,children:r})});tt.displayName="MDBTabs";const st=n.forwardRef(({className:e,children:t,style:s,tag:a="li",...r},o)=>{const i=p("nav-item",e);return c.jsx(a,{className:i,style:{cursor:"pointer",...s},role:"presentation",ref:o,...r,children:t})});st.displayName="MDBTabsItem";const at=n.forwardRef(({className:e,color:t,active:s,onOpen:a,onClose:r,children:o,...i},l)=>{const u=p("nav-link",s&&"active",t&&`bg-${t}`,e);return n.useEffect(()=>{s?a==null||a():r==null||r()},[s]),c.jsx("a",{className:u,ref:l,...i,children:o})});at.displayName="MDBTabsLink";const rt=n.forwardRef(({className:e,tag:t="div",children:s,...a},r)=>{const o=p("tab-content",e);return c.jsx(t,{className:o,ref:r,...a,children:s})});rt.displayName="MDBTabsContent";const nt=n.forwardRef(({className:e,tag:t="div",open:s,children:a,...r},o)=>{const[i,l]=n.useState(!1),u=p("tab-pane","fade",i&&"show",s&&"active",e);return n.useEffect(()=>{let f;return s?f=setTimeout(()=>{l(!0)},100):l(!1),()=>{clearTimeout(f)}},[s]),c.jsx(t,{className:u,role:"tabpanel",ref:o,...r,children:a})});nt.displayName="MDBTabsPane";const le=n.createContext({active:0}),_t=({imagesCount:e,to:t})=>{const{active:s}=n.useContext(le);return c.jsx("ol",{className:"carousel-indicators",children:Array.from(Array(e)).map((a,r)=>c.jsx("li",{"data-mdb-target":r,className:p(s===r&&"active"),onClick:()=>t(r)},r))})},Yt=({move:e})=>c.jsxs(c.Fragment,{children:[c.jsxs("a",{role:"button",className:"carousel-control-prev",onClick:()=>e("prev"),children:[c.jsx("span",{className:"carousel-control-prev-icon"}),c.jsx("span",{className:"visually-hidden",children:"Previous"})]}),c.jsxs("a",{role:"button",className:"carousel-control-next",onClick:()=>e("next"),children:[c.jsx("span",{className:"carousel-control-next-icon"}),c.jsx("span",{className:"visually-hidden",children:"Next"})]})]}),Kt=e=>{const t=getComputedStyle(e),s=getComputedStyle(e==null?void 0:e.parentNode);return t.display!=="none"&&s.display!=="none"&&t.visibility!=="hidden"},Ut=e=>Array.from(e==null?void 0:e.querySelectorAll(".carousel-item")),Jt=e=>e.offsetHeight,Qt=(e,t,s=!0)=>{if(!s){de(e);return}const a=Zt(t);t.addEventListener("transitionend",()=>de(e),{once:!0}),es(t,a)},de=e=>{typeof e=="function"&&e()},Zt=e=>{if(!e)return 0;let{transitionDuration:t,transitionDelay:s}=window.getComputedStyle(e);const a=Number.parseFloat(t),r=Number.parseFloat(s);return!a&&!r?0:(t=t.split(",")[0],s=s.split(",")[0],(Number.parseFloat(t)+Number.parseFloat(s))*1e3)},zt=e=>{e.dispatchEvent(new Event("transitionend"))},es=(e,t)=>{let s=!1;const r=t+5;function o(){s=!0,e.removeEventListener("transitionend",o)}e.addEventListener("transitionend",o),setTimeout(()=>{s||zt(e)},r)},ts=({fade:e=!1,className:t,carouselInnerClassName:s,dark:a,children:r,interval:o=5e3,keyboard:i=!1,touch:l=!0,showControls:u,showIndicators:f,onSlide:d,...g})=>{const m=n.useRef([]),b=n.useRef(null),v=n.useRef(0),y=n.useRef(!1),[h,w]=n.useState(0),[x,M]=n.useState(0),[C,B]=n.useState({initialX:0,initialY:0}),[I,S]=n.useState(!1),R=n.useRef(null),F=p("carousel","slide",e&&"carousel-fade",a&&"carousel-dark",t),E=p("carousel-inner",s),j=n.useCallback((D,L)=>{if(L!==void 0)v.current=L,w(L);else{const q=h===x-1?0:h+1,K=h===0?x-1:h-1;v.current=D==="next"?q:K,w(D==="next"?q:K)}},[h,x]),T=n.useCallback(()=>{b.current&&(clearInterval(b.current),b.current=null)},[]),H=n.useCallback((D,L,q)=>{var ie;if(!m.current||m.current.length<2)return;S(!0);const Y=m.current[h],U=Boolean(b.current),z=D==="next",ee=z?"carousel-item-start":"carousel-item-end",se=z?"carousel-item-next":"carousel-item-prev";if(L.classList.contains("active")){y.current=!1;return}j(D,q),!(!Y||!L)&&(y.current=!0,U&&T(),(ie=R.current)!=null&&ie.classList.contains("slide")?(L.classList.add(se),Jt(L),Y.classList.add(ee),L.classList.add(ee),Qt(()=>{S(!1),L.classList.remove(ee,se),L.classList.add("active"),Y.classList.remove("active",se,ee),y.current=!1},Y,!0)):(Y.classList.remove("active"),L.classList.add("active"),y.current=!1))},[R,h,j,T]),N=D=>{y.current||(y.current=!0,setTimeout(()=>{y.current=!1},D))},$=n.useCallback(D=>{const L=D==="prev",Y=(v.current+(L?-1:1))%x,U=m.current;return Y===-1?U[x-1]:U[Y]},[x]),P=D=>{const L=v.current,q=D>L?"next":"prev",K=m.current;return{direction:q,nextElement:K[D]}},A=D=>{if(y.current||(N(700),D>x-1||D<0))return;const{direction:L,nextElement:q}=P(D);H(L,q,D)},k=n.useCallback(D=>{if(y.current)return;N(600);const L=$(D);H(D,L)},[$,H]),O=n.useCallback(()=>{const{visibilityState:D,hidden:L}=document;if(D)return L||!Kt(R.current)?void 0:k("next");k("next")},[R,k]),W=n.useCallback(()=>{var L,q;const D=(q=(L=r==null?void 0:r[h])==null?void 0:L.props)==null?void 0:q.interval;b.current&&(clearInterval(b.current),b.current=null),b.current=setInterval(O,D||o)},[O,o,r,h]),X=D=>{l&&B({initialX:D.touches[0].clientX,initialY:D.touches[0].clientY})},G=D=>{y.current=!0;const{initialX:L,initialY:q}=C;if(!L||!q)return;const K=D.touches[0].clientX,Y=D.touches[0].clientY,U=L-K,z=q-Y;Math.abs(U)>Math.abs(z)&&(U>0?k("prev"):k("next")),B({initialX:0,initialY:0})},_=()=>{y.current=!1},V=n.useCallback(D=>{switch(D.key){case"ArrowLeft":D.preventDefault(),k("prev");break;case"ArrowRight":D.preventDefault(),k("next");break}},[k]);return n.useEffect(()=>{if(i)return window.addEventListener("keydown",V),()=>{window.removeEventListener("keydown",V)}},[V,i]),n.useEffect(()=>{const D=R.current,L=Ut(D);m.current=L,M(L.length)},[R]),n.useEffect(()=>{I&&(d==null||d())},[I,d]),n.useEffect(()=>(W(),()=>{T()}),[W,T]),c.jsx("div",{onTouchStart:X,onTouchMove:G,onTouchEnd:_,onMouseEnter:T,onMouseLeave:W,className:F,ref:R,...g,children:c.jsx("div",{className:E,children:c.jsxs(le.Provider,{value:{active:h},children:[f&&c.jsx(_t,{to:A,imagesCount:x}),r,u&&c.jsx(Yt,{move:k})]})})})},ss=({className:e,children:t,itemId:s,...a})=>{const{active:r}=n.useContext(le),o=n.useRef(!0),i=n.useRef(null),l=p("carousel-item",e);return n.useEffect(()=>{if(o.current&&r===s-1){const u=i.current;u==null||u.classList.add("active")}o.current=!1},[r,s]),c.jsx("div",{className:l,ref:i,...a,children:t})},as=({className:e,children:t,...s})=>{const a=p("carousel-caption d-none d-md-block",e);return c.jsx("div",{className:a,...s,children:t})},ot=n.createContext({activeItem:0,setActiveItem:null,alwaysOpen:!1,initialActive:0}),ct=n.forwardRef(({alwaysOpen:e,borderless:t,className:s,flush:a,active:r,initialActive:o=0,tag:i="div",children:l,onChange:u,...f},d)=>{const g=n.useMemo(()=>typeof r<"u",[r]),m=p("accordion",a&&"accordion-flush",t&&"accordion-borderless",s),[b,v]=n.useState(o);return c.jsx(i,{className:m,ref:d,...f,children:c.jsx(ot.Provider,{value:{activeItem:g?r:b,setActiveItem:v,alwaysOpen:e,initialActive:o,onChange:u},children:l})})});ct.displayName="MDBAccordion";const lt=n.forwardRef(({className:e,bodyClassName:t,bodyStyle:s,headerClassName:a,collapseId:r,headerTitle:o,headerStyle:i,btnClassName:l,tag:u="div",children:f,...d},g)=>{const{activeItem:m,setActiveItem:b,alwaysOpen:v,onChange:y}=n.useContext(ot),h=n.useMemo(()=>Array.isArray(m)?m.includes(r):m===r,[m,r]),w=p("accordion-item",e),x=p("accordion-header",a),M=p("accordion-body",t),C=p("accordion-button",!h&&"collapsed",l),B=n.useCallback(I=>{let S=I;Array.isArray(m)?m.includes(I)?S=m.filter(F=>F!==I):S=v?[...m,I]:[I]:(S=m===I?0:I,v&&(S=[S])),y==null||y(S),b(S)},[y,m,b,v]);return c.jsxs(u,{className:w,ref:g,...d,children:[c.jsx("h2",{className:x,style:i,children:c.jsx("button",{onClick:()=>B(r),className:C,type:"button",children:o})}),c.jsx(qe,{id:r.toString(),open:h,children:c.jsx("div",{className:M,style:s,children:f})})]})});lt.displayName="MDBAccordionItem";const rs=({className:e,size:t,contrast:s,value:a,defaultValue:r,id:o,labelClass:i,wrapperClass:l,wrapperStyle:u,wrapperTag:f="div",label:d,onChange:g,children:m,labelRef:b,labelStyle:v,inputRef:y,onBlur:h,readonly:w=!1,...x})=>{var O;const M=n.useRef(null),C=n.useRef(null),B=b||M,I=y||C,[S,R]=n.useState(a||r),[F,E]=n.useState(0),[j,T]=n.useState(a!==void 0&&a.length>0||r!==void 0&&r.length>0),H=p("form-outline",s&&"form-white",l),N=p("form-control",j&&"active",t&&`form-control-${t}`,e),$=p("form-label",i);n.useEffect(()=>{var W;B.current&&((W=B.current)==null?void 0:W.clientWidth)!==0&&E(B.current.clientWidth*.8+8)},[B,(O=B.current)==null?void 0:O.clientWidth]);const P=()=>{B.current&&E(B.current.clientWidth*.8+8)};n.useEffect(()=>{a!==void 0&&(a.length>0?T(!0):T(!1))},[a]),n.useEffect(()=>{r!==void 0&&(r.length>0?T(!0):T(!1))},[r]);const A=W=>{R(W.currentTarget.value),g&&g(W)},k=n.useCallback(W=>{S!==void 0&&S.length>0||a!==void 0&&a.length>0?T(!0):T(!1),h&&h(W)},[S,a,h]);return c.jsxs(f,{className:H,style:{...u},children:[c.jsx("textarea",{readOnly:w,className:N,onBlur:k,onChange:A,onFocus:P,defaultValue:r,value:a,id:o,ref:I,...x}),d&&c.jsx("label",{className:$,style:v,htmlFor:o,ref:B,children:d}),c.jsxs("div",{className:"form-notch",children:[c.jsx("div",{className:"form-notch-leading"}),c.jsx("div",{className:"form-notch-middle",style:{width:F}}),c.jsx("div",{className:"form-notch-trailing"})]}),m]})},ns=({children:e,invalid:t,feedback:s="Looks good!",tooltip:a,tag:r="div",...o})=>{const[i,l]=n.useState(null),u=n.useRef(null),f=p(t?`invalid-${a?"tooltip":"feedback"}`:`valid-${a?"tooltip":"feedback"}`);return n.useEffect(()=>{var g,m;const d=(m=(g=u.current)==null?void 0:g.querySelector("input, textarea"))==null?void 0:m.parentElement;d&&l(d)},[]),c.jsxs(r,{ref:u,...o,children:[i&&Q.createPortal(c.jsx("div",{className:f,children:s}),i),e]})},os=({children:e})=>{const[t,s]=n.useState(!1);return n.useEffect(()=>{s(!0)},[]),c.jsx(c.Fragment,{children:t?e:null})};exports.MDBAccordion=ct;exports.MDBAccordionItem=lt;exports.MDBBadge=pe;exports.MDBBreadcrumb=Re;exports.MDBBreadcrumbItem=Ce;exports.MDBBtn=Z;exports.MDBBtnGroup=ge;exports.MDBCard=ve;exports.MDBCardBody=xe;exports.MDBCardFooter=De;exports.MDBCardGroup=we;exports.MDBCardHeader=he;exports.MDBCardImage=ft;exports.MDBCardLink=mt;exports.MDBCardOverlay=Ne;exports.MDBCardSubTitle=ye;exports.MDBCardText=Me;exports.MDBCardTitle=Be;exports.MDBCarousel=ts;exports.MDBCarouselCaption=as;exports.MDBCarouselItem=ss;exports.MDBCheckbox=xt;exports.MDBClientOnly=os;exports.MDBCol=me;exports.MDBCollapse=qe;exports.MDBContainer=fe;exports.MDBDropdown=St;exports.MDBDropdownItem=Ct;exports.MDBDropdownMenu=kt;exports.MDBDropdownToggle=Lt;exports.MDBFile=Ze;exports.MDBFooter=Pe;exports.MDBIcon=gt;exports.MDBInput=Xe;exports.MDBInputGroup=ze;exports.MDBListGroup=je;exports.MDBListGroupItem=Ee;exports.MDBModal=Ot;exports.MDBModalBody=Je;exports.MDBModalContent=Ye;exports.MDBModalDialog=_e;exports.MDBModalFooter=Qe;exports.MDBModalHeader=Ke;exports.MDBModalTitle=Ue;exports.MDBNavbar=Ie;exports.MDBNavbarBrand=ke;exports.MDBNavbarItem=Le;exports.MDBNavbarLink=$e;exports.MDBNavbarNav=Ae;exports.MDBNavbarToggler=Fe;exports.MDBPagination=Oe;exports.MDBPaginationItem=We;exports.MDBPaginationLink=He;exports.MDBPopover=At;exports.MDBPopoverBody=Ft;exports.MDBPopoverHeader=Pt;exports.MDBProgress=Ge;exports.MDBProgressBar=oe;exports.MDBRadio=Dt;exports.MDBRange=Vt;exports.MDBRipple=re;exports.MDBRow=Te;exports.MDBScrollspy=Ht;exports.MDBScrollspyLink=Wt;exports.MDBScrollspySubList=Gt;exports.MDBSpinner=be;exports.MDBSwitch=Xt;exports.MDBTable=vt;exports.MDBTableBody=yt;exports.MDBTableHead=ht;exports.MDBTabs=tt;exports.MDBTabsContent=rt;exports.MDBTabsItem=st;exports.MDBTabsLink=at;exports.MDBTabsPane=nt;exports.MDBTextArea=rs;exports.MDBTooltip=pt;exports.MDBTypography=Se;exports.MDBValidation=et;exports.MDBValidationItem=ns; diff --git a/dist/mdb-react-ui-kit.esm.js b/dist/mdb-react-ui-kit.esm.js index 98c9f55..28bd169 100755 --- a/dist/mdb-react-ui-kit.esm.js +++ b/dist/mdb-react-ui-kit.esm.js @@ -1,18 +1,18 @@ (function(){"use strict";try{if(typeof document!="undefined"){var o=document.createElement("style");o.appendChild(document.createTextNode(".dropdown-menu .active:not(.form-control){color:#16181b;background-color:#eee}.dropdown-menu [data-active=true] a.dropdown-item,.dropdown-menu .dropdown-item:focus,.dropdown-menu li:focus .dropdown-item :not(.disabled){color:#16181b;background-color:#eee}.dropdown-menu li:focus{outline:none}.dropdown-menu.dropdown-menu-dark [data-active=true] a.dropdown-item,.dropdown-menu.dropdown-menu-dark .dropdown-item:focus,.dropdown-menu.dropdown-menu-dark li:focus .dropdown-item{color:#fff;background-color:#1266f1}.btn-group.dropstart>.dropdown-menu{right:0!important}")),document.head.appendChild(o)}}catch(d){console.error("vite-plugin-css-injected-by-js",d)}})(); import { jsx as l, jsxs as V, Fragment as q } from "react/jsx-runtime"; -import y, { useState as N, useEffect as x, useRef as K, useCallback as j, useMemo as se, useImperativeHandle as be, forwardRef as ve, createContext as ye, useContext as re, Children as Te, cloneElement as $e } from "react"; +import N, { useState as y, useEffect as x, useRef as K, useCallback as G, useMemo as ne, useImperativeHandle as ve, forwardRef as ye, createContext as Ne, useContext as se, Children as $e, cloneElement as Ee } from "react"; import f from "clsx"; -import ae, { createPortal as Ne } from "react-dom"; import { usePopper as ue } from "react-popper"; +import de, { createPortal as we } from "react-dom"; import { flip as Re } from "@popperjs/core"; -const Ee = y.forwardRef( +const Ie = N.forwardRef( ({ breakpoint: e, fluid: t, children: s, className: r, tag: n = "div", ...a }, c) => { const o = f(`${t ? "container-fluid" : `container${e ? "-" + e : ""}`}`, r); return /* @__PURE__ */ l(n, { className: o, ...a, ref: c, children: s }); } ); -Ee.displayName = "MDBContainer"; -const Ie = y.forwardRef( +Ie.displayName = "MDBContainer"; +const Le = N.forwardRef( ({ center: e, children: t, @@ -31,9 +31,9 @@ const Ie = y.forwardRef( xl: h, xxl: v, xs: b, - ...D - }, R) => { - const w = f( + ...$ + }, M) => { + const B = f( d && `col-${d}`, b && `col-xs-${b}`, p && `col-sm-${p}`, @@ -51,11 +51,11 @@ const Ie = y.forwardRef( c && `offset-lg-${c}`, s ); - return /* @__PURE__ */ l(g, { className: w, ref: R, ...D, children: t }); + return /* @__PURE__ */ l(g, { className: B, ref: M, ...$, children: t }); } ); -Ie.displayName = "MDBCol"; -const Le = y.forwardRef( +Le.displayName = "MDBCol"; +const xe = N.forwardRef( ({ className: e, color: t = "primary", pill: s, light: r, dot: n, tag: a = "span", children: c, notification: o, ...i }, u) => { const d = f( "badge", @@ -68,9 +68,9 @@ const Le = y.forwardRef( return /* @__PURE__ */ l(a, { className: d, ref: u, ...i, children: c }); } ); -Le.displayName = "MDBBadge"; -const xe = ({ ...e }) => { - const [t, s] = N(!1), r = f("ripple-wave", t && "active"); +xe.displayName = "MDBBadge"; +const ke = ({ ...e }) => { + const [t, s] = y(!1), r = f("ripple-wave", t && "active"); return x(() => { const n = setTimeout(() => { s(!0); @@ -79,14 +79,14 @@ const xe = ({ ...e }) => { clearTimeout(n); }; }, []), /* @__PURE__ */ l("div", { className: r, ...e }); -}, ke = (...e) => { - const t = y.useRef(); - return y.useEffect(() => { +}, Se = (...e) => { + const t = N.useRef(); + return N.useEffect(() => { e.forEach((s) => { s && (typeof s == "function" ? s(t.current) : s.current = t.current); }); }, [e]), t; -}, we = y.forwardRef( +}, Be = N.forwardRef( ({ className: e, rippleTag: t = "div", @@ -99,77 +99,77 @@ const xe = ({ ...e }) => { onMouseDown: i, ...u }, d) => { - const p = K(null), m = ke(d, p), g = "rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%", h = [0, 0, 0], v = ["primary", "secondary", "success", "danger", "warning", "info", "light", "dark"], [b, D] = N([]), [R, w] = N(!1), S = f( + const p = K(null), m = Se(d, p), g = "rgba({{color}}, 0.2) 0, rgba({{color}}, 0.3) 40%, rgba({{color}}, 0.4) 50%, rgba({{color}}, 0.5) 60%, rgba({{color}}, 0) 70%", h = [0, 0, 0], v = ["primary", "secondary", "success", "danger", "warning", "info", "light", "dark"], [b, $] = y([]), [M, B] = y(!1), S = f( "ripple", "ripple-surface", n && "ripple-surface-unbound", - R && `ripple-surface-${c}`, + M && `ripple-surface-${c}`, e - ), B = () => { - if (v.find((I) => I === (c == null ? void 0 : c.toLowerCase()))) - return w(!0); + ), w = () => { + if (v.find((E) => E === (c == null ? void 0 : c.toLowerCase()))) + return B(!0); { - const I = C(c).join(","); - return `radial-gradient(circle, ${g.split("{{color}}").join(`${I}`)})`; + const E = C(c).join(","); + return `radial-gradient(circle, ${g.split("{{color}}").join(`${E}`)})`; } - }, C = (E) => { - const I = (M) => (M.length < 7 && (M = `#${M[1]}${M[1]}${M[2]}${M[2]}${M[3]}${M[3]}`), [parseInt(M.substr(1, 2), 16), parseInt(M.substr(3, 2), 16), parseInt(M.substr(5, 2), 16)]), L = (M) => { - const A = document.body.appendChild(document.createElement("fictum")), W = "rgb(1, 2, 3)"; - return A.style.color = W, A.style.color !== W || (A.style.color = M, A.style.color === W || A.style.color === "") ? h : (M = getComputedStyle(A).color, document.body.removeChild(A), M); - }, X = (M) => (M = M.match(/[.\d]+/g).map((A) => +Number(A)), M.length = 3, M); - return E.toLowerCase() === "transparent" ? h : E[0] === "#" ? I(E) : (E.indexOf("rgb") === -1 && (E = L(E)), E.indexOf("rgb") === 0 ? X(E) : h); - }, T = (E) => { - const { offsetX: I, offsetY: L, height: X, width: M } = E, A = L <= X / 2, W = I <= M / 2, k = (Y, Z) => Math.sqrt(Y ** 2 + Z ** 2), H = L === X / 2 && I === M / 2, G = { - first: A === !0 && W === !1, - second: A === !0 && W === !0, - third: A === !1 && W === !0, - fourth: A === !1 && W === !1 - }, _ = { - topLeft: k(I, L), - topRight: k(M - I, L), - bottomLeft: k(I, X - L), - bottomRight: k(M - I, X - L) + }, C = (I) => { + const E = (T) => (T.length < 7 && (T = `#${T[1]}${T[1]}${T[2]}${T[2]}${T[3]}${T[3]}`), [parseInt(T.substr(1, 2), 16), parseInt(T.substr(3, 2), 16), parseInt(T.substr(5, 2), 16)]), R = (T) => { + const A = document.body.appendChild(document.createElement("fictum")), H = "rgb(1, 2, 3)"; + return A.style.color = H, A.style.color !== H || (A.style.color = T, A.style.color === H || A.style.color === "") ? h : (T = getComputedStyle(A).color, document.body.removeChild(A), T); + }, _ = (T) => (T = T.match(/[.\d]+/g).map((A) => +Number(A)), T.length = 3, T); + return I.toLowerCase() === "transparent" ? h : I[0] === "#" ? E(I) : (I.indexOf("rgb") === -1 && (I = R(I)), I.indexOf("rgb") === 0 ? _(I) : h); + }, L = (I) => { + const { offsetX: E, offsetY: R, height: _, width: T } = I, A = R <= _ / 2, H = E <= T / 2, P = (Y, Z) => Math.sqrt(Y ** 2 + Z ** 2), F = R === _ / 2 && E === T / 2, X = { + first: A === !0 && H === !1, + second: A === !0 && H === !0, + third: A === !1 && H === !0, + fourth: A === !1 && H === !1 + }, j = { + topLeft: P(E, R), + topRight: P(T - E, R), + bottomLeft: P(E, _ - R), + bottomRight: P(T - E, _ - R) }; let U = 0; - return H || G.fourth ? U = _.topLeft : G.third ? U = _.topRight : G.second ? U = _.bottomRight : G.first && (U = _.bottomLeft), U * 2; - }, P = (E) => { + return F || X.fourth ? U = j.topLeft : X.third ? U = j.topRight : X.second ? U = j.bottomRight : X.first && (U = j.bottomLeft), U * 2; + }, k = (I) => { var U; - const I = (U = m.current) == null ? void 0 : U.getBoundingClientRect(), L = E.clientX - I.left, X = E.clientY - I.top, M = I.height, A = I.width, W = { - offsetX: s ? M / 2 : L, - offsetY: s ? A / 2 : X, - height: M, + const E = (U = m.current) == null ? void 0 : U.getBoundingClientRect(), R = I.clientX - E.left, _ = I.clientY - E.top, T = E.height, A = E.width, H = { + offsetX: s ? T / 2 : R, + offsetY: s ? A / 2 : _, + height: T, width: A - }, k = { + }, P = { delay: r && r * 0.5, duration: r && r - r * 0.5 - }, H = T(W), G = a || H / 2, _ = { - left: s ? `${A / 2 - G}px` : `${L - G}px`, - top: s ? `${M / 2 - G}px` : `${X - G}px`, - height: a ? `${a * 2}px` : `${H}px`, - width: a ? `${a * 2}px` : `${H}px`, - transitionDelay: `0s, ${k.delay}ms`, - transitionDuration: `${r}ms, ${k.duration}ms` + }, F = L(H), X = a || F / 2, j = { + left: s ? `${A / 2 - X}px` : `${R - X}px`, + top: s ? `${T / 2 - X}px` : `${_ - X}px`, + height: a ? `${a * 2}px` : `${F}px`, + width: a ? `${a * 2}px` : `${F}px`, + transitionDelay: `0s, ${P.delay}ms`, + transitionDuration: `${r}ms, ${P.duration}ms` }; - return R ? _ : { ..._, backgroundImage: `${B()}` }; - }, O = (E) => { - const I = P(E), L = b.concat(I); - D(L), i && i(E); + return M ? j : { ...j, backgroundImage: `${w()}` }; + }, W = (I) => { + const E = k(I), R = b.concat(E); + $(R), i && i(I); }; return x(() => { - const E = setTimeout(() => { - b.length > 0 && D(b.splice(1, b.length - 1)); + const I = setTimeout(() => { + b.length > 0 && $(b.splice(1, b.length - 1)); }, r); return () => { - clearTimeout(E); + clearTimeout(I); }; - }, [r, b]), /* @__PURE__ */ V(t, { className: S, onMouseDown: (E) => O(E), ref: m, ...u, children: [ + }, [r, b]), /* @__PURE__ */ V(t, { className: S, onMouseDown: (I) => W(I), ref: m, ...u, children: [ o, - b.map((E, I) => /* @__PURE__ */ l(xe, { style: E }, I)) + b.map((I, E) => /* @__PURE__ */ l(ke, { style: I }, E)) ] }); } ); -we.displayName = "MDBRipple"; -const le = y.forwardRef( +Be.displayName = "MDBRipple"; +const ce = N.forwardRef( ({ className: e, color: t = "primary", @@ -188,27 +188,27 @@ const le = y.forwardRef( role: h = "button", ...v }, b) => { - const [D, R] = N(d || !1); - let w; + const [$, M] = y(d || !1); + let B; const S = t && ["light", "link"].includes(t) || s ? "dark" : "light"; - t !== "none" ? s ? t ? w = `btn-outline-${t}` : w = "btn-outline-primary" : t ? w = `btn-${t}` : w = "btn-primary" : w = ""; - const B = f( + t !== "none" ? s ? t ? B = `btn-outline-${t}` : B = "btn-outline-primary" : t ? B = `btn-${t}` : B = "btn-primary" : B = ""; + const w = f( t !== "none" && "btn", - w, + B, n && "btn-rounded", c && "btn-floating", o && `btn-${o}`, `${(i || g !== "button") && a ? "disabled" : ""}`, u && "btn-block", - D && "active", + $ && "active", e ); return i && g !== "a" && (g = "a"), ["hr", "img", "input"].includes(g) || m ? /* @__PURE__ */ l( g, { - className: B, + className: w, onClick: p ? () => { - R(!D); + M(!$); } : void 0, disabled: a && g === "button" ? !0 : void 0, href: i, @@ -218,13 +218,13 @@ const le = y.forwardRef( children: r } ) : /* @__PURE__ */ l( - we, + Be, { rippleTag: g, rippleColor: S, - className: B, + className: w, onClick: p ? () => { - R(!D); + M(!$); } : void 0, disabled: a && g === "button" ? !0 : void 0, href: i, @@ -236,8 +236,8 @@ const le = y.forwardRef( ); } ); -le.displayName = "MDBBtn"; -const Se = y.forwardRef( +ce.displayName = "MDBBtn"; +const Ce = N.forwardRef( ({ className: e, children: t, shadow: s, toolbar: r, size: n, vertical: a, tag: c = "div", role: o = "group", ...i }, u) => { let d; r ? d = "btn-toolbar" : a ? d = "btn-group-vertical" : d = "btn-group"; @@ -245,8 +245,8 @@ const Se = y.forwardRef( return /* @__PURE__ */ l(c, { className: p, ref: u, role: o, ...i, children: t }); } ); -Se.displayName = "MDBBtnGroup"; -const Ce = y.forwardRef( +Ce.displayName = "MDBBtnGroup"; +const Ae = N.forwardRef( ({ className: e, children: t, tag: s = "div", color: r, grow: n, size: a, ...c }, o) => { const i = f( `${n ? "spinner-grow" : "spinner-border"}`, @@ -257,8 +257,8 @@ const Ce = y.forwardRef( return /* @__PURE__ */ l(s, { className: i, ref: o, ...c, children: t }); } ); -Ce.displayName = "MDBSpinner"; -const Ae = y.forwardRef( +Ae.displayName = "MDBSpinner"; +const Fe = N.forwardRef( ({ className: e, children: t, border: s, background: r, tag: n = "div", shadow: a, alignment: c, ...o }, i) => { const u = f( "card", @@ -271,70 +271,70 @@ const Ae = y.forwardRef( return /* @__PURE__ */ l(n, { className: u, ref: i, ...o, children: t }); } ); -Ae.displayName = "MDBCard"; -const Fe = y.forwardRef( +Fe.displayName = "MDBCard"; +const Oe = N.forwardRef( ({ className: e, children: t, border: s, background: r, tag: n = "div", ...a }, c) => { const o = f("card-header", s && `border-${s}`, r && `bg-${r}`, e); return /* @__PURE__ */ l(n, { className: o, ...a, ref: c, children: t }); } ); -Fe.displayName = "MDBCardHeader"; -const Pe = y.forwardRef( +Oe.displayName = "MDBCardHeader"; +const Pe = N.forwardRef( ({ className: e, children: t, tag: s = "p", ...r }, n) => { const a = f("card-subtitle", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); Pe.displayName = "MDBCardSubTitle"; -const Oe = y.forwardRef( +const He = N.forwardRef( ({ className: e, children: t, tag: s = "h5", ...r }, n) => { const a = f("card-title", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -Oe.displayName = "MDBCardTitle"; -const He = y.forwardRef( +He.displayName = "MDBCardTitle"; +const We = N.forwardRef( ({ className: e, children: t, tag: s = "p", ...r }, n) => { const a = f("card-text", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -He.displayName = "MDBCardText"; -const We = y.forwardRef( +We.displayName = "MDBCardText"; +const Xe = N.forwardRef( ({ className: e, children: t, tag: s = "div", ...r }, n) => { const a = f("card-body", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -We.displayName = "MDBCardBody"; -const Xe = y.forwardRef( +Xe.displayName = "MDBCardBody"; +const _e = N.forwardRef( ({ className: e, children: t, border: s, background: r, tag: n = "div", ...a }, c) => { const o = f("card-footer", s && `border-${s}`, r && `bg-${r}`, e); return /* @__PURE__ */ l(n, { className: o, ...a, ref: c, children: t }); } ); -Xe.displayName = "MDBCardFooter"; -const zt = ({ className: e, children: t, overlay: s, position: r, fluid: n, ...a }) => { +_e.displayName = "MDBCardFooter"; +const es = ({ className: e, children: t, overlay: s, position: r, fluid: n, ...a }) => { const c = f(r && `card-img-${r}`, n && "img-fluid", s && "card-img", e); return /* @__PURE__ */ l("img", { className: c, ...a, children: t }); -}, _e = y.forwardRef( +}, je = N.forwardRef( ({ className: e, children: t, tag: s = "div", ...r }, n) => { const a = f("card-img-overlay", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -_e.displayName = "MDBCardOverlay"; -const es = ({ className: e, children: t, ...s }) => { +je.displayName = "MDBCardOverlay"; +const ts = ({ className: e, children: t, ...s }) => { const r = f("card-link", e); return /* @__PURE__ */ l("a", { className: r, ...s, children: t }); -}, je = y.forwardRef( +}, Ge = N.forwardRef( ({ className: e, children: t, tag: s = "div", ...r }, n) => { const a = f("card-group", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -je.displayName = "MDBCardGroup"; -const Ge = y.forwardRef( +Ge.displayName = "MDBCardGroup"; +const Ye = N.forwardRef( ({ className: e, tag: t = "ul", horizontal: s, horizontalSize: r, light: n, numbered: a, children: c, small: o, ...i }, u) => { const d = f( "list-group", @@ -347,8 +347,8 @@ const Ge = y.forwardRef( return /* @__PURE__ */ l(t, { className: d, ref: u, ...i, children: c }); } ); -Ge.displayName = "MDBListGroup"; -const Ye = y.forwardRef( +Ye.displayName = "MDBListGroup"; +const Ve = N.forwardRef( ({ className: e, tag: t = "li", active: s, disabled: r, action: n, color: a, children: c, noBorders: o, ...i }, u) => { const d = t === "button", p = f( "list-group-item", @@ -362,12 +362,17 @@ const Ye = y.forwardRef( return /* @__PURE__ */ l(t, { className: p, disabled: d && r, ref: u, ...i, children: c }); } ); -Ye.displayName = "MDBListGroupItem"; -const ts = ({ +Ve.displayName = "MDBListGroupItem"; +const me = ({ children: e, containerRef: t, disablePortal: s }) => { + const [r, n] = y(!1); + return x(() => { + !s && n(!0); + }, [s]), s ? /* @__PURE__ */ l(q, { children: e }) : r ? we(/* @__PURE__ */ l(q, { children: e }), (t == null ? void 0 : t.current) || document.body) : null; +}, ss = ({ className: e, children: t, disableMouseDown: s, - tag: r = le, + tag: r = ce, tooltipTag: n = "div", options: a, placement: c = "top", @@ -378,66 +383,65 @@ const ts = ({ onClose: p, onMouseEnter: m, onMouseLeave: g, - ...h + type: h, + ...v }) => { - const [v, b] = N(null), [D, R] = N(null), [w, S] = N(!1), [B, C] = N(!1), [T, P] = N(!1), [O, E] = N(!1), I = f("tooltip", T && "show", "fade", e), { styles: L, attributes: X } = ue(v, D, { + const [b, $] = y(null), [M, B] = y(null), [S, w] = y(!1), [C, L] = y(!1), [k, W] = y(!1), [I, E] = y(!1), R = f("tooltip", k && "show", "fade", e), { styles: _, attributes: T } = ue(b, M, { placement: c, ...a }); x(() => { - let k, H; - return w || B ? (E(!0), k = setTimeout(() => { - P(!0); - }, 4)) : (P(!1), H = setTimeout(() => { + let F, X; + return S || C ? (E(!0), F = setTimeout(() => { + W(!0); + }, 4)) : (W(!1), X = setTimeout(() => { E(!1); }, 300)), () => { - clearTimeout(k), clearTimeout(H); + clearTimeout(F), clearTimeout(X); }; - }, [w, B]); - const M = (k) => { - d == null || d(k), !k.defaultPrevented && S(!0), m == null || m(k); - }, A = (k) => { - p == null || p(k), !k.defaultPrevented && S(!1), g == null || g(k); - }, W = j( - (k) => { - k.target === v ? C(!0) : C(!1); + }, [S, C]); + const A = (F) => { + d == null || d(F), !F.defaultPrevented && w(!0), m == null || m(F); + }, H = (F) => { + p == null || p(F), !F.defaultPrevented && w(!1), g == null || g(F); + }, P = G( + (F) => { + F.target === b ? L(!0) : L(!1); }, - [v] + [b] ); return x(() => { if (!s) - return document.addEventListener("mousedown", W), () => { - document.removeEventListener("mousedown", W); + return document.addEventListener("mousedown", P), () => { + document.removeEventListener("mousedown", P); }; - }, [W, s]), /* @__PURE__ */ V(q, { children: [ + }, [P, s]), /* @__PURE__ */ V(q, { children: [ /* @__PURE__ */ l( r, { className: u, - onMouseEnter: M, - onMouseLeave: A, - ref: b, + onMouseEnter: A, + onMouseLeave: H, + ref: $, ...i, + type: h, children: t } ), - O && ae.createPortal( - /* @__PURE__ */ l( - n, - { - ref: R, - className: I, - style: L.popper, - ...X.popper, - role: "tooltip", - ...h, - children: /* @__PURE__ */ l("div", { className: "tooltip-inner", children: o }) - } - ), - document.body - ) + I && /* @__PURE__ */ l(me, { children: /* @__PURE__ */ l( + n, + { + ref: B, + className: R, + style: _.popper, + ...T.popper, + role: "tooltip", + ...v, + children: /* @__PURE__ */ l("div", { className: "tooltip-inner", children: o }) + } + ) }) ] }); -}, Ve = y.forwardRef( +}, qe = N.forwardRef( ({ around: e, between: t, @@ -469,8 +473,8 @@ const ts = ({ return /* @__PURE__ */ l(d, { className: h, ...m, ref: g, children: n }); } ); -Ve.displayName = "MDBRow"; -const ss = ({ +qe.displayName = "MDBRow"; +const rs = ({ animate: e, className: t, icon: s, @@ -488,35 +492,35 @@ const ss = ({ pulse: h, color: v, border: b, - rotate: D, - inverse: R, - stack: w, + rotate: $, + inverse: M, + stack: B, iconType: S, - children: B, + children: w, ...C }) => { - let T; - o ? T = "flag" : r ? T = "fab" : n ? T = "fas" : c ? T = "far" : a ? T = "fal" : T = "fa"; - const P = f( - S ? `fa-${S}` : T, + let L; + o ? L = "flag" : r ? L = "fab" : n ? L = "fas" : c ? L = "far" : a ? L = "fal" : L = "fa"; + const k = f( + S ? `fa-${S}` : L, e && `fa-${e}`, o ? `flag-${o}` : s && `fa-${s}`, m && `fa-${m}`, v && `text-${v}`, b && "fa-border", - D && `fa-rotate-${D}`, + $ && `fa-rotate-${$}`, g && `fa-pull-${g}`, i && !e && "fa-spin", p && "fa-li", u && "fa-fw", h && !e && "fa-pulse", - R && "fa-inverse", + M && "fa-inverse", d && `fa-flip-${d}`, - w && `fa-stack-${w}`, + B && `fa-stack-${B}`, t ); - return /* @__PURE__ */ l("i", { className: P, ...C, children: B }); -}, qe = y.forwardRef( + return /* @__PURE__ */ l("i", { className: k, ...C, children: w }); +}, Ke = N.forwardRef( ({ className: e, children: t, @@ -543,8 +547,8 @@ const ss = ({ return a && (s = "blockquote"), (i || u) && (s = "ul"), /* @__PURE__ */ l(s, { className: m, ref: p, ...d, children: t }); } ); -qe.displayName = "MDBTypography"; -const Ke = y.forwardRef( +Ke.displayName = "MDBTypography"; +const Ue = N.forwardRef( ({ className: e, color: t, uppercase: s, bold: r, children: n, ...a }, c) => { const o = f( "breadcrumb", @@ -556,18 +560,18 @@ const Ke = y.forwardRef( return /* @__PURE__ */ l("nav", { "aria-label": "breadcrumb", children: /* @__PURE__ */ l("ol", { className: o, ref: c, ...a, children: n }) }); } ); -Ke.displayName = "MDBBreadcrumb"; -const Ue = y.forwardRef( +Ue.displayName = "MDBBreadcrumb"; +const Je = N.forwardRef( ({ className: e, active: t, current: s = "page", children: r, ...n }, a) => { const c = f("breadcrumb-item", t && "active", e); return /* @__PURE__ */ l("li", { className: c, ref: a, "aria-current": t && s, ...n, children: r }); } ); -Ue.displayName = "MDBBreadcrumbItem"; -const Je = (e) => { +Je.displayName = "MDBBreadcrumbItem"; +const Qe = (e) => { if (e !== !1) return `navbar-expand-${e}`; -}, Qe = y.forwardRef( +}, Ze = N.forwardRef( ({ className: e, children: t, @@ -584,7 +588,7 @@ const Je = (e) => { bgColor: m, ...g }, h) => { - const [v, b] = N(!1), D = f( + const [v, b] = y(!1), $ = f( { "navbar-light": s, "navbar-dark": r, @@ -595,61 +599,61 @@ const Je = (e) => { a && `fixed-${a}`, c && "sticky-top", "navbar", - d && Je(d), + d && Qe(d), m && `bg-${m}`, e - ), R = j(() => { + ), M = G(() => { o && window.pageYOffset > o ? b(!0) : b(!1); }, [o]); - return x(() => ((n || o) && window.addEventListener("scroll", R), () => { - window.removeEventListener("scroll", R); - }), [R, n, o]), /* @__PURE__ */ l(p, { className: D, role: "navigation", ...g, ref: h, children: t }); + return x(() => ((n || o) && window.addEventListener("scroll", M), () => { + window.removeEventListener("scroll", M); + }), [M, n, o]), /* @__PURE__ */ l(p, { className: $, role: "navigation", ...g, ref: h, children: t }); } ); -Qe.displayName = "MDBNavbar"; -const Ze = y.forwardRef( +Ze.displayName = "MDBNavbar"; +const ze = N.forwardRef( ({ children: e, className: t = "", disabled: s = !1, active: r = !1, tag: n = "a", ...a }, c) => { const o = f("nav-link", s ? "disabled" : r ? "active" : "", t); return /* @__PURE__ */ l(n, { "data-test": "nav-link", className: o, style: { cursor: "pointer" }, ref: c, ...a, children: e }); } ); -Ze.displayName = "MDBNavbarLink"; -const ze = y.forwardRef( +ze.displayName = "MDBNavbarLink"; +const et = N.forwardRef( ({ className: e, children: t, tag: s = "a", ...r }, n) => { const a = f("navbar-brand", e); return /* @__PURE__ */ l(s, { className: a, ref: n, ...r, children: t }); } ); -ze.displayName = "MDBNavbarBrand"; -const et = y.forwardRef( +et.displayName = "MDBNavbarBrand"; +const tt = N.forwardRef( ({ children: e, className: t, active: s, text: r, tag: n = "li", ...a }, c) => { const o = f("nav-item", s && "active", r && "navbar-text", t); return /* @__PURE__ */ l(n, { ...a, className: o, ref: c, children: e }); } ); -et.displayName = "MDBNavbarItem"; -const tt = y.forwardRef( +tt.displayName = "MDBNavbarItem"; +const st = N.forwardRef( ({ children: e, className: t, right: s, fullWidth: r = !0, left: n, tag: a = "ul", ...c }, o) => { const i = f("navbar-nav", r && "w-100", s && "ms-auto", n && "me-auto", t); return /* @__PURE__ */ l(a, { className: i, ref: o, ...c, children: e }); } ); -tt.displayName = "MDBNavbarNav"; -const st = y.forwardRef( +st.displayName = "MDBNavbarNav"; +const rt = N.forwardRef( ({ children: e, className: t, tag: s = "button", ...r }, n) => { const a = f("navbar-toggler", t); return /* @__PURE__ */ l(s, { ...r, className: a, ref: n, children: e }); } ); -st.displayName = "MDBNavbarToggler"; -const rt = y.forwardRef( +rt.displayName = "MDBNavbarToggler"; +const nt = N.forwardRef( ({ children: e, bgColor: t, color: s, className: r, ...n }, a) => { const c = f(t && `bg-${t}`, s && `text-${s}`, r); return /* @__PURE__ */ l("footer", { className: c, ...n, ref: a, children: e }); } ); -rt.displayName = "MDBFooter"; -const nt = y.forwardRef( +nt.displayName = "MDBFooter"; +const at = N.forwardRef( ({ children: e, size: t, circle: s, center: r, end: n, start: a, className: c, ...o }, i) => { const u = f( "pagination", @@ -663,22 +667,22 @@ const nt = y.forwardRef( return /* @__PURE__ */ l("ul", { className: u, ...o, ref: i, children: e }); } ); -nt.displayName = "MDBPagination"; -const at = y.forwardRef( +at.displayName = "MDBPagination"; +const ot = N.forwardRef( ({ children: e, className: t, tag: s = "a", ...r }, n) => { const a = f("page-link", t); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: e }); } ); -at.displayName = "MDBPaginationLink"; -const ot = y.forwardRef( +ot.displayName = "MDBPaginationLink"; +const ct = N.forwardRef( ({ children: e, className: t, active: s, disabled: r, ...n }, a) => { const c = f("page-item", s && "active", r && "disabled", t); return /* @__PURE__ */ l("li", { className: c, ...n, ref: a, children: e }); } ); -ot.displayName = "MDBPaginationItem"; -const rs = ({ +ct.displayName = "MDBPaginationItem"; +const ns = ({ className: e, classNameResponsive: t, responsive: s, @@ -704,7 +708,7 @@ const rs = ({ d && "table-sm", p && "table-striped", e - ), h = se(() => /* @__PURE__ */ l("table", { className: g, ...m, children: o }), [o, g, m]); + ), h = ne(() => /* @__PURE__ */ l("table", { className: g, ...m, children: o }), [o, g, m]); if (s) { const v = f( typeof s == "string" ? `table-responsive-${s}` : "table-responsive", @@ -713,13 +717,13 @@ const rs = ({ return /* @__PURE__ */ l("div", { className: v, children: h }); } else return h; -}, ns = ({ className: e, children: t, dark: s, light: r, ...n }) => { +}, as = ({ className: e, children: t, dark: s, light: r, ...n }) => { const a = f(s && "table-dark", r && "table-light", e); return /* @__PURE__ */ l("thead", { className: a, ...n, children: t }); -}, as = ({ className: e, children: t, ...s }) => { +}, os = ({ className: e, children: t, ...s }) => { const r = f(e); return /* @__PURE__ */ l("tbody", { className: r, ...s, children: t }); -}, Be = y.forwardRef( +}, Me = N.forwardRef( ({ animated: e, children: t, @@ -757,12 +761,12 @@ const rs = ({ ); } ); -Be.displayName = "MDBProgressBar"; -const ct = y.forwardRef( +Me.displayName = "MDBProgressBar"; +const lt = N.forwardRef( ({ className: e, children: t, tag: s = "div", height: r, style: n, ...a }, c) => { const o = f("progress", e), i = { height: `${r}px`, ...n }; - return /* @__PURE__ */ l(s, { className: o, ref: c, style: i, ...a, children: y.Children.map(t, (u) => { - if (!y.isValidElement(u) || u.type !== Be) { + return /* @__PURE__ */ l(s, { className: o, ref: c, style: i, ...a, children: N.Children.map(t, (u) => { + if (!N.isValidElement(u) || u.type !== Me) { console.error("Progress component only allows ProgressBar as child"); return; } else @@ -770,16 +774,18 @@ const ct = y.forwardRef( }) }); } ); -ct.displayName = "MDBProgress"; -const lt = (e) => { - const [t, s] = N(!1), r = se(() => new IntersectionObserver(([n]) => { - s(n.isIntersecting); - }), []); +lt.displayName = "MDBProgress"; +const it = (e) => { + const [t, s] = y(!1), [r, n] = y(null); return x(() => { - if (e.current) + n(() => new IntersectionObserver(([a]) => { + s(a.isIntersecting); + })); + }, []), x(() => { + if (!(!e.current || !r)) return r.observe(e.current), () => r.disconnect(); }, [r, e]), t; -}, it = (e, t) => se(() => t !== void 0 ? t : e, [t, e]), dt = y.forwardRef( +}, dt = (e, t) => ne(() => t !== void 0 ? t : e, [t, e]), ut = N.forwardRef( ({ className: e, size: t, @@ -798,66 +804,66 @@ const lt = (e) => { labelStyle: h, type: v, onBlur: b, - readonly: D = !1, - showCounter: R = !1, - ...w + readonly: $ = !1, + showCounter: M = !1, + ...B }, S) => { var Q; - const [B, C] = N(n), T = se(() => r !== void 0 ? r : B, [r, B]), [P, O] = N(0), [E, I] = N(!1), [L, X] = N(0), M = K(null), A = lt(M), W = K(null), k = g || W; - be(S, () => M.current); - const H = f("form-outline", s && "form-white", o), G = f( + const [w, C] = y(n), L = ne(() => r !== void 0 ? r : w, [r, w]), [k, W] = y(0), [I, E] = y(!1), [R, _] = y(0), T = K(null), A = it(T), H = K(null), P = g || H; + ve(S, () => T.current); + const F = f("form-outline", s && "form-white", o), X = f( "form-control", - E && "active", + I && "active", v === "date" && "active", t && `form-control-${t}`, e - ), _ = f("form-label", c), U = j(() => { - var $; - ($ = k.current) != null && $.clientWidth && O(k.current.clientWidth * 0.8 + 8); - }, [k]), Y = ($) => { - C($.target.value), R && X($.target.value.length), p == null || p($); - }, Z = j( - ($) => { - M.current && (I(!!T), b && b($)); + ), j = f("form-label", c), U = G(() => { + var D; + (D = P.current) != null && D.clientWidth && W(P.current.clientWidth * 0.8 + 8); + }, [P]), Y = (D) => { + C(D.target.value), M && _(D.target.value.length), p == null || p(D); + }, Z = G( + (D) => { + T.current && (E(!!L), b && b(D)); }, - [T, b] + [L, b] ); return x(() => { U(); - }, [(Q = k.current) == null ? void 0 : Q.clientWidth, U, A]), x(() => { - if (T) - return I(!0); - I(!1); - }, [T]), /* @__PURE__ */ V(u, { className: H, style: i, children: [ + }, [(Q = P.current) == null ? void 0 : Q.clientWidth, U, A]), x(() => { + if (L) + return E(!0); + E(!1); + }, [L]), /* @__PURE__ */ V(u, { className: F, style: i, children: [ /* @__PURE__ */ l( "input", { type: v, - readOnly: D, - className: G, + readOnly: $, + className: X, onBlur: Z, onChange: Y, onFocus: U, value: r, defaultValue: n, id: a, - ref: M, - ...w + ref: T, + ...B } ), - d && /* @__PURE__ */ l("label", { className: _, style: h, htmlFor: a, ref: k, children: d }), + d && /* @__PURE__ */ l("label", { className: j, style: h, htmlFor: a, ref: P, children: d }), /* @__PURE__ */ V("div", { className: "form-notch", children: [ /* @__PURE__ */ l("div", { className: "form-notch-leading" }), - /* @__PURE__ */ l("div", { className: "form-notch-middle", style: { width: P } }), + /* @__PURE__ */ l("div", { className: "form-notch-middle", style: { width: k } }), /* @__PURE__ */ l("div", { className: "form-notch-trailing" }) ] }), m, - R && w.maxLength && /* @__PURE__ */ l("div", { className: "form-helper", children: /* @__PURE__ */ l("div", { className: "form-counter", children: `${L}/${w.maxLength}` }) }) + M && B.maxLength && /* @__PURE__ */ l("div", { className: "form-helper", children: /* @__PURE__ */ l("div", { className: "form-counter", children: `${R}/${B.maxLength}` }) }) ] }); } ); -dt.displayName = "MDBInput"; -const ie = ve( +ut.displayName = "MDBInput"; +const le = ye( ({ className: e, inputRef: t, @@ -875,22 +881,22 @@ const ie = ve( toggleSwitch: g, ...h }, v) => { - let b = "form-check-input", D = "form-check-label"; - u && (b = "btn-check", p ? D = `btn btn-${p}` : D = "btn btn-primary"); - const R = f( + let b = "form-check-input", $ = "form-check-label"; + u && (b = "btn-check", p ? $ = `btn btn-${p}` : $ = "btn btn-primary"); + const M = f( o && !u && "form-check", i && !u && "form-check-inline", g && "form-switch", r - ), w = f(b, e), S = f(D, s), B = /* @__PURE__ */ V(q, { children: [ - /* @__PURE__ */ l("input", { className: w, id: d, ref: t, ...h }), + ), B = f(b, e), S = f($, s), w = /* @__PURE__ */ V(q, { children: [ + /* @__PURE__ */ l("input", { className: B, id: d, ref: t, ...h }), o && /* @__PURE__ */ l("label", { className: S, style: n, htmlFor: d, children: o }) ] }); - return /* @__PURE__ */ l(q, { children: m ? B : /* @__PURE__ */ l(a, { style: c, className: R, ref: v, children: B }) }); + return /* @__PURE__ */ l(q, { children: m ? w : /* @__PURE__ */ l(a, { style: c, className: M, ref: v, children: w }) }); } ); -ie.displayName = "InputTemplate"; -const os = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", ...e }), cs = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "radio", ...e }), ut = ({ +le.displayName = "InputTemplate"; +const cs = ({ ...e }) => /* @__PURE__ */ l(le, { type: "checkbox", ...e }), ls = ({ ...e }) => /* @__PURE__ */ l(le, { type: "radio", ...e }), mt = ({ className: e, children: t, open: s = !1, @@ -903,32 +909,32 @@ const os = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", ...e }), cs = onClose: u, ...d }) => { - const [p, m] = N(!1), [g, h] = N(void 0), [v, b] = N(!1), D = f( + const [p, m] = y(!1), [g, h] = y(void 0), [v, b] = y(!1), $ = f( v ? "collapsing" : "collapse", !v && p && "show", n && "navbar-collapse", e - ), R = K(null), w = c ?? R, S = j(() => { + ), M = K(null), B = c ?? M, S = G(() => { p && h(void 0); }, [p]); return x(() => { - var B; - g === void 0 && p && h((B = w == null ? void 0 : w.current) == null ? void 0 : B.scrollHeight); - }, [g, p, w]), x(() => { + var w; + g === void 0 && p && h((w = B == null ? void 0 : B.current) == null ? void 0 : w.scrollHeight); + }, [g, p, B]), x(() => { p !== s && (s ? i == null || i() : u == null || u(), m(s)), p && b(!0); - const B = setTimeout(() => { + const w = setTimeout(() => { b(!1); }, 350); return () => { - clearTimeout(B); + clearTimeout(w); }; }, [s, p, i, u]), x(() => { - var B; - h(p ? (B = w == null ? void 0 : w.current) == null ? void 0 : B.scrollHeight : 0); - }, [p, w, t]), x(() => (window.addEventListener("resize", S), () => { + var w; + h(p ? (w = B == null ? void 0 : B.current) == null ? void 0 : w.scrollHeight : 0); + }, [p, B, t]), x(() => (window.addEventListener("resize", S), () => { window.removeEventListener("resize", S); - }), [S]), /* @__PURE__ */ l(a, { style: { height: g, ...o }, id: r, className: D, ...d, ref: w, children: t }); -}, Me = ye(null), mt = ({ + }), [S]), /* @__PURE__ */ l(a, { style: { height: g, ...o }, id: r, className: $, ...d, ref: B, children: t }); +}, De = Ne(null), ft = ({ children: e, isOpen: t = !1, options: s, @@ -939,9 +945,9 @@ const os = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", ...e }), cs = onClose: o, onOpen: i }) => { - const [u, d] = N(t), [p, m] = N(null), [g, h] = N(null), [v, b] = N(-1); + const [u, d] = y(t), [p, m] = y(null), [g, h] = y(null), [v, b] = y(-1); return /* @__PURE__ */ l( - Me.Provider, + De.Provider, { value: { animation: r, @@ -963,20 +969,20 @@ const os = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", ...e }), cs = children: e } ); -}, ft = (e) => e instanceof HTMLElement, pt = (e) => e instanceof Node, ne = () => { - const e = re(Me); +}, pt = (e) => e instanceof HTMLElement, gt = (e) => e instanceof Node, re = () => { + const e = se(De); if (!e) throw new Error("Missing context data"); return e; -}, gt = () => { - const { isOpenState: e, setIsOpenState: t, setActiveIndex: s, popperElement: r, referenceElement: n, onClose: a } = ne(), c = j( +}, ht = () => { + const { isOpenState: e, setIsOpenState: t, setActiveIndex: s, popperElement: r, referenceElement: n, onClose: a } = re(), c = G( (o) => { - e && (a == null || a(o)), !(!e || !pt(o.target) || r && r.contains(o.target) || n && n.contains(o.target) || o.defaultPrevented) && (t(!1), setTimeout(() => s(-1), 300)); + e && (a == null || a(o)), !(!e || !gt(o.target) || r && r.contains(o.target) || n && n.contains(o.target) || o.defaultPrevented) && (t(!1), setTimeout(() => s(-1), 300)); }, [e, t, s, r, n, a] ); x(() => (document.addEventListener("mousedown", c), () => document.removeEventListener("mousedown", c)), [c]); -}, ht = ({ +}, bt = ({ className: e, tag: t = "div", group: s, @@ -987,7 +993,7 @@ const os = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", ...e }), cs = wrapper: o, ...i }) => { - gt(); + ht(); const u = f( s ? "btn-group" : "dropdown", n && "dropup", @@ -996,7 +1002,7 @@ const os = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", ...e }), cs = e ); return o ? /* @__PURE__ */ l(t, { className: u, ...i, children: r }) : /* @__PURE__ */ l(q, { children: r }); -}, ls = ({ animation: e, onClose: t, onOpen: s, wrapper: r = !0, ...n }) => /* @__PURE__ */ l(mt, { animation: e, onClose: t, onOpen: s, ...n, children: /* @__PURE__ */ l(ht, { wrapper: r, ...n }) }), bt = ({ +}, is = ({ animation: e, onClose: t, onOpen: s, wrapper: r = !0, ...n }) => /* @__PURE__ */ l(ft, { animation: e, onClose: t, onOpen: s, ...n, children: /* @__PURE__ */ l(bt, { wrapper: r, ...n }) }), vt = ({ childTag: e, children: t, disabled: s, @@ -1008,7 +1014,7 @@ const os = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", ...e }), cs = const o = f("dropdown-item", s && "disabled"); return r ? e ? /* @__PURE__ */ l(e, { className: o, children: t }) : /* @__PURE__ */ l("a", { href: c, className: o, children: t }) : n ? e ? /* @__PURE__ */ l(e, { className: "dropdown-divider", children: t }) : /* @__PURE__ */ l("hr", { className: "dropdown-divider" }) : a ? e ? /* @__PURE__ */ l(e, { className: "dropdown-header", children: t }) : /* @__PURE__ */ l("h6", { className: "dropdown-header", children: t }) : /* @__PURE__ */ l(q, { children: t }); }; -const is = ({ +const ds = ({ onClick: e, tag: t = "li", childTag: s, @@ -1022,11 +1028,11 @@ const is = ({ preventCloseOnClick: d, ...p }) => { - const { setIsOpenState: m, onClose: g, setActiveIndex: h } = ne(); + const { setIsOpenState: m, onClose: g, setActiveIndex: h } = re(); return /* @__PURE__ */ l(t, { style: n, onClick: (b) => { g == null || g(b), e == null || e(b), !(i || d || b.defaultPrevented) && (setTimeout(() => h(-1), 300), m(!1)); }, ...p, children: /* @__PURE__ */ l( - bt, + vt, { link: a, divider: c, @@ -1037,14 +1043,14 @@ const is = ({ children: r } ) }); -}, ge = (e, t, s) => s === "up" ? e <= 0 ? t[t.length - 1].props.divider === !0 || t[t.length - 1].props.disabled === !0 : t[e - 1].props.divider === !0 || t[e - 1].props.disabled === !0 : e === t.length - 1 ? t[0].props.divider === !0 || t[0].props.disabled === !0 : t[e + 1].props.divider === !0 || t[e + 1].props.disabled === !0, vt = (e) => { - const { activeIndex: t, isOpenState: s, setIsOpenState: r, setActiveIndex: n, onClose: a } = ne(), c = j( +}, he = (e, t, s) => s === "up" ? e <= 0 ? t[t.length - 1].props.divider === !0 || t[t.length - 1].props.disabled === !0 : t[e - 1].props.divider === !0 || t[e - 1].props.disabled === !0 : e === t.length - 1 ? t[0].props.divider === !0 || t[0].props.disabled === !0 : t[e + 1].props.divider === !0 || t[e + 1].props.disabled === !0, yt = (e) => { + const { activeIndex: t, isOpenState: s, setIsOpenState: r, setActiveIndex: n, onClose: a } = re(), c = G( (o) => { const i = ["ArrowUp", "ArrowDown", "Tab", "Enter", "Escape"]; if (!(!Array.isArray(e) || !i.includes(o.key))) { - if (ft(document.activeElement) && document.activeElement.blur(), o.key === "ArrowUp") { + if (pt(document.activeElement) && document.activeElement.blur(), o.key === "ArrowUp") { o.preventDefault(); - const u = ge(t, e, "up"); + const u = he(t, e, "up"); if (t === 1) { n(u ? e.length - 1 : 0); return; @@ -1057,7 +1063,7 @@ const is = ({ } if (o.key === "ArrowDown" || o.key === "Tab") { o.preventDefault(); - const u = ge(t, e, "down"); + const u = he(t, e, "down"); if (t === e.length - 2) { n((d) => u ? 0 : d + 1); return; @@ -1091,8 +1097,8 @@ const is = ({ const o = document.querySelector('[data-active="true"]'), i = o == null ? void 0 : o.firstElementChild; return i == null || i.focus(), () => i == null ? void 0 : i.blur(); }, [t]); -}, yt = () => { - const { isOpenState: e } = ne(), [t, s] = N(!1), [r, n] = N(!1), [a, c] = N(e); +}, Nt = () => { + const { isOpenState: e } = re(), [t, s] = y(!1), [r, n] = y(!1), [a, c] = y(e); return x(() => { let o; return e || (n(!0), s(!1), o = setTimeout(() => { @@ -1102,7 +1108,7 @@ const is = ({ }, 300)), () => clearTimeout(o); }, [e]), { open: a, isFadeIn: t, isFadeOut: r }; }; -const ds = ({ +const us = ({ className: e, tag: t = "ul", children: s, @@ -1122,60 +1128,60 @@ const ds = ({ popperElement: h, options: v, dropleft: b, - dropup: D, - dropright: R - } = ne(), { open: w, isFadeIn: S, isFadeOut: B } = yt(); - vt(s); + dropup: $, + dropright: M + } = re(), { open: B, isFadeIn: S, isFadeOut: w } = Nt(); + yt(s); const C = () => { - if (R) + if (M) return "right-start"; if (b) return "left-start"; - const E = h && getComputedStyle(h).getPropertyValue("--mdb-position").trim() === "end"; - return D ? E ? "top-end" : "top-start" : E ? "bottom-end" : "bottom-start"; - }, { styles: T } = ue(g, h, { + const I = h && getComputedStyle(h).getPropertyValue("--mdb-position").trim() === "end"; + return $ ? I ? "top-end" : "top-start" : I ? "bottom-end" : "bottom-start"; + }, { styles: L } = ue(g, h, { placement: C(), modifiers: [Re], ...v - }), P = f( + }), k = f( "dropdown-menu", n && "dropdown-menu-dark", p && "show", m && "animation", S && "fade-in", - B && "fade-out", + w && "fade-out", a && `dropdown-menu-${a}`, e ); - if (!w && !o) + if (!B && !o) return null; - const O = /* @__PURE__ */ l( + const W = /* @__PURE__ */ l( t, { - className: P, - style: { position: "absolute", zIndex: 1e3, ...T.popper, ...r }, + className: k, + style: { position: "absolute", zIndex: 1e3, ...L.popper, ...r }, ref: d, ...i, - children: Te.map( + children: $e.map( s, - (E, I) => $e(E, { + (I, E) => Ee(I, { tabIndex: 0, - "data-active": u === I && !0, - className: f(u === I ? "active" : "", E.props.className) + "data-active": u === E && !0, + className: f(u === E ? "active" : "", I.props.className) }) ) } ); - return /* @__PURE__ */ l(q, { children: c ? Ne(O, document.body) : O }); -}, us = ({ + return /* @__PURE__ */ l(me, { disablePortal: !c, children: W }); +}, ms = ({ className: e, - tag: t = le, + tag: t = ce, children: s, onClick: r, split: n, ...a }) => { - const { setIsOpenState: c, setReferenceElement: o, isOpenState: i, setActiveIndex: u, onClose: d, onOpen: p } = ne(), m = f("dropdown-toggle", n && "dropdown-toggle-split", e); + const { setIsOpenState: c, setReferenceElement: o, isOpenState: i, setActiveIndex: u, onClose: d, onOpen: p } = re(), m = f("dropdown-toggle", n && "dropdown-toggle-split", e); return /* @__PURE__ */ l( t, { @@ -1189,12 +1195,12 @@ const ds = ({ children: s } ); -}, ms = ({ +}, fs = ({ className: e, btnClassName: t, btnChildren: s, children: r, - tag: n = le, + tag: n = ce, onOpen: a, onClose: c, popperTag: o = "div", @@ -1204,42 +1210,40 @@ const ds = ({ options: p, poperStyle: m, onClick: g, - ...h + disablePortal: h = !1, + ...v }) => { - const [v, b] = N(), [D, R] = N(), { styles: w, attributes: S } = ue(v, D, { placement: u, ...p }), [B, C] = N(i ?? !1), T = it(B, i), [P, O] = N(!1), [E, I] = N(!1), L = f("popover fade", P && T && "show", e), X = (A) => { - T && !d ? c == null || c() : T || a == null || a(), d ? (I(!0), C(!0)) : C(!T), g && g(A); - }, M = j( - (A) => { - E && D && T && v && !v.contains(A.target) && (C(!1), c == null || c()); + const [b, $] = y(), [M, B] = y(), { styles: S, attributes: w } = ue(b, M, { placement: u, ...p }), [C, L] = y(i ?? !1), k = dt(C, i), [W, I] = y(!1), [E, R] = y(!1), _ = f("popover fade", W && k && "show", e), T = (H) => { + k && !d ? c == null || c() : k || a == null || a(), d ? (R(!0), L(!0)) : L(!k), g && g(H); + }, A = G( + (H) => { + E && M && k && b && !b.contains(H.target) && (L(!1), c == null || c()); }, - [E, T, D, v, c] + [E, k, M, b, c] ); return x(() => { - const A = setTimeout(() => { - O(T); + const H = setTimeout(() => { + I(k); }, 150); return () => { - clearTimeout(A); + clearTimeout(H); }; - }, [T]), x(() => (T && document.addEventListener("mousedown", M), () => { - document.removeEventListener("mousedown", M); - }), [M, T]), /* @__PURE__ */ V(q, { children: [ - /* @__PURE__ */ l(n, { onClick: X, className: t, ...h, ref: b, children: s }), - (P || T) && ae.createPortal( - /* @__PURE__ */ l( - o, - { - className: L, - ref: R, - style: { ...w.popper, ...m }, - ...S.popper, - children: r - } - ), - document.body - ) + }, [k]), x(() => (k && document.addEventListener("mousedown", A), () => { + document.removeEventListener("mousedown", A); + }), [A, k]), /* @__PURE__ */ V(q, { children: [ + /* @__PURE__ */ l(n, { onClick: T, className: t, ...v, ref: $, children: s }), + (W || k) && /* @__PURE__ */ l(me, { disablePortal: h, children: /* @__PURE__ */ l( + o, + { + className: _, + ref: B, + style: { ...S.popper, ...m }, + ...w.popper, + children: r + } + ) }) ] }); -}, fs = ({ +}, ps = ({ className: e, children: t, tag: s = "div", @@ -1247,7 +1251,7 @@ const ds = ({ }) => { const n = f("popover-body", e); return /* @__PURE__ */ l(s, { className: n, ...r, children: t }); -}, ps = ({ +}, gs = ({ className: e, children: t, tag: s = "h3", @@ -1255,7 +1259,7 @@ const ds = ({ }) => { const n = f("popover-header", e); return /* @__PURE__ */ l(s, { className: n, ...r, children: t }); -}, gs = ({ +}, hs = ({ animationDirection: e, appendToBody: t, backdrop: s = !0, @@ -1274,49 +1278,49 @@ const ds = ({ tag: v = "div", ...b }) => { - const [D, R] = N(m), [w, S] = N(m), [B, C] = N(m), [T, P] = N(!1), [O, E] = N(0), [I, L] = N([]), X = K(null), M = i || X, A = f( + const [$, M] = y(m), [B, S] = y(m), [w, C] = y(m), [L, k] = y(!1), [W, I] = y(0), [E, R] = y([]), _ = K(null), T = i || _, A = f( "modal", - T && "modal-static", + L && "modal-static", e, "fade", - w && "show", - D && h && "modal-non-invasive-show", + B && "show", + $ && h && "modal-non-invasive-show", n - ), W = f("modal-backdrop", "fade", D && "show"), k = j(() => { + ), H = f("modal-backdrop", "fade", $ && "show"), P = G(() => { S((Y) => (Y && (u == null || u()), !1)), setTimeout(() => { - R(!1), c == null || c(!1); + M(!1), c == null || c(!1); }, 150), setTimeout(() => { C(!1); }, 350); - }, [u, c]), H = j( + }, [u, c]), F = G( (Y) => { - h || w && Y.target === M.current && (g ? (P(!0), d == null || d(), setTimeout(() => { - P(!1); - }, 300)) : k()); + h || B && Y.target === T.current && (g ? (k(!0), d == null || d(), setTimeout(() => { + k(!1); + }, 300)) : P()); }, - [w, M, g, k, d, h] - ), G = j( + [B, T, g, P, d, h] + ), X = G( (Y) => { - w && Y.key === "Tab" && (Y.preventDefault(), E(O + 1)), a && w && Y.key === "Escape" && (g ? (P(!0), d == null || d(), setTimeout(() => { - P(!1); - }, 300)) : k()); + B && Y.key === "Tab" && (Y.preventDefault(), I(W + 1)), a && B && Y.key === "Escape" && (g ? (k(!0), d == null || d(), setTimeout(() => { + k(!1); + }, 300)) : P()); }, - [w, a, O, g, k, d] + [B, a, W, g, P, d] ); x(() => { var Q; - const Y = (Q = M.current) == null ? void 0 : Q.querySelectorAll( + const Y = (Q = T.current) == null ? void 0 : Q.querySelectorAll( "button, a, input, select, textarea, [tabindex]" - ), Z = Array.from(Y).filter(($) => $.tabIndex !== -1).sort(($, F) => $.tabIndex === F.tabIndex ? 0 : F.tabIndex === null ? -1 : $.tabIndex === null ? 1 : $.tabIndex - F.tabIndex); - L(Z), E(Z.length - 1); - }, [M]), x(() => { - I && I.length > 0 && (O === I.length ? (I[0].focus(), E(0)) : I[O].focus()); - }, [O, I]), x(() => { + ), Z = Array.from(Y).filter((D) => D.tabIndex !== -1).sort((D, O) => D.tabIndex === O.tabIndex ? 0 : O.tabIndex === null ? -1 : D.tabIndex === null ? 1 : D.tabIndex - O.tabIndex); + R(Z), I(Z.length - 1); + }, [T]), x(() => { + E && E.length > 0 && (W === E.length ? (E[0].focus(), I(0)) : E[W].focus()); + }, [W, E]), x(() => { const Y = () => { const Q = document.documentElement.clientWidth; return Math.abs(window.innerWidth - Q); }, Z = window.innerWidth > document.documentElement.clientWidth && window.innerWidth >= 576; - if (B && Z && !h) { + if (w && Z && !h) { const Q = Y(); document.body.classList.add("modal-open"), document.body.style.overflow = "hidden", document.body.style.paddingRight = `${Q}px`; } else @@ -1324,56 +1328,56 @@ const ds = ({ return () => { document.body.classList.remove("modal-open"), document.body.style.overflow = "", document.body.style.paddingRight = ""; }; - }, [B, h]), x(() => { + }, [w, h]), x(() => { m ? (p == null || p(), C(!0), setTimeout(() => { - R(!0); + M(!0); }, 0), setTimeout(() => { S(!0), c == null || c(!0); - }, 150)) : k(); - }, [m, k, c, p]), x(() => { + }, 150)) : P(); + }, [m, P, c, p]), x(() => { const Y = (Z) => { - Z.target.closest(".modal-dialog") || window.addEventListener("mouseup", H, { once: !0 }); + Z.target.closest(".modal-dialog") || window.addEventListener("mouseup", F, { once: !0 }); }; - return window.addEventListener("mousedown", Y), window.addEventListener("keydown", G), () => { - window.removeEventListener("mousedown", Y), window.removeEventListener("keydown", G); + return window.addEventListener("mousedown", Y), window.addEventListener("keydown", X), () => { + window.removeEventListener("mousedown", Y), window.removeEventListener("keydown", X); }; - }, [G, H]); - const _ = /* @__PURE__ */ l(q, { children: (o || m || B) && ae.createPortal( + }, [X, F]); + const j = /* @__PURE__ */ l(q, { children: (o || m || w) && de.createPortal( /* @__PURE__ */ V(q, { children: [ /* @__PURE__ */ l( v, { className: A, - ref: M, - style: { display: B || m ? "block" : "none", pointerEvents: h ? "none" : "initial" }, + ref: T, + style: { display: w || m ? "block" : "none", pointerEvents: h ? "none" : "initial" }, ...b, children: r } ), - ae.createPortal( - s && B && !h && /* @__PURE__ */ l("div", { className: W }), + de.createPortal( + s && w && !h && /* @__PURE__ */ l("div", { className: H }), document.body ) ] }), document.body - ) }), U = /* @__PURE__ */ l(q, { children: (o || m || B) && /* @__PURE__ */ V(q, { children: [ + ) }), U = /* @__PURE__ */ l(q, { children: (o || m || w) && /* @__PURE__ */ V(q, { children: [ /* @__PURE__ */ l( v, { className: A, - ref: M, - style: { display: B || m ? "block" : "none", pointerEvents: h ? "none" : "initial" }, + ref: T, + style: { display: w || m ? "block" : "none", pointerEvents: h ? "none" : "initial" }, ...b, children: r } ), - ae.createPortal( - s && B && !h && /* @__PURE__ */ l("div", { onClick: k, className: W }), + de.createPortal( + s && w && !h && /* @__PURE__ */ l("div", { onClick: P, className: H }), document.body ) ] }) }); - return /* @__PURE__ */ l(q, { children: t ? _ : U }); -}, Nt = y.forwardRef( + return /* @__PURE__ */ l(q, { children: t ? j : U }); +}, wt = N.forwardRef( ({ className: e, centered: t, children: s, size: r, scrollable: n, tag: a = "div", ...c }, o) => { const i = f( "modal-dialog", @@ -1385,62 +1389,62 @@ const ds = ({ return /* @__PURE__ */ l(a, { className: i, ...c, ref: o, children: s }); } ); -Nt.displayName = "MDBModalDialog"; -const wt = y.forwardRef( +wt.displayName = "MDBModalDialog"; +const Bt = N.forwardRef( ({ className: e, children: t, tag: s = "div", ...r }, n) => { const a = f("modal-content", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -wt.displayName = "MDBModalContent"; -const Bt = y.forwardRef( +Bt.displayName = "MDBModalContent"; +const Mt = N.forwardRef( ({ className: e, children: t, tag: s = "div", ...r }, n) => { const a = f("modal-header", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -Bt.displayName = "MDBModalHeader"; -const Mt = y.forwardRef( +Mt.displayName = "MDBModalHeader"; +const Dt = N.forwardRef( ({ className: e, children: t, tag: s = "h5", ...r }, n) => { const a = f("modal-title", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -Mt.displayName = "MDBModalTitle"; -const Dt = y.forwardRef( +Dt.displayName = "MDBModalTitle"; +const Tt = N.forwardRef( ({ className: e, children: t, tag: s = "div", ...r }, n) => { const a = f("modal-body", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -Dt.displayName = "MDBModalBody"; -const Tt = y.forwardRef( +Tt.displayName = "MDBModalBody"; +const $t = N.forwardRef( ({ className: e, children: t, tag: s = "div", ...r }, n) => { const a = f("modal-footer", e); return /* @__PURE__ */ l(s, { className: a, ...r, ref: n, children: t }); } ); -Tt.displayName = "MDBModalFooter"; -const me = y.createContext({ +$t.displayName = "MDBModalFooter"; +const fe = N.createContext({ activeElement: null, setTargets: null -}), hs = ({ +}), bs = ({ container: e = typeof window !== void 0 ? window : null, className: t, children: s, offset: r = 10, ...n }) => { - const a = f("sticky-top", t), [c, o] = N(null), [i, u] = N([]), d = e instanceof Window, p = j(() => { - var D, R, w; + const a = f("sticky-top", t), [c, o] = y(null), [i, u] = y([]), d = e instanceof Window, p = G(() => { + var $, M, B; if (!i.length) return; - const m = d ? window.pageYOffset : (D = e == null ? void 0 : e.current) == null ? void 0 : D.scrollTop, g = Number(r), h = (R = i[i.length - 1]) == null ? void 0 : R.current, v = (w = i[0]) == null ? void 0 : w.current; - m + g < v.offsetTop && o(null), i.forEach((S, B) => { - var O; - const C = (O = i[B + 1]) == null ? void 0 : O.current, T = S.current; - if (m > T.offsetTop - g && m < (C == null ? void 0 : C.offsetTop) - g) { - o(T); + const m = d ? window.pageYOffset : ($ = e == null ? void 0 : e.current) == null ? void 0 : $.scrollTop, g = Number(r), h = (M = i[i.length - 1]) == null ? void 0 : M.current, v = (B = i[0]) == null ? void 0 : B.current; + m + g < v.offsetTop && o(null), i.forEach((S, w) => { + var W; + const C = (W = i[w + 1]) == null ? void 0 : W.current, L = S.current; + if (m > L.offsetTop - g && m < (C == null ? void 0 : C.offsetTop) - g) { + o(L); return; } }), m > h.offsetTop - g && o(h); @@ -1450,8 +1454,8 @@ const me = y.createContext({ return p(), m == null || m.addEventListener("scroll", p), () => { m == null || m.removeEventListener("scroll", p); }; - }, [p, e, d]), /* @__PURE__ */ l("div", { className: a, ...n, children: /* @__PURE__ */ l("ul", { className: "nav flex-column nav-pills menu-sidebar", children: /* @__PURE__ */ l(me.Provider, { value: { activeElement: c, setTargets: u }, children: s }) }) }); -}, bs = ({ + }, [p, e, d]), /* @__PURE__ */ l("div", { className: a, ...n, children: /* @__PURE__ */ l("ul", { className: "nav flex-column nav-pills menu-sidebar", children: /* @__PURE__ */ l(fe.Provider, { value: { activeElement: c, setTargets: u }, children: s }) }) }); +}, vs = ({ className: e, collapsible: t, targetRef: s, @@ -1462,23 +1466,23 @@ const me = y.createContext({ ...o }) => { var v; - const { activeElement: i, setTargets: u } = re(me), d = () => n == null ? void 0 : n.some((b) => b.current.id === (i == null ? void 0 : i.id)), p = (i == null ? void 0 : i.id) === ((v = s.current) == null ? void 0 : v.id), m = p || d(); + const { activeElement: i, setTargets: u } = se(fe), d = () => n == null ? void 0 : n.some((b) => b.current.id === (i == null ? void 0 : i.id)), p = (i == null ? void 0 : i.id) === ((v = s.current) == null ? void 0 : v.id), m = p || d(); p && (c == null || c(i == null ? void 0 : i.id)); const g = f("nav-link", t && "collapsible-scrollspy", m && "active", e), h = (b) => { - const D = s == null ? void 0 : s.current; - D == null || D.scrollIntoView({ behavior: "smooth" }), a == null || a(b); + const $ = s == null ? void 0 : s.current; + $ == null || $.scrollIntoView({ behavior: "smooth" }), a == null || a(b); }; return x(() => { u((b) => [...b, s]); }, [u, s]), /* @__PURE__ */ l("li", { className: "nav-item", style: { cursor: "pointer" }, children: /* @__PURE__ */ l("a", { className: g, onClick: h, ...o, children: r }) }); -}, vs = ({ +}, ys = ({ collapsible: e, className: t, children: s, style: r, ...n }) => { - const [a, c] = N("0px"), { activeElement: o } = re(me), i = f("nav flex-column", t), u = K(null); + const [a, c] = y("0px"), { activeElement: o } = se(fe), i = f("nav flex-column", t), u = K(null); x(() => { const p = () => e == null ? void 0 : e.some((g) => g.current.id === (o == null ? void 0 : o.id)), m = u.current; p() ? c(`${m == null ? void 0 : m.scrollHeight}px`) : c("0px"); @@ -1491,14 +1495,14 @@ const me = y.createContext({ ...r }; return /* @__PURE__ */ l("ul", { className: i, ref: u, style: e ? d : r, ...n, children: s }); -}, ys = ({ ...e }) => /* @__PURE__ */ l(ie, { type: "checkbox", toggleSwitch: !0, ...e }), $t = ({ value: e, min: t = "0", max: s = "100", showThumb: r }) => { - const n = Number(e), [a, c] = N( +}, Ns = ({ ...e }) => /* @__PURE__ */ l(le, { type: "checkbox", toggleSwitch: !0, ...e }), Et = ({ value: e, min: t = "0", max: s = "100", showThumb: r }) => { + const n = Number(e), [a, c] = y( (n || 0 - Number(t)) * 100 / (Number(s) - Number(t)) ), o = f("thumb", r && "thumb-active"); return x(() => { c((Number(e) - Number(t)) * 100 / (Number(s) - Number(t))); }, [e, s, t]), /* @__PURE__ */ l("span", { className: o, style: { left: `calc(${a}% + (${8 - a * 0.15}px))` }, children: /* @__PURE__ */ l("span", { className: "thumb-value", children: e }) }); -}, Ns = ({ +}, ws = ({ className: e, defaultValue: t = 0, disableTooltip: s, @@ -1517,7 +1521,7 @@ const me = y.createContext({ inputRef: v, ...b }) => { - const [D, R] = N(t), [w, S] = N(!1), B = f("form-range", e), C = f("form-label", p); + const [$, M] = y(t), [B, S] = y(!1), w = f("form-range", e), C = f("form-label", p); return /* @__PURE__ */ V(q, { children: [ g && /* @__PURE__ */ l("label", { className: C, id: r, htmlFor: h, children: g }), /* @__PURE__ */ V("div", { className: "range", children: [ @@ -1525,23 +1529,23 @@ const me = y.createContext({ "input", { type: "range", - onMouseDown: (L) => { - S(!0), c && c(L); + onMouseDown: (R) => { + S(!0), c && c(R); }, - onMouseUp: (L) => { - S(!1), o && o(L); + onMouseUp: (R) => { + S(!1), o && o(R); }, - onTouchStart: (L) => { - S(!0), i && i(L); + onTouchStart: (R) => { + S(!0), i && i(R); }, - onTouchEnd: (L) => { - S(!1), u && u(L); + onTouchEnd: (R) => { + S(!1), u && u(R); }, - onChange: (L) => { - R(L.target.value), d && d(L); + onChange: (R) => { + M(R.target.value), d && d(R); }, - className: B, - value: m || D, + className: w, + value: m || $, id: h, min: a, max: n, @@ -1549,20 +1553,20 @@ const me = y.createContext({ ...b } ), - !s && /* @__PURE__ */ l($t, { value: m || D, showThumb: w, min: a, max: n }) + !s && /* @__PURE__ */ l(Et, { value: m || $, showThumb: B, min: a, max: n }) ] }) ] }); -}, Rt = ve( +}, Rt = ye( ({ className: e, labelClass: t, labelStyle: s, inputRef: r, size: n, label: a, id: c, ...o }, i) => { const u = f("form-control", `form-control-${n}`, e), d = f("form-label", t), p = K(null); - return be(i, () => p.current || (r == null ? void 0 : r.current)), /* @__PURE__ */ V(q, { children: [ + return ve(i, () => p.current || (r == null ? void 0 : r.current)), /* @__PURE__ */ V(q, { children: [ a && /* @__PURE__ */ l("label", { className: d, style: s, htmlFor: c, children: a }), /* @__PURE__ */ l("input", { className: u, type: "file", id: c, ref: p, ...o }) ] }); } ); Rt.displayName = "MDBFile"; -const Et = y.forwardRef( +const It = N.forwardRef( ({ className: e, children: t, @@ -1577,7 +1581,7 @@ const Et = y.forwardRef( textProps: d, ...p }, m) => { - const g = f("input-group", a && "flex-nowrap", u && `input-group-${u}`, e), h = f("input-group-text", s && "border-0", i), v = (b) => /* @__PURE__ */ l(q, { children: b && Array.isArray(b) ? b.map((D, R) => /* @__PURE__ */ l(o, { className: h, ...d, children: D }, R)) : /* @__PURE__ */ l(o, { className: h, ...d, children: b }) }); + const g = f("input-group", a && "flex-nowrap", u && `input-group-${u}`, e), h = f("input-group-text", s && "border-0", i), v = (b) => /* @__PURE__ */ l(q, { children: b && Array.isArray(b) ? b.map(($, M) => /* @__PURE__ */ l(o, { className: h, ...d, children: $ }, M)) : /* @__PURE__ */ l(o, { className: h, ...d, children: b }) }); return /* @__PURE__ */ V(c, { className: g, ref: m, ...p, children: [ r && v(r), t, @@ -1585,10 +1589,10 @@ const Et = y.forwardRef( ] }); } ); -Et.displayName = "MDBInputGroup"; -const It = y.forwardRef( +It.displayName = "MDBInputGroup"; +const Lt = N.forwardRef( ({ className: e, children: t, isValidated: s = !1, onReset: r, onSubmit: n, noValidate: a = !0, ...c }, o) => { - const [i, u] = N(s), d = f("needs-validation", i && "was-validated", e), p = (g) => { + const [i, u] = y(s), d = f("needs-validation", i && "was-validated", e), p = (g) => { g.preventDefault(), u(!0), n && n(g); }, m = (g) => { g.preventDefault(), u(!1), r && r(g); @@ -1609,8 +1613,8 @@ const It = y.forwardRef( ); } ); -It.displayName = "MDBValidation"; -const Lt = y.forwardRef( +Lt.displayName = "MDBValidation"; +const xt = N.forwardRef( ({ className: e, fill: t, pills: s, justify: r, children: n, ...a }, c) => { const o = f( "nav", @@ -1622,15 +1626,15 @@ const Lt = y.forwardRef( return /* @__PURE__ */ l("ul", { className: o, ref: c, ...a, children: n }); } ); -Lt.displayName = "MDBTabs"; -const xt = y.forwardRef( +xt.displayName = "MDBTabs"; +const kt = N.forwardRef( ({ className: e, children: t, style: s, tag: r = "li", ...n }, a) => { const c = f("nav-item", e); return /* @__PURE__ */ l(r, { className: c, style: { cursor: "pointer", ...s }, role: "presentation", ref: a, ...n, children: t }); } ); -xt.displayName = "MDBTabsItem"; -const kt = y.forwardRef( +kt.displayName = "MDBTabsItem"; +const St = N.forwardRef( ({ className: e, color: t, active: s, onOpen: r, onClose: n, children: a, ...c }, o) => { const i = f("nav-link", s && "active", t && `bg-${t}`, e); return x(() => { @@ -1638,17 +1642,17 @@ const kt = y.forwardRef( }, [s]), /* @__PURE__ */ l("a", { className: i, ref: o, ...c, children: a }); } ); -kt.displayName = "MDBTabsLink"; -const St = y.forwardRef( +St.displayName = "MDBTabsLink"; +const Ct = N.forwardRef( ({ className: e, tag: t = "div", children: s, ...r }, n) => { const a = f("tab-content", e); return /* @__PURE__ */ l(t, { className: a, ref: n, ...r, children: s }); } ); -St.displayName = "MDBTabsContent"; -const Ct = y.forwardRef( +Ct.displayName = "MDBTabsContent"; +const At = N.forwardRef( ({ className: e, tag: t = "div", open: s, children: r, ...n }, a) => { - const [c, o] = N(!1), i = f("tab-pane", "fade", c && "show", s && "active", e); + const [c, o] = y(!1), i = f("tab-pane", "fade", c && "show", s && "active", e); return x(() => { let u; return s ? u = setTimeout(() => { @@ -1659,13 +1663,13 @@ const Ct = y.forwardRef( }, [s]), /* @__PURE__ */ l(t, { className: i, role: "tabpanel", ref: a, ...n, children: r }); } ); -Ct.displayName = "MDBTabsPane"; -const fe = ye({ +At.displayName = "MDBTabsPane"; +const pe = Ne({ active: 0 -}), At = ({ imagesCount: e, to: t }) => { - const { active: s } = re(fe); +}), Ft = ({ imagesCount: e, to: t }) => { + const { active: s } = se(pe); return /* @__PURE__ */ l("ol", { className: "carousel-indicators", children: Array.from(Array(e)).map((r, n) => /* @__PURE__ */ l("li", { "data-mdb-target": n, className: f(s === n && "active"), onClick: () => t(n) }, n)) }); -}, Ft = ({ move: e }) => /* @__PURE__ */ V(q, { children: [ +}, Ot = ({ move: e }) => /* @__PURE__ */ V(q, { children: [ /* @__PURE__ */ V("a", { role: "button", className: "carousel-control-prev", onClick: () => e("prev"), children: [ /* @__PURE__ */ l("span", { className: "carousel-control-prev-icon" }), /* @__PURE__ */ l("span", { className: "visually-hidden", children: "Previous" }) @@ -1677,33 +1681,33 @@ const fe = ye({ ] }), Pt = (e) => { const t = getComputedStyle(e), s = getComputedStyle(e == null ? void 0 : e.parentNode); return t.display !== "none" && s.display !== "none" && t.visibility !== "hidden"; -}, Ot = (e) => Array.from(e == null ? void 0 : e.querySelectorAll(".carousel-item")), Ht = (e) => e.offsetHeight, Wt = (e, t, s = !0) => { +}, Ht = (e) => Array.from(e == null ? void 0 : e.querySelectorAll(".carousel-item")), Wt = (e) => e.offsetHeight, Xt = (e, t, s = !0) => { if (!s) { - he(e); + be(e); return; } - const r = Xt(t); - t.addEventListener("transitionend", () => he(e), { once: !0 }), jt(t, r); -}, he = (e) => { + const r = _t(t); + t.addEventListener("transitionend", () => be(e), { once: !0 }), Gt(t, r); +}, be = (e) => { typeof e == "function" && e(); -}, Xt = (e) => { +}, _t = (e) => { if (!e) return 0; let { transitionDuration: t, transitionDelay: s } = window.getComputedStyle(e); const r = Number.parseFloat(t), n = Number.parseFloat(s); return !r && !n ? 0 : (t = t.split(",")[0], s = s.split(",")[0], (Number.parseFloat(t) + Number.parseFloat(s)) * 1e3); -}, _t = (e) => { +}, jt = (e) => { e.dispatchEvent(new Event("transitionend")); -}, jt = (e, t) => { +}, Gt = (e, t) => { let s = !1; const n = t + 5; function a() { s = !0, e.removeEventListener("transitionend", a); } e.addEventListener("transitionend", a), setTimeout(() => { - s || _t(e); + s || jt(e); }, n); -}, ws = ({ +}, Bs = ({ fade: e = !1, className: t, carouselInnerClassName: s, @@ -1717,93 +1721,93 @@ const fe = ye({ onSlide: d, ...p }) => { - const m = K([]), g = K(null), h = K(0), v = K(!1), [b, D] = N(0), [R, w] = N(0), [S, B] = N({ initialX: 0, initialY: 0 }), [C, T] = N(!1), P = K(null), O = f("carousel", "slide", e && "carousel-fade", r && "carousel-dark", t), E = f("carousel-inner", s), I = j( - ($, F) => { - if (F !== void 0) - h.current = F, D(F); + const m = K([]), g = K(null), h = K(0), v = K(!1), [b, $] = y(0), [M, B] = y(0), [S, w] = y({ initialX: 0, initialY: 0 }), [C, L] = y(!1), k = K(null), W = f("carousel", "slide", e && "carousel-fade", r && "carousel-dark", t), I = f("carousel-inner", s), E = G( + (D, O) => { + if (O !== void 0) + h.current = O, $(O); else { - const J = b === R - 1 ? 0 : b + 1, ee = b === 0 ? R - 1 : b - 1; - h.current = $ === "next" ? J : ee, D($ === "next" ? J : ee); + const J = b === M - 1 ? 0 : b + 1, ee = b === 0 ? M - 1 : b - 1; + h.current = D === "next" ? J : ee, $(D === "next" ? J : ee); } }, - [b, R] - ), L = j(() => { + [b, M] + ), R = G(() => { g.current && (clearInterval(g.current), g.current = null); - }, []), X = j( - ($, F, J) => { - var pe; + }, []), _ = G( + (D, O, J) => { + var ge; if (!m.current || m.current.length < 2) return; - T(!0); - const z = m.current[b], te = Boolean(g.current), oe = $ === "next", ce = oe ? "carousel-item-start" : "carousel-item-end", de = oe ? "carousel-item-next" : "carousel-item-prev"; - if (F.classList.contains("active")) { + L(!0); + const z = m.current[b], te = Boolean(g.current), ae = D === "next", oe = ae ? "carousel-item-start" : "carousel-item-end", ie = ae ? "carousel-item-next" : "carousel-item-prev"; + if (O.classList.contains("active")) { v.current = !1; return; } - I($, J), !(!z || !F) && (v.current = !0, te && L(), (pe = P.current) != null && pe.classList.contains("slide") ? (F.classList.add(de), Ht(F), z.classList.add(ce), F.classList.add(ce), Wt(() => { - T(!1), F.classList.remove(ce, de), F.classList.add("active"), z.classList.remove("active", de, ce), v.current = !1; - }, z, !0)) : (z.classList.remove("active"), F.classList.add("active"), v.current = !1)); + E(D, J), !(!z || !O) && (v.current = !0, te && R(), (ge = k.current) != null && ge.classList.contains("slide") ? (O.classList.add(ie), Wt(O), z.classList.add(oe), O.classList.add(oe), Xt(() => { + L(!1), O.classList.remove(oe, ie), O.classList.add("active"), z.classList.remove("active", ie, oe), v.current = !1; + }, z, !0)) : (z.classList.remove("active"), O.classList.add("active"), v.current = !1)); }, - [P, b, I, L] - ), M = ($) => { + [k, b, E, R] + ), T = (D) => { v.current || (v.current = !0, setTimeout(() => { v.current = !1; - }, $)); - }, A = j( - ($) => { - const F = $ === "prev", z = (h.current + (F ? -1 : 1)) % R, te = m.current; - return z === -1 ? te[R - 1] : te[z]; + }, D)); + }, A = G( + (D) => { + const O = D === "prev", z = (h.current + (O ? -1 : 1)) % M, te = m.current; + return z === -1 ? te[M - 1] : te[z]; }, - [R] - ), W = ($) => { - const F = h.current, J = $ > F ? "next" : "prev", ee = m.current; - return { direction: J, nextElement: ee[$] }; - }, k = ($) => { - if (v.current || (M(700), $ > R - 1 || $ < 0)) + [M] + ), H = (D) => { + const O = h.current, J = D > O ? "next" : "prev", ee = m.current; + return { direction: J, nextElement: ee[D] }; + }, P = (D) => { + if (v.current || (T(700), D > M - 1 || D < 0)) return; - const { direction: F, nextElement: J } = W($); - X(F, J, $); - }, H = j( - ($) => { + const { direction: O, nextElement: J } = H(D); + _(O, J, D); + }, F = G( + (D) => { if (v.current) return; - M(600); - const F = A($); - X($, F); + T(600); + const O = A(D); + _(D, O); }, - [A, X] - ), G = j(() => { - const { visibilityState: $, hidden: F } = document; - if ($) - return F || !Pt(P.current) ? void 0 : H("next"); - H("next"); - }, [P, H]), _ = j(() => { - var F, J; - const $ = (J = (F = n == null ? void 0 : n[b]) == null ? void 0 : F.props) == null ? void 0 : J.interval; - g.current && (clearInterval(g.current), g.current = null), g.current = setInterval(G, $ || a); - }, [G, a, n, b]), U = ($) => { - o && B({ initialX: $.touches[0].clientX, initialY: $.touches[0].clientY }); - }, Y = ($) => { + [A, _] + ), X = G(() => { + const { visibilityState: D, hidden: O } = document; + if (D) + return O || !Pt(k.current) ? void 0 : F("next"); + F("next"); + }, [k, F]), j = G(() => { + var O, J; + const D = (J = (O = n == null ? void 0 : n[b]) == null ? void 0 : O.props) == null ? void 0 : J.interval; + g.current && (clearInterval(g.current), g.current = null), g.current = setInterval(X, D || a); + }, [X, a, n, b]), U = (D) => { + o && w({ initialX: D.touches[0].clientX, initialY: D.touches[0].clientY }); + }, Y = (D) => { v.current = !0; - const { initialX: F, initialY: J } = S; - if (!F || !J) + const { initialX: O, initialY: J } = S; + if (!O || !J) return; - const ee = $.touches[0].clientX, z = $.touches[0].clientY, te = F - ee, oe = J - z; - Math.abs(te) > Math.abs(oe) && (te > 0 ? H("prev") : H("next")), B({ initialX: 0, initialY: 0 }); + const ee = D.touches[0].clientX, z = D.touches[0].clientY, te = O - ee, ae = J - z; + Math.abs(te) > Math.abs(ae) && (te > 0 ? F("prev") : F("next")), w({ initialX: 0, initialY: 0 }); }, Z = () => { v.current = !1; - }, Q = j( - ($) => { - switch ($.key) { + }, Q = G( + (D) => { + switch (D.key) { case "ArrowLeft": - $.preventDefault(), H("prev"); + D.preventDefault(), F("prev"); break; case "ArrowRight": - $.preventDefault(), H("next"); + D.preventDefault(), F("next"); break; } }, - [H] + [F] ); return x(() => { if (c) @@ -1811,32 +1815,32 @@ const fe = ye({ window.removeEventListener("keydown", Q); }; }, [Q, c]), x(() => { - const $ = P.current, F = Ot($); - m.current = F, w(F.length); - }, [P]), x(() => { + const D = k.current, O = Ht(D); + m.current = O, B(O.length); + }, [k]), x(() => { C && (d == null || d()); - }, [C, d]), x(() => (_(), () => { - L(); - }), [_, L]), /* @__PURE__ */ l( + }, [C, d]), x(() => (j(), () => { + R(); + }), [j, R]), /* @__PURE__ */ l( "div", { onTouchStart: U, onTouchMove: Y, onTouchEnd: Z, - onMouseEnter: L, - onMouseLeave: _, - className: O, - ref: P, + onMouseEnter: R, + onMouseLeave: j, + className: W, + ref: k, ...p, - children: /* @__PURE__ */ l("div", { className: E, children: /* @__PURE__ */ V(fe.Provider, { value: { active: b }, children: [ - u && /* @__PURE__ */ l(At, { to: k, imagesCount: R }), + children: /* @__PURE__ */ l("div", { className: I, children: /* @__PURE__ */ V(pe.Provider, { value: { active: b }, children: [ + u && /* @__PURE__ */ l(Ft, { to: P, imagesCount: M }), n, - i && /* @__PURE__ */ l(Ft, { move: H }) + i && /* @__PURE__ */ l(Ot, { move: F }) ] }) }) } ); -}, Bs = ({ className: e, children: t, itemId: s, ...r }) => { - const { active: n } = re(fe), a = K(!0), c = K(null), o = f("carousel-item", e); +}, Ms = ({ className: e, children: t, itemId: s, ...r }) => { + const { active: n } = se(pe), a = K(!0), c = K(null), o = f("carousel-item", e); return x(() => { if (a.current && n === s - 1) { const i = c.current; @@ -1844,15 +1848,15 @@ const fe = ye({ } a.current = !1; }, [n, s]), /* @__PURE__ */ l("div", { className: o, ref: c, ...r, children: t }); -}, Ms = ({ className: e, children: t, ...s }) => { +}, Ds = ({ className: e, children: t, ...s }) => { const r = f("carousel-caption d-none d-md-block", e); return /* @__PURE__ */ l("div", { className: r, ...s, children: t }); -}, De = y.createContext({ +}, Te = N.createContext({ activeItem: 0, setActiveItem: null, alwaysOpen: !1, initialActive: 0 -}), Gt = y.forwardRef( +}), Yt = N.forwardRef( ({ alwaysOpen: e, borderless: t, @@ -1865,9 +1869,9 @@ const fe = ye({ onChange: i, ...u }, d) => { - const p = se(() => typeof n < "u", [n]), m = f("accordion", r && "accordion-flush", t && "accordion-borderless", s), [g, h] = N(a); + const p = ne(() => typeof n < "u", [n]), m = f("accordion", r && "accordion-flush", t && "accordion-borderless", s), [g, h] = y(a); return /* @__PURE__ */ l(c, { className: m, ref: d, ...u, children: /* @__PURE__ */ l( - De.Provider, + Te.Provider, { value: { activeItem: p ? n : g, setActiveItem: h, alwaysOpen: e, initialActive: a, onChange: i }, children: o @@ -1875,8 +1879,8 @@ const fe = ye({ ) }); } ); -Gt.displayName = "MDBAccordion"; -const Yt = y.forwardRef( +Yt.displayName = "MDBAccordion"; +const Vt = N.forwardRef( ({ className: e, bodyClassName: t, @@ -1890,21 +1894,21 @@ const Yt = y.forwardRef( children: u, ...d }, p) => { - const { activeItem: m, setActiveItem: g, alwaysOpen: h, onChange: v } = re(De), b = se(() => Array.isArray(m) ? m.includes(n) : m === n, [m, n]), D = f("accordion-item", e), R = f("accordion-header", r), w = f("accordion-body", t), S = f("accordion-button", !b && "collapsed", o), B = j( + const { activeItem: m, setActiveItem: g, alwaysOpen: h, onChange: v } = se(Te), b = ne(() => Array.isArray(m) ? m.includes(n) : m === n, [m, n]), $ = f("accordion-item", e), M = f("accordion-header", r), B = f("accordion-body", t), S = f("accordion-button", !b && "collapsed", o), w = G( (C) => { - let T = C; - Array.isArray(m) ? m.includes(C) ? T = m.filter((O) => O !== C) : T = h ? [...m, C] : [C] : (T = m === C ? 0 : C, h && (T = [T])), v == null || v(T), g(T); + let L = C; + Array.isArray(m) ? m.includes(C) ? L = m.filter((W) => W !== C) : L = h ? [...m, C] : [C] : (L = m === C ? 0 : C, h && (L = [L])), v == null || v(L), g(L); }, [v, m, g, h] ); - return /* @__PURE__ */ V(i, { className: D, ref: p, ...d, children: [ - /* @__PURE__ */ l("h2", { className: R, style: c, children: /* @__PURE__ */ l("button", { onClick: () => B(n), className: S, type: "button", children: a }) }), - /* @__PURE__ */ l(ut, { id: n.toString(), open: b, children: /* @__PURE__ */ l("div", { className: w, style: s, children: u }) }) + return /* @__PURE__ */ V(i, { className: $, ref: p, ...d, children: [ + /* @__PURE__ */ l("h2", { className: M, style: c, children: /* @__PURE__ */ l("button", { onClick: () => w(n), className: S, type: "button", children: a }) }), + /* @__PURE__ */ l(mt, { id: n.toString(), open: b, children: /* @__PURE__ */ l("div", { className: B, style: s, children: u }) }) ] }); } ); -Yt.displayName = "MDBAccordionItem"; -const Ds = ({ +Vt.displayName = "MDBAccordionItem"; +const Ts = ({ className: e, size: t, contrast: s, @@ -1922,58 +1926,58 @@ const Ds = ({ labelStyle: h, inputRef: v, onBlur: b, - readonly: D = !1, - ...R + readonly: $ = !1, + ...M }) => { - var G; - const w = K(null), S = K(null), B = g || w, C = v || S, [T, P] = N(r || n), [O, E] = N(0), [I, L] = N( + var X; + const B = K(null), S = K(null), w = g || B, C = v || S, [L, k] = y(r || n), [W, I] = y(0), [E, R] = y( r !== void 0 && r.length > 0 || n !== void 0 && n.length > 0 - ), X = f("form-outline", s && "form-white", o), M = f("form-control", I && "active", t && `form-control-${t}`, e), A = f("form-label", c); + ), _ = f("form-outline", s && "form-white", o), T = f("form-control", E && "active", t && `form-control-${t}`, e), A = f("form-label", c); x(() => { - var _; - B.current && ((_ = B.current) == null ? void 0 : _.clientWidth) !== 0 && E(B.current.clientWidth * 0.8 + 8); - }, [B, (G = B.current) == null ? void 0 : G.clientWidth]); - const W = () => { - B.current && E(B.current.clientWidth * 0.8 + 8); + var j; + w.current && ((j = w.current) == null ? void 0 : j.clientWidth) !== 0 && I(w.current.clientWidth * 0.8 + 8); + }, [w, (X = w.current) == null ? void 0 : X.clientWidth]); + const H = () => { + w.current && I(w.current.clientWidth * 0.8 + 8); }; x(() => { - r !== void 0 && (r.length > 0 ? L(!0) : L(!1)); + r !== void 0 && (r.length > 0 ? R(!0) : R(!1)); }, [r]), x(() => { - n !== void 0 && (n.length > 0 ? L(!0) : L(!1)); + n !== void 0 && (n.length > 0 ? R(!0) : R(!1)); }, [n]); - const k = (_) => { - P(_.currentTarget.value), p && p(_); - }, H = j( - (_) => { - T !== void 0 && T.length > 0 || r !== void 0 && r.length > 0 ? L(!0) : L(!1), b && b(_); + const P = (j) => { + k(j.currentTarget.value), p && p(j); + }, F = G( + (j) => { + L !== void 0 && L.length > 0 || r !== void 0 && r.length > 0 ? R(!0) : R(!1), b && b(j); }, - [T, r, b] + [L, r, b] ); - return /* @__PURE__ */ V(u, { className: X, style: { ...i }, children: [ + return /* @__PURE__ */ V(u, { className: _, style: { ...i }, children: [ /* @__PURE__ */ l( "textarea", { - readOnly: D, - className: M, - onBlur: H, - onChange: k, - onFocus: W, + readOnly: $, + className: T, + onBlur: F, + onChange: P, + onFocus: H, defaultValue: n, value: r, id: a, ref: C, - ...R + ...M } ), - d && /* @__PURE__ */ l("label", { className: A, style: h, htmlFor: a, ref: B, children: d }), + d && /* @__PURE__ */ l("label", { className: A, style: h, htmlFor: a, ref: w, children: d }), /* @__PURE__ */ V("div", { className: "form-notch", children: [ /* @__PURE__ */ l("div", { className: "form-notch-leading" }), - /* @__PURE__ */ l("div", { className: "form-notch-middle", style: { width: O } }), + /* @__PURE__ */ l("div", { className: "form-notch-middle", style: { width: W } }), /* @__PURE__ */ l("div", { className: "form-notch-trailing" }) ] }), m ] }); -}, Ts = ({ +}, $s = ({ children: e, invalid: t, feedback: s = "Looks good!", @@ -1981,7 +1985,7 @@ const Ds = ({ tag: n = "div", ...a }) => { - const [c, o] = N(null), i = K(null), u = f( + const [c, o] = y(null), i = K(null), u = f( t ? `invalid-${r ? "tooltip" : "feedback"}` : `valid-${r ? "tooltip" : "feedback"}` ); return x(() => { @@ -1989,94 +1993,94 @@ const Ds = ({ const d = (m = (p = i.current) == null ? void 0 : p.querySelector("input, textarea")) == null ? void 0 : m.parentElement; d && o(d); }, []), /* @__PURE__ */ V(n, { ref: i, ...a, children: [ - c && Ne(/* @__PURE__ */ l("div", { className: u, children: s }), c), + c && we(/* @__PURE__ */ l("div", { className: u, children: s }), c), e ] }); -}, $s = ({ children: e }) => { - const [t, s] = N(!1); +}, Es = ({ children: e }) => { + const [t, s] = y(!1); return x(() => { s(!0); }, []), /* @__PURE__ */ l(q, { children: t ? e : null }); }; export { - Gt as MDBAccordion, - Yt as MDBAccordionItem, - Le as MDBBadge, - Ke as MDBBreadcrumb, - Ue as MDBBreadcrumbItem, - le as MDBBtn, - Se as MDBBtnGroup, - Ae as MDBCard, - We as MDBCardBody, - Xe as MDBCardFooter, - je as MDBCardGroup, - Fe as MDBCardHeader, - zt as MDBCardImage, - es as MDBCardLink, - _e as MDBCardOverlay, + Yt as MDBAccordion, + Vt as MDBAccordionItem, + xe as MDBBadge, + Ue as MDBBreadcrumb, + Je as MDBBreadcrumbItem, + ce as MDBBtn, + Ce as MDBBtnGroup, + Fe as MDBCard, + Xe as MDBCardBody, + _e as MDBCardFooter, + Ge as MDBCardGroup, + Oe as MDBCardHeader, + es as MDBCardImage, + ts as MDBCardLink, + je as MDBCardOverlay, Pe as MDBCardSubTitle, - He as MDBCardText, - Oe as MDBCardTitle, - ws as MDBCarousel, - Ms as MDBCarouselCaption, - Bs as MDBCarouselItem, - os as MDBCheckbox, - $s as MDBClientOnly, - Ie as MDBCol, - ut as MDBCollapse, - Ee as MDBContainer, - ls as MDBDropdown, - is as MDBDropdownItem, - ds as MDBDropdownMenu, - us as MDBDropdownToggle, + We as MDBCardText, + He as MDBCardTitle, + Bs as MDBCarousel, + Ds as MDBCarouselCaption, + Ms as MDBCarouselItem, + cs as MDBCheckbox, + Es as MDBClientOnly, + Le as MDBCol, + mt as MDBCollapse, + Ie as MDBContainer, + is as MDBDropdown, + ds as MDBDropdownItem, + us as MDBDropdownMenu, + ms as MDBDropdownToggle, Rt as MDBFile, - rt as MDBFooter, - ss as MDBIcon, - dt as MDBInput, - Et as MDBInputGroup, - Ge as MDBListGroup, - Ye as MDBListGroupItem, - gs as MDBModal, - Dt as MDBModalBody, - wt as MDBModalContent, - Nt as MDBModalDialog, - Tt as MDBModalFooter, - Bt as MDBModalHeader, - Mt as MDBModalTitle, - Qe as MDBNavbar, - ze as MDBNavbarBrand, - et as MDBNavbarItem, - Ze as MDBNavbarLink, - tt as MDBNavbarNav, - st as MDBNavbarToggler, - nt as MDBPagination, - ot as MDBPaginationItem, - at as MDBPaginationLink, - ms as MDBPopover, - fs as MDBPopoverBody, - ps as MDBPopoverHeader, - ct as MDBProgress, - Be as MDBProgressBar, - cs as MDBRadio, - Ns as MDBRange, - we as MDBRipple, - Ve as MDBRow, - hs as MDBScrollspy, - bs as MDBScrollspyLink, - vs as MDBScrollspySubList, - Ce as MDBSpinner, - ys as MDBSwitch, - rs as MDBTable, - as as MDBTableBody, - ns as MDBTableHead, - Lt as MDBTabs, - St as MDBTabsContent, - xt as MDBTabsItem, - kt as MDBTabsLink, - Ct as MDBTabsPane, - Ds as MDBTextArea, - ts as MDBTooltip, - qe as MDBTypography, - It as MDBValidation, - Ts as MDBValidationItem + nt as MDBFooter, + rs as MDBIcon, + ut as MDBInput, + It as MDBInputGroup, + Ye as MDBListGroup, + Ve as MDBListGroupItem, + hs as MDBModal, + Tt as MDBModalBody, + Bt as MDBModalContent, + wt as MDBModalDialog, + $t as MDBModalFooter, + Mt as MDBModalHeader, + Dt as MDBModalTitle, + Ze as MDBNavbar, + et as MDBNavbarBrand, + tt as MDBNavbarItem, + ze as MDBNavbarLink, + st as MDBNavbarNav, + rt as MDBNavbarToggler, + at as MDBPagination, + ct as MDBPaginationItem, + ot as MDBPaginationLink, + fs as MDBPopover, + ps as MDBPopoverBody, + gs as MDBPopoverHeader, + lt as MDBProgress, + Me as MDBProgressBar, + ls as MDBRadio, + ws as MDBRange, + Be as MDBRipple, + qe as MDBRow, + bs as MDBScrollspy, + vs as MDBScrollspyLink, + ys as MDBScrollspySubList, + Ae as MDBSpinner, + Ns as MDBSwitch, + ns as MDBTable, + os as MDBTableBody, + as as MDBTableHead, + xt as MDBTabs, + Ct as MDBTabsContent, + kt as MDBTabsItem, + St as MDBTabsLink, + At as MDBTabsPane, + Ts as MDBTextArea, + ss as MDBTooltip, + Ke as MDBTypography, + Lt as MDBValidation, + $s as MDBValidationItem }; diff --git a/dist/types/free/components/Popover/types.d.ts b/dist/types/free/components/Popover/types.d.ts index 6d52628..b641224 100644 --- a/dist/types/free/components/Popover/types.d.ts +++ b/dist/types/free/components/Popover/types.d.ts @@ -10,6 +10,7 @@ interface PopoverProps extends ButtonProps { poperStyle?: React.CSSProperties; popperTag?: React.ComponentProps; tag?: React.ComponentProps; + disablePortal?: boolean; onOpen?: () => void; onClose?: () => void; } diff --git a/dist/types/utils/Portal.d.ts b/dist/types/utils/Portal.d.ts new file mode 100644 index 0000000..0d30ab9 --- /dev/null +++ b/dist/types/utils/Portal.d.ts @@ -0,0 +1,18 @@ +import React, { RefObject } from 'react'; +type PortalTypes = { + children: React.ReactNode; + /** + * The reference to the container element where the elements will be rendered. If not specified the element will be rendered in the document body. + * */ + containerRef?: RefObject; + /** + * When `true` children will be rendered in normal DOM hierarchy. + * @default false + * */ + disablePortal?: boolean; +}; +/** + * Renders elements outside the component's normal DOM hierarchy. + */ +declare const Portal: ({ children, containerRef, disablePortal }: PortalTypes) => JSX.Element | null; +export default Portal; diff --git a/package.json b/package.json index c1a7fa6..af02c10 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "mdb-react-ui-kit", - "version": "7.1.0", + "version": "7.2.0", "main": "./dist/mdb-react-ui-kit.cjs", "module": "./dist/mdb-react-ui-kit.esm.js", "types": "./dist/types/index-free.d.ts",