@reopt-ai/opt-ui 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (61) hide show
  1. package/COMPONENT_CATALOG.md +222 -34
  2. package/README.md +70 -6
  3. package/dist/core/index.cjs +170 -155
  4. package/dist/core/index.d.cts +3 -2
  5. package/dist/core/index.d.ts +3 -2
  6. package/dist/core/index.js +3 -3
  7. package/dist/docs/02-components/01-core.md +223 -18
  8. package/dist/docs/02-components/02-visuals.md +1 -1
  9. package/dist/docs/02-components/03-shells.md +17 -16
  10. package/dist/docs/02-components/04-surfaces.md +1 -1
  11. package/dist/docs/02-components/index.md +4 -4
  12. package/dist/{field-sidebar-CB8vjvUM.d.ts → field-sidebar-B5vk3luQ.d.cts} +30 -3
  13. package/dist/{field-sidebar-BTZCBviA.d.cts.map → field-sidebar-B5vk3luQ.d.cts.map} +1 -1
  14. package/dist/{field-sidebar-Cs-J-5VE.js → field-sidebar-B7QkWvMG.js} +52 -17
  15. package/dist/{field-sidebar-Cs-J-5VE.js.map → field-sidebar-B7QkWvMG.js.map} +1 -1
  16. package/dist/{field-sidebar-BTZCBviA.d.cts → field-sidebar-Dk9gJGA_.d.ts} +30 -3
  17. package/dist/{field-sidebar-CB8vjvUM.d.ts.map → field-sidebar-Dk9gJGA_.d.ts.map} +1 -1
  18. package/dist/{field-sidebar-CzIQX70-.cjs → field-sidebar-mFHemxBz.cjs} +328 -293
  19. package/dist/{types-D0FlcYnM.d.ts → field-token-CSOrU5gl.d.cts} +66 -2
  20. package/dist/field-token-CSOrU5gl.d.cts.map +1 -0
  21. package/dist/{types-D0FlcYnM.d.cts → field-token-CSOrU5gl.d.ts} +66 -2
  22. package/dist/field-token-CSOrU5gl.d.ts.map +1 -0
  23. package/dist/{pagination-DWbvACuN.js → highlight-C2sfnJN8.js} +263 -11
  24. package/dist/highlight-C2sfnJN8.js.map +1 -0
  25. package/dist/{pagination-DjfxBcjX.cjs → highlight-CGcrYGMC.cjs} +284 -8
  26. package/dist/id-registry.cjs +98 -2
  27. package/dist/id-registry.d.cts.map +1 -1
  28. package/dist/id-registry.d.ts.map +1 -1
  29. package/dist/id-registry.js +98 -2
  30. package/dist/id-registry.js.map +1 -1
  31. package/dist/id-registry.json +202 -4
  32. package/dist/index.cjs +664 -643
  33. package/dist/index.d.cts +5 -4
  34. package/dist/index.d.cts.map +1 -1
  35. package/dist/index.d.ts +5 -4
  36. package/dist/index.d.ts.map +1 -1
  37. package/dist/index.js +10 -4
  38. package/dist/index.js.map +1 -1
  39. package/dist/{shader-surface-BUPZ0P-n.js → key-pad-menu-BFd79JoS.js} +855 -19
  40. package/dist/key-pad-menu-BFd79JoS.js.map +1 -0
  41. package/dist/{shader-surface-DRrcLrWf.d.cts → key-pad-menu-D8OS_VCT.d.cts} +459 -3
  42. package/dist/key-pad-menu-D8OS_VCT.d.cts.map +1 -0
  43. package/dist/{shader-surface-Fav5K9UC.cjs → key-pad-menu-DoGskWbp.cjs} +1103 -201
  44. package/dist/{shader-surface-BfTP9c1Q.d.ts → key-pad-menu-EEb6Ho5h.d.ts} +459 -3
  45. package/dist/key-pad-menu-EEb6Ho5h.d.ts.map +1 -0
  46. package/dist/meta.cjs +641 -0
  47. package/dist/meta.d.cts.map +1 -1
  48. package/dist/meta.d.ts.map +1 -1
  49. package/dist/meta.js +641 -0
  50. package/dist/meta.js.map +1 -1
  51. package/dist/shells/index.cjs +1 -1
  52. package/dist/shells/index.d.cts +1 -1
  53. package/dist/shells/index.d.ts +1 -1
  54. package/dist/shells/index.js +1 -1
  55. package/package.json +2 -2
  56. package/dist/pagination-DWbvACuN.js.map +0 -1
  57. package/dist/shader-surface-BUPZ0P-n.js.map +0 -1
  58. package/dist/shader-surface-BfTP9c1Q.d.ts.map +0 -1
  59. package/dist/shader-surface-DRrcLrWf.d.cts.map +0 -1
  60. package/dist/types-D0FlcYnM.d.cts.map +0 -1
  61. package/dist/types-D0FlcYnM.d.ts.map +0 -1
@@ -1,4 +1,5 @@
1
1
 
2
+ import { LucideIcon } from "lucide-react";
2
3
  //#region src/lib/types.d.ts
3
4
  /** Defines the command shape (data for command palettes / menus). */
4
5
  interface CommandDef {
@@ -297,5 +298,68 @@ interface ChatStylePresetDef {
297
298
  systemPrompt?: string;
298
299
  }
299
300
  //#endregion
300
- export { StatCard as A, MenuDef as C, ProjectDef as D, NavItemDef as E, TimePreset as F, ToastOptions as I, ToolbarButtonDef as L, TableColumn as M, TaskDef as N, QuickActionDef as O, TeamMemberDef as P, FormFieldDef as S, NavItem as T, ExportFormat as _, ChartMargin as a, FilterGroupDef as b, ChatMessageDef as c, CommandDef as d, DeploymentStep as f, ExportColumn as g, EnvVarDef as h, ChartDataPoint as i, TabDef as j, SelectOption as k, ChatModelDef as l, EnvGroupDef as m, BranchDef as n, ChartSeriesDef as o, DomainDef as p, ChartConfig as r, ChatConversationDef as s, ActivityDef as t, ChatStylePresetDef as u, FailureItem as v, MenuItemDef as w, FilterOption as x, FaqItem as y };
301
- //# sourceMappingURL=types-D0FlcYnM.d.ts.map
301
+ //#region src/core/field-token.d.ts
302
+ /**
303
+ * The kinds of field an analytics schema actually carries. Two fields of the
304
+ * same shape but different meaning — a `date` you group by and a `duration`
305
+ * you average — get different glyphs, because the reader is scanning for
306
+ * meaning, not for storage class.
307
+ */
308
+ type FieldDataType = "string" | "number" | "boolean" | "date" | "datetime" | "duration" | "percent" | "currency" | "enum" | "array" | "object" | "json" | "ip" | "geo" | "url" | "email" | "id" | "binary" | "aggregate" | "nested" | "unknown";
309
+ interface TokenAppearance {
310
+ icon: LucideIcon;
311
+ /** Index into the chart palette, so a token inherits the active theme. */
312
+ tone: number;
313
+ /** Fallback `title` when the caller gives none. */
314
+ name: string;
315
+ }
316
+ /**
317
+ * The glyph and palette slot each field type reads as. Exported so a product
318
+ * can render the same legend the tokens imply.
319
+ */
320
+ declare const FIELD_TYPE_TOKENS: Record<FieldDataType, TokenAppearance>;
321
+ /**
322
+ * Names a backend type as one of ours. Accepts the spellings Postgres,
323
+ * ClickHouse, DuckDB, and JSON Schema actually emit, so a caller can hand
324
+ * over a column type verbatim instead of maintaining its own table.
325
+ */
326
+ declare function resolveFieldType(raw: string | null | undefined): FieldDataType;
327
+ /** Props for the field token component. */
328
+ interface FieldTokenProps {
329
+ /** The field's type. Pass a raw backend type through `resolveFieldType`. */
330
+ type: FieldDataType;
331
+ size?: "xs" | "sm" | "md" | "lg";
332
+ /** `subtle` tints the square; `solid` fills it; `none` draws the glyph bare. */
333
+ fill?: "subtle" | "solid" | "none";
334
+ shape?: "square" | "circle";
335
+ /**
336
+ * Accessible name. Defaults to the type's own name — pass the field name
337
+ * when the token stands alone, so a reader hears "user_id, identifier"
338
+ * rather than just "identifier".
339
+ */
340
+ title?: string;
341
+ /**
342
+ * Hide the token from the accessibility tree. Use when the field's type is
343
+ * already stated in adjacent text, so it is not read twice.
344
+ */
345
+ decorative?: boolean;
346
+ className?: string;
347
+ }
348
+ /**
349
+ * FieldToken — the type of a field, as a glyph.
350
+ *
351
+ * A field list, a column header, and a property table all have to answer
352
+ * "what kind of thing is this?" before anything else, and they have to answer
353
+ * it in the width of an icon. This is that answer: one glyph per type, one
354
+ * palette slot per glyph, stable across every surface that shows fields, so a
355
+ * reader learns the vocabulary once.
356
+ *
357
+ * @example
358
+ * ```tsx
359
+ * <FieldToken type={resolveFieldType(column.dataType)} title={column.name} />
360
+ * ```
361
+ */
362
+ declare function FieldToken({ type, size, fill, shape, title, decorative, className }: FieldTokenProps): import("react").JSX.Element;
363
+ //#endregion
364
+ export { NavItem as A, TimePreset as B, FailureItem as C, FormFieldDef as D, FilterOption as E, StatCard as F, ToolbarButtonDef as H, TabDef as I, TableColumn as L, ProjectDef as M, QuickActionDef as N, MenuDef as O, SelectOption as P, TaskDef as R, ExportFormat as S, FilterGroupDef as T, ToastOptions as V, DeploymentStep as _, resolveFieldType as a, EnvVarDef as b, ChartConfig as c, ChartSeriesDef as d, ChatConversationDef as f, CommandDef as g, ChatStylePresetDef as h, FieldTokenProps as i, NavItemDef as j, MenuItemDef as k, ChartDataPoint as l, ChatModelDef as m, FieldDataType as n, ActivityDef as o, ChatMessageDef as p, FieldToken as r, BranchDef as s, FIELD_TYPE_TOKENS as t, ChartMargin as u, DomainDef as v, FaqItem as w, ExportColumn as x, EnvGroupDef as y, TeamMemberDef as z };
365
+ //# sourceMappingURL=field-token-CSOrU5gl.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-token-CSOrU5gl.d.cts","names":[],"sources":["../src/lib/types.ts","../src/core/field-token.tsx"],"mappings":";;;;UACiB;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;EACZ;;;UAIe;EACf;EACA;EACA,OAAO;;;UAIQ;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA,MAAM,MAAM;EACZ;;;UAIe;EACf;EACA;EACA,SAAS,MAAM;;;UAIA;EACf;EACA;EACA;EAWA;EACA;EACA;EACA;EACA,YAAY;EACZ;IAAY;IAAe;;;EAE3B;;EAEA;;EAEA;;EAEA;;EAEA,sBAAsB,QAAQ;;;UAMf;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA,MAAM;;;UAIS;EACf;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;;;UAMe,YAAY;EAC3B;EACA;EACA,gBAAgB,MAAM,KAAK,MAAM,MAAM;EACvC;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;UAMe;EACf;EACA;EACA;EACA;EACA;EACA,WAAW;EACX;EACA;EACA;IAAa;IAAY;IAAe;;;;UAIzB;EACf;EACA;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EAQA;EACA;EACA,OAAO;EACP;EACA,WAAW;EACX;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA,UAAU;EACV;;;UAIe;EACf;EACA;EACA;EACA,OAAO,MAAM;EACb;EACA;EACA;;;UAMe;EACf;EACA;;;KAIU;;UAGK;EACf;EACA;;;UAMe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;;;UAMI;EACf;GACC;;;UAIc;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf,QAAQ;EACR;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;UAMe;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;;;;;;;;KCnUU;UAuBF;EACR,MAAM;;EAEN;;EAEA;;;;;;cAOW,mBAAmB,OAAO,eAAe;;;;;;iBA6BtC,iBACd,iCACC;;UA2Cc;;EAEf,MAAM;EACN;;EAEA;EACA;;;;;;EAMA;;;;;EAKA;EACA;;;;;;;;;;;;;;;;iBAiBc,aACd,MACA,MACA,MACA,OACA,OACA,YACA,aACC,kCAAe,IAAA"}
@@ -1,4 +1,5 @@
1
1
 
2
+ import { LucideIcon } from "lucide-react";
2
3
  //#region src/lib/types.d.ts
3
4
  /** Defines the command shape (data for command palettes / menus). */
4
5
  interface CommandDef {
@@ -297,5 +298,68 @@ interface ChatStylePresetDef {
297
298
  systemPrompt?: string;
298
299
  }
299
300
  //#endregion
300
- export { StatCard as A, MenuDef as C, ProjectDef as D, NavItemDef as E, TimePreset as F, ToastOptions as I, ToolbarButtonDef as L, TableColumn as M, TaskDef as N, QuickActionDef as O, TeamMemberDef as P, FormFieldDef as S, NavItem as T, ExportFormat as _, ChartMargin as a, FilterGroupDef as b, ChatMessageDef as c, CommandDef as d, DeploymentStep as f, ExportColumn as g, EnvVarDef as h, ChartDataPoint as i, TabDef as j, SelectOption as k, ChatModelDef as l, EnvGroupDef as m, BranchDef as n, ChartSeriesDef as o, DomainDef as p, ChartConfig as r, ChatConversationDef as s, ActivityDef as t, ChatStylePresetDef as u, FailureItem as v, MenuItemDef as w, FilterOption as x, FaqItem as y };
301
- //# sourceMappingURL=types-D0FlcYnM.d.cts.map
301
+ //#region src/core/field-token.d.ts
302
+ /**
303
+ * The kinds of field an analytics schema actually carries. Two fields of the
304
+ * same shape but different meaning — a `date` you group by and a `duration`
305
+ * you average — get different glyphs, because the reader is scanning for
306
+ * meaning, not for storage class.
307
+ */
308
+ type FieldDataType = "string" | "number" | "boolean" | "date" | "datetime" | "duration" | "percent" | "currency" | "enum" | "array" | "object" | "json" | "ip" | "geo" | "url" | "email" | "id" | "binary" | "aggregate" | "nested" | "unknown";
309
+ interface TokenAppearance {
310
+ icon: LucideIcon;
311
+ /** Index into the chart palette, so a token inherits the active theme. */
312
+ tone: number;
313
+ /** Fallback `title` when the caller gives none. */
314
+ name: string;
315
+ }
316
+ /**
317
+ * The glyph and palette slot each field type reads as. Exported so a product
318
+ * can render the same legend the tokens imply.
319
+ */
320
+ declare const FIELD_TYPE_TOKENS: Record<FieldDataType, TokenAppearance>;
321
+ /**
322
+ * Names a backend type as one of ours. Accepts the spellings Postgres,
323
+ * ClickHouse, DuckDB, and JSON Schema actually emit, so a caller can hand
324
+ * over a column type verbatim instead of maintaining its own table.
325
+ */
326
+ declare function resolveFieldType(raw: string | null | undefined): FieldDataType;
327
+ /** Props for the field token component. */
328
+ interface FieldTokenProps {
329
+ /** The field's type. Pass a raw backend type through `resolveFieldType`. */
330
+ type: FieldDataType;
331
+ size?: "xs" | "sm" | "md" | "lg";
332
+ /** `subtle` tints the square; `solid` fills it; `none` draws the glyph bare. */
333
+ fill?: "subtle" | "solid" | "none";
334
+ shape?: "square" | "circle";
335
+ /**
336
+ * Accessible name. Defaults to the type's own name — pass the field name
337
+ * when the token stands alone, so a reader hears "user_id, identifier"
338
+ * rather than just "identifier".
339
+ */
340
+ title?: string;
341
+ /**
342
+ * Hide the token from the accessibility tree. Use when the field's type is
343
+ * already stated in adjacent text, so it is not read twice.
344
+ */
345
+ decorative?: boolean;
346
+ className?: string;
347
+ }
348
+ /**
349
+ * FieldToken — the type of a field, as a glyph.
350
+ *
351
+ * A field list, a column header, and a property table all have to answer
352
+ * "what kind of thing is this?" before anything else, and they have to answer
353
+ * it in the width of an icon. This is that answer: one glyph per type, one
354
+ * palette slot per glyph, stable across every surface that shows fields, so a
355
+ * reader learns the vocabulary once.
356
+ *
357
+ * @example
358
+ * ```tsx
359
+ * <FieldToken type={resolveFieldType(column.dataType)} title={column.name} />
360
+ * ```
361
+ */
362
+ declare function FieldToken({ type, size, fill, shape, title, decorative, className }: FieldTokenProps): import("react").JSX.Element;
363
+ //#endregion
364
+ export { NavItem as A, TimePreset as B, FailureItem as C, FormFieldDef as D, FilterOption as E, StatCard as F, ToolbarButtonDef as H, TabDef as I, TableColumn as L, ProjectDef as M, QuickActionDef as N, MenuDef as O, SelectOption as P, TaskDef as R, ExportFormat as S, FilterGroupDef as T, ToastOptions as V, DeploymentStep as _, resolveFieldType as a, EnvVarDef as b, ChartConfig as c, ChartSeriesDef as d, ChatConversationDef as f, CommandDef as g, ChatStylePresetDef as h, FieldTokenProps as i, NavItemDef as j, MenuItemDef as k, ChartDataPoint as l, ChatModelDef as m, FieldDataType as n, ActivityDef as o, ChatMessageDef as p, FieldToken as r, BranchDef as s, FIELD_TYPE_TOKENS as t, ChartMargin as u, DomainDef as v, FaqItem as w, ExportColumn as x, EnvGroupDef as y, TeamMemberDef as z };
365
+ //# sourceMappingURL=field-token-CSOrU5gl.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"field-token-CSOrU5gl.d.ts","names":[],"sources":["../src/lib/types.ts","../src/core/field-token.tsx"],"mappings":";;;;UACiB;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;EACA;EACA;EACA,YAAY;EACZ;;;UAIe;EACf;EACA;EACA,OAAO;;;UAIQ;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA,MAAM,MAAM;EACZ;;;UAIe;EACf;EACA;EACA,SAAS,MAAM;;;UAIA;EACf;EACA;EACA;EAWA;EACA;EACA;EACA;EACA,YAAY;EACZ;IAAY;IAAe;;;EAE3B;;EAEA;;EAEA;;EAEA;;EAEA,sBAAsB,QAAQ;;;UAMf;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA,MAAM;;;UAIS;EACf;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;EACA;;;UAMe,YAAY;EAC3B;EACA;EACA,gBAAgB,MAAM,KAAK,MAAM,MAAM;EACvC;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;UAMe;EACf;EACA;EACA;EACA;EACA;EACA,WAAW;EACX;EACA;EACA;IAAa;IAAY;IAAe;;;;UAIzB;EACf;EACA;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EAQA;EACA;EACA,OAAO;EACP;EACA,WAAW;EACX;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA,UAAU;EACV;;;UAIe;EACf;EACA;EACA;EACA,OAAO,MAAM;EACb;EACA;EACA;;;UAMe;EACf;EACA;;;KAIU;;UAGK;EACf;EACA;;;UAMe;EACf;EACA;EACA;EACA;EACA;EACA;EACA,WAAW;;;UAMI;EACf;GACC;;;UAIc;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf,QAAQ;EACR;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;UAMe;EACf;EACA;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;UAIe;EACf;EACA;EACA;;;;;;;;;;KCnUU;UAuBF;EACR,MAAM;;EAEN;;EAEA;;;;;;cAOW,mBAAmB,OAAO,eAAe;;;;;;iBA6BtC,iBACd,iCACC;;UA2Cc;;EAEf,MAAM;EACN;;EAEA;EACA;;;;;;EAMA;;;;;EAKA;EACA;;;;;;;;;;;;;;;;iBAiBc,aACd,MACA,MACA,MACA,OACA,OACA,YACA,aACC,kCAAe,IAAA"}
@@ -5,7 +5,7 @@ import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  import * as React from "react";
6
6
  import { createContext, forwardRef, useCallback, useContext, useEffect, useId, useMemo, useRef, useState } from "react";
7
7
  import { AlertDialogPanel, ComboboxGroup, ComboboxGroupLabel, ComboboxInput, ComboboxItem, ComboboxPopover, ComboboxRoot, Composite, CompositeItem, CompositeProvider, CompositeRow, DialogDescription, DialogDisclosure, DialogDismiss, DialogHeading, DialogPanel, DialogRoot, DisclosureContent, DisclosureRoot, DisclosureTrigger, FormCheckbox, FormControl, FormDescription, FormError, FormField, FormGroup, FormGroupLabel, FormInput, FormLabel, FormProvider, FormPush, FormRadio, FormRadioGroup, FormRemove, FormReset, FormRoot, FormSubmit, FormSwitch, MenuButtonArrow, MenuItem, MenuItemCheckbox, MenuItemRadio, MenuPopover, MenuRoot, MenuSeparator, MenuTrigger, MenubarContainer, MenubarRoot, PopoverClose, PopoverContent, PopoverRoot, PopoverTrigger, SelectItem, SelectLabel, SelectPopover, SelectRoot, SelectTrigger, Tab, TabList, TabPanel, TabsRoot, ToolbarButton, ToolbarContainer, ToolbarRoot, ToolbarSeparator, Tooltip, TooltipAnchor, TooltipProvider, useFieldValue, useFormContext, useFormStore } from "@reopt-ai/opt-ui-primitives";
8
- import { Bell, CalendarDays, ChartColumn, Check, ChevronLeft, ChevronRight, CircleAlert, CircleCheck, CreditCard, Download, Eye, FileText, Flag, Folder, Globe, Heart, Info, Link2, LogIn, Mail, MessageCircle, MousePointerClick, Search, Settings, Share2, ShoppingCart, Star, TrendingUp, TriangleAlert, Upload, User, UserPlus, XCircle, Zap } from "lucide-react";
8
+ import { AtSign, Bell, Binary, Braces, Brackets, Calendar, CalendarClock, CalendarDays, ChartColumn, Check, ChevronLeft, ChevronRight, CircleAlert, CircleCheck, CircleDollarSign, CircleHelp, CreditCard, Download, Eye, FileText, Fingerprint, Flag, Folder, Globe, Hash, Heart, Info, Layers, Link2, List, LogIn, Mail, MapPin, MessageCircle, MousePointerClick, Network, Percent, Search, Settings, Share2, ShoppingCart, Sigma, Star, Timer, ToggleLeft, TrendingUp, TriangleAlert, Type, Upload, User, UserPlus, XCircle, Zap } from "lucide-react";
9
9
  //#region src/lib/cn.ts
10
10
  /** Handles cn. */
11
11
  function cn(...inputs) {
@@ -324,7 +324,7 @@ const variantStyles$2 = {
324
324
  ghost: "text-text-secondary hover:bg-bg-subtle active:bg-bg-muted focus-visible:ring-offset-1",
325
325
  danger: "bg-danger text-danger-fg hover:bg-danger active:bg-danger focus-visible:ring-offset-2"
326
326
  };
327
- const sizeStyles$3 = {
327
+ const sizeStyles$4 = {
328
328
  sm: "h-[var(--opt-control-sm)] px-[var(--opt-control-padding-sm)] text-xs gap-[var(--opt-space-1-5)]",
329
329
  md: "h-[var(--opt-control-md)] px-[var(--opt-control-padding-md)] text-sm gap-[var(--opt-space-2)]",
330
330
  lg: "h-[var(--opt-control-lg)] px-[var(--opt-control-padding-lg)] text-base gap-[var(--opt-space-2)]"
@@ -335,7 +335,7 @@ function Button(_ref) {
335
335
  const isDisabled = disabled || loading;
336
336
  return /* @__PURE__ */ jsxs("button", _objectSpread2(_objectSpread2({
337
337
  type: "button",
338
- className: cn("inline-flex cursor-pointer items-center justify-center rounded-lg font-medium transition-colors", OPT_FOCUS_VISIBLE, variantStyles$2[variant], sizeStyles$3[size], isDisabled && "pointer-events-none cursor-not-allowed opacity-50", className),
338
+ className: cn("inline-flex cursor-pointer items-center justify-center rounded-lg font-medium transition-colors", OPT_FOCUS_VISIBLE, variantStyles$2[variant], sizeStyles$4[size], isDisabled && "pointer-events-none cursor-not-allowed opacity-50", className),
339
339
  disabled: isDisabled
340
340
  }, props), {}, {
341
341
  "aria-busy": loading ? true : ariaBusy,
@@ -444,7 +444,7 @@ const progressStroke = {
444
444
  error: "stroke-danger",
445
445
  info: "stroke-info"
446
446
  };
447
- const sizeStyles$2 = {
447
+ const sizeStyles$3 = {
448
448
  sm: "px-1.5 py-0.5 text-[10px]",
449
449
  md: "px-2 py-0.5 text-[11px]"
450
450
  };
@@ -456,7 +456,7 @@ function Badge(_ref) {
456
456
  const radius = (progressSize - 3) / 2;
457
457
  const circumference = 2 * Math.PI * radius;
458
458
  const offset = circumference - clampedProgress / 100 * circumference;
459
- return /* @__PURE__ */ jsxs("span", _objectSpread2(_objectSpread2({ className: cn(OPT_BADGE, variantStyles$1[variant], sizeStyles$2[size], className) }, props), {}, {
459
+ return /* @__PURE__ */ jsxs("span", _objectSpread2(_objectSpread2({ className: cn(OPT_BADGE, variantStyles$1[variant], sizeStyles$3[size], className) }, props), {}, {
460
460
  "data-opt-id": "9GBGZ",
461
461
  "data-opt-slug": "badge.Badge",
462
462
  children: [
@@ -503,7 +503,7 @@ const _excluded$13 = [
503
503
  "aria-hidden",
504
504
  "aria-label"
505
505
  ];
506
- const sizeStyles$1 = {
506
+ const sizeStyles$2 = {
507
507
  sm: "h-4 w-4",
508
508
  md: "h-6 w-6",
509
509
  lg: "h-8 w-8"
@@ -513,7 +513,7 @@ function Spinner(_ref) {
513
513
  let { size = "md", className, role, "aria-hidden": ariaHidden, "aria-label": ariaLabel } = _ref, props = _objectWithoutProperties(_ref, _excluded$13);
514
514
  const isDecorative = ariaHidden === true || ariaHidden === "true";
515
515
  return /* @__PURE__ */ jsxs("svg", _objectSpread2(_objectSpread2({
516
- className: cn("animate-spin text-current", sizeStyles$1[size], className),
516
+ className: cn("animate-spin text-current", sizeStyles$2[size], className),
517
517
  viewBox: "0 0 24 24",
518
518
  fill: "none",
519
519
  role: isDecorative ? void 0 : role !== null && role !== void 0 ? role : "status",
@@ -3532,7 +3532,7 @@ function setForwardedRef(ref, value) {
3532
3532
  if (typeof ref === "function") ref(value);
3533
3533
  else if (ref) ref.current = value;
3534
3534
  }
3535
- const sizeStyles = {
3535
+ const sizeStyles$1 = {
3536
3536
  sm: {
3537
3537
  box: "h-4 w-4",
3538
3538
  icon: "h-3 w-3",
@@ -3598,7 +3598,7 @@ const Checkbox = forwardRef((_ref, ref) => {
3598
3598
  const checkboxId = (_useInputId = useInputId(id, label, "checkbox")) !== null && _useInputId !== void 0 ? _useInputId : `checkbox-${fallbackId}`;
3599
3599
  const hintText = hint !== null && hint !== void 0 ? hint : description;
3600
3600
  const hasError = Boolean(error);
3601
- const styles = sizeStyles[size];
3601
+ const styles = sizeStyles$1[size];
3602
3602
  const isIndeterminate = Boolean(indeterminate);
3603
3603
  const inputRef = useCallback((node) => {
3604
3604
  if (node) node.indeterminate = isIndeterminate;
@@ -3845,6 +3845,258 @@ function Pagination(_ref) {
3845
3845
  }));
3846
3846
  }
3847
3847
  //#endregion
3848
- export { TooltipAnchor$1 as $, koBreadcrumbLabels as $t, FormSwitch$1 as A, OPT_SURFACE_POPOVER as An, SelectPopover$1 as At, getIconRegistryEntry as B, _objectSpread2 as Bn, Composite as Bt, FormRoot$1 as C, OPT_FOCUS as Cn, DialogFooter as Ct, FormSlider as D, OPT_INPUT_ERROR as Dn, DialogRoot$1 as Dt, FormSelectPopover as E, OPT_INPUT as En, DialogPanel$1 as Et, useFormStore as F, OPT_TEXT_LABEL as Fn, TabPanel$1 as Ft, PopoverTrigger$1 as G, StarRating as Gt, PopoverClose$1 as H, Kbd as Hn, CompositeProvider as Ht, DEFAULT_PRESETS as I, OPT_TEXT_PRIMARY as In, TabsRoot$1 as It, ToolbarButton$1 as J, Alert as Jt, Slider as K, Input as Kt, DateRangePicker as L, OPT_TEXT_SECONDARY as Ln, DisclosureContent$1 as Lt, FormTextarea as M, OPT_TD as Mn, SelectTrigger$1 as Mt, useFieldValue as N, OPT_TD_MUTED as Nn, Tab$1 as Nt, FormStarRating as O, OPT_ITEM_BASE as On, SelectItem$1 as Ot, useFormContext as P, OPT_TEXTAREA_SIZE as Pn, TabList$1 as Pt, Tooltip$1 as Q, Button as Qt, TagInput as R, OPT_TEXT_TERTIARY as Rn, DisclosureRoot$1 as Rt, FormReset$1 as S, OPT_DOT_YELLOW as Sn, DialogDismiss$1 as St, FormSelectItem as T, OPT_HOVER_ITEM as Tn, DialogHeading$1 as Tt, PopoverContent$1 as U, cn as Un, CompositeRow as Ut, ColorPicker as V, _objectWithoutProperties as Vn, CompositeItem as Vt, PopoverRoot$1 as W, CompositeZone as Wt, ToolbarRoot$1 as X, Badge as Xt, ToolbarContainer$1 as Y, Spinner as Yt, ToolbarSeparator$1 as Z, EmptyState as Zt, FormProvider$1 as _, OPT_DISCLOSURE_TRIGGER as _n, ComboboxRoot$1 as _t, FormColorPicker as a, RequiredMark as an, MenuPopover$1 as at, FormRadioGroup$1 as b, OPT_DOT_GREEN as bn, DialogDescription$1 as bt, FormDescription$1 as c, OPT_ANIMATE_DRAWER as cn, MenuTrigger$1 as ct, FormGroup$1 as d, OPT_BADGE_GREEN as dn, ComboboxEmpty as dt, koComboboxLabels as en, TooltipProvider$1 as et, FormGroupLabel$1 as f, OPT_BADGE_NEUTRAL as fn, ComboboxGroup$1 as ft, FormNumberInput as g, OPT_DISCLOSURE_CONTENT as gn, ComboboxPopover$1 as gt, FormLabel$1 as h, OPT_BORDER as hn, ComboboxItem$1 as ht, FormCheckbox$1 as i, FieldMessages as in, MenuItemRadio$1 as it, FormTagInput as j, OPT_TABLE_ROW_ACTIVE as jn, SelectRoot$1 as jt, FormSubmit$1 as k, OPT_SURFACE as kn, SelectLabel$1 as kt, FormError$1 as l, OPT_ANIMATE_ENTER_EXIT as ln, MenubarContainer$1 as lt, FormInput$1 as m, OPT_BADGE_YELLOW as mn, ComboboxInput$1 as mt, Checkbox as n, StatCard as nn, MenuItem$1 as nt, FormControl$1 as o, getDescribedBy as on, MenuRoot$1 as ot, FormIconPicker as p, OPT_BADGE_RED as pn, ComboboxGroupLabel$1 as pt, NumberInput as q, useInputId as qt, CheckboxGroup as r, useControlledState as rn, MenuItemCheckbox$1 as rt, FormDateRangePicker as s, OPT_ACTIVE_ITEM as sn, MenuSeparator$1 as st, Pagination as t, koStarRatingLabels as tn, MenuButtonArrow$1 as tt, FormField$1 as u, OPT_BADGE_BLUE as un, MenubarRoot$1 as ut, FormPush$1 as v, OPT_DIVIDER as vn, AlertDialogPanel$1 as vt, FormSelect as w, OPT_FOCUS_VISIBLE as wn, DialogHeader as wt, FormRemove$1 as x, OPT_DOT_RED as xn, DialogDisclosure$1 as xt, FormRadio$1 as y, OPT_DOT_GRAY as yn, DialogBody as yt, IconPicker as z, OPT_TH as zn, DisclosureTrigger$1 as zt };
3848
+ //#region src/core/field-token.tsx
3849
+ /**
3850
+ * The glyph and palette slot each field type reads as. Exported so a product
3851
+ * can render the same legend the tokens imply.
3852
+ */
3853
+ const FIELD_TYPE_TOKENS = {
3854
+ string: {
3855
+ icon: Type,
3856
+ tone: 1,
3857
+ name: "String"
3858
+ },
3859
+ number: {
3860
+ icon: Hash,
3861
+ tone: 2,
3862
+ name: "Number"
3863
+ },
3864
+ boolean: {
3865
+ icon: ToggleLeft,
3866
+ tone: 3,
3867
+ name: "Boolean"
3868
+ },
3869
+ date: {
3870
+ icon: Calendar,
3871
+ tone: 4,
3872
+ name: "Date"
3873
+ },
3874
+ datetime: {
3875
+ icon: CalendarClock,
3876
+ tone: 4,
3877
+ name: "Date and time"
3878
+ },
3879
+ duration: {
3880
+ icon: Timer,
3881
+ tone: 5,
3882
+ name: "Duration"
3883
+ },
3884
+ percent: {
3885
+ icon: Percent,
3886
+ tone: 6,
3887
+ name: "Percent"
3888
+ },
3889
+ currency: {
3890
+ icon: CircleDollarSign,
3891
+ tone: 7,
3892
+ name: "Currency"
3893
+ },
3894
+ enum: {
3895
+ icon: List,
3896
+ tone: 8,
3897
+ name: "Enum"
3898
+ },
3899
+ array: {
3900
+ icon: Brackets,
3901
+ tone: 9,
3902
+ name: "Array"
3903
+ },
3904
+ object: {
3905
+ icon: Braces,
3906
+ tone: 10,
3907
+ name: "Object"
3908
+ },
3909
+ json: {
3910
+ icon: Braces,
3911
+ tone: 10,
3912
+ name: "JSON"
3913
+ },
3914
+ ip: {
3915
+ icon: Network,
3916
+ tone: 11,
3917
+ name: "IP address"
3918
+ },
3919
+ geo: {
3920
+ icon: MapPin,
3921
+ tone: 12,
3922
+ name: "Geo point"
3923
+ },
3924
+ url: {
3925
+ icon: Link2,
3926
+ tone: 13,
3927
+ name: "URL"
3928
+ },
3929
+ email: {
3930
+ icon: AtSign,
3931
+ tone: 14,
3932
+ name: "Email"
3933
+ },
3934
+ id: {
3935
+ icon: Fingerprint,
3936
+ tone: 15,
3937
+ name: "Identifier"
3938
+ },
3939
+ binary: {
3940
+ icon: Binary,
3941
+ tone: 16,
3942
+ name: "Binary"
3943
+ },
3944
+ aggregate: {
3945
+ icon: Sigma,
3946
+ tone: 2,
3947
+ name: "Aggregate"
3948
+ },
3949
+ nested: {
3950
+ icon: Layers,
3951
+ tone: 9,
3952
+ name: "Nested"
3953
+ },
3954
+ unknown: {
3955
+ icon: CircleHelp,
3956
+ tone: 0,
3957
+ name: "Unknown"
3958
+ }
3959
+ };
3960
+ /**
3961
+ * Names a backend type as one of ours. Accepts the spellings Postgres,
3962
+ * ClickHouse, DuckDB, and JSON Schema actually emit, so a caller can hand
3963
+ * over a column type verbatim instead of maintaining its own table.
3964
+ */
3965
+ function resolveFieldType(raw) {
3966
+ if (!raw) return "unknown";
3967
+ const t = raw.trim().toLowerCase();
3968
+ if (t in FIELD_TYPE_TOKENS) return t;
3969
+ if (t.endsWith("[]")) return "array";
3970
+ if (/^(array|list|set|multi)/.test(t)) return "array";
3971
+ if (/^(bytea|blob|binary|fixedstring)/.test(t)) return "binary";
3972
+ if (/^bool/.test(t)) return "boolean";
3973
+ if (/^(timestamp|datetime)/.test(t)) return "datetime";
3974
+ if (/^date/.test(t)) return "date";
3975
+ if (/^interval/.test(t)) return "duration";
3976
+ if (/^(uuid|guid)/.test(t)) return "id";
3977
+ if (/^(inet|cidr|ipv?[46])/.test(t)) return "ip";
3978
+ if (/^(point|geo|geography|geometry|latlon)/.test(t)) return "geo";
3979
+ if (/^(jsonb?|map|struct|record|tuple)/.test(t)) return "json";
3980
+ if (/^(enum|lowcardinality|category|categorical)/.test(t)) return "enum";
3981
+ if (/^(u?int|float|double|decimal|numeric|real|bigint|smallint|tinyint|serial|money)/.test(t)) return "number";
3982
+ if (/^(text|n?varchar|n?char|keyword|str|string)/.test(t)) return "string";
3983
+ return "unknown";
3984
+ }
3985
+ const sizeStyles = {
3986
+ xs: "size-4 rounded-[3px] [&>svg]:size-2.5",
3987
+ sm: "size-5 rounded [&>svg]:size-3",
3988
+ md: "size-6 rounded-md [&>svg]:size-3.5",
3989
+ lg: "size-8 rounded-lg [&>svg]:size-4"
3990
+ };
3991
+ const shapeStyles = {
3992
+ square: "",
3993
+ circle: "rounded-full"
3994
+ };
3995
+ /**
3996
+ * FieldToken — the type of a field, as a glyph.
3997
+ *
3998
+ * A field list, a column header, and a property table all have to answer
3999
+ * "what kind of thing is this?" before anything else, and they have to answer
4000
+ * it in the width of an icon. This is that answer: one glyph per type, one
4001
+ * palette slot per glyph, stable across every surface that shows fields, so a
4002
+ * reader learns the vocabulary once.
4003
+ *
4004
+ * @example
4005
+ * ```tsx
4006
+ * <FieldToken type={resolveFieldType(column.dataType)} title={column.name} />
4007
+ * ```
4008
+ */
4009
+ function FieldToken({ type, size = "sm", fill = "subtle", shape = "square", title, decorative = false, className }) {
4010
+ var _FIELD_TYPE_TOKENS$ty;
4011
+ const appearance = (_FIELD_TYPE_TOKENS$ty = FIELD_TYPE_TOKENS[type]) !== null && _FIELD_TYPE_TOKENS$ty !== void 0 ? _FIELD_TYPE_TOKENS$ty : FIELD_TYPE_TOKENS.unknown;
4012
+ const Icon = appearance.icon;
4013
+ const label = title !== null && title !== void 0 ? title : appearance.name;
4014
+ const hue = appearance.tone === 0 ? "var(--color-text-tertiary)" : `var(--opt-chart-${appearance.tone})`;
4015
+ const style = fill === "solid" ? {
4016
+ backgroundColor: hue,
4017
+ color: "var(--color-surface)"
4018
+ } : fill === "subtle" ? {
4019
+ backgroundColor: `color-mix(in oklab, ${hue} 14%, transparent)`,
4020
+ color: hue
4021
+ } : { color: hue };
4022
+ return /* @__PURE__ */ jsx("span", {
4023
+ className: cn("inline-flex shrink-0 items-center justify-center", sizeStyles[size], shapeStyles[shape], className),
4024
+ style,
4025
+ role: decorative ? void 0 : "img",
4026
+ "aria-label": decorative ? void 0 : label,
4027
+ "aria-hidden": decorative ? true : void 0,
4028
+ "data-opt-id": "V3AJ4",
4029
+ "data-opt-slug": "field-token.FieldToken",
4030
+ "data-field-type": type,
4031
+ children: /* @__PURE__ */ jsx(Icon, { "aria-hidden": "true" })
4032
+ });
4033
+ }
4034
+ //#endregion
4035
+ //#region src/core/highlight.tsx
4036
+ function escapeForRegExp(value) {
4037
+ return value.replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
4038
+ }
4039
+ /**
4040
+ * Splits `text` on every occurrence of every term. Terms are matched longest
4041
+ * first so a search for both "check" and "checkout" marks "checkout" whole
4042
+ * rather than leaving a stray "out".
4043
+ */
4044
+ function segment(text, terms, caseSensitive, firstOnly) {
4045
+ const usable = terms.filter((term) => term.length > 0).sort((a, b) => b.length - a.length);
4046
+ if (usable.length === 0) return [{
4047
+ text,
4048
+ hit: false
4049
+ }];
4050
+ const pattern = new RegExp(`(${usable.map(escapeForRegExp).join("|")})`, caseSensitive ? "g" : "gi");
4051
+ const out = [];
4052
+ let cursor = 0;
4053
+ let matched = false;
4054
+ for (const match of text.matchAll(pattern)) {
4055
+ var _match$index;
4056
+ if (firstOnly && matched) break;
4057
+ const at = (_match$index = match.index) !== null && _match$index !== void 0 ? _match$index : 0;
4058
+ if (at > cursor) out.push({
4059
+ text: text.slice(cursor, at),
4060
+ hit: false
4061
+ });
4062
+ out.push({
4063
+ text: match[0],
4064
+ hit: true
4065
+ });
4066
+ cursor = at + match[0].length;
4067
+ matched = true;
4068
+ }
4069
+ if (cursor < text.length) out.push({
4070
+ text: text.slice(cursor),
4071
+ hit: false
4072
+ });
4073
+ return out;
4074
+ }
4075
+ /**
4076
+ * Highlight — marks the part of a string the reader searched for.
4077
+ *
4078
+ * Uses a real `<mark>`, so the match is carried by semantics rather than by
4079
+ * colour alone and survives a high-contrast theme. Terms are matched longest
4080
+ * first, so overlapping terms produce whole marks instead of fragments.
4081
+ *
4082
+ * @example
4083
+ * ```tsx
4084
+ * <Highlight text={row.message} search={query} />
4085
+ * ```
4086
+ */
4087
+ function Highlight({ text, search, caseSensitive = false, firstOnly = false, className, markClassName }) {
4088
+ const segments = segment(text, Array.isArray(search) ? search : [search], caseSensitive, firstOnly);
4089
+ return /* @__PURE__ */ jsx("span", {
4090
+ className,
4091
+ "data-opt-id": "448TR",
4092
+ "data-opt-slug": "highlight.Highlight",
4093
+ children: segments.map((part, index) => part.hit ? /* @__PURE__ */ jsx("mark", {
4094
+ className: cn("bg-warning-subtle text-text-primary rounded-[2px] px-0.5 font-medium", markClassName),
4095
+ children: part.text
4096
+ }, index) : /* @__PURE__ */ jsx("span", { children: part.text }, index))
4097
+ });
4098
+ }
4099
+ //#endregion
4100
+ export { ToolbarContainer$1 as $, Spinner as $t, FormSelectPopover as A, OPT_INPUT as An, DialogPanel$1 as At, DEFAULT_PRESETS as B, OPT_TEXT_PRIMARY as Bn, TabsRoot$1 as Bt, FormRadio$1 as C, OPT_DOT_GRAY as Cn, DialogBody as Ct, FormRoot$1 as D, OPT_FOCUS as Dn, DialogFooter as Dt, FormReset$1 as E, OPT_DOT_YELLOW as En, DialogDismiss$1 as Et, FormTagInput as F, OPT_TABLE_ROW_ACTIVE as Fn, SelectRoot$1 as Ft, ColorPicker as G, _objectWithoutProperties as Gn, CompositeItem as Gt, TagInput as H, OPT_TEXT_TERTIARY as Hn, DisclosureRoot$1 as Ht, FormTextarea as I, OPT_TD as In, SelectTrigger$1 as It, PopoverRoot$1 as J, CompositeZone as Jt, PopoverClose$1 as K, Kbd as Kn, CompositeProvider as Kt, useFieldValue as L, OPT_TD_MUTED as Ln, Tab$1 as Lt, FormStarRating as M, OPT_ITEM_BASE as Mn, SelectItem$1 as Mt, FormSubmit$1 as N, OPT_SURFACE as Nn, SelectLabel$1 as Nt, FormSelect as O, OPT_FOCUS_VISIBLE as On, DialogHeader as Ot, FormSwitch$1 as P, OPT_SURFACE_POPOVER as Pn, SelectPopover$1 as Pt, ToolbarButton$1 as Q, Alert as Qt, useFormContext as R, OPT_TEXTAREA_SIZE as Rn, TabList$1 as Rt, FormPush$1 as S, OPT_DIVIDER as Sn, AlertDialogPanel$1 as St, FormRemove$1 as T, OPT_DOT_RED as Tn, DialogDisclosure$1 as Tt, IconPicker as U, OPT_TH as Un, DisclosureTrigger$1 as Ut, DateRangePicker as V, OPT_TEXT_SECONDARY as Vn, DisclosureContent$1 as Vt, getIconRegistryEntry as W, _objectSpread2 as Wn, Composite as Wt, Slider as X, Input as Xt, PopoverTrigger$1 as Y, StarRating as Yt, NumberInput as Z, useInputId as Zt, FormIconPicker as _, OPT_BADGE_RED as _n, ComboboxGroupLabel$1 as _t, Pagination as a, koStarRatingLabels as an, MenuButtonArrow$1 as at, FormNumberInput as b, OPT_DISCLOSURE_CONTENT as bn, ComboboxPopover$1 as bt, FormCheckbox$1 as c, FieldMessages as cn, MenuItemRadio$1 as ct, FormDateRangePicker as d, OPT_ACTIVE_ITEM as dn, MenuSeparator$1 as dt, Badge as en, ToolbarRoot$1 as et, FormDescription$1 as f, OPT_ANIMATE_DRAWER as fn, MenuTrigger$1 as ft, FormGroupLabel$1 as g, OPT_BADGE_NEUTRAL as gn, ComboboxGroup$1 as gt, FormGroup$1 as h, OPT_BADGE_GREEN as hn, ComboboxEmpty as ht, resolveFieldType as i, koComboboxLabels as in, TooltipProvider$1 as it, FormSlider as j, OPT_INPUT_ERROR as jn, DialogRoot$1 as jt, FormSelectItem as k, OPT_HOVER_ITEM as kn, DialogHeading$1 as kt, FormColorPicker as l, RequiredMark as ln, MenuPopover$1 as lt, FormField$1 as m, OPT_BADGE_BLUE as mn, MenubarRoot$1 as mt, FIELD_TYPE_TOKENS as n, Button as nn, Tooltip$1 as nt, Checkbox as o, StatCard as on, MenuItem$1 as ot, FormError$1 as p, OPT_ANIMATE_ENTER_EXIT as pn, MenubarContainer$1 as pt, PopoverContent$1 as q, cn as qn, CompositeRow as qt, FieldToken as r, koBreadcrumbLabels as rn, TooltipAnchor$1 as rt, CheckboxGroup as s, useControlledState as sn, MenuItemCheckbox$1 as st, Highlight as t, EmptyState as tn, ToolbarSeparator$1 as tt, FormControl$1 as u, getDescribedBy as un, MenuRoot$1 as ut, FormInput$1 as v, OPT_BADGE_YELLOW as vn, ComboboxInput$1 as vt, FormRadioGroup$1 as w, OPT_DOT_GREEN as wn, DialogDescription$1 as wt, FormProvider$1 as x, OPT_DISCLOSURE_TRIGGER as xn, ComboboxRoot$1 as xt, FormLabel$1 as y, OPT_BORDER as yn, ComboboxItem$1 as yt, useFormStore as z, OPT_TEXT_LABEL as zn, TabPanel$1 as zt };
3849
4101
 
3850
- //# sourceMappingURL=pagination-DWbvACuN.js.map
4102
+ //# sourceMappingURL=highlight-C2sfnJN8.js.map