diff --git a/404.html b/404.html new file mode 100644 index 00000000..3d8dc011 --- /dev/null +++ b/404.html @@ -0,0 +1,38 @@ + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + diff --git a/assets/index-079d9435.css b/assets/index-079d9435.css new file mode 100644 index 00000000..cbf4ec52 --- /dev/null +++ b/assets/index-079d9435.css @@ -0,0 +1 @@ +@import"https://fonts.googleapis.com/css2?family=Pacifico&family=Roboto:wght@400;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Roboto:ital,wght@0,300;0,400;0,500;1,400&display=swap";@import"https://fonts.googleapis.com/icon?family=Material+Icons+Outlined";@import"https://fonts.googleapis.com/css2?family=Roboto+Mono:wght@500&display=swap";._footer_bcr5d_2{border-top:var(--mp-border);text-align:center;padding:1rem;background:var(--c-bg);font-size:.9rem;margin-top:4rem}._footer_bcr5d_2 a{background:linear-gradient(148deg,#4568dc 0%,#b06ab3 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;font-family:Pacifico,monospace;font-size:1rem;padding-right:.5rem}._main_k0bp2_1{width:100%;max-width:800px;margin:auto;display:flex;flex-direction:column;min-height:100vh;justify-content:space-between}._main_k0bp2_1>div{padding:1rem}._main_k0bp2_1 ._info_k0bp2_13{font-size:.8rem;margin-top:1rem;margin-bottom:2rem}._main_k0bp2_1 ._issue_k0bp2_18{margin:4rem 0;text-align:center;font-size:.8rem;color:var(--c-red);font-weight:var(--fw-bold)}._header_k0bp2_26{border-bottom:var(--mp-border);margin-bottom:2rem}._header_k0bp2_26 ._row_k0bp2_30{display:flex;align-items:center;gap:1rem}._header_k0bp2_26 ._row_k0bp2_30 ._icon_k0bp2_35{display:flex;gap:.5rem;font-size:.9rem;color:var(--c-font);cursor:pointer}._header_k0bp2_26 ._row_k0bp2_30 ._icon_k0bp2_35:hover{color:var(--c-font-dark)}._header_k0bp2_26 ._title_k0bp2_45{font-size:1.5rem;padding-bottom:1rem;margin-top:1rem;color:var(--c-font-dark)}._showcase_k0bp2_52 ._showcaseTitle_k0bp2_52{margin-top:4rem;margin-bottom:1rem}._showcase_k0bp2_52 ._element_k0bp2_56{border:var(--mp-border);padding:1.5rem}._showcase_k0bp2_52 ._switch_k0bp2_60{font-size:.7rem;color:var(--c-font-dark);text-align:right;-webkit-user-select:none;-moz-user-select:none;user-select:none}._showcase_k0bp2_52 ._switch_k0bp2_60 div{background:var(--c-light);display:inline-flex;align-items:center;padding:.25rem .5rem;cursor:pointer}._showcase_k0bp2_52 ._switch_k0bp2_60 div:hover{background:var(--c-border)}._showcase_k0bp2_52 pre{margin:0}._props_k0bp2_80{font-size:1.25rem;margin-top:4rem;margin-bottom:1rem}._table_k0bp2_86{overflow:auto}._table_k0bp2_86 tbody ._name_k0bp2_89 code{color:var(--c-font-dark)}._table_k0bp2_86 tbody ._type_k0bp2_92 code{color:var(--c-code);font-weight:var(--mp-fw-code)}._table_k0bp2_86 tbody ._usage_k0bp2_96{color:var(--c-font)}._table_k0bp2_86 ._usage_k0bp2_96{width:100%;min-width:10rem}._table_k0bp2_86 ._required_k0bp2_103{width:1rem;text-align:center}._related_k0bp2_108 ._title_k0bp2_45{font-size:1.25rem;margin-top:4rem}._related_k0bp2_108 ul{margin-top:1rem;font-size:.9rem;color:var(--c-link)}._header_eoedd_1{background:#000000;color:#fff;padding:4rem 0;position:relative;box-shadow:0 20px 20px 0 var(--c-white)}._header_eoedd_1:before{background-image:url(/mumpui/texture.jpeg);background-position:center center;content:"";background-size:cover;position:absolute;top:0;right:0;bottom:0;left:0;opacity:.5}._header_eoedd_1 *::-moz-selection{background:rgba(255,255,255,.1333333333)!important}._header_eoedd_1 *::selection{background:rgba(255,255,255,.1333333333)!important}._header_eoedd_1 ._content_eoedd_23{width:100%;max-width:800px;margin:auto;position:inherit}._logoAndInfo_eoedd_30{display:flex;align-items:center}._logoAndInfo_eoedd_30>div{padding:2rem}._logoAndInfo_eoedd_30 ._left_eoedd_37{animation:_logo-breathe_eoedd_1 2s ease infinite;transform-origin:center center}@keyframes _logo-breathe_eoedd_1{50%{transform:scale(1.05)}}._logoAndInfo_eoedd_30 ._left_eoedd_37 img{cursor:pointer;width:6rem;transition:all .5s cubic-bezier(.175,.885,.32,1.275)}._logoAndInfo_eoedd_30 ._left_eoedd_37 img:hover{transform:rotate(-30deg)}._logoAndInfo_eoedd_30 ._right_eoedd_54 ._name_eoedd_54{font-size:1.75rem;color:#fff}._logoAndInfo_eoedd_30 ._right_eoedd_54 ._info_eoedd_58{color:#888;margin-top:.5rem;font-size:.8rem}._links_eoedd_64{display:flex;gap:1.5rem;margin-top:2rem;font-size:.8rem;color:#fff}._links_eoedd_64 a:hover,._links_eoedd_64 span:hover{opacity:.7}._container_eoedd_76{min-height:100vh;width:100%;background:var(--c-light);padding:1rem 0}._container_eoedd_76 ._content_eoedd_23{width:100%;max-width:800px;margin:auto}._search_eoedd_88{display:flex;align-items:center;gap:1rem;margin:2rem 0;padding:0 1rem}._search_eoedd_88 ._foldUnfold_eoedd_95{padding:.25rem;cursor:pointer;color:var(--c-font);-webkit-user-select:none;-moz-user-select:none;user-select:none}._search_eoedd_88 ._foldUnfold_eoedd_95:hover{color:var(--c-font-dark)}._search_eoedd_88 ._searchInput_eoedd_104{width:60%;position:relative}._search_eoedd_88 ._searchShortcut_eoedd_108{position:absolute;top:50%;transform:translateY(-50%);right:1rem;font-size:.8rem;color:var(--c-font-light);background:var(--c-light);padding:0 .25rem;border-radius:4px}._search_eoedd_88 input{outline:none;border:2px solid var(--c-border);width:100%;color:var(--c-font-dark);padding:.5rem 1.5rem;border-radius:10rem;font-size:.8rem;background:var(--c-bg)}._search_eoedd_88 input::-moz-placeholder{color:var(--c-font-light)}._search_eoedd_88 input::placeholder{color:var(--c-font-light)}@media (max-width: 1080px){._searchShortcut_eoedd_108{display:none}}._groups_eoedd_138 ._title_eoedd_138{padding:1rem;margin-top:1rem;margin-bottom:1rem;border-bottom:var(--mp-border);cursor:pointer;display:flex;justify-content:space-between;align-items:center;color:var(--c-font-dark);font-size:1.25rem}._groups_eoedd_138 ._title_eoedd_138 ._count_eoedd_150{font-size:.7rem;color:var(--c-font-light);margin-left:.5rem}._showcases_eoedd_156{padding:1rem;display:flex;gap:1rem;flex-wrap:wrap}._showcase_eoedd_156{border:var(--mp-border);display:flex;flex-direction:column;opacity:0;background-color:var(--c-bg);animation:_showcase-appear_eoedd_1 .3s ease forwards;width:calc(50% - 1rem);border-radius:8px;position:relative}._showcase_eoedd_156 ._nameLink_eoedd_174:focus ._name_eoedd_54,._showcase_eoedd_156:hover ._name_eoedd_54{color:var(--c-font-dark)}._showcase_eoedd_156 ._nameLink_eoedd_174:focus ._name_eoedd_54 ._icon_eoedd_177,._showcase_eoedd_156:hover ._name_eoedd_54 ._icon_eoedd_177{opacity:1}@keyframes _showcase-appear_eoedd_1{0%{opacity:0}to{opacity:1}}._showcase_eoedd_156 ._component_eoedd_188{flex-grow:1;display:flex;justify-content:center;align-items:center;padding:2rem 1rem}._showcase_eoedd_156 ._component_eoedd_188>*{width:100%}._showcase_eoedd_156 ._name_eoedd_54{text-align:center;font-size:.7rem;padding:1rem;border-top:var(--mp-border);color:var(--c-font-light);font-weight:var(--fw-bold);cursor:pointer;width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none}._showcase_eoedd_156 ._name_eoedd_54 ._icon_eoedd_177{margin-left:.5rem;opacity:0;position:absolute}@media (max-width: 1199px){._logoAndInfo_eoedd_30{flex-direction:column;align-items:flex-start}._logoAndInfo_eoedd_30 ._left_eoedd_37{padding-top:0;padding-bottom:0}._logoAndInfo_eoedd_30 ._left_eoedd_37 img{width:40%}._search_eoedd_88 input,._showcase_eoedd_156{width:100%}}@media (max-width: 500px){._logoAndInfo_eoedd_30>._left_eoedd_37{animation:none!important}}._github_eoedd_239{height:1.25rem;cursor:pointer}._github_eoedd_239 img{height:100%}._palette_18nbz_1{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center}._palette_18nbz_1>div,._color_18nbz_9{width:1.5rem;height:1.5rem;border-radius:1rem;cursor:pointer;transition:all .2s ease;display:inline-flex;flex-shrink:0;box-shadow:0 0 .25rem var(--c-border)}._palette_18nbz_1>div:hover,._color_18nbz_9:hover{transform:scale(1.1)}._complexity_18nbz_24{text-align:center;margin:4rem 0;background-color:var(--c-light);padding:1rem;display:flex;align-items:center;justify-content:center}._complexity_18nbz_24 span{color:var(--c-font-dark);margin:0 .5rem;font-size:1.5rem}*,:after,:before{box-sizing:border-box;outline:none;-webkit-tap-highlight-color:transparent}body{margin:0}input,input:before,input:after,textarea,textarea:before,textarea:after{-webkit-user-select:initial!important;-moz-user-select:initial!important;user-select:initial!important;background:transparent}button,input,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}button{cursor:pointer}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0}textarea{resize:none}img{-webkit-user-select:none;-moz-user-select:none;user-select:none;-webkit-user-drag:none}button{-webkit-app-region:no-drag;-webkit-user-drag:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}table{width:100%;border-collapse:collapse}table th{text-align:left}a,a:visited,a:hover,a:active{color:inherit;text-decoration:none}select::-ms-expand{display:none!important}select{-webkit-appearance:none;-moz-appearance:none;appearance:none}h1,h2,h3,h4,h5,h6,p,b,i,strong,em{color:var(--mp-c-font-dark)}h1,h2,h3,h4,h5,h6{margin:1rem 0;padding-top:1rem;font-weight:400}h3,h4,h5,h6{font-weight:var(--mp-fw-bold)}h1{font-size:3rem}h2{font-size:2rem}h3{font-size:1.25rem}h4,h5,h6{font-size:1rem}p{font-size:1rem;margin:1rem 0}blockquote p{margin:0}blockquote{margin:1rem 0}b,strong{font-weight:var(--mp-fw-bold)}i,em{font-style:italic}u{text-decoration:none;position:relative}u:after{content:" ";position:absolute;left:0;bottom:-.25rem;right:0;height:2px;background-color:var(--mp-c-font-light)}mark{color:var(--mp-c-font-dark);background-color:var(--mp-c-mark);padding:0 .15rem}ul,ol{margin:1rem 0;padding-left:1rem;padding-left:1.5rem;font-size:.9rem}li{padding-left:.25rem}ul{list-style-type:disc}li::marker{font-size:.8rem;font-weight:var(--mp-fw-bold);color:var(--mp-c-font)}li+*,ol+*,ul+*{margin-top:.5rem}table{font-size:.9rem;margin:1rem 0}table th,table td{color:var(--mp-c-font-dark);border:var(--mp-border-width) solid var(--mp-c-border);padding:.5rem 1rem;font-size:.8rem;white-space:nowrap}table th{font-weight:var(--mp-fw-bold);background:var(--mp-c-light)}hr{border:none;height:1px;background-color:var(--mp-c-font-light);margin:2rem 0}del,strike{text-decoration:none;position:relative}del:after,strike:after{content:" ";position:absolute;left:0;right:0;height:2px;top:50%;transform:translateY(-50%);background-color:var(--mp-c-red);z-index:-1}body{--mp-border-radius: 8px;--mp-border-width: 1px;--mp-c-overlay-bg: #0004;--mp-pop-up-shadow: 0 8px 16px 0px #00000010;--mp-input-border-width: 1px;--mp-c-input-border: #e8e8e8;--mp-c-input-border-hover: #d8d8d8;--mp-c-input-border-active: #b8b8b8;--mp-input-box-shadow: 0 0 2px 0px #0001;--mp-input-box-shadow-hover: 0 0 4px 0px #0001;--mp-input-box-shadow-active: 0 0 4px 0px #0002}body[data-theme=dark]{--mp-border-radius: 8px;--mp-border-width: 1px;--mp-c-overlay-bg: #000b;--mp-pop-up-shadow: 0 8px 16px 8px #00000088;--mp-input-border-width: 1px;--mp-c-input-border: #282828;--mp-c-input-border-hover: #383838;--mp-c-input-border-active: #585858;--mp-input-box-shadow: 0 0 2px 0px #fff1;--mp-input-box-shadow-hover: 0 0 4px 0px #0001;--mp-input-box-shadow-active: 0 0 4px 0px #fff2}body{--mp-c-primary: #282828;--mp-c-bg: #ffffff;--mp-c-border: #e8e8e8;--mp-c-font-dark: #181818;--mp-c-font: #686868;--mp-c-font-light: #b8b8b8;--mp-c-red: #f53b3b;--mp-c-blue: #0095f8;--mp-c-green: #68bf32;--mp-c-yellow: #f9c900;--mp-c-orange: #ff8a1f;--mp-c-pink: #ff41a9;--mp-c-purple: #b932c5;--mp-c-violet: #722ed1;--mp-c-indigo: #0065f3;--mp-c-light: #f8f8f8;--mp-c-link: #0077ff;--mp-c-mark: #fef4d5;--mp-c-code: #181818;--mp-c-black: #000000;--mp-c-white: #ffffff;--mp-c-transparent: rgba(0, 0, 0, 0);--mp-c-test: red}body .c-primary{color:var(--c-primary)}body .f-primary{background-color:var(--c-primary)}body .b-primary{border:var(--mp-border-width) solid var(--c-primary)}body .d-primary{border:var(--mp-border-width) dashed var(--c-primary)}body .c-bg{color:var(--c-bg)}body .f-bg{background-color:var(--c-bg)}body .b-bg{border:var(--mp-border-width) solid var(--c-bg)}body .d-bg{border:var(--mp-border-width) dashed var(--c-bg)}body .c-border{color:var(--c-border)}body .f-border{background-color:var(--c-border)}body .b-border{border:var(--mp-border-width) solid var(--c-border)}body .d-border{border:var(--mp-border-width) dashed var(--c-border)}body .c-font-dark{color:var(--c-font-dark)}body .f-font-dark{background-color:var(--c-font-dark)}body .b-font-dark{border:var(--mp-border-width) solid var(--c-font-dark)}body .d-font-dark{border:var(--mp-border-width) dashed var(--c-font-dark)}body .c-font{color:var(--c-font)}body .f-font{background-color:var(--c-font)}body .b-font{border:var(--mp-border-width) solid var(--c-font)}body .d-font{border:var(--mp-border-width) dashed var(--c-font)}body .c-font-light{color:var(--c-font-light)}body .f-font-light{background-color:var(--c-font-light)}body .b-font-light{border:var(--mp-border-width) solid var(--c-font-light)}body .d-font-light{border:var(--mp-border-width) dashed var(--c-font-light)}body .c-red{color:var(--c-red)}body .f-red{background-color:var(--c-red)}body .b-red{border:var(--mp-border-width) solid var(--c-red)}body .d-red{border:var(--mp-border-width) dashed var(--c-red)}body .c-blue{color:var(--c-blue)}body .f-blue{background-color:var(--c-blue)}body .b-blue{border:var(--mp-border-width) solid var(--c-blue)}body .d-blue{border:var(--mp-border-width) dashed var(--c-blue)}body .c-green{color:var(--c-green)}body .f-green{background-color:var(--c-green)}body .b-green{border:var(--mp-border-width) solid var(--c-green)}body .d-green{border:var(--mp-border-width) dashed var(--c-green)}body .c-yellow{color:var(--c-yellow)}body .f-yellow{background-color:var(--c-yellow)}body .b-yellow{border:var(--mp-border-width) solid var(--c-yellow)}body .d-yellow{border:var(--mp-border-width) dashed var(--c-yellow)}body .c-orange{color:var(--c-orange)}body .f-orange{background-color:var(--c-orange)}body .b-orange{border:var(--mp-border-width) solid var(--c-orange)}body .d-orange{border:var(--mp-border-width) dashed var(--c-orange)}body .c-pink{color:var(--c-pink)}body .f-pink{background-color:var(--c-pink)}body .b-pink{border:var(--mp-border-width) solid var(--c-pink)}body .d-pink{border:var(--mp-border-width) dashed var(--c-pink)}body .c-purple{color:var(--c-purple)}body .f-purple{background-color:var(--c-purple)}body .b-purple{border:var(--mp-border-width) solid var(--c-purple)}body .d-purple{border:var(--mp-border-width) dashed var(--c-purple)}body .c-violet{color:var(--c-violet)}body .f-violet{background-color:var(--c-violet)}body .b-violet{border:var(--mp-border-width) solid var(--c-violet)}body .d-violet{border:var(--mp-border-width) dashed var(--c-violet)}body .c-indigo{color:var(--c-indigo)}body .f-indigo{background-color:var(--c-indigo)}body .b-indigo{border:var(--mp-border-width) solid var(--c-indigo)}body .d-indigo{border:var(--mp-border-width) dashed var(--c-indigo)}body .c-light{color:var(--c-light)}body .f-light{background-color:var(--c-light)}body .b-light{border:var(--mp-border-width) solid var(--c-light)}body .d-light{border:var(--mp-border-width) dashed var(--c-light)}body .c-link{color:var(--c-link)}body .f-link{background-color:var(--c-link)}body .b-link{border:var(--mp-border-width) solid var(--c-link)}body .d-link{border:var(--mp-border-width) dashed var(--c-link)}body .c-mark{color:var(--c-mark)}body .f-mark{background-color:var(--c-mark)}body .b-mark{border:var(--mp-border-width) solid var(--c-mark)}body .d-mark{border:var(--mp-border-width) dashed var(--c-mark)}body .c-code{color:var(--c-code)}body .f-code{background-color:var(--c-code)}body .b-code{border:var(--mp-border-width) solid var(--c-code)}body .d-code{border:var(--mp-border-width) dashed var(--c-code)}body .c-black{color:var(--c-black)}body .f-black{background-color:var(--c-black)}body .b-black{border:var(--mp-border-width) solid var(--c-black)}body .d-black{border:var(--mp-border-width) dashed var(--c-black)}body .c-white{color:var(--c-white)}body .f-white{background-color:var(--c-white)}body .b-white{border:var(--mp-border-width) solid var(--c-white)}body .d-white{border:var(--mp-border-width) dashed var(--c-white)}body .c-transparent{color:var(--c-transparent)}body .f-transparent{background-color:var(--c-transparent)}body .b-transparent{border:var(--mp-border-width) solid var(--c-transparent)}body .d-transparent{border:var(--mp-border-width) dashed var(--c-transparent)}body .c-test{color:var(--c-test)}body .f-test{background-color:var(--c-test)}body .b-test{border:var(--mp-border-width) solid var(--c-test)}body .d-test{border:var(--mp-border-width) dashed var(--c-test)}body[data-theme=dark]{--mp-c-primary: #d8d8d8;--mp-c-bg: #080808;--mp-c-border: #282828;--mp-c-font-dark: #b8b8b8;--mp-c-font: #888888;--mp-c-font-light: #484848;--mp-c-red: #7e0606;--mp-c-blue: #006aaf;--mp-c-green: #2c6709;--mp-c-yellow: #8e7300;--mp-c-orange: #994900;--mp-c-pink: #810b4b;--mp-c-purple: #7d0087;--mp-c-violet: #5711b8;--mp-c-indigo: #0e4cb8;--mp-c-light: #181818;--mp-c-link: #0058b5;--mp-c-mark: #393217;--mp-c-code: #b8b8b8;--mp-c-black: #ffffff;--mp-c-white: #000000;--mp-c-transparent: rgba(0, 0, 0, 0);--mp-c-test: green}body[data-theme=dark] .c-primary{color:var(--c-primary)}body[data-theme=dark] .f-primary{background-color:var(--c-primary)}body[data-theme=dark] .b-primary{border:var(--mp-border-width) solid var(--c-primary)}body[data-theme=dark] .d-primary{border:var(--mp-border-width) dashed var(--c-primary)}body[data-theme=dark] .c-bg{color:var(--c-bg)}body[data-theme=dark] .f-bg{background-color:var(--c-bg)}body[data-theme=dark] .b-bg{border:var(--mp-border-width) solid var(--c-bg)}body[data-theme=dark] .d-bg{border:var(--mp-border-width) dashed var(--c-bg)}body[data-theme=dark] .c-border{color:var(--c-border)}body[data-theme=dark] .f-border{background-color:var(--c-border)}body[data-theme=dark] .b-border{border:var(--mp-border-width) solid var(--c-border)}body[data-theme=dark] .d-border{border:var(--mp-border-width) dashed var(--c-border)}body[data-theme=dark] .c-font-dark{color:var(--c-font-dark)}body[data-theme=dark] .f-font-dark{background-color:var(--c-font-dark)}body[data-theme=dark] .b-font-dark{border:var(--mp-border-width) solid var(--c-font-dark)}body[data-theme=dark] .d-font-dark{border:var(--mp-border-width) dashed var(--c-font-dark)}body[data-theme=dark] .c-font{color:var(--c-font)}body[data-theme=dark] .f-font{background-color:var(--c-font)}body[data-theme=dark] .b-font{border:var(--mp-border-width) solid var(--c-font)}body[data-theme=dark] .d-font{border:var(--mp-border-width) dashed var(--c-font)}body[data-theme=dark] .c-font-light{color:var(--c-font-light)}body[data-theme=dark] .f-font-light{background-color:var(--c-font-light)}body[data-theme=dark] .b-font-light{border:var(--mp-border-width) solid var(--c-font-light)}body[data-theme=dark] .d-font-light{border:var(--mp-border-width) dashed var(--c-font-light)}body[data-theme=dark] .c-red{color:var(--c-red)}body[data-theme=dark] .f-red{background-color:var(--c-red)}body[data-theme=dark] .b-red{border:var(--mp-border-width) solid var(--c-red)}body[data-theme=dark] .d-red{border:var(--mp-border-width) dashed var(--c-red)}body[data-theme=dark] .c-blue{color:var(--c-blue)}body[data-theme=dark] .f-blue{background-color:var(--c-blue)}body[data-theme=dark] .b-blue{border:var(--mp-border-width) solid var(--c-blue)}body[data-theme=dark] .d-blue{border:var(--mp-border-width) dashed var(--c-blue)}body[data-theme=dark] .c-green{color:var(--c-green)}body[data-theme=dark] .f-green{background-color:var(--c-green)}body[data-theme=dark] .b-green{border:var(--mp-border-width) solid var(--c-green)}body[data-theme=dark] .d-green{border:var(--mp-border-width) dashed var(--c-green)}body[data-theme=dark] .c-yellow{color:var(--c-yellow)}body[data-theme=dark] .f-yellow{background-color:var(--c-yellow)}body[data-theme=dark] .b-yellow{border:var(--mp-border-width) solid var(--c-yellow)}body[data-theme=dark] .d-yellow{border:var(--mp-border-width) dashed var(--c-yellow)}body[data-theme=dark] .c-orange{color:var(--c-orange)}body[data-theme=dark] .f-orange{background-color:var(--c-orange)}body[data-theme=dark] .b-orange{border:var(--mp-border-width) solid var(--c-orange)}body[data-theme=dark] .d-orange{border:var(--mp-border-width) dashed var(--c-orange)}body[data-theme=dark] .c-pink{color:var(--c-pink)}body[data-theme=dark] .f-pink{background-color:var(--c-pink)}body[data-theme=dark] .b-pink{border:var(--mp-border-width) solid var(--c-pink)}body[data-theme=dark] .d-pink{border:var(--mp-border-width) dashed var(--c-pink)}body[data-theme=dark] .c-purple{color:var(--c-purple)}body[data-theme=dark] .f-purple{background-color:var(--c-purple)}body[data-theme=dark] .b-purple{border:var(--mp-border-width) solid var(--c-purple)}body[data-theme=dark] .d-purple{border:var(--mp-border-width) dashed var(--c-purple)}body[data-theme=dark] .c-violet{color:var(--c-violet)}body[data-theme=dark] .f-violet{background-color:var(--c-violet)}body[data-theme=dark] .b-violet{border:var(--mp-border-width) solid var(--c-violet)}body[data-theme=dark] .d-violet{border:var(--mp-border-width) dashed var(--c-violet)}body[data-theme=dark] .c-indigo{color:var(--c-indigo)}body[data-theme=dark] .f-indigo{background-color:var(--c-indigo)}body[data-theme=dark] .b-indigo{border:var(--mp-border-width) solid var(--c-indigo)}body[data-theme=dark] .d-indigo{border:var(--mp-border-width) dashed var(--c-indigo)}body[data-theme=dark] .c-light{color:var(--c-light)}body[data-theme=dark] .f-light{background-color:var(--c-light)}body[data-theme=dark] .b-light{border:var(--mp-border-width) solid var(--c-light)}body[data-theme=dark] .d-light{border:var(--mp-border-width) dashed var(--c-light)}body[data-theme=dark] .c-link{color:var(--c-link)}body[data-theme=dark] .f-link{background-color:var(--c-link)}body[data-theme=dark] .b-link{border:var(--mp-border-width) solid var(--c-link)}body[data-theme=dark] .d-link{border:var(--mp-border-width) dashed var(--c-link)}body[data-theme=dark] .c-mark{color:var(--c-mark)}body[data-theme=dark] .f-mark{background-color:var(--c-mark)}body[data-theme=dark] .b-mark{border:var(--mp-border-width) solid var(--c-mark)}body[data-theme=dark] .d-mark{border:var(--mp-border-width) dashed var(--c-mark)}body[data-theme=dark] .c-code{color:var(--c-code)}body[data-theme=dark] .f-code{background-color:var(--c-code)}body[data-theme=dark] .b-code{border:var(--mp-border-width) solid var(--c-code)}body[data-theme=dark] .d-code{border:var(--mp-border-width) dashed var(--c-code)}body[data-theme=dark] .c-black{color:var(--c-black)}body[data-theme=dark] .f-black{background-color:var(--c-black)}body[data-theme=dark] .b-black{border:var(--mp-border-width) solid var(--c-black)}body[data-theme=dark] .d-black{border:var(--mp-border-width) dashed var(--c-black)}body[data-theme=dark] .c-white{color:var(--c-white)}body[data-theme=dark] .f-white{background-color:var(--c-white)}body[data-theme=dark] .b-white{border:var(--mp-border-width) solid var(--c-white)}body[data-theme=dark] .d-white{border:var(--mp-border-width) dashed var(--c-white)}body[data-theme=dark] .c-transparent{color:var(--c-transparent)}body[data-theme=dark] .f-transparent{background-color:var(--c-transparent)}body[data-theme=dark] .b-transparent{border:var(--mp-border-width) solid var(--c-transparent)}body[data-theme=dark] .d-transparent{border:var(--mp-border-width) dashed var(--c-transparent)}body[data-theme=dark] .c-test{color:var(--c-test)}body[data-theme=dark] .f-test{background-color:var(--c-test)}body[data-theme=dark] .b-test{border:var(--mp-border-width) solid var(--c-test)}body[data-theme=dark] .d-test{border:var(--mp-border-width) dashed var(--c-test)}.c-black-i{color:#000}.f-black-i{background-color:#000}.c-white-i{color:#fff}.f-white-i{background-color:#fff}body{color:var(--mp-c-font);background-color:var(--mp-c-bg)}body.mumpui{--c-primary: var(--mp-c-primary);--c-bg: var(--mp-c-bg);--c-border: var(--mp-c-border);--c-font-dark: var(--mp-c-font-dark);--c-font: var(--mp-c-font);--c-font-light: var(--mp-c-font-light);--c-red: var(--mp-c-red);--c-blue: var(--mp-c-blue);--c-green: var(--mp-c-green);--c-yellow: var(--mp-c-yellow);--c-orange: var(--mp-c-orange);--c-pink: var(--mp-c-pink);--c-purple: var(--mp-c-purple);--c-violet: var(--mp-c-violet);--c-indigo: var(--mp-c-indigo);--c-light: var(--mp-c-light);--c-link: var(--mp-c-link);--c-mark: var(--mp-c-mark);--c-code: var(--mp-c-code);--c-black: var(--mp-c-black);--c-white: var(--mp-c-white);--c-transparent: var(--mp-c-transparent);--c-test: var(--mp-c-test);--border-radius: var(--mp-border-radius);--border-width: var(--mp-border-width);--border: var(--mp-border-width) solid var(--mp-c-border);--c-overlay-bg: var(--mp-c-overlay-bg);--pop-up-shadow: var(--mp-pop-up-shadow)}body *::-moz-selection{background:rgba(0,0,0,.1333333333)}body *::selection{background:rgba(0,0,0,.1333333333)}body[data-theme=dark] *::-moz-selection{background:rgba(255,255,255,.1333333333)}body[data-theme=dark] *::selection{background:rgba(255,255,255,.1333333333)}:root{--mp-ff-primary: Roboto, sans-serif;--mp-line-height: 1.5;--mp-fw-light: 300;--mp-fw-regular: 400;--mp-fw-bold: 500;--base-font-size: 16px}p,h1,h2,h3,h4,h5,h6{line-height:var(--mp-line-height)}body,.mumpui{font-family:var(--mp-ff-primary)}.mumpui{--ff-primary: var(--mp-ff-primary);--fw-light: var(--mp-fw-light);--fw-regular: var(--mp-fw-regular);--fw-bold: var(--mp-fw-bold)}.ff-primary{font-family:var(--mp-ff-primary)}.fw-light{font-weight:var(--mp-fw-light)}.fw-regular{font-weight:var(--mp-fw-regular)}.fw-bold{font-weight:var(--mp-fw-bold)}:root{font-size:var(--base-font-size)}@media (min-width: 360px){:root{font-size:calc(var(--base-font-size) * 1)}}@media (min-width: 380px){:root{font-size:calc(var(--base-font-size) * 1.125)}}@media (min-width: 400px){:root{font-size:calc(var(--base-font-size) * 1.25)}}@media (min-width: 600px){:root{font-size:calc(var(--base-font-size) * 1)}}@media (min-width: 700px){:root{font-size:calc(var(--base-font-size) * 1.125)}}@media (min-width: 800px){:root{font-size:calc(var(--base-font-size) * 1.25)}}@media (min-width: 900px){:root{font-size:calc(var(--base-font-size) * 1.375)}}@media (min-width: 1000px){:root{font-size:calc(var(--base-font-size) * 1.5)}}@media (min-width: 1200px){:root{font-size:calc(var(--base-font-size) * 1)}}@media (min-width: 1400px){:root{font-size:calc(var(--base-font-size) * 1.125)}}@media (min-width: 1600px){:root{font-size:calc(var(--base-font-size) * 1.25)}}@media (min-width: 2400px){:root{font-size:calc(var(--base-font-size) * 1.5)}}@media (min-width: 3200px){:root{font-size:calc(var(--base-font-size) * 2)}}body{--mp-input-font-size: .75rem;--mp-field-margin: 1.5rem;--mp-input-padding-left: .6rem;--mp-input-padding-top: .4rem;--mp-input-padding: var(--mp-input-padding-top) var(--mp-input-padding-left);--mp-border: var(--mp-border-width) solid var(--mp-c-border)}.mp-button{border-radius:var(--mp-border-radius);transition:all .3s ease;font-weight:var(--mp-fw-bold);border:none;padding:var(--mp-input-padding);font-size:var(--mp-input-font-size);background:transparent;color:var(--mp-c-font-dark)}.mp-button:hover{opacity:.7}.mp-button:disabled{cursor:not-allowed}.mp-button.mp-button-default{border:var(--mp-border-width) solid var(--mp-c-border)}.mp-button.mp-button-primary{color:var(--mp-c-bg);background:var(--mp-c-primary)}.mp-chain{display:flex;align-items:center;overflow:auto;margin:.5rem 0;font-size:.9rem}.mp-chain>div{display:flex;align-items:center}.mp-chain .mp-chain-label{white-space:pre}.mp-chain .mp-chain-seperator{padding:0 .25rem}.mp-checkbox,.mp-radio{-webkit-user-select:none;-moz-user-select:none;user-select:none;display:inline-block;padding:var(--mp-input-padding-top) 0;position:relative}.mp-checkbox label,.mp-radio label{margin-right:2rem}.mp-checkbox label:hover>.mp-checkbox-icon,.mp-checkbox label:hover>.mp-radio-icon,.mp-radio label:hover>.mp-checkbox-icon,.mp-radio label:hover>.mp-radio-icon{background:var(--mp-c-light)}.mp-checkbox input,.mp-radio input{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.mp-checkbox input:checked~.mp-checkbox-icon:after,.mp-checkbox input:checked~.mp-radio-icon:after,.mp-radio input:checked~.mp-checkbox-icon:after,.mp-radio input:checked~.mp-radio-icon:after{display:block}.mp-checkbox .mp-checkbox-icon,.mp-checkbox .mp-radio-icon,.mp-radio .mp-checkbox-icon,.mp-radio .mp-radio-icon{position:absolute;top:50%;transform:translateY(-50%);left:0;height:18px;width:18px;border-radius:calc(var(--mp-border-radius) / 2);border:2px solid var(--mp-c-border)}.mp-checkbox .mp-radio-icon,.mp-radio .mp-radio-icon{border-radius:50%}.mp-checkbox .mp-checkbox-icon:after,.mp-radio .mp-checkbox-icon:after{display:none;position:absolute;content:"";left:4px;top:1px;width:6px;height:10px;border:solid var(--mp-c-primary);border-width:0 2px 2px 0;transform:rotate(45deg);animation:mp-check .3s ease forwards}@keyframes mp-check{0%{transform:rotate(45deg) scale(0) translate(-1rem,-1rem)}to{transform:rotate(45deg) scale(1) translate(0)}}.mp-checkbox .mp-radio-icon:after,.mp-radio .mp-radio-icon:after{display:none;position:absolute;content:"";left:3px;top:3px;width:8px;height:8px;background:var(--mp-c-primary);border-radius:50%;animation:mp-radio .3s ease forwards}@keyframes mp-radio{0%{transform:scale(0)}to{transform:scale(1)}}.mp-checkbox .mp-checkbox-label,.mp-checkbox .mp-radio-label,.mp-radio .mp-checkbox-label,.mp-radio .mp-radio-label{font-size:.8rem;color:var(--mp-c-font);margin-left:1.5rem}.mp-code{margin:1rem 0;background:var(--mp-c-light)}.mp-code pre{overflow:auto;background:var(--mp-c-light);cursor:text;margin:0;padding:1rem}.mp-code pre code{background:transparent!important;color:var(--mp-c-font)!important;margin:0;padding:0;-webkit-user-select:unset;-moz-user-select:unset;user-select:unset}.mp-color-picker .mp-color-picker-swatch{padding:0 calc(var(--mp-input-padding-left) / 2)}.mp-color-picker .mp-color-picker-swatch::-webkit-color-swatch{border-radius:calc(var(--mp-border-radius) / 2);border:var(--mp-border-width) solid var(--mp-c-border)}.mp-color-picker .mp-color-picker-text{letter-spacing:.1rem;padding-left:0}.mp-confirm{width:100%;height:100%;position:fixed;overflow:auto;top:0;left:0;background:var(--mp-c-overlay-bg);z-index:1000000;padding:1rem;text-align:center}.mp-confirm .mp-confirm-dialog{background:var(--mp-c-bg);width:calc(100% - 2rem);max-width:600px;border-radius:var(--mp-border-radius);padding:1.5rem;position:fixed;left:50%;transform:translate(-50%);animation:mp-confirm-slide-in .2s ease forwards}@keyframes mp-confirm-slide-in{0%{top:6rem;opacity:0}to{top:4rem;opacity:1}}.mp-confirm .mp-confirm-dialog .mp-confirm-title{font-size:1rem;color:var(--mp-c-font-dark);text-align:left}.mp-confirm .mp-confirm-dialog .mp-confirm-title svg{width:1.25rem;height:1.25rem;margin-right:.5rem;vertical-align:text-top;opacity:.9}.mp-confirm .mp-confirm-dialog .mp-confirm-description{font-size:.8rem;margin-top:.75rem;color:var(--mp-c-font-light);text-align:left}.mp-confirm .mp-confirm-dialog .mp-confirm-buttons{margin-top:1.5rem;display:flex;justify-content:flex-end}.mp-dashboard{width:100%;margin:auto;display:flex;flex-direction:row}.mp-dashboard-sidebar{position:sticky;top:0;flex-shrink:0;width:100%;max-width:15rem;display:flex;flex-direction:column;padding:0 1rem;height:100vh;overflow:auto}.mp-dashboard-sidebar>div{overflow:visible}.mp-dashboard-sidebar::-webkit-scrollbar{display:none}.mp-dashboard-expandable{display:none;position:fixed;width:100vw;background:var(--mp-c-overlay-bg);z-index:100000;height:100vh;overflow:auto}.mp-dashboard-expandable>div{overflow:visible;max-width:70vw;background:var(--mp-c-bg);min-height:100%;translate:-100%;animation:mp-dashboard-expandable-slide-in .3s forwards}@keyframes mp-dashboard-expandable-slide-in{to{translate:0%}}.mp-dashboard-sidebar-icon{position:sticky;top:0;background:var(--mp-c-bg);z-index:1;margin-bottom:1rem;padding:2rem;text-align:center}.mp-dashboard-sidebar-icon img{width:100%;max-width:8rem}.mp-dashboard-content{width:100%;display:flex;flex-direction:column;min-height:100vh}.mp-dashboard-header,.mp-dashboard-body,.mp-dashboard-footer{padding:1rem}.mp-dashboard-header{position:sticky;top:0;border-bottom:var(--mp-border-width) solid var(--mp-c-border);background:var(--mp-c-bg);z-index:10000;padding:2rem 1rem}.mp-dashboard-header-row{display:flex;align-items:center;justify-content:space-between}.mp-dashboard-header-left{display:flex;align-items:baseline}.mp-dashboard-icon{color:var(--mp-c-font-light);margin-right:.5rem;font-size:1.2rem}.mp-dashboard-expandable-icon{display:none}.mp-dashboard-expandable-icon svg{width:1.25rem;height:1.25rem;margin-right:.5rem}.mp-dashboard-title{color:var(--mp-c-font-dark);font-size:1.4rem}.mp-dashboard-info{color:var(--mp-c-font-light);margin-left:.5rem;font-size:.8rem}.mp-dashboard-body-search-and-filter{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.mp-dashboard-body{flex-grow:1}.mp-dashboard-footer{position:sticky;bottom:0;border-top:var(--mp-border-width) solid var(--mp-c-border);display:flex;flex-direction:column;justify-content:space-between;background:var(--mp-c-bg);z-index:10000}.mp-dashboard-footer-buttons{display:flex;align-items:center;justify-content:space-between}@media (max-width: 1199px){.mp-dashboard-sidebar{display:none}.mp-dashboard-expandable,.mp-dashboard-expandable-icon{display:block}.mp-dashboard-icon{display:none}.mp-dashboard-header{padding:1rem}.mp-dashboard-content{width:100%}.mp-dashboard-info{display:block;margin-left:0}}.mp-dashboard-back{position:fixed;top:0;left:0;padding:1rem;height:100vh;display:flex;align-items:center;transition:all .3s ease;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mp-dashboard-back:hover{box-shadow:var(--mp-pop-up-shadow);cursor:pointer}.mp-divider{display:flex;align-items:center;gap:1rem;margin:calc(2 * var(--mp-field-margin)) 0;overflow:hidden;width:100%}.mp-divider .mp-divider-line{border-bottom:calc(var(--mp-border-width) * 2) solid var(--mp-c-border);width:100vw}.mp-divider .mp-divider-text{text-align:center;font-size:.75rem;white-space:pre}.mp-divider-empty{gap:0}.mp-field{margin:var(--mp-field-margin) 0}.mp-fields{display:flex;gap:1rem;margin:var(--mp-field-margin) 0}.mp-fields::-webkit-scrollbar{display:none}.mp-fields>div{width:100%;margin:0}.mp-file input{display:none}.mp-input,.mp-textarea,.mp-search,.mp-color-picker{border:var(--mp-input-border-width) solid var(--mp-c-input-border);box-shadow:var(--mp-input-box-shadow);border-radius:var(--mp-border-radius);color:var(--mp-c-font-dark);background:var(--mp-c-bg);font-size:var(--mp-input-font-size);transition:all .3s ease;position:relative;width:100%;display:flex;flex-direction:row;align-items:center}.mp-input input[type=time],.mp-input input[type=date],.mp-input input[type=month],.mp-textarea input[type=time],.mp-textarea input[type=date],.mp-textarea input[type=month],.mp-search input[type=time],.mp-search input[type=date],.mp-search input[type=month],.mp-color-picker input[type=time],.mp-color-picker input[type=date],.mp-color-picker input[type=month]{padding-right:.25rem!important}.mp-input input[type=time]::-webkit-calendar-picker-indicator,.mp-input input[type=date]::-webkit-calendar-picker-indicator,.mp-input input[type=month]::-webkit-calendar-picker-indicator,.mp-textarea input[type=time]::-webkit-calendar-picker-indicator,.mp-textarea input[type=date]::-webkit-calendar-picker-indicator,.mp-textarea input[type=month]::-webkit-calendar-picker-indicator,.mp-search input[type=time]::-webkit-calendar-picker-indicator,.mp-search input[type=date]::-webkit-calendar-picker-indicator,.mp-search input[type=month]::-webkit-calendar-picker-indicator,.mp-color-picker input[type=time]::-webkit-calendar-picker-indicator,.mp-color-picker input[type=date]::-webkit-calendar-picker-indicator,.mp-color-picker input[type=month]::-webkit-calendar-picker-indicator{font-size:.9rem;border-radius:4px}.mp-input input[type=date]::-webkit-calendar-picker-indicator,.mp-textarea input[type=date]::-webkit-calendar-picker-indicator,.mp-search input[type=date]::-webkit-calendar-picker-indicator,.mp-color-picker input[type=date]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiM4ODg4ODgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOSAzaC0xVjFoLTJ2Mkg4VjFINnYySDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWOWgxNHYxMHptMC0xMkg1VjVoMTR2MnpNNyAxMWg1djVIN3oiLz48L3N2Zz4=)}.mp-input input[type=month]::-webkit-calendar-picker-indicator,.mp-textarea input[type=month]::-webkit-calendar-picker-indicator,.mp-search input[type=month]::-webkit-calendar-picker-indicator,.mp-color-picker input[type=month]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBmaWxsPSIjODg4ODg4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiLz48L2c+PGc+PHBhdGggZD0iTTE5LDRoLTFWMmgtMnYySDhWMkg2djJINUMzLjg5LDQsMy4wMSw0LjksMy4wMSw2TDMsMjBjMCwxLjEsMC44OSwyLDIsMmgxNGMxLjEsMCwyLTAuOSwyLTJWNkMyMSw0LjksMjAuMSw0LDE5LDR6IE0xOSwyMCBINVYxMGgxNFYyMHogTTE5LDhINVY2aDE0Vjh6IE05LDE0SDd2LTJoMlYxNHogTTEzLDE0aC0ydi0yaDJWMTR6IE0xNywxNGgtMnYtMmgyVjE0eiBNOSwxOEg3di0yaDJWMTh6IE0xMywxOGgtMnYtMmgyVjE4eiBNMTcsMTggaC0ydi0yaDJWMTh6Ii8+PC9nPjwvc3ZnPg==)}.mp-input input[type=time]::-webkit-calendar-picker-indicator,.mp-textarea input[type=time]::-webkit-calendar-picker-indicator,.mp-search input[type=time]::-webkit-calendar-picker-indicator,.mp-color-picker input[type=time]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiM4ODg4ODgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyek0xMiAyMGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6bS41LTEzSDExdjZsNS4yNSAzLjE1Ljc1LTEuMjMtNC41LTIuNjd6Ii8+PC9zdmc+)}.mp-input input,.mp-input textarea,.mp-input .mp-input-value,.mp-textarea input,.mp-textarea textarea,.mp-textarea .mp-input-value,.mp-search input,.mp-search textarea,.mp-search .mp-input-value,.mp-color-picker input,.mp-color-picker textarea,.mp-color-picker .mp-input-value{width:100%;border:none;outline:none;padding:0;padding:var(--mp-input-padding);border-radius:var(--mp-border-radius);color:inherit}.mp-input input::-moz-placeholder,.mp-input textarea::-moz-placeholder,.mp-input .mp-input-value::-moz-placeholder,.mp-textarea input::-moz-placeholder,.mp-textarea textarea::-moz-placeholder,.mp-textarea .mp-input-value::-moz-placeholder,.mp-search input::-moz-placeholder,.mp-search textarea::-moz-placeholder,.mp-search .mp-input-value::-moz-placeholder,.mp-color-picker input::-moz-placeholder,.mp-color-picker textarea::-moz-placeholder,.mp-color-picker .mp-input-value::-moz-placeholder{color:var(--mp-c-font-light)}.mp-input input::placeholder,.mp-input textarea::placeholder,.mp-input .mp-input-value::placeholder,.mp-textarea input::placeholder,.mp-textarea textarea::placeholder,.mp-textarea .mp-input-value::placeholder,.mp-search input::placeholder,.mp-search textarea::placeholder,.mp-search .mp-input-value::placeholder,.mp-color-picker input::placeholder,.mp-color-picker textarea::placeholder,.mp-color-picker .mp-input-value::placeholder{color:var(--mp-c-font-light)}.mp-input:hover,.mp-textarea:hover,.mp-search:hover,.mp-color-picker:hover{border-color:var(--mp-c-input-border-hover);box-shadow:var(--mp-input-box-shadow-hover)}.mp-input:focus-within,.mp-textarea:focus-within,.mp-search:focus-within,.mp-color-picker:focus-within{border-color:var(--mp-c-input-border-active);box-shadow:var(--mp-input-box-shadow-active)}.mp-input .mp-prefix,.mp-input .mp-suffix,.mp-textarea .mp-prefix,.mp-textarea .mp-suffix,.mp-search .mp-prefix,.mp-search .mp-suffix,.mp-color-picker .mp-prefix,.mp-color-picker .mp-suffix{display:flex;justify-content:center;align-items:center;font-weight:var(--mp-fw-bold);color:var(--mp-c-font);background:var(--mp-c-light);padding:var(--mp-input-padding);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mp-input .mp-prefix,.mp-textarea .mp-prefix,.mp-search .mp-prefix,.mp-color-picker .mp-prefix{border-radius:var(--mp-border-radius) 0 0 var(--mp-border-radius)}.mp-input .mp-suffix,.mp-textarea .mp-suffix,.mp-search .mp-suffix,.mp-color-picker .mp-suffix{border-radius:0 var(--mp-border-radius) var(--mp-border-radius) 0}input:disabled,textarea:disabled,.mp-disabled{background:var(--mp-c-light)!important}input:disabled,input:disabled *,textarea:disabled,textarea:disabled *,.mp-disabled,.mp-disabled *{cursor:not-allowed!important}.mp-input-expanded-area{background:var(--mp-c-bg);border:var(--mp-border-width) solid var(--mp-c-border);border-radius:var(--mp-border-radius);position:absolute;width:100%;top:100%;z-index:100;max-height:30vh;overflow:auto;margin-top:.5rem;animation:mp-input-expanded-area-appear .3s ease forwards;-webkit-user-select:none;-moz-user-select:none;user-select:none;box-shadow:var(--mp-pop-up-shadow)}@keyframes mp-input-expanded-area-appear{0%{margin-top:2rem;opacity:0}to{margin-top:.5rem;opacity:1}}.mp-label{font-size:.75rem;font-weight:var(--mp-fw-bold);margin-bottom:.5rem}.mp-list{overflow:auto}.mp-loader{padding:2rem;text-align:center;width:100%}.mp-loader .mp-loader-text{font-size:.7rem;margin-top:.5rem}.mp-loader svg{width:2.5rem;transform-origin:center;animation:mp-loader-rotate 2s linear infinite}.mp-loader svg circle{fill:none;stroke:var(--mp-c-primary);stroke-width:2;stroke-dasharray:1,200;stroke-dashoffset:0;stroke-linecap:round;animation:mp-loader-dash 1.5s ease-in-out infinite}@keyframes mp-loader-rotate{to{transform:rotate(360deg)}}@keyframes mp-loader-dash{0%{stroke-dasharray:1,200;stroke-dashoffset:0}50%{stroke-dasharray:90,200;stroke-dashoffset:-35px}to{stroke-dashoffset:-125px}}.mp-md a{color:var(--mp-c-link)}.mp-md img{width:100%;margin:2rem 0}.mp-menu{width:100%;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:auto;font-size:.75rem}.mp-menu .mp-menu-item{display:flex;justify-content:space-between;align-items:center;cursor:pointer;margin:.25rem 0;padding:.4rem .8rem;border-radius:var(--mp-border-radius);color:var(--mp-c-font)}.mp-menu .mp-menu-item:hover{background:var(--mp-c-light)}.mp-menu .mp-menu-item .mp-menu-item-icon{margin-right:.5rem;font-size:.9rem;color:var(--mp-c-font-light)}.mp-menu .mp-menu-item .mp-menu-item-name{font-weight:var(--mp-fw-regular)}.mp-menu .mp-menu-item .mp-menu-item-expand-icon{width:.8rem;height:.8rem;margin-left:1rem}.mp-menu .mp-menu-item-group{margin-left:1rem}.mp-menu .mp-menu-item-active{background:var(--mp-c-light)}.mp-menu .mp-menu-item-active .mp-menu-item-name{color:var(--mp-c-primary);font-weight:var(--mp-fw-bold)}.mp-message{position:fixed;z-index:1000000;width:100%;padding:1rem;margin-left:50%;transform:translate(-50%);text-align:center;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:none}.mp-message-box{display:inline-flex;align-items:center;background:var(--mp-c-bg);border:var(--mp-border-width) solid var(--mp-c-border);padding:.25rem .5rem;border-radius:var(--mp-border-radius);max-width:600px;margin-bottom:.5rem;box-shadow:var(--mp-pop-up-shadow)}.mp-message-box .mp-message-icon{display:flex;padding:.25rem}.mp-message-box .mp-message-icon svg{width:.8rem;height:.8rem}.mp-message-box .mp-message-text{margin-left:.25rem;font-size:.7rem;color:var(--mp-c-font);text-align:left}.mp-message-box .mp-message-loader{animation:mp-message-loader .7s linear infinite}@keyframes mp-message-loader{to{transform:rotate(360deg)}}.mp-modal{width:100%;height:100%;position:fixed;top:0;left:0;background:var(--mp-c-overlay-bg);z-index:100000;text-align:left}.mp-modal .mp-modal-box{background:var(--mp-c-bg);width:calc(100% - 2rem);max-width:600px;border-radius:var(--mp-border-radius);position:fixed;left:50%;transform:translate(-50%);animation:mp-modal-slide-in .2s ease forwards;max-height:calc(100vh - 8rem);display:flex;flex-direction:column}.mp-modal .mp-modal-box>div{padding:1rem 1.25rem}.mp-modal .mp-modal-box .mp-modal-title{font-size:1rem;color:var(--c-font-dark);border-bottom:var(--border);display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.mp-modal .mp-modal-box .mp-modal-title svg{cursor:pointer}.mp-modal .mp-modal-box .mp-modal-title svg:hover{opacity:.7}.mp-modal .mp-modal-box .mp-modal-content{overflow:auto}.mp-modal .mp-modal-box .mp-modal-buttons{display:flex;align-items:center;justify-content:space-between;border-top:var(--border)}.mp-modal .mp-modal-box .mp-modal-buttons>div{display:flex;align-items:center;gap:1rem}@keyframes mp-modal-slide-in{0%{top:6rem;opacity:0}to{top:4rem;opacity:1}}.mp-edit-modal{padding:0 1rem!important;border-radius:0!important}.mp-edit-modal .mp-dashboard-header{padding:1rem 0}.mp-edit-modal .mp-dashboard-header .mp-dashboard-title{font-size:1.125rem}.mp-edit-modal .mp-dashboard-content{min-height:unset}.mp-edit-modal .mp-dashboard-back{display:none}.noScrollbar::-webkit-scrollbar{display:none!important}blockquote,.mp-note{margin:2rem 0;padding:1rem;border-radius:var(--mp-border-radius);border:var(--mp-border-width) solid;border-top-left-radius:0;border-bottom-left-radius:0;border-left-width:4px;border-color:var(--mp-c-border)}blockquote,blockquote>p,.mp-note,.mp-note>p{font-size:.9rem}blockquote.blue,.mp-note.blue{border-color:var(--mp-c-blue)}blockquote.green,.mp-note.green{border-color:var(--mp-c-green)}blockquote.red,.mp-note.red{border-color:var(--mp-c-red)}blockquote.yellow,.mp-note.yellow{border-color:#ffc40088;border-color:var(--mp-c-yellow)}blockquote.quote,.mp-note.quote{background:transparent;background:rgba(136,136,136,.0941176471);background:var(--mp-c-light);border-top:none;border-right:none;border-bottom:none}.mp-pagination{display:inline-flex;align-items:center;font-size:.9rem;margin:auto}.mp-pagination .mp-pagination-left-arrow,.mp-pagination .mp-pagination-right-arrow{padding:0 .5rem;margin:0 1rem;cursor:pointer;border:var(--mp-border-width) solid var(--mp-c-border);border-radius:var(--mp-border-radius);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mp-pagination .mp-pagination-left-arrow svg,.mp-pagination .mp-pagination-right-arrow svg{width:.7rem;height:.7rem}.mp-pagination .mp-pagination-page-number input,.mp-pagination .mp-pagination-pages input{border:none;outline:nono;padding:0;margin:0;text-align:center;color:var(--mp-c-font);border-bottom:var(--mp-input-border-width) solid var(--mp-c-input-border)}.mp-pagination .mp-pagination-page-number input::-moz-placeholder,.mp-pagination .mp-pagination-pages input::-moz-placeholder{color:var(--mp-c-font-light)}.mp-pagination .mp-pagination-page-number input::placeholder,.mp-pagination .mp-pagination-pages input::placeholder{color:var(--mp-c-font-light)}.mp-pagination .mp-pagination-pages{color:var(--mp-c-font-light);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mp-pagination .mp-pagination-seperator{color:var(--mp-c-font-light);padding:0 .25rem}.mp-pagination .mp-pagination-disabled{background:var(--mp-c-light);opacity:.7;cursor:default}.mp-placeholder{text-align:center;padding:4rem}.mp-placeholder svg{width:100%;max-width:8rem;fill:var(--mp-c-font-light);opacity:.3}.mp-placeholder .mp-placeholder-text{font-size:.8rem;color:var(--mp-c-font-light);-webkit-user-select:none;-moz-user-select:none;user-select:none;margin-top:.5rem}.mp-progress{position:fixed;background-color:var(--mp-c-light);top:0;left:0;width:100vw;height:8px}.mp-progress>div{background-color:var(--c-blue);height:8px}.mp-range input{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;background:var(--mp-c-input-border);height:4px}.mp-range input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--mp-c-font-dark);border-radius:var(--mp-border-radius);width:.75rem;height:.75rem;cursor:pointer}.mp-select{border:var(--mp-input-border-width) solid var(--mp-c-input-border);box-shadow:var(--mp-input-box-shadow);border-radius:var(--mp-border-radius);color:var(--mp-c-font-dark);background:var(--mp-c-bg);font-size:var(--mp-input-font-size);transition:all .3s ease;position:relative;width:100%}.mp-select input[type=time],.mp-select input[type=date],.mp-select input[type=month]{padding-right:.25rem!important}.mp-select input[type=time]::-webkit-calendar-picker-indicator,.mp-select input[type=date]::-webkit-calendar-picker-indicator,.mp-select input[type=month]::-webkit-calendar-picker-indicator{font-size:.9rem;border-radius:4px}.mp-select input[type=date]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiM4ODg4ODgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOSAzaC0xVjFoLTJ2Mkg4VjFINnYySDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWOWgxNHYxMHptMC0xMkg1VjVoMTR2MnpNNyAxMWg1djVIN3oiLz48L3N2Zz4=)}.mp-select input[type=month]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBmaWxsPSIjODg4ODg4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiLz48L2c+PGc+PHBhdGggZD0iTTE5LDRoLTFWMmgtMnYySDhWMkg2djJINUMzLjg5LDQsMy4wMSw0LjksMy4wMSw2TDMsMjBjMCwxLjEsMC44OSwyLDIsMmgxNGMxLjEsMCwyLTAuOSwyLTJWNkMyMSw0LjksMjAuMSw0LDE5LDR6IE0xOSwyMCBINVYxMGgxNFYyMHogTTE5LDhINVY2aDE0Vjh6IE05LDE0SDd2LTJoMlYxNHogTTEzLDE0aC0ydi0yaDJWMTR6IE0xNywxNGgtMnYtMmgyVjE0eiBNOSwxOEg3di0yaDJWMTh6IE0xMywxOGgtMnYtMmgyVjE4eiBNMTcsMTggaC0ydi0yaDJWMTh6Ii8+PC9nPjwvc3ZnPg==)}.mp-select input[type=time]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiM4ODg4ODgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyek0xMiAyMGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6bS41LTEzSDExdjZsNS4yNSAzLjE1Ljc1LTEuMjMtNC41LTIuNjd6Ii8+PC9zdmc+)}.mp-select select{border:var(--mp-input-border-width) solid var(--mp-c-input-border);box-shadow:var(--mp-input-box-shadow);border-radius:var(--mp-border-radius);color:var(--mp-c-font-dark);background:var(--mp-c-bg);font-size:var(--mp-input-font-size);transition:all .3s ease;position:relative;width:100%;border:none;box-shadow:none;background-color:transparent}.mp-select select input[type=time],.mp-select select input[type=date],.mp-select select input[type=month]{padding-right:.25rem!important}.mp-select select input[type=time]::-webkit-calendar-picker-indicator,.mp-select select input[type=date]::-webkit-calendar-picker-indicator,.mp-select select input[type=month]::-webkit-calendar-picker-indicator{font-size:.9rem;border-radius:4px}.mp-select select input[type=date]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiM4ODg4ODgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xOSAzaC0xVjFoLTJ2Mkg4VjFINnYySDVjLTEuMTEgMC0yIC45LTIgMnYxNGMwIDEuMS44OSAyIDIgMmgxNGMxLjEgMCAyLS45IDItMlY1YzAtMS4xLS45LTItMi0yem0wIDE2SDVWOWgxNHYxMHptMC0xMkg1VjVoMTR2MnpNNyAxMWg1djVIN3oiLz48L3N2Zz4=)}.mp-select select input[type=month]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBlbmFibGUtYmFja2dyb3VuZD0ibmV3IDAgMCAyNCAyNCIgaGVpZ2h0PSIyNHB4IiB2aWV3Qm94PSIwIDAgMjQgMjQiIHdpZHRoPSIyNHB4IiBmaWxsPSIjODg4ODg4Ij48Zz48cmVjdCBmaWxsPSJub25lIiBoZWlnaHQ9IjI0IiB3aWR0aD0iMjQiLz48L2c+PGc+PHBhdGggZD0iTTE5LDRoLTFWMmgtMnYySDhWMkg2djJINUMzLjg5LDQsMy4wMSw0LjksMy4wMSw2TDMsMjBjMCwxLjEsMC44OSwyLDIsMmgxNGMxLjEsMCwyLTAuOSwyLTJWNkMyMSw0LjksMjAuMSw0LDE5LDR6IE0xOSwyMCBINVYxMGgxNFYyMHogTTE5LDhINVY2aDE0Vjh6IE05LDE0SDd2LTJoMlYxNHogTTEzLDE0aC0ydi0yaDJWMTR6IE0xNywxNGgtMnYtMmgyVjE0eiBNOSwxOEg3di0yaDJWMTh6IE0xMywxOGgtMnYtMmgyVjE4eiBNMTcsMTggaC0ydi0yaDJWMTh6Ii8+PC9nPjwvc3ZnPg==)}.mp-select select input[type=time]::-webkit-calendar-picker-indicator{background-image:url(data:image/svg+xml;base64,CjxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBoZWlnaHQ9IjI0cHgiIHZpZXdCb3g9IjAgMCAyNCAyNCIgd2lkdGg9IjI0cHgiIGZpbGw9IiM4ODg4ODgiPjxwYXRoIGQ9Ik0wIDBoMjR2MjRIMFYweiIgZmlsbD0ibm9uZSIvPjxwYXRoIGQ9Ik0xMS45OSAyQzYuNDcgMiAyIDYuNDggMiAxMnM0LjQ3IDEwIDkuOTkgMTBDMTcuNTIgMjIgMjIgMTcuNTIgMjIgMTJTMTcuNTIgMiAxMS45OSAyek0xMiAyMGMtNC40MiAwLTgtMy41OC04LThzMy41OC04IDgtOCA4IDMuNTggOCA4LTMuNTggOC04IDh6bS41LTEzSDExdjZsNS4yNSAzLjE1Ljc1LTEuMjMtNC41LTIuNjd6Ii8+PC9zdmc+)}.mp-select .mp-select-single,.mp-select .mp-select-multi{padding:var(--mp-input-padding);border-radius:var(--mp-border-radius)}.mp-select .mp-select-single::-moz-placeholder,.mp-select .mp-select-multi::-moz-placeholder{color:var(--mp-c-font-light)}.mp-select .mp-select-single::placeholder,.mp-select .mp-select-multi::placeholder{color:var(--mp-c-font-light)}.mp-select .mp-select-single:disabled,.mp-select .mp-select-multi:disabled{background:var(--mp-c-light)}.mp-select .mp-select-single option,.mp-select .mp-select-multi option{background-color:var(--mp-c-bg)}.mp-select .mp-select-multi{display:flex;gap:calc(var(--mp-input-padding-left) / 2);flex-wrap:wrap}.mp-select-chip{padding-left:.5rem;background:var(--mp-c-light);border-radius:calc(var(--mp-border-radius) / 2);display:flex;align-items:center;-webkit-user-select:none;-moz-user-select:none;user-select:none}.mp-select-chip svg{width:1.5rem;height:1rem;cursor:pointer;padding:0 .5rem}.mp-select-area{display:flex;align-items:center;justify-content:space-between;border-bottom:var(--mp-border-width) solid var(--mp-c-border)}.mp-select-area .mp-select-search{border:none;outline:none;padding:var(--mp-input-padding);width:100%;border-radius:0;color:var(--mp-c-font-light)}.mp-select-area .mp-select-search::-moz-placeholder{color:var(--mp-c-font-light)}.mp-select-area .mp-select-search::placeholder{color:var(--mp-c-font-light)}.mp-select-area .mp-select-clear{cursor:pointer;padding:0 var(--mp-input-padding-left);font-size:var(--mp-input-font-size);color:var(--mp-c-font-light)}.mp-select-option{padding:.5rem 1rem;border-bottom:var(--mp-border-width) solid var(--mp-c-border)}.mp-select-option:hover,.mp-select-option:focus{background:var(--mp-c-light)}.mp-table-wrapper{overflow:auto}.mp-tabs{display:flex;overflow:auto;color:var(--mp-font);-webkit-user-select:none;-moz-user-select:none;user-select:none;margin:1rem 0}.mp-tabs::-webkit-scrollbar{display:none}.mp-tabs>div{padding:10px 20px;white-space:pre;cursor:pointer;border-bottom:2px solid transparent;transition:var(--transition);position:relative;text-align:center;font-size:16px}.mp-tabs>div:hover{color:var(--mp-c-primary)}.mp-tabs .mp-tab-active{color:var(--mp-c-primary);border-color:var(--mp-c-primary);font-weight:var(--mp-semi-bold)}.mp-tooltip{position:relative}.mp-tooltip:hover .mp-tooltip-label{animation:mp-tooltip-appear .3s ease forwards}.mp-tooltip .mp-tooltip-label{white-space:pre;background:var(--mp-c-bg);border:var(--mp-border-width) solid var(--mp-c-border);border-radius:var(--mp-border-radius);text-align:center;padding:.25rem .5rem;font-size:.7rem;position:absolute;opacity:0;z-index:100;box-shadow:var(--mp-pop-up-shadow);pointer-events:none}@keyframes mp-tooltip-appear{0%{opacity:0}to{opacity:1}}.mp-tooltip .mp-tooltip-top{bottom:calc(100% + .5rem);left:50%;transform:translate(-50%)}.mp-tooltip .mp-tooltip-right{left:calc(100% + .5rem);top:50%;transform:translateY(-50%)}.mp-tooltip .mp-tooltip-bottom{top:calc(100% + .5rem);left:50%;transform:translate(-50%)}.mp-tooltip .mp-tooltip-left{right:calc(100% + .5rem);top:50%;transform:translateY(-50%)}.icon,.material-icons-outlined{font-family:Material Icons Outlined;vertical-align:middle}body[data-theme=light] code[class*=language-],body[data-theme=light] pre[class*=language-]{color:#000;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}body[data-theme=light] pre[class*=language-]{position:relative;margin:.5em 0;overflow:visible;padding:1px}body[data-theme=light] pre[class*=language-]>code{position:relative;z-index:1;border-left:10px solid #358ccb;box-shadow:-1px 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,.04) 50%);background-size:3em 3em;background-origin:content-box;background-attachment:local}body[data-theme=light] code[class*=language-]{max-height:inherit;height:inherit;padding:0 1em;display:block;overflow:auto}body[data-theme=light] :not(pre)>code[class*=language-],body[data-theme=light] pre[class*=language-]{background-color:#fdfdfd;box-sizing:border-box;margin-bottom:1em}body[data-theme=light] :not(pre)>code[class*=language-]{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,.1);display:inline;white-space:normal}body[data-theme=light] pre[class*=language-]:after,body[data-theme=light] pre[class*=language-]:before{content:"";display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;transform:rotate(-2deg)}body[data-theme=light] pre[class*=language-]:after{right:.75em;left:auto;transform:rotate(2deg)}body[data-theme=light] .token.block-comment,body[data-theme=light] .token.cdata,body[data-theme=light] .token.comment,body[data-theme=light] .token.doctype,body[data-theme=light] .token.prolog{color:#7d8b99}body[data-theme=light] .token.punctuation{color:#5f6364}body[data-theme=light] .token.boolean,body[data-theme=light] .token.constant,body[data-theme=light] .token.deleted,body[data-theme=light] .token.function-name,body[data-theme=light] .token.number,body[data-theme=light] .token.property,body[data-theme=light] .token.symbol,body[data-theme=light] .token.tag{color:#c92c2c}body[data-theme=light] .token.attr-name,body[data-theme=light] .token.builtin,body[data-theme=light] .token.char,body[data-theme=light] .token.function,body[data-theme=light] .token.inserted,body[data-theme=light] .token.selector,body[data-theme=light] .token.string{color:#2f9c0a}body[data-theme=light] .token.entity,body[data-theme=light] .token.operator,body[data-theme=light] .token.url,body[data-theme=light] .token.variable{color:#a67f59;background:rgba(255,255,255,.5)}body[data-theme=light] .token.atrule,body[data-theme=light] .token.attr-value,body[data-theme=light] .token.class-name,body[data-theme=light] .token.keyword{color:#1990b8}body[data-theme=light] .token.important,body[data-theme=light] .token.regex{color:#e90}body[data-theme=light] .language-css .token.string,body[data-theme=light] .style .token.string{color:#a67f59;background:rgba(255,255,255,.5)}body[data-theme=light] .token.important{font-weight:400}body[data-theme=light] .token.bold{font-weight:700}body[data-theme=light] .token.italic{font-style:italic}body[data-theme=light] .token.entity{cursor:help}body[data-theme=light] .token.namespace{opacity:.7}@media screen and (max-width: 767px){body[data-theme=light] pre[class*=language-]:after,body[data-theme=light] pre[class*=language-]:before{bottom:14px;box-shadow:none}}body[data-theme=light] pre[class*=language-].line-numbers.line-numbers{padding-left:0}body[data-theme=light] pre[class*=language-].line-numbers.line-numbers code{padding-left:3.8em}body[data-theme=light] pre[class*=language-].line-numbers.line-numbers .line-numbers-rows{left:0}body[data-theme=light] pre[class*=language-][data-line]{padding-top:0;padding-bottom:0;padding-left:0}body[data-theme=light] pre[data-line] code{position:relative;padding-left:4em}body[data-theme=light] pre .line-highlight{margin-top:0}body[data-theme=dark] code[class*=language-],body[data-theme=dark] pre[class*=language-]{color:#ccc;background:0 0;font-family:Consolas,Monaco,Andale Mono,Ubuntu Mono,monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;hyphens:none}body[data-theme=dark] pre[class*=language-]{padding:1em;margin:.5em 0;overflow:auto}body[data-theme=dark] :not(pre)>code[class*=language-],body[data-theme=dark] pre[class*=language-]{background:#2d2d2d}body[data-theme=dark] :not(pre)>code[class*=language-]{padding:.1em;border-radius:.3em;white-space:normal}body[data-theme=dark] .token.block-comment,body[data-theme=dark] .token.cdata,body[data-theme=dark] .token.comment,body[data-theme=dark] .token.doctype,body[data-theme=dark] .token.prolog{color:#999}body[data-theme=dark] .token.punctuation{color:#ccc}body[data-theme=dark] .token.attr-name,body[data-theme=dark] .token.deleted,body[data-theme=dark] .token.namespace,body[data-theme=dark] .token.tag{color:#e2777a}body[data-theme=dark] .token.function-name{color:#6196cc}body[data-theme=dark] .token.boolean,body[data-theme=dark] .token.function,body[data-theme=dark] .token.number{color:#f08d49}body[data-theme=dark] .token.class-name,body[data-theme=dark] .token.constant,body[data-theme=dark] .token.property,body[data-theme=dark] .token.symbol{color:#f8c555}body[data-theme=dark] .token.atrule,body[data-theme=dark] .token.builtin,body[data-theme=dark] .token.important,body[data-theme=dark] .token.keyword,body[data-theme=dark] .token.selector{color:#cc99cd}body[data-theme=dark] .token.attr-value,body[data-theme=dark] .token.char,body[data-theme=dark] .token.regex,body[data-theme=dark] .token.string,body[data-theme=dark] .token.variable{color:#7ec699}body[data-theme=dark] .token.entity,body[data-theme=dark] .token.operator,body[data-theme=dark] .token.url{color:#67cdcc}body[data-theme=dark] .token.bold,body[data-theme=dark] .token.important{font-weight:700}body[data-theme=dark] .token.italic{font-style:italic}body[data-theme=dark] .token.entity{cursor:help}body[data-theme=dark] .token.inserted{color:green}:root{--mp-ff-code: Roboto Mono, monospace;--mp-fs-code: .75rem;--mp-fw-code: 500}code{font-family:var(--mp-ff-code);font-size:var(--mp-fs-code);font-weight:var(--mp-fw-code);color:var(--mp-c-code);border-radius:calc(var(--mp-border-radius) / 2);padding:0 .25rem;margin:0 .1rem;background-color:#f0f0f0}body[data-theme=dark] code{background-color:#282828}html{scroll-behavior:smooth}body{--c-scrollbar-bg: #f8f8f8;--c-scrollbar-thumb: #d8d8d8;--c-scrollbar-thumb-hover: #b8b8b8}body[data-theme=dark]{--c-scrollbar-bg: #181818;--c-scrollbar-thumb: #282828;--c-scrollbar-thumb-hover: #484848}::-webkit-scrollbar{width:.4rem;height:.4rem}::-webkit-scrollbar-track{background:var(--c-scrollbar-bg)}::-webkit-scrollbar-thumb{background:var(--c-scrollbar-thumb);border-radius:var(--mp-border-radius)}::-webkit-scrollbar-thumb:hover{background:var(--c-scrollbar-thumb-hover)}@media (max-width: 1080px){::-webkit-scrollbar{display:none}} diff --git a/assets/index-102c3e30.js b/assets/index-102c3e30.js new file mode 100644 index 00000000..bf41bcdc --- /dev/null +++ b/assets/index-102c3e30.js @@ -0,0 +1,1209 @@ +var Np=Object.defineProperty;var Ip=(e,t,n)=>t in e?Np(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n;var se=(e,t,n)=>(Ip(e,typeof t!="symbol"?t+"":t,n),n);function Pp(e,t){for(var n=0;nr[i]})}}}return Object.freeze(Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}))}(function(){const t=document.createElement("link").relList;if(t&&t.supports&&t.supports("modulepreload"))return;for(const i of document.querySelectorAll('link[rel="modulepreload"]'))r(i);new MutationObserver(i=>{for(const l of i)if(l.type==="childList")for(const s of l.addedNodes)s.tagName==="LINK"&&s.rel==="modulepreload"&&r(s)}).observe(document,{childList:!0,subtree:!0});function n(i){const l={};return i.integrity&&(l.integrity=i.integrity),i.referrerPolicy&&(l.referrerPolicy=i.referrerPolicy),i.crossOrigin==="use-credentials"?l.credentials="include":i.crossOrigin==="anonymous"?l.credentials="omit":l.credentials="same-origin",l}function r(i){if(i.ep)return;i.ep=!0;const l=n(i);fetch(i.href,l)}})();function Tp(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var dd={exports:{}},el={},fd={exports:{}},G={};/** + * @license React + * react.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var zi=Symbol.for("react.element"),Lp=Symbol.for("react.portal"),Rp=Symbol.for("react.fragment"),Fp=Symbol.for("react.strict_mode"),Dp=Symbol.for("react.profiler"),zp=Symbol.for("react.provider"),$p=Symbol.for("react.context"),Ap=Symbol.for("react.forward_ref"),Op=Symbol.for("react.suspense"),Up=Symbol.for("react.memo"),Bp=Symbol.for("react.lazy"),Ec=Symbol.iterator;function Vp(e){return e===null||typeof e!="object"?null:(e=Ec&&e[Ec]||e["@@iterator"],typeof e=="function"?e:null)}var hd={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},pd=Object.assign,md={};function Fr(e,t,n){this.props=e,this.context=t,this.refs=md,this.updater=n||hd}Fr.prototype.isReactComponent={};Fr.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};Fr.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function gd(){}gd.prototype=Fr.prototype;function da(e,t,n){this.props=e,this.context=t,this.refs=md,this.updater=n||hd}var fa=da.prototype=new gd;fa.constructor=da;pd(fa,Fr.prototype);fa.isPureReactComponent=!0;var Mc=Array.isArray,yd=Object.prototype.hasOwnProperty,ha={current:null},vd={key:!0,ref:!0,__self:!0,__source:!0};function xd(e,t,n){var r,i={},l=null,s=null;if(t!=null)for(r in t.ref!==void 0&&(s=t.ref),t.key!==void 0&&(l=""+t.key),t)yd.call(t,r)&&!vd.hasOwnProperty(r)&&(i[r]=t[r]);var a=arguments.length-2;if(a===1)i.children=n;else if(1>>1,be=T[ge];if(0>>1;gei(Ut,Q))Lti(nr,Ut)?(T[ge]=nr,T[Lt]=Q,ge=Lt):(T[ge]=Ut,T[ae]=Q,ge=ae);else if(Lti(nr,Q))T[ge]=nr,T[Lt]=Q,ge=Lt;else break e}}return A}function i(T,A){var Q=T.sortIndex-A.sortIndex;return Q!==0?Q:T.id-A.id}if(typeof performance=="object"&&typeof performance.now=="function"){var l=performance;e.unstable_now=function(){return l.now()}}else{var s=Date,a=s.now();e.unstable_now=function(){return s.now()-a}}var c=[],u=[],d=1,h=null,m=3,x=!1,w=!1,j=!1,N=typeof setTimeout=="function"?setTimeout:null,g=typeof clearTimeout=="function"?clearTimeout:null,f=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function y(T){for(var A=n(u);A!==null;){if(A.callback===null)r(u);else if(A.startTime<=T)r(u),A.sortIndex=A.expirationTime,t(c,A);else break;A=n(u)}}function p(T){if(j=!1,y(T),!w)if(n(c)!==null)w=!0,Ae(b);else{var A=n(u);A!==null&&Tt(p,A.startTime-T)}}function b(T,A){w=!1,j&&(j=!1,g(P),P=-1),x=!0;var Q=m;try{for(y(A),h=n(c);h!==null&&(!(h.expirationTime>A)||T&&!we());){var ge=h.callback;if(typeof ge=="function"){h.callback=null,m=h.priorityLevel;var be=ge(h.expirationTime<=A);A=e.unstable_now(),typeof be=="function"?h.callback=be:h===n(c)&&r(c),y(A)}else r(c);h=n(c)}if(h!==null)var tr=!0;else{var ae=n(u);ae!==null&&Tt(p,ae.startTime-A),tr=!1}return tr}finally{h=null,m=Q,x=!1}}var E=!1,M=null,P=-1,U=5,$=-1;function we(){return!(e.unstable_now()-$T||125ge?(T.sortIndex=Q,t(u,T),n(c)===null&&T===n(u)&&(j?(g(P),P=-1):j=!0,Tt(p,Q-ge))):(T.sortIndex=be,t(c,T),w||x||(w=!0,Ae(b))),T},e.unstable_shouldYield=we,e.unstable_wrapCallback=function(T){var A=m;return function(){var Q=m;m=A;try{return T.apply(this,arguments)}finally{m=Q}}}})(Sd);kd.exports=Sd;var tm=kd.exports;/** + * @license React + * react-dom.production.min.js + * + * Copyright (c) Facebook, Inc. and its affiliates. + * + * This source code is licensed under the MIT license found in the + * LICENSE file in the root directory of this source tree. + */var Cd=S,at=tm;function I(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,n=1;n"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),os=Object.prototype.hasOwnProperty,nm=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Nc={},Ic={};function rm(e){return os.call(Ic,e)?!0:os.call(Nc,e)?!1:nm.test(e)?Ic[e]=!0:(Nc[e]=!0,!1)}function im(e,t,n,r){if(n!==null&&n.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return r?!1:n!==null?!n.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function om(e,t,n,r){if(t===null||typeof t>"u"||im(e,t,n,r))return!0;if(r)return!1;if(n!==null)switch(n.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function Ge(e,t,n,r,i,l,s){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=r,this.attributeNamespace=i,this.mustUseProperty=n,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=s}var $e={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){$e[e]=new Ge(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];$e[t]=new Ge(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){$e[e]=new Ge(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){$e[e]=new Ge(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){$e[e]=new Ge(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){$e[e]=new Ge(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){$e[e]=new Ge(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){$e[e]=new Ge(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){$e[e]=new Ge(e,5,!1,e.toLowerCase(),null,!1,!1)});var ma=/[\-:]([a-z])/g;function ga(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(ma,ga);$e[t]=new Ge(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(ma,ga);$e[t]=new Ge(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(ma,ga);$e[t]=new Ge(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){$e[e]=new Ge(e,1,!1,e.toLowerCase(),null,!1,!1)});$e.xlinkHref=new Ge("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){$e[e]=new Ge(e,1,!1,e.toLowerCase(),null,!0,!0)});function ya(e,t,n,r){var i=$e.hasOwnProperty(t)?$e[t]:null;(i!==null?i.type!==0:r||!(2a||i[s]!==l[a]){var c=` +`+i[s].replace(" at new "," at ");return e.displayName&&c.includes("")&&(c=c.replace("",e.displayName)),c}while(1<=s&&0<=a);break}}}finally{Pl=!1,Error.prepareStackTrace=n}return(e=e?e.displayName||e.name:"")?ni(e):""}function lm(e){switch(e.tag){case 5:return ni(e.type);case 16:return ni("Lazy");case 13:return ni("Suspense");case 19:return ni("SuspenseList");case 0:case 2:case 15:return e=Tl(e.type,!1),e;case 11:return e=Tl(e.type.render,!1),e;case 1:return e=Tl(e.type,!0),e;default:return""}}function cs(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case lr:return"Fragment";case or:return"Portal";case ls:return"Profiler";case va:return"StrictMode";case ss:return"Suspense";case as:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Md:return(e.displayName||"Context")+".Consumer";case Ed:return(e._context.displayName||"Context")+".Provider";case xa:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case wa:return t=e.displayName||null,t!==null?t:cs(e.type)||"Memo";case fn:t=e._payload,e=e._init;try{return cs(e(t))}catch{}}return null}function sm(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return cs(t);case 8:return t===va?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Mn(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Nd(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function am(e){var t=Nd(e)?"checked":"value",n=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),r=""+e[t];if(!e.hasOwnProperty(t)&&typeof n<"u"&&typeof n.get=="function"&&typeof n.set=="function"){var i=n.get,l=n.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return i.call(this)},set:function(s){r=""+s,l.call(this,s)}}),Object.defineProperty(e,t,{enumerable:n.enumerable}),{getValue:function(){return r},setValue:function(s){r=""+s},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Ji(e){e._valueTracker||(e._valueTracker=am(e))}function Id(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var n=t.getValue(),r="";return e&&(r=Nd(e)?e.checked?"true":"false":e.value),e=r,e!==n?(t.setValue(e),!0):!1}function Eo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function us(e,t){var n=t.checked;return xe({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:n??e._wrapperState.initialChecked})}function Tc(e,t){var n=t.defaultValue==null?"":t.defaultValue,r=t.checked!=null?t.checked:t.defaultChecked;n=Mn(t.value!=null?t.value:n),e._wrapperState={initialChecked:r,initialValue:n,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Pd(e,t){t=t.checked,t!=null&&ya(e,"checked",t,!1)}function ds(e,t){Pd(e,t);var n=Mn(t.value),r=t.type;if(n!=null)r==="number"?(n===0&&e.value===""||e.value!=n)&&(e.value=""+n):e.value!==""+n&&(e.value=""+n);else if(r==="submit"||r==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?fs(e,t.type,n):t.hasOwnProperty("defaultValue")&&fs(e,t.type,Mn(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function Lc(e,t,n){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var r=t.type;if(!(r!=="submit"&&r!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,n||t===e.value||(e.value=t),e.defaultValue=t}n=e.name,n!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,n!==""&&(e.name=n)}function fs(e,t,n){(t!=="number"||Eo(e.ownerDocument)!==e)&&(n==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+n&&(e.defaultValue=""+n))}var ri=Array.isArray;function wr(e,t,n,r){if(e=e.options,t){t={};for(var i=0;i"+t.valueOf().toString()+"",t=Gi.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function vi(e,t){if(t){var n=e.firstChild;if(n&&n===e.lastChild&&n.nodeType===3){n.nodeValue=t;return}}e.textContent=t}var li={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},cm=["Webkit","ms","Moz","O"];Object.keys(li).forEach(function(e){cm.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),li[t]=li[e]})});function Fd(e,t,n){return t==null||typeof t=="boolean"||t===""?"":n||typeof t!="number"||t===0||li.hasOwnProperty(e)&&li[e]?(""+t).trim():t+"px"}function Dd(e,t){e=e.style;for(var n in t)if(t.hasOwnProperty(n)){var r=n.indexOf("--")===0,i=Fd(n,t[n],r);n==="float"&&(n="cssFloat"),r?e.setProperty(n,i):e[n]=i}}var um=xe({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ms(e,t){if(t){if(um[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(I(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(I(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(I(61))}if(t.style!=null&&typeof t.style!="object")throw Error(I(62))}}function gs(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var ys=null;function ja(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var vs=null,jr=null,kr=null;function Dc(e){if(e=Ui(e)){if(typeof vs!="function")throw Error(I(280));var t=e.stateNode;t&&(t=ol(t),vs(e.stateNode,e.type,t))}}function zd(e){jr?kr?kr.push(e):kr=[e]:jr=e}function $d(){if(jr){var e=jr,t=kr;if(kr=jr=null,Dc(e),t)for(e=0;e>>=0,e===0?32:31-(jm(e)/km|0)|0}var Xi=64,qi=4194304;function ii(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function Io(e,t){var n=e.pendingLanes;if(n===0)return 0;var r=0,i=e.suspendedLanes,l=e.pingedLanes,s=n&268435455;if(s!==0){var a=s&~i;a!==0?r=ii(a):(l&=s,l!==0&&(r=ii(l)))}else s=n&~i,s!==0?r=ii(s):l!==0&&(r=ii(l));if(r===0)return 0;if(t!==0&&t!==r&&!(t&i)&&(i=r&-r,l=t&-t,i>=l||i===16&&(l&4194240)!==0))return t;if(r&4&&(r|=n&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=r;0n;n++)t.push(e);return t}function Ai(e,t,n){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-_t(t),e[t]=n}function Em(e,t){var n=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var r=e.eventTimes;for(e=e.expirationTimes;0=ai),Wc=String.fromCharCode(32),Kc=!1;function of(e,t){switch(e){case"keyup":return e0.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function lf(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var sr=!1;function n0(e,t){switch(e){case"compositionend":return lf(t);case"keypress":return t.which!==32?null:(Kc=!0,Wc);case"textInput":return e=t.data,e===Wc&&Kc?null:e;default:return null}}function r0(e,t){if(sr)return e==="compositionend"||!Na&&of(e,t)?(e=nf(),go=Ea=gn=null,sr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:n,offset:t-e};e=r}e:{for(;n;){if(n.nextSibling){n=n.nextSibling;break e}n=n.parentNode}n=void 0}n=Gc(n)}}function uf(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?uf(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function df(){for(var e=window,t=Eo();t instanceof e.HTMLIFrameElement;){try{var n=typeof t.contentWindow.location.href=="string"}catch{n=!1}if(n)e=t.contentWindow;else break;t=Eo(e.document)}return t}function Ia(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function f0(e){var t=df(),n=e.focusedElem,r=e.selectionRange;if(t!==n&&n&&n.ownerDocument&&uf(n.ownerDocument.documentElement,n)){if(r!==null&&Ia(n)){if(t=r.start,e=r.end,e===void 0&&(e=t),"selectionStart"in n)n.selectionStart=t,n.selectionEnd=Math.min(e,n.value.length);else if(e=(t=n.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var i=n.textContent.length,l=Math.min(r.start,i);r=r.end===void 0?l:Math.min(r.end,i),!e.extend&&l>r&&(i=r,r=l,l=i),i=Xc(n,l);var s=Xc(n,r);i&&s&&(e.rangeCount!==1||e.anchorNode!==i.node||e.anchorOffset!==i.offset||e.focusNode!==s.node||e.focusOffset!==s.offset)&&(t=t.createRange(),t.setStart(i.node,i.offset),e.removeAllRanges(),l>r?(e.addRange(t),e.extend(s.node,s.offset)):(t.setEnd(s.node,s.offset),e.addRange(t)))}}for(t=[],e=n;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof n.focus=="function"&&n.focus(),n=0;n=document.documentMode,ar=null,Cs=null,ui=null,bs=!1;function qc(e,t,n){var r=n.window===n?n.document:n.nodeType===9?n:n.ownerDocument;bs||ar==null||ar!==Eo(r)||(r=ar,"selectionStart"in r&&Ia(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),ui&&Ci(ui,r)||(ui=r,r=Lo(Cs,"onSelect"),0dr||(e.current=Ps[dr],Ps[dr]=null,dr--)}function ue(e,t){dr++,Ps[dr]=e.current,e.current=t}var _n={},We=In(_n),et=In(!1),Wn=_n;function _r(e,t){var n=e.type.contextTypes;if(!n)return _n;var r=e.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===t)return r.__reactInternalMemoizedMaskedChildContext;var i={},l;for(l in n)i[l]=t[l];return r&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=i),i}function tt(e){return e=e.childContextTypes,e!=null}function Fo(){he(et),he(We)}function ou(e,t,n){if(We.current!==_n)throw Error(I(168));ue(We,t),ue(et,n)}function wf(e,t,n){var r=e.stateNode;if(t=t.childContextTypes,typeof r.getChildContext!="function")return n;r=r.getChildContext();for(var i in r)if(!(i in t))throw Error(I(108,sm(e)||"Unknown",i));return xe({},n,r)}function Do(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||_n,Wn=We.current,ue(We,e),ue(et,et.current),!0}function lu(e,t,n){var r=e.stateNode;if(!r)throw Error(I(169));n?(e=wf(e,t,Wn),r.__reactInternalMemoizedMergedChildContext=e,he(et),he(We),ue(We,e)):he(et),ue(et,n)}var Kt=null,ll=!1,Kl=!1;function jf(e){Kt===null?Kt=[e]:Kt.push(e)}function C0(e){ll=!0,jf(e)}function Pn(){if(!Kl&&Kt!==null){Kl=!0;var e=0,t=ie;try{var n=Kt;for(ie=1;e>=s,i-=s,Yt=1<<32-_t(t)+i|n<P?(U=M,M=null):U=M.sibling;var $=m(g,M,y[P],p);if($===null){M===null&&(M=U);break}e&&M&&$.alternate===null&&t(g,M),f=l($,f,P),E===null?b=$:E.sibling=$,E=$,M=U}if(P===y.length)return n(g,M),me&&Fn(g,P),b;if(M===null){for(;PP?(U=M,M=null):U=M.sibling;var we=m(g,M,$.value,p);if(we===null){M===null&&(M=U);break}e&&M&&we.alternate===null&&t(g,M),f=l(we,f,P),E===null?b=we:E.sibling=we,E=we,M=U}if($.done)return n(g,M),me&&Fn(g,P),b;if(M===null){for(;!$.done;P++,$=y.next())$=h(g,$.value,p),$!==null&&(f=l($,f,P),E===null?b=$:E.sibling=$,E=$);return me&&Fn(g,P),b}for(M=r(g,M);!$.done;P++,$=y.next())$=x(M,g,P,$.value,p),$!==null&&(e&&$.alternate!==null&&M.delete($.key===null?P:$.key),f=l($,f,P),E===null?b=$:E.sibling=$,E=$);return e&&M.forEach(function(Z){return t(g,Z)}),me&&Fn(g,P),b}function N(g,f,y,p){if(typeof y=="object"&&y!==null&&y.type===lr&&y.key===null&&(y=y.props.children),typeof y=="object"&&y!==null){switch(y.$$typeof){case Yi:e:{for(var b=y.key,E=f;E!==null;){if(E.key===b){if(b=y.type,b===lr){if(E.tag===7){n(g,E.sibling),f=i(E,y.props.children),f.return=g,g=f;break e}}else if(E.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===fn&&hu(b)===E.type){n(g,E.sibling),f=i(E,y.props),f.ref=Jr(g,E,y),f.return=g,g=f;break e}n(g,E);break}else t(g,E);E=E.sibling}y.type===lr?(f=Hn(y.props.children,g.mode,p,y.key),f.return=g,g=f):(p=Co(y.type,y.key,y.props,null,g.mode,p),p.ref=Jr(g,f,y),p.return=g,g=p)}return s(g);case or:e:{for(E=y.key;f!==null;){if(f.key===E)if(f.tag===4&&f.stateNode.containerInfo===y.containerInfo&&f.stateNode.implementation===y.implementation){n(g,f.sibling),f=i(f,y.children||[]),f.return=g,g=f;break e}else{n(g,f);break}else t(g,f);f=f.sibling}f=es(y,g.mode,p),f.return=g,g=f}return s(g);case fn:return E=y._init,N(g,f,E(y._payload),p)}if(ri(y))return w(g,f,y,p);if(Hr(y))return j(g,f,y,p);oo(g,y)}return typeof y=="string"&&y!==""||typeof y=="number"?(y=""+y,f!==null&&f.tag===6?(n(g,f.sibling),f=i(f,y),f.return=g,g=f):(n(g,f),f=Zl(y,g.mode,p),f.return=g,g=f),s(g)):n(g,f)}return N}var Ir=Nf(!0),If=Nf(!1),Bi={},Ot=In(Bi),_i=In(Bi),Ni=In(Bi);function Un(e){if(e===Bi)throw Error(I(174));return e}function Aa(e,t){switch(ue(Ni,t),ue(_i,e),ue(Ot,Bi),e=t.nodeType,e){case 9:case 11:t=(t=t.documentElement)?t.namespaceURI:ps(null,"");break;default:e=e===8?t.parentNode:t,t=e.namespaceURI||null,e=e.tagName,t=ps(t,e)}he(Ot),ue(Ot,t)}function Pr(){he(Ot),he(_i),he(Ni)}function Pf(e){Un(Ni.current);var t=Un(Ot.current),n=ps(t,e.type);t!==n&&(ue(_i,e),ue(Ot,n))}function Oa(e){_i.current===e&&(he(Ot),he(_i))}var ye=In(0);function Bo(e){for(var t=e;t!==null;){if(t.tag===13){var n=t.memoizedState;if(n!==null&&(n=n.dehydrated,n===null||n.data==="$?"||n.data==="$!"))return t}else if(t.tag===19&&t.memoizedProps.revealOrder!==void 0){if(t.flags&128)return t}else if(t.child!==null){t.child.return=t,t=t.child;continue}if(t===e)break;for(;t.sibling===null;){if(t.return===null||t.return===e)return null;t=t.return}t.sibling.return=t.return,t=t.sibling}return null}var Ql=[];function Ua(){for(var e=0;en?n:4,e(!0);var r=Yl.transition;Yl.transition={};try{e(!1),t()}finally{ie=n,Yl.transition=r}}function Qf(){return yt().memoizedState}function _0(e,t,n){var r=Cn(e);if(n={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null},Yf(e))Jf(t,n);else if(n=bf(e,t,n,r),n!==null){var i=Qe();Nt(n,e,r,i),Gf(n,t,r)}}function N0(e,t,n){var r=Cn(e),i={lane:r,action:n,hasEagerState:!1,eagerState:null,next:null};if(Yf(e))Jf(t,i);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var s=t.lastRenderedState,a=l(s,n);if(i.hasEagerState=!0,i.eagerState=a,Pt(a,s)){var c=t.interleaved;c===null?(i.next=i,za(t)):(i.next=c.next,c.next=i),t.interleaved=i;return}}catch{}finally{}n=bf(e,t,i,r),n!==null&&(i=Qe(),Nt(n,e,r,i),Gf(n,t,r))}}function Yf(e){var t=e.alternate;return e===ve||t!==null&&t===ve}function Jf(e,t){di=Vo=!0;var n=e.pending;n===null?t.next=t:(t.next=n.next,n.next=t),e.pending=t}function Gf(e,t,n){if(n&4194240){var r=t.lanes;r&=e.pendingLanes,n|=r,t.lanes=n,Sa(e,n)}}var Ho={readContext:gt,useCallback:Ue,useContext:Ue,useEffect:Ue,useImperativeHandle:Ue,useInsertionEffect:Ue,useLayoutEffect:Ue,useMemo:Ue,useReducer:Ue,useRef:Ue,useState:Ue,useDebugValue:Ue,useDeferredValue:Ue,useTransition:Ue,useMutableSource:Ue,useSyncExternalStore:Ue,useId:Ue,unstable_isNewReconciler:!1},I0={readContext:gt,useCallback:function(e,t){return Ft().memoizedState=[e,t===void 0?null:t],e},useContext:gt,useEffect:mu,useImperativeHandle:function(e,t,n){return n=n!=null?n.concat([e]):null,wo(4194308,4,Bf.bind(null,t,e),n)},useLayoutEffect:function(e,t){return wo(4194308,4,e,t)},useInsertionEffect:function(e,t){return wo(4,2,e,t)},useMemo:function(e,t){var n=Ft();return t=t===void 0?null:t,e=e(),n.memoizedState=[e,t],e},useReducer:function(e,t,n){var r=Ft();return t=n!==void 0?n(t):t,r.memoizedState=r.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},r.queue=e,e=e.dispatch=_0.bind(null,ve,e),[r.memoizedState,e]},useRef:function(e){var t=Ft();return e={current:e},t.memoizedState=e},useState:pu,useDebugValue:Ka,useDeferredValue:function(e){return Ft().memoizedState=e},useTransition:function(){var e=pu(!1),t=e[0];return e=M0.bind(null,e[1]),Ft().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,n){var r=ve,i=Ft();if(me){if(n===void 0)throw Error(I(407));n=n()}else{if(n=t(),Fe===null)throw Error(I(349));Qn&30||Rf(r,t,n)}i.memoizedState=n;var l={value:n,getSnapshot:t};return i.queue=l,mu(Df.bind(null,r,l,e),[e]),r.flags|=2048,Ti(9,Ff.bind(null,r,l,n,t),void 0,null),n},useId:function(){var e=Ft(),t=Fe.identifierPrefix;if(me){var n=Jt,r=Yt;n=(r&~(1<<32-_t(r)-1)).toString(32)+n,t=":"+t+"R"+n,n=Ii++,0<\/script>",e=e.removeChild(e.firstChild)):typeof r.is=="string"?e=s.createElement(n,{is:r.is}):(e=s.createElement(n),n==="select"&&(s=e,r.multiple?s.multiple=!0:r.size&&(s.size=r.size))):e=s.createElementNS(e,n),e[zt]=t,e[Mi]=r,oh(e,t,!1,!1),t.stateNode=e;e:{switch(s=gs(n,r),n){case"dialog":de("cancel",e),de("close",e),i=r;break;case"iframe":case"object":case"embed":de("load",e),i=r;break;case"video":case"audio":for(i=0;iLr&&(t.flags|=128,r=!0,Gr(l,!1),t.lanes=4194304)}else{if(!r)if(e=Bo(s),e!==null){if(t.flags|=128,r=!0,n=e.updateQueue,n!==null&&(t.updateQueue=n,t.flags|=4),Gr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!s.alternate&&!me)return Be(t),null}else 2*Se()-l.renderingStartTime>Lr&&n!==1073741824&&(t.flags|=128,r=!0,Gr(l,!1),t.lanes=4194304);l.isBackwards?(s.sibling=t.child,t.child=s):(n=l.last,n!==null?n.sibling=s:t.child=s,l.last=s)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=Se(),t.sibling=null,n=ye.current,ue(ye,r?n&1|2:n&1),t):(Be(t),null);case 22:case 23:return qa(),r=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==r&&(t.flags|=8192),r&&t.mode&1?it&1073741824&&(Be(t),t.subtreeFlags&6&&(t.flags|=8192)):Be(t),null;case 24:return null;case 25:return null}throw Error(I(156,t.tag))}function $0(e,t){switch(Ta(t),t.tag){case 1:return tt(t.type)&&Fo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Pr(),he(et),he(We),Ua(),e=t.flags,e&65536&&!(e&128)?(t.flags=e&-65537|128,t):null;case 5:return Oa(t),null;case 13:if(he(ye),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(I(340));Nr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return he(ye),null;case 4:return Pr(),null;case 10:return Da(t.type._context),null;case 22:case 23:return qa(),null;case 24:return null;default:return null}}var so=!1,He=!1,A0=typeof WeakSet=="function"?WeakSet:Set,R=null;function mr(e,t){var n=e.ref;if(n!==null)if(typeof n=="function")try{n(null)}catch(r){je(e,t,r)}else n.current=null}function Vs(e,t,n){try{n()}catch(r){je(e,t,r)}}var Cu=!1;function O0(e,t){if(Es=Po,e=df(),Ia(e)){if("selectionStart"in e)var n={start:e.selectionStart,end:e.selectionEnd};else e:{n=(n=e.ownerDocument)&&n.defaultView||window;var r=n.getSelection&&n.getSelection();if(r&&r.rangeCount!==0){n=r.anchorNode;var i=r.anchorOffset,l=r.focusNode;r=r.focusOffset;try{n.nodeType,l.nodeType}catch{n=null;break e}var s=0,a=-1,c=-1,u=0,d=0,h=e,m=null;t:for(;;){for(var x;h!==n||i!==0&&h.nodeType!==3||(a=s+i),h!==l||r!==0&&h.nodeType!==3||(c=s+r),h.nodeType===3&&(s+=h.nodeValue.length),(x=h.firstChild)!==null;)m=h,h=x;for(;;){if(h===e)break t;if(m===n&&++u===i&&(a=s),m===l&&++d===r&&(c=s),(x=h.nextSibling)!==null)break;h=m,m=h.parentNode}h=x}n=a===-1||c===-1?null:{start:a,end:c}}else n=null}n=n||{start:0,end:0}}else n=null;for(Ms={focusedElem:e,selectionRange:n},Po=!1,R=t;R!==null;)if(t=R,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,R=e;else for(;R!==null;){t=R;try{var w=t.alternate;if(t.flags&1024)switch(t.tag){case 0:case 11:case 15:break;case 1:if(w!==null){var j=w.memoizedProps,N=w.memoizedState,g=t.stateNode,f=g.getSnapshotBeforeUpdate(t.elementType===t.type?j:kt(t.type,j),N);g.__reactInternalSnapshotBeforeUpdate=f}break;case 3:var y=t.stateNode.containerInfo;y.nodeType===1?y.textContent="":y.nodeType===9&&y.documentElement&&y.removeChild(y.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(I(163))}}catch(p){je(t,t.return,p)}if(e=t.sibling,e!==null){e.return=t.return,R=e;break}R=t.return}return w=Cu,Cu=!1,w}function fi(e,t,n){var r=t.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var i=r=r.next;do{if((i.tag&e)===e){var l=i.destroy;i.destroy=void 0,l!==void 0&&Vs(t,n,l)}i=i.next}while(i!==r)}}function cl(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var n=t=t.next;do{if((n.tag&e)===e){var r=n.create;n.destroy=r()}n=n.next}while(n!==t)}}function Hs(e){var t=e.ref;if(t!==null){var n=e.stateNode;switch(e.tag){case 5:e=n;break;default:e=n}typeof t=="function"?t(e):t.current=e}}function ah(e){var t=e.alternate;t!==null&&(e.alternate=null,ah(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[zt],delete t[Mi],delete t[Is],delete t[k0],delete t[S0])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function ch(e){return e.tag===5||e.tag===3||e.tag===4}function bu(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||ch(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function Ws(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.nodeType===8?n.parentNode.insertBefore(e,t):n.insertBefore(e,t):(n.nodeType===8?(t=n.parentNode,t.insertBefore(e,n)):(t=n,t.appendChild(e)),n=n._reactRootContainer,n!=null||t.onclick!==null||(t.onclick=Ro));else if(r!==4&&(e=e.child,e!==null))for(Ws(e,t,n),e=e.sibling;e!==null;)Ws(e,t,n),e=e.sibling}function Ks(e,t,n){var r=e.tag;if(r===5||r===6)e=e.stateNode,t?n.insertBefore(e,t):n.appendChild(e);else if(r!==4&&(e=e.child,e!==null))for(Ks(e,t,n),e=e.sibling;e!==null;)Ks(e,t,n),e=e.sibling}var De=null,Ct=!1;function un(e,t,n){for(n=n.child;n!==null;)uh(e,t,n),n=n.sibling}function uh(e,t,n){if(At&&typeof At.onCommitFiberUnmount=="function")try{At.onCommitFiberUnmount(tl,n)}catch{}switch(n.tag){case 5:He||mr(n,t);case 6:var r=De,i=Ct;De=null,un(e,t,n),De=r,Ct=i,De!==null&&(Ct?(e=De,n=n.stateNode,e.nodeType===8?e.parentNode.removeChild(n):e.removeChild(n)):De.removeChild(n.stateNode));break;case 18:De!==null&&(Ct?(e=De,n=n.stateNode,e.nodeType===8?Wl(e.parentNode,n):e.nodeType===1&&Wl(e,n),ki(e)):Wl(De,n.stateNode));break;case 4:r=De,i=Ct,De=n.stateNode.containerInfo,Ct=!0,un(e,t,n),De=r,Ct=i;break;case 0:case 11:case 14:case 15:if(!He&&(r=n.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){i=r=r.next;do{var l=i,s=l.destroy;l=l.tag,s!==void 0&&(l&2||l&4)&&Vs(n,t,s),i=i.next}while(i!==r)}un(e,t,n);break;case 1:if(!He&&(mr(n,t),r=n.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=n.memoizedProps,r.state=n.memoizedState,r.componentWillUnmount()}catch(a){je(n,t,a)}un(e,t,n);break;case 21:un(e,t,n);break;case 22:n.mode&1?(He=(r=He)||n.memoizedState!==null,un(e,t,n),He=r):un(e,t,n);break;default:un(e,t,n)}}function Eu(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var n=e.stateNode;n===null&&(n=e.stateNode=new A0),t.forEach(function(r){var i=J0.bind(null,e,r);n.has(r)||(n.add(r),r.then(i,i))})}}function jt(e,t){var n=t.deletions;if(n!==null)for(var r=0;ri&&(i=s),r&=~l}if(r=i,r=Se()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*B0(r/1960))-r,10e?16:e,yn===null)var r=!1;else{if(e=yn,yn=null,Qo=0,ee&6)throw Error(I(331));var i=ee;for(ee|=4,R=e.current;R!==null;){var l=R,s=l.child;if(R.flags&16){var a=l.deletions;if(a!==null){for(var c=0;cSe()-Ga?Vn(e,0):Ja|=n),nt(e,t)}function vh(e,t){t===0&&(e.mode&1?(t=qi,qi<<=1,!(qi&130023424)&&(qi=4194304)):t=1);var n=Qe();e=en(e,t),e!==null&&(Ai(e,t,n),nt(e,n))}function Y0(e){var t=e.memoizedState,n=0;t!==null&&(n=t.retryLane),vh(e,n)}function J0(e,t){var n=0;switch(e.tag){case 13:var r=e.stateNode,i=e.memoizedState;i!==null&&(n=i.retryLane);break;case 19:r=e.stateNode;break;default:throw Error(I(314))}r!==null&&r.delete(t),vh(e,n)}var xh;xh=function(e,t,n){if(e!==null)if(e.memoizedProps!==t.pendingProps||et.current)Ze=!0;else{if(!(e.lanes&n)&&!(t.flags&128))return Ze=!1,D0(e,t,n);Ze=!!(e.flags&131072)}else Ze=!1,me&&t.flags&1048576&&kf(t,$o,t.index);switch(t.lanes=0,t.tag){case 2:var r=t.type;jo(e,t),e=t.pendingProps;var i=_r(t,We.current);Cr(t,n),i=Va(null,t,r,e,i,n);var l=Ha();return t.flags|=1,typeof i=="object"&&i!==null&&typeof i.render=="function"&&i.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,tt(r)?(l=!0,Do(t)):l=!1,t.memoizedState=i.state!==null&&i.state!==void 0?i.state:null,$a(t),i.updater=sl,t.stateNode=i,i._reactInternals=t,Ds(t,r,e,n),t=As(null,t,r,!0,l,n)):(t.tag=0,me&&l&&Pa(t),Ke(null,t,i,n),t=t.child),t;case 16:r=t.elementType;e:{switch(jo(e,t),e=t.pendingProps,i=r._init,r=i(r._payload),t.type=r,i=t.tag=X0(r),e=kt(r,e),i){case 0:t=$s(null,t,r,e,n);break e;case 1:t=ju(null,t,r,e,n);break e;case 11:t=xu(null,t,r,e,n);break e;case 14:t=wu(null,t,r,kt(r.type,e),n);break e}throw Error(I(306,r,""))}return t;case 0:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:kt(r,i),$s(e,t,r,i,n);case 1:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:kt(r,i),ju(e,t,r,i,n);case 3:e:{if(nh(t),e===null)throw Error(I(387));r=t.pendingProps,l=t.memoizedState,i=l.element,Ef(e,t),Uo(t,r,null,n);var s=t.memoizedState;if(r=s.element,l.isDehydrated)if(l={element:r,isDehydrated:!1,cache:s.cache,pendingSuspenseBoundaries:s.pendingSuspenseBoundaries,transitions:s.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){i=Tr(Error(I(423)),t),t=ku(e,t,r,n,i);break e}else if(r!==i){i=Tr(Error(I(424)),t),t=ku(e,t,r,n,i);break e}else for(lt=jn(t.stateNode.containerInfo.firstChild),st=t,me=!0,Et=null,n=If(t,null,r,n),t.child=n;n;)n.flags=n.flags&-3|4096,n=n.sibling;else{if(Nr(),r===i){t=tn(e,t,n);break e}Ke(e,t,r,n)}t=t.child}return t;case 5:return Pf(t),e===null&&Ls(t),r=t.type,i=t.pendingProps,l=e!==null?e.memoizedProps:null,s=i.children,_s(r,i)?s=null:l!==null&&_s(r,l)&&(t.flags|=32),th(e,t),Ke(e,t,s,n),t.child;case 6:return e===null&&Ls(t),null;case 13:return rh(e,t,n);case 4:return Aa(t,t.stateNode.containerInfo),r=t.pendingProps,e===null?t.child=Ir(t,null,r,n):Ke(e,t,r,n),t.child;case 11:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:kt(r,i),xu(e,t,r,i,n);case 7:return Ke(e,t,t.pendingProps,n),t.child;case 8:return Ke(e,t,t.pendingProps.children,n),t.child;case 12:return Ke(e,t,t.pendingProps.children,n),t.child;case 10:e:{if(r=t.type._context,i=t.pendingProps,l=t.memoizedProps,s=i.value,ue(Ao,r._currentValue),r._currentValue=s,l!==null)if(Pt(l.value,s)){if(l.children===i.children&&!et.current){t=tn(e,t,n);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var a=l.dependencies;if(a!==null){s=l.child;for(var c=a.firstContext;c!==null;){if(c.context===r){if(l.tag===1){c=Gt(-1,n&-n),c.tag=2;var u=l.updateQueue;if(u!==null){u=u.shared;var d=u.pending;d===null?c.next=c:(c.next=d.next,d.next=c),u.pending=c}}l.lanes|=n,c=l.alternate,c!==null&&(c.lanes|=n),Rs(l.return,n,t),a.lanes|=n;break}c=c.next}}else if(l.tag===10)s=l.type===t.type?null:l.child;else if(l.tag===18){if(s=l.return,s===null)throw Error(I(341));s.lanes|=n,a=s.alternate,a!==null&&(a.lanes|=n),Rs(s,n,t),s=l.sibling}else s=l.child;if(s!==null)s.return=l;else for(s=l;s!==null;){if(s===t){s=null;break}if(l=s.sibling,l!==null){l.return=s.return,s=l;break}s=s.return}l=s}Ke(e,t,i.children,n),t=t.child}return t;case 9:return i=t.type,r=t.pendingProps.children,Cr(t,n),i=gt(i),r=r(i),t.flags|=1,Ke(e,t,r,n),t.child;case 14:return r=t.type,i=kt(r,t.pendingProps),i=kt(r.type,i),wu(e,t,r,i,n);case 15:return Zf(e,t,t.type,t.pendingProps,n);case 17:return r=t.type,i=t.pendingProps,i=t.elementType===r?i:kt(r,i),jo(e,t),t.tag=1,tt(r)?(e=!0,Do(t)):e=!1,Cr(t,n),_f(t,r,i),Ds(t,r,i,n),As(null,t,r,!0,e,n);case 19:return ih(e,t,n);case 22:return eh(e,t,n)}throw Error(I(156,t.tag))};function wh(e,t){return Wd(e,t)}function G0(e,t,n,r){this.tag=e,this.key=n,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function pt(e,t,n,r){return new G0(e,t,n,r)}function ec(e){return e=e.prototype,!(!e||!e.isReactComponent)}function X0(e){if(typeof e=="function")return ec(e)?1:0;if(e!=null){if(e=e.$$typeof,e===xa)return 11;if(e===wa)return 14}return 2}function bn(e,t){var n=e.alternate;return n===null?(n=pt(e.tag,t,e.key,e.mode),n.elementType=e.elementType,n.type=e.type,n.stateNode=e.stateNode,n.alternate=e,e.alternate=n):(n.pendingProps=t,n.type=e.type,n.flags=0,n.subtreeFlags=0,n.deletions=null),n.flags=e.flags&14680064,n.childLanes=e.childLanes,n.lanes=e.lanes,n.child=e.child,n.memoizedProps=e.memoizedProps,n.memoizedState=e.memoizedState,n.updateQueue=e.updateQueue,t=e.dependencies,n.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},n.sibling=e.sibling,n.index=e.index,n.ref=e.ref,n}function Co(e,t,n,r,i,l){var s=2;if(r=e,typeof e=="function")ec(e)&&(s=1);else if(typeof e=="string")s=5;else e:switch(e){case lr:return Hn(n.children,i,l,t);case va:s=8,i|=8;break;case ls:return e=pt(12,n,t,i|2),e.elementType=ls,e.lanes=l,e;case ss:return e=pt(13,n,t,i),e.elementType=ss,e.lanes=l,e;case as:return e=pt(19,n,t,i),e.elementType=as,e.lanes=l,e;case _d:return dl(n,i,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case Ed:s=10;break e;case Md:s=9;break e;case xa:s=11;break e;case wa:s=14;break e;case fn:s=16,r=null;break e}throw Error(I(130,e==null?e:typeof e,""))}return t=pt(s,n,t,i),t.elementType=e,t.type=r,t.lanes=l,t}function Hn(e,t,n,r){return e=pt(7,e,r,t),e.lanes=n,e}function dl(e,t,n,r){return e=pt(22,e,r,t),e.elementType=_d,e.lanes=n,e.stateNode={isHidden:!1},e}function Zl(e,t,n){return e=pt(6,e,null,t),e.lanes=n,e}function es(e,t,n){return t=pt(4,e.children!==null?e.children:[],e.key,t),t.lanes=n,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function q0(e,t,n,r,i){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Rl(0),this.expirationTimes=Rl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Rl(0),this.identifierPrefix=r,this.onRecoverableError=i,this.mutableSourceEagerHydrationData=null}function tc(e,t,n,r,i,l,s,a,c){return e=new q0(e,t,n,a,c),t===1?(t=1,l===!0&&(t|=8)):t=0,l=pt(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:r,isDehydrated:n,cache:null,transitions:null,pendingSuspenseBoundaries:null},$a(l),e}function Z0(e,t,n){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Ch)}catch(e){console.error(e)}}Ch(),jd.exports=ct;var ig=jd.exports,bh,Ru=ig;bh=Ru.createRoot,Ru.hydrateRoot;/** + * @remix-run/router v1.7.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function pe(){return pe=Object.assign?Object.assign.bind():function(e){for(var t=1;t"u")throw new Error(t)}function Rr(e,t){if(!e){typeof console<"u"&&console.warn(t);try{throw new Error(t)}catch{}}}function lg(){return Math.random().toString(36).substr(2,8)}function Du(e,t){return{usr:e.state,key:e.key,idx:t}}function Ri(e,t,n,r){return n===void 0&&(n=null),pe({pathname:typeof e=="string"?e:e.pathname,search:"",hash:""},typeof t=="string"?on(t):t,{state:n,key:t&&t.key||r||lg()})}function Gn(e){let{pathname:t="/",search:n="",hash:r=""}=e;return n&&n!=="?"&&(t+=n.charAt(0)==="?"?n:"?"+n),r&&r!=="#"&&(t+=r.charAt(0)==="#"?r:"#"+r),t}function on(e){let t={};if(e){let n=e.indexOf("#");n>=0&&(t.hash=e.substr(n),e=e.substr(0,n));let r=e.indexOf("?");r>=0&&(t.search=e.substr(r),e=e.substr(0,r)),e&&(t.pathname=e)}return t}function sg(e,t,n,r){r===void 0&&(r={});let{window:i=document.defaultView,v5Compat:l=!1}=r,s=i.history,a=Ee.Pop,c=null,u=d();u==null&&(u=0,s.replaceState(pe({},s.state,{idx:u}),""));function d(){return(s.state||{idx:null}).idx}function h(){a=Ee.Pop;let N=d(),g=N==null?null:N-u;u=N,c&&c({action:a,location:j.location,delta:g})}function m(N,g){a=Ee.Push;let f=Ri(j.location,N,g);n&&n(f,N),u=d()+1;let y=Du(f,u),p=j.createHref(f);try{s.pushState(y,"",p)}catch(b){if(b instanceof DOMException&&b.name==="DataCloneError")throw b;i.location.assign(p)}l&&c&&c({action:a,location:j.location,delta:1})}function x(N,g){a=Ee.Replace;let f=Ri(j.location,N,g);n&&n(f,N),u=d();let y=Du(f,u),p=j.createHref(f);s.replaceState(y,"",p),l&&c&&c({action:a,location:j.location,delta:0})}function w(N){let g=i.location.origin!=="null"?i.location.origin:i.location.href,f=typeof N=="string"?N:Gn(N);return Y(g,"No window.location.(origin|href) available to create URL for href: "+f),new URL(f,g)}let j={get action(){return a},get location(){return e(i,s)},listen(N){if(c)throw new Error("A history only accepts one active listener");return i.addEventListener(Fu,h),c=N,()=>{i.removeEventListener(Fu,h),c=null}},createHref(N){return t(i,N)},createURL:w,encodeLocation(N){let g=w(N);return{pathname:g.pathname,search:g.search,hash:g.hash}},push:m,replace:x,go(N){return s.go(N)}};return j}var Ne;(function(e){e.data="data",e.deferred="deferred",e.redirect="redirect",e.error="error"})(Ne||(Ne={}));const ag=new Set(["lazy","caseSensitive","path","id","index","children"]);function cg(e){return e.index===!0}function Xs(e,t,n,r){return n===void 0&&(n=[]),r===void 0&&(r={}),e.map((i,l)=>{let s=[...n,l],a=typeof i.id=="string"?i.id:s.join("-");if(Y(i.index!==!0||!i.children,"Cannot specify children on an index route"),Y(!r[a],'Found a route id collision on id "'+a+`". Route id's must be globally unique within Data Router usages`),cg(i)){let c=pe({},i,t(i),{id:a});return r[a]=c,c}else{let c=pe({},i,t(i),{id:a,children:void 0});return r[a]=c,i.children&&(c.children=Xs(i.children,t,s,r)),c}})}function yr(e,t,n){n===void 0&&(n="/");let r=typeof t=="string"?on(t):t,i=$r(r.pathname||"/",n);if(i==null)return null;let l=Eh(e);ug(l);let s=null;for(let a=0;s==null&&a{let c={relativePath:a===void 0?l.path||"":a,caseSensitive:l.caseSensitive===!0,childrenIndex:s,route:l};c.relativePath.startsWith("/")&&(Y(c.relativePath.startsWith(r),'Absolute route path "'+c.relativePath+'" nested under path '+('"'+r+'" is not valid. An absolute child route path ')+"must start with the combined path of all its parent routes."),c.relativePath=c.relativePath.slice(r.length));let u=Xt([r,c.relativePath]),d=n.concat(c);l.children&&l.children.length>0&&(Y(l.index!==!0,"Index routes must not have child routes. Please remove "+('all child routes from route path "'+u+'".')),Eh(l.children,t,d,u)),!(l.path==null&&!l.index)&&t.push({path:u,score:yg(u,l.index),routesMeta:d})};return e.forEach((l,s)=>{var a;if(l.path===""||!((a=l.path)!=null&&a.includes("?")))i(l,s);else for(let c of Mh(l.path))i(l,s,c)}),t}function Mh(e){let t=e.split("/");if(t.length===0)return[];let[n,...r]=t,i=n.endsWith("?"),l=n.replace(/\?$/,"");if(r.length===0)return i?[l,""]:[l];let s=Mh(r.join("/")),a=[];return a.push(...s.map(c=>c===""?l:[l,c].join("/"))),i&&a.push(...s),a.map(c=>e.startsWith("/")&&c===""?"/":c)}function ug(e){e.sort((t,n)=>t.score!==n.score?n.score-t.score:vg(t.routesMeta.map(r=>r.childrenIndex),n.routesMeta.map(r=>r.childrenIndex)))}const dg=/^:\w+$/,fg=3,hg=2,pg=1,mg=10,gg=-2,zu=e=>e==="*";function yg(e,t){let n=e.split("/"),r=n.length;return n.some(zu)&&(r+=gg),t&&(r+=hg),n.filter(i=>!zu(i)).reduce((i,l)=>i+(dg.test(l)?fg:l===""?pg:mg),r)}function vg(e,t){return e.length===t.length&&e.slice(0,-1).every((r,i)=>r===t[i])?e[e.length-1]-t[t.length-1]:0}function xg(e,t){let{routesMeta:n}=e,r={},i="/",l=[];for(let s=0;s{if(d==="*"){let m=a[h]||"";s=l.slice(0,l.length-m.length).replace(/(.)\/+$/,"$1")}return u[d]=Sg(a[h]||"",d),u},{}),pathname:l,pathnameBase:s,pattern:e}}function jg(e,t,n){t===void 0&&(t=!1),n===void 0&&(n=!0),Rr(e==="*"||!e.endsWith("*")||e.endsWith("/*"),'Route path "'+e+'" will be treated as if it were '+('"'+e.replace(/\*$/,"/*")+'" because the `*` character must ')+"always follow a `/` in the pattern. To get rid of this warning, "+('please change the route path to "'+e.replace(/\*$/,"/*")+'".'));let r=[],i="^"+e.replace(/\/*\*?$/,"").replace(/^\/*/,"/").replace(/[\\.*+^$?{}|()[\]]/g,"\\$&").replace(/\/:(\w+)/g,(s,a)=>(r.push(a),"/([^\\/]+)"));return e.endsWith("*")?(r.push("*"),i+=e==="*"||e==="/*"?"(.*)$":"(?:\\/(.+)|\\/*)$"):n?i+="\\/*$":e!==""&&e!=="/"&&(i+="(?:(?=\\/|$))"),[new RegExp(i,t?void 0:"i"),r]}function kg(e){try{return decodeURI(e)}catch(t){return Rr(!1,'The URL path "'+e+'" could not be decoded because it is is a malformed URL segment. This is probably due to a bad percent '+("encoding ("+t+").")),e}}function Sg(e,t){try{return decodeURIComponent(e)}catch(n){return Rr(!1,'The value for the URL param "'+t+'" will not be decoded because'+(' the string "'+e+'" is a malformed URL segment. This is probably')+(" due to a bad percent encoding ("+n+").")),e}}function $r(e,t){if(t==="/")return e;if(!e.toLowerCase().startsWith(t.toLowerCase()))return null;let n=t.endsWith("/")?t.length-1:t.length,r=e.charAt(n);return r&&r!=="/"?null:e.slice(n)||"/"}function Cg(e,t){t===void 0&&(t="/");let{pathname:n,search:r="",hash:i=""}=typeof e=="string"?on(e):e;return{pathname:n?n.startsWith("/")?n:bg(n,t):t,search:Mg(r),hash:_g(i)}}function bg(e,t){let n=t.replace(/\/+$/,"").split("/");return e.split("/").forEach(i=>{i===".."?n.length>1&&n.pop():i!=="."&&n.push(i)}),n.length>1?n.join("/"):"/"}function ts(e,t,n,r){return"Cannot include a '"+e+"' character in a manually specified "+("`to."+t+"` field ["+JSON.stringify(r)+"]. Please separate it out to the ")+("`to."+n+"` field. Alternatively you may provide the full path as ")+'a string in and the router will parse it for you.'}function gl(e){return e.filter((t,n)=>n===0||t.route.path&&t.route.path.length>0)}function oc(e,t,n,r){r===void 0&&(r=!1);let i;typeof e=="string"?i=on(e):(i=pe({},e),Y(!i.pathname||!i.pathname.includes("?"),ts("?","pathname","search",i)),Y(!i.pathname||!i.pathname.includes("#"),ts("#","pathname","hash",i)),Y(!i.search||!i.search.includes("#"),ts("#","search","hash",i)));let l=e===""||i.pathname==="",s=l?"/":i.pathname,a;if(r||s==null)a=n;else{let h=t.length-1;if(s.startsWith("..")){let m=s.split("/");for(;m[0]==="..";)m.shift(),h-=1;i.pathname=m.join("/")}a=h>=0?t[h]:"/"}let c=Cg(i,a),u=s&&s!=="/"&&s.endsWith("/"),d=(l||s===".")&&n.endsWith("/");return!c.pathname.endsWith("/")&&(u||d)&&(c.pathname+="/"),c}const Xt=e=>e.join("/").replace(/\/\/+/g,"/"),Eg=e=>e.replace(/\/+$/,"").replace(/^\/*/,"/"),Mg=e=>!e||e==="?"?"":e.startsWith("?")?e:"?"+e,_g=e=>!e||e==="#"?"":e.startsWith("#")?e:"#"+e;class lc{constructor(t,n,r,i){i===void 0&&(i=!1),this.status=t,this.statusText=n||"",this.internal=i,r instanceof Error?(this.data=r.toString(),this.error=r):this.data=r}}function _h(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.internal=="boolean"&&"data"in e}const Nh=["post","put","patch","delete"],Ng=new Set(Nh),Ig=["get",...Nh],Pg=new Set(Ig),Tg=new Set([301,302,303,307,308]),Lg=new Set([307,308]),ns={state:"idle",location:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},Rg={state:"idle",data:void 0,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0},qr={state:"unblocked",proceed:void 0,reset:void 0,location:void 0},Ih=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Fg=e=>({hasErrorBoundary:!!e.hasErrorBoundary});function Dg(e){const t=e.window?e.window:typeof window<"u"?window:void 0,n=typeof t<"u"&&typeof t.document<"u"&&typeof t.document.createElement<"u",r=!n;Y(e.routes.length>0,"You must provide a non-empty routes array to createRouter");let i;if(e.mapRouteProperties)i=e.mapRouteProperties;else if(e.detectErrorBoundary){let k=e.detectErrorBoundary;i=C=>({hasErrorBoundary:k(C)})}else i=Fg;let l={},s=Xs(e.routes,i,void 0,l),a,c=e.basename||"/",u=pe({v7_normalizeFormMethod:!1,v7_prependBasename:!1},e.future),d=null,h=new Set,m=null,x=null,w=null,j=e.hydrationData!=null,N=yr(s,e.history.location,c),g=null;if(N==null){let k=dt(404,{pathname:e.history.location.pathname}),{matches:C,route:_}=Wu(s);N=C,g={[_.id]:k}}let f=!N.some(k=>k.route.lazy)&&(!N.some(k=>k.route.loader)||e.hydrationData!=null),y,p={historyAction:e.history.action,location:e.history.location,matches:N,initialized:f,navigation:ns,restoreScrollPosition:e.hydrationData!=null?!1:null,preventScrollReset:!1,revalidation:"idle",loaderData:e.hydrationData&&e.hydrationData.loaderData||{},actionData:e.hydrationData&&e.hydrationData.actionData||null,errors:e.hydrationData&&e.hydrationData.errors||g,fetchers:new Map,blockers:new Map},b=Ee.Pop,E=!1,M,P=!1,U=!1,$=[],we=[],Z=new Map,xt=0,Ce=-1,rt=new Map,Ae=new Set,Tt=new Map,T=new Map,A=new Map,Q=!1;function ge(){return d=e.history.listen(k=>{let{action:C,location:_,delta:F}=k;if(Q){Q=!1;return}Rr(A.size===0||F!=null,"You are trying to use a blocker on a POP navigation to a location that was not created by @remix-run/router. This will fail silently in production. This can happen if you are navigating outside the router via `window.history.pushState`/`window.location.hash` instead of using router navigation APIs. This can also happen if you are using createHashRouter and the user manually changes the URL.");let W=kc({currentLocation:p.location,nextLocation:_,historyAction:C});if(W&&F!=null){Q=!0,e.history.go(F*-1),Wi(W,{state:"blocked",location:_,proceed(){Wi(W,{state:"proceeding",proceed:void 0,reset:void 0,location:_}),e.history.go(F)},reset(){let B=new Map(p.blockers);B.set(W,qr),ae({blockers:B})}});return}return sn(C,_)}),p.initialized||sn(Ee.Pop,p.location),y}function be(){d&&d(),h.clear(),M&&M.abort(),p.fetchers.forEach((k,C)=>kl(C)),p.blockers.forEach((k,C)=>jc(C))}function tr(k){return h.add(k),()=>h.delete(k)}function ae(k){p=pe({},p,k),h.forEach(C=>C(p))}function Ut(k,C){var _,F;let W=p.actionData!=null&&p.navigation.formMethod!=null&&bt(p.navigation.formMethod)&&p.navigation.state==="loading"&&((_=k.state)==null?void 0:_._isRedirect)!==!0,B;C.actionData?Object.keys(C.actionData).length>0?B=C.actionData:B=null:W?B=p.actionData:B=null;let H=C.loaderData?Hu(p.loaderData,C.loaderData,C.matches||[],C.errors):p.loaderData,z=p.blockers;z.size>0&&(z=new Map(z),z.forEach((ce,Oe)=>z.set(Oe,qr)));let D=E===!0||p.navigation.formMethod!=null&&bt(p.navigation.formMethod)&&((F=k.state)==null?void 0:F._isRedirect)!==!0;a&&(s=a,a=void 0),P||b===Ee.Pop||(b===Ee.Push?e.history.push(k,k.state):b===Ee.Replace&&e.history.replace(k,k.state)),ae(pe({},C,{actionData:B,loaderData:H,historyAction:b,location:k,initialized:!0,navigation:ns,revalidation:"idle",restoreScrollPosition:Cc(k,C.matches||p.matches),preventScrollReset:D,blockers:z})),b=Ee.Pop,E=!1,P=!1,U=!1,$=[],we=[]}async function Lt(k,C){if(typeof k=="number"){e.history.go(k);return}let _=qs(p.location,p.matches,c,u.v7_prependBasename,k,C==null?void 0:C.fromRouteId,C==null?void 0:C.relative),{path:F,submission:W,error:B}=$u(u.v7_normalizeFormMethod,!1,_,C),H=p.location,z=Ri(p.location,F,C&&C.state);z=pe({},z,e.history.encodeLocation(z));let D=C&&C.replace!=null?C.replace:void 0,ce=Ee.Push;D===!0?ce=Ee.Replace:D===!1||W!=null&&bt(W.formMethod)&&W.formAction===p.location.pathname+p.location.search&&(ce=Ee.Replace);let Oe=C&&"preventScrollReset"in C?C.preventScrollReset===!0:void 0,oe=kc({currentLocation:H,nextLocation:z,historyAction:ce});if(oe){Wi(oe,{state:"blocked",location:z,proceed(){Wi(oe,{state:"proceeding",proceed:void 0,reset:void 0,location:z}),Lt(k,C)},reset(){let ke=new Map(p.blockers);ke.set(oe,qr),ae({blockers:ke})}});return}return await sn(ce,z,{submission:W,pendingError:B,preventScrollReset:Oe,replace:C&&C.replace})}function nr(){if(jl(),ae({revalidation:"loading"}),p.navigation.state!=="submitting"){if(p.navigation.state==="idle"){sn(p.historyAction,p.location,{startUninterruptedRevalidation:!0});return}sn(b||p.historyAction,p.navigation.location,{overrideNavigation:p.navigation})}}async function sn(k,C,_){M&&M.abort(),M=null,b=k,P=(_&&_.startUninterruptedRevalidation)===!0,Ep(p.location,p.matches),E=(_&&_.preventScrollReset)===!0;let F=a||s,W=_&&_.overrideNavigation,B=yr(F,C,c);if(!B){let ke=dt(404,{pathname:C.pathname}),{matches:Te,route:Ln}=Wu(F);Sl(),Ut(C,{matches:Te,loaderData:{},errors:{[Ln.id]:ke}});return}if(p.initialized&&!U&&Ug(p.location,C)&&!(_&&_.submission&&bt(_.submission.formMethod))){Ut(C,{matches:B});return}M=new AbortController;let H=ei(e.history,C,M.signal,_&&_.submission),z,D;if(_&&_.pendingError)D={[vr(B).route.id]:_.pendingError};else if(_&&_.submission&&bt(_.submission.formMethod)){let ke=await xp(H,C,_.submission,B,{replace:_.replace});if(ke.shortCircuited)return;z=ke.pendingActionData,D=ke.pendingActionError,W=uo(C,_.submission),H=new Request(H.url,{signal:H.signal})}let{shortCircuited:ce,loaderData:Oe,errors:oe}=await wp(H,C,B,W,_&&_.submission,_&&_.fetcherSubmission,_&&_.replace,z,D);ce||(M=null,Ut(C,pe({matches:B},z?{actionData:z}:{},{loaderData:Oe,errors:oe})))}async function xp(k,C,_,F,W){W===void 0&&(W={}),jl();let B=Kg(C,_);ae({navigation:B});let H,z=ea(F,C);if(!z.route.action&&!z.route.lazy)H={type:Ne.error,error:dt(405,{method:k.method,pathname:C.pathname,routeId:z.route.id})};else if(H=await Zr("action",k,z,F,l,i,c),k.signal.aborted)return{shortCircuited:!0};if(Er(H)){let D;return W&&W.replace!=null?D=W.replace:D=H.location===p.location.pathname+p.location.search,await Ur(p,H,{submission:_,replace:D}),{shortCircuited:!0}}if(mi(H)){let D=vr(F,z.route.id);return(W&&W.replace)!==!0&&(b=Ee.Push),{pendingActionData:{},pendingActionError:{[D.route.id]:H.error}}}if(Bn(H))throw dt(400,{type:"defer-action"});return{pendingActionData:{[z.route.id]:H.data}}}async function wp(k,C,_,F,W,B,H,z,D){let ce=F||uo(C,W),Oe=W||B||Yu(ce),oe=a||s,[ke,Te]=Au(e.history,p,_,Oe,C,U,$,we,Tt,Ae,oe,c,z,D);if(Sl(le=>!(_&&_.some(wt=>wt.route.id===le))||ke&&ke.some(wt=>wt.route.id===le)),Ce=++xt,ke.length===0&&Te.length===0){let le=xc();return Ut(C,pe({matches:_,loaderData:{},errors:D||null},z?{actionData:z}:{},le?{fetchers:new Map(p.fetchers)}:{})),{shortCircuited:!0}}if(!P){Te.forEach(wt=>{let cn=p.fetchers.get(wt.key),_l=ti(void 0,cn?cn.data:void 0);p.fetchers.set(wt.key,_l)});let le=z||p.actionData;ae(pe({navigation:ce},le?Object.keys(le).length===0?{actionData:null}:{actionData:le}:{},Te.length>0?{fetchers:new Map(p.fetchers)}:{}))}Te.forEach(le=>{Z.has(le.key)&&an(le.key),le.controller&&Z.set(le.key,le.controller)});let Ln=()=>Te.forEach(le=>an(le.key));M&&M.signal.addEventListener("abort",Ln);let{results:Rn,loaderResults:Br,fetcherResults:Cl}=await yc(p.matches,_,ke,Te,k);if(k.signal.aborted)return{shortCircuited:!0};M&&M.signal.removeEventListener("abort",Ln),Te.forEach(le=>Z.delete(le.key));let Bt=Ku(Rn);if(Bt){if(Bt.idx>=ke.length){let le=Te[Bt.idx-ke.length].key;Ae.add(le)}return await Ur(p,Bt.result,{replace:H}),{shortCircuited:!0}}let{loaderData:Vt,errors:Ki}=Vu(p,_,ke,Br,D,Te,Cl,T);T.forEach((le,wt)=>{le.subscribe(cn=>{(cn||le.done)&&T.delete(wt)})});let bl=xc(),El=wc(Ce),Ml=bl||El||Te.length>0;return pe({loaderData:Vt,errors:Ki},Ml?{fetchers:new Map(p.fetchers)}:{})}function gc(k){return p.fetchers.get(k)||Rg}function jp(k,C,_,F){if(r)throw new Error("router.fetch() was called during the server render, but it shouldn't be. You are likely calling a useFetcher() method in the body of your component. Try moving it to a useEffect or a callback.");Z.has(k)&&an(k);let W=a||s,B=qs(p.location,p.matches,c,u.v7_prependBasename,_,C,F==null?void 0:F.relative),H=yr(W,B,c);if(!H){Hi(k,C,dt(404,{pathname:B}));return}let{path:z,submission:D,error:ce}=$u(u.v7_normalizeFormMethod,!0,B,F);if(ce){Hi(k,C,ce);return}let Oe=ea(H,z);if(E=(F&&F.preventScrollReset)===!0,D&&bt(D.formMethod)){kp(k,C,z,Oe,H,D);return}Tt.set(k,{routeId:C,path:z}),Sp(k,C,z,Oe,H,D)}async function kp(k,C,_,F,W,B){if(jl(),Tt.delete(k),!F.route.action&&!F.route.lazy){let _e=dt(405,{method:B.formMethod,pathname:_,routeId:C});Hi(k,C,_e);return}let H=p.fetchers.get(k),z=Qg(B,H);p.fetchers.set(k,z),ae({fetchers:new Map(p.fetchers)});let D=new AbortController,ce=ei(e.history,_,D.signal,B);Z.set(k,D);let Oe=xt,oe=await Zr("action",ce,F,W,l,i,c);if(ce.signal.aborted){Z.get(k)===D&&Z.delete(k);return}if(Er(oe))if(Z.delete(k),Ce>Oe){let _e=ir(void 0);p.fetchers.set(k,_e),ae({fetchers:new Map(p.fetchers)});return}else{Ae.add(k);let _e=ti(B);return p.fetchers.set(k,_e),ae({fetchers:new Map(p.fetchers)}),Ur(p,oe,{submission:B,isFetchActionRedirect:!0})}if(mi(oe)){Hi(k,C,oe.error);return}if(Bn(oe))throw dt(400,{type:"defer-action"});let ke=p.navigation.location||p.location,Te=ei(e.history,ke,D.signal),Ln=a||s,Rn=p.navigation.state!=="idle"?yr(Ln,p.navigation.location,c):p.matches;Y(Rn,"Didn't find any matches after fetcher action");let Br=++xt;rt.set(k,Br);let Cl=ti(B,oe.data);p.fetchers.set(k,Cl);let[Bt,Vt]=Au(e.history,p,Rn,B,ke,U,$,we,Tt,Ae,Ln,c,{[F.route.id]:oe.data},void 0);Vt.filter(_e=>_e.key!==k).forEach(_e=>{let Vr=_e.key,bc=p.fetchers.get(Vr),_p=ti(void 0,bc?bc.data:void 0);p.fetchers.set(Vr,_p),Z.has(Vr)&&an(Vr),_e.controller&&Z.set(Vr,_e.controller)}),ae({fetchers:new Map(p.fetchers)});let Ki=()=>Vt.forEach(_e=>an(_e.key));D.signal.addEventListener("abort",Ki);let{results:bl,loaderResults:El,fetcherResults:Ml}=await yc(p.matches,Rn,Bt,Vt,Te);if(D.signal.aborted)return;D.signal.removeEventListener("abort",Ki),rt.delete(k),Z.delete(k),Vt.forEach(_e=>Z.delete(_e.key));let le=Ku(bl);if(le){if(le.idx>=Bt.length){let _e=Vt[le.idx-Bt.length].key;Ae.add(_e)}return Ur(p,le.result)}let{loaderData:wt,errors:cn}=Vu(p,p.matches,Bt,El,void 0,Vt,Ml,T);if(p.fetchers.has(k)){let _e=ir(oe.data);p.fetchers.set(k,_e)}let _l=wc(Br);p.navigation.state==="loading"&&Br>Ce?(Y(b,"Expected pending action"),M&&M.abort(),Ut(p.navigation.location,{matches:Rn,loaderData:wt,errors:cn,fetchers:new Map(p.fetchers)})):(ae(pe({errors:cn,loaderData:Hu(p.loaderData,wt,Rn,cn)},_l||Vt.length>0?{fetchers:new Map(p.fetchers)}:{})),U=!1)}async function Sp(k,C,_,F,W,B){let H=p.fetchers.get(k),z=ti(B,H?H.data:void 0);p.fetchers.set(k,z),ae({fetchers:new Map(p.fetchers)});let D=new AbortController,ce=ei(e.history,_,D.signal);Z.set(k,D);let Oe=xt,oe=await Zr("loader",ce,F,W,l,i,c);if(Bn(oe)&&(oe=await Lh(oe,ce.signal,!0)||oe),Z.get(k)===D&&Z.delete(k),ce.signal.aborted)return;if(Er(oe))if(Ce>Oe){let Te=ir(void 0);p.fetchers.set(k,Te),ae({fetchers:new Map(p.fetchers)});return}else{Ae.add(k),await Ur(p,oe);return}if(mi(oe)){let Te=vr(p.matches,C);p.fetchers.delete(k),ae({fetchers:new Map(p.fetchers),errors:{[Te.route.id]:oe.error}});return}Y(!Bn(oe),"Unhandled fetcher deferred data");let ke=ir(oe.data);p.fetchers.set(k,ke),ae({fetchers:new Map(p.fetchers)})}async function Ur(k,C,_){let{submission:F,replace:W,isFetchActionRedirect:B}=_===void 0?{}:_;C.revalidate&&(U=!0);let H=Ri(k.location,C.location,pe({_isRedirect:!0},B?{_isFetchActionRedirect:!0}:{}));if(Y(H,"Expected a location on the redirect navigation"),Ih.test(C.location)&&n){let ce=e.history.createURL(C.location),Oe=$r(ce.pathname,c)==null;if(t.location.origin!==ce.origin||Oe){W?t.location.replace(C.location):t.location.assign(C.location);return}}M=null;let z=W===!0?Ee.Replace:Ee.Push,D=F||Yu(k.navigation);if(Lg.has(C.status)&&D&&bt(D.formMethod))await sn(z,H,{submission:pe({},D,{formAction:C.location}),preventScrollReset:E});else if(B)await sn(z,H,{overrideNavigation:uo(H),fetcherSubmission:D,preventScrollReset:E});else{let ce=uo(H,D);await sn(z,H,{overrideNavigation:ce,preventScrollReset:E})}}async function yc(k,C,_,F,W){let B=await Promise.all([..._.map(D=>Zr("loader",W,D,C,l,i,c)),...F.map(D=>D.matches&&D.match&&D.controller?Zr("loader",ei(e.history,D.path,D.controller.signal),D.match,D.matches,l,i,c):{type:Ne.error,error:dt(404,{pathname:D.path})})]),H=B.slice(0,_.length),z=B.slice(_.length);return await Promise.all([Qu(k,_,H,H.map(()=>W.signal),!1,p.loaderData),Qu(k,F.map(D=>D.match),z,F.map(D=>D.controller?D.controller.signal:null),!0)]),{results:B,loaderResults:H,fetcherResults:z}}function jl(){U=!0,$.push(...Sl()),Tt.forEach((k,C)=>{Z.has(C)&&(we.push(C),an(C))})}function Hi(k,C,_){let F=vr(p.matches,C);kl(k),ae({errors:{[F.route.id]:_},fetchers:new Map(p.fetchers)})}function kl(k){let C=p.fetchers.get(k);Z.has(k)&&!(C&&C.state==="loading"&&rt.has(k))&&an(k),Tt.delete(k),rt.delete(k),Ae.delete(k),p.fetchers.delete(k)}function an(k){let C=Z.get(k);Y(C,"Expected fetch controller: "+k),C.abort(),Z.delete(k)}function vc(k){for(let C of k){let _=gc(C),F=ir(_.data);p.fetchers.set(C,F)}}function xc(){let k=[],C=!1;for(let _ of Ae){let F=p.fetchers.get(_);Y(F,"Expected fetcher: "+_),F.state==="loading"&&(Ae.delete(_),k.push(_),C=!0)}return vc(k),C}function wc(k){let C=[];for(let[_,F]of rt)if(F0}function Cp(k,C){let _=p.blockers.get(k)||qr;return A.get(k)!==C&&A.set(k,C),_}function jc(k){p.blockers.delete(k),A.delete(k)}function Wi(k,C){let _=p.blockers.get(k)||qr;Y(_.state==="unblocked"&&C.state==="blocked"||_.state==="blocked"&&C.state==="blocked"||_.state==="blocked"&&C.state==="proceeding"||_.state==="blocked"&&C.state==="unblocked"||_.state==="proceeding"&&C.state==="unblocked","Invalid blocker state transition: "+_.state+" -> "+C.state);let F=new Map(p.blockers);F.set(k,C),ae({blockers:F})}function kc(k){let{currentLocation:C,nextLocation:_,historyAction:F}=k;if(A.size===0)return;A.size>1&&Rr(!1,"A router only supports one blocker at a time");let W=Array.from(A.entries()),[B,H]=W[W.length-1],z=p.blockers.get(B);if(!(z&&z.state==="proceeding")&&H({currentLocation:C,nextLocation:_,historyAction:F}))return B}function Sl(k){let C=[];return T.forEach((_,F)=>{(!k||k(F))&&(_.cancel(),C.push(F),T.delete(F))}),C}function bp(k,C,_){if(m=k,w=C,x=_||null,!j&&p.navigation===ns){j=!0;let F=Cc(p.location,p.matches);F!=null&&ae({restoreScrollPosition:F})}return()=>{m=null,w=null,x=null}}function Sc(k,C){return x&&x(k,C.map(F=>Wg(F,p.loaderData)))||k.key}function Ep(k,C){if(m&&w){let _=Sc(k,C);m[_]=w()}}function Cc(k,C){if(m){let _=Sc(k,C),F=m[_];if(typeof F=="number")return F}return null}function Mp(k){l={},a=Xs(k,i,void 0,l)}return y={get basename(){return c},get state(){return p},get routes(){return s},initialize:ge,subscribe:tr,enableScrollRestoration:bp,navigate:Lt,fetch:jp,revalidate:nr,createHref:k=>e.history.createHref(k),encodeLocation:k=>e.history.encodeLocation(k),getFetcher:gc,deleteFetcher:kl,dispose:be,getBlocker:Cp,deleteBlocker:jc,_internalFetchControllers:Z,_internalActiveDeferreds:T,_internalSetRoutes:Mp},y}function zg(e){return e!=null&&("formData"in e&&e.formData!=null||"body"in e&&e.body!==void 0)}function qs(e,t,n,r,i,l,s){let a,c;if(l!=null&&s!=="path"){a=[];for(let d of t)if(a.push(d),d.route.id===l){c=d;break}}else a=t,c=t[t.length-1];let u=oc(i||".",gl(a).map(d=>d.pathnameBase),$r(e.pathname,n)||e.pathname,s==="path");return i==null&&(u.search=e.search,u.hash=e.hash),(i==null||i===""||i===".")&&c&&c.route.index&&!sc(u.search)&&(u.search=u.search?u.search.replace(/^\?/,"?index&"):"?index"),r&&n!=="/"&&(u.pathname=u.pathname==="/"?n:Xt([n,u.pathname])),Gn(u)}function $u(e,t,n,r){if(!r||!zg(r))return{path:n};if(r.formMethod&&!Hg(r.formMethod))return{path:n,error:dt(405,{method:r.formMethod})};let i=()=>({path:n,error:dt(400,{type:"invalid-body"})}),l=r.formMethod||"get",s=e?l.toUpperCase():l.toLowerCase(),a=Th(n);if(r.body!==void 0){if(r.formEncType==="text/plain"){if(!bt(s))return i();let m=typeof r.body=="string"?r.body:r.body instanceof FormData||r.body instanceof URLSearchParams?Array.from(r.body.entries()).reduce((x,w)=>{let[j,N]=w;return""+x+j+"="+N+` +`},""):String(r.body);return{path:n,submission:{formMethod:s,formAction:a,formEncType:r.formEncType,formData:void 0,json:void 0,text:m}}}else if(r.formEncType==="application/json"){if(!bt(s))return i();try{let m=typeof r.body=="string"?JSON.parse(r.body):r.body;return{path:n,submission:{formMethod:s,formAction:a,formEncType:r.formEncType,formData:void 0,json:m,text:void 0}}}catch{return i()}}}Y(typeof FormData=="function","FormData is not available in this environment");let c,u;if(r.formData)c=Zs(r.formData),u=r.formData;else if(r.body instanceof FormData)c=Zs(r.body),u=r.body;else if(r.body instanceof URLSearchParams)c=r.body,u=Bu(c);else if(r.body==null)c=new URLSearchParams,u=new FormData;else try{c=new URLSearchParams(r.body),u=Bu(c)}catch{return i()}let d={formMethod:s,formAction:a,formEncType:r&&r.formEncType||"application/x-www-form-urlencoded",formData:u,json:void 0,text:void 0};if(bt(d.formMethod))return{path:n,submission:d};let h=on(n);return t&&h.search&&sc(h.search)&&c.append("index",""),h.search="?"+c,{path:Gn(h),submission:d}}function $g(e,t){let n=e;if(t){let r=e.findIndex(i=>i.route.id===t);r>=0&&(n=e.slice(0,r))}return n}function Au(e,t,n,r,i,l,s,a,c,u,d,h,m,x){let w=x?Object.values(x)[0]:m?Object.values(m)[0]:void 0,j=e.createURL(t.location),N=e.createURL(i),g=x?Object.keys(x)[0]:void 0,y=$g(n,g).filter((b,E)=>{if(b.route.lazy)return!0;if(b.route.loader==null)return!1;if(Ag(t.loaderData,t.matches[E],b)||s.some(U=>U===b.route.id))return!0;let M=t.matches[E],P=b;return Ou(b,pe({currentUrl:j,currentParams:M.params,nextUrl:N,nextParams:P.params},r,{actionResult:w,defaultShouldRevalidate:l||j.pathname+j.search===N.pathname+N.search||j.search!==N.search||Ph(M,P)}))}),p=[];return c.forEach((b,E)=>{if(!n.some(we=>we.route.id===b.routeId))return;let M=yr(d,b.path,h);if(!M){p.push({key:E,routeId:b.routeId,path:b.path,matches:null,match:null,controller:null});return}let P=t.fetchers.get(E),U=ea(M,b.path),$=!1;u.has(E)?$=!1:a.includes(E)?$=!0:P&&P.state!=="idle"&&P.data===void 0?$=l:$=Ou(U,pe({currentUrl:j,currentParams:t.matches[t.matches.length-1].params,nextUrl:N,nextParams:n[n.length-1].params},r,{actionResult:w,defaultShouldRevalidate:l})),$&&p.push({key:E,routeId:b.routeId,path:b.path,matches:M,match:U,controller:new AbortController})}),[y,p]}function Ag(e,t,n){let r=!t||n.route.id!==t.route.id,i=e[n.route.id]===void 0;return r||i}function Ph(e,t){let n=e.route.path;return e.pathname!==t.pathname||n!=null&&n.endsWith("*")&&e.params["*"]!==t.params["*"]}function Ou(e,t){if(e.route.shouldRevalidate){let n=e.route.shouldRevalidate(t);if(typeof n=="boolean")return n}return t.defaultShouldRevalidate}async function Uu(e,t,n){if(!e.lazy)return;let r=await e.lazy();if(!e.lazy)return;let i=n[e.id];Y(i,"No route found in manifest");let l={};for(let s in r){let c=i[s]!==void 0&&s!=="hasErrorBoundary";Rr(!c,'Route "'+i.id+'" has a static property "'+s+'" defined but its lazy function is also returning a value for this property. '+('The lazy route property "'+s+'" will be ignored.')),!c&&!ag.has(s)&&(l[s]=r[s])}Object.assign(i,l),Object.assign(i,pe({},t(i),{lazy:void 0}))}async function Zr(e,t,n,r,i,l,s,a){a===void 0&&(a={});let c,u,d,h=w=>{let j,N=new Promise((g,f)=>j=f);return d=()=>j(),t.signal.addEventListener("abort",d),Promise.race([w({request:t,params:n.params,context:a.requestContext}),N])};try{let w=n.route[e];if(n.route.lazy)if(w)u=(await Promise.all([h(w),Uu(n.route,l,i)]))[0];else if(await Uu(n.route,l,i),w=n.route[e],w)u=await h(w);else if(e==="action"){let j=new URL(t.url),N=j.pathname+j.search;throw dt(405,{method:t.method,pathname:N,routeId:n.route.id})}else return{type:Ne.data,data:void 0};else if(w)u=await h(w);else{let j=new URL(t.url),N=j.pathname+j.search;throw dt(404,{pathname:N})}Y(u!==void 0,"You defined "+(e==="action"?"an action":"a loader")+" for route "+('"'+n.route.id+"\" but didn't return anything from your `"+e+"` ")+"function. Please return a value or `null`.")}catch(w){c=Ne.error,u=w}finally{d&&t.signal.removeEventListener("abort",d)}if(Vg(u)){let w=u.status;if(Tg.has(w)){let g=u.headers.get("Location");if(Y(g,"Redirects returned/thrown from loaders/actions must have a Location header"),!Ih.test(g))g=qs(new URL(t.url),r.slice(0,r.indexOf(n)+1),s,!0,g);else if(!a.isStaticRequest){let f=new URL(t.url),y=g.startsWith("//")?new URL(f.protocol+g):new URL(g),p=$r(y.pathname,s)!=null;y.origin===f.origin&&p&&(g=y.pathname+y.search+y.hash)}if(a.isStaticRequest)throw u.headers.set("Location",g),u;return{type:Ne.redirect,status:w,location:g,revalidate:u.headers.get("X-Remix-Revalidate")!==null}}if(a.isRouteRequest)throw{type:c||Ne.data,response:u};let j,N=u.headers.get("Content-Type");return N&&/\bapplication\/json\b/.test(N)?j=await u.json():j=await u.text(),c===Ne.error?{type:c,error:new lc(w,u.statusText,j),headers:u.headers}:{type:Ne.data,data:j,statusCode:u.status,headers:u.headers}}if(c===Ne.error)return{type:c,error:u};if(Bg(u)){var m,x;return{type:Ne.deferred,deferredData:u,statusCode:(m=u.init)==null?void 0:m.status,headers:((x=u.init)==null?void 0:x.headers)&&new Headers(u.init.headers)}}return{type:Ne.data,data:u}}function ei(e,t,n,r){let i=e.createURL(Th(t)).toString(),l={signal:n};if(r&&bt(r.formMethod)){let{formMethod:s,formEncType:a}=r;l.method=s.toUpperCase(),a==="application/json"?(l.headers=new Headers({"Content-Type":a}),l.body=JSON.stringify(r.json)):a==="text/plain"?l.body=r.text:a==="application/x-www-form-urlencoded"&&r.formData?l.body=Zs(r.formData):l.body=r.formData}return new Request(i,l)}function Zs(e){let t=new URLSearchParams;for(let[n,r]of e.entries())t.append(n,typeof r=="string"?r:r.name);return t}function Bu(e){let t=new FormData;for(let[n,r]of e.entries())t.append(n,r);return t}function Og(e,t,n,r,i){let l={},s=null,a,c=!1,u={};return n.forEach((d,h)=>{let m=t[h].route.id;if(Y(!Er(d),"Cannot handle redirect results in processLoaderData"),mi(d)){let x=vr(e,m),w=d.error;r&&(w=Object.values(r)[0],r=void 0),s=s||{},s[x.route.id]==null&&(s[x.route.id]=w),l[m]=void 0,c||(c=!0,a=_h(d.error)?d.error.status:500),d.headers&&(u[m]=d.headers)}else Bn(d)?(i.set(m,d.deferredData),l[m]=d.deferredData.data):l[m]=d.data,d.statusCode!=null&&d.statusCode!==200&&!c&&(a=d.statusCode),d.headers&&(u[m]=d.headers)}),r&&(s=r,l[Object.keys(r)[0]]=void 0),{loaderData:l,errors:s,statusCode:a||200,loaderHeaders:u}}function Vu(e,t,n,r,i,l,s,a){let{loaderData:c,errors:u}=Og(t,n,r,i,a);for(let d=0;dr.route.id===t)+1):[...e]).reverse().find(r=>r.route.hasErrorBoundary===!0)||e[0]}function Wu(e){let t=e.find(n=>n.index||!n.path||n.path==="/")||{id:"__shim-error-route__"};return{matches:[{params:{},pathname:"",pathnameBase:"",route:t}],route:t}}function dt(e,t){let{pathname:n,routeId:r,method:i,type:l}=t===void 0?{}:t,s="Unknown Server Error",a="Unknown @remix-run/router error";return e===400?(s="Bad Request",i&&n&&r?a="You made a "+i+' request to "'+n+'" but '+('did not provide a `loader` for route "'+r+'", ')+"so there is no way to handle the request.":l==="defer-action"?a="defer() is not supported in actions":l==="invalid-body"&&(a="Unable to encode submission body")):e===403?(s="Forbidden",a='Route "'+r+'" does not match URL "'+n+'"'):e===404?(s="Not Found",a='No route matches URL "'+n+'"'):e===405&&(s="Method Not Allowed",i&&n&&r?a="You made a "+i.toUpperCase()+' request to "'+n+'" but '+('did not provide an `action` for route "'+r+'", ')+"so there is no way to handle the request.":i&&(a='Invalid request method "'+i.toUpperCase()+'"')),new lc(e||500,s,new Error(a),!0)}function Ku(e){for(let t=e.length-1;t>=0;t--){let n=e[t];if(Er(n))return{result:n,idx:t}}}function Th(e){let t=typeof e=="string"?on(e):e;return Gn(pe({},t,{hash:""}))}function Ug(e,t){return e.pathname!==t.pathname||e.search!==t.search?!1:e.hash===""?t.hash!=="":e.hash===t.hash?!0:t.hash!==""}function Bn(e){return e.type===Ne.deferred}function mi(e){return e.type===Ne.error}function Er(e){return(e&&e.type)===Ne.redirect}function Bg(e){let t=e;return t&&typeof t=="object"&&typeof t.data=="object"&&typeof t.subscribe=="function"&&typeof t.cancel=="function"&&typeof t.resolveData=="function"}function Vg(e){return e!=null&&typeof e.status=="number"&&typeof e.statusText=="string"&&typeof e.headers=="object"&&typeof e.body<"u"}function Hg(e){return Pg.has(e.toLowerCase())}function bt(e){return Ng.has(e.toLowerCase())}async function Qu(e,t,n,r,i,l){for(let s=0;sh.route.id===c.route.id),d=u!=null&&!Ph(u,c)&&(l&&l[c.route.id])!==void 0;if(Bn(a)&&(i||d)){let h=r[s];Y(h,"Expected an AbortSignal for revalidating fetcher deferred result"),await Lh(a,h,i).then(m=>{m&&(n[s]=m||n[s])})}}}async function Lh(e,t,n){if(n===void 0&&(n=!1),!await e.deferredData.resolveData(t)){if(n)try{return{type:Ne.data,data:e.deferredData.unwrappedData}}catch(i){return{type:Ne.error,error:i}}return{type:Ne.data,data:e.deferredData.data}}}function sc(e){return new URLSearchParams(e).getAll("index").some(t=>t==="")}function Wg(e,t){let{route:n,pathname:r,params:i}=e;return{id:n.id,pathname:r,params:i,data:t[n.id],handle:n.handle}}function ea(e,t){let n=typeof t=="string"?on(t).search:t.search;if(e[e.length-1].route.index&&sc(n||""))return e[e.length-1];let r=gl(e);return r[r.length-1]}function Yu(e){let{formMethod:t,formAction:n,formEncType:r,text:i,formData:l,json:s}=e;if(!(!t||!n||!r)){if(i!=null)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:void 0,text:i};if(l!=null)return{formMethod:t,formAction:n,formEncType:r,formData:l,json:void 0,text:void 0};if(s!==void 0)return{formMethod:t,formAction:n,formEncType:r,formData:void 0,json:s,text:void 0}}}function uo(e,t){return t?{state:"loading",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}:{state:"loading",location:e,formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0}}function Kg(e,t){return{state:"submitting",location:e,formMethod:t.formMethod,formAction:t.formAction,formEncType:t.formEncType,formData:t.formData,json:t.json,text:t.text}}function ti(e,t){return e?{state:"loading",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t," _hasFetcherDoneAnything ":!0}:{state:"loading",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:t," _hasFetcherDoneAnything ":!0}}function Qg(e,t){return{state:"submitting",formMethod:e.formMethod,formAction:e.formAction,formEncType:e.formEncType,formData:e.formData,json:e.json,text:e.text,data:t?t.data:void 0," _hasFetcherDoneAnything ":!0}}function ir(e){return{state:"idle",formMethod:void 0,formAction:void 0,formEncType:void 0,formData:void 0,json:void 0,text:void 0,data:e," _hasFetcherDoneAnything ":!0}}/** + * React Router v6.14.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Go(){return Go=Object.assign?Object.assign.bind():function(e){for(var t=1;tc.pathnameBase)),s=S.useRef(!1);return Dh(()=>{s.current=!0}),S.useCallback(function(c,u){if(u===void 0&&(u={}),!s.current)return;if(typeof c=="number"){n.go(c);return}let d=oc(c,JSON.parse(l),i,u.relative==="path");e==null&&t!=="/"&&(d.pathname=d.pathname==="/"?t:Xt([t,d.pathname])),(u.replace?n.replace:n.push)(d,u.state,u)},[t,n,l,i,e])}function zh(e,t){let{relative:n}=t===void 0?{}:t,{matches:r}=S.useContext(Zn),{pathname:i}=xl(),l=JSON.stringify(gl(r).map(s=>s.pathnameBase));return S.useMemo(()=>oc(e,JSON.parse(l),i,n==="path"),[e,l,i,n])}function Gg(e,t,n){Vi()||Y(!1);let{navigator:r}=S.useContext(Ar),{matches:i}=S.useContext(Zn),l=i[i.length-1],s=l?l.params:{};l&&l.pathname;let a=l?l.pathnameBase:"/";l&&l.route;let c=xl(),u;if(t){var d;let j=typeof t=="string"?on(t):t;a==="/"||(d=j.pathname)!=null&&d.startsWith(a)||Y(!1),u=j}else u=c;let h=u.pathname||"/",m=a==="/"?h:h.slice(a.length)||"/",x=yr(e,{pathname:m}),w=ty(x&&x.map(j=>Object.assign({},j,{params:Object.assign({},s,j.params),pathname:Xt([a,r.encodeLocation?r.encodeLocation(j.pathname).pathname:j.pathname]),pathnameBase:j.pathnameBase==="/"?a:Xt([a,r.encodeLocation?r.encodeLocation(j.pathnameBase).pathname:j.pathnameBase])})),i,n);return t&&w?S.createElement(vl.Provider,{value:{location:Go({pathname:"/",search:"",hash:"",state:null,key:"default"},u),navigationType:Ee.Pop}},w):w}function Xg(){let e=oy(),t=_h(e)?e.status+" "+e.statusText:e instanceof Error?e.message:JSON.stringify(e),n=e instanceof Error?e.stack:null,i={padding:"0.5rem",backgroundColor:"rgba(200,200,200, 0.5)"},l=null;return S.createElement(S.Fragment,null,S.createElement("h2",null,"Unexpected Application Error!"),S.createElement("h3",{style:{fontStyle:"italic"}},t),n?S.createElement("pre",{style:i},n):null,l)}const qg=S.createElement(Xg,null);class Zg extends S.Component{constructor(t){super(t),this.state={location:t.location,revalidation:t.revalidation,error:t.error}}static getDerivedStateFromError(t){return{error:t}}static getDerivedStateFromProps(t,n){return n.location!==t.location||n.revalidation!=="idle"&&t.revalidation==="idle"?{error:t.error,location:t.location,revalidation:t.revalidation}:{error:t.error||n.error,location:n.location,revalidation:t.revalidation||n.revalidation}}componentDidCatch(t,n){console.error("React Router caught the following error during render",t,n)}render(){return this.state.error?S.createElement(Zn.Provider,{value:this.props.routeContext},S.createElement(Fh.Provider,{value:this.state.error,children:this.props.component})):this.props.children}}function ey(e){let{routeContext:t,match:n,children:r}=e,i=S.useContext(yl);return i&&i.static&&i.staticContext&&(n.route.errorElement||n.route.ErrorBoundary)&&(i.staticContext._deepestRenderedBoundaryId=n.route.id),S.createElement(Zn.Provider,{value:t},r)}function ty(e,t,n){var r;if(t===void 0&&(t=[]),n===void 0&&(n=null),e==null){var i;if((i=n)!=null&&i.errors)e=n.matches;else return null}let l=e,s=(r=n)==null?void 0:r.errors;if(s!=null){let a=l.findIndex(c=>c.route.id&&(s==null?void 0:s[c.route.id]));a>=0||Y(!1),l=l.slice(0,Math.min(l.length,a+1))}return l.reduceRight((a,c,u)=>{let d=c.route.id?s==null?void 0:s[c.route.id]:null,h=null;n&&(h=c.route.errorElement||qg);let m=t.concat(l.slice(0,u+1)),x=()=>{let w;return d?w=h:c.route.Component?w=S.createElement(c.route.Component,null):c.route.element?w=c.route.element:w=a,S.createElement(ey,{match:c,routeContext:{outlet:a,matches:m,isDataRoute:n!=null},children:w})};return n&&(c.route.ErrorBoundary||c.route.errorElement||u===0)?S.createElement(Zg,{location:n.location,revalidation:n.revalidation,component:h,error:d,children:x(),routeContext:{outlet:null,matches:m,isDataRoute:!0}}):x()},null)}var ta;(function(e){e.UseBlocker="useBlocker",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate"})(ta||(ta={}));var Fi;(function(e){e.UseBlocker="useBlocker",e.UseLoaderData="useLoaderData",e.UseActionData="useActionData",e.UseRouteError="useRouteError",e.UseNavigation="useNavigation",e.UseRouteLoaderData="useRouteLoaderData",e.UseMatches="useMatches",e.UseRevalidator="useRevalidator",e.UseNavigateStable="useNavigate",e.UseRouteId="useRouteId"})(Fi||(Fi={}));function ny(e){let t=S.useContext(yl);return t||Y(!1),t}function ry(e){let t=S.useContext(Rh);return t||Y(!1),t}function iy(e){let t=S.useContext(Zn);return t||Y(!1),t}function $h(e){let t=iy(),n=t.matches[t.matches.length-1];return n.route.id||Y(!1),n.route.id}function oy(){var e;let t=S.useContext(Fh),n=ry(Fi.UseRouteError),r=$h(Fi.UseRouteError);return t||((e=n.errors)==null?void 0:e[r])}function ly(){let{router:e}=ny(ta.UseNavigateStable),t=$h(Fi.UseNavigateStable),n=S.useRef(!1);return Dh(()=>{n.current=!0}),S.useCallback(function(i,l){l===void 0&&(l={}),n.current&&(typeof i=="number"?e.navigate(i):e.navigate(i,Go({fromRouteId:t},l)))},[e,t])}const sy="startTransition",Ju=Yp[sy];function ay(e){let{fallbackElement:t,router:n,future:r}=e,[i,l]=S.useState(n.state),{v7_startTransition:s}=r||{},a=S.useCallback(h=>{s&&Ju?Ju(()=>l(h)):l(h)},[l,s]);S.useLayoutEffect(()=>n.subscribe(a),[n,a]);let c=S.useMemo(()=>({createHref:n.createHref,encodeLocation:n.encodeLocation,go:h=>n.navigate(h),push:(h,m,x)=>n.navigate(h,{state:m,preventScrollReset:x==null?void 0:x.preventScrollReset}),replace:(h,m,x)=>n.navigate(h,{replace:!0,state:m,preventScrollReset:x==null?void 0:x.preventScrollReset})}),[n]),u=n.basename||"/",d=S.useMemo(()=>({router:n,navigator:c,static:!1,basename:u}),[n,c,u]);return S.createElement(S.Fragment,null,S.createElement(yl.Provider,{value:d},S.createElement(Rh.Provider,{value:i},S.createElement(uy,{basename:u,location:i.location,navigationType:i.historyAction,navigator:c},i.initialized?S.createElement(cy,{routes:n.routes,state:i}):t))),null)}function cy(e){let{routes:t,state:n}=e;return Gg(t,void 0,n)}function Ah(e){Y(!1)}function uy(e){let{basename:t="/",children:n=null,location:r,navigationType:i=Ee.Pop,navigator:l,static:s=!1}=e;Vi()&&Y(!1);let a=t.replace(/^\/*/,"/"),c=S.useMemo(()=>({basename:a,navigator:l,static:s}),[a,l,s]);typeof r=="string"&&(r=on(r));let{pathname:u="/",search:d="",hash:h="",state:m=null,key:x="default"}=r,w=S.useMemo(()=>{let j=$r(u,a);return j==null?null:{location:{pathname:j,search:d,hash:h,state:m,key:x},navigationType:i}},[a,u,d,h,m,x,i]);return w==null?null:S.createElement(Ar.Provider,{value:c},S.createElement(vl.Provider,{children:n,value:w}))}var Gu;(function(e){e[e.pending=0]="pending",e[e.success=1]="success",e[e.error=2]="error"})(Gu||(Gu={}));new Promise(()=>{});function na(e,t){t===void 0&&(t=[]);let n=[];return S.Children.forEach(e,(r,i)=>{if(!S.isValidElement(r))return;let l=[...t,i];if(r.type===S.Fragment){n.push.apply(n,na(r.props.children,l));return}r.type!==Ah&&Y(!1),!r.props.index||!r.props.children||Y(!1);let s={id:r.props.id||l.join("-"),caseSensitive:r.props.caseSensitive,element:r.props.element,Component:r.props.Component,index:r.props.index,path:r.props.path,loader:r.props.loader,action:r.props.action,errorElement:r.props.errorElement,ErrorBoundary:r.props.ErrorBoundary,hasErrorBoundary:r.props.ErrorBoundary!=null||r.props.errorElement!=null,shouldRevalidate:r.props.shouldRevalidate,handle:r.props.handle,lazy:r.props.lazy};r.props.children&&(s.children=na(r.props.children,l)),n.push(s)}),n}function dy(e){let t={hasErrorBoundary:e.ErrorBoundary!=null||e.errorElement!=null};return e.Component&&Object.assign(t,{element:S.createElement(e.Component),Component:void 0}),e.ErrorBoundary&&Object.assign(t,{errorElement:S.createElement(e.ErrorBoundary),ErrorBoundary:void 0}),t}/** + * React Router DOM v6.14.2 + * + * Copyright (c) Remix Software Inc. + * + * This source code is licensed under the MIT license found in the + * LICENSE.md file in the root directory of this source tree. + * + * @license MIT + */function Di(){return Di=Object.assign?Object.assign.bind():function(e){for(var t=1;t=0)&&(n[i]=e[i]);return n}function hy(e){return!!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)}function py(e,t){return e.button===0&&(!t||t==="_self")&&!hy(e)}const my=["onClick","relative","reloadDocument","replace","state","target","to","preventScrollReset"];function gy(e,t){return Dg({basename:t==null?void 0:t.basename,future:Di({},t==null?void 0:t.future,{v7_prependBasename:!0}),history:og({window:t==null?void 0:t.window}),hydrationData:(t==null?void 0:t.hydrationData)||yy(),routes:e,mapRouteProperties:dy}).initialize()}function yy(){var e;let t=(e=window)==null?void 0:e.__staticRouterHydrationData;return t&&t.errors&&(t=Di({},t,{errors:vy(t.errors)})),t}function vy(e){if(!e)return null;let t=Object.entries(e),n={};for(let[r,i]of t)if(i&&i.__type==="RouteErrorResponse")n[r]=new lc(i.status,i.statusText,i.data,i.internal===!0);else if(i&&i.__type==="Error"){if(i.__subType){let l=window[i.__subType];if(typeof l=="function")try{let s=new l(i.message);s.stack="",n[r]=s}catch{}}if(n[r]==null){let l=new Error(i.message);l.stack="",n[r]=l}}else n[r]=i;return n}const xy=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u",wy=/^(?:[a-z][a-z0-9+.-]*:|\/\/)/i,Ye=S.forwardRef(function(t,n){let{onClick:r,relative:i,reloadDocument:l,replace:s,state:a,target:c,to:u,preventScrollReset:d}=t,h=fy(t,my),{basename:m}=S.useContext(Ar),x,w=!1;if(typeof u=="string"&&wy.test(u)&&(x=u,xy))try{let f=new URL(window.location.href),y=u.startsWith("//")?new URL(f.protocol+u):new URL(u),p=$r(y.pathname,m);y.origin===f.origin&&p!=null?u=p+y.search+y.hash:w=!0}catch{}let j=Yg(u,{relative:i}),N=jy(u,{replace:s,state:a,target:c,preventScrollReset:d,relative:i});function g(f){r&&r(f),f.defaultPrevented||N(f)}return S.createElement("a",Di({},h,{href:x||j,onClick:w||l?r:g,ref:n,target:c}))});var Xu;(function(e){e.UseScrollRestoration="useScrollRestoration",e.UseSubmit="useSubmit",e.UseSubmitFetcher="useSubmitFetcher",e.UseFetcher="useFetcher"})(Xu||(Xu={}));var qu;(function(e){e.UseFetchers="useFetchers",e.UseScrollRestoration="useScrollRestoration"})(qu||(qu={}));function jy(e,t){let{target:n,replace:r,state:i,preventScrollReset:l,relative:s}=t===void 0?{}:t,a=vt(),c=xl(),u=zh(e,{relative:s});return S.useCallback(d=>{if(py(d,n)){d.preventDefault();let h=r!==void 0?r:Gn(c)===Gn(u);a(e,{replace:h,state:i,preventScrollReset:l,relative:s})}},[c,a,u,r,i,n,e,l,s])}const Oh=({title:e="",description:t="",img:n,keywords:r=[]})=>{const i=document.querySelector("title"),l=document.querySelector('meta[property="og:title"]');i&&(i.innerHTML=e),l&&l.setAttribute("content",e);const s=document.querySelector('meta[name="description"]'),a=document.querySelector('meta[property="og:description"]');s&&s.setAttribute("content",t),a&&a.setAttribute("content",t);const c=document.querySelector('meta[property="og:image"]');c&&c.setAttribute("content","https://neilveil.github.io/mumpui"+(n||"/logo.png"));const u=document.querySelector('link[rel="canonical"]');u&&u.setAttribute("href","https://neilveil.github.io"+window.location.pathname);const d=document.querySelector('meta[name="keywords"]');d&&d.setAttribute("content",r.join(","))},ln=e=>{const t=JSON.parse(JSON.stringify(e)),n=r=>{var i;if(r.length){r.forEach(n);return}r.icon&&(r.icon=`--${r.icon.props.children}--`),(i=r==null?void 0:r.next)!=null&&i.length&&n(r.next)};return n(t),JSON.stringify(t,null,2).replaceAll('"--',"").replaceAll('--"',"")};function O({children:e,primary:t,className:n,type:r="button",...i}){return n=`mumpui mp-button ${t?"mp-button-primary":""} ${n||"mp-button-default"}`,o.jsx("button",{...i,type:r,className:n,disabled:i.disabled,onClick:i.onClick,children:e})}const Uh=o.jsxs("svg",{width:"128",height:"128",viewBox:"0 0 128 128",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("rect",{x:"128",y:"128",width:"128",height:"128",rx:"64",transform:"rotate(-180 128 128)",fill:"var(--mp-c-blue)"}),o.jsx("rect",{x:"52",y:"27",width:"24",height:"24",rx:"12",fill:"var(--mp-c-bg)"}),o.jsx("rect",{x:"76",y:"101",width:"24",height:"42",rx:"12",transform:"rotate(-180 76 101)",fill:"var(--mp-c-bg)"})]}),Bh=o.jsxs("svg",{width:"128",height:"128",viewBox:"0 0 128 128",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("rect",{width:"128",height:"128",rx:"64",fill:"var(--mp-c-red)"}),o.jsx("rect",{x:"86.5685",y:"30",width:"16",height:"80",rx:"8",transform:"rotate(45 86.5685 30)",fill:"var(--mp-c-bg)"}),o.jsx("rect",{x:"30",y:"41.3137",width:"16",height:"80",rx:"8",transform:"rotate(-45 30 41.3137)",fill:"var(--mp-c-bg)"})]}),Vh=o.jsxs("svg",{width:"128",height:"128",viewBox:"0 0 128 128",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("rect",{width:"128",height:"128",rx:"64",fill:"var(--mp-c-green)"}),o.jsx("rect",{x:"23",y:"65.8414",width:"16",height:"45.401",rx:"8",transform:"rotate(-45 23 65.8414)",fill:"var(--mp-c-bg)"}),o.jsx("rect",{x:"94.4865",y:"36",width:"16",height:"71.3987",rx:"8",transform:"rotate(45 94.4865 36)",fill:"var(--mp-c-bg)"})]}),Hh=o.jsxs("svg",{width:"128",height:"128",viewBox:"0 0 128 128",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("rect",{width:"128",height:"128",rx:"64",fill:"var(--mp-c-yellow)"}),o.jsx("rect",{x:"52",y:"77",width:"24",height:"24",rx:"12",fill:"var(--mp-c-bg)"}),o.jsx("rect",{x:"52",y:"27",width:"24",height:"42",rx:"12",fill:"var(--mp-c-bg)"})]}),Wh=o.jsxs("svg",{viewBox:"0 0 128 128",fill:"none",xmlns:"http://www.w3.org/2000/svg",className:"mp-message-loader",children:[o.jsx("mask",{id:"mask0_302_8",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"64",y:"64",width:"52",height:"52",children:o.jsx("rect",{width:"52",height:"52",transform:"matrix(-1 0 0 1 116 64)",fill:"var(--mp-c-bg)"})}),o.jsx("g",{mask:"url(#mask0_302_8)",children:o.jsx("rect",{x:"-8",y:"8",width:"88",height:"88",rx:"44",transform:"matrix(-1 0 0 1 100 12)",stroke:"var(--mp-c-blue)",strokeWidth:"16"})}),o.jsx("rect",{x:"56",y:"100",width:"16",height:"16",rx:"8",fill:"#2987DD"}),o.jsx("mask",{id:"mask1_302_8",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"64",y:"12",width:"52",height:"52",children:o.jsx("rect",{x:"116",y:"64",width:"52",height:"52",transform:"rotate(-180 116 64)",fill:"var(--mp-c-bg)"})}),o.jsx("g",{mask:"url(#mask1_302_8)",children:o.jsx("rect",{x:"108",y:"108",width:"88",height:"88",rx:"44",transform:"rotate(-180 108 108)",stroke:"#B2DAFF",strokeWidth:"16"})}),o.jsx("mask",{id:"mask2_302_8",style:{maskType:"alpha"},maskUnits:"userSpaceOnUse",x:"12",y:"12",width:"52",height:"52",children:o.jsx("rect",{width:"52",height:"52",transform:"matrix(1 0 0 -1 12 64)",fill:"var(--mp-c-bg)"})}),o.jsx("g",{mask:"url(#mask2_302_8)",children:o.jsx("rect",{x:"8",y:"-8",width:"88",height:"88",rx:"44",transform:"matrix(1 0 0 -1 12 100)",stroke:"#EEF7FF",strokeWidth:"16"})}),o.jsx("rect",{x:"12",y:"58",width:"16",height:"16",rx:"8",fill:"url(#paint0_linear_302_8)"}),o.jsx("defs",{children:o.jsxs("linearGradient",{id:"paint0_linear_302_8",x1:"20",y1:"58",x2:"20",y2:"74",gradientUnits:"userSpaceOnUse",children:[o.jsx("stop",{offset:"0.307292",stopColor:"#EEF6FF"}),o.jsx("stop",{offset:"1",stopColor:"var(--mp-c-bg)"})]})})]}),ky=Object.freeze(Object.defineProperty({__proto__:null,error:Bh,info:Uh,loading:Wh,success:Vh,warn:Hh},Symbol.toStringTag,{value:"Module"}));var Mt;let St=(Mt=class extends $i.Component{constructor(){super(...arguments);se(this,"state",{data:[]});se(this,"componentDidMount",()=>Mt._this=this);se(this,"close",n=>this.setState({data:this.state.data.filter(r=>r.id!==n)}));se(this,"render",()=>this.state.data.map((n,r)=>o.jsx("div",{className:"mumpui mp-confirm",onClick:i=>{i.stopPropagation(),this.close(n.id)},children:o.jsxs("div",{className:"mp-confirm-dialog",onClick:i=>i.stopPropagation(),children:[o.jsxs("div",{className:"mp-confirm-title",children:[!!n.type&&ky[n.type],n.title]}),o.jsx("div",{className:"mp-confirm-description",children:n.description}),o.jsxs("div",{className:"mp-confirm-buttons",children:[o.jsx(O,{onClick:()=>{this.close(n.id),n.onCancel&&n.onCancel()},style:{border:"none"},children:n.cancelText||""}),o.jsx(O,{onClick:()=>{this.close(n.id),n.onConfirm&&n.onConfirm()},style:{marginLeft:"1rem"},primary:!0,children:n.confirmText||""})]})]})},r)))}},se(Mt,"_this"),se(Mt,"init",({title:n="",description:r,confirmText:i,cancelText:l,onConfirm:s,onCancel:a,type:c})=>{Mt._this.setState({data:Mt._this.state.data.concat({id:Math.random(),title:n,description:r,confirmText:i||"Confirm",cancelText:l||"Cancel",onConfirm:s,onCancel:a,type:c})})}),se(Mt,"clear",()=>Mt._this.setState({data:[]})),Mt);function ac({active:e,onClick:t,items:n=[],access:r,className:i="",...l}){return i="mumpui mp-menu "+i,o.jsx("div",{...l,className:i,children:n.map((s,a)=>o.jsx(Qh,{active:e,onClick:t,item:s,access:r},a))})}const Kh=(e=[],t)=>{var n;for(const r of e){if(r.key===t)return!0;if((n=r.next)!=null&&n.length)return Kh(r.next,t)}return!1};function Qh({active:e,onClick:t=()=>{},item:n,access:r}){var a,c;const[i,l]=S.useState(Kh(n.next,e)),s=!!((a=n.next)!=null&&a.length);if(r&&n.access&&n.access.length){if(!r.length)return null;typeof n.access=="string"&&(n.access=[n.access]);let u=!1;for(const d of r)!u&&n.access.includes(d)&&(u=!0);if(!u)return null}return o.jsxs(o.Fragment,{children:[o.jsxs("div",{className:`mp-menu-item ${e===n.key?"mp-menu-item-active":""} ${s?"mp-menu-item-expandable":""}`,onClick:()=>s?l(!i):t(n.key),children:[o.jsxs("div",{children:[!!n.icon&&o.jsx("span",{className:"mp-menu-item-icon",children:n.icon}),o.jsx("span",{className:"mp-menu-item-name",children:n.label})]}),s&&(i?Zu(!0):Zu())]}),!!(s&&i)&&((c=n.next)==null?void 0:c.map((u,d)=>o.jsx("div",{className:"mp-menu-item-group",children:o.jsx(Qh,{active:e,onClick:t,item:u,access:r})},d)))]})}const Zu=e=>o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 128 128",fill:"none",style:{transform:e?"rotate(90deg)":"",transition:"all 200ms ease"},className:"mp-menu-item-expand-icon",children:o.jsx("path",{d:"M44 24L84 64L44 104",stroke:"var(--mp-c-font-light)",strokeWidth:"16",strokeLinecap:"round"})});function q({prefix:e,onPrefixClick:t,suffix:n,onSuffixClick:r,className:i="",style:l={},onValue:s,onChange:a,...c}){i="mumpui mp-input "+i,l=Object.assign({},l);const u=d=>{a&&a(d),s&&s(d.target.value)};return o.jsxs("div",{className:i,style:l,children:[e&&o.jsx("div",{className:"mp-prefix",onClick:t,style:{cursor:t?"pointer":""},children:e}),o.jsx("input",{...c,onChange:u}),n&&o.jsx("div",{className:"mp-suffix",onClick:r,style:{cursor:r?"pointer":""},children:n})]})}function cc({pageSize:e=10,totalItems:t=0,offset:n=0,onChange:r,disabled:i,className:l="",...s}){l="mumpui mp-pagination "+l;const a=h=>{if(i)return;if(h.toString()==="NaN"||h<1||h>Math.ceil(t/e)){u(1),r&&r(0);return}const m=(h-1)*e;r&&r(m)},[c,u]=S.useState(Math.ceil(n/e)+1),d=Math.ceil(t/e);return o.jsxs("div",{...s,className:l,children:[o.jsx("div",{className:"mp-pagination-left-arrow "+(c<=1?"mp-pagination-disabled":""),onClick:()=>{if(c>1){const h=c-1;u(h),a(h)}},children:ed(!0)}),o.jsx("div",{className:"mp-pagination-page-number",children:o.jsx("input",{type:"number",value:c,min:1,onChange:h=>u(parseInt(h.target.value)),onBlur:()=>a(c),onKeyUp:h=>{h.key==="Enter"&&(a(c),h.target.blur())},style:{width:(c||0).toString().length+1+"ch"},placeholder:".."})}),o.jsx("div",{className:"mp-pagination-seperator",children:"/"}),o.jsx("div",{className:"mp-pagination-pages",children:d}),o.jsx("div",{className:"mp-pagination-right-arrow "+(c>=d?"mp-pagination-disabled":""),onClick:()=>{if(co.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 128 128",fill:"none",style:{transform:e?"rotate(180deg)":""},className:"mp-menu-item-expand-icon",children:o.jsx("path",{d:"M44 24L84 64L44 104",stroke:"var(--mp-c-font-light)",strokeWidth:"16",strokeLinecap:"round"})});function gi({empty:e,children:t,className:n="",...r}){return n=`mumpui mp-loader ${n||""}`,o.jsxs("div",{...r,className:n,children:[o.jsx("svg",{viewBox:"25 25 50 50",children:o.jsx("circle",{cx:"50",cy:"50",r:"20"})}),!e&&o.jsx("div",{className:"mp-loader-text",children:t===void 0?"Loading..":t})]})}function En({empty:e,children:t,className:n="",...r}){return n=`mumpui mp-placeholder ${n}`,o.jsxs("div",{...r,className:n,children:[o.jsx("svg",{xmlns:"http://www.w3.org/2000/svg",version:"1.1",x:"0px",y:"0px",viewBox:"0 0 100 100",children:o.jsxs("g",{children:[o.jsx("path",{d:"M90.896,75.311L76.527,46.576c-0.155-0.313-0.475-0.511-0.823-0.511h-0.211h-4.727H50.229H22.835 c0.094-0.545,0.207-1.072,0.355-1.559c0.147-0.487-0.128-1.002-0.616-1.149c-0.484-0.146-1.001,0.128-1.149,0.616 c-0.197,0.653-0.353,1.357-0.463,2.091h-2.732c-0.111,0-0.217,0.026-0.319,0.066c-0.027,0.01-0.054,0.022-0.079,0.035 c-0.079,0.039-0.15,0.086-0.216,0.146c-0.015,0.014-0.031,0.024-0.046,0.038c-0.064,0.067-0.121,0.142-0.164,0.228L3.038,75.311 c-0.004,0.007-0.001,0.014-0.005,0.023c-0.055,0.119-0.092,0.248-0.092,0.387v23.349c0,0.51,0.412,0.922,0.921,0.922h86.211 c0.509,0,0.922-0.412,0.922-0.922V75.721c0-0.139-0.036-0.269-0.093-0.387C90.896,75.324,90.899,75.317,90.896,75.311z M88.58,74.799h-8.968l-3.245-9.847c0.021-0.076,0.049-0.15,0.049-0.232V50.471L88.58,74.799z M18.897,65.642h55.756l3.021,9.157 H15.879L18.897,65.642z M50.229,47.909h20.538h3.805v15.889h-55.42V47.909H50.229z M17.308,50.891v13.681l-3.37,10.228H5.354 L17.308,50.891z M89.149,98.147H4.783V76.643h9.82h64.342h10.204V98.147z"}),o.jsx("path",{d:"M64.961,82.385c-1.419,0-2.713,0.607-3.661,1.637H32.669c-0.943-1.029-2.29-1.637-3.696-1.637 c-2.764,0-5.012,2.248-5.012,5.012c0,2.763,2.248,5.011,5.012,5.011c1.407,0,2.754-0.606,3.696-1.637h28.633 c0.946,1.03,2.24,1.637,3.66,1.637c2.763,0,5.011-2.248,5.011-5.011C69.971,84.633,67.723,82.385,64.961,82.385z M28.973,90.563 c-1.746,0-3.168-1.42-3.168-3.167c0-1.748,1.421-3.168,3.168-3.168c1.005,0,1.93,0.463,2.534,1.267 c0.414,0.553,0.633,1.21,0.633,1.901c0,0.69-0.219,1.349-0.633,1.901C30.903,90.102,29.979,90.563,28.973,90.563z M33.744,88.929 c0.052-0.162,0.082-0.328,0.118-0.492c0.017-0.081,0.043-0.162,0.058-0.245c0.042-0.26,0.063-0.526,0.063-0.792 c0-0.27-0.021-0.536-0.063-0.795c-0.015-0.084-0.041-0.166-0.058-0.248c-0.035-0.165-0.066-0.331-0.116-0.489h26.441 c-0.052,0.161-0.081,0.326-0.116,0.489c-0.018,0.082-0.045,0.164-0.059,0.248c-0.043,0.26-0.064,0.525-0.064,0.795 c0,0.266,0.021,0.532,0.064,0.792c0.014,0.083,0.041,0.165,0.059,0.247c0.033,0.166,0.064,0.33,0.116,0.49H33.744z M64.961,90.563 c-1.004,0-1.923-0.459-2.528-1.26c-0.007-0.008-0.012-0.018-0.02-0.025c-0.066-0.09-0.12-0.182-0.176-0.279 c-0.037-0.063-0.076-0.122-0.108-0.185c-0.044-0.09-0.08-0.179-0.116-0.272c-0.023-0.061-0.051-0.118-0.07-0.178 c-0.033-0.105-0.057-0.217-0.078-0.325c-0.012-0.05-0.027-0.1-0.033-0.149c-0.027-0.162-0.039-0.328-0.039-0.493 c0-0.691,0.219-1.349,0.634-1.899c0.604-0.806,1.529-1.269,2.535-1.269c1.746,0,3.167,1.42,3.167,3.168 C68.128,89.144,66.707,90.563,64.961,90.563z"}),o.jsx("path",{d:"M13.736,41.472c0.155,0.339,0.489,0.54,0.84,0.54c0.128,0,0.257-0.026,0.382-0.083c0.464-0.211,0.668-0.758,0.457-1.222 l-2.303-5.057c-0.21-0.462-0.756-0.668-1.221-0.457c-0.464,0.211-0.668,0.758-0.458,1.221L13.736,41.472z"}),o.jsx("path",{d:"M17.624,40.418c0.106,0.039,0.215,0.058,0.323,0.058c0.374,0,0.726-0.229,0.864-0.598l1.376-3.68 c0.179-0.477-0.063-1.008-0.54-1.186c-0.478-0.179-1.009,0.064-1.187,0.542l-1.376,3.679C16.904,39.708,17.146,40.24,17.624,40.418 z"}),o.jsx("path",{d:"M7.203,42.111l3.68,1.376c0.105,0.04,0.215,0.058,0.323,0.058c0.374,0,0.725-0.229,0.864-0.598 c0.179-0.477-0.063-1.008-0.54-1.187L7.85,40.383c-0.477-0.178-1.008,0.065-1.186,0.542C6.484,41.4,6.727,41.933,7.203,42.111z"}),o.jsx("path",{d:"M24.221,41.559c0.261,0,0.52-0.109,0.703-0.323c0.395-0.463,0.849-0.88,1.347-1.241c0.411-0.298,0.505-0.874,0.206-1.287 c-0.3-0.411-0.875-0.505-1.287-0.206c-0.615,0.446-1.177,0.962-1.669,1.536c-0.33,0.387-0.285,0.968,0.103,1.301 C23.798,41.486,24.01,41.559,24.221,41.559z"}),o.jsx("path",{d:"M47.262,41.303l1.959,0.633c0.094,0.029,0.188,0.044,0.282,0.044c0.391,0,0.751-0.249,0.878-0.639 c0.156-0.484-0.109-1.003-0.594-1.16l-1.959-0.633c-0.487-0.154-1.004,0.109-1.16,0.593C46.512,40.628,46.777,41.147,47.262,41.303 z"}),o.jsx("path",{d:"M53.166,43.172c0.676,0.201,1.344,0.394,2,0.572c0.08,0.022,0.163,0.032,0.24,0.032c0.408,0,0.78-0.271,0.891-0.681 c0.133-0.491-0.157-0.998-0.648-1.13c-0.642-0.175-1.295-0.362-1.956-0.56c-0.491-0.149-1.003,0.133-1.146,0.62 C52.4,42.514,52.678,43.027,53.166,43.172z"}),o.jsx("path",{d:"M59.267,44.674c0.744,0.128,1.457,0.22,2.117,0.275c0.027,0.001,0.053,0.002,0.078,0.002c0.475,0,0.877-0.364,0.916-0.846 c0.043-0.508-0.332-0.952-0.84-0.996c-0.607-0.052-1.268-0.136-1.963-0.255c-0.503-0.082-0.978,0.252-1.063,0.753 C58.427,44.111,58.765,44.588,59.267,44.674z"}),o.jsx("path",{d:"M29.467,38.517c0.07,0,0.142-0.007,0.214-0.024c0.599-0.143,1.239-0.246,1.902-0.308c0.507-0.047,0.879-0.496,0.832-1.003 c-0.047-0.506-0.496-0.891-1.003-0.832c-0.749,0.07-1.475,0.187-2.156,0.349c-0.496,0.118-0.802,0.614-0.686,1.11 C28.671,38.231,29.05,38.517,29.467,38.517z"}),o.jsx("path",{d:"M41.395,39.515c0.647,0.178,1.302,0.368,1.957,0.563c0.089,0.025,0.178,0.038,0.265,0.038c0.397,0,0.764-0.258,0.882-0.657 c0.146-0.488-0.131-1.002-0.619-1.148c-0.668-0.2-1.335-0.391-1.996-0.573c-0.49-0.135-0.999,0.153-1.134,0.644 C40.613,38.871,40.903,39.38,41.395,39.515z"}),o.jsx("path",{d:"M35.507,38.242c0.648,0.071,1.307,0.171,1.962,0.296c0.06,0.011,0.116,0.017,0.176,0.017c0.433,0,0.819-0.308,0.903-0.748 c0.097-0.5-0.23-0.983-0.731-1.079c-0.702-0.136-1.412-0.242-2.108-0.319c-0.508-0.051-0.962,0.31-1.017,0.816 C34.636,37.732,35.001,38.187,35.507,38.242z"}),o.jsx("path",{d:"M67.115,29.184c-0.835,0.156-1.619,0.543-2.266,1.12c-0.381,0.339-0.413,0.922-0.074,1.301 c0.18,0.205,0.435,0.309,0.688,0.309c0.22,0,0.438-0.078,0.612-0.234c0.389-0.348,0.879-0.59,1.379-0.684 c0.498-0.093,0.83-0.575,0.736-1.075C68.098,29.418,67.614,29.087,67.115,29.184z"}),o.jsx("path",{d:"M66.953,42.213c-0.477,0.294-1.026,0.524-1.635,0.682c-0.492,0.126-0.79,0.629-0.662,1.123 c0.107,0.416,0.482,0.692,0.893,0.692c0.076,0,0.153-0.009,0.23-0.03c0.789-0.204,1.51-0.506,2.146-0.898 c0.433-0.268,0.565-0.836,0.298-1.27C67.953,42.079,67.385,41.943,66.953,42.213z"}),o.jsx("path",{d:"M77.227,33.925c-0.13,0.492,0.161,0.997,0.652,1.127c0.08,0.021,0.158,0.031,0.238,0.031c0.407,0,0.78-0.272,0.891-0.686 c0.177-0.665,0.312-1.383,0.405-2.141c0.063-0.505-0.295-0.966-0.8-1.027c-0.504-0.065-0.966,0.294-1.029,0.801 C77.501,32.704,77.381,33.341,77.227,33.925z"}),o.jsx("path",{d:"M71.118,34.755c0.021,0,0.041,0,0.059-0.001c0.51-0.033,0.896-0.471,0.863-0.979c-0.059-0.88-0.244-1.662-0.551-2.321 c-0.215-0.46-0.764-0.663-1.227-0.445c-0.461,0.216-0.659,0.765-0.443,1.226c0.211,0.451,0.338,1.009,0.381,1.66 C70.23,34.381,70.637,34.755,71.118,34.755z"}),o.jsx("path",{d:"M64.161,33.891c-0.481,0.154-0.742,0.69-0.594,1.174c0.212,0.7,0.591,1.391,1.128,2.052 c0.182,0.225,0.447,0.341,0.717,0.341c0.203,0,0.409-0.068,0.58-0.206c0.396-0.32,0.457-0.901,0.136-1.296 c-0.386-0.476-0.653-0.957-0.82-1.505C65.148,33.972,64.64,33.738,64.161,33.891z"}),o.jsx("path",{d:"M69.538,38.31c-0.161-0.058-0.321-0.122-0.482-0.191c-0.461-0.202-1.006,0.01-1.212,0.477 c-0.202,0.467,0.012,1.01,0.479,1.213c0.257,0.111,0.518,0.212,0.778,0.302c0.075,0.263,0.268,0.49,0.541,0.601 c0.112,0.046,0.23,0.068,0.346,0.068c0.254,0,0.5-0.106,0.674-0.295c0.437-0.004,0.822-0.317,0.899-0.762 c0.056-0.316-0.056-0.622-0.272-0.828c0.076-0.26,0.148-0.513,0.214-0.758c0.132-0.492-0.161-0.997-0.653-1.127 c-0.49-0.128-0.996,0.163-1.127,0.655C69.666,37.874,69.605,38.09,69.538,38.31z"}),o.jsx("path",{d:"M74.66,39.968c0.142,0,0.286-0.033,0.422-0.102c0.697-0.359,1.33-0.848,1.879-1.452c0.34-0.377,0.311-0.959-0.066-1.302 c-0.376-0.344-0.959-0.314-1.302,0.063c-0.398,0.44-0.854,0.793-1.354,1.05c-0.454,0.233-0.633,0.79-0.398,1.242 C74.003,39.785,74.327,39.968,74.66,39.968z"}),o.jsx("path",{d:"M77.702,28.083c0.012,0.21,0.091,0.396,0.216,0.543c0.14,0.257,0.372,0.449,0.782,0.449c0.509,0,0.925-0.44,0.925-0.949 c0-0.473,0-1.729-1.025-1.729c-0.509,0-0.93,0.48-0.93,0.989c0,0.06,0.006,0.159,0.013,0.319c0.003,0.008,0.003,0.018,0.003,0.026 L77.702,28.083z"}),o.jsx("path",{d:"M34.981,59.912c0.059,0,0.119-0.008,0.18-0.019c0.676-0.133,1.373-0.301,2.074-0.503c0.489-0.14,0.772-0.65,0.633-1.139 c-0.14-0.489-0.648-0.782-1.141-0.632c-0.65,0.184-1.298,0.34-1.922,0.464c-0.501,0.097-0.826,0.584-0.728,1.082 C34.164,59.606,34.55,59.912,34.981,59.912z"}),o.jsx("path",{d:"M22.901,56.661c0.5,0.564,1.064,1.073,1.675,1.513c0.164,0.118,0.353,0.174,0.538,0.174c0.287,0,0.567-0.134,0.749-0.383 c0.298-0.413,0.204-0.99-0.209-1.286c-0.501-0.363-0.963-0.781-1.374-1.242c-0.338-0.383-0.92-0.417-1.302-0.078 C22.598,55.698,22.563,56.28,22.901,56.661z"}),o.jsx("path",{d:"M28.66,59.962c0.693,0.149,1.43,0.245,2.187,0.281c0.016,0.001,0.031,0.001,0.046,0.001c0.488,0,0.896-0.385,0.92-0.876 c0.026-0.509-0.366-0.942-0.875-0.967c-0.657-0.031-1.291-0.114-1.885-0.242c-0.498-0.101-0.988,0.207-1.097,0.705 S28.162,59.854,28.66,59.962z"}),o.jsx("path",{d:"M21.891,53.315c0.038,0,0.076-0.003,0.113-0.008c0.506-0.06,0.865-0.521,0.803-1.027c-0.085-0.69-0.144-1.352-0.179-1.983 c-0.026-0.508-0.434-0.888-0.97-0.872c-0.508,0.027-0.898,0.461-0.871,0.97c0.036,0.671,0.099,1.375,0.188,2.111 C21.035,52.975,21.432,53.315,21.891,53.315z"}),o.jsx("path",{d:"M89.728,6.419c-2.453,0-4.611,0.799-6.298,1.723l0.086-0.599c0.005-0.043,0.009-0.088,0.009-0.13 c0-1.365-0.592-3.586-2.508-4.762l0.584-1.355c0.2-0.468-0.017-1.011-0.485-1.211c-0.468-0.2-1.008,0.015-1.21,0.483L79.294,1.99 c-0.405-0.079-0.841-0.129-1.318-0.129c-0.479,0-0.915,0.05-1.321,0.13l-0.609-1.423c-0.201-0.469-0.742-0.684-1.21-0.485 c-0.469,0.202-0.686,0.743-0.484,1.211l0.582,1.357c-1.916,1.175-2.509,3.397-2.509,4.762c0,0.044,0.005,0.087,0.01,0.13 l0.085,0.596c-1.684-0.923-3.84-1.721-6.295-1.721c-4.623,0-6.801,3.813-7.305,5.828c-0.036,0.148-0.036,0.301,0,0.448 c0.504,2.015,2.682,5.824,7.305,5.824c3.079,0,5.691-1.259,7.435-2.403l0.619,4.33c0.03,1.485,1.028,3.627,3.701,3.627 c2.671,0,3.666-2.143,3.696-3.629l0.619-4.331c1.747,1.144,4.361,2.404,7.437,2.404c4.624,0,6.798-3.81,7.302-5.824 c0.036-0.148,0.036-0.301,0-0.448C96.525,10.232,94.352,6.419,89.728,6.419z M75.541,16.27h4.867l-0.247,1.728h-4.372L75.541,16.27 z M77.976,3.706c3.433,0,3.688,3.076,3.707,3.65l-0.678,4.737l-0.324,2.257c0,0.001,0.001,0.002,0,0.004l-0.01,0.071h-5.394 l-0.01-0.074c0,0,0,0,0-0.001l-0.644-4.507c0-0.002-0.001-0.003-0.001-0.004l-0.354-2.483C74.288,6.771,74.55,3.706,77.976,3.706z M73.366,14.078c-1.473,1.092-4.067,2.596-7.144,2.596c-3.807,0-5.149-3.29-5.45-4.202c0.299-0.897,1.664-4.209,5.45-4.209 c2.72,0,5.06,1.169,6.632,2.238l0.49,3.436L73.366,14.078z M79.831,20.375c0,0.31-0.09,1.855-1.855,1.855 c-1.697,0-1.851-1.425-1.858-1.855c0-0.044-0.003-0.087-0.01-0.13l-0.057-0.402h3.846l-0.059,0.402 C79.833,20.287,79.831,20.33,79.831,20.375z M89.728,16.674c-3.069,0-5.664-1.504-7.146-2.596l0.166-1.146l0.348-2.432 c1.573-1.071,3.918-2.239,6.633-2.239c3.808,0,5.148,3.299,5.447,4.207C94.876,13.382,93.533,16.674,89.728,16.674z"})]})}),!e&&o.jsx("div",{className:"mp-placeholder-text",children:t||"No data!"})]})}ne.sidebarImg="";ne.sidebarPrefix="";ne.sidebarBasePath="";const Sy=[];ne.sidebarItems=Sy;const Cy=()=>{};ne.onSidebarClick=Cy;ne.minBackNavWidth=0;ne.width="1366px";function ne(e){const t=e.sidebarImg||ne.sidebarImg,n=e.sidebarPrefix||ne.sidebarPrefix,r=e.sidebarBasePath||ne.sidebarBasePath,i=e.sidebarItems||ne.sidebarItems,l=e.onSidebarClick||ne.onSidebarClick,s=e.minBackNavWidth||ne.minBackNavWidth,a=!!(i||e.sidebarImg),[c,u]=S.useState(window.location.pathname.slice((r==null?void 0:r.length)||0)),[d,h]=S.useState(!1),m=()=>h(!d);window.toggleSidebar=m;const x=N=>{var y;const g=((y=window.document.activeElement)==null?void 0:y.id)==="mp-dashboard-search",f=document.querySelector("#mp-dashboard-search");f&&(N.key==="/"&&!g?f.focus():N.key==="Escape"&&g&&f.blur())};S.useEffect(()=>(window.addEventListener("keyup",x),()=>window.removeEventListener("keyup",x)),[]);const w=Yh(i),j=o.jsxs("div",{className:e.sidebarClassName||"",style:e.sidebarStyle||{},children:[!!n&&n,!!t&&o.jsx("div",{className:"mp-dashboard-sidebar-icon",children:o.jsx("img",{src:t,alt:""})}),o.jsx(ac,{active:c,onClick:N=>{l&&l(N.toString()),u(N.toString())},items:w,access:e.sidebarAccess})]});return o.jsxs("div",{className:"mumpui mp-dashboard "+(e.className||""),style:Object.assign({maxWidth:ne.width},e.style||{}),children:[!!s&&window.innerWidth>=s&&o.jsx("div",{className:"mp-dashboard-back",onClick:()=>window.history.back(),children:"🡐"}),a&&o.jsxs(o.Fragment,{children:[o.jsx("div",{className:"mp-dashboard-sidebar",children:j}),!!d&&o.jsx("div",{className:"mp-dashboard-expandable",onClick:()=>m(),children:o.jsx("div",{onClick:N=>N.stopPropagation(),children:j})})]}),o.jsxs("div",{className:"mp-dashboard-content",children:[!!(e.header||e.title)&&o.jsxs("div",{className:"mp-dashboard-header "+(e.headerClassName||""),style:e.headerStyle||{},children:[!!e.header&&e.header,o.jsxs("div",{className:"mp-dashboard-header-row",children:[o.jsxs("div",{className:"mp-dashboard-header-left",children:[!!e.icon&&o.jsx("div",{className:"mp-dashboard-icon",children:e.icon}),a&&o.jsx("div",{className:"mp-dashboard-expandable-icon",onClick:m,children:by}),o.jsxs("div",{className:"mp-dashboard-title",children:[e.title,!!e.info&&o.jsx("span",{className:"mp-dashboard-info",children:e.info})]})]}),!!e.onAdd&&o.jsx(O,{primary:!0,onClick:e.onAdd,children:"+  Add"})]}),!!e.headerSuffix&&e.headerSuffix]}),o.jsx("div",{className:"mp-dashboard-body",children:e.loading?o.jsx(gi,{}):e.empty?o.jsx(En,{}):o.jsxs("div",{className:e.bodyClassName||"",style:e.bodyStyle||{},children:[!!(e.onSearch||e.filter)&&o.jsxs("div",{className:"mp-dashboard-body-search-and-filter",children:[o.jsx("div",{children:!!e.onSearch&&o.jsx(q,{id:"mp-dashboard-search",value:e.search,onChange:N=>e.onSearch&&e.onSearch(N.target.value),placeholder:"Search.."})}),o.jsx("div",{children:e.filter})]}),!!e.children&&e.children]})}),(!!e.footer||!!e.paginationTotalItems||!!e.onDelete||!!e.onCreate||!!e.onUpdate)&&o.jsxs("div",{className:"mp-dashboard-footer "+(e.footerClassName||""),style:e.footerStyle||{},children:[!!e.footer&&e.footer,o.jsx("div",{className:"mp-dashboard-pagination",children:!!e.paginationTotalItems&&o.jsx(cc,{pageSize:e.paginationPageSize||0,totalItems:e.paginationTotalItems,offset:e.paginationOffset||0,onChange:e.paginationOnChange||(()=>{})})}),o.jsxs("div",{className:"mp-dashboard-footer-buttons",children:[o.jsx("div",{children:!!e.onDelete&&o.jsx(O,{className:"d-red c-red",onClick:e.onDelete,children:"Delete"})}),o.jsx("div",{children:(!!e.onCreate||!!e.onUpdate)&&o.jsxs(o.Fragment,{children:[o.jsx(O,{style:{marginRight:"1rem"},onClick:()=>e.onCancel?e.onCancel():window.history.back(),children:"Cancel"}),e.onCreate?o.jsx(O,{primary:!0,onClick:e.onCreate,children:"Create"}):o.jsx(O,{className:"b-blue c-blue",onClick:e.onUpdate,children:"Update"})]})})]})]})]})]})}const Yh=(e=[])=>e.map(({name:t,icon:n,path:r,next:i,access:l})=>({key:r||Math.random(),label:t,icon:n,next:i?Yh(i):[],access:l})),by=o.jsxs("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"var(--mp-c-font)",children:[o.jsx("path",{d:"M0,0h24v24H0V0z",fill:"none"}),o.jsx("path",{d:"M3,18h13v-2H3V18z M3,13h10v-2H3V13z M3,6v2h13V6H3z M21,15.59L17.42,12L21,8.41L19.59,7l-5,5l5,5L21,15.59z"})]});er.clean=!0;function er({clean:e=!1,className:t="",style:n={},onSubmit:r,...i}){const l=S.useCallback(s=>{s.preventDefault(),r&&r(s)},[r]);return t="mumpui mp-form "+t,o.jsxs("form",{...i,className:t,style:n,onSubmit:l,...e||er.clean?Ey:{},children:[i.children,o.jsx("button",{style:{display:"none"},type:"submit",onClick:s=>l(s)})]})}const Ey={autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1};var te;let re=(te=class extends $i.Component{constructor(){super(...arguments);se(this,"state",{messages:[]});se(this,"componentDidMount",()=>te._this=this);se(this,"render",()=>o.jsx("div",{className:"mumpui mp-message",children:this.state.messages.slice(-te.max).map((n,r)=>o.jsx(My,{...n},r))}))}},se(te,"props",{}),se(te,"_this"),se(te,"max",3),se(te,"duration",3e3),se(te,"info",(n="",r)=>te.pushMessage({icon:Uh,text:n,duration:r})),se(te,"warn",(n="",r)=>te.pushMessage({icon:Hh,text:n,duration:r})),se(te,"success",(n="",r)=>te.pushMessage({icon:Vh,text:n,duration:r})),se(te,"error",(n="",r)=>te.pushMessage({icon:Bh,text:n,duration:r})),se(te,"loading",(n="",r)=>te.pushMessage({icon:Wh,text:n,duration:r})),se(te,"clear",n=>te._this.setState({messages:n?te._this.state.messages.filter(r=>r.id!==n):[]})),se(te,"pushMessage",({icon:n,text:r,duration:i})=>{i===0&&(i=5e12),i||(i=te.duration);const l={id:Symbol(),icon:n,type:"info",text:r,expiry:Date.now()+i};return te._this.setState({messages:te._this.state.messages.concat(l)}),i&&setTimeout(te.messageCleaner,i),l.id}),se(te,"messageCleaner",()=>te._this.setState({messages:te._this.state.messages.filter(n=>n.expiry>Date.now()).slice(-te.max)})),te);const My=({icon:e,text:t})=>o.jsx("div",{children:o.jsxs("div",{className:"mp-message-box",children:[o.jsx("div",{className:"mp-message-icon",children:e}),o.jsx("div",{className:"mp-message-text",children:t})]})});function Dt({className:e="",label:t,position:n="top",delay:r,...i}){return e="mumpui mp-tooltip "+e,r=r!==void 0?r:Dt.delay,o.jsxs("div",{...i,className:e,children:[i.children,o.jsx("div",{style:{animationDelay:r.toString()+"ms"},className:"mp-tooltip-text mp-tooltip-"+n,children:t})]})}Dt.delay=300;function xr({className:e="",items:t=[],seperator:n="/",...r}){return e="mumpui mp-chain "+e,o.jsx("div",{...r,className:e,children:t.map((i,l)=>[o.jsx("div",{className:"mp-chain-element",children:i},"l"+l),t.length-1!==l&&o.jsx("div",{className:"mp-chain-seperator",children:n},"s"+l)])})}function uc({checked:e,label:t,onChange:n,disabled:r,className:i="",...l}){return i=`mumpui mp-checkbox ${i}`,o.jsx("div",{className:i,children:o.jsxs("label",{children:[o.jsx("input",{...l,type:"checkbox",checked:e,onChange:()=>!!n&&!r&&n(!e)}),o.jsx("span",{className:`mp-checkbox-icon ${r?"mp-disabled":""}`}),o.jsx("span",{className:"mp-checkbox-label",children:t})]})})}function Xo({options:e=[],checked:t=[],onChange:n,disabled:r,className:i="",...l}){return i="mumpui mp-checkboxes "+i,o.jsx("div",{...l,className:i,children:e.map(({key:s,label:a},c)=>o.jsx(uc,{checked:t.includes(s),label:a,onChange:u=>!!n&&!r&&n(u?t.concat(s):t.filter(d=>d!==s)),disabled:r},c))})}function It({snippet:e="",lang:t="text",className:n,...r}){const i=S.useRef();return S.useEffect(()=>{i.current&&e&&t&&(i.current.innerHTML=window.Prism.highlight(e.trim(),window.Prism.languages[t],t))},[t,e]),n="mumpui mp-code "+(n||""),o.jsx("div",{...r,className:n,children:o.jsx("pre",{children:o.jsx("code",{ref:i})})})}function Jh({value:e="",className:t="",onValue:n,...r}){t="mumpui mp-color-picker "+t;const i=l=>{let s=l.target.value;s=s.split("").filter(a=>a).filter(a=>!!/[#0-9a-f]/i.exec(a)).join("").toLowerCase(),s||(s="#"),n&&n(s.slice(0,7))};return e=e.toLocaleLowerCase(),o.jsxs("div",{...r,className:t,children:[o.jsx("input",{className:"mp-color-picker-swatch",style:{width:"4rem"},onChange:i,type:"color",value:e}),o.jsx("input",{className:"mp-color-picker-text",type:"text",onChange:i,value:e})]})}function bo({children:e,align:t="center",className:n="",...r}){const i=e===void 0;return n=`mumpui mp-divider ${i?"mp-divider-empty":""} ${n}`,o.jsxs("div",{...r,className:n,children:[o.jsx("div",{style:t==="left"?{width:"10vw"}:{},className:"mp-divider-line"}),!i&&o.jsx("div",{className:"mp-divider-text",children:e}),o.jsx("div",{style:t==="right"?{width:"10vw"}:{},className:"mp-divider-line"})]})}function K({className:e="",style:t={},label:n,...r}){return e="mumpui mp-field "+e,o.jsxs("div",{...r,className:e,style:t,children:[o.jsx("div",{className:"mp-label",children:n||o.jsx(o.Fragment,{children:" "})}),r.children]})}function Re({autoCol:e=!1,colBreakPoint:t=1080,className:n="",style:r={},...i}){return n="mumpui mp-fields "+(n||""),e&&window.innerWidth<=t&&(r.flexDirection="column"),o.jsx("div",{...i,className:n,style:r,children:i.children})}function Gh({children:e,className:t="",style:n={},...r}){t="mumpui mp-file "+(t||"");const i=S.useRef();return o.jsxs("div",{className:t,style:n,onClick:()=>i.current.click(),children:[o.jsx("input",{...r,ref:i,type:"file"}),e]})}function Xh({items:e=[],type:t="ul",isTop:n=!1}){const r=e.map((i,l)=>typeof i=="string"?o.jsx("li",{children:i},l):o.jsx(Xh,{items:i,type:t,isTop:!1},l));return n?o.jsx(o.Fragment,{children:r}):t==="ul"?o.jsx("ul",{children:r}):o.jsx("ol",{children:r})}function ra({items:e=[],type:t="ul",className:n="",...r}){n=`mumpui mp-list ${n}`;const i=o.jsx(Xh,{items:e,type:t,isTop:!0});return t==="ul"?o.jsx("ul",{...r,className:n,children:i}):o.jsx("ol",{...r,className:n,children:i})}function dc({children:e="",className:t="",...n}){t=`mumpui mp-md ${t||""}`;const r=S.useRef();return S.useEffect(()=>{r.current.innerHTML=window.marked.parse(e),r.current.querySelectorAll("iframe[data-youtube]").forEach(i=>{i.setAttribute("allowfullscreen",""),i.setAttribute("frameBorder","0"),i.setAttribute("allow","accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share");const l=i.getAttribute("data-ar")||1920/1080;i.style.width="100%",i.style.aspectRatio=l,i.style.margin="2rem 0"}),r.current.querySelectorAll("h1,h2,h3,h4,h5,h6").forEach(i=>{i.id=i.innerHTML.toString().replaceAll(" ","-").toLowerCase().trim()}),r.current.querySelectorAll("a").forEach(i=>{i.target="_blank",i.rel="noreferrer"}),td(r.current,"table",["mumpui","mp-table-wrapper"]),td(r.current,"pre",["mumpui","mp-code"]),document.querySelectorAll(".mp-code").forEach(i=>{const l=i.querySelector("code");if(!l)return;const s=l.getAttribute("class")||"language-text";l.removeAttribute("class"),l.setAttribute("lang",s);const a=s.split("language-")[1];window.Prism&&(l.innerHTML=window.Prism.highlight(l.innerText,window.Prism.languages[a],a))},[]),setTimeout(()=>{const i=new URL(window.location.href).hash;if(!i)return;const l=document.querySelector(i);i&&l&&l.scrollIntoView()},100)},[e]),o.jsx("div",{...n,className:t,ref:r})}dc.fetch=async e=>await(await fetch(e)).text();dc.parse=(e,t="")=>{const n=e.includes(t)?JSON.parse(e.split(t)[0].trim().replaceAll("```","")||"{}"):{};return e=e.includes(t)?e.split(t)[1].trim():e,{content:e,meta:n}};const td=(e,t,n)=>{e.querySelectorAll(t).forEach(r=>{const i=r.cloneNode(!0),l=document.createElement("div");Array.isArray(n)||(n=[n]),n.forEach(s=>l.classList.add(s)),l.appendChild(i),r.replaceWith(l)})};window.marked&&(window.marked.Renderer.prototype.paragraph=e=>e.startsWith(""+e+"

");function qh({children:e,title:t="",buttons:n=[],visible:r=!0,onClose:i,className:l="",...s}){l="mumpui mp-modal";const a=Array.isArray(n)?n:[n];return r?o.jsx("div",{className:l,onClick:c=>{s.onClick&&s.onClick(c),i&&i()},children:o.jsxs("div",{...s,className:"mp-modal-box",onClick:c=>c.stopPropagation(),children:[!!t&&o.jsx("div",{className:"mp-modal-title",children:t}),e,!!a.length&&o.jsx("div",{className:"mp-modal-buttons",children:a})]})}):null}function Qt({className:e="",type:t,...n}){return e=`mumpui mp-note ${t||""} ${e}`,o.jsx("div",{...n,className:e,children:n.children})}function qo({options:e=[],checked:t,onChange:n,disabled:r,className:i="",style:l={},...s}){return i="mumpui mp-radio "+i,o.jsx("div",{...s,className:"mp-radios "+i,style:l,children:e.map(({key:a,label:c},u)=>o.jsx(_y,{checked:t===a,_key:a,label:c,onChange:d=>!!n&&!r&&n(d),disabled:r},u))})}function _y(e){return o.jsx("div",{className:"mp-radio",children:o.jsxs("label",{children:[o.jsx("input",{type:"radio",checked:e.checked,onChange:()=>e.onChange(e._key)}),o.jsx("span",{className:`mp-radio-icon ${e.disabled?"mp-disabled":""}`}),o.jsx("span",{className:"mp-radio-label",children:e.label})]})})}function Zh({onChange:e,onValue:t,className:n="",style:r={},...i}){return n="mumpui mp-range "+n,o.jsx("div",{className:n,style:r,children:o.jsx("input",{...i,type:"range",onChange:l=>{e&&e(l),t&&t(Number(l.target.value))}})})}function ep({closeOnClick:e=!0,disabled:t,value:n="",onChange:r,children:i,className:l,onClick:s,placeholder:a,...c}){const[u,d]=S.useState(!1);l="mumpui mp-search "+(t?"mp-disabled ":"")+(l||"");const h=S.useRef(),m=x=>{h.current&&!h.current.contains(x.target)&&d(!1)};return S.useEffect(()=>(window.addEventListener("click",m),()=>window.removeEventListener("click",m)),[]),o.jsxs("div",{...c,ref:h,className:l,children:[o.jsx("input",{onChange:x=>{r&&r(x.target.value)},onClick:x=>{s&&s(x),t||d(!u)},value:n,disabled:t,placeholder:a}),!!u&&o.jsx("div",{onClick:()=>e&&d(!u),className:"mp-input-expanded-area",children:i})]})}function fc(e="",t=[],n=!1){return e?t.filter(({label:r})=>n?r.includes(e):r.toLowerCase().includes(e.toLowerCase())):t}function Ny({value:e=[],options:t=[],onChange:n,onSearch:r,simpleSearch:i,placeholder:l,clearable:s=!1,disabled:a=!1,className:c="",optionHOC:u=h=>o.jsx(o.Fragment,{children:h.label}),...d}){const[h,m]=S.useState(!1),[x,w]=S.useState("");c="mumpui mp-select "+(a?"mp-disabled ":"")+(c||"");const j=S.useRef(null);l=o.jsx("div",{style:{color:"var(--mp-c-font-light)"},children:l||o.jsx(o.Fragment,{children:" "})});const N=b=>{j.current&&!j.current.contains(b.target)&&m(!1)},g=b=>{b.key==="Escape"&&m(!1)};S.useEffect(()=>(window.addEventListener("click",N),window.addEventListener("keyup",g),()=>{window.removeEventListener("click",N),window.removeEventListener("keyup",g)}),[]);const f=b=>{r&&r(""),n&&n(e.concat(b.key)),w("");const E=j.current.querySelector("input");E&&(E.value="",E.focus())},y=(b="")=>{r&&r(b),i&&w(b)},p=e.map((b,E)=>{const M=t.find(P=>P.key===b);return M?o.jsxs("div",{className:"mp-select-chip",children:[M.label,o.jsx(Iy,{color:"var(--mp-c-font-light)",onClick:P=>{a||(P.stopPropagation(),n&&n(e.filter(U=>U!==b)))}})]},E):null});return t=t.filter(b=>!e.includes(b.key)),x&&(t=fc(x,t)),o.jsxs("div",{...d,tabIndex:0,ref:j,className:c,onClick:()=>!a&&m(!h),children:[o.jsx("div",{className:"mp-select-multi",children:e.length?p:l}),h&&o.jsxs("div",{className:"mp-input-expanded-area",children:[!!(r||i||s)&&o.jsxs("div",{className:"mp-select-area",onClick:b=>{b.preventDefault(),b.stopPropagation()},children:[r||i?o.jsx("input",{placeholder:"Search..",onChange:b=>y(b.target.value),onKeyUp:b=>{b.key==="Enter"&&t.length&&f(t[0])},onBlur:()=>w(""),className:"mp-select-search",value:x,autoFocus:!0}):o.jsx("div",{className:"mp-select-search",children:" "}),!!s&&o.jsx("div",{className:"mp-select-clear",onClick:()=>!!n&&n([]),children:"Clear"})]}),t.map((b,E)=>o.jsx("div",{className:"mp-select-option",onClick:M=>{M.stopPropagation(),f(b)},children:u(b)},E)),!t.length&&o.jsx("div",{onClick:()=>w(""),style:{display:"flex",justifyContent:"center"},children:o.jsx(En,{style:{width:"50%",padding:"2rem 2rem"},empty:!0})})]})]})}const Iy=({color:e="#000000",onClick:t})=>o.jsxs("svg",{onClick:t,width:"128",height:"128",viewBox:"0 0 128 128",fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[o.jsx("path",{d:"M12 12L116.652 116.652",stroke:e,strokeWidth:"18",strokeLinecap:"round"}),o.jsx("path",{d:"M116.652 12L12 116.652",stroke:e,strokeWidth:"18",strokeLinecap:"round"})]});function Py({value:e,options:t=[],onChange:n,disabled:r=!1,className:i="",...l}){const[s,a]=S.useState(!1);i="mumpui mp-select "+(r?"mp-disabled ":"")+(i||"");const c=S.useRef(null);return o.jsx("div",{...l,tabIndex:0,ref:c,className:i,onClick:()=>!r&&a(!s),children:o.jsx("select",{className:"mp-select-single",value:e,onChange:u=>!!n&&!r&&n(u.target.value),disabled:r,children:t.map((u,d)=>o.jsx("option",{value:u.key,children:u.label},d))})})}function qe({value:e,options:t=[],onChange:n,onSearch:r,simpleSearch:i,placeholder:l,clearable:s=!1,disabled:a=!1,className:c="",valueHOC:u=m=>o.jsx(o.Fragment,{children:m.label}),optionHOC:d=m=>o.jsx(o.Fragment,{children:m.label}),...h}){const[m,x]=S.useState(!1),[w,j]=S.useState("");c="mumpui mp-select "+(a?"mp-disabled ":"")+(c||"");const N=S.useRef(null);l=o.jsx("div",{style:{color:"var(--mp-c-font-light)"},children:l||o.jsx(o.Fragment,{children:" "})});const g=E=>{N.current&&!N.current.contains(E.target)&&x(!1)},f=E=>{E.key==="Escape"&&x(!1)};S.useEffect(()=>(window.addEventListener("click",g),window.addEventListener("keyup",f),()=>{window.removeEventListener("click",g),window.removeEventListener("keyup",f)}),[]);const y=E=>{r&&r(""),n&&n(E.key),x(!1),j("")},p=(E="")=>{r&&r(E),i&&j(E)},b=t.find(E=>E.key===e);return e&&(t=t.filter(E=>e!==E.key)),w&&(t=fc(w,t)),o.jsxs("div",{...h,tabIndex:0,ref:N,className:c,onClick:()=>!a&&x(!m),children:[o.jsx("div",{className:"mp-select-single",children:b?u(b):l}),m&&o.jsxs("div",{className:"mp-input-expanded-area",children:[!!(r||i||s)&&o.jsxs("div",{className:"mp-select-area",onClick:E=>{E.preventDefault(),E.stopPropagation()},children:[r||i?o.jsx("input",{placeholder:"Search..",onChange:E=>p(E.target.value),onKeyUp:E=>{E.key==="Enter"&&t.length&&y(t[0])},className:"mp-select-search",onBlur:()=>j(""),value:w,autoFocus:!0}):o.jsx("div",{className:"mp-select-search",children:" "}),!!s&&o.jsx("div",{className:"mp-select-clear",onClick:()=>!!n&&n(""),children:"Clear"})]}),t.map((E,M)=>o.jsx("div",{className:"mp-select-option",onClick:P=>{P.stopPropagation(),y(E)},children:d(E)},M)),!t.length&&o.jsx("div",{onClick:()=>j(""),style:{display:"flex",justifyContent:"center"},children:o.jsx(En,{style:{width:"50%",padding:"2rem 2rem"},empty:!0})})]})]})}qe.Multi=Ny;qe.Native=Py;qe.search=fc;function wl({cols:e,data:t,className:n="",style:r={},...i}){return n="mumpui mp-table "+n,o.jsx("div",{className:"mumpui mp-table-wrapper",children:o.jsxs("table",{className:n,style:r,...i,children:[o.jsx("thead",{children:o.jsx("tr",{children:e.map((l,s)=>o.jsx("th",{align:l.align||"left",style:Object.assign(l.style?l.style:{},l.width?{width:l.width}:{},l.wrap?{whiteSpace:"normal"}:{}),className:l.className||"",children:l.name},s))})}),o.jsx("tbody",{children:t.map((l,s)=>o.jsx("tr",{children:e.map((a,c)=>o.jsx("td",{style:Object.assign(a.style?a.style:{},a.width?{width:a.width}:{},a.align?{textAlign:a.align}:{},a.wrap?{whiteSpace:"normal"}:{}),className:l.className||"",children:a.render?a.render(l[a.key],l,[s,c]):l[a.key]},c))},s))})]})})}function tp({items:e=[],active:t,onClick:n,className:r="",...i}){return r="mumpui mp-tabs "+r,o.jsx("div",{...i,className:r,children:e.map(({key:l,label:s},a)=>o.jsx("div",{className:t===l?"mp-tab-active":"",onClick:c=>{c.target.scrollIntoView({behavior:"smooth",block:"nearest",inline:"center"}),n&&n(l)},children:s},a))})}function ia({className:e="",style:t={},autoHeight:n,onValue:r,onChange:i,...l}){e="mumpui mp-textarea "+e;const s=S.useRef(),a=S.useCallback(u=>u&&u.style&&n?u.style.height=u.scrollHeight+"px":null,[n]);S.useEffect(()=>{setTimeout(()=>{a(s)})},[a]),S.useEffect(()=>{a(s.current)},[l.value,a]);const c=u=>{u.target.value?a(s.current):u.target.style.height="",i&&i(u),r&&r(u.target.value)};return o.jsx("div",{className:e,style:t,children:o.jsx("textarea",{...l,ref:s,onChange:c})})}const Ty=({tooltip:e,form:t,message:n,dashboard:r})=>(e&&e.delay!==void 0&&(Dt.delay=e.delay),t&&t.clean!==void 0&&(er.clean=t.clean),n&&n.max!==void 0&&(re.max=n.max),n&&n.duration!==void 0&&(re.duration=n.duration),r&&r.sidebarImg!==void 0&&(ne.sidebarImg=r.sidebarImg),r&&r.sidebarPrefix!==void 0&&(ne.sidebarPrefix=r.sidebarPrefix),r&&r.sidebarBasePath!==void 0&&(ne.sidebarBasePath=r.sidebarBasePath),r&&r.sidebarItems!==void 0&&(ne.sidebarItems=r.sidebarItems),r&&r.onSidebarClick!==void 0&&(ne.onSidebarClick=r.onSidebarClick),r&&r.minBackNavWidth!==void 0&&(ne.minBackNavWidth=r.minBackNavWidth),r&&r.width!==void 0&&(ne.width=r.width),o.jsxs(o.Fragment,{children:[o.jsx(re,{}),o.jsx(St,{})]})),J={button:{type:"Component",name:"Button",description:"The Button component is a fundamental element for user interaction, allowing to trigger actions with a simple click. It's highly customizable and can be tailored to fit your design needs.",link:"/docs/button",keywords:["button","ui-button","clickable-element","interactive-component"],related:["input","form","theme","icons"],img:""},chain:{type:"Component",name:"Chain",description:"The Chain component offers a flexible alternative to traditional breadcrumbs, providing a dynamic way to preview & navigate through a series of steps or pages.",link:"/docs/chain",keywords:["chain","linked-elements","sequential-steps","navigation"],related:["tabs","menu","dashboard","theme"],img:""},checkbox:{type:"Component",name:"Checkbox",description:"The Checkbox component enables users to make selections or indicate choices from a set of options. It's a versatile input element for forms and settings.",link:"/docs/checkbox",keywords:["checkbox","selection","input","multiple-choice"],related:["radio","input","form"],img:""},colorPicker:{type:"Component",name:"Color Picker",description:"The Color Picker component allows users to choose and select colors from a palette, facilitating customization and visual preferences.",link:"/docs/colorPicker",keywords:["color-picker","color-selection","visual-color-choice"],related:["input","form"],img:""},confirm:{type:"Component",name:"Confirm",description:"The Confirm component presents a modal dialog to users, asking for confirmation before executing critical actions. It helps prevent accidental or irreversible operations.",link:"/docs/confirm",keywords:["confirm","confirmation-dialog","user-action","decision"],related:["message","modal","note"],img:""},dashboard:{type:"Component",name:"Dashboard",description:"The Dashboard component provides a structured layout for managing and visualizing data, offering an organized view of key metrics and insights.",link:"/docs/dashboard",keywords:["dashboard","data-management","crud-operations","user-roles"],related:["table","list","pagination","chain","theme"],img:""},typography:{type:"",name:"Typography",description:"Pre-styled HTML attributes for stylized text, ensuring a consistent and appealing look across your application.",link:"/typography",keywords:["typography","html","html-attributes","consistent","styling"],related:["icons","markdown","theme"],img:""},markdown:{type:"Component",name:"Markdown",description:"Effortlessly render Markdown content as HTML, complete with proper typographic styling, enabling seamless integration of rich text elements.",link:"/docs/md",keywords:["markdown","rendering","md-to-html","rich-text"],related:["typography","code","theme"],img:""},code:{type:"Component",name:"Code",description:"The Code component is designed for displaying and formatting code snippets, making it easier for developers to share and understand code.",link:"/docs/code",keywords:["code","programming","syntax-highlighting","code-snippet"],related:["markdown","typography"],img:""},icons:{type:"",name:"Icons",description:"Access a comprehensive stylesheet of icons, providing a diverse range of visual elements to enhance your application's user interface.",link:"/docs/icons",keywords:["icons","iconography","visual-elements","ui-enhancement"],related:["typography","dashboard","theme"],img:""},datetime:{type:"Component",name:"Datetime",description:"The Datetime component facilitates the selection of date and time values, ensuring accuracy and precision in date-related interactions.",link:"/docs/datetime",keywords:["datetime","date-picker","time-picker","month-picker","date-time-selection"],related:["input","form"],img:""},divider:{type:"Component",name:"Divider",description:"The Divider component serves as a visual separator, helping to delineate content and improve the overall layout and readability of the interface.",link:"/docs/divider",keywords:["divider","separation","visual-division","section-separator"],related:["chain","tabs"],img:""},field:{type:"Component",name:"Field",description:"The Field component is a fundamental building block for form elements, providing a structured way to capture user input or information.",link:"/docs/field",keywords:["field","fields","input-field","form-input","data-entry"],related:["input","checkbox","radio","datetime","select","range"],img:""},file:{type:"Component",name:"File",description:"The File component allows users to upload files or documents, enhancing the interactivity and functionality of your application.",link:"/docs/file",keywords:["file","file-upload","file-selection","document-upload","upload","upload-image"],related:["input","button"],img:""},form:{type:"Component",name:"Form",description:"The Form component provides a structured layout for organizing and collecting user input, offering a seamless way to gather information.",link:"/docs/form",keywords:["form","data-input","user-input","form-submission","submit","form-submit"],related:["input","button","datetime","checkbox","radio","select","range","colorPicker"],img:""},input:{type:"Component",name:"Input",description:"The Input component offers a text input field for users to enter and edit information. It's a foundational element for various types of data input.",link:"/docs/input",keywords:["input","text-input","user-input","data-entry"],related:["textarea","datetime","checkbox","radio","select","range","file","colorPicker"],img:""},list:{type:"Component",name:"List",description:"The List component displays a collection of items in an organized manner, making it easy for users to scan and navigate through content.",link:"/docs/list",keywords:["list","item-list","ordered-list","unordered-list"],related:["table","dashboard"],img:""},loader:{type:"Component",name:"Loader",description:"The Loader component visually indicates that a process is in progress, providing feedback to users while data or content is being loaded.",link:"/docs/loader",keywords:["loader","loading-indicator","progress-indicator","loading-animation","process"],related:["placeholder","dashboard"],img:""},menu:{type:"Component",name:"Menu",description:"The Menu component offers an expandable list of options, allowing users to navigate through a set of related actions or content categories.",link:"/docs/menu",keywords:["menu","navigation-menu","site-menu","menu-options"],related:["tabs","chain"],img:""},message:{type:"Component",name:"Message",description:"The Message component displays brief, contextual notifications to users, providing feedback on the outcome of their actions (e.g., success, error, warning, information).",link:"/docs/message",keywords:["message","notification","alert","user-feedback","success","error","warn","warning","info","information"],related:["confirm","modal","note"],img:""},modal:{type:"Component",name:"Modal",description:"The Modal component presents content in a layered dialog, drawing attention to important information or actions without navigating away from the current context.",link:"/docs/modal",keywords:["modal","popup","overlay","user-interaction"],related:["confirm","message","note"],img:""},multiSelect:{type:"Component",name:"MultiSelect",description:"The MultiSelect component is an interactive dropdown that allows users to select multiple options from a list, with the added functionality of a search feature for convenience.",link:"/docs/multiSelect",keywords:["multi-select","multiple-selection","choice-selection","dropdown"],related:["select","input","form"],img:""},note:{type:"Component",name:"Note",description:"The Note component highlights important information or quotes using distinct colors (e.g., red, blue, green, yellow), making key content stand out.",link:"/docs/note",keywords:["note","informational-note","user-information","message"],related:["message","confirm","theme"],img:""},pagination:{type:"Component",name:"Pagination",description:"The Pagination component divides content into manageable sections, allowing users to navigate through pages of information with ease.",link:"/docs/pagination",keywords:["pagination","page-navigation","page-numbers","page-control"],related:["table","dashboard","tabs"],img:""},placeholder:{type:"Component",name:"Placeholder",description:"The Placeholder component creates visual space and structure for content that is yet to be populated, ensuring a clean and organized layout.",link:"/docs/placeholder",keywords:["placeholder","temporary-content","filler-content","empty","no-data"],related:["loader","dashboard"],img:""},radio:{type:"Component",name:"Radio",description:"The Radio component allows users to select a single option from a list of choices. It's particularly useful in scenarios where users need to make mutually exclusive selections.",link:"/docs/radio",keywords:["radio","radio-button","single-choice","selection"],related:["checkbox","input","form"],img:""},range:{type:"Component",name:"Range",description:"The Range component enables users to select a value within a specified range, providing a visual representation of the selected range.",link:"/docs/range",keywords:["range","range-slider","value-range","adjustable-range"],related:["input","form"],img:""},search:{type:"Component",name:"Search",description:"The Search component offers a customizable dropdown interface with search functionality, allowing users to efficiently locate and select options.",link:"/docs/search",keywords:["search","search-bar","search-input","query-input"],related:["select","multiSelect","input"],img:""},select:{type:"Component",name:"Select",description:"The Select component provides a dropdown menu with a searchable interface, making it easy for users to choose from a list of options.",link:"/docs/select",keywords:["select","dropdown","option-selection","choice","dropdown"],related:["multiSelect","search","input","form"],img:""},table:{type:"Component",name:"Table",description:"The Table component organizes and presents data in a structured format, making it easy for users to scan, analyze, and interact with tabular information.",link:"/docs/table",keywords:["table","data-table","tabular-data","grid"],related:["list","pagination","dashboard"],img:""},tabs:{type:"Component",name:"Tabs",description:"The Tabs component allows users to navigate between different sections of content, providing an organized and intuitive way to access information.",link:"/docs/tabs",keywords:["tabs","tabbed-interface","tab-navigation","tab-selection","groups"],related:["menu","chain","divider"],img:""},textarea:{type:"Component",name:"Textarea",description:"The Textarea component offers a multi-line text input field, suitable for longer-form content such as comments, messages, or descriptions.",link:"/docs/textarea",keywords:["textarea","text-input-area","multi-line-input","user-input"],related:["input","form"],img:""},theme:{type:"",name:"Theme",description:"MumpUI's theme is highly customizable, offering a rich selection of CSS color variables and classes. Additionally, it seamlessly integrates both light and dark themes.",link:"/docs/theme",keywords:["color-classes","color-variables","css","customizable","dark-theme","light-theme","styling","theme"],related:["setup"],img:""},tooltip:{type:"Component",name:"Tooltip",description:"The Tooltip component provides additional contextual information when users hover over an element, enhancing user understanding and interaction.",link:"/docs/tooltip",keywords:["tooltip","information-tooltip","hover-text","contextual-help","help"],related:["message","modal","note"],img:""},setup:{type:"",name:"Setup",description:"Get started with MumpUI in 3 steps. Just Install, Initialize & setup theme, and you are good to go.",link:"/setup",keywords:["install","initialize","theme","configure","integrate","environment","setup"],related:["theme"],img:""},theStoryOfMumpUI:{type:"Blog",name:"The story of MumpUI",description:"",link:"",keywords:[],related:[],img:""},treeShaking:{type:"Blog",name:"Tree Shaking: Import only selected components, not the complete library",description:"",link:"",keywords:[],related:[],img:""},noMoreColorfulButtons:{type:"Blog",name:"Why buttons customizations are deprecated in MumpUI?",description:"",link:"",keywords:[],related:[],img:""},bestMultiSelectComponent:{type:"Blog",name:"The complexity of Multi-Select component",description:"",link:"",keywords:[],related:[],img:""},whyToUseRem:{type:"Blog",name:"Why & where to use rem?",description:"",link:"",keywords:[],related:[],img:""},nativeComponents:{type:"Blog",name:"Why to use native html components?",description:"",link:"",keywords:[],related:[],img:""},themeManagement:{type:"Blog",name:"How to manage light/dark/custom themes in your web app?",description:"",link:"",keywords:[],related:[],img:""},customize:{type:"Blog",name:"How to customize default MumpUI theme?",description:"",link:"",keywords:[],related:[],img:""},responsive:{type:"Blog",name:"Guide to responsive UI design",description:"",link:"",keywords:[],related:[],img:""}},Ly="_footer_bcr5d_2",Ry={footer:Ly};function np(){return o.jsxs("div",{className:Ry.footer,children:["Developed by"," ",o.jsx("a",{href:"https://github.com/neilveil",target:"_blank",rel:"noreferrer",children:"NeilVeil"})]})}const Fy="_main_k0bp2_1",Dy="_info_k0bp2_13",zy="_issue_k0bp2_18",$y="_header_k0bp2_26",Ay="_row_k0bp2_30",Oy="_icon_k0bp2_35",Uy="_title_k0bp2_45",By="_showcase_k0bp2_52",Vy="_showcaseTitle_k0bp2_52",Hy="_element_k0bp2_56",Wy="_props_k0bp2_80",Ky="_table_k0bp2_86",Qy="_name_k0bp2_89",Yy="_type_k0bp2_92",Jy="_usage_k0bp2_96",Gy="_required_k0bp2_103",Xy="_related_k0bp2_108",Ve={main:Fy,info:Dy,issue:zy,header:$y,row:Ay,icon:Oy,title:Uy,showcase:By,showcaseTitle:Vy,element:Hy,switch:"_switch_k0bp2_60",props:Wy,table:Ky,name:Qy,type:Yy,usage:Jy,required:Gy,related:Xy};function v(e){const{name:t,description:n,keywords:r,related:i,img:l,type:s}=J[e.name],a=["MumpUI",s,t].filter(d=>d).join(" / "),c=J,u=i.map(d=>({name:c[d].name,link:c[d].link}));return S.useEffect(()=>{Oh({title:a,description:n,keywords:r,img:l})},[a,n,r,l,i]),o.jsxs(o.Fragment,{children:[o.jsx("div",{className:Ve.main,children:o.jsxs("div",{children:[o.jsxs("div",{className:Ve.header,children:[o.jsxs("div",{className:Ve.row,children:[o.jsx(Ye,{to:"/",children:o.jsxs("div",{className:Ve.icon,children:[o.jsx("span",{className:"icon",children:"west"})," Home"]})}),o.jsx("div",{className:Ve.icon,children:o.jsx(hc,{})})]}),o.jsx("div",{className:Ve.row,children:o.jsx("div",{className:Ve.title,children:a})})]}),e.children,o.jsx("div",{className:Ve.issue,children:o.jsxs("a",{href:`https://github.com/neilveil/mumpui/issues/new?title=${encodeURIComponent(e.name)}&body=`,target:"_blank",rel:"noreferrer",children:["Report an issue  ",o.jsx("span",{className:"icon",children:"east"})]})}),!!u.length&&o.jsx(e1,{components:u})]})}),o.jsx(np,{})]})}v.Info=rp;function rp({children:e,style:t={},className:n="",title:r=!1}){return o.jsx("div",{className:n+" "+Ve.info,style:Object.assign(t,r?{marginTop:"4rem",fontSize:"1rem",color:"var(--mp-font-dark)"}:{}),children:e})}v.Showcase=qy;function qy({children:e,title:t,code:n,lang:r="jsx",onlyCode:i=!1}){const[l,s]=S.useState(!1);return n=(n||"").trim(),o.jsxs("div",{className:Ve.showcase,children:[o.jsx("div",{className:Ve.showcaseTitle,children:t}),!!n&&o.jsxs("div",{className:Ve.switch,children:[o.jsx("div",{onClick:()=>{navigator.clipboard.writeText(n||""),re.info("Copied!")},children:o.jsx("span",{className:"icon",children:"copy"})}),!i&&o.jsx(o.Fragment,{children:l?o.jsxs("div",{onClick:()=>s(!l),children:[o.jsx("span",{className:"icon",children:"code_off"}),"  Hide code"]}):o.jsxs("div",{onClick:()=>s(!l),children:[o.jsx("span",{className:"icon",children:"code"}),"  Show code"]})})]}),!i&&o.jsx("div",{className:Ve.element,children:e}),(!!l||i)&&o.jsx(It,{snippet:n,lang:r,style:{margin:0}})]})}v.Props=Zy;function Zy(e){var n;const t=(n=e.fields)==null?void 0:n.filter(r=>r.type).length;return o.jsxs("div",{children:[o.jsxs("div",{className:Ve.props,children:[e.type==="table"?e.title:o.jsx("code",{style:{fontSize:"1rem"},children:e.title})," ",e.type?n1[e.type]:null]}),o.jsx(wl,{cols:[{name:"Name",key:"name",render:r=>r?o.jsx("code",{style:{whiteSpace:"pre"},children:r}):null},t?{name:"Type",key:"type",render:r=>r?o.jsx("code",{style:{color:r1[r],backgroundColor:"transparent",padding:0,margin:0},children:r}):null}:{},{name:"Usage",key:"usage",width:"100%",render:(r,i)=>i.defaultValue?o.jsxs("span",{children:[r," (Default: ",o.jsx("code",{children:i.defaultValue}),")"]}):r,wrap:!0}],data:e.fields||[]})]})}function e1({components:e=[]}){return o.jsxs("div",{className:Ve.related,children:[o.jsx("div",{className:Ve.title,children:"Related content"}),o.jsx("ul",{children:e.map((t,n)=>o.jsx("li",{children:o.jsx(Ye,{to:t.link,children:t.name})},n))})]})}v.Setup=t1;function t1(){return o.jsx(rp,{children:o.jsx(Ye,{to:"/setup",children:o.jsx("div",{className:"c-blue",style:{marginTop:".5rem",display:"inline-block",fontWeight:"var(--mp-fw-bold)"},children:"MumpUI Setup →"})})})}const n1={component:"component props",function:"function arguments",object:"object keys",table:""},r1={string:"#6a9955b8",number:"#1976d2b8",boolean:"#d32f2fb8",object:"#fbc02db8",array:"#f57c00b8",function:"#762ad6b8",jsx:"#795548b8",symbol:"#9c27b0b8",any:"#9e9e9eb8"};function ip(){return o.jsxs(Qt,{type:"yellow",style:{margin:"4rem 0",fontSize:".8rem"},children:["This component does not work if ",o.jsx("b",{children:"MumpUI"})," is not initialized at the top of the project.",o.jsx("br",{}),o.jsx(Ye,{to:"/setup",children:o.jsx("div",{className:"c-blue",style:{marginTop:".5rem",display:"inline-block"},children:"MumpUI Setup →"})})]})}function hc({style:e={},className:t="",text:n=""}){var c;const[r,i]=S.useState(!0),l=window.localStorage.getItem("MP_THEME");let s="";l&&["light","dark"].includes(l)?s=l:(c=window==null?void 0:window.matchMedia("(prefers-color-scheme: dark)"))!=null&&c.matches&&(s="dark");const a=s==="light"?"dark":"light";return o.jsxs("span",{onClick:()=>{window.localStorage.setItem("MP_THEME",a),document.body.setAttribute("data-theme",a),i(!r)},style:{cursor:"pointer"},children:[o.jsxs("span",{style:{cursor:"pointer",display:"inline-block",userSelect:"none",...e},className:"icon"+t,children:[a,"_mode"]})," ",n]})}function nn(e){return Array.isArray?Array.isArray(e):sp(e)==="[object Array]"}const i1=1/0;function o1(e){if(typeof e=="string")return e;let t=e+"";return t=="0"&&1/e==-i1?"-0":t}function l1(e){return e==null?"":o1(e)}function $t(e){return typeof e=="string"}function op(e){return typeof e=="number"}function s1(e){return e===!0||e===!1||a1(e)&&sp(e)=="[object Boolean]"}function lp(e){return typeof e=="object"}function a1(e){return lp(e)&&e!==null}function ot(e){return e!=null}function rs(e){return!e.trim().length}function sp(e){return e==null?e===void 0?"[object Undefined]":"[object Null]":Object.prototype.toString.call(e)}const c1="Incorrect 'index' type",u1=e=>`Invalid value for key ${e}`,d1=e=>`Pattern length exceeds max of ${e}.`,f1=e=>`Missing ${e} property in key`,h1=e=>`Property 'weight' in key '${e}' must be a positive integer`,nd=Object.prototype.hasOwnProperty;class p1{constructor(t){this._keys=[],this._keyMap={};let n=0;t.forEach(r=>{let i=ap(r);n+=i.weight,this._keys.push(i),this._keyMap[i.id]=i,n+=i.weight}),this._keys.forEach(r=>{r.weight/=n})}get(t){return this._keyMap[t]}keys(){return this._keys}toJSON(){return JSON.stringify(this._keys)}}function ap(e){let t=null,n=null,r=null,i=1,l=null;if($t(e)||nn(e))r=e,t=rd(e),n=oa(e);else{if(!nd.call(e,"name"))throw new Error(f1("name"));const s=e.name;if(r=s,nd.call(e,"weight")&&(i=e.weight,i<=0))throw new Error(h1(s));t=rd(s),n=oa(s),l=e.getFn}return{path:t,id:n,weight:i,src:r,getFn:l}}function rd(e){return nn(e)?e:e.split(".")}function oa(e){return nn(e)?e.join("."):e}function m1(e,t){let n=[],r=!1;const i=(l,s,a)=>{if(ot(l))if(!s[a])n.push(l);else{let c=s[a];const u=l[c];if(!ot(u))return;if(a===s.length-1&&($t(u)||op(u)||s1(u)))n.push(l1(u));else if(nn(u)){r=!0;for(let d=0,h=u.length;de.score===t.score?e.idx{this._keysMap[n.id]=r})}create(){this.isCreated||!this.docs.length||(this.isCreated=!0,$t(this.docs[0])?this.docs.forEach((t,n)=>{this._addString(t,n)}):this.docs.forEach((t,n)=>{this._addObject(t,n)}),this.norm.clear())}add(t){const n=this.size();$t(t)?this._addString(t,n):this._addObject(t,n)}removeAt(t){this.records.splice(t,1);for(let n=t,r=this.size();n{let s=i.getFn?i.getFn(t):this.getFn(t,i.path);if(ot(s)){if(nn(s)){let a=[];const c=[{nestedArrIndex:-1,value:s}];for(;c.length;){const{nestedArrIndex:u,value:d}=c.pop();if(ot(d))if($t(d)&&!rs(d)){let h={v:d,i:u,n:this.norm.get(d)};a.push(h)}else nn(d)&&d.forEach((h,m)=>{c.push({nestedArrIndex:m,value:h})})}r.$[l]=a}else if($t(s)&&!rs(s)){let a={v:s,n:this.norm.get(s)};r.$[l]=a}}}),this.records.push(r)}toJSON(){return{keys:this.keys,records:this.records}}}function cp(e,t,{getFn:n=V.getFn,fieldNormWeight:r=V.fieldNormWeight}={}){const i=new pc({getFn:n,fieldNormWeight:r});return i.setKeys(e.map(ap)),i.setSources(t),i.create(),i}function k1(e,{getFn:t=V.getFn,fieldNormWeight:n=V.fieldNormWeight}={}){const{keys:r,records:i}=e,l=new pc({getFn:t,fieldNormWeight:n});return l.setKeys(r),l.setIndexRecords(i),l}function fo(e,{errors:t=0,currentLocation:n=0,expectedLocation:r=0,distance:i=V.distance,ignoreLocation:l=V.ignoreLocation}={}){const s=t/e.length;if(l)return s;const a=Math.abs(r-n);return i?s+a/i:a?1:s}function S1(e=[],t=V.minMatchCharLength){let n=[],r=-1,i=-1,l=0;for(let s=e.length;l=t&&n.push([r,i]),r=-1)}return e[l-1]&&l-r>=t&&n.push([r,l-1]),n}const $n=32;function C1(e,t,n,{location:r=V.location,distance:i=V.distance,threshold:l=V.threshold,findAllMatches:s=V.findAllMatches,minMatchCharLength:a=V.minMatchCharLength,includeMatches:c=V.includeMatches,ignoreLocation:u=V.ignoreLocation}={}){if(t.length>$n)throw new Error(d1($n));const d=t.length,h=e.length,m=Math.max(0,Math.min(r,h));let x=l,w=m;const j=a>1||c,N=j?Array(h):[];let g;for(;(g=e.indexOf(t,w))>-1;){let M=fo(t,{currentLocation:g,expectedLocation:m,distance:i,ignoreLocation:u});if(x=Math.min(M,x),w=g+d,j){let P=0;for(;P=$;Ce-=1){let rt=Ce-1,Ae=n[e.charAt(rt)];if(j&&(N[rt]=+!!Ae),Z[Ce]=(Z[Ce+1]<<1|1)&Ae,M&&(Z[Ce]|=(f[Ce+1]|f[Ce])<<1|1|f[Ce+1]),Z[Ce]&b&&(y=fo(t,{errors:M,currentLocation:rt,expectedLocation:m,distance:i,ignoreLocation:u}),y<=x)){if(x=y,w=rt,w<=m)break;$=Math.max(1,2*m-w)}}if(fo(t,{errors:M+1,currentLocation:m,expectedLocation:m,distance:i,ignoreLocation:u})>x)break;f=Z}const E={isMatch:w>=0,score:Math.max(.001,y)};if(j){const M=S1(N,a);M.length?c&&(E.indices=M):E.isMatch=!1}return E}function b1(e){let t={};for(let n=0,r=e.length;n{this.chunks.push({pattern:m,alphabet:b1(m),startIndex:x})},h=this.pattern.length;if(h>$n){let m=0;const x=h%$n,w=h-x;for(;m{const{isMatch:g,score:f,indices:y}=C1(t,w,j,{location:i+N,distance:l,threshold:s,findAllMatches:a,minMatchCharLength:c,includeMatches:r,ignoreLocation:u});g&&(m=!0),h+=f,g&&y&&(d=[...d,...y])});let x={isMatch:m,score:m?h/this.chunks.length:1};return m&&r&&(x.indices=d),x}}class Tn{constructor(t){this.pattern=t}static isMultiMatch(t){return id(t,this.multiRegex)}static isSingleMatch(t){return id(t,this.singleRegex)}search(){}}function id(e,t){const n=e.match(t);return n?n[1]:null}class E1 extends Tn{constructor(t){super(t)}static get type(){return"exact"}static get multiRegex(){return/^="(.*)"$/}static get singleRegex(){return/^=(.*)$/}search(t){const n=t===this.pattern;return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class M1 extends Tn{constructor(t){super(t)}static get type(){return"inverse-exact"}static get multiRegex(){return/^!"(.*)"$/}static get singleRegex(){return/^!(.*)$/}search(t){const r=t.indexOf(this.pattern)===-1;return{isMatch:r,score:r?0:1,indices:[0,t.length-1]}}}class _1 extends Tn{constructor(t){super(t)}static get type(){return"prefix-exact"}static get multiRegex(){return/^\^"(.*)"$/}static get singleRegex(){return/^\^(.*)$/}search(t){const n=t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,this.pattern.length-1]}}}class N1 extends Tn{constructor(t){super(t)}static get type(){return"inverse-prefix-exact"}static get multiRegex(){return/^!\^"(.*)"$/}static get singleRegex(){return/^!\^(.*)$/}search(t){const n=!t.startsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class I1 extends Tn{constructor(t){super(t)}static get type(){return"suffix-exact"}static get multiRegex(){return/^"(.*)"\$$/}static get singleRegex(){return/^(.*)\$$/}search(t){const n=t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[t.length-this.pattern.length,t.length-1]}}}class P1 extends Tn{constructor(t){super(t)}static get type(){return"inverse-suffix-exact"}static get multiRegex(){return/^!"(.*)"\$$/}static get singleRegex(){return/^!(.*)\$$/}search(t){const n=!t.endsWith(this.pattern);return{isMatch:n,score:n?0:1,indices:[0,t.length-1]}}}class dp extends Tn{constructor(t,{location:n=V.location,threshold:r=V.threshold,distance:i=V.distance,includeMatches:l=V.includeMatches,findAllMatches:s=V.findAllMatches,minMatchCharLength:a=V.minMatchCharLength,isCaseSensitive:c=V.isCaseSensitive,ignoreLocation:u=V.ignoreLocation}={}){super(t),this._bitapSearch=new up(t,{location:n,threshold:r,distance:i,includeMatches:l,findAllMatches:s,minMatchCharLength:a,isCaseSensitive:c,ignoreLocation:u})}static get type(){return"fuzzy"}static get multiRegex(){return/^"(.*)"$/}static get singleRegex(){return/^(.*)$/}search(t){return this._bitapSearch.searchIn(t)}}class fp extends Tn{constructor(t){super(t)}static get type(){return"include"}static get multiRegex(){return/^'"(.*)"$/}static get singleRegex(){return/^'(.*)$/}search(t){let n=0,r;const i=[],l=this.pattern.length;for(;(r=t.indexOf(this.pattern,n))>-1;)n=r+l,i.push([r,n-1]);const s=!!i.length;return{isMatch:s,score:s?0:1,indices:i}}}const la=[E1,fp,_1,N1,P1,I1,M1,dp],od=la.length,T1=/ +(?=(?:[^\"]*\"[^\"]*\")*[^\"]*$)/,L1="|";function R1(e,t={}){return e.split(L1).map(n=>{let r=n.trim().split(T1).filter(l=>l&&!!l.trim()),i=[];for(let l=0,s=r.length;l!!(e[Zo.AND]||e[Zo.OR]),$1=e=>!!e[ca.PATH],A1=e=>!nn(e)&&lp(e)&&!ua(e),ld=e=>({[Zo.AND]:Object.keys(e).map(t=>({[t]:e[t]}))});function hp(e,t,{auto:n=!0}={}){const r=i=>{let l=Object.keys(i);const s=$1(i);if(!s&&l.length>1&&!ua(i))return r(ld(i));if(A1(i)){const c=s?i[ca.PATH]:l[0],u=s?i[ca.PATTERN]:i[c];if(!$t(u))throw new Error(u1(c));const d={keyId:oa(c),pattern:u};return n&&(d.searcher=aa(u,t)),d}let a={children:[],operator:l[0]};return l.forEach(c=>{const u=i[c];nn(u)&&u.forEach(d=>{a.children.push(r(d))})}),a};return ua(e)||(e=ld(e)),r(e)}function O1(e,{ignoreFieldNorm:t=V.ignoreFieldNorm}){e.forEach(n=>{let r=1;n.matches.forEach(({key:i,norm:l,score:s})=>{const a=i?i.weight:null;r*=Math.pow(s===0&&a?Number.EPSILON:s,(a||1)*(t?1:l))}),n.score=r})}function U1(e,t){const n=e.matches;t.matches=[],ot(n)&&n.forEach(r=>{if(!ot(r.indices)||!r.indices.length)return;const{indices:i,value:l}=r;let s={indices:i,value:l};r.key&&(s.key=r.key.src),r.idx>-1&&(s.refIndex=r.idx),t.matches.push(s)})}function B1(e,t){t.score=e.score}function V1(e,t,{includeMatches:n=V.includeMatches,includeScore:r=V.includeScore}={}){const i=[];return n&&i.push(U1),r&&i.push(B1),e.map(l=>{const{idx:s}=l,a={item:t[s],refIndex:s};return i.length&&i.forEach(c=>{c(l,a)}),a})}class Or{constructor(t,n={},r){this.options={...V,...n},this.options.useExtendedSearch,this._keyStore=new p1(this.options.keys),this.setCollection(t,r)}setCollection(t,n){if(this._docs=t,n&&!(n instanceof pc))throw new Error(c1);this._myIndex=n||cp(this.options.keys,this._docs,{getFn:this.options.getFn,fieldNormWeight:this.options.fieldNormWeight})}add(t){ot(t)&&(this._docs.push(t),this._myIndex.add(t))}remove(t=()=>!1){const n=[];for(let r=0,i=this._docs.length;r-1&&(c=c.slice(0,n)),V1(c,this._docs,{includeMatches:r,includeScore:i})}_searchStringList(t){const n=aa(t,this.options),{records:r}=this._myIndex,i=[];return r.forEach(({v:l,i:s,n:a})=>{if(!ot(l))return;const{isMatch:c,score:u,indices:d}=n.searchIn(l);c&&i.push({item:l,idx:s,matches:[{score:u,value:l,norm:a,indices:d}]})}),i}_searchLogical(t){const n=hp(t,this.options),r=(a,c,u)=>{if(!a.children){const{keyId:h,searcher:m}=a,x=this._findMatches({key:this._keyStore.get(h),value:this._myIndex.getValueForItemAtKeyId(c,h),searcher:m});return x&&x.length?[{idx:u,item:c,matches:x}]:[]}const d=[];for(let h=0,m=a.children.length;h{if(ot(a)){let u=r(n,a,c);u.length&&(l[c]||(l[c]={idx:c,item:a,matches:[]},s.push(l[c])),u.forEach(({matches:d})=>{l[c].matches.push(...d)}))}}),s}_searchObjectList(t){const n=aa(t,this.options),{keys:r,records:i}=this._myIndex,l=[];return i.forEach(({$:s,i:a})=>{if(!ot(s))return;let c=[];r.forEach((u,d)=>{c.push(...this._findMatches({key:u,value:s[d],searcher:n}))}),c.length&&l.push({idx:a,item:s,matches:c})}),l}_findMatches({key:t,value:n,searcher:r}){if(!ot(n))return[];let i=[];if(nn(n))n.forEach(({v:l,i:s,n:a})=>{if(!ot(l))return;const{isMatch:c,score:u,indices:d}=r.searchIn(l);c&&i.push({score:u,key:t,value:l,idx:s,norm:a,indices:d})});else{const{v:l,n:s}=n,{isMatch:a,score:c,indices:u}=r.searchIn(l);a&&i.push({score:c,key:t,value:l,norm:s,indices:u})}return i}}Or.version="6.6.2";Or.createIndex=cp;Or.parseIndex=k1;Or.config=V;Or.parseQuery=hp;z1(D1);const H1=(e=[])=>e[Math.floor(Math.random()*e.length)],pp=[{key:"india",label:"India"},{key:"germany",label:"Germany"},{key:"japan",label:"Japan"},{key:"switzerland",label:"Switzerland"},{key:"canada",label:"Canada"},{key:"denmark",label:"Denmark"},{key:"netherlands",label:"Netherlands"},{key:"sweden",label:"Sweden"},{key:"united-states",label:"United States"},{key:"united-kingdom",label:"United Kingdom"}],W1=["Emily Smith","Benjamin Johnson","Olivia Martinez","Ethan Brown","Ava Davis","Liam Anderson","Sophia Rodriguez","Noah Wilson","Isabella Thompson","James White","Mia Garcia"],mp=[],gp=[],yp=[];let K1=1;for(const e of W1){const[t,n]=e.split(" ");gp.push(t),yp.push(n),mp.push({id:K1++,firstName:t,lastName:n,username:e.toLowerCase().replace(" ",""),name:e,salary:"$"+e.length*7+"K",country:H1(pp).label})}const Q1=["Lorem ipsum","dolor sit amet",["consectetur adipiscing","sed do eiusmod tempor",["ut labore et dolore","magna aliqua"]],"Ut enim ","ad minim veniam"],Y1={cols:[{name:"#",align:"center",width:"1rem",render:(e,t,[n])=>n+1},{key:"id",name:"ID",align:"center",width:"1rem"},{name:"Name",align:"left",width:"100%",render:(e,t)=>t.firstName+" "+t.lastName},{key:"salary",name:"Salary",align:"right",render:e=>o.jsxs("span",{style:{color:"var(--mp-c-green)"},children:["$",e]})}],data:[{id:24,firstName:"Saige",lastName:"Fuentes",salary:1e3},{id:25,firstName:"Bowen",lastName:"Higgins",salary:2e3},{id:31,firstName:"Leighton",lastName:"Kramer",salary:3e3},{id:46,firstName:"Kylan",lastName:"Gentry",salary:4e3},{id:57,firstName:"Amelie",lastName:"Griffith",salary:2e3}]},J1=["Decors","Lamps","Table Lamp"],G1=[{key:"apple",label:"Apple"},{key:"banana",label:"Banana"},{key:"orange",label:"Orange"},{key:"grape",label:"Grape"},{key:"strawberry",label:"Strawberry"},{key:"kiwi",label:"Kiwi"},{key:"mango",label:"Mango"},{key:"pear",label:"Pear"},{key:"cherry",label:"Cherry"},{key:"pineapple",label:"Pineapple"},{key:"plum",label:"Plum"},{key:"blueberry",label:"Blueberry"}],X1=[{key:"home",label:"Home",icon:o.jsx("span",{className:"icon",children:"home"}),next:[]},{key:"products",label:"Products",icon:o.jsx("span",{className:"icon",children:"widgets"}),next:[]},{key:"settings",label:"Settings",icon:o.jsx("span",{className:"icon",children:"settings"}),next:[{key:"profile",label:"Profile",icon:o.jsx("span",{className:"icon",children:"person"}),next:[]},{key:"blogs",label:"Blogs",icon:o.jsx("span",{className:"icon",children:"rss_feed"}),next:[{key:"blog-1",label:"Blog 1"},{key:"blog-2",label:"Blog 2"}]}]}],q1=[{name:"Home",icon:o.jsx("span",{className:"icon",children:"home"}),path:"/dashboard"},{name:"Users",icon:o.jsx("span",{className:"icon",children:"people"}),path:"/dashboard/users",access:"users"},{name:"Access",icon:o.jsx("span",{className:"icon",children:"task_alt"}),path:"/dashboard/access",access:"access"},{name:"Settings",icon:o.jsx("span",{className:"icon",children:"settings"}),access:["profile","blogs"],next:[{name:"Profile",icon:o.jsx("span",{className:"icon",children:"person"}),path:"/dashboard/profile",access:"profile"},{name:"Blogs",icon:o.jsx("span",{className:"icon",children:"rss_feed"}),access:"blogs",next:[{name:"Blog 1",path:"/dashboard/blog/1"},{name:"Blog 2",path:"/dashboard/blog/2"},{name:"Blog 3",path:"/dashboard/blog/3"}]}]}],L={countries:pp,firstNames:gp,lastNames:yp,users:mp,list:Q1,table:Y1,chain:J1,tabs:G1,menu:X1,dashboardSidebarItems:q1},X={input:{...J.input,Component(){return o.jsx(q,{placeholder:"Type something.."})}},textarea:{...J.textarea,Component(){const[e,t]=S.useState("");return o.jsx(ia,{value:e,onChange:n=>t(n.target.value),placeholder:"Type something..",autoHeight:!0})}},field:{...J.field,Component(){return o.jsx(K,{label:"Name",children:o.jsx(q,{placeholder:"Enter name.."})})}},form:{...J.form,Component(){return o.jsxs(er,{children:[o.jsx(K,{label:"Username",children:o.jsx(q,{placeholder:"Enter name.."})}),o.jsx(K,{label:"Passowrd",children:o.jsx(q,{placeholder:"Enter password.."})}),o.jsx(O,{children:"Submit"})]})}},checkbox:{...J.checkbox,Component(){const[e,t]=S.useState(["india"]);return o.jsx("div",{children:o.jsx(Xo,{options:L.countries.slice(0,3),checked:e,onChange:n=>t(n)})})}},radio:{...J.radio,Component(){const[e,t]=S.useState("india");return o.jsx("div",{children:o.jsx(qo,{options:L.countries.slice(0,3),checked:e,onChange:n=>t(n)})})}},select:{...J.select,Component(){const[e,t]=S.useState(L.countries[0].key);return o.jsx(qe,{options:L.countries,value:e,onChange:n=>t(n)})}},multiSelect:{...J.multiSelect,Component(){const[e,t]=S.useState([L.countries[0].key]);return o.jsx(qe.Multi,{options:L.countries,value:e,onChange:n=>t(n)})}},search:{...J.search,Component(){const[e,t]=S.useState("");return o.jsx(ep,{value:e,onChange:n=>t(n),placeholder:"Search..",children:o.jsxs("div",{style:{padding:"1rem"},children:[o.jsx("div",{children:"You can put anything in the dropdown.."}),["A1 red box","B2 green circle","C3 hexagon"].filter(n=>n.toLowerCase().includes(e.toLowerCase().trim())).map((n,r)=>o.jsx("div",{style:{display:"inline-block",padding:"1rem",margin:"1rem 1rem 0 0",backgroundColor:"#88888818",cursor:"pointer"},onClick:()=>t(n),children:n},r)),!!e&&o.jsx("div",{onClick:()=>t(""),style:{display:"inline-block",cursor:"pointer"},children:"Clear"})]})})}},button:{...J.button,Component(){return o.jsxs(Re,{children:[o.jsx(O,{children:"Default"}),o.jsx(O,{primary:!0,children:"Primary"}),o.jsx(O,{style:{borderStyle:"dashed",color:"#f5222d",borderColor:"#f5222d"},children:"Delete"})]})}},datetime:{...J.datetime,Component(){return o.jsxs("div",{children:[o.jsx(q,{type:"date",defaultValue:"2020-01-01"}),o.jsx("br",{}),o.jsx(q,{type:"month",defaultValue:"2020-01"}),o.jsx("br",{}),o.jsx(q,{type:"time",defaultValue:"18:00"})]})}},colorPicker:{...J.colorPicker,Component(){const[e,t]=S.useState("#0A94FF");return o.jsx(Jh,{placeholder:"Select color..",value:e,onValue:n=>t(n),style:{maxWidth:"15rem"}})}},range:{...J.range,Component(){return o.jsx(Zh,{})}},file:{...J.file,Component(){const[e,t]=S.useState([]);return o.jsxs("div",{children:[o.jsx(K,{label:"Upload images",children:o.jsx(Gh,{accept:"image/jpeg",onChange:n=>t(Array.from(n.target.files)),multiple:!0,children:o.jsx(O,{children:"Upload"})})}),o.jsx("div",{children:!!e.length&&o.jsx("div",{style:{display:"flex",gap:"1rem",marginTop:"2rem"},children:e.map((n,r)=>o.jsx("div",{children:o.jsx("img",{src:URL.createObjectURL(n),style:{width:"100%",maxHeight:"10rem"}})},r))})})]})}},list:{...J.list,Component(){return o.jsx(ra,{style:{fontSize:".8rem",paddingLeft:"2rem"},items:L.list})}},table:{...J.table,Component(){return o.jsx(wl,{cols:L.table.cols,data:L.table.data.slice(0,3)})}},loader:{...J.loader,Component(){return o.jsx(gi,{})}},placeholder:{...J.placeholder,Component(){return o.jsx(En,{})}},divider:{...J.divider,Component(){return o.jsx(bo,{align:"left",children:"More"})}},chain:{...J.chain,Component(){return o.jsx(xr,{items:["Home","Products","Price"]})}},tooltip:{...J.tooltip,Component(){return o.jsx(Dt,{label:"Hello there!",position:"right",style:{maxWidth:"4rem"},children:o.jsx("div",{style:{background:"#88888818",padding:".5rem",textAlign:"center"},children:"Hover"})})}},message:{...J.message,Component(){return o.jsx("div",{style:{textAlign:"center"},children:o.jsx(O,{onClick:()=>re.info("Hello there!"),children:"Message"})})}},confirm:{...J.confirm,Component(){return o.jsx("div",{style:{textAlign:"center"},children:o.jsx(O,{onClick:()=>St.init({title:"Are you sure you want to continue?",description:"You are about to continue",onConfirm:()=>re.success("Nice!")}),children:"Confirm"})})}},modal:{...J.modal,Component(){const[e,t]=S.useState(!1);return o.jsxs("div",{style:{textAlign:"center"},children:[o.jsx(O,{onClick:()=>t(!0),children:"Modal"}),o.jsx(qh,{title:"Demo Modal",buttons:o.jsx(O,{onClick:()=>t(!1),children:"Close"}),visible:e,onClose:()=>t(!1),children:o.jsx("div",{style:{fontSize:".8rem",marginTop:".5rem"},children:"This is dummy modal. You can render anything inside."})})]})}},note:{...J.note,Component(){return o.jsx(Qt,{type:"blue",style:{fontSize:".8rem"},children:"Hello there!"})}},tabs:{...J.tabs,Component(){const[e,t]=S.useState(L.tabs[0].key);return o.jsx(tp,{items:L.tabs,active:e,onClick:n=>t(n)})}},menu:{...J.menu,Component(){const[e,t]=S.useState("home");return o.jsx(ac,{active:e,onClick:n=>t(n),items:L.menu,style:{width:"100%",maxWidth:"12rem"}})}},pagination:{...J.pagination,Component(){const[e,t]=S.useState(0),n=956,r=10;return o.jsx("div",{style:{textAlign:"center"},children:o.jsx(cc,{pageSize:r,totalItems:n,offset:e,onChange:i=>t(i)})})}},breadcrumb:{...J.chain,name:"Breadcrumb",Component(){return o.jsx(xr,{items:L.chain.map(e=>o.jsx(Ye,{to:e,style:{color:"var(--c-blue)"},children:e},e))})}},dashboard:{...J.dashboard,Component(){return o.jsx(Ye,{to:"/dashboard",target:"_blank",style:{textAlign:"center"},children:o.jsx(O,{children:"Dashboard Demo"})})}},icons:{...J.icons,Component(){return o.jsx("span",{className:"icon",style:{fontSize:"1.5rem",textAlign:"center"},children:"home"})}},typography:{...J.typography,Component(){return o.jsx("h3",{style:{textAlign:"center"},children:"Typography"})}},markdown:{...J.markdown,Component(){return o.jsx(It,{snippet:"# Header"})}},code:{...J.code,Component(){return o.jsx(It,{lang:"jsx",snippet:"import react from 'react'"})}}},Z1=[{name:"Input",showcases:[X.input,X.textarea,X.field,X.form,X.checkbox,X.radio,X.select,X.multiSelect,X.search,X.button,X.datetime,X.colorPicker,X.range,X.file]},{name:"Display",showcases:[X.list,X.table,X.loader,X.placeholder,X.divider,X.chain,X.tooltip]},{name:"Feedback",showcases:[X.message,X.confirm,X.modal,X.note]},{name:"Navigation",showcases:[X.tabs,X.menu,X.pagination,X.breadcrumb]},{name:"Advanced",showcases:[X.dashboard,X.icons,X.typography,X.markdown,X.code]}],ev="_header_eoedd_1",tv="_content_eoedd_23",nv="_logoAndInfo_eoedd_30",rv="_left_eoedd_37",iv="_right_eoedd_54",ov="_name_eoedd_54",lv="_info_eoedd_58",sv="_links_eoedd_64",av="_container_eoedd_76",cv="_search_eoedd_88",uv="_foldUnfold_eoedd_95",dv="_searchInput_eoedd_104",fv="_searchShortcut_eoedd_108",hv="_groups_eoedd_138",pv="_title_eoedd_138",mv="_count_eoedd_150",gv="_showcases_eoedd_156",yv="_showcase_eoedd_156",vv="_nameLink_eoedd_174",xv="_icon_eoedd_177",wv="_component_eoedd_188",jv="_github_eoedd_239",fe={header:ev,content:tv,logoAndInfo:nv,left:rv,"logo-breathe":"_logo-breathe_eoedd_1",right:iv,name:ov,info:lv,links:sv,container:av,search:cv,foldUnfold:uv,searchInput:dv,searchShortcut:fv,groups:hv,title:pv,count:mv,showcases:gv,showcase:yv,"showcase-appear":"_showcase-appear_eoedd_1",nameLink:vv,icon:xv,component:wv,github:jv},kv="1.4.1";let Sv=class extends $i.Component{constructor(){super(...arguments);se(this,"state",{expanded:!0,search:"",isSearchFocused:!1,customize:!1});se(this,"logoRotation",0);se(this,"focusSearch",n=>{if(n.key==="/"&&!this.state.isSearchFocused){const r=document.querySelector("#search");if(!r)return;r.focus(),this.scrollToSearch()}});se(this,"scrollToSearch",()=>{const n=document.querySelector("#search");n&&window.scrollTo(0,window.scrollY+n.getBoundingClientRect().top-parseFloat(getComputedStyle(document.documentElement).fontSize))});se(this,"render",()=>{const n=new Or(Object.values(X),{keys:["keywords"]}),r=this.state.search?n.search(this.state.search).map(({item:i})=>i):[];return o.jsxs("div",{children:[o.jsx("div",{className:fe.header,children:o.jsx("div",{className:fe.content,children:o.jsxs("div",{className:fe.logoAndInfo,children:[o.jsx("div",{className:fe.left,children:o.jsx("img",{src:"/mumpui/logo.png",onClick:i=>{this.logoRotation+=360,i.target.style.transform=`rotate(${this.logoRotation}deg)`;const l=window.localStorage.getItem("MP_THEME")==="light"?"dark":"light";window.localStorage.setItem("MP_THEME",l),document.body.setAttribute("data-theme",l)}})}),o.jsxs("div",{className:fe.right,children:[o.jsx("div",{className:fe.info,children:"Welcome to"}),o.jsxs("div",{className:fe.name,children:["MumpUI"," ",o.jsx("span",{style:{fontSize:".7rem",color:"#888",fontWeight:"var(--fw-bold)"},children:kv})]}),o.jsxs("div",{className:fe.info,children:["A light-weight flexible & elegant",o.jsx("br",{}),"design system for developers."]}),o.jsxs("div",{className:fe.links,children:[["Setup"].map(i=>o.jsx(Ye,{to:"/"+i.toLowerCase(),children:o.jsx("div",{children:i})},i)),o.jsx(hc,{}),o.jsx(Ye,{to:"/docs/theme",children:o.jsx("span",{className:"icon",children:"brush"})}),o.jsx("a",{href:"https://github.com/neilveil/mumpui",target:"_blank",rel:"noreferrer",children:o.jsx("div",{className:fe.github,children:o.jsx("img",{src:"/mumpui/github.png",alt:""})})})]})]})]})})}),o.jsx("div",{className:fe.container,children:o.jsxs("div",{className:fe.content,children:[o.jsxs("div",{className:fe.search,children:[o.jsxs("div",{className:fe.searchInput,onClick:this.scrollToSearch,children:[o.jsx("input",{id:"search",onFocus:()=>this.setState({search:"",isSearchFocused:!0}),onKeyUp:i=>{i.key==="Escape"?(window.scrollTo(0,0),i.target.blur(),this.setState({search:""})):this.scrollToSearch()},onBlur:()=>this.setState({isSearchFocused:!1}),value:this.state.search,onChange:i=>this.setState({search:i.target.value}),placeholder:"Lightning search.."}),o.jsx("div",{className:fe.searchShortcut,children:this.state.isSearchFocused?"Esc":"/"})]}),!this.state.search&&o.jsx("span",{onClick:()=>this.setState({expanded:!this.state.expanded}),className:"icon "+fe.foldUnfold,children:this.state.expanded?"expand_more":"chevron_right"})]}),this.state.search?o.jsx("div",{children:r.length?o.jsx(vp,{data:r,expanded:!0}):o.jsx(En,{})}):o.jsx(o.Fragment,{children:Z1.map(({name:i,showcases:l},s)=>o.jsx(Cv,{title:i,showcases:l,expanded:this.state.expanded},s))})]})}),o.jsx(np,{})]})})}componentDidMount(){window.addEventListener("keyup",this.focusSearch),Oh({title:"MumpUI - A light-weight Flexible & Elegant Design System for Developers",description:"MumpUI is a powerful ReactJS design system that empowers developers to create captivating and feature-rich web applications effortlessly. With customizable, lightweight components, MumpUI offers a seamless user experience on any device. Say goodbye to mundane UI development and hello to extraordinary interfaces with MumpUI.",keywords:["library","ui","components","design","reactjs","development","web","frontend","customizable","responsive","open-source","elegant","lightweight","flexible","interactive","mobile-optimized","user-interface","creative","feature-rich","developer-friendly"]})}componentWillUnmount(){window.removeEventListener("keyup",this.focusSearch)}};const Cv=e=>{const[t,n]=S.useState(e.expanded);return S.useEffect(()=>{n(e.expanded)},[e.expanded]),o.jsxs("div",{className:fe.groups,children:[o.jsxs("div",{className:fe.title,onClick:()=>n(!t),children:[o.jsxs("div",{children:[e.title,o.jsxs("span",{className:fe.count,children:[e.showcases.length," components"]})]}),o.jsx("div",{className:"icon",style:{color:"var(--c-font-light)"},children:t?"expand_more":"chevron_right"})]}),o.jsx(o.Fragment,{children:o.jsx(vp,{data:e.showcases,expanded:t})})]})},vp=({data:e,expanded:t})=>o.jsx("div",{className:fe.showcases,children:e.map((n,r)=>o.jsxs("div",{className:fe.showcase,style:{animationDelay:r*200+"ms",zIndex:n.name==="Modal"?1e3:e.length-r},children:[!!t&&o.jsx("div",{className:fe.component,children:o.jsx(n.Component,{})}),o.jsx(Ye,{to:n.link,className:fe.nameLink,children:o.jsxs("div",{className:fe.name,style:{borderTop:t?"":"none"},children:[n.name,o.jsx("span",{className:"icon "+fe.icon,children:"east"})]})})]},r))}),bv=` +import MumpUI from 'mumpui' + +function App() { + return (
+ {/* Initialize MumpUI */} + + + .. + + + + + .. + + +
) +} + +createRoot(document.getElementById('root') as HTMLElement).render() +`,Ev=` +import 'mumpui/dist/styles/core.css' +`;function Mv(){return o.jsxs(v,{name:"setup",children:[o.jsx("h2",{children:"Step I - Install"}),o.jsx(It,{snippet:"npm i mumpui",lang:"bash"}),o.jsx("h2",{children:"Step II - Initialize MumpUI"}),o.jsx(v.Info,{children:"MumpUI need to be initialized only once at the top."}),o.jsx(It,{snippet:bv,lang:"jsx"}),o.jsx("h2",{children:"Setp III - Import theme"}),o.jsx(It,{snippet:Ev,lang:"jsx"}),o.jsx("br",{}),o.jsx("p",{children:"🎉 Voila, good to go! 🚀"})]})}function _v(){return o.jsx(v,{name:"typography",children:o.jsx(v.Showcase,{children:o.jsxs("div",{className:"mumpui mp-md",children:[o.jsx("h1",{children:"MumpUI / Typography"}),o.jsx("p",{children:"MumpUI comes prepacked with typography styling, making it ideal for rendering content, blogs, stories and more. Typography elements are of two types:"}),o.jsxs("ul",{children:[o.jsxs("li",{children:["Inline elements",o.jsxs("ul",{children:[o.jsxs("li",{children:["Bold ",o.jsx("code",{children:""})]}),o.jsxs("li",{children:["Italics ",o.jsx("code",{children:""})]}),o.jsxs("li",{children:["Underline ",o.jsx("code",{children:""})]}),o.jsxs("li",{children:["Highlight ",o.jsx("code",{children:""})]}),o.jsxs("li",{children:["Strike ",o.jsx("code",{children:""})]}),o.jsxs("li",{children:["Code ",o.jsx("code",{children:""})]}),o.jsxs("li",{children:["Link ",o.jsx("code",{children:""})]})]})]}),o.jsxs("li",{children:["Block elements",o.jsxs("ul",{children:[o.jsxs("li",{children:["Headers ",o.jsx("code",{children:"h1"})," ",o.jsx("code",{children:"h2"})," ",o.jsx("code",{children:"h3"})," ",o.jsx("code",{children:"h4"})]}),o.jsxs("li",{children:["List",o.jsxs("ul",{children:[o.jsxs("li",{children:["Ordered list ",o.jsx("code",{children:"
    "})]}),o.jsxs("li",{children:["Unordered list ",o.jsx("code",{children:"
      "})]})]})]}),o.jsxs("li",{children:["Table ",o.jsx("code",{children:"
      "})]}),o.jsxs("li",{children:["Divider ",o.jsx("code",{children:"
      "})]}),o.jsxs("li",{children:["Blockquote ",o.jsx("code",{children:"
      "})]})]})]})]}),o.jsx("h2",{children:"Inline elements example"}),o.jsxs("p",{children:["Risus sed vulputate odio ut enim blandit volutpat. ",o.jsx("em",{children:"Congue eu consequat"})," ac felis donec et. Arcu felis"," ",o.jsx("a",{href:"https://neilveil.github.io/mumpui",target:"_blank",rel:"noreferrer",children:"MumpUI"})," ","ut tristique et egestas.",o.jsx("mark",{children:"Senectus et netus et malesuada fames. Amet risus nullam eget felis."})," Est ullamcorper eget nulla facilisi ",o.jsx("del",{children:"etiam"})," dignissim. Sed felis eget velit aliquet. Morbi tincidunt ornare massa eget."]}),o.jsxs("p",{children:["Orci eu lobortis elementum nibh. Euismod lacinia at quis risus. ",o.jsx("b",{children:"Condimentum"})," lacinia quis vel eros donec."]}),o.jsxs("p",{children:["Pulvinar pellentesque habitant morbi tristique. Sapien ",o.jsx("i",{children:"pellentesque habitant"})," morbi tristique. Mi eget",o.jsx("code",{children:"mauris"})," pharetra et ",o.jsx("u",{children:"ultrices neque"})," ornare aenean euismod."]}),o.jsx("h2",{children:"Block elements example"}),o.jsx("h3",{children:"Headers"}),o.jsx("h1",{children:"H1"}),o.jsx("h2",{children:"H2"}),o.jsx("h3",{children:"H3"}),o.jsx("h4",{children:"H4"}),o.jsx("hr",{}),o.jsx("h3",{children:"List"}),o.jsx("h4",{children:"Ordered list"}),o.jsxs("ol",{children:[o.jsx("li",{children:"First item"}),o.jsx("li",{children:"Second item"}),o.jsx("li",{children:"Third item"})]}),o.jsx("h4",{children:"Unordered list"}),o.jsxs("ul",{children:[o.jsx("li",{children:"First item"}),o.jsx("li",{children:"Second item"}),o.jsx("li",{children:"Third item"})]}),o.jsx("h3",{children:"Table"}),o.jsxs("table",{children:[o.jsx("thead",{children:o.jsxs("tr",{children:[o.jsx("th",{children:"Syntax"}),o.jsx("th",{children:"Description"})]})}),o.jsxs("tbody",{children:[o.jsxs("tr",{children:[o.jsx("td",{children:"Header"}),o.jsx("td",{children:"Title"})]}),o.jsxs("tr",{children:[o.jsx("td",{children:"Paragraph"}),o.jsx("td",{children:"Text"})]})]})]}),o.jsx("h3",{children:"Divider"}),o.jsx("hr",{}),o.jsx("h3",{children:"Blockquote"}),o.jsx("blockquote",{children:o.jsx("p",{children:"This is an example of blockquote."})})]})})})}const Nv=` +const [color, setColor] = useState('#0A94FF') + +.. + + + setColor(value)} + style={{ maxWidth: '15rem' }} + /> + +`;function Iv(){const[e,t]=S.useState("#0A94FF");return o.jsxs(v,{name:"colorPicker",children:[o.jsx(v.Showcase,{code:Nv,children:o.jsx("div",{children:o.jsx(K,{label:"Select color",children:o.jsx(Jh,{placeholder:"Select color..",value:e,onValue:n=>t(n),style:{maxWidth:"15rem"}})})})}),o.jsxs(v.Info,{children:[o.jsx("b",{children:"MumpUI Color Picker"})," is designed in manner that it can be easily used in a form. It uses native input field for better user experience in mobile devices. It supports HSL, Hex & RGB input and a UI color picker tool."]}),o.jsx(v.Props,{title:"ColorPicker",type:"component",fields:[{name:"..",usage:"All div element props"},{name:"onValue",type:"function",usage:o.jsxs("span",{children:["Better alternative of ",o.jsx("code",{children:"onChange"})," listener ",o.jsx("code",{children:"(value) => void"}),". No need to do"," ",o.jsx("code",{children:"e.target.value"})]})}]})]})}const Pv=` + + + + + +`,Tv=` + + + + + + + +`;function Lv(){return o.jsxs(v,{name:"button",children:[o.jsx(v.Showcase,{title:"Default buttons",code:Pv,children:o.jsxs(Re,{children:[o.jsx(O,{children:"Default"}),o.jsx(O,{primary:!0,onClick:()=>{re.success("Clicked!")},children:"Primary"})]})}),o.jsx(v.Showcase,{title:"Customization",code:Tv,children:o.jsxs(Re,{children:[o.jsx(O,{className:"f-blue c-white",children:"Update"}),o.jsx(O,{className:"c-blue b-blue",children:"Edit"}),o.jsx(O,{className:"c-red d-red",children:"Delete"}),o.jsx(O,{className:"f-green c-white",children:o.jsx("span",{className:"icon",children:"brush"})}),o.jsx(O,{className:"b-transparent",children:"Clear"})]})}),o.jsxs(v.Info,{children:["Do not forget to install some icons pack like"," ",o.jsx("a",{href:"https://fonts.google.com/icons?icon.set=Material+Icons",target:"_blank",rel:"noreferrer",children:"Google Icons"})," ","(Free) ,"," ",o.jsx("a",{href:"https://fontawesome.com/search",target:"_blank",rel:"noreferrer",children:"Font Awesome"}),","," ",o.jsx("a",{href:"https://www.streamlinehq.com/icons",target:"_blank",rel:"noreferrer",children:"Stream Line"})," ","etc to use icons."]}),o.jsx(v.Info,{children:o.jsx(Ye,{to:"/docs/theme",children:"MumpUI Color classes usage →"})}),o.jsx(v.Props,{title:"Button",type:"component",fields:[{name:"..",usage:"All button element props"},{name:"primary",type:"boolean",usage:"To set the primary button"}]})]})}const Rv=` + +`,Fv=` +// Different seperator + + +// Customized seperator + + } +/> + +// Using chain as breadcrumb component + ( + + {x} + + ))} +/> +`;function Dv(){return o.jsxs(v,{name:"chain",children:[o.jsx(v.Showcase,{title:"Chain component",code:Rv,children:o.jsx(xr,{items:L.chain})}),o.jsxs(v.Showcase,{title:"Usage examples",code:Fv,children:[o.jsx(xr,{items:L.chain,seperator:"•"}),o.jsx(xr,{items:L.chain,seperator:o.jsx("div",{style:{width:".25rem",height:".25rem",backgroundColor:"var(--mp-c-font)",margin:"0 .25rem",borderRadius:"50%"}})}),o.jsx(xr,{items:L.chain.map(e=>o.jsx(Ye,{to:e,className:"c-blue",children:e},e))})]}),o.jsx(v.Props,{title:"Chain",type:"component",fields:[{name:"..",usage:"All div element props"},{name:"items",type:"array",usage:o.jsxs("span",{children:["Array of ",o.jsx("code",{children:"string"})," or ",o.jsx("code",{children:"jsx"})]})},{name:"seperator",type:"array",usage:o.jsxs("span",{children:["Array of ",o.jsx("code",{children:"string"})," or ",o.jsx("code",{children:"jsx"})]}),defaultValue:"/"}]})]})}const zv=` +const [active, setActive] = useState(false) + +.. + + setActive(value)} +/> +`,$v=` +const [value, setValue] = useState(['india']) + +.. + + setValue(value)} +/> + +.. + +const countries = ${JSON.stringify(L.countries,null,2)} +`,Av=` + setValue(value)} +/> + +.. + +const countries = ${JSON.stringify(L.countries,null,2)} +`;function Ov(){const[e,t]=S.useState(!1),[n,r]=S.useState(["india"]);return o.jsxs(v,{name:"checkbox",children:[o.jsx(v.Showcase,{title:"Single",code:zv,children:o.jsx(uc,{label:"Active",checked:e,onChange:i=>t(i)})}),o.jsx(v.Showcase,{title:"Multiple",code:$v,children:o.jsx(Xo,{checked:n,options:sd,onChange:i=>r(i)})}),o.jsx(v.Showcase,{title:"Evenly distributed",code:Av,children:o.jsx(Xo,{style:{display:"grid",gridTemplateColumns:"1fr 1fr"},checked:n,options:sd,onChange:i=>r(i)})}),o.jsx(v.Props,{title:"Checkbox",type:"component",fields:[{name:"..",usage:"All div element props"},{name:"label",type:"string"},{name:"checked",type:"boolean"},{name:"onChange",type:"function"},{name:"disabled",type:"boolean"}]}),o.jsx(v.Props,{title:"Checkboxes",type:"component",fields:[{name:"..",usage:"All div element props"},{name:"options",type:"array",usage:"Array of objects of key & label"},{name:"checked",type:"array",usage:"Array of selected options keys"},{name:"onChange",type:"function"},{name:"disabled",type:"boolean"}]})]})}const sd=[{key:"canada",label:"Canada"},{key:"denmark",label:"Denmark"},{key:"germany",label:"Germany"},{key:"india",label:"India"},{key:"japan",label:"Japan"},{key:"netherlands",label:"Netherlands"},{key:"sweden",label:"Sweden"},{key:"switzerland",label:"Switzerland"},{key:"united-kingdom",label:"United Kingdom"},{key:"united-states",label:"United States"}],Uv=` + + + .. + + + .. + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Button
      Default buttons
      copy
      code  Show code
      Customization
      copy
      code  Show code
      Do not forget to install some icons pack like Google Fonts (Free) , Font Awesome, Stream Line etc to use icons.
      Button component props
      NameTypeUsage
      ..All button element props
      primarybooleanTo set the primary button
      + + + + + \ No newline at end of file diff --git a/component/chain.html b/component/chain.html new file mode 100644 index 00000000..b96a5552 --- /dev/null +++ b/component/chain.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Chain + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Chain
      Chain component
      copy
      code  Show code
      Decors
      /
      Lamps
      /
      Table Lamp
      Usage examples
      copy
      code  Show code
      Decors
      Lamps
      Table Lamp
      Decors
      Lamps
      Table Lamp
      Chain component props
      NameTypeUsage
      ..All div element props
      itemsarrayArray of string or jsx
      seperatorarrayArray of string or jsx (Default: /)
      + + + + + \ No newline at end of file diff --git a/component/checkbox.html b/component/checkbox.html new file mode 100644 index 00000000..4ecec3e1 --- /dev/null +++ b/component/checkbox.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Checkbox + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Checkbox
      Single
      copy
      code  Show code
      Multiple
      copy
      code  Show code
      Evenly distributed
      copy
      code  Show code
      Checkbox component props
      NameTypeUsage
      ..All div element props
      labelstring
      checkedboolean
      onChangefunction
      disabledboolean
      Checkboxes component props
      NameTypeUsage
      ..All div element props
      optionsarrayArray of objects of key & label
      checkedarrayArray of selected options keys
      onChangefunction
      disabledboolean
      + + + + + \ No newline at end of file diff --git a/component/code.html b/component/code.html new file mode 100644 index 00000000..afa2747f --- /dev/null +++ b/component/code.html @@ -0,0 +1,34 @@ + + + + + + + + + MumpUI / Component / Code + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Code

      Add code snippets like below with PrismJS. Create your custom theme here & import the JS & CSS provided at the bottom of the page in the index.html file.

      Note: Only import languages that are actually used in your application as every language imported increases the size of the application.

      const snippet = `
      +function fun () {
      +  return (
      +    <div>Hello there!</div>
      +  )
      +}`
      +
      +<Code snippet={snippet} lang='jsx' />
      Code
      NameTypeUsage
      ..All div element props
      snippetstring
      langstringCheck all available languages here
      + + + + + \ No newline at end of file diff --git a/component/colorPicker.html b/component/colorPicker.html new file mode 100644 index 00000000..0dedb4d4 --- /dev/null +++ b/component/colorPicker.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Color Picker + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Color Picker
      copy
      code  Show code
      Select color
      MumpUI Color Picker is designed in manner that it can be easily used in a form. It uses native input field for better user experience in mobile devices. It supports HSL, Hex & RGB input and a UI color picker tool.
      ColorPicker component props
      NameTypeUsage
      ..All div element props
      onValuefunctionBetter alternative of onChange listener (value) => void. No need to do e.target.value
      + + + + + \ No newline at end of file diff --git a/component/confirm.html b/component/confirm.html new file mode 100644 index 00000000..146757b3 --- /dev/null +++ b/component/confirm.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Confirm + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Confirm
      Confirm modal before taking an action
      copy
      code  Show code
      Confirm types
      copy
      code  Show code
      Nested confirm
      copy
      code  Show code
      Confirm.init function arguments
      NameTypeUsage
      titlestring
      descriptionstring
      onConfirmfunction
      onCancelfunction
      confirmTextstringConfirm button text
      cancelTextstringCancel button text
      typestringsuccesserrorwarninfo
      Confirm.clear function arguments
      NameTypeUsage
      Empty
      Close all confirm modals
      + + + + + \ No newline at end of file diff --git a/component/dashboard.html b/component/dashboard.html new file mode 100644 index 00000000..9bbf2a56 --- /dev/null +++ b/component/dashboard.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Dashboard + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Dashboard
      copy
      code  Show code
      Data management examples
      copy
      code  Show code
      copy
      code  Show code
      Customizations
      copy
      code  Show code
      MumpUI dashboard has default max-width of 1366px which can be customized.
      Loader & placeholder
      copy
      code  Show code
      copy
      code  Show code
      Sidebar component props
      NameTypeUsage
      sidebarImgbooleanSidebar image
      sidebarItemsarraySidebar items list, check example above
      onSidebarClickfunctionSidebar item click callback
      sidebarAccessarrayArray of strings of sidebar keys to be visible
      sidebarClassNamestring
      sidebarStyleobject
      Header component props
      NameTypeUsage
      headerjsxHeader element
      titlestring
      iconjsx
      infostringExtra info after title
      onAddfunctionTo show add button in header
      headerSuffixjsx
      headerClassNamestring
      headerStyleobject
      Body component props
      NameTypeUsage
      loadingboolean
      emptyboolean
      searchstringSearch field value
      onSearchfunctionTo show search field
      filterjsxFilter element
      bodyClassNamestring
      bodyStyleobject
      Footer component props
      NameTypeUsage
      footerjsxFooter element
      onDeletefunctionTo show delete button
      onCreatefunctionTo show create button
      onUpdatefunctionTo show update button
      onCancelfunctionTo show cancel button
      footerClassNamestring
      footerStyleobject
      Pagination component props
      NameTypeUsage
      paginationPageSizenumber
      paginationTotalItemsnumber
      paginationOffsetnumber
      paginationOnChangefunction
      Usage similar to Pagination component.
      + + + + + \ No newline at end of file diff --git a/component/datetime.html b/component/datetime.html new file mode 100644 index 00000000..6ce10010 --- /dev/null +++ b/component/datetime.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Datetime + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Datetime
      copy
      code  Show code
      Date
      Month
      Time
      MumpUI uses default input field as using any 3rd party package always compromises with the user experience in mobile devices.
      Input component props
      NameTypeUsage
      ..All input element props
      onValuefunctionBetter alternative of onChange listener (value) => void. No need to do e.target.value
      + + + + + \ No newline at end of file diff --git a/component/divider.html b/component/divider.html new file mode 100644 index 00000000..3f82e84c --- /dev/null +++ b/component/divider.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Divider + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Divider
      copy
      code  Show code
      More
      More
      More
      Divider component props
      NameTypeUsage
      ..All div element props
      alignstringleftrightcenter
      + + + + + \ No newline at end of file diff --git a/component/field.html b/component/field.html new file mode 100644 index 00000000..a3e9429b --- /dev/null +++ b/component/field.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Field + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Field
      copy
      code  Show code
      Name
      Location
      Phone
      Mobile
      Email
      autoCol in the second row is set to true which means if rendered in a device with screen width less than or equal to 1080px i.e. mobile devices, then the elements inside will be rendered in a column.
      Field component props
      NameTypeUsage
      ..All div element props
      labelstring
      Fields component props
      NameTypeUsage
      ..All div element props
      autoColbooleanTo render elements inside in a column if screen width is less than colBreakPoint
      colBreakPointnumberTo change default break point used in autoCol (Default: 1080)
      To debug autoCol, do not forget to refresh after opening the developer tools in the browser.
      + + + + + \ No newline at end of file diff --git a/component/file.html b/component/file.html new file mode 100644 index 00000000..fad3e3ae --- /dev/null +++ b/component/file.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / File + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / File
      copy
      code  Show code
      Upload images
      File component props
      NameTypeUsage
      ..All input element props
      + + + + + \ No newline at end of file diff --git a/component/form.html b/component/form.html new file mode 100644 index 00000000..207c228b --- /dev/null +++ b/component/form.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Form + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Form
      Form components using Form, Fields & Field
      copy
      code  Show code
      Name
      Mobile
      Password
      Length
      Width
      Height
      Status
      Form component props
      NameTypeUsage
      ..All form element props
      cleanbooleanTurn off auto complete, auto correct, auto capitalize & spell check (Default: false)
      + + + + + \ No newline at end of file diff --git a/component/input.html b/component/input.html new file mode 100644 index 00000000..461ea624 --- /dev/null +++ b/component/input.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Input + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Input
      copy
      code  Show code
      Different input type fields
      copy
      code  Show code
      Text
      Mobile
      Email
      URL
      Number
      Password
      Setting the input field “type” auto-selects the suitable keyboard in mobile devices, improving user experience.
      Prefix & suffix
      copy
      code  Show code
      91
      visibility
      Input component props
      NameTypeUsage
      ..All input element props
      prefixstring
      onPrefixClickfunction
      suffixstring
      onSuffixClickfunction
      onValuefunctionBetter alternative of onChange listener (value) => void. No need to do e.target.value
      + + + + + \ No newline at end of file diff --git a/component/list.html b/component/list.html new file mode 100644 index 00000000..bc07e24a --- /dev/null +++ b/component/list.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / List + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / List
      Unordered list
      copy
      code  Show code
      • Lorem ipsum
      • dolor sit amet
        • consectetur adipiscing
        • sed do eiusmod tempor
          • ut labore et dolore
          • magna aliqua
      • Ut enim
      • ad minim veniam
      Ordered list
      copy
      code  Show code
      1. Lorem ipsum
      2. dolor sit amet
        1. consectetur adipiscing
        2. sed do eiusmod tempor
          1. ut labore et dolore
          2. magna aliqua
      3. Ut enim
      4. ad minim veniam
      List component props
      NameTypeUsage
      ..All ul & ol element props
      itemsarrayArray of string & string[]
      typestringul | ol (Default: ul)
      + + + + + \ No newline at end of file diff --git a/component/loader.html b/component/loader.html new file mode 100644 index 00000000..fc69e295 --- /dev/null +++ b/component/loader.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Loader + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Loader
      Kindly take note that the displayed component itself is a loader, rather than indicating that something is in the process of loading.
      copy
      code  Show code
      Loading..
      Custom text
      copy
      code  Show code
      Connecting..
      Empty
      copy
      code  Show code
      Loader component props
      NameTypeUsage
      ..All div element props
      emptyboolean (Default: false)
      + + + + + \ No newline at end of file diff --git a/component/menu.html b/component/menu.html new file mode 100644 index 00000000..ead97d9c --- /dev/null +++ b/component/menu.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Menu + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Menu
      copy
      code  Show code
      homeHome
      widgetsProducts
      settingsSettings
      Please note, icon are not packed with MumpUI.
      Menu component props
      NameTypeUsage
      ..All div element props
      activestring
      onClickfunction
      itemsarrayArray of menu item objects
      item object keys
      NameTypeUsage
      keystring
      labelstring
      iconjsx
      nextarrayArray of menu item object under this item
      onClick function arguments
      NameTypeUsage
      keystringClicked tab key
      + + + + + \ No newline at end of file diff --git a/component/message.html b/component/message.html new file mode 100644 index 00000000..d71dbfdc --- /dev/null +++ b/component/message.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Message + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Message
      Success, Info, Warn & Error message
      copy
      code  Show code
      Loading message
      copy
      code  Show code
      Clear particular message for custom sequence
      copy
      code  Show code
      Message.success(text, duration) function arguments
      NameTypeUsage
      textstringMessage text
      durationnumberDuration in milliseconds
      Same as above forMessage.info | Message.warn | Message.error
      Message.clear(message) function arguments
      NameTypeUsage
      messagesymbolClear selected message if message argument provided else clear all messages
      + + + + + \ No newline at end of file diff --git a/component/modal.html b/component/modal.html new file mode 100644 index 00000000..8ba03341 --- /dev/null +++ b/component/modal.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Modal + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Modal
      copy
      code  Show code
      Modal component props
      NameTypeUsage
      ..All div element props
      visiblebooleanTo set the modal visibility
      onClosefunctionTo close modal on background click
      + + + + + \ No newline at end of file diff --git a/component/multiSelect.html b/component/multiSelect.html new file mode 100644 index 00000000..e1c8ab90 --- /dev/null +++ b/component/multiSelect.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / MultiSelect + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / MultiSelect
      copy
      code  Show code
      Multi-Select
      India
      Multi-Select component with search or clear only
      copy
      code  Show code
      Multi-Select with search & clear
      India
      Select.Multi component props
      NameTypeUsage
      ..All div element props
      optionsarrayArray of option objects containing key & label
      valuearrayArray of selected option objects containing key & label
      onChangefunction
      placeholderstring
      onSearchfunctionShows search box only if search function is passed
      clearableboolean
      disabledboolean
      Select.search function arguments
      NameTypeUsage
      searchstringSearched text
      optionsarraySelect input field options
      caseSensitiveboolean (Default: false)
      A basic text based Search method is provied with Select component. For calling API or any other functionality, search method need to be implemented.
      + + + + + \ No newline at end of file diff --git a/component/note.html b/component/note.html new file mode 100644 index 00000000..2422bad2 --- /dev/null +++ b/component/note.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Note + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Note
      copy
      code  Show code
      Default note!
      Red note!
      Blue note!
      Green note!
      Yellow note!
      Quote!
      Note component props
      NameTypeUsage
      ..All div element props
      typestringredbluegreenyellowquote
      + + + + + \ No newline at end of file diff --git a/component/pagination.html b/component/pagination.html new file mode 100644 index 00000000..67549cc0 --- /dev/null +++ b/component/pagination.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Pagination + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Pagination
      copy
      code  Show code
      /
      96
      Pagination component props
      NameTypeUsage
      ..All div element props
      pageSizenumberNumber of items on the page
      totalItemsnumberTotal number of items
      offsetnumberNumber of items to be skipped
      onChangefunctionTo update the offset
      disabledbooleanUseful when pulling the data through API
      onChange function arguments
      NameTypeUsage
      offsetnumberNumber of items to be skipped
      + + + + + \ No newline at end of file diff --git a/component/placeholder.html b/component/placeholder.html new file mode 100644 index 00000000..cd9c9a62 --- /dev/null +++ b/component/placeholder.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Placeholder + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Placeholder
      Default placeholder
      copy
      code  Show code
      No data!
      Custom text
      copy
      code  Show code
      No data yet!
      Empty
      copy
      code  Show code
      Placeholder component props
      NameTypeUsage
      ..All div element props
      emptyboolean (Default: false)
      + + + + + \ No newline at end of file diff --git a/component/radio.html b/component/radio.html new file mode 100644 index 00000000..2352019e --- /dev/null +++ b/component/radio.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Radio + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Radio
      copy
      code  Show code
      Evenly distributed
      copy
      code  Show code
      Radio component props
      NameTypeUsage
      optionsarrayArray of objects of key & label
      checkedstringSelected option key
      onChangefunction
      disabledboolean
      + + + + + \ No newline at end of file diff --git a/component/range.html b/component/range.html new file mode 100644 index 00000000..fe49a3f8 --- /dev/null +++ b/component/range.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Range + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Range
      copy
      code  Show code
      Range (10)
      Range component props
      NameTypeUsage
      ..All input element props
      + + + + + \ No newline at end of file diff --git a/component/search.html b/component/search.html new file mode 100644 index 00000000..33fe73b9 --- /dev/null +++ b/component/search.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Search + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Search
      copy
      code  Show code
      Search component props
      NameTypeUsage
      ..All div element props
      valuestringSearch field value
      onChangefunctionCalled when when something is typed
      onClickfunctionCalled on search field click
      placeholderstring
      closeOnClickboolean
      disabledboolean
      + + + + + \ No newline at end of file diff --git a/component/select.html b/component/select.html new file mode 100644 index 00000000..5e5ec129 --- /dev/null +++ b/component/select.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Select + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Select
      copy
      code  Show code
      Select
      India
      Select component with search or clear only
      copy
      code  Show code
      Select with search & clear
      India
      ⭐ Native select component
      copy
      code  Show code
      Native Select
      Native select component is better for mobile devices as it open a native modal for selection.
      Select component props
      NameTypeUsage
      ..All div element props
      optionsarrayArray of option objects containing key & label
      valueobjectObject of key & label
      onChangefunction
      placeholderstring
      onSearchfunctionShows search box only if search function is passed
      clearableboolean
      disabledboolean
      valueHOCfunctionSelected value HOC to customize selected option
      optionHOCfunctionOption HOC to customize option in list
      Select.Native component props
      NameTypeUsage
      ..All input element props
      optionsarrayArray of option objects containing key & label
      valuestringSelected option key
      onChangefunction
      disabledboolean
      Select.search function arguments
      NameTypeUsage
      searchstringSearched text
      optionsarraySelect input field options
      caseSensitiveboolean (Default: false)
      A basic text based Search method is provied with Select component. For calling API or any other functionality, search method need to be implemented.
      + + + + + \ No newline at end of file diff --git a/component/table.html b/component/table.html new file mode 100644 index 00000000..1d569ff7 --- /dev/null +++ b/component/table.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Table + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Table
      copy
      code  Show code
      #IDNameSalary
      124Saige Fuentes$1000
      225Bowen Higgins$2000
      331Leighton Kramer$3000
      446Kylan Gentry$4000
      557Amelie Griffith$2000
      Table component props
      NameTypeUsage
      ..All table element props
      colsarrayColumns config
      dataarrayTable data
      Col object keys
      NameTypeUsage
      namestringColumn name
      keystringTable data object's key to be rendered
      widthnumberColument width
      alignstringleft | center | right
      renderfunctionCustomer renderer
      Col.render function arguments
      NameTypeUsage
      valueRow data object's key value
      dataobjectRow data object
      indexarray[$row, $col]
      + + + + + \ No newline at end of file diff --git a/component/tabs.html b/component/tabs.html new file mode 100644 index 00000000..e78724d3 --- /dev/null +++ b/component/tabs.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Tabs + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Tabs
      copy
      code  Show code
      Apple
      Banana
      Orange
      Grape
      Strawberry
      Kiwi
      Mango
      Pear
      Cherry
      Pineapple
      Plum
      Blueberry
      Tab component props
      NameTypeUsage
      ..All div element props
      itemsarrayArray of items
      activestringActive tab key
      onClickfunctionTo set active tab
      item object keys
      NameTypeUsage
      keystringUnique string key
      labelstringTab label to show
      onClick function arguments
      NameTypeUsage
      keystringClicked tab key
      + + + + + \ No newline at end of file diff --git a/component/textarea.html b/component/textarea.html new file mode 100644 index 00000000..21236f3f --- /dev/null +++ b/component/textarea.html @@ -0,0 +1,31 @@ + + + + + + + + + MumpUI / Component / Textarea + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Textarea
      copy
      code  Show code
      Textarea
      Textarea with auto height
      Textarea component props
      NameTypeUsage
      ..All textarea element props
      autoHeightbooleanTo automatically increase height with content
      + + + + + \ No newline at end of file diff --git a/component/tooltip.html b/component/tooltip.html new file mode 100644 index 00000000..9f6d1443 --- /dev/null +++ b/component/tooltip.html @@ -0,0 +1,27 @@ + + + + + + + + + MumpUI / Component / Tooltip + + + + + + + + + + + + +
      west Back
      home Home
      light_mode
      MumpUI / Component / Tooltip
      copy
      code  Show code
      Left
      Left tooltip
      Top
      Top tooltip
      Bottom
      Bottom tooltip
      Right
      Right tooltip
      Custom delay
      copy
      code  Show code
      0
      No delay tooltip
      2000
      2 seconds wait tooltip
      Tooltip component props
      NameTypeUsage
      ..All div element props
      labelstringTooltip text
      positionstringtoprightbottomleft (Default: top)
      delaynumberTooltip delay in milliseconds (Default: 300)
      + + + + + \ No newline at end of file diff --git a/content.md b/content.md new file mode 100644 index 00000000..f3befbcf --- /dev/null +++ b/content.md @@ -0,0 +1,69 @@ +# Extended Markdown + +## Image & Caption + +![](https://images.unsplash.com/photo-1472214103451-9374bd1c798e?w=1000&q=80) + +
      Risus sed vulputate odio ut enim blandit volutpat. Risus sed vulputate odio ut enim blandit volutpat.
      + +## Slider + +### Default + +
      + + +
      + +### x2 + +
      + + + + +
      + +### x3 + +
      + + + + + +
      + +### x4 + +
      + + + + + + +
      + +## Youtube video integration + + + +## Break + +
      *****
      + +## Code block + +```jsx +export default function Main() { + return
      Hello there!
      +} +``` + + diff --git a/docs/button.html b/docs/button.html new file mode 100644 index 00000000..7d85ea19 --- /dev/null +++ b/docs/button.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Button + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Button
      Default buttons
      copy
      code  Show code
      Customization
      copy
      code  Show code

      Do not forget to install some icons pack like Google Icons (Free) , Font Awesome, Stream Line etc to use icons.

      MumpUI Color classes usage →

      Button component props
      NameTypeUsage
      ..All button element props
      primarybooleanTo set the primary button
      + + + + + + + + + \ No newline at end of file diff --git a/docs/chain.html b/docs/chain.html new file mode 100644 index 00000000..2828097b --- /dev/null +++ b/docs/chain.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Chain + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Chain
      Chain component
      copy
      code  Show code
      Decors
      /
      Lamps
      /
      Table Lamp
      Usage examples
      copy
      code  Show code
      Decors
      Lamps
      Table Lamp
      Decors
      Lamps
      Table Lamp
      Chain component props
      NameTypeUsage
      ..All div element props
      itemsarrayArray of string or jsx
      seperatorarrayArray of string or jsx (Default: /)
      + + + + + + + + + \ No newline at end of file diff --git a/docs/checkbox.html b/docs/checkbox.html new file mode 100644 index 00000000..a4574827 --- /dev/null +++ b/docs/checkbox.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Checkbox + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Checkbox
      Single
      copy
      code  Show code
      Multiple
      copy
      code  Show code
      Evenly distributed
      copy
      code  Show code
      Checkbox component props
      NameTypeUsage
      ..All div element props
      labelstring
      checkedboolean
      onChangefunction
      disabledboolean
      Checkboxes component props
      NameTypeUsage
      ..All div element props
      optionsarrayArray of objects of key & label
      checkedarrayArray of selected options keys
      onChangefunction
      disabledboolean
      + + + + + + + + + \ No newline at end of file diff --git a/docs/code.html b/docs/code.html new file mode 100644 index 00000000..6c16f4dd --- /dev/null +++ b/docs/code.html @@ -0,0 +1,52 @@ + + + + + + + + + MumpUI / Component / Code + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Code

      Add code snippets like below with PrismJS. Selected the required languages from here and import the JS as shown below, provided at the bottom of the setup page.

      <html>
      +  <head>
      +    ..
      +  </head>
      +  <body>
      +    ..
      +    <script src="/prism.js" data-manual></script>
      +  </body>
      +</html>

      Import code styling from MumpUI

      import 'mumpui/dist/styles/code.css'

      Usage example

      const snippet = `
      +function fun () {
      +  return (
      +    <div>Hello there!</div>
      +  )
      +}`
      +
      +<Code snippet={snippet} lang='jsx' />

      Note

      • Do not import the CSS provided by PrismJS as styling is already setup in MumpUI.
      • Only import PrismJS languages that are actually used in your application as every language imported increases the build size.

      Code component props
      NameTypeUsage
      ..All div element props
      snippetstringCode to be rendered
      langstringCheck all available languages here
      + + + + + + + + + \ No newline at end of file diff --git a/docs/colorPicker.html b/docs/colorPicker.html new file mode 100644 index 00000000..baa6d6b5 --- /dev/null +++ b/docs/colorPicker.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Color Picker + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Color Picker
      copy
      code  Show code
      Select color

      MumpUI Color Picker is designed in manner that it can be easily used in a form. It uses native input field for better user experience in mobile devices. It supports HSL, Hex & RGB input and a UI color picker tool.

      ColorPicker component props
      NameTypeUsage
      ..All div element props
      onValuefunctionBetter alternative of onChange listener (value) => void. No need to do e.target.value
      + + + + + + + + + \ No newline at end of file diff --git a/docs/confirm.html b/docs/confirm.html new file mode 100644 index 00000000..dbfc86b3 --- /dev/null +++ b/docs/confirm.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Confirm + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Confirm
      Confirm modal before taking an action
      copy
      code  Show code
      Confirm types
      copy
      code  Show code
      Nested confirm
      copy
      code  Show code
      This component does not work if MumpUI is not initialized at the top of the project.
      MumpUI Setup →
      Confirm.init function arguments
      NameTypeUsage
      titlestring
      descriptionstring
      onConfirmfunction
      onCancelfunction
      confirmTextstringConfirm button text
      cancelTextstringCancel button text
      typestringsuccesserrorwarninfo
      Confirm.clear function arguments
      NameUsage
      Empty

      Close all confirm modals

      + + + + + + + + + \ No newline at end of file diff --git a/docs/dashboard.html b/docs/dashboard.html new file mode 100644 index 00000000..cecf8b95 --- /dev/null +++ b/docs/dashboard.html @@ -0,0 +1,42 @@ + + + + + + + + + MumpUI / Component / Dashboard + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Dashboard
      copy
      code  Show code

      Data management examples

      copy
      code  Show code
      copy
      code  Show code

      Customizations

      copy
      code  Show code
      copy
      code  Show code

      MumpUI dashboard has default max-width of 1366px which can be customized.

      Loader & placeholder

      copy
      code  Show code
      copy
      code  Show code
      Sidebar component props
      NameTypeUsage
      sidebarjsxSidebar element
      Header component props
      NameTypeUsage
      headerjsxHeader element
      titlestring
      iconjsx
      infostringExtra info after title
      onAddfunctionTo show add button in header
      headerSuffixjsx
      headerClassNamestring
      headerStyleobject
      Body component props
      NameTypeUsage
      loadingboolean
      emptyboolean
      searchstringSearch field value
      onSearchfunctionTo show search field
      filterjsxFilter element
      bodyClassNamestring
      bodyStyleobject
      Footer component props
      NameTypeUsage
      footerjsxFooter element
      onDeletefunctionTo show delete button
      onCreatefunctionTo show create button
      onUpdatefunctionTo show update button
      onCancelfunctionTo show cancel button
      footerClassNamestring
      footerStyleobject
      Dashboard component global configuration
      copy
      <MumpUI
      +  dashboard={{
      +    // Use a common sidebar on all dashboard pages
      +    sidebar: {<div> .. </div>}
      +  }}
      +/>

      + + + + + + + + + \ No newline at end of file diff --git a/docs/datetime.html b/docs/datetime.html new file mode 100644 index 00000000..0596d0a7 --- /dev/null +++ b/docs/datetime.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Datetime + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Datetime
      copy
      code  Show code
      Date
      Month
      Time

      MumpUI uses default input field as using any 3rd party package always compromises with the user experience in mobile devices.

      Input component props
      NameTypeUsage
      ..All input element props
      onValuefunctionBetter alternative of onChange listener (value) => void. No need to do e.target.value
      + + + + + + + + + \ No newline at end of file diff --git a/docs/divider.html b/docs/divider.html new file mode 100644 index 00000000..b26fc9d2 --- /dev/null +++ b/docs/divider.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Divider + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Divider
      copy
      code  Show code
      More
      More
      More
      Divider component props
      NameTypeUsage
      ..All div element props
      alignstringleftrightcenter
      + + + + + + + + + \ No newline at end of file diff --git a/docs/field.html b/docs/field.html new file mode 100644 index 00000000..5dc5020c --- /dev/null +++ b/docs/field.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Field + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Field
      copy
      code  Show code
      Name
      Location
      Phone
      Mobile
      Email

      autoCol in the second row is set to true which means if rendered in a device with screen width less than or equal to 1080px i.e. mobile devices, then the elements inside will be rendered in a column.

      Field component props
      NameTypeUsage
      ..All div element props
      labelstring
      Fields component props
      NameTypeUsage
      ..All div element props
      autoColbooleanTo render elements inside in a column if screen width is less than colBreakPoint
      colBreakPointnumberTo change default break point used in autoCol (Default: 1080)

      To debug autoCol, do not forget to refresh after opening the developer tools in the browser.

      + + + + + + + + + \ No newline at end of file diff --git a/docs/file.html b/docs/file.html new file mode 100644 index 00000000..80a9efd1 --- /dev/null +++ b/docs/file.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / File + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / File
      copy
      code  Show code
      Upload images
      File component props
      NameUsage
      ..All input element props
      + + + + + + + + + \ No newline at end of file diff --git a/docs/form.html b/docs/form.html new file mode 100644 index 00000000..fce8ddef --- /dev/null +++ b/docs/form.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Form + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Form
      Form components using Form, Fields & Field
      copy
      code  Show code
      Name
      Mobile
      Password
      Length
      Width
      Height
      Status
      Form component props
      NameTypeUsage
      ..All form element props
      cleanbooleanTurn off auto complete, auto correct, auto capitalize & spell check (Default: true)
      + + + + + + + + + \ No newline at end of file diff --git a/docs/input.html b/docs/input.html new file mode 100644 index 00000000..135e5b0b --- /dev/null +++ b/docs/input.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Input + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Input
      copy
      code  Show code
      copy
      code  Show code
      Different input type fields
      copy
      code  Show code
      Text
      Mobile
      Email
      URL
      Number
      Password

      Setting the input field “type” auto-selects the suitable keyboard in mobile devices, improving user experience.

      Prefix & suffix
      copy
      code  Show code
      91
      visibility
      Input component props
      NameTypeUsage
      ..All input element props
      prefixstring
      onPrefixClickfunction
      suffixstring
      onSuffixClickfunction
      onValuefunctionBetter alternative of onChange listener (value) => void. No need to do e.target.value
      maxLengthnumberMaximum characters allowed
      parentClassNamestringTo add class on wrapper div
      parentStyleobjectTo add styling on wrapper div
      + + + + + + + + + \ No newline at end of file diff --git a/docs/list.html b/docs/list.html new file mode 100644 index 00000000..a3065654 --- /dev/null +++ b/docs/list.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / List + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / List
      Unordered list
      copy
      code  Show code
      • Lorem ipsum
      • dolor sit amet
        • consectetur adipiscing
        • sed do eiusmod tempor
          • ut labore et dolore
          • magna aliqua
      • Ut enim
      • ad minim veniam
      Ordered list
      copy
      code  Show code
      1. Lorem ipsum
      2. dolor sit amet
        1. consectetur adipiscing
        2. sed do eiusmod tempor
          1. ut labore et dolore
          2. magna aliqua
      3. Ut enim
      4. ad minim veniam
      List component props
      NameTypeUsage
      ..All ul & ol element props
      itemsarrayArray of string & string[]
      typestringul | ol (Default: ul)
      + + + + + + + + + \ No newline at end of file diff --git a/docs/loader.html b/docs/loader.html new file mode 100644 index 00000000..dc8224f7 --- /dev/null +++ b/docs/loader.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Loader + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Loader
      Kindly take note that the displayed component itself is a loader, rather than indicating that something is in the process of loading.
      copy
      code  Show code
      Loading..
      Custom text
      copy
      code  Show code
      Connecting..
      Empty
      copy
      code  Show code
      Loader component props
      NameTypeUsage
      ..All div element props
      emptyboolean (Default: false)
      + + + + + + + + + \ No newline at end of file diff --git a/docs/md.html b/docs/md.html new file mode 100644 index 00000000..1dac918c --- /dev/null +++ b/docs/md.html @@ -0,0 +1,49 @@ + + + + + + + + + MumpUI / Component / Markdown + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Markdown
      Render markdown as HTML
      copy
      code  Show code

      Title

      +

      Hello there! +

      Markdown component props
      NameUsage
      ..All div element props
      Fetch markdown file
      copy
      const md = await MD.fetch('/typography.md')
      Add JSON meta data in markdown content
      copy
      ```
      +{
      +  "name": "markdown"
      +}
      +```
      +
      +<!-- meta-break -->
      +
      +# Title
      +
      +Hello there!
      Parse content & meta data from a markdown content
      copy
      const { meta, content } = MD.parse(md)
      + + + + + + + + + \ No newline at end of file diff --git a/docs/menu.html b/docs/menu.html new file mode 100644 index 00000000..faf0b4ba --- /dev/null +++ b/docs/menu.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Menu + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Menu
      Menu usage for selection
      copy
      code  Show code
      homeHome
      widgetsProducts
      settingsSettings

      Please note, icon are not packed with MumpUI.

      Menu usage for navigation
      copy
      code  Show code
      Menu component props
      NameTypeUsage
      ..All div element props
      activestring
      onChangefunction
      itemsarrayArray of menu item objects
      basePathstringApplication base path which is also set in the router
      item object keys
      NameTypeUsage
      keystring
      labelstring
      pathstringNavigate to path on click
      iconjsx
      nextarrayArray of menu item object under this item
      + + + + + + + + + \ No newline at end of file diff --git a/docs/message.html b/docs/message.html new file mode 100644 index 00000000..fa0086aa --- /dev/null +++ b/docs/message.html @@ -0,0 +1,39 @@ + + + + + + + + + MumpUI / Component / Message + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Message
      Success, Info, Warn & Error message
      copy
      code  Show code
      Loading message
      copy
      code  Show code
      Clear particular message for custom sequence
      copy
      code  Show code
      This component does not work if MumpUI is not initialized at the top of the project.
      MumpUI Setup →
      Message.success function arguments
      NameTypeUsage
      textstringMessage text
      durationnumberDuration in milliseconds
      Same as above forMessage.info | Message.warn | Message.error
      Message.clear function arguments
      NameTypeUsage
      messagesymbolClear selected message if message argument provided else clear all messages
      Update default duration & max messages count
      copy
      // Default duration: 3000ms
      +// Default max count: 3
      +<MumpUI message={{ duration: 2000, max: 1 }} />

      + + + + + + + + + \ No newline at end of file diff --git a/docs/modal.html b/docs/modal.html new file mode 100644 index 00000000..ed1097c9 --- /dev/null +++ b/docs/modal.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Modal + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Modal
      copy
      code  Show code
      Modal component props
      NameTypeUsage
      ..All div element props
      titlejsxModal title
      buttonsjsxModal action buttons
      visiblebooleanTo set the modal visibility
      onClosefunctionTo close modal on background click
      widthstringTo change modal width (Default: 600px)
      noScrollbarbooleanHide scrollbar on scrollable modals (Default: false)
      noCrossbooleanHide cross icon from modal header (Default: false)
      + + + + + + + + + \ No newline at end of file diff --git a/docs/multiSelect.html b/docs/multiSelect.html new file mode 100644 index 00000000..68f58469 --- /dev/null +++ b/docs/multiSelect.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / MultiSelect + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / MultiSelect
      copy
      code  Show code
      Multi-Select
      India
      Multi-Select with search
      India
      Multi-Select with clear
      India
      Multi-Select with search & clear
      India
      Select.Multi component props
      NameTypeUsage
      ..All div element props
      optionsarrayArray of option objects containing key & label
      valuearrayArray of selected option objects containing key & label
      onChangefunction
      placeholderstring
      simpleSearchfunctionShow search box in dropdown
      onSearchfunctionFor advanced search implementation
      clearableboolean
      disabledboolean

      A basic text based Search method is provied with Select component. For calling API or any other functionality, search method need to be implemented with onSearch.

      + + + + + + + + + \ No newline at end of file diff --git a/docs/note.html b/docs/note.html new file mode 100644 index 00000000..3fb61c26 --- /dev/null +++ b/docs/note.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Note + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Note
      copy
      code  Show code
      Default note!
      Red note!
      Blue note!
      Green note!
      Yellow note!
      Quote!
      Note component props
      NameTypeUsage
      ..All div element props
      typestringredbluegreenyellowquote
      + + + + + + + + + \ No newline at end of file diff --git a/docs/pagination.html b/docs/pagination.html new file mode 100644 index 00000000..b5d6f458 --- /dev/null +++ b/docs/pagination.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Pagination + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Pagination
      copy
      code  Show code
      /
      96
      Pagination component props
      NameTypeUsage
      ..All div element props
      pageSizenumberNumber of items on the page
      totalItemsnumberTotal number of items
      offsetnumberNumber of items to be skipped
      onChangefunctionTo update the offset
      disabledbooleanUseful when pulling the data through API
      onChange function arguments
      NameTypeUsage
      offsetnumberNumber of items to be skipped
      + + + + + + + + + \ No newline at end of file diff --git a/docs/placeholder.html b/docs/placeholder.html new file mode 100644 index 00000000..226fd7c7 --- /dev/null +++ b/docs/placeholder.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Placeholder + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Placeholder
      Default placeholder
      copy
      code  Show code
      No data!
      Custom text
      copy
      code  Show code
      No data yet!
      Empty
      copy
      code  Show code
      Placeholder component props
      NameTypeUsage
      ..All div element props
      emptyboolean (Default: false)
      + + + + + + + + + \ No newline at end of file diff --git a/docs/radio.html b/docs/radio.html new file mode 100644 index 00000000..cd273106 --- /dev/null +++ b/docs/radio.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Radio + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Radio
      copy
      code  Show code
      Evenly distributed
      copy
      code  Show code
      Radio component props
      NameTypeUsage
      optionsarrayArray of objects of key & label
      checkedstringSelected option key
      onChangefunction
      disabledboolean
      + + + + + + + + + \ No newline at end of file diff --git a/docs/range.html b/docs/range.html new file mode 100644 index 00000000..0c7289fe --- /dev/null +++ b/docs/range.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Range + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Range
      copy
      code  Show code
      Range (10)
      Range component props
      NameUsage
      ..All input element props
      + + + + + + + + + \ No newline at end of file diff --git a/docs/search.html b/docs/search.html new file mode 100644 index 00000000..65dbd2d0 --- /dev/null +++ b/docs/search.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Search + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Search
      copy
      code  Show code
      Search component props
      NameTypeUsage
      ..All div element props
      valuestringSearch field value
      onChangefunctionCalled when when something is typed
      onClickfunctionCalled on search field click
      placeholderstring
      closeOnClickboolean
      disabledboolean
      + + + + + + + + + \ No newline at end of file diff --git a/docs/select.html b/docs/select.html new file mode 100644 index 00000000..d5fa65e4 --- /dev/null +++ b/docs/select.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Select + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Select
      copy
      code  Show code
      Select
      India
      Select with search
      India
      Select with clear
      India
      Select with search & clear
      India
      ⭐ Native select component
      copy
      code  Show code
      Native Select

      Native select component is better for mobile devices as it open a native modal for selection.

      Select component props
      NameTypeUsage
      ..All div element props
      optionsarrayArray of option objects containing key & label
      valueobjectObject of key & label
      onChangefunction
      placeholderstring
      simpleSearchfunctionShow search box in dropdown
      onSearchfunctionFor advanced search implementation
      clearableboolean
      disabledboolean
      valueHOCfunctionSelected value HOC to customize selected option
      optionHOCfunctionOption HOC to customize option in list
      Select.Native component props
      NameTypeUsage
      ..All input element props
      optionsarrayArray of option objects containing key & label
      valuestringSelected option key
      onChangefunction
      disabledboolean

      A basic text based Search method is provied with Select component. For calling API or any other functionality, search method need to be implemented with onSearch.

      + + + + + + + + + \ No newline at end of file diff --git a/docs/table.html b/docs/table.html new file mode 100644 index 00000000..8ebd1999 --- /dev/null +++ b/docs/table.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Table + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Table
      copy
      code  Show code
      #IDNameSalary
      124Saige Fuentes$1000
      225Bowen Higgins$2000
      331Leighton Kramer$3000
      446Kylan Gentry$4000
      557Amelie Griffith$2000
      Table component props
      NameTypeUsage
      ..All table element props
      colsarrayColumns config
      dataarrayTable data
      noHeaderbooleanDo not show table header row
      Col object keys
      NameTypeUsage
      namestringColumn name
      keystringTable data object's key to be rendered
      widthnumberColument width
      alignstringleft | center | right
      renderfunctionCustomer renderer
      Col.render function arguments
      NameTypeUsage
      valueRow data object's key value
      dataobjectRow data object
      indexarray[$row, $col]
      + + + + + + + + + \ No newline at end of file diff --git a/docs/tabs.html b/docs/tabs.html new file mode 100644 index 00000000..cade09fe --- /dev/null +++ b/docs/tabs.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Component / Tabs + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Tabs
      copy
      code  Show code
      Apple
      Banana
      Orange
      Grape
      Strawberry
      Kiwi
      Mango
      Pear
      Cherry
      Pineapple
      Plum
      Blueberry
      Tab component props
      NameTypeUsage
      ..All div element props
      itemsarrayArray of items
      activestringActive tab key
      onChangefunctionTo set active tab
      item object keys
      NameTypeUsage
      keystringUnique string key
      labelstringTab label to show
      + + + + + + + + + \ No newline at end of file diff --git a/docs/textarea.html b/docs/textarea.html new file mode 100644 index 00000000..83c60ab2 --- /dev/null +++ b/docs/textarea.html @@ -0,0 +1,43 @@ + + + + + + + + + MumpUI / Component / Textarea + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Textarea
      copy
      code  Show code
      Textarea
      Textarea with auto height
      copy
      code  Show code
      Textarea
      Textarea component props
      NameTypeUsage
      ..All textarea element props
      autoHeightbooleanTo automatically increase height with content
      maxLengthnumberMaximum characters allowed
      parentClassNamestringTo add class on wrapper div
      parentStyleobjectTo add styling on wrapper div
      + + + + + + + + + \ No newline at end of file diff --git a/docs/tooltip.html b/docs/tooltip.html new file mode 100644 index 00000000..4c639f30 --- /dev/null +++ b/docs/tooltip.html @@ -0,0 +1,38 @@ + + + + + + + + + MumpUI / Component / Tooltip + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Component / Tooltip
      copy
      code  Show code
      Left
      Left tooltip
      Top
      Top tooltip
      Bottom
      Bottom tooltip
      Right
      Right tooltip
      Custom delay
      copy
      code  Show code
      0
      No delay tooltip
      2000
      2 seconds wait tooltip
      Tooltip component props
      NameTypeUsage
      ..All div element props
      labelstringTooltip text
      positionstringtoprightbottomleft (Default: top)
      delaynumberTooltip delay in milliseconds (Default: 300)
      Update default tooltip delay
      copy
      // Default 300
      +<MumpUI message={{ delay: 500 }} />

      + + + + + + + + + \ No newline at end of file diff --git a/extended-md.md b/extended-md.md new file mode 100644 index 00000000..f3befbcf --- /dev/null +++ b/extended-md.md @@ -0,0 +1,69 @@ +# Extended Markdown + +## Image & Caption + +![](https://images.unsplash.com/photo-1472214103451-9374bd1c798e?w=1000&q=80) + +
      Risus sed vulputate odio ut enim blandit volutpat. Risus sed vulputate odio ut enim blandit volutpat.
      + +## Slider + +### Default + +
      + + +
      + +### x2 + +
      + + + + +
      + +### x3 + +
      + + + + + +
      + +### x4 + +
      + + + + + + +
      + +## Youtube video integration + + + +## Break + +
      *****
      + +## Code block + +```jsx +export default function Main() { + return
      Hello there!
      +} +``` + + diff --git a/github.png b/github.png new file mode 100644 index 00000000..50b81752 Binary files /dev/null and b/github.png differ diff --git a/index.html b/index.html new file mode 100644 index 00000000..7c4906fc --- /dev/null +++ b/index.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI - A light-weight Flexible & Elegant Design System for Developers + + + + + + + + + + + +
      Welcome to
      MumpUI 1.6.2

      A light-weight flexible & elegant
      design system for developers.

      /
      expand_more
      Input14 components
      expand_more
      Username
      Passowrd
      Formeast
      Checkboxeast
      Radioeast
      Buttoneast
      Upload images
      Fileeast
      Display8 components
      expand_more
      • Lorem ipsum
      • dolor sit amet
        • consectetur adipiscing
        • sed do eiusmod tempor
          • ut labore et dolore
          • magna aliqua
      • Ut enim
      • ad minim veniam
      Listeast
      #IDNameSalary
      124Saige Fuentes$1000
      225Bowen Higgins$2000
      331Leighton Kramer$3000
      Tableeast
      Loading..
      Loadereast
      Home
      /
      Products
      /
      Price
      Chaineast
      Hover
      Hello there!
      Tooltipeast
      Feedback4 components
      expand_more
      Hello there!
      Noteeast
      Navigation4 components
      expand_more
      Apple
      Banana
      Orange
      Grape
      Strawberry
      Kiwi
      Mango
      Pear
      Cherry
      Pineapple
      Plum
      Blueberry
      Tabseast
      homeHome
      widgetsProducts
      settingsSettings
      Menueast
      Advanced5 components
      expand_more

      Typography

      Typographyeast
      # Header
      Markdowneast
      import react from 'react'
      Codeeast
      + + + + + + + + + \ No newline at end of file diff --git a/logo.png b/logo.png new file mode 100644 index 00000000..46aa8e61 Binary files /dev/null and b/logo.png differ diff --git a/manifest.json b/manifest.json new file mode 100644 index 00000000..863dd3c9 --- /dev/null +++ b/manifest.json @@ -0,0 +1,17 @@ +{ + "short_name": "MumpUI", + "name": "MumpUI", + "icons": [ + { + "src": "/mumpui/logo.png", + "sizes": "48x48 72x72 96x96 128x128 144x144 168x168 192x192 256x256 512x512", + "type": "image/png", + "purpose": "any maskable" + } + ], + "start_url": "/", + "display": "standalone", + "theme_color": "#000000", + "orientation": "portrait", + "background_color": "#ffffff" +} diff --git a/prism.css b/prism.css new file mode 100644 index 00000000..09e78ba6 --- /dev/null +++ b/prism.css @@ -0,0 +1,7 @@ +/* PrismJS 1.29.0 https://prismjs.com/download.html#themes=prism-coy&languages=markup+css+clike+javascript+json+jsx+tsx+typescript */ + +body[data-theme='light'] code[class*='language-'],body[data-theme='light'] pre[class*='language-']{color:#000;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none}body[data-theme='light'] pre[class*='language-']{position:relative;margin:.5em 0;overflow:visible;padding:1px}body[data-theme='light'] pre[class*='language-'] > code{position:relative;z-index:1;border-left:10px solid #358ccb;box-shadow:-1px 0 0 0 #358ccb,0 0 0 1px #dfdfdf;background-color:#fdfdfd;background-image:linear-gradient(transparent 50%,rgba(69,142,209,0.04) 50%);background-size:3em 3em;background-origin:content-box;background-attachment:local}body[data-theme='light'] code[class*='language-']{max-height:inherit;height:inherit;padding:0 1em;display:block;overflow:auto}body[data-theme='light'] :not(pre) > code[class*='language-'],body[data-theme='light'] pre[class*='language-']{background-color:#fdfdfd;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;margin-bottom:1em}body[data-theme='light'] :not(pre) > code[class*='language-']{position:relative;padding:.2em;border-radius:.3em;color:#c92c2c;border:1px solid rgba(0,0,0,0.1);display:inline;white-space:normal}body[data-theme='light'] pre[class*='language-']:after,body[data-theme='light'] pre[class*='language-']:before{content:'';display:block;position:absolute;bottom:.75em;left:.18em;width:40%;height:20%;max-height:13em;box-shadow:0 13px 8px #979797;-webkit-transform:rotate(-2deg);-moz-transform:rotate(-2deg);-ms-transform:rotate(-2deg);-o-transform:rotate(-2deg);transform:rotate(-2deg)}body[data-theme='light'] pre[class*='language-']:after{right:.75em;left:auto;-webkit-transform:rotate(2deg);-moz-transform:rotate(2deg);-ms-transform:rotate(2deg);-o-transform:rotate(2deg);transform:rotate(2deg)}body[data-theme='light'] .token.block-comment,body[data-theme='light'] .token.cdata,body[data-theme='light'] .token.comment,body[data-theme='light'] .token.doctype,body[data-theme='light'] .token.prolog{color:#7d8b99}body[data-theme='light'] .token.punctuation{color:#5f6364}body[data-theme='light'] .token.boolean,body[data-theme='light'] .token.constant,body[data-theme='light'] .token.deleted,body[data-theme='light'] .token.function-name,body[data-theme='light'] .token.number,body[data-theme='light'] .token.property,body[data-theme='light'] .token.symbol,body[data-theme='light'] .token.tag{color:#c92c2c}body[data-theme='light'] .token.attr-name,body[data-theme='light'] .token.builtin,body[data-theme='light'] .token.char,body[data-theme='light'] .token.function,body[data-theme='light'] .token.inserted,body[data-theme='light'] .token.selector,body[data-theme='light'] .token.string{color:#2f9c0a}body[data-theme='light'] .token.entity,body[data-theme='light'] .token.operator,body[data-theme='light'] .token.url,body[data-theme='light'] .token.variable{color:#a67f59;background:rgba(255,255,255,0.5)}body[data-theme='light'] .token.atrule,body[data-theme='light'] .token.attr-value,body[data-theme='light'] .token.class-name,body[data-theme='light'] .token.keyword{color:#1990b8}body[data-theme='light'] .token.important,body[data-theme='light'] .token.regex{color:#e90}body[data-theme='light'] .language-css .token.string,body[data-theme='light'] .style .token.string{color:#a67f59;background:rgba(255,255,255,0.5)}body[data-theme='light'] .token.important{font-weight:400}body[data-theme='light'] .token.bold{font-weight:700}body[data-theme='light'] .token.italic{font-style:italic}body[data-theme='light'] .token.entity{cursor:help}body[data-theme='light'] .token.namespace{opacity:.7}@media screen and (max-width: 767px){body[data-theme='light'] pre[class*='language-']:after,body[data-theme='light'] pre[class*='language-']:before{bottom:14px;box-shadow:none}}body[data-theme='light'] pre[class*='language-'].line-numbers.line-numbers{padding-left:0}body[data-theme='light'] pre[class*='language-'].line-numbers.line-numbers code{padding-left:3.8em}body[data-theme='light'] pre[class*='language-'].line-numbers.line-numbers .line-numbers-rows{left:0}body[data-theme='light'] pre[class*='language-'][data-line]{padding-top:0;padding-bottom:0;padding-left:0}body[data-theme='light'] pre[data-line] code{position:relative;padding-left:4em}body[data-theme='light'] pre .line-highlight{margin-top:0}body[data-theme='dark'] code[class*='language-'],body[data-theme='dark'] pre[class*='language-']{color:#ccc;background:0 0;font-family:Consolas,Monaco,'Andale Mono','Ubuntu Mono',monospace;font-size:1em;text-align:left;white-space:pre;word-spacing:normal;word-break:normal;word-wrap:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-hyphens:none;-moz-hyphens:none;-ms-hyphens:none;hyphens:none} + +/* PrismJS 1.29.0 https://prismjs.com/download.html#themes=prism-tomorrow&languages=markup+css+clike+javascript+json+jsx+tsx+typescript */ + +body[data-theme='dark'] pre[class*='language-']{padding:1em;margin:.5em 0;overflow:auto}body[data-theme='dark'] :not(pre) > code[class*='language-'],body[data-theme='dark'] pre[class*='language-']{background:#2d2d2d}body[data-theme='dark'] :not(pre) > code[class*='language-']{padding:.1em;border-radius:.3em;white-space:normal}body[data-theme='dark'] .token.block-comment,body[data-theme='dark'] .token.cdata,body[data-theme='dark'] .token.comment,body[data-theme='dark'] .token.doctype,body[data-theme='dark'] .token.prolog{color:#999}body[data-theme='dark'] .token.punctuation{color:#ccc}body[data-theme='dark'] .token.attr-name,body[data-theme='dark'] .token.deleted,body[data-theme='dark'] .token.namespace,body[data-theme='dark'] .token.tag{color:#e2777a}body[data-theme='dark'] .token.function-name{color:#6196cc}body[data-theme='dark'] .token.boolean,body[data-theme='dark'] .token.function,body[data-theme='dark'] .token.number{color:#f08d49}body[data-theme='dark'] .token.class-name,body[data-theme='dark'] .token.constant,body[data-theme='dark'] .token.property,body[data-theme='dark'] .token.symbol{color:#f8c555}body[data-theme='dark'] .token.atrule,body[data-theme='dark'] .token.builtin,body[data-theme='dark'] .token.important,body[data-theme='dark'] .token.keyword,body[data-theme='dark'] .token.selector{color:#cc99cd}body[data-theme='dark'] .token.attr-value,body[data-theme='dark'] .token.char,body[data-theme='dark'] .token.regex,body[data-theme='dark'] .token.string,body[data-theme='dark'] .token.variable{color:#7ec699}body[data-theme='dark'] .token.entity,body[data-theme='dark'] .token.operator,body[data-theme='dark'] .token.url{color:#67cdcc}body[data-theme='dark'] .token.bold,body[data-theme='dark'] .token.important{font-weight:700}body[data-theme='dark'] .token.italic{font-style:italic}body[data-theme='dark'] .token.entity{cursor:help}body[data-theme='dark'] .token.inserted{color:green} \ No newline at end of file diff --git a/prism.js b/prism.js new file mode 100644 index 00000000..c0f7b0be --- /dev/null +++ b/prism.js @@ -0,0 +1,12 @@ +/* PrismJS 1.29.0 +https://prismjs.com/download.html#themes=prism-coy&languages=markup+css+clike+javascript+bash+json+jsx+tsx+typescript */ +var _self="undefined"!=typeof window?window:"undefined"!=typeof WorkerGlobalScope&&self instanceof WorkerGlobalScope?self:{},Prism=function(e){var n=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,t=0,r={},a={manual:e.Prism&&e.Prism.manual,disableWorkerMessageHandler:e.Prism&&e.Prism.disableWorkerMessageHandler,util:{encode:function e(n){return n instanceof i?new i(n.type,e(n.content),n.alias):Array.isArray(n)?n.map(e):n.replace(/&/g,"&").replace(/=g.reach);A+=w.value.length,w=w.next){var E=w.value;if(n.length>e.length)return;if(!(E instanceof i)){var P,L=1;if(y){if(!(P=l(b,A,e,m))||P.index>=e.length)break;var S=P.index,O=P.index+P[0].length,j=A;for(j+=w.value.length;S>=j;)j+=(w=w.next).value.length;if(A=j-=w.value.length,w.value instanceof i)continue;for(var C=w;C!==n.tail&&(jg.reach&&(g.reach=W);var z=w.prev;if(_&&(z=u(n,z,_),A+=_.length),c(n,z,L),w=u(n,z,new i(f,p?a.tokenize(N,p):N,k,N)),M&&u(n,w,M),L>1){var I={cause:f+","+d,reach:W};o(e,n,t,w.prev,A,I),g&&I.reach>g.reach&&(g.reach=I.reach)}}}}}}function s(){var e={value:null,prev:null,next:null},n={value:null,prev:e,next:null};e.next=n,this.head=e,this.tail=n,this.length=0}function u(e,n,t){var r=n.next,a={value:t,prev:n,next:r};return n.next=a,r.prev=a,e.length++,a}function c(e,n,t){for(var r=n.next,a=0;a"+i.content+""},!e.document)return e.addEventListener?(a.disableWorkerMessageHandler||e.addEventListener("message",(function(n){var t=JSON.parse(n.data),r=t.language,i=t.code,l=t.immediateClose;e.postMessage(a.highlight(i,a.languages[r],r)),l&&e.close()}),!1),a):a;var g=a.util.currentScript();function f(){a.manual||a.highlightAll()}if(g&&(a.filename=g.src,g.hasAttribute("data-manual")&&(a.manual=!0)),!a.manual){var h=document.readyState;"loading"===h||"interactive"===h&&g&&g.defer?document.addEventListener("DOMContentLoaded",f):window.requestAnimationFrame?window.requestAnimationFrame(f):window.setTimeout(f,16)}return a}(_self);"undefined"!=typeof module&&module.exports&&(module.exports=Prism),"undefined"!=typeof global&&(global.Prism=Prism); +Prism.languages.markup={comment:{pattern://,greedy:!0},prolog:{pattern:/<\?[\s\S]+?\?>/,greedy:!0},doctype:{pattern:/"'[\]]|"[^"]*"|'[^']*')+(?:\[(?:[^<"'\]]|"[^"]*"|'[^']*'|<(?!!--)|)*\]\s*)?>/i,greedy:!0,inside:{"internal-subset":{pattern:/(^[^\[]*\[)[\s\S]+(?=\]>$)/,lookbehind:!0,greedy:!0,inside:null},string:{pattern:/"[^"]*"|'[^']*'/,greedy:!0},punctuation:/^$|[[\]]/,"doctype-tag":/^DOCTYPE/i,name:/[^\s<>'"]+/}},cdata:{pattern://i,greedy:!0},tag:{pattern:/<\/?(?!\d)[^\s>\/=$<%]+(?:\s(?:\s*[^\s>\/=]+(?:\s*=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+(?=[\s>]))|(?=[\s/>])))+)?\s*\/?>/,greedy:!0,inside:{tag:{pattern:/^<\/?[^\s>\/]+/,inside:{punctuation:/^<\/?/,namespace:/^[^\s>\/:]+:/}},"special-attr":[],"attr-value":{pattern:/=\s*(?:"[^"]*"|'[^']*'|[^\s'">=]+)/,inside:{punctuation:[{pattern:/^=/,alias:"attr-equals"},{pattern:/^(\s*)["']|["']$/,lookbehind:!0}]}},punctuation:/\/?>/,"attr-name":{pattern:/[^\s>\/]+/,inside:{namespace:/^[^\s>\/:]+:/}}}},entity:[{pattern:/&[\da-z]{1,8};/i,alias:"named-entity"},/&#x?[\da-f]{1,8};/i]},Prism.languages.markup.tag.inside["attr-value"].inside.entity=Prism.languages.markup.entity,Prism.languages.markup.doctype.inside["internal-subset"].inside=Prism.languages.markup,Prism.hooks.add("wrap",(function(a){"entity"===a.type&&(a.attributes.title=a.content.replace(/&/,"&"))})),Object.defineProperty(Prism.languages.markup.tag,"addInlined",{value:function(a,e){var s={};s["language-"+e]={pattern:/(^$)/i,lookbehind:!0,inside:Prism.languages[e]},s.cdata=/^$/i;var t={"included-cdata":{pattern://i,inside:s}};t["language-"+e]={pattern:/[\s\S]+/,inside:Prism.languages[e]};var n={};n[a]={pattern:RegExp("(<__[^>]*>)(?:))*\\]\\]>|(?!)".replace(/__/g,(function(){return a})),"i"),lookbehind:!0,greedy:!0,inside:t},Prism.languages.insertBefore("markup","cdata",n)}}),Object.defineProperty(Prism.languages.markup.tag,"addAttribute",{value:function(a,e){Prism.languages.markup.tag.inside["special-attr"].push({pattern:RegExp("(^|[\"'\\s])(?:"+a+")\\s*=\\s*(?:\"[^\"]*\"|'[^']*'|[^\\s'\">=]+(?=[\\s>]))","i"),lookbehind:!0,inside:{"attr-name":/^[^\s=]+/,"attr-value":{pattern:/=[\s\S]+/,inside:{value:{pattern:/(^=\s*(["']|(?!["'])))\S[\s\S]*(?=\2$)/,lookbehind:!0,alias:[e,"language-"+e],inside:Prism.languages[e]},punctuation:[{pattern:/^=/,alias:"attr-equals"},/"|'/]}}}})}}),Prism.languages.html=Prism.languages.markup,Prism.languages.mathml=Prism.languages.markup,Prism.languages.svg=Prism.languages.markup,Prism.languages.xml=Prism.languages.extend("markup",{}),Prism.languages.ssml=Prism.languages.xml,Prism.languages.atom=Prism.languages.xml,Prism.languages.rss=Prism.languages.xml; +!function(s){var e=/(?:"(?:\\(?:\r\n|[\s\S])|[^"\\\r\n])*"|'(?:\\(?:\r\n|[\s\S])|[^'\\\r\n])*')/;s.languages.css={comment:/\/\*[\s\S]*?\*\//,atrule:{pattern:RegExp("@[\\w-](?:[^;{\\s\"']|\\s+(?!\\s)|"+e.source+")*?(?:;|(?=\\s*\\{))"),inside:{rule:/^@[\w-]+/,"selector-function-argument":{pattern:/(\bselector\s*\(\s*(?![\s)]))(?:[^()\s]|\s+(?![\s)])|\((?:[^()]|\([^()]*\))*\))+(?=\s*\))/,lookbehind:!0,alias:"selector"},keyword:{pattern:/(^|[^\w-])(?:and|not|only|or)(?![\w-])/,lookbehind:!0}}},url:{pattern:RegExp("\\burl\\((?:"+e.source+"|(?:[^\\\\\r\n()\"']|\\\\[^])*)\\)","i"),greedy:!0,inside:{function:/^url/i,punctuation:/^\(|\)$/,string:{pattern:RegExp("^"+e.source+"$"),alias:"url"}}},selector:{pattern:RegExp("(^|[{}\\s])[^{}\\s](?:[^{};\"'\\s]|\\s+(?![\\s{])|"+e.source+")*(?=\\s*\\{)"),lookbehind:!0},string:{pattern:e,greedy:!0},property:{pattern:/(^|[^-\w\xA0-\uFFFF])(?!\s)[-_a-z\xA0-\uFFFF](?:(?!\s)[-\w\xA0-\uFFFF])*(?=\s*:)/i,lookbehind:!0},important:/!important\b/i,function:{pattern:/(^|[^-a-z0-9])[-a-z0-9]+(?=\()/i,lookbehind:!0},punctuation:/[(){};:,]/},s.languages.css.atrule.inside.rest=s.languages.css;var t=s.languages.markup;t&&(t.tag.addInlined("style","css"),t.tag.addAttribute("style","css"))}(Prism); +Prism.languages.clike={comment:[{pattern:/(^|[^\\])\/\*[\s\S]*?(?:\*\/|$)/,lookbehind:!0,greedy:!0},{pattern:/(^|[^\\:])\/\/.*/,lookbehind:!0,greedy:!0}],string:{pattern:/(["'])(?:\\(?:\r\n|[\s\S])|(?!\1)[^\\\r\n])*\1/,greedy:!0},"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|trait)\s+|\bcatch\s+\()[\w.\\]+/i,lookbehind:!0,inside:{punctuation:/[.\\]/}},keyword:/\b(?:break|catch|continue|do|else|finally|for|function|if|in|instanceof|new|null|return|throw|try|while)\b/,boolean:/\b(?:false|true)\b/,function:/\b\w+(?=\()/,number:/\b0x[\da-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:e[+-]?\d+)?/i,operator:/[<>]=?|[!=]=?=?|--?|\+\+?|&&?|\|\|?|[?*/~^%]/,punctuation:/[{}[\];(),.:]/}; +Prism.languages.javascript=Prism.languages.extend("clike",{"class-name":[Prism.languages.clike["class-name"],{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$A-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\.(?:constructor|prototype))/,lookbehind:!0}],keyword:[{pattern:/((?:^|\})\s*)catch\b/,lookbehind:!0},{pattern:/(^|[^.]|\.\.\.\s*)\b(?:as|assert(?=\s*\{)|async(?=\s*(?:function\b|\(|[$\w\xA0-\uFFFF]|$))|await|break|case|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally(?=\s*(?:\{|$))|for|from(?=\s*(?:['"]|$))|function|(?:get|set)(?=\s*(?:[#\[$\w\xA0-\uFFFF]|$))|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)\b/,lookbehind:!0}],function:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*(?:\.\s*(?:apply|bind|call)\s*)?\()/,number:{pattern:RegExp("(^|[^\\w$])(?:NaN|Infinity|0[bB][01]+(?:_[01]+)*n?|0[oO][0-7]+(?:_[0-7]+)*n?|0[xX][\\dA-Fa-f]+(?:_[\\dA-Fa-f]+)*n?|\\d+(?:_\\d+)*n|(?:\\d+(?:_\\d+)*(?:\\.(?:\\d+(?:_\\d+)*)?)?|\\.\\d+(?:_\\d+)*)(?:[Ee][+-]?\\d+(?:_\\d+)*)?)(?![\\w$])"),lookbehind:!0},operator:/--|\+\+|\*\*=?|=>|&&=?|\|\|=?|[!=]==|<<=?|>>>?=?|[-+*/%&|^!=<>]=?|\.{3}|\?\?=?|\?\.?|[~:]/}),Prism.languages.javascript["class-name"][0].pattern=/(\b(?:class|extends|implements|instanceof|interface|new)\s+)[\w.\\]+/,Prism.languages.insertBefore("javascript","keyword",{regex:{pattern:RegExp("((?:^|[^$\\w\\xA0-\\uFFFF.\"'\\])\\s]|\\b(?:return|yield))\\s*)/(?:(?:\\[(?:[^\\]\\\\\r\n]|\\\\.)*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}|(?:\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.|\\[(?:[^[\\]\\\\\r\n]|\\\\.)*\\])*\\])*\\]|\\\\.|[^/\\\\\\[\r\n])+/[dgimyus]{0,7}v[dgimyus]{0,7})(?=(?:\\s|/\\*(?:[^*]|\\*(?!/))*\\*/)*(?:$|[\r\n,.;:})\\]]|//))"),lookbehind:!0,greedy:!0,inside:{"regex-source":{pattern:/^(\/)[\s\S]+(?=\/[a-z]*$)/,lookbehind:!0,alias:"language-regex",inside:Prism.languages.regex},"regex-delimiter":/^\/|\/$/,"regex-flags":/^[a-z]+$/}},"function-variable":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*[=:]\s*(?:async\s*)?(?:\bfunction\b|(?:\((?:[^()]|\([^()]*\))*\)|(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)\s*=>))/,alias:"function"},parameter:[{pattern:/(function(?:\s+(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*)?\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\))/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(^|[^$\w\xA0-\uFFFF])(?!\s)[_$a-z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*=>)/i,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/(\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*=>)/,lookbehind:!0,inside:Prism.languages.javascript},{pattern:/((?:\b|\s|^)(?!(?:as|async|await|break|case|catch|class|const|continue|debugger|default|delete|do|else|enum|export|extends|finally|for|from|function|get|if|implements|import|in|instanceof|interface|let|new|null|of|package|private|protected|public|return|set|static|super|switch|this|throw|try|typeof|undefined|var|void|while|with|yield)(?![$\w\xA0-\uFFFF]))(?:(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*)\(\s*|\]\s*\(\s*)(?!\s)(?:[^()\s]|\s+(?![\s)])|\([^()]*\))+(?=\s*\)\s*\{)/,lookbehind:!0,inside:Prism.languages.javascript}],constant:/\b[A-Z](?:[A-Z_]|\dx?)*\b/}),Prism.languages.insertBefore("javascript","string",{hashbang:{pattern:/^#!.*/,greedy:!0,alias:"comment"},"template-string":{pattern:/`(?:\\[\s\S]|\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}|(?!\$\{)[^\\`])*`/,greedy:!0,inside:{"template-punctuation":{pattern:/^`|`$/,alias:"string"},interpolation:{pattern:/((?:^|[^\\])(?:\\{2})*)\$\{(?:[^{}]|\{(?:[^{}]|\{[^}]*\})*\})+\}/,lookbehind:!0,inside:{"interpolation-punctuation":{pattern:/^\$\{|\}$/,alias:"punctuation"},rest:Prism.languages.javascript}},string:/[\s\S]+/}},"string-property":{pattern:/((?:^|[,{])[ \t]*)(["'])(?:\\(?:\r\n|[\s\S])|(?!\2)[^\\\r\n])*\2(?=\s*:)/m,lookbehind:!0,greedy:!0,alias:"property"}}),Prism.languages.insertBefore("javascript","operator",{"literal-property":{pattern:/((?:^|[,{])[ \t]*)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?=\s*:)/m,lookbehind:!0,alias:"property"}}),Prism.languages.markup&&(Prism.languages.markup.tag.addInlined("script","javascript"),Prism.languages.markup.tag.addAttribute("on(?:abort|blur|change|click|composition(?:end|start|update)|dblclick|error|focus(?:in|out)?|key(?:down|up)|load|mouse(?:down|enter|leave|move|out|over|up)|reset|resize|scroll|select|slotchange|submit|unload|wheel)","javascript")),Prism.languages.js=Prism.languages.javascript; +!function(e){var t="\\b(?:BASH|BASHOPTS|BASH_ALIASES|BASH_ARGC|BASH_ARGV|BASH_CMDS|BASH_COMPLETION_COMPAT_DIR|BASH_LINENO|BASH_REMATCH|BASH_SOURCE|BASH_VERSINFO|BASH_VERSION|COLORTERM|COLUMNS|COMP_WORDBREAKS|DBUS_SESSION_BUS_ADDRESS|DEFAULTS_PATH|DESKTOP_SESSION|DIRSTACK|DISPLAY|EUID|GDMSESSION|GDM_LANG|GNOME_KEYRING_CONTROL|GNOME_KEYRING_PID|GPG_AGENT_INFO|GROUPS|HISTCONTROL|HISTFILE|HISTFILESIZE|HISTSIZE|HOME|HOSTNAME|HOSTTYPE|IFS|INSTANCE|JOB|LANG|LANGUAGE|LC_ADDRESS|LC_ALL|LC_IDENTIFICATION|LC_MEASUREMENT|LC_MONETARY|LC_NAME|LC_NUMERIC|LC_PAPER|LC_TELEPHONE|LC_TIME|LESSCLOSE|LESSOPEN|LINES|LOGNAME|LS_COLORS|MACHTYPE|MAILCHECK|MANDATORY_PATH|NO_AT_BRIDGE|OLDPWD|OPTERR|OPTIND|ORBIT_SOCKETDIR|OSTYPE|PAPERSIZE|PATH|PIPESTATUS|PPID|PS1|PS2|PS3|PS4|PWD|RANDOM|REPLY|SECONDS|SELINUX_INIT|SESSION|SESSIONTYPE|SESSION_MANAGER|SHELL|SHELLOPTS|SHLVL|SSH_AUTH_SOCK|TERM|UID|UPSTART_EVENTS|UPSTART_INSTANCE|UPSTART_JOB|UPSTART_SESSION|USER|WINDOWID|XAUTHORITY|XDG_CONFIG_DIRS|XDG_CURRENT_DESKTOP|XDG_DATA_DIRS|XDG_GREETER_DATA_DIR|XDG_MENU_PREFIX|XDG_RUNTIME_DIR|XDG_SEAT|XDG_SEAT_PATH|XDG_SESSION_DESKTOP|XDG_SESSION_ID|XDG_SESSION_PATH|XDG_SESSION_TYPE|XDG_VTNR|XMODIFIERS)\\b",a={pattern:/(^(["']?)\w+\2)[ \t]+\S.*/,lookbehind:!0,alias:"punctuation",inside:null},n={bash:a,environment:{pattern:RegExp("\\$"+t),alias:"constant"},variable:[{pattern:/\$?\(\([\s\S]+?\)\)/,greedy:!0,inside:{variable:[{pattern:/(^\$\(\([\s\S]+)\)\)/,lookbehind:!0},/^\$\(\(/],number:/\b0x[\dA-Fa-f]+\b|(?:\b\d+(?:\.\d*)?|\B\.\d+)(?:[Ee]-?\d+)?/,operator:/--|\+\+|\*\*=?|<<=?|>>=?|&&|\|\||[=!+\-*/%<>^&|]=?|[?~:]/,punctuation:/\(\(?|\)\)?|,|;/}},{pattern:/\$\((?:\([^)]+\)|[^()])+\)|`[^`]+`/,greedy:!0,inside:{variable:/^\$\(|^`|\)$|`$/}},{pattern:/\$\{[^}]+\}/,greedy:!0,inside:{operator:/:[-=?+]?|[!\/]|##?|%%?|\^\^?|,,?/,punctuation:/[\[\]]/,environment:{pattern:RegExp("(\\{)"+t),lookbehind:!0,alias:"constant"}}},/\$(?:\w+|[#?*!@$])/],entity:/\\(?:[abceEfnrtv\\"]|O?[0-7]{1,3}|U[0-9a-fA-F]{8}|u[0-9a-fA-F]{4}|x[0-9a-fA-F]{1,2})/};e.languages.bash={shebang:{pattern:/^#!\s*\/.*/,alias:"important"},comment:{pattern:/(^|[^"{\\$])#.*/,lookbehind:!0},"function-name":[{pattern:/(\bfunction\s+)[\w-]+(?=(?:\s*\(?:\s*\))?\s*\{)/,lookbehind:!0,alias:"function"},{pattern:/\b[\w-]+(?=\s*\(\s*\)\s*\{)/,alias:"function"}],"for-or-select":{pattern:/(\b(?:for|select)\s+)\w+(?=\s+in\s)/,alias:"variable",lookbehind:!0},"assign-left":{pattern:/(^|[\s;|&]|[<>]\()\w+(?:\.\w+)*(?=\+?=)/,inside:{environment:{pattern:RegExp("(^|[\\s;|&]|[<>]\\()"+t),lookbehind:!0,alias:"constant"}},alias:"variable",lookbehind:!0},parameter:{pattern:/(^|\s)-{1,2}(?:\w+:[+-]?)?\w+(?:\.\w+)*(?=[=\s]|$)/,alias:"variable",lookbehind:!0},string:[{pattern:/((?:^|[^<])<<-?\s*)(\w+)\s[\s\S]*?(?:\r?\n|\r)\2/,lookbehind:!0,greedy:!0,inside:n},{pattern:/((?:^|[^<])<<-?\s*)(["'])(\w+)\2\s[\s\S]*?(?:\r?\n|\r)\3/,lookbehind:!0,greedy:!0,inside:{bash:a}},{pattern:/(^|[^\\](?:\\\\)*)"(?:\\[\s\S]|\$\([^)]+\)|\$(?!\()|`[^`]+`|[^"\\`$])*"/,lookbehind:!0,greedy:!0,inside:n},{pattern:/(^|[^$\\])'[^']*'/,lookbehind:!0,greedy:!0},{pattern:/\$'(?:[^'\\]|\\[\s\S])*'/,greedy:!0,inside:{entity:n.entity}}],environment:{pattern:RegExp("\\$?"+t),alias:"constant"},variable:n.variable,function:{pattern:/(^|[\s;|&]|[<>]\()(?:add|apropos|apt|apt-cache|apt-get|aptitude|aspell|automysqlbackup|awk|basename|bash|bc|bconsole|bg|bzip2|cal|cargo|cat|cfdisk|chgrp|chkconfig|chmod|chown|chroot|cksum|clear|cmp|column|comm|composer|cp|cron|crontab|csplit|curl|cut|date|dc|dd|ddrescue|debootstrap|df|diff|diff3|dig|dir|dircolors|dirname|dirs|dmesg|docker|docker-compose|du|egrep|eject|env|ethtool|expand|expect|expr|fdformat|fdisk|fg|fgrep|file|find|fmt|fold|format|free|fsck|ftp|fuser|gawk|git|gparted|grep|groupadd|groupdel|groupmod|groups|grub-mkconfig|gzip|halt|head|hg|history|host|hostname|htop|iconv|id|ifconfig|ifdown|ifup|import|install|ip|java|jobs|join|kill|killall|less|link|ln|locate|logname|logrotate|look|lpc|lpr|lprint|lprintd|lprintq|lprm|ls|lsof|lynx|make|man|mc|mdadm|mkconfig|mkdir|mke2fs|mkfifo|mkfs|mkisofs|mknod|mkswap|mmv|more|most|mount|mtools|mtr|mutt|mv|nano|nc|netstat|nice|nl|node|nohup|notify-send|npm|nslookup|op|open|parted|passwd|paste|pathchk|ping|pkill|pnpm|podman|podman-compose|popd|pr|printcap|printenv|ps|pushd|pv|quota|quotacheck|quotactl|ram|rar|rcp|reboot|remsync|rename|renice|rev|rm|rmdir|rpm|rsync|scp|screen|sdiff|sed|sendmail|seq|service|sftp|sh|shellcheck|shuf|shutdown|sleep|slocate|sort|split|ssh|stat|strace|su|sudo|sum|suspend|swapon|sync|sysctl|tac|tail|tar|tee|time|timeout|top|touch|tr|traceroute|tsort|tty|umount|uname|unexpand|uniq|units|unrar|unshar|unzip|update-grub|uptime|useradd|userdel|usermod|users|uudecode|uuencode|v|vcpkg|vdir|vi|vim|virsh|vmstat|wait|watch|wc|wget|whereis|which|who|whoami|write|xargs|xdg-open|yarn|yes|zenity|zip|zsh|zypper)(?=$|[)\s;|&])/,lookbehind:!0},keyword:{pattern:/(^|[\s;|&]|[<>]\()(?:case|do|done|elif|else|esac|fi|for|function|if|in|select|then|until|while)(?=$|[)\s;|&])/,lookbehind:!0},builtin:{pattern:/(^|[\s;|&]|[<>]\()(?:\.|:|alias|bind|break|builtin|caller|cd|command|continue|declare|echo|enable|eval|exec|exit|export|getopts|hash|help|let|local|logout|mapfile|printf|pwd|read|readarray|readonly|return|set|shift|shopt|source|test|times|trap|type|typeset|ulimit|umask|unalias|unset)(?=$|[)\s;|&])/,lookbehind:!0,alias:"class-name"},boolean:{pattern:/(^|[\s;|&]|[<>]\()(?:false|true)(?=$|[)\s;|&])/,lookbehind:!0},"file-descriptor":{pattern:/\B&\d\b/,alias:"important"},operator:{pattern:/\d?<>|>\||\+=|=[=~]?|!=?|<<[<-]?|[&\d]?>>|\d[<>]&?|[<>][&=]?|&[>&]?|\|[&|]?/,inside:{"file-descriptor":{pattern:/^\d/,alias:"important"}}},punctuation:/\$?\(\(?|\)\)?|\.\.|[{}[\];\\]/,number:{pattern:/(^|\s)(?:[1-9]\d*|0)(?:[.,]\d+)?\b/,lookbehind:!0}},a.inside=e.languages.bash;for(var s=["comment","function-name","for-or-select","assign-left","parameter","string","environment","function","keyword","builtin","boolean","file-descriptor","operator","punctuation","number"],o=n.variable[1].inside,i=0;i*\\.{3}(?:[^{}]|)*\\})";function a(t,n){return t=t.replace(//g,(function(){return"(?:\\s|//.*(?!.)|/\\*(?:[^*]|\\*(?!/))\\*/)"})).replace(//g,(function(){return"(?:\\{(?:\\{(?:\\{[^{}]*\\}|[^{}])*\\}|[^{}])*\\})"})).replace(//g,(function(){return e})),RegExp(t,n)}e=a(e).source,t.languages.jsx=t.languages.extend("markup",n),t.languages.jsx.tag.pattern=a("+(?:[\\w.:$-]+(?:=(?:\"(?:\\\\[^]|[^\\\\\"])*\"|'(?:\\\\[^]|[^\\\\'])*'|[^\\s{'\"/>=]+|))?|))**/?)?>"),t.languages.jsx.tag.inside.tag.pattern=/^<\/?[^\s>\/]*/,t.languages.jsx.tag.inside["attr-value"].pattern=/=(?!\{)(?:"(?:\\[\s\S]|[^\\"])*"|'(?:\\[\s\S]|[^\\'])*'|[^\s'">]+)/,t.languages.jsx.tag.inside.tag.inside["class-name"]=/^[A-Z]\w*(?:\.[A-Z]\w*)*$/,t.languages.jsx.tag.inside.comment=n.comment,t.languages.insertBefore("inside","attr-name",{spread:{pattern:a(""),inside:t.languages.jsx}},t.languages.jsx.tag),t.languages.insertBefore("inside","special-attr",{script:{pattern:a("="),alias:"language-javascript",inside:{"script-punctuation":{pattern:/^=(?=\{)/,alias:"punctuation"},rest:t.languages.jsx}}},t.languages.jsx.tag);var s=function(t){return t?"string"==typeof t?t:"string"==typeof t.content?t.content:t.content.map(s).join(""):""},g=function(n){for(var e=[],a=0;a0&&e[e.length-1].tagName===s(o.content[0].content[1])&&e.pop():"/>"===o.content[o.content.length-1].content||e.push({tagName:s(o.content[0].content[1]),openedBraces:0}):e.length>0&&"punctuation"===o.type&&"{"===o.content?e[e.length-1].openedBraces++:e.length>0&&e[e.length-1].openedBraces>0&&"punctuation"===o.type&&"}"===o.content?e[e.length-1].openedBraces--:i=!0),(i||"string"==typeof o)&&e.length>0&&0===e[e.length-1].openedBraces){var r=s(o);a0&&("string"==typeof n[a-1]||"plain-text"===n[a-1].type)&&(r=s(n[a-1])+r,n.splice(a-1,1),a--),n[a]=new t.Token("plain-text",r,null,r)}o.content&&"string"!=typeof o.content&&g(o.content)}};t.hooks.add("after-tokenize",(function(t){"jsx"!==t.language&&"tsx"!==t.language||g(t.tokens)}))}(Prism); +!function(e){e.languages.typescript=e.languages.extend("javascript",{"class-name":{pattern:/(\b(?:class|extends|implements|instanceof|interface|new|type)\s+)(?!keyof\b)(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*(?:\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>)?/,lookbehind:!0,greedy:!0,inside:null},builtin:/\b(?:Array|Function|Promise|any|boolean|console|never|number|string|symbol|unknown)\b/}),e.languages.typescript.keyword.push(/\b(?:abstract|declare|is|keyof|readonly|require)\b/,/\b(?:asserts|infer|interface|module|namespace|type)\b(?=\s*(?:[{_$a-zA-Z\xA0-\uFFFF]|$))/,/\btype\b(?=\s*(?:[\{*]|$))/),delete e.languages.typescript.parameter,delete e.languages.typescript["literal-property"];var s=e.languages.extend("typescript",{});delete s["class-name"],e.languages.typescript["class-name"].inside=s,e.languages.insertBefore("typescript","function",{decorator:{pattern:/@[$\w\xA0-\uFFFF]+/,inside:{at:{pattern:/^@/,alias:"operator"},function:/^[\s\S]+/}},"generic-function":{pattern:/#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*\s*<(?:[^<>]|<(?:[^<>]|<[^<>]*>)*>)*>(?=\s*\()/,greedy:!0,inside:{function:/^#?(?!\s)[_$a-zA-Z\xA0-\uFFFF](?:(?!\s)[$\w\xA0-\uFFFF])*/,generic:{pattern:/<[\s\S]+/,alias:"class-name",inside:s}}}}),e.languages.ts=e.languages.typescript}(Prism); +!function(e){var a=e.util.clone(e.languages.typescript);e.languages.tsx=e.languages.extend("jsx",a),delete e.languages.tsx.parameter,delete e.languages.tsx["literal-property"];var t=e.languages.tsx.tag;t.pattern=RegExp("(^|[^\\w$]|(?= + + + + + + + + MumpUI / Setup + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Setup

      Step I - Install

      npm i mumpui

      Step II - Initialize MumpUI

      MumpUI need to be initialized only once at the top.

      import MumpUI from 'mumpui'
      +
      +function App() {
      +  return (<div>
      +    {/* Initialize MumpUI */}
      +    <MumpUI />
      +
      +    ..
      +
      +    <BrowserRouter>
      +      <Routes>
      +        <Route path="/" />
      +        ..
      +      </Routes>
      +    </BrowserRouter>
      +  </div>)
      +}
      +
      +createRoot(document.getElementById('root') as HTMLElement).render(<App />)

      Setp III - Import theme

      import 'mumpui/dist/styles/core.css'

      🎉 Voila, good to go! 🚀

      + + + + + + + + + \ No newline at end of file diff --git a/texture.jpeg b/texture.jpeg new file mode 100644 index 00000000..0acd7062 Binary files /dev/null and b/texture.jpeg differ diff --git a/typography.html b/typography.html new file mode 100644 index 00000000..a2899547 --- /dev/null +++ b/typography.html @@ -0,0 +1,37 @@ + + + + + + + + + MumpUI / Typography + + + + + + + + + + + +
      west Home
      light_mode
      MumpUI / Typography

      MumpUI / Typography

      MumpUI comes prepacked with typography styling, making it ideal for rendering content, blogs, stories and more. Typography elements are of two types:

      • Inline elements
        • Bold <b></b>
        • Italics <i></i>
        • Underline <u></u>
        • Highlight <mark></mark>
        • Strike <del></del>
        • Code <code></code>
        • Link <a></a>
      • Block elements
        • Headers h1 h2 h3 h4
        • List
          • Ordered list <ol></ol>
          • Unordered list <ul></ul>
        • Table <table></table>
        • Divider <hr />
        • Blockquote <blockquote></blockquote>

      Inline elements example

      Risus sed vulputate odio ut enim blandit volutpat. Congue eu consequat ac felis donec et. Arcu felis MumpUI ut tristique et egestas.Senectus et netus et malesuada fames. Amet risus nullam eget felis. Est ullamcorper eget nulla facilisi etiam dignissim. Sed felis eget velit aliquet. Morbi tincidunt ornare massa eget.

      Orci eu lobortis elementum nibh. Euismod lacinia at quis risus. Condimentum lacinia quis vel eros donec.

      Pulvinar pellentesque habitant morbi tristique. Sapien pellentesque habitant morbi tristique. Mi egetmauris pharetra et ultrices neque ornare aenean euismod.

      Block elements example

      Headers

      H1

      H2

      H3

      H4


      List

      Ordered list

      1. First item
      2. Second item
      3. Third item

      Unordered list

      • First item
      • Second item
      • Third item

      Table

      SyntaxDescription
      HeaderTitle
      ParagraphText

      Divider


      Blockquote

      This is an example of blockquote.

      + + + + + + + + + \ No newline at end of file diff --git a/typography.md b/typography.md new file mode 100644 index 00000000..f2bb97da --- /dev/null +++ b/typography.md @@ -0,0 +1,73 @@ +# MumpUI / Typography + +MumpUI comes prepacked with typography styling, making it ideal for rendering content, blogs, stories and more. Typography elements are of two types: + +- Inline elements + - Bold `` + - Italics `` + - Underline `` + - Highlight `` + - Strike `` + - Code `` + - Link `` +- Block elements + - Headers `h1` `h2` `h3` `h4` + - List + - Ordered list `
        ` + - Unordered list `
          ` + - Table `
          ` + - Divider `
          ` + - Blockquote `
          ` + +## Inline elements example + +Risus sed vulputate odio ut enim blandit volutpat. Congue eu consequat ac felis donec et. Arcu felis [MumpUI](https://neilveil.github.io/mumpui) ut tristique et egestas. Senectus et netus et malesuada fames. Amet risus nullam eget felis. Est ullamcorper eget nulla facilisi etiam dignissim. Sed felis eget velit aliquet. Morbi tincidunt ornare massa eget. + +Orci eu lobortis elementum nibh. Euismod lacinia at quis risus. Condimentum lacinia quis vel eros donec. + +Pulvinar pellentesque habitant morbi tristique. Sapien pellentesque habitant morbi tristique. Mi eget `mauris` pharetra et ultrices neque ornare aenean euismod. + +## Block elements example + +### Headers + +# H1 + +## H2 + +### H3 + +#### H4 + +--- + +### List + +#### Ordered list + +1. First item +2. Second item +3. Third item + +#### Unordered list + +- First item +- Second item +- Third item + +### Table + +| Syntax | Description | +| --------- | ----------- | +| Header | Title | +| Paragraph | Text | + +> Wrap in `.mp-table` class to create scrollable tables. + +### Divider + +--- + +### Blockquote + +> This is an example of blockquote.