Compare commits

...
45 Commits
Author SHA1 Message Date
tsindt 62af3f17f2 Tree steht 2026-09-16 16:32:31 +02:00
tsindt c755a80b47 test 2026-09-15 23:03:10 +02:00
tsindt dcb6295091 Propertytypegroups-Tree 2026-09-15 19:27:04 +02:00
tsindt 33acfb0bfc Datebimport 2026-09-15 13:22:53 +02:00
tsindt 6feaaa56eb Bugfixing import properties 2026-09-14 23:11:02 +02:00
tsindt 25b3923427 Property Import 2026-09-14 21:15:09 +02:00
tsindt a7ef4e52ca Merge branch 'main' of https://barefacedgit.ddnss.de/tsindt/simply_cpq 2026-09-14 08:52:58 +02:00
tsindt c62aa67220 Test 2026-09-14 08:52:52 +02:00
tsindt 4960f8c5fd data 2026-09-14 08:47:08 +02:00
tsindt 6ec1fb2816 start implementing dataimport 2026-09-13 09:41:34 +02:00
tsindt 76db8d4cfe Testdaten 2026-09-12 23:09:17 +02:00
tsindt d1e210d03e Templates mit HTMX 2026-09-09 21:31:08 +02:00
tsindt 870a3cf708 Merge branch 'main' of https://barefacedgit.ddnss.de/tsindt/simply_cpq 2026-09-09 19:39:04 +02:00
tsindt 48b3f97298 Templates 2026-09-09 19:37:55 +02:00
tsindt c7e3778073 Form for editing property type details 2026-09-08 22:22:24 +02:00
tsindt 1d3cfdc7b7 Form 2026-09-08 21:15:02 +02:00
tsindt 441e218428 Design and layout updates for X-CPQ Material Editor interface 2026-09-03 23:14:59 +02:00
tsindt 30b1f09cdf Tree view und CSS refinement 2026-09-03 21:37:28 +02:00
tsindt 88e89307c4 Bugfix: Adjust navigation styling and layout 2026-09-02 23:53:18 +02:00
tsindt b32c11ff6d Styles 2026-09-02 23:51:39 +02:00
tsindt 8a622906bb redesign from scratch 2026-09-02 21:12:24 +02:00
tsindt 80135f8690 redesign user interface for better usability 2026-09-02 13:43:41 +02:00
tsindt 4743fff3d4 Refactor property type repository methods and update references in property types group repository 2026-09-01 22:49:44 +02:00
tsindt 61c6c11142 repository: Add image_url field to property and property_type models 2026-09-01 20:46:41 +02:00
tsindt 60b056d430 Merge branch 'main' of https://barefacedgit.ddnss.de/tsindt/simply_cpq 2026-09-01 13:50:31 +02:00
tsindt e1449e8b28 tree 2026-08-31 23:10:12 +02:00
tsindt 7c775d4e9f kleiner korrekturen 2026-08-31 19:58:13 +02:00
tsindt f4f40a93e2 Mockup footer with copyright notice 2026-08-31 16:06:25 +02:00
tsindt ac56c2a8e8 Website Mockup for X-CPQ Editor with Tailwind and DaisyUI 2026-08-30 22:57:43 +02:00
tsindt fbd3d63d17 Verzeichnisstruktur für XHTML Lösung des Editors 2026-08-28 10:18:40 +02:00
tsindt cdf7a538c1 Erweiterung der Produktpflege 2026-08-27 15:31:50 +02:00
tsindt b2ce536723 bom layer: add service and controller for BOM and variant nodes 2026-08-26 23:15:09 +02:00
tsindt adc4179747 BOM start implementing basic CRUD operations for Bill of Materials and Variant Nodes 2026-08-26 19:27:07 +02:00
tsindt 8591764ab3 import Bugfixes 2026-08-22 22:44:47 +02:00
tsindt e38bcb0d4c debug runtim 2026-08-22 21:39:09 +02:00
tsindt 8ed0919f67 import 2026-08-22 20:09:28 +02:00
tsindt fa19852736 import 2026-08-22 18:28:46 +02:00
tsindt b6ef29ad2d import 2026-08-21 23:24:38 +02:00
tsindt 2d43c227da import 2026-08-21 21:01:45 +02:00
tsindt 86183322c7 import 2026-08-21 19:55:40 +02:00
tsindt 81b226a3da data import 2026-08-21 13:05:17 +02:00
tsindt 57faec71f8 Import Serverfunktionen angelegt 2026-08-20 23:21:09 +02:00
tsindt 9de53394a3 Testdaten erzeugen lassen 2026-08-20 19:34:53 +02:00
tsindt 468c87b550 Produktmanagement hinzugefügt und kleinere Bug behoben 2026-08-19 17:34:36 +02:00
tsindt 2774a64edc PropertyType Management abgeschlossen 2026-08-19 14:53:15 +02:00
838 changed files with 99208 additions and 23057 deletions
+15
View File
@@ -0,0 +1,15 @@
{
// Use IntelliSense to learn about possible attributes.
// Hover to view descriptions of existing attributes.
// For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${fileDirname}"
}
]
}
+1
View File
@@ -49,6 +49,7 @@ npm install @mui/material @emotion/react @emotion/styled
npm install @fontsource-variable/inter npm install @fontsource-variable/inter
npm install @mui/icons-material npm install @mui/icons-material
npm install @mui/x-data-grid npm install @mui/x-data-grid
npm install @mui/x-tree-view
npm install @mui/lab npm install @mui/lab
``` ```
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
import{n as e,t}from"./jsx-runtime-DIhQqKhG.js";e();var n=t(),r=()=>(0,n.jsxs)(`div`,{children:[(0,n.jsx)(`h1`,{children:`Page Not Found`}),(0,n.jsx)(`p`,{children:`The page you are looking for does not exist.`})]});export{r as default};
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -0,0 +1 @@
@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2)format("woff2-variations");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2)format("woff2-variations");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2)format("woff2-variations");unicode-range:U+1F??}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2)format("woff2-variations");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}body{font-family:Inter Variable,sans-serif}
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 43 KiB

+24
View File
@@ -0,0 +1,24 @@
<svg xmlns="http://www.w3.org/2000/svg">
<symbol id="bluesky-icon" viewBox="0 0 16 17">
<g clip-path="url(#bluesky-clip)"><path fill="#08060d" d="M7.75 7.735c-.693-1.348-2.58-3.86-4.334-5.097-1.68-1.187-2.32-.981-2.74-.79C.188 2.065.1 2.812.1 3.251s.241 3.602.398 4.13c.52 1.744 2.367 2.333 4.07 2.145-2.495.37-4.71 1.278-1.805 4.512 3.196 3.309 4.38-.71 4.987-2.746.608 2.036 1.307 5.91 4.93 2.746 2.72-2.746.747-4.143-1.747-4.512 1.702.189 3.55-.4 4.07-2.145.156-.528.397-3.691.397-4.13s-.088-1.186-.575-1.406c-.42-.19-1.06-.395-2.741.79-1.755 1.24-3.64 3.752-4.334 5.099"/></g>
<defs><clipPath id="bluesky-clip"><path fill="#fff" d="M.1.85h15.3v15.3H.1z"/></clipPath></defs>
</symbol>
<symbol id="discord-icon" viewBox="0 0 20 19">
<path fill="#08060d" d="M16.224 3.768a14.5 14.5 0 0 0-3.67-1.153c-.158.286-.343.67-.47.976a13.5 13.5 0 0 0-4.067 0c-.128-.306-.317-.69-.476-.976A14.4 14.4 0 0 0 3.868 3.77C1.546 7.28.916 10.703 1.231 14.077a14.7 14.7 0 0 0 4.5 2.306q.545-.748.965-1.587a9.5 9.5 0 0 1-1.518-.74q.191-.14.372-.293c2.927 1.369 6.107 1.369 8.999 0q.183.152.372.294-.723.437-1.52.74.418.838.963 1.588a14.6 14.6 0 0 0 4.504-2.308c.37-3.911-.63-7.302-2.644-10.309m-9.13 8.234c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.894 0 1.614.82 1.599 1.82.001 1-.705 1.82-1.6 1.82m5.91 0c-.878 0-1.599-.82-1.599-1.82 0-.998.705-1.82 1.6-1.82.893 0 1.614.82 1.599 1.82 0 1-.706 1.82-1.6 1.82"/>
</symbol>
<symbol id="documentation-icon" viewBox="0 0 21 20">
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="m15.5 13.333 1.533 1.322c.645.555.967.833.967 1.178s-.322.623-.967 1.179L15.5 18.333m-3.333-5-1.534 1.322c-.644.555-.966.833-.966 1.178s.322.623.966 1.179l1.534 1.321"/>
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M17.167 10.836v-4.32c0-1.41 0-2.117-.224-2.68-.359-.906-1.118-1.621-2.08-1.96-.599-.21-1.349-.21-2.848-.21-2.623 0-3.935 0-4.983.369-1.684.591-3.013 1.842-3.641 3.428C3 6.449 3 7.684 3 10.154v2.122c0 2.558 0 3.838.706 4.726q.306.383.713.671c.76.536 1.79.64 3.581.66"/>
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M3 10a2.78 2.78 0 0 1 2.778-2.778c.555 0 1.209.097 1.748-.047.48-.129.854-.503.982-.982.145-.54.048-1.194.048-1.749a2.78 2.78 0 0 1 2.777-2.777"/>
</symbol>
<symbol id="github-icon" viewBox="0 0 19 19">
<path fill="#08060d" fill-rule="evenodd" d="M9.356 1.85C5.05 1.85 1.57 5.356 1.57 9.694a7.84 7.84 0 0 0 5.324 7.44c.387.079.528-.168.528-.376 0-.182-.013-.805-.013-1.454-2.165.467-2.616-.935-2.616-.935-.349-.91-.864-1.143-.864-1.143-.71-.48.051-.48.051-.48.787.051 1.2.805 1.2.805.695 1.194 1.817.857 2.268.649.064-.507.27-.857.49-1.052-1.728-.182-3.545-.857-3.545-3.87 0-.857.31-1.558.8-2.104-.078-.195-.349-1 .077-2.078 0 0 .657-.208 2.14.805a7.5 7.5 0 0 1 1.946-.26c.657 0 1.328.092 1.946.26 1.483-1.013 2.14-.805 2.14-.805.426 1.078.155 1.883.078 2.078.502.546.799 1.247.799 2.104 0 3.013-1.818 3.675-3.558 3.87.284.247.528.714.528 1.454 0 1.052-.012 1.896-.012 2.156 0 .208.142.455.528.377a7.84 7.84 0 0 0 5.324-7.441c.013-4.338-3.48-7.844-7.773-7.844" clip-rule="evenodd"/>
</symbol>
<symbol id="social-icon" viewBox="0 0 20 20">
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M12.5 6.667a4.167 4.167 0 1 0-8.334 0 4.167 4.167 0 0 0 8.334 0"/>
<path fill="none" stroke="#aa3bff" stroke-linecap="round" stroke-linejoin="round" stroke-width="1.35" d="M2.5 16.667a5.833 5.833 0 0 1 8.75-5.053m3.837.474.513 1.035c.07.144.257.282.414.309l.93.155c.596.1.736.536.307.965l-.723.73a.64.64 0 0 0-.152.531l.207.903c.164.715-.213.991-.84.618l-.872-.52a.63.63 0 0 0-.577 0l-.872.52c-.624.373-1.003.094-.84-.618l.207-.903a.64.64 0 0 0-.152-.532l-.723-.729c-.426-.43-.289-.864.306-.964l.93-.156a.64.64 0 0 0 .412-.31l.513-1.034c.28-.562.735-.562 1.012 0"/>
</symbol>
<symbol id="x-icon" viewBox="0 0 19 19">
<path fill="#08060d" fill-rule="evenodd" d="M1.893 1.98c.052.072 1.245 1.769 2.653 3.77l2.892 4.114c.183.261.333.48.333.486s-.068.089-.152.183l-.522.593-.765.867-3.597 4.087c-.375.426-.734.834-.798.905a1 1 0 0 0-.118.148c0 .01.236.017.664.017h.663l.729-.83c.4-.457.796-.906.879-.999a692 692 0 0 0 1.794-2.038c.034-.037.301-.34.594-.675l.551-.624.345-.392a7 7 0 0 1 .34-.374c.006 0 .93 1.306 2.052 2.903l2.084 2.965.045.063h2.275c1.87 0 2.273-.003 2.266-.021-.008-.02-1.098-1.572-3.894-5.547-2.013-2.862-2.28-3.246-2.273-3.266.008-.019.282-.332 2.085-2.38l2-2.274 1.567-1.782c.022-.028-.016-.03-.65-.03h-.674l-.3.342a871 871 0 0 1-1.782 2.025c-.067.075-.405.458-.75.852a100 100 0 0 1-.803.91c-.148.172-.299.344-.99 1.127-.304.343-.32.358-.345.327-.015-.019-.904-1.282-1.976-2.808L6.365 1.85H1.8zm1.782.91 8.078 11.294c.772 1.08 1.413 1.973 1.425 1.984.016.017.241.02 1.05.017l1.03-.004-2.694-3.766L7.796 5.75 5.722 2.852l-1.039-.004-1.039-.004z" clip-rule="evenodd"/>
</symbol>
</svg>

After

Width:  |  Height:  |  Size: 4.9 KiB

+15
View File
@@ -0,0 +1,15 @@
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.svg" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>material-editor</title>
<script type="module" crossorigin src="/assets/index-CvD27sEa.js"></script>
<link rel="modulepreload" crossorigin href="/assets/jsx-runtime-DIhQqKhG.js">
<link rel="stylesheet" crossorigin href="/assets/index-pQr9blFx.css">
</head>
<body>
<div id="root"></div>␍
</body>
</html>
+47 -14
View File
@@ -1011,6 +1011,45 @@
"react": "^17.0.0 || ^18.0.0 || ^19.0.0" "react": "^17.0.0 || ^18.0.0 || ^19.0.0"
} }
}, },
"node_modules/@mui/x-tree-view": {
"version": "9.11.0",
"resolved": "https://registry.npmjs.org/@mui/x-tree-view/-/x-tree-view-9.11.0.tgz",
"integrity": "sha512-ZJcnlOr3LwQF9n+xa/4Xh0w8wDCY250smbLGmRzK107ClifYSDTR8/IrRQg8yKBwpDYWDQZW85t0voQcverk1g==",
"license": "MIT",
"dependencies": {
"@babel/runtime": "^7.29.7",
"@base-ui/utils": "^0.3.1",
"@mui/utils": "^9.3.0",
"@mui/x-internals": "^9.11.0",
"@types/react-transition-group": "^4.4.12",
"clsx": "^2.1.1",
"prop-types": "^15.8.1",
"react-transition-group": "^4.4.5"
},
"engines": {
"node": ">=14.0.0"
},
"funding": {
"type": "opencollective",
"url": "https://opencollective.com/mui-org"
},
"peerDependencies": {
"@emotion/react": "^11.9.0",
"@emotion/styled": "^11.8.1",
"@mui/material": "^7.3.0 || ^9.0.0",
"@mui/system": "^7.3.0 || ^9.0.0",
"react": "^17.0.0 || ^18.0.0 || ^19.0.0",
"react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0"
},
"peerDependenciesMeta": {
"@emotion/react": {
"optional": true
},
"@emotion/styled": {
"optional": true
}
}
},
"node_modules/@mui/x-virtualizer": { "node_modules/@mui/x-virtualizer": {
"version": "0.6.3", "version": "0.6.3",
"resolved": "https://registry.npmjs.org/@mui/x-virtualizer/-/x-virtualizer-0.6.3.tgz", "resolved": "https://registry.npmjs.org/@mui/x-virtualizer/-/x-virtualizer-0.6.3.tgz",
@@ -1054,21 +1093,18 @@
"url": "https://opencollective.com/popperjs" "url": "https://opencollective.com/popperjs"
} }
}, },
"node_modules/@rolldown/binding-linux-x64-gnu": { "node_modules/@rolldown/binding-win32-x64-msvc": {
"version": "1.2.4", "version": "1.2.4",
"resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.2.4.tgz", "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.2.4.tgz",
"integrity": "sha512-4/GyVjmhR+Tc6HLJvwc1sOhPqAZtySiSMesOZyX6JQ5XBxoTDEMKQzvo07NIK6nTon/SivlZqvhzvuVBNQhObQ==", "integrity": "sha512-UwSDJOg3dqCAejWdxclJjCsh3Qq4vLYMDxmyHqo1btz3stK2VqgwNd3mm5tuIwzSlGIQ/1H9Hr+Zn09mrezNqQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MIT", "license": "MIT",
"optional": true, "optional": true,
"os": [ "os": [
"linux" "win32"
], ],
"engines": { "engines": {
"node": "^20.19.0 || >=22.12.0" "node": "^20.19.0 || >=22.12.0"
@@ -2325,21 +2361,18 @@
"lightningcss-win32-x64-msvc": "1.33.0" "lightningcss-win32-x64-msvc": "1.33.0"
} }
}, },
"node_modules/lightningcss-linux-x64-gnu": { "node_modules/lightningcss-win32-x64-msvc": {
"version": "1.33.0", "version": "1.33.0",
"resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.33.0.tgz", "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.33.0.tgz",
"integrity": "sha512-ar+Ju7LmcN0Jo4FpL4hpFybwNG9/3A/Br5KW2n2jyODg3MEZXaDYADdemoNS+BDNfMgKvylJLj4S5tyRActuAg==", "integrity": "sha512-OlEICDx/Xl0FqSp4bry8zFnCvGpig3Gl4gCquvYwHuqJKEC1+n9NgDniFvqHGmMv1ZkqDJrDqKKSykTDX+ehuA==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
"dev": true, "dev": true,
"libc": [
"glibc"
],
"license": "MPL-2.0", "license": "MPL-2.0",
"optional": true, "optional": true,
"os": [ "os": [
"linux" "win32"
], ],
"engines": { "engines": {
"node": ">= 12.0.0" "node": ">= 12.0.0"
@@ -0,0 +1 @@
{"root":["../../src/app.tsx","../../src/layout.tsx","../../src/keycloak.ts","../../src/main.tsx","../../src/api/product.api.ts","../../src/api/productgroup.api.ts","../../src/api/propertytype.api.ts","../../src/api/propertytypegroup.api.ts","../../src/api/value.api.ts","../../src/components/footer.tsx","../../src/components/navbar.tsx","../../src/components/products/productdetail.tsx","../../src/components/products/productformdialog.tsx","../../src/components/products/productgrid.tsx","../../src/components/products/productgrouptree.tsx","../../src/components/products/products.tsx","../../src/components/properties/entityformdialog.tsx","../../src/components/properties/properties.tsx","../../src/components/properties/propertytypegrid.tsx","../../src/components/properties/propertytypegrouptree.tsx","../../src/components/properties/valuegrid.tsx","../../src/data/product.ts","../../src/data/productgroup.ts","../../src/data/property.ts","../../src/data/propertytype.ts","../../src/data/propertytypegrouptable.ts","../../src/data/value.ts","../../src/pages/homepage.tsx","../../src/pages/notfoundpage.tsx"],"version":"6.0.3"}
@@ -0,0 +1 @@
{"root":["../../vite.config.ts"],"version":"6.0.3"}
@@ -0,0 +1,8 @@
"use client";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
//#region node_modules/@mui/icons-material/Add.mjs
var import_jsx_runtime = require_jsx_runtime();
var Add_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z" }), "Add");
//#endregion
export { Add_default as default };
@@ -0,0 +1 @@
{"version":3,"file":"@mui_icons-material_Add.js","names":[],"sources":["../../@mui/icons-material/Add.mjs"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z\"\n}), 'Add');"],"mappings":";;;;;AAIA,IAAA,cAAe,cAA2B,eAAA,GAAA,mBAAA,IAAA,CAAK,QAAQ,EACrD,GAAG,oCACL,CAAC,GAAG,KAAK"}
@@ -0,0 +1,8 @@
"use client";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
//#region node_modules/@mui/icons-material/Check.mjs
var import_jsx_runtime = require_jsx_runtime();
var Check_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z" }), "Check");
//#endregion
export { Check_default as default };
@@ -0,0 +1 @@
{"version":3,"file":"@mui_icons-material_Check.js","names":[],"sources":["../../@mui/icons-material/Check.mjs"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M9 16.17 4.83 12l-1.42 1.41L9 19 21 7l-1.41-1.41z\"\n}), 'Check');"],"mappings":";;;;;AAIA,IAAA,gBAAe,cAA2B,eAAA,GAAA,mBAAA,IAAA,CAAK,QAAQ,EACrD,GAAG,oDACL,CAAC,GAAG,OAAO"}
@@ -0,0 +1,8 @@
"use client";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
//#region node_modules/@mui/icons-material/Delete.mjs
var import_jsx_runtime = require_jsx_runtime();
var Delete_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z" }), "Delete");
//#endregion
export { Delete_default as default };
@@ -0,0 +1 @@
{"version":3,"file":"@mui_icons-material_Delete.js","names":[],"sources":["../../@mui/icons-material/Delete.mjs"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z\"\n}), 'Delete');"],"mappings":";;;;;AAIA,IAAA,iBAAe,cAA2B,eAAA,GAAA,mBAAA,IAAA,CAAK,QAAQ,EACrD,GAAG,2EACL,CAAC,GAAG,QAAQ"}
@@ -0,0 +1,8 @@
"use client";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
//#region node_modules/@mui/icons-material/Description.mjs
var import_jsx_runtime = require_jsx_runtime();
var Description_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z" }), "Description");
//#endregion
export { Description_default as default };
@@ -0,0 +1 @@
{"version":3,"file":"@mui_icons-material_Description.js","names":[],"sources":["../../@mui/icons-material/Description.mjs"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M14 2H6c-1.1 0-1.99.9-1.99 2L4 20c0 1.1.89 2 1.99 2H18c1.1 0 2-.9 2-2V8zm2 16H8v-2h8zm0-4H8v-2h8zm-3-5V3.5L18.5 9z\"\n}), 'Description');"],"mappings":";;;;;AAIA,IAAA,sBAAe,cAA2B,eAAA,GAAA,mBAAA,IAAA,CAAK,QAAQ,EACrD,GAAG,qHACL,CAAC,GAAG,aAAa"}
@@ -0,0 +1,8 @@
"use client";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
//#region node_modules/@mui/icons-material/Folder.mjs
var import_jsx_runtime = require_jsx_runtime();
var Folder_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z" }), "Folder");
//#endregion
export { Folder_default as default };
@@ -0,0 +1 @@
{"version":3,"file":"@mui_icons-material_Folder.js","names":[],"sources":["../../@mui/icons-material/Folder.mjs"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M10 4H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2h-8z\"\n}), 'Folder');"],"mappings":";;;;;AAIA,IAAA,iBAAe,cAA2B,eAAA,GAAA,mBAAA,IAAA,CAAK,QAAQ,EACrD,GAAG,yFACL,CAAC,GAAG,QAAQ"}
@@ -0,0 +1,8 @@
"use client";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
//#region node_modules/@mui/icons-material/Search.mjs
var import_jsx_runtime = require_jsx_runtime();
var Search_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14" }), "Search");
//#endregion
export { Search_default as default };
@@ -0,0 +1 @@
{"version":3,"file":"@mui_icons-material_Search.js","names":[],"sources":["../../@mui/icons-material/Search.mjs"],"sourcesContent":["\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14\"\n}), 'Search');"],"mappings":";;;;;AAIA,IAAA,iBAAe,cAA2B,eAAA,GAAA,mBAAA,IAAA,CAAK,QAAQ,EACrD,GAAG,oOACL,CAAC,GAAG,QAAQ"}
@@ -3,7 +3,7 @@ import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js"; import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js"; import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { i as useTabContext, n as getPanelId, r as getTabId } from "./TabContext-D4t-wY-9.js"; import { i as useTabContext, n as getPanelId, r as getTabId } from "./TabContext-D4t-wY-9.js";
import { t as Tabs } from "./Tabs-DPR7niDH.js"; import { t as Tabs } from "./Tabs-DcooAgFR.js";
//#region node_modules/@mui/lab/TabList/TabList.mjs //#region node_modules/@mui/lab/TabList/TabList.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1); var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1); var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
@@ -1,12 +1,11 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js"; import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js"; import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js"; import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { D as generateUtilityClasses, O as generateUtilityClass, tt as clsx } from "./identifier-pRD-G8ad.js"; import { F as generateUtilityClasses, I as generateUtilityClass, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { c as composeClasses, t as styled } from "./styled-igcOhZNb.js"; import { l as composeClasses, t as styled } from "./styled-Dq11esuZ.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js"; import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useThemeProps } from "./useThemeProps-YMBeHD5b.js"; import { t as useThemeProps } from "./useThemeProps-B4A_cZzq.js";
import { i as useTabContext, n as getPanelId, r as getTabId } from "./TabContext-D4t-wY-9.js"; import { i as useTabContext, n as getPanelId, r as getTabId } from "./TabContext-D4t-wY-9.js";
import "./styles-BWi6MI3j.js";
//#region node_modules/@mui/lab/TabPanel/tabPanelClasses.mjs //#region node_modules/@mui/lab/TabPanel/tabPanelClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1); var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1); var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -1,2 +1,2 @@
import { n as appBarClasses, r as getAppBarUtilityClass, t as AppBar } from "./AppBar-DiVPdr4t.js"; import { n as appBarClasses, r as getAppBarUtilityClass, t as AppBar } from "./AppBar-jnTHxJHg.js";
export { appBarClasses, AppBar as default, getAppBarUtilityClass }; export { appBarClasses, AppBar as default, getAppBarUtilityClass };
@@ -1,2 +1,2 @@
import { n as boxClasses, t as Box } from "./Box-CQOAuykB.js"; import { n as boxClasses, t as Box } from "./Box-C4LEZQ4f.js";
export { boxClasses, Box as default }; export { boxClasses, Box as default };
@@ -0,0 +1,2 @@
import { a as getButtonUtilityClass, i as buttonClasses, t as Button } from "./Button-Digmcb9Y.js";
export { buttonClasses, Button as default, getButtonUtilityClass };
@@ -0,0 +1,2 @@
import { n as checkboxClasses, r as getCheckboxUtilityClass, t as Checkbox } from "./Checkbox-B8Jxz6oa.js";
export { checkboxClasses, Checkbox as default, getCheckboxUtilityClass };
@@ -0,0 +1,2 @@
import { n as chipClasses, r as getChipUtilityClass, t as Chip } from "./Chip-gPTfo2jJ.js";
export { chipClasses, Chip as default, getChipUtilityClass };
@@ -0,0 +1,2 @@
import { n as dialogClasses, r as getDialogUtilityClass, t as Dialog } from "./Dialog-CmKf_mUC.js";
export { Dialog as default, dialogClasses, getDialogUtilityClass };
@@ -0,0 +1,2 @@
import { n as dialogActionsClasses, r as getDialogActionsUtilityClass, t as DialogActions } from "./DialogActions-BnJCnobA.js";
export { DialogActions as default, dialogActionsClasses, getDialogActionsUtilityClass };
@@ -0,0 +1,2 @@
import { n as dialogContentClasses, r as getDialogContentUtilityClass, t as DialogContent } from "./DialogContent-CxE2I2pF.js";
export { DialogContent as default, dialogContentClasses, getDialogContentUtilityClass };
@@ -0,0 +1,3 @@
import { n as getDialogTitleUtilityClass, t as dialogTitleClasses } from "./dialogTitleClasses-BMWdNl2E.js";
import { t as DialogTitle } from "./DialogTitle-Bdeq_m4v.js";
export { DialogTitle as default, dialogTitleClasses, getDialogTitleUtilityClass };
@@ -0,0 +1,3 @@
import { n as formControlClasses, r as getFormControlUtilityClasses, t as FormControl } from "./FormControl-BBWMdsor.js";
import { t as useFormControl } from "./useFormControl-DsSCzWhM.js";
export { FormControl as default, formControlClasses, getFormControlUtilityClasses, useFormControl };
@@ -0,0 +1,2 @@
import { n as getIconButtonUtilityClass, r as iconButtonClasses, t as IconButton } from "./IconButton-D15NphpU.js";
export { IconButton as default, getIconButtonUtilityClass, iconButtonClasses };
@@ -0,0 +1,3 @@
import { n as inputAdornmentClasses, t as getInputAdornmentUtilityClass } from "./inputAdornmentClasses-ClNggkd0.js";
import { t as InputAdornment } from "./InputAdornment-oDPNkEQ8.js";
export { InputAdornment as default, getInputAdornmentUtilityClass, inputAdornmentClasses };
@@ -0,0 +1,3 @@
import { t as InputLabel } from "./InputLabel-CMR3xNb9.js";
import { n as inputLabelClasses, t as getInputLabelUtilityClasses } from "./inputLabelClasses-SE8nfTj6.js";
export { InputLabel as default, getInputLabelUtilityClasses, inputLabelClasses };
@@ -0,0 +1,2 @@
import { n as getListItemTextUtilityClass, r as listItemTextClasses, t as ListItemText } from "./ListItemText-DDPPBz7v.js";
export { ListItemText as default, getListItemTextUtilityClass, listItemTextClasses };
@@ -0,0 +1,2 @@
import { o as getMenuItemUtilityClass, s as menuItemClasses, t as MenuItem } from "./MenuItem-CKw_jkNA.js";
export { MenuItem as default, getMenuItemUtilityClass, menuItemClasses };
@@ -0,0 +1,2 @@
import { n as getPaperUtilityClass, r as paperClasses, t as Paper } from "./Paper-Dp73HJFm.js";
export { Paper as default, getPaperUtilityClass, paperClasses };
@@ -0,0 +1,3 @@
import { C as getSelectUtilityClasses, _ as getOpenInteractionType, g as isEmpty, h as areEqualValues, t as Select, w as selectClasses } from "./Select-CDDaUIdG.js";
import { i as useSelectFocusSource, r as SelectFocusSourceProvider } from "./MenuListContext-DsdfkY0h.js";
export { SelectFocusSourceProvider, areEqualValues, Select as default, getOpenInteractionType, getSelectUtilityClasses, isEmpty, selectClasses, useSelectFocusSource };
@@ -0,0 +1,2 @@
import { n as Stack, t as stackClasses } from "./Stack-BfolKqSt.js";
export { Stack as default, stackClasses };
@@ -1,2 +1,2 @@
import { n as getTabUtilityClass, r as tabClasses, t as Tab } from "./Tab-C2eNQv8y.js"; import { n as getTabUtilityClass, r as tabClasses, t as Tab } from "./Tab-B6VtUp_e.js";
export { Tab as default, getTabUtilityClass, tabClasses }; export { Tab as default, getTabUtilityClass, tabClasses };
@@ -0,0 +1,2 @@
import { n as getTableUtilityClass, r as tableClasses, t as Table } from "./Table-CfuqII2r.js";
export { Table as default, getTableUtilityClass, tableClasses };
@@ -0,0 +1,2 @@
import { n as getTableBodyUtilityClass, r as tableBodyClasses, t as TableBody } from "./TableBody-BFcGSiqz.js";
export { TableBody as default, getTableBodyUtilityClass, tableBodyClasses };
@@ -0,0 +1,2 @@
import { n as getTableCellUtilityClass, r as tableCellClasses, t as TableCell } from "./TableCell-i2k-ycqG.js";
export { TableCell as default, getTableCellUtilityClass, tableCellClasses };
@@ -0,0 +1,2 @@
import { n as getTableContainerUtilityClass, r as tableContainerClasses, t as TableContainer } from "./TableContainer-Dy7QCpgP.js";
export { TableContainer as default, getTableContainerUtilityClass, tableContainerClasses };
@@ -0,0 +1,2 @@
import { n as getTableHeadUtilityClass, r as tableHeadClasses, t as TableHead } from "./TableHead-CXVJkJ1r.js";
export { TableHead as default, getTableHeadUtilityClass, tableHeadClasses };
@@ -0,0 +1,2 @@
import { n as getTableRowUtilityClass, r as tableRowClasses, t as TableRow } from "./TableRow-B3taH--s.js";
export { TableRow as default, getTableRowUtilityClass, tableRowClasses };
@@ -0,0 +1,2 @@
import { n as getTextFieldUtilityClass, r as textFieldClasses, t as TextField } from "./TextField-B9yWAr45.js";
export { TextField as default, getTextFieldUtilityClass, textFieldClasses };
@@ -0,0 +1,2 @@
import { n as getTooltipUtilityClass, r as tooltipClasses, t as Tooltip } from "./Tooltip-CkNB0kn8.js";
export { Tooltip as default, getTooltipUtilityClass, tooltipClasses };
@@ -1,2 +1,2 @@
import { n as getTypographyUtilityClass, r as typographyClasses, t as Typography } from "./Typography-mjTUKeB0.js"; import { n as getTypographyUtilityClass, r as typographyClasses, t as Typography } from "./Typography-D0X9-lHE.js";
export { Typography as default, getTypographyUtilityClass, typographyClasses }; export { Typography as default, getTypographyUtilityClass, typographyClasses };
@@ -1,3 +0,0 @@
import { a as red, c as common, i as orange, n as lightBlue, o as purple, r as blue, s as grey, t as green } from "./green-D6xTj620.js";
import { a as amber, c as lightGreen, d as indigo, f as deepPurple, i as deepOrange, l as teal, n as blueGrey, o as yellow, p as pink, r as brown, s as lime, u as cyan } from "./colors-BCmNAyTD.js";
export { amber, blue, blueGrey, brown, common, cyan, deepOrange, deepPurple, green, grey, indigo, lightBlue, lightGreen, lime, orange, pink, purple, red, teal, yellow };
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
@@ -0,0 +1,2 @@
import { a as TreeItemIconContainer, c as getTreeItemUtilityClass, i as TreeItemGroupTransition, l as treeItemClasses, n as TreeItemCheckbox, o as TreeItemLabel, r as TreeItemContent, s as TreeItemRoot, t as TreeItem } from "./TreeItem-BxWETNDk.js";
export { TreeItem, TreeItemCheckbox, TreeItemContent, TreeItemGroupTransition, TreeItemIconContainer, TreeItemLabel, TreeItemRoot, getTreeItemUtilityClass, treeItemClasses };
@@ -0,0 +1,379 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { F as generateUtilityClasses, I as generateUtilityClass, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { l as composeClasses, t as styled } from "./styled-Dq11esuZ.js";
import { t as capitalize_default } from "./capitalize-CAiNKy2l.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
import { t as createSimplePaletteValueFilter } from "./createSimplePaletteValueFilter-BhADkSm9.js";
import { t as useSlot } from "./useSlot-Cg0qr-dR.js";
import { t as Paper } from "./Paper-Dp73HJFm.js";
import { t as IconButton } from "./IconButton-D15NphpU.js";
import { t as Close_default } from "./Close-B5eRwVOo.js";
//#region node_modules/@mui/material/Alert/alertClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
function getAlertUtilityClass(slot) {
return generateUtilityClass("MuiAlert", slot);
}
var alertClasses = generateUtilityClasses("MuiAlert", [
"root",
"action",
"icon",
"message",
"filled",
"colorSuccess",
"colorInfo",
"colorWarning",
"colorError",
"outlined",
"standard"
]);
//#endregion
//#region node_modules/@mui/material/internal/svg-icons/SuccessOutlined.mjs
var import_jsx_runtime = require_jsx_runtime();
var SuccessOutlined_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M20,12A8,8 0 0,1 12,20A8,8 0 0,1 4,12A8,8 0 0,1 12,4C12.76,4 13.5,4.11 14.2, 4.31L15.77,2.74C14.61,2.26 13.34,2 12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0, 0 22,12M7.91,10.08L6.5,11.5L11,16L21,6L19.59,4.58L11,13.17L7.91,10.08Z" }), "SuccessOutlined");
//#endregion
//#region node_modules/@mui/material/internal/svg-icons/ReportProblemOutlined.mjs
/**
* @ignore - internal component.
*/
var ReportProblemOutlined_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M12 5.99L19.53 19H4.47L12 5.99M12 2L1 21h22L12 2zm1 14h-2v2h2v-2zm0-6h-2v4h2v-4z" }), "ReportProblemOutlined");
//#endregion
//#region node_modules/@mui/material/internal/svg-icons/ErrorOutline.mjs
/**
* @ignore - internal component.
*/
var ErrorOutline_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M11 15h2v2h-2zm0-8h2v6h-2zm.99-5C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2zM12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8z" }), "ErrorOutline");
//#endregion
//#region node_modules/@mui/material/internal/svg-icons/InfoOutlined.mjs
/**
* @ignore - internal component.
*/
var InfoOutlined_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M11,9H13V7H11M12,20C7.59,20 4,16.41 4,12C4,7.59 7.59,4 12,4C16.41,4 20,7.59 20, 12C20,16.41 16.41,20 12,20M12,2A10,10 0 0,0 2,12A10,10 0 0,0 12,22A10,10 0 0,0 22,12A10, 10 0 0,0 12,2M11,17H13V11H11V17Z" }), "InfoOutlined");
//#endregion
//#region node_modules/@mui/material/Alert/Alert.mjs
var useUtilityClasses = (ownerState) => {
const { variant, color, severity, classes } = ownerState;
const slots = {
root: [
"root",
`color${capitalize_default(color || severity)}`,
`${variant}`
],
icon: ["icon"],
message: ["message"],
action: ["action"]
};
return composeClasses(slots, getAlertUtilityClass, classes);
};
var AlertRoot = styled(Paper, {
name: "MuiAlert",
slot: "Root",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [styles.root, styles[ownerState.variant]];
}
})(memoTheme(({ theme }) => {
const getColor = theme.palette.mode === "light" ? theme.darken : theme.lighten;
const getBackgroundColor = theme.palette.mode === "light" ? theme.lighten : theme.darken;
return {
...theme.typography.body2,
backgroundColor: "transparent",
display: "flex",
padding: "6px 16px",
variants: [
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(["light"])).map(([color]) => ({
props: {
colorSeverity: color,
variant: "standard"
},
style: {
color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, .6),
backgroundColor: theme.vars ? theme.vars.palette.Alert[`${color}StandardBg`] : getBackgroundColor(theme.palette[color].light, .9),
[`& .${alertClasses.icon}`]: theme.vars ? { color: theme.vars.palette.Alert[`${color}IconColor`] } : { color: theme.palette[color].main }
}
})),
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(["light"])).map(([color]) => ({
props: {
colorSeverity: color,
variant: "outlined"
},
style: {
color: theme.vars ? theme.vars.palette.Alert[`${color}Color`] : getColor(theme.palette[color].light, .6),
border: `1px solid ${(theme.vars || theme).palette[color].light}`,
[`& .${alertClasses.icon}`]: theme.vars ? { color: theme.vars.palette.Alert[`${color}IconColor`] } : { color: theme.palette[color].main }
}
})),
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(["dark"])).map(([color]) => ({
props: {
colorSeverity: color,
variant: "filled"
},
style: {
fontWeight: theme.typography.fontWeightMedium,
...theme.vars ? {
color: theme.vars.palette.Alert[`${color}FilledColor`],
backgroundColor: theme.vars.palette.Alert[`${color}FilledBg`]
} : {
backgroundColor: theme.palette.mode === "dark" ? theme.palette[color].dark : theme.palette[color].main,
color: theme.palette.getContrastText(theme.palette[color].main)
}
}
}))
]
};
}));
var AlertIcon = styled("div", {
name: "MuiAlert",
slot: "Icon"
})({
marginRight: 12,
padding: "7px 0",
display: "flex",
fontSize: 22,
opacity: .9
});
var AlertMessage = styled("div", {
name: "MuiAlert",
slot: "Message"
})({
padding: "8px 0",
minWidth: 0,
overflow: "auto"
});
var AlertAction = styled("div", {
name: "MuiAlert",
slot: "Action"
})({
display: "flex",
alignItems: "flex-start",
padding: "4px 0 0 16px",
marginLeft: "auto",
marginRight: -8
});
var defaultIconMapping = {
success: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(SuccessOutlined_default, { fontSize: "inherit" }),
warning: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ReportProblemOutlined_default, { fontSize: "inherit" }),
error: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ErrorOutline_default, { fontSize: "inherit" }),
info: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(InfoOutlined_default, { fontSize: "inherit" })
};
var Alert = /*#__PURE__*/ import_react.forwardRef(function Alert(inProps, ref) {
const props = useDefaultProps({
props: inProps,
name: "MuiAlert"
});
const { action, children, className, closeText = "Close", color, icon, iconMapping = defaultIconMapping, onClose, role = "alert", severity = "success", slotProps = {}, slots = {}, variant = "standard", ...other } = props;
const ownerState = {
...props,
color,
severity,
variant,
colorSeverity: color || severity
};
const classes = useUtilityClasses(ownerState);
const externalForwardedProps = {
slots,
slotProps
};
const [RootSlot, rootSlotProps] = useSlot("root", {
ref,
shouldForwardComponentProp: true,
className: clsx(classes.root, className),
elementType: AlertRoot,
externalForwardedProps: {
...externalForwardedProps,
...other
},
ownerState,
additionalProps: {
role,
elevation: 0
}
});
const [IconSlot, iconSlotProps] = useSlot("icon", {
className: classes.icon,
elementType: AlertIcon,
externalForwardedProps,
ownerState
});
const [MessageSlot, messageSlotProps] = useSlot("message", {
className: classes.message,
elementType: AlertMessage,
externalForwardedProps,
ownerState
});
const [ActionSlot, actionSlotProps] = useSlot("action", {
className: classes.action,
elementType: AlertAction,
externalForwardedProps,
ownerState
});
const [CloseButtonSlot, closeButtonProps] = useSlot("closeButton", {
elementType: IconButton,
externalForwardedProps,
ownerState
});
const [CloseIconSlot, closeIconProps] = useSlot("closeIcon", {
elementType: Close_default,
externalForwardedProps,
ownerState
});
return /*#__PURE__*/ (0, import_jsx_runtime.jsxs)(RootSlot, {
...rootSlotProps,
children: [
icon !== false ? /*#__PURE__*/ (0, import_jsx_runtime.jsx)(IconSlot, {
...iconSlotProps,
children: icon || iconMapping[severity] || defaultIconMapping[severity]
}) : null,
/*#__PURE__*/ (0, import_jsx_runtime.jsx)(MessageSlot, {
...messageSlotProps,
children
}),
action != null ? /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ActionSlot, {
...actionSlotProps,
children: action
}) : null,
action == null && onClose ? /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ActionSlot, {
...actionSlotProps,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CloseButtonSlot, {
size: "small",
"aria-label": closeText,
title: closeText,
color: "inherit",
onClick: onClose,
...closeButtonProps,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CloseIconSlot, {
fontSize: "small",
...closeIconProps
})
})
}) : null
]
});
});
Alert.propTypes = {
/**
* The action to display. It renders after the message, at the end of the alert.
*/
action: import_prop_types.default.node,
/**
* The content of the component.
*/
children: import_prop_types.default.node,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* Override the default label for the *close popup* icon button.
*
* For localization purposes, you can use the provided [translations](https://mui.com/material-ui/guides/localization/).
* @default 'Close'
*/
closeText: import_prop_types.default.string,
/**
* The color of the component. Unless provided, the value is taken from the `severity` prop.
* It supports both default and custom theme colors, which can be added as shown in the
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
*/
color: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"error",
"info",
"success",
"warning"
]), import_prop_types.default.string]),
/**
* Override the icon displayed before the children.
* Unless provided, the icon is mapped to the value of the `severity` prop.
* Set to `false` to remove the `icon`.
*/
icon: import_prop_types.default.node,
/**
* The component maps the `severity` prop to a range of different icons,
* for instance success to `<SuccessOutlined>`.
* If you wish to change this mapping, you can provide your own.
* Alternatively, you can use the `icon` prop to override the icon displayed.
*/
iconMapping: import_prop_types.default.shape({
error: import_prop_types.default.node,
info: import_prop_types.default.node,
success: import_prop_types.default.node,
warning: import_prop_types.default.node
}),
/**
* Callback fired when the component requests to be closed.
* When provided and no `action` prop is set, a close icon button is displayed that triggers the callback when clicked.
* @param {React.SyntheticEvent} event The event source of the callback.
*/
onClose: import_prop_types.default.func,
/**
* The ARIA role attribute of the element.
* @default 'alert'
*/
role: import_prop_types.default.string,
/**
* The severity of the alert. This defines the color and icon used.
* @default 'success'
*/
severity: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"error",
"info",
"success",
"warning"
]), import_prop_types.default.string]),
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: import_prop_types.default.shape({
action: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
closeButton: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
closeIcon: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
icon: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
message: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
root: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object])
}),
/**
* The components used for each slot inside.
* @default {}
*/
slots: import_prop_types.default.shape({
action: import_prop_types.default.elementType,
closeButton: import_prop_types.default.elementType,
closeIcon: import_prop_types.default.elementType,
icon: import_prop_types.default.elementType,
message: import_prop_types.default.elementType,
root: import_prop_types.default.elementType
}),
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* The variant to use.
* @default 'standard'
*/
variant: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"filled",
"outlined",
"standard"
]), import_prop_types.default.string])
};
//#endregion
export { alertClasses as n, getAlertUtilityClass as r, Alert as t };
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,220 +1,17 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js"; import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js"; import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js"; import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { D as generateUtilityClasses, O as generateUtilityClass, h as alpha, s as getOverlayAlpha, tt as clsx } from "./identifier-pRD-G8ad.js"; import { F as generateUtilityClasses, I as generateUtilityClass, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { c as composeClasses, t as styled } from "./styled-igcOhZNb.js"; import { l as composeClasses, t as styled } from "./styled-Dq11esuZ.js";
import { t as capitalize_default } from "./capitalize-CAiNKy2l.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js"; import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { n as useDefaultProps, r as memoTheme, t as capitalize_default } from "./capitalize-DTn_UgGy.js"; import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { n as useTheme, t as chainPropTypes } from "./chainPropTypes-CAm0AXCI.js"; import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { t as createSimplePaletteValueFilter } from "./createSimplePaletteValueFilter-BhADkSm9.js"; import { t as createSimplePaletteValueFilter } from "./createSimplePaletteValueFilter-BhADkSm9.js";
import { i as getTransitionStyles } from "./utils-BCVtNTPx.js"; import { t as Paper } from "./Paper-Dp73HJFm.js";
//#region node_modules/@mui/utils/integerPropType/integerPropType.mjs //#region node_modules/@mui/material/AppBar/appBarClasses.mjs
function getTypeByValue(value) {
const valueType = typeof value;
switch (valueType) {
case "number":
if (Number.isNaN(value)) return "NaN";
if (!Number.isFinite(value)) return "Infinity";
if (value !== Math.floor(value)) return "float";
return "number";
case "object":
if (value === null) return "null";
return value.constructor.name;
default: return valueType;
}
}
function requiredInteger(props, propName, componentName, location) {
const propValue = props[propName];
if (propValue == null || !Number.isInteger(propValue)) {
const propType = getTypeByValue(propValue);
return /* @__PURE__ */ new RangeError(`Invalid ${location} \`${propName}\` of type \`${propType}\` supplied to \`${componentName}\`, expected \`integer\`.`);
}
return null;
}
function validator(props, propName, componentName, location) {
if (props[propName] === void 0) return null;
return requiredInteger(props, propName, componentName, location);
}
function validatorNoop() {
return null;
}
validator.isRequired = requiredInteger;
validatorNoop.isRequired = validatorNoop;
var integerPropType = validator;
//#endregion
//#region node_modules/@mui/material/Paper/paperClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1); var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1); var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
function getPaperUtilityClass(slot) {
return generateUtilityClass("MuiPaper", slot);
}
var paperClasses = generateUtilityClasses("MuiPaper", [
"root",
"rounded",
"outlined",
"elevation",
"elevation0",
"elevation1",
"elevation2",
"elevation3",
"elevation4",
"elevation5",
"elevation6",
"elevation7",
"elevation8",
"elevation9",
"elevation10",
"elevation11",
"elevation12",
"elevation13",
"elevation14",
"elevation15",
"elevation16",
"elevation17",
"elevation18",
"elevation19",
"elevation20",
"elevation21",
"elevation22",
"elevation23",
"elevation24"
]);
//#endregion
//#region node_modules/@mui/material/Paper/Paper.mjs
var import_jsx_runtime = require_jsx_runtime();
var useUtilityClasses$1 = (ownerState) => {
const { square, elevation, variant, classes } = ownerState;
const slots = { root: [
"root",
variant,
!square && "rounded",
variant === "elevation" && `elevation${elevation}`
] };
return composeClasses(slots, getPaperUtilityClass, classes);
};
var PaperRoot = styled("div", {
name: "MuiPaper",
slot: "Root",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [
styles.root,
styles[ownerState.variant],
!ownerState.square && styles.rounded,
ownerState.variant === "elevation" && styles[`elevation${ownerState.elevation}`]
];
}
})(memoTheme(({ theme }) => ({
backgroundColor: (theme.vars || theme).palette.background.paper,
color: (theme.vars || theme).palette.text.primary,
...getTransitionStyles(theme, "box-shadow"),
variants: [
{
props: ({ ownerState }) => !ownerState.square,
style: { borderRadius: theme.shape.borderRadius }
},
{
props: { variant: "outlined" },
style: { border: `1px solid ${(theme.vars || theme).palette.divider}` }
},
{
props: { variant: "elevation" },
style: {
boxShadow: "var(--Paper-shadow)",
backgroundImage: "var(--Paper-overlay)"
}
}
]
})));
var Paper = /*#__PURE__*/ import_react.forwardRef(function Paper(inProps, ref) {
const props = useDefaultProps({
props: inProps,
name: "MuiPaper"
});
const theme = useTheme();
const { className, component = "div", elevation = 1, square = false, variant = "elevation", ...other } = props;
const ownerState = {
...props,
component,
elevation,
square,
variant
};
const classes = useUtilityClasses$1(ownerState);
if (theme.shadows[elevation] === void 0) console.error([`MUI: The elevation provided <Paper elevation={${elevation}}> is not available in the theme.`, `Please make sure that \`theme.shadows[${elevation}]\` is defined.`].join("\n"));
return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(PaperRoot, {
as: component,
ownerState,
className: clsx(classes.root, className),
ref,
...other,
style: {
...variant === "elevation" && {
"--Paper-shadow": (theme.vars || theme).shadows[elevation],
...theme.vars && { "--Paper-overlay": theme.vars.overlays?.[elevation] },
...!theme.vars && theme.palette.mode === "dark" && { "--Paper-overlay": `linear-gradient(${alpha("#fff", getOverlayAlpha(elevation))}, ${alpha("#fff", getOverlayAlpha(elevation))})` }
},
...other.style
}
});
});
Paper.propTypes = {
/**
* The content of the component.
*/
children: import_prop_types.default.node,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* The component used for the root node.
* Either a string to use a HTML element or a component.
*/
component: import_prop_types.default.elementType,
/**
* Shadow depth, corresponds to `dp` in the spec.
* It accepts values between 0 and 24 inclusive.
* @default 1
*/
elevation: chainPropTypes(integerPropType, (props) => {
const { elevation, variant } = props;
if (elevation > 0 && variant === "outlined") return /* @__PURE__ */ new Error(`MUI: Combining \`elevation={${elevation}}\` with \`variant="${variant}"\` has no effect. Either use \`elevation={0}\` or use a different \`variant\`.`);
return null;
}),
/**
* If `true`, rounded corners are disabled.
* @default false
*/
square: import_prop_types.default.bool,
/**
* @ignore
*/
style: import_prop_types.default.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* The variant to use.
* @default 'elevation'
*/
variant: import_prop_types.default.oneOfType([import_prop_types.default.oneOf(["elevation", "outlined"]), import_prop_types.default.string])
};
//#endregion
//#region node_modules/@mui/material/AppBar/appBarClasses.mjs
function getAppBarUtilityClass(slot) { function getAppBarUtilityClass(slot) {
return generateUtilityClass("MuiAppBar", slot); return generateUtilityClass("MuiAppBar", slot);
} }
@@ -237,6 +34,7 @@ var appBarClasses = generateUtilityClasses("MuiAppBar", [
]); ]);
//#endregion //#endregion
//#region node_modules/@mui/material/AppBar/AppBar.mjs //#region node_modules/@mui/material/AppBar/AppBar.mjs
var import_jsx_runtime = require_jsx_runtime();
var useUtilityClasses = (ownerState) => { var useUtilityClasses = (ownerState) => {
const { color, position, classes } = ownerState; const { color, position, classes } = ownerState;
const slots = { root: [ const slots = { root: [
@@ -455,4 +253,4 @@ AppBar.propTypes = {
]) ])
}; };
//#endregion //#endregion
export { getPaperUtilityClass as a, Paper as i, appBarClasses as n, paperClasses as o, getAppBarUtilityClass as r, integerPropType as s, AppBar as t }; export { appBarClasses as n, getAppBarUtilityClass as r, AppBar as t };
File diff suppressed because one or more lines are too long
@@ -1,10 +1,9 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js"; import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js"; import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js"; import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { D as generateUtilityClasses, H as styleFunctionSx_default, P as styled, k as ClassNameGenerator, n as createTheme, t as identifier_default, tt as clsx } from "./identifier-pRD-G8ad.js"; import { F as generateUtilityClasses, H as styled, L as ClassNameGenerator, Z as styleFunctionSx_default, n as createTheme, t as identifier_default, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js"; import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useTheme } from "./useTheme-BA1VhxUt.js"; import { t as useTheme } from "./useTheme-c_7N7PR0.js";
import "./styles-BWi6MI3j.js";
//#region node_modules/@mui/system/createBox/createBox.mjs //#region node_modules/@mui/system/createBox/createBox.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1); var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_jsx_runtime = require_jsx_runtime(); var import_jsx_runtime = require_jsx_runtime();
@@ -1 +1 @@
{"version":3,"file":"Box-CQOAuykB.js","names":["styleFunctionSx","THEME_ID","PropTypes"],"sources":["../../@mui/system/createBox/createBox.mjs","../../@mui/material/Box/boxClasses.mjs","../../@mui/material/Box/Box.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx from \"../styleFunctionSx/index.mjs\";\nimport useTheme from \"../useTheme/index.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const {\n className,\n component = 'div',\n ...other\n } = inProps;\n return /*#__PURE__*/_jsx(BoxRoot, {\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme,\n ...other\n });\n });\n return Box;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from \"../className/index.mjs\";\nimport { createTheme } from \"../styles/index.mjs\";\nimport THEME_ID from \"../styles/identifier.mjs\";\nimport boxClasses from \"./boxClasses.mjs\";\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;"],"mappings":";;;;;;;;;;AAQA,SAAwB,UAAU,UAAU,CAAC,GAAG;CAC9C,MAAM,EACJ,SACA,cACA,mBAAmB,eACnB,sBACE;CACJ,MAAM,UAAU,OAAO,OAAO,EAC5B,oBAAmB,SAAQ,SAAS,WAAW,SAAS,QAAQ,SAAS,KAC3E,CAAC,CAAC,CAACA,uBAAe;CAgBlB,OAAO,6BAfwB,WAAW,SAAS,IAAI,SAAS,KAAK;EACnE,MAAM,QAAQ,SAAS,YAAY;EACnC,MAAM,EACJ,WACA,YAAY,OACZ,GAAG,UACD;EACJ,OAAoB,eAAA,GAAA,mBAAA,IAAA,CAAK,SAAS;GAChC,IAAI;GACC;GACL,WAAW,KAAK,WAAW,oBAAoB,kBAAkB,gBAAgB,IAAI,gBAAgB;GACrG,OAAO,UAAU,MAAM,YAAY,QAAQ;GAC3C,GAAG;EACL,CAAC;CACH,CACS;AACX;;;;ACjCA,IAAM,aAAa,uBAAuB,UAAU,CAAC,MAAM,CAAC;;;ACO5D,IAAM,eAAe,YAAY;AACjC,IAAM,MAAM,UAAU;CACpB,SAASC;CACT;CACA,kBAAkB,WAAW;CAC7B,mBAAmB,mBAAmB;AACxC,CAAC;AACuC,IAAI,YAAmC;;;;CAQ7E,UAAUC,kBAAAA,QAAU;;;;;CAKpB,WAAWA,kBAAAA,QAAU;;;;CAIrB,IAAIA,kBAAAA,QAAU,UAAU;EAACA,kBAAAA,QAAU,QAAQA,kBAAAA,QAAU,UAAU;GAACA,kBAAAA,QAAU;GAAMA,kBAAAA,QAAU;GAAQA,kBAAAA,QAAU;EAAI,CAAC,CAAC;EAAGA,kBAAAA,QAAU;EAAMA,kBAAAA,QAAU;CAAM,CAAC;AACxJ"} {"version":3,"file":"Box-C4LEZQ4f.js","names":["styleFunctionSx","THEME_ID","PropTypes"],"sources":["../../@mui/system/createBox/createBox.mjs","../../@mui/material/Box/boxClasses.mjs","../../@mui/material/Box/Box.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport clsx from 'clsx';\nimport styled from '@mui/styled-engine';\nimport styleFunctionSx from \"../styleFunctionSx/index.mjs\";\nimport useTheme from \"../useTheme/index.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default function createBox(options = {}) {\n const {\n themeId,\n defaultTheme,\n defaultClassName = 'MuiBox-root',\n generateClassName\n } = options;\n const BoxRoot = styled('div', {\n shouldForwardProp: prop => prop !== 'theme' && prop !== 'sx' && prop !== 'as'\n })(styleFunctionSx);\n const Box = /*#__PURE__*/React.forwardRef(function Box(inProps, ref) {\n const theme = useTheme(defaultTheme);\n const {\n className,\n component = 'div',\n ...other\n } = inProps;\n return /*#__PURE__*/_jsx(BoxRoot, {\n as: component,\n ref: ref,\n className: clsx(className, generateClassName ? generateClassName(defaultClassName) : defaultClassName),\n theme: themeId ? theme[themeId] || theme : theme,\n ...other\n });\n });\n return Box;\n}","import generateUtilityClasses from '@mui/utils/generateUtilityClasses';\nconst boxClasses = generateUtilityClasses('MuiBox', ['root']);\nexport default boxClasses;","'use client';\n\nimport { createBox } from '@mui/system';\nimport PropTypes from 'prop-types';\nimport { unstable_ClassNameGenerator as ClassNameGenerator } from \"../className/index.mjs\";\nimport { createTheme } from \"../styles/index.mjs\";\nimport THEME_ID from \"../styles/identifier.mjs\";\nimport boxClasses from \"./boxClasses.mjs\";\nconst defaultTheme = createTheme();\nconst Box = createBox({\n themeId: THEME_ID,\n defaultTheme,\n defaultClassName: boxClasses.root,\n generateClassName: ClassNameGenerator.generate\n});\nprocess.env.NODE_ENV !== \"production\" ? Box.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the d.ts file and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n */\n component: PropTypes.elementType,\n /**\n * The system prop that allows defining system overrides as well as additional CSS styles.\n */\n sx: PropTypes.oneOfType([PropTypes.arrayOf(PropTypes.oneOfType([PropTypes.func, PropTypes.object, PropTypes.bool])), PropTypes.func, PropTypes.object])\n} : void 0;\nexport default Box;"],"mappings":";;;;;;;;;AAQA,SAAwB,UAAU,UAAU,CAAC,GAAG;CAC9C,MAAM,EACJ,SACA,cACA,mBAAmB,eACnB,sBACE;CACJ,MAAM,UAAU,OAAO,OAAO,EAC5B,oBAAmB,SAAQ,SAAS,WAAW,SAAS,QAAQ,SAAS,KAC3E,CAAC,CAAC,CAACA,uBAAe;CAgBlB,OAAO,6BAfwB,WAAW,SAAS,IAAI,SAAS,KAAK;EACnE,MAAM,QAAQ,SAAS,YAAY;EACnC,MAAM,EACJ,WACA,YAAY,OACZ,GAAG,UACD;EACJ,OAAoB,eAAA,GAAA,mBAAA,IAAA,CAAK,SAAS;GAChC,IAAI;GACC;GACL,WAAW,KAAK,WAAW,oBAAoB,kBAAkB,gBAAgB,IAAI,gBAAgB;GACrG,OAAO,UAAU,MAAM,YAAY,QAAQ;GAC3C,GAAG;EACL,CAAC;CACH,CACS;AACX;;;;ACjCA,IAAM,aAAa,uBAAuB,UAAU,CAAC,MAAM,CAAC;;;ACO5D,IAAM,eAAe,YAAY;AACjC,IAAM,MAAM,UAAU;CACpB,SAASC;CACT;CACA,kBAAkB,WAAW;CAC7B,mBAAmB,mBAAmB;AACxC,CAAC;AACuC,IAAI,YAAmC;;;;CAQ7E,UAAUC,kBAAAA,QAAU;;;;;CAKpB,WAAWA,kBAAAA,QAAU;;;;CAIrB,IAAIA,kBAAAA,QAAU,UAAU;EAACA,kBAAAA,QAAU,QAAQA,kBAAAA,QAAU,UAAU;GAACA,kBAAAA,QAAU;GAAMA,kBAAAA,QAAU;GAAQA,kBAAAA,QAAU;EAAI,CAAC,CAAC;EAAGA,kBAAAA,QAAU;EAAMA,kBAAAA,QAAU;CAAM,CAAC;AACxJ"}
@@ -0,0 +1,682 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { F as generateUtilityClasses, I as generateUtilityClass, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { a as resolveProps, l as composeClasses, n as rootShouldForwardProp, t as styled } from "./styled-Dq11esuZ.js";
import { t as capitalize_default } from "./capitalize-CAiNKy2l.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { i as getTransitionStyles } from "./utils-BCVtNTPx.js";
import { t as createSimplePaletteValueFilter } from "./createSimplePaletteValueFilter-BhADkSm9.js";
import { t as CircularProgress } from "./CircularProgress-CZv3_Pmq.js";
import { t as useId_default } from "./useId-UEgN89h0.js";
import { t as ButtonBase } from "./ButtonBase-C5OJwznt.js";
//#region node_modules/@mui/material/Button/buttonClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
function getButtonUtilityClass(slot) {
return generateUtilityClass("MuiButton", slot);
}
var buttonClasses = generateUtilityClasses("MuiButton", [
"root",
"text",
"outlined",
"contained",
"disableElevation",
"focusVisible",
"disabled",
"colorInherit",
"colorPrimary",
"colorSecondary",
"colorSuccess",
"colorError",
"colorInfo",
"colorWarning",
"sizeMedium",
"sizeSmall",
"sizeLarge",
"fullWidth",
"startIcon",
"endIcon",
"icon",
"loading",
"loadingWrapper",
"loadingIconPlaceholder",
"loadingIndicator",
"loadingPositionCenter",
"loadingPositionStart",
"loadingPositionEnd"
]);
//#endregion
//#region node_modules/@mui/material/ButtonGroup/ButtonGroupContext.mjs
/**
* @ignore - internal component.
*/
var ButtonGroupContext = /*#__PURE__*/ import_react.createContext({});
ButtonGroupContext.displayName = "ButtonGroupContext";
//#endregion
//#region node_modules/@mui/material/ButtonGroup/ButtonGroupButtonContext.mjs
/**
* @ignore - internal component.
*/
var ButtonGroupButtonContext = /*#__PURE__*/ import_react.createContext(void 0);
ButtonGroupButtonContext.displayName = "ButtonGroupButtonContext";
//#endregion
//#region node_modules/@mui/material/Button/Button.mjs
var import_jsx_runtime = require_jsx_runtime();
var useUtilityClasses = (ownerState) => {
const { color, disableElevation, fullWidth, size, variant, loading, loadingPosition, classes } = ownerState;
const slots = {
root: [
"root",
loading && "loading",
variant,
`size${capitalize_default(size)}`,
`color${capitalize_default(color)}`,
disableElevation && "disableElevation",
fullWidth && "fullWidth",
loading && `loadingPosition${capitalize_default(loadingPosition)}`
],
startIcon: ["icon", "startIcon"],
endIcon: ["icon", "endIcon"],
loadingIndicator: ["loadingIndicator"],
loadingWrapper: ["loadingWrapper"]
};
const composedClasses = composeClasses(slots, getButtonUtilityClass, classes);
return {
...classes,
...composedClasses
};
};
var commonIconStyles = [
{
props: { size: "small" },
style: { "& > *:nth-of-type(1)": { fontSize: 18 } }
},
{
props: { size: "medium" },
style: { "& > *:nth-of-type(1)": { fontSize: 20 } }
},
{
props: { size: "large" },
style: { "& > *:nth-of-type(1)": { fontSize: 22 } }
}
];
var ButtonRoot = styled(ButtonBase, {
shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
name: "MuiButton",
slot: "Root",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [
styles.root,
styles[ownerState.variant],
styles[`size${capitalize_default(ownerState.size)}`],
ownerState.color === "inherit" && styles.colorInherit,
ownerState.disableElevation && styles.disableElevation,
ownerState.fullWidth && styles.fullWidth,
ownerState.loading && styles.loading
];
}
})(memoTheme(({ theme }) => {
const inheritContainedBackgroundColor = theme.palette.mode === "light" ? theme.palette.grey[300] : theme.palette.grey[800];
const inheritContainedHoverBackgroundColor = theme.palette.mode === "light" ? theme.palette.grey.A100 : theme.palette.grey[700];
return {
...theme.typography.button,
minWidth: 64,
padding: "6px 16px",
border: 0,
borderRadius: (theme.vars || theme).shape.borderRadius,
...getTransitionStyles(theme, [
"background-color",
"box-shadow",
"border-color",
"color"
], { duration: theme.transitions.duration.short }),
"&:hover": { textDecoration: "none" },
[`&.${buttonClasses.disabled}`]: { color: (theme.vars || theme).palette.action.disabled },
variants: [
{
props: { variant: "contained" },
style: {
color: `var(--variant-containedColor)`,
backgroundColor: `var(--variant-containedBg)`,
boxShadow: (theme.vars || theme).shadows[2],
"&:hover": {
boxShadow: (theme.vars || theme).shadows[4],
"@media (hover: none)": { boxShadow: (theme.vars || theme).shadows[2] }
},
"&:active": { boxShadow: (theme.vars || theme).shadows[8] },
[`&.${buttonClasses.focusVisible}`]: { boxShadow: (theme.vars || theme).shadows[6] },
[`&.${buttonClasses.disabled}`]: {
color: (theme.vars || theme).palette.action.disabled,
boxShadow: (theme.vars || theme).shadows[0],
backgroundColor: (theme.vars || theme).palette.action.disabledBackground
}
}
},
{
props: { variant: "outlined" },
style: {
padding: "5px 15px",
border: "1px solid currentColor",
borderColor: `var(--variant-outlinedBorder, currentColor)`,
backgroundColor: `var(--variant-outlinedBg)`,
color: `var(--variant-outlinedColor)`,
[`&.${buttonClasses.disabled}`]: { border: `1px solid ${(theme.vars || theme).palette.action.disabledBackground}` }
}
},
{
props: { variant: "text" },
style: {
padding: "6px 8px",
color: `var(--variant-textColor)`,
backgroundColor: `var(--variant-textBg)`
}
},
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
props: { color },
style: {
"--variant-textColor": (theme.vars || theme).palette[color].main,
"--variant-outlinedColor": (theme.vars || theme).palette[color].main,
"--variant-outlinedBorder": theme.alpha((theme.vars || theme).palette[color].main, .5),
"--variant-containedColor": (theme.vars || theme).palette[color].contrastText,
"--variant-containedBg": (theme.vars || theme).palette[color].main,
"@media (hover: hover)": { "&:hover": {
"--variant-containedBg": (theme.vars || theme).palette[color].dark,
"--variant-textBg": theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity),
"--variant-outlinedBorder": (theme.vars || theme).palette[color].main,
"--variant-outlinedBg": theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity)
} }
}
})),
{
props: { color: "inherit" },
style: {
color: "inherit",
borderColor: "currentColor",
"--variant-containedBg": theme.vars ? theme.vars.palette.Button.inheritContainedBg : inheritContainedBackgroundColor,
"@media (hover: hover)": { "&:hover": {
"--variant-containedBg": theme.vars ? theme.vars.palette.Button.inheritContainedHoverBg : inheritContainedHoverBackgroundColor,
"--variant-textBg": theme.alpha((theme.vars || theme).palette.text.primary, (theme.vars || theme).palette.action.hoverOpacity),
"--variant-outlinedBg": theme.alpha((theme.vars || theme).palette.text.primary, (theme.vars || theme).palette.action.hoverOpacity)
} }
}
},
{
props: {
size: "small",
variant: "text"
},
style: {
padding: "4px 5px",
fontSize: theme.typography.pxToRem(13)
}
},
{
props: {
size: "large",
variant: "text"
},
style: {
padding: "8px 11px",
fontSize: theme.typography.pxToRem(15)
}
},
{
props: {
size: "small",
variant: "outlined"
},
style: {
padding: "3px 9px",
fontSize: theme.typography.pxToRem(13)
}
},
{
props: {
size: "large",
variant: "outlined"
},
style: {
padding: "7px 21px",
fontSize: theme.typography.pxToRem(15)
}
},
{
props: {
size: "small",
variant: "contained"
},
style: {
padding: "4px 10px",
fontSize: theme.typography.pxToRem(13)
}
},
{
props: {
size: "large",
variant: "contained"
},
style: {
padding: "8px 22px",
fontSize: theme.typography.pxToRem(15)
}
},
{
props: { disableElevation: true },
style: {
boxShadow: "none",
"&:hover": { boxShadow: "none" },
[`&.${buttonClasses.focusVisible}`]: { boxShadow: "none" },
"&:active": { boxShadow: "none" },
[`&.${buttonClasses.disabled}`]: { boxShadow: "none" }
}
},
{
props: { fullWidth: true },
style: { width: "100%" }
},
{
props: { loadingPosition: "center" },
style: {
...getTransitionStyles(theme, [
"background-color",
"box-shadow",
"border-color"
], { duration: theme.transitions.duration.short }),
[`&.${buttonClasses.loading}`]: { color: "transparent" }
}
}
]
};
}));
var ButtonStartIcon = styled("span", {
name: "MuiButton",
slot: "StartIcon",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [styles.startIcon, ownerState.loading && styles.startIconLoadingStart];
}
})(({ theme }) => ({
display: "inherit",
alignItems: "center",
marginRight: 8,
marginLeft: -4,
"&::before": {
content: "\"\\200b\"",
width: 0,
overflow: "hidden"
},
variants: [
{
props: { size: "small" },
style: { marginLeft: -2 }
},
{
props: {
loadingPosition: "start",
loading: true
},
style: {
...getTransitionStyles(theme, ["opacity"], { duration: theme.transitions.duration.short }),
opacity: 0
}
},
{
props: {
loadingPosition: "start",
loading: true,
fullWidth: true
},
style: { marginRight: -8 }
},
...commonIconStyles
]
}));
var ButtonEndIcon = styled("span", {
name: "MuiButton",
slot: "EndIcon",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [styles.endIcon, ownerState.loading && styles.endIconLoadingEnd];
}
})(({ theme }) => ({
display: "inherit",
marginRight: -4,
marginLeft: 8,
variants: [
{
props: { size: "small" },
style: { marginRight: -2 }
},
{
props: {
loadingPosition: "end",
loading: true
},
style: {
...getTransitionStyles(theme, ["opacity"], { duration: theme.transitions.duration.short }),
opacity: 0
}
},
{
props: {
loadingPosition: "end",
loading: true,
fullWidth: true
},
style: { marginLeft: -8 }
},
...commonIconStyles
]
}));
var ButtonLoadingIndicator = styled("span", {
name: "MuiButton",
slot: "LoadingIndicator"
})(({ theme }) => ({
display: "none",
position: "absolute",
visibility: "visible",
variants: [
{
props: { loading: true },
style: { display: "flex" }
},
{
props: { loadingPosition: "start" },
style: { left: 14 }
},
{
props: {
loadingPosition: "start",
size: "small"
},
style: { left: 10 }
},
{
props: {
variant: "text",
loadingPosition: "start"
},
style: { left: 6 }
},
{
props: { loadingPosition: "center" },
style: {
left: "50%",
transform: "translate(-50%)",
color: (theme.vars || theme).palette.action.disabled
}
},
{
props: { loadingPosition: "end" },
style: { right: 14 }
},
{
props: {
loadingPosition: "end",
size: "small"
},
style: { right: 10 }
},
{
props: {
variant: "text",
loadingPosition: "end"
},
style: { right: 6 }
},
{
props: {
loadingPosition: "start",
fullWidth: true
},
style: {
position: "relative",
left: -10
}
},
{
props: {
loadingPosition: "end",
fullWidth: true
},
style: {
position: "relative",
right: -10
}
}
]
}));
var ButtonLoadingIconPlaceholder = styled("span", {
name: "MuiButton",
slot: "LoadingIconPlaceholder"
})({
display: "inline-block",
width: "1em",
height: "1em"
});
var Button = /*#__PURE__*/ import_react.forwardRef(function Button(inProps, ref) {
const contextProps = import_react.useContext(ButtonGroupContext);
const buttonGroupButtonContextPositionClassName = import_react.useContext(ButtonGroupButtonContext);
const resolvedProps = resolveProps(contextProps, inProps);
const props = useDefaultProps({
props: resolvedProps,
name: "MuiButton"
});
const { children, color = "primary", component = "button", className, disabled = false, disableElevation = false, disableFocusRipple = false, endIcon: endIconProp, focusVisibleClassName, fullWidth = false, id: idProp, loading = null, loadingIndicator: loadingIndicatorProp, loadingPosition = "center", size = "medium", startIcon: startIconProp, type, variant = "text", ...other } = props;
const loadingId = useId_default(idProp);
const loadingIndicator = loadingIndicatorProp ?? /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CircularProgress, {
"aria-labelledby": loadingId,
color: "inherit",
size: 16
});
const ownerState = {
...props,
color,
component,
disabled,
disableElevation,
disableFocusRipple,
fullWidth,
loading,
loadingIndicator,
loadingPosition,
size,
type,
variant
};
const classes = useUtilityClasses(ownerState);
const startIcon = (startIconProp || loading && loadingPosition === "start") && /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ButtonStartIcon, {
className: classes.startIcon,
ownerState,
children: startIconProp || /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ButtonLoadingIconPlaceholder, {
className: classes.loadingIconPlaceholder,
ownerState
})
});
const endIcon = (endIconProp || loading && loadingPosition === "end") && /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ButtonEndIcon, {
className: classes.endIcon,
ownerState,
children: endIconProp || /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ButtonLoadingIconPlaceholder, {
className: classes.loadingIconPlaceholder,
ownerState
})
});
const positionClassName = buttonGroupButtonContextPositionClassName || "";
const loader = typeof loading === "boolean" ? /*#__PURE__*/ (0, import_jsx_runtime.jsx)("span", {
className: classes.loadingWrapper,
style: { display: "contents" },
children: loading && /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ButtonLoadingIndicator, {
className: classes.loadingIndicator,
ownerState,
children: loadingIndicator
})
}) : null;
const { root, ...forwardedClasses } = classes;
return /*#__PURE__*/ (0, import_jsx_runtime.jsxs)(ButtonRoot, {
ownerState,
className: clsx(contextProps.className, classes.root, className, positionClassName),
component,
disabled: disabled || loading,
focusRipple: !disableFocusRipple,
focusVisibleClassName: clsx(classes.focusVisible, focusVisibleClassName),
ref,
internalNativeButton: true,
type,
id: loading ? loadingId : idProp,
...other,
classes: forwardedClasses,
children: [
startIcon,
loadingPosition !== "end" && loader,
children,
loadingPosition === "end" && loader,
endIcon
]
});
});
Button.propTypes = {
/**
* The content of the component.
*/
children: import_prop_types.default.node,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* The color of the component.
* It supports both default and custom theme colors, which can be added as shown in the
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
* @default 'primary'
*/
color: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"inherit",
"primary",
"secondary",
"success",
"error",
"info",
"warning"
]), import_prop_types.default.string]),
/**
* The component used for the root node.
* Either a string to use a HTML element or a component.
*/
component: import_prop_types.default.elementType,
/**
* If `true`, the component is disabled.
* @default false
*/
disabled: import_prop_types.default.bool,
/**
* If `true`, no elevation is used.
* @default false
*/
disableElevation: import_prop_types.default.bool,
/**
* If `true`, the keyboard focus ripple is disabled.
* @default false
*/
disableFocusRipple: import_prop_types.default.bool,
/**
* If `true`, the ripple effect is disabled.
*
* ⚠️ Without a ripple there is no styling for :focus-visible by default. Be sure
* to highlight the element by applying separate styles with the `.Mui-focusVisible` class.
* @default false
*/
disableRipple: import_prop_types.default.bool,
/**
* Element placed after the children.
*/
endIcon: import_prop_types.default.node,
/**
* @ignore
*/
focusVisibleClassName: import_prop_types.default.string,
/**
* If `true`, the button will take up the full width of its container.
* @default false
*/
fullWidth: import_prop_types.default.bool,
/**
* The URL to link to when the button is clicked.
* If defined, an `a` element will be used as the root node.
*/
href: import_prop_types.default.string,
/**
* @ignore
*/
id: import_prop_types.default.string,
/**
* If `true`, the loading indicator is visible and the button is disabled.
* If `true | false`, the loading wrapper is always rendered before the children to prevent [Google Translation Crash](https://github.com/mui/material-ui/issues/27853).
* @default null
*/
loading: import_prop_types.default.bool,
/**
* Element placed before the children if the button is in loading state.
* The node should contain an element with `role="progressbar"` with an accessible name.
* By default, it renders a `CircularProgress` that is labeled by the button itself.
* @default <CircularProgress color="inherit" size={16} />
*/
loadingIndicator: import_prop_types.default.node,
/**
* The loading indicator can be positioned on the start, end, or the center of the button.
* @default 'center'
*/
loadingPosition: import_prop_types.default.oneOf([
"center",
"end",
"start"
]),
/**
* The size of the component.
* `small` is equivalent to the dense button styling.
* @default 'medium'
*/
size: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"small",
"medium",
"large"
]), import_prop_types.default.string]),
/**
* Element placed before the children.
*/
startIcon: import_prop_types.default.node,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* @ignore
*/
type: import_prop_types.default.string,
/**
* The variant to use.
* @default 'text'
*/
variant: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"contained",
"outlined",
"text"
]), import_prop_types.default.string])
};
//#endregion
export { getButtonUtilityClass as a, buttonClasses as i, ButtonGroupButtonContext as n, ButtonGroupContext as r, Button as t };
File diff suppressed because one or more lines are too long
@@ -1,276 +1,18 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js"; import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js"; import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js"; import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { D as generateUtilityClasses, I as css, L as keyframes, O as generateUtilityClass, tt as clsx } from "./identifier-pRD-G8ad.js"; import { F as generateUtilityClasses, G as keyframes, I as generateUtilityClass, W as css, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { c as composeClasses, t as styled } from "./styled-igcOhZNb.js"; import { l as composeClasses, t as styled } from "./styled-Dq11esuZ.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js"; import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { n as useDefaultProps } from "./capitalize-DTn_UgGy.js"; import { i as useLazyRef, r as useReducedMotion, t as useForkRef_default } from "./useForkRef-DuMrXAkd.js";
import { n as useTheme, t as chainPropTypes } from "./chainPropTypes-CAm0AXCI.js"; import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
//#region node_modules/@mui/utils/useEnhancedEffect/useEnhancedEffect.mjs import { n as useTheme } from "./chainPropTypes-XO9WdMvJ.js";
var import_react = /* @__PURE__ */ __toESM(require_react(), 1); import { t as elementTypeAcceptingRef_default } from "./elementTypeAcceptingRef-Bh_-xFc3.js";
/** import { a as useEventCallback_default, i as refType, n as useTimeout, r as useOnMount } from "./useTimeout-B1CAuCte.js";
* A version of `React.useLayoutEffect` that does not show a warning when server-side rendering. import { t as isFocusVisible } from "./isFocusVisible-AAJ6xeny.js";
* This is useful for effects that are only needed for client-side rendering but not for SSR.
*
* Before you use this hook, make sure to read https://gist.github.com/gaearon/e7d97cdf38a2907924ea12e4ebdf3c85
* and confirm it doesn't apply to your use-case.
*/
var useEnhancedEffect = typeof window !== "undefined" ? import_react.useLayoutEffect : import_react.useEffect;
//#endregion
//#region node_modules/@mui/utils/refType/refType.mjs
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
var refType = import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]);
//#endregion
//#region node_modules/@mui/utils/useForkRef/useForkRef.mjs
/**
* Merges refs into a single memoized callback ref or `null`.
*
* ```tsx
* const rootRef = React.useRef<Instance>(null);
* const refFork = useForkRef(rootRef, props.ref);
*
* return (
* <Root {...props} ref={refFork} />
* );
* ```
*
* @param {Array<React.Ref<Instance> | undefined>} refs The ref array.
* @returns {React.RefCallback<Instance> | null} The new ref callback.
*/
function useForkRef(...refs) {
const cleanupRef = import_react.useRef(void 0);
const refEffect = import_react.useCallback((instance) => {
const cleanups = refs.map((ref) => {
if (ref == null) return null;
if (typeof ref === "function") {
const refCallback = ref;
const refCleanup = refCallback(instance);
return typeof refCleanup === "function" ? refCleanup : () => {
refCallback(null);
};
}
ref.current = instance;
return () => {
ref.current = null;
};
});
return () => {
cleanups.forEach((refCleanup) => refCleanup?.());
};
}, refs);
return import_react.useMemo(() => {
if (refs.every((ref) => ref == null)) return null;
return (value) => {
if (cleanupRef.current) {
cleanupRef.current();
cleanupRef.current = void 0;
}
if (value != null) cleanupRef.current = refEffect(value);
};
}, refs);
}
//#endregion
//#region node_modules/@mui/material/transitions/useReducedMotion.mjs
var import_jsx_runtime = require_jsx_runtime();
var MEDIA_QUERY = "(prefers-reduced-motion: reduce)";
var REDUCED_MOTION_DURATION = 0;
var REDUCED_MOTION_DELAY = "0ms";
var NOOP$1 = () => {};
var getDefaultSnapshot = () => false;
var getReducedMotionSnapshot = () => true;
var subscribeNoop = () => NOOP$1;
/**
* Subscribes to the OS reduced-motion media query only when the theme mode needs it.
* React 17 reads the media query after mount, matching useMediaQuery's fallback path.
*/
function useReducedMotionMediaQueryOld(enabled) {
const [queryState, setQueryState] = import_react.useState(() => ({
enabled,
matches: enabled ? null : false
}));
let matches = queryState.matches;
if (queryState.enabled !== enabled) {
matches = null;
if (!enabled) matches = false;
}
useEnhancedEffect(() => {
const setResolvedMatches = (nextMatches) => {
setQueryState((previousState) => {
if (previousState.enabled === enabled && previousState.matches === nextMatches) return previousState;
return {
enabled,
matches: nextMatches
};
});
};
if (!enabled) {
if (queryState.enabled) setResolvedMatches(false);
return;
}
if (typeof window === "undefined" || typeof window.matchMedia !== "function") {
setResolvedMatches(false);
return;
}
const mediaQueryList = window.matchMedia(MEDIA_QUERY);
const update = () => {
setResolvedMatches(mediaQueryList.matches);
};
update();
mediaQueryList.addEventListener("change", update);
return () => {
mediaQueryList.removeEventListener("change", update);
};
}, [enabled, queryState.enabled]);
return matches;
}
var maybeReactUseSyncExternalStore = { ...import_react }.useSyncExternalStore;
/**
* React 18+ can read the media query during client renders, so newly mounted
* transitions do not start from the SSR-safe reduced-motion default.
*/
function useReducedMotionMediaQueryNew(enabled) {
const getServerSnapshot = enabled ? getReducedMotionSnapshot : getDefaultSnapshot;
const [getSnapshot, subscribe] = import_react.useMemo(() => {
if (!enabled || typeof window === "undefined" || typeof window.matchMedia !== "function") return [getDefaultSnapshot, subscribeNoop];
const mediaQueryList = window.matchMedia(MEDIA_QUERY);
return [() => mediaQueryList.matches, (notify) => {
mediaQueryList.addEventListener("change", notify);
return () => {
mediaQueryList.removeEventListener("change", notify);
};
}];
}, [enabled]);
return maybeReactUseSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);
}
var useReducedMotionMediaQuery = maybeReactUseSyncExternalStore !== void 0 ? useReducedMotionMediaQueryNew : useReducedMotionMediaQueryOld;
/**
* Resolves whether a Material UI transition should reduce motion and provides
* adjusted CSS transition timing for MUI-owned duration/delay values.
*/
function useReducedMotion(mode, disablePrefersReducedMotion) {
const prefersReducedMotion = useReducedMotionMediaQuery(!disablePrefersReducedMotion && mode === "system");
const shouldReduceMotion = !disablePrefersReducedMotion && (mode === "always" || mode === "system" && prefersReducedMotion !== false);
return import_react.useMemo(() => ({
shouldReduceMotion,
getTransitionTiming(timing) {
if (!shouldReduceMotion) return timing;
return {
duration: REDUCED_MOTION_DURATION,
delay: REDUCED_MOTION_DELAY
};
}
}), [shouldReduceMotion]);
}
//#endregion
//#region node_modules/@mui/utils/getActiveElement/getActiveElement.mjs
/**
* Gets the actual active element, traversing through shadow roots if necessary.
*
* When an element inside a shadow root has focus, `document.activeElement` returns
* the shadow host element. This function recursively traverses shadow roots to find
* the actual focused element.
*
* @param root - The document or shadow root to start the search from.
* @returns The actual focused element, or null if no element has focus.
*
* @example
* // In a shadow DOM context
* const activeElement = getActiveElement(document);
* // Returns the actual focused element inside the shadow root
*
* @example
* // Starting from a specific document
* const activeElement = getActiveElement(ownerDocument(element));
*/
function activeElement(doc) {
let element = doc.activeElement;
while (element?.shadowRoot?.activeElement != null) element = element.shadowRoot.activeElement;
return element;
}
//#endregion
//#region node_modules/@mui/utils/ownerDocument/ownerDocument.mjs
function ownerDocument(node) {
return node && node.ownerDocument || document;
}
//#endregion
//#region node_modules/@mui/utils/setRef/setRef.mjs
/**
* TODO v5: consider making it private
*
* passes {value} to {ref}
*
* WARNING: Be sure to only call this inside a callback that is passed as a ref.
* Otherwise, make sure to cleanup the previous {ref} if it changes. See
* https://github.com/mui/material-ui/issues/13539
*
* Useful if you want to expose the ref of an inner component to the public API
* while still using it inside the component.
* @param ref A ref callback or ref object. If anything falsy, this is a no-op.
*/
function setRef(ref, value) {
if (typeof ref === "function") ref(value);
else if (ref) ref.current = value;
}
//#endregion
//#region node_modules/@mui/utils/useEventCallback/useEventCallback.mjs
/**
* Inspired by https://github.com/react/react/issues/14099#issuecomment-440013892
* See RFC in https://github.com/reactjs/rfcs/pull/220
*/
function useEventCallback(fn) {
const ref = import_react.useRef(fn);
useEnhancedEffect(() => {
ref.current = fn;
});
return import_react.useRef((...args) => (0, ref.current)(...args)).current;
}
//#endregion
//#region node_modules/@mui/material/utils/useEventCallback.mjs
var useEventCallback_default = useEventCallback;
//#endregion
//#region node_modules/@mui/material/utils/useForkRef.mjs
var useForkRef_default = useForkRef;
//#endregion
//#region node_modules/@mui/utils/elementTypeAcceptingRef/elementTypeAcceptingRef.mjs
function isClassComponent(elementType) {
const { prototype = {} } = elementType;
return Boolean(prototype.isReactComponent);
}
function elementTypeAcceptingRef(props, propName, componentName, location, propFullName) {
const propValue = props[propName];
const safePropName = propFullName || propName;
if (propValue == null || typeof window === "undefined") return null;
let warningHint;
/**
* Blacklisting instead of whitelisting
*
* Blacklisting will miss some components, such as React.Fragment. Those will at least
* trigger a warning in React.
* We can't whitelist because there is no safe way to detect React.forwardRef
* or class components. "Safe" means there's no public API.
*
*/
if (typeof propValue === "function" && !isClassComponent(propValue)) warningHint = "Did you accidentally provide a plain function component instead?";
if (propValue === import_react.Fragment) warningHint = "Did you accidentally provide a React.Fragment instead?";
if (warningHint !== void 0) return /* @__PURE__ */ new Error(`Invalid ${location} \`${safePropName}\` supplied to \`${componentName}\`. Expected an element type that can hold a ref. ${warningHint} For more information see https://mui.com/r/caveat-with-refs-guide`);
return null;
}
var elementTypeAcceptingRef_default = chainPropTypes(import_prop_types.default.elementType, elementTypeAcceptingRef);
//#endregion
//#region node_modules/@mui/utils/isFocusVisible/isFocusVisible.mjs
/**
* Returns a boolean indicating if the event's target has :focus-visible
*/
function isFocusVisible(element) {
try {
return element.matches(":focus-visible");
} catch (error) {
if (!window.navigator.userAgent.includes("jsdom")) console.warn(["MUI: The `:focus-visible` pseudo class is not supported in this browser.", "Some components rely on this feature to work properly."].join("\n"));
}
return false;
}
//#endregion
//#region node_modules/@mui/material/utils/useFocusableWhenDisabled.mjs //#region node_modules/@mui/material/utils/useFocusableWhenDisabled.mjs
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
function useFocusableWhenDisabled(parameters) { function useFocusableWhenDisabled(parameters) {
const { focusableWhenDisabled, disabled, composite = false, tabIndex: tabIndexProp = 0, isNativeButton } = parameters; const { focusableWhenDisabled, disabled, composite = false, tabIndex: tabIndexProp = 0, isNativeButton } = parameters;
const isFocusableComposite = composite && focusableWhenDisabled !== false; const isFocusableComposite = composite && focusableWhenDisabled !== false;
@@ -298,7 +40,7 @@ function useFocusableWhenDisabled(parameters) {
} }
//#endregion //#endregion
//#region node_modules/@mui/material/ButtonBase/useButtonBase.mjs //#region node_modules/@mui/material/ButtonBase/useButtonBase.mjs
var EMPTY$1 = {}; var EMPTY = {};
function useButtonBase(parameters) { function useButtonBase(parameters) {
const { nativeButton, nativeButtonProp, internalNativeButton = nativeButton, allowInferredHostMismatch = false, disabled, type, hasFormAction = false, tabIndex = 0, focusableWhenDisabled: focusableWhenDisabledParam, stopEventPropagation = false, onBeforeKeyDown, onBeforeKeyUp } = parameters; const { nativeButton, nativeButtonProp, internalNativeButton = nativeButton, allowInferredHostMismatch = false, disabled, type, hasFormAction = false, tabIndex = 0, focusableWhenDisabled: focusableWhenDisabledParam, stopEventPropagation = false, onBeforeKeyDown, onBeforeKeyUp } = parameters;
const rootRef = import_react.useRef(null); const rootRef = import_react.useRef(null);
@@ -356,7 +98,7 @@ function useButtonBase(parameters) {
type type
]); ]);
return { return {
getButtonProps: import_react.useCallback((externalProps = EMPTY$1) => { getButtonProps: import_react.useCallback((externalProps = EMPTY) => {
const { onClick: externalOnClick, onKeyDown: externalOnKeyDown, onKeyUp: externalOnKeyUp, ...otherExternalProps } = externalProps; const { onClick: externalOnClick, onKeyDown: externalOnKeyDown, onKeyUp: externalOnKeyUp, ...otherExternalProps } = externalProps;
const handleClick = (event) => { const handleClick = (event) => {
if (stopEventPropagation) event.stopPropagation(); if (stopEventPropagation) event.stopPropagation();
@@ -408,21 +150,6 @@ function useButtonBase(parameters) {
}; };
} }
//#endregion //#endregion
//#region node_modules/@mui/utils/useLazyRef/useLazyRef.mjs
var UNINITIALIZED = {};
/**
* A React.useRef() that is initialized lazily with a function. Note that it accepts an optional
* initialization argument, so the initialization function doesn't need to be an inline closure.
*
* @usage
* const ref = useLazyRef(sortColumns, columns)
*/
function useLazyRef(init, initArg) {
const ref = import_react.useRef(UNINITIALIZED);
if (ref.current === UNINITIALIZED) ref.current = init(initArg);
return ref;
}
//#endregion
//#region node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs //#region node_modules/@mui/material/useLazyRipple/useLazyRipple.mjs
/** /**
* Lazy initialization container for the Ripple instance. This improves * Lazy initialization container for the Ripple instance. This improves
@@ -493,51 +220,8 @@ function createControlledPromise() {
return p; return p;
} }
//#endregion //#endregion
//#region node_modules/@mui/utils/useOnMount/useOnMount.mjs
var EMPTY = [];
/**
* A React.useEffect equivalent that runs once, when the component is mounted.
*/
function useOnMount(fn) {
import_react.useEffect(fn, EMPTY);
}
//#endregion
//#region node_modules/@mui/utils/useTimeout/useTimeout.mjs
var Timeout = class Timeout {
static create() {
return new Timeout();
}
currentId = null;
/**
* Executes `fn` after `delay`, clearing any previously scheduled call.
*/
start(delay, fn) {
this.clear();
this.currentId = setTimeout(() => {
this.currentId = null;
fn();
}, delay);
}
clear = () => {
if (this.currentId !== null) {
clearTimeout(this.currentId);
this.currentId = null;
}
};
disposeEffect = () => {
return this.clear;
};
};
function useTimeout() {
const timeout = useLazyRef(Timeout.create).current;
useOnMount(timeout.disposeEffect);
return timeout;
}
//#endregion
//#region node_modules/@mui/material/ButtonBase/Ripple.mjs //#region node_modules/@mui/material/ButtonBase/Ripple.mjs
/** var import_jsx_runtime = require_jsx_runtime();
* @ignore - internal component.
*/
function Ripple(props) { function Ripple(props) {
const { className, classes, pulsate = false, rippleX, rippleY, rippleSize, in: inProp, onExited, timeout } = props; const { className, classes, pulsate = false, rippleX, rippleY, rippleSize, in: inProp, onExited, timeout } = props;
const [leaving, setLeaving] = import_react.useState(false); const [leaving, setLeaving] = import_react.useState(false);
@@ -835,7 +519,8 @@ var TouchRipple = /*#__PURE__*/ import_react.forwardRef(function TouchRipple(inP
props: inProps, props: inProps,
name: "MuiTouchRipple" name: "MuiTouchRipple"
}); });
const reducedMotion = useReducedMotion(useTheme().motion.reducedMotion, false); const theme = useTheme();
const reducedMotion = useReducedMotion(theme.motion.reducedMotion, false);
const { center: centerProp = false, classes = EMPTY_OBJ, className, ...other } = props; const { center: centerProp = false, classes = EMPTY_OBJ, className, ...other } = props;
const [rippleState, setRippleState] = import_react.useState({ const [rippleState, setRippleState] = import_react.useState({
items: EMPTY_ARRAY, items: EMPTY_ARRAY,
@@ -1370,419 +1055,4 @@ ButtonBase.propTypes = {
type: import_prop_types.default.string type: import_prop_types.default.string
}; };
//#endregion //#endregion
//#region node_modules/@mui/utils/useRovingTabIndex/RovingTabIndexContext.mjs export { touchRippleClasses as a, getTouchRippleUtilityClass as i, buttonBaseClasses as n, getButtonBaseUtilityClass as r, ButtonBase as t };
var RovingTabIndexContext = /*#__PURE__*/ import_react.createContext(void 0);
RovingTabIndexContext.displayName = "RovingTabIndexContext";
function useRovingTabIndexContext() {
const context = import_react.useContext(RovingTabIndexContext);
if (context === void 0) throw new Error("MUI: RovingTabIndexContext is missing. Roving tab index items must be placed within a roving tab index provider.");
return context;
}
//#endregion
//#region node_modules/@mui/utils/fastObjectShallowCompare/fastObjectShallowCompare.mjs
var is = Object.is;
/**
* Fast shallow compare for plain objects.
* Returns `true` when both objects have the same own enumerable keys and each value is equal
* according to `Object.is()`.
*/
function fastObjectShallowCompare(a, b) {
if (a === b) return true;
if (!(a instanceof Object) || !(b instanceof Object)) return false;
let aLength = 0;
let bLength = 0;
for (const key in a) {
aLength += 1;
if (!is(a[key], b[key])) return false;
if (!(key in b)) return false;
}
for (const _ in b) bLength += 1;
return aLength === bLength;
}
//#endregion
//#region node_modules/@mui/utils/useRovingTabIndex/useRovingTabIndex.mjs
var SUPPORTED_KEYS = [
"ArrowRight",
"ArrowLeft",
"ArrowUp",
"ArrowDown",
"Home",
"End"
];
/**
* Provides roving tab index behavior for a composite container and its focusable children.
* This is useful for implementing keyboard navigation in components like menus, tabs, and lists.
* The hook manages the focus state of child elements and provides props to be spread on both the container and the items.
* The container will handle keyboard events to move focus between items based on the specified orientation and wrapping behavior.
*/
function useRovingTabIndexRoot(params) {
const { activeItemId: activeItemIdProp, getDefaultActiveItemId, orientation, isRtl = false, isItemFocusable: itemFilter = isItemFocusable, wrap = true } = params;
const [activeItemIdState, setActiveItemIdState] = import_react.useState(activeItemIdProp);
const [previousActiveItemIdProp, setPreviousActiveItemIdProp] = import_react.useState(activeItemIdProp);
let activeItemIdCandidate = activeItemIdState;
if (activeItemIdProp !== previousActiveItemIdProp) {
setPreviousActiveItemIdProp(activeItemIdProp);
if (activeItemIdProp !== void 0 && activeItemIdProp !== activeItemIdState) {
activeItemIdCandidate = activeItemIdProp;
setActiveItemIdState(activeItemIdProp);
}
}
const containerRef = import_react.useRef(null);
const itemMapRef = import_react.useRef(/* @__PURE__ */ new Map());
const [mapTick, setMapTick] = import_react.useState(0);
const orderedItems = import_react.useMemo(() => {
return getOrderedItems(itemMapRef.current);
}, [mapTick]);
const resolvedActiveItemId = resolveActiveItemId(activeItemIdCandidate, orderedItems, itemFilter, getDefaultActiveItemId);
const activeItemIdRef = import_react.useRef(resolvedActiveItemId);
activeItemIdRef.current = resolvedActiveItemId;
const getActiveItem = import_react.useCallback(() => {
const snapshot = getOrderedItems(itemMapRef.current);
return getItemById(snapshot, resolveActiveItemId(activeItemIdRef.current, snapshot, itemFilter, getDefaultActiveItemId));
}, [getDefaultActiveItemId, itemFilter]);
const getItemMap = import_react.useCallback(() => {
return itemMapRef.current;
}, []);
const registerItem = useEventCallback((item) => {
if (fastObjectShallowCompare(itemMapRef.current.get(item.id) ?? null, item)) return;
itemMapRef.current.set(item.id, item);
setMapTick((value) => value + 1);
});
const unregisterItem = useEventCallback((itemId) => {
if (itemMapRef.current.delete(itemId)) setMapTick((value) => value + 1);
});
const setActiveItemId = useEventCallback((itemId) => {
setActiveItemIdState(itemId);
});
const isItemActive = import_react.useCallback((itemId) => {
return activeItemIdRef.current === itemId;
}, []);
const focusItem = import_react.useCallback((currentIndex, direction, wrap, isItemFocusableOverride) => {
const nextItem = getNextActiveItem(getNavigableItemsSnapshot(itemMapRef.current), currentIndex, direction, wrap, isItemFocusableOverride ?? itemFilter);
if (!nextItem) return null;
nextItem.element?.focus();
setActiveItemIdState(nextItem.id);
return nextItem;
}, [itemFilter]);
const getContainerProps = import_react.useCallback((ref, onFocusProp, onKeyDownProp) => {
const onFocus = (event) => {
onFocusProp?.(event);
const snapshot = getNavigableItemsSnapshot(itemMapRef.current);
const focusedIndex = findItemIndexByElement(snapshot, event.target);
if (focusedIndex !== -1) setActiveItemIdState(snapshot[focusedIndex].id);
};
const onKeyDown = (event) => {
onKeyDownProp?.(event);
if (event.defaultPrevented || event.altKey || event.shiftKey || event.ctrlKey || event.metaKey) return;
if (!SUPPORTED_KEYS.includes(event.key)) return;
let previousItemKey = orientation === "horizontal" ? "ArrowLeft" : "ArrowUp";
let nextItemKey = orientation === "horizontal" ? "ArrowRight" : "ArrowDown";
if (orientation === "horizontal" && isRtl) {
previousItemKey = "ArrowRight";
nextItemKey = "ArrowLeft";
}
const snapshot = getNavigableItemsSnapshot(itemMapRef.current);
const currentFocus = activeElement(ownerDocument(containerRef.current));
const isFocusOnContainer = currentFocus === containerRef.current;
let currentIndex = getCurrentActiveItemIndex(snapshot, currentFocus, activeItemIdRef.current);
let direction = "next";
switch (event.key) {
case previousItemKey:
direction = "previous";
event.preventDefault();
if (isFocusOnContainer) currentIndex = snapshot.length;
break;
case nextItemKey:
event.preventDefault();
if (isFocusOnContainer) currentIndex = -1;
break;
case "Home":
event.preventDefault();
currentIndex = -1;
break;
case "End":
event.preventDefault();
direction = "previous";
currentIndex = snapshot.length;
break;
default: return;
}
focusItem(currentIndex, direction, wrap);
};
return {
onFocus,
onKeyDown,
ref: handleRefs(ref, (elementNode) => {
containerRef.current = elementNode;
})
};
}, [
focusItem,
isRtl,
orientation,
wrap
]);
const focusNext = import_react.useCallback((isItemFocusableOverride) => {
const snapshot = getNavigableItemsSnapshot(itemMapRef.current);
const currentFocus = activeElement(ownerDocument(containerRef.current));
const currentIndex = currentFocus === containerRef.current ? -1 : getCurrentActiveItemIndex(snapshot, currentFocus, activeItemIdRef.current);
return focusItem(currentIndex, "next", true, isItemFocusableOverride)?.id ?? null;
}, [focusItem]);
return import_react.useMemo(() => ({
activeItemId: resolvedActiveItemId,
focusNext,
getActiveItem,
getContainerProps,
getItemMap,
isItemActive,
registerItem,
setActiveItemId,
unregisterItem
}), [
resolvedActiveItemId,
focusNext,
getActiveItem,
getContainerProps,
getItemMap,
isItemActive,
registerItem,
setActiveItemId,
unregisterItem
]);
}
function useRovingTabIndexItem(params) {
const { activeItemId, registerItem, unregisterItem } = useRovingTabIndexContext();
const elementRef = import_react.useRef(null);
const item = import_react.useMemo(() => ({
disabled: params.disabled ?? false,
element: null,
focusableWhenDisabled: params.focusableWhenDisabled ?? false,
id: params.id,
selected: params.selected ?? false,
textValue: params.textValue
}), [
params.disabled,
params.focusableWhenDisabled,
params.id,
params.selected,
params.textValue
]);
const latestItemRef = import_react.useRef(item);
latestItemRef.current = item;
const handleElementRef = import_react.useCallback((element) => {
elementRef.current = element;
if (element == null) {
queueMicrotask(() => {
if (elementRef.current == null) unregisterItem(params.id);
});
return;
}
registerItem({
...latestItemRef.current,
element
});
}, [
params.id,
registerItem,
unregisterItem
]);
const mergedRef = useForkRef(params.ref, handleElementRef);
useEnhancedEffect(() => {
if (!elementRef.current) return;
registerItem({
...item,
element: elementRef.current
});
}, [item, registerItem]);
useEnhancedEffect(() => {
const itemId = params.id;
return () => {
unregisterItem(itemId);
};
}, [params.id, unregisterItem]);
return {
ref: mergedRef,
tabIndex: activeItemId === params.id ? 0 : -1
};
}
/**
* Resolves which item id should own the roving tab stop for the current render.
*
* This is the top-level decision point for "who gets `tabIndex=0` right now?".
* For example:
* - `Tabs` sometimes passes `selectedValue` as `activeItemId` so the selected tab becomes
* the tab stop when focus enters the list from outside.
* - `MenuList` leaves `activeItemId` undefined and relies on the default-item logic below
* so that menu-specific rules decide which menu item should initially own the tab stop.
*
* @param activeItemId The item id supplied through the root hook's `activeItemId` option.
* `undefined` means "the caller did not ask for a specific item, use the default-item
* logic instead". `null` means "there is intentionally no preferred item, so also fall
* back to the default-item logic".
* @param items The ordered registered items currently in the roving set.
* @param isFocusable A predicate that decides whether an item may receive roving focus.
* @param getDefaultActiveItemId Optional caller-provided function that picks the preferred
* default item when `activeItemId` is not driving the tab stop directly.
* @returns The id of the item that should own `tabIndex=0`, or `null` if no item is focusable.
*/
function resolveActiveItemId(activeItemId, items, isFocusable, getDefaultActiveItemId) {
if (activeItemId != null) return resolveRequestedItemId(activeItemId, items, isFocusable);
return resolveDefaultItemId(items, isFocusable, getDefaultActiveItemId);
}
/**
* Resolves the item id supplied through the root hook's `activeItemId` option.
*
* This path is used when a component such as `Tabs` or `MenuList` wants roving focus to
* follow a specific logical item. For example, `Tabs` can pass the selected tab's value as
* `activeItemId` so that the selected tab owns `tabIndex=0` when focus enters the list.
*
* @param requestedItemId The item id passed to the root hook's `activeItemId` option.
* @param items The ordered registered items currently in the roving set.
* @param isFocusable A predicate that decides whether an item may receive roving focus.
* @returns The same id when it still points to a focusable item. If that id no longer exists,
* returns the first focusable item. If the id still exists but the item is not focusable,
* returns the next focusable item after it without wrapping.
*/
function resolveRequestedItemId(requestedItemId, items, isFocusable) {
const requestedItemIndex = findItemIndexById(items, requestedItemId);
if (requestedItemIndex === -1) return getFirstFocusableItemId(items, isFocusable);
if (isFocusable(items[requestedItemIndex])) return items[requestedItemIndex].id;
return getNextActiveItem(items, requestedItemIndex, "next", false, isFocusable)?.id ?? null;
}
/**
* Resolves the default active item when the caller is not driving roving focus with
* `activeItemId`.
*
* This path is used on the initial render and whenever the caller leaves the choice of tab
* stop to the hook. `getDefaultActiveItemId` lets a component prefer a specific logical item
* before falling back to the first focusable item.
*
* For example:
* - `MenuList` uses this path all the time. When `variant="selectedMenu"`, it prefers the
* selected menu item; otherwise it prefers the first focusable menu item.
* - `Tabs` uses this path while focus is already inside the tab list, because at that point
* the current roving position should be driven by actual focus movement rather than by the
* selected tab value.
*
* @param items The ordered registered items currently in the roving set.
* @param isFocusable A predicate that decides whether an item may receive roving focus.
* @param getDefaultActiveItemId Optional caller-provided function that chooses which item
* should own the tab stop before the generic "first focusable item" fallback runs.
* @returns The default item id when it points to a focusable item, otherwise the first
* focusable item in the snapshot, or `null` when none are focusable.
*/
function resolveDefaultItemId(items, isFocusable, getDefaultActiveItemId) {
const defaultItemId = getDefaultActiveItemId?.(items);
if (defaultItemId != null) {
const defaultItem = getItemById(items, defaultItemId);
if (defaultItem && isFocusable(defaultItem)) return defaultItem.id;
}
return getFirstFocusableItemId(items, isFocusable);
}
/**
* Finds the best starting index for keyboard navigation.
*
* This is used immediately before keyboard navigation and `focusNext()` navigation. It prefers
* the item that currently holds DOM focus, but if focus is on the container or outside the item
* set it falls back to the last known active item id.
*
* @param items The navigable item snapshot used for the current keyboard interaction.
* @param currentFocus The element that currently has DOM focus, if any.
* @param fallbackActiveItemId The last known active item id when focus is not on an item.
* @returns The focused item's index when focus is currently on an item. Otherwise, the index
* of the fallback active item id, or `-1` when no matching item exists.
*/
function getCurrentActiveItemIndex(items, currentFocus, fallbackActiveItemId) {
if (currentFocus) {
const focusedIndex = findItemIndexByElement(items, currentFocus);
if (focusedIndex !== -1) return focusedIndex;
}
return findItemIndexById(items, fallbackActiveItemId);
}
/**
* Walks the item snapshot to find the next focusable item in the requested direction.
*
* This is the shared navigation primitive used by keyboard handling and imperative helpers
* such as `focusNext()`. It starts from the supplied index, advances through the snapshot in
* the requested direction, and skips over items that fail the `isFocusable` predicate.
*
* @param items The ordered navigable item snapshot.
* @param currentIndex The index to start from. Use `-1` to start before the first item or
* `items.length` to start after the last item.
* @param direction The direction to move through the snapshot.
* @param wrap Whether navigation should wrap around at the ends of the list.
* @param isFocusable A predicate that decides whether an item may receive roving focus.
* @returns The next focusable item record, or `null` when no focusable item can be reached.
*/
function getNextActiveItem(items, currentIndex, direction, wrap, isFocusable) {
const lastIndex = items.length - 1;
if (lastIndex === -1) return null;
let wrappedOnce = false;
let nextIndex = getNextIndex(currentIndex, lastIndex, direction, wrap);
const startIndex = nextIndex;
while (nextIndex !== -1) {
if (nextIndex === startIndex) {
if (wrappedOnce) return null;
wrappedOnce = true;
}
const nextItem = items[nextIndex];
if (!nextItem || !isFocusable(nextItem)) nextIndex = getNextIndex(nextIndex, lastIndex, direction, wrap);
else return nextItem;
}
return null;
}
function getFirstFocusableItemId(items, isFocusable) {
return items.find((item) => isFocusable(item))?.id ?? null;
}
function getItemById(items, itemId) {
return itemId == null ? null : items.find((item) => item.id === itemId) ?? null;
}
function findItemIndexById(items, itemId) {
return itemId == null ? -1 : items.findIndex((item) => item.id === itemId);
}
function findItemIndexByElement(items, element) {
if (!element) return -1;
return items.findIndex((item) => item.element === element || item.element?.contains(element));
}
function getOrderedItems(itemMap) {
const items = Array.from(itemMap.values());
if (items.every((item) => item.element == null)) return items;
const connectedItems = items.filter(isConnectedItem).sort((itemA, itemB) => sortByDocumentPosition(itemA.element, itemB.element));
const disconnectedItems = items.filter((item) => !isConnectedItem(item));
return [...connectedItems, ...disconnectedItems];
}
function getNavigableItemsSnapshot(itemMap) {
return getOrderedItems(itemMap).filter(isConnectedItem);
}
function getNextIndex(currentIndex, lastIndex, direction, wrap = true) {
if (direction === "next") {
if (currentIndex === lastIndex) return wrap ? 0 : -1;
return currentIndex + 1;
}
if (currentIndex === 0) return wrap ? lastIndex : -1;
return currentIndex - 1;
}
function isItemFocusable(item) {
if (!item.element) return false;
if (item.focusableWhenDisabled) return true;
return !item.disabled && !item.element.hasAttribute("disabled") && item.element.getAttribute("aria-disabled") !== "true" && item.element.hasAttribute("tabindex");
}
function isConnectedItem(item) {
return item.element != null && item.element.isConnected;
}
function sortByDocumentPosition(a, b) {
if (a === b) return 0;
const position = a.compareDocumentPosition(b);
if (position & Node.DOCUMENT_POSITION_FOLLOWING || position & Node.DOCUMENT_POSITION_CONTAINED_BY) return -1;
if (position & Node.DOCUMENT_POSITION_PRECEDING || position & Node.DOCUMENT_POSITION_CONTAINS) return 1;
return 0;
}
function handleRefs(...refs) {
return (node) => {
refs.forEach((ref) => {
setRef(ref ?? null, node);
});
};
}
//#endregion
export { useForkRef as C, useReducedMotion as S, useEnhancedEffect as T, useEventCallback_default as _, useRovingTabIndexContext as a, ownerDocument as b, getButtonBaseUtilityClass as c, Timeout as d, useTimeout as f, useForkRef_default as g, elementTypeAcceptingRef_default as h, RovingTabIndexContext as i, getTouchRippleUtilityClass as l, isFocusVisible as m, useRovingTabIndexItem as n, ButtonBase as o, useLazyRef as p, useRovingTabIndexRoot as r, buttonBaseClasses as s, isItemFocusable as t, touchRippleClasses as u, useEventCallback as v, refType as w, activeElement as x, setRef as y };
File diff suppressed because one or more lines are too long
@@ -0,0 +1,568 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { F as generateUtilityClasses, I as generateUtilityClass, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { l as composeClasses, n as rootShouldForwardProp, t as styled } from "./styled-Dq11esuZ.js";
import { t as capitalize_default } from "./capitalize-CAiNKy2l.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
import { t as createSimplePaletteValueFilter } from "./createSimplePaletteValueFilter-BhADkSm9.js";
import { t as useControlled_default } from "./useControlled-COuwyMRm.js";
import { t as useSlot } from "./useSlot-Cg0qr-dR.js";
import { t as mergeSlotProps } from "./mergeSlotProps-D_Ldcnck.js";
import { t as useFormControl } from "./useFormControl-DsSCzWhM.js";
import { t as ButtonBase } from "./ButtonBase-C5OJwznt.js";
//#region node_modules/@mui/material/internal/switchBaseClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
function getSwitchBaseUtilityClass(slot) {
return generateUtilityClass("PrivateSwitchBase", slot);
}
generateUtilityClasses("PrivateSwitchBase", [
"root",
"checked",
"disabled",
"input",
"edgeStart",
"edgeEnd"
]);
//#endregion
//#region node_modules/@mui/material/internal/SwitchBase.mjs
var import_jsx_runtime = require_jsx_runtime();
var useUtilityClasses$1 = (ownerState) => {
const { classes, checked, disabled, edge } = ownerState;
const slots = {
root: [
"root",
checked && "checked",
disabled && "disabled",
edge && `edge${capitalize_default(edge)}`
],
input: ["input"]
};
return composeClasses(slots, getSwitchBaseUtilityClass, classes);
};
var SwitchBaseRoot = styled(ButtonBase, { name: "MuiSwitchBase" })({
padding: 9,
borderRadius: "50%",
variants: [
{
props: {
edge: "start",
size: "small"
},
style: { marginLeft: -3 }
},
{
props: ({ edge, ownerState }) => edge === "start" && ownerState.size !== "small",
style: { marginLeft: -12 }
},
{
props: {
edge: "end",
size: "small"
},
style: { marginRight: -3 }
},
{
props: ({ edge, ownerState }) => edge === "end" && ownerState.size !== "small",
style: { marginRight: -12 }
}
]
});
var SwitchBaseInput = styled("input", {
name: "MuiSwitchBase",
shouldForwardProp: rootShouldForwardProp
})({
cursor: "inherit",
position: "absolute",
opacity: 0,
width: "100%",
height: "100%",
top: 0,
left: 0,
margin: 0,
padding: 0,
zIndex: 1
});
/**
* @ignore - internal component.
*/
var SwitchBase = /*#__PURE__*/ import_react.forwardRef(function SwitchBase(props, ref) {
const { autoFocus, checked: checkedProp, checkedIcon, defaultChecked, disabled: disabledProp, disableFocusRipple = false, edge = false, icon, id, name, onBlur, onChange, onFocus, readOnly, required = false, tabIndex, type, value, slots = {}, slotProps = {}, ...other } = props;
const { nativeButton, ...buttonBaseProps } = other;
const [checked, setCheckedState] = useControlled_default({
controlled: checkedProp,
default: Boolean(defaultChecked),
name: "SwitchBase",
state: "checked"
});
const muiFormControl = useFormControl();
const handleFocus = (event) => {
if (onFocus) onFocus(event);
if (muiFormControl && muiFormControl.onFocus) muiFormControl.onFocus(event);
};
const handleBlur = (event) => {
if (onBlur) onBlur(event);
if (muiFormControl && muiFormControl.onBlur) muiFormControl.onBlur(event);
};
const handleInputChange = (event) => {
if (event.nativeEvent.defaultPrevented || readOnly) return;
const newChecked = event.target.checked;
setCheckedState(newChecked);
if (onChange) onChange(event, newChecked);
};
let disabled = disabledProp;
if (muiFormControl) {
if (typeof disabled === "undefined") disabled = muiFormControl.disabled;
}
const hasLabelFor = type === "checkbox" || type === "radio";
const ownerState = {
...props,
checked,
disabled,
disableFocusRipple,
edge
};
const classes = useUtilityClasses$1(ownerState);
const externalForwardedProps = {
slots,
slotProps
};
const [RootSlot, rootSlotProps] = useSlot("root", {
ref,
elementType: SwitchBaseRoot,
className: classes.root,
shouldForwardComponentProp: true,
externalForwardedProps: {
...externalForwardedProps,
component: "span",
...buttonBaseProps
},
getSlotProps: (handlers) => ({
...handlers,
onFocus: (event) => {
handlers.onFocus?.(event);
handleFocus(event);
},
onBlur: (event) => {
handlers.onBlur?.(event);
handleBlur(event);
}
}),
ownerState,
additionalProps: {
centerRipple: true,
focusRipple: !disableFocusRipple,
role: void 0,
tabIndex: null
}
});
const [InputSlot, inputSlotProps] = useSlot("input", {
elementType: SwitchBaseInput,
className: classes.input,
externalForwardedProps,
getSlotProps: (handlers) => ({
...handlers,
onChange: (event) => {
handlers.onChange?.(event);
handleInputChange(event);
}
}),
ownerState,
additionalProps: {
autoFocus,
checked: checkedProp,
defaultChecked,
disabled,
id: hasLabelFor ? id : void 0,
name,
readOnly,
required,
tabIndex,
type,
...type === "checkbox" && value === void 0 ? {} : { value }
}
});
return /*#__PURE__*/ (0, import_jsx_runtime.jsxs)(RootSlot, {
...rootSlotProps,
children: [/*#__PURE__*/ (0, import_jsx_runtime.jsx)(InputSlot, { ...inputSlotProps }), checked ? checkedIcon : icon]
});
});
SwitchBase.propTypes = {
/**
* If `true`, the `input` element is focused during the first mount.
*/
autoFocus: import_prop_types.default.bool,
/**
* If `true`, the component is checked.
*/
checked: import_prop_types.default.bool,
/**
* The icon to display when the component is checked.
*/
checkedIcon: import_prop_types.default.node.isRequired,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* @ignore
*/
defaultChecked: import_prop_types.default.bool,
/**
* If `true`, the component is disabled.
*/
disabled: import_prop_types.default.bool,
/**
* If `true`, the keyboard focus ripple is disabled.
* @default false
*/
disableFocusRipple: import_prop_types.default.bool,
/**
* If given, uses a negative margin to counteract the padding on one
* side (this is often helpful for aligning the left or right
* side of the icon with content above or below, without ruining the border
* size and shape).
* @default false
*/
edge: import_prop_types.default.oneOf([
"end",
"start",
false
]),
/**
* The icon to display when the component is unchecked.
*/
icon: import_prop_types.default.node.isRequired,
/**
* The id of the `input` element.
*/
id: import_prop_types.default.string,
name: import_prop_types.default.string,
/**
* @ignore
*/
onBlur: import_prop_types.default.func,
/**
* Callback fired when the state is changed.
*
* @param {object} event The event source of the callback.
* You can pull out the new checked state by accessing `event.target.checked` (boolean).
*/
onChange: import_prop_types.default.func,
/**
* @ignore
*/
onFocus: import_prop_types.default.func,
/**
* It prevents the user from changing the value of the field
* (not from interacting with the field).
*/
readOnly: import_prop_types.default.bool,
/**
* If `true`, the `input` element is required.
*/
required: import_prop_types.default.bool,
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: import_prop_types.default.shape({
input: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
root: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object])
}),
/**
* The components used for each slot inside.
* @default {}
*/
slots: import_prop_types.default.shape({
input: import_prop_types.default.elementType,
root: import_prop_types.default.elementType
}),
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.object,
/**
* @ignore
*/
tabIndex: import_prop_types.default.oneOfType([import_prop_types.default.number, import_prop_types.default.string]),
/**
* The input component prop `type`.
*/
type: import_prop_types.default.string.isRequired,
/**
* The value of the component.
*/
value: import_prop_types.default.any
};
//#endregion
//#region node_modules/@mui/material/internal/svg-icons/CheckBoxOutlineBlank.mjs
/**
* @ignore - internal component.
*/
var CheckBoxOutlineBlank_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M19 5v14H5V5h14m0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2z" }), "CheckBoxOutlineBlank");
//#endregion
//#region node_modules/@mui/material/internal/svg-icons/CheckBox.mjs
/**
* @ignore - internal component.
*/
var CheckBox_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z" }), "CheckBox");
//#endregion
//#region node_modules/@mui/material/internal/svg-icons/IndeterminateCheckBox.mjs
/**
* @ignore - internal component.
*/
var IndeterminateCheckBox_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-2 10H7v-2h10v2z" }), "IndeterminateCheckBox");
//#endregion
//#region node_modules/@mui/material/Checkbox/checkboxClasses.mjs
function getCheckboxUtilityClass(slot) {
return generateUtilityClass("MuiCheckbox", slot);
}
var checkboxClasses = generateUtilityClasses("MuiCheckbox", [
"root",
"checked",
"disabled",
"indeterminate",
"colorPrimary",
"colorSecondary",
"sizeSmall",
"sizeMedium"
]);
//#endregion
//#region node_modules/@mui/material/Checkbox/Checkbox.mjs
var useUtilityClasses = (ownerState) => {
const { classes, indeterminate, color, size } = ownerState;
const slots = { root: [
"root",
indeterminate && "indeterminate",
`color${capitalize_default(color)}`,
`size${capitalize_default(size)}`
] };
const composedClasses = composeClasses(slots, getCheckboxUtilityClass, classes);
return {
...classes,
...composedClasses
};
};
var CheckboxRoot = styled(SwitchBase, {
shouldForwardProp: (prop) => rootShouldForwardProp(prop) || prop === "classes",
name: "MuiCheckbox",
slot: "Root",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [
styles.root,
ownerState.indeterminate && styles.indeterminate,
styles[`size${capitalize_default(ownerState.size)}`],
ownerState.color !== "default" && styles[`color${capitalize_default(ownerState.color)}`]
];
}
})(memoTheme(({ theme }) => ({
color: (theme.vars || theme).palette.text.secondary,
variants: [
{
props: {
color: "default",
disableRipple: false
},
style: { "&:hover": { backgroundColor: theme.alpha((theme.vars || theme).palette.action.active, (theme.vars || theme).palette.action.hoverOpacity) } }
},
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
props: {
color,
disableRipple: false
},
style: { "&:hover": { backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity) } }
})),
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
props: { color },
style: {
[`&.${checkboxClasses.checked}, &.${checkboxClasses.indeterminate}`]: { color: (theme.vars || theme).palette[color].main },
[`&.${checkboxClasses.disabled}`]: { color: (theme.vars || theme).palette.action.disabled }
}
})),
{
props: { disableRipple: false },
style: { "&:hover": { "@media (hover: none)": { backgroundColor: "transparent" } } }
}
]
})));
var defaultCheckedIcon = /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CheckBox_default, {});
var defaultIcon = /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CheckBoxOutlineBlank_default, {});
var defaultIndeterminateIcon = /*#__PURE__*/ (0, import_jsx_runtime.jsx)(IndeterminateCheckBox_default, {});
var Checkbox = /*#__PURE__*/ import_react.forwardRef(function Checkbox(inProps, ref) {
const props = useDefaultProps({
props: inProps,
name: "MuiCheckbox"
});
const { checkedIcon = defaultCheckedIcon, color = "primary", icon: iconProp = defaultIcon, indeterminate = false, indeterminateIcon: indeterminateIconProp = defaultIndeterminateIcon, size = "medium", disableRipple = false, className, slots = {}, slotProps = {}, ...other } = props;
const icon = indeterminate ? indeterminateIconProp : iconProp;
const indeterminateIcon = indeterminate ? indeterminateIconProp : checkedIcon;
const ownerState = {
...props,
disableRipple,
color,
indeterminate,
size
};
const classes = useUtilityClasses(ownerState);
const externalInputProps = slotProps.input;
const [RootSlot, rootSlotProps] = useSlot("root", {
ref,
elementType: CheckboxRoot,
className: clsx(classes.root, className),
shouldForwardComponentProp: true,
externalForwardedProps: {
slots,
slotProps,
...other
},
ownerState,
additionalProps: {
type: "checkbox",
icon: /*#__PURE__*/ import_react.cloneElement(icon, { fontSize: icon.props.fontSize ?? size }),
checkedIcon: /*#__PURE__*/ import_react.cloneElement(indeterminateIcon, { fontSize: indeterminateIcon.props.fontSize ?? size }),
disableRipple: props.disableRipple,
slots,
slotProps: { input: mergeSlotProps(typeof externalInputProps === "function" ? externalInputProps(ownerState) : externalInputProps, {
"data-indeterminate": indeterminate,
"aria-checked": indeterminate ? "mixed" : void 0
}) }
}
});
return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(RootSlot, {
...rootSlotProps,
classes
});
});
Checkbox.propTypes = {
/**
* If `true`, the component is checked.
*/
checked: import_prop_types.default.bool,
/**
* The icon to display when the component is checked.
* @default <CheckBoxIcon />
*/
checkedIcon: import_prop_types.default.node,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* The color of the component.
* It supports both default and custom theme colors, which can be added as shown in the
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
* @default 'primary'
*/
color: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"default",
"primary",
"secondary",
"error",
"info",
"success",
"warning"
]), import_prop_types.default.string]),
/**
* The default checked state. Use when the component is not controlled.
*/
defaultChecked: import_prop_types.default.bool,
/**
* If `true`, the component is disabled.
* @default false
*/
disabled: import_prop_types.default.bool,
/**
* If `true`, the ripple effect is disabled.
* @default false
*/
disableRipple: import_prop_types.default.bool,
/**
* The icon to display when the component is unchecked.
* @default <CheckBoxOutlineBlankIcon />
*/
icon: import_prop_types.default.node,
/**
* The id of the `input` element.
*/
id: import_prop_types.default.string,
/**
* If `true`, the component appears indeterminate.
* This does not set the native input element to indeterminate due
* to inconsistent behavior across browsers.
* However, we set a `data-indeterminate` attribute on the `input`.
* @default false
*/
indeterminate: import_prop_types.default.bool,
/**
* The icon to display when the component is indeterminate.
* @default <IndeterminateCheckBoxIcon />
*/
indeterminateIcon: import_prop_types.default.node,
/**
* Callback fired when the state is changed.
*
* @param {React.ChangeEvent<HTMLInputElement>} event The event source of the callback.
* You can pull out the new checked state by accessing `event.target.checked` (boolean).
*/
onChange: import_prop_types.default.func,
/**
* If `true`, the `input` element is required.
* @default false
*/
required: import_prop_types.default.bool,
/**
* The size of the component.
* `small` is equivalent to the dense checkbox styling.
* @default 'medium'
*/
size: import_prop_types.default.oneOfType([import_prop_types.default.oneOf(["medium", "small"]), import_prop_types.default.string]),
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: import_prop_types.default.shape({
input: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
root: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object])
}),
/**
* The components used for each slot inside.
* @default {}
*/
slots: import_prop_types.default.shape({
input: import_prop_types.default.elementType,
root: import_prop_types.default.elementType
}),
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* The value of the component. The DOM API casts this to a string.
* The browser uses "on" as the default value.
*/
value: import_prop_types.default.any
};
//#endregion
export { SwitchBase as i, checkboxClasses as n, getCheckboxUtilityClass as r, Checkbox as t };
File diff suppressed because one or more lines are too long
@@ -0,0 +1,559 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { F as generateUtilityClasses, I as generateUtilityClass, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { l as composeClasses, n as rootShouldForwardProp, t as styled } from "./styled-Dq11esuZ.js";
import { t as capitalize_default } from "./capitalize-CAiNKy2l.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useForkRef_default } from "./useForkRef-DuMrXAkd.js";
import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
import { i as getTransitionStyles } from "./utils-BCVtNTPx.js";
import { t as createSimplePaletteValueFilter } from "./createSimplePaletteValueFilter-BhADkSm9.js";
import { t as unsupportedProp_default } from "./unsupportedProp-Djr2P2KR.js";
import { t as useSlot } from "./useSlot-Cg0qr-dR.js";
import { t as ButtonBase } from "./ButtonBase-C5OJwznt.js";
//#region node_modules/@mui/material/internal/svg-icons/Cancel.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
var import_jsx_runtime = require_jsx_runtime();
var Cancel_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M12 2C6.47 2 2 6.47 2 12s4.47 10 10 10 10-4.47 10-10S17.53 2 12 2zm5 13.59L15.59 17 12 13.41 8.41 17 7 15.59 10.59 12 7 8.41 8.41 7 12 10.59 15.59 7 17 8.41 13.41 12 17 15.59z" }), "Cancel");
//#endregion
//#region node_modules/@mui/material/Chip/chipClasses.mjs
function getChipUtilityClass(slot) {
return generateUtilityClass("MuiChip", slot);
}
var chipClasses = generateUtilityClasses("MuiChip", [
"root",
"sizeSmall",
"sizeMedium",
"colorDefault",
"colorError",
"colorInfo",
"colorPrimary",
"colorSecondary",
"colorSuccess",
"colorWarning",
"disabled",
"clickable",
"deletable",
"outlined",
"filled",
"avatar",
"icon",
"label",
"deleteIcon",
"focusVisible"
]);
//#endregion
//#region node_modules/@mui/material/Chip/Chip.mjs
var useUtilityClasses = (ownerState) => {
const { classes, disabled, size, color, onDelete, clickable, variant } = ownerState;
const slots = {
root: [
"root",
variant,
disabled && "disabled",
`size${capitalize_default(size)}`,
`color${capitalize_default(color)}`,
clickable && "clickable",
onDelete && "deletable"
],
label: ["label"],
avatar: ["avatar"],
icon: ["icon"],
deleteIcon: ["deleteIcon"]
};
return composeClasses(slots, getChipUtilityClass, classes);
};
var ChipRoot = styled("div", {
name: "MuiChip",
slot: "Root",
shouldForwardProp: (prop) => rootShouldForwardProp(prop) && prop !== "focusableWhenDisabled" && prop !== "skipFocusWhenDisabled",
overridesResolver: (props, styles) => {
const { ownerState } = props;
const { color, clickable, onDelete, size, variant } = ownerState;
return [
{ [`& .${chipClasses.avatar}`]: styles.avatar },
{ [`& .${chipClasses.icon}`]: styles.icon },
{ [`& .${chipClasses.deleteIcon}`]: styles.deleteIcon },
styles.root,
styles[`size${capitalize_default(size)}`],
styles[`color${capitalize_default(color)}`],
clickable && styles.clickable,
onDelete && styles.deletable,
styles[variant]
];
}
})(memoTheme(({ theme }) => {
const textColor = theme.palette.mode === "light" ? theme.palette.grey[700] : theme.palette.grey[300];
return {
maxWidth: "100%",
fontFamily: theme.typography.fontFamily,
fontSize: theme.typography.pxToRem(13),
display: "inline-flex",
alignItems: "center",
justifyContent: "center",
height: 32,
lineHeight: 1.5,
color: (theme.vars || theme).palette.text.primary,
backgroundColor: (theme.vars || theme).palette.action.selected,
borderRadius: 16,
whiteSpace: "nowrap",
...getTransitionStyles(theme, ["background-color", "box-shadow"]),
cursor: "unset",
outline: 0,
textDecoration: "none",
border: 0,
padding: 0,
verticalAlign: "middle",
boxSizing: "border-box",
[`&.${chipClasses.disabled}`]: {
opacity: (theme.vars || theme).palette.action.disabledOpacity,
pointerEvents: "none"
},
[`& .${chipClasses.avatar}`]: {
marginLeft: 5,
marginRight: -6,
width: 24,
height: 24,
color: theme.vars ? theme.vars.palette.Chip.defaultAvatarColor : textColor,
fontSize: theme.typography.pxToRem(12)
},
[`& .${chipClasses.icon}`]: {
marginLeft: 5,
marginRight: -6
},
[`& .${chipClasses.deleteIcon}`]: {
WebkitTapHighlightColor: "transparent",
color: theme.alpha((theme.vars || theme).palette.text.primary, .26),
fontSize: 22,
cursor: "pointer",
margin: "0 5px 0 -6px",
"&:hover": { color: theme.alpha((theme.vars || theme).palette.text.primary, .4) }
},
variants: [
{
props: { color: "primary" },
style: { [`& .${chipClasses.avatar}`]: {
color: (theme.vars || theme).palette.primary.contrastText,
backgroundColor: (theme.vars || theme).palette.primary.dark
} }
},
{
props: { color: "secondary" },
style: { [`& .${chipClasses.avatar}`]: {
color: (theme.vars || theme).palette.secondary.contrastText,
backgroundColor: (theme.vars || theme).palette.secondary.dark
} }
},
{
props: { size: "small" },
style: {
height: 24,
[`& .${chipClasses.avatar}`]: {
marginLeft: 4,
marginRight: -4,
width: 18,
height: 18,
fontSize: theme.typography.pxToRem(10)
},
[`& .${chipClasses.icon}`]: {
fontSize: 18,
marginLeft: 4,
marginRight: -4
},
[`& .${chipClasses.deleteIcon}`]: {
fontSize: 16,
marginRight: 4,
marginLeft: -4
}
}
},
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(["contrastText"])).map(([color]) => {
return {
props: { color },
style: {
backgroundColor: (theme.vars || theme).palette[color].main,
color: (theme.vars || theme).palette[color].contrastText,
[`& .${chipClasses.deleteIcon}`]: {
color: theme.alpha((theme.vars || theme).palette[color].contrastText, .7),
"&:hover, &:active": { color: (theme.vars || theme).palette[color].contrastText }
}
}
};
}),
{
props: (props) => props.iconColor === props.color,
style: { [`& .${chipClasses.icon}`]: { color: theme.vars ? theme.vars.palette.Chip.defaultIconColor : textColor } }
},
{
props: (props) => props.iconColor === props.color && props.color !== "default",
style: { [`& .${chipClasses.icon}`]: { color: "inherit" } }
},
{
props: { onDelete: true },
style: { [`&.${chipClasses.focusVisible}`]: { backgroundColor: theme.alpha((theme.vars || theme).palette.action.selected, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.focusOpacity}`) } }
},
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(["dark"])).map(([color]) => {
return {
props: {
color,
onDelete: true
},
style: { [`&.${chipClasses.focusVisible}`]: { background: (theme.vars || theme).palette[color].dark } }
};
}),
{
props: { clickable: true },
style: {
userSelect: "none",
WebkitTapHighlightColor: "transparent",
cursor: "pointer",
"&:hover": { backgroundColor: theme.alpha((theme.vars || theme).palette.action.selected, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.hoverOpacity}`) },
[`&.${chipClasses.focusVisible}`]: { backgroundColor: theme.alpha((theme.vars || theme).palette.action.selected, `${(theme.vars || theme).palette.action.selectedOpacity} + ${(theme.vars || theme).palette.action.focusOpacity}`) },
"&:active": { boxShadow: (theme.vars || theme).shadows[1] }
}
},
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter(["dark"])).map(([color]) => ({
props: {
color,
clickable: true
},
style: { [`&:hover, &.${chipClasses.focusVisible}`]: { backgroundColor: (theme.vars || theme).palette[color].dark } }
})),
{
props: { variant: "outlined" },
style: {
backgroundColor: "transparent",
border: theme.vars ? `1px solid ${theme.vars.palette.Chip.defaultBorder}` : `1px solid ${theme.palette.mode === "light" ? theme.palette.grey[400] : theme.palette.grey[700]}`,
[`&.${chipClasses.clickable}:hover`]: { backgroundColor: (theme.vars || theme).palette.action.hover },
[`&.${chipClasses.focusVisible}`]: { backgroundColor: (theme.vars || theme).palette.action.focus },
[`& .${chipClasses.avatar}`]: { marginLeft: 4 },
[`& .${chipClasses.icon}`]: { marginLeft: 4 },
[`& .${chipClasses.deleteIcon}`]: { marginRight: 5 }
}
},
{
props: {
size: "small",
variant: "outlined"
},
style: {
[`& .${chipClasses.avatar}`]: { marginLeft: 2 },
[`& .${chipClasses.icon}`]: { marginLeft: 2 },
[`& .${chipClasses.deleteIcon}`]: { marginRight: 3 }
}
},
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
props: {
variant: "outlined",
color
},
style: {
color: (theme.vars || theme).palette[color].main,
border: `1px solid ${theme.alpha((theme.vars || theme).palette[color].main, .7)}`,
[`&.${chipClasses.clickable}:hover`]: { backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.hoverOpacity) },
[`&.${chipClasses.focusVisible}`]: { backgroundColor: theme.alpha((theme.vars || theme).palette[color].main, (theme.vars || theme).palette.action.focusOpacity) },
[`& .${chipClasses.deleteIcon}`]: {
color: theme.alpha((theme.vars || theme).palette[color].main, .7),
"&:hover, &:active": { color: (theme.vars || theme).palette[color].main }
}
}
}))
]
};
}));
var ChipLabel = styled("span", {
name: "MuiChip",
slot: "Label"
})({
overflow: "hidden",
textOverflow: "ellipsis",
paddingLeft: 12,
paddingRight: 12,
whiteSpace: "nowrap",
variants: [
{
props: { variant: "outlined" },
style: {
paddingLeft: 11,
paddingRight: 11
}
},
{
props: { size: "small" },
style: {
paddingLeft: 8,
paddingRight: 8
}
},
{
props: {
size: "small",
variant: "outlined"
},
style: {
paddingLeft: 7,
paddingRight: 7
}
}
]
});
function isDeleteKeyboardEvent(keyboardEvent) {
return keyboardEvent.key === "Backspace" || keyboardEvent.key === "Delete";
}
/**
* Chips represent complex entities in small blocks, such as a contact.
*/
var Chip = /*#__PURE__*/ import_react.forwardRef(function Chip(inProps, ref) {
const props = useDefaultProps({
props: inProps,
name: "MuiChip"
});
const { avatar: avatarProp, className, clickable: clickableProp, color = "default", component: ComponentProp, deleteIcon: deleteIconProp, disabled = false, icon: iconProp, label, onClick, onDelete, onKeyDown, onKeyUp, size = "medium", variant = "filled", tabIndex, skipFocusWhenDisabled = false, slots = {}, slotProps = {}, ...other } = props;
const { nativeButton, ...buttonBaseProps } = other;
const chipRef = import_react.useRef(null);
const handleRef = useForkRef_default(chipRef, ref);
const handleDeleteIconClick = (event) => {
event.stopPropagation();
onDelete(event);
};
const handleKeyDown = (event) => {
if (event.currentTarget === event.target && isDeleteKeyboardEvent(event)) event.preventDefault();
if (onKeyDown) onKeyDown(event);
};
const handleKeyUp = (event) => {
if (event.currentTarget === event.target) {
if (onDelete && isDeleteKeyboardEvent(event)) onDelete(event);
}
if (onKeyUp) onKeyUp(event);
};
const clickable = clickableProp !== false && onClick ? true : clickableProp;
const component = clickable || onDelete ? ButtonBase : ComponentProp || "div";
const ownerState = {
...props,
component,
disabled,
size,
color,
iconColor: /*#__PURE__*/ import_react.isValidElement(iconProp) ? iconProp.props.color || color : color,
onDelete: !!onDelete,
clickable,
variant
};
const classes = useUtilityClasses(ownerState);
const moreProps = component === ButtonBase ? {
component: ComponentProp || "div",
internalNativeButton: false,
focusVisibleClassName: classes.focusVisible,
...onDelete && { disableRipple: true },
...nativeButton !== void 0 && { nativeButton }
} : {};
let deleteIcon = null;
if (onDelete) deleteIcon = deleteIconProp && /*#__PURE__*/ import_react.isValidElement(deleteIconProp) ? /*#__PURE__*/ import_react.cloneElement(deleteIconProp, {
className: clsx(deleteIconProp.props.className, classes.deleteIcon),
onClick: handleDeleteIconClick
}) : /*#__PURE__*/ (0, import_jsx_runtime.jsx)(Cancel_default, {
className: classes.deleteIcon,
onClick: handleDeleteIconClick
});
let avatar = null;
if (avatarProp && /*#__PURE__*/ import_react.isValidElement(avatarProp)) avatar = /*#__PURE__*/ import_react.cloneElement(avatarProp, { className: clsx(classes.avatar, avatarProp.props.className) });
let icon = null;
if (iconProp && /*#__PURE__*/ import_react.isValidElement(iconProp)) icon = /*#__PURE__*/ import_react.cloneElement(iconProp, { className: clsx(classes.icon, iconProp.props.className) });
if (avatar && icon) console.error("MUI: The Chip component can not handle the avatar and the icon prop at the same time. Pick one.");
const externalForwardedProps = {
slots,
slotProps
};
const [RootSlot, rootProps] = useSlot("root", {
elementType: ChipRoot,
externalForwardedProps: {
...externalForwardedProps,
...buttonBaseProps
},
ownerState,
shouldForwardComponentProp: true,
ref: handleRef,
className: clsx(classes.root, className),
additionalProps: {
disabled: clickable && disabled ? true : void 0,
tabIndex: skipFocusWhenDisabled && disabled ? -1 : tabIndex,
...moreProps
},
getSlotProps: (handlers) => ({
...handlers,
onClick: (event) => {
handlers.onClick?.(event);
onClick?.(event);
},
onKeyDown: (event) => {
handlers.onKeyDown?.(event);
handleKeyDown(event);
},
onKeyUp: (event) => {
handlers.onKeyUp?.(event);
handleKeyUp(event);
}
})
});
const [LabelSlot, labelProps] = useSlot("label", {
elementType: ChipLabel,
externalForwardedProps,
ownerState,
className: classes.label
});
return /*#__PURE__*/ (0, import_jsx_runtime.jsxs)(RootSlot, {
as: component,
...rootProps,
children: [
avatar || icon,
/*#__PURE__*/ (0, import_jsx_runtime.jsx)(LabelSlot, {
...labelProps,
children: label
}),
deleteIcon
]
});
});
Chip.propTypes = {
/**
* The Avatar element to display.
*/
avatar: import_prop_types.default.element,
/**
* This prop isn't supported.
* Use the `component` prop if you need to change the children structure.
*/
children: unsupportedProp_default,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* If `true`, the chip will appear clickable, and will raise when pressed,
* even if the onClick prop is not defined.
* If `false`, the chip will not appear clickable, even if onClick prop is defined.
* This can be used, for example,
* along with the component prop to indicate an anchor Chip is clickable.
* Note: this controls the UI and does not affect the onClick event.
*/
clickable: import_prop_types.default.bool,
/**
* The color of the component.
* It supports both default and custom theme colors, which can be added as shown in the
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
* @default 'default'
*/
color: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"default",
"primary",
"secondary",
"error",
"info",
"success",
"warning"
]), import_prop_types.default.string]),
/**
* The component used for the root node.
* Either a string to use a HTML element or a component.
*/
component: import_prop_types.default.elementType,
/**
* Override the default delete icon element. Shown only if `onDelete` is set.
*/
deleteIcon: import_prop_types.default.element,
/**
* If `true`, the component is disabled.
* @default false
*/
disabled: import_prop_types.default.bool,
/**
* Icon element.
*/
icon: import_prop_types.default.element,
/**
* The content of the component.
*/
label: import_prop_types.default.node,
/**
* If `true`, the component is expected to resolve to a native `<button>` element.
* When omitted, custom components inherit the default button semantics of the current wrapper.
* Set to `true` when a custom component resolves to a native `<button>`, or `false`
* when it resolves to a non-button host.
*/
nativeButton: import_prop_types.default.bool,
/**
* @ignore
*/
onClick: import_prop_types.default.func,
/**
* Callback fired when the delete icon is clicked.
* If set, the delete icon will be shown.
*/
onDelete: import_prop_types.default.func,
/**
* @ignore
*/
onKeyDown: import_prop_types.default.func,
/**
* @ignore
*/
onKeyUp: import_prop_types.default.func,
/**
* The size of the component.
* @default 'medium'
*/
size: import_prop_types.default.oneOfType([import_prop_types.default.oneOf(["medium", "small"]), import_prop_types.default.string]),
/**
* If `true`, allows the disabled chip to escape focus.
* If `false`, allows the disabled chip to receive focus.
* @default false
*/
skipFocusWhenDisabled: import_prop_types.default.bool,
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: import_prop_types.default.shape({
label: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
root: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object])
}),
/**
* The components used for each slot inside.
* @default {}
*/
slots: import_prop_types.default.shape({
label: import_prop_types.default.elementType,
root: import_prop_types.default.elementType
}),
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* @ignore
*/
tabIndex: import_prop_types.default.number,
/**
* The variant to use.
* @default 'filled'
*/
variant: import_prop_types.default.oneOfType([import_prop_types.default.oneOf(["filled", "outlined"]), import_prop_types.default.string])
};
//#endregion
export { chipClasses as n, getChipUtilityClass as r, Chip as t };
File diff suppressed because one or more lines are too long
@@ -0,0 +1,338 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { F as generateUtilityClasses, G as keyframes, I as generateUtilityClass, W as css, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { l as composeClasses, t as styled } from "./styled-Dq11esuZ.js";
import { t as capitalize_default } from "./capitalize-CAiNKy2l.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { t as chainPropTypes } from "./chainPropTypes-XO9WdMvJ.js";
import { i as getTransitionStyles, t as getReducedMotionStyles } from "./utils-BCVtNTPx.js";
import { t as createSimplePaletteValueFilter } from "./createSimplePaletteValueFilter-BhADkSm9.js";
//#region node_modules/@mui/material/CircularProgress/circularProgressClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
function getCircularProgressUtilityClass(slot) {
return generateUtilityClass("MuiCircularProgress", slot);
}
var circularProgressClasses = generateUtilityClasses("MuiCircularProgress", [
"root",
"determinate",
"indeterminate",
"colorPrimary",
"colorSecondary",
"svg",
"track",
"circle",
"circleDisableShrink"
]);
//#endregion
//#region node_modules/@mui/material/CircularProgress/CircularProgress.mjs
var import_jsx_runtime = require_jsx_runtime();
var SIZE = 44;
var warnedMinMaxWithoutVariant = false;
var warnedInvalidMinMaxValue = false;
var circularRotateKeyframe = keyframes`
0% {
transform: rotate(0deg);
}
100% {
transform: rotate(360deg);
}
`;
var circularDashKeyframe = keyframes`
0% {
stroke-dasharray: 1px, 200px;
stroke-dashoffset: 0;
}
50% {
stroke-dasharray: 100px, 200px;
stroke-dashoffset: -15px;
}
100% {
stroke-dasharray: 1px, 200px;
stroke-dashoffset: -126px;
}
`;
var rotateAnimation = typeof circularRotateKeyframe !== "string" ? css`
animation: ${circularRotateKeyframe} 1.4s linear infinite;
` : null;
var dashAnimation = typeof circularDashKeyframe !== "string" ? css`
animation: ${circularDashKeyframe} 1.4s ease-in-out infinite;
` : null;
var useUtilityClasses = (ownerState) => {
const { classes, variant, color, disableShrink } = ownerState;
const slots = {
root: [
"root",
variant,
`color${capitalize_default(color)}`
],
svg: ["svg"],
track: ["track"],
circle: ["circle", disableShrink && "circleDisableShrink"]
};
return composeClasses(slots, getCircularProgressUtilityClass, classes);
};
var CircularProgressRoot = styled("span", {
name: "MuiCircularProgress",
slot: "Root",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [
styles.root,
styles[ownerState.variant],
styles[`color${capitalize_default(ownerState.color)}`]
];
}
})(memoTheme(({ theme }) => {
const reducedMotionAnimationStyles = getReducedMotionStyles(theme, { animation: "none" });
return {
display: "inline-block",
variants: [
{
props: { variant: "determinate" },
style: { ...getTransitionStyles(theme, "transform") }
},
{
props: { variant: "indeterminate" },
style: rotateAnimation || { animation: `${circularRotateKeyframe} 1.4s linear infinite` }
},
...reducedMotionAnimationStyles ? [{
props: { variant: "indeterminate" },
style: reducedMotionAnimationStyles
}] : [],
...Object.entries(theme.palette).filter(createSimplePaletteValueFilter()).map(([color]) => ({
props: { color },
style: { color: (theme.vars || theme).palette[color].main }
}))
]
};
}));
var CircularProgressSVG = styled("svg", {
name: "MuiCircularProgress",
slot: "Svg"
})({ display: "block" });
var CircularProgressCircle = styled("circle", {
name: "MuiCircularProgress",
slot: "Circle",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [styles.circle, ownerState.disableShrink && styles.circleDisableShrink];
}
})(memoTheme(({ theme }) => {
const reducedMotionAnimationStyles = getReducedMotionStyles(theme, { animation: "none" });
return {
stroke: "currentColor",
variants: [
{
props: { variant: "determinate" },
style: { ...getTransitionStyles(theme, "stroke-dashoffset") }
},
{
props: { variant: "indeterminate" },
style: {
strokeDasharray: "80px, 200px",
strokeDashoffset: 0
}
},
{
props: ({ ownerState }) => ownerState.variant === "indeterminate" && !ownerState.disableShrink,
style: dashAnimation || { animation: `${circularDashKeyframe} 1.4s ease-in-out infinite` }
},
...reducedMotionAnimationStyles ? [{
props: ({ ownerState }) => ownerState.variant === "indeterminate" && !ownerState.disableShrink,
style: reducedMotionAnimationStyles
}] : []
]
};
}));
var CircularProgressTrack = styled("circle", {
name: "MuiCircularProgress",
slot: "Track"
})(memoTheme(({ theme }) => ({
stroke: "currentColor",
opacity: (theme.vars || theme).palette.action.activatedOpacity
})));
/**
* ## ARIA
*
* If the progress bar is describing the loading progress of a particular region of a page,
* you should use `aria-describedby` to point to the progress bar, and set the `aria-busy`
* attribute to `true` on that region until it has finished loading.
*/
var CircularProgress = /*#__PURE__*/ import_react.forwardRef(function CircularProgress(inProps, ref) {
const props = useDefaultProps({
props: inProps,
name: "MuiCircularProgress"
});
const { className, color = "primary", disableShrink = false, enableTrackSlot = false, min: minProp, max: maxProp, size = 40, style, thickness = 3.6, value = props.min ?? 0, variant = "indeterminate", ...other } = props;
if (!warnedMinMaxWithoutVariant && variant === "indeterminate" && (minProp !== void 0 || maxProp !== void 0)) {
console.warn(`MUI: You have provided the \`min\` or \`max\` props with an 'indeterminate' variant. These props will have no effect.`);
warnedMinMaxWithoutVariant = true;
}
const min = minProp ?? 0;
const max = maxProp ?? 100;
const ownerState = {
...props,
color,
disableShrink,
size,
thickness,
value,
variant,
enableTrackSlot
};
const classes = useUtilityClasses(ownerState);
const circleStyle = {};
const rootStyle = {};
const rootProps = {};
if (variant === "determinate") {
const circumference = 2 * Math.PI * ((SIZE - thickness) / 2);
if (!warnedInvalidMinMaxValue && (value < min || value > max || min >= max)) {
console.error(`MUI: The min, max, and value props in CircularProgress should be numbers where min < max and min <= value <= max. Received min=${min}, max=${max}, value=${value}.`);
warnedInvalidMinMaxValue = true;
}
const range = max - min;
circleStyle.strokeDasharray = circumference.toFixed(3);
circleStyle.strokeDashoffset = range > 0 ? `${((max - value) / range * circumference).toFixed(3)}px` : `${circumference.toFixed(3)}px`;
rootStyle.transform = "rotate(-90deg)";
rootProps["aria-valuenow"] = value;
rootProps["aria-valuemin"] = min;
rootProps["aria-valuemax"] = max;
}
return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CircularProgressRoot, {
className: clsx(classes.root, className),
style: {
width: size,
height: size,
...rootStyle,
...style
},
ownerState,
ref,
role: "progressbar",
...rootProps,
...other,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsxs)(CircularProgressSVG, {
className: classes.svg,
ownerState,
viewBox: `${SIZE / 2} ${SIZE / 2} ${SIZE} ${SIZE}`,
children: [enableTrackSlot ? /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CircularProgressTrack, {
className: classes.track,
ownerState,
cx: SIZE,
cy: SIZE,
r: (SIZE - thickness) / 2,
fill: "none",
strokeWidth: thickness,
"aria-hidden": "true"
}) : null, /*#__PURE__*/ (0, import_jsx_runtime.jsx)(CircularProgressCircle, {
className: classes.circle,
style: circleStyle,
ownerState,
cx: SIZE,
cy: SIZE,
r: (SIZE - thickness) / 2,
fill: "none",
strokeWidth: thickness
})]
})
});
});
CircularProgress.propTypes = {
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* The color of the component.
* It supports both default and custom theme colors, which can be added as shown in the
* [palette customization guide](https://mui.com/material-ui/customization/palette/#custom-colors).
* @default 'primary'
*/
color: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"inherit",
"primary",
"secondary",
"error",
"info",
"success",
"warning"
]), import_prop_types.default.string]),
/**
* If `true`, the shrink animation is disabled.
* This only works if variant is `indeterminate`.
* @default false
*/
disableShrink: chainPropTypes(import_prop_types.default.bool, (props) => {
if (props.disableShrink && props.variant && props.variant !== "indeterminate") return /* @__PURE__ */ new Error("MUI: You have provided the `disableShrink` prop with a variant other than `indeterminate`. This will have no effect.");
return null;
}),
/**
* If `true`, a track circle slot is mounted to show a subtle background for the progress.
* The `size` and `thickness` apply to the track slot to be consistent with the progress circle.
* @default false
*/
enableTrackSlot: import_prop_types.default.bool,
/**
* The maximum value for the progress indicator for the determinate variant.
* @default 100
*/
max: import_prop_types.default.number,
/**
* The minimum value for the progress indicator for the determinate variant.
* @default 0
*/
min: import_prop_types.default.number,
/**
* The size of the component.
* If using a number, the pixel unit is assumed.
* If using a string, you need to provide the CSS unit, for example '3rem'.
* @default 40
*/
size: import_prop_types.default.oneOfType([import_prop_types.default.number, import_prop_types.default.string]),
/**
* @ignore
*/
style: import_prop_types.default.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* The thickness of the circle.
* @default 3.6
*/
thickness: import_prop_types.default.number,
/**
* The value of the progress indicator for the determinate variant.
* Value between `min` and `max`.
* @default props.min ?? 0
*/
value: import_prop_types.default.number,
/**
* The variant to use.
* Use indeterminate when there is no progress value.
* @default 'indeterminate'
*/
variant: import_prop_types.default.oneOf(["determinate", "indeterminate"])
};
//#endregion
export { circularProgressClasses as n, getCircularProgressUtilityClass as r, CircularProgress as t };
File diff suppressed because one or more lines are too long
@@ -0,0 +1,7 @@
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as createSvgIcon } from "./createSvgIcon-BpU1QI3F.js";
//#region node_modules/@mui/material/internal/svg-icons/Close.mjs
var import_jsx_runtime = require_jsx_runtime();
var Close_default = createSvgIcon(/*#__PURE__*/ (0, import_jsx_runtime.jsx)("path", { d: "M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z" }), "Close");
//#endregion
export { Close_default as t };
@@ -0,0 +1 @@
{"version":3,"file":"Close-B5eRwVOo.js","names":[],"sources":["../../@mui/material/internal/svg-icons/Close.mjs"],"sourcesContent":["'use client';\n\nimport createSvgIcon from \"../../utils/createSvgIcon.mjs\";\n\n/**\n * @ignore - internal component.\n *\n * Alias to `Clear`.\n */\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M19 6.41L17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z\"\n}), 'Close');"],"mappings":";;;;AAUA,IAAA,gBAAe,cAA2B,eAAA,GAAA,mBAAA,IAAA,CAAK,QAAQ,EACrD,GAAG,wGACL,CAAC,GAAG,OAAO"}
@@ -0,0 +1,400 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { F as generateUtilityClasses, I as generateUtilityClass, l as duration, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { l as composeClasses, t as styled } from "./styled-Dq11esuZ.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { r as useReducedMotion, t as useForkRef_default } from "./useForkRef-DuMrXAkd.js";
import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { n as useTheme } from "./chainPropTypes-XO9WdMvJ.js";
import { o as normalizedTransitionCallback, r as getTransitionProps } from "./utils-BCVtNTPx.js";
import { t as elementTypeAcceptingRef_default } from "./elementTypeAcceptingRef-Bh_-xFc3.js";
import { t as Transition } from "./Transition-ChzjZIqj.js";
import { t as useSlot } from "./useSlot-Cg0qr-dR.js";
//#region node_modules/@mui/material/Collapse/collapseClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
function getCollapseUtilityClass(slot) {
return generateUtilityClass("MuiCollapse", slot);
}
var collapseClasses = generateUtilityClasses("MuiCollapse", [
"root",
"horizontal",
"vertical",
"entered",
"hidden",
"wrapper",
"wrapperInner"
]);
//#endregion
//#region node_modules/@mui/material/Collapse/Collapse.mjs
var import_jsx_runtime = require_jsx_runtime();
var EMPTY_OBJECT = {};
var useUtilityClasses = (ownerState) => {
const { orientation, classes } = ownerState;
return composeClasses({
root: ["root", orientation],
entered: ["entered"],
hidden: ["hidden"],
wrapper: ["wrapper", orientation],
wrapperInner: ["wrapperInner", orientation]
}, getCollapseUtilityClass, classes);
};
var CollapseRoot = styled("div", {
name: "MuiCollapse",
slot: "Root",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [
styles.root,
styles[ownerState.orientation],
ownerState.state === "entered" && styles.entered,
ownerState.state === "exited" && !ownerState.in && ownerState.collapsedSize === "0px" && styles.hidden
];
}
})(memoTheme(({ theme }) => ({
height: 0,
overflow: "hidden",
transition: theme.transitions.create("height"),
variants: [
{
props: { orientation: "horizontal" },
style: {
height: "auto",
width: 0,
transition: theme.transitions.create("width")
}
},
{
props: { state: "entered" },
style: {
height: "auto",
overflow: "visible"
}
},
{
props: {
state: "entered",
orientation: "horizontal"
},
style: { width: "auto" }
},
{
props: ({ ownerState }) => ownerState.state === "exited" && !ownerState.in && ownerState.collapsedSize === "0px",
style: { visibility: "hidden" }
}
]
})));
var CollapseWrapper = styled("div", {
name: "MuiCollapse",
slot: "Wrapper"
})({
display: "flex",
width: "100%",
variants: [{
props: { orientation: "horizontal" },
style: {
width: "auto",
height: "100%"
}
}]
});
var CollapseWrapperInner = styled("div", {
name: "MuiCollapse",
slot: "WrapperInner"
})({
width: "100%",
variants: [{
props: { orientation: "horizontal" },
style: {
width: "auto",
height: "100%"
}
}]
});
/**
* The Collapse transition is used by the
* [Vertical Stepper](/material-ui/react-stepper/#vertical-stepper) StepContent component.
*/
var Collapse = /*#__PURE__*/ import_react.forwardRef(function Collapse(inProps, ref) {
const props = useDefaultProps({
props: inProps,
name: "MuiCollapse"
});
const { addEndListener, children, className, collapsedSize: collapsedSizeProp = "0px", component, disablePrefersReducedMotion = false, easing, in: inProp, onEnter, onEntered, onEntering, onExit, onExited, onExiting, orientation = "vertical", slots = EMPTY_OBJECT, slotProps = EMPTY_OBJECT, style, timeout = duration.standard, TransitionComponent = Transition, ...other } = props;
const ownerState = {
...props,
orientation,
collapsedSize: collapsedSizeProp
};
const classes = useUtilityClasses(ownerState);
const theme = useTheme();
const wrapperRef = import_react.useRef(null);
const autoTransitionDuration = import_react.useRef(null);
const collapsedSize = typeof collapsedSizeProp === "number" ? `${collapsedSizeProp}px` : collapsedSizeProp;
const isHorizontal = orientation === "horizontal";
const size = isHorizontal ? "width" : "height";
const reducedMotion = useReducedMotion(theme.motion.reducedMotion, disablePrefersReducedMotion);
const nodeRef = import_react.useRef(null);
const handleRef = useForkRef_default(ref, nodeRef);
const getWrapperSize = () => wrapperRef.current ? wrapperRef.current[isHorizontal ? "clientWidth" : "clientHeight"] : 0;
const handleEnter = normalizedTransitionCallback(nodeRef, (node, isAppearing) => {
if (wrapperRef.current && isHorizontal) wrapperRef.current.style.position = "absolute";
node.style[size] = collapsedSize;
if (onEnter) onEnter(node, isAppearing);
});
const handleEntering = normalizedTransitionCallback(nodeRef, (node, isAppearing) => {
const wrapperSize = getWrapperSize();
if (wrapperRef.current && isHorizontal) wrapperRef.current.style.position = "";
const { duration: transitionDuration, easing: transitionTimingFunction } = getTransitionProps({
style,
timeout,
easing
}, { mode: "enter" });
if (timeout === "auto" && !reducedMotion.shouldReduceMotion) {
const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);
autoTransitionDuration.current = duration2;
} else autoTransitionDuration.current = null;
const transitionTiming = reducedMotion.getTransitionTiming({
duration: autoTransitionDuration.current ?? transitionDuration,
delay: void 0
});
node.style.transitionDuration = typeof transitionTiming.duration === "string" ? transitionTiming.duration : `${transitionTiming.duration}ms`;
node.style[size] = `${wrapperSize}px`;
node.style.transitionTimingFunction = transitionTimingFunction;
if (onEntering) onEntering(node, isAppearing);
});
const handleEntered = normalizedTransitionCallback(nodeRef, (node, isAppearing) => {
node.style[size] = "auto";
if (onEntered) onEntered(node, isAppearing);
});
const handleExit = normalizedTransitionCallback(nodeRef, (node) => {
node.style[size] = `${getWrapperSize()}px`;
if (onExit) onExit(node);
});
const handleExited = normalizedTransitionCallback(nodeRef, onExited);
const handleExiting = normalizedTransitionCallback(nodeRef, (node) => {
const wrapperSize = getWrapperSize();
const { duration: transitionDuration, easing: transitionTimingFunction } = getTransitionProps({
style,
timeout,
easing
}, { mode: "exit" });
if (timeout === "auto" && !reducedMotion.shouldReduceMotion) {
const duration2 = theme.transitions.getAutoHeightDuration(wrapperSize);
autoTransitionDuration.current = duration2;
} else autoTransitionDuration.current = null;
const transitionTiming = reducedMotion.getTransitionTiming({
duration: autoTransitionDuration.current ?? transitionDuration,
delay: void 0
});
node.style.transitionDuration = typeof transitionTiming.duration === "string" ? transitionTiming.duration : `${transitionTiming.duration}ms`;
node.style[size] = collapsedSize;
node.style.transitionTimingFunction = transitionTimingFunction;
if (onExiting) onExiting(node);
});
const handleAddEndListener = addEndListener ? (next) => {
addEndListener(nodeRef.current, next);
} : void 0;
const externalForwardedProps = {
slots,
slotProps,
component
};
const [RootSlot, rootSlotProps] = useSlot("root", {
ref: handleRef,
className: clsx(classes.root, className),
elementType: CollapseRoot,
externalForwardedProps,
ownerState,
additionalProps: { style: {
[isHorizontal ? "minWidth" : "minHeight"]: collapsedSize,
...style
} }
});
const [WrapperSlot, wrapperSlotProps] = useSlot("wrapper", {
ref: wrapperRef,
className: classes.wrapper,
elementType: CollapseWrapper,
externalForwardedProps,
ownerState
});
const [WrapperInnerSlot, wrapperInnerSlotProps] = useSlot("wrapperInner", {
className: classes.wrapperInner,
elementType: CollapseWrapperInner,
externalForwardedProps,
ownerState
});
return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(TransitionComponent, {
in: inProp,
onEnter: handleEnter,
onEntered: handleEntered,
onEntering: handleEntering,
onExit: handleExit,
onExited: handleExited,
onExiting: handleExiting,
addEndListener: handleAddEndListener,
getAutoTimeout: timeout === "auto" ? () => autoTransitionDuration.current : void 0,
reduceMotion: reducedMotion.shouldReduceMotion,
nodeRef,
timeout: timeout === "auto" ? null : timeout,
...other,
children: (state, { ownerState: incomingOwnerState, ...restChildProps }) => {
const stateOwnerState = {
...ownerState,
state
};
return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(RootSlot, {
...rootSlotProps,
className: clsx(rootSlotProps.className, {
"entered": classes.entered,
"exited": !inProp && collapsedSize === "0px" && classes.hidden
}[state]),
ownerState: stateOwnerState,
...restChildProps,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(WrapperSlot, {
...wrapperSlotProps,
ownerState: stateOwnerState,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(WrapperInnerSlot, {
...wrapperInnerSlotProps,
ownerState: stateOwnerState,
children
})
})
});
}
});
});
Collapse.propTypes = {
/**
* Add a custom transition end trigger.
* Use it when you need custom logic to decide when the transition has ended.
* Note: Timeouts are still used as a fallback if provided.
*
* @param {HTMLElement} node The transitioning DOM node.
* @param {Function} done Call this when the transition has finished.
*/
addEndListener: import_prop_types.default.func,
/**
* The content node to be collapsed.
*/
children: import_prop_types.default.node,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* The width (horizontal) or height (vertical) of the container when collapsed.
* @default '0px'
*/
collapsedSize: import_prop_types.default.oneOfType([import_prop_types.default.number, import_prop_types.default.string]),
/**
* The component used for the root node.
* Either a string to use a HTML element or a component.
*/
component: elementTypeAcceptingRef_default,
/**
* If `true`, the transition ignores `theme.motion.reducedMotion` and keeps its normal timing.
* @default false
*/
disablePrefersReducedMotion: import_prop_types.default.bool,
/**
* The transition timing function.
* You may specify a single easing or a object containing enter and exit values.
*/
easing: import_prop_types.default.oneOfType([import_prop_types.default.shape({
enter: import_prop_types.default.string,
exit: import_prop_types.default.string
}), import_prop_types.default.string]),
/**
* If `true`, the component will transition in.
*/
in: import_prop_types.default.bool,
/**
* @ignore
*/
onEnter: import_prop_types.default.func,
/**
* @ignore
*/
onEntered: import_prop_types.default.func,
/**
* @ignore
*/
onEntering: import_prop_types.default.func,
/**
* @ignore
*/
onExit: import_prop_types.default.func,
/**
* @ignore
*/
onExited: import_prop_types.default.func,
/**
* @ignore
*/
onExiting: import_prop_types.default.func,
/**
* The transition orientation.
* @default 'vertical'
*/
orientation: import_prop_types.default.oneOf(["horizontal", "vertical"]),
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: import_prop_types.default.shape({
root: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
wrapper: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
wrapperInner: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object])
}),
/**
* The components used for each slot inside.
* @default {}
*/
slots: import_prop_types.default.shape({
root: import_prop_types.default.elementType,
wrapper: import_prop_types.default.elementType,
wrapperInner: import_prop_types.default.elementType
}),
/**
* @ignore
*/
style: import_prop_types.default.object,
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* The duration for the transition, in milliseconds.
* You may specify a single timeout for all transitions, or individually with an object.
*
* Set to 'auto' to automatically calculate transition time based on height.
* @default duration.standard
*/
timeout: import_prop_types.default.oneOfType([
import_prop_types.default.oneOf(["auto"]),
import_prop_types.default.number,
import_prop_types.default.shape({
appear: import_prop_types.default.number,
enter: import_prop_types.default.number,
exit: import_prop_types.default.number
})
])
};
if (Collapse) Collapse.muiSupportAuto = true;
//#endregion
export { collapseClasses as n, getCollapseUtilityClass as r, Collapse as t };
File diff suppressed because one or more lines are too long
@@ -1,8 +1,7 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js"; import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js"; import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js"; import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { et as capitalize } from "./identifier-pRD-G8ad.js"; import { a as resolveProps } from "./styled-Dq11esuZ.js";
import { a as resolveProps, s as preprocessStyles } from "./styled-igcOhZNb.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js"; import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
//#region node_modules/@mui/system/DefaultPropsProvider/DefaultPropsProvider.mjs //#region node_modules/@mui/system/DefaultPropsProvider/DefaultPropsProvider.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1); var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
@@ -41,30 +40,6 @@ function useDefaultProps$1({ props, name }) {
}); });
} }
//#endregion //#endregion
//#region node_modules/@mui/system/memoTheme.mjs
var arg = { theme: void 0 };
/**
* Memoize style function on theme.
* Intended to be used in styled() calls that only need access to the theme.
*/
function unstable_memoTheme(styleFn) {
let lastValue;
let lastTheme;
return function styleMemoized(props) {
let value = lastValue;
if (value === void 0 || props.theme !== lastTheme) {
arg.theme = props.theme;
value = preprocessStyles(styleFn(arg));
lastValue = value;
lastTheme = props.theme;
}
return value;
};
}
//#endregion
//#region node_modules/@mui/material/utils/memoTheme.mjs
var memoTheme = unstable_memoTheme;
//#endregion
//#region node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs //#region node_modules/@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs
function DefaultPropsProvider(props) { function DefaultPropsProvider(props) {
return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(DefaultPropsProvider$1, { ...props }); return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(DefaultPropsProvider$1, { ...props });
@@ -83,7 +58,4 @@ function useDefaultProps(params) {
return useDefaultProps$1(params); return useDefaultProps$1(params);
} }
//#endregion //#endregion
//#region node_modules/@mui/material/utils/capitalize.mjs export { DefaultPropsProvider$1 as n, useDefaultProps as t };
var capitalize_default = capitalize;
//#endregion
export { DefaultPropsProvider$1 as i, useDefaultProps as n, memoTheme as r, capitalize_default as t };
@@ -0,0 +1 @@
{"version":3,"file":"DefaultPropsProvider-C26UnlMi.js","names":["DefaultPropsProvider","PropTypes","useDefaultProps","SystemDefaultPropsProvider","PropTypes","useSystemDefaultProps"],"sources":["../../@mui/system/DefaultPropsProvider/DefaultPropsProvider.mjs","../../@mui/material/DefaultPropsProvider/DefaultPropsProvider.mjs"],"sourcesContent":["'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport resolveProps from '@mui/utils/resolveProps';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nconst PropsContext = /*#__PURE__*/React.createContext(undefined);\nfunction DefaultPropsProvider({\n value,\n children\n}) {\n return /*#__PURE__*/_jsx(PropsContext.Provider, {\n value: value,\n children: children\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object\n} : void 0;\nfunction getThemeProps(params) {\n const {\n theme,\n name,\n props\n } = params;\n if (!theme || !theme.components || !theme.components[name]) {\n return props;\n }\n const config = theme.components[name];\n if (config.defaultProps) {\n // compatible with v5 signature\n return resolveProps(config.defaultProps, props, theme.components.mergeClassNameAndStyle);\n }\n if (!config.styleOverrides && !config.variants) {\n // v6 signature, no property 'defaultProps'\n return resolveProps(config, props, theme.components.mergeClassNameAndStyle);\n }\n return props;\n}\nexport function useDefaultProps({\n props,\n name\n}) {\n const ctx = React.useContext(PropsContext);\n return getThemeProps({\n props,\n name,\n theme: {\n components: ctx\n }\n });\n}\nexport default DefaultPropsProvider;","'use client';\n\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport SystemDefaultPropsProvider, { useDefaultProps as useSystemDefaultProps } from '@mui/system/DefaultPropsProvider';\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nfunction DefaultPropsProvider(props) {\n return /*#__PURE__*/_jsx(SystemDefaultPropsProvider, {\n ...props\n });\n}\nprocess.env.NODE_ENV !== \"production\" ? DefaultPropsProvider.propTypes /* remove-proptypes */ = {\n // ┌────────────────────────────── Warning ──────────────────────────────┐\n // │ These PropTypes are generated from the TypeScript type definitions. │\n // │ To update them, edit the TypeScript types and run `pnpm proptypes`. │\n // └─────────────────────────────────────────────────────────────────────┘\n /**\n * @ignore\n */\n children: PropTypes.node,\n /**\n * @ignore\n */\n value: PropTypes.object.isRequired\n} : void 0;\nexport default DefaultPropsProvider;\nexport function useDefaultProps(params) {\n return useSystemDefaultProps(params);\n}"],"mappings":";;;;;;;;;AAMA,IAAM,eAA4B,2BAAM,cAAc,KAAA,CAAS;AAC/D,SAASA,uBAAqB,EAC5B,OACA,YACC;CACD,OAAoB,eAAA,GAAA,mBAAA,IAAA,CAAK,aAAa,UAAU;EACvC;EACG;CACZ,CAAC;AACH;AACwC,uBAAqB,YAAmC;;;;CAQ9F,UAAUC,kBAAAA,QAAU;;;;CAIpB,OAAOA,kBAAAA,QAAU;AACnB;AACA,SAAS,cAAc,QAAQ;CAC7B,MAAM,EACJ,OACA,MACA,UACE;CACJ,IAAI,CAAC,SAAS,CAAC,MAAM,cAAc,CAAC,MAAM,WAAW,OACnD,OAAO;CAET,MAAM,SAAS,MAAM,WAAW;CAChC,IAAI,OAAO,cAET,OAAO,aAAa,OAAO,cAAc,OAAO,MAAM,WAAW,sBAAsB;CAEzF,IAAI,CAAC,OAAO,kBAAkB,CAAC,OAAO,UAEpC,OAAO,aAAa,QAAQ,OAAO,MAAM,WAAW,sBAAsB;CAE5E,OAAO;AACT;AACA,SAAgBC,kBAAgB,EAC9B,OACA,QACC;CAED,OAAO,cAAc;EACnB;EACA;EACA,OAAO,EACL,YAAA,aALc,WAAW,YAKX,EAChB;CACF,CAAC;AACH;;;ACxDA,SAAS,qBAAqB,OAAO;CACnC,OAAoB,eAAA,GAAA,mBAAA,IAAA,CAAKC,wBAA4B,EACnD,GAAG,MACL,CAAC;AACH;AACwC,qBAAqB,YAAmC;;;;CAQ9F,UAAUC,kBAAAA,QAAU;;;;CAIpB,OAAOA,kBAAAA,QAAU,OAAO;AAC1B;AAEA,SAAgB,gBAAgB,QAAQ;CACtC,OAAOC,kBAAsB,MAAM;AACrC"}
@@ -0,0 +1,437 @@
import { r as __toESM } from "./rolldown-runtime-DC62tzP2.js";
import { t as require_react } from "./react.js";
import { t as require_prop_types } from "./prop-types-C5owi9-6.js";
import { F as generateUtilityClasses, I as generateUtilityClass, ut as clsx } from "./identifier-Bqz1gV6c.js";
import { l as composeClasses, t as styled } from "./styled-Dq11esuZ.js";
import { t as capitalize_default } from "./capitalize-CAiNKy2l.js";
import { t as require_jsx_runtime } from "./react_jsx-runtime.js";
import { t as useDefaultProps } from "./DefaultPropsProvider-C26UnlMi.js";
import { t as useId } from "./useId-BvBa7DUQ.js";
import { t as memoTheme } from "./memoTheme-C-VUQpgo.js";
import { n as useTheme } from "./chainPropTypes-XO9WdMvJ.js";
import { a as FOCUSABLE_ATTRIBUTE, c as Backdrop, d as Fade, t as Modal } from "./Modal-DWsHkJKP.js";
import { t as useSlot } from "./useSlot-Cg0qr-dR.js";
import { t as Paper } from "./Paper-Dp73HJFm.js";
import { t as DialogContext } from "./DialogContext-DQ3YWebh.js";
//#region node_modules/@mui/material/Dialog/dialogClasses.mjs
var import_react = /* @__PURE__ */ __toESM(require_react(), 1);
var import_prop_types = /* @__PURE__ */ __toESM(require_prop_types(), 1);
function getDialogUtilityClass(slot) {
return generateUtilityClass("MuiDialog", slot);
}
var dialogClasses = generateUtilityClasses("MuiDialog", [
"root",
"backdrop",
"scrollPaper",
"scrollBody",
"container",
"paper",
"paperWidthFalse",
"paperWidthXs",
"paperWidthSm",
"paperWidthMd",
"paperWidthLg",
"paperWidthXl",
"paperFullWidth",
"paperFullScreen"
]);
//#endregion
//#region node_modules/@mui/material/Dialog/Dialog.mjs
var import_jsx_runtime = require_jsx_runtime();
var DialogBackdrop = styled(Backdrop, {
name: "MuiDialog",
slot: "Backdrop"
})({ zIndex: -1 });
var useUtilityClasses = (ownerState) => {
const { classes, scroll, maxWidth, fullWidth, fullScreen } = ownerState;
const slots = {
root: ["root"],
backdrop: ["backdrop"],
container: ["container", `scroll${capitalize_default(scroll)}`],
paper: [
"paper",
`paperWidth${capitalize_default(String(maxWidth))}`,
fullWidth && "paperFullWidth",
fullScreen && "paperFullScreen"
]
};
return composeClasses(slots, getDialogUtilityClass, classes);
};
var DialogRoot = styled(Modal, {
name: "MuiDialog",
slot: "Root"
})({ "@media print": { position: "absolute !important" } });
var DialogContainer = styled("div", {
name: "MuiDialog",
slot: "Container",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [styles.container, styles[`scroll${capitalize_default(ownerState.scroll)}`]];
}
})({
height: "100%",
"@media print": { height: "auto" },
outline: 0,
variants: [{
props: { scroll: "paper" },
style: {
display: "flex",
justifyContent: "center",
alignItems: "center"
}
}, {
props: { scroll: "body" },
style: {
overflowY: "auto",
overflowX: "hidden",
textAlign: "center",
"&::after": {
content: "\"\"",
display: "inline-block",
verticalAlign: "middle",
height: "100%",
width: "0"
}
}
}]
});
var DialogPaper = styled(Paper, {
name: "MuiDialog",
slot: "Paper",
overridesResolver: (props, styles) => {
const { ownerState } = props;
return [
styles.paper,
styles[`paperWidth${capitalize_default(String(ownerState.maxWidth))}`],
ownerState.fullWidth && styles.paperFullWidth,
ownerState.fullScreen && styles.paperFullScreen
];
}
})(memoTheme(({ theme }) => ({
margin: 32,
position: "relative",
overflowY: "auto",
outline: 0,
"@media print": {
overflowY: "visible",
boxShadow: "none"
},
variants: [
{
props: { scroll: "paper" },
style: {
display: "flex",
flexDirection: "column",
maxHeight: "calc(100% - 64px)"
}
},
{
props: { scroll: "body" },
style: {
display: "inline-block",
verticalAlign: "middle",
textAlign: "initial"
}
},
{
props: ({ ownerState }) => !ownerState.maxWidth,
style: { maxWidth: "calc(100% - 64px)" }
},
{
props: { maxWidth: "xs" },
style: { maxWidth: theme.breakpoints.unit === "px" ? Math.max(theme.breakpoints.values.xs, 444) : `max(${theme.breakpoints.values.xs}${theme.breakpoints.unit}, 444px)` }
},
{
props: {
maxWidth: "xs",
scroll: "body"
},
style: { [theme.breakpoints.down(Math.max(theme.breakpoints.values.xs, 444) + 64)]: { maxWidth: "calc(100% - 64px)" } }
},
...Object.keys(theme.breakpoints.values).filter((maxWidth) => maxWidth !== "xs").map((maxWidth) => ({
props: { maxWidth },
style: { maxWidth: `${theme.breakpoints.values[maxWidth]}${theme.breakpoints.unit}` }
})),
...Object.keys(theme.breakpoints.values).filter((maxWidth) => maxWidth !== "xs").map((maxWidth) => ({
props: {
maxWidth,
scroll: "body"
},
style: { [theme.breakpoints.down(theme.breakpoints.values[maxWidth] + 64)]: { maxWidth: "calc(100% - 64px)" } }
})),
{
props: ({ ownerState }) => ownerState.fullWidth,
style: { width: "calc(100% - 64px)" }
},
{
props: ({ ownerState }) => ownerState.fullScreen,
style: {
margin: 0,
width: "100%",
maxWidth: "100%",
height: "100%",
maxHeight: "none",
borderRadius: 0
}
},
{
props: ({ ownerState }) => ownerState.fullScreen && ownerState.scroll === "body",
style: {
margin: 0,
maxWidth: "100%"
}
}
]
})));
/**
* Dialogs are overlaid modal paper based components with a backdrop.
*/
var Dialog = /*#__PURE__*/ import_react.forwardRef(function Dialog(inProps, ref) {
const props = useDefaultProps({
props: inProps,
name: "MuiDialog"
});
const theme = useTheme();
const defaultTransitionDuration = {
enter: theme.transitions.duration.enteringScreen,
exit: theme.transitions.duration.leavingScreen
};
const { "aria-describedby": ariaDescribedby, "aria-labelledby": ariaLabelledbyProp, "aria-modal": ariaModal = true, children, className, fullScreen = false, fullWidth = false, maxWidth = "sm", onClick, onClose, open, PaperComponent = Paper, role = "dialog", scroll = "paper", slots = {}, slotProps = {}, transitionDuration = defaultTransitionDuration, ...other } = props;
const ownerState = {
...props,
fullScreen,
fullWidth,
maxWidth,
scroll
};
const classes = useUtilityClasses(ownerState);
const backdropClick = import_react.useRef();
const handleMouseDown = (event) => {
backdropClick.current = event.target === event.currentTarget;
};
const handleBackdropClick = (event) => {
if (onClick) onClick(event);
if (!backdropClick.current) return;
backdropClick.current = null;
if (onClose) onClose(event, "backdropClick");
};
const ariaLabelledby = useId(ariaLabelledbyProp);
const dialogContextValue = import_react.useMemo(() => {
return { titleId: ariaLabelledby };
}, [ariaLabelledby]);
const externalForwardedProps = {
slots,
slotProps
};
const [RootSlot, rootSlotProps] = useSlot("root", {
elementType: DialogRoot,
shouldForwardComponentProp: true,
externalForwardedProps,
ownerState,
className: clsx(classes.root, className),
ref
});
const [BackdropSlot, backdropSlotProps] = useSlot("backdrop", {
elementType: DialogBackdrop,
shouldForwardComponentProp: true,
externalForwardedProps,
ownerState,
className: classes.backdrop
});
const [PaperSlot, paperSlotProps] = useSlot("paper", {
elementType: DialogPaper,
shouldForwardComponentProp: true,
externalForwardedProps,
ownerState,
className: classes.paper,
additionalProps: {
elevation: 24,
role,
"aria-describedby": ariaDescribedby,
"aria-labelledby": ariaLabelledby,
"aria-modal": ariaModal,
tabIndex: -1,
[FOCUSABLE_ATTRIBUTE]: ""
}
});
const [ContainerSlot, containerSlotProps] = useSlot("container", {
elementType: DialogContainer,
externalForwardedProps,
ownerState,
className: classes.container
});
const [TransitionSlot, transitionSlotProps] = useSlot("transition", {
elementType: Fade,
externalForwardedProps,
ownerState,
additionalProps: {
appear: true,
in: open,
timeout: transitionDuration,
role: "presentation"
}
});
return /*#__PURE__*/ (0, import_jsx_runtime.jsx)(RootSlot, {
closeAfterTransition: true,
slots: { backdrop: BackdropSlot },
slotProps: { backdrop: {
transitionDuration,
...backdropSlotProps
} },
onClose,
open,
onClick: handleBackdropClick,
...rootSlotProps,
...other,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(TransitionSlot, {
...transitionSlotProps,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(ContainerSlot, {
onMouseDown: handleMouseDown,
...containerSlotProps,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(PaperSlot, {
as: PaperComponent,
...paperSlotProps,
children: /*#__PURE__*/ (0, import_jsx_runtime.jsx)(DialogContext.Provider, {
value: dialogContextValue,
children
})
})
})
})
});
});
Dialog.propTypes = {
/**
* The id(s) of the element(s) that describe the dialog.
*/
"aria-describedby": import_prop_types.default.string,
/**
* The id(s) of the element(s) that label the dialog.
*/
"aria-labelledby": import_prop_types.default.string,
/**
* Informs assistive technologies that the element is modal.
* It's added on the element with role="dialog".
* @default true
*/
"aria-modal": import_prop_types.default.oneOfType([import_prop_types.default.oneOf(["false", "true"]), import_prop_types.default.bool]),
/**
* Dialog children, usually the included sub-components.
*/
children: import_prop_types.default.node,
/**
* Override or extend the styles applied to the component.
*/
classes: import_prop_types.default.object,
/**
* @ignore
*/
className: import_prop_types.default.string,
/**
* If `true`, the dialog is full-screen.
* @default false
*/
fullScreen: import_prop_types.default.bool,
/**
* If `true`, the dialog stretches to `maxWidth`.
*
* Notice that the dialog width grow is limited by the default margin.
* @default false
*/
fullWidth: import_prop_types.default.bool,
/**
* Determine the max-width of the dialog.
* The dialog width grows with the size of the screen.
* Set to `false` to disable `maxWidth`.
* @default 'sm'
*/
maxWidth: import_prop_types.default.oneOfType([import_prop_types.default.oneOf([
"xs",
"sm",
"md",
"lg",
"xl",
false
]), import_prop_types.default.string]),
/**
* @ignore
*/
onClick: import_prop_types.default.func,
/**
* Callback fired when the component requests to be closed.
*
* @param {object} event The event source of the callback.
* @param {string} reason Can be: `"escapeKeyDown"`, `"backdropClick"`.
*/
onClose: import_prop_types.default.func,
/**
* If `true`, the component is shown.
*/
open: import_prop_types.default.bool.isRequired,
/**
* The component used to render the body of the dialog.
* @default Paper
*/
PaperComponent: import_prop_types.default.elementType,
/**
* The ARIA role for the dialog element.
* The main dialog role is `dialog`, but `alertdialog` can be used if the content of the dialog requires immediate attention.
* See https://www.w3.org/TR/wai-aria-1.2/#dialog and https://www.w3.org/TR/wai-aria-1.2/#alertdialog for more details.
* @default 'dialog'
*/
role: import_prop_types.default.oneOf(["alertdialog", "dialog"]),
/**
* Determine the container for scrolling the dialog.
* @default 'paper'
*/
scroll: import_prop_types.default.oneOf(["body", "paper"]),
/**
* The props used for each slot inside.
* @default {}
*/
slotProps: import_prop_types.default.shape({
backdrop: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
container: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
paper: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
root: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object]),
transition: import_prop_types.default.oneOfType([import_prop_types.default.func, import_prop_types.default.object])
}),
/**
* The components used for each slot inside.
* @default {}
*/
slots: import_prop_types.default.shape({
backdrop: import_prop_types.default.elementType,
container: import_prop_types.default.elementType,
paper: import_prop_types.default.elementType,
root: import_prop_types.default.elementType,
transition: import_prop_types.default.elementType
}),
/**
* The system prop that allows defining system overrides as well as additional CSS styles.
*/
sx: import_prop_types.default.oneOfType([
import_prop_types.default.arrayOf(import_prop_types.default.oneOfType([
import_prop_types.default.func,
import_prop_types.default.object,
import_prop_types.default.bool
])),
import_prop_types.default.func,
import_prop_types.default.object
]),
/**
* The duration for the transition, in milliseconds.
* You may specify a single timeout for all transitions, or individually with an object.
* @default {
* enter: theme.transitions.duration.enteringScreen,
* exit: theme.transitions.duration.leavingScreen,
* }
*/
transitionDuration: import_prop_types.default.oneOfType([import_prop_types.default.number, import_prop_types.default.shape({
appear: import_prop_types.default.number,
enter: import_prop_types.default.number,
exit: import_prop_types.default.number
})])
};
//#endregion
export { dialogClasses as n, getDialogUtilityClass as r, Dialog as t };
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More