@askrjs/themes 0.2.1 → 0.2.2

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.
@@ -17,11 +17,12 @@ type CatalogComponentProps = Record<string, unknown> & {
17
17
  ref?: Ref<HTMLElement>;
18
18
  };
19
19
  type LegacySpace = BlockSpace | "none" | "1" | "2" | "3" | "4" | "5" | "6" | "8";
20
+ type LegacyWrap = boolean | "wrap" | "nowrap";
20
21
  type LegacyLayoutConveniences = {
21
22
  gap?: ResponsiveValue<LegacySpace>;
22
23
  p?: ResponsiveValue<LegacySpace>;
23
24
  padding?: ResponsiveValue<LegacySpace>;
24
- wrap?: ResponsiveValue<boolean>;
25
+ wrap?: ResponsiveValue<LegacyWrap>;
25
26
  };
26
27
  type LegacyStructuralProps = Partial<Pick<BlockDivProps, "children" | "class" | "className" | "style" | "ref" | "id" | "title" | "role" | "tabIndex" | "hidden" | "dir" | "lang" | "onAbort" | "onBlur" | "onChange" | "onClick" | "onDblClick" | "onFocus" | "onInput" | "onKeyDown" | "onKeyUp" | "onMouseDown" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseOut" | "onMouseOver" | "onMouseUp" | "onPointerDown" | "onPointerDownCapture" | "onPointerEnter" | "onPointerLeave" | "onPointerMove" | "onPointerUp" | "onScroll" | "onSubmit" | "onTouchEnd" | "onTouchStart" | "onWheel">> & {
27
28
  as?: BlockElement;
@@ -106,7 +107,7 @@ declare function CarouselPrevious(props: CatalogComponentProps): JSX.Element;
106
107
  declare function CarouselNext(props: CatalogComponentProps): JSX.Element;
107
108
  /** Renders the `combobox` part of the shadcn-compatible catalog primitives. */
108
109
  declare function Combobox(props: CatalogComponentProps): JSX.Element;
109
- /** Renders the combobox's text input, wired up with `role="combobox"`. */
110
+ /** Styling-only combobox input; consumers supplying behavior also own its complete ARIA contract. */
110
111
  declare function ComboboxInput(props: CatalogComponentProps): JSX.Element;
111
112
  /** Renders the `combobox-list` part of the shadcn-compatible catalog primitives. */
112
113
  declare function ComboboxList(props: CatalogComponentProps): JSX.Element;
@@ -61,33 +61,54 @@ function normalizeLegacyResponsiveSpace(value) {
61
61
  if (typeof value === "object") return Object.fromEntries(Object.entries(value).map(([breakpoint, space]) => [breakpoint, normalizeLegacySpace(space)]));
62
62
  return normalizeLegacySpace(value);
63
63
  }
64
- function layoutAlias(props, defaults) {
65
- const { gap, p, padding, ...rest } = props;
64
+ function normalizeLegacyWrap(value) {
65
+ if (value === "wrap") return true;
66
+ if (value === "nowrap") return false;
67
+ return value;
68
+ }
69
+ function normalizeLegacyResponsiveWrap(value) {
70
+ if (value === void 0) return void 0;
71
+ if (typeof value === "object") return Object.fromEntries(Object.entries(value).map(([breakpoint, wrap]) => [breakpoint, normalizeLegacyWrap(wrap)]));
72
+ return normalizeLegacyWrap(value);
73
+ }
74
+ const warnedLegacyLayouts = /* @__PURE__ */ new Set();
75
+ function warnDeprecatedLayout(component, replacement) {
76
+ const metaEnvironment = import.meta.env;
77
+ const nodeEnvironment = globalThis.process?.env?.NODE_ENV;
78
+ if (metaEnvironment?.DEV !== true && nodeEnvironment !== "development") return;
79
+ if (warnedLegacyLayouts.has(component)) return;
80
+ warnedLegacyLayouts.add(component);
81
+ console.warn(`[askr-themes] ${component} is deprecated. ${replacement}`);
82
+ }
83
+ function layoutAlias(component, replacement, props, defaults) {
84
+ warnDeprecatedLayout(component, replacement);
85
+ const { gap, p, padding, wrap, ...rest } = props;
66
86
  return /* @__PURE__ */ jsx(Block, {
67
87
  ...defaults,
68
88
  ...rest,
69
89
  gap: normalizeLegacyResponsiveSpace(gap),
70
- padding: normalizeLegacyResponsiveSpace(padding ?? p)
90
+ padding: normalizeLegacyResponsiveSpace(padding ?? p),
91
+ wrap: normalizeLegacyResponsiveWrap(wrap)
71
92
  });
72
93
  }
73
94
  function Box(props) {
74
- return layoutAlias(props, {});
95
+ return layoutAlias("Box", "Use Block directly.", props, {});
75
96
  }
76
97
  function Stack(props) {
77
- return layoutAlias(props, { direction: "column" });
98
+ return layoutAlias("Stack", "Use <Block direction=\"column\">.", props, { direction: "column" });
78
99
  }
79
100
  function Inline(props) {
80
- return layoutAlias(props, { direction: "row" });
101
+ return layoutAlias("Inline", "Use <Block direction=\"row\">.", props, { direction: "row" });
81
102
  }
82
103
  function Shell(props) {
83
104
  const { variant: _variant, ...rest } = props;
84
- return layoutAlias(rest, {});
105
+ return layoutAlias("Shell", "Compose semantic Block primitives instead.", rest, {});
85
106
  }
86
107
  function ShellNav(props) {
87
- return layoutAlias(props, {});
108
+ return layoutAlias("ShellNav", "Use <Block as=\"nav\">.", props, {});
88
109
  }
89
110
  function ShellMain(props) {
90
- return layoutAlias(props, {
111
+ return layoutAlias("ShellMain", "Use <Block as=\"main\" grow>.", props, {
91
112
  as: "main",
92
113
  grow: true
93
114
  });
@@ -110,7 +131,10 @@ function AlertDescription(props) {
110
131
  }
111
132
  /** Renders the `breadcrumb` part of the shadcn-compatible catalog primitives. */
112
133
  function Breadcrumb(props) {
113
- return catalogPart(props, {
134
+ return catalogPart({
135
+ "aria-label": "Breadcrumb",
136
+ ...props
137
+ }, {
114
138
  slot: "breadcrumb",
115
139
  element: "nav",
116
140
  role: "navigation"
@@ -207,17 +231,11 @@ function CalendarNextButton(props) {
207
231
  }
208
232
  /** Renders the `calendar-grid` part of the shadcn-compatible catalog primitives. */
209
233
  function CalendarGrid(props) {
210
- return catalogPart(props, {
211
- slot: "calendar-grid",
212
- role: "grid"
213
- });
234
+ return catalogPart(props, { slot: "calendar-grid" });
214
235
  }
215
236
  /** Renders the `calendar-head` part of the shadcn-compatible catalog primitives. */
216
237
  function CalendarHead(props) {
217
- return catalogPart(props, {
218
- slot: "calendar-head",
219
- role: "row"
220
- });
238
+ return catalogPart(props, { slot: "calendar-head" });
221
239
  }
222
240
  /** Renders the `calendar-body` part of the shadcn-compatible catalog primitives. */
223
241
  function CalendarBody(props) {
@@ -225,17 +243,11 @@ function CalendarBody(props) {
225
243
  }
226
244
  /** Renders the `calendar-row` part of the shadcn-compatible catalog primitives. */
227
245
  function CalendarRow(props) {
228
- return catalogPart(props, {
229
- slot: "calendar-row",
230
- role: "row"
231
- });
246
+ return catalogPart(props, { slot: "calendar-row" });
232
247
  }
233
248
  /** Renders the `calendar-cell` part of the shadcn-compatible catalog primitives. */
234
249
  function CalendarCell(props) {
235
- return catalogPart(props, {
236
- slot: "calendar-cell",
237
- role: "gridcell"
238
- });
250
+ return catalogPart(props, { slot: "calendar-cell" });
239
251
  }
240
252
  /** Renders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes. */
241
253
  function CalendarDay(props) {
@@ -243,7 +255,6 @@ function CalendarDay(props) {
243
255
  return buttonPart({
244
256
  disabled,
245
257
  "aria-disabled": disabled ? "true" : void 0,
246
- "aria-selected": selected ? "true" : void 0,
247
258
  "data-disabled": disabled ? "" : void 0,
248
259
  "data-outside": outside ? "true" : void 0,
249
260
  "data-range-end": rangeEnd ? "true" : void 0,
@@ -286,30 +297,23 @@ function CarouselNext(props) {
286
297
  function Combobox(props) {
287
298
  return catalogPart(props, { slot: "combobox" });
288
299
  }
289
- /** Renders the combobox's text input, wired up with `role="combobox"`. */
300
+ /** Styling-only combobox input; consumers supplying behavior also own its complete ARIA contract. */
290
301
  function ComboboxInput(props) {
291
302
  const { ref, class: className, ...rest } = props;
292
303
  const finalProps = mergeProps(rest, {
293
304
  ref,
294
305
  class: classes("input", className),
295
- "data-slot": "combobox-input",
296
- role: "combobox"
306
+ "data-slot": "combobox-input"
297
307
  });
298
308
  return /* @__PURE__ */ jsx("input", { ...finalProps });
299
309
  }
300
310
  /** Renders the `combobox-list` part of the shadcn-compatible catalog primitives. */
301
311
  function ComboboxList(props) {
302
- return catalogPart(props, {
303
- slot: "combobox-list",
304
- role: "listbox"
305
- });
312
+ return catalogPart(props, { slot: "combobox-list" });
306
313
  }
307
314
  /** Renders the `combobox-option` part of the shadcn-compatible catalog primitives. */
308
315
  function ComboboxOption(props) {
309
- return catalogPart(props, {
310
- slot: "combobox-option",
311
- role: "option"
312
- });
316
+ return catalogPart(props, { slot: "combobox-option" });
313
317
  }
314
318
  /** Renders the `command` part of the shadcn-compatible catalog primitives. */
315
319
  function Command(props) {
@@ -335,10 +339,7 @@ function CommandHeader(props) {
335
339
  }
336
340
  /** Renders the `command-list` part of the shadcn-compatible catalog primitives. */
337
341
  function CommandList(props) {
338
- return catalogPart(props, {
339
- slot: "command-list",
340
- role: "listbox"
341
- });
342
+ return catalogPart(props, { slot: "command-list" });
342
343
  }
343
344
  /** Renders the `command-empty` part of the shadcn-compatible catalog primitives. */
344
345
  function CommandEmpty(props) {
@@ -363,14 +364,10 @@ function CommandItem(props) {
363
364
  const { active, disabled, selected, ...rest } = props;
364
365
  return catalogPart({
365
366
  "aria-disabled": disabled ? "true" : void 0,
366
- "aria-selected": selected || active ? "true" : void 0,
367
367
  "data-disabled": disabled ? "" : void 0,
368
368
  "data-selected": selected || active ? "true" : void 0,
369
369
  ...rest
370
- }, {
371
- slot: "command-item",
372
- role: "option"
373
- });
370
+ }, { slot: "command-item" });
374
371
  }
375
372
  /** Renders the `command-separator` part of the shadcn-compatible catalog primitives. */
376
373
  function CommandSeparator(props) {
@@ -642,7 +639,10 @@ function NavigationMenuIndicator(props) {
642
639
  }
643
640
  /** Renders the `pagination` part of the shadcn-compatible catalog primitives. */
644
641
  function Pagination(props) {
645
- return catalogPart(props, {
642
+ return catalogPart({
643
+ "aria-label": "Pagination",
644
+ ...props
645
+ }, {
646
646
  slot: "pagination",
647
647
  element: "nav",
648
648
  role: "navigation"
@@ -721,17 +721,11 @@ function ResizablePanel(props) {
721
721
  }
722
722
  /** Styling-only separator slot; it does not implement resizing, pointer dragging, or keyboard controls. */
723
723
  function ResizableHandle(props) {
724
- return catalogPart(props, {
725
- slot: "resizable-handle",
726
- role: "separator"
727
- });
724
+ return catalogPart(props, { slot: "resizable-handle" });
728
725
  }
729
726
  /** Renders the `tabs-list` part of the shadcn-compatible catalog primitives. */
730
727
  function TabsList(props) {
731
- return catalogPart(props, {
732
- slot: "tabs-list",
733
- role: "tablist"
734
- });
728
+ return catalogPart(props, { slot: "tabs-list" });
735
729
  }
736
730
  /** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */
737
731
  function TabsTrigger(props) {
@@ -739,10 +733,7 @@ function TabsTrigger(props) {
739
733
  }
740
734
  /** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */
741
735
  function TabsContent(props) {
742
- return catalogPart(props, {
743
- slot: "tabs-content",
744
- role: "tabpanel"
745
- });
736
+ return catalogPart(props, { slot: "tabs-content" });
746
737
  }
747
738
  /** Sheet variant of the dialog content part; defaults to sliding in from the right. */
748
739
  function SheetContent(props) {
@@ -1 +1 @@
1
- {"version":3,"file":"catalog.js","names":["BlockComponent"],"sources":["../../src/components/catalog.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Slot } from \"@askrjs/askr/foundations\";\nimport type { Ref } from \"@askrjs/askr/foundations/utilities\";\nimport { DialogContent, DialogDescription, DialogTitle } from \"@askrjs/ui\";\nimport { Block } from \"./block\";\nimport type { BlockDivProps, BlockElement, BlockResponsiveValue, BlockSpace } from \"./block\";\nimport type { BlockLayoutProps } from \"./_internal/block-layout\";\nimport { classes } from \"./_internal/classes\";\nimport { mergeProps } from \"./_internal/merge-props\";\n\nconst CatalogDialogContent = DialogContent as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogTitle = DialogTitle as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogDescription = DialogDescription as (\n props: Record<string, unknown>,\n) => JSX.Element;\n\ntype CatalogElement = keyof JSX.IntrinsicElements;\n\n/**\n * Shared prop shape for the shadcn-compatible catalog primitives below: a\n * polymorphic `as`/`asChild` element plus passthrough attributes.\n */\nexport type CatalogComponentProps = Record<string, unknown> & {\n as?: CatalogElement;\n asChild?: boolean;\n children?: unknown;\n class?: string;\n ref?: Ref<HTMLElement>;\n};\n\ntype CatalogDefaults = {\n className?: string;\n element?: CatalogElement;\n role?: string;\n slot: string;\n};\n\nfunction catalogPart(props: CatalogComponentProps, defaults: CatalogDefaults): JSX.Element {\n const { as, asChild, children, class: className, ref, ...rest } = props;\n const Element = (as ?? defaults.element ?? \"div\") as \"div\";\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(defaults.className, className),\n \"data-slot\": defaults.slot,\n role: defaults.role,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return <Element {...finalProps}>{children}</Element>;\n}\n\nfunction buttonPart(props: CatalogComponentProps, slot: string, className?: string): JSX.Element {\n const { as, asChild, children, ref, class: classProp, type = \"button\", ...rest } = props;\n void as;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(className, classProp),\n \"data-slot\": slot,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return (\n <button type={type as \"button\" | \"submit\" | \"reset\"} {...finalProps}>\n {children}\n </button>\n );\n}\n\ntype LegacySpace = BlockSpace | \"none\" | \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"8\";\n\ntype LegacyLayoutConveniences = {\n gap?: BlockResponsiveValue<LegacySpace>;\n p?: BlockResponsiveValue<LegacySpace>;\n padding?: BlockResponsiveValue<LegacySpace>;\n wrap?: BlockResponsiveValue<boolean>;\n};\n\ntype LegacyStructuralProps = Partial<\n Pick<\n BlockDivProps,\n | \"children\"\n | \"class\"\n | \"className\"\n | \"style\"\n | \"ref\"\n | \"id\"\n | \"title\"\n | \"role\"\n | \"tabIndex\"\n | \"hidden\"\n | \"dir\"\n | \"lang\"\n | \"onAbort\"\n | \"onBlur\"\n | \"onChange\"\n | \"onClick\"\n | \"onDblClick\"\n | \"onFocus\"\n | \"onInput\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"onPointerDown\"\n | \"onPointerDownCapture\"\n | \"onPointerEnter\"\n | \"onPointerLeave\"\n | \"onPointerMove\"\n | \"onPointerUp\"\n | \"onScroll\"\n | \"onSubmit\"\n | \"onTouchEnd\"\n | \"onTouchStart\"\n | \"onWheel\"\n >\n> & {\n as?: BlockElement;\n asChild?: boolean;\n [attribute: `aria-${string}`]: BlockDivProps[`aria-${string}`];\n [attribute: `data-${string}`]: BlockDivProps[`data-${string}`];\n};\n\nexport type LegacyLayoutProps = Omit<BlockLayoutProps, \"gap\" | \"padding\" | \"wrap\"> &\n LegacyStructuralProps &\n LegacyLayoutConveniences;\n\nfunction normalizeLegacySpace(value: LegacySpace): BlockSpace {\n if (value === \"none\") return \"0\";\n if (value === \"1\") return \"xs\";\n if (value === \"2\") return \"xs\";\n if (value === \"3\") return \"sm\";\n if (value === \"4\") return \"md\";\n if (value === \"5\") return \"lg\";\n if (value === \"6\") return \"xl\";\n if (value === \"8\") return \"2xl\";\n return value;\n}\n\nfunction normalizeLegacyResponsiveSpace(\n value: BlockResponsiveValue<LegacySpace> | undefined,\n): BlockResponsiveValue<BlockSpace> | undefined {\n if (value === undefined) return undefined;\n if (typeof value === \"object\") {\n return Object.fromEntries(\n Object.entries(value).map(([breakpoint, space]) => [\n breakpoint,\n normalizeLegacySpace(space as LegacySpace),\n ]),\n );\n }\n return normalizeLegacySpace(value);\n}\n\nfunction layoutAlias(props: LegacyLayoutProps, defaults: Record<string, unknown>): JSX.Element {\n const { gap, p, padding, ...rest } = props as LegacyLayoutProps & Record<string, unknown>;\n const BlockComponent = Block as (blockProps: Record<string, unknown>) => JSX.Element;\n\n return (\n <BlockComponent\n {...defaults}\n {...rest}\n gap={normalizeLegacyResponsiveSpace(gap)}\n padding={normalizeLegacyResponsiveSpace(padding ?? p)}\n />\n );\n}\n\n/** @deprecated Use {@link Block} directly. */\nexport function Box(props: LegacyLayoutProps): JSX.Element;\nexport function Box(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\n/** @deprecated Use `<Block direction=\"column\">`. */\nexport function Stack(props: LegacyLayoutProps): JSX.Element;\nexport function Stack(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(props, { direction: \"column\" });\n}\n\n/** @deprecated Use `<Block direction=\"row\">`. */\nexport function Inline(props: LegacyLayoutProps): JSX.Element;\nexport function Inline(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(props, { direction: \"row\" });\n}\n\n/** @deprecated Compose semantic {@link Block} primitives instead. */\nexport function Shell(props: LegacyLayoutProps & { variant?: string }): JSX.Element;\nexport function Shell(props: LegacyLayoutProps & { variant?: string }): JSX.Element {\n const { variant: _variant, ...rest } = props;\n void _variant;\n return layoutAlias(rest, {});\n}\n\n/** @deprecated Use `<Block as=\"nav\">`. */\nexport function ShellNav(props: LegacyLayoutProps): JSX.Element;\nexport function ShellNav(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(props, {});\n}\n\n/** @deprecated Use `<Block as=\"main\" grow>`. */\nexport function ShellMain(props: LegacyLayoutProps): JSX.Element;\nexport function ShellMain(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(props, { as: \"main\", grow: true });\n}\n\n/** Renders the `alert-title` part of the shadcn-compatible catalog primitives. */\nexport function AlertTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"alert-title\", element: \"h3\", className: \"alert-title\" });\n}\n\n/** Renders the `alert-description` part of the shadcn-compatible catalog primitives. */\nexport function AlertDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, {\n slot: \"alert-description\",\n element: \"p\",\n className: \"alert-description\",\n });\n}\n\n/** Renders the `breadcrumb` part of the shadcn-compatible catalog primitives. */\nexport function Breadcrumb(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb\", element: \"nav\", role: \"navigation\" });\n}\n\n/** Renders the `breadcrumb-list` part of the shadcn-compatible catalog primitives. */\nexport function BreadcrumbList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-list\", element: \"ol\" });\n}\n\n/** Renders the `breadcrumb-item` part of the shadcn-compatible catalog primitives. */\nexport function BreadcrumbItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-item\", element: \"li\" });\n}\n\n/** Renders the `breadcrumb-link` part of the shadcn-compatible catalog primitives. */\nexport function BreadcrumbLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-link\", element: \"a\" });\n}\n\n/** Renders the current (non-link) breadcrumb page, marked `aria-current=\"page\"`. */\nexport function BreadcrumbPage(props: CatalogComponentProps): JSX.Element {\n return catalogPart(\n { \"aria-current\": \"page\", ...props },\n {\n slot: \"breadcrumb-page\",\n element: \"span\",\n },\n );\n}\n\n/** Renders the separator between breadcrumb items (defaults to `\"/\"`). */\nexport function BreadcrumbSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"/\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-separator\",\n element: \"li\",\n },\n );\n}\n\n/** Renders a non-interactive ellipsis marker in a breadcrumb trail. */\nexport function BreadcrumbEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-ellipsis\",\n element: \"span\",\n },\n );\n}\n\n/** Renders the `calendar` part of the shadcn-compatible catalog primitives. */\nexport function Calendar(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar\" });\n}\n\n/** Renders the `calendar-header` part of the shadcn-compatible catalog primitives. */\nexport function CalendarHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-header\" });\n}\n\n/** Renders the `calendar-caption` part of the shadcn-compatible catalog primitives. */\nexport function CalendarCaption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-caption\" });\n}\n\n/** Renders the `calendar-nav` part of the shadcn-compatible catalog primitives. */\nexport function CalendarNav(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-nav\" });\n}\n\n/** Button that navigates the calendar to the previous month. */\nexport function CalendarPreviousButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Previous month\", children, ...rest },\n \"calendar-previous\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\n/** Button that navigates the calendar to the next month. */\nexport function CalendarNextButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Next month\", children, ...rest },\n \"calendar-next\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\n/** Renders the `calendar-grid` part of the shadcn-compatible catalog primitives. */\nexport function CalendarGrid(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-grid\", role: \"grid\" });\n}\n\n/** Renders the `calendar-head` part of the shadcn-compatible catalog primitives. */\nexport function CalendarHead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-head\", role: \"row\" });\n}\n\n/** Renders the `calendar-body` part of the shadcn-compatible catalog primitives. */\nexport function CalendarBody(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-body\" });\n}\n\n/** Renders the `calendar-row` part of the shadcn-compatible catalog primitives. */\nexport function CalendarRow(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-row\", role: \"row\" });\n}\n\n/** Renders the `calendar-cell` part of the shadcn-compatible catalog primitives. */\nexport function CalendarCell(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-cell\", role: \"gridcell\" });\n}\n\n/** Renders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes. */\nexport function CalendarDay(\n props: CatalogComponentProps & {\n disabled?: boolean;\n outside?: boolean;\n rangeEnd?: boolean;\n rangeMiddle?: boolean;\n rangeStart?: boolean;\n selected?: boolean;\n today?: boolean;\n },\n): JSX.Element {\n const { disabled, outside, rangeEnd, rangeMiddle, rangeStart, selected, today, ...rest } = props;\n return buttonPart(\n {\n disabled,\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-outside\": outside ? \"true\" : undefined,\n \"data-range-end\": rangeEnd ? \"true\" : undefined,\n \"data-range-middle\": rangeMiddle ? \"true\" : undefined,\n \"data-range-start\": rangeStart ? \"true\" : undefined,\n \"data-selected\": selected ? \"true\" : undefined,\n \"data-today\": today ? \"true\" : undefined,\n ...rest,\n },\n \"calendar-day\",\n );\n}\n\n/** Renders the `carousel` part of the shadcn-compatible catalog primitives. */\nexport function Carousel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel\" });\n}\n\n/** Renders the `carousel-content` part of the shadcn-compatible catalog primitives. */\nexport function CarouselContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-content\" });\n}\n\n/** Renders the `carousel-item` part of the shadcn-compatible catalog primitives. */\nexport function CarouselItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-item\" });\n}\n\n/** Button that navigates the carousel to the previous item. */\nexport function CarouselPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-previous\", \"btn btn-icon\");\n}\n\n/** Button that navigates the carousel to the next item. */\nexport function CarouselNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-next\", \"btn btn-icon\");\n}\n\n/** Renders the `combobox` part of the shadcn-compatible catalog primitives. */\nexport function Combobox(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox\" });\n}\n\n/** Renders the combobox's text input, wired up with `role=\"combobox\"`. */\nexport function ComboboxInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"combobox-input\",\n role: \"combobox\",\n });\n\n return <input {...finalProps} />;\n}\n\n/** Renders the `combobox-list` part of the shadcn-compatible catalog primitives. */\nexport function ComboboxList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-list\", role: \"listbox\" });\n}\n\n/** Renders the `combobox-option` part of the shadcn-compatible catalog primitives. */\nexport function ComboboxOption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-option\", role: \"option\" });\n}\n\n/** Renders the `command` part of the shadcn-compatible catalog primitives. */\nexport function Command(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command\" });\n}\n\n/** Renders the `command-dialog` part of the shadcn-compatible catalog primitives. */\nexport function CommandDialog(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-dialog\" });\n}\n\n/** Renders the command palette's search `<input>`. */\nexport function CommandInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"command-input\",\n });\n\n return <input {...finalProps} />;\n}\n\n/** Renders the `command-header` part of the shadcn-compatible catalog primitives. */\nexport function CommandHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-header\" });\n}\n\n/** Renders the `command-list` part of the shadcn-compatible catalog primitives. */\nexport function CommandList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-list\", role: \"listbox\" });\n}\n\n/** Renders the `command-empty` part of the shadcn-compatible catalog primitives. */\nexport function CommandEmpty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-empty\" });\n}\n\n/** Renders the `command-group` part of the shadcn-compatible catalog primitives. */\nexport function CommandGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group\", role: \"group\" });\n}\n\n/** Renders the `command-group-heading` part of the shadcn-compatible catalog primitives. */\nexport function CommandGroupHeading(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group-heading\", element: \"div\" });\n}\n\n/** Renders a selectable command list entry, exposing `active`/`disabled`/`selected` as ARIA and data attributes. */\nexport function CommandItem(\n props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean },\n): JSX.Element {\n const { active, disabled, selected, ...rest } = props;\n return catalogPart(\n {\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"aria-selected\": selected || active ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-selected\": selected || active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"command-item\", role: \"option\" },\n );\n}\n\n/** Renders the `command-separator` part of the shadcn-compatible catalog primitives. */\nexport function CommandSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-separator\", element: \"div\", role: \"separator\" });\n}\n\n/** Renders the `command-shortcut` part of the shadcn-compatible catalog primitives. */\nexport function CommandShortcut(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-shortcut\", element: \"span\" });\n}\n\n/**\n * Styling-only container for the `data-table` catalog slot. It does not sort, filter, select, or paginate data.\n * Compose semantic `Table`/`VirtualTable` primitives with application-owned data state for those behaviors.\n */\nexport function DataTable(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"data-table\" });\n}\n\n/** Renders the `date-picker` part of the shadcn-compatible catalog primitives. */\nexport function DatePicker(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"date-picker\" });\n}\n\n/** Renders the date picker's `<input type=\"date\">` by default. */\nexport function DatePickerInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, type = \"date\", ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"date-picker-input\",\n });\n\n return <input type={type as string} {...finalProps} />;\n}\n\n/** Sets the `dir` attribute (defaulting to `\"ltr\"`) on its wrapping element for RTL/LTR scoping. */\nexport function Direction(props: CatalogComponentProps & { dir?: \"ltr\" | \"rtl\" }): JSX.Element {\n const { dir = \"ltr\", ...rest } = props;\n return catalogPart({ dir, ...rest }, { slot: \"direction\" });\n}\n\n/** Renders the `empty` part of the shadcn-compatible catalog primitives. */\nexport function Empty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty\" });\n}\n\n/** Renders the `empty-header` part of the shadcn-compatible catalog primitives. */\nexport function EmptyHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-header\" });\n}\n\n/** Renders the `empty-title` part of the shadcn-compatible catalog primitives. */\nexport function EmptyTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-title\", element: \"h3\" });\n}\n\n/** Renders the `empty-description` part of the shadcn-compatible catalog primitives. */\nexport function EmptyDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-description\", element: \"p\" });\n}\n\n/** Renders the `empty-content` part of the shadcn-compatible catalog primitives. */\nexport function EmptyContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-content\" });\n}\n\n/** Renders the `empty-media` part of the shadcn-compatible catalog primitives. */\nexport function EmptyMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-media\" });\n}\n\n/** Renders the `field-group` part of the shadcn-compatible catalog primitives. */\nexport function FieldGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-group\" });\n}\n\n/** Renders the `field-set` part of the shadcn-compatible catalog primitives. */\nexport function FieldSet(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-set\", element: \"fieldset\" });\n}\n\n/** Renders the `field-legend` part of the shadcn-compatible catalog primitives. */\nexport function FieldLegend(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-legend\", element: \"legend\" });\n}\n\n/** Renders the `field-label` part of the shadcn-compatible catalog primitives. */\nexport function FieldLabel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-label\", element: \"label\", className: \"label\" });\n}\n\n/** Renders the `field-description` part of the shadcn-compatible catalog primitives. */\nexport function FieldDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-description\", element: \"p\", className: \"field-hint\" });\n}\n\n/** Renders the `field-content` part of the shadcn-compatible catalog primitives. */\nexport function FieldContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-content\" });\n}\n\n/** Renders the `field-title` part of the shadcn-compatible catalog primitives. */\nexport function FieldTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-title\", element: \"div\" });\n}\n\n/** Renders the `field-separator` part of the shadcn-compatible catalog primitives. */\nexport function FieldSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-separator\", role: \"separator\" });\n}\n\n/** Renders the `input-otp` part of the shadcn-compatible catalog primitives. */\nexport function InputOTP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp\", role: \"group\" });\n}\n\n/** Renders the `input-otp-group` part of the shadcn-compatible catalog primitives. */\nexport function InputOTPGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-group\", role: \"group\" });\n}\n\n/** Renders the `input-otp-slot` part of the shadcn-compatible catalog primitives. */\nexport function InputOTPSlot(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-slot\", element: \"span\" });\n}\n\n/** Renders the visual separator between InputOTP groups (defaults to `\"-\"`). */\nexport function InputOTPSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"-\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"input-otp-separator\",\n element: \"span\",\n },\n );\n}\n\n/** Renders a generic list item part, exposing `active`/`size`/`variant` as data attributes. */\nexport function Item(\n props: CatalogComponentProps & {\n active?: boolean;\n size?: \"default\" | \"sm\" | \"xs\";\n variant?: \"default\" | \"outline\" | \"muted\";\n },\n): JSX.Element {\n const { active, size, variant, ...rest } = props;\n return catalogPart(\n {\n \"data-active\": active ? \"true\" : undefined,\n \"data-size\": size && size !== \"default\" ? size : undefined,\n \"data-variant\": variant && variant !== \"default\" ? variant : undefined,\n ...rest,\n },\n { slot: \"item\" },\n );\n}\n\n/** Renders the `item-group` part of the shadcn-compatible catalog primitives. */\nexport function ItemGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-group\" });\n}\n\n/** Renders the `item-header` part of the shadcn-compatible catalog primitives. */\nexport function ItemHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-header\" });\n}\n\n/** Renders the `item-media` part of the shadcn-compatible catalog primitives. */\nexport function ItemMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-media\" });\n}\n\n/** Renders the `item-content` part of the shadcn-compatible catalog primitives. */\nexport function ItemContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-content\" });\n}\n\n/** Renders the `item-title` part of the shadcn-compatible catalog primitives. */\nexport function ItemTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-title\" });\n}\n\n/** Renders the `item-description` part of the shadcn-compatible catalog primitives. */\nexport function ItemDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-description\" });\n}\n\n/** Renders the `item-actions` part of the shadcn-compatible catalog primitives. */\nexport function ItemActions(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-actions\" });\n}\n\n/** Renders the `item-footer` part of the shadcn-compatible catalog primitives. */\nexport function ItemFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-footer\" });\n}\n\n/** Renders the `kbd` part of the shadcn-compatible catalog primitives. */\nexport function Kbd(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"kbd\", element: \"kbd\" });\n}\n\n/** Renders a styled native `<select>` element. */\nexport function NativeSelect(props: CatalogComponentProps): JSX.Element {\n const { children, ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"native-select\",\n });\n\n return <select {...finalProps}>{children}</select>;\n}\n\n/** Renders the `navigation-menu` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenu(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu\", element: \"nav\" });\n}\n\n/** Renders the `navigation-menu-list` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-list\", element: \"ul\" });\n}\n\n/** Renders the `navigation-menu-item` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-item\", element: \"li\" });\n}\n\n/** Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"navigation-menu-trigger\", \"nav-item\");\n}\n\n/** Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-content\" });\n}\n\n/** Renders the `navigation-menu-link` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-link\", element: \"a\" });\n}\n\n/** Renders the `navigation-menu-viewport` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuViewport(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-viewport\" });\n}\n\n/** Renders the `navigation-menu-indicator` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuIndicator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-indicator\" });\n}\n\n/** Renders the `pagination` part of the shadcn-compatible catalog primitives. */\nexport function Pagination(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination\", element: \"nav\", role: \"navigation\" });\n}\n\n/** Renders the `pagination-content` part of the shadcn-compatible catalog primitives. */\nexport function PaginationContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-content\", element: \"ul\" });\n}\n\n/** Renders the `pagination-item` part of the shadcn-compatible catalog primitives. */\nexport function PaginationItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-item\", element: \"li\" });\n}\n\n/** Renders a pagination page link, marking it `aria-current=\"page\"` when `active`. */\nexport function PaginationLink(props: CatalogComponentProps & { active?: boolean }): JSX.Element {\n const { active, ...rest } = props;\n return catalogPart(\n {\n \"aria-current\": active ? \"page\" : undefined,\n \"data-active\": active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"pagination-link\", element: \"a\" },\n );\n}\n\n/** Pagination link that moves to the previous page. */\nexport function PaginationPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-previous\", element: \"a\" });\n}\n\n/** Pagination link that moves to the next page. */\nexport function PaginationNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-next\", element: \"a\" });\n}\n\n/** Renders a non-interactive ellipsis marker between pagination links. */\nexport function PaginationEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"pagination-ellipsis\",\n element: \"span\",\n },\n );\n}\n\n/**\n * Styling-only container for the `resizable-panel-group` catalog slot. It does not implement resizing.\n * Consumers own pointer, keyboard, sizing, and ARIA state until a behavior primitive exists in `@askrjs/ui`.\n */\nexport function ResizablePanelGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel-group\" });\n}\n\n/** Styling-only `resizable-panel` slot; it does not implement resizing or manage panel dimensions. */\nexport function ResizablePanel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel\" });\n}\n\n/** Styling-only separator slot; it does not implement resizing, pointer dragging, or keyboard controls. */\nexport function ResizableHandle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-handle\", role: \"separator\" });\n}\n\n/** Renders the `tabs-list` part of the shadcn-compatible catalog primitives. */\nexport function TabsList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-list\", role: \"tablist\" });\n}\n\n/** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */\nexport function TabsTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"tabs-trigger\", \"tab\");\n}\n\n/** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */\nexport function TabsContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-content\", role: \"tabpanel\" });\n}\n\n/** Sheet variant of the dialog content part; defaults to sliding in from the right. */\nexport function SheetContent(\n props: CatalogComponentProps & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n },\n): JSX.Element {\n const { side = \"right\", ...rest } = props;\n return <CatalogDialogContent {...rest} data-side={side} data-slot=\"sheet-content\" />;\n}\n\n/** Renders the `sheet-header` part of the shadcn-compatible catalog primitives. */\nexport function SheetHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-header\" });\n}\n\n/** Renders the `sheet-footer` part of the shadcn-compatible catalog primitives. */\nexport function SheetFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-footer\" });\n}\n\n/** Sheet variant of the dialog title part. */\nexport function SheetTitle(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogTitle {...props} data-slot=\"sheet-title\" />;\n}\n\n/** Sheet variant of the dialog description part. */\nexport function SheetDescription(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogDescription {...props} data-slot=\"sheet-description\" />;\n}\n\n/** Renders the `sonner` part of the shadcn-compatible catalog primitives. */\nexport function Toaster(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sonner\" });\n}\n\n/** Alias of {@link Toaster} kept for shadcn/sonner API compatibility. */\nexport const Sonner = Toaster;\n\n/** Renders the `typography` part of the shadcn-compatible catalog primitives. */\nexport function Typography(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography\" });\n}\n\n/** Renders the `typography-h1` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH1(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h1\", element: \"h1\" });\n}\n\n/** Renders the `typography-h2` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH2(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h2\", element: \"h2\" });\n}\n\n/** Renders the `typography-h3` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH3(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h3\", element: \"h3\" });\n}\n\n/** Renders the `typography-h4` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH4(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h4\", element: \"h4\" });\n}\n\n/** Renders the `typography-p` part of the shadcn-compatible catalog primitives. */\nexport function TypographyP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-p\", element: \"p\" });\n}\n\n/** Renders the `typography-blockquote` part of the shadcn-compatible catalog primitives. */\nexport function TypographyBlockquote(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-blockquote\", element: \"blockquote\" });\n}\n\n/** Renders the `typography-list` part of the shadcn-compatible catalog primitives. */\nexport function TypographyList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-list\", element: \"ul\" });\n}\n\n/** Renders the `typography-lead` part of the shadcn-compatible catalog primitives. */\nexport function TypographyLead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-lead\", element: \"p\" });\n}\n\n/** Renders the `typography-muted` part of the shadcn-compatible catalog primitives. */\nexport function TypographyMuted(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-muted\", element: \"p\" });\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"catalog.js","names":["BlockComponent"],"sources":["../../src/components/catalog.tsx"],"sourcesContent":["import type { JSX } from \"@askrjs/askr/jsx-runtime\";\nimport { Slot } from \"@askrjs/askr/foundations\";\nimport type { Ref } from \"@askrjs/askr/foundations/utilities\";\nimport { DialogContent, DialogDescription, DialogTitle } from \"@askrjs/ui\";\nimport { Block } from \"./block\";\nimport type { BlockDivProps, BlockElement, BlockResponsiveValue, BlockSpace } from \"./block\";\nimport type { BlockLayoutProps } from \"./_internal/block-layout\";\nimport { classes } from \"./_internal/classes\";\nimport { mergeProps } from \"./_internal/merge-props\";\n\nconst CatalogDialogContent = DialogContent as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogTitle = DialogTitle as (props: Record<string, unknown>) => JSX.Element;\nconst CatalogDialogDescription = DialogDescription as (\n props: Record<string, unknown>,\n) => JSX.Element;\n\ntype CatalogElement = keyof JSX.IntrinsicElements;\n\n/**\n * Shared prop shape for the shadcn-compatible catalog primitives below: a\n * polymorphic `as`/`asChild` element plus passthrough attributes.\n */\nexport type CatalogComponentProps = Record<string, unknown> & {\n as?: CatalogElement;\n asChild?: boolean;\n children?: unknown;\n class?: string;\n ref?: Ref<HTMLElement>;\n};\n\ntype CatalogDefaults = {\n className?: string;\n element?: CatalogElement;\n role?: string;\n slot: string;\n};\n\nfunction catalogPart(props: CatalogComponentProps, defaults: CatalogDefaults): JSX.Element {\n const { as, asChild, children, class: className, ref, ...rest } = props;\n const Element = (as ?? defaults.element ?? \"div\") as \"div\";\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(defaults.className, className),\n \"data-slot\": defaults.slot,\n role: defaults.role,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return <Element {...finalProps}>{children}</Element>;\n}\n\nfunction buttonPart(props: CatalogComponentProps, slot: string, className?: string): JSX.Element {\n const { as, asChild, children, ref, class: classProp, type = \"button\", ...rest } = props;\n void as;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(className, classProp),\n \"data-slot\": slot,\n });\n\n if (asChild) {\n return <Slot asChild {...finalProps} children={children as JSX.Element} />;\n }\n\n return (\n <button type={type as \"button\" | \"submit\" | \"reset\"} {...finalProps}>\n {children}\n </button>\n );\n}\n\ntype LegacySpace = BlockSpace | \"none\" | \"1\" | \"2\" | \"3\" | \"4\" | \"5\" | \"6\" | \"8\";\ntype LegacyWrap = boolean | \"wrap\" | \"nowrap\";\n\ntype LegacyLayoutConveniences = {\n gap?: BlockResponsiveValue<LegacySpace>;\n p?: BlockResponsiveValue<LegacySpace>;\n padding?: BlockResponsiveValue<LegacySpace>;\n wrap?: BlockResponsiveValue<LegacyWrap>;\n};\n\ntype LegacyStructuralProps = Partial<\n Pick<\n BlockDivProps,\n | \"children\"\n | \"class\"\n | \"className\"\n | \"style\"\n | \"ref\"\n | \"id\"\n | \"title\"\n | \"role\"\n | \"tabIndex\"\n | \"hidden\"\n | \"dir\"\n | \"lang\"\n | \"onAbort\"\n | \"onBlur\"\n | \"onChange\"\n | \"onClick\"\n | \"onDblClick\"\n | \"onFocus\"\n | \"onInput\"\n | \"onKeyDown\"\n | \"onKeyUp\"\n | \"onMouseDown\"\n | \"onMouseEnter\"\n | \"onMouseLeave\"\n | \"onMouseMove\"\n | \"onMouseOut\"\n | \"onMouseOver\"\n | \"onMouseUp\"\n | \"onPointerDown\"\n | \"onPointerDownCapture\"\n | \"onPointerEnter\"\n | \"onPointerLeave\"\n | \"onPointerMove\"\n | \"onPointerUp\"\n | \"onScroll\"\n | \"onSubmit\"\n | \"onTouchEnd\"\n | \"onTouchStart\"\n | \"onWheel\"\n >\n> & {\n as?: BlockElement;\n asChild?: boolean;\n [attribute: `aria-${string}`]: BlockDivProps[`aria-${string}`];\n [attribute: `data-${string}`]: BlockDivProps[`data-${string}`];\n};\n\nexport type LegacyLayoutProps = Omit<BlockLayoutProps, \"gap\" | \"padding\" | \"wrap\"> &\n LegacyStructuralProps &\n LegacyLayoutConveniences;\n\nfunction normalizeLegacySpace(value: LegacySpace): BlockSpace {\n if (value === \"none\") return \"0\";\n if (value === \"1\") return \"xs\";\n if (value === \"2\") return \"xs\";\n if (value === \"3\") return \"sm\";\n if (value === \"4\") return \"md\";\n if (value === \"5\") return \"lg\";\n if (value === \"6\") return \"xl\";\n if (value === \"8\") return \"2xl\";\n return value;\n}\n\nfunction normalizeLegacyResponsiveSpace(\n value: BlockResponsiveValue<LegacySpace> | undefined,\n): BlockResponsiveValue<BlockSpace> | undefined {\n if (value === undefined) return undefined;\n if (typeof value === \"object\") {\n return Object.fromEntries(\n Object.entries(value).map(([breakpoint, space]) => [\n breakpoint,\n normalizeLegacySpace(space as LegacySpace),\n ]),\n );\n }\n return normalizeLegacySpace(value);\n}\n\nfunction normalizeLegacyWrap(value: LegacyWrap): boolean {\n if (value === \"wrap\") return true;\n if (value === \"nowrap\") return false;\n return value;\n}\n\nfunction normalizeLegacyResponsiveWrap(\n value: BlockResponsiveValue<LegacyWrap> | undefined,\n): BlockResponsiveValue<boolean> | undefined {\n if (value === undefined) return undefined;\n if (typeof value === \"object\") {\n return Object.fromEntries(\n Object.entries(value).map(([breakpoint, wrap]) => [\n breakpoint,\n normalizeLegacyWrap(wrap as LegacyWrap),\n ]),\n );\n }\n return normalizeLegacyWrap(value);\n}\n\nconst warnedLegacyLayouts = new Set<string>();\n\nfunction warnDeprecatedLayout(component: string, replacement: string) {\n const metaEnvironment = (import.meta as ImportMeta & { env?: { DEV?: boolean } }).env;\n const nodeEnvironment = (\n globalThis as typeof globalThis & { process?: { env?: { NODE_ENV?: string } } }\n ).process?.env?.NODE_ENV;\n\n if (metaEnvironment?.DEV !== true && nodeEnvironment !== \"development\") return;\n if (warnedLegacyLayouts.has(component)) return;\n warnedLegacyLayouts.add(component);\n console.warn(`[askr-themes] ${component} is deprecated. ${replacement}`);\n}\n\nfunction layoutAlias(\n component: string,\n replacement: string,\n props: LegacyLayoutProps,\n defaults: Record<string, unknown>,\n): JSX.Element {\n warnDeprecatedLayout(component, replacement);\n const { gap, p, padding, wrap, ...rest } = props as LegacyLayoutProps & Record<string, unknown>;\n const BlockComponent = Block as (blockProps: Record<string, unknown>) => JSX.Element;\n\n return (\n <BlockComponent\n {...defaults}\n {...rest}\n gap={normalizeLegacyResponsiveSpace(gap)}\n padding={normalizeLegacyResponsiveSpace(padding ?? p)}\n wrap={normalizeLegacyResponsiveWrap(wrap)}\n />\n );\n}\n\n/** @deprecated Use {@link Block} directly. */\nexport function Box(props: LegacyLayoutProps): JSX.Element;\nexport function Box(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(\"Box\", \"Use Block directly.\", props, {});\n}\n\n/** @deprecated Use `<Block direction=\"column\">`. */\nexport function Stack(props: LegacyLayoutProps): JSX.Element;\nexport function Stack(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(\"Stack\", 'Use <Block direction=\"column\">.', props, { direction: \"column\" });\n}\n\n/** @deprecated Use `<Block direction=\"row\">`. */\nexport function Inline(props: LegacyLayoutProps): JSX.Element;\nexport function Inline(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(\"Inline\", 'Use <Block direction=\"row\">.', props, { direction: \"row\" });\n}\n\n/** @deprecated Compose semantic {@link Block} primitives instead. */\nexport function Shell(props: LegacyLayoutProps & { variant?: string }): JSX.Element;\nexport function Shell(props: LegacyLayoutProps & { variant?: string }): JSX.Element {\n const { variant: _variant, ...rest } = props;\n void _variant;\n return layoutAlias(\"Shell\", \"Compose semantic Block primitives instead.\", rest, {});\n}\n\n/** @deprecated Use `<Block as=\"nav\">`. */\nexport function ShellNav(props: LegacyLayoutProps): JSX.Element;\nexport function ShellNav(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(\"ShellNav\", 'Use <Block as=\"nav\">.', props, {});\n}\n\n/** @deprecated Use `<Block as=\"main\" grow>`. */\nexport function ShellMain(props: LegacyLayoutProps): JSX.Element;\nexport function ShellMain(props: LegacyLayoutProps): JSX.Element {\n return layoutAlias(\"ShellMain\", 'Use <Block as=\"main\" grow>.', props, {\n as: \"main\",\n grow: true,\n });\n}\n\n/** Renders the `alert-title` part of the shadcn-compatible catalog primitives. */\nexport function AlertTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"alert-title\", element: \"h3\", className: \"alert-title\" });\n}\n\n/** Renders the `alert-description` part of the shadcn-compatible catalog primitives. */\nexport function AlertDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, {\n slot: \"alert-description\",\n element: \"p\",\n className: \"alert-description\",\n });\n}\n\n/** Renders the `breadcrumb` part of the shadcn-compatible catalog primitives. */\nexport function Breadcrumb(props: CatalogComponentProps): JSX.Element {\n return catalogPart(\n { \"aria-label\": \"Breadcrumb\", ...props },\n {\n slot: \"breadcrumb\",\n element: \"nav\",\n role: \"navigation\",\n },\n );\n}\n\n/** Renders the `breadcrumb-list` part of the shadcn-compatible catalog primitives. */\nexport function BreadcrumbList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-list\", element: \"ol\" });\n}\n\n/** Renders the `breadcrumb-item` part of the shadcn-compatible catalog primitives. */\nexport function BreadcrumbItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-item\", element: \"li\" });\n}\n\n/** Renders the `breadcrumb-link` part of the shadcn-compatible catalog primitives. */\nexport function BreadcrumbLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"breadcrumb-link\", element: \"a\" });\n}\n\n/** Renders the current (non-link) breadcrumb page, marked `aria-current=\"page\"`. */\nexport function BreadcrumbPage(props: CatalogComponentProps): JSX.Element {\n return catalogPart(\n { \"aria-current\": \"page\", ...props },\n {\n slot: \"breadcrumb-page\",\n element: \"span\",\n },\n );\n}\n\n/** Renders the separator between breadcrumb items (defaults to `\"/\"`). */\nexport function BreadcrumbSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"/\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-separator\",\n element: \"li\",\n },\n );\n}\n\n/** Renders a non-interactive ellipsis marker in a breadcrumb trail. */\nexport function BreadcrumbEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"breadcrumb-ellipsis\",\n element: \"span\",\n },\n );\n}\n\n/** Renders the `calendar` part of the shadcn-compatible catalog primitives. */\nexport function Calendar(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar\" });\n}\n\n/** Renders the `calendar-header` part of the shadcn-compatible catalog primitives. */\nexport function CalendarHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-header\" });\n}\n\n/** Renders the `calendar-caption` part of the shadcn-compatible catalog primitives. */\nexport function CalendarCaption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-caption\" });\n}\n\n/** Renders the `calendar-nav` part of the shadcn-compatible catalog primitives. */\nexport function CalendarNav(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-nav\" });\n}\n\n/** Button that navigates the calendar to the previous month. */\nexport function CalendarPreviousButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Previous month\", children, ...rest },\n \"calendar-previous\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\n/** Button that navigates the calendar to the next month. */\nexport function CalendarNextButton(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next month\", ...rest } = props;\n return buttonPart(\n { \"aria-label\": \"Next month\", children, ...rest },\n \"calendar-next\",\n \"btn btn-icon btn-ghost\",\n );\n}\n\n/** Renders the `calendar-grid` part of the shadcn-compatible catalog primitives. */\nexport function CalendarGrid(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-grid\" });\n}\n\n/** Renders the `calendar-head` part of the shadcn-compatible catalog primitives. */\nexport function CalendarHead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-head\" });\n}\n\n/** Renders the `calendar-body` part of the shadcn-compatible catalog primitives. */\nexport function CalendarBody(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-body\" });\n}\n\n/** Renders the `calendar-row` part of the shadcn-compatible catalog primitives. */\nexport function CalendarRow(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-row\" });\n}\n\n/** Renders the `calendar-cell` part of the shadcn-compatible catalog primitives. */\nexport function CalendarCell(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"calendar-cell\" });\n}\n\n/** Renders a single selectable day cell in the calendar grid, with selection/range/today state exposed as data attributes. */\nexport function CalendarDay(\n props: CatalogComponentProps & {\n disabled?: boolean;\n outside?: boolean;\n rangeEnd?: boolean;\n rangeMiddle?: boolean;\n rangeStart?: boolean;\n selected?: boolean;\n today?: boolean;\n },\n): JSX.Element {\n const { disabled, outside, rangeEnd, rangeMiddle, rangeStart, selected, today, ...rest } = props;\n return buttonPart(\n {\n disabled,\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-outside\": outside ? \"true\" : undefined,\n \"data-range-end\": rangeEnd ? \"true\" : undefined,\n \"data-range-middle\": rangeMiddle ? \"true\" : undefined,\n \"data-range-start\": rangeStart ? \"true\" : undefined,\n \"data-selected\": selected ? \"true\" : undefined,\n \"data-today\": today ? \"true\" : undefined,\n ...rest,\n },\n \"calendar-day\",\n );\n}\n\n/** Renders the `carousel` part of the shadcn-compatible catalog primitives. */\nexport function Carousel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel\" });\n}\n\n/** Renders the `carousel-content` part of the shadcn-compatible catalog primitives. */\nexport function CarouselContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-content\" });\n}\n\n/** Renders the `carousel-item` part of the shadcn-compatible catalog primitives. */\nexport function CarouselItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"carousel-item\" });\n}\n\n/** Button that navigates the carousel to the previous item. */\nexport function CarouselPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-previous\", \"btn btn-icon\");\n}\n\n/** Button that navigates the carousel to the next item. */\nexport function CarouselNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return buttonPart({ children, ...rest }, \"carousel-next\", \"btn btn-icon\");\n}\n\n/** Renders the `combobox` part of the shadcn-compatible catalog primitives. */\nexport function Combobox(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox\" });\n}\n\n/** Styling-only combobox input; consumers supplying behavior also own its complete ARIA contract. */\nexport function ComboboxInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"combobox-input\",\n });\n\n return <input {...finalProps} />;\n}\n\n/** Renders the `combobox-list` part of the shadcn-compatible catalog primitives. */\nexport function ComboboxList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-list\" });\n}\n\n/** Renders the `combobox-option` part of the shadcn-compatible catalog primitives. */\nexport function ComboboxOption(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"combobox-option\" });\n}\n\n/** Renders the `command` part of the shadcn-compatible catalog primitives. */\nexport function Command(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command\" });\n}\n\n/** Renders the `command-dialog` part of the shadcn-compatible catalog primitives. */\nexport function CommandDialog(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-dialog\" });\n}\n\n/** Renders the command palette's search `<input>`. */\nexport function CommandInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"command-input\",\n });\n\n return <input {...finalProps} />;\n}\n\n/** Renders the `command-header` part of the shadcn-compatible catalog primitives. */\nexport function CommandHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-header\" });\n}\n\n/** Renders the `command-list` part of the shadcn-compatible catalog primitives. */\nexport function CommandList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-list\" });\n}\n\n/** Renders the `command-empty` part of the shadcn-compatible catalog primitives. */\nexport function CommandEmpty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-empty\" });\n}\n\n/** Renders the `command-group` part of the shadcn-compatible catalog primitives. */\nexport function CommandGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group\", role: \"group\" });\n}\n\n/** Renders the `command-group-heading` part of the shadcn-compatible catalog primitives. */\nexport function CommandGroupHeading(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-group-heading\", element: \"div\" });\n}\n\n/** Renders a selectable command list entry, exposing `active`/`disabled`/`selected` as ARIA and data attributes. */\nexport function CommandItem(\n props: CatalogComponentProps & { active?: boolean; disabled?: boolean; selected?: boolean },\n): JSX.Element {\n const { active, disabled, selected, ...rest } = props;\n return catalogPart(\n {\n \"aria-disabled\": disabled ? \"true\" : undefined,\n \"data-disabled\": disabled ? \"\" : undefined,\n \"data-selected\": selected || active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"command-item\" },\n );\n}\n\n/** Renders the `command-separator` part of the shadcn-compatible catalog primitives. */\nexport function CommandSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-separator\", element: \"div\", role: \"separator\" });\n}\n\n/** Renders the `command-shortcut` part of the shadcn-compatible catalog primitives. */\nexport function CommandShortcut(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"command-shortcut\", element: \"span\" });\n}\n\n/**\n * Styling-only container for the `data-table` catalog slot. It does not sort, filter, select, or paginate data.\n * Compose semantic `Table`/`VirtualTable` primitives with application-owned data state for those behaviors.\n */\nexport function DataTable(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"data-table\" });\n}\n\n/** Renders the `date-picker` part of the shadcn-compatible catalog primitives. */\nexport function DatePicker(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"date-picker\" });\n}\n\n/** Renders the date picker's `<input type=\"date\">` by default. */\nexport function DatePickerInput(props: CatalogComponentProps): JSX.Element {\n const { ref, class: className, type = \"date\", ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"date-picker-input\",\n });\n\n return <input type={type as string} {...finalProps} />;\n}\n\n/** Sets the `dir` attribute (defaulting to `\"ltr\"`) on its wrapping element for RTL/LTR scoping. */\nexport function Direction(props: CatalogComponentProps & { dir?: \"ltr\" | \"rtl\" }): JSX.Element {\n const { dir = \"ltr\", ...rest } = props;\n return catalogPart({ dir, ...rest }, { slot: \"direction\" });\n}\n\n/** Renders the `empty` part of the shadcn-compatible catalog primitives. */\nexport function Empty(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty\" });\n}\n\n/** Renders the `empty-header` part of the shadcn-compatible catalog primitives. */\nexport function EmptyHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-header\" });\n}\n\n/** Renders the `empty-title` part of the shadcn-compatible catalog primitives. */\nexport function EmptyTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-title\", element: \"h3\" });\n}\n\n/** Renders the `empty-description` part of the shadcn-compatible catalog primitives. */\nexport function EmptyDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-description\", element: \"p\" });\n}\n\n/** Renders the `empty-content` part of the shadcn-compatible catalog primitives. */\nexport function EmptyContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-content\" });\n}\n\n/** Renders the `empty-media` part of the shadcn-compatible catalog primitives. */\nexport function EmptyMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"empty-media\" });\n}\n\n/** Renders the `field-group` part of the shadcn-compatible catalog primitives. */\nexport function FieldGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-group\" });\n}\n\n/** Renders the `field-set` part of the shadcn-compatible catalog primitives. */\nexport function FieldSet(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-set\", element: \"fieldset\" });\n}\n\n/** Renders the `field-legend` part of the shadcn-compatible catalog primitives. */\nexport function FieldLegend(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-legend\", element: \"legend\" });\n}\n\n/** Renders the `field-label` part of the shadcn-compatible catalog primitives. */\nexport function FieldLabel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-label\", element: \"label\", className: \"label\" });\n}\n\n/** Renders the `field-description` part of the shadcn-compatible catalog primitives. */\nexport function FieldDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-description\", element: \"p\", className: \"field-hint\" });\n}\n\n/** Renders the `field-content` part of the shadcn-compatible catalog primitives. */\nexport function FieldContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-content\" });\n}\n\n/** Renders the `field-title` part of the shadcn-compatible catalog primitives. */\nexport function FieldTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-title\", element: \"div\" });\n}\n\n/** Renders the `field-separator` part of the shadcn-compatible catalog primitives. */\nexport function FieldSeparator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"field-separator\", role: \"separator\" });\n}\n\n/** Renders the `input-otp` part of the shadcn-compatible catalog primitives. */\nexport function InputOTP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp\", role: \"group\" });\n}\n\n/** Renders the `input-otp-group` part of the shadcn-compatible catalog primitives. */\nexport function InputOTPGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-group\", role: \"group\" });\n}\n\n/** Renders the `input-otp-slot` part of the shadcn-compatible catalog primitives. */\nexport function InputOTPSlot(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"input-otp-slot\", element: \"span\" });\n}\n\n/** Renders the visual separator between InputOTP groups (defaults to `\"-\"`). */\nexport function InputOTPSeparator(props: CatalogComponentProps): JSX.Element {\n const { children = \"-\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"input-otp-separator\",\n element: \"span\",\n },\n );\n}\n\n/** Renders a generic list item part, exposing `active`/`size`/`variant` as data attributes. */\nexport function Item(\n props: CatalogComponentProps & {\n active?: boolean;\n size?: \"default\" | \"sm\" | \"xs\";\n variant?: \"default\" | \"outline\" | \"muted\";\n },\n): JSX.Element {\n const { active, size, variant, ...rest } = props;\n return catalogPart(\n {\n \"data-active\": active ? \"true\" : undefined,\n \"data-size\": size && size !== \"default\" ? size : undefined,\n \"data-variant\": variant && variant !== \"default\" ? variant : undefined,\n ...rest,\n },\n { slot: \"item\" },\n );\n}\n\n/** Renders the `item-group` part of the shadcn-compatible catalog primitives. */\nexport function ItemGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-group\" });\n}\n\n/** Renders the `item-header` part of the shadcn-compatible catalog primitives. */\nexport function ItemHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-header\" });\n}\n\n/** Renders the `item-media` part of the shadcn-compatible catalog primitives. */\nexport function ItemMedia(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-media\" });\n}\n\n/** Renders the `item-content` part of the shadcn-compatible catalog primitives. */\nexport function ItemContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-content\" });\n}\n\n/** Renders the `item-title` part of the shadcn-compatible catalog primitives. */\nexport function ItemTitle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-title\" });\n}\n\n/** Renders the `item-description` part of the shadcn-compatible catalog primitives. */\nexport function ItemDescription(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-description\" });\n}\n\n/** Renders the `item-actions` part of the shadcn-compatible catalog primitives. */\nexport function ItemActions(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-actions\" });\n}\n\n/** Renders the `item-footer` part of the shadcn-compatible catalog primitives. */\nexport function ItemFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"item-footer\" });\n}\n\n/** Renders the `kbd` part of the shadcn-compatible catalog primitives. */\nexport function Kbd(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"kbd\", element: \"kbd\" });\n}\n\n/** Renders a styled native `<select>` element. */\nexport function NativeSelect(props: CatalogComponentProps): JSX.Element {\n const { children, ref, class: className, ...rest } = props;\n const finalProps = mergeProps(rest, {\n ref,\n class: classes(\"input\", className),\n \"data-slot\": \"native-select\",\n });\n\n return <select {...finalProps}>{children}</select>;\n}\n\n/** Renders the `navigation-menu` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenu(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu\", element: \"nav\" });\n}\n\n/** Renders the `navigation-menu-list` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-list\", element: \"ul\" });\n}\n\n/** Renders the `navigation-menu-item` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-item\", element: \"li\" });\n}\n\n/** Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"navigation-menu-trigger\", \"nav-item\");\n}\n\n/** Renders the `navigation-menu-content` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-content\" });\n}\n\n/** Renders the `navigation-menu-link` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuLink(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-link\", element: \"a\" });\n}\n\n/** Renders the `navigation-menu-viewport` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuViewport(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-viewport\" });\n}\n\n/** Renders the `navigation-menu-indicator` part of the shadcn-compatible catalog primitives. */\nexport function NavigationMenuIndicator(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"navigation-menu-indicator\" });\n}\n\n/** Renders the `pagination` part of the shadcn-compatible catalog primitives. */\nexport function Pagination(props: CatalogComponentProps): JSX.Element {\n return catalogPart(\n { \"aria-label\": \"Pagination\", ...props },\n {\n slot: \"pagination\",\n element: \"nav\",\n role: \"navigation\",\n },\n );\n}\n\n/** Renders the `pagination-content` part of the shadcn-compatible catalog primitives. */\nexport function PaginationContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-content\", element: \"ul\" });\n}\n\n/** Renders the `pagination-item` part of the shadcn-compatible catalog primitives. */\nexport function PaginationItem(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"pagination-item\", element: \"li\" });\n}\n\n/** Renders a pagination page link, marking it `aria-current=\"page\"` when `active`. */\nexport function PaginationLink(props: CatalogComponentProps & { active?: boolean }): JSX.Element {\n const { active, ...rest } = props;\n return catalogPart(\n {\n \"aria-current\": active ? \"page\" : undefined,\n \"data-active\": active ? \"true\" : undefined,\n ...rest,\n },\n { slot: \"pagination-link\", element: \"a\" },\n );\n}\n\n/** Pagination link that moves to the previous page. */\nexport function PaginationPrevious(props: CatalogComponentProps): JSX.Element {\n const { children = \"Previous\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-previous\", element: \"a\" });\n}\n\n/** Pagination link that moves to the next page. */\nexport function PaginationNext(props: CatalogComponentProps): JSX.Element {\n const { children = \"Next\", ...rest } = props;\n return catalogPart({ children, ...rest }, { slot: \"pagination-next\", element: \"a\" });\n}\n\n/** Renders a non-interactive ellipsis marker between pagination links. */\nexport function PaginationEllipsis(props: CatalogComponentProps): JSX.Element {\n const { children = \"...\", ...rest } = props;\n return catalogPart(\n { \"aria-hidden\": \"true\", children, ...rest },\n {\n slot: \"pagination-ellipsis\",\n element: \"span\",\n },\n );\n}\n\n/**\n * Styling-only container for the `resizable-panel-group` catalog slot. It does not implement resizing.\n * Consumers own pointer, keyboard, sizing, and ARIA state until a behavior primitive exists in `@askrjs/ui`.\n */\nexport function ResizablePanelGroup(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel-group\" });\n}\n\n/** Styling-only `resizable-panel` slot; it does not implement resizing or manage panel dimensions. */\nexport function ResizablePanel(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-panel\" });\n}\n\n/** Styling-only separator slot; it does not implement resizing, pointer dragging, or keyboard controls. */\nexport function ResizableHandle(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"resizable-handle\" });\n}\n\n/** Renders the `tabs-list` part of the shadcn-compatible catalog primitives. */\nexport function TabsList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-list\" });\n}\n\n/** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */\nexport function TabsTrigger(props: CatalogComponentProps): JSX.Element {\n return buttonPart(props, \"tabs-trigger\", \"tab\");\n}\n\n/** Renders the `tabs-content` part of the shadcn-compatible catalog primitives. */\nexport function TabsContent(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"tabs-content\" });\n}\n\n/** Sheet variant of the dialog content part; defaults to sliding in from the right. */\nexport function SheetContent(\n props: CatalogComponentProps & {\n side?: \"top\" | \"right\" | \"bottom\" | \"left\";\n },\n): JSX.Element {\n const { side = \"right\", ...rest } = props;\n return <CatalogDialogContent {...rest} data-side={side} data-slot=\"sheet-content\" />;\n}\n\n/** Renders the `sheet-header` part of the shadcn-compatible catalog primitives. */\nexport function SheetHeader(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-header\" });\n}\n\n/** Renders the `sheet-footer` part of the shadcn-compatible catalog primitives. */\nexport function SheetFooter(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sheet-footer\" });\n}\n\n/** Sheet variant of the dialog title part. */\nexport function SheetTitle(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogTitle {...props} data-slot=\"sheet-title\" />;\n}\n\n/** Sheet variant of the dialog description part. */\nexport function SheetDescription(props: CatalogComponentProps): JSX.Element {\n return <CatalogDialogDescription {...props} data-slot=\"sheet-description\" />;\n}\n\n/** Renders the `sonner` part of the shadcn-compatible catalog primitives. */\nexport function Toaster(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"sonner\" });\n}\n\n/** Alias of {@link Toaster} kept for shadcn/sonner API compatibility. */\nexport const Sonner = Toaster;\n\n/** Renders the `typography` part of the shadcn-compatible catalog primitives. */\nexport function Typography(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography\" });\n}\n\n/** Renders the `typography-h1` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH1(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h1\", element: \"h1\" });\n}\n\n/** Renders the `typography-h2` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH2(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h2\", element: \"h2\" });\n}\n\n/** Renders the `typography-h3` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH3(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h3\", element: \"h3\" });\n}\n\n/** Renders the `typography-h4` part of the shadcn-compatible catalog primitives. */\nexport function TypographyH4(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-h4\", element: \"h4\" });\n}\n\n/** Renders the `typography-p` part of the shadcn-compatible catalog primitives. */\nexport function TypographyP(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-p\", element: \"p\" });\n}\n\n/** Renders the `typography-blockquote` part of the shadcn-compatible catalog primitives. */\nexport function TypographyBlockquote(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-blockquote\", element: \"blockquote\" });\n}\n\n/** Renders the `typography-list` part of the shadcn-compatible catalog primitives. */\nexport function TypographyList(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-list\", element: \"ul\" });\n}\n\n/** Renders the `typography-lead` part of the shadcn-compatible catalog primitives. */\nexport function TypographyLead(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-lead\", element: \"p\" });\n}\n\n/** Renders the `typography-muted` part of the shadcn-compatible catalog primitives. */\nexport function TypographyMuted(props: CatalogComponentProps): JSX.Element {\n return catalogPart(props, { slot: \"typography-muted\", element: \"p\" });\n}\n"],"mappings":";;;;;;;AAUA,MAAM,uBAAuB;AAC7B,MAAM,qBAAqB;AAC3B,MAAM,2BAA2B;AAyBjC,SAAS,YAAY,OAA8B,UAAwC;CACzF,MAAM,EAAE,IAAI,SAAS,UAAU,OAAO,WAAW,KAAK,GAAG,SAAS;CAClE,MAAM,UAAW,MAAM,SAAS,WAAW;CAC3C,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,SAAS,WAAW,SAAS;EAC5C,aAAa,SAAS;EACtB,MAAM,SAAS;CACjB,CAAC;CAED,IAAI,SACF,OAAO,oBAAC,MAAD;EAAM,SAAA;EAAQ,GAAI;EAAsB;CAA0B,CAAA;CAG3E,OAAO,oBAAC,SAAD;EAAS,GAAI;EAAa;CAAkB,CAAA;AACrD;AAEA,SAAS,WAAW,OAA8B,MAAc,WAAiC;CAC/F,MAAM,EAAE,IAAI,SAAS,UAAU,KAAK,OAAO,WAAW,OAAO,UAAU,GAAG,SAAS;CAEnF,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,WAAW,SAAS;EACnC,aAAa;CACf,CAAC;CAED,IAAI,SACF,OAAO,oBAAC,MAAD;EAAM,SAAA;EAAQ,GAAI;EAAsB;CAA0B,CAAA;CAG3E,OACE,oBAAC,UAAD;EAAc;EAAuC,GAAI;EACtD;CACK,CAAA;AAEZ;AAkEA,SAAS,qBAAqB,OAAgC;CAC5D,IAAI,UAAU,QAAQ,OAAO;CAC7B,IAAI,UAAU,KAAK,OAAO;CAC1B,IAAI,UAAU,KAAK,OAAO;CAC1B,IAAI,UAAU,KAAK,OAAO;CAC1B,IAAI,UAAU,KAAK,OAAO;CAC1B,IAAI,UAAU,KAAK,OAAO;CAC1B,IAAI,UAAU,KAAK,OAAO;CAC1B,IAAI,UAAU,KAAK,OAAO;CAC1B,OAAO;AACT;AAEA,SAAS,+BACP,OAC8C;CAC9C,IAAI,UAAU,KAAA,GAAW,OAAO,KAAA;CAChC,IAAI,OAAO,UAAU,UACnB,OAAO,OAAO,YACZ,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,WAAW,CACjD,YACA,qBAAqB,KAAoB,CAC3C,CAAC,CACH;CAEF,OAAO,qBAAqB,KAAK;AACnC;AAEA,SAAS,oBAAoB,OAA4B;CACvD,IAAI,UAAU,QAAQ,OAAO;CAC7B,IAAI,UAAU,UAAU,OAAO;CAC/B,OAAO;AACT;AAEA,SAAS,8BACP,OAC2C;CAC3C,IAAI,UAAU,KAAA,GAAW,OAAO,KAAA;CAChC,IAAI,OAAO,UAAU,UACnB,OAAO,OAAO,YACZ,OAAO,QAAQ,KAAK,CAAC,CAAC,KAAK,CAAC,YAAY,UAAU,CAChD,YACA,oBAAoB,IAAkB,CACxC,CAAC,CACH;CAEF,OAAO,oBAAoB,KAAK;AAClC;AAEA,MAAM,sCAAsB,IAAI,IAAY;AAE5C,SAAS,qBAAqB,WAAmB,aAAqB;CACpE,MAAM,kBAAmB,YAAyD;CAClF,MAAM,kBACJ,WACA,SAAS,KAAK;CAEhB,IAAI,iBAAiB,QAAQ,QAAQ,oBAAoB,eAAe;CACxE,IAAI,oBAAoB,IAAI,SAAS,GAAG;CACxC,oBAAoB,IAAI,SAAS;CACjC,QAAQ,KAAK,iBAAiB,UAAU,kBAAkB,aAAa;AACzE;AAEA,SAAS,YACP,WACA,aACA,OACA,UACa;CACb,qBAAqB,WAAW,WAAW;CAC3C,MAAM,EAAE,KAAK,GAAG,SAAS,MAAM,GAAG,SAAS;CAG3C,OACE,oBAACA,OAAD;EACE,GAAI;EACJ,GAAI;EACJ,KAAK,+BAA+B,GAAG;EACvC,SAAS,+BAA+B,WAAW,CAAC;EACpD,MAAM,8BAA8B,IAAI;CACzC,CAAA;AAEL;AAIA,SAAgB,IAAI,OAAuC;CACzD,OAAO,YAAY,OAAO,uBAAuB,OAAO,CAAC,CAAC;AAC5D;AAIA,SAAgB,MAAM,OAAuC;CAC3D,OAAO,YAAY,SAAS,qCAAmC,OAAO,EAAE,WAAW,SAAS,CAAC;AAC/F;AAIA,SAAgB,OAAO,OAAuC;CAC5D,OAAO,YAAY,UAAU,kCAAgC,OAAO,EAAE,WAAW,MAAM,CAAC;AAC1F;AAIA,SAAgB,MAAM,OAA8D;CAClF,MAAM,EAAE,SAAS,UAAU,GAAG,SAAS;CAEvC,OAAO,YAAY,SAAS,8CAA8C,MAAM,CAAC,CAAC;AACpF;AAIA,SAAgB,SAAS,OAAuC;CAC9D,OAAO,YAAY,YAAY,2BAAyB,OAAO,CAAC,CAAC;AACnE;AAIA,SAAgB,UAAU,OAAuC;CAC/D,OAAO,YAAY,aAAa,iCAA+B,OAAO;EACpE,IAAI;EACJ,MAAM;CACR,CAAC;AACH;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAe,SAAS;EAAM,WAAW;CAAc,CAAC;AAC5F;;AAGA,SAAgB,iBAAiB,OAA2C;CAC1E,OAAO,YAAY,OAAO;EACxB,MAAM;EACN,SAAS;EACT,WAAW;CACb,CAAC;AACH;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YACL;EAAE,cAAc;EAAc,GAAG;CAAM,GACvC;EACE,MAAM;EACN,SAAS;EACT,MAAM;CACR,CACF;AACF;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,SAAS;CAAK,CAAC;AACtE;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,SAAS;CAAK,CAAC;AACtE;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,SAAS;CAAI,CAAC;AACrE;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YACL;EAAE,gBAAgB;EAAQ,GAAG;CAAM,GACnC;EACE,MAAM;EACN,SAAS;CACX,CACF;AACF;;AAGA,SAAgB,oBAAoB,OAA2C;CAC7E,MAAM,EAAE,WAAW,KAAK,GAAG,SAAS;CACpC,OAAO,YACL;EAAE,eAAe;EAAQ;EAAU,GAAG;CAAK,GAC3C;EACE,MAAM;EACN,SAAS;CACX,CACF;AACF;;AAGA,SAAgB,mBAAmB,OAA2C;CAC5E,MAAM,EAAE,WAAW,OAAO,GAAG,SAAS;CACtC,OAAO,YACL;EAAE,eAAe;EAAQ;EAAU,GAAG;CAAK,GAC3C;EACE,MAAM;EACN,SAAS;CACX,CACF;AACF;;AAGA,SAAgB,SAAS,OAA2C;CAClE,OAAO,YAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD;;AAGA,SAAgB,gBAAgB,OAA2C;CACzE,OAAO,YAAY,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACxD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,uBAAuB,OAA2C;CAChF,MAAM,EAAE,WAAW,kBAAkB,GAAG,SAAS;CACjD,OAAO,WACL;EAAE,cAAc;EAAkB;EAAU,GAAG;CAAK,GACpD,qBACA,wBACF;AACF;;AAGA,SAAgB,mBAAmB,OAA2C;CAC5E,MAAM,EAAE,WAAW,cAAc,GAAG,SAAS;CAC7C,OAAO,WACL;EAAE,cAAc;EAAc;EAAU,GAAG;CAAK,GAChD,iBACA,wBACF;AACF;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,YACd,OASa;CACb,MAAM,EAAE,UAAU,SAAS,UAAU,aAAa,YAAY,UAAU,OAAO,GAAG,SAAS;CAC3F,OAAO,WACL;EACE;EACA,iBAAiB,WAAW,SAAS,KAAA;EACrC,iBAAiB,WAAW,KAAK,KAAA;EACjC,gBAAgB,UAAU,SAAS,KAAA;EACnC,kBAAkB,WAAW,SAAS,KAAA;EACtC,qBAAqB,cAAc,SAAS,KAAA;EAC5C,oBAAoB,aAAa,SAAS,KAAA;EAC1C,iBAAiB,WAAW,SAAS,KAAA;EACrC,cAAc,QAAQ,SAAS,KAAA;EAC/B,GAAG;CACL,GACA,cACF;AACF;;AAGA,SAAgB,SAAS,OAA2C;CAClE,OAAO,YAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD;;AAGA,SAAgB,gBAAgB,OAA2C;CACzE,OAAO,YAAY,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACxD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,iBAAiB,OAA2C;CAC1E,MAAM,EAAE,WAAW,YAAY,GAAG,SAAS;CAC3C,OAAO,WAAW;EAAE;EAAU,GAAG;CAAK,GAAG,qBAAqB,cAAc;AAC9E;;AAGA,SAAgB,aAAa,OAA2C;CACtE,MAAM,EAAE,WAAW,QAAQ,GAAG,SAAS;CACvC,OAAO,WAAW;EAAE;EAAU,GAAG;CAAK,GAAG,iBAAiB,cAAc;AAC1E;;AAGA,SAAgB,SAAS,OAA2C;CAClE,OAAO,YAAY,OAAO,EAAE,MAAM,WAAW,CAAC;AAChD;;AAGA,SAAgB,cAAc,OAA2C;CACvE,MAAM,EAAE,KAAK,OAAO,WAAW,GAAG,SAAS;CAC3C,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,SAAS,SAAS;EACjC,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,SAAD,EAAO,GAAI,WAAa,CAAA;AACjC;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD;;AAGA,SAAgB,QAAQ,OAA2C;CACjE,OAAO,YAAY,OAAO,EAAE,MAAM,UAAU,CAAC;AAC/C;;AAGA,SAAgB,cAAc,OAA2C;CACvE,OAAO,YAAY,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,MAAM,EAAE,KAAK,OAAO,WAAW,GAAG,SAAS;CAC3C,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,SAAS,SAAS;EACjC,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,SAAD,EAAO,GAAI,WAAa,CAAA;AACjC;;AAGA,SAAgB,cAAc,OAA2C;CACvE,OAAO,YAAY,OAAO,EAAE,MAAM,iBAAiB,CAAC;AACtD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAiB,MAAM;CAAQ,CAAC;AACpE;;AAGA,SAAgB,oBAAoB,OAA2C;CAC7E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAyB,SAAS;CAAM,CAAC;AAC7E;;AAGA,SAAgB,YACd,OACa;CACb,MAAM,EAAE,QAAQ,UAAU,UAAU,GAAG,SAAS;CAChD,OAAO,YACL;EACE,iBAAiB,WAAW,SAAS,KAAA;EACrC,iBAAiB,WAAW,KAAK,KAAA;EACjC,iBAAiB,YAAY,SAAS,SAAS,KAAA;EAC/C,GAAG;CACL,GACA,EAAE,MAAM,eAAe,CACzB;AACF;;AAGA,SAAgB,iBAAiB,OAA2C;CAC1E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAqB,SAAS;EAAO,MAAM;CAAY,CAAC;AAC5F;;AAGA,SAAgB,gBAAgB,OAA2C;CACzE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAoB,SAAS;CAAO,CAAC;AACzE;;;;;AAMA,SAAgB,UAAU,OAA2C;CACnE,OAAO,YAAY,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD;;AAGA,SAAgB,gBAAgB,OAA2C;CACzE,MAAM,EAAE,KAAK,OAAO,WAAW,OAAO,QAAQ,GAAG,SAAS;CAC1D,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,SAAS,SAAS;EACjC,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,SAAD;EAAa;EAAgB,GAAI;CAAa,CAAA;AACvD;;AAGA,SAAgB,UAAU,OAAqE;CAC7F,MAAM,EAAE,MAAM,OAAO,GAAG,SAAS;CACjC,OAAO,YAAY;EAAE;EAAK,GAAG;CAAK,GAAG,EAAE,MAAM,YAAY,CAAC;AAC5D;;AAGA,SAAgB,MAAM,OAA2C;CAC/D,OAAO,YAAY,OAAO,EAAE,MAAM,QAAQ,CAAC;AAC7C;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAe,SAAS;CAAK,CAAC;AAClE;;AAGA,SAAgB,iBAAiB,OAA2C;CAC1E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAqB,SAAS;CAAI,CAAC;AACvE;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD;;AAGA,SAAgB,SAAS,OAA2C;CAClE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAa,SAAS;CAAW,CAAC;AACtE;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAgB,SAAS;CAAS,CAAC;AACvE;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAe,SAAS;EAAS,WAAW;CAAQ,CAAC;AACzF;;AAGA,SAAgB,iBAAiB,OAA2C;CAC1E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAqB,SAAS;EAAK,WAAW;CAAa,CAAC;AAChG;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO,EAAE,MAAM,gBAAgB,CAAC;AACrD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAe,SAAS;CAAM,CAAC;AACnE;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,MAAM;CAAY,CAAC;AAC1E;;AAGA,SAAgB,SAAS,OAA2C;CAClE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAa,MAAM;CAAQ,CAAC;AAChE;;AAGA,SAAgB,cAAc,OAA2C;CACvE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,MAAM;CAAQ,CAAC;AACtE;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAkB,SAAS;CAAO,CAAC;AACvE;;AAGA,SAAgB,kBAAkB,OAA2C;CAC3E,MAAM,EAAE,WAAW,KAAK,GAAG,SAAS;CACpC,OAAO,YACL;EAAE,eAAe;EAAQ;EAAU,GAAG;CAAK,GAC3C;EACE,MAAM;EACN,SAAS;CACX,CACF;AACF;;AAGA,SAAgB,KACd,OAKa;CACb,MAAM,EAAE,QAAQ,MAAM,SAAS,GAAG,SAAS;CAC3C,OAAO,YACL;EACE,eAAe,SAAS,SAAS,KAAA;EACjC,aAAa,QAAQ,SAAS,YAAY,OAAO,KAAA;EACjD,gBAAgB,WAAW,YAAY,YAAY,UAAU,KAAA;EAC7D,GAAG;CACL,GACA,EAAE,MAAM,OAAO,CACjB;AACF;;AAGA,SAAgB,UAAU,OAA2C;CACnE,OAAO,YAAY,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD;;AAGA,SAAgB,UAAU,OAA2C;CACnE,OAAO,YAAY,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,UAAU,OAA2C;CACnE,OAAO,YAAY,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD;;AAGA,SAAgB,gBAAgB,OAA2C;CACzE,OAAO,YAAY,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACxD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO,EAAE,MAAM,cAAc,CAAC;AACnD;;AAGA,SAAgB,IAAI,OAA2C;CAC7D,OAAO,YAAY,OAAO;EAAE,MAAM;EAAO,SAAS;CAAM,CAAC;AAC3D;;AAGA,SAAgB,aAAa,OAA2C;CACtE,MAAM,EAAE,UAAU,KAAK,OAAO,WAAW,GAAG,SAAS;CACrD,MAAM,aAAa,WAAW,MAAM;EAClC;EACA,OAAO,QAAQ,SAAS,SAAS;EACjC,aAAa;CACf,CAAC;CAED,OAAO,oBAAC,UAAD;EAAQ,GAAI;EAAa;CAAiB,CAAA;AACnD;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,SAAS;CAAM,CAAC;AACvE;;AAGA,SAAgB,mBAAmB,OAA2C;CAC5E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAwB,SAAS;CAAK,CAAC;AAC3E;;AAGA,SAAgB,mBAAmB,OAA2C;CAC5E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAwB,SAAS;CAAK,CAAC;AAC3E;;AAGA,SAAgB,sBAAsB,OAA2C;CAC/E,OAAO,WAAW,OAAO,2BAA2B,UAAU;AAChE;;AAGA,SAAgB,sBAAsB,OAA2C;CAC/E,OAAO,YAAY,OAAO,EAAE,MAAM,0BAA0B,CAAC;AAC/D;;AAGA,SAAgB,mBAAmB,OAA2C;CAC5E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAwB,SAAS;CAAI,CAAC;AAC1E;;AAGA,SAAgB,uBAAuB,OAA2C;CAChF,OAAO,YAAY,OAAO,EAAE,MAAM,2BAA2B,CAAC;AAChE;;AAGA,SAAgB,wBAAwB,OAA2C;CACjF,OAAO,YAAY,OAAO,EAAE,MAAM,4BAA4B,CAAC;AACjE;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,YACL;EAAE,cAAc;EAAc,GAAG;CAAM,GACvC;EACE,MAAM;EACN,SAAS;EACT,MAAM;CACR,CACF;AACF;;AAGA,SAAgB,kBAAkB,OAA2C;CAC3E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAsB,SAAS;CAAK,CAAC;AACzE;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,SAAS;CAAK,CAAC;AACtE;;AAGA,SAAgB,eAAe,OAAkE;CAC/F,MAAM,EAAE,QAAQ,GAAG,SAAS;CAC5B,OAAO,YACL;EACE,gBAAgB,SAAS,SAAS,KAAA;EAClC,eAAe,SAAS,SAAS,KAAA;EACjC,GAAG;CACL,GACA;EAAE,MAAM;EAAmB,SAAS;CAAI,CAC1C;AACF;;AAGA,SAAgB,mBAAmB,OAA2C;CAC5E,MAAM,EAAE,WAAW,YAAY,GAAG,SAAS;CAC3C,OAAO,YAAY;EAAE;EAAU,GAAG;CAAK,GAAG;EAAE,MAAM;EAAuB,SAAS;CAAI,CAAC;AACzF;;AAGA,SAAgB,eAAe,OAA2C;CACxE,MAAM,EAAE,WAAW,QAAQ,GAAG,SAAS;CACvC,OAAO,YAAY;EAAE;EAAU,GAAG;CAAK,GAAG;EAAE,MAAM;EAAmB,SAAS;CAAI,CAAC;AACrF;;AAGA,SAAgB,mBAAmB,OAA2C;CAC5E,MAAM,EAAE,WAAW,OAAO,GAAG,SAAS;CACtC,OAAO,YACL;EAAE,eAAe;EAAQ;EAAU,GAAG;CAAK,GAC3C;EACE,MAAM;EACN,SAAS;CACX,CACF;AACF;;;;;AAMA,SAAgB,oBAAoB,OAA2C;CAC7E,OAAO,YAAY,OAAO,EAAE,MAAM,wBAAwB,CAAC;AAC7D;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO,EAAE,MAAM,kBAAkB,CAAC;AACvD;;AAGA,SAAgB,gBAAgB,OAA2C;CACzE,OAAO,YAAY,OAAO,EAAE,MAAM,mBAAmB,CAAC;AACxD;;AAGA,SAAgB,SAAS,OAA2C;CAClE,OAAO,YAAY,OAAO,EAAE,MAAM,YAAY,CAAC;AACjD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,WAAW,OAAO,gBAAgB,KAAK;AAChD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,aACd,OAGa;CACb,MAAM,EAAE,OAAO,SAAS,GAAG,SAAS;CACpC,OAAO,oBAAC,sBAAD;EAAsB,GAAI;EAAM,aAAW;EAAM,aAAU;CAAiB,CAAA;AACrF;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO,EAAE,MAAM,eAAe,CAAC;AACpD;;AAGA,SAAgB,WAAW,OAA2C;CACpE,OAAO,oBAAC,oBAAD;EAAoB,GAAI;EAAO,aAAU;CAAe,CAAA;AACjE;;AAGA,SAAgB,iBAAiB,OAA2C;CAC1E,OAAO,oBAAC,0BAAD;EAA0B,GAAI;EAAO,aAAU;CAAqB,CAAA;AAC7E;;AAGA,SAAgB,QAAQ,OAA2C;CACjE,OAAO,YAAY,OAAO,EAAE,MAAM,SAAS,CAAC;AAC9C;;AAGA,MAAa,SAAS;;AAGtB,SAAgB,WAAW,OAA2C;CACpE,OAAO,YAAY,OAAO,EAAE,MAAM,aAAa,CAAC;AAClD;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAiB,SAAS;CAAK,CAAC;AACpE;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAiB,SAAS;CAAK,CAAC;AACpE;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAiB,SAAS;CAAK,CAAC;AACpE;;AAGA,SAAgB,aAAa,OAA2C;CACtE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAiB,SAAS;CAAK,CAAC;AACpE;;AAGA,SAAgB,YAAY,OAA2C;CACrE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAgB,SAAS;CAAI,CAAC;AAClE;;AAGA,SAAgB,qBAAqB,OAA2C;CAC9E,OAAO,YAAY,OAAO;EAAE,MAAM;EAAyB,SAAS;CAAa,CAAC;AACpF;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,SAAS;CAAK,CAAC;AACtE;;AAGA,SAAgB,eAAe,OAA2C;CACxE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAmB,SAAS;CAAI,CAAC;AACrE;;AAGA,SAAgB,gBAAgB,OAA2C;CACzE,OAAO,YAAY,OAAO;EAAE,MAAM;EAAoB,SAAS;CAAI,CAAC;AACtE"}