@protonradio/proton-ui 0.12.4 → 0.12.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/Modal/Modal.cjs.js +1 -1
- package/dist/components/Modal/Modal.cjs.js.map +1 -1
- package/dist/components/Modal/Modal.es.js +42 -34
- package/dist/components/Modal/Modal.es.js.map +1 -1
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +16 -1
- package/dist/index.es.js +58 -57
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../node_modules/react/jsx-runtime.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const o=require("../../node_modules/react/jsx-runtime.cjs.js"),R=require("react"),E=require("../../hooks/useIsClosing.cjs.js"),_=require("../Button/Button.cjs.js");;/* empty css */const h=require("../ScreenOverlay/ScreenOverlay.cjs.js");;/* empty css */const v=require("../../utils/string.cjs.js"),j=({children:t})=>o.jsxRuntimeExports.jsx("h2",{className:"proton-Modal__title",children:t}),m=({children:t})=>o.jsxRuntimeExports.jsx("h3",{className:"proton-Modal__subtitle",children:t}),p=({children:t})=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__body",children:t}),C=t=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__action",children:o.jsxRuntimeExports.jsx(_.Button,{...t})}),b=({children:t})=>o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__actions",children:t}),g={medium:"650px",full:"86vw"},q=({title:t,subtitle:s,body:e,onClose:r,children:l,isClosing:a,isOpen:i,width:n,"data-testid":d})=>o.jsxRuntimeExports.jsxs("div",{"data-testid":d,"data-disable-document-scroll":i,className:v.csx("proton-Modal",n&&`proton-Modal--${n}`,"proton-Elevation--glass",a&&"proton-Modal--closing"),"aria-modal":"true",role:"dialog",tabIndex:-1,children:[o.jsxRuntimeExports.jsx("button",{name:"Close",className:"proton-Modal__close-button",onClick:r,"aria-label":"Close",children:"×"}),t&&o.jsxRuntimeExports.jsx(j,{children:t}),s&&o.jsxRuntimeExports.jsx(m,{children:s}),e&&o.jsxRuntimeExports.jsx(p,{children:e}),o.jsxRuntimeExports.jsx("div",{className:"proton-Modal__content",children:l})]}),f=({isOpen:t,onClose:s,title:e,subtitle:r,body:l,children:a,isOverlay:i=!0,width:n="full","data-testid":d})=>{const u=R.useRef(null),{isClosing:M,handleClose:c}=E.useIsClosing({onClose:s,overlayRef:u});if(!t)return null;const x=o.jsxRuntimeExports.jsx(q,{isOpen:t,title:e,subtitle:r,body:l,onClose:c,isClosing:M,"data-testid":d,width:n,children:a});return i?o.jsxRuntimeExports.jsx(h.ScreenOverlay,{fadeIn:!0,ref:u,onClose:c,children:x}):x},N=Object.assign(f,{Title:j,Subtitle:m,Body:p,Action:C,Actions:b});exports.Modal=N;exports.widthVariants=g;
|
|
2
2
|
//# sourceMappingURL=Modal.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.cjs.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\nimport \"../Elevation/Elevation.css\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n isOpen,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n data-disable-document-scroll={isOpen}\n className={csx(\n \"proton-Modal\",\n \"proton-Elevation--glass\",\n isClosing && \"proton-Modal--closing\",\n )}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","ModalContent","title","subtitle","body","onClose","isClosing","isOpen","dataTestId","jsxs","csx","ModalWrapper","isOverlay","overlayRef","useRef","handleClose","useIsClosing","modalContent","ScreenOverlay","Modal"],"mappings":"qaAUMA,EAAa,CAAC,CAAE,SAAAC,KACbC,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,sBAAuB,SAAAD,CAAA,CAAS,EAGjDE,EAAgB,CAAC,CAAE,SAAAF,KAChBC,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,yBAA0B,SAAAD,CAAA,CAAS,EAGpDG,EAAY,CAAC,CAAE,SAAAH,KACZC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,qBAAsB,SAAAD,CAAA,CAAS,EAGjDI,EAAeC,GAEjBJ,wBAAC,OAAI,UAAU,uBACb,iCAACK,SAAA,CAAQ,GAAGD,EAAa,CAAA,CAC3B,EAIEE,EAAe,CAAC,CAAE,SAAAP,KACfC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,wBAAyB,SAAAD,CAAA,CAAS,
|
|
1
|
+
{"version":3,"file":"Modal.cjs.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\nimport \"../Elevation/Elevation.css\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\n// Different base fonts (10px on the client, 16px on release links) is really setting back development on the kit.\n// Known issue: We should standardize both repos to base font size of 16px... then we can use rems for all sizes.\n// For now lets use a width prop, with a todo: standardize these sizes to represent modal widths across release links / client\n\n/**\n * Width variant for the modal (will be standardized in future release)\n * - medium: 650px (standard modal width on client)\n * - full: 86vw (default modal width)\n */\nexport type WidthVariant = \"medium\" | \"full\";\nexport const widthVariants: Record<WidthVariant, string> = {\n medium: \"650px\",\n full: \"86vw\",\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n isOpen,\n width,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n data-disable-document-scroll={isOpen}\n className={csx(\n \"proton-Modal\",\n width && `proton-Modal--${width}`,\n \"proton-Elevation--glass\",\n isClosing && \"proton-Modal--closing\",\n )}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n /**\n * Optional width variant for the modal\n * - type {@link WidthVariant}\n * @default \"full\"\n * */\n width?: WidthVariant;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n width = \"full\",\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n width={width}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","widthVariants","ModalContent","title","subtitle","body","onClose","isClosing","isOpen","width","dataTestId","jsxs","csx","ModalWrapper","isOverlay","overlayRef","useRef","handleClose","useIsClosing","modalContent","ScreenOverlay","Modal"],"mappings":"qaAUMA,EAAa,CAAC,CAAE,SAAAC,KACbC,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,sBAAuB,SAAAD,CAAA,CAAS,EAGjDE,EAAgB,CAAC,CAAE,SAAAF,KAChBC,EAAAA,kBAAAA,IAAC,KAAA,CAAG,UAAU,yBAA0B,SAAAD,CAAA,CAAS,EAGpDG,EAAY,CAAC,CAAE,SAAAH,KACZC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,qBAAsB,SAAAD,CAAA,CAAS,EAGjDI,EAAeC,GAEjBJ,wBAAC,OAAI,UAAU,uBACb,iCAACK,SAAA,CAAQ,GAAGD,EAAa,CAAA,CAC3B,EAIEE,EAAe,CAAC,CAAE,SAAAP,KACfC,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,wBAAyB,SAAAD,CAAA,CAAS,EAa7CQ,EAA8C,CACzD,OAAQ,QACR,KAAM,MACR,EAEMC,EAAe,CAAC,CACpB,MAAAC,EACA,SAAAC,EACA,KAAAC,EACA,QAAAC,EACA,SAAAb,EACA,UAAAc,EACA,OAAAC,EACA,MAAAC,EACA,cAAeC,CACjB,IAIIC,EAAAA,kBAAAA,KAAC,MAAA,CACC,cAAaD,EACb,+BAA8BF,EAC9B,UAAWI,EAAAA,IACT,eACAH,GAAS,iBAAiBA,CAAK,GAC/B,0BACAF,GAAa,uBAAA,EAEf,aAAW,OACX,KAAK,SACL,SAAU,GAEV,SAAA,CAAAb,EAAAA,kBAAAA,IAAC,SAAA,CACC,KAAK,QACL,UAAU,6BACV,QAASY,EACT,aAAW,QACZ,SAAA,GAAA,CAAA,EAGAH,GAAST,EAAAA,kBAAAA,IAACF,EAAA,CAAY,SAAAW,CAAA,CAAM,EAC5BC,GAAYV,EAAAA,kBAAAA,IAACC,EAAA,CAAe,SAAAS,CAAA,CAAS,EACrCC,GAAQX,EAAAA,kBAAAA,IAACE,EAAA,CAAW,SAAAS,CAAA,CAAK,EAC1BX,EAAAA,kBAAAA,IAAC,MAAA,CAAI,UAAU,wBAAyB,SAAAD,CAAA,CAAS,CAAA,CAAA,CAAA,EAqDjDoB,EAAe,CAAC,CACpB,OAAAL,EACA,QAAAF,EACA,MAAAH,EACA,SAAAC,EACA,KAAAC,EACA,SAAAZ,EACA,UAAAqB,EAAY,GACZ,MAAAL,EAAQ,OACR,cAAeC,CACjB,IAAkB,CAChB,MAAMK,EAAaC,EAAAA,OAAuB,IAAI,EACxC,CAAE,UAAAT,EAAW,YAAAU,CAAA,EAAgBC,eAAa,CAC9C,QAAAZ,EACA,WAAAS,CAAA,CACD,EAED,GAAI,CAACP,EAAQ,OAAO,KAEpB,MAAMW,EACJzB,EAAAA,kBAAAA,IAACQ,EAAA,CACC,OAAAM,EACA,MAAAL,EACA,SAAAC,EACA,KAAAC,EACA,QAASY,EACT,UAAAV,EACA,cAAaG,EACb,MAAAD,EAEC,SAAAhB,CAAA,CAAA,EAIL,OAAOqB,EACLpB,EAAAA,kBAAAA,IAAC0B,EAAAA,cAAA,CAAc,OAAM,GAAC,IAAKL,EAAY,QAASE,EAC7C,SAAAE,CAAA,CACH,EAEAA,CAEJ,EAEaE,EAAQ,OAAO,OAAOR,EAAc,CAI/C,MAAOrB,EAIP,SAAUG,EAIV,KAAMC,EAKN,OAAQC,EAIR,QAASG,CACX,CAAC"}
|
|
@@ -1,29 +1,34 @@
|
|
|
1
1
|
import { j as t } from "../../node_modules/react/jsx-runtime.es.js";
|
|
2
|
-
import { useRef as
|
|
3
|
-
import { useIsClosing as
|
|
4
|
-
import { Button as
|
|
2
|
+
import { useRef as _ } from "react";
|
|
3
|
+
import { useIsClosing as f } from "../../hooks/useIsClosing.es.js";
|
|
4
|
+
import { Button as h } from "../Button/Button.es.js";
|
|
5
5
|
/* empty css */
|
|
6
|
-
import { ScreenOverlay as
|
|
6
|
+
import { ScreenOverlay as C } from "../ScreenOverlay/ScreenOverlay.es.js";
|
|
7
7
|
/* empty css */
|
|
8
|
-
import { csx as
|
|
9
|
-
const
|
|
8
|
+
import { csx as v } from "../../utils/string.es.js";
|
|
9
|
+
const p = ({ children: o }) => /* @__PURE__ */ t.jsx("h2", { className: "proton-Modal__title", children: o }), x = ({ children: o }) => /* @__PURE__ */ t.jsx("h3", { className: "proton-Modal__subtitle", children: o }), M = ({ children: o }) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__body", children: o }), b = (o) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__action", children: /* @__PURE__ */ t.jsx(h, { ...o }) }), N = ({ children: o }) => /* @__PURE__ */ t.jsx("div", { className: "proton-Modal__actions", children: o }), w = {
|
|
10
|
+
medium: "650px",
|
|
11
|
+
full: "86vw"
|
|
12
|
+
}, g = ({
|
|
10
13
|
title: o,
|
|
11
14
|
subtitle: s,
|
|
12
15
|
body: n,
|
|
13
16
|
onClose: a,
|
|
14
17
|
children: e,
|
|
15
|
-
isClosing:
|
|
16
|
-
isOpen:
|
|
17
|
-
|
|
18
|
+
isClosing: r,
|
|
19
|
+
isOpen: d,
|
|
20
|
+
width: l,
|
|
21
|
+
"data-testid": i
|
|
18
22
|
}) => /* @__PURE__ */ t.jsxs(
|
|
19
23
|
"div",
|
|
20
24
|
{
|
|
21
|
-
"data-testid":
|
|
22
|
-
"data-disable-document-scroll":
|
|
23
|
-
className:
|
|
25
|
+
"data-testid": i,
|
|
26
|
+
"data-disable-document-scroll": d,
|
|
27
|
+
className: v(
|
|
24
28
|
"proton-Modal",
|
|
29
|
+
l && `proton-Modal--${l}`,
|
|
25
30
|
"proton-Elevation--glass",
|
|
26
|
-
|
|
31
|
+
r && "proton-Modal--closing"
|
|
27
32
|
),
|
|
28
33
|
"aria-modal": "true",
|
|
29
34
|
role: "dialog",
|
|
@@ -39,54 +44,56 @@ const u = ({ children: o }) => /* @__PURE__ */ t.jsx("h2", { className: "proton-
|
|
|
39
44
|
children: "×"
|
|
40
45
|
}
|
|
41
46
|
),
|
|
42
|
-
o && /* @__PURE__ */ t.jsx(
|
|
43
|
-
s && /* @__PURE__ */ t.jsx(
|
|
44
|
-
n && /* @__PURE__ */ t.jsx(
|
|
47
|
+
o && /* @__PURE__ */ t.jsx(p, { children: o }),
|
|
48
|
+
s && /* @__PURE__ */ t.jsx(x, { children: s }),
|
|
49
|
+
n && /* @__PURE__ */ t.jsx(M, { children: n }),
|
|
45
50
|
/* @__PURE__ */ t.jsx("div", { className: "proton-Modal__content", children: e })
|
|
46
51
|
]
|
|
47
52
|
}
|
|
48
|
-
),
|
|
53
|
+
), y = ({
|
|
49
54
|
isOpen: o,
|
|
50
55
|
onClose: s,
|
|
51
56
|
title: n,
|
|
52
57
|
subtitle: a,
|
|
53
58
|
body: e,
|
|
54
|
-
children:
|
|
55
|
-
isOverlay:
|
|
56
|
-
"
|
|
59
|
+
children: r,
|
|
60
|
+
isOverlay: d = !0,
|
|
61
|
+
width: l = "full",
|
|
62
|
+
"data-testid": i
|
|
57
63
|
}) => {
|
|
58
|
-
const
|
|
64
|
+
const c = _(null), { isClosing: j, handleClose: m } = f({
|
|
59
65
|
onClose: s,
|
|
60
|
-
overlayRef:
|
|
66
|
+
overlayRef: c
|
|
61
67
|
});
|
|
62
68
|
if (!o) return null;
|
|
63
|
-
const
|
|
64
|
-
|
|
69
|
+
const u = /* @__PURE__ */ t.jsx(
|
|
70
|
+
g,
|
|
65
71
|
{
|
|
66
72
|
isOpen: o,
|
|
67
73
|
title: n,
|
|
68
74
|
subtitle: a,
|
|
69
75
|
body: e,
|
|
70
|
-
onClose:
|
|
76
|
+
onClose: m,
|
|
71
77
|
isClosing: j,
|
|
72
|
-
"data-testid":
|
|
73
|
-
|
|
78
|
+
"data-testid": i,
|
|
79
|
+
width: l,
|
|
80
|
+
children: r
|
|
74
81
|
}
|
|
75
82
|
);
|
|
76
|
-
return
|
|
77
|
-
},
|
|
83
|
+
return d ? /* @__PURE__ */ t.jsx(C, { fadeIn: !0, ref: c, onClose: m, children: u }) : u;
|
|
84
|
+
}, O = Object.assign(y, {
|
|
78
85
|
/**
|
|
79
86
|
* Renders a h2 styled title
|
|
80
87
|
* */
|
|
81
|
-
Title:
|
|
88
|
+
Title: p,
|
|
82
89
|
/**
|
|
83
90
|
* Renders a h3 styled subtitle
|
|
84
91
|
* */
|
|
85
|
-
Subtitle:
|
|
92
|
+
Subtitle: x,
|
|
86
93
|
/**
|
|
87
94
|
* Renders a div styled body
|
|
88
95
|
* */
|
|
89
|
-
Body:
|
|
96
|
+
Body: M,
|
|
90
97
|
/**
|
|
91
98
|
* Renders a Proton Button action
|
|
92
99
|
* - @prop buttonProps {@link ButtonProps}
|
|
@@ -95,9 +102,10 @@ const u = ({ children: o }) => /* @__PURE__ */ t.jsx("h2", { className: "proton-
|
|
|
95
102
|
/**
|
|
96
103
|
* Renders a group of Proton Buttons
|
|
97
104
|
* */
|
|
98
|
-
Actions:
|
|
105
|
+
Actions: N
|
|
99
106
|
});
|
|
100
107
|
export {
|
|
101
|
-
|
|
108
|
+
O as Modal,
|
|
109
|
+
w as widthVariants
|
|
102
110
|
};
|
|
103
111
|
//# sourceMappingURL=Modal.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Modal.es.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\nimport \"../Elevation/Elevation.css\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n isOpen,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n data-disable-document-scroll={isOpen}\n className={csx(\n \"proton-Modal\",\n \"proton-Elevation--glass\",\n isClosing && \"proton-Modal--closing\",\n )}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","ModalContent","title","subtitle","body","onClose","isClosing","isOpen","dataTestId","jsxs","csx","ModalWrapper","isOverlay","overlayRef","useRef","handleClose","useIsClosing","modalContent","ScreenOverlay","Modal"],"mappings":";;;;;;;;AAUA,MAAMA,IAAa,CAAC,EAAE,UAAAC,QACbC,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,uBAAuB,UAAAD,EAAA,CAAS,GAGjDE,IAAgB,CAAC,EAAE,UAAAF,QAChBC,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,0BAA0B,UAAAD,EAAA,CAAS,GAGpDG,IAAY,CAAC,EAAE,UAAAH,QACZC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAD,EAAA,CAAS,GAGjDI,IAAc,CAACC,MAEjBJ,gBAAAA,MAAC,SAAI,WAAU,wBACb,gCAACK,GAAA,EAAQ,GAAGD,GAAa,EAAA,CAC3B,GAIEE,IAAe,CAAC,EAAE,UAAAP,QACfC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,yBAAyB,UAAAD,EAAA,CAAS,
|
|
1
|
+
{"version":3,"file":"Modal.es.js","sources":["../../../src/components/Modal/Modal.tsx"],"sourcesContent":["\"use client\";\n\nimport { useRef } from \"react\";\nimport { useIsClosing } from \"../../hooks/useIsClosing\";\nimport { csx } from \"../../utils\";\nimport { Button, ButtonProps } from \"../Button/Button\";\nimport \"./Modal.css\";\nimport { ScreenOverlay } from \"../ScreenOverlay/ScreenOverlay\";\nimport \"../Elevation/Elevation.css\";\n\nconst ModalTitle = ({ children }: { children: React.ReactNode }) => {\n return <h2 className=\"proton-Modal__title\">{children}</h2>;\n};\n\nconst ModalSubtitle = ({ children }: { children: React.ReactNode }) => {\n return <h3 className=\"proton-Modal__subtitle\">{children}</h3>;\n};\n\nconst ModalBody = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__body\">{children}</div>;\n};\n\nconst ModalAction = (buttonProps: ButtonProps) => {\n return (\n <div className=\"proton-Modal__action\">\n <Button {...buttonProps} />\n </div>\n );\n};\n\nconst ModalActions = ({ children }: { children: React.ReactNode }) => {\n return <div className=\"proton-Modal__actions\">{children}</div>;\n};\n\n// Different base fonts (10px on the client, 16px on release links) is really setting back development on the kit.\n// Known issue: We should standardize both repos to base font size of 16px... then we can use rems for all sizes.\n// For now lets use a width prop, with a todo: standardize these sizes to represent modal widths across release links / client\n\n/**\n * Width variant for the modal (will be standardized in future release)\n * - medium: 650px (standard modal width on client)\n * - full: 86vw (default modal width)\n */\nexport type WidthVariant = \"medium\" | \"full\";\nexport const widthVariants: Record<WidthVariant, string> = {\n medium: \"650px\",\n full: \"86vw\",\n};\n\nconst ModalContent = ({\n title,\n subtitle,\n body,\n onClose,\n children,\n isClosing,\n isOpen,\n width,\n \"data-testid\": dataTestId,\n}: ModalProps & {\n isClosing: boolean;\n}) => {\n return (\n <div\n data-testid={dataTestId}\n data-disable-document-scroll={isOpen}\n className={csx(\n \"proton-Modal\",\n width && `proton-Modal--${width}`,\n \"proton-Elevation--glass\",\n isClosing && \"proton-Modal--closing\",\n )}\n aria-modal=\"true\"\n role=\"dialog\"\n tabIndex={-1}\n >\n <button\n name=\"Close\"\n className=\"proton-Modal__close-button\"\n onClick={onClose}\n aria-label=\"Close\"\n >\n ×\n </button>\n {title && <ModalTitle>{title}</ModalTitle>}\n {subtitle && <ModalSubtitle>{subtitle}</ModalSubtitle>}\n {body && <ModalBody>{body}</ModalBody>}\n <div className=\"proton-Modal__content\">{children}</div>\n </div>\n );\n};\n\nexport interface ModalProps {\n /**\n * Optional body text content for the modal\n * */\n body?: string;\n /**\n * Content to render inside the modal\n * */\n children: React.ReactNode;\n /**\n * data-testid for the modal\n * */\n \"data-testid\"?: string;\n /**\n * Controls the visibility of the modal\n * */\n isOpen: boolean;\n /**\n * Whether to show the modal with an overlay background.\n * @default true\n * */\n isOverlay?: boolean;\n /**\n * Callback function when modal is closed\n * */\n onClose?: () => void;\n /**\n * Optional subtitle text below the modal title\n * */\n subtitle?: string;\n /**\n * Optional title text for the modal header\n * */\n title?: string;\n /**\n * Optional width variant for the modal\n * - type {@link WidthVariant}\n * @default \"full\"\n * */\n width?: WidthVariant;\n}\n\n/**\n * Modal component with overlay support and responsive behavior.\n *\n * API:\n * - {@link ModalProps}\n */\nconst ModalWrapper = ({\n isOpen,\n onClose,\n title,\n subtitle,\n body,\n children,\n isOverlay = true,\n width = \"full\",\n \"data-testid\": dataTestId,\n}: ModalProps) => {\n const overlayRef = useRef<HTMLDivElement>(null);\n const { isClosing, handleClose } = useIsClosing({\n onClose,\n overlayRef,\n });\n\n if (!isOpen) return null;\n\n const modalContent = (\n <ModalContent\n isOpen={isOpen}\n title={title}\n subtitle={subtitle}\n body={body}\n onClose={handleClose}\n isClosing={isClosing}\n data-testid={dataTestId}\n width={width}\n >\n {children}\n </ModalContent>\n );\n\n return isOverlay ? (\n <ScreenOverlay fadeIn ref={overlayRef} onClose={handleClose}>\n {modalContent}\n </ScreenOverlay>\n ) : (\n modalContent\n );\n};\n\nexport const Modal = Object.assign(ModalWrapper, {\n /**\n * Renders a h2 styled title\n * */\n Title: ModalTitle,\n /**\n * Renders a h3 styled subtitle\n * */\n Subtitle: ModalSubtitle,\n /**\n * Renders a div styled body\n * */\n Body: ModalBody,\n /**\n * Renders a Proton Button action\n * - @prop buttonProps {@link ButtonProps}\n * */\n Action: ModalAction,\n /**\n * Renders a group of Proton Buttons\n * */\n Actions: ModalActions,\n});\n"],"names":["ModalTitle","children","jsx","ModalSubtitle","ModalBody","ModalAction","buttonProps","Button","ModalActions","widthVariants","ModalContent","title","subtitle","body","onClose","isClosing","isOpen","width","dataTestId","jsxs","csx","ModalWrapper","isOverlay","overlayRef","useRef","handleClose","useIsClosing","modalContent","ScreenOverlay","Modal"],"mappings":";;;;;;;;AAUA,MAAMA,IAAa,CAAC,EAAE,UAAAC,QACbC,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,uBAAuB,UAAAD,EAAA,CAAS,GAGjDE,IAAgB,CAAC,EAAE,UAAAF,QAChBC,gBAAAA,EAAAA,IAAC,MAAA,EAAG,WAAU,0BAA0B,UAAAD,EAAA,CAAS,GAGpDG,IAAY,CAAC,EAAE,UAAAH,QACZC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,sBAAsB,UAAAD,EAAA,CAAS,GAGjDI,IAAc,CAACC,MAEjBJ,gBAAAA,MAAC,SAAI,WAAU,wBACb,gCAACK,GAAA,EAAQ,GAAGD,GAAa,EAAA,CAC3B,GAIEE,IAAe,CAAC,EAAE,UAAAP,QACfC,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,yBAAyB,UAAAD,EAAA,CAAS,GAa7CQ,IAA8C;AAAA,EACzD,QAAQ;AAAA,EACR,MAAM;AACR,GAEMC,IAAe,CAAC;AAAA,EACpB,OAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,SAAAC;AAAA,EACA,UAAAb;AAAA,EACA,WAAAc;AAAA,EACA,QAAAC;AAAA,EACA,OAAAC;AAAA,EACA,eAAeC;AACjB,MAIIC,gBAAAA,EAAAA;AAAAA,EAAC;AAAA,EAAA;AAAA,IACC,eAAaD;AAAA,IACb,gCAA8BF;AAAA,IAC9B,WAAWI;AAAA,MACT;AAAA,MACAH,KAAS,iBAAiBA,CAAK;AAAA,MAC/B;AAAA,MACAF,KAAa;AAAA,IAAA;AAAA,IAEf,cAAW;AAAA,IACX,MAAK;AAAA,IACL,UAAU;AAAA,IAEV,UAAA;AAAA,MAAAb,gBAAAA,EAAAA;AAAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACV,SAASY;AAAA,UACT,cAAW;AAAA,UACZ,UAAA;AAAA,QAAA;AAAA,MAAA;AAAA,MAGAH,KAAST,gBAAAA,EAAAA,IAACF,GAAA,EAAY,UAAAW,EAAA,CAAM;AAAA,MAC5BC,KAAYV,gBAAAA,EAAAA,IAACC,GAAA,EAAe,UAAAS,EAAA,CAAS;AAAA,MACrCC,KAAQX,gBAAAA,EAAAA,IAACE,GAAA,EAAW,UAAAS,EAAA,CAAK;AAAA,MAC1BX,gBAAAA,EAAAA,IAAC,OAAA,EAAI,WAAU,yBAAyB,UAAAD,EAAA,CAAS;AAAA,IAAA;AAAA,EAAA;AAAA,GAqDjDoB,IAAe,CAAC;AAAA,EACpB,QAAAL;AAAA,EACA,SAAAF;AAAA,EACA,OAAAH;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,UAAAZ;AAAA,EACA,WAAAqB,IAAY;AAAA,EACZ,OAAAL,IAAQ;AAAA,EACR,eAAeC;AACjB,MAAkB;AAChB,QAAMK,IAAaC,EAAuB,IAAI,GACxC,EAAE,WAAAT,GAAW,aAAAU,EAAA,IAAgBC,EAAa;AAAA,IAC9C,SAAAZ;AAAA,IACA,YAAAS;AAAA,EAAA,CACD;AAED,MAAI,CAACP,EAAQ,QAAO;AAEpB,QAAMW,IACJzB,gBAAAA,EAAAA;AAAAA,IAACQ;AAAA,IAAA;AAAA,MACC,QAAAM;AAAA,MACA,OAAAL;AAAA,MACA,UAAAC;AAAA,MACA,MAAAC;AAAA,MACA,SAASY;AAAA,MACT,WAAAV;AAAA,MACA,eAAaG;AAAA,MACb,OAAAD;AAAA,MAEC,UAAAhB;AAAA,IAAA;AAAA,EAAA;AAIL,SAAOqB,IACLpB,gBAAAA,EAAAA,IAAC0B,GAAA,EAAc,QAAM,IAAC,KAAKL,GAAY,SAASE,GAC7C,UAAAE,EAAA,CACH,IAEAA;AAEJ,GAEaE,IAAQ,OAAO,OAAOR,GAAc;AAAA;AAAA;AAAA;AAAA,EAI/C,OAAOrB;AAAA;AAAA;AAAA;AAAA,EAIP,UAAUG;AAAA;AAAA;AAAA;AAAA,EAIV,MAAMC;AAAA;AAAA;AAAA;AAAA;AAAA,EAKN,QAAQC;AAAA;AAAA;AAAA;AAAA,EAIR,SAASG;AACX,CAAC;"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const u=require("./components/ActionMenu/ActionMenu.cjs.js"),t=require("./components/Badge/Badge.cjs.js"),r=require("./components/Banner/Banner.cjs.js"),e=require("./components/Button/Button.cjs.js"),i=require("./components/ButtonGroup/ButtonGroup.cjs.js"),l=require("./components/ButtonWithSelect/ButtonWithSelect.cjs.js"),c=require("./components/Checkbox/CheckboxInput/CheckboxInput.cjs.js"),s=require("./components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js"),T=require("./components/Table/DataTable/DataTable.cjs.js"),b=require("./components/Table/DataTable/DataTableRow.cjs.js"),d=require("./components/Input/CopyInput/CopyInput.cjs.js"),p=require("./components/Overlay/Overlay.cjs.js"),q=require("./components/Elevation/Elevation.cjs.js"),B=require("./components/ImageBackground/ImageBackground.cjs.js"),h=require("./components/Input/BaseInput/Input.cjs.js"),I=require("./components/Input/OTPInput/OTPInput.cjs.js"),R=require("./components/Menu/MenuTrigger.cjs.js"),o=require("./components/Modal/Modal.cjs.js"),v=require("./components/Popover/Popover.cjs.js"),C=require("./components/Input/SearchInput/SearchInput.cjs.js"),S=require("./components/ScreenOverlay/ScreenOverlay.cjs.js"),m=require("./components/Select/Select.cjs.js"),g=require("./components/Switch/Switch.cjs.js"),w=require("./components/Text/TextCountdown/TextCountdown.cjs.js"),x=require("./components/Table/BaseTable/Table.cjs.js"),y=require("./components/Table/BaseTable/elements/TableRow.cjs.js"),A=require("./components/Table/BaseTable/elements/TableCell.cjs.js"),E=require("./components/Table/BaseTable/elements/TableRoot.cjs.js"),M=require("./components/Table/BaseTable/elements/TableHeader.cjs.js"),O=require("./components/Table/BaseTable/elements/TableHeaderRow.cjs.js"),P=require("./components/Table/BaseTable/elements/TableHeaderCell.cjs.js"),k=require("./components/Table/BaseTable/elements/TableBody.cjs.js"),n=require("./components/Table/BaseTable/Collection/useTableCollection.cjs.js"),H=require("./components/Text/TextEllipsis/TextEllipsis.cjs.js"),V=require("./components/Text/TextEmphasis/TextEmphasis.cjs.js"),a=require("./components/ThemeProvider.cjs.js"),D=require("./components/Tombstone/Tombstone.cjs.js"),G=require("./components/Tooltip/ResponsiveTooltip.cjs.js"),N=require("./components/Waveform/Waveform.cjs.js");exports.ActionMenu=u.ActionMenu;exports.Badge=t.Badge;exports.BadgeVariants=t.BadgeVariants;exports.BANNER_VARIANTS=r.BANNER_VARIANTS;exports.Banner=r.Banner;exports.Button=e.Button;exports.ButtonSizes=e.ButtonSizes;exports.ButtonVariants=e.ButtonVariants;exports.ButtonGroup=i.ButtonGroup;exports.ButtonWithSelect=l.ButtonWithSelect;exports.CheckboxInput=c.CheckboxInput;exports.CheckboxRadioGroup=s.CheckboxRadioGroup;exports.DataTable=T.DataTable;exports.DataTableRow=b.DataTableRow;exports.CopyInput=d.CopyInput;exports.Overlay=p.Overlay;exports.Elevation=q.Elevation;exports.ImageBackground=B.ImageBackground;exports.Input=h.Input;exports.OTPInput=I.OTPInput;exports.MenuTrigger=R.MenuTrigger;exports.Modal=o.Modal;exports.widthVariants=o.widthVariants;exports.Popover=v.Popover;exports.SearchInput=C.SearchInput;exports.ScreenOverlay=S.ScreenOverlay;exports.Select=m.Select;exports.Switch=g.Switch;exports.TextCountdown=w.TextCountdown;exports.Table=x.Table;exports.TableRow=y.TableRow;exports.TableCell=A.TableCell;exports.TableRoot=E.TableRoot;exports.TableHeader=M.TableHeader;exports.TableHeaderRow=O.TableHeaderRow;exports.TableHeaderCell=P.TableHeaderCell;exports.TableBody=k.TableBody;exports.calculateAriaColumnIndex=n.calculateAriaColumnIndex;exports.calculateAriaRowIndex=n.calculateAriaRowIndex;exports.TextEllipsis=H.TextEllipsis;exports.TextEmphasis=V.TextEmphasis;exports.ThemeProvider=a.ThemeProvider;exports.useTheme=a.useTheme;exports.Tombstone=D.Tombstone;exports.Tooltip=G.ResponsiveTooltip;exports.Waveform=N.Waveform;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -802,7 +802,7 @@ export declare interface MenuTriggerProps {
|
|
|
802
802
|
setIsOpen: (isOpen: boolean) => void;
|
|
803
803
|
}
|
|
804
804
|
|
|
805
|
-
export declare const Modal: (({ isOpen, onClose, title, subtitle, body, children, isOverlay, "data-testid": dataTestId, }: ModalProps) => JSX.Element | null) & {
|
|
805
|
+
export declare const Modal: (({ isOpen, onClose, title, subtitle, body, children, isOverlay, width, "data-testid": dataTestId, }: ModalProps) => JSX.Element | null) & {
|
|
806
806
|
/**
|
|
807
807
|
* Renders a h2 styled title
|
|
808
808
|
* */
|
|
@@ -868,6 +868,12 @@ declare interface ModalProps {
|
|
|
868
868
|
* Optional title text for the modal header
|
|
869
869
|
* */
|
|
870
870
|
title?: string;
|
|
871
|
+
/**
|
|
872
|
+
* Optional width variant for the modal
|
|
873
|
+
* - type {@link WidthVariant}
|
|
874
|
+
* @default "full"
|
|
875
|
+
* */
|
|
876
|
+
width?: WidthVariant;
|
|
871
877
|
}
|
|
872
878
|
|
|
873
879
|
/**
|
|
@@ -1823,4 +1829,13 @@ declare interface WaveformProps {
|
|
|
1823
1829
|
totalDuration: number;
|
|
1824
1830
|
}
|
|
1825
1831
|
|
|
1832
|
+
/**
|
|
1833
|
+
* Width variant for the modal (will be standardized in future release)
|
|
1834
|
+
* - medium: 650px (standard modal width on client)
|
|
1835
|
+
* - full: 86vw (default modal width)
|
|
1836
|
+
*/
|
|
1837
|
+
export declare type WidthVariant = "medium" | "full";
|
|
1838
|
+
|
|
1839
|
+
export declare const widthVariants: Record<WidthVariant, string>;
|
|
1840
|
+
|
|
1826
1841
|
export { }
|
package/dist/index.es.js
CHANGED
|
@@ -1,41 +1,41 @@
|
|
|
1
1
|
import { ActionMenu as e } from "./components/ActionMenu/ActionMenu.es.js";
|
|
2
2
|
import { Badge as p, BadgeVariants as m } from "./components/Badge/Badge.es.js";
|
|
3
3
|
import { BANNER_VARIANTS as a, Banner as f } from "./components/Banner/Banner.es.js";
|
|
4
|
-
import { Button as n, ButtonSizes as T, ButtonVariants as
|
|
5
|
-
import { ButtonGroup as
|
|
6
|
-
import { ButtonWithSelect as
|
|
4
|
+
import { Button as n, ButtonSizes as T, ButtonVariants as i } from "./components/Button/Button.es.js";
|
|
5
|
+
import { ButtonGroup as d } from "./components/ButtonGroup/ButtonGroup.es.js";
|
|
6
|
+
import { ButtonWithSelect as c } from "./components/ButtonWithSelect/ButtonWithSelect.es.js";
|
|
7
7
|
import { CheckboxInput as B } from "./components/Checkbox/CheckboxInput/CheckboxInput.es.js";
|
|
8
|
-
import { CheckboxRadioGroup as
|
|
8
|
+
import { CheckboxRadioGroup as I } from "./components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js";
|
|
9
9
|
import { DataTable as v } from "./components/Table/DataTable/DataTable.es.js";
|
|
10
|
-
import { DataTableRow as
|
|
11
|
-
import { CopyInput as
|
|
10
|
+
import { DataTableRow as C } from "./components/Table/DataTable/DataTableRow.es.js";
|
|
11
|
+
import { CopyInput as g } from "./components/Input/CopyInput/CopyInput.es.js";
|
|
12
12
|
import { Overlay as y } from "./components/Overlay/Overlay.es.js";
|
|
13
|
-
import { Elevation as
|
|
14
|
-
import { ImageBackground as
|
|
15
|
-
import { Input as
|
|
16
|
-
import { OTPInput as
|
|
13
|
+
import { Elevation as V } from "./components/Elevation/Elevation.es.js";
|
|
14
|
+
import { ImageBackground as H } from "./components/ImageBackground/ImageBackground.es.js";
|
|
15
|
+
import { Input as N } from "./components/Input/BaseInput/Input.es.js";
|
|
16
|
+
import { OTPInput as P } from "./components/Input/OTPInput/OTPInput.es.js";
|
|
17
17
|
import { MenuTrigger as G } from "./components/Menu/MenuTrigger.es.js";
|
|
18
|
-
import { Modal as z } from "./components/Modal/Modal.es.js";
|
|
19
|
-
import { Popover as
|
|
20
|
-
import { SearchInput as
|
|
21
|
-
import { ScreenOverlay as
|
|
22
|
-
import { Select as
|
|
23
|
-
import { Switch as
|
|
24
|
-
import { TextCountdown as
|
|
25
|
-
import { Table as
|
|
26
|
-
import { TableRow as
|
|
27
|
-
import { TableCell as
|
|
28
|
-
import { TableRoot as
|
|
29
|
-
import { TableHeader as
|
|
30
|
-
import { TableHeaderRow as
|
|
18
|
+
import { Modal as z, widthVariants as _ } from "./components/Modal/Modal.es.js";
|
|
19
|
+
import { Popover as q } from "./components/Popover/Popover.es.js";
|
|
20
|
+
import { SearchInput as J } from "./components/Input/SearchInput/SearchInput.es.js";
|
|
21
|
+
import { ScreenOverlay as L } from "./components/ScreenOverlay/ScreenOverlay.es.js";
|
|
22
|
+
import { Select as U } from "./components/Select/Select.es.js";
|
|
23
|
+
import { Switch as Y } from "./components/Switch/Switch.es.js";
|
|
24
|
+
import { TextCountdown as $ } from "./components/Text/TextCountdown/TextCountdown.es.js";
|
|
25
|
+
import { Table as ro } from "./components/Table/BaseTable/Table.es.js";
|
|
26
|
+
import { TableRow as to } from "./components/Table/BaseTable/elements/TableRow.es.js";
|
|
27
|
+
import { TableCell as mo } from "./components/Table/BaseTable/elements/TableCell.es.js";
|
|
28
|
+
import { TableRoot as ao } from "./components/Table/BaseTable/elements/TableRoot.es.js";
|
|
29
|
+
import { TableHeader as lo } from "./components/Table/BaseTable/elements/TableHeader.es.js";
|
|
30
|
+
import { TableHeaderRow as To } from "./components/Table/BaseTable/elements/TableHeaderRow.es.js";
|
|
31
31
|
import { TableHeaderCell as uo } from "./components/Table/BaseTable/elements/TableHeaderCell.es.js";
|
|
32
|
-
import { TableBody as
|
|
33
|
-
import { calculateAriaColumnIndex as
|
|
32
|
+
import { TableBody as co } from "./components/Table/BaseTable/elements/TableBody.es.js";
|
|
33
|
+
import { calculateAriaColumnIndex as Bo, calculateAriaRowIndex as ho } from "./components/Table/BaseTable/Collection/useTableCollection.es.js";
|
|
34
34
|
import { TextEllipsis as Ro } from "./components/Text/TextEllipsis/TextEllipsis.es.js";
|
|
35
|
-
import { TextEmphasis as
|
|
35
|
+
import { TextEmphasis as wo } from "./components/Text/TextEmphasis/TextEmphasis.es.js";
|
|
36
36
|
import { ThemeProvider as So, useTheme as go } from "./components/ThemeProvider.es.js";
|
|
37
|
-
import { Tombstone as
|
|
38
|
-
import { ResponsiveTooltip as
|
|
37
|
+
import { Tombstone as yo } from "./components/Tombstone/Tombstone.es.js";
|
|
38
|
+
import { ResponsiveTooltip as Vo } from "./components/Tooltip/ResponsiveTooltip.es.js";
|
|
39
39
|
import { Waveform as Ho } from "./components/Waveform/Waveform.es.js";
|
|
40
40
|
export {
|
|
41
41
|
e as ActionMenu,
|
|
@@ -44,44 +44,45 @@ export {
|
|
|
44
44
|
m as BadgeVariants,
|
|
45
45
|
f as Banner,
|
|
46
46
|
n as Button,
|
|
47
|
-
|
|
47
|
+
d as ButtonGroup,
|
|
48
48
|
T as ButtonSizes,
|
|
49
|
-
|
|
50
|
-
|
|
49
|
+
i as ButtonVariants,
|
|
50
|
+
c as ButtonWithSelect,
|
|
51
51
|
B as CheckboxInput,
|
|
52
|
-
|
|
53
|
-
|
|
52
|
+
I as CheckboxRadioGroup,
|
|
53
|
+
g as CopyInput,
|
|
54
54
|
v as DataTable,
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
55
|
+
C as DataTableRow,
|
|
56
|
+
V as Elevation,
|
|
57
|
+
H as ImageBackground,
|
|
58
|
+
N as Input,
|
|
59
59
|
G as MenuTrigger,
|
|
60
60
|
z as Modal,
|
|
61
|
-
|
|
61
|
+
P as OTPInput,
|
|
62
62
|
y as Overlay,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
63
|
+
q as Popover,
|
|
64
|
+
L as ScreenOverlay,
|
|
65
|
+
J as SearchInput,
|
|
66
|
+
U as Select,
|
|
67
|
+
Y as Switch,
|
|
68
|
+
ro as Table,
|
|
69
|
+
co as TableBody,
|
|
70
|
+
mo as TableCell,
|
|
71
|
+
lo as TableHeader,
|
|
72
72
|
uo as TableHeaderCell,
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
To as TableHeaderRow,
|
|
74
|
+
ao as TableRoot,
|
|
75
|
+
to as TableRow,
|
|
76
|
+
$ as TextCountdown,
|
|
77
77
|
Ro as TextEllipsis,
|
|
78
|
-
|
|
78
|
+
wo as TextEmphasis,
|
|
79
79
|
So as ThemeProvider,
|
|
80
|
-
|
|
81
|
-
|
|
80
|
+
yo as Tombstone,
|
|
81
|
+
Vo as Tooltip,
|
|
82
82
|
Ho as Waveform,
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
go as useTheme
|
|
83
|
+
Bo as calculateAriaColumnIndex,
|
|
84
|
+
ho as calculateAriaRowIndex,
|
|
85
|
+
go as useTheme,
|
|
86
|
+
_ as widthVariants
|
|
86
87
|
};
|
|
87
88
|
//# sourceMappingURL=index.es.js.map
|
package/dist/style.css
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
.proton-Button{--proton-button-edge-padding:1.05em;--proton-button__background-color:var(--proton-color__primary);--proton-button__text-color:var(--proton-color__white);color:var(--proton-button__text-color);border-radius:var(--proton-control__border-radius);padding:.45em var(--proton-button-edge-padding);letter-spacing:.05em;cursor:pointer;box-sizing:border-box;background-color:var(--proton-button__background-color);border:0;align-items:center;transition:filter .2s,background-color .2s,outline .2s;display:inline-flex;position:relative}.proton-Button__icon-decorator{justify-content:center;align-items:center;padding-right:.3em;line-height:1;display:flex;position:relative}.proton-Button__icon-decorator--fullWidth{position:absolute}.proton-Button__text{box-sizing:border-box;text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:auto;line-height:normal;overflow:hidden}.proton-Button:hover{filter:brightness(1.16);cursor:pointer}.proton-Button--primary{--proton-button__background-color:var(--proton-color__primary);--proton-button__text-color:var(--proton-color__white)}.proton-Button--secondary{--proton-button__background-color:var(--proton-color__gray-light);--proton-button__text-color:var(--proton-control__text-color)}.proton-ui__theme--dark .proton-Button--secondary{--proton-button__background-color:var(--proton-control__background-color-light)}.proton-Button--danger{--proton-button__background-color:var(--proton-color__danger-medium)}.proton-Button--success{--proton-button__background-color:var(--proton-color__success-medium)}.proton-Button--translucent{--proton-button__background-color:var(--proton-control__background-color-light);--proton-button__text-color:var(--proton-control__text-color)}.proton-Button--disabled,.proton-Button--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Button:focus{outline:2px solid var(--proton-color__primary)}.proton-Button:focus-visible{outline:2px solid var(--proton-color__primary)}.proton-Button:active{filter:brightness(1.3);transition:filter .1s ease-out}.proton-Button--fullWidth{width:100%}.proton-Button--small{padding:.2rem .6rem;font-size:.875rem}.proton-Button--medium{padding:.4rem 1rem;font-size:1rem}.proton-Button--large{padding:.6rem 1.6rem;font-size:1.2rem}.proton-Button--xlarge{padding:1rem 2rem .8rem;font-size:1.3rem}.proton-Button--2xlarge{padding:1rem 2.6rem;font-size:1.6rem}.proton-Button--fullWidth .proton-Button__text{transform:translate(calc(var(--proton-button-text-shift)))}.proton-ScreenOverlay__background{will-change:backdrop-filter;-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.proton-ScreenOverlay__z-index{z-index:10000}.proton-ScreenOverlay__image{object-fit:cover;width:100vw;height:100vh;position:absolute}.proton-ScreenOverlay__blur{-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);filter:brightness(46%);position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fadeInBackground{0%{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000001a}to{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}}@keyframes fadeOutBackground{0%{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}to{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}}.proton-ScreenOverlay__fade-in{animation:.2s ease-in-out forwards fadeInBackground}.proton-ScreenOverlay__fade-out{animation:.2s ease-in-out forwards fadeOutBackground}.proton-ActionMenu__wrapper{z-index:10;width:100%;max-height:100vh;position:fixed;bottom:0;left:0}.proton-ActionMenu__background-wrapper{opacity:0;transition:opacity .3s cubic-bezier(.34,1.56,.64,1);overflow-y:scroll}.proton-ActionMenu__card{color:var(--proton-control__text-color);background-color:var(--proton-control__background-color-light);z-index:1;border-radius:.875rem .875rem 0 0;flex-direction:column;height:0;transition:height .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 0 4px #0000001a,0 0 20px #00000026}.proton-ActionMenu__cancel-button{margin:0 .75rem 1rem}.proton-ActionMenu__content{flex:1;min-width:0;padding:.75rem .75rem 0}.proton-ActionMenu__menu>[data-radix-popper-content-wrapper]{width:100%!important;position:absolute!important;top:0!important;transform:none!important}.proton-ActionMenu__list{flex-direction:column;margin-bottom:.625rem;display:flex}.proton-ActionMenu__item{color:inherit;cursor:pointer;justify-content:space-between;align-items:center;padding:.75rem .5rem .75rem .75rem;transition:filter .2s,background-color .2s,color .2s;display:flex}.proton-ActionMenu__item:hover,.proton-ActionMenu__item:focus{background-color:var(--proton-control__hover-color);border:none;outline:none}.proton-ActionMenu__item[aria-checked=true]:hover,.proton-ActionMenu__item[aria-checked=true]:focus{filter:brightness(1.15)}.proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary-light);color:var(--proton-color__primary)}.proton-ui__theme--dark .proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary);color:var(--proton-control__text-color)}.proton-ActionMenu__item[aria-disabled=true],.proton-ActionMenu__list[aria-disabled=true],.proton-ActionMenu__item[aria-disabled=true]:hover{opacity:.5;cursor:not-allowed;background-color:#0000}.proton-ActionMenu__list[aria-disabled=true] .proton-ActionMenu__item{pointer-events:none}.proton-ActionMenu__title{text-align:center;width:100%;font-weight:600}.proton-ActionMenu__back-button{cursor:pointer;z-index:1;align-items:center;width:100%;height:100%;padding-left:.35rem;display:flex;position:absolute;left:0}.proton-ActionMenu__back-button:hover,.proton-ActionMenu__cancel-button:focus{background-color:var(--proton-control__hover-color);outline:none}.proton-ActionMenu__back-button:focus-visible{background-color:var(--proton-control__hover-color);outline:none}.proton-ActionMenu__cancel-button:focus-visible{background-color:var(--proton-control__hover-color);outline:none}.proton-ActionMenu__back-button-container{align-items:center;height:3rem;display:flex;position:relative}.proton-ActionMenu__description{color:var(--proton-control__text-color);opacity:.7;font-size:.875rem}.proton-ActionMenu__item-label{font-weight:500}.proton-ui__theme--dark .proton-ActionMenu__cancel-button button{--proton-button__background-color:var(--proton-control__background-color-light)}.proton-Badge{letter-spacing:.2em;text-align:center;text-transform:uppercase;white-space:nowrap;height:1.6rem;color:#666;background-color:#f2f2f2;border-radius:10rem;padding-left:1rem;padding-right:calc(1rem - .2em);font-size:1rem;font-weight:500;line-height:1.65rem;display:inline-block}.proton-ui__theme--dark .proton-Badge:not([class*=proton-Badge--]),.proton-ui__theme--dark .proton-Badge--secondary{background-color:var(--proton-control__background-color-light);color:var(--proton-control__text-color)}.proton-Badge--primary{background-color:var(--proton-color__primary);color:var(--proton-color__primary-light)}.proton-Badge--success{background-color:var(--proton-color__success-super-light);color:var(--proton-color__success-dark)}.proton-Badge--warning{background-color:var(--proton-color__warning-super-light);color:var(--proton-color__warning-dark)}.proton-Badge--danger{background-color:var(--proton-color__danger-super-light);color:var(--proton-color__danger-dark)}.proton-Badge--transparent{color:#666;background-color:#0000}.proton-Banner{background-color:var(--banner-bg);-webkit-backdrop-filter:var(--banner-blur);backdrop-filter:var(--banner-blur);--tw-backdrop-blur:var(--banner-blur);--banner-bg:var(--proton-control__background-color-light);--banner-title:var(--proton-color__gray-dark);--banner-content:var(--proton-color__gray-medium);--banner-icon:var(--proton-color__gray-medium-light);--banner-blur:none;margin:0}:where(.proton-ui__theme--dark) .proton-Banner{--banner-bg:var(--proton-control__background-color-light);--banner-blur:blur(15px);--banner-title:var(--proton-control__text-color);--banner-content:var(--proton-control__text-color);--banner-icon:var(--proton-control__text-color)}.proton-Banner--warning{--banner-bg:var(--proton-color__warning-super-light);--banner-title:var(--proton-color__warning-dark);--banner-content:var(--proton-color__warning-medium);--banner-icon:var(--proton-color__warning-light)}.proton-Banner--success{--banner-bg:var(--proton-color__success-super-light);--banner-title:var(--proton-color__success-dark);--banner-content:var(--proton-color__success-medium);--banner-icon:var(--proton-color__success-light)}.proton-Banner--danger{--banner-bg:var(--proton-color__danger-super-light);--banner-title:var(--proton-color__danger-dark);--banner-content:var(--proton-color__danger-medium);--banner-icon:var(--proton-color__danger-light)}.proton-Banner--rounded{border-radius:.375rem}.proton-Banner__wrapper{align-items:flex-start;padding:2rem;display:flex}.proton-Banner__wrapper--compact{padding:1rem}.proton-Banner__content-wrapper{min-width:0;color:var(--banner-content);flex:1}.proton-Banner__container{padding:0 .625rem}.proton-Banner__title{letter-spacing:.01rem;color:var(--banner-title);line-height:1.2rem}.proton-Banner__content{color:var(--banner-content);margin:.375rem 0 0}.proton-Banner__icon{fill:var(--banner-icon);height:20px}.proton-Banner__actions{gap:.5rem;margin:.375rem 0 0;display:flex}@media (min-width:768px){.proton-Banner__container{grid-gap:.5rem;grid-template-columns:1fr auto;display:grid}.proton-Banner__title,.proton-Banner__content{grid-column:1;margin:auto 0}.proton-Banner__container:not(:has(.proton-Banner__content)){grid-gap:0px;grid-template-rows:1fr}.proton-Banner__container>div:last-child{grid-area:1/2/span 2;max-height:32px;margin:auto 0}.proton-Banner__actions{margin:0 0 0 .75rem}.proton-Banner__wrapper:not(:has(.proton-Banner__content)){align-items:center}}.proton-ButtonGroup{border:1px solid var(--proton-color__gray-light);border-radius:.25rem;font-weight:400;display:flex;overflow:hidden}.proton-ButtonGroup__option{background-color:var(--proton-color__gray-super-light);cursor:pointer;border:none;border-left:1px solid var(--proton-color__gray-light);color:var(--proton-color__gray-dark);text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;border-radius:0;flex:1;margin:0;padding:.5em 1em;display:block}.proton-ButtonGroup__option:first-child{border-left:0}.proton-ButtonGroup__option[data-state=checked]{background-color:var(--proton-color__white);color:var(--proton-color__primary);z-index:2;cursor:default;border-radius:inherit;box-shadow:0 0 .375rem #00000026}.proton-ButtonGroup__option[data-state=checked]+.proton-ButtonGroup__option{border-left:1px solid #0000}.proton-ButtonGroup__option:focus-visible{outline:2px solid var(--proton-color__primary)}.proton-MenuTrigger__menu-header{text-transform:uppercase;color:var(--proton-control__text-color);background-color:var(--proton-control__background-color-light);letter-spacing:.1em;padding:.3125rem 1rem .25rem;font-size:.8em;font-weight:700}.proton-MenuTrigger__button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s ease-in-out;display:flex}.proton-MenuTrigger__button:disabled{cursor:not-allowed;opacity:.5}.proton-ui__theme--dark .proton-MenuTrigger__button:disabled:hover,.proton-MenuTrigger__button:disabled:hover{background:0 0}.proton-MenuTrigger__button:focus{outline:2px solid var(--proton-color__primary)}.proton-MenuTrigger__button:hover{background-color:var(--proton-control__hover-color)}.proton-MenuTrigger__menu-item .proton-Menu__item,.proton-MenuTrigger__menu-item{color:var(--proton-control__text-color);grid-template:"label kbd""desc kbd"/1fr auto;align-items:center;gap:.1em .5em;padding:.75em 1em;display:grid}.proton-MenuTrigger__menu-item .proton-Menu__item[data-has-submenu=true],.proton-MenuTrigger__menu-item[data-has-submenu=true]{grid-template-columns:unset;grid-template-areas:unset;justify-content:space-between;align-items:center;display:flex}.proton-MenuTrigger__label{grid-area:label}.proton-MenuTrigger__description{opacity:.7;grid-area:desc;font-size:.8em;line-height:1.1}.proton-MenuTrigger__chevron{padding-left:.5rem}[data-radix-popper-content-wrapper]:has(>.proton-Menu){z-index:10000!important}.proton-Menu{--menu-item-bg-color:transparent;letter-spacing:.05em;border-radius:var(--proton-control__border-radius);background-color:var(--proton-control__background-color-light);will-change:backdrop-filter;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--proton-control__border-color);min-width:100px;max-height:420px;color:var(--proton-control__text-color);box-shadow:0 0 3px var(--proton-control__shadow-color);margin:8px 0 0;padding:0;list-style:none;overflow:auto}.proton-Menu__item{background:var(--menu-item-bg-color);cursor:pointer;outline:none;justify-content:space-between;align-items:center;padding:8px 24px 8px 16px;transition:background-color .2s,opacity .2s,color .2s;display:flex}.proton-Menu__item[aria-checked=true]{--menu-item-bg-color:var(--proton-color__primary-super-light);color:var(--proton-color__primary);font-weight:600}.proton-Menu__item[aria-checked=true][data-highlighted=""]{--menu-item-bg-color:var(--proton-color__primary-super-light);opacity:.75}.proton-Menu__item[aria-selected=true]{--menu-item-bg-color:var(--proton-color__primary-super-light);color:var(--proton-color__primary);font-weight:600}.proton-Menu__item[aria-selected=true][data-highlighted=""]{--menu-item-bg-color:var(--proton-color__primary-super-light);opacity:.75}.proton-Menu__item[data-state=checked]{--menu-item-bg-color:var(--proton-color__primary-super-light);color:var(--proton-color__primary);font-weight:600}.proton-Menu__item[data-state=checked][data-highlighted=""]{--menu-item-bg-color:var(--proton-color__primary-super-light);opacity:.75}.proton-Menu__item[data-highlighted=""]{--menu-item-bg-color:var(--proton-control__hover-color)}.proton-Menu__item:hover{--menu-item-bg-color:var(--proton-control__hover-color);box-shadow:none}.proton-Menu__item[aria-disabled=true],.proton-Menu__item[data-disabled=true]{opacity:.5;cursor:not-allowed}.proton-ButtonWithSelect{align-items:stretch;display:flex;position:relative}.proton-ButtonWithSelect button:focus{outline:none}.proton-ButtonWithSelect__button{flex:var(--flex);align-items:stretch;display:flex}.proton-ButtonWithSelect__button button,.proton-ButtonWithSelect__button a{border-top-right-radius:0;border-bottom-right-radius:0;align-items:center;display:flex;position:relative;overflow:hidden}.proton-ButtonWithSelect__button button:after,.proton-ButtonWithSelect__button a:after{content:"";background-color:#00000026;width:1px;position:absolute;top:.3em;bottom:.3em;right:0}.proton-ButtonWithSelect__trigger{flex:0 0 var(--trigger-width);min-width:var(--trigger-width);max-width:var(--trigger-width)}.proton-ButtonWithSelect__trigger .proton-Button{border-top-left-radius:0;border-bottom-left-radius:0;width:100%;height:100%;padding:0}.proton-ButtonWithSelect__trigger-content{flex-direction:column;align-items:center;display:flex}.proton-CheckboxIndicator{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.proton-CheckboxIndicator--checkmark{width:14px;height:100%;color:var(--proton-color__white);left:1px}.proton-CheckboxIndicator__path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .18s ease-out}input:checked~.proton-CheckboxIndicator .proton-CheckboxIndicator__path,[data-state=checked] .proton-CheckboxIndicator__path{stroke-dashoffset:0}.proton-CheckboxIndicator__dot{background-color:var(--proton-color__white);opacity:0;border-radius:50%;width:8px;height:8px;transition:opacity .1s ease-in-out}input:checked~.proton-CheckboxIndicator .proton-CheckboxIndicator__dot,[data-state=checked] .proton-CheckboxIndicator__dot{opacity:1}.proton-CheckboxInput__container{align-items:center;gap:8px;display:flex}.proton-CheckboxInput__box{display:inline-block;position:relative}.proton-CheckboxInput__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:2px solid var(--proton-control__border-color);border-radius:var(--proton-control__border-radius);background-color:var(--proton-control__background-color);justify-content:center;align-items:center;width:18px;height:18px;transition:background-color .1s ease-in-out,border .1s ease-in-out,box-shadow .1s ease-in-out;display:flex;position:relative;margin:0!important}.proton-CheckboxInput__input--round{border-radius:50%}.proton-CheckboxInput__input:indeterminate{background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:-webkit-any(:checked,[data-state=checked]){background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:-moz-any(:checked,[data-state=checked]){background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:is(:checked,[data-state=checked]){background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:indeterminate:after{content:"";background-color:var(--proton-control__text-color);width:10px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proton-CheckboxInput__input:-webkit-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input:-moz-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input:is(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input--error{border-color:var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error:-webkit-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error:-moz-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error:is(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input:disabled{opacity:.6;cursor:not-allowed}.proton-CheckboxInput__input:disabled:-webkit-any(:checked,[data-state=checked]){background-color:var(--proton-control__border-color);border-color:var(--proton-control__border-color)}.proton-CheckboxInput__input:disabled:-moz-any(:checked,[data-state=checked]){background-color:var(--proton-control__border-color);border-color:var(--proton-control__border-color)}.proton-CheckboxInput__input:disabled:is(:checked,[data-state=checked]){background-color:var(--proton-control__border-color);border-color:var(--proton-control__border-color)}.proton-CheckboxInput__label{color:var(--proton-control__text-color);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:400}.proton-CheckboxInput--disabled .proton-CheckboxInput__label{opacity:.6;cursor:not-allowed}.proton-CheckboxInput__error{color:var(--proton-color__danger-medium);opacity:1;margin-top:4px}.proton-CheckboxRadioGroup{gap:12px;display:flex}.proton-CheckboxRadioGroup--vertical{flex-direction:column}.proton-CheckboxRadioGroup--horizontal{flex-flow:wrap}.proton-CheckboxRadioGroup__checkmark{position:absolute;top:0;bottom:0;left:-2px;right:0}.proton-CheckboxRadioGroup__description{color:var(--proton-control__text-color);opacity:.7;margin-left:26px;font-size:.875em}.proton-Table{border-collapse:collapse;color:var(--proton-control__text-color);width:100%;font-weight:300}.proton-Table__caption{display:none}.proton-Table__header{cursor:default;letter-spacing:.1em;text-transform:uppercase;text-align:left;outline:none;padding:.4375rem .625rem;font-size:1rem;font-weight:500;line-height:1rem}.proton-Table__header--center{text-align:center}.proton-Table__header--right{text-align:right}.proton-Table__headerSortIcon{padding:0 .125rem}.proton-Table__row{cursor:default;outline:none}.proton-Table__rowGroup--header{border-bottom:1px solid #ccc}.proton-Table__row--showLines{border-top:1px solid #ccc}.proton-Table--clickable{cursor:pointer}.proton-Table__cell{vertical-align:middle;outline:none;padding:.4375rem .625rem}.proton-Table__cell--center{text-align:center}.proton-Table__cell--right{text-align:right}.proton-Elevation{border-radius:var(--proton-control__border-radius);background-color:var(--proton-control__elevation-color);width:100%;height:100%;transition:background-color .2s ease-in-out,-webkit-backdrop-filter .2s ease-in-out,backdrop-filter .2s ease-in-out}.proton-Elevation--glass{will-change:backdrop-filter;-webkit-backdrop-filter:blur(15px)saturate(104%);backdrop-filter:blur(15px)saturate(104%);box-shadow:inset -.05rem -.05rem 0 .05rem #ffffff03,inset .05rem .05rem 0 .05rem #ffffff03}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:800px 0}}.proton-Tombstone{background-position:-300px 0;background-repeat:no-repeat;background-size:300px 100%;animation:1.5s linear infinite shimmer}.proton-ui__theme--light .proton-Tombstone{background-color:#d1d1d1;background-image:linear-gradient(-90deg,#d1d1d1,#b8b8b8,#d1d1d1)}.proton-ui__theme--dark .proton-Tombstone{background-color:#3c3c3c;background-image:linear-gradient(-90deg,#363636,#292727,#353535)}.proton-Tombstone--custom{background-image:linear-gradient(-90deg,var(--tombstone-custom-primary) 0%,var(--tombstone-custom-secondary) 50%,var(--tombstone-custom-primary) 100%);background-color:var(--tombstone-custom-background)}.proton-DataTable{width:100%}.proton-DataTable__header-content{align-items:center;gap:.5rem;display:flex}.proton-DataTable__message-cell{position:absolute;left:0;right:0}.proton-DataTable__empty-cell{text-align:center;padding:3rem 1.5rem}.proton-DataTable__sort-button{cursor:pointer;border-radius:var(--proton-control__border-radius);border:none;max-height:.8rem;padding-bottom:1px;transition:background-color .15s ease-in-out,opacity .15s ease-in-out,transform .15s ease-in-out;display:inline-flex}.proton-DataTable__sort-button:hover{background-color:var(--proton-control__hover-color)}.proton-DataTable__sort-button[aria-label*=ascending]{align-items:flex-end;transform:rotateX(180deg)}.proton-Input{max-width:var(--container-width,100%);border-radius:var(--proton-control__border-radius);box-sizing:border-box;outline:1px solid var(--proton-control__border-color);background:var(--proton-control__background-color-light);width:100%;height:100%;color:var(--proton-control__text-color);border:none;flex:1;padding-left:.75rem;font-weight:400;transition:outline .1s ease-in-out,background-color .1s ease-in-out,color .1s ease-in-out,opacity .1s ease-in-out}.proton-Input:disabled{opacity:.6;cursor:not-allowed}.proton-Input:not(.proton-Input--error):focus{outline:2px solid var(--proton-color__primary)}.proton-Input:not(.proton-Input--error):focus-visible{outline:2px solid var(--proton-color__primary)}.proton-Input.proton-Input--error{outline:2px solid var(--proton-color__danger-medium)}.proton-Input__container{width:100%;height:100%}.proton-Input__container-inner{width:100%;height:100%;position:relative}.proton-Input__descriptor{z-index:1;justify-content:center;height:100%;position:absolute;top:50%;transform:translateY(-50%)}.proton-Input__prefix,.proton-Input__suffix{justify-content:center;align-items:center;min-width:32px;display:flex}.proton-Input__prefix{opacity:.5;cursor:text;left:0}.proton-Input__suffix{outline:none;right:0}.proton-Input__container-inner.proton-Input__has-prefix .proton-Input{padding-left:var(--prefix-width,32px)}.proton-Input__container-inner.proton-Input__has-suffix .proton-Input{padding-right:calc(.75rem + var(--suffix-width,44px))}.proton-Input__text{margin-bottom:4px;padding:.25rem 0}.proton-Input__error{color:var(--proton-color__danger-medium);opacity:1}.proton-Input__label-top{padding-top:1.375rem;padding-bottom:.5rem}.proton-Input__label{opacity:.55;color:var(--proton-control__text-color);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.proton-Input__label--filled,.proton-Input[value]:not([value=""])+.proton-Input__label,.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary-light);opacity:1;font-size:.75rem;transform:translateY(-100%)}.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary-light);opacity:1}.proton-CopyInput-button{all:unset;cursor:pointer;color:var(--proton-control__text-color);text-transform:uppercase;letter-spacing:.2em;justify-content:center;align-items:center;width:100%;height:100%;padding:0 .875rem 0 1.4rem;font-size:.75rem;font-weight:600;line-height:1rem;transition:background-color .2s;display:flex}.proton-CopyInput-button svg{margin-bottom:.0625rem;transition:color .2s}.proton-CopyInput-button-text{margin:0 .5rem;transition:color .2s}.proton-CopyInput-button-text--copied,.proton-CopyInput-button--copied svg{color:var(--proton-color__primary)}.proton-Input:not(.proton-Input--error):focus{outline:1px solid var(--proton-control__border-color)}.proton-Input:not(.proton-Input--error):focus-visible{outline:1px solid var(--proton-control__border-color)}.proton-ui__theme--light .proton-CopyInput-button{border-left:1px solid var(--proton-control__border-color);align-items:center;height:100%;transition:background-color .2s;display:flex}.proton-CopyInput-button:hover{background-color:var(--proton-control__hover-color)}.proton-Overlay{background-color:var(--proton-control__background-color-light);border-radius:var(--proton-control__border-radius);box-shadow:0 0 8px 0 var(--proton-control__shadow-color),0 0 4px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);outline:none;font-weight:300}.proton-Overlay__content{padding:7px 9px}.proton-Overlay-arrow,.proton-Overlay-arrow svg{fill:var(--proton-control__background-color-light)}.proton-OTPInput__digits{justify-content:center;align-items:center;display:flex}.proton-OTPInput__digit{color:var(--proton-control__text-color);border:1px solid var(--proton-control__border-color);background:var(--proton-control__background-color-light);text-align:center;box-sizing:border-box;border-radius:.625rem;max-width:2.675rem;min-height:3.225rem;margin:0 .25rem;font-size:1.25rem;transition:box-shadow 60ms ease-in-out,border-color .1s ease-in-out}@media (max-width:320px){.proton-OTPInput__digit{max-width:2.8125rem}}.proton-OTPInput__digit:focus{box-shadow:inset 0 0 4px var(--proton-color__primary);outline:none}.proton-OTPInput__digit:disabled{opacity:.8;cursor:not-allowed}.proton-OTPInput__digit--error,.proton-OTPInput__digit--error:focus{border-color:var(--proton-color__danger-medium);box-shadow:inset 0 0 4px var(--proton-color__danger-medium)}.proton-OTPInput__error{color:var(--proton-color__danger-medium);margin-bottom:.25rem;margin-left:.325rem}.proton-OTPInput__separator{color:var(--proton-control__border-color);font-weight:600}.proton-Modal{background-color:var(--proton-control__background-color-light);color:var(--proton-control__text-color);max-width:86vw;max-height:80vh;box-shadow:0 .0625rem .25rem -.0625rem var(--proton-control__shadow-color);opacity:1;border-radius:.5rem;padding:2rem;transition:opacity .2s ease-in-out;position:relative;overflow:visible}html:has([data-disable-document-scroll=true]){overflow:hidden}.proton-Modal__content{margin-top:.5rem}.proton-Modal--closing{opacity:0}@media (max-width:768px){.proton-Modal{border-radius:0;flex-direction:column;justify-content:center;align-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:.25rem .5rem;display:flex}.proton-Modal>div{text-align:center;width:100%}}.proton-Modal__title{color:var(--proton-control__title-color);word-break:break-word;line-height:1.2}.proton-Modal__subtitle{color:var(--proton-control__text-color);line-height:1.5}.proton-Modal__body{word-break:break-word;margin:1rem 0;line-height:1.5}.proton-Modal__actions{justify-content:center;gap:1rem;margin-top:1rem;display:flex}.proton-Modal__close-button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:.25rem;padding:.5rem;font-size:2.2rem;font-weight:800;line-height:1;transition:opacity .15s;position:absolute;top:.375rem;right:.75rem}.proton-Modal__close-button:focus,.proton-Modal__close-button:hover{opacity:.8}.proton-Popover{--slide:translateY(.5rem);transform-origin:var(--radix-popover-content-transform-origin);max-height:var(--radix-popover-content-available-height);animation:.2s cubic-bezier(.16,1,.3,1) popoverSlideAndFade}.proton-Popover__constrained{width:var(--radix-popover-trigger-width)}[data-radix-popper-content-wrapper]:has(>.proton-Popover){z-index:10000!important;outline:none!important;min-width:0!important}.proton-Popover[data-state=closed]{animation:.2s reverse popoverSlideAndFade}@keyframes popoverSlideAndFade{0%{opacity:0;transform:var(--slide)}to{opacity:1;transform:translate(0)}}.proton-Input[type=search]{border-radius:3.125rem}.proton-SearchInput__wrapper{width:100%}.proton-SearchInput__button{color:currentColor;cursor:pointer;opacity:1;background-color:#0000;border:none;transition:opacity .2s ease-in-out}.proton-SearchInput__button--hide{opacity:0}.proton-SearchInput__wrapper input[type=search]::-webkit-search-decoration{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-cancel-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-decoration{display:none}.proton-Select{flex-direction:column;width:100%;margin:0;display:flex}.proton-Select__label{color:var(--proton-control__text-color);margin-bottom:.125rem}.proton-Select__trigger{color:var(--proton-control__text-color);font-size:inherit;border-radius:var(--proton-control__border-radius);flex:1;justify-content:space-between;align-items:center;width:100%;padding:.2rem .6rem .2rem 1rem;display:flex}.proton-Select__trigger--rounded{border-radius:3.125rem}button.proton-Select__trigger{letter-spacing:.05em;cursor:pointer;background:var(--proton-control__background-color-light);outline:1px solid var(--proton-control__border-color);border:none;font-weight:400;transition:outline .2s ease-in-out;position:relative}button.proton-Select__trigger:focus{outline:solid var(--proton-color__primary) 2px;border:none}button.proton-Select__trigger:focus-visible{outline:solid var(--proton-color__primary) 2px;border:none}.proton-Select__popover{padding-left:.25rem}.proton-Select__trigger_icon{color:var(--proton-control__text-color);width:.75em;height:.75em;margin-left:.8em;transition:transform .2s;position:relative}.proton-Select__trigger_icon svg{width:100%;height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.proton-Select__trigger_icon--flipped{transform:rotateX(180deg)}.proton-Select:hover{cursor:pointer}.proton-Select__trigger--disabled,.proton-Select__trigger--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Select__value{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;overflow:hidden}.proton-Switch{flex-flow:column;row-gap:5px;display:flex}.proton-Switch__control{cursor:pointer;flex-flow:column;row-gap:5px;display:flex}.proton-Switch__label{text-transform:uppercase;letter-spacing:.1em;color:var(--proton-control__text-color);font-size:.7em;font-weight:600}.proton-Switch__description{color:var(--proton-control__text-color);align-self:center;font-size:.9em}.proton-Switch__wrapper{column-gap:12px;display:flex}.proton-Switch__toggle{background-color:var(--proton-color__gray-light);cursor:pointer;border-radius:26px;flex-shrink:0;width:50px;height:26px;position:relative}.proton-Switch__slider{background-color:#fff;border-radius:22px;width:22px;height:22px;transition:left .2s;position:absolute;top:2px;left:2px}.proton-Switch--on .proton-Switch__toggle{background-color:var(--proton-color__primary)}.proton-Switch--on .proton-Switch__slider{left:26px}.proton-Switch--disabled{opacity:.4}.proton-Switch--disabled .proton-Switch__toggle{cursor:not-allowed}.proton-Switch__control:has(input:focus-visible) .proton-Switch__toggle{outline:2px solid var(--proton-color__primary);outline-offset:2px}.proton-TextEllipsis{vertical-align:middle;color:var(--proton-control__text-color,inherit);font-family:inherit;font-size:inherit;line-height:inherit;width:100%;height:100%;display:inline-block;position:relative}.proton-TextEllipsis--single-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.proton-TextEllipsis--multi-line{text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.proton-TextEmphasis{color:var(--proton-control__text-color);background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 15%,#ff713480 35%,#0000 35%,#0000);padding:0 .05rem;font-style:normal;font-weight:600}.proton-TextEmphasis a{color:inherit;transition:color .15s}.proton-TextEmphasis a:hover{color:var(--proton-color__primary)}.proton-TextEmphasis--tooltip{background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 25%,#ff713480 87%,#0000 80%,#0000);background-position:bottom;background-repeat:no-repeat;background-size:100% 35%;font-style:italic;font-weight:400;transition:background-size .3s,border-radius .3s}.proton-TextEmphasis--tooltip:hover{background-size:100% 100%;border-radius:.125rem}.proton-TextEmphasis--tooltip:not(:hover){transition-delay:.2s}.proton__Tooltip-trigger{display:inherit}.proton__Tooltip{--slide:translateY(.5rem);animation:.2s cubic-bezier(.16,1,.3,1) tooltipSlideAndFade}.proton__Tooltip[data-state=closed]{animation:.2s reverse tooltipSlideAndFade}@keyframes tooltipSlideAndFade{0%{opacity:0;transform:var(--slide)}to{opacity:1;transform:translate(0)}}[data-radix-popper-content-wrapper]:has(>.proton__Tooltip){z-index:10000!important;min-width:0!important}.proton-Waveform{--waveform-bar-color-dark:#ffffffe6;--waveform-bar-color-light:#000000b3;--waveform-disabled-color-dark:#fff3;--waveform-disabled-color-light:#0003;--waveform-animation-curve:cubic-bezier(.34, 1.56, .64, 1);--waveform-animation-duration:.4s;--waveform-bar-delay-multiplier:.7ms;--waveform-timestamp-padding:.25rem;--waveform-timestamp-font-size:.75rem;--waveform-timestamp-border-radius:.125rem;--waveform-hover-line-width:2px;flex-direction:row;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container{z-index:0;flex:1;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container[data-disabled=true]{cursor:not-allowed}.proton-Waveform__timestamp{pointer-events:none;border-radius:var(--waveform-timestamp-border-radius);padding:0 var(--waveform-timestamp-padding);font-size:var(--waveform-timestamp-font-size);z-index:1;background-color:#0009;position:absolute}.proton-ui__theme--light .proton-Waveform__timestamp{color:#000c;background-color:#ffffffe6;box-shadow:0 2px 2px #0000004d}.proton-Waveform__timestamp--left{left:1px}.proton-Waveform__timestamp--right{right:3px}.proton-Waveform__hover-line{width:var(--waveform-hover-line-width);background-color:#ffffff80;position:absolute;top:0;bottom:0;transform:translate(-50%)}.proton-ui__theme--light .proton-Waveform__hover-line{background-color:#00000080}.proton-Waveform__bar-wrapper{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.proton-Waveform__bar{background-color:var(--waveform-bar-color-dark);transform-origin:50%;width:100%;height:0;transition:height var(--waveform-animation-duration) var(--waveform-animation-curve);position:relative}.proton-Waveform__bar.proton-Waveform__bar--visible{height:var(--target-height);transition-delay:calc(var(--index) * var(--waveform-bar-delay-multiplier))}.proton-Waveform__bar.proton-Waveform__bar--upper{transform-origin:bottom}.proton-Waveform__bar.proton-Waveform__bar--lower{transform-origin:top}.proton-ui__theme--light .proton-Waveform__bar{background-color:var(--waveform-bar-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--played{background-color:var(--proton-color__primary)}.proton-Waveform__bar--hover{height:var(--hover-height);z-index:10;background-color:color-mix(in srgb,var(--proton-color__primary) 50%,transparent);mix-blend-mode:darken;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.proton-ui__theme--light .proton-Waveform__bar--hover{background-color:color-mix(in srgb,var(--proton-color__primary) 50%,white);mix-blend-mode:lighten}.proton-Waveform__bar-unavailable{pointer-events:none;text-align:center;z-index:10;color:#fff;background-color:#000000b3;border-radius:4px;padding:3px 6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proton-ui__theme--light .proton-Waveform__bar-unavailable{color:#000;background-color:#fff;box-shadow:0 5px 5px #0000004d}.proton-Waveform__active-region{pointer-events:none;z-index:1;border:1.5px solid #ffffffb3;border-radius:4px;position:absolute;top:0;bottom:0}.proton-ui__theme--light .proton-Waveform__active-region{border-color:#0000004d}
|
|
1
|
+
.proton-Button{--proton-button-edge-padding:1.05em;--proton-button__background-color:var(--proton-color__primary);--proton-button__text-color:var(--proton-color__white);color:var(--proton-button__text-color);border-radius:var(--proton-control__border-radius);padding:.45em var(--proton-button-edge-padding);letter-spacing:.05em;cursor:pointer;box-sizing:border-box;background-color:var(--proton-button__background-color);border:0;align-items:center;transition:filter .2s,background-color .2s,outline .2s;display:inline-flex;position:relative}.proton-Button__icon-decorator{justify-content:center;align-items:center;padding-right:.3em;line-height:1;display:flex;position:relative}.proton-Button__icon-decorator--fullWidth{position:absolute}.proton-Button__text{box-sizing:border-box;text-align:center;white-space:nowrap;text-overflow:ellipsis;margin:auto;line-height:normal;overflow:hidden}.proton-Button:hover{filter:brightness(1.16);cursor:pointer}.proton-Button--primary{--proton-button__background-color:var(--proton-color__primary);--proton-button__text-color:var(--proton-color__white)}.proton-Button--secondary{--proton-button__background-color:var(--proton-color__gray-light);--proton-button__text-color:var(--proton-control__text-color)}.proton-ui__theme--dark .proton-Button--secondary{--proton-button__background-color:var(--proton-control__background-color-light)}.proton-Button--danger{--proton-button__background-color:var(--proton-color__danger-medium)}.proton-Button--success{--proton-button__background-color:var(--proton-color__success-medium)}.proton-Button--translucent{--proton-button__background-color:var(--proton-control__background-color-light);--proton-button__text-color:var(--proton-control__text-color)}.proton-Button--disabled,.proton-Button--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Button:focus{outline:2px solid var(--proton-color__primary)}.proton-Button:focus-visible{outline:2px solid var(--proton-color__primary)}.proton-Button:active{filter:brightness(1.3);transition:filter .1s ease-out}.proton-Button--fullWidth{width:100%}.proton-Button--small{padding:.2rem .6rem;font-size:.875rem}.proton-Button--medium{padding:.4rem 1rem;font-size:1rem}.proton-Button--large{padding:.6rem 1.6rem;font-size:1.2rem}.proton-Button--xlarge{padding:1rem 2rem .8rem;font-size:1.3rem}.proton-Button--2xlarge{padding:1rem 2.6rem;font-size:1.6rem}.proton-Button--fullWidth .proton-Button__text{transform:translate(calc(var(--proton-button-text-shift)))}.proton-ScreenOverlay__background{will-change:backdrop-filter;-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);background-color:#000c;justify-content:center;align-items:center;width:100%;height:100%;display:flex;position:fixed;top:0;left:0}.proton-ScreenOverlay__z-index{z-index:10000}.proton-ScreenOverlay__image{object-fit:cover;width:100vw;height:100vh;position:absolute}.proton-ScreenOverlay__blur{-webkit-backdrop-filter:blur(24px)brightness(75%);backdrop-filter:blur(24px)brightness(75%);filter:brightness(46%);position:absolute;top:0;bottom:0;left:0;right:0}@keyframes fadeInBackground{0%{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);background:#0000001a}to{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}}@keyframes fadeOutBackground{0%{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#000c}to{-webkit-backdrop-filter:blur();backdrop-filter:blur();background:0 0}}.proton-ScreenOverlay__fade-in{animation:.2s ease-in-out forwards fadeInBackground}.proton-ScreenOverlay__fade-out{animation:.2s ease-in-out forwards fadeOutBackground}.proton-ActionMenu__wrapper{z-index:10;width:100%;max-height:100vh;position:fixed;bottom:0;left:0}.proton-ActionMenu__background-wrapper{opacity:0;transition:opacity .3s cubic-bezier(.34,1.56,.64,1);overflow-y:scroll}.proton-ActionMenu__card{color:var(--proton-control__text-color);background-color:var(--proton-control__background-color-light);z-index:1;border-radius:.875rem .875rem 0 0;flex-direction:column;height:0;transition:height .3s cubic-bezier(.34,1.56,.64,1);display:flex;position:relative;overflow:hidden;box-shadow:0 0 4px #0000001a,0 0 20px #00000026}.proton-ActionMenu__cancel-button{margin:0 .75rem 1rem}.proton-ActionMenu__content{flex:1;min-width:0;padding:.75rem .75rem 0}.proton-ActionMenu__menu>[data-radix-popper-content-wrapper]{width:100%!important;position:absolute!important;top:0!important;transform:none!important}.proton-ActionMenu__list{flex-direction:column;margin-bottom:.625rem;display:flex}.proton-ActionMenu__item{color:inherit;cursor:pointer;justify-content:space-between;align-items:center;padding:.75rem .5rem .75rem .75rem;transition:filter .2s,background-color .2s,color .2s;display:flex}.proton-ActionMenu__item:hover,.proton-ActionMenu__item:focus{background-color:var(--proton-control__hover-color);border:none;outline:none}.proton-ActionMenu__item[aria-checked=true]:hover,.proton-ActionMenu__item[aria-checked=true]:focus{filter:brightness(1.15)}.proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary-light);color:var(--proton-color__primary)}.proton-ui__theme--dark .proton-ActionMenu__item[aria-checked=true]{background-color:var(--proton-color__primary);color:var(--proton-control__text-color)}.proton-ActionMenu__item[aria-disabled=true],.proton-ActionMenu__list[aria-disabled=true],.proton-ActionMenu__item[aria-disabled=true]:hover{opacity:.5;cursor:not-allowed;background-color:#0000}.proton-ActionMenu__list[aria-disabled=true] .proton-ActionMenu__item{pointer-events:none}.proton-ActionMenu__title{text-align:center;width:100%;font-weight:600}.proton-ActionMenu__back-button{cursor:pointer;z-index:1;align-items:center;width:100%;height:100%;padding-left:.35rem;display:flex;position:absolute;left:0}.proton-ActionMenu__back-button:hover,.proton-ActionMenu__cancel-button:focus{background-color:var(--proton-control__hover-color);outline:none}.proton-ActionMenu__back-button:focus-visible{background-color:var(--proton-control__hover-color);outline:none}.proton-ActionMenu__cancel-button:focus-visible{background-color:var(--proton-control__hover-color);outline:none}.proton-ActionMenu__back-button-container{align-items:center;height:3rem;display:flex;position:relative}.proton-ActionMenu__description{color:var(--proton-control__text-color);opacity:.7;font-size:.875rem}.proton-ActionMenu__item-label{font-weight:500}.proton-ui__theme--dark .proton-ActionMenu__cancel-button button{--proton-button__background-color:var(--proton-control__background-color-light)}.proton-Badge{letter-spacing:.2em;text-align:center;text-transform:uppercase;white-space:nowrap;height:1.6rem;color:#666;background-color:#f2f2f2;border-radius:10rem;padding-left:1rem;padding-right:calc(1rem - .2em);font-size:1rem;font-weight:500;line-height:1.65rem;display:inline-block}.proton-ui__theme--dark .proton-Badge:not([class*=proton-Badge--]),.proton-ui__theme--dark .proton-Badge--secondary{background-color:var(--proton-control__background-color-light);color:var(--proton-control__text-color)}.proton-Badge--primary{background-color:var(--proton-color__primary);color:var(--proton-color__primary-light)}.proton-Badge--success{background-color:var(--proton-color__success-super-light);color:var(--proton-color__success-dark)}.proton-Badge--warning{background-color:var(--proton-color__warning-super-light);color:var(--proton-color__warning-dark)}.proton-Badge--danger{background-color:var(--proton-color__danger-super-light);color:var(--proton-color__danger-dark)}.proton-Badge--transparent{color:#666;background-color:#0000}.proton-Banner{background-color:var(--banner-bg);-webkit-backdrop-filter:var(--banner-blur);backdrop-filter:var(--banner-blur);--tw-backdrop-blur:var(--banner-blur);--banner-bg:var(--proton-control__background-color-light);--banner-title:var(--proton-color__gray-dark);--banner-content:var(--proton-color__gray-medium);--banner-icon:var(--proton-color__gray-medium-light);--banner-blur:none;margin:0}:where(.proton-ui__theme--dark) .proton-Banner{--banner-bg:var(--proton-control__background-color-light);--banner-blur:blur(15px);--banner-title:var(--proton-control__text-color);--banner-content:var(--proton-control__text-color);--banner-icon:var(--proton-control__text-color)}.proton-Banner--warning{--banner-bg:var(--proton-color__warning-super-light);--banner-title:var(--proton-color__warning-dark);--banner-content:var(--proton-color__warning-medium);--banner-icon:var(--proton-color__warning-light)}.proton-Banner--success{--banner-bg:var(--proton-color__success-super-light);--banner-title:var(--proton-color__success-dark);--banner-content:var(--proton-color__success-medium);--banner-icon:var(--proton-color__success-light)}.proton-Banner--danger{--banner-bg:var(--proton-color__danger-super-light);--banner-title:var(--proton-color__danger-dark);--banner-content:var(--proton-color__danger-medium);--banner-icon:var(--proton-color__danger-light)}.proton-Banner--rounded{border-radius:.375rem}.proton-Banner__wrapper{align-items:flex-start;padding:2rem;display:flex}.proton-Banner__wrapper--compact{padding:1rem}.proton-Banner__content-wrapper{min-width:0;color:var(--banner-content);flex:1}.proton-Banner__container{padding:0 .625rem}.proton-Banner__title{letter-spacing:.01rem;color:var(--banner-title);line-height:1.2rem}.proton-Banner__content{color:var(--banner-content);margin:.375rem 0 0}.proton-Banner__icon{fill:var(--banner-icon);height:20px}.proton-Banner__actions{gap:.5rem;margin:.375rem 0 0;display:flex}@media (min-width:768px){.proton-Banner__container{grid-gap:.5rem;grid-template-columns:1fr auto;display:grid}.proton-Banner__title,.proton-Banner__content{grid-column:1;margin:auto 0}.proton-Banner__container:not(:has(.proton-Banner__content)){grid-gap:0px;grid-template-rows:1fr}.proton-Banner__container>div:last-child{grid-area:1/2/span 2;max-height:32px;margin:auto 0}.proton-Banner__actions{margin:0 0 0 .75rem}.proton-Banner__wrapper:not(:has(.proton-Banner__content)){align-items:center}}.proton-ButtonGroup{border:1px solid var(--proton-color__gray-light);border-radius:.25rem;font-weight:400;display:flex;overflow:hidden}.proton-ButtonGroup__option{background-color:var(--proton-color__gray-super-light);cursor:pointer;border:none;border-left:1px solid var(--proton-color__gray-light);color:var(--proton-color__gray-dark);text-align:center;-webkit-appearance:none;-moz-appearance:none;appearance:none;font:inherit;border-radius:0;flex:1;margin:0;padding:.5em 1em;display:block}.proton-ButtonGroup__option:first-child{border-left:0}.proton-ButtonGroup__option[data-state=checked]{background-color:var(--proton-color__white);color:var(--proton-color__primary);z-index:2;cursor:default;border-radius:inherit;box-shadow:0 0 .375rem #00000026}.proton-ButtonGroup__option[data-state=checked]+.proton-ButtonGroup__option{border-left:1px solid #0000}.proton-ButtonGroup__option:focus-visible{outline:2px solid var(--proton-color__primary)}.proton-MenuTrigger__menu-header{text-transform:uppercase;color:var(--proton-control__text-color);background-color:var(--proton-control__background-color-light);letter-spacing:.1em;padding:.3125rem 1rem .25rem;font-size:.8em;font-weight:700}.proton-MenuTrigger__button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:.25rem;justify-content:center;align-items:center;padding:.25rem;transition:background-color .2s ease-in-out;display:flex}.proton-MenuTrigger__button:disabled{cursor:not-allowed;opacity:.5}.proton-ui__theme--dark .proton-MenuTrigger__button:disabled:hover,.proton-MenuTrigger__button:disabled:hover{background:0 0}.proton-MenuTrigger__button:focus{outline:2px solid var(--proton-color__primary)}.proton-MenuTrigger__button:hover{background-color:var(--proton-control__hover-color)}.proton-MenuTrigger__menu-item .proton-Menu__item,.proton-MenuTrigger__menu-item{color:var(--proton-control__text-color);grid-template:"label kbd""desc kbd"/1fr auto;align-items:center;gap:.1em .5em;padding:.75em 1em;display:grid}.proton-MenuTrigger__menu-item .proton-Menu__item[data-has-submenu=true],.proton-MenuTrigger__menu-item[data-has-submenu=true]{grid-template-columns:unset;grid-template-areas:unset;justify-content:space-between;align-items:center;display:flex}.proton-MenuTrigger__label{grid-area:label}.proton-MenuTrigger__description{opacity:.7;grid-area:desc;font-size:.8em;line-height:1.1}.proton-MenuTrigger__chevron{padding-left:.5rem}[data-radix-popper-content-wrapper]:has(>.proton-Menu){z-index:10000!important}.proton-Menu{--menu-item-bg-color:transparent;letter-spacing:.05em;border-radius:var(--proton-control__border-radius);background-color:var(--proton-control__background-color-light);will-change:backdrop-filter;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);border:1px solid var(--proton-control__border-color);min-width:100px;max-height:420px;color:var(--proton-control__text-color);box-shadow:0 0 3px var(--proton-control__shadow-color);margin:8px 0 0;padding:0;list-style:none;overflow:auto}.proton-Menu__item{background:var(--menu-item-bg-color);cursor:pointer;outline:none;justify-content:space-between;align-items:center;padding:8px 24px 8px 16px;transition:background-color .2s,opacity .2s,color .2s;display:flex}.proton-Menu__item[aria-checked=true]{--menu-item-bg-color:var(--proton-color__primary-super-light);color:var(--proton-color__primary);font-weight:600}.proton-Menu__item[aria-checked=true][data-highlighted=""]{--menu-item-bg-color:var(--proton-color__primary-super-light);opacity:.75}.proton-Menu__item[aria-selected=true]{--menu-item-bg-color:var(--proton-color__primary-super-light);color:var(--proton-color__primary);font-weight:600}.proton-Menu__item[aria-selected=true][data-highlighted=""]{--menu-item-bg-color:var(--proton-color__primary-super-light);opacity:.75}.proton-Menu__item[data-state=checked]{--menu-item-bg-color:var(--proton-color__primary-super-light);color:var(--proton-color__primary);font-weight:600}.proton-Menu__item[data-state=checked][data-highlighted=""]{--menu-item-bg-color:var(--proton-color__primary-super-light);opacity:.75}.proton-Menu__item[data-highlighted=""]{--menu-item-bg-color:var(--proton-control__hover-color)}.proton-Menu__item:hover{--menu-item-bg-color:var(--proton-control__hover-color);box-shadow:none}.proton-Menu__item[aria-disabled=true],.proton-Menu__item[data-disabled=true]{opacity:.5;cursor:not-allowed}.proton-ButtonWithSelect{align-items:stretch;display:flex;position:relative}.proton-ButtonWithSelect button:focus{outline:none}.proton-ButtonWithSelect__button{flex:var(--flex);align-items:stretch;display:flex}.proton-ButtonWithSelect__button button,.proton-ButtonWithSelect__button a{border-top-right-radius:0;border-bottom-right-radius:0;align-items:center;display:flex;position:relative;overflow:hidden}.proton-ButtonWithSelect__button button:after,.proton-ButtonWithSelect__button a:after{content:"";background-color:#00000026;width:1px;position:absolute;top:.3em;bottom:.3em;right:0}.proton-ButtonWithSelect__trigger{flex:0 0 var(--trigger-width);min-width:var(--trigger-width);max-width:var(--trigger-width)}.proton-ButtonWithSelect__trigger .proton-Button{border-top-left-radius:0;border-bottom-left-radius:0;width:100%;height:100%;padding:0}.proton-ButtonWithSelect__trigger-content{flex-direction:column;align-items:center;display:flex}.proton-CheckboxIndicator{pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.proton-CheckboxIndicator--checkmark{width:14px;height:100%;color:var(--proton-color__white);left:1px}.proton-CheckboxIndicator__path{stroke-dasharray:1;stroke-dashoffset:1px;transition:stroke-dashoffset .18s ease-out}input:checked~.proton-CheckboxIndicator .proton-CheckboxIndicator__path,[data-state=checked] .proton-CheckboxIndicator__path{stroke-dashoffset:0}.proton-CheckboxIndicator__dot{background-color:var(--proton-color__white);opacity:0;border-radius:50%;width:8px;height:8px;transition:opacity .1s ease-in-out}input:checked~.proton-CheckboxIndicator .proton-CheckboxIndicator__dot,[data-state=checked] .proton-CheckboxIndicator__dot{opacity:1}.proton-CheckboxInput__container{align-items:center;gap:8px;display:flex}.proton-CheckboxInput__box{display:inline-block;position:relative}.proton-CheckboxInput__input{-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;border:2px solid var(--proton-control__border-color);border-radius:var(--proton-control__border-radius);background-color:var(--proton-control__background-color);justify-content:center;align-items:center;width:18px;height:18px;transition:background-color .1s ease-in-out,border .1s ease-in-out,box-shadow .1s ease-in-out;display:flex;position:relative;margin:0!important}.proton-CheckboxInput__input--round{border-radius:50%}.proton-CheckboxInput__input:indeterminate{background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:-webkit-any(:checked,[data-state=checked]){background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:-moz-any(:checked,[data-state=checked]){background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:is(:checked,[data-state=checked]){background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:indeterminate:after{content:"";background-color:var(--proton-control__text-color);width:10px;height:2px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proton-CheckboxInput__input:-webkit-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input:-moz-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input:is(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input--error{border-color:var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error:-webkit-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error:-moz-any(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error:is(:focus,:focus-visible){box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input:disabled{opacity:.6;cursor:not-allowed}.proton-CheckboxInput__input:disabled:-webkit-any(:checked,[data-state=checked]){background-color:var(--proton-control__border-color);border-color:var(--proton-control__border-color)}.proton-CheckboxInput__input:disabled:-moz-any(:checked,[data-state=checked]){background-color:var(--proton-control__border-color);border-color:var(--proton-control__border-color)}.proton-CheckboxInput__input:disabled:is(:checked,[data-state=checked]){background-color:var(--proton-control__border-color);border-color:var(--proton-control__border-color)}.proton-CheckboxInput__label{color:var(--proton-control__text-color);cursor:pointer;-webkit-user-select:none;user-select:none;font-weight:400}.proton-CheckboxInput--disabled .proton-CheckboxInput__label{opacity:.6;cursor:not-allowed}.proton-CheckboxInput__error{color:var(--proton-color__danger-medium);opacity:1;margin-top:4px}.proton-CheckboxRadioGroup{gap:12px;display:flex}.proton-CheckboxRadioGroup--vertical{flex-direction:column}.proton-CheckboxRadioGroup--horizontal{flex-flow:wrap}.proton-CheckboxRadioGroup__checkmark{position:absolute;top:0;bottom:0;left:-2px;right:0}.proton-CheckboxRadioGroup__description{color:var(--proton-control__text-color);opacity:.7;margin-left:26px;font-size:.875em}.proton-Table{border-collapse:collapse;color:var(--proton-control__text-color);width:100%;font-weight:300}.proton-Table__caption{display:none}.proton-Table__header{cursor:default;letter-spacing:.1em;text-transform:uppercase;text-align:left;outline:none;padding:.4375rem .625rem;font-size:1rem;font-weight:500;line-height:1rem}.proton-Table__header--center{text-align:center}.proton-Table__header--right{text-align:right}.proton-Table__headerSortIcon{padding:0 .125rem}.proton-Table__row{cursor:default;outline:none}.proton-Table__rowGroup--header{border-bottom:1px solid #ccc}.proton-Table__row--showLines{border-top:1px solid #ccc}.proton-Table--clickable{cursor:pointer}.proton-Table__cell{vertical-align:middle;outline:none;padding:.4375rem .625rem}.proton-Table__cell--center{text-align:center}.proton-Table__cell--right{text-align:right}.proton-Elevation{border-radius:var(--proton-control__border-radius);background-color:var(--proton-control__elevation-color);width:100%;height:100%;transition:background-color .2s ease-in-out,-webkit-backdrop-filter .2s ease-in-out,backdrop-filter .2s ease-in-out}.proton-Elevation--glass{will-change:backdrop-filter;-webkit-backdrop-filter:blur(15px)saturate(104%);backdrop-filter:blur(15px)saturate(104%);box-shadow:inset -.05rem -.05rem 0 .05rem #ffffff03,inset .05rem .05rem 0 .05rem #ffffff03}@keyframes shimmer{0%{background-position:-300px 0}to{background-position:800px 0}}.proton-Tombstone{background-position:-300px 0;background-repeat:no-repeat;background-size:300px 100%;animation:1.5s linear infinite shimmer}.proton-ui__theme--light .proton-Tombstone{background-color:#d1d1d1;background-image:linear-gradient(-90deg,#d1d1d1,#b8b8b8,#d1d1d1)}.proton-ui__theme--dark .proton-Tombstone{background-color:#3c3c3c;background-image:linear-gradient(-90deg,#363636,#292727,#353535)}.proton-Tombstone--custom{background-image:linear-gradient(-90deg,var(--tombstone-custom-primary) 0%,var(--tombstone-custom-secondary) 50%,var(--tombstone-custom-primary) 100%);background-color:var(--tombstone-custom-background)}.proton-DataTable{width:100%}.proton-DataTable__header-content{align-items:center;gap:.5rem;display:flex}.proton-DataTable__message-cell{position:absolute;left:0;right:0}.proton-DataTable__empty-cell{text-align:center;padding:3rem 1.5rem}.proton-DataTable__sort-button{cursor:pointer;border-radius:var(--proton-control__border-radius);border:none;max-height:.8rem;padding-bottom:1px;transition:background-color .15s ease-in-out,opacity .15s ease-in-out,transform .15s ease-in-out;display:inline-flex}.proton-DataTable__sort-button:hover{background-color:var(--proton-control__hover-color)}.proton-DataTable__sort-button[aria-label*=ascending]{align-items:flex-end;transform:rotateX(180deg)}.proton-Input{max-width:var(--container-width,100%);border-radius:var(--proton-control__border-radius);box-sizing:border-box;outline:1px solid var(--proton-control__border-color);background:var(--proton-control__background-color-light);width:100%;height:100%;color:var(--proton-control__text-color);border:none;flex:1;padding-left:.75rem;font-weight:400;transition:outline .1s ease-in-out,background-color .1s ease-in-out,color .1s ease-in-out,opacity .1s ease-in-out}.proton-Input:disabled{opacity:.6;cursor:not-allowed}.proton-Input:not(.proton-Input--error):focus{outline:2px solid var(--proton-color__primary)}.proton-Input:not(.proton-Input--error):focus-visible{outline:2px solid var(--proton-color__primary)}.proton-Input.proton-Input--error{outline:2px solid var(--proton-color__danger-medium)}.proton-Input__container{width:100%;height:100%}.proton-Input__container-inner{width:100%;height:100%;position:relative}.proton-Input__descriptor{z-index:1;justify-content:center;height:100%;position:absolute;top:50%;transform:translateY(-50%)}.proton-Input__prefix,.proton-Input__suffix{justify-content:center;align-items:center;min-width:32px;display:flex}.proton-Input__prefix{opacity:.5;cursor:text;left:0}.proton-Input__suffix{outline:none;right:0}.proton-Input__container-inner.proton-Input__has-prefix .proton-Input{padding-left:var(--prefix-width,32px)}.proton-Input__container-inner.proton-Input__has-suffix .proton-Input{padding-right:calc(.75rem + var(--suffix-width,44px))}.proton-Input__text{margin-bottom:4px;padding:.25rem 0}.proton-Input__error{color:var(--proton-color__danger-medium);opacity:1}.proton-Input__label-top{padding-top:1.375rem;padding-bottom:.5rem}.proton-Input__label{opacity:.55;color:var(--proton-control__text-color);pointer-events:none;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;top:50%;left:16px;transform:translateY(-50%)}.proton-Input__label--filled,.proton-Input[value]:not([value=""])+.proton-Input__label,.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary-light);opacity:1;font-size:.75rem;transform:translateY(-100%)}.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary-light);opacity:1}.proton-CopyInput-button{all:unset;cursor:pointer;color:var(--proton-control__text-color);text-transform:uppercase;letter-spacing:.2em;justify-content:center;align-items:center;width:100%;height:100%;padding:0 .875rem 0 1.4rem;font-size:.75rem;font-weight:600;line-height:1rem;transition:background-color .2s;display:flex}.proton-CopyInput-button svg{margin-bottom:.0625rem;transition:color .2s}.proton-CopyInput-button-text{margin:0 .5rem;transition:color .2s}.proton-CopyInput-button-text--copied,.proton-CopyInput-button--copied svg{color:var(--proton-color__primary)}.proton-Input:not(.proton-Input--error):focus{outline:1px solid var(--proton-control__border-color)}.proton-Input:not(.proton-Input--error):focus-visible{outline:1px solid var(--proton-control__border-color)}.proton-ui__theme--light .proton-CopyInput-button{border-left:1px solid var(--proton-control__border-color);align-items:center;height:100%;transition:background-color .2s;display:flex}.proton-CopyInput-button:hover{background-color:var(--proton-control__hover-color)}.proton-Overlay{background-color:var(--proton-control__background-color-light);border-radius:var(--proton-control__border-radius);box-shadow:0 0 8px 0 var(--proton-control__shadow-color),0 0 4px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);outline:none;font-weight:300}.proton-Overlay__content{padding:7px 9px}.proton-Overlay-arrow,.proton-Overlay-arrow svg{fill:var(--proton-control__background-color-light)}.proton-OTPInput__digits{justify-content:center;align-items:center;display:flex}.proton-OTPInput__digit{color:var(--proton-control__text-color);border:1px solid var(--proton-control__border-color);background:var(--proton-control__background-color-light);text-align:center;box-sizing:border-box;border-radius:.625rem;max-width:2.675rem;min-height:3.225rem;margin:0 .25rem;font-size:1.25rem;transition:box-shadow 60ms ease-in-out,border-color .1s ease-in-out}@media (max-width:320px){.proton-OTPInput__digit{max-width:2.8125rem}}.proton-OTPInput__digit:focus{box-shadow:inset 0 0 4px var(--proton-color__primary);outline:none}.proton-OTPInput__digit:disabled{opacity:.8;cursor:not-allowed}.proton-OTPInput__digit--error,.proton-OTPInput__digit--error:focus{border-color:var(--proton-color__danger-medium);box-shadow:inset 0 0 4px var(--proton-color__danger-medium)}.proton-OTPInput__error{color:var(--proton-color__danger-medium);margin-bottom:.25rem;margin-left:.325rem}.proton-OTPInput__separator{color:var(--proton-control__border-color);font-weight:600}.proton-Modal{background-color:var(--proton-control__background-color-light);color:var(--proton-control__text-color);max-height:80vh;box-shadow:0 .0625rem .25rem -.0625rem var(--proton-control__shadow-color);opacity:1;border-radius:.5rem;padding:26px;transition:opacity .2s ease-in-out;position:relative;overflow:visible}html:has([data-disable-document-scroll=true]){overflow:hidden}.proton-Modal--medium{max-width:650px}.proton-Modal--full{max-width:86vw}.proton-Modal__content{margin-top:.5rem}.proton-Modal--closing{opacity:0}@media (max-width:768px){.proton-Modal{border-radius:0;flex-direction:column;justify-content:center;align-items:center;width:100vw;max-width:100vw;height:100vh;max-height:100vh;padding:.25rem .5rem;display:flex}.proton-Modal>div{text-align:center;width:100%}}.proton-Modal__title{color:var(--proton-control__title-color);word-break:break-word;line-height:1.2}.proton-Modal__subtitle{color:var(--proton-control__text-color);line-height:1.5}.proton-Modal__body{word-break:break-word;margin:1rem 0;line-height:1.5}.proton-Modal__actions{justify-content:center;gap:1rem;margin-top:1rem;display:flex}.proton-Modal__close-button{cursor:pointer;color:var(--proton-control__text-color);background:0 0;border:none;border-radius:.25rem;padding:4px;font-size:38px;font-weight:900;line-height:1;transition:opacity .15s;position:absolute;top:4px;right:16px}.proton-Modal__close-button:focus,.proton-Modal__close-button:hover{opacity:.8}.proton-Popover{--slide:translateY(.5rem);transform-origin:var(--radix-popover-content-transform-origin);max-height:var(--radix-popover-content-available-height);animation:.2s cubic-bezier(.16,1,.3,1) popoverSlideAndFade}.proton-Popover__constrained{width:var(--radix-popover-trigger-width)}[data-radix-popper-content-wrapper]:has(>.proton-Popover){z-index:10000!important;outline:none!important;min-width:0!important}.proton-Popover[data-state=closed]{animation:.2s reverse popoverSlideAndFade}@keyframes popoverSlideAndFade{0%{opacity:0;transform:var(--slide)}to{opacity:1;transform:translate(0)}}.proton-Input[type=search]{border-radius:3.125rem}.proton-SearchInput__wrapper{width:100%}.proton-SearchInput__button{color:currentColor;cursor:pointer;opacity:1;background-color:#0000;border:none;transition:opacity .2s ease-in-out}.proton-SearchInput__button--hide{opacity:0}.proton-SearchInput__wrapper input[type=search]::-webkit-search-decoration{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-cancel-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-button{display:none}.proton-SearchInput__wrapper input[type=search]::-webkit-search-results-decoration{display:none}.proton-Select{flex-direction:column;width:100%;margin:0;display:flex}.proton-Select__label{color:var(--proton-control__text-color);margin-bottom:.125rem}.proton-Select__trigger{color:var(--proton-control__text-color);font-size:inherit;border-radius:var(--proton-control__border-radius);flex:1;justify-content:space-between;align-items:center;width:100%;padding:.2rem .6rem .2rem 1rem;display:flex}.proton-Select__trigger--rounded{border-radius:3.125rem}button.proton-Select__trigger{letter-spacing:.05em;cursor:pointer;background:var(--proton-control__background-color-light);outline:1px solid var(--proton-control__border-color);border:none;font-weight:400;transition:outline .2s ease-in-out;position:relative}button.proton-Select__trigger:focus{outline:solid var(--proton-color__primary) 2px;border:none}button.proton-Select__trigger:focus-visible{outline:solid var(--proton-color__primary) 2px;border:none}.proton-Select__popover{padding-left:.25rem}.proton-Select__trigger_icon{color:var(--proton-control__text-color);width:.75em;height:.75em;margin-left:.8em;transition:transform .2s;position:relative}.proton-Select__trigger_icon svg{width:100%;height:100%;position:absolute;top:50%;left:0;transform:translateY(-50%)}.proton-Select__trigger_icon--flipped{transform:rotateX(180deg)}.proton-Select:hover{cursor:pointer}.proton-Select__trigger--disabled,.proton-Select__trigger--disabled:hover{opacity:.5;filter:none;cursor:not-allowed}.proton-Select__value{white-space:nowrap;text-overflow:ellipsis;pointer-events:none;overflow:hidden}.proton-Switch{flex-flow:column;row-gap:5px;display:flex}.proton-Switch__control{cursor:pointer;flex-flow:column;row-gap:5px;display:flex}.proton-Switch__label{text-transform:uppercase;letter-spacing:.1em;color:var(--proton-control__text-color);font-size:.7em;font-weight:600}.proton-Switch__description{color:var(--proton-control__text-color);align-self:center;font-size:.9em}.proton-Switch__wrapper{column-gap:12px;display:flex}.proton-Switch__toggle{background-color:var(--proton-color__gray-light);cursor:pointer;border-radius:26px;flex-shrink:0;width:50px;height:26px;position:relative}.proton-Switch__slider{background-color:#fff;border-radius:22px;width:22px;height:22px;transition:left .2s;position:absolute;top:2px;left:2px}.proton-Switch--on .proton-Switch__toggle{background-color:var(--proton-color__primary)}.proton-Switch--on .proton-Switch__slider{left:26px}.proton-Switch--disabled{opacity:.4}.proton-Switch--disabled .proton-Switch__toggle{cursor:not-allowed}.proton-Switch__control:has(input:focus-visible) .proton-Switch__toggle{outline:2px solid var(--proton-color__primary);outline-offset:2px}.proton-TextEllipsis{vertical-align:middle;color:var(--proton-control__text-color,inherit);font-family:inherit;font-size:inherit;line-height:inherit;width:100%;height:100%;display:inline-block;position:relative}.proton-TextEllipsis--single-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.proton-TextEllipsis--multi-line{text-overflow:ellipsis;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.proton-TextEmphasis{color:var(--proton-control__title-color);background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 15%,#ff713480 35%,#0000 35%,#0000);padding:0 .05rem;font-style:normal;font-weight:600}.proton-TextEmphasis a{color:inherit;transition:color .15s}.proton-TextEmphasis a:hover{color:var(--proton-color__primary)}.proton-TextEmphasis--tooltip{background-image:linear-gradient(0deg,#0000 0,#0000 15%,#ff713480 25%,#ff713480 87%,#0000 80%,#0000);background-position:bottom;background-repeat:no-repeat;background-size:100% 35%;font-style:italic;font-weight:400;transition:background-size .3s,border-radius .3s}.proton-TextEmphasis--tooltip:hover{background-size:100% 100%;border-radius:.125rem}.proton-TextEmphasis--tooltip:not(:hover){transition-delay:.2s}.proton__Tooltip-trigger{display:inherit}.proton__Tooltip{--slide:translateY(.5rem);animation:.2s cubic-bezier(.16,1,.3,1) tooltipSlideAndFade}.proton__Tooltip[data-state=closed]{animation:.2s reverse tooltipSlideAndFade}@keyframes tooltipSlideAndFade{0%{opacity:0;transform:var(--slide)}to{opacity:1;transform:translate(0)}}[data-radix-popper-content-wrapper]:has(>.proton__Tooltip){z-index:10000!important;min-width:0!important}.proton-Waveform{--waveform-bar-color-dark:#ffffffe6;--waveform-bar-color-light:#000000b3;--waveform-disabled-color-dark:#fff3;--waveform-disabled-color-light:#0003;--waveform-animation-curve:cubic-bezier(.34, 1.56, .64, 1);--waveform-animation-duration:.4s;--waveform-bar-delay-multiplier:.7ms;--waveform-timestamp-padding:.25rem;--waveform-timestamp-font-size:.75rem;--waveform-timestamp-border-radius:.125rem;--waveform-hover-line-width:2px;flex-direction:row;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container{z-index:0;flex:1;align-items:center;width:100%;height:100%;display:flex;position:relative}.proton-Waveform__container[data-disabled=true]{cursor:not-allowed}.proton-Waveform__timestamp{pointer-events:none;border-radius:var(--waveform-timestamp-border-radius);padding:0 var(--waveform-timestamp-padding);font-size:var(--waveform-timestamp-font-size);z-index:1;background-color:#0009;position:absolute}.proton-ui__theme--light .proton-Waveform__timestamp{color:#000c;background-color:#ffffffe6;box-shadow:0 2px 2px #0000004d}.proton-Waveform__timestamp--left{left:1px}.proton-Waveform__timestamp--right{right:3px}.proton-Waveform__hover-line{width:var(--waveform-hover-line-width);background-color:#ffffff80;position:absolute;top:0;bottom:0;transform:translate(-50%)}.proton-ui__theme--light .proton-Waveform__hover-line{background-color:#00000080}.proton-Waveform__bar-wrapper{flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.proton-Waveform__bar{background-color:var(--waveform-bar-color-dark);transform-origin:50%;width:100%;height:0;transition:height var(--waveform-animation-duration) var(--waveform-animation-curve);position:relative}.proton-Waveform__bar.proton-Waveform__bar--visible{height:var(--target-height);transition-delay:calc(var(--index) * var(--waveform-bar-delay-multiplier))}.proton-Waveform__bar.proton-Waveform__bar--upper{transform-origin:bottom}.proton-Waveform__bar.proton-Waveform__bar--lower{transform-origin:top}.proton-ui__theme--light .proton-Waveform__bar{background-color:var(--waveform-bar-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-dark)}.proton-ui__theme--light .proton-Waveform__bar.proton-Waveform__bar--disabled.proton-Waveform__bar--played{background-color:var(--waveform-disabled-color-light)}.proton-Waveform__bar.proton-Waveform__bar--played{background-color:var(--proton-color__primary)}.proton-Waveform__bar--hover{height:var(--hover-height);z-index:10;background-color:color-mix(in srgb,var(--proton-color__primary) 50%,transparent);mix-blend-mode:darken;width:100%;position:absolute;top:50%;transform:translateY(-50%)}.proton-ui__theme--light .proton-Waveform__bar--hover{background-color:color-mix(in srgb,var(--proton-color__primary) 50%,white);mix-blend-mode:lighten}.proton-Waveform__bar-unavailable{pointer-events:none;text-align:center;z-index:10;color:#fff;background-color:#000000b3;border-radius:4px;padding:3px 6px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.proton-ui__theme--light .proton-Waveform__bar-unavailable{color:#000;background-color:#fff;box-shadow:0 5px 5px #0000004d}.proton-Waveform__active-region{pointer-events:none;z-index:1;border:1.5px solid #ffffffb3;border-radius:4px;position:absolute;top:0;bottom:0}.proton-ui__theme--light .proton-Waveform__active-region{border-color:#0000004d}
|