@motiadev/ui 0.13.0-beta.162-846200 → 0.13.0-beta.162-813224

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.
Files changed (142) hide show
  1. package/LICENSE +93 -21
  2. package/dist/components/ui/background-effect.d.ts +4 -7
  3. package/dist/components/ui/background-effect.d.ts.map +1 -1
  4. package/dist/components/ui/background-effect.stories.d.ts +12 -0
  5. package/dist/components/ui/background-effect.stories.d.ts.map +1 -0
  6. package/dist/components/ui/badge.d.ts +8 -11
  7. package/dist/components/ui/badge.d.ts.map +1 -1
  8. package/dist/components/ui/badge.stories.d.ts +19 -0
  9. package/dist/components/ui/badge.stories.d.ts.map +1 -0
  10. package/dist/components/ui/breadcrumb.d.ts +20 -24
  11. package/dist/components/ui/breadcrumb.d.ts.map +1 -1
  12. package/dist/components/ui/breadcrumb.stories.d.ts +21 -0
  13. package/dist/components/ui/breadcrumb.stories.d.ts.map +1 -0
  14. package/dist/components/ui/button.d.ts +9 -14
  15. package/dist/components/ui/button.d.ts.map +1 -1
  16. package/dist/components/ui/button.stories.d.ts +25 -0
  17. package/dist/components/ui/button.stories.d.ts.map +1 -0
  18. package/dist/components/ui/checkbox.d.ts +3 -7
  19. package/dist/components/ui/checkbox.d.ts.map +1 -1
  20. package/dist/components/ui/checkbox.stories.d.ts +25 -0
  21. package/dist/components/ui/checkbox.stories.d.ts.map +1 -0
  22. package/dist/components/ui/collapsible-panel.d.ts +13 -17
  23. package/dist/components/ui/collapsible-panel.d.ts.map +1 -1
  24. package/dist/components/ui/collapsible-panel.stories.d.ts +12 -0
  25. package/dist/components/ui/collapsible-panel.stories.d.ts.map +1 -0
  26. package/dist/components/ui/container.d.ts +13 -17
  27. package/dist/components/ui/container.d.ts.map +1 -1
  28. package/dist/components/ui/container.stories.d.ts +10 -0
  29. package/dist/components/ui/container.stories.d.ts.map +1 -0
  30. package/dist/components/ui/dropdown-menu.d.ts +21 -23
  31. package/dist/components/ui/dropdown-menu.d.ts.map +1 -1
  32. package/dist/components/ui/dropdown-menu.stories.d.ts +18 -0
  33. package/dist/components/ui/dropdown-menu.stories.d.ts.map +1 -0
  34. package/dist/components/ui/empty.d.ts +10 -34
  35. package/dist/components/ui/empty.d.ts.map +1 -1
  36. package/dist/components/ui/input.d.ts +8 -12
  37. package/dist/components/ui/input.d.ts.map +1 -1
  38. package/dist/components/ui/input.stories.d.ts +23 -0
  39. package/dist/components/ui/input.stories.d.ts.map +1 -0
  40. package/dist/components/ui/label.d.ts +3 -7
  41. package/dist/components/ui/label.d.ts.map +1 -1
  42. package/dist/components/ui/label.stories.d.ts +17 -0
  43. package/dist/components/ui/label.stories.d.ts.map +1 -0
  44. package/dist/components/ui/level-dot.d.ts +3 -7
  45. package/dist/components/ui/level-dot.d.ts.map +1 -1
  46. package/dist/components/ui/level-dot.stories.d.ts +19 -0
  47. package/dist/components/ui/level-dot.stories.d.ts.map +1 -0
  48. package/dist/components/ui/panel.d.ts +28 -32
  49. package/dist/components/ui/panel.d.ts.map +1 -1
  50. package/dist/components/ui/panel.stories.d.ts +24 -0
  51. package/dist/components/ui/panel.stories.d.ts.map +1 -0
  52. package/dist/components/ui/select.d.ts +13 -11
  53. package/dist/components/ui/select.d.ts.map +1 -1
  54. package/dist/components/ui/select.stories.d.ts +18 -0
  55. package/dist/components/ui/select.stories.d.ts.map +1 -0
  56. package/dist/components/ui/side-panel-detail.d.ts +5 -8
  57. package/dist/components/ui/side-panel-detail.d.ts.map +1 -1
  58. package/dist/components/ui/side-panel-detail.stories.d.ts +12 -0
  59. package/dist/components/ui/side-panel-detail.stories.d.ts.map +1 -0
  60. package/dist/components/ui/side-panel.d.ts +18 -18
  61. package/dist/components/ui/side-panel.d.ts.map +1 -1
  62. package/dist/components/ui/side-panel.stories.d.ts +13 -0
  63. package/dist/components/ui/side-panel.stories.d.ts.map +1 -0
  64. package/dist/components/ui/sidebar.d.ts +8 -12
  65. package/dist/components/ui/sidebar.d.ts.map +1 -1
  66. package/dist/components/ui/sidebar.stories.d.ts +14 -0
  67. package/dist/components/ui/sidebar.stories.d.ts.map +1 -0
  68. package/dist/components/ui/table.d.ts +4 -5
  69. package/dist/components/ui/table.d.ts.map +1 -1
  70. package/dist/components/ui/table.stories.d.ts +18 -0
  71. package/dist/components/ui/table.stories.d.ts.map +1 -0
  72. package/dist/components/ui/tabs.d.ts +6 -10
  73. package/dist/components/ui/tabs.d.ts.map +1 -1
  74. package/dist/components/ui/tabs.stories.d.ts +16 -0
  75. package/dist/components/ui/tabs.stories.d.ts.map +1 -0
  76. package/dist/components/ui/textarea.d.ts +2 -6
  77. package/dist/components/ui/textarea.d.ts.map +1 -1
  78. package/dist/components/ui/textarea.stories.d.ts +21 -0
  79. package/dist/components/ui/textarea.stories.d.ts.map +1 -0
  80. package/dist/components/ui/tooltip.d.ts +5 -10
  81. package/dist/components/ui/tooltip.d.ts.map +1 -1
  82. package/dist/components/ui/tooltip.stories.d.ts +21 -0
  83. package/dist/components/ui/tooltip.stories.d.ts.map +1 -0
  84. package/dist/index.cjs +122 -0
  85. package/dist/index.d.ts +24 -24
  86. package/dist/index.d.ts.map +1 -0
  87. package/dist/index.js +11031 -25
  88. package/dist/lib/utils.d.ts +2 -6
  89. package/dist/lib/utils.d.ts.map +1 -1
  90. package/dist/stores/use-theme-store.d.ts +17 -22
  91. package/dist/stores/use-theme-store.d.ts.map +1 -1
  92. package/dist/ui.css +1 -0
  93. package/package.json +15 -13
  94. package/dist/components/ui/background-effect.js +0 -31
  95. package/dist/components/ui/background-effect.js.map +0 -1
  96. package/dist/components/ui/badge.js +0 -57
  97. package/dist/components/ui/badge.js.map +0 -1
  98. package/dist/components/ui/breadcrumb.js +0 -168
  99. package/dist/components/ui/breadcrumb.js.map +0 -1
  100. package/dist/components/ui/button.js +0 -88
  101. package/dist/components/ui/button.js.map +0 -1
  102. package/dist/components/ui/checkbox.js +0 -53
  103. package/dist/components/ui/checkbox.js.map +0 -1
  104. package/dist/components/ui/collapsible-panel.js +0 -252
  105. package/dist/components/ui/collapsible-panel.js.map +0 -1
  106. package/dist/components/ui/container.js +0 -143
  107. package/dist/components/ui/container.js.map +0 -1
  108. package/dist/components/ui/dropdown-menu.js +0 -430
  109. package/dist/components/ui/dropdown-menu.js.map +0 -1
  110. package/dist/components/ui/empty.js +0 -219
  111. package/dist/components/ui/empty.js.map +0 -1
  112. package/dist/components/ui/input.js +0 -66
  113. package/dist/components/ui/input.js.map +0 -1
  114. package/dist/components/ui/label.js +0 -43
  115. package/dist/components/ui/label.js.map +0 -1
  116. package/dist/components/ui/level-dot.js +0 -35
  117. package/dist/components/ui/level-dot.js.map +0 -1
  118. package/dist/components/ui/panel.js +0 -284
  119. package/dist/components/ui/panel.js.map +0 -1
  120. package/dist/components/ui/select.js +0 -341
  121. package/dist/components/ui/select.js.map +0 -1
  122. package/dist/components/ui/side-panel-detail.js +0 -54
  123. package/dist/components/ui/side-panel-detail.js.map +0 -1
  124. package/dist/components/ui/side-panel.js +0 -138
  125. package/dist/components/ui/side-panel.js.map +0 -1
  126. package/dist/components/ui/sidebar.js +0 -153
  127. package/dist/components/ui/sidebar.js.map +0 -1
  128. package/dist/components/ui/table.js +0 -285
  129. package/dist/components/ui/table.js.map +0 -1
  130. package/dist/components/ui/tabs.js +0 -142
  131. package/dist/components/ui/tabs.js.map +0 -1
  132. package/dist/components/ui/textarea.js +0 -42
  133. package/dist/components/ui/textarea.js.map +0 -1
  134. package/dist/components/ui/tooltip.js +0 -54
  135. package/dist/components/ui/tooltip.js.map +0 -1
  136. package/dist/lib/utils.js +0 -11
  137. package/dist/lib/utils.js.map +0 -1
  138. package/dist/stores/use-theme-store.js +0 -30
  139. package/dist/stores/use-theme-store.js.map +0 -1
  140. package/dist/styles.css +0 -2647
  141. package/dist/styles.css.map +0 -1
  142. package/dist/styles.js +0 -0
@@ -1,66 +0,0 @@
1
- import { cn } from "../../lib/utils.js";
2
- import { c } from "react/compiler-runtime";
3
- import { jsx } from "react/jsx-runtime";
4
- import { cva } from "class-variance-authority";
5
- import { forwardRef } from "react";
6
-
7
- //#region src/components/ui/input.tsx
8
- const inputVariants = cva(cn("flex w-full rounded-md px-3 py-2 text-base transition-colors outline-none resize-none", "field-sizing-content", "aria-invalid:border-destructive", "disabled:cursor-not-allowed disabled:opacity-50", "text-sm font-medium leading-[1.3] tracking-[-0.01em]"), {
9
- variants: { variant: {
10
- default: "bg-input border border-border hover:border-border focus-visible:border-ring text-foreground placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring/20",
11
- shade: "bg-muted-foreground/10 text-muted-foreground hover:bg-muted-foreground/12 focus:bg-muted-foreground/15",
12
- outline: "focus-visible:border-border focus-visible:bg-card hover:border-border hover:bg-card bg-transparent text-foreground border border-transparent",
13
- outlineReadonly: "bg-transparent text-foreground border border-transparent"
14
- } },
15
- defaultVariants: { variant: "default" }
16
- });
17
- const Input = forwardRef((t0, ref) => {
18
- const $ = c(13);
19
- let className;
20
- let props;
21
- let type;
22
- let variant;
23
- if ($[0] !== t0) {
24
- ({className, type, variant, ...props} = t0);
25
- $[0] = t0;
26
- $[1] = className;
27
- $[2] = props;
28
- $[3] = type;
29
- $[4] = variant;
30
- } else {
31
- className = $[1];
32
- props = $[2];
33
- type = $[3];
34
- variant = $[4];
35
- }
36
- let t1;
37
- if ($[5] !== className || $[6] !== variant) {
38
- t1 = inputVariants({
39
- variant,
40
- className
41
- });
42
- $[5] = className;
43
- $[6] = variant;
44
- $[7] = t1;
45
- } else t1 = $[7];
46
- let t2;
47
- if ($[8] !== props || $[9] !== ref || $[10] !== t1 || $[11] !== type) {
48
- t2 = /* @__PURE__ */ jsx("input", {
49
- type,
50
- className: t1,
51
- ref,
52
- ...props
53
- });
54
- $[8] = props;
55
- $[9] = ref;
56
- $[10] = t1;
57
- $[11] = type;
58
- $[12] = t2;
59
- } else t2 = $[12];
60
- return t2;
61
- });
62
- Input.displayName = "Input";
63
-
64
- //#endregion
65
- export { Input };
66
- //# sourceMappingURL=input.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"input.js","names":["cva","VariantProps","forwardRef","InputHTMLAttributes","cn","inputVariants","variants","variant","default","shade","outline","outlineReadonly","defaultVariants","InputProps","HTMLInputElement","Input","t0","ref","$","_c","className","props","type","t1","t2","displayName"],"sources":["../../../src/components/ui/input.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\nimport { forwardRef, type InputHTMLAttributes } from 'react'\nimport { cn } from '../../lib/utils'\n\nconst inputVariants = cva(\n cn(\n 'flex w-full rounded-md px-3 py-2 text-base transition-colors outline-none resize-none',\n 'field-sizing-content',\n 'aria-invalid:border-destructive',\n 'disabled:cursor-not-allowed disabled:opacity-50',\n 'text-sm font-medium leading-[1.3] tracking-[-0.01em]',\n ),\n {\n variants: {\n variant: {\n default:\n 'bg-input border border-border hover:border-border focus-visible:border-ring text-foreground placeholder:text-muted-foreground focus-visible:ring-2 focus-visible:ring-ring/20',\n shade: 'bg-muted-foreground/10 text-muted-foreground hover:bg-muted-foreground/12 focus:bg-muted-foreground/15',\n outline:\n 'focus-visible:border-border focus-visible:bg-card hover:border-border hover:bg-card bg-transparent text-foreground border border-transparent',\n outlineReadonly: 'bg-transparent text-foreground border border-transparent',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n)\n\nexport interface InputProps extends InputHTMLAttributes<HTMLInputElement>, VariantProps<typeof inputVariants> {}\n\nexport const Input = forwardRef<HTMLInputElement, InputProps>(({ className, type, variant, ...props }, ref) => {\n return <input type={type} className={inputVariants({ variant, className })} ref={ref} {...props} />\n})\nInput.displayName = 'Input'\n"],"mappings":";;;;;;;AAIA,MAAMK,gBAAgBL,IACpBI,GACE,yFACA,wBACA,mCACA,mDACA,uDACD,EACD;CACEE,UAAU,EACRC,SAAS;EACPC,SACE;EACFC,OAAO;EACPC,SACE;EACFC,iBAAiB;EACnB,EACD;CACDC,iBAAiB,EACfL,SAAS,WACX;CAEJ,CAAC;AAID,MAAaQ,QAAQb,YAAyCc,IAAAC,QAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAC;CAAA,IAAAf;AAAA,KAAAW,EAAA,OAAAF,IAAA;AAAC,GAAA,CAAAI,WAAAE,MAAAf,YAAAc,SAAAL;AAAsCE,IAAA,KAAAF;AAAAE,IAAA,KAAAE;AAAAF,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAX;QAAA;AAAAa,cAAAF,EAAA;AAAAG,UAAAH,EAAA;AAAAI,SAAAJ,EAAA;AAAAX,YAAAW,EAAA;;CAAA,IAAAK;AAAA,KAAAL,EAAA,OAAAE,aAAAF,EAAA,OAAAX,SAAA;AAC9DgB,OAAAlB,cAAc;GAAAE;GAAAa;GAAsB,CAAC;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAX;AAAAW,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAM;AAAA,KAAAN,EAAA,OAAAG,SAAAH,EAAA,OAAAD,OAAAC,EAAA,QAAAK,MAAAL,EAAA,QAAAI,MAAA;AAAnEE,OAAA,oBAAA;GAAaF;GAAiB,WAAAC;GAA4CN;GAAG,GAAMI;IAAS;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAD;AAAAC,IAAA,MAAAK;AAAAL,IAAA,MAAAI;AAAAJ,IAAA,MAAAM;OAAAA,MAAAN,EAAA;AAAA,QAA5FM;EACP;AACFT,MAAMU,cAAc"}
@@ -1,43 +0,0 @@
1
- import { cn } from "../../lib/utils.js";
2
- import { c } from "react/compiler-runtime";
3
- import { jsx } from "react/jsx-runtime";
4
- import * as LabelPrimitive from "@radix-ui/react-label";
5
-
6
- //#region src/components/ui/label.tsx
7
- const Label = (t0) => {
8
- const $ = c(8);
9
- let className;
10
- let props;
11
- if ($[0] !== t0) {
12
- ({className, ...props} = t0);
13
- $[0] = t0;
14
- $[1] = className;
15
- $[2] = props;
16
- } else {
17
- className = $[1];
18
- props = $[2];
19
- }
20
- let t1;
21
- if ($[3] !== className) {
22
- t1 = cn("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50", className);
23
- $[3] = className;
24
- $[4] = t1;
25
- } else t1 = $[4];
26
- let t2;
27
- if ($[5] !== props || $[6] !== t1) {
28
- t2 = /* @__PURE__ */ jsx(LabelPrimitive.Root, {
29
- "data-slot": "label",
30
- className: t1,
31
- ...props
32
- });
33
- $[5] = props;
34
- $[6] = t1;
35
- $[7] = t2;
36
- } else t2 = $[7];
37
- return t2;
38
- };
39
- Label.displayName = LabelPrimitive.Root.displayName;
40
-
41
- //#endregion
42
- export { Label };
43
- //# sourceMappingURL=label.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"label.js","names":["LabelPrimitive","ComponentProps","FC","cn","Label","Root","t0","$","_c","className","props","t1","t2","displayName"],"sources":["../../../src/components/ui/label.tsx"],"sourcesContent":["import * as LabelPrimitive from '@radix-ui/react-label'\nimport type { ComponentProps, FC } from 'react'\n\nimport { cn } from '../../lib/utils'\n\nexport const Label: FC<ComponentProps<typeof LabelPrimitive.Root>> = ({ className, ...props }) => {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n 'flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50',\n className,\n )}\n {...props}\n />\n )\n}\n\nLabel.displayName = LabelPrimitive.Root.displayName\n"],"mappings":";;;;;;AAKA,MAAaI,SAAwDE,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAA,IAAAC;CAAA,IAAAC;AAAA,KAAAH,EAAA,OAAAD,IAAA;AAAC,GAAA,CAAAG,cAAAC,SAAAJ;AAAuBC,IAAA,KAAAD;AAAAC,IAAA,KAAAE;AAAAF,IAAA,KAAAG;QAAA;AAAAD,cAAAF,EAAA;AAAAG,UAAAH,EAAA;;CAAA,IAAAI;AAAA,KAAAJ,EAAA,OAAAE,WAAA;AAI5EE,OAAAR,GACT,uNACAM,UACD;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;CAAA,IAAAK;AAAA,KAAAL,EAAA,OAAAG,SAAAH,EAAA,OAAAI,IAAA;AALHC,OAAA,oBAAA,eAAA;GACY,aAAA;GACC,WAAAD;GAGV,GACGD;IACJ;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAI;AAAAJ,IAAA,KAAAK;OAAAA,MAAAL,EAAA;AAAA,QAPFK;;AAWJR,MAAMS,cAAcb,eAAeK,KAAKQ"}
@@ -1,35 +0,0 @@
1
- import { c } from "react/compiler-runtime";
2
- import { jsx } from "react/jsx-runtime";
3
- import { cva } from "class-variance-authority";
4
-
5
- //#region src/components/ui/level-dot.tsx
6
- const badgeVariants = cva("text-xs font-medium tracking-wide rounded-full h-[6px] w-[6px] m-[4px] outline-[2px]", { variants: { variant: {
7
- info: "bg-[#2862FE] outline-[#2862FE]/20",
8
- trace: "bg-[#2862FE] outline-[#2862FE]/20",
9
- debug: "bg-[#2862FE] outline-[#2862FE]/20",
10
- error: "bg-[#E22A6D] outline-[#E22A6D]/20",
11
- fatal: "bg-[#E22A6D] outline-[#E22A6D]/20",
12
- warn: "bg-[#F59F0B] outline-[#F59F0B]/20"
13
- } } });
14
- const LevelDot = (t0) => {
15
- const $ = c(4);
16
- const { level } = t0;
17
- const t1 = level;
18
- let t2;
19
- if ($[0] !== t1) {
20
- t2 = badgeVariants({ variant: t1 });
21
- $[0] = t1;
22
- $[1] = t2;
23
- } else t2 = $[1];
24
- let t3;
25
- if ($[2] !== t2) {
26
- t3 = /* @__PURE__ */ jsx("div", { className: t2 });
27
- $[2] = t2;
28
- $[3] = t3;
29
- } else t3 = $[3];
30
- return t3;
31
- };
32
-
33
- //#endregion
34
- export { LevelDot };
35
- //# sourceMappingURL=level-dot.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"level-dot.js","names":["cva","VariantProps","React","badgeVariants","variants","variant","info","trace","debug","error","fatal","warn","LevelDot","FC","level","t0","$","_c","t1","t2","t3"],"sources":["../../../src/components/ui/level-dot.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority'\nimport type * as React from 'react'\n\nconst badgeVariants = cva('text-xs font-medium tracking-wide rounded-full h-[6px] w-[6px] m-[4px] outline-[2px]', {\n variants: {\n variant: {\n info: 'bg-[#2862FE] outline-[#2862FE]/20',\n trace: 'bg-[#2862FE] outline-[#2862FE]/20',\n debug: 'bg-[#2862FE] outline-[#2862FE]/20',\n error: 'bg-[#E22A6D] outline-[#E22A6D]/20',\n fatal: 'bg-[#E22A6D] outline-[#E22A6D]/20',\n warn: 'bg-[#F59F0B] outline-[#F59F0B]/20',\n },\n },\n})\n\nexport const LevelDot: React.FC<{ level: string }> = ({ level }) => {\n return <div className={badgeVariants({ variant: level as VariantProps<typeof badgeVariants>['variant'] })} />\n}\n"],"mappings":";;;;;AAGA,MAAMG,gBAAgBH,IAAI,wFAAwF,EAChHI,UAAU,EACRC,SAAS;CACPC,MAAM;CACNC,OAAO;CACPC,OAAO;CACPC,OAAO;CACPC,OAAO;CACPC,MAAM;CACR,EACF,EACD,CAAC;AAEF,MAAaC,YAAwCG,OAAA;CAAA,MAAAC,IAAAC,EAAA,EAAA;CAAC,MAAA,EAAAH,UAAAC;CACJ,MAAAG,KAAAJ;CAAsD,IAAAK;AAAA,KAAAH,EAAA,OAAAE,IAAA;AAA/EC,OAAAhB,cAAc,EAAAE,SAAWa,IAAwD,CAAC;AAAAF,IAAA,KAAAE;AAAAF,IAAA,KAAAG;OAAAA,MAAAH,EAAA;CAAA,IAAAI;AAAA,KAAAJ,EAAA,OAAAG,IAAA;AAAlGC,OAAA,oBAAA,SAAgB,WAAAD,KAAsF;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;AAAA,QAAtGI"}
@@ -1,284 +0,0 @@
1
- import { BackgroundEffect } from "./background-effect.js";
2
- import { cn } from "../../lib/utils.js";
3
- import { Button } from "./button.js";
4
- import { Tabs, TabsContent, TabsList, TabsTrigger } from "./tabs.js";
5
- import { c } from "react/compiler-runtime";
6
- import { Fragment, jsx, jsxs } from "react/jsx-runtime";
7
-
8
- //#region src/components/ui/panel.tsx
9
- const panelVariants = {
10
- default: "bg-transparent border border-border",
11
- outlined: "bg-transparent border border-border",
12
- filled: "bg-muted border border-transparent",
13
- ghost: "bg-transparent border-transparent shadow-none"
14
- };
15
- const PanelDetailItem = (t0) => {
16
- const $ = c(14);
17
- const { label, value, highlighted } = t0;
18
- let t1;
19
- if ($[0] !== label) {
20
- t1 = /* @__PURE__ */ jsx("div", {
21
- className: "flex items-center h-8 shrink-0",
22
- children: /* @__PURE__ */ jsx("span", {
23
- className: "text-sm font-medium text-foreground tracking-[-0.25px] w-24 truncate",
24
- children: label
25
- })
26
- });
27
- $[0] = label;
28
- $[1] = t1;
29
- } else t1 = $[1];
30
- const t2 = highlighted && "bg-secondary";
31
- let t3;
32
- if ($[2] !== t2) {
33
- t3 = cn("flex-1 rounded-lg px-2 py-1 min-h-6", t2);
34
- $[2] = t2;
35
- $[3] = t3;
36
- } else t3 = $[3];
37
- let t4;
38
- if ($[4] !== value) {
39
- t4 = typeof value === "string" ? /* @__PURE__ */ jsx("span", {
40
- className: "text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight",
41
- children: value
42
- }) : value;
43
- $[4] = value;
44
- $[5] = t4;
45
- } else t4 = $[5];
46
- let t5;
47
- if ($[6] !== t4) {
48
- t5 = /* @__PURE__ */ jsx("div", {
49
- className: "flex items-center min-h-6",
50
- children: t4
51
- });
52
- $[6] = t4;
53
- $[7] = t5;
54
- } else t5 = $[7];
55
- let t6;
56
- if ($[8] !== t3 || $[9] !== t5) {
57
- t6 = /* @__PURE__ */ jsx("div", {
58
- className: t3,
59
- children: t5
60
- });
61
- $[8] = t3;
62
- $[9] = t5;
63
- $[10] = t6;
64
- } else t6 = $[10];
65
- let t7;
66
- if ($[11] !== t1 || $[12] !== t6) {
67
- t7 = /* @__PURE__ */ jsxs("div", {
68
- className: "flex gap-4 items-start",
69
- children: [t1, t6]
70
- });
71
- $[11] = t1;
72
- $[12] = t6;
73
- $[13] = t7;
74
- } else t7 = $[13];
75
- return t7;
76
- };
77
- const Panel = (t0) => {
78
- const $ = c(47);
79
- const { "data-testid": dataTestId, title, subtitle, details, actions, className, children, size, variant: t1, contentClassName, tabs } = t0;
80
- const variant = t1 === void 0 ? "default" : t1;
81
- const hasTabs = tabs && tabs.length > 0;
82
- let t2;
83
- bb0: {
84
- let t3$1;
85
- if ($[0] !== hasTabs || $[1] !== tabs || $[2] !== variant) {
86
- t3$1 = hasTabs && /* @__PURE__ */ jsx(TabsList, {
87
- className: cn("bg-card border-b border-border px-1 pt-5", { "bg-transparent": variant === "ghost" }),
88
- children: tabs?.map(_temp)
89
- });
90
- $[0] = hasTabs;
91
- $[1] = tabs;
92
- $[2] = variant;
93
- $[3] = t3$1;
94
- } else t3$1 = $[3];
95
- let t4$1;
96
- if ($[4] !== contentClassName) {
97
- t4$1 = cn("flex flex-col gap-2 p-4 h-full", contentClassName);
98
- $[4] = contentClassName;
99
- $[5] = t4$1;
100
- } else t4$1 = $[5];
101
- let t5$1;
102
- if ($[6] !== details) {
103
- t5$1 = details?.map(_temp2);
104
- $[6] = details;
105
- $[7] = t5$1;
106
- } else t5$1 = $[7];
107
- let t6$1;
108
- if ($[8] !== hasTabs || $[9] !== tabs) {
109
- t6$1 = hasTabs && tabs.map(_temp3);
110
- $[8] = hasTabs;
111
- $[9] = tabs;
112
- $[10] = t6$1;
113
- } else t6$1 = $[10];
114
- let t7$1;
115
- if ($[11] !== children || $[12] !== t4$1 || $[13] !== t5$1 || $[14] !== t6$1) {
116
- t7$1 = /* @__PURE__ */ jsxs("div", {
117
- className: t4$1,
118
- children: [
119
- t5$1,
120
- t6$1,
121
- children
122
- ]
123
- });
124
- $[11] = children;
125
- $[12] = t4$1;
126
- $[13] = t5$1;
127
- $[14] = t6$1;
128
- $[15] = t7$1;
129
- } else t7$1 = $[15];
130
- let t8$1;
131
- if ($[16] !== t3$1 || $[17] !== t7$1) {
132
- t8$1 = /* @__PURE__ */ jsxs(Fragment, { children: [t3$1, t7$1] });
133
- $[16] = t3$1;
134
- $[17] = t7$1;
135
- $[18] = t8$1;
136
- } else t8$1 = $[18];
137
- const _view = t8$1;
138
- if (hasTabs) {
139
- const t9$1 = tabs?.[0]?.label;
140
- let t10$1;
141
- if ($[19] !== _view || $[20] !== t9$1) {
142
- t10$1 = /* @__PURE__ */ jsx(Tabs, {
143
- defaultValue: t9$1,
144
- children: _view
145
- });
146
- $[19] = _view;
147
- $[20] = t9$1;
148
- $[21] = t10$1;
149
- } else t10$1 = $[21];
150
- t2 = t10$1;
151
- break bb0;
152
- }
153
- t2 = _view;
154
- }
155
- const content = t2;
156
- const t3 = panelVariants[variant];
157
- let t4;
158
- if ($[22] !== className || $[23] !== t3) {
159
- t4 = cn("relative isolate size-full backdrop-blur-[48px] backdrop-filter", "text-foreground", "rounded-lg overflow-hidden", t3, className);
160
- $[22] = className;
161
- $[23] = t3;
162
- $[24] = t4;
163
- } else t4 = $[24];
164
- let t5;
165
- if ($[25] === Symbol.for("react.memo_cache_sentinel")) {
166
- t5 = /* @__PURE__ */ jsx(BackgroundEffect, {});
167
- $[25] = t5;
168
- } else t5 = $[25];
169
- const t6 = variant === "ghost";
170
- let t7;
171
- if ($[26] !== hasTabs || $[27] !== t6) {
172
- t7 = cn("relative shrink-0 w-full border-b border-border bg-card", {
173
- "bg-transparent": t6,
174
- "border-b-0": hasTabs
175
- });
176
- $[26] = hasTabs;
177
- $[27] = t6;
178
- $[28] = t7;
179
- } else t7 = $[28];
180
- let t8;
181
- if ($[29] !== actions || $[30] !== hasTabs || $[31] !== size || $[32] !== subtitle || $[33] !== title) {
182
- t8 = title && /* @__PURE__ */ jsxs("div", {
183
- className: cn("flex flex-col gap-1 px-5 py-4", {
184
- "px-4 py-3": size === "sm",
185
- "px-5 py-4": size === "md",
186
- "pb-0": hasTabs
187
- }),
188
- children: [/* @__PURE__ */ jsxs("div", {
189
- className: "flex items-center w-full",
190
- children: [/* @__PURE__ */ jsx("div", {
191
- className: cn("font-semibold text-foreground tracking-[-0.25px] leading-tight flex-1", size === "sm" ? "text-xs" : "text-base"),
192
- children: title
193
- }), actions && actions.length > 0 && /* @__PURE__ */ jsx("div", {
194
- className: "flex items-center gap-1",
195
- children: actions.map(_temp4)
196
- })]
197
- }), subtitle && /* @__PURE__ */ jsx("p", {
198
- className: "text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight",
199
- children: subtitle
200
- })]
201
- });
202
- $[29] = actions;
203
- $[30] = hasTabs;
204
- $[31] = size;
205
- $[32] = subtitle;
206
- $[33] = title;
207
- $[34] = t8;
208
- } else t8 = $[34];
209
- let t9;
210
- if ($[35] !== t7 || $[36] !== t8) {
211
- t9 = /* @__PURE__ */ jsx("div", {
212
- className: t7,
213
- children: t8
214
- });
215
- $[35] = t7;
216
- $[36] = t8;
217
- $[37] = t9;
218
- } else t9 = $[37];
219
- let t10;
220
- if ($[38] !== content) {
221
- t10 = /* @__PURE__ */ jsx("div", {
222
- className: "flex-1 overflow-auto",
223
- children: content
224
- });
225
- $[38] = content;
226
- $[39] = t10;
227
- } else t10 = $[39];
228
- let t11;
229
- if ($[40] !== t10 || $[41] !== t9) {
230
- t11 = /* @__PURE__ */ jsxs("div", {
231
- className: "flex flex-col size-full",
232
- children: [t9, t10]
233
- });
234
- $[40] = t10;
235
- $[41] = t9;
236
- $[42] = t11;
237
- } else t11 = $[42];
238
- let t12;
239
- if ($[43] !== dataTestId || $[44] !== t11 || $[45] !== t4) {
240
- t12 = /* @__PURE__ */ jsxs("div", {
241
- className: t4,
242
- "data-testid": dataTestId,
243
- children: [t5, t11]
244
- });
245
- $[43] = dataTestId;
246
- $[44] = t11;
247
- $[45] = t4;
248
- $[46] = t12;
249
- } else t12 = $[46];
250
- return t12;
251
- };
252
- Panel.displayName = "Panel";
253
- function _temp(tab) {
254
- return /* @__PURE__ */ jsx(TabsTrigger, {
255
- value: tab.label,
256
- "data-testid": tab["data-testid"],
257
- className: "cursor-pointer",
258
- children: tab.labelComponent || tab.label
259
- }, tab.label);
260
- }
261
- function _temp2(detail, index) {
262
- return /* @__PURE__ */ jsx(PanelDetailItem, { ...detail }, index);
263
- }
264
- function _temp3(tab_0) {
265
- return /* @__PURE__ */ jsx(TabsContent, {
266
- value: tab_0.label,
267
- children: tab_0.content
268
- }, tab_0.label);
269
- }
270
- function _temp4(action, index_0) {
271
- return /* @__PURE__ */ jsx(Button, {
272
- onClick: action.onClick,
273
- variant: "ghost",
274
- className: cn(action.active && "bg-muted-foreground/20 hover:bg-muted-foreground/30"),
275
- size: "icon",
276
- "aria-label": action.label,
277
- "data-testid": "close-panel",
278
- children: action.icon
279
- }, index_0);
280
- }
281
-
282
- //#endregion
283
- export { Panel, PanelDetailItem };
284
- //# sourceMappingURL=panel.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"panel.js","names":["FC","ReactNode","useMemo","cn","BackgroundEffect","Button","Tabs","TabsContent","TabsList","TabsTrigger","PanelDetailItemProps","label","value","highlighted","PanelAction","active","icon","onClick","PanelProps","title","subtitle","details","actions","className","children","size","variant","tabs","labelComponent","content","contentClassName","panelVariants","default","outlined","filled","ghost","PanelDetailItem","t0","$","_c","t1","t2","t3","t4","t5","t6","t7","Panel","dataTestId","undefined","hasTabs","length","bb0","map","_temp","_temp2","_temp3","t8","_view","t9","t10","Symbol","for","_temp4","t11","t12","displayName","tab","detail","index","tab_0","action","index_0"],"sources":["../../../src/components/ui/panel.tsx"],"sourcesContent":["import { type FC, type ReactNode, useMemo } from 'react'\nimport { cn } from '../../lib/utils'\nimport { BackgroundEffect } from './background-effect'\nimport { Button } from './button'\nimport { Tabs, TabsContent, TabsList, TabsTrigger } from './tabs'\n\nexport interface PanelDetailItemProps {\n label: string | ReactNode\n value: string | ReactNode\n highlighted?: boolean\n}\n\nexport interface PanelAction {\n active?: boolean\n icon: ReactNode\n onClick: () => void\n label?: string\n}\n\nexport interface PanelProps {\n 'data-testid'?: string\n title?: ReactNode\n subtitle?: ReactNode\n details?: PanelDetailItemProps[]\n actions?: PanelAction[]\n className?: string\n children?: ReactNode\n size?: 'sm' | 'md'\n variant?: 'default' | 'outlined' | 'filled' | 'ghost'\n tabs?: {\n label: string\n labelComponent?: ReactNode\n content: ReactNode\n 'data-testid'?: string\n }[]\n contentClassName?: string\n}\n\nconst panelVariants = {\n default: 'bg-transparent border border-border',\n outlined: 'bg-transparent border border-border',\n filled: 'bg-muted border border-transparent',\n ghost: 'bg-transparent border-transparent shadow-none',\n}\n\nexport const PanelDetailItem: FC<PanelDetailItemProps> = ({ label, value, highlighted }) => {\n return (\n <div className=\"flex gap-4 items-start\">\n <div className=\"flex items-center h-8 shrink-0\">\n <span className=\"text-sm font-medium text-foreground tracking-[-0.25px] w-24 truncate\">{label}</span>\n </div>\n <div className={cn('flex-1 rounded-lg px-2 py-1 min-h-6', highlighted && 'bg-secondary')}>\n <div className=\"flex items-center min-h-6\">\n {typeof value === 'string' ? (\n <span className=\"text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight\">{value}</span>\n ) : (\n value\n )}\n </div>\n </div>\n </div>\n )\n}\n\nexport const Panel: FC<PanelProps> = ({\n 'data-testid': dataTestId,\n title,\n subtitle,\n details,\n actions,\n className,\n children,\n size,\n variant = 'default',\n contentClassName,\n tabs,\n}) => {\n const hasTabs = tabs && tabs.length > 0\n\n const content = useMemo(() => {\n const _view = (\n <>\n {hasTabs && (\n <TabsList\n className={cn('bg-card border-b border-border px-1 pt-5', {\n 'bg-transparent': variant === 'ghost',\n })}\n >\n {tabs?.map((tab) => (\n <TabsTrigger\n key={tab.label}\n value={tab.label}\n data-testid={tab['data-testid']}\n className=\"cursor-pointer\"\n >\n {tab.labelComponent || tab.label}\n </TabsTrigger>\n ))}\n </TabsList>\n )}\n <div className={cn('flex flex-col gap-2 p-4 h-full', contentClassName)}>\n {details?.map((detail, index) => (\n <PanelDetailItem key={index} {...detail} />\n ))}\n\n {hasTabs &&\n tabs.map((tab) => (\n <TabsContent key={tab.label} value={tab.label}>\n {tab.content}\n </TabsContent>\n ))}\n\n {children}\n </div>\n </>\n )\n\n if (hasTabs) {\n return <Tabs defaultValue={tabs?.[0]?.label}>{_view}</Tabs>\n }\n\n return _view\n }, [tabs, variant, size, title, subtitle, details, actions, contentClassName, children, hasTabs])\n\n return (\n <div\n className={cn(\n 'relative isolate size-full backdrop-blur-[48px] backdrop-filter',\n 'text-foreground',\n 'rounded-lg overflow-hidden',\n panelVariants[variant],\n className,\n )}\n data-testid={dataTestId}\n >\n <BackgroundEffect />\n <div className=\"flex flex-col size-full\">\n <div\n className={cn('relative shrink-0 w-full border-b border-border bg-card', {\n 'bg-transparent': variant === 'ghost',\n 'border-b-0': hasTabs,\n })}\n >\n {title && (\n <div\n className={cn('flex flex-col gap-1 px-5 py-4', {\n 'px-4 py-3': size === 'sm',\n 'px-5 py-4': size === 'md',\n 'pb-0': hasTabs,\n })}\n >\n <div className=\"flex items-center w-full\">\n <div\n className={cn(\n 'font-semibold text-foreground tracking-[-0.25px] leading-tight flex-1',\n size === 'sm' ? 'text-xs' : 'text-base',\n )}\n >\n {title}\n </div>\n {actions && actions.length > 0 && (\n <div className=\"flex items-center gap-1\">\n {actions.map((action, index) => (\n <Button\n key={index}\n onClick={action.onClick}\n variant=\"ghost\"\n className={cn(action.active && 'bg-muted-foreground/20 hover:bg-muted-foreground/30')}\n size=\"icon\"\n aria-label={action.label}\n data-testid=\"close-panel\"\n >\n {action.icon}\n </Button>\n ))}\n </div>\n )}\n </div>\n {subtitle && (\n <p className=\"text-sm font-medium text-muted-foreground tracking-[-0.25px] leading-tight\">{subtitle}</p>\n )}\n </div>\n )}\n </div>\n\n <div className=\"flex-1 overflow-auto\">{content}</div>\n </div>\n </div>\n )\n}\n\nPanel.displayName = 'Panel'\n"],"mappings":";;;;;;;;AAsCA,MAAM+B,gBAAgB;CACpBC,SAAS;CACTC,UAAU;CACVC,QAAQ;CACRC,OAAO;CACR;AAED,MAAaC,mBAA4CC,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAA5B,OAAAC,OAAAC,gBAAAwB;CAA6B,IAAAG;AAAA,KAAAF,EAAA,OAAA3B,OAAA;AAGjF6B,OAAA,oBAAA;GAAe,WAAA;aACb,oBAAA;IAAgB,WAAA;cAAwE7B;KAC1F;IAAM;AAAA2B,IAAA,KAAA3B;AAAA2B,IAAA,KAAAE;OAAAA,MAAAF,EAAA;CACoD,MAAAG,KAAA5B,eAAA;CAA6B,IAAA6B;AAAA,KAAAJ,EAAA,OAAAG,IAAA;AAAvEC,OAAAvC,GAAG,uCAAuCsC,GAA8B;AAAAH,IAAA,KAAAG;AAAAH,IAAA,KAAAI;OAAAA,MAAAJ,EAAA;CAAA,IAAAK;AAAA,KAAAL,EAAA,OAAA1B,OAAA;AAEnF+B,OAAA,OAAO/B,UAAU,WAChB,oBAAA;GAAgB,WAAA;aAA8EA;IAG/F,GAJAA;AAIA0B,IAAA,KAAA1B;AAAA0B,IAAA,KAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAM;AAAA,KAAAN,EAAA,OAAAK,IAAA;AALHC,OAAA,oBAAA;GAAe,WAAA;aACZD;IAKG;AAAAL,IAAA,KAAAK;AAAAL,IAAA,KAAAM;OAAAA,MAAAN,EAAA;CAAA,IAAAO;AAAA,KAAAP,EAAA,OAAAI,MAAAJ,EAAA,OAAAM,IAAA;AAPRC,OAAA,oBAAA;GAAgB,WAAAH;aACdE;IAOI;AAAAN,IAAA,KAAAI;AAAAJ,IAAA,KAAAM;AAAAN,IAAA,MAAAO;OAAAA,MAAAP,EAAA;CAAA,IAAAQ;AAAA,KAAAR,EAAA,QAAAE,MAAAF,EAAA,QAAAO,IAAA;AAZRC,OAAA,qBAAA;GAAe,WAAA;cACbN,IAGAK;IASI;AAAAP,IAAA,MAAAE;AAAAF,IAAA,MAAAO;AAAAP,IAAA,MAAAQ;OAAAA,MAAAR,EAAA;AAAA,QAbNQ;;AAiBJ,MAAaC,SAAwBV,OAAA;CAAA,MAAAC,IAAAC,EAAA,GAAA;CAAC,MAAA,EAAA,eAAAS,YAAA7B,OAAAC,UAAAC,SAAAC,SAAAC,WAAAC,UAAAC,MAAAC,SAAAc,IAAAV,kBAAAH,SAAAU;CASpC,MAAAX,UAAAc,OAAAS,SAAA,YAAAT;CAIA,MAAAU,UAAgBvB,QAAQA,KAAIwB,SAAU;CAAC,IAAAV;AAAAW,MAAA;EAAA,IAAAV;AAAA,MAAAJ,EAAA,OAAAY,WAAAZ,EAAA,OAAAX,QAAAW,EAAA,OAAAZ,SAAA;AAKhCgB,UAAAQ,WACC,oBAAC;IACY,WAAA/C,GAAG,4CAA4C,EAAA,kBACtCuB,YAAY,SAC/B,CAAA;cAEAC,MAAI0B,IAAMC,MASV;KAEJ;AAAAhB,KAAA,KAAAY;AAAAZ,KAAA,KAAAX;AAAAW,KAAA,KAAAZ;AAAAY,KAAA,KAAAI;QAAAA,QAAAJ,EAAA;EAAA,IAAAK;AAAA,MAAAL,EAAA,OAAAR,kBAAA;AACea,UAAAxC,GAAG,kCAAkC2B,iBAAiB;AAAAQ,KAAA,KAAAR;AAAAQ,KAAA,KAAAK;QAAAA,QAAAL,EAAA;EAAA,IAAAM;AAAA,MAAAN,EAAA,OAAAjB,SAAA;AACnEuB,UAAAvB,SAAOgC,IAAME,OAEZ;AAAAjB,KAAA,KAAAjB;AAAAiB,KAAA,KAAAM;QAAAA,QAAAN,EAAA;EAAA,IAAAO;AAAA,MAAAP,EAAA,OAAAY,WAAAZ,EAAA,OAAAX,MAAA;AAEDkB,UAAAK,WACCvB,KAAI0B,IAAKG,OAIP;AAAAlB,KAAA,KAAAY;AAAAZ,KAAA,KAAAX;AAAAW,KAAA,MAAAO;QAAAA,QAAAP,EAAA;EAAA,IAAAQ;AAAA,MAAAR,EAAA,QAAAd,YAAAc,EAAA,QAAAK,QAAAL,EAAA,QAAAM,QAAAN,EAAA,QAAAO,MAAA;AAVNC,UAAA,qBAAA;IAAgB,WAAAH;;KACbC;KAIAC;KAOArB;;KACG;AAAAc,KAAA,MAAAd;AAAAc,KAAA,MAAAK;AAAAL,KAAA,MAAAM;AAAAN,KAAA,MAAAO;AAAAP,KAAA,MAAAQ;QAAAA,QAAAR,EAAA;EAAA,IAAAmB;AAAA,MAAAnB,EAAA,QAAAI,QAAAJ,EAAA,QAAAQ,MAAA;AAhCRW,UAAA,4CACGf,MAkBDI,QAcC;AAAAR,KAAA,MAAAI;AAAAJ,KAAA,MAAAQ;AAAAR,KAAA,MAAAmB;QAAAA,QAAAnB,EAAA;EAlCL,MAAAoB,QACED;AAoCF,MAAIP,SAAO;GACkB,MAAAS,OAAAhC,OAAI,IAAYhB;GAAA,IAAAiD;AAAA,OAAAtB,EAAA,QAAAoB,SAAApB,EAAA,QAAAqB,MAAA;AAApCC,YAAA,oBAAC;KAAmB,cAAAD;eAAmBD;MAAa;AAAApB,MAAA,MAAAoB;AAAApB,MAAA,MAAAqB;AAAArB,MAAA,MAAAsB;SAAAA,SAAAtB,EAAA;AAA3DG,QAAOmB;AAAP,SAAAR;;AAGFX,OAAOiB;;CA1CT,MAAA7B,UAAgBY;CAmDV,MAAAC,KAAAX,cAAcL;CAAQ,IAAAiB;AAAA,KAAAL,EAAA,QAAAf,aAAAe,EAAA,QAAAI,IAAA;AAJbC,OAAAxC,GACT,mEACA,mBACA,8BACAuC,IACAnB,UACD;AAAAe,IAAA,MAAAf;AAAAe,IAAA,MAAAI;AAAAJ,IAAA,MAAAK;OAAAA,MAAAL,EAAA;CAAA,IAAAM;AAAA,KAAAN,EAAA,QAAAuB,OAAAC,IAAA,4BAAA,EAAA;AAGDlB,OAAA,oBAAC,qBAAmB;AAAAN,IAAA,MAAAM;OAAAA,MAAAN,EAAA;CAII,MAAAO,KAAAnB,YAAY;CAAO,IAAAoB;AAAA,KAAAR,EAAA,QAAAY,WAAAZ,EAAA,QAAAO,IAAA;AAD5BC,OAAA3C,GAAG,2DAA2D;GAAA,kBACrD0C;GAAmB,cACvBK;GACf,CAAC;AAAAZ,IAAA,MAAAY;AAAAZ,IAAA,MAAAO;AAAAP,IAAA,MAAAQ;OAAAA,MAAAR,EAAA;CAAA,IAAAmB;AAAA,KAAAnB,EAAA,QAAAhB,WAAAgB,EAAA,QAAAY,WAAAZ,EAAA,QAAAb,QAAAa,EAAA,QAAAlB,YAAAkB,EAAA,QAAAnB,OAAA;AAEDsC,OAAAtC,SACC,qBAAA;GACa,WAAAhB,GAAG,iCAAiC;IAAA,aAChCsB,SAAS;IAAI,aACbA,SAAS;IAAI,QAClByB;IACT,CAAA;cAED,qBAAA;IAAe,WAAA;eACb,oBAAA;KACa,WAAA/C,GACT,yEACAsB,SAAS,OAAT,YAAA,YACF;eAECN;MAEF,EAAAG,WAAWA,QAAO6B,SAAU,KAC3B,oBAAA;KAAe,WAAA;eACZ7B,QAAO+B,IAAKU,OAYZ;MAEL;KAED,EAAA3C,YACC,oBAAA;IAAa,WAAA;cAA8EA;KAC7F;IAEH;AAAAkB,IAAA,MAAAhB;AAAAgB,IAAA,MAAAY;AAAAZ,IAAA,MAAAb;AAAAa,IAAA,MAAAlB;AAAAkB,IAAA,MAAAnB;AAAAmB,IAAA,MAAAmB;OAAAA,MAAAnB,EAAA;CAAA,IAAAqB;AAAA,KAAArB,EAAA,QAAAQ,MAAAR,EAAA,QAAAmB,IAAA;AA7CHE,OAAA,oBAAA;GACa,WAAAb;aAKVW;IAwCG;AAAAnB,IAAA,MAAAQ;AAAAR,IAAA,MAAAmB;AAAAnB,IAAA,MAAAqB;OAAAA,MAAArB,EAAA;CAAA,IAAAsB;AAAA,KAAAtB,EAAA,QAAAT,SAAA;AAEN+B,QAAA,oBAAA;GAAe,WAAA;aAAwB/B;IAAc;AAAAS,IAAA,MAAAT;AAAAS,IAAA,MAAAsB;OAAAA,OAAAtB,EAAA;CAAA,IAAA0B;AAAA,KAAA1B,EAAA,QAAAsB,OAAAtB,EAAA,QAAAqB,IAAA;AAjDvDK,QAAA,qBAAA;GAAe,WAAA;cACbL,IAgDAC;IACI;AAAAtB,IAAA,MAAAsB;AAAAtB,IAAA,MAAAqB;AAAArB,IAAA,MAAA0B;OAAAA,OAAA1B,EAAA;CAAA,IAAA2B;AAAA,KAAA3B,EAAA,QAAAU,cAAAV,EAAA,QAAA0B,OAAA1B,EAAA,QAAAK,IAAA;AA7DRsB,QAAA,qBAAA;GACa,WAAAtB;GAOEK,eAAAA;cAEbJ,IACAoB;IAmDI;AAAA1B,IAAA,MAAAU;AAAAV,IAAA,MAAA0B;AAAA1B,IAAA,MAAAK;AAAAL,IAAA,MAAA2B;OAAAA,OAAA3B,EAAA;AAAA,QA9DN2B;;AAkEJlB,MAAMmB,cAAc;AA/HiB,SAAAZ,MAAAa,KAAA;AAAA,QAyBvB,oBAAC;EAEQ,OAAAA,IAAGxD;EACG,eAAAwD,IAAI;EACP,WAAA;YAETA,IAAGvC,kBAAmBuC,IAAGxD;IALrBwD,IAAGxD,MAMI;;AAhCS,SAAA4C,OAAAa,QAAAC,OAAA;AAAA,QAsCzB,oBAAC,mBAA0B,GAAMD,UAAXC,MAAqB;;AAtClB,SAAAb,OAAAc,OAAA;AAAA,QA2CvB,oBAAC;EAAmC,OAAAH,MAAGxD;YACpCwD,MAAGtC;IADYsC,MAAGxD,MAEP;;AA7CS,SAAAoD,OAAAQ,QAAAC,SAAA;AAAA,QAmGf,oBAAC;EAEU,SAAAD,OAAMtD;EACP,SAAA;EACG,WAAAd,GAAGoE,OAAMxD,UAAN,sDAAsE;EAC/E,MAAA;EACO,cAAAwD,OAAM5D;EACN,eAAA;YAEX4D,OAAMvD;IARFqD,QASE"}