@devalok/shilp-sutra 0.27.2 → 0.29.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 (250) hide show
  1. package/dist/_chunks/badge-group.js +299 -0
  2. package/dist/_chunks/framer.js +1915 -1980
  3. package/dist/_chunks/keybinding.js +4 -5
  4. package/dist/_chunks/primitives.js +3198 -3272
  5. package/dist/_chunks/sonner.js +29 -31
  6. package/dist/_chunks/stat-row.js +110 -131
  7. package/dist/_chunks/tiptap.js +42 -78
  8. package/dist/_chunks/tree-view.js +138 -149
  9. package/dist/_chunks/typing-indicator.js +565 -0
  10. package/dist/_chunks/use-calendar.js +416 -439
  11. package/dist/_chunks/vendor-client.js +977 -814
  12. package/dist/_chunks/vendor-utils.js +5 -5
  13. package/dist/ai/block-renderer.js +22 -22
  14. package/dist/ai/blocks/loading.d.ts.map +1 -1
  15. package/dist/ai/command-bar.d.ts.map +1 -1
  16. package/dist/ai/command-bar.js +241 -263
  17. package/dist/ai/conversation.d.ts.map +1 -1
  18. package/dist/ai/conversation.js +87 -107
  19. package/dist/composed/activity-feed.d.ts +2 -0
  20. package/dist/composed/activity-feed.d.ts.map +1 -1
  21. package/dist/composed/activity-feed.js +118 -90
  22. package/dist/composed/avatar-group.d.ts +1 -0
  23. package/dist/composed/avatar-group.d.ts.map +1 -1
  24. package/dist/composed/avatar-group.js +91 -67
  25. package/dist/composed/bulk-action-bar.d.ts.map +1 -1
  26. package/dist/composed/bulk-action-bar.js +29 -28
  27. package/dist/composed/command-palette.d.ts.map +1 -1
  28. package/dist/composed/command-palette.js +99 -113
  29. package/dist/composed/content-card.js +1 -1
  30. package/dist/composed/date-picker/calendar-grid.d.ts.map +1 -1
  31. package/dist/composed/date-picker/date-picker.d.ts.map +1 -1
  32. package/dist/composed/date-picker/date-range-picker.d.ts.map +1 -1
  33. package/dist/composed/date-picker/date-time-picker.d.ts.map +1 -1
  34. package/dist/composed/date-picker/time-picker.d.ts.map +1 -1
  35. package/dist/composed/deadline-indicator.d.ts.map +1 -1
  36. package/dist/composed/deadline-indicator.js +29 -28
  37. package/dist/composed/error-boundary.d.ts.map +1 -1
  38. package/dist/composed/error-boundary.js +30 -27
  39. package/dist/composed/extensions/file-attachment.d.ts.map +1 -1
  40. package/dist/composed/file-preview.d.ts.map +1 -1
  41. package/dist/composed/file-preview.js +261 -271
  42. package/dist/composed/filter-bar.d.ts.map +1 -1
  43. package/dist/composed/filter-bar.js +49 -48
  44. package/dist/composed/form-section.d.ts.map +1 -1
  45. package/dist/composed/form-section.js +12 -11
  46. package/dist/composed/global-loading.js +1 -1
  47. package/dist/composed/index.js +63 -63
  48. package/dist/composed/inline-edit.d.ts.map +1 -1
  49. package/dist/composed/inline-edit.js +55 -54
  50. package/dist/composed/markdown-viewer.d.ts.map +1 -1
  51. package/dist/composed/markdown-viewer.js +44 -43
  52. package/dist/composed/master-detail.d.ts.map +1 -1
  53. package/dist/composed/master-detail.js +35 -34
  54. package/dist/composed/multi-select-popover.d.ts.map +1 -1
  55. package/dist/composed/multi-select-popover.js +64 -64
  56. package/dist/composed/page-header.d.ts.map +1 -1
  57. package/dist/composed/page-header.js +31 -37
  58. package/dist/composed/priority-indicator.d.ts.map +1 -1
  59. package/dist/composed/priority-indicator.js +37 -36
  60. package/dist/composed/rich-text-editor.d.ts.map +1 -1
  61. package/dist/composed/rich-text-editor.js +287 -306
  62. package/dist/composed/schedule-view.js +62 -62
  63. package/dist/composed/status-badge.d.ts +4 -2
  64. package/dist/composed/status-badge.d.ts.map +1 -1
  65. package/dist/composed/status-badge.js +58 -45
  66. package/dist/shell/app-command-palette.d.ts.map +1 -1
  67. package/dist/shell/app-command-palette.js +93 -93
  68. package/dist/shell/bottom-navbar.d.ts.map +1 -1
  69. package/dist/shell/bottom-navbar.js +21 -20
  70. package/dist/shell/index.js +18 -18
  71. package/dist/shell/notification-center.d.ts.map +1 -1
  72. package/dist/shell/notification-center.js +96 -95
  73. package/dist/shell/notification-preferences.d.ts.map +1 -1
  74. package/dist/shell/notification-preferences.js +82 -85
  75. package/dist/shell/sidebar.js +59 -60
  76. package/dist/shell/top-bar.d.ts.map +1 -1
  77. package/dist/shell/top-bar.js +103 -103
  78. package/dist/tailwind/index.cjs +37 -4
  79. package/dist/tailwind/preset.d.ts.map +1 -1
  80. package/dist/tailwind/preset.js +38 -5
  81. package/dist/tokens/primitives.css +10 -0
  82. package/dist/tokens/semantic.css +70 -7
  83. package/dist/ui/accordion.d.ts +5 -2
  84. package/dist/ui/accordion.d.ts.map +1 -1
  85. package/dist/ui/accordion.js +44 -39
  86. package/dist/ui/alert-dialog.js +57 -57
  87. package/dist/ui/alert.d.ts +1 -1
  88. package/dist/ui/alert.d.ts.map +1 -1
  89. package/dist/ui/alert.js +30 -29
  90. package/dist/ui/aspect-ratio.js +4 -4
  91. package/dist/ui/autocomplete.js +56 -56
  92. package/dist/ui/avatar.js +2 -2
  93. package/dist/ui/badge-group.d.ts +22 -0
  94. package/dist/ui/badge-group.d.ts.map +1 -0
  95. package/dist/ui/badge-group.js +8 -0
  96. package/dist/ui/badge-indicator.d.ts +32 -0
  97. package/dist/ui/badge-indicator.d.ts.map +1 -0
  98. package/dist/ui/badge-indicator.js +54 -0
  99. package/dist/ui/badge.d.ts +27 -24
  100. package/dist/ui/badge.d.ts.map +1 -1
  101. package/dist/ui/badge.js +13 -129
  102. package/dist/ui/banner.d.ts +1 -1
  103. package/dist/ui/banner.d.ts.map +1 -1
  104. package/dist/ui/banner.js +27 -26
  105. package/dist/ui/breadcrumb.d.ts.map +1 -1
  106. package/dist/ui/breadcrumb.js +37 -36
  107. package/dist/ui/button-group.d.ts +12 -6
  108. package/dist/ui/button-group.d.ts.map +1 -1
  109. package/dist/ui/button-group.js +18 -18
  110. package/dist/ui/button-processing.d.ts +15 -0
  111. package/dist/ui/button-processing.d.ts.map +1 -0
  112. package/dist/ui/button-processing.js +77 -0
  113. package/dist/ui/button.d.ts +50 -25
  114. package/dist/ui/button.d.ts.map +1 -1
  115. package/dist/ui/button.js +243 -127
  116. package/dist/ui/card.js +20 -21
  117. package/dist/ui/charts/index.js +499 -508
  118. package/dist/ui/chat/date-separator.d.ts +12 -0
  119. package/dist/ui/chat/date-separator.d.ts.map +1 -0
  120. package/dist/ui/chat/index.d.ts +9 -0
  121. package/dist/ui/chat/index.d.ts.map +1 -0
  122. package/dist/ui/chat/index.js +12 -0
  123. package/dist/ui/chat/message-input.d.ts +16 -0
  124. package/dist/ui/chat/message-input.d.ts.map +1 -0
  125. package/dist/ui/chat/message-list.d.ts +24 -0
  126. package/dist/ui/chat/message-list.d.ts.map +1 -0
  127. package/dist/ui/chat/message.d.ts +108 -0
  128. package/dist/ui/chat/message.d.ts.map +1 -0
  129. package/dist/ui/chat/system-message.d.ts +11 -0
  130. package/dist/ui/chat/system-message.d.ts.map +1 -0
  131. package/dist/ui/chat/typing-indicator.d.ts +14 -0
  132. package/dist/ui/chat/typing-indicator.d.ts.map +1 -0
  133. package/dist/ui/chat/unread-separator.d.ts +12 -0
  134. package/dist/ui/chat/unread-separator.d.ts.map +1 -0
  135. package/dist/ui/checkbox.js +18 -18
  136. package/dist/ui/chip.d.ts +13 -62
  137. package/dist/ui/chip.d.ts.map +1 -1
  138. package/dist/ui/chip.js +10 -109
  139. package/dist/ui/collapsible.js +4 -4
  140. package/dist/ui/color-input.d.ts +19 -5
  141. package/dist/ui/color-input.d.ts.map +1 -1
  142. package/dist/ui/color-input.js +371 -79
  143. package/dist/ui/color-swatch.js +11 -11
  144. package/dist/ui/combobox.d.ts.map +1 -1
  145. package/dist/ui/combobox.js +74 -80
  146. package/dist/ui/context-menu.d.ts.map +1 -1
  147. package/dist/ui/context-menu.js +86 -85
  148. package/dist/ui/data-table-toolbar.d.ts.map +1 -1
  149. package/dist/ui/data-table-toolbar.js +51 -57
  150. package/dist/ui/data-table.d.ts.map +1 -1
  151. package/dist/ui/data-table.js +268 -296
  152. package/dist/ui/devalok-grain.d.ts +81 -0
  153. package/dist/ui/devalok-grain.d.ts.map +1 -0
  154. package/dist/ui/devalok-grain.js +69 -0
  155. package/dist/ui/dialog.d.ts.map +1 -1
  156. package/dist/ui/dialog.js +73 -72
  157. package/dist/ui/dropdown-menu.d.ts.map +1 -1
  158. package/dist/ui/dropdown-menu.js +93 -92
  159. package/dist/ui/file-upload.d.ts.map +1 -1
  160. package/dist/ui/file-upload.js +82 -82
  161. package/dist/ui/hover-card.js +29 -29
  162. package/dist/ui/icon-button.d.ts +7 -7
  163. package/dist/ui/icon-button.d.ts.map +1 -1
  164. package/dist/ui/icon-context.d.ts +15 -0
  165. package/dist/ui/icon-context.d.ts.map +1 -0
  166. package/dist/ui/icon-context.js +20 -0
  167. package/dist/ui/icon-group.d.ts +22 -0
  168. package/dist/ui/icon-group.d.ts.map +1 -0
  169. package/dist/ui/icon-group.js +32 -0
  170. package/dist/ui/icon.d.ts +57 -0
  171. package/dist/ui/icon.d.ts.map +1 -0
  172. package/dist/ui/icon.js +122 -0
  173. package/dist/ui/index.d.ts +8 -1
  174. package/dist/ui/index.d.ts.map +1 -1
  175. package/dist/ui/index.js +351 -329
  176. package/dist/ui/input-otp.d.ts.map +1 -1
  177. package/dist/ui/input-otp.js +21 -20
  178. package/dist/ui/input.d.ts +32 -11
  179. package/dist/ui/input.d.ts.map +1 -1
  180. package/dist/ui/input.js +149 -44
  181. package/dist/ui/label.js +1 -1
  182. package/dist/ui/lib/motion.d.ts +2 -0
  183. package/dist/ui/lib/motion.d.ts.map +1 -1
  184. package/dist/ui/lib/motion.js +13 -11
  185. package/dist/ui/lib/utils.js +1 -1
  186. package/dist/ui/menubar.d.ts.map +1 -1
  187. package/dist/ui/menubar.js +87 -86
  188. package/dist/ui/navigation-menu.d.ts.map +1 -1
  189. package/dist/ui/navigation-menu.js +23 -28
  190. package/dist/ui/number-input.d.ts.map +1 -1
  191. package/dist/ui/number-input.js +54 -53
  192. package/dist/ui/pagination.d.ts.map +1 -1
  193. package/dist/ui/pagination.js +45 -44
  194. package/dist/ui/popover.js +30 -30
  195. package/dist/ui/progress.d.ts +3 -1
  196. package/dist/ui/progress.d.ts.map +1 -1
  197. package/dist/ui/progress.js +43 -39
  198. package/dist/ui/radio.js +1 -1
  199. package/dist/ui/search-input.d.ts.map +1 -1
  200. package/dist/ui/search-input.js +47 -60
  201. package/dist/ui/segmented-control.js +1 -1
  202. package/dist/ui/select.d.ts.map +1 -1
  203. package/dist/ui/select.js +54 -53
  204. package/dist/ui/separator.js +5 -5
  205. package/dist/ui/sheet.d.ts.map +1 -1
  206. package/dist/ui/sheet.js +46 -45
  207. package/dist/ui/sidebar.d.ts.map +1 -1
  208. package/dist/ui/sidebar.js +196 -193
  209. package/dist/ui/skeleton.js +1 -1
  210. package/dist/ui/slider.js +1 -1
  211. package/dist/ui/spinner.js +74 -74
  212. package/dist/ui/stat-card.d.ts.map +1 -1
  213. package/dist/ui/stat-card.js +85 -86
  214. package/dist/ui/switch.d.ts +3 -0
  215. package/dist/ui/switch.d.ts.map +1 -1
  216. package/dist/ui/switch.js +40 -26
  217. package/dist/ui/tabs.js +43 -43
  218. package/dist/ui/text.js +1 -1
  219. package/dist/ui/textarea.js +10 -10
  220. package/dist/ui/toast.d.ts.map +1 -1
  221. package/dist/ui/toast.js +169 -169
  222. package/dist/ui/toggle-group.js +1 -1
  223. package/dist/ui/toggle.js +5 -5
  224. package/dist/ui/tooltip.js +41 -41
  225. package/dist/ui/tree-view/tree-item.d.ts.map +1 -1
  226. package/docs/components/_header.md +4 -4
  227. package/docs/components/composed/activity-feed.md +7 -0
  228. package/docs/components/composed/avatar-group.md +8 -5
  229. package/docs/components/composed/status-badge.md +14 -1
  230. package/docs/components/ui/accordion.md +5 -2
  231. package/docs/components/ui/badge-group.md +38 -0
  232. package/docs/components/ui/badge-indicator.md +40 -0
  233. package/docs/components/ui/badge.md +36 -5
  234. package/docs/components/ui/button-processing.md +15 -0
  235. package/docs/components/ui/button.md +40 -11
  236. package/docs/components/ui/chat.md +214 -0
  237. package/docs/components/ui/color-input.md +58 -4
  238. package/docs/components/ui/data-table.md +3 -0
  239. package/docs/components/ui/devalok-grain.md +55 -0
  240. package/docs/components/ui/icon-button.md +12 -5
  241. package/docs/components/ui/icon-context.md +38 -0
  242. package/docs/components/ui/icon-group.md +36 -0
  243. package/docs/components/ui/icon.md +47 -0
  244. package/docs/components/ui/input.md +32 -6
  245. package/docs/components/ui/progress.md +5 -0
  246. package/docs/components/ui/spinner.md +3 -0
  247. package/docs/components/ui/switch.md +13 -0
  248. package/llms-full.txt +724 -44
  249. package/llms.txt +38 -19
  250. package/package.json +8 -2
@@ -1,41 +1,41 @@
1
1
  "use client";
2
- import { jsx as s, jsxs as h } from "react/jsx-runtime";
2
+ import { jsx as s, jsxs as w } from "react/jsx-runtime";
3
3
  import * as o from "react";
4
- import { O as p, v as R, w as u, x as g, D as y, A as x, y as b, z as C, B as j } from "../_chunks/primitives.js";
4
+ import { O as p, P as C, a as g, b as u, D as y, A as x, c as b, d as R, e as O } from "../_chunks/primitives.js";
5
5
  import { cn as i } from "./lib/utils.js";
6
- import { tweens as f, springs as M } from "./lib/motion.js";
7
- import { A as T, m } from "../_chunks/framer.js";
8
- const v = o.createContext({ open: !1 }), z = () => o.useContext(v), P = ({
9
- open: t,
6
+ import { tweens as f, springs as j } from "./lib/motion.js";
7
+ import { A as M, m } from "../_chunks/framer.js";
8
+ const v = o.createContext({ open: !1 }), P = () => o.useContext(v), T = ({
9
+ open: e,
10
10
  defaultOpen: a,
11
- onOpenChange: e,
11
+ onOpenChange: t,
12
12
  ...r
13
13
  }) => {
14
- const [l, A] = o.useState(a ?? !1), n = t !== void 0, d = n ? t : l, D = o.useCallback(
14
+ const [l, A] = o.useState(a ?? !1), n = e !== void 0, d = n ? e : l, D = o.useCallback(
15
15
  (c) => {
16
- n || A(c), e == null || e(c);
16
+ n || A(c), t?.(c);
17
17
  },
18
- [n, e]
19
- ), w = o.useMemo(() => ({ open: d }), [d]);
20
- return /* @__PURE__ */ s(v.Provider, { value: w, children: /* @__PURE__ */ s(C, { open: d, onOpenChange: D, ...r }) });
18
+ [n, t]
19
+ ), h = o.useMemo(() => ({ open: d }), [d]);
20
+ return /* @__PURE__ */ s(v.Provider, { value: h, children: /* @__PURE__ */ s(R, { open: d, onOpenChange: D, ...r }) });
21
21
  };
22
- P.displayName = "AlertDialog";
23
- const L = j, F = R, N = o.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ s(
22
+ T.displayName = "AlertDialog";
23
+ const L = O, z = C, N = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
24
24
  p,
25
25
  {
26
- ref: e,
26
+ ref: t,
27
27
  forceMount: !0,
28
28
  className: i(
29
29
  "fixed inset-0 z-modal bg-overlay",
30
- t
30
+ e
31
31
  ),
32
32
  ...a
33
33
  }
34
34
  ));
35
35
  N.displayName = p.displayName;
36
- const H = o.forwardRef(({ className: t, children: a, ...e }, r) => {
37
- const { open: l } = z();
38
- return /* @__PURE__ */ s(T, { children: l && /* @__PURE__ */ h(F, { forceMount: !0, children: [
36
+ const F = o.forwardRef(({ className: e, children: a, ...t }, r) => {
37
+ const { open: l } = P();
38
+ return /* @__PURE__ */ s(M, { children: l && /* @__PURE__ */ w(z, { forceMount: !0, children: [
39
39
  /* @__PURE__ */ s(N, { asChild: !0, children: /* @__PURE__ */ s(
40
40
  m.div,
41
41
  {
@@ -46,22 +46,22 @@ const H = o.forwardRef(({ className: t, children: a, ...e }, r) => {
46
46
  }
47
47
  ) }),
48
48
  /* @__PURE__ */ s(
49
- u,
49
+ g,
50
50
  {
51
51
  ref: r,
52
52
  forceMount: !0,
53
53
  asChild: !0,
54
- ...e,
54
+ ...t,
55
55
  children: /* @__PURE__ */ s(
56
56
  m.div,
57
57
  {
58
58
  initial: { opacity: 0, scale: 0.95, x: "-50%", y: "-50%" },
59
59
  animate: { opacity: 1, scale: 1, x: "-50%", y: "-50%" },
60
60
  exit: { opacity: 0, scale: 0.95, x: "-50%", y: "-50%" },
61
- transition: { ...M.smooth, opacity: f.fade },
61
+ transition: { ...j.smooth, opacity: f.fade },
62
62
  className: i(
63
63
  "fixed left-[50%] top-[50%] z-modal grid w-full max-w-lg gap-ds-05 border border-surface-border-strong bg-surface-overlay p-ds-06 shadow-overlay rounded-ds-xl",
64
- t
64
+ e
65
65
  ),
66
66
  children: a
67
67
  }
@@ -70,90 +70,90 @@ const H = o.forwardRef(({ className: t, children: a, ...e }, r) => {
70
70
  )
71
71
  ] }) });
72
72
  });
73
- H.displayName = u.displayName;
74
- const O = o.forwardRef(
75
- ({ className: t, ...a }, e) => /* @__PURE__ */ s(
73
+ F.displayName = g.displayName;
74
+ const H = o.forwardRef(
75
+ ({ className: e, ...a }, t) => /* @__PURE__ */ s(
76
76
  "div",
77
77
  {
78
- ref: e,
78
+ ref: t,
79
79
  className: i(
80
80
  "flex flex-col space-y-ds-02b text-center sm:text-left",
81
- t
81
+ e
82
82
  ),
83
83
  ...a
84
84
  }
85
85
  )
86
86
  );
87
- O.displayName = "AlertDialogHeader";
87
+ H.displayName = "AlertDialogHeader";
88
88
  const k = o.forwardRef(
89
- ({ className: t, ...a }, e) => /* @__PURE__ */ s(
89
+ ({ className: e, ...a }, t) => /* @__PURE__ */ s(
90
90
  "div",
91
91
  {
92
- ref: e,
92
+ ref: t,
93
93
  className: i(
94
94
  "flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-ds-03",
95
- t
95
+ e
96
96
  ),
97
97
  ...a
98
98
  }
99
99
  )
100
100
  );
101
101
  k.displayName = "AlertDialogFooter";
102
- const B = o.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ s(
103
- g,
102
+ const I = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
103
+ u,
104
104
  {
105
- ref: e,
105
+ ref: t,
106
106
  className: i(
107
107
  "text-ds-lg font-semibold",
108
- t
108
+ e
109
109
  ),
110
110
  ...a
111
111
  }
112
112
  ));
113
- B.displayName = g.displayName;
114
- const I = o.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ s(
113
+ I.displayName = u.displayName;
114
+ const S = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
115
115
  y,
116
116
  {
117
- ref: e,
118
- className: i("text-ds-md text-surface-fg-muted", t),
117
+ ref: t,
118
+ className: i("text-ds-md text-surface-fg-muted", e),
119
119
  ...a
120
120
  }
121
121
  ));
122
- I.displayName = y.displayName;
123
- const S = o.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ s(
122
+ S.displayName = y.displayName;
123
+ const V = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
124
124
  x,
125
125
  {
126
- ref: e,
126
+ ref: t,
127
127
  className: i(
128
128
  "inline-flex h-ds-md items-center justify-center rounded-ds-md px-ds-05 text-ds-md font-semibold transition-colors bg-accent-9 text-accent-fg hover:bg-accent-10 active:bg-accent-10 shadow-raised focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled",
129
- t
129
+ e
130
130
  ),
131
131
  ...a
132
132
  }
133
133
  ));
134
- S.displayName = x.displayName;
135
- const V = o.forwardRef(({ className: t, ...a }, e) => /* @__PURE__ */ s(
134
+ V.displayName = x.displayName;
135
+ const q = o.forwardRef(({ className: e, ...a }, t) => /* @__PURE__ */ s(
136
136
  b,
137
137
  {
138
- ref: e,
138
+ ref: t,
139
139
  className: i(
140
140
  "inline-flex h-ds-md items-center justify-center rounded-ds-md px-ds-05 text-ds-md font-semibold transition-colors bg-transparent text-surface-fg-muted border border-surface-border-strong hover:bg-surface-raised hover:text-surface-fg focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-action-disabled",
141
- t
141
+ e
142
142
  ),
143
143
  ...a
144
144
  }
145
145
  ));
146
- V.displayName = b.displayName;
146
+ q.displayName = b.displayName;
147
147
  export {
148
- P as AlertDialog,
149
- S as AlertDialogAction,
150
- V as AlertDialogCancel,
151
- H as AlertDialogContent,
152
- I as AlertDialogDescription,
148
+ T as AlertDialog,
149
+ V as AlertDialogAction,
150
+ q as AlertDialogCancel,
151
+ F as AlertDialogContent,
152
+ S as AlertDialogDescription,
153
153
  k as AlertDialogFooter,
154
- O as AlertDialogHeader,
154
+ H as AlertDialogHeader,
155
155
  N as AlertDialogOverlay,
156
- F as AlertDialogPortal,
157
- B as AlertDialogTitle,
156
+ z as AlertDialogPortal,
157
+ I as AlertDialogTitle,
158
158
  L as AlertDialogTrigger
159
159
  };
@@ -3,7 +3,7 @@ import { VariantProps } from 'class-variance-authority';
3
3
  import * as React from 'react';
4
4
  declare const alertVariants: (props?: ({
5
5
  variant?: "outline" | "filled" | "subtle" | null | undefined;
6
- color?: "error" | "info" | "success" | "warning" | "neutral" | null | undefined;
6
+ color?: "success" | "error" | "info" | "warning" | "neutral" | null | undefined;
7
7
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
8
8
  /**
9
9
  * Props for Alert — an inline message block with a colored icon, optional title, optional body,
@@ -1 +1 @@
1
- {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/ui/alert.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAKjE,QAAA,MAAM,aAAa;;;8EAuClB,CAAA;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,QAAA,MAAM,KAAK,mFA0CV,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
1
+ {"version":3,"file":"alert.d.ts","sourceRoot":"","sources":["../../src/ui/alert.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAC9B,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAA;AAMjE,QAAA,MAAM,aAAa;;;8EAuClB,CAAA;AAUD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AACH,MAAM,WAAW,UACf,SAAQ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,OAAO,CAAC,EACzD,YAAY,CAAC,OAAO,aAAa,CAAC;IACpC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd;;;;OAIG;IACH,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;CACvB;AAED,QAAA,MAAM,KAAK,mFA0CV,CAAA;AAGD,OAAO,EAAE,KAAK,EAAE,aAAa,EAAE,CAAA"}
package/dist/ui/alert.js CHANGED
@@ -1,12 +1,13 @@
1
1
  "use client";
2
2
  import { jsx as e, jsxs as n } from "react/jsx-runtime";
3
- import { IconInfoCircle as o, IconAlertCircle as v, IconAlertTriangle as x, IconCircleCheck as p, IconX as N } from "@tabler/icons-react";
3
+ import { IconInfoCircle as o, IconAlertCircle as x, IconAlertTriangle as p, IconCircleCheck as N, IconX as h } from "@tabler/icons-react";
4
4
  import * as r from "react";
5
- import { c as h } from "../_chunks/vendor-utils.js";
6
- import { cn as w } from "./lib/utils.js";
7
- import { springs as y, motionProps as I } from "./lib/motion.js";
8
- import { A as C, m as A } from "../_chunks/framer.js";
9
- const k = h(
5
+ import { a as w } from "../_chunks/vendor-utils.js";
6
+ import { cn as y } from "./lib/utils.js";
7
+ import { springs as I, motionProps as A } from "./lib/motion.js";
8
+ import { Icon as c } from "./icon.js";
9
+ import { A as C, m as k } from "../_chunks/framer.js";
10
+ const V = w(
10
11
  "relative flex gap-ds-04 rounded-ds-lg border p-ds-05",
11
12
  {
12
13
  variants: {
@@ -45,42 +46,42 @@ const k = h(
45
46
  ],
46
47
  defaultVariants: { variant: "subtle", color: "info" }
47
48
  }
48
- ), V = {
49
+ ), j = {
49
50
  info: o,
50
- success: p,
51
- warning: x,
52
- error: v,
51
+ success: N,
52
+ warning: p,
53
+ error: x,
53
54
  neutral: o
54
- }, j = r.forwardRef(
55
- ({ className: c, variant: i = "subtle", color: a = "info", title: t, onDismiss: s, children: l, ...f }, d) => {
56
- const u = V[a ?? "info"], [m, g] = r.useState(!0), b = r.useCallback(() => {
57
- g(!1);
55
+ }, R = r.forwardRef(
56
+ ({ className: i, variant: l = "subtle", color: t = "info", title: s, onDismiss: a, children: f, ...d }, u) => {
57
+ const m = j[t ?? "info"], [g, b] = r.useState(!0), v = r.useCallback(() => {
58
+ b(!1);
58
59
  }, []);
59
- return /* @__PURE__ */ e(C, { onExitComplete: s, children: m && /* @__PURE__ */ n(
60
- A.div,
60
+ return /* @__PURE__ */ e(C, { onExitComplete: a, children: g && /* @__PURE__ */ n(
61
+ k.div,
61
62
  {
62
- ref: d,
63
+ ref: u,
63
64
  initial: { opacity: 1, y: 0 },
64
65
  animate: { opacity: 1, y: 0 },
65
66
  exit: { opacity: 0, y: -8 },
66
- transition: y.snappy,
67
- className: w(k({ variant: i, color: a }), c),
67
+ transition: I.snappy,
68
+ className: y(V({ variant: l, color: t }), i),
68
69
  role: "alert",
69
- ...I(f),
70
+ ...A(d),
70
71
  children: [
71
- /* @__PURE__ */ e(u, { className: "mt-ds-01 h-ico-md w-ico-md shrink-0", "aria-hidden": "true" }),
72
+ /* @__PURE__ */ e(c, { icon: m, size: "md", className: "mt-ds-01 shrink-0" }),
72
73
  /* @__PURE__ */ n("div", { className: "flex-1 min-w-0", children: [
73
- t && /* @__PURE__ */ e("p", { className: "text-ds-md font-semibold mb-ds-01", children: t }),
74
- /* @__PURE__ */ e("div", { className: "text-ds-md text-surface-fg-muted", children: l })
74
+ s && /* @__PURE__ */ e("p", { className: "text-ds-md font-semibold mb-ds-01", children: s }),
75
+ /* @__PURE__ */ e("div", { className: "text-ds-md text-surface-fg-muted", children: f })
75
76
  ] }),
76
- s && /* @__PURE__ */ e(
77
+ a && /* @__PURE__ */ e(
77
78
  "button",
78
79
  {
79
80
  type: "button",
80
- onClick: b,
81
+ onClick: v,
81
82
  className: "shrink-0 min-h-ds-xs min-w-ds-xs flex items-center justify-center rounded-ds-sm text-surface-fg-subtle transition-colors duration-fast-01 ease-productive-standard hover:text-surface-fg-muted hover:bg-surface-raised-hover active:scale-95 focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-accent-9",
82
83
  "aria-label": "Dismiss",
83
- children: /* @__PURE__ */ e(N, { className: "h-ico-sm w-ico-sm" })
84
+ children: /* @__PURE__ */ e(c, { icon: h, size: "sm" })
84
85
  }
85
86
  )
86
87
  ]
@@ -88,8 +89,8 @@ const k = h(
88
89
  ) });
89
90
  }
90
91
  );
91
- j.displayName = "Alert";
92
+ R.displayName = "Alert";
92
93
  export {
93
- j as Alert,
94
- k as alertVariants
94
+ R as Alert,
95
+ V as alertVariants
95
96
  };
@@ -1,12 +1,12 @@
1
1
  "use client";
2
- import { jsx as r } from "react/jsx-runtime";
2
+ import { jsx as a } from "react/jsx-runtime";
3
3
  import * as m from "react";
4
- import { a as s } from "../_chunks/primitives.js";
4
+ import { f as s } from "../_chunks/primitives.js";
5
5
  import { cn as p } from "./lib/utils.js";
6
- const e = m.forwardRef(({ className: o, ...t }, a) => /* @__PURE__ */ r(
6
+ const e = m.forwardRef(({ className: o, ...t }, r) => /* @__PURE__ */ a(
7
7
  s,
8
8
  {
9
- ref: a,
9
+ ref: r,
10
10
  className: p(o),
11
11
  ...t
12
12
  }
@@ -1,9 +1,9 @@
1
1
  "use client";
2
- import { jsxs as T, jsx as f } from "react/jsx-runtime";
2
+ import { jsxs as T, jsx as d } from "react/jsx-runtime";
3
3
  import * as t from "react";
4
- import { cn as b } from "./lib/utils.js";
4
+ import { cn as p } from "./lib/utils.js";
5
5
  import { tweens as j, springs as L } from "./lib/motion.js";
6
- import { A as P, m as g } from "../_chunks/framer.js";
6
+ import { A as P, m as y } from "../_chunks/framer.js";
7
7
  const q = {
8
8
  hidden: {},
9
9
  visible: { transition: { staggerChildren: 0.03 } }
@@ -12,104 +12,104 @@ const q = {
12
12
  visible: { opacity: 1, y: 0, transition: L.snappy }
13
13
  }, B = t.forwardRef(
14
14
  ({
15
- options: h,
16
- value: s,
17
- onValueChange: u,
15
+ options: b,
16
+ value: u,
17
+ onValueChange: g,
18
18
  placeholder: I,
19
19
  emptyText: R = "No options",
20
- disabled: w,
20
+ disabled: x,
21
21
  className: A,
22
- id: E,
23
- ...N
24
- }, c) => {
25
- const $ = t.useId(), v = E || $, k = `${v}-listbox`, D = `${v}-option`, [m, y] = t.useState((s == null ? void 0 : s.label) ?? ""), [l, i] = t.useState(!1), [r, a] = t.useState(-1), M = t.useRef(null), S = t.useRef(null), x = t.useRef(), C = t.useCallback(
22
+ id: C,
23
+ ...E
24
+ }, i) => {
25
+ const N = t.useId(), w = C || N, k = `${w}-listbox`, D = `${w}-option`, [f, h] = t.useState(u?.label ?? ""), [l, a] = t.useState(!1), [s, o] = t.useState(-1), $ = t.useRef(null), M = t.useRef(null), v = t.useRef(void 0), S = t.useCallback(
26
26
  (e) => {
27
- M.current = e, typeof c == "function" ? c(e) : c && (c.current = e);
27
+ $.current = e, typeof i == "function" ? i(e) : i && (i.current = e);
28
28
  },
29
- [c]
29
+ [i]
30
30
  );
31
31
  t.useEffect(() => {
32
- y((s == null ? void 0 : s.label) ?? "");
33
- }, [s]), t.useEffect(() => () => {
34
- x.current && clearTimeout(x.current);
32
+ h(u?.label ?? "");
33
+ }, [u]), t.useEffect(() => () => {
34
+ v.current && clearTimeout(v.current);
35
35
  }, []);
36
36
  const n = t.useMemo(
37
- () => m ? h.filter((e) => e.label.toLowerCase().includes(m.toLowerCase())) : h,
38
- [h, m]
39
- ), p = t.useCallback(
37
+ () => f ? b.filter((e) => e.label.toLowerCase().includes(f.toLowerCase())) : b,
38
+ [b, f]
39
+ ), m = t.useCallback(
40
40
  (e) => {
41
- y(e.label), i(!1), a(-1), u == null || u(e);
41
+ h(e.label), a(!1), o(-1), g?.(e);
42
42
  },
43
- [u]
43
+ [g]
44
44
  ), K = t.useCallback(
45
45
  (e) => {
46
46
  if (!l) {
47
- (e.key === "ArrowDown" || e.key === "Enter") && i(!0);
47
+ (e.key === "ArrowDown" || e.key === "Enter") && a(!0);
48
48
  return;
49
49
  }
50
50
  switch (e.key) {
51
51
  case "ArrowDown":
52
- e.preventDefault(), a((o) => Math.min(o + 1, n.length - 1));
52
+ e.preventDefault(), o((r) => Math.min(r + 1, n.length - 1));
53
53
  break;
54
54
  case "ArrowUp":
55
- e.preventDefault(), a((o) => Math.max(o - 1, 0));
55
+ e.preventDefault(), o((r) => Math.max(r - 1, 0));
56
56
  break;
57
57
  case "Enter":
58
- e.preventDefault(), r >= 0 && n[r] && p(n[r]);
58
+ e.preventDefault(), s >= 0 && n[s] && m(n[s]);
59
59
  break;
60
60
  case "Escape":
61
- i(!1), a(-1);
61
+ a(!1), o(-1);
62
62
  break;
63
63
  }
64
64
  },
65
- [l, n, r, p]
66
- ), O = r >= 0 ? `${D}-${r}` : void 0;
67
- return /* @__PURE__ */ T("div", { className: b("relative", A), ...N, children: [
68
- /* @__PURE__ */ f(
65
+ [l, n, s, m]
66
+ ), O = s >= 0 ? `${D}-${s}` : void 0;
67
+ return /* @__PURE__ */ T("div", { className: p("relative", A), ...E, children: [
68
+ /* @__PURE__ */ d(
69
69
  "input",
70
70
  {
71
- ref: C,
71
+ ref: S,
72
72
  type: "text",
73
73
  role: "combobox",
74
74
  "aria-expanded": l,
75
75
  "aria-autocomplete": "list",
76
76
  "aria-controls": l ? k : void 0,
77
77
  "aria-activedescendant": O,
78
- value: m,
78
+ value: f,
79
79
  placeholder: I,
80
- disabled: w,
81
- className: b(
80
+ disabled: x,
81
+ className: p(
82
82
  "flex h-ds-md w-full rounded-ds-md border border-surface-border-strong bg-surface-raised-hover px-ds-04 py-ds-03 font-sans text-ds-md text-surface-fg placeholder:text-surface-fg-subtle",
83
83
  "outline-none focus-visible:ring-2 focus-visible:ring-accent-9 focus-visible:ring-offset-[var(--border-focus-offset)]",
84
84
  "transition-colors duration-fast-01",
85
- w && "opacity-action-disabled cursor-not-allowed"
85
+ x && "opacity-action-disabled cursor-not-allowed"
86
86
  ),
87
87
  onChange: (e) => {
88
- y(e.target.value), i(!0), a(-1);
88
+ h(e.target.value), a(!0), o(-1);
89
89
  },
90
- onFocus: () => i(!0),
90
+ onFocus: () => a(!0),
91
91
  onBlur: () => {
92
- x.current = setTimeout(() => i(!1), 150);
92
+ v.current = setTimeout(() => a(!1), 150);
93
93
  },
94
94
  onKeyDown: K
95
95
  }
96
96
  ),
97
- /* @__PURE__ */ f(P, { children: l && /* @__PURE__ */ f(
98
- g.ul,
97
+ /* @__PURE__ */ d(P, { children: l && /* @__PURE__ */ d(
98
+ y.ul,
99
99
  {
100
100
  id: k,
101
- ref: S,
101
+ ref: M,
102
102
  role: "listbox",
103
103
  initial: "hidden",
104
104
  animate: "visible",
105
105
  exit: "hidden",
106
106
  variants: q,
107
- className: b(
107
+ className: p(
108
108
  "absolute z-popover mt-ds-02 w-full overflow-auto rounded-ds-md border border-surface-border-strong bg-surface-overlay shadow-raised-hover",
109
109
  "max-h-60"
110
110
  ),
111
- children: n.length === 0 ? /* @__PURE__ */ f(
112
- g.li,
111
+ children: n.length === 0 ? /* @__PURE__ */ d(
112
+ y.li,
113
113
  {
114
114
  initial: { opacity: 0 },
115
115
  animate: { opacity: 1 },
@@ -117,24 +117,24 @@ const q = {
117
117
  className: "px-ds-04 py-ds-03 text-ds-md text-surface-fg-muted",
118
118
  children: R
119
119
  }
120
- ) : n.map((e, o) => /* @__PURE__ */ f(
121
- g.li,
120
+ ) : n.map((e, r) => /* @__PURE__ */ d(
121
+ y.li,
122
122
  {
123
- id: `${D}-${o}`,
123
+ id: `${D}-${r}`,
124
124
  role: "option",
125
- "aria-selected": r === o,
125
+ "aria-selected": s === r,
126
126
  variants: z,
127
- className: b(
127
+ className: p(
128
128
  "cursor-pointer px-ds-04 py-ds-03 text-ds-md text-surface-fg transition-colors duration-fast-01",
129
- r === o && "bg-accent-3",
130
- (s == null ? void 0 : s.value) === e.value && "font-semibold"
129
+ s === r && "bg-accent-3",
130
+ u?.value === e.value && "font-semibold"
131
131
  ),
132
- onMouseDown: (d) => d.preventDefault(),
133
- onClick: () => p(e),
134
- onKeyDown: (d) => {
135
- (d.key === "Enter" || d.key === " ") && (d.preventDefault(), p(e));
132
+ onMouseDown: (c) => c.preventDefault(),
133
+ onClick: () => m(e),
134
+ onKeyDown: (c) => {
135
+ (c.key === "Enter" || c.key === " ") && (c.preventDefault(), m(e));
136
136
  },
137
- onMouseEnter: () => a(o),
137
+ onMouseEnter: () => o(r),
138
138
  children: e.label
139
139
  },
140
140
  e.value
package/dist/ui/avatar.js CHANGED
@@ -1,8 +1,8 @@
1
1
  "use client";
2
2
  import { jsx as a, jsxs as R } from "react/jsx-runtime";
3
3
  import * as l from "react";
4
- import { E as v, F as N, J as C } from "../_chunks/primitives.js";
5
- import { c as F } from "../_chunks/vendor-utils.js";
4
+ import { g as v, h as N, F as C } from "../_chunks/primitives.js";
5
+ import { a as F } from "../_chunks/vendor-utils.js";
6
6
  import { springs as k } from "./lib/motion.js";
7
7
  import { cn as n } from "./lib/utils.js";
8
8
  import { m as f } from "../_chunks/framer.js";
@@ -0,0 +1,22 @@
1
+ "use client";
2
+ import { BadgeProps } from './badge';
3
+ import * as React from 'react';
4
+ declare const GAP_CLASSES: {
5
+ readonly tight: "gap-1";
6
+ readonly default: "gap-1.5";
7
+ readonly loose: "gap-2";
8
+ };
9
+ export interface BadgeGroupProps {
10
+ max?: number;
11
+ gap?: keyof typeof GAP_CLASSES;
12
+ size?: BadgeProps['size'];
13
+ onOverflowClick?: () => void;
14
+ className?: string;
15
+ children: React.ReactNode;
16
+ }
17
+ export declare function BadgeGroup({ max, gap, size, onOverflowClick, className, children, }: BadgeGroupProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare namespace BadgeGroup {
19
+ var displayName: string;
20
+ }
21
+ export {};
22
+ //# sourceMappingURL=badge-group.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge-group.d.ts","sourceRoot":"","sources":["../../src/ui/badge-group.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAE9B,OAAO,EAAS,KAAK,UAAU,EAAE,MAAM,SAAS,CAAA;AAEhD,QAAA,MAAM,WAAW;;;;CAIP,CAAA;AAEV,MAAM,WAAW,eAAe;IAC9B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,MAAM,OAAO,WAAW,CAAA;IAC9B,IAAI,CAAC,EAAE,UAAU,CAAC,MAAM,CAAC,CAAA;IACzB,eAAe,CAAC,EAAE,MAAM,IAAI,CAAA;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,UAAU,CAAC,EACzB,GAAG,EACH,GAAe,EACf,IAAI,EACJ,eAAe,EACf,SAAS,EACT,QAAQ,GACT,EAAE,eAAe,2CAsBjB;yBA7Be,UAAU"}
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ import "react/jsx-runtime";
3
+ import "react";
4
+ import "./lib/utils.js";
5
+ import { a } from "../_chunks/badge-group.js";
6
+ export {
7
+ a as BadgeGroup
8
+ };
@@ -0,0 +1,32 @@
1
+ "use client";
2
+ import * as React from 'react';
3
+ declare const PLACEMENT_CLASSES: {
4
+ readonly 'top-right': "-top-1 -right-1";
5
+ readonly 'top-left': "-top-1 -left-1";
6
+ readonly 'bottom-right': "-bottom-1 -right-1";
7
+ readonly 'bottom-left': "-bottom-1 -left-1";
8
+ };
9
+ declare const COLOR_CLASSES: {
10
+ readonly error: "bg-error-9 text-error-fg";
11
+ readonly success: "bg-success-9 text-success-fg";
12
+ readonly warning: "bg-warning-9 text-warning-fg";
13
+ readonly accent: "bg-accent-9 text-accent-fg";
14
+ readonly info: "bg-info-9 text-info-fg";
15
+ };
16
+ export interface BadgeIndicatorProps {
17
+ count?: number;
18
+ max?: number;
19
+ dot?: boolean;
20
+ color?: keyof typeof COLOR_CLASSES;
21
+ invisible?: boolean;
22
+ showZero?: boolean;
23
+ placement?: keyof typeof PLACEMENT_CLASSES;
24
+ className?: string;
25
+ children: React.ReactNode;
26
+ }
27
+ export declare function BadgeIndicator({ count, max, dot, color, invisible, showZero, placement, className, children, }: BadgeIndicatorProps): import("react/jsx-runtime").JSX.Element;
28
+ export declare namespace BadgeIndicator {
29
+ var displayName: string;
30
+ }
31
+ export {};
32
+ //# sourceMappingURL=badge-indicator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"badge-indicator.d.ts","sourceRoot":"","sources":["../../src/ui/badge-indicator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAA;AAK9B,QAAA,MAAM,iBAAiB;;;;;CAKb,CAAA;AAEV,QAAA,MAAM,aAAa;;;;;;CAMT,CAAA;AAEV,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,KAAK,CAAC,EAAE,MAAM,OAAO,aAAa,CAAA;IAClC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,OAAO,iBAAiB,CAAA;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;CAC1B;AAED,wBAAgB,cAAc,CAAC,EAC7B,KAAK,EACL,GAAQ,EACR,GAAW,EACX,KAAe,EACf,SAAiB,EACjB,QAAgB,EAChB,SAAuB,EACvB,SAAS,EACT,QAAQ,GACT,EAAE,mBAAmB,2CA+BrB;yBAzCe,cAAc"}