@arcadeai/design-system 3.33.2 → 3.35.0

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 (121) hide show
  1. package/README.md +30 -317
  2. package/dist/arcade-logo-BVV97-cr.js +33 -0
  3. package/dist/assets/icons/granola.js +14 -0
  4. package/dist/assets/images/arcade-grid.d.ts +1 -1
  5. package/dist/assets/images/arcade-grid.d.ts.map +1 -1
  6. package/dist/assets/images/arcade-logo.d.ts +1 -1
  7. package/dist/assets/images/arcade-logo.d.ts.map +1 -1
  8. package/dist/assets/images/arcade-logo.js +10 -31
  9. package/dist/components/index.js +597 -567
  10. package/dist/components/ui/atoms/accordion.d.ts +1 -1
  11. package/dist/components/ui/atoms/accordion.d.ts.map +1 -1
  12. package/dist/components/ui/atoms/alert-dialog.d.ts +1 -1
  13. package/dist/components/ui/atoms/alert-dialog.d.ts.map +1 -1
  14. package/dist/components/ui/atoms/alert.d.ts +1 -1
  15. package/dist/components/ui/atoms/alert.d.ts.map +1 -1
  16. package/dist/components/ui/atoms/avatar-notification-badge.d.ts +34 -0
  17. package/dist/components/ui/atoms/avatar-notification-badge.d.ts.map +1 -0
  18. package/dist/components/ui/atoms/avatar-notification-badge.js +78 -0
  19. package/dist/components/ui/atoms/avatar.d.ts +1 -1
  20. package/dist/components/ui/atoms/avatar.d.ts.map +1 -1
  21. package/dist/components/ui/atoms/breadcrumb.d.ts +1 -1
  22. package/dist/components/ui/atoms/breadcrumb.d.ts.map +1 -1
  23. package/dist/components/ui/atoms/card.d.ts +1 -1
  24. package/dist/components/ui/atoms/card.d.ts.map +1 -1
  25. package/dist/components/ui/atoms/chart.d.ts +1 -1
  26. package/dist/components/ui/atoms/chart.d.ts.map +1 -1
  27. package/dist/components/ui/atoms/chat-container.d.ts +1 -1
  28. package/dist/components/ui/atoms/chat-container.d.ts.map +1 -1
  29. package/dist/components/ui/atoms/code-block.d.ts +1 -1
  30. package/dist/components/ui/atoms/code-block.d.ts.map +1 -1
  31. package/dist/components/ui/atoms/collapsible.d.ts +1 -1
  32. package/dist/components/ui/atoms/command.d.ts +1 -1
  33. package/dist/components/ui/atoms/command.d.ts.map +1 -1
  34. package/dist/components/ui/atoms/command.js +364 -288
  35. package/dist/components/ui/atoms/copy-button.d.ts +1 -1
  36. package/dist/components/ui/atoms/copy-button.d.ts.map +1 -1
  37. package/dist/components/ui/atoms/dropdown-menu.d.ts +1 -1
  38. package/dist/components/ui/atoms/dropdown-menu.d.ts.map +1 -1
  39. package/dist/components/ui/atoms/form.d.ts +1 -1
  40. package/dist/components/ui/atoms/form.d.ts.map +1 -1
  41. package/dist/components/ui/atoms/hover-card.d.ts +1 -1
  42. package/dist/components/ui/atoms/icons/granola.d.ts +4 -0
  43. package/dist/components/ui/atoms/icons/granola.d.ts.map +1 -0
  44. package/dist/components/ui/atoms/icons/granola.js +20 -0
  45. package/dist/components/ui/atoms/icons/index.d.ts +1 -0
  46. package/dist/components/ui/atoms/icons/index.d.ts.map +1 -1
  47. package/dist/components/ui/atoms/icons/index.js +156 -154
  48. package/dist/components/ui/atoms/index.d.ts +3 -0
  49. package/dist/components/ui/atoms/index.d.ts.map +1 -1
  50. package/dist/components/ui/atoms/index.js +514 -504
  51. package/dist/components/ui/atoms/json-highlight.d.ts +60 -0
  52. package/dist/components/ui/atoms/json-highlight.d.ts.map +1 -0
  53. package/dist/components/ui/atoms/json-highlight.js +77 -0
  54. package/dist/components/ui/atoms/loader.d.ts +1 -1
  55. package/dist/components/ui/atoms/loader.d.ts.map +1 -1
  56. package/dist/components/ui/atoms/markdown.js +1 -1
  57. package/dist/components/ui/atoms/popover.d.ts +1 -1
  58. package/dist/components/ui/atoms/popover.d.ts.map +1 -1
  59. package/dist/components/ui/atoms/resizable.d.ts +1 -1
  60. package/dist/components/ui/atoms/resizable.d.ts.map +1 -1
  61. package/dist/components/ui/atoms/scroll-button.d.ts +1 -1
  62. package/dist/components/ui/atoms/scroll-button.d.ts.map +1 -1
  63. package/dist/components/ui/atoms/scroll-button.js +8 -8
  64. package/dist/components/ui/atoms/sheet.d.ts +1 -1
  65. package/dist/components/ui/atoms/sheet.d.ts.map +1 -1
  66. package/dist/components/ui/atoms/table.d.ts +1 -1
  67. package/dist/components/ui/atoms/table.d.ts.map +1 -1
  68. package/dist/components/ui/atoms/tabs.d.ts +1 -1
  69. package/dist/components/ui/atoms/tabs.d.ts.map +1 -1
  70. package/dist/components/ui/atoms/tooltip.d.ts +4 -2
  71. package/dist/components/ui/atoms/tooltip.d.ts.map +1 -1
  72. package/dist/components/ui/atoms/tooltip.js +3 -2
  73. package/dist/components/ui/atoms/view-tools-control.d.ts +1 -1
  74. package/dist/components/ui/atoms/view-tools-control.d.ts.map +1 -1
  75. package/dist/components/ui/atoms/view-tools-control.js +20 -19
  76. package/dist/components/ui/index.js +597 -567
  77. package/dist/components/ui/molecules/chat-message-list.d.ts +5 -2
  78. package/dist/components/ui/molecules/chat-message-list.d.ts.map +1 -1
  79. package/dist/components/ui/molecules/chat-message-list.js +2 -2
  80. package/dist/components/ui/molecules/index.d.ts +8 -0
  81. package/dist/components/ui/molecules/index.d.ts.map +1 -1
  82. package/dist/components/ui/molecules/index.js +48 -28
  83. package/dist/components/ui/molecules/message.d.ts +2 -2
  84. package/dist/components/ui/molecules/message.d.ts.map +1 -1
  85. package/dist/components/ui/molecules/message.js +1 -1
  86. package/dist/components/ui/molecules/prompt-input.d.ts +1 -1
  87. package/dist/components/ui/molecules/prompt-input.d.ts.map +1 -1
  88. package/dist/components/ui/molecules/prompt-input.js +20 -20
  89. package/dist/components/ui/molecules/requirement-badges.js +9 -5
  90. package/dist/components/ui/molecules/switcher.d.ts +83 -0
  91. package/dist/components/ui/molecules/switcher.d.ts.map +1 -0
  92. package/dist/components/ui/molecules/switcher.js +164 -0
  93. package/dist/components/ui/molecules/tool-authorization.d.ts +56 -0
  94. package/dist/components/ui/molecules/tool-authorization.d.ts.map +1 -0
  95. package/dist/components/ui/molecules/tool-authorization.js +160 -0
  96. package/dist/components/ui/molecules/tool-call-accordion.d.ts +36 -0
  97. package/dist/components/ui/molecules/tool-call-accordion.d.ts.map +1 -0
  98. package/dist/components/ui/molecules/tool-call-accordion.js +301 -0
  99. package/dist/components/ui/molecules/toolkit-card.js +1 -1
  100. package/dist/components/ui/molecules/user-nav.d.ts +65 -0
  101. package/dist/components/ui/molecules/user-nav.d.ts.map +1 -0
  102. package/dist/components/ui/molecules/user-nav.js +154 -0
  103. package/dist/components/ui/pages/chat-page.d.ts +18 -10
  104. package/dist/components/ui/pages/chat-page.d.ts.map +1 -1
  105. package/dist/components/ui/pages/chat-page.js +328 -243
  106. package/dist/components/ui/pages/login-page.js +6 -6
  107. package/dist/components/ui/templates/chat-template.d.ts +1 -1
  108. package/dist/components/ui/templates/chat-template.d.ts.map +1 -1
  109. package/dist/components/ui/templates/chat-template.js +11 -11
  110. package/dist/{highlighted-body-TPN3WLV5-DyOGcftJ.js → highlighted-body-TPN3WLV5-D6UnKGod.js} +1 -1
  111. package/dist/lib/utils.js +1 -1
  112. package/dist/main.js +623 -593
  113. package/dist/{markdown-9KGBuupR.js → markdown-D0xxRbwP.js} +2597 -2592
  114. package/dist/mermaid-O7DHMXV3-gUrB-Xs1.js +4 -0
  115. package/dist/metadata/toolkit-icons.d.ts.map +1 -1
  116. package/dist/metadata/toolkit-icons.js +130 -128
  117. package/dist/metadata/toolkits.d.ts.map +1 -1
  118. package/dist/metadata/toolkits.js +13 -0
  119. package/dist/{toolkit-card-k8jio69G.js → toolkit-card-B97E7TBA.js} +15 -12
  120. package/package.json +6 -6
  121. package/dist/mermaid-O7DHMXV3-CUp9wvRi.js +0 -4
@@ -0,0 +1,154 @@
1
+ import { jsx as e, jsxs as r, Fragment as b } from "react/jsx-runtime";
2
+ import { ChevronsUpDownIcon as y } from "lucide-react";
3
+ import { Avatar as D, AvatarImage as C, AvatarFallback as j } from "../atoms/avatar.js";
4
+ import { Button as M } from "../atoms/button.js";
5
+ import { DropdownMenu as I, DropdownMenuTrigger as k, DropdownMenuContent as z, DropdownMenuLabel as A, DropdownMenuSeparator as U } from "../atoms/dropdown-menu.js";
6
+ import { cn as a } from "../../../lib/utils.js";
7
+ function B(t) {
8
+ return t.split(" ").filter(Boolean).map((n) => n[0]).join("").slice(0, 2).toUpperCase();
9
+ }
10
+ const F = {
11
+ sm: "size-9",
12
+ lg: "size-10"
13
+ };
14
+ function f({
15
+ name: t,
16
+ avatarUrl: n,
17
+ avatarSize: o,
18
+ avatarClassName: i,
19
+ badge: s,
20
+ secondaryContent: l,
21
+ hideDetails: u = !1
22
+ }) {
23
+ const c = B(t) || "U";
24
+ return /* @__PURE__ */ r(b, { children: [
25
+ /* @__PURE__ */ r("div", { className: "relative shrink-0", children: [
26
+ /* @__PURE__ */ r(D, { className: a(F[o], "rounded-lg"), children: [
27
+ n && /* @__PURE__ */ e(C, { alt: t, src: n }),
28
+ /* @__PURE__ */ e(
29
+ j,
30
+ {
31
+ className: a(
32
+ "rounded-lg bg-purple-600 font-semibold text-white text-xs",
33
+ i
34
+ ),
35
+ children: c
36
+ }
37
+ )
38
+ ] }),
39
+ s
40
+ ] }),
41
+ /* @__PURE__ */ r(
42
+ "div",
43
+ {
44
+ className: a(
45
+ "flex min-w-0 flex-1 flex-col items-start gap-px text-left leading-tight",
46
+ u && "hidden"
47
+ ),
48
+ children: [
49
+ /* @__PURE__ */ e("span", { className: "truncate font-semibold text-foreground text-sm", children: t }),
50
+ l
51
+ ]
52
+ }
53
+ )
54
+ ] });
55
+ }
56
+ function G({
57
+ name: t,
58
+ email: n,
59
+ avatarUrl: o,
60
+ avatarSize: i = "sm",
61
+ avatarClassName: s,
62
+ badge: l,
63
+ menuBadge: u,
64
+ secondary: c,
65
+ menuSecondary: g,
66
+ compact: m = !1,
67
+ children: h,
68
+ dropdownSide: w = "top",
69
+ dropdownAlign: N = "end",
70
+ className: x
71
+ }) {
72
+ const p = t ?? "User";
73
+ let d = null;
74
+ c !== void 0 ? d = c : n && (d = /* @__PURE__ */ e("span", { className: "truncate text-muted-foreground text-xs", children: n }));
75
+ const v = g === void 0 ? d : g;
76
+ return h ? /* @__PURE__ */ r(I, { children: [
77
+ /* @__PURE__ */ e(k, { asChild: !0, children: /* @__PURE__ */ r(
78
+ M,
79
+ {
80
+ "aria-label": `${p} menu`,
81
+ className: a(
82
+ "h-auto w-full cursor-pointer justify-start gap-3 overflow-visible rounded-lg px-1.5 py-2 transition-colors",
83
+ "hover:bg-accent hover:text-accent-foreground",
84
+ "data-[state=open]:bg-accent data-[state=open]:text-accent-foreground",
85
+ m && "size-10 justify-center px-0",
86
+ x
87
+ ),
88
+ variant: "ghost",
89
+ children: [
90
+ /* @__PURE__ */ e(
91
+ f,
92
+ {
93
+ avatarClassName: s,
94
+ avatarSize: i,
95
+ avatarUrl: o,
96
+ badge: l,
97
+ hideDetails: m,
98
+ name: p,
99
+ secondaryContent: d
100
+ }
101
+ ),
102
+ !m && /* @__PURE__ */ e(y, { className: "ml-auto size-4 shrink-0 text-muted-foreground" })
103
+ ]
104
+ }
105
+ ) }),
106
+ /* @__PURE__ */ r(
107
+ z,
108
+ {
109
+ align: N,
110
+ className: "w-(--radix-dropdown-menu-trigger-width) min-w-56",
111
+ side: w,
112
+ sideOffset: 4,
113
+ children: [
114
+ /* @__PURE__ */ e(A, { className: "p-0 font-normal", children: /* @__PURE__ */ e("div", { className: "flex items-center gap-3 px-3 py-2.5", children: /* @__PURE__ */ e(
115
+ f,
116
+ {
117
+ avatarClassName: s,
118
+ avatarSize: i,
119
+ avatarUrl: o,
120
+ badge: u ?? l,
121
+ name: p,
122
+ secondaryContent: v
123
+ }
124
+ ) }) }),
125
+ /* @__PURE__ */ e(U, {}),
126
+ h
127
+ ]
128
+ }
129
+ )
130
+ ] }) : /* @__PURE__ */ e(
131
+ "div",
132
+ {
133
+ className: a(
134
+ "flex w-full items-center gap-3 rounded-lg px-1.5 py-2",
135
+ x
136
+ ),
137
+ children: /* @__PURE__ */ e(
138
+ f,
139
+ {
140
+ avatarClassName: s,
141
+ avatarSize: i,
142
+ avatarUrl: o,
143
+ badge: l,
144
+ hideDetails: m,
145
+ name: p,
146
+ secondaryContent: d
147
+ }
148
+ )
149
+ }
150
+ );
151
+ }
152
+ export {
153
+ G as UserNav
154
+ };
@@ -34,6 +34,8 @@ export type ChatPageProps = {
34
34
  inputValue?: string;
35
35
  /** Callback when input changes */
36
36
  onInputChange?: (value: string) => void;
37
+ /** Disables the composer while the caller is hydrating or otherwise blocking input. */
38
+ inputDisabled?: boolean;
37
39
  /** Callback when message is submitted */
38
40
  onSubmit?: () => void;
39
41
  /** Whether a response is loading / streaming */
@@ -46,18 +48,19 @@ export type ChatPageProps = {
46
48
  onDeleteAll?: () => void;
47
49
  /** Callback for sign out */
48
50
  onSignOut?: () => void;
49
- /** Callback for theme change */
50
- onThemeChange?: (theme: "light" | "dark" | "system") => void;
51
- /** Current theme */
52
- theme?: "light" | "dark" | "system";
53
- /** Chat history items for the sidebar */
54
- chatHistory?: Array<{
55
- id: string;
56
- title: string;
57
- isActive?: boolean;
51
+ /** Chat history items for the sidebar, pre-grouped by date (use groupHistory from @arcadeai/ui-kit) */
52
+ chatHistoryGroups?: Array<{
53
+ label: string;
54
+ items: Array<{
55
+ id: string;
56
+ title: string;
57
+ isActive?: boolean;
58
+ }>;
58
59
  }>;
59
60
  /** Callback when a chat history item is selected */
60
61
  onSelectChat?: (id: string) => void;
62
+ /** Callback to delete a single chat history item */
63
+ onDeleteChat?: (id: string) => void;
61
64
  /** Whether the sidebar is open by default */
62
65
  defaultSidebarOpen?: boolean;
63
66
  /** Whether to show the sidebar. When false, the chat takes the full width. */
@@ -70,6 +73,11 @@ export type ChatPageProps = {
70
73
  loadingIndicator?: React.ReactNode;
71
74
  /** Children rendered in the body area. Overrides `messages` prop when present. */
72
75
  children?: React.ReactNode;
76
+ /**
77
+ * Key for the scroll container. Change this value (e.g. pass the active chat ID)
78
+ * to remount the container and jump instantly to the bottom instead of animating.
79
+ */
80
+ scrollKey?: string | number;
73
81
  };
74
- export declare function ChatPage({ user, logo, suggestedActions, onSuggestionAction, models, selectedModelId, onModelChange, inputValue, onInputChange, onSubmit, isLoading, onStop, onNewChat, onDeleteAll, onSignOut, onThemeChange, theme, chatHistory, onSelectChat, defaultSidebarOpen, showSidebar, messages, renderMessage, loadingIndicator, children, }: ChatPageProps): import("react/jsx-runtime").JSX.Element;
82
+ export declare function ChatPage({ user, logo, suggestedActions, onSuggestionAction, models, selectedModelId, onModelChange, inputValue, onInputChange, inputDisabled, onSubmit, isLoading, onStop, onNewChat, onDeleteAll, onSignOut, chatHistoryGroups, onSelectChat, onDeleteChat, defaultSidebarOpen, showSidebar, messages, renderMessage, loadingIndicator, children, scrollKey, }: ChatPageProps): import("react/jsx-runtime").JSX.Element;
75
83
  //# sourceMappingURL=chat-page.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"chat-page.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/pages/chat-page.tsx"],"names":[],"mappings":"AAYA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AAsCpC,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,oBAAoB,EAC1B,MAAM,6CAA6C,CAAC;AAOrD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2CAA2C,CAAC;AAenD,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,mBAAmB,EACnB,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAC1C,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,0CAA0C;IAC1C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACxC,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,uDAAuD;IACvD,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,gCAAgC;IAChC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,KAAK,IAAI,CAAC;IAC7D,oBAAoB;IACpB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,QAAQ,CAAC;IACpC,yCAAyC;IACzC,WAAW,CAAC,EAAE,KAAK,CAAC;QAClB,EAAE,EAAE,MAAM,CAAC;QACX,KAAK,EAAE,MAAM,CAAC;QACd,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC,CAAC;IACH,oDAAoD;IACpD,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,iFAAiF;IACjF,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACtD,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;CAC5B,CAAC;AAmLF,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,QAAQ,EACR,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,EACT,aAAa,EACb,KAAgB,EAChB,WAAW,EACX,YAAY,EACZ,kBAAyB,EACzB,WAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,QAAQ,GACT,EAAE,aAAa,2CA4Lf"}
1
+ {"version":3,"file":"chat-page.d.ts","sourceRoot":"","sources":["../../../../lib/components/ui/pages/chat-page.tsx"],"names":[],"mappings":"AASA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AA6CpC,OAAO,EACL,KAAK,eAAe,EAEpB,KAAK,oBAAoB,EAC1B,MAAM,6CAA6C,CAAC;AAOrD,OAAO,EAEL,KAAK,mBAAmB,EACzB,MAAM,2CAA2C,CAAC;AAsBnD,6EAA6E;AAC7E,MAAM,MAAM,kBAAkB,GAAG,IAAI,CACnC,mBAAmB,EACnB,MAAM,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAC1C,GAAG;IACF,EAAE,EAAE,MAAM,CAAC;IACX,4FAA4F;IAC5F,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,MAAM,MAAM,aAAa,GAAG;IAC1B,uDAAuD;IACvD,IAAI,CAAC,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7D,0CAA0C;IAC1C,IAAI,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACvB,0DAA0D;IAC1D,gBAAgB,CAAC,EAAE,kBAAkB,EAAE,CAAC;IACxC,oEAAoE;IACpE,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9C,uDAAuD;IACvD,MAAM,CAAC,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnE,kCAAkC;IAClC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,aAAa,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,uFAAuF;IACvF,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,yCAAyC;IACzC,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,gDAAgD;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,4CAA4C;IAC5C,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,uCAAuC;IACvC,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,sCAAsC;IACtC,WAAW,CAAC,EAAE,MAAM,IAAI,CAAC;IACzB,4BAA4B;IAC5B,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,uGAAuG;IACvG,iBAAiB,CAAC,EAAE,KAAK,CAAC;QACxB,KAAK,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,KAAK,CAAC;YACX,EAAE,EAAE,MAAM,CAAC;YACX,KAAK,EAAE,MAAM,CAAC;YACd,QAAQ,CAAC,EAAE,OAAO,CAAC;SACpB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,oDAAoD;IACpD,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,oDAAoD;IACpD,YAAY,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,6CAA6C;IAC7C,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,8EAA8E;IAC9E,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,8GAA8G;IAC9G,QAAQ,CAAC,EAAE,eAAe,EAAE,CAAC;IAC7B,iFAAiF;IACjF,aAAa,CAAC,EAAE,oBAAoB,CAAC,eAAe,CAAC,CAAC;IACtD,yEAAyE;IACzE,gBAAgB,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IACnC,kFAAkF;IAClF,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CAC7B,CAAC;AAqOF,wBAAgB,QAAQ,CAAC,EACvB,IAAI,EACJ,IAAI,EACJ,gBAAgB,EAChB,kBAAkB,EAClB,MAAM,EACN,eAAe,EACf,aAAa,EACb,UAAU,EACV,aAAa,EACb,aAAqB,EACrB,QAAQ,EACR,SAAiB,EACjB,MAAM,EACN,SAAS,EACT,WAAW,EACX,SAAS,EACT,iBAAiB,EACjB,YAAY,EACZ,YAAY,EACZ,kBAAyB,EACzB,WAAkB,EAClB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,QAAQ,EACR,SAAS,GACV,EAAE,aAAa,2CA6Nf"}