@protonradio/proton-ui 0.11.31 → 0.11.32
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.
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../node_modules/react/jsx-runtime.cjs.js"),r=require("radix-ui");;/* empty css */const
|
|
1
|
+
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("../../node_modules/react/jsx-runtime.cjs.js"),r=require("radix-ui");;/* empty css */const P=require("../ThemeProvider.cjs.js"),f=require("../../utils/string.cjs.js");function s({trigger:i,children:n,open:a,isDisabled:t=!1,defaultOpen:x,onOpenChange:o,side:l="top",align:u="center",arrow:c=!1,constrainWidth:p=!1,"data-testid":d}){const{className:m,style:j}=P.useTheme();return e.jsxRuntimeExports.jsxs(r.Popover.Root,{open:t?!1:a,defaultOpen:x,onOpenChange:v=>{t||o==null||o(v)},children:[e.jsxRuntimeExports.jsx(r.Popover.Trigger,{asChild:!0,children:e.jsxRuntimeExports.jsx("div",{"aria-disabled":t,children:i})}),!t&&e.jsxRuntimeExports.jsx(r.Popover.Portal,{children:e.jsxRuntimeExports.jsxs(r.Popover.Content,{side:l,sideOffset:2,align:u,style:j,className:f.csx("proton-Popover",p&&"proton-Popover__constrained",m),"data-testid":d,children:[c&&e.jsxRuntimeExports.jsx(r.Popover.Arrow,{className:"arrow"}),n]})})]})}s.displayName="Popover";exports.Popover=s;
|
|
2
2
|
//# sourceMappingURL=Popover.cjs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.cjs.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["\"use client\";\n\nimport { Popover as RadixPopover } from \"radix-ui\";\nimport React, { CSSProperties } from \"react\";\nimport \"./Popover.css\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\n\nexport type PopoverSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type PopoverAlign = \"start\" | \"center\" | \"end\";\n\nexport interface PopoverProps {\n /**\n * Popover alignment\n * {@link PopoverAlign}\n */\n align?: PopoverAlign;\n /**\n * Show an arrow pointing to the trigger.\n */\n arrow?: boolean;\n /**\n * The content of the popover.\n */\n children: React.ReactNode;\n /**\n * Constrain the width of the popover to the width of the trigger.\n */\n constrainWidth?: boolean;\n /**\n * Default open state (uncontrolled mode).\n */\n defaultOpen?: boolean;\n /**\n * Test id for the popover content.\n */\n \"data-testid\"?: string;\n /**\n * Control open state (controlled mode).\n */\n open?: boolean;\n /**\n * Whether the popover is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Callback when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The trigger element for the popover.\n */\n trigger: React.ReactNode;\n /**\n * Popover side placement\n * {@link PopoverSide}\n */\n side?: PopoverSide;\n}\n\n/**\n * A popover component that handles positioning and supports controlled and uncontrolled modes.\n *\n * A popover displays interactive content in context with a trigger element.\n * A tooltip displays a description of an element on hover or focus.\n *\n * API:\n * - {@link PopoverProps}\n */\nexport function Popover({\n trigger,\n children,\n open,\n isDisabled = false,\n defaultOpen,\n onOpenChange,\n side = \"top\",\n align = \"center\",\n arrow = false,\n constrainWidth = false,\n \"data-testid\": testId,\n}: PopoverProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n return (\n <RadixPopover.Root\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <RadixPopover.Trigger asChild>\n <div>{trigger}</div>\n </RadixPopover.Trigger>\n\n {!isDisabled && (\n <RadixPopover.Portal>\n <RadixPopover.Content\n side={side}\n sideOffset={2}\n align={align}\n style={themeStyle as CSSProperties}\n className={csx(\n \"proton-Popover\",\n constrainWidth && \"proton-Popover__constrained\",\n themeClass,\n )}\n data-testid={testId}\n >\n {arrow && <RadixPopover.Arrow className=\"arrow\" />}\n {children}\n </RadixPopover.Content>\n </RadixPopover.Portal>\n )}\n </RadixPopover.Root>\n );\n}\n\nPopover.displayName = \"Popover\";\n"],"names":["Popover","trigger","children","open","isDisabled","defaultOpen","onOpenChange","side","align","arrow","constrainWidth","testId","themeClass","themeStyle","useTheme","jsxs","RadixPopover","jsx","csx"],"mappings":"uRAsEO,SAASA,EAAQ,CACtB,QAAAC,EACA,SAAAC,EACA,KAAAC,EACA,WAAAC,EAAa,GACb,YAAAC,EACA,aAAAC,EACA,KAAAC,EAAO,MACP,MAAAC,EAAQ,SACR,MAAAC,EAAQ,GACR,eAAAC,EAAiB,GACjB,cAAeC,CACjB,EAAiB,CACf,KAAM,CAAE,UAAWC,EAAY,MAAOC,CAAA,EAAeC,EAAAA,WAGnD,OAAAC,EAAA,kBAAA,KAACC,EAAAA,QAAa,KAAb,CACC,
|
|
1
|
+
{"version":3,"file":"Popover.cjs.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["\"use client\";\n\nimport { Popover as RadixPopover } from \"radix-ui\";\nimport React, { CSSProperties } from \"react\";\nimport \"./Popover.css\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\n\nexport type PopoverSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type PopoverAlign = \"start\" | \"center\" | \"end\";\n\nexport interface PopoverProps {\n /**\n * Popover alignment\n * {@link PopoverAlign}\n */\n align?: PopoverAlign;\n /**\n * Show an arrow pointing to the trigger.\n */\n arrow?: boolean;\n /**\n * The content of the popover.\n */\n children: React.ReactNode;\n /**\n * Constrain the width of the popover to the width of the trigger.\n */\n constrainWidth?: boolean;\n /**\n * Default open state (uncontrolled mode).\n */\n defaultOpen?: boolean;\n /**\n * Test id for the popover content.\n */\n \"data-testid\"?: string;\n /**\n * Control open state (controlled mode).\n */\n open?: boolean;\n /**\n * Whether the popover is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Callback when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The trigger element for the popover.\n */\n trigger: React.ReactNode;\n /**\n * Popover side placement\n * {@link PopoverSide}\n */\n side?: PopoverSide;\n}\n\n/**\n * A popover component that handles positioning and supports controlled and uncontrolled modes.\n *\n * A popover displays interactive content in context with a trigger element.\n * A tooltip displays a description of an element on hover or focus.\n *\n * API:\n * - {@link PopoverProps}\n */\nexport function Popover({\n trigger,\n children,\n open,\n isDisabled = false,\n defaultOpen,\n onOpenChange,\n side = \"top\",\n align = \"center\",\n arrow = false,\n constrainWidth = false,\n \"data-testid\": testId,\n}: PopoverProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n return (\n <RadixPopover.Root\n open={isDisabled ? false : open}\n defaultOpen={defaultOpen}\n onOpenChange={(newOpen) => {\n if (isDisabled) return;\n onOpenChange?.(newOpen);\n }}\n >\n <RadixPopover.Trigger asChild>\n <div aria-disabled={isDisabled}>{trigger}</div>\n </RadixPopover.Trigger>\n\n {!isDisabled && (\n <RadixPopover.Portal>\n <RadixPopover.Content\n side={side}\n sideOffset={2}\n align={align}\n style={themeStyle as CSSProperties}\n className={csx(\n \"proton-Popover\",\n constrainWidth && \"proton-Popover__constrained\",\n themeClass,\n )}\n data-testid={testId}\n >\n {arrow && <RadixPopover.Arrow className=\"arrow\" />}\n {children}\n </RadixPopover.Content>\n </RadixPopover.Portal>\n )}\n </RadixPopover.Root>\n );\n}\n\nPopover.displayName = \"Popover\";\n"],"names":["Popover","trigger","children","open","isDisabled","defaultOpen","onOpenChange","side","align","arrow","constrainWidth","testId","themeClass","themeStyle","useTheme","jsxs","RadixPopover","newOpen","jsx","csx"],"mappings":"uRAsEO,SAASA,EAAQ,CACtB,QAAAC,EACA,SAAAC,EACA,KAAAC,EACA,WAAAC,EAAa,GACb,YAAAC,EACA,aAAAC,EACA,KAAAC,EAAO,MACP,MAAAC,EAAQ,SACR,MAAAC,EAAQ,GACR,eAAAC,EAAiB,GACjB,cAAeC,CACjB,EAAiB,CACf,KAAM,CAAE,UAAWC,EAAY,MAAOC,CAAA,EAAeC,EAAAA,WAGnD,OAAAC,EAAA,kBAAA,KAACC,EAAAA,QAAa,KAAb,CACC,KAAMZ,EAAa,GAAQD,EAC3B,YAAAE,EACA,aAAeY,GAAY,CACrBb,GACJE,GAAA,MAAAA,EAAeW,EACjB,EAEA,SAAA,CAACC,EAAA,kBAAA,IAAAF,EAAA,QAAa,QAAb,CAAqB,QAAO,GAC3B,iCAAC,MAAI,CAAA,gBAAeZ,EAAa,SAAAH,CAAA,CAAQ,CAC3C,CAAA,EAEC,CAACG,GACCc,EAAAA,kBAAAA,IAAAF,EAAAA,QAAa,OAAb,CACC,SAAAD,EAAA,kBAAA,KAACC,EAAAA,QAAa,QAAb,CACC,KAAAT,EACA,WAAY,EACZ,MAAAC,EACA,MAAOK,EACP,UAAWM,EAAA,IACT,iBACAT,GAAkB,8BAClBE,CACF,EACA,cAAaD,EAEZ,SAAA,CAAAF,GAAUS,EAAA,kBAAA,IAAAF,EAAA,QAAa,MAAb,CAAmB,UAAU,QAAQ,EAC/Cd,CAAA,CAAA,CAAA,EAEL,CAAA,CAAA,CAAA,CAIR,CAEAF,EAAQ,YAAc"}
|
|
@@ -1,46 +1,48 @@
|
|
|
1
|
-
import { j as
|
|
2
|
-
import { Popover as
|
|
1
|
+
import { j as r } from "../../node_modules/react/jsx-runtime.es.js";
|
|
2
|
+
import { Popover as e } from "radix-ui";
|
|
3
3
|
/* empty css */
|
|
4
|
-
import { useTheme as
|
|
5
|
-
import { csx as
|
|
6
|
-
function
|
|
7
|
-
trigger:
|
|
8
|
-
children:
|
|
9
|
-
open:
|
|
10
|
-
isDisabled:
|
|
11
|
-
defaultOpen:
|
|
12
|
-
onOpenChange:
|
|
4
|
+
import { useTheme as v } from "../ThemeProvider.es.js";
|
|
5
|
+
import { csx as P } from "../../utils/string.es.js";
|
|
6
|
+
function h({
|
|
7
|
+
trigger: s,
|
|
8
|
+
children: a,
|
|
9
|
+
open: i,
|
|
10
|
+
isDisabled: o = !1,
|
|
11
|
+
defaultOpen: l,
|
|
12
|
+
onOpenChange: t,
|
|
13
13
|
side: m = "top",
|
|
14
|
-
align:
|
|
15
|
-
arrow:
|
|
14
|
+
align: p = "center",
|
|
15
|
+
arrow: c = !1,
|
|
16
16
|
constrainWidth: d = !1,
|
|
17
|
-
"data-testid":
|
|
17
|
+
"data-testid": f
|
|
18
18
|
}) {
|
|
19
|
-
const { className:
|
|
20
|
-
return /* @__PURE__ */
|
|
21
|
-
|
|
19
|
+
const { className: n, style: x } = v();
|
|
20
|
+
return /* @__PURE__ */ r.jsxs(
|
|
21
|
+
e.Root,
|
|
22
22
|
{
|
|
23
|
-
open:
|
|
24
|
-
defaultOpen:
|
|
25
|
-
onOpenChange:
|
|
23
|
+
open: o ? !1 : i,
|
|
24
|
+
defaultOpen: l,
|
|
25
|
+
onOpenChange: (j) => {
|
|
26
|
+
o || t == null || t(j);
|
|
27
|
+
},
|
|
26
28
|
children: [
|
|
27
|
-
/* @__PURE__ */
|
|
28
|
-
!
|
|
29
|
-
|
|
29
|
+
/* @__PURE__ */ r.jsx(e.Trigger, { asChild: !0, children: /* @__PURE__ */ r.jsx("div", { "aria-disabled": o, children: s }) }),
|
|
30
|
+
!o && /* @__PURE__ */ r.jsx(e.Portal, { children: /* @__PURE__ */ r.jsxs(
|
|
31
|
+
e.Content,
|
|
30
32
|
{
|
|
31
33
|
side: m,
|
|
32
34
|
sideOffset: 2,
|
|
33
|
-
align:
|
|
35
|
+
align: p,
|
|
34
36
|
style: x,
|
|
35
|
-
className:
|
|
37
|
+
className: P(
|
|
36
38
|
"proton-Popover",
|
|
37
39
|
d && "proton-Popover__constrained",
|
|
38
|
-
|
|
40
|
+
n
|
|
39
41
|
),
|
|
40
|
-
"data-testid":
|
|
42
|
+
"data-testid": f,
|
|
41
43
|
children: [
|
|
42
|
-
|
|
43
|
-
|
|
44
|
+
c && /* @__PURE__ */ r.jsx(e.Arrow, { className: "arrow" }),
|
|
45
|
+
a
|
|
44
46
|
]
|
|
45
47
|
}
|
|
46
48
|
) })
|
|
@@ -48,8 +50,8 @@ function v({
|
|
|
48
50
|
}
|
|
49
51
|
);
|
|
50
52
|
}
|
|
51
|
-
|
|
53
|
+
h.displayName = "Popover";
|
|
52
54
|
export {
|
|
53
|
-
|
|
55
|
+
h as Popover
|
|
54
56
|
};
|
|
55
57
|
//# sourceMappingURL=Popover.es.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Popover.es.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["\"use client\";\n\nimport { Popover as RadixPopover } from \"radix-ui\";\nimport React, { CSSProperties } from \"react\";\nimport \"./Popover.css\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\n\nexport type PopoverSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type PopoverAlign = \"start\" | \"center\" | \"end\";\n\nexport interface PopoverProps {\n /**\n * Popover alignment\n * {@link PopoverAlign}\n */\n align?: PopoverAlign;\n /**\n * Show an arrow pointing to the trigger.\n */\n arrow?: boolean;\n /**\n * The content of the popover.\n */\n children: React.ReactNode;\n /**\n * Constrain the width of the popover to the width of the trigger.\n */\n constrainWidth?: boolean;\n /**\n * Default open state (uncontrolled mode).\n */\n defaultOpen?: boolean;\n /**\n * Test id for the popover content.\n */\n \"data-testid\"?: string;\n /**\n * Control open state (controlled mode).\n */\n open?: boolean;\n /**\n * Whether the popover is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Callback when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The trigger element for the popover.\n */\n trigger: React.ReactNode;\n /**\n * Popover side placement\n * {@link PopoverSide}\n */\n side?: PopoverSide;\n}\n\n/**\n * A popover component that handles positioning and supports controlled and uncontrolled modes.\n *\n * A popover displays interactive content in context with a trigger element.\n * A tooltip displays a description of an element on hover or focus.\n *\n * API:\n * - {@link PopoverProps}\n */\nexport function Popover({\n trigger,\n children,\n open,\n isDisabled = false,\n defaultOpen,\n onOpenChange,\n side = \"top\",\n align = \"center\",\n arrow = false,\n constrainWidth = false,\n \"data-testid\": testId,\n}: PopoverProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n return (\n <RadixPopover.Root\n open={open}\n defaultOpen={defaultOpen}\n onOpenChange={onOpenChange}\n >\n <RadixPopover.Trigger asChild>\n <div>{trigger}</div>\n </RadixPopover.Trigger>\n\n {!isDisabled && (\n <RadixPopover.Portal>\n <RadixPopover.Content\n side={side}\n sideOffset={2}\n align={align}\n style={themeStyle as CSSProperties}\n className={csx(\n \"proton-Popover\",\n constrainWidth && \"proton-Popover__constrained\",\n themeClass,\n )}\n data-testid={testId}\n >\n {arrow && <RadixPopover.Arrow className=\"arrow\" />}\n {children}\n </RadixPopover.Content>\n </RadixPopover.Portal>\n )}\n </RadixPopover.Root>\n );\n}\n\nPopover.displayName = \"Popover\";\n"],"names":["Popover","trigger","children","open","isDisabled","defaultOpen","onOpenChange","side","align","arrow","constrainWidth","testId","themeClass","themeStyle","useTheme","jsxs","RadixPopover","jsx","csx"],"mappings":";;;;;AAsEO,SAASA,EAAQ;AAAA,EACtB,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,OAAAC,IAAQ;AAAA,EACR,gBAAAC,IAAiB;AAAA,EACjB,eAAeC;AACjB,GAAiB;AACf,QAAM,EAAE,WAAWC,GAAY,OAAOC,EAAA,IAAeC;AAGnD,SAAAC,gBAAAA,EAAA;AAAA,IAACC,EAAa;AAAA,IAAb;AAAA,MACC,
|
|
1
|
+
{"version":3,"file":"Popover.es.js","sources":["../../../src/components/Popover/Popover.tsx"],"sourcesContent":["\"use client\";\n\nimport { Popover as RadixPopover } from \"radix-ui\";\nimport React, { CSSProperties } from \"react\";\nimport \"./Popover.css\";\nimport { useTheme } from \"../ThemeProvider\";\nimport { csx } from \"../../utils/string\";\n\nexport type PopoverSide = \"top\" | \"right\" | \"bottom\" | \"left\";\nexport type PopoverAlign = \"start\" | \"center\" | \"end\";\n\nexport interface PopoverProps {\n /**\n * Popover alignment\n * {@link PopoverAlign}\n */\n align?: PopoverAlign;\n /**\n * Show an arrow pointing to the trigger.\n */\n arrow?: boolean;\n /**\n * The content of the popover.\n */\n children: React.ReactNode;\n /**\n * Constrain the width of the popover to the width of the trigger.\n */\n constrainWidth?: boolean;\n /**\n * Default open state (uncontrolled mode).\n */\n defaultOpen?: boolean;\n /**\n * Test id for the popover content.\n */\n \"data-testid\"?: string;\n /**\n * Control open state (controlled mode).\n */\n open?: boolean;\n /**\n * Whether the popover is disabled.\n * @default false\n */\n isDisabled?: boolean;\n /**\n * Callback when open state changes.\n */\n onOpenChange?: (open: boolean) => void;\n /**\n * The trigger element for the popover.\n */\n trigger: React.ReactNode;\n /**\n * Popover side placement\n * {@link PopoverSide}\n */\n side?: PopoverSide;\n}\n\n/**\n * A popover component that handles positioning and supports controlled and uncontrolled modes.\n *\n * A popover displays interactive content in context with a trigger element.\n * A tooltip displays a description of an element on hover or focus.\n *\n * API:\n * - {@link PopoverProps}\n */\nexport function Popover({\n trigger,\n children,\n open,\n isDisabled = false,\n defaultOpen,\n onOpenChange,\n side = \"top\",\n align = \"center\",\n arrow = false,\n constrainWidth = false,\n \"data-testid\": testId,\n}: PopoverProps) {\n const { className: themeClass, style: themeStyle } = useTheme();\n\n return (\n <RadixPopover.Root\n open={isDisabled ? false : open}\n defaultOpen={defaultOpen}\n onOpenChange={(newOpen) => {\n if (isDisabled) return;\n onOpenChange?.(newOpen);\n }}\n >\n <RadixPopover.Trigger asChild>\n <div aria-disabled={isDisabled}>{trigger}</div>\n </RadixPopover.Trigger>\n\n {!isDisabled && (\n <RadixPopover.Portal>\n <RadixPopover.Content\n side={side}\n sideOffset={2}\n align={align}\n style={themeStyle as CSSProperties}\n className={csx(\n \"proton-Popover\",\n constrainWidth && \"proton-Popover__constrained\",\n themeClass,\n )}\n data-testid={testId}\n >\n {arrow && <RadixPopover.Arrow className=\"arrow\" />}\n {children}\n </RadixPopover.Content>\n </RadixPopover.Portal>\n )}\n </RadixPopover.Root>\n );\n}\n\nPopover.displayName = \"Popover\";\n"],"names":["Popover","trigger","children","open","isDisabled","defaultOpen","onOpenChange","side","align","arrow","constrainWidth","testId","themeClass","themeStyle","useTheme","jsxs","RadixPopover","newOpen","jsx","csx"],"mappings":";;;;;AAsEO,SAASA,EAAQ;AAAA,EACtB,SAAAC;AAAA,EACA,UAAAC;AAAA,EACA,MAAAC;AAAA,EACA,YAAAC,IAAa;AAAA,EACb,aAAAC;AAAA,EACA,cAAAC;AAAA,EACA,MAAAC,IAAO;AAAA,EACP,OAAAC,IAAQ;AAAA,EACR,OAAAC,IAAQ;AAAA,EACR,gBAAAC,IAAiB;AAAA,EACjB,eAAeC;AACjB,GAAiB;AACf,QAAM,EAAE,WAAWC,GAAY,OAAOC,EAAA,IAAeC;AAGnD,SAAAC,gBAAAA,EAAA;AAAA,IAACC,EAAa;AAAA,IAAb;AAAA,MACC,MAAMZ,IAAa,KAAQD;AAAA,MAC3B,aAAAE;AAAA,MACA,cAAc,CAACY,MAAY;AACzB,QAAIb,KACJE,KAAA,QAAAA,EAAeW;AAAA,MACjB;AAAA,MAEA,UAAA;AAAA,QAACC,gBAAAA,EAAA,IAAAF,EAAa,SAAb,EAAqB,SAAO,IAC3B,gCAAC,OAAI,EAAA,iBAAeZ,GAAa,UAAAH,EAAA,CAAQ,EAC3C,CAAA;AAAA,QAEC,CAACG,KACCc,gBAAAA,EAAAA,IAAAF,EAAa,QAAb,EACC,UAAAD,gBAAAA,EAAA;AAAA,UAACC,EAAa;AAAA,UAAb;AAAA,YACC,MAAAT;AAAA,YACA,YAAY;AAAA,YACZ,OAAAC;AAAA,YACA,OAAOK;AAAA,YACP,WAAWM;AAAA,cACT;AAAA,cACAT,KAAkB;AAAA,cAClBE;AAAA,YACF;AAAA,YACA,eAAaD;AAAA,YAEZ,UAAA;AAAA,cAAAF,KAAUS,gBAAAA,EAAA,IAAAF,EAAa,OAAb,EAAmB,WAAU,SAAQ;AAAA,cAC/Cd;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA,GAEL;AAAA,MAAA;AAAA,IAAA;AAAA,EAAA;AAIR;AAEAF,EAAQ,cAAc;"}
|