@protonradio/proton-ui 0.11.13-beta.3 → 0.11.13-beta.4
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/Text/TextEmphasis/TextEmphasis.cjs.js.map +1 -1
- package/dist/components/Text/TextEmphasis/TextEmphasis.es.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.cjs.js +1 -1
- package/dist/components/Tooltip/Tooltip.cjs.js.map +1 -1
- package/dist/components/Tooltip/Tooltip.es.js +19 -19
- package/dist/components/Tooltip/Tooltip.es.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/style.css +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEmphasis.cjs.js","sources":["../../../../src/components/Text/TextEmphasis/TextEmphasis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { Tooltip, TooltipProps } from \"../../Tooltip/Tooltip\";\r\nimport {\r\n handleInternalNavigation,\r\n isUrlExternal,\r\n} from \"../../../utils/navigation\";\r\n\r\ninterface TextEmphasisProps {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n */\r\n tooltipProps?: Omit<TooltipProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n *\r\n * API:\r\n * - {@link TextEmphasisProps}\r\n */\r\nexport const TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <Tooltip delay={50} {...tooltipProps}>\r\n {children}\r\n </Tooltip>\r\n ) : (\r\n children\r\n );\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n"],"names":["TextEmphasis","to","children","tooltipProps","testId","themeClassName","useTheme","content","jsx","Tooltip","isExternal","isUrlExternal","csx","e","handleInternalNavigation"],"mappings":"
|
|
1
|
+
{"version":3,"file":"TextEmphasis.cjs.js","sources":["../../../../src/components/Text/TextEmphasis/TextEmphasis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { Tooltip, TooltipProps } from \"../../Tooltip/Tooltip\";\r\nimport {\r\n handleInternalNavigation,\r\n isUrlExternal,\r\n} from \"../../../utils/navigation\";\r\n\r\ninterface TextEmphasisProps {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n * @see {@link TooltipProps}\r\n */\r\n tooltipProps?: Omit<TooltipProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n *\r\n * API:\r\n * - {@link TextEmphasisProps}\r\n */\r\nexport const TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <Tooltip delay={50} {...tooltipProps}>\r\n {children}\r\n </Tooltip>\r\n ) : (\r\n children\r\n );\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n"],"names":["TextEmphasis","to","children","tooltipProps","testId","themeClassName","useTheme","content","jsx","Tooltip","isExternal","isUrlExternal","csx","e","handleInternalNavigation"],"mappings":"uWAuCaA,EAAe,CAAC,CAC3B,GAAAC,EACA,SAAAC,EACA,aAAAC,EACA,cAAeC,CACjB,IAAyB,CACvB,KAAM,CAAE,UAAWC,CAAe,EAAIC,EAAS,SAAA,EAEzCC,EAAUJ,EACbK,EAAA,kBAAA,IAAAC,EAAA,QAAA,CAAQ,MAAO,GAAK,GAAGN,EACrB,SAAAD,CACH,CAAA,EAEAA,EAGF,GAAID,EAAI,CACA,MAAAS,EAAaC,gBAAcV,CAAE,EAEjC,OAAAO,EAAA,kBAAA,IAAC,OAAA,CACC,UAAWI,EAAA,IACT,sBACAT,GAAgB,+BAChBE,CACF,EAEA,SAAAG,EAAA,kBAAA,IAAC,IAAA,CACC,cAAaJ,EACb,KAAMH,EACN,OAAQS,EAAa,SAAW,OAChC,IAAKA,EAAa,sBAAwB,OAC1C,QACGA,EAAsD,OAAxCG,GAAMC,EAAyB,yBAAAD,EAAGZ,CAAE,EAGpD,SAAAM,CAAA,CACH,CAAA,CAAA,CAGN,CAGE,OAAAC,EAAA,kBAAA,IAAC,OAAA,CACC,UAAWI,EAAA,IACT,sBACAT,GAAgB,+BAChBE,CACF,EACA,cAAaD,EAEZ,SAAAG,CAAA,CAAA,CAGP"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TextEmphasis.es.js","sources":["../../../../src/components/Text/TextEmphasis/TextEmphasis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { Tooltip, TooltipProps } from \"../../Tooltip/Tooltip\";\r\nimport {\r\n handleInternalNavigation,\r\n isUrlExternal,\r\n} from \"../../../utils/navigation\";\r\n\r\ninterface TextEmphasisProps {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n */\r\n tooltipProps?: Omit<TooltipProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n *\r\n * API:\r\n * - {@link TextEmphasisProps}\r\n */\r\nexport const TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <Tooltip delay={50} {...tooltipProps}>\r\n {children}\r\n </Tooltip>\r\n ) : (\r\n children\r\n );\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n"],"names":["TextEmphasis","to","children","tooltipProps","testId","themeClassName","useTheme","content","jsx","Tooltip","isExternal","isUrlExternal","csx","e","handleInternalNavigation"],"mappings":";;;;;;
|
|
1
|
+
{"version":3,"file":"TextEmphasis.es.js","sources":["../../../../src/components/Text/TextEmphasis/TextEmphasis.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport { ReactNode } from \"react\";\r\nimport \"./TextEmphasis.css\";\r\n\r\nimport { csx } from \"../../../utils\";\r\nimport { useTheme } from \"../../ThemeProvider\";\r\nimport { Tooltip, TooltipProps } from \"../../Tooltip/Tooltip\";\r\nimport {\r\n handleInternalNavigation,\r\n isUrlExternal,\r\n} from \"../../../utils/navigation\";\r\n\r\ninterface TextEmphasisProps {\r\n /**\r\n * The URL that the text emphasis should link to. Turns the element into an `a` tag.\r\n */\r\n to?: string;\r\n /**\r\n * The content to display within the text emphasis.\r\n */\r\n children: ReactNode;\r\n /**\r\n * Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.\r\n * @see {@link TooltipProps}\r\n */\r\n tooltipProps?: Omit<TooltipProps, \"children\">;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n}\r\n\r\n/**\r\n * A component that displays text with emphasis. Provide tooltipProps to wrap the text in a tooltip trigger.\r\n *\r\n * API:\r\n * - {@link TextEmphasisProps}\r\n */\r\nexport const TextEmphasis = ({\r\n to,\r\n children,\r\n tooltipProps,\r\n \"data-testid\": testId,\r\n}: TextEmphasisProps) => {\r\n const { className: themeClassName } = useTheme();\r\n\r\n const content = tooltipProps ? (\r\n <Tooltip delay={50} {...tooltipProps}>\r\n {children}\r\n </Tooltip>\r\n ) : (\r\n children\r\n );\r\n\r\n if (to) {\r\n const isExternal = isUrlExternal(to);\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n >\r\n <a\r\n data-testid={testId}\r\n href={to}\r\n target={isExternal ? \"_blank\" : undefined}\r\n rel={isExternal ? \"noopener noreferrer\" : undefined}\r\n onClick={\r\n !isExternal ? (e) => handleInternalNavigation(e, to) : undefined\r\n }\r\n >\r\n {content}\r\n </a>\r\n </span>\r\n );\r\n }\r\n\r\n return (\r\n <span\r\n className={csx(\r\n \"proton-TextEmphasis\",\r\n tooltipProps && \"proton-TextEmphasis--tooltip\",\r\n themeClassName\r\n )}\r\n data-testid={testId}\r\n >\r\n {content}\r\n </span>\r\n );\r\n};\r\n"],"names":["TextEmphasis","to","children","tooltipProps","testId","themeClassName","useTheme","content","jsx","Tooltip","isExternal","isUrlExternal","csx","e","handleInternalNavigation"],"mappings":";;;;;;AAuCO,MAAMA,IAAe,CAAC;AAAA,EAC3B,IAAAC;AAAA,EACA,UAAAC;AAAA,EACA,cAAAC;AAAA,EACA,eAAeC;AACjB,MAAyB;AACvB,QAAM,EAAE,WAAWC,EAAe,IAAIC,EAAS,GAEzCC,IAAUJ,IACbK,gBAAAA,EAAA,IAAAC,GAAA,EAAQ,OAAO,IAAK,GAAGN,GACrB,UAAAD,EACH,CAAA,IAEAA;AAGF,MAAID,GAAI;AACA,UAAAS,IAAaC,EAAcV,CAAE;AAEjC,WAAAO,gBAAAA,EAAA;AAAA,MAAC;AAAA,MAAA;AAAA,QACC,WAAWI;AAAA,UACT;AAAA,UACAT,KAAgB;AAAA,UAChBE;AAAA,QACF;AAAA,QAEA,UAAAG,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,eAAaJ;AAAA,YACb,MAAMH;AAAA,YACN,QAAQS,IAAa,WAAW;AAAA,YAChC,KAAKA,IAAa,wBAAwB;AAAA,YAC1C,SACGA,IAAsD,SAAzC,CAACG,MAAMC,EAAyBD,GAAGZ,CAAE;AAAA,YAGpD,UAAAM;AAAA,UAAA;AAAA,QACH;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN;AAGE,SAAAC,gBAAAA,EAAA;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,WAAWI;AAAA,QACT;AAAA,QACAT,KAAgB;AAAA,QAChBE;AAAA,MACF;AAAA,MACA,eAAaD;AAAA,MAEZ,UAAAG;AAAA,IAAA;AAAA,EAAA;AAGP;"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../node_modules/react/jsx-runtime.cjs.js"),
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("../../node_modules/react/jsx-runtime.cjs.js"),l=require("react"),e=require("radix-ui"),v=require("../ThemeProvider.cjs.js");;/* empty css */;/* empty css */const f=require("../../utils/string.cjs.js"),T=l.forwardRef(({content:a,arrow:r,placement:s="top","data-testid":u},p)=>{const{style:i,className:o}=v.useTheme();return t.jsxRuntimeExports.jsxs(e.Tooltip.Content,{ref:p,side:s,className:f.csx("proton__Tooltip","proton-Dialog",o),style:i,sideOffset:8,"data-testid":u,children:[a,r&&t.jsxRuntimeExports.jsx(e.Tooltip.Arrow,{className:f.csx("proton__Tooltip-arrow",o),width:8,height:8,children:t.jsxRuntimeExports.jsx("svg",{width:8,height:8,viewBox:"0 0 8 8",children:t.jsxRuntimeExports.jsx("path",{d:"M0 0 L4 4 L8 0"})})})]})});T.displayName="TooltipContent";function R({arrow:a=!0,children:r,content:s,delay:u=100,placement:p="top",isDisabled:i,defaultOpen:o=!1,onOpenChange:d,disableTriggerClick:j,"data-testid":g}){const[x,h]=l.useState(o),n=l.useRef(!1),m=l.useRef(!1);if(s==="")return null;const E=c=>{c&&!n.current&&(m.current=!0),d&&d(c),n.current||h(c),n.current=!1};return t.jsxRuntimeExports.jsx(e.Tooltip.Provider,{children:t.jsxRuntimeExports.jsxs(e.Tooltip.Root,{open:x,defaultOpen:o,onOpenChange:E,delayDuration:u,children:[t.jsxRuntimeExports.jsx(e.Tooltip.Trigger,{asChild:!0,children:j?t.jsxRuntimeExports.jsx("span",{"aria-label":"Show tooltip",className:"proton__Tooltip-trigger",children:r}):t.jsxRuntimeExports.jsx("div",{role:"button","aria-label":"Show tooltip","data-hovered":x,onClick:()=>{j||i||m.current||(n.current=!0,h(!x))},className:"proton__Tooltip-trigger",children:r})}),!i&&t.jsxRuntimeExports.jsx(e.Tooltip.Portal,{children:t.jsxRuntimeExports.jsx(T,{content:s,placement:p,arrow:a,"data-testid":g})})]})})}R.displayName="Tooltip";exports.Tooltip=R;
|
|
2
2
|
//# sourceMappingURL=Tooltip.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.cjs.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { ReactNode } from \"react\";\r\nimport { Tooltip as RadixTooltip } from \"radix-ui\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport { csx } from \"../../utils\";\r\nimport \"../Dialog/Dialog.css\";\r\nimport \"./Tooltip.css\";\r\n\r\nexport type TooltipPlacement = \"top\" | \"bottom\" | \"left\" | \"right\";\r\n\r\nexport interface TooltipContentProps {\r\n content: string | ReactNode;\r\n arrow?: boolean;\r\n placement?: TooltipPlacement;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentProps>(\r\n ({ content, arrow, placement = \"top\", \"data-testid\": testId }, ref) => {\r\n const { style, className } = useTheme();\r\n\r\n return (\r\n <RadixTooltip.Content\r\n ref={ref}\r\n side={placement}\r\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\r\n style={style as React.CSSProperties}\r\n sideOffset={8}\r\n data-testid={testId}\r\n >\r\n {content}\r\n {arrow && (\r\n <RadixTooltip.Arrow\r\n className={csx(\"proton__Tooltip-arrow\", className)}\r\n width={8}\r\n height={8}\r\n >\r\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\r\n <path d=\"M0 0 L4 4 L8 0\" />\r\n </svg>\r\n </RadixTooltip.Arrow>\r\n )}\r\n </RadixTooltip.Content>\r\n );\r\n }\r\n);\r\n\r\nTooltipContent.displayName = \"TooltipContent\";\r\n\r\nexport interface TooltipProps {\r\n /**\r\n * Whether to show an arrow pointing to the tooltip.\r\n * @default true\r\n */\r\n arrow?: boolean;\r\n /**\r\n * The children to display in the tooltip.\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * The content to display in the tooltip. Zero-length titles string are never displayed.\r\n */\r\n content: string | React.ReactNode;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n /**\r\n * The placement of the tooltip.\r\n * @default \"bottom\"\r\n */\r\n placement?: TooltipPlacement;\r\n /**\r\n * Whether to disable the trigger click feature.\r\n * This is useful when using an info only Tooltip that might wrap a clickable element.\r\n */\r\n disableTriggerClick?: boolean;\r\n /**\r\n * Whether the tooltip is disabled.\r\n */\r\n isDisabled?: boolean;\r\n /**\r\n * Delay before showing the tooltip (in milliseconds).\r\n * @default 100\r\n */\r\n delay?: number;\r\n /**\r\n * Whether the tooltip is open by default.\r\n * @default false\r\n */\r\n defaultOpen?: boolean;\r\n /**\r\n * The callback function to call when the tooltip is opened or closed.\r\n */\r\n onOpenChange?: (open: boolean) => void;\r\n}\r\n\r\n/**\r\n * A component that displays a tooltip when the user hovers over the trigger.\r\n * For mobile, use Popover instead.\r\n * API:\r\n * - {@link TooltipProps}\r\n *\r\n * @example\r\n * ```tsx\r\n <Tooltipcontent={...} placement=\"top\" arrow isDisabled={disabled}>\r\n {children}\r\n </Tooltip>\r\n * ```\r\n */\r\nexport function Tooltip({\r\n arrow = true,\r\n children,\r\n content,\r\n delay = 100,\r\n placement = \"top\",\r\n isDisabled,\r\n defaultOpen = false,\r\n onOpenChange,\r\n disableTriggerClick,\r\n \"data-testid\": testId,\r\n}: TooltipProps) {\r\n const [isOpen, setIsOpen] = React.useState(defaultOpen);\r\n const triggerClickRef = React.useRef<boolean>(false);\r\n const hasHovered = React.useRef<boolean>(false);\r\n\r\n if (content === \"\") return null;\r\n\r\n const handleOpenChange = (openState: boolean) => {\r\n // When opened via hover, we want to disable the trigger click feature as it causes\r\n // the tooltip state to get out of sync with the trigger state.\r\n if (openState && !triggerClickRef.current) hasHovered.current = true;\r\n\r\n if (onOpenChange) onOpenChange(openState);\r\n\r\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\r\n // it again here.\r\n if (!triggerClickRef.current) setIsOpen(openState);\r\n triggerClickRef.current = false;\r\n };\r\n\r\n return (\r\n <RadixTooltip.Provider>\r\n <RadixTooltip.Root\r\n open={isOpen}\r\n defaultOpen={defaultOpen}\r\n onOpenChange={handleOpenChange}\r\n delayDuration={delay}\r\n >\r\n <RadixTooltip.Trigger asChild>\r\n {disableTriggerClick ? (\r\n <span aria-label=\"Show tooltip\" className=\"proton__Tooltip-trigger\">\r\n {children}\r\n </span>\r\n ) : (\r\n <div\r\n role=\"button\"\r\n aria-label=\"Show tooltip\"\r\n data-hovered={isOpen}\r\n onClick={() => {\r\n if (disableTriggerClick || isDisabled) return;\r\n\r\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\r\n // so we can safely disable the trigger click feature.\r\n if (hasHovered.current) return;\r\n\r\n triggerClickRef.current = true;\r\n setIsOpen(!isOpen);\r\n }}\r\n className=\"proton__Tooltip-trigger\"\r\n >\r\n {children}\r\n </div>\r\n )}\r\n </RadixTooltip.Trigger>\r\n <RadixTooltip.Portal>\r\n
|
|
1
|
+
{"version":3,"file":"Tooltip.cjs.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { ReactNode } from \"react\";\r\nimport { Tooltip as RadixTooltip } from \"radix-ui\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport { csx } from \"../../utils\";\r\nimport \"../Dialog/Dialog.css\";\r\nimport \"./Tooltip.css\";\r\n\r\nexport type TooltipPlacement = \"top\" | \"bottom\" | \"left\" | \"right\";\r\n\r\nexport interface TooltipContentProps {\r\n content: string | ReactNode;\r\n arrow?: boolean;\r\n placement?: TooltipPlacement;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentProps>(\r\n ({ content, arrow, placement = \"top\", \"data-testid\": testId }, ref) => {\r\n const { style, className } = useTheme();\r\n\r\n return (\r\n <RadixTooltip.Content\r\n ref={ref}\r\n side={placement}\r\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\r\n style={style as React.CSSProperties}\r\n sideOffset={8}\r\n data-testid={testId}\r\n >\r\n {content}\r\n {arrow && (\r\n <RadixTooltip.Arrow\r\n className={csx(\"proton__Tooltip-arrow\", className)}\r\n width={8}\r\n height={8}\r\n >\r\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\r\n <path d=\"M0 0 L4 4 L8 0\" />\r\n </svg>\r\n </RadixTooltip.Arrow>\r\n )}\r\n </RadixTooltip.Content>\r\n );\r\n }\r\n);\r\n\r\nTooltipContent.displayName = \"TooltipContent\";\r\n\r\nexport interface TooltipProps {\r\n /**\r\n * Whether to show an arrow pointing to the tooltip.\r\n * @default true\r\n */\r\n arrow?: boolean;\r\n /**\r\n * The children to display in the tooltip.\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * The content to display in the tooltip. Zero-length titles string are never displayed.\r\n */\r\n content: string | React.ReactNode;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n /**\r\n * The placement of the tooltip.\r\n * @default \"bottom\"\r\n */\r\n placement?: TooltipPlacement;\r\n /**\r\n * Whether to disable the trigger click feature.\r\n * This is useful when using an info only Tooltip that might wrap a clickable element.\r\n */\r\n disableTriggerClick?: boolean;\r\n /**\r\n * Whether the tooltip is disabled.\r\n */\r\n isDisabled?: boolean;\r\n /**\r\n * Delay before showing the tooltip (in milliseconds).\r\n * @default 100\r\n */\r\n delay?: number;\r\n /**\r\n * Whether the tooltip is open by default.\r\n * @default false\r\n */\r\n defaultOpen?: boolean;\r\n /**\r\n * The callback function to call when the tooltip is opened or closed.\r\n */\r\n onOpenChange?: (open: boolean) => void;\r\n}\r\n\r\n/**\r\n * A component that displays a tooltip when the user hovers over the trigger.\r\n * For mobile, use Popover instead.\r\n * API:\r\n * - {@link TooltipProps}\r\n *\r\n * @example\r\n * ```tsx\r\n <Tooltipcontent={...} placement=\"top\" arrow isDisabled={disabled}>\r\n {children}\r\n </Tooltip>\r\n * ```\r\n */\r\nexport function Tooltip({\r\n arrow = true,\r\n children,\r\n content,\r\n delay = 100,\r\n placement = \"top\",\r\n isDisabled,\r\n defaultOpen = false,\r\n onOpenChange,\r\n disableTriggerClick,\r\n \"data-testid\": testId,\r\n}: TooltipProps) {\r\n const [isOpen, setIsOpen] = React.useState(defaultOpen);\r\n const triggerClickRef = React.useRef<boolean>(false);\r\n const hasHovered = React.useRef<boolean>(false);\r\n\r\n if (content === \"\") return null;\r\n\r\n const handleOpenChange = (openState: boolean) => {\r\n // When opened via hover, we want to disable the trigger click feature as it causes\r\n // the tooltip state to get out of sync with the trigger state.\r\n if (openState && !triggerClickRef.current) hasHovered.current = true;\r\n\r\n if (onOpenChange) onOpenChange(openState);\r\n\r\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\r\n // it again here.\r\n if (!triggerClickRef.current) setIsOpen(openState);\r\n triggerClickRef.current = false;\r\n };\r\n\r\n return (\r\n <RadixTooltip.Provider>\r\n <RadixTooltip.Root\r\n open={isOpen}\r\n defaultOpen={defaultOpen}\r\n onOpenChange={handleOpenChange}\r\n delayDuration={delay}\r\n >\r\n <RadixTooltip.Trigger asChild>\r\n {disableTriggerClick ? (\r\n <span aria-label=\"Show tooltip\" className=\"proton__Tooltip-trigger\">\r\n {children}\r\n </span>\r\n ) : (\r\n <div\r\n role=\"button\"\r\n aria-label=\"Show tooltip\"\r\n data-hovered={isOpen}\r\n onClick={() => {\r\n if (disableTriggerClick || isDisabled) return;\r\n\r\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\r\n // so we can safely disable the trigger click feature.\r\n if (hasHovered.current) return;\r\n\r\n triggerClickRef.current = true;\r\n setIsOpen(!isOpen);\r\n }}\r\n className=\"proton__Tooltip-trigger\"\r\n >\r\n {children}\r\n </div>\r\n )}\r\n </RadixTooltip.Trigger>\r\n {!isDisabled && (\r\n <RadixTooltip.Portal>\r\n <TooltipContent\r\n content={content}\r\n placement={placement}\r\n arrow={arrow}\r\n data-testid={testId}\r\n />\r\n </RadixTooltip.Portal>\r\n )}\r\n </RadixTooltip.Root>\r\n </RadixTooltip.Provider>\r\n );\r\n}\r\n\r\nTooltip.displayName = \"Tooltip\";\r\n"],"names":["TooltipContent","React","content","arrow","placement","testId","ref","style","className","useTheme","jsxs","RadixTooltip","csx","jsx","Tooltip","children","delay","isDisabled","defaultOpen","onOpenChange","disableTriggerClick","isOpen","setIsOpen","triggerClickRef","hasHovered","handleOpenChange","openState"],"mappings":"iVAkBMA,EAAiBC,EAAM,WAC3B,CAAC,CAAE,QAAAC,EAAS,MAAAC,EAAO,UAAAC,EAAY,MAAO,cAAeC,CAAO,EAAGC,IAAQ,CACrE,KAAM,CAAE,MAAAC,EAAO,UAAAC,CAAU,EAAIC,EAAS,SAAA,EAGpC,OAAAC,EAAA,kBAAA,KAACC,EAAAA,QAAa,QAAb,CACC,IAAAL,EACA,KAAMF,EACN,UAAWQ,EAAA,IAAI,kBAAmB,gBAAiBJ,CAAS,EAC5D,MAAAD,EACA,WAAY,EACZ,cAAaF,EAEZ,SAAA,CAAAH,EACAC,GACCU,EAAA,kBAAA,IAACF,EAAAA,QAAa,MAAb,CACC,UAAWC,EAAAA,IAAI,wBAAyBJ,CAAS,EACjD,MAAO,EACP,OAAQ,EAER,SAACK,EAAA,kBAAA,IAAA,MAAA,CAAI,MAAO,EAAG,OAAQ,EAAG,QAAQ,UAChC,SAACA,EAAAA,kBAAAA,IAAA,OAAA,CAAK,EAAE,gBAAiB,CAAA,EAC3B,CAAA,CACF,CAAA,CAAA,CAAA,CAIR,CACF,EAEAb,EAAe,YAAc,iBA+DtB,SAASc,EAAQ,CACtB,MAAAX,EAAQ,GACR,SAAAY,EACA,QAAAb,EACA,MAAAc,EAAQ,IACR,UAAAZ,EAAY,MACZ,WAAAa,EACA,YAAAC,EAAc,GACd,aAAAC,EACA,oBAAAC,EACA,cAAef,CACjB,EAAiB,CACf,KAAM,CAACgB,EAAQC,CAAS,EAAIrB,EAAM,SAASiB,CAAW,EAChDK,EAAkBtB,EAAM,OAAgB,EAAK,EAC7CuB,EAAavB,EAAM,OAAgB,EAAK,EAE1C,GAAAC,IAAY,GAAW,OAAA,KAErB,MAAAuB,EAAoBC,GAAuB,CAG3CA,GAAa,CAACH,EAAgB,YAAoB,QAAU,IAE5DJ,KAA2BO,CAAS,EAInCH,EAAgB,SAASD,EAAUI,CAAS,EACjDH,EAAgB,QAAU,EAAA,EAI1B,OAAAV,EAAA,kBAAA,IAACF,EAAa,QAAA,SAAb,CACC,SAAAD,EAAA,kBAAA,KAACC,EAAAA,QAAa,KAAb,CACC,KAAMU,EACN,YAAAH,EACA,aAAcO,EACd,cAAeT,EAEf,SAAA,CAAAH,EAAA,kBAAA,IAACF,EAAa,QAAA,QAAb,CAAqB,QAAO,GAC1B,SAAAS,EACEP,EAAAA,kBAAAA,IAAA,OAAA,CAAK,aAAW,eAAe,UAAU,0BACvC,SAAAE,CACH,CAAA,EAEAF,EAAA,kBAAA,IAAC,MAAA,CACC,KAAK,SACL,aAAW,eACX,eAAcQ,EACd,QAAS,IAAM,CACTD,GAAuBH,GAIvBO,EAAW,UAEfD,EAAgB,QAAU,GAC1BD,EAAU,CAACD,CAAM,EACnB,EACA,UAAU,0BAET,SAAAN,CAAA,CAAA,EAGP,EACC,CAACE,GACCJ,EAAAA,kBAAAA,IAAAF,EAAAA,QAAa,OAAb,CACC,SAAAE,EAAA,kBAAA,IAACb,EAAA,CACC,QAAAE,EACA,UAAAE,EACA,MAAAD,EACA,cAAaE,CAAA,CAAA,EAEjB,CAAA,CAAA,CAGN,CAAA,CAAA,CAEJ,CAEAS,EAAQ,YAAc"}
|
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import { j as t } from "../../node_modules/react/jsx-runtime.es.js";
|
|
2
|
-
import
|
|
2
|
+
import n from "react";
|
|
3
3
|
import { Tooltip as o } from "radix-ui";
|
|
4
4
|
import { useTheme as _ } from "../ThemeProvider.es.js";
|
|
5
5
|
/* empty css */
|
|
6
6
|
/* empty css */
|
|
7
7
|
import { csx as j } from "../../utils/string.es.js";
|
|
8
|
-
const g =
|
|
9
|
-
({ content:
|
|
10
|
-
const { style:
|
|
8
|
+
const g = n.forwardRef(
|
|
9
|
+
({ content: l, arrow: e, placement: s = "top", "data-testid": p }, d) => {
|
|
10
|
+
const { style: i, className: r } = _();
|
|
11
11
|
return /* @__PURE__ */ t.jsxs(
|
|
12
12
|
o.Content,
|
|
13
13
|
{
|
|
14
|
-
ref:
|
|
14
|
+
ref: d,
|
|
15
15
|
side: s,
|
|
16
16
|
className: j("proton__Tooltip", "proton-Dialog", r),
|
|
17
|
-
style:
|
|
17
|
+
style: i,
|
|
18
18
|
sideOffset: 8,
|
|
19
|
-
"data-testid":
|
|
19
|
+
"data-testid": p,
|
|
20
20
|
children: [
|
|
21
|
-
|
|
21
|
+
l,
|
|
22
22
|
e && /* @__PURE__ */ t.jsx(
|
|
23
23
|
o.Arrow,
|
|
24
24
|
{
|
|
@@ -35,21 +35,21 @@ const g = a.forwardRef(
|
|
|
35
35
|
);
|
|
36
36
|
g.displayName = "TooltipContent";
|
|
37
37
|
function N({
|
|
38
|
-
arrow:
|
|
38
|
+
arrow: l = !0,
|
|
39
39
|
children: e,
|
|
40
40
|
content: s,
|
|
41
|
-
delay:
|
|
42
|
-
placement:
|
|
43
|
-
isDisabled:
|
|
41
|
+
delay: p = 100,
|
|
42
|
+
placement: d = "top",
|
|
43
|
+
isDisabled: i,
|
|
44
44
|
defaultOpen: r = !1,
|
|
45
45
|
onOpenChange: f,
|
|
46
46
|
disableTriggerClick: h,
|
|
47
47
|
"data-testid": T
|
|
48
48
|
}) {
|
|
49
|
-
const [c, m] =
|
|
49
|
+
const [c, m] = n.useState(r), a = n.useRef(!1), x = n.useRef(!1);
|
|
50
50
|
if (s === "") return null;
|
|
51
51
|
const w = (u) => {
|
|
52
|
-
u && !
|
|
52
|
+
u && !a.current && (x.current = !0), f && f(u), a.current || m(u), a.current = !1;
|
|
53
53
|
};
|
|
54
54
|
return /* @__PURE__ */ t.jsx(o.Provider, { children: /* @__PURE__ */ t.jsxs(
|
|
55
55
|
o.Root,
|
|
@@ -57,7 +57,7 @@ function N({
|
|
|
57
57
|
open: c,
|
|
58
58
|
defaultOpen: r,
|
|
59
59
|
onOpenChange: w,
|
|
60
|
-
delayDuration:
|
|
60
|
+
delayDuration: p,
|
|
61
61
|
children: [
|
|
62
62
|
/* @__PURE__ */ t.jsx(o.Trigger, { asChild: !0, children: h ? /* @__PURE__ */ t.jsx("span", { "aria-label": "Show tooltip", className: "proton__Tooltip-trigger", children: e }) : /* @__PURE__ */ t.jsx(
|
|
63
63
|
"div",
|
|
@@ -66,18 +66,18 @@ function N({
|
|
|
66
66
|
"aria-label": "Show tooltip",
|
|
67
67
|
"data-hovered": c,
|
|
68
68
|
onClick: () => {
|
|
69
|
-
h ||
|
|
69
|
+
h || i || x.current || (a.current = !0, m(!c));
|
|
70
70
|
},
|
|
71
71
|
className: "proton__Tooltip-trigger",
|
|
72
72
|
children: e
|
|
73
73
|
}
|
|
74
74
|
) }),
|
|
75
|
-
/* @__PURE__ */ t.jsx(o.Portal, { children: /* @__PURE__ */ t.jsx(
|
|
75
|
+
!i && /* @__PURE__ */ t.jsx(o.Portal, { children: /* @__PURE__ */ t.jsx(
|
|
76
76
|
g,
|
|
77
77
|
{
|
|
78
78
|
content: s,
|
|
79
|
-
placement:
|
|
80
|
-
arrow:
|
|
79
|
+
placement: d,
|
|
80
|
+
arrow: l,
|
|
81
81
|
"data-testid": T
|
|
82
82
|
}
|
|
83
83
|
) })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Tooltip.es.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { ReactNode } from \"react\";\r\nimport { Tooltip as RadixTooltip } from \"radix-ui\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport { csx } from \"../../utils\";\r\nimport \"../Dialog/Dialog.css\";\r\nimport \"./Tooltip.css\";\r\n\r\nexport type TooltipPlacement = \"top\" | \"bottom\" | \"left\" | \"right\";\r\n\r\nexport interface TooltipContentProps {\r\n content: string | ReactNode;\r\n arrow?: boolean;\r\n placement?: TooltipPlacement;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentProps>(\r\n ({ content, arrow, placement = \"top\", \"data-testid\": testId }, ref) => {\r\n const { style, className } = useTheme();\r\n\r\n return (\r\n <RadixTooltip.Content\r\n ref={ref}\r\n side={placement}\r\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\r\n style={style as React.CSSProperties}\r\n sideOffset={8}\r\n data-testid={testId}\r\n >\r\n {content}\r\n {arrow && (\r\n <RadixTooltip.Arrow\r\n className={csx(\"proton__Tooltip-arrow\", className)}\r\n width={8}\r\n height={8}\r\n >\r\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\r\n <path d=\"M0 0 L4 4 L8 0\" />\r\n </svg>\r\n </RadixTooltip.Arrow>\r\n )}\r\n </RadixTooltip.Content>\r\n );\r\n }\r\n);\r\n\r\nTooltipContent.displayName = \"TooltipContent\";\r\n\r\nexport interface TooltipProps {\r\n /**\r\n * Whether to show an arrow pointing to the tooltip.\r\n * @default true\r\n */\r\n arrow?: boolean;\r\n /**\r\n * The children to display in the tooltip.\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * The content to display in the tooltip. Zero-length titles string are never displayed.\r\n */\r\n content: string | React.ReactNode;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n /**\r\n * The placement of the tooltip.\r\n * @default \"bottom\"\r\n */\r\n placement?: TooltipPlacement;\r\n /**\r\n * Whether to disable the trigger click feature.\r\n * This is useful when using an info only Tooltip that might wrap a clickable element.\r\n */\r\n disableTriggerClick?: boolean;\r\n /**\r\n * Whether the tooltip is disabled.\r\n */\r\n isDisabled?: boolean;\r\n /**\r\n * Delay before showing the tooltip (in milliseconds).\r\n * @default 100\r\n */\r\n delay?: number;\r\n /**\r\n * Whether the tooltip is open by default.\r\n * @default false\r\n */\r\n defaultOpen?: boolean;\r\n /**\r\n * The callback function to call when the tooltip is opened or closed.\r\n */\r\n onOpenChange?: (open: boolean) => void;\r\n}\r\n\r\n/**\r\n * A component that displays a tooltip when the user hovers over the trigger.\r\n * For mobile, use Popover instead.\r\n * API:\r\n * - {@link TooltipProps}\r\n *\r\n * @example\r\n * ```tsx\r\n <Tooltipcontent={...} placement=\"top\" arrow isDisabled={disabled}>\r\n {children}\r\n </Tooltip>\r\n * ```\r\n */\r\nexport function Tooltip({\r\n arrow = true,\r\n children,\r\n content,\r\n delay = 100,\r\n placement = \"top\",\r\n isDisabled,\r\n defaultOpen = false,\r\n onOpenChange,\r\n disableTriggerClick,\r\n \"data-testid\": testId,\r\n}: TooltipProps) {\r\n const [isOpen, setIsOpen] = React.useState(defaultOpen);\r\n const triggerClickRef = React.useRef<boolean>(false);\r\n const hasHovered = React.useRef<boolean>(false);\r\n\r\n if (content === \"\") return null;\r\n\r\n const handleOpenChange = (openState: boolean) => {\r\n // When opened via hover, we want to disable the trigger click feature as it causes\r\n // the tooltip state to get out of sync with the trigger state.\r\n if (openState && !triggerClickRef.current) hasHovered.current = true;\r\n\r\n if (onOpenChange) onOpenChange(openState);\r\n\r\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\r\n // it again here.\r\n if (!triggerClickRef.current) setIsOpen(openState);\r\n triggerClickRef.current = false;\r\n };\r\n\r\n return (\r\n <RadixTooltip.Provider>\r\n <RadixTooltip.Root\r\n open={isOpen}\r\n defaultOpen={defaultOpen}\r\n onOpenChange={handleOpenChange}\r\n delayDuration={delay}\r\n >\r\n <RadixTooltip.Trigger asChild>\r\n {disableTriggerClick ? (\r\n <span aria-label=\"Show tooltip\" className=\"proton__Tooltip-trigger\">\r\n {children}\r\n </span>\r\n ) : (\r\n <div\r\n role=\"button\"\r\n aria-label=\"Show tooltip\"\r\n data-hovered={isOpen}\r\n onClick={() => {\r\n if (disableTriggerClick || isDisabled) return;\r\n\r\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\r\n // so we can safely disable the trigger click feature.\r\n if (hasHovered.current) return;\r\n\r\n triggerClickRef.current = true;\r\n setIsOpen(!isOpen);\r\n }}\r\n className=\"proton__Tooltip-trigger\"\r\n >\r\n {children}\r\n </div>\r\n )}\r\n </RadixTooltip.Trigger>\r\n <RadixTooltip.Portal>\r\n
|
|
1
|
+
{"version":3,"file":"Tooltip.es.js","sources":["../../../src/components/Tooltip/Tooltip.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport React, { ReactNode } from \"react\";\r\nimport { Tooltip as RadixTooltip } from \"radix-ui\";\r\nimport { useTheme } from \"../ThemeProvider\";\r\nimport { csx } from \"../../utils\";\r\nimport \"../Dialog/Dialog.css\";\r\nimport \"./Tooltip.css\";\r\n\r\nexport type TooltipPlacement = \"top\" | \"bottom\" | \"left\" | \"right\";\r\n\r\nexport interface TooltipContentProps {\r\n content: string | ReactNode;\r\n arrow?: boolean;\r\n placement?: TooltipPlacement;\r\n \"data-testid\"?: string;\r\n}\r\n\r\nconst TooltipContent = React.forwardRef<HTMLDivElement, TooltipContentProps>(\r\n ({ content, arrow, placement = \"top\", \"data-testid\": testId }, ref) => {\r\n const { style, className } = useTheme();\r\n\r\n return (\r\n <RadixTooltip.Content\r\n ref={ref}\r\n side={placement}\r\n className={csx(\"proton__Tooltip\", \"proton-Dialog\", className)}\r\n style={style as React.CSSProperties}\r\n sideOffset={8}\r\n data-testid={testId}\r\n >\r\n {content}\r\n {arrow && (\r\n <RadixTooltip.Arrow\r\n className={csx(\"proton__Tooltip-arrow\", className)}\r\n width={8}\r\n height={8}\r\n >\r\n <svg width={8} height={8} viewBox=\"0 0 8 8\">\r\n <path d=\"M0 0 L4 4 L8 0\" />\r\n </svg>\r\n </RadixTooltip.Arrow>\r\n )}\r\n </RadixTooltip.Content>\r\n );\r\n }\r\n);\r\n\r\nTooltipContent.displayName = \"TooltipContent\";\r\n\r\nexport interface TooltipProps {\r\n /**\r\n * Whether to show an arrow pointing to the tooltip.\r\n * @default true\r\n */\r\n arrow?: boolean;\r\n /**\r\n * The children to display in the tooltip.\r\n */\r\n children: React.ReactNode;\r\n /**\r\n * The content to display in the tooltip. Zero-length titles string are never displayed.\r\n */\r\n content: string | React.ReactNode;\r\n /**\r\n * A test ID.\r\n */\r\n \"data-testid\"?: string;\r\n /**\r\n * The placement of the tooltip.\r\n * @default \"bottom\"\r\n */\r\n placement?: TooltipPlacement;\r\n /**\r\n * Whether to disable the trigger click feature.\r\n * This is useful when using an info only Tooltip that might wrap a clickable element.\r\n */\r\n disableTriggerClick?: boolean;\r\n /**\r\n * Whether the tooltip is disabled.\r\n */\r\n isDisabled?: boolean;\r\n /**\r\n * Delay before showing the tooltip (in milliseconds).\r\n * @default 100\r\n */\r\n delay?: number;\r\n /**\r\n * Whether the tooltip is open by default.\r\n * @default false\r\n */\r\n defaultOpen?: boolean;\r\n /**\r\n * The callback function to call when the tooltip is opened or closed.\r\n */\r\n onOpenChange?: (open: boolean) => void;\r\n}\r\n\r\n/**\r\n * A component that displays a tooltip when the user hovers over the trigger.\r\n * For mobile, use Popover instead.\r\n * API:\r\n * - {@link TooltipProps}\r\n *\r\n * @example\r\n * ```tsx\r\n <Tooltipcontent={...} placement=\"top\" arrow isDisabled={disabled}>\r\n {children}\r\n </Tooltip>\r\n * ```\r\n */\r\nexport function Tooltip({\r\n arrow = true,\r\n children,\r\n content,\r\n delay = 100,\r\n placement = \"top\",\r\n isDisabled,\r\n defaultOpen = false,\r\n onOpenChange,\r\n disableTriggerClick,\r\n \"data-testid\": testId,\r\n}: TooltipProps) {\r\n const [isOpen, setIsOpen] = React.useState(defaultOpen);\r\n const triggerClickRef = React.useRef<boolean>(false);\r\n const hasHovered = React.useRef<boolean>(false);\r\n\r\n if (content === \"\") return null;\r\n\r\n const handleOpenChange = (openState: boolean) => {\r\n // When opened via hover, we want to disable the trigger click feature as it causes\r\n // the tooltip state to get out of sync with the trigger state.\r\n if (openState && !triggerClickRef.current) hasHovered.current = true;\r\n\r\n if (onOpenChange) onOpenChange(openState);\r\n\r\n // If the tooltip is clicked, it manually calls setIsOpen, so we don't want to call\r\n // it again here.\r\n if (!triggerClickRef.current) setIsOpen(openState);\r\n triggerClickRef.current = false;\r\n };\r\n\r\n return (\r\n <RadixTooltip.Provider>\r\n <RadixTooltip.Root\r\n open={isOpen}\r\n defaultOpen={defaultOpen}\r\n onOpenChange={handleOpenChange}\r\n delayDuration={delay}\r\n >\r\n <RadixTooltip.Trigger asChild>\r\n {disableTriggerClick ? (\r\n <span aria-label=\"Show tooltip\" className=\"proton__Tooltip-trigger\">\r\n {children}\r\n </span>\r\n ) : (\r\n <div\r\n role=\"button\"\r\n aria-label=\"Show tooltip\"\r\n data-hovered={isOpen}\r\n onClick={() => {\r\n if (disableTriggerClick || isDisabled) return;\r\n\r\n // Once hovered it's safe to assume the user isn't trying to use via a touch device,\r\n // so we can safely disable the trigger click feature.\r\n if (hasHovered.current) return;\r\n\r\n triggerClickRef.current = true;\r\n setIsOpen(!isOpen);\r\n }}\r\n className=\"proton__Tooltip-trigger\"\r\n >\r\n {children}\r\n </div>\r\n )}\r\n </RadixTooltip.Trigger>\r\n {!isDisabled && (\r\n <RadixTooltip.Portal>\r\n <TooltipContent\r\n content={content}\r\n placement={placement}\r\n arrow={arrow}\r\n data-testid={testId}\r\n />\r\n </RadixTooltip.Portal>\r\n )}\r\n </RadixTooltip.Root>\r\n </RadixTooltip.Provider>\r\n );\r\n}\r\n\r\nTooltip.displayName = \"Tooltip\";\r\n"],"names":["TooltipContent","React","content","arrow","placement","testId","ref","style","className","useTheme","jsxs","RadixTooltip","csx","jsx","Tooltip","children","delay","isDisabled","defaultOpen","onOpenChange","disableTriggerClick","isOpen","setIsOpen","triggerClickRef","hasHovered","handleOpenChange","openState"],"mappings":";;;;;;;AAkBA,MAAMA,IAAiBC,EAAM;AAAA,EAC3B,CAAC,EAAE,SAAAC,GAAS,OAAAC,GAAO,WAAAC,IAAY,OAAO,eAAeC,EAAO,GAAGC,MAAQ;AACrE,UAAM,EAAE,OAAAC,GAAO,WAAAC,EAAU,IAAIC,EAAS;AAGpC,WAAAC,gBAAAA,EAAA;AAAA,MAACC,EAAa;AAAA,MAAb;AAAA,QACC,KAAAL;AAAA,QACA,MAAMF;AAAA,QACN,WAAWQ,EAAI,mBAAmB,iBAAiBJ,CAAS;AAAA,QAC5D,OAAAD;AAAA,QACA,YAAY;AAAA,QACZ,eAAaF;AAAA,QAEZ,UAAA;AAAA,UAAAH;AAAA,UACAC,KACCU,gBAAAA,EAAA;AAAA,YAACF,EAAa;AAAA,YAAb;AAAA,cACC,WAAWC,EAAI,yBAAyBJ,CAAS;AAAA,cACjD,OAAO;AAAA,cACP,QAAQ;AAAA,cAER,UAACK,gBAAAA,EAAA,IAAA,OAAA,EAAI,OAAO,GAAG,QAAQ,GAAG,SAAQ,WAChC,UAACA,gBAAAA,EAAAA,IAAA,QAAA,EAAK,GAAE,iBAAiB,CAAA,GAC3B;AAAA,YAAA;AAAA,UACF;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,EAIR;AACF;AAEAb,EAAe,cAAc;AA+DtB,SAASc,EAAQ;AAAA,EACtB,OAAAX,IAAQ;AAAA,EACR,UAAAY;AAAA,EACA,SAAAb;AAAA,EACA,OAAAc,IAAQ;AAAA,EACR,WAAAZ,IAAY;AAAA,EACZ,YAAAa;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,cAAAC;AAAA,EACA,qBAAAC;AAAA,EACA,eAAef;AACjB,GAAiB;AACf,QAAM,CAACgB,GAAQC,CAAS,IAAIrB,EAAM,SAASiB,CAAW,GAChDK,IAAkBtB,EAAM,OAAgB,EAAK,GAC7CuB,IAAavB,EAAM,OAAgB,EAAK;AAE1C,MAAAC,MAAY,GAAW,QAAA;AAErB,QAAAuB,IAAmB,CAACC,MAAuB;AAG/C,IAAIA,KAAa,CAACH,EAAgB,cAAoB,UAAU,KAE5DJ,OAA2BO,CAAS,GAInCH,EAAgB,WAASD,EAAUI,CAAS,GACjDH,EAAgB,UAAU;AAAA,EAAA;AAI1B,SAAAV,gBAAAA,EAAA,IAACF,EAAa,UAAb,EACC,UAAAD,gBAAAA,EAAA;AAAA,IAACC,EAAa;AAAA,IAAb;AAAA,MACC,MAAMU;AAAA,MACN,aAAAH;AAAA,MACA,cAAcO;AAAA,MACd,eAAeT;AAAA,MAEf,UAAA;AAAA,QAAAH,gBAAAA,EAAA,IAACF,EAAa,SAAb,EAAqB,SAAO,IAC1B,UAAAS,IACEP,gBAAAA,EAAAA,IAAA,QAAA,EAAK,cAAW,gBAAe,WAAU,2BACvC,UAAAE,EACH,CAAA,IAEAF,gBAAAA,EAAA;AAAA,UAAC;AAAA,UAAA;AAAA,YACC,MAAK;AAAA,YACL,cAAW;AAAA,YACX,gBAAcQ;AAAA,YACd,SAAS,MAAM;AACb,cAAID,KAAuBH,KAIvBO,EAAW,YAEfD,EAAgB,UAAU,IAC1BD,EAAU,CAACD,CAAM;AAAA,YACnB;AAAA,YACA,WAAU;AAAA,YAET,UAAAN;AAAA,UAAA;AAAA,QAAA,GAGP;AAAA,QACC,CAACE,KACCJ,gBAAAA,EAAAA,IAAAF,EAAa,QAAb,EACC,UAAAE,gBAAAA,EAAA;AAAA,UAACb;AAAA,UAAA;AAAA,YACC,SAAAE;AAAA,YACA,WAAAE;AAAA,YACA,OAAAD;AAAA,YACA,eAAaE;AAAA,UAAA;AAAA,QAAA,GAEjB;AAAA,MAAA;AAAA,IAAA;AAAA,EAGN,EAAA,CAAA;AAEJ;AAEAS,EAAQ,cAAc;"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1161,6 +1161,7 @@ declare interface TextEmphasisProps {
|
|
|
1161
1161
|
children: ReactNode;
|
|
1162
1162
|
/**
|
|
1163
1163
|
* Props to pass to the tooltip trigger. When provided, the text emphasis will be wrapped in a tooltip trigger.
|
|
1164
|
+
* @see {@link TooltipProps}
|
|
1164
1165
|
*/
|
|
1165
1166
|
tooltipProps?: Omit<TooltipProps, "children">;
|
|
1166
1167
|
/**
|
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:.75rem;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;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{box-shadow:inset 0 0 0 2px var(--proton-color__primary-light);outline:none}.proton-ButtonWithSelect__button{flex:var(--flex);align-items:stretch;display:flex}.proton-ButtonWithSelect__button button{border-top-right-radius:0;border-bottom-right-radius:0;align-items:center;display:flex;position:relative;overflow:hidden}.proton-ButtonWithSelect__button button: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{width:100%;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);min-height:40px;max-height:52px;color:var(--proton-control__text-color);border:none;flex:1;padding-left:.75rem;font-size:1.125rem;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-inner{width: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{opacity:.55;color:var(--proton-control__text-color);padding:.25rem 0;font-size:.75rem;font-weight:500}.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-CopyInput-button{all:unset;color:var(--proton-control__text-color);text-transform:uppercase;letter-spacing:.2em;justify-content:center;align-items:center;padding-left:.875rem;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}.proton-CopyInput-button-container{cursor:pointer;align-items:center;width:100%;height:100%;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-container{border-left:1px solid var(--proton-control__border-color);align-items:center;height:100%;transition:background-color .2s;display:flex}.proton-CopyInput-button-container: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)}radix-portal>div{z-index:10000;position:absolute}.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:.75rem;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;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{box-shadow:inset 0 0 0 2px var(--proton-color__primary-light);outline:none}.proton-ButtonWithSelect__button{flex:var(--flex);align-items:stretch;display:flex}.proton-ButtonWithSelect__button button{border-top-right-radius:0;border-bottom-right-radius:0;align-items:center;display:flex;position:relative;overflow:hidden}.proton-ButtonWithSelect__button button: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{width:100%;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);min-height:40px;max-height:52px;color:var(--proton-control__text-color);border:none;flex:1;padding-left:.75rem;font-size:1.125rem;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-inner{width: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{opacity:.55;color:var(--proton-control__text-color);padding:.25rem 0;font-size:.75rem;font-weight:500}.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-CopyInput-button{all:unset;color:var(--proton-control__text-color);text-transform:uppercase;letter-spacing:.2em;justify-content:center;align-items:center;padding-left:.875rem;font-size:.75rem;font-weight:600;line-height:1rem;display:flex}.proton-CopyInput-button-container{cursor:pointer;align-items:center;width:100%;height:100%;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-container{border-left:1px solid var(--proton-control__border-color);align-items:center;height:100%;transition:background-color .2s;display:flex}.proton-CopyInput-button-container: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}
|