@protonradio/proton-ui 0.11.26-beta.2 → 0.11.26
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/Checkbox/CheckboxInput/CheckboxInput.cjs.js +2 -0
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.cjs.js.map +1 -0
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.es.js +94 -0
- package/dist/components/Checkbox/CheckboxInput/CheckboxInput.es.js.map +1 -0
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js +2 -0
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js.map +1 -0
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js +115 -0
- package/dist/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js.map +1 -0
- package/dist/index.cjs.js +1 -1
- package/dist/index.d.ts +85 -0
- package/dist/index.es.js +50 -48
- package/dist/index.es.js.map +1 -1
- package/dist/style.css +1 -1
- package/package.json +1 -1
- package/dist/components/Input/CheckboxInput/CheckboxInput.cjs.js +0 -2
- package/dist/components/Input/CheckboxInput/CheckboxInput.cjs.js.map +0 -1
- package/dist/components/Input/CheckboxInput/CheckboxInput.es.js +0 -83
- package/dist/components/Input/CheckboxInput/CheckboxInput.es.js.map +0 -1
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../node_modules/react/jsx-runtime.cjs.js"),x=require("react");;/* empty css */const n=require("../../../utils/string.cjs.js"),k=x.forwardRef(({checked:a,defaultChecked:v,onChange:c,name:o,value:I,isDisabled:p=!1,isRequired:u=!1,id:m,"data-testid":_,label:s,description:r,error:t,indeterminate:l=!1,round:h=!1},R)=>{const y=x.useRef(null),i=R||y,b=a!==void 0;x.useEffect(()=>{i.current&&(i.current.indeterminate=l)},[l,i]);const C=g=>{c==null||c(g.target.checked)},f=m||`${o}-checkbox`,d=typeof t=="string"?`${o}-error`:void 0,j=typeof r=="string"?`${o}-description`:void 0;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("div",{className:n.csx(p&&"proton-CheckboxInput--disabled"),children:e.jsxRuntimeExports.jsxs("div",{className:n.csx("proton-CheckboxInput__container",h&&"proton-CheckboxInput__container--round"),children:[typeof s=="string"?e.jsxRuntimeExports.jsx("label",{htmlFor:f,className:"proton-CheckboxInput__label",children:s}):s,e.jsxRuntimeExports.jsx("input",{ref:i,id:f,name:o,type:"checkbox",checked:b?a:void 0,defaultChecked:b?void 0:v,value:I,disabled:p,required:u,onChange:C,className:n.csx("proton-CheckboxInput__input",t&&"proton-CheckboxInput__input--error",h&&"proton-CheckboxInput__input--round"),"aria-label":s?void 0:o,"aria-invalid":!!t,"aria-errormessage":d,"aria-describedby":[d,j].filter(Boolean).join(" ")||void 0,"data-testid":_}),typeof r=="string"?e.jsxRuntimeExports.jsxs("div",{id:j,"aria-live":"polite",children:[r,u&&e.jsxRuntimeExports.jsx("span",{"aria-hidden":"true",children:" *"})]}):r]})}),typeof t=="string"?e.jsxRuntimeExports.jsx("div",{role:"alert",className:n.csx("proton-CheckboxInput__error"),id:d,children:t}):t]})});k.displayName="ProtonUICheckboxInput";exports.CheckboxInput=k;
|
|
2
|
+
//# sourceMappingURL=CheckboxInput.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxInput.cjs.js","sources":["../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { forwardRef, useEffect, useRef } from \"react\";\n\nimport { csx } from \"../../../utils\";\nimport \"./CheckboxInput.css\";\n\nexport interface CheckboxInputProps {\n /**\n * Whether the checkbox is checked (controlled mode).\n */\n checked?: boolean;\n\n /**\n * Whether the checkbox is checked by default (uncontrolled mode).\n */\n defaultChecked?: boolean;\n\n /** The error attribute of the checkbox input. */\n error?: React.ReactNode | string;\n\n /** The description attribute of the checkbox input. */\n description?: React.ReactNode | string;\n\n /** The test id attribute of the checkbox input. */\n \"data-testid\"?: string;\n\n /**\n * Callback fired when the checkbox state changes.\n */\n onChange?: (checked: boolean) => void;\n\n /**\n * Whether the checkbox is in an indeterminate state. Used for checkboxes that are neither checked nor unchecked.\n * @default false\n * @external https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/indeterminate\n * @reference @external https://medium.com/indigoag-eng/indeterminate-checkboxes-are-weird-704b246c0f19\n */\n indeterminate?: boolean;\n\n /** The id attribute of the checkbox input. */\n id?: string;\n\n /** Whether the checkbox is disabled. \n * @default false\n */\n isDisabled?: boolean;\n\n /** Whether the checkbox is required. \n * @default false\n */\n isRequired?: boolean;\n\n /** The name attribute of the checkbox input. */\n name: string;\n\n /** The label attribute of the checkbox input. */\n label?: string | React.ReactNode;\n\n /**\n * The value attribute of the checkbox input (for form submission).\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value\n */\n value?: string;\n\n /**\n * Whether the checkbox should be rendered as a round control (with a dot indicator when checked).\n * @default false\n */\n round?: boolean;\n}\n\n/**\n * A checkbox input component with support for labels, descriptions, error states, and controlled/uncontrolled modes.\n *\n * API:\n * - {@link CheckboxInputProps}\n */\nexport const CheckboxInput = forwardRef<HTMLInputElement, CheckboxInputProps>(\n (\n {\n checked: controlledChecked,\n defaultChecked,\n onChange,\n name,\n value,\n isDisabled = false,\n isRequired = false,\n id,\n \"data-testid\": testId,\n label,\n description,\n error,\n indeterminate = false,\n round = false,\n },\n forwardedRef: React.RefObject<HTMLInputElement>,\n ) => {\n const checkboxRef = useRef<HTMLInputElement>(null);\n const ref = forwardedRef || checkboxRef;\n const isControlled = controlledChecked !== undefined;\n\n // indeterminate state can only be set via JS\n useEffect(() => {\n if (ref.current) {\n ref.current.indeterminate = indeterminate;\n }\n }, [indeterminate, ref]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n const checkboxId = id || `${name}-checkbox`;\n const errorId = typeof error === \"string\" ? `${name}-error` : undefined;\n const descriptionId =\n typeof description === \"string\" ? `${name}-description` : undefined;\n\n return (\n <div>\n <div className={csx(isDisabled && \"proton-CheckboxInput--disabled\")}>\n <div\n className={csx(\n \"proton-CheckboxInput__container\",\n round && \"proton-CheckboxInput__container--round\",\n )}\n >\n {typeof label === \"string\" ? (\n <label\n htmlFor={checkboxId}\n className=\"proton-CheckboxInput__label\"\n >\n {label}\n </label>\n ) : (\n label\n )}\n\n <input\n ref={ref}\n id={checkboxId}\n name={name}\n type=\"checkbox\"\n checked={isControlled ? controlledChecked : undefined}\n defaultChecked={!isControlled ? defaultChecked : undefined}\n value={value}\n disabled={isDisabled}\n required={isRequired}\n onChange={handleChange}\n className={csx(\n \"proton-CheckboxInput__input\",\n error && \"proton-CheckboxInput__input--error\",\n round && \"proton-CheckboxInput__input--round\",\n )}\n aria-label={!label ? name : undefined}\n aria-invalid={Boolean(error)}\n aria-errormessage={errorId}\n aria-describedby={\n [errorId, descriptionId].filter(Boolean).join(\" \") || undefined\n }\n data-testid={testId}\n />\n\n {typeof description === \"string\" ? (\n <div id={descriptionId} aria-live=\"polite\">\n {description}\n {isRequired && <span aria-hidden=\"true\"> *</span>}\n </div>\n ) : (\n description\n )}\n </div>\n </div>\n\n {typeof error === \"string\" ? (\n <div\n role=\"alert\"\n className={csx(\"proton-CheckboxInput__error\")}\n id={errorId}\n >\n {error}\n </div>\n ) : (\n error\n )}\n </div>\n );\n }\n);\n\nCheckboxInput.displayName = \"ProtonUICheckboxInput\";\n"],"names":["CheckboxInput","forwardRef","controlledChecked","defaultChecked","onChange","name","value","isDisabled","isRequired","id","testId","label","description","error","indeterminate","round","forwardedRef","checkboxRef","useRef","ref","isControlled","useEffect","handleChange","e","checkboxId","errorId","descriptionId","jsx","csx","jsxs"],"mappings":"2PA8EaA,EAAgBC,EAAA,WAC3B,CACE,CACE,QAASC,EACT,eAAAC,EACA,SAAAC,EACA,KAAAC,EACA,MAAAC,EACA,WAAAC,EAAa,GACb,WAAAC,EAAa,GACb,GAAAC,EACA,cAAeC,EACf,MAAAC,EACA,YAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,GAChB,MAAAC,EAAQ,IAEVC,IACG,CACG,MAAAC,EAAcC,SAAyB,IAAI,EAC3CC,EAAMH,GAAgBC,EACtBG,EAAelB,IAAsB,OAG3CmB,EAAAA,UAAU,IAAM,CACVF,EAAI,UACNA,EAAI,QAAQ,cAAgBL,EAC9B,EACC,CAACA,EAAeK,CAAG,CAAC,EAEjB,MAAAG,EAAgBC,GAA2C,CACpDnB,GAAA,MAAAA,EAAAmB,EAAE,OAAO,QAAO,EAGvBC,EAAaf,GAAM,GAAGJ,CAAI,YAC1BoB,EAAU,OAAOZ,GAAU,SAAW,GAAGR,CAAI,SAAW,OACxDqB,EACJ,OAAOd,GAAgB,SAAW,GAAGP,CAAI,eAAiB,OAE5D,gCACG,MACC,CAAA,SAAA,CAAAsB,wBAAC,MAAI,CAAA,UAAWC,EAAAA,IAAIrB,GAAc,gCAAgC,EAChE,SAAAsB,EAAA,kBAAA,KAAC,MAAA,CACC,UAAWD,EAAA,IACT,kCACAb,GAAS,wCACX,EAEC,SAAA,CAAA,OAAOJ,GAAU,SAChBgB,EAAA,kBAAA,IAAC,QAAA,CACC,QAASH,EACT,UAAU,8BAET,SAAAb,CAAA,CAAA,EAGHA,EAGFgB,EAAA,kBAAA,IAAC,QAAA,CACC,IAAAR,EACA,GAAIK,EACJ,KAAAnB,EACA,KAAK,WACL,QAASe,EAAelB,EAAoB,OAC5C,eAAiBkB,EAAgC,OAAjBjB,EAChC,MAAAG,EACA,SAAUC,EACV,SAAUC,EACV,SAAUc,EACV,UAAWM,EAAA,IACT,8BACAf,GAAS,qCACTE,GAAS,oCACX,EACA,aAAaJ,EAAe,OAAPN,EACrB,eAAc,EAAQQ,EACtB,oBAAmBY,EACnB,mBACE,CAACA,EAASC,CAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAAK,OAExD,cAAahB,CAAA,CACf,EAEC,OAAOE,GAAgB,SACtBiB,EAAAA,kBAAAA,KAAC,OAAI,GAAIH,EAAe,YAAU,SAC/B,SAAA,CAAAd,EACAJ,GAAcmB,EAAA,kBAAA,IAAC,OAAK,CAAA,cAAY,OAAO,SAAO,KAAA,CAAA,CAAA,CACjD,EAEAf,CAAA,CAAA,CAAA,EAGN,EAEC,OAAOC,GAAU,SAChBc,EAAA,kBAAA,IAAC,MAAA,CACC,KAAK,QACL,UAAWC,MAAI,6BAA6B,EAC5C,GAAIH,EAEH,SAAAZ,CAAA,CAAA,EAGHA,CAEJ,CAAA,CAAA,CAEJ,CACF,EAEAb,EAAc,YAAc"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
import { j as e } from "../../../node_modules/react/jsx-runtime.es.js";
|
|
2
|
+
import { forwardRef as N, useRef as g, useEffect as R } from "react";
|
|
3
|
+
/* empty css */
|
|
4
|
+
import { csx as s } from "../../../utils/string.es.js";
|
|
5
|
+
const $ = N(
|
|
6
|
+
({
|
|
7
|
+
checked: a,
|
|
8
|
+
defaultChecked: k,
|
|
9
|
+
onChange: c,
|
|
10
|
+
name: t,
|
|
11
|
+
value: v,
|
|
12
|
+
isDisabled: p = !1,
|
|
13
|
+
isRequired: l = !1,
|
|
14
|
+
id: I,
|
|
15
|
+
"data-testid": _,
|
|
16
|
+
label: r,
|
|
17
|
+
description: i,
|
|
18
|
+
error: o,
|
|
19
|
+
indeterminate: x = !1,
|
|
20
|
+
round: h = !1
|
|
21
|
+
}, m) => {
|
|
22
|
+
const j = g(null), n = m || j, u = a !== void 0;
|
|
23
|
+
R(() => {
|
|
24
|
+
n.current && (n.current.indeterminate = x);
|
|
25
|
+
}, [x, n]);
|
|
26
|
+
const C = (y) => {
|
|
27
|
+
c == null || c(y.target.checked);
|
|
28
|
+
}, f = I || `${t}-checkbox`, d = typeof o == "string" ? `${t}-error` : void 0, b = typeof i == "string" ? `${t}-description` : void 0;
|
|
29
|
+
return /* @__PURE__ */ e.jsxs("div", { children: [
|
|
30
|
+
/* @__PURE__ */ e.jsx("div", { className: s(p && "proton-CheckboxInput--disabled"), children: /* @__PURE__ */ e.jsxs(
|
|
31
|
+
"div",
|
|
32
|
+
{
|
|
33
|
+
className: s(
|
|
34
|
+
"proton-CheckboxInput__container",
|
|
35
|
+
h && "proton-CheckboxInput__container--round"
|
|
36
|
+
),
|
|
37
|
+
children: [
|
|
38
|
+
typeof r == "string" ? /* @__PURE__ */ e.jsx(
|
|
39
|
+
"label",
|
|
40
|
+
{
|
|
41
|
+
htmlFor: f,
|
|
42
|
+
className: "proton-CheckboxInput__label",
|
|
43
|
+
children: r
|
|
44
|
+
}
|
|
45
|
+
) : r,
|
|
46
|
+
/* @__PURE__ */ e.jsx(
|
|
47
|
+
"input",
|
|
48
|
+
{
|
|
49
|
+
ref: n,
|
|
50
|
+
id: f,
|
|
51
|
+
name: t,
|
|
52
|
+
type: "checkbox",
|
|
53
|
+
checked: u ? a : void 0,
|
|
54
|
+
defaultChecked: u ? void 0 : k,
|
|
55
|
+
value: v,
|
|
56
|
+
disabled: p,
|
|
57
|
+
required: l,
|
|
58
|
+
onChange: C,
|
|
59
|
+
className: s(
|
|
60
|
+
"proton-CheckboxInput__input",
|
|
61
|
+
o && "proton-CheckboxInput__input--error",
|
|
62
|
+
h && "proton-CheckboxInput__input--round"
|
|
63
|
+
),
|
|
64
|
+
"aria-label": r ? void 0 : t,
|
|
65
|
+
"aria-invalid": !!o,
|
|
66
|
+
"aria-errormessage": d,
|
|
67
|
+
"aria-describedby": [d, b].filter(Boolean).join(" ") || void 0,
|
|
68
|
+
"data-testid": _
|
|
69
|
+
}
|
|
70
|
+
),
|
|
71
|
+
typeof i == "string" ? /* @__PURE__ */ e.jsxs("div", { id: b, "aria-live": "polite", children: [
|
|
72
|
+
i,
|
|
73
|
+
l && /* @__PURE__ */ e.jsx("span", { "aria-hidden": "true", children: " *" })
|
|
74
|
+
] }) : i
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
) }),
|
|
78
|
+
typeof o == "string" ? /* @__PURE__ */ e.jsx(
|
|
79
|
+
"div",
|
|
80
|
+
{
|
|
81
|
+
role: "alert",
|
|
82
|
+
className: s("proton-CheckboxInput__error"),
|
|
83
|
+
id: d,
|
|
84
|
+
children: o
|
|
85
|
+
}
|
|
86
|
+
) : o
|
|
87
|
+
] });
|
|
88
|
+
}
|
|
89
|
+
);
|
|
90
|
+
$.displayName = "ProtonUICheckboxInput";
|
|
91
|
+
export {
|
|
92
|
+
$ as CheckboxInput
|
|
93
|
+
};
|
|
94
|
+
//# sourceMappingURL=CheckboxInput.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxInput.es.js","sources":["../../../../src/components/Checkbox/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { forwardRef, useEffect, useRef } from \"react\";\n\nimport { csx } from \"../../../utils\";\nimport \"./CheckboxInput.css\";\n\nexport interface CheckboxInputProps {\n /**\n * Whether the checkbox is checked (controlled mode).\n */\n checked?: boolean;\n\n /**\n * Whether the checkbox is checked by default (uncontrolled mode).\n */\n defaultChecked?: boolean;\n\n /** The error attribute of the checkbox input. */\n error?: React.ReactNode | string;\n\n /** The description attribute of the checkbox input. */\n description?: React.ReactNode | string;\n\n /** The test id attribute of the checkbox input. */\n \"data-testid\"?: string;\n\n /**\n * Callback fired when the checkbox state changes.\n */\n onChange?: (checked: boolean) => void;\n\n /**\n * Whether the checkbox is in an indeterminate state. Used for checkboxes that are neither checked nor unchecked.\n * @default false\n * @external https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/indeterminate\n * @reference @external https://medium.com/indigoag-eng/indeterminate-checkboxes-are-weird-704b246c0f19\n */\n indeterminate?: boolean;\n\n /** The id attribute of the checkbox input. */\n id?: string;\n\n /** Whether the checkbox is disabled. \n * @default false\n */\n isDisabled?: boolean;\n\n /** Whether the checkbox is required. \n * @default false\n */\n isRequired?: boolean;\n\n /** The name attribute of the checkbox input. */\n name: string;\n\n /** The label attribute of the checkbox input. */\n label?: string | React.ReactNode;\n\n /**\n * The value attribute of the checkbox input (for form submission).\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value\n */\n value?: string;\n\n /**\n * Whether the checkbox should be rendered as a round control (with a dot indicator when checked).\n * @default false\n */\n round?: boolean;\n}\n\n/**\n * A checkbox input component with support for labels, descriptions, error states, and controlled/uncontrolled modes.\n *\n * API:\n * - {@link CheckboxInputProps}\n */\nexport const CheckboxInput = forwardRef<HTMLInputElement, CheckboxInputProps>(\n (\n {\n checked: controlledChecked,\n defaultChecked,\n onChange,\n name,\n value,\n isDisabled = false,\n isRequired = false,\n id,\n \"data-testid\": testId,\n label,\n description,\n error,\n indeterminate = false,\n round = false,\n },\n forwardedRef: React.RefObject<HTMLInputElement>,\n ) => {\n const checkboxRef = useRef<HTMLInputElement>(null);\n const ref = forwardedRef || checkboxRef;\n const isControlled = controlledChecked !== undefined;\n\n // indeterminate state can only be set via JS\n useEffect(() => {\n if (ref.current) {\n ref.current.indeterminate = indeterminate;\n }\n }, [indeterminate, ref]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n const checkboxId = id || `${name}-checkbox`;\n const errorId = typeof error === \"string\" ? `${name}-error` : undefined;\n const descriptionId =\n typeof description === \"string\" ? `${name}-description` : undefined;\n\n return (\n <div>\n <div className={csx(isDisabled && \"proton-CheckboxInput--disabled\")}>\n <div\n className={csx(\n \"proton-CheckboxInput__container\",\n round && \"proton-CheckboxInput__container--round\",\n )}\n >\n {typeof label === \"string\" ? (\n <label\n htmlFor={checkboxId}\n className=\"proton-CheckboxInput__label\"\n >\n {label}\n </label>\n ) : (\n label\n )}\n\n <input\n ref={ref}\n id={checkboxId}\n name={name}\n type=\"checkbox\"\n checked={isControlled ? controlledChecked : undefined}\n defaultChecked={!isControlled ? defaultChecked : undefined}\n value={value}\n disabled={isDisabled}\n required={isRequired}\n onChange={handleChange}\n className={csx(\n \"proton-CheckboxInput__input\",\n error && \"proton-CheckboxInput__input--error\",\n round && \"proton-CheckboxInput__input--round\",\n )}\n aria-label={!label ? name : undefined}\n aria-invalid={Boolean(error)}\n aria-errormessage={errorId}\n aria-describedby={\n [errorId, descriptionId].filter(Boolean).join(\" \") || undefined\n }\n data-testid={testId}\n />\n\n {typeof description === \"string\" ? (\n <div id={descriptionId} aria-live=\"polite\">\n {description}\n {isRequired && <span aria-hidden=\"true\"> *</span>}\n </div>\n ) : (\n description\n )}\n </div>\n </div>\n\n {typeof error === \"string\" ? (\n <div\n role=\"alert\"\n className={csx(\"proton-CheckboxInput__error\")}\n id={errorId}\n >\n {error}\n </div>\n ) : (\n error\n )}\n </div>\n );\n }\n);\n\nCheckboxInput.displayName = \"ProtonUICheckboxInput\";\n"],"names":["CheckboxInput","forwardRef","controlledChecked","defaultChecked","onChange","name","value","isDisabled","isRequired","id","testId","label","description","error","indeterminate","round","forwardedRef","checkboxRef","useRef","ref","isControlled","useEffect","handleChange","e","checkboxId","errorId","descriptionId","jsx","csx","jsxs"],"mappings":";;;;AA8EO,MAAMA,IAAgBC;AAAA,EAC3B,CACE;AAAA,IACE,SAASC;AAAA,IACT,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,YAAAC,IAAa;AAAA,IACb,IAAAC;AAAA,IACA,eAAeC;AAAA,IACf,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,IAChB,OAAAC,IAAQ;AAAA,KAEVC,MACG;AACG,UAAAC,IAAcC,EAAyB,IAAI,GAC3CC,IAAMH,KAAgBC,GACtBG,IAAelB,MAAsB;AAG3C,IAAAmB,EAAU,MAAM;AACd,MAAIF,EAAI,YACNA,EAAI,QAAQ,gBAAgBL;AAAA,IAC9B,GACC,CAACA,GAAeK,CAAG,CAAC;AAEjB,UAAAG,IAAe,CAACC,MAA2C;AACpD,MAAAnB,KAAA,QAAAA,EAAAmB,EAAE,OAAO;AAAA,IAAO,GAGvBC,IAAaf,KAAM,GAAGJ,CAAI,aAC1BoB,IAAU,OAAOZ,KAAU,WAAW,GAAGR,CAAI,WAAW,QACxDqB,IACJ,OAAOd,KAAgB,WAAW,GAAGP,CAAI,iBAAiB;AAE5D,kCACG,OACC,EAAA,UAAA;AAAA,MAAAsB,gBAAAA,MAAC,OAAI,EAAA,WAAWC,EAAIrB,KAAc,gCAAgC,GAChE,UAAAsB,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,WAAWD;AAAA,YACT;AAAA,YACAb,KAAS;AAAA,UACX;AAAA,UAEC,UAAA;AAAA,YAAA,OAAOJ,KAAU,WAChBgB,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,SAASH;AAAA,gBACT,WAAU;AAAA,gBAET,UAAAb;AAAA,cAAA;AAAA,YAAA,IAGHA;AAAA,YAGFgB,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,KAAAR;AAAA,gBACA,IAAIK;AAAA,gBACJ,MAAAnB;AAAA,gBACA,MAAK;AAAA,gBACL,SAASe,IAAelB,IAAoB;AAAA,gBAC5C,gBAAiBkB,IAAgC,SAAjBjB;AAAA,gBAChC,OAAAG;AAAA,gBACA,UAAUC;AAAA,gBACV,UAAUC;AAAA,gBACV,UAAUc;AAAA,gBACV,WAAWM;AAAA,kBACT;AAAA,kBACAf,KAAS;AAAA,kBACTE,KAAS;AAAA,gBACX;AAAA,gBACA,cAAaJ,IAAe,SAAPN;AAAA,gBACrB,gBAAc,EAAQQ;AAAA,gBACtB,qBAAmBY;AAAA,gBACnB,oBACE,CAACA,GAASC,CAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAAA,gBAExD,eAAahB;AAAA,cAAA;AAAA,YACf;AAAA,YAEC,OAAOE,KAAgB,WACtBiB,gBAAAA,EAAAA,KAAC,SAAI,IAAIH,GAAe,aAAU,UAC/B,UAAA;AAAA,cAAAd;AAAA,cACAJ,KAAcmB,gBAAAA,EAAA,IAAC,QAAK,EAAA,eAAY,QAAO,UAAO,MAAA;AAAA,YAAA,EAAA,CACjD,IAEAf;AAAA,UAAA;AAAA,QAAA;AAAA,MAAA,GAGN;AAAA,MAEC,OAAOC,KAAU,WAChBc,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAWC,EAAI,6BAA6B;AAAA,UAC5C,IAAIH;AAAA,UAEH,UAAAZ;AAAA,QAAA;AAAA,MAAA,IAGHA;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAb,EAAc,cAAc;"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../node_modules/react/jsx-runtime.cjs.js"),v=require("react"),n=require("radix-ui");;/* empty css */;/* empty css */const s=require("../../../utils/string.cjs.js"),u=v.forwardRef(({name:i,items:x,value:b,defaultValue:h,onChange:R,isDisabled:a=!1,isRequired:j=!1,orientation:d="vertical",round:c=!1,error:r,"data-testid":_},C)=>{const p=typeof r=="string"?`${i}-error`:void 0;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx(n.RadioGroup.Root,{ref:C,name:i,value:b,defaultValue:h,onValueChange:R,disabled:a,required:j,orientation:d,className:s.csx("proton-CheckboxRadioGroup",`proton-CheckboxRadioGroup--${d}`),"aria-invalid":!!r,"aria-errormessage":p,"data-testid":_,children:x.map(o=>{const t=`${i}-${o.value}`,k=a||o.isDisabled,l=typeof o.description=="string"?`${t}-description`:void 0;return e.jsxRuntimeExports.jsxs("div",{className:s.csx(k&&"proton-CheckboxInput--disabled"),children:[e.jsxRuntimeExports.jsxs("div",{className:s.csx("proton-CheckboxInput__container",c&&"proton-CheckboxInput__container--round"),children:[e.jsxRuntimeExports.jsx(n.RadioGroup.Item,{id:t,value:o.value,disabled:o.isDisabled,className:s.csx("proton-CheckboxInput__input",c&&"proton-CheckboxInput__input--round",r&&"proton-CheckboxInput__input--error"),"aria-describedby":l,children:e.jsxRuntimeExports.jsx(n.RadioGroup.Indicator,{className:"proton-CheckboxRadioGroup__indicator"})}),typeof o.label=="string"?e.jsxRuntimeExports.jsx("label",{htmlFor:t,className:"proton-CheckboxInput__label",children:o.label}):o.label]}),typeof o.description=="string"?e.jsxRuntimeExports.jsx("div",{id:l,className:"proton-CheckboxRadioGroup__description",children:o.description}):o.description]},o.value)})}),typeof r=="string"?e.jsxRuntimeExports.jsx("div",{role:"alert",className:"proton-CheckboxInput__error",id:p,children:r}):r]})});u.displayName="ProtonUICheckboxRadioGroup";exports.CheckboxRadioGroup=u;
|
|
2
|
+
//# sourceMappingURL=CheckboxRadioGroup.cjs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxRadioGroup.cjs.js","sources":["../../../../src/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, ReactNode } from \"react\";\nimport { RadioGroup as RadixRadioGroup } from \"radix-ui\";\n\nimport { csx } from \"../../../utils\";\nimport \"../CheckboxInput/CheckboxInput.css\";\nimport \"./CheckboxRadioGroup.css\";\n\nexport interface CheckboxRadioGroupItem {\n /**\n * Unique value for the radio option.\n */\n value: string;\n\n /**\n * Label displayed next to the radio button.\n */\n label: string | ReactNode;\n\n /**\n * Optional description text below the label.\n */\n description?: string | ReactNode;\n\n /**\n * Whether this specific option is disabled.\n * @default false\n */\n isDisabled?: boolean;\n}\n\nexport interface CheckboxRadioGroupProps {\n /**\n * The name attribute for the radio group (for form submission).\n */\n name: string;\n\n /**\n * Array of radio options.\n */\n items: CheckboxRadioGroupItem[];\n\n /**\n * Currently selected value (controlled mode).\n */\n value?: string;\n\n /**\n * Default selected value (uncontrolled mode).\n */\n defaultValue?: string;\n\n /**\n * Callback when selection changes.\n */\n onChange?: (value: string) => void;\n\n /**\n * Whether the entire group is disabled.\n * @default false\n */\n isDisabled?: boolean;\n\n /**\n * Whether selection is required.\n * @default false\n */\n isRequired?: boolean;\n\n /**\n * Error message or element.\n */\n error?: ReactNode | string;\n\n /**\n * Layout orientation.\n * @default \"vertical\"\n */\n orientation?: \"vertical\" | \"horizontal\";\n\n /**\n * Whether radio buttons are round or square.\n * @default false\n */\n round?: boolean;\n\n /**\n * Test ID for the group.\n */\n \"data-testid\"?: string;\n}\n\n/**\n * A declaritive radio group for single-select lists.\n *\n * API:\n * - {@link CheckboxRadioGroupProps}\n * - {@link CheckboxRadioGroupItem}\n */\nexport const CheckboxRadioGroup = forwardRef<\n HTMLDivElement,\n CheckboxRadioGroupProps\n>(\n (\n {\n name,\n items,\n value,\n defaultValue,\n onChange,\n isDisabled = false,\n isRequired = false,\n orientation = \"vertical\",\n round = false,\n error,\n \"data-testid\": testId,\n },\n ref,\n ) => {\n const errorId = typeof error === \"string\" ? `${name}-error` : undefined;\n\n return (\n <div>\n <RadixRadioGroup.Root\n ref={ref}\n name={name}\n value={value}\n defaultValue={defaultValue}\n onValueChange={onChange}\n disabled={isDisabled}\n required={isRequired}\n orientation={orientation}\n className={csx(\n \"proton-CheckboxRadioGroup\",\n `proton-CheckboxRadioGroup--${orientation}`,\n )}\n aria-invalid={Boolean(error)}\n aria-errormessage={errorId}\n data-testid={testId}\n >\n {items.map((item) => {\n const itemId = `${name}-${item.value}`;\n const itemDisabled = isDisabled || item.isDisabled;\n const descriptionId =\n typeof item.description === \"string\"\n ? `${itemId}-description`\n : undefined;\n\n return (\n <div\n key={item.value}\n className={csx(\n itemDisabled && \"proton-CheckboxInput--disabled\",\n )}\n >\n <div\n className={csx(\n \"proton-CheckboxInput__container\",\n round && \"proton-CheckboxInput__container--round\",\n )}\n >\n <RadixRadioGroup.Item\n id={itemId}\n value={item.value}\n disabled={item.isDisabled}\n className={csx(\n \"proton-CheckboxInput__input\",\n round && \"proton-CheckboxInput__input--round\",\n error && \"proton-CheckboxInput__input--error\",\n )}\n aria-describedby={descriptionId}\n >\n <RadixRadioGroup.Indicator className=\"proton-CheckboxRadioGroup__indicator\" />\n </RadixRadioGroup.Item>\n\n {typeof item.label === \"string\" ? (\n <label\n htmlFor={itemId}\n className=\"proton-CheckboxInput__label\"\n >\n {item.label}\n </label>\n ) : (\n item.label\n )}\n </div>\n\n {typeof item.description === \"string\" ? (\n <div\n id={descriptionId}\n className=\"proton-CheckboxRadioGroup__description\"\n >\n {item.description}\n </div>\n ) : (\n item.description\n )}\n </div>\n );\n })}\n </RadixRadioGroup.Root>\n\n {typeof error === \"string\" ? (\n <div\n role=\"alert\"\n className=\"proton-CheckboxInput__error\"\n id={errorId}\n >\n {error}\n </div>\n ) : (\n error\n )}\n </div>\n );\n },\n);\n\nCheckboxRadioGroup.displayName = \"ProtonUICheckboxRadioGroup\";\n"],"names":["CheckboxRadioGroup","forwardRef","name","items","value","defaultValue","onChange","isDisabled","isRequired","orientation","round","error","testId","ref","errorId","jsx","RadixRadioGroup","csx","item","itemId","itemDisabled","descriptionId","jsxs"],"mappings":"2UAoGaA,EAAqBC,EAAA,WAIhC,CACE,CACE,KAAAC,EACA,MAAAC,EACA,MAAAC,EACA,aAAAC,EACA,SAAAC,EACA,WAAAC,EAAa,GACb,WAAAC,EAAa,GACb,YAAAC,EAAc,WACd,MAAAC,EAAQ,GACR,MAAAC,EACA,cAAeC,GAEjBC,IACG,CACH,MAAMC,EAAU,OAAOH,GAAU,SAAW,GAAGT,CAAI,SAAW,OAE9D,gCACG,MACC,CAAA,SAAA,CAAAa,EAAA,kBAAA,IAACC,EAAAA,WAAgB,KAAhB,CACC,IAAAH,EACA,KAAAX,EACA,MAAAE,EACA,aAAAC,EACA,cAAeC,EACf,SAAUC,EACV,SAAUC,EACV,YAAAC,EACA,UAAWQ,EAAA,IACT,4BACA,8BAA8BR,CAAW,EAC3C,EACA,eAAc,EAAQE,EACtB,oBAAmBG,EACnB,cAAaF,EAEZ,SAAAT,EAAM,IAAKe,GAAS,CACnB,MAAMC,EAAS,GAAGjB,CAAI,IAAIgB,EAAK,KAAK,GAC9BE,EAAeb,GAAcW,EAAK,WAClCG,EACJ,OAAOH,EAAK,aAAgB,SACxB,GAAGC,CAAM,eACT,OAGJ,OAAAG,EAAA,kBAAA,KAAC,MAAA,CAEC,UAAWL,EAAA,IACTG,GAAgB,gCAClB,EAEA,SAAA,CAAAE,EAAA,kBAAA,KAAC,MAAA,CACC,UAAWL,EAAA,IACT,kCACAP,GAAS,wCACX,EAEA,SAAA,CAAAK,EAAA,kBAAA,IAACC,EAAAA,WAAgB,KAAhB,CACC,GAAIG,EACJ,MAAOD,EAAK,MACZ,SAAUA,EAAK,WACf,UAAWD,EAAA,IACT,8BACAP,GAAS,qCACTC,GAAS,oCACX,EACA,mBAAkBU,EAElB,SAACN,EAAA,kBAAA,IAAAC,EAAA,WAAgB,UAAhB,CAA0B,UAAU,uCAAuC,CAAA,CAC9E,EAEC,OAAOE,EAAK,OAAU,SACrBH,EAAA,kBAAA,IAAC,QAAA,CACC,QAASI,EACT,UAAU,8BAET,SAAKD,EAAA,KAAA,GAGRA,EAAK,KAAA,CAAA,CAET,EAEC,OAAOA,EAAK,aAAgB,SAC3BH,EAAA,kBAAA,IAAC,MAAA,CACC,GAAIM,EACJ,UAAU,yCAET,SAAKH,EAAA,WAAA,GAGRA,EAAK,WAAA,CAAA,EA7CFA,EAAK,KAAA,CA+CZ,CAEH,CAAA,CACH,EAEC,OAAOP,GAAU,SAChBI,EAAA,kBAAA,IAAC,MAAA,CACC,KAAK,QACL,UAAU,8BACV,GAAID,EAEH,SAAAH,CAAA,CAAA,EAGHA,CAEJ,CAAA,CAAA,CAEJ,CACF,EAEAX,EAAmB,YAAc"}
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
import { j as r } from "../../../node_modules/react/jsx-runtime.es.js";
|
|
2
|
+
import { forwardRef as I } from "react";
|
|
3
|
+
import { RadioGroup as t } from "radix-ui";
|
|
4
|
+
/* empty css */
|
|
5
|
+
/* empty css */
|
|
6
|
+
import { csx as i } from "../../../utils/string.es.js";
|
|
7
|
+
const m = I(
|
|
8
|
+
({
|
|
9
|
+
name: s,
|
|
10
|
+
items: u,
|
|
11
|
+
value: x,
|
|
12
|
+
defaultValue: b,
|
|
13
|
+
onChange: h,
|
|
14
|
+
isDisabled: n = !1,
|
|
15
|
+
isRequired: _ = !1,
|
|
16
|
+
orientation: d = "vertical",
|
|
17
|
+
round: p = !1,
|
|
18
|
+
error: e,
|
|
19
|
+
"data-testid": C
|
|
20
|
+
}, f) => {
|
|
21
|
+
const c = typeof e == "string" ? `${s}-error` : void 0;
|
|
22
|
+
return /* @__PURE__ */ r.jsxs("div", { children: [
|
|
23
|
+
/* @__PURE__ */ r.jsx(
|
|
24
|
+
t.Root,
|
|
25
|
+
{
|
|
26
|
+
ref: f,
|
|
27
|
+
name: s,
|
|
28
|
+
value: x,
|
|
29
|
+
defaultValue: b,
|
|
30
|
+
onValueChange: h,
|
|
31
|
+
disabled: n,
|
|
32
|
+
required: _,
|
|
33
|
+
orientation: d,
|
|
34
|
+
className: i(
|
|
35
|
+
"proton-CheckboxRadioGroup",
|
|
36
|
+
`proton-CheckboxRadioGroup--${d}`
|
|
37
|
+
),
|
|
38
|
+
"aria-invalid": !!e,
|
|
39
|
+
"aria-errormessage": c,
|
|
40
|
+
"data-testid": C,
|
|
41
|
+
children: u.map((o) => {
|
|
42
|
+
const a = `${s}-${o.value}`, k = n || o.isDisabled, l = typeof o.description == "string" ? `${a}-description` : void 0;
|
|
43
|
+
return /* @__PURE__ */ r.jsxs(
|
|
44
|
+
"div",
|
|
45
|
+
{
|
|
46
|
+
className: i(
|
|
47
|
+
k && "proton-CheckboxInput--disabled"
|
|
48
|
+
),
|
|
49
|
+
children: [
|
|
50
|
+
/* @__PURE__ */ r.jsxs(
|
|
51
|
+
"div",
|
|
52
|
+
{
|
|
53
|
+
className: i(
|
|
54
|
+
"proton-CheckboxInput__container",
|
|
55
|
+
p && "proton-CheckboxInput__container--round"
|
|
56
|
+
),
|
|
57
|
+
children: [
|
|
58
|
+
/* @__PURE__ */ r.jsx(
|
|
59
|
+
t.Item,
|
|
60
|
+
{
|
|
61
|
+
id: a,
|
|
62
|
+
value: o.value,
|
|
63
|
+
disabled: o.isDisabled,
|
|
64
|
+
className: i(
|
|
65
|
+
"proton-CheckboxInput__input",
|
|
66
|
+
p && "proton-CheckboxInput__input--round",
|
|
67
|
+
e && "proton-CheckboxInput__input--error"
|
|
68
|
+
),
|
|
69
|
+
"aria-describedby": l,
|
|
70
|
+
children: /* @__PURE__ */ r.jsx(t.Indicator, { className: "proton-CheckboxRadioGroup__indicator" })
|
|
71
|
+
}
|
|
72
|
+
),
|
|
73
|
+
typeof o.label == "string" ? /* @__PURE__ */ r.jsx(
|
|
74
|
+
"label",
|
|
75
|
+
{
|
|
76
|
+
htmlFor: a,
|
|
77
|
+
className: "proton-CheckboxInput__label",
|
|
78
|
+
children: o.label
|
|
79
|
+
}
|
|
80
|
+
) : o.label
|
|
81
|
+
]
|
|
82
|
+
}
|
|
83
|
+
),
|
|
84
|
+
typeof o.description == "string" ? /* @__PURE__ */ r.jsx(
|
|
85
|
+
"div",
|
|
86
|
+
{
|
|
87
|
+
id: l,
|
|
88
|
+
className: "proton-CheckboxRadioGroup__description",
|
|
89
|
+
children: o.description
|
|
90
|
+
}
|
|
91
|
+
) : o.description
|
|
92
|
+
]
|
|
93
|
+
},
|
|
94
|
+
o.value
|
|
95
|
+
);
|
|
96
|
+
})
|
|
97
|
+
}
|
|
98
|
+
),
|
|
99
|
+
typeof e == "string" ? /* @__PURE__ */ r.jsx(
|
|
100
|
+
"div",
|
|
101
|
+
{
|
|
102
|
+
role: "alert",
|
|
103
|
+
className: "proton-CheckboxInput__error",
|
|
104
|
+
id: c,
|
|
105
|
+
children: e
|
|
106
|
+
}
|
|
107
|
+
) : e
|
|
108
|
+
] });
|
|
109
|
+
}
|
|
110
|
+
);
|
|
111
|
+
m.displayName = "ProtonUICheckboxRadioGroup";
|
|
112
|
+
export {
|
|
113
|
+
m as CheckboxRadioGroup
|
|
114
|
+
};
|
|
115
|
+
//# sourceMappingURL=CheckboxRadioGroup.es.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CheckboxRadioGroup.es.js","sources":["../../../../src/components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRef, ReactNode } from \"react\";\nimport { RadioGroup as RadixRadioGroup } from \"radix-ui\";\n\nimport { csx } from \"../../../utils\";\nimport \"../CheckboxInput/CheckboxInput.css\";\nimport \"./CheckboxRadioGroup.css\";\n\nexport interface CheckboxRadioGroupItem {\n /**\n * Unique value for the radio option.\n */\n value: string;\n\n /**\n * Label displayed next to the radio button.\n */\n label: string | ReactNode;\n\n /**\n * Optional description text below the label.\n */\n description?: string | ReactNode;\n\n /**\n * Whether this specific option is disabled.\n * @default false\n */\n isDisabled?: boolean;\n}\n\nexport interface CheckboxRadioGroupProps {\n /**\n * The name attribute for the radio group (for form submission).\n */\n name: string;\n\n /**\n * Array of radio options.\n */\n items: CheckboxRadioGroupItem[];\n\n /**\n * Currently selected value (controlled mode).\n */\n value?: string;\n\n /**\n * Default selected value (uncontrolled mode).\n */\n defaultValue?: string;\n\n /**\n * Callback when selection changes.\n */\n onChange?: (value: string) => void;\n\n /**\n * Whether the entire group is disabled.\n * @default false\n */\n isDisabled?: boolean;\n\n /**\n * Whether selection is required.\n * @default false\n */\n isRequired?: boolean;\n\n /**\n * Error message or element.\n */\n error?: ReactNode | string;\n\n /**\n * Layout orientation.\n * @default \"vertical\"\n */\n orientation?: \"vertical\" | \"horizontal\";\n\n /**\n * Whether radio buttons are round or square.\n * @default false\n */\n round?: boolean;\n\n /**\n * Test ID for the group.\n */\n \"data-testid\"?: string;\n}\n\n/**\n * A declaritive radio group for single-select lists.\n *\n * API:\n * - {@link CheckboxRadioGroupProps}\n * - {@link CheckboxRadioGroupItem}\n */\nexport const CheckboxRadioGroup = forwardRef<\n HTMLDivElement,\n CheckboxRadioGroupProps\n>(\n (\n {\n name,\n items,\n value,\n defaultValue,\n onChange,\n isDisabled = false,\n isRequired = false,\n orientation = \"vertical\",\n round = false,\n error,\n \"data-testid\": testId,\n },\n ref,\n ) => {\n const errorId = typeof error === \"string\" ? `${name}-error` : undefined;\n\n return (\n <div>\n <RadixRadioGroup.Root\n ref={ref}\n name={name}\n value={value}\n defaultValue={defaultValue}\n onValueChange={onChange}\n disabled={isDisabled}\n required={isRequired}\n orientation={orientation}\n className={csx(\n \"proton-CheckboxRadioGroup\",\n `proton-CheckboxRadioGroup--${orientation}`,\n )}\n aria-invalid={Boolean(error)}\n aria-errormessage={errorId}\n data-testid={testId}\n >\n {items.map((item) => {\n const itemId = `${name}-${item.value}`;\n const itemDisabled = isDisabled || item.isDisabled;\n const descriptionId =\n typeof item.description === \"string\"\n ? `${itemId}-description`\n : undefined;\n\n return (\n <div\n key={item.value}\n className={csx(\n itemDisabled && \"proton-CheckboxInput--disabled\",\n )}\n >\n <div\n className={csx(\n \"proton-CheckboxInput__container\",\n round && \"proton-CheckboxInput__container--round\",\n )}\n >\n <RadixRadioGroup.Item\n id={itemId}\n value={item.value}\n disabled={item.isDisabled}\n className={csx(\n \"proton-CheckboxInput__input\",\n round && \"proton-CheckboxInput__input--round\",\n error && \"proton-CheckboxInput__input--error\",\n )}\n aria-describedby={descriptionId}\n >\n <RadixRadioGroup.Indicator className=\"proton-CheckboxRadioGroup__indicator\" />\n </RadixRadioGroup.Item>\n\n {typeof item.label === \"string\" ? (\n <label\n htmlFor={itemId}\n className=\"proton-CheckboxInput__label\"\n >\n {item.label}\n </label>\n ) : (\n item.label\n )}\n </div>\n\n {typeof item.description === \"string\" ? (\n <div\n id={descriptionId}\n className=\"proton-CheckboxRadioGroup__description\"\n >\n {item.description}\n </div>\n ) : (\n item.description\n )}\n </div>\n );\n })}\n </RadixRadioGroup.Root>\n\n {typeof error === \"string\" ? (\n <div\n role=\"alert\"\n className=\"proton-CheckboxInput__error\"\n id={errorId}\n >\n {error}\n </div>\n ) : (\n error\n )}\n </div>\n );\n },\n);\n\nCheckboxRadioGroup.displayName = \"ProtonUICheckboxRadioGroup\";\n"],"names":["CheckboxRadioGroup","forwardRef","name","items","value","defaultValue","onChange","isDisabled","isRequired","orientation","round","error","testId","ref","errorId","jsx","RadixRadioGroup","csx","item","itemId","itemDisabled","descriptionId","jsxs"],"mappings":";;;;;;AAoGO,MAAMA,IAAqBC;AAAA,EAIhC,CACE;AAAA,IACE,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,OAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,YAAAC,IAAa;AAAA,IACb,aAAAC,IAAc;AAAA,IACd,OAAAC,IAAQ;AAAA,IACR,OAAAC;AAAA,IACA,eAAeC;AAAA,KAEjBC,MACG;AACH,UAAMC,IAAU,OAAOH,KAAU,WAAW,GAAGT,CAAI,WAAW;AAE9D,kCACG,OACC,EAAA,UAAA;AAAA,MAAAa,gBAAAA,EAAA;AAAA,QAACC,EAAgB;AAAA,QAAhB;AAAA,UACC,KAAAH;AAAA,UACA,MAAAX;AAAA,UACA,OAAAE;AAAA,UACA,cAAAC;AAAA,UACA,eAAeC;AAAA,UACf,UAAUC;AAAA,UACV,UAAUC;AAAA,UACV,aAAAC;AAAA,UACA,WAAWQ;AAAA,YACT;AAAA,YACA,8BAA8BR,CAAW;AAAA,UAC3C;AAAA,UACA,gBAAc,EAAQE;AAAA,UACtB,qBAAmBG;AAAA,UACnB,eAAaF;AAAA,UAEZ,UAAAT,EAAM,IAAI,CAACe,MAAS;AACnB,kBAAMC,IAAS,GAAGjB,CAAI,IAAIgB,EAAK,KAAK,IAC9BE,IAAeb,KAAcW,EAAK,YAClCG,IACJ,OAAOH,EAAK,eAAgB,WACxB,GAAGC,CAAM,iBACT;AAGJ,mBAAAG,gBAAAA,EAAA;AAAA,cAAC;AAAA,cAAA;AAAA,gBAEC,WAAWL;AAAA,kBACTG,KAAgB;AAAA,gBAClB;AAAA,gBAEA,UAAA;AAAA,kBAAAE,gBAAAA,EAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,WAAWL;AAAA,wBACT;AAAA,wBACAP,KAAS;AAAA,sBACX;AAAA,sBAEA,UAAA;AAAA,wBAAAK,gBAAAA,EAAA;AAAA,0BAACC,EAAgB;AAAA,0BAAhB;AAAA,4BACC,IAAIG;AAAA,4BACJ,OAAOD,EAAK;AAAA,4BACZ,UAAUA,EAAK;AAAA,4BACf,WAAWD;AAAA,8BACT;AAAA,8BACAP,KAAS;AAAA,8BACTC,KAAS;AAAA,4BACX;AAAA,4BACA,oBAAkBU;AAAA,4BAElB,UAACN,gBAAAA,EAAA,IAAAC,EAAgB,WAAhB,EAA0B,WAAU,wCAAuC;AAAA,0BAAA;AAAA,wBAC9E;AAAA,wBAEC,OAAOE,EAAK,SAAU,WACrBH,gBAAAA,EAAA;AAAA,0BAAC;AAAA,0BAAA;AAAA,4BACC,SAASI;AAAA,4BACT,WAAU;AAAA,4BAET,UAAKD,EAAA;AAAA,0BAAA;AAAA,4BAGRA,EAAK;AAAA,sBAAA;AAAA,oBAAA;AAAA,kBAET;AAAA,kBAEC,OAAOA,EAAK,eAAgB,WAC3BH,gBAAAA,EAAA;AAAA,oBAAC;AAAA,oBAAA;AAAA,sBACC,IAAIM;AAAA,sBACJ,WAAU;AAAA,sBAET,UAAKH,EAAA;AAAA,oBAAA;AAAA,sBAGRA,EAAK;AAAA,gBAAA;AAAA,cAAA;AAAA,cA7CFA,EAAK;AAAA,YAAA;AAAA,UA+CZ,CAEH;AAAA,QAAA;AAAA,MACH;AAAA,MAEC,OAAOP,KAAU,WAChBI,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAU;AAAA,UACV,IAAID;AAAA,UAEH,UAAAH;AAAA,QAAA;AAAA,MAAA,IAGHA;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAX,EAAmB,cAAc;"}
|
package/dist/index.cjs.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./components/ActionMenu/ActionMenu.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const n=require("./components/ActionMenu/ActionMenu.cjs.js"),o=require("./components/Badge/Badge.cjs.js"),e=require("./components/Banner/Banner.cjs.js"),t=require("./components/Button/Button.cjs.js"),i=require("./components/ButtonGroup/ButtonGroup.cjs.js"),u=require("./components/ButtonWithSelect/ButtonWithSelect.cjs.js"),c=require("./components/DataTable/DataTable.cjs.js"),a=require("./components/Dialog/Dialog.cjs.js"),s=require("./components/Elevation/Elevation.cjs.js"),l=require("./components/Icon/Icon.cjs.js"),p=require("./components/ImageBackground/ImageBackground.cjs.js"),q=require("./components/Input/BaseInput/Input.cjs.js"),T=require("./components/Checkbox/CheckboxInput/CheckboxInput.cjs.js"),B=require("./components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.cjs.js"),h=require("./components/Input/CopyInput/CopyInput.cjs.js"),S=require("./components/Input/SearchInput/SearchInput.cjs.js"),g=require("./components/Menu/MenuTrigger.cjs.js"),I=require("./components/Modal/Modal.cjs.js"),d=require("./components/Popover/Popover.cjs.js"),m=require("./components/ScreenOverlay/ScreenOverlay.cjs.js"),v=require("./components/Select/Select.cjs.js"),b=require("./components/Switch/Switch.cjs.js"),E=require("./components/Table/Table.cjs.js"),x=require("./components/Text/TextEllipsis/TextEllipsis.cjs.js"),N=require("./components/Text/TextEmphasis/TextEmphasis.cjs.js"),r=require("./components/ThemeProvider.cjs.js"),A=require("./components/Tombstone/Tombstone.cjs.js"),C=require("./components/Tooltip/ResponsiveTooltip.cjs.js"),R=require("./components/Waveform/Waveform.cjs.js");exports.ActionMenu=n.ActionMenu;exports.Badge=o.Badge;exports.BadgeVariants=o.BadgeVariants;exports.BANNER_ICONS=e.BANNER_ICONS;exports.BANNER_VARIANTS=e.BANNER_VARIANTS;exports.Banner=e.Banner;exports.Button=t.Button;exports.ButtonSizes=t.ButtonSizes;exports.ButtonVariants=t.ButtonVariants;exports.ButtonGroup=i.ButtonGroup;exports.ButtonWithSelect=u.ButtonWithSelect;exports.DataTable=c.DataTable;exports.Dialog=a.Dialog;exports.Elevation=s.Elevation;exports.Icon=l.Icon;exports.ImageBackground=p.ImageBackground;exports.Input=q.Input;exports.CheckboxInput=T.CheckboxInput;exports.CheckboxRadioGroup=B.CheckboxRadioGroup;exports.CopyInput=h.CopyInput;exports.SearchInput=S.SearchInput;exports.MenuTrigger=g.MenuTrigger;exports.Modal=I.Modal;exports.Popover=d.Popover;exports.ScreenOverlay=m.ScreenOverlay;exports.Select=v.Select;exports.Switch=b.Switch;exports.Table=E.Table;exports.TextEllipsis=x.TextEllipsis;exports.TextEmphasis=N.TextEmphasis;exports.ThemeProvider=r.ThemeProvider;exports.useTheme=r.useTheme;exports.Tombstone=A.Tombstone;exports.Tooltip=C.ResponsiveTooltip;exports.Waveform=R.Waveform;
|
|
2
2
|
//# sourceMappingURL=index.cjs.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -498,6 +498,91 @@ declare interface CheckboxInputProps {
|
|
|
498
498
|
* @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value
|
|
499
499
|
*/
|
|
500
500
|
value?: string;
|
|
501
|
+
/**
|
|
502
|
+
* Whether the checkbox should be rendered as a round control (with a dot indicator when checked).
|
|
503
|
+
* @default false
|
|
504
|
+
*/
|
|
505
|
+
round?: boolean;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
/**
|
|
509
|
+
* A declaritive radio group for single-select lists.
|
|
510
|
+
*
|
|
511
|
+
* API:
|
|
512
|
+
* - {@link CheckboxRadioGroupProps}
|
|
513
|
+
* - {@link CheckboxRadioGroupItem}
|
|
514
|
+
*/
|
|
515
|
+
export declare const CheckboxRadioGroup: ForwardRefExoticComponent<CheckboxRadioGroupProps & RefAttributes<HTMLDivElement>>;
|
|
516
|
+
|
|
517
|
+
export declare interface CheckboxRadioGroupItem {
|
|
518
|
+
/**
|
|
519
|
+
* Unique value for the radio option.
|
|
520
|
+
*/
|
|
521
|
+
value: string;
|
|
522
|
+
/**
|
|
523
|
+
* Label displayed next to the radio button.
|
|
524
|
+
*/
|
|
525
|
+
label: string | ReactNode;
|
|
526
|
+
/**
|
|
527
|
+
* Optional description text below the label.
|
|
528
|
+
*/
|
|
529
|
+
description?: string | ReactNode;
|
|
530
|
+
/**
|
|
531
|
+
* Whether this specific option is disabled.
|
|
532
|
+
* @default false
|
|
533
|
+
*/
|
|
534
|
+
isDisabled?: boolean;
|
|
535
|
+
}
|
|
536
|
+
|
|
537
|
+
declare interface CheckboxRadioGroupProps {
|
|
538
|
+
/**
|
|
539
|
+
* The name attribute for the radio group (for form submission).
|
|
540
|
+
*/
|
|
541
|
+
name: string;
|
|
542
|
+
/**
|
|
543
|
+
* Array of radio options.
|
|
544
|
+
*/
|
|
545
|
+
items: CheckboxRadioGroupItem[];
|
|
546
|
+
/**
|
|
547
|
+
* Currently selected value (controlled mode).
|
|
548
|
+
*/
|
|
549
|
+
value?: string;
|
|
550
|
+
/**
|
|
551
|
+
* Default selected value (uncontrolled mode).
|
|
552
|
+
*/
|
|
553
|
+
defaultValue?: string;
|
|
554
|
+
/**
|
|
555
|
+
* Callback when selection changes.
|
|
556
|
+
*/
|
|
557
|
+
onChange?: (value: string) => void;
|
|
558
|
+
/**
|
|
559
|
+
* Whether the entire group is disabled.
|
|
560
|
+
* @default false
|
|
561
|
+
*/
|
|
562
|
+
isDisabled?: boolean;
|
|
563
|
+
/**
|
|
564
|
+
* Whether selection is required.
|
|
565
|
+
* @default false
|
|
566
|
+
*/
|
|
567
|
+
isRequired?: boolean;
|
|
568
|
+
/**
|
|
569
|
+
* Error message or element.
|
|
570
|
+
*/
|
|
571
|
+
error?: ReactNode | string;
|
|
572
|
+
/**
|
|
573
|
+
* Layout orientation.
|
|
574
|
+
* @default "vertical"
|
|
575
|
+
*/
|
|
576
|
+
orientation?: "vertical" | "horizontal";
|
|
577
|
+
/**
|
|
578
|
+
* Whether radio buttons are round or square.
|
|
579
|
+
* @default false
|
|
580
|
+
*/
|
|
581
|
+
round?: boolean;
|
|
582
|
+
/**
|
|
583
|
+
* Test ID for the group.
|
|
584
|
+
*/
|
|
585
|
+
"data-testid"?: string;
|
|
501
586
|
}
|
|
502
587
|
|
|
503
588
|
/**
|
package/dist/index.es.js
CHANGED
|
@@ -1,65 +1,67 @@
|
|
|
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
|
-
import { BANNER_ICONS as f, BANNER_VARIANTS as
|
|
3
|
+
import { BANNER_ICONS as f, BANNER_VARIANTS as a, Banner as n } from "./components/Banner/Banner.es.js";
|
|
4
4
|
import { Button as u, ButtonSizes as l, ButtonVariants as s } from "./components/Button/Button.es.js";
|
|
5
5
|
import { ButtonGroup as T } from "./components/ButtonGroup/ButtonGroup.es.js";
|
|
6
|
-
import { ButtonWithSelect as
|
|
7
|
-
import { DataTable as
|
|
8
|
-
import { Dialog as
|
|
9
|
-
import { Elevation as
|
|
10
|
-
import { Icon as
|
|
6
|
+
import { ButtonWithSelect as h } from "./components/ButtonWithSelect/ButtonWithSelect.es.js";
|
|
7
|
+
import { DataTable as S } from "./components/DataTable/DataTable.es.js";
|
|
8
|
+
import { Dialog as d } from "./components/Dialog/Dialog.es.js";
|
|
9
|
+
import { Elevation as N } from "./components/Elevation/Elevation.es.js";
|
|
10
|
+
import { Icon as A } from "./components/Icon/Icon.es.js";
|
|
11
11
|
import { ImageBackground as R } from "./components/ImageBackground/ImageBackground.es.js";
|
|
12
|
-
import { Input as
|
|
13
|
-
import { CheckboxInput as
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import {
|
|
19
|
-
import {
|
|
20
|
-
import {
|
|
21
|
-
import {
|
|
22
|
-
import {
|
|
23
|
-
import {
|
|
24
|
-
import {
|
|
25
|
-
import {
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
-
import {
|
|
12
|
+
import { Input as k } from "./components/Input/BaseInput/Input.es.js";
|
|
13
|
+
import { CheckboxInput as V } from "./components/Checkbox/CheckboxInput/CheckboxInput.es.js";
|
|
14
|
+
import { CheckboxRadioGroup as D } from "./components/Checkbox/CheckboxRadioGroup/CheckboxRadioGroup.es.js";
|
|
15
|
+
import { CopyInput as O } from "./components/Input/CopyInput/CopyInput.es.js";
|
|
16
|
+
import { SearchInput as W } from "./components/Input/SearchInput/SearchInput.es.js";
|
|
17
|
+
import { MenuTrigger as w } from "./components/Menu/MenuTrigger.es.js";
|
|
18
|
+
import { Modal as j } from "./components/Modal/Modal.es.js";
|
|
19
|
+
import { Popover as F } from "./components/Popover/Popover.es.js";
|
|
20
|
+
import { ScreenOverlay as J } from "./components/ScreenOverlay/ScreenOverlay.es.js";
|
|
21
|
+
import { Select as L } from "./components/Select/Select.es.js";
|
|
22
|
+
import { Switch as U } from "./components/Switch/Switch.es.js";
|
|
23
|
+
import { Table as Y } from "./components/Table/Table.es.js";
|
|
24
|
+
import { TextEllipsis as $ } from "./components/Text/TextEllipsis/TextEllipsis.es.js";
|
|
25
|
+
import { TextEmphasis as ro } from "./components/Text/TextEmphasis/TextEmphasis.es.js";
|
|
26
|
+
import { ThemeProvider as to, useTheme as po } from "./components/ThemeProvider.es.js";
|
|
27
|
+
import { Tombstone as xo } from "./components/Tombstone/Tombstone.es.js";
|
|
28
|
+
import { ResponsiveTooltip as ao } from "./components/Tooltip/ResponsiveTooltip.es.js";
|
|
29
|
+
import { Waveform as io } from "./components/Waveform/Waveform.es.js";
|
|
29
30
|
export {
|
|
30
31
|
e as ActionMenu,
|
|
31
32
|
f as BANNER_ICONS,
|
|
32
|
-
|
|
33
|
+
a as BANNER_VARIANTS,
|
|
33
34
|
p as Badge,
|
|
34
35
|
m as BadgeVariants,
|
|
35
|
-
|
|
36
|
+
n as Banner,
|
|
36
37
|
u as Button,
|
|
37
38
|
T as ButtonGroup,
|
|
38
39
|
l as ButtonSizes,
|
|
39
40
|
s as ButtonVariants,
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
D as
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
d as
|
|
46
|
-
|
|
41
|
+
h as ButtonWithSelect,
|
|
42
|
+
V as CheckboxInput,
|
|
43
|
+
D as CheckboxRadioGroup,
|
|
44
|
+
O as CopyInput,
|
|
45
|
+
S as DataTable,
|
|
46
|
+
d as Dialog,
|
|
47
|
+
N as Elevation,
|
|
48
|
+
A as Icon,
|
|
47
49
|
R as ImageBackground,
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
50
|
+
k as Input,
|
|
51
|
+
w as MenuTrigger,
|
|
52
|
+
j as Modal,
|
|
53
|
+
F as Popover,
|
|
54
|
+
J as ScreenOverlay,
|
|
55
|
+
W as SearchInput,
|
|
56
|
+
L as Select,
|
|
57
|
+
U as Switch,
|
|
58
|
+
Y as Table,
|
|
59
|
+
$ as TextEllipsis,
|
|
60
|
+
ro as TextEmphasis,
|
|
61
|
+
to as ThemeProvider,
|
|
62
|
+
xo as Tombstone,
|
|
63
|
+
ao as Tooltip,
|
|
64
|
+
io as Waveform,
|
|
65
|
+
po as useTheme
|
|
64
66
|
};
|
|
65
67
|
//# sourceMappingURL=index.es.js.map
|
package/dist/index.es.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.es.js","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
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{-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{background:var(--proton-control__background-color);color:var(--proton-control__text-color);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{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-control__interactive-color);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:25%;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__white)}.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-left:1px solid var(--proton-color__gray-light);color:var(--proton-color__gray-dark);text-align:center;border-radius:0;flex:1;padding:.5em 1em}.proton-ButtonGroup__option:first-child{border-left:0}.proton-ButtonGroup__option--selected{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--selected+.proton-ButtonGroup__option{border-left:1px solid #0000}.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}.proton-Menu{--menu-bg-color:var(--proton-control__background-color);--menu-item-bg-color:var(--proton-control__background-color);letter-spacing:.05em;border-radius:var(--proton-control__border-radius);background:var(--menu-bg-color);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-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-light);opacity:.75}.proton-Menu__item[aria-selected=true]{--menu-item-bg-color:var(--proton-color__primary-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-light);opacity:.75}.proton-Menu__item[data-state=checked]{--menu-item-bg-color:var(--proton-color__primary-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-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-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__background-color-light);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);--tw-backdrop-blur:blur(15px);width:100%;height:100%;transition:background-color .2s ease-in-out,-webkit-backdrop-filter .2s ease-in-out,backdrop-filter .2s ease-in-out}@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-Dialog{background-color:var(--proton-control__background-color);border-radius:var(--proton-control__border-radius);box-shadow:0 0 20px 0 var(--proton-control__shadow-color),0 0 4px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);outline:none;padding:.65rem .85rem;font-weight:300}.proton-ui__theme--dark .proton-Dialog{background-color:var(--proton-control__background-color-light)}.proton-Dialog__header{color:var(--proton-control__title-color);margin-bottom:.3rem}.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);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-ui__theme--dark .proton-Input{background-color:var(--proton-control__background-color-light)}.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);opacity:1;font-size:.75rem;transform:translateY(-140%)}.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary);opacity:1}.proton-CheckboxInput__container{align-items:center;gap:8px;display:flex}.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);width:18px;height:18px;transition:background-color .1s ease-in-out,border-color .1s ease-in-out,box-shadow .1s ease-in-out;position:relative;margin:0!important}.proton-CheckboxInput__input:checked{background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:checked:after{content:"";border:solid var(--proton-color__white);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.proton-CheckboxInput__input:indeterminate{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:focus{box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input: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:focus{box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error: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: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-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__background-color-light)}.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-Modal{background-color:var(--proton-control__background-color);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}.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-ui__theme--dark .proton-Modal{background-color:var(--proton-control__background-color-light)}.proton-Popover{--slide:translateY(.8rem);transform-origin:var(--radix-popover-content-transform-origin);background-color:var(--proton-control__background-color);border-radius:var(--proton-control__border-radius);box-shadow:0 0 20px 0 var(--proton-control__shadow-color),0 0 4px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);max-height:var(--radix-popover-content-available-height);outline:none;padding:.65rem .85rem;font-weight:300;animation:.2s cubic-bezier(.16,1,.3,1) popoverSlideAndFade}@keyframes popoverSlideAndFade{0%{opacity:0;transform:scale(.8)var(--slide)}to{opacity:1;transform:scale(1)translateY(0)}}.arrow{fill:var(--proton-control__background-color);width:.6rem;height:.4rem}.proton-Popover__constrained{width:var(--radix-popover-trigger-width)}.proton-Popover[data-side=top]{--slide:translateY(.8rem)}.proton-Popover[data-side=bottom]{--slide:translateY(-.8rem)}.proton-Popover[data-side=right]{--slide:translateX(-.8rem)}.proton-Popover[data-side=left]{--slide:translateX(.8rem)}.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);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;overflow:hidden}.proton-Switch{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-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:700}.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{background-color:var(--proton-control__background-color);color:var(--proton-control__text-color)}[data-radix-popper-content-wrapper]{z-index:10000!important}.proton__Tooltip-trigger{display:inherit}.proton__Tooltip-arrow{fill:var(--proton-control__background-color)}.proton__Tooltip[data-state=delayed-open],.proton__Tooltip[data-state=instant-open]{animation:.2s slide}.proton__Tooltip[data-state=closed]{animation:.2s reverse slide}@keyframes slide{0%{opacity:0;transform:var(--origin)}to{opacity:1;transform:translate(0)}}.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{-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{background:var(--proton-control__background-color);color:var(--proton-control__text-color);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{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-control__interactive-color);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:25%;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__white)}.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-left:1px solid var(--proton-color__gray-light);color:var(--proton-color__gray-dark);text-align:center;border-radius:0;flex:1;padding:.5em 1em}.proton-ButtonGroup__option:first-child{border-left:0}.proton-ButtonGroup__option--selected{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--selected+.proton-ButtonGroup__option{border-left:1px solid #0000}.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}.proton-Menu{--menu-bg-color:var(--proton-control__background-color);--menu-item-bg-color:var(--proton-control__background-color);letter-spacing:.05em;border-radius:var(--proton-control__border-radius);background:var(--menu-bg-color);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-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-light);opacity:.75}.proton-Menu__item[aria-selected=true]{--menu-item-bg-color:var(--proton-color__primary-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-light);opacity:.75}.proton-Menu__item[data-state=checked]{--menu-item-bg-color:var(--proton-color__primary-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-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-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__background-color-light);-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);--tw-backdrop-blur:blur(15px);width:100%;height:100%;transition:background-color .2s ease-in-out,-webkit-backdrop-filter .2s ease-in-out,backdrop-filter .2s ease-in-out}@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-Dialog{background-color:var(--proton-control__background-color);border-radius:var(--proton-control__border-radius);box-shadow:0 0 20px 0 var(--proton-control__shadow-color),0 0 4px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);outline:none;padding:.65rem .85rem;font-weight:300}.proton-ui__theme--dark .proton-Dialog{background-color:var(--proton-control__background-color-light)}.proton-Dialog__header{color:var(--proton-control__title-color);margin-bottom:.3rem}.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);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-ui__theme--dark .proton-Input{background-color:var(--proton-control__background-color-light)}.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);opacity:1;font-size:.75rem;transform:translateY(-140%)}.proton-Input:focus+.proton-Input__label{color:var(--proton-color__primary);opacity:1}.proton-CheckboxInput__container{align-items:center;gap:8px;display:flex}.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-color .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:checked,.proton-CheckboxInput__input[data-state=checked]{background-color:var(--proton-color__primary);border-color:var(--proton-color__primary)}.proton-CheckboxInput__input:checked:after{content:"";border:solid var(--proton-color__white);border-width:0 2px 2px 0;width:5px;height:10px;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)rotate(45deg)}.proton-CheckboxInput__input--round:checked:after{background-color:var(--proton-color__white);border:none;border-radius:50%;width:8px;height:8px;top:50%;transform:translate(-50%,-50%)}.proton-CheckboxInput__input:indeterminate{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:focus{box-shadow:0 0 0 2px var(--proton-color__primary);outline:none}.proton-CheckboxInput__input: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:focus{box-shadow:0 0 0 2px var(--proton-color__danger-medium)}.proton-CheckboxInput__input--error: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:checked,.proton-CheckboxInput__input:disabled[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__indicator{border:solid var(--proton-color__white);border-width:0 2px 2px 0;width:5px;height:10px;transform:rotate(45deg)}.proton-CheckboxInput__input--round .proton-CheckboxRadioGroup__indicator{background-color:var(--proton-color__white);border:none;border-radius:50%;height:5px;transform:none}.proton-CheckboxRadioGroup__description{color:var(--proton-control__text-color);opacity:.7;margin-left:26px;font-size:.875em}.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__background-color-light)}.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-Modal{background-color:var(--proton-control__background-color);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}.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-ui__theme--dark .proton-Modal{background-color:var(--proton-control__background-color-light)}.proton-Popover{--slide:translateY(.8rem);transform-origin:var(--radix-popover-content-transform-origin);background-color:var(--proton-control__background-color);border-radius:var(--proton-control__border-radius);box-shadow:0 0 20px 0 var(--proton-control__shadow-color),0 0 4px 0 var(--proton-control__shadow-color);color:var(--proton-control__text-color);max-height:var(--radix-popover-content-available-height);outline:none;padding:.65rem .85rem;font-weight:300;animation:.2s cubic-bezier(.16,1,.3,1) popoverSlideAndFade}@keyframes popoverSlideAndFade{0%{opacity:0;transform:scale(.8)var(--slide)}to{opacity:1;transform:scale(1)translateY(0)}}.arrow{fill:var(--proton-control__background-color);width:.6rem;height:.4rem}.proton-Popover__constrained{width:var(--radix-popover-trigger-width)}.proton-Popover[data-side=top]{--slide:translateY(.8rem)}.proton-Popover[data-side=bottom]{--slide:translateY(-.8rem)}.proton-Popover[data-side=right]{--slide:translateX(-.8rem)}.proton-Popover[data-side=left]{--slide:translateX(.8rem)}.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);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;overflow:hidden}.proton-Switch{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-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:700}.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{background-color:var(--proton-control__background-color);color:var(--proton-control__text-color)}[data-radix-popper-content-wrapper]{z-index:10000!important}.proton__Tooltip-trigger{display:inherit}.proton__Tooltip-arrow{fill:var(--proton-control__background-color)}.proton__Tooltip[data-state=delayed-open],.proton__Tooltip[data-state=instant-open]{animation:.2s slide}.proton__Tooltip[data-state=closed]{animation:.2s reverse slide}@keyframes slide{0%{opacity:0;transform:var(--origin)}to{opacity:1;transform:translate(0)}}.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}
|
package/package.json
CHANGED
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../../node_modules/react/jsx-runtime.cjs.js"),d=require("react");;/* empty css */const x=require("../../../utils/string.cjs.js"),b=d.forwardRef(({checked:a,defaultChecked:k,onChange:n,name:s,value:v,isDisabled:u=!1,isRequired:p=!1,id:m,"data-testid":I,label:o,description:i,error:t,indeterminate:l=!1},R)=>{const y=d.useRef(null),r=R||y,h=a!==void 0;d.useEffect(()=>{r.current&&(r.current.indeterminate=l)},[l,r]);const _=g=>{n==null||n(g.target.checked)},f=m||`${s}-checkbox`,c=typeof t=="string"?`${s}-error`:void 0,j=typeof i=="string"?`${s}-description`:void 0;return e.jsxRuntimeExports.jsxs("div",{children:[e.jsxRuntimeExports.jsx("div",{className:x.csx(u&&"proton-CheckboxInput--disabled"),children:e.jsxRuntimeExports.jsxs("div",{className:"proton-CheckboxInput__container",children:[typeof o=="string"?e.jsxRuntimeExports.jsx("label",{htmlFor:f,className:"proton-CheckboxInput__label",children:o}):o,e.jsxRuntimeExports.jsx("input",{ref:r,id:f,name:s,type:"checkbox",checked:h?a:void 0,defaultChecked:h?void 0:k,value:v,disabled:u,required:p,onChange:_,className:x.csx("proton-CheckboxInput__input",t&&"proton-CheckboxInput__input--error"),"aria-label":o?void 0:s,"aria-invalid":!!t,"aria-errormessage":c,"aria-describedby":[c,j].filter(Boolean).join(" ")||void 0,"data-testid":I}),typeof i=="string"?e.jsxRuntimeExports.jsxs("div",{id:j,"aria-live":"polite",children:[i,p&&e.jsxRuntimeExports.jsx("span",{"aria-hidden":"true",children:" *"})]}):i]})}),typeof t=="string"?e.jsxRuntimeExports.jsx("div",{role:"alert",className:x.csx("proton-CheckboxInput__error"),id:c,children:t}):t]})});b.displayName="ProtonUICheckboxInput";exports.CheckboxInput=b;
|
|
2
|
-
//# sourceMappingURL=CheckboxInput.cjs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxInput.cjs.js","sources":["../../../../src/components/Input/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { forwardRef, useEffect, useRef } from \"react\";\n\nimport { csx } from \"../../../utils\";\nimport \"./CheckboxInput.css\";\n\nexport interface CheckboxInputProps {\n /**\n * Whether the checkbox is checked (controlled mode).\n */\n checked?: boolean;\n\n /**\n * Whether the checkbox is checked by default (uncontrolled mode).\n */\n defaultChecked?: boolean;\n\n /** The error attribute of the checkbox input. */\n error?: React.ReactNode | string;\n\n /** The description attribute of the checkbox input. */\n description?: React.ReactNode | string;\n\n /** The test id attribute of the checkbox input. */\n \"data-testid\"?: string;\n\n /**\n * Callback fired when the checkbox state changes.\n */\n onChange?: (checked: boolean) => void;\n\n /**\n * Whether the checkbox is in an indeterminate state. Used for checkboxes that are neither checked nor unchecked.\n * @default false\n * @external https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/indeterminate\n * @reference @external https://medium.com/indigoag-eng/indeterminate-checkboxes-are-weird-704b246c0f19\n */\n indeterminate?: boolean;\n\n /** The id attribute of the checkbox input. */\n id?: string;\n\n /** Whether the checkbox is disabled. \n * @default false\n */\n isDisabled?: boolean;\n\n /** Whether the checkbox is required. \n * @default false\n */\n isRequired?: boolean;\n\n /** The name attribute of the checkbox input. */\n name: string;\n\n /** The label attribute of the checkbox input. */\n label?: string | React.ReactNode;\n\n /**\n * The value attribute of the checkbox input (for form submission).\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value\n */\n value?: string;\n}\n\n/**\n * A checkbox input component with support for labels, descriptions, error states, and controlled/uncontrolled modes.\n *\n * API:\n * - {@link CheckboxInputProps}\n */\nexport const CheckboxInput = forwardRef<HTMLInputElement, CheckboxInputProps>(\n (\n {\n checked: controlledChecked,\n defaultChecked,\n onChange,\n name,\n value,\n isDisabled = false,\n isRequired = false,\n id,\n \"data-testid\": testId,\n label,\n description,\n error,\n indeterminate = false,\n },\n forwardedRef: React.RefObject<HTMLInputElement>\n ) => {\n const checkboxRef = useRef<HTMLInputElement>(null);\n const ref = forwardedRef || checkboxRef;\n const isControlled = controlledChecked !== undefined;\n\n // indeterminate state can only be set via JS\n useEffect(() => {\n if (ref.current) {\n ref.current.indeterminate = indeterminate;\n }\n }, [indeterminate, ref]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n const checkboxId = id || `${name}-checkbox`;\n const errorId = typeof error === \"string\" ? `${name}-error` : undefined;\n const descriptionId =\n typeof description === \"string\" ? `${name}-description` : undefined;\n\n return (\n <div>\n <div className={csx(isDisabled && \"proton-CheckboxInput--disabled\")}>\n <div className=\"proton-CheckboxInput__container\">\n {typeof label === \"string\" ? (\n <label\n htmlFor={checkboxId}\n className=\"proton-CheckboxInput__label\"\n >\n {label}\n </label>\n ) : (\n label\n )}\n\n <input\n ref={ref}\n id={checkboxId}\n name={name}\n type=\"checkbox\"\n checked={isControlled ? controlledChecked : undefined}\n defaultChecked={!isControlled ? defaultChecked : undefined}\n value={value}\n disabled={isDisabled}\n required={isRequired}\n onChange={handleChange}\n className={csx(\n \"proton-CheckboxInput__input\",\n error && \"proton-CheckboxInput__input--error\"\n )}\n aria-label={!label ? name : undefined}\n aria-invalid={Boolean(error)}\n aria-errormessage={errorId}\n aria-describedby={\n [errorId, descriptionId].filter(Boolean).join(\" \") || undefined\n }\n data-testid={testId}\n />\n\n {typeof description === \"string\" ? (\n <div id={descriptionId} aria-live=\"polite\">\n {description}\n {isRequired && <span aria-hidden=\"true\"> *</span>}\n </div>\n ) : (\n description\n )}\n </div>\n </div>\n\n {typeof error === \"string\" ? (\n <div\n role=\"alert\"\n className={csx(\"proton-CheckboxInput__error\")}\n id={errorId}\n >\n {error}\n </div>\n ) : (\n error\n )}\n </div>\n );\n }\n);\n\nCheckboxInput.displayName = \"ProtonUICheckboxInput\";\n"],"names":["CheckboxInput","forwardRef","controlledChecked","defaultChecked","onChange","name","value","isDisabled","isRequired","id","testId","label","description","error","indeterminate","forwardedRef","checkboxRef","useRef","ref","isControlled","useEffect","handleChange","e","checkboxId","errorId","descriptionId","jsx","csx","jsxs"],"mappings":"2PAwEaA,EAAgBC,EAAA,WAC3B,CACE,CACE,QAASC,EACT,eAAAC,EACA,SAAAC,EACA,KAAAC,EACA,MAAAC,EACA,WAAAC,EAAa,GACb,WAAAC,EAAa,GACb,GAAAC,EACA,cAAeC,EACf,MAAAC,EACA,YAAAC,EACA,MAAAC,EACA,cAAAC,EAAgB,IAElBC,IACG,CACG,MAAAC,EAAcC,SAAyB,IAAI,EAC3CC,EAAMH,GAAgBC,EACtBG,EAAejB,IAAsB,OAG3CkB,EAAAA,UAAU,IAAM,CACVF,EAAI,UACNA,EAAI,QAAQ,cAAgBJ,EAC9B,EACC,CAACA,EAAeI,CAAG,CAAC,EAEjB,MAAAG,EAAgBC,GAA2C,CACpDlB,GAAA,MAAAA,EAAAkB,EAAE,OAAO,QAAO,EAGvBC,EAAad,GAAM,GAAGJ,CAAI,YAC1BmB,EAAU,OAAOX,GAAU,SAAW,GAAGR,CAAI,SAAW,OACxDoB,EACJ,OAAOb,GAAgB,SAAW,GAAGP,CAAI,eAAiB,OAE5D,gCACG,MACC,CAAA,SAAA,CAACqB,EAAAA,kBAAAA,IAAA,MAAA,CAAI,UAAWC,EAAI,IAAApB,GAAc,gCAAgC,EAChE,SAAAqB,EAAA,kBAAA,KAAC,MAAI,CAAA,UAAU,kCACZ,SAAA,CAAA,OAAOjB,GAAU,SAChBe,EAAA,kBAAA,IAAC,QAAA,CACC,QAASH,EACT,UAAU,8BAET,SAAAZ,CAAA,CAAA,EAGHA,EAGFe,EAAA,kBAAA,IAAC,QAAA,CACC,IAAAR,EACA,GAAIK,EACJ,KAAAlB,EACA,KAAK,WACL,QAASc,EAAejB,EAAoB,OAC5C,eAAiBiB,EAAgC,OAAjBhB,EAChC,MAAAG,EACA,SAAUC,EACV,SAAUC,EACV,SAAUa,EACV,UAAWM,EAAA,IACT,8BACAd,GAAS,oCACX,EACA,aAAaF,EAAe,OAAPN,EACrB,eAAc,EAAQQ,EACtB,oBAAmBW,EACnB,mBACE,CAACA,EAASC,CAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,GAAK,OAExD,cAAaf,CAAA,CACf,EAEC,OAAOE,GAAgB,SACtBgB,EAAAA,kBAAAA,KAAC,OAAI,GAAIH,EAAe,YAAU,SAC/B,SAAA,CAAAb,EACAJ,GAAckB,EAAA,kBAAA,IAAC,OAAK,CAAA,cAAY,OAAO,SAAO,KAAA,CAAA,CAAA,CACjD,EAEAd,CAAA,CAAA,CAEJ,CACF,CAAA,EAEC,OAAOC,GAAU,SAChBa,EAAA,kBAAA,IAAC,MAAA,CACC,KAAK,QACL,UAAWC,MAAI,6BAA6B,EAC5C,GAAIH,EAEH,SAAAX,CAAA,CAAA,EAGHA,CAEJ,CAAA,CAAA,CAEJ,CACF,EAEAb,EAAc,YAAc"}
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
import { j as e } from "../../../node_modules/react/jsx-runtime.es.js";
|
|
2
|
-
import { forwardRef as C, useRef as N, useEffect as g } from "react";
|
|
3
|
-
/* empty css */
|
|
4
|
-
import { csx as n } from "../../../utils/string.es.js";
|
|
5
|
-
const R = C(
|
|
6
|
-
({
|
|
7
|
-
checked: a,
|
|
8
|
-
defaultChecked: b,
|
|
9
|
-
onChange: c,
|
|
10
|
-
name: o,
|
|
11
|
-
value: k,
|
|
12
|
-
isDisabled: p = !1,
|
|
13
|
-
isRequired: l = !1,
|
|
14
|
-
id: v,
|
|
15
|
-
"data-testid": m,
|
|
16
|
-
label: i,
|
|
17
|
-
description: r,
|
|
18
|
-
error: t,
|
|
19
|
-
indeterminate: x = !1
|
|
20
|
-
}, I) => {
|
|
21
|
-
const j = N(null), s = I || j, h = a !== void 0;
|
|
22
|
-
g(() => {
|
|
23
|
-
s.current && (s.current.indeterminate = x);
|
|
24
|
-
}, [x, s]);
|
|
25
|
-
const _ = (y) => {
|
|
26
|
-
c == null || c(y.target.checked);
|
|
27
|
-
}, f = v || `${o}-checkbox`, d = typeof t == "string" ? `${o}-error` : void 0, u = typeof r == "string" ? `${o}-description` : void 0;
|
|
28
|
-
return /* @__PURE__ */ e.jsxs("div", { children: [
|
|
29
|
-
/* @__PURE__ */ e.jsx("div", { className: n(p && "proton-CheckboxInput--disabled"), children: /* @__PURE__ */ e.jsxs("div", { className: "proton-CheckboxInput__container", children: [
|
|
30
|
-
typeof i == "string" ? /* @__PURE__ */ e.jsx(
|
|
31
|
-
"label",
|
|
32
|
-
{
|
|
33
|
-
htmlFor: f,
|
|
34
|
-
className: "proton-CheckboxInput__label",
|
|
35
|
-
children: i
|
|
36
|
-
}
|
|
37
|
-
) : i,
|
|
38
|
-
/* @__PURE__ */ e.jsx(
|
|
39
|
-
"input",
|
|
40
|
-
{
|
|
41
|
-
ref: s,
|
|
42
|
-
id: f,
|
|
43
|
-
name: o,
|
|
44
|
-
type: "checkbox",
|
|
45
|
-
checked: h ? a : void 0,
|
|
46
|
-
defaultChecked: h ? void 0 : b,
|
|
47
|
-
value: k,
|
|
48
|
-
disabled: p,
|
|
49
|
-
required: l,
|
|
50
|
-
onChange: _,
|
|
51
|
-
className: n(
|
|
52
|
-
"proton-CheckboxInput__input",
|
|
53
|
-
t && "proton-CheckboxInput__input--error"
|
|
54
|
-
),
|
|
55
|
-
"aria-label": i ? void 0 : o,
|
|
56
|
-
"aria-invalid": !!t,
|
|
57
|
-
"aria-errormessage": d,
|
|
58
|
-
"aria-describedby": [d, u].filter(Boolean).join(" ") || void 0,
|
|
59
|
-
"data-testid": m
|
|
60
|
-
}
|
|
61
|
-
),
|
|
62
|
-
typeof r == "string" ? /* @__PURE__ */ e.jsxs("div", { id: u, "aria-live": "polite", children: [
|
|
63
|
-
r,
|
|
64
|
-
l && /* @__PURE__ */ e.jsx("span", { "aria-hidden": "true", children: " *" })
|
|
65
|
-
] }) : r
|
|
66
|
-
] }) }),
|
|
67
|
-
typeof t == "string" ? /* @__PURE__ */ e.jsx(
|
|
68
|
-
"div",
|
|
69
|
-
{
|
|
70
|
-
role: "alert",
|
|
71
|
-
className: n("proton-CheckboxInput__error"),
|
|
72
|
-
id: d,
|
|
73
|
-
children: t
|
|
74
|
-
}
|
|
75
|
-
) : t
|
|
76
|
-
] });
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
R.displayName = "ProtonUICheckboxInput";
|
|
80
|
-
export {
|
|
81
|
-
R as CheckboxInput
|
|
82
|
-
};
|
|
83
|
-
//# sourceMappingURL=CheckboxInput.es.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"CheckboxInput.es.js","sources":["../../../../src/components/Input/CheckboxInput/CheckboxInput.tsx"],"sourcesContent":["\"use client\";\n\nimport React, { forwardRef, useEffect, useRef } from \"react\";\n\nimport { csx } from \"../../../utils\";\nimport \"./CheckboxInput.css\";\n\nexport interface CheckboxInputProps {\n /**\n * Whether the checkbox is checked (controlled mode).\n */\n checked?: boolean;\n\n /**\n * Whether the checkbox is checked by default (uncontrolled mode).\n */\n defaultChecked?: boolean;\n\n /** The error attribute of the checkbox input. */\n error?: React.ReactNode | string;\n\n /** The description attribute of the checkbox input. */\n description?: React.ReactNode | string;\n\n /** The test id attribute of the checkbox input. */\n \"data-testid\"?: string;\n\n /**\n * Callback fired when the checkbox state changes.\n */\n onChange?: (checked: boolean) => void;\n\n /**\n * Whether the checkbox is in an indeterminate state. Used for checkboxes that are neither checked nor unchecked.\n * @default false\n * @external https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/indeterminate\n * @reference @external https://medium.com/indigoag-eng/indeterminate-checkboxes-are-weird-704b246c0f19\n */\n indeterminate?: boolean;\n\n /** The id attribute of the checkbox input. */\n id?: string;\n\n /** Whether the checkbox is disabled. \n * @default false\n */\n isDisabled?: boolean;\n\n /** Whether the checkbox is required. \n * @default false\n */\n isRequired?: boolean;\n\n /** The name attribute of the checkbox input. */\n name: string;\n\n /** The label attribute of the checkbox input. */\n label?: string | React.ReactNode;\n\n /**\n * The value attribute of the checkbox input (for form submission).\n * @external https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/checkbox#value\n */\n value?: string;\n}\n\n/**\n * A checkbox input component with support for labels, descriptions, error states, and controlled/uncontrolled modes.\n *\n * API:\n * - {@link CheckboxInputProps}\n */\nexport const CheckboxInput = forwardRef<HTMLInputElement, CheckboxInputProps>(\n (\n {\n checked: controlledChecked,\n defaultChecked,\n onChange,\n name,\n value,\n isDisabled = false,\n isRequired = false,\n id,\n \"data-testid\": testId,\n label,\n description,\n error,\n indeterminate = false,\n },\n forwardedRef: React.RefObject<HTMLInputElement>\n ) => {\n const checkboxRef = useRef<HTMLInputElement>(null);\n const ref = forwardedRef || checkboxRef;\n const isControlled = controlledChecked !== undefined;\n\n // indeterminate state can only be set via JS\n useEffect(() => {\n if (ref.current) {\n ref.current.indeterminate = indeterminate;\n }\n }, [indeterminate, ref]);\n\n const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n onChange?.(e.target.checked);\n };\n\n const checkboxId = id || `${name}-checkbox`;\n const errorId = typeof error === \"string\" ? `${name}-error` : undefined;\n const descriptionId =\n typeof description === \"string\" ? `${name}-description` : undefined;\n\n return (\n <div>\n <div className={csx(isDisabled && \"proton-CheckboxInput--disabled\")}>\n <div className=\"proton-CheckboxInput__container\">\n {typeof label === \"string\" ? (\n <label\n htmlFor={checkboxId}\n className=\"proton-CheckboxInput__label\"\n >\n {label}\n </label>\n ) : (\n label\n )}\n\n <input\n ref={ref}\n id={checkboxId}\n name={name}\n type=\"checkbox\"\n checked={isControlled ? controlledChecked : undefined}\n defaultChecked={!isControlled ? defaultChecked : undefined}\n value={value}\n disabled={isDisabled}\n required={isRequired}\n onChange={handleChange}\n className={csx(\n \"proton-CheckboxInput__input\",\n error && \"proton-CheckboxInput__input--error\"\n )}\n aria-label={!label ? name : undefined}\n aria-invalid={Boolean(error)}\n aria-errormessage={errorId}\n aria-describedby={\n [errorId, descriptionId].filter(Boolean).join(\" \") || undefined\n }\n data-testid={testId}\n />\n\n {typeof description === \"string\" ? (\n <div id={descriptionId} aria-live=\"polite\">\n {description}\n {isRequired && <span aria-hidden=\"true\"> *</span>}\n </div>\n ) : (\n description\n )}\n </div>\n </div>\n\n {typeof error === \"string\" ? (\n <div\n role=\"alert\"\n className={csx(\"proton-CheckboxInput__error\")}\n id={errorId}\n >\n {error}\n </div>\n ) : (\n error\n )}\n </div>\n );\n }\n);\n\nCheckboxInput.displayName = \"ProtonUICheckboxInput\";\n"],"names":["CheckboxInput","forwardRef","controlledChecked","defaultChecked","onChange","name","value","isDisabled","isRequired","id","testId","label","description","error","indeterminate","forwardedRef","checkboxRef","useRef","ref","isControlled","useEffect","handleChange","e","checkboxId","errorId","descriptionId","jsx","csx","jsxs"],"mappings":";;;;AAwEO,MAAMA,IAAgBC;AAAA,EAC3B,CACE;AAAA,IACE,SAASC;AAAA,IACT,gBAAAC;AAAA,IACA,UAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,YAAAC,IAAa;AAAA,IACb,YAAAC,IAAa;AAAA,IACb,IAAAC;AAAA,IACA,eAAeC;AAAA,IACf,OAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,eAAAC,IAAgB;AAAA,KAElBC,MACG;AACG,UAAAC,IAAcC,EAAyB,IAAI,GAC3CC,IAAMH,KAAgBC,GACtBG,IAAejB,MAAsB;AAG3C,IAAAkB,EAAU,MAAM;AACd,MAAIF,EAAI,YACNA,EAAI,QAAQ,gBAAgBJ;AAAA,IAC9B,GACC,CAACA,GAAeI,CAAG,CAAC;AAEjB,UAAAG,IAAe,CAACC,MAA2C;AACpD,MAAAlB,KAAA,QAAAA,EAAAkB,EAAE,OAAO;AAAA,IAAO,GAGvBC,IAAad,KAAM,GAAGJ,CAAI,aAC1BmB,IAAU,OAAOX,KAAU,WAAW,GAAGR,CAAI,WAAW,QACxDoB,IACJ,OAAOb,KAAgB,WAAW,GAAGP,CAAI,iBAAiB;AAE5D,kCACG,OACC,EAAA,UAAA;AAAA,MAACqB,gBAAAA,EAAAA,IAAA,OAAA,EAAI,WAAWC,EAAIpB,KAAc,gCAAgC,GAChE,UAAAqB,gBAAAA,EAAA,KAAC,OAAI,EAAA,WAAU,mCACZ,UAAA;AAAA,QAAA,OAAOjB,KAAU,WAChBe,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,SAASH;AAAA,YACT,WAAU;AAAA,YAET,UAAAZ;AAAA,UAAA;AAAA,QAAA,IAGHA;AAAA,QAGFe,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,KAAAR;AAAA,YACA,IAAIK;AAAA,YACJ,MAAAlB;AAAA,YACA,MAAK;AAAA,YACL,SAASc,IAAejB,IAAoB;AAAA,YAC5C,gBAAiBiB,IAAgC,SAAjBhB;AAAA,YAChC,OAAAG;AAAA,YACA,UAAUC;AAAA,YACV,UAAUC;AAAA,YACV,UAAUa;AAAA,YACV,WAAWM;AAAA,cACT;AAAA,cACAd,KAAS;AAAA,YACX;AAAA,YACA,cAAaF,IAAe,SAAPN;AAAA,YACrB,gBAAc,EAAQQ;AAAA,YACtB,qBAAmBW;AAAA,YACnB,oBACE,CAACA,GAASC,CAAa,EAAE,OAAO,OAAO,EAAE,KAAK,GAAG,KAAK;AAAA,YAExD,eAAaf;AAAA,UAAA;AAAA,QACf;AAAA,QAEC,OAAOE,KAAgB,WACtBgB,gBAAAA,EAAAA,KAAC,SAAI,IAAIH,GAAe,aAAU,UAC/B,UAAA;AAAA,UAAAb;AAAA,UACAJ,KAAckB,gBAAAA,EAAA,IAAC,QAAK,EAAA,eAAY,QAAO,UAAO,MAAA;AAAA,QAAA,EAAA,CACjD,IAEAd;AAAA,MAAA,EAAA,CAEJ,EACF,CAAA;AAAA,MAEC,OAAOC,KAAU,WAChBa,gBAAAA,EAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,MAAK;AAAA,UACL,WAAWC,EAAI,6BAA6B;AAAA,UAC5C,IAAIH;AAAA,UAEH,UAAAX;AAAA,QAAA;AAAA,MAAA,IAGHA;AAAA,IAEJ,EAAA,CAAA;AAAA,EAEJ;AACF;AAEAb,EAAc,cAAc;"}
|