@conscia-labs/design-system 0.2.0 → 0.3.1

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.
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/primitives/alert.tsx","../src/primitives/avatar.tsx","../src/primitives/badge.tsx","../src/primitives/switch.tsx","../src/primitives/textarea.tsx","../src/primitives/compat.tsx","../src/primitives/field.tsx","../src/primitives/form-select.tsx","../src/primitives/label.tsx","../src/primitives/searchable-select.tsx"],"sourcesContent":["import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst alertVariants = cva(\n \"relative grid w-full grid-cols-[auto_1fr] items-start gap-x-3 rounded-[var(--ds-radius-surface)] border px-4 py-3.5 text-sm [&>svg]:mt-0.5 [&>svg]:size-5\",\n {\n variants: {\n variant: {\n default: \"border-border-default bg-card text-foreground\",\n information:\n \"border-information-border bg-information-background text-information-foreground\",\n success:\n \"border-success-border bg-success-background text-success-foreground\",\n warning:\n \"border-warning-border bg-warning-background text-warning-foreground\",\n danger: \"border-danger-border bg-danger-background text-danger-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n },\n);\n\nfunction Alert({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof alertVariants>) {\n return (\n <div\n data-slot=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n );\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\"font-medium leading-5\", className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\"col-start-2 mt-0.5 text-sm leading-5 opacity-80\", className)}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertDescription, AlertTitle, alertVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\";\n\nimport { cn } from \"./utils\";\n\nfunction Avatar({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn(\"relative flex size-8 shrink-0 overflow-hidden rounded-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn(\"aspect-square size-full\", className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn(\"flex size-full items-center justify-center rounded-full bg-surface-muted text-xs font-medium text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarFallback, AvatarImage };\n","import * as React from \"react\";\nimport { cva, type VariantProps } from \"class-variance-authority\";\n\nimport { cn } from \"./utils\";\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-md border px-1.5 py-0.5 text-[var(--ds-metadata)] font-medium leading-4 transition-colors\",\n {\n variants: {\n variant: {\n default: \"border-primary bg-primary text-primary-foreground\",\n accent: \"border-selection-border bg-selection-background text-selection-foreground\",\n secondary: \"border-neutral-border bg-neutral-background text-neutral-foreground\",\n neutral: \"border-neutral-border bg-neutral-background text-neutral-foreground\",\n outline: \"border-border-default text-foreground\",\n information: \"border-information-border bg-information-background text-information-foreground\",\n info: \"border-information-border bg-information-background text-information-foreground\",\n success: \"border-success-border bg-success-background text-success-foreground\",\n warning: \"border-warning-border bg-warning-background text-warning-foreground\",\n danger: \"border-danger-border bg-danger-background text-danger-foreground\",\n destructive: \"border-danger-border bg-danger-background text-danger-foreground\"\n }\n },\n defaultVariants: {\n variant: \"neutral\"\n }\n },\n);\n\nfunction Badge({\n className,\n variant,\n ...props\n}: React.ComponentProps<\"span\"> & VariantProps<typeof badgeVariants>) {\n return <span data-slot=\"badge\" className={cn(badgeVariants({ variant, className }))} {...props} />;\n}\n\nexport { Badge, badgeVariants };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as SwitchPrimitive from \"@radix-ui/react-switch\";\n\nimport { cn } from \"./utils\";\n\nfunction Switch({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof SwitchPrimitive.Root> & {\n size?: \"sm\" | \"default\";\n}) {\n return (\n <SwitchPrimitive.Root\n data-slot=\"switch\"\n data-size={size}\n className={cn(\n \"peer group/switch inline-flex shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-[1.15rem] data-[size=default]:w-8 data-[size=sm]:h-3.5 data-[size=sm]:w-6 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input dark:data-[state=unchecked]:bg-input/80\",\n className,\n )}\n {...props}\n >\n <SwitchPrimitive.Thumb\n data-slot=\"switch-thumb\"\n className=\"pointer-events-none block rounded-full bg-background ring-0 transition-transform group-data-[size=default]/switch:size-4 group-data-[size=sm]/switch:size-3 data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0 dark:data-[state=checked]:bg-primary-foreground dark:data-[state=unchecked]:bg-foreground\"\n />\n </SwitchPrimitive.Root>\n );\n}\n\nexport { Switch };\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\"min-h-28 w-full rounded-[var(--ds-field-control-radius)] border border-input bg-card px-[var(--ds-field-control-padding-x)] py-3 text-sm outline-none transition-colors placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-[3px] focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50\", className)}\n {...props}\n />\n );\n}\n\nexport { Textarea };\n","import * as React from \"react\";\n\nimport { Button } from \"./button\";\nimport {\n Card,\n CardContent,\n CardDescription,\n CardHeader,\n CardTitle,\n} from \"./card\";\nimport { Checkbox } from \"./checkbox\";\nimport { Input } from \"./input\";\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"./select\";\nimport { Switch } from \"./switch\";\nimport {\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableHeader,\n TableRow,\n} from \"./table\";\nimport { Textarea } from \"./textarea\";\nimport { cn } from \"./utils\";\n\n/**\n * Temporary Admin UI migration aliases. New product code should import the\n * clean primitive names from @conscia-labs/design-system.\n */\nconst ConsciaButton = Button;\n\nfunction ConsciaIconButton({\n size = \"icon\",\n ...props\n}: React.ComponentProps<typeof Button>) {\n return <Button size={size} {...props} />;\n}\n\nconst ConsciaCard = Card;\nconst ConsciaCardContent = CardContent;\nconst ConsciaCardDescription = CardDescription;\n\nfunction ConsciaCardHeader({\n actionRight,\n className,\n children,\n ...props\n}: React.ComponentProps<typeof CardHeader> & {\n actionRight?: React.ReactNode;\n}) {\n if (!actionRight) {\n return (\n <CardHeader className={className} {...props}>\n {children}\n </CardHeader>\n );\n }\n\n return (\n <CardHeader\n className={cn(\n \"grid grid-cols-[minmax(0,1fr)_auto] items-start gap-4\",\n className,\n )}\n {...props}\n >\n <div className=\"grid gap-2\">{children}</div>\n <div className=\"justify-self-end\">{actionRight}</div>\n </CardHeader>\n );\n}\n\nconst ConsciaCardTitle = CardTitle;\nconst ConsciaCheckbox = Checkbox;\nconst ConsciaInput = Input;\nconst ConsciaSwitch = Switch;\nconst ConsciaTextarea = Textarea;\nconst ConsciaSelect = Select;\nconst ConsciaSelectContent = SelectContent;\nconst ConsciaSelectGroup = SelectGroup;\nconst ConsciaSelectItem = SelectItem;\nconst ConsciaSelectTrigger = SelectTrigger;\nconst ConsciaSelectValue = SelectValue;\nconst ConsciaTable = Table;\nconst ConsciaTableBody = TableBody;\nconst ConsciaTableCell = TableCell;\nconst ConsciaTableHeader = TableHeader;\nconst ConsciaTableHead = TableHead;\nconst ConsciaTableRow = TableRow;\n\nexport {\n ConsciaButton,\n ConsciaCard,\n ConsciaCardContent,\n ConsciaCardDescription,\n ConsciaCardHeader,\n ConsciaCardTitle,\n ConsciaCheckbox,\n ConsciaIconButton,\n ConsciaInput,\n ConsciaSwitch,\n ConsciaTextarea,\n ConsciaSelect,\n ConsciaSelectContent,\n ConsciaSelectGroup,\n ConsciaSelectItem,\n ConsciaSelectTrigger,\n ConsciaSelectValue,\n ConsciaTable,\n ConsciaTableBody,\n ConsciaTableCell,\n ConsciaTableHeader,\n ConsciaTableHead,\n ConsciaTableRow,\n};\n","import * as React from \"react\";\n\nimport { cn } from \"./utils\";\n\nfunction Field({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field\"\n className={cn(\"grid gap-[var(--ds-field-label-gap)]\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldGroup({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\"grid gap-[var(--ds-field-gap)]\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<\"label\">) {\n return (\n <label\n data-slot=\"field-label\"\n className={cn(\"text-[length:var(--ds-field-label-size)] font-medium leading-[var(--ds-field-label-line-height)] text-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldDescription({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\"mt-[var(--ds-field-message-gap)] text-[var(--ds-metadata)] text-muted-foreground\", className)}\n {...props}\n />\n );\n}\n\nfunction FieldError({\n className,\n ...props\n}: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-error\"\n className={cn(\"mt-[var(--ds-field-message-gap)] text-[var(--ds-metadata)] font-medium text-danger-foreground\", className)}\n {...props}\n />\n );\n}\n\nexport { Field, FieldDescription, FieldError, FieldGroup, FieldLabel };\n","\"use client\";\n\nimport * as React from \"react\";\n\nimport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectTrigger,\n SelectValue,\n} from \"./select\";\nimport { cn } from \"./utils\";\n\ntype FormSelectOption = {\n value: string;\n label: React.ReactNode;\n disabled?: boolean;\n};\n\ntype FormSelectProps = {\n id?: string;\n name?: string;\n value?: string;\n defaultValue?: string;\n required?: boolean;\n disabled?: boolean;\n placeholder?: string;\n options: FormSelectOption[];\n className?: string;\n triggerClassName?: string;\n contentClassName?: string;\n onValueChange?: (value: string) => void;\n onClick?: React.MouseEventHandler<HTMLDivElement>;\n \"aria-label\"?: string;\n};\n\nconst emptyValue = \"__conscia_empty_select_value__\";\n\nfunction toSelectValue(value: string | undefined) {\n if (value === undefined) {\n return undefined;\n }\n\n return value === \"\" ? emptyValue : value;\n}\n\nfunction fromSelectValue(value: string) {\n return value === emptyValue ? \"\" : value;\n}\n\nfunction FormSelect({\n name,\n id,\n value,\n defaultValue,\n required,\n disabled,\n placeholder,\n options,\n className,\n triggerClassName,\n contentClassName,\n onValueChange,\n onClick,\n \"aria-label\": ariaLabel,\n}: FormSelectProps) {\n const [internalValue, setInternalValue] = React.useState(defaultValue ?? \"\");\n const currentValue = value ?? internalValue;\n\n function handleValueChange(nextValue: string) {\n const actualValue = fromSelectValue(nextValue);\n\n if (value === undefined) {\n setInternalValue(actualValue);\n }\n\n onValueChange?.(actualValue);\n }\n\n return (\n <div className={cn(\"min-w-0\", className)} onClick={onClick}>\n <Select\n name={name}\n value={toSelectValue(currentValue)}\n required={required}\n disabled={disabled}\n onValueChange={handleValueChange}\n >\n <SelectTrigger id={id} aria-label={ariaLabel} className={triggerClassName}>\n <SelectValue placeholder={placeholder} />\n </SelectTrigger>\n <SelectContent className={contentClassName}>\n <SelectGroup>\n {options.map((option) => (\n <SelectItem\n key={option.value}\n value={toSelectValue(option.value) ?? emptyValue}\n disabled={option.disabled}\n >\n {option.label}\n </SelectItem>\n ))}\n </SelectGroup>\n </SelectContent>\n </Select>\n </div>\n );\n}\n\nconst ConsciaFormSelect = FormSelect;\n\nexport { ConsciaFormSelect, FormSelect };\nexport type { FormSelectOption, FormSelectProps };\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as LabelPrimitive from \"@radix-ui/react-label\";\n\nimport { cn } from \"./utils\";\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"flex items-center gap-2 text-[length:var(--ds-field-label-size)] font-medium leading-[var(--ds-field-label-line-height)] text-foreground select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Label };\n","\"use client\";\n\nimport * as React from \"react\";\nimport { Check, ChevronsUpDown, Search, X } from \"lucide-react\";\n\nimport { Button } from \"./button\";\nimport { Input } from \"./input\";\nimport { cn } from \"./utils\";\n\ntype SearchableSelectOption = {\n value: string;\n label: string;\n description?: string;\n keywords?: string[];\n disabled?: boolean;\n};\n\ntype SearchableSelectProps = {\n id?: string;\n name?: string;\n value?: string;\n options: SearchableSelectOption[];\n onValueChange: (value: string) => void;\n placeholder?: string;\n searchPlaceholder?: string;\n emptyMessage?: string;\n disabled?: boolean;\n clearable?: boolean;\n clearLabel?: string;\n optionsLabel?: string;\n className?: string;\n \"aria-label\"?: string;\n};\n\nfunction SearchableSelect({\n id,\n name,\n value = \"\",\n options,\n onValueChange,\n placeholder = \"Select an option\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No matching options.\",\n disabled = false,\n clearable = false,\n clearLabel = \"Clear selection\",\n optionsLabel,\n className,\n \"aria-label\": ariaLabel,\n}: SearchableSelectProps) {\n const generatedId = React.useId();\n const listboxId = `${id ?? generatedId}-listbox`;\n const rootRef = React.useRef<HTMLDivElement>(null);\n const activeOptionRef = React.useRef<HTMLButtonElement>(null);\n const [open, setOpen] = React.useState(false);\n const [search, setSearch] = React.useState(\"\");\n const [activeIndex, setActiveIndex] = React.useState(0);\n const selected = options.find((option) => option.value === value);\n const normalizedSearch = search.trim().toLowerCase();\n const filteredOptions = normalizedSearch\n ? options.filter((option) =>\n [option.label, option.description, ...(option.keywords ?? [])]\n .filter(Boolean)\n .join(\" \")\n .toLowerCase()\n .includes(normalizedSearch),\n )\n : options;\n const enabledIndexes = filteredOptions.reduce<number[]>((indexes, option, index) => {\n if (!option.disabled) {\n indexes.push(index);\n }\n\n return indexes;\n }, []);\n const resolvedActiveIndex = enabledIndexes.includes(activeIndex)\n ? activeIndex\n : (enabledIndexes[0] ?? -1);\n\n React.useEffect(() => {\n if (!open) {\n return;\n }\n\n function closeWhenOutside(event: PointerEvent) {\n if (!rootRef.current?.contains(event.target as Node)) {\n setOpen(false);\n setSearch(\"\");\n }\n }\n document.addEventListener(\"pointerdown\", closeWhenOutside);\n return () => document.removeEventListener(\"pointerdown\", closeWhenOutside);\n }, [open]);\n\n React.useEffect(() => {\n if (open) {\n activeOptionRef.current?.scrollIntoView({ block: \"nearest\" });\n }\n }, [open, resolvedActiveIndex]);\n\n function select(option: SearchableSelectOption) {\n if (option.disabled) {\n return;\n }\n\n onValueChange(option.value);\n setSearch(\"\");\n setOpen(false);\n }\n\n function onKeyDown(event: React.KeyboardEvent<HTMLInputElement>) {\n if (event.key === \"ArrowDown\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => {\n const position = enabledIndexes.indexOf(current);\n return enabledIndexes[Math.min(enabledIndexes.length - 1, position + 1)] ?? -1;\n });\n } else if (event.key === \"ArrowUp\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex((current) => {\n const position = enabledIndexes.indexOf(current);\n return enabledIndexes[Math.max(0, position === -1 ? 0 : position - 1)] ?? -1;\n });\n } else if (event.key === \"Home\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex(enabledIndexes[0] ?? -1);\n } else if (event.key === \"End\") {\n event.preventDefault();\n setOpen(true);\n setActiveIndex(enabledIndexes.at(-1) ?? -1);\n } else if (event.key === \"Enter\" && open && filteredOptions[resolvedActiveIndex]) {\n event.preventDefault();\n select(filteredOptions[resolvedActiveIndex]);\n } else if (event.key === \"Escape\") {\n setOpen(false);\n setSearch(\"\");\n } else if (event.key === \"Tab\") {\n setOpen(false);\n setSearch(\"\");\n }\n }\n\n return (\n <div ref={rootRef} data-slot=\"searchable-select\" className={cn(\"relative min-w-0\", className)}>\n {name ? <input type=\"hidden\" name={name} value={value} /> : null}\n <div className=\"relative\">\n <Search className=\"pointer-events-none absolute left-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" aria-hidden=\"true\" />\n <Input\n id={id}\n role=\"combobox\"\n aria-label={ariaLabel}\n aria-autocomplete=\"list\"\n aria-expanded={open}\n aria-controls={open ? listboxId : undefined}\n aria-activedescendant={open && filteredOptions[resolvedActiveIndex] ? `${listboxId}-${resolvedActiveIndex}` : undefined}\n autoComplete=\"off\"\n className=\"px-9\"\n disabled={disabled}\n placeholder={open ? searchPlaceholder : placeholder}\n value={open ? search : selected?.label ?? \"\"}\n onFocus={(event) => {\n setOpen(true);\n setSearch(\"\");\n event.currentTarget.select();\n }}\n onClick={() => {\n if (!open) {\n setOpen(true);\n setSearch(\"\");\n }\n }}\n onChange={(event) => {\n setSearch(event.target.value);\n setOpen(true);\n setActiveIndex(0);\n }}\n onKeyDown={onKeyDown}\n />\n {clearable && value ? (\n <Button\n type=\"button\"\n variant=\"ghost\"\n size=\"icon\"\n disabled={disabled}\n className=\"absolute right-8 top-1/2 -translate-y-1/2\"\n aria-label={clearLabel}\n onMouseDown={(event) => event.preventDefault()}\n onClick={() => {\n onValueChange(\"\");\n setSearch(\"\");\n }}\n >\n <X />\n </Button>\n ) : null}\n <ChevronsUpDown className=\"pointer-events-none absolute right-3 top-1/2 size-4 -translate-y-1/2 text-muted-foreground\" aria-hidden=\"true\" />\n </div>\n\n {open ? (\n <div\n id={listboxId}\n role=\"listbox\"\n aria-label={optionsLabel ?? (ariaLabel ? `${ariaLabel} options` : \"Options\")}\n className=\"absolute z-50 mt-1 max-h-72 w-full overflow-y-auto rounded-md border border-border-subtle bg-popover p-1 text-popover-foreground shadow-md\"\n >\n {filteredOptions.length ? filteredOptions.map((option, index) => (\n <button\n key={option.value}\n id={`${listboxId}-${index}`}\n type=\"button\"\n role=\"option\"\n aria-selected={option.value === value}\n aria-disabled={option.disabled || undefined}\n disabled={option.disabled}\n tabIndex={-1}\n ref={index === resolvedActiveIndex ? activeOptionRef : undefined}\n data-active={index === resolvedActiveIndex}\n className=\"flex w-full items-center gap-3 rounded-sm px-3 py-2 text-left text-[length:var(--ds-menu-item-size)] outline-none hover:bg-surface-muted focus-visible:bg-surface-muted data-[active=true]:bg-surface-muted disabled:pointer-events-none disabled:opacity-50\"\n onMouseDown={(event) => event.preventDefault()}\n onMouseEnter={() => setActiveIndex(index)}\n onClick={() => select(option)}\n >\n <span className=\"grid min-w-0 flex-1 gap-0.5\">\n <span className=\"truncate font-medium\">{option.label}</span>\n {option.description ? <span className=\"truncate text-[length:var(--ds-menu-label-size)] text-muted-foreground\">{option.description}</span> : null}\n </span>\n {option.value === value ? <Check className=\"size-4 shrink-0 text-success-foreground\" aria-hidden=\"true\" /> : null}\n </button>\n )) : <p className=\"px-3 py-6 text-center text-[length:var(--ds-menu-item-size)] text-muted-foreground\">{emptyMessage}</p>}\n </div>\n ) : null}\n </div>\n );\n}\n\nexport { SearchableSelect };\nexport type { SearchableSelectOption, SearchableSelectProps };\n"],"mappings":"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","names":["jsx","cva","jsx","cva","jsx","jsx","jsx","jsx","jsx","jsxs","jsx","React","jsx","jsxs"]}
@@ -1,3 +1,5 @@
1
+ @import "@fontsource-variable/inter/index.css";
2
+
1
3
  @custom-variant dark (&:is(.dark *));
2
4
 
3
5
  @keyframes ds-sidebar-expand {
@@ -117,7 +119,25 @@
117
119
  --sidebar-active-foreground: #ffffff;
118
120
  --sidebar-active-indicator: #7f8ae8;
119
121
  --sidebar-border: rgb(255 255 255 / 8%);
120
- --font-sans: "Saans", "Inter", "Aptos", "Segoe UI", Arial, sans-serif;
122
+ /*
123
+ * Sidebar semantics intentionally sit on top of the existing palette. The
124
+ * legacy aliases above remain the compatibility surface for consumers that
125
+ * still use bg-sidebar and text-sidebar-foreground.
126
+ */
127
+ --sidebar-canvas: var(--sidebar);
128
+ --sidebar-header: var(--sidebar);
129
+ --sidebar-content: var(--sidebar);
130
+ --sidebar-hover: var(--sidebar-accent);
131
+ --sidebar-primary-text: var(--sidebar-foreground);
132
+ --sidebar-secondary-text: color-mix(in oklab, var(--sidebar-foreground) 78%, transparent);
133
+ --sidebar-metadata-text: color-mix(in oklab, var(--sidebar-foreground) 62%, transparent);
134
+ --sidebar-icon: color-mix(in oklab, var(--sidebar-foreground) 72%, transparent);
135
+ --sidebar-search: var(--sidebar-accent);
136
+ --sidebar-footer: var(--sidebar);
137
+ --sidebar-group-label: color-mix(in oklab, var(--sidebar-foreground) 72%, transparent);
138
+ --sidebar-group-count: color-mix(in oklab, var(--sidebar-foreground) 62%, transparent);
139
+ --sidebar-focus-ring: var(--ring);
140
+ --font-sans: "Inter Variable", "Inter", "Aptos", "Segoe UI", Arial, sans-serif;
121
141
  --ds-space-inline: 0.5rem;
122
142
  --ds-space-control: 0.625rem;
123
143
  --ds-field-gap: 1.25rem;
@@ -139,7 +159,17 @@
139
159
  --ds-control-height-sm: 2rem;
140
160
  --ds-control-height-lg: 2.75rem;
141
161
  --ds-control-padding-x: 1rem;
162
+ --ds-topbar-height: 3.5rem;
163
+ --ds-sidebar-width: 16rem;
164
+ --ds-sidebar-width-mobile: 18rem;
142
165
  --ds-sidebar-item-height: 2.25rem;
166
+ --ds-sidebar-item-height-touch: 2.75rem;
167
+ --ds-sidebar-header-height: var(--ds-topbar-height);
168
+ --ds-sidebar-content-padding-x: 0.625rem;
169
+ --ds-sidebar-content-padding-y: 0.75rem;
170
+ --ds-sidebar-footer-padding: 0.625rem;
171
+ --ds-sidebar-group-gap: 0.25rem;
172
+ --ds-sidebar-group-label-size: var(--ds-field-label-size);
143
173
  --ds-surface-padding: 1.25rem;
144
174
  --ds-table-header-height: 2.25rem;
145
175
  --ds-row-height: 2.75rem;
@@ -170,6 +200,8 @@
170
200
  --ds-control-height-sm: 1.75rem;
171
201
  --ds-control-height-lg: 2.25rem;
172
202
  --ds-control-padding-x: 0.75rem;
203
+ --ds-sidebar-width: 15rem;
204
+ --ds-sidebar-width-mobile: 17rem;
173
205
  --ds-sidebar-item-height: 2rem;
174
206
  --ds-surface-padding: 1rem;
175
207
  --ds-table-header-height: 2rem;
@@ -259,10 +291,53 @@
259
291
  --sidebar-active-foreground: #ffffff;
260
292
  --sidebar-active-indicator: #7c86df;
261
293
  --sidebar-border: rgb(255 255 255 / 8%);
294
+ --sidebar-canvas: var(--sidebar);
295
+ --sidebar-header: var(--sidebar);
296
+ --sidebar-content: var(--sidebar);
297
+ --sidebar-hover: var(--sidebar-accent);
298
+ --sidebar-primary-text: var(--sidebar-foreground);
299
+ --sidebar-secondary-text: color-mix(in oklab, var(--sidebar-foreground) 78%, transparent);
300
+ --sidebar-metadata-text: color-mix(in oklab, var(--sidebar-foreground) 62%, transparent);
301
+ --sidebar-icon: color-mix(in oklab, var(--sidebar-foreground) 72%, transparent);
302
+ --sidebar-search: var(--sidebar-accent);
303
+ --sidebar-footer: var(--sidebar);
304
+ --sidebar-group-label: color-mix(in oklab, var(--sidebar-foreground) 72%, transparent);
305
+ --sidebar-group-count: color-mix(in oklab, var(--sidebar-foreground) 62%, transparent);
306
+ --sidebar-focus-ring: var(--ring);
262
307
  --ds-shadow-raised: 0 1px 2px rgb(0 0 0 / 28%);
263
308
  --ds-shadow-floating: 0 16px 32px rgb(0 0 0 / 34%);
264
309
  }
265
310
 
311
+ /*
312
+ * Light sidebars use the same semantic surface family as the rest of the
313
+ * light theme. The variant is scoped to the sidebar so an application can
314
+ * keep a dark sidebar by default and opt into this hierarchy per shell.
315
+ */
316
+ [data-sidebar-variant="light"],
317
+ :root:not(.dark):not([data-appearance="dark"])
318
+ [data-sidebar-variant="auto"] {
319
+ --sidebar: var(--surface-muted);
320
+ --sidebar-foreground: var(--text-primary);
321
+ --sidebar-accent: var(--surface-raised);
322
+ --sidebar-active: var(--accent-background);
323
+ --sidebar-active-foreground: var(--selection-foreground);
324
+ --sidebar-active-indicator: var(--selection-indicator);
325
+ --sidebar-border: var(--border-subtle);
326
+ --sidebar-canvas: var(--surface-muted);
327
+ --sidebar-header: var(--surface);
328
+ --sidebar-content: var(--surface-muted);
329
+ --sidebar-hover: var(--surface-raised);
330
+ --sidebar-primary-text: var(--text-primary);
331
+ --sidebar-secondary-text: var(--text-secondary);
332
+ --sidebar-metadata-text: var(--text-supporting);
333
+ --sidebar-icon: var(--text-secondary);
334
+ --sidebar-search: var(--surface-raised);
335
+ --sidebar-footer: var(--surface);
336
+ --sidebar-group-label: var(--text-secondary);
337
+ --sidebar-group-count: var(--text-supporting);
338
+ --sidebar-focus-ring: var(--border-focus);
339
+ }
340
+
266
341
  @theme inline {
267
342
  --radius-sm: calc(var(--radius) - 4px);
268
343
  --radius-md: calc(var(--radius) - 2px);
@@ -341,6 +416,19 @@
341
416
  --color-sidebar-accent: var(--sidebar-accent);
342
417
  --color-sidebar-active: var(--sidebar-active);
343
418
  --color-sidebar-active-foreground: var(--sidebar-active-foreground);
419
+ --color-sidebar-canvas: var(--sidebar-canvas);
420
+ --color-sidebar-header: var(--sidebar-header);
421
+ --color-sidebar-content: var(--sidebar-content);
422
+ --color-sidebar-hover: var(--sidebar-hover);
423
+ --color-sidebar-primary-text: var(--sidebar-primary-text);
424
+ --color-sidebar-secondary-text: var(--sidebar-secondary-text);
425
+ --color-sidebar-metadata-text: var(--sidebar-metadata-text);
426
+ --color-sidebar-icon: var(--sidebar-icon);
427
+ --color-sidebar-search: var(--sidebar-search);
428
+ --color-sidebar-footer: var(--sidebar-footer);
429
+ --color-sidebar-group-label: var(--sidebar-group-label);
430
+ --color-sidebar-group-count: var(--sidebar-group-count);
431
+ --color-sidebar-focus-ring: var(--sidebar-focus-ring);
344
432
  --color-sidebar-border: var(--sidebar-border);
345
433
  --font-sans: var(--font-sans);
346
434
  }
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  export { ConsciaAppearance, ConsciaDensity, appearanceOptions, applyConsciaPreferences, densityOptions } from './foundation/index.js';
2
- export { ActivityItem, ActivityItemProps, ActivityList, AppShell, AppSidebar, AppSidebarContent, AppSidebarFooter, AppSidebarHeader, AppearanceControl, CodeBlock, CodeBlockProps, CodeBlockSnippet, ConfirmationDialog, ConfirmationDialogProps, DataTable, DataTableColumn, DataTableProps, DensityControl, DesignPreferenceControls, DesignSystemPreferenceSync, DetailBackLink, DetailBackLinkProps, DetailSection, DetailSectionProps, DetailSections, EntityTable, EntityTableColumn, EntityTableProps, ErrorState, InspectorRegion, InventoryDesktop, InventoryMobile, InventorySurface, KeyValueItem, KeyValueList, LoadingRows, MainRegion, MetricBand, MetricBandItem, MetricBandItemProps, MetricBandProps, NavigationGroup, NavigationItem, NavigationSubItem, NavigationSubList, PageBoundary, PageContent, PageFrame, PageHeader, PageHeaderProps, PageToolbar, PageToolbarProps, PaginationControls, PaginationControlsProps, ProductIdentity, ProviderMark, ProviderMarkProps, ResourceSummary, ResourceSummaryProps, SidebarNavigation, SidebarNavigationEntry, SidebarNavigationItem, SidebarNavigationLinkProps, SidebarNavigationSection, SidebarSeparator, SidebarTrigger, StateView, StateViewProps, TopBar, ValueMeter, ValueMeterProps, useAppShell, useConsciaPreferences } from './patterns/index.js';
3
- export { Alert, AlertDescription, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, ConsciaButton, ConsciaCard, ConsciaCardContent, ConsciaCardDescription, ConsciaCardHeader, ConsciaCardTitle, ConsciaCheckbox, ConsciaFormSelect, ConsciaIconButton, ConsciaInput, ConsciaSelect, ConsciaSelectContent, ConsciaSelectGroup, ConsciaSelectItem, ConsciaSelectTrigger, ConsciaSelectValue, ConsciaSwitch, ConsciaTable, ConsciaTableBody, ConsciaTableCell, ConsciaTableHead, ConsciaTableHeader, ConsciaTableRow, ConsciaTextarea, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Field, FieldDescription, FieldError, FieldGroup, FieldLabel, FormSelect, FormSelectOption, FormSelectProps, Input, Label, NavigationTab, NavigationTabs, NavigationTabsList, SearchableSelect, SearchableSelectOption, SearchableSelectProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Switch, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsSize, TabsTrigger, TabsVariant, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, badgeVariants } from './primitives/index.js';
4
- export { B as Button, C as Card, a as CardContent, b as CardDescription, c as CardHeader, d as CardTitle, S as Separator, e as buttonVariants } from './card-DqFHjLjm.js';
2
+ export { ActivityItem, ActivityItemProps, ActivityList, AppShell, AppSidebar, AppSidebarContent, AppSidebarFooter, AppSidebarHeader, AppearanceControl, CodeBlock, CodeBlockProps, CodeBlockSnippet, ConfirmationDialog, ConfirmationDialogProps, DataTable, DataTableColumn, DataTableProps, DensityControl, DesignPreferenceControls, DesignSystemPreferenceSync, DetailBackLink, DetailBackLinkProps, DetailSection, DetailSectionProps, DetailSections, EntityTable, EntityTableColumn, EntityTableProps, ErrorState, InspectorRegion, InventoryDesktop, InventoryMobile, InventorySurface, KeyValueItem, KeyValueList, LoadingRows, MainRegion, MetricBand, MetricBandItem, MetricBandItemProps, MetricBandProps, NavigationGroup, NavigationItem, NavigationSubItem, NavigationSubList, PageBoundary, PageContent, PageFrame, PageHeader, PageHeaderProps, PageToolbar, PageToolbarProps, PaginationControls, PaginationControlsProps, ProductIdentity, ProviderMark, ProviderMarkProps, ResourceSummary, ResourceSummaryProps, SidebarNavigation, SidebarNavigationEntry, SidebarNavigationItem, SidebarNavigationLinkProps, SidebarNavigationSection, SidebarSearch, SidebarSeparator, SidebarTrigger, StateView, StateViewProps, TopBar, ValueMeter, ValueMeterProps, useAppShell, useConsciaPreferences } from './patterns/index.js';
3
+ export { Alert, AlertDescription, AlertTitle, Avatar, AvatarFallback, AvatarImage, Badge, Checkbox, Collapsible, CollapsibleContent, CollapsibleTrigger, ConsciaButton, ConsciaCard, ConsciaCardContent, ConsciaCardDescription, ConsciaCardHeader, ConsciaCardTitle, ConsciaCheckbox, ConsciaFormSelect, ConsciaIconButton, ConsciaInput, ConsciaSelect, ConsciaSelectContent, ConsciaSelectGroup, ConsciaSelectItem, ConsciaSelectTrigger, ConsciaSelectValue, ConsciaSwitch, ConsciaTable, ConsciaTableBody, ConsciaTableCell, ConsciaTableHead, ConsciaTableHeader, ConsciaTableRow, ConsciaTextarea, Dialog, DialogBody, DialogClose, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogOverlay, DialogPortal, DialogTitle, DialogTrigger, DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuSeparator, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Field, FieldDescription, FieldError, FieldGroup, FieldLabel, FormSelect, FormSelectOption, FormSelectProps, Label, NavigationTab, NavigationTabs, NavigationTabsList, SearchableSelect, SearchableSelectOption, SearchableSelectProps, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Sheet, SheetBody, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Skeleton, Switch, Table, TableBody, TableCell, TableHead, TableHeader, TableRow, Tabs, TabsContent, TabsList, TabsSize, TabsTrigger, TabsVariant, Textarea, Tooltip, TooltipContent, TooltipProvider, TooltipTrigger, alertVariants, badgeVariants } from './primitives/index.js';
4
+ export { B as Button, C as Card, a as CardContent, b as CardDescription, c as CardHeader, d as CardTitle, I as Input, S as Separator, e as buttonVariants } from './card-BFUHJgV-.js';
5
5
  export { cn } from './utils/index.js';
6
6
  export { PaginationState, SortingState } from '@tanstack/react-table';
7
7
  import 'react';
package/dist/index.js CHANGED
@@ -44,6 +44,7 @@ import {
44
44
  ProviderMark,
45
45
  ResourceSummary,
46
46
  SidebarNavigation,
47
+ SidebarSearch,
47
48
  SidebarSeparator,
48
49
  SidebarTrigger,
49
50
  StateView,
@@ -51,7 +52,7 @@ import {
51
52
  ValueMeter,
52
53
  useAppShell,
53
54
  useConsciaPreferences
54
- } from "./chunk-5MGPU2JE.js";
55
+ } from "./chunk-TXCHAKNG.js";
55
56
  import {
56
57
  appearanceOptions,
57
58
  applyConsciaPreferences,
@@ -95,14 +96,13 @@ import {
95
96
  FieldGroup,
96
97
  FieldLabel,
97
98
  FormSelect,
98
- Input,
99
99
  Label,
100
100
  SearchableSelect,
101
101
  Switch,
102
102
  Textarea,
103
103
  alertVariants,
104
104
  badgeVariants
105
- } from "./chunk-CU3OXBFI.js";
105
+ } from "./chunk-VVTTFVCC.js";
106
106
  import {
107
107
  Button,
108
108
  Card,
@@ -135,6 +135,7 @@ import {
135
135
  DropdownMenuSubContent,
136
136
  DropdownMenuSubTrigger,
137
137
  DropdownMenuTrigger,
138
+ Input,
138
139
  NavigationTab,
139
140
  NavigationTabs,
140
141
  NavigationTabsList,
@@ -176,7 +177,7 @@ import {
176
177
  TooltipProvider,
177
178
  TooltipTrigger,
178
179
  buttonVariants
179
- } from "./chunk-YHPZ5CQU.js";
180
+ } from "./chunk-HLND6FZS.js";
180
181
  import {
181
182
  cn
182
183
  } from "./chunk-JU5DQXFC.js";
@@ -320,6 +321,7 @@ export {
320
321
  SheetTitle,
321
322
  SheetTrigger,
322
323
  SidebarNavigation,
324
+ SidebarSearch,
323
325
  SidebarSeparator,
324
326
  SidebarTrigger,
325
327
  Skeleton,
@@ -1,7 +1,7 @@
1
1
  import * as React from 'react';
2
2
  import { SortingState, PaginationState } from '@tanstack/react-table';
3
3
  export { PaginationState, SortingState } from '@tanstack/react-table';
4
- import { S as Separator, B as Button, C as Card } from '../card-DqFHjLjm.js';
4
+ import { I as Input, S as Separator, B as Button, C as Card } from '../card-BFUHJgV-.js';
5
5
  import { ConsciaAppearance, ConsciaDensity } from '../foundation/index.js';
6
6
  import 'class-variance-authority/types';
7
7
  import 'class-variance-authority';
@@ -80,8 +80,10 @@ declare function useAppShell(): AppShellContextValue;
80
80
  declare function AppShell({ defaultSidebarOpen, children, className, style, ...props }: React.ComponentProps<"div"> & {
81
81
  defaultSidebarOpen?: boolean;
82
82
  }): React.JSX.Element;
83
- declare function AppSidebar({ side, className, children, title, description, ...props }: React.ComponentProps<"aside"> & {
83
+ declare function AppSidebar({ side, variant, className, children, title, description, ...props }: React.ComponentProps<"aside"> & {
84
84
  side?: "left" | "right";
85
+ /** Preserve the historical dark sidebar by default; auto follows appearance. */
86
+ variant?: "light" | "dark" | "auto";
85
87
  title?: string;
86
88
  description?: string;
87
89
  }): React.JSX.Element;
@@ -95,8 +97,9 @@ declare function ProductIdentity({ label, description, icon, className, }: {
95
97
  className?: string;
96
98
  }): React.JSX.Element;
97
99
  declare function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): React.JSX.Element;
98
- declare function NavigationGroup({ label, children, className, }: {
100
+ declare function NavigationGroup({ label, count, children, className, }: {
99
101
  label?: React.ReactNode;
102
+ count?: React.ReactNode;
100
103
  children: React.ReactNode;
101
104
  className?: string;
102
105
  }): React.JSX.Element;
@@ -110,7 +113,24 @@ declare function NavigationSubItem({ asChild, active, className, ...props }: Rea
110
113
  active?: boolean;
111
114
  }): React.JSX.Element;
112
115
  declare function NavigationSubList({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
116
+ /**
117
+ * Place this control inside TopBar, not AppSidebar, so it remains available
118
+ * after the sidebar collapses and in the mobile drawer layout.
119
+ */
113
120
  declare function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>): React.JSX.Element;
121
+ type SidebarSearchProps = Omit<React.ComponentProps<typeof Input>, "type"> & {
122
+ expanded?: boolean;
123
+ defaultExpanded?: boolean;
124
+ onExpandedChange?: (expanded: boolean) => void;
125
+ triggerLabel?: string;
126
+ shortcut?: string;
127
+ };
128
+ /**
129
+ * Shared search affordance for sidebars. Applications own query state and
130
+ * filtering; this component owns the compact trigger, focus handoff, and
131
+ * keyboard-accessible expanded field.
132
+ */
133
+ declare function SidebarSearch({ expanded: expandedProp, defaultExpanded, onExpandedChange, triggerLabel, shortcut, className, onKeyDown, ...props }: SidebarSearchProps): React.JSX.Element;
114
134
  declare function MainRegion({ className, ...props }: React.ComponentProps<"div">): React.JSX.Element;
115
135
  declare function TopBar({ className, ...props }: React.ComponentProps<"header">): React.JSX.Element;
116
136
  declare function PageFrame({ width, className, ...props }: React.ComponentProps<"main"> & {
@@ -314,4 +334,4 @@ type ValueMeterProps = React.ComponentProps<"div"> & {
314
334
  };
315
335
  declare function ValueMeter({ label, value, maximum, valueLabel, detail, tone, className, ...props }: ValueMeterProps): React.JSX.Element;
316
336
 
317
- export { ActivityItem, type ActivityItemProps, ActivityList, AppShell, AppSidebar, AppSidebarContent, AppSidebarFooter, AppSidebarHeader, AppearanceControl, CodeBlock, type CodeBlockProps, type CodeBlockSnippet, ConfirmationDialog, type ConfirmationDialogProps, DataTable, type DataTableColumn, type DataTableProps, DensityControl, DesignPreferenceControls, DesignSystemPreferenceSync, DetailBackLink, type DetailBackLinkProps, DetailSection, type DetailSectionProps, DetailSections, EntityTable, type EntityTableColumn, type EntityTableProps, ErrorState, InspectorRegion, InventoryDesktop, InventoryMobile, InventorySurface, KeyValueItem, KeyValueList, LoadingRows, MainRegion, MetricBand, MetricBandItem, type MetricBandItemProps, type MetricBandProps, NavigationGroup, NavigationItem, NavigationSubItem, NavigationSubList, PageBoundary, PageContent, PageFrame, PageHeader, type PageHeaderProps, PageToolbar, type PageToolbarProps, PaginationControls, type PaginationControlsProps, ProductIdentity, ProviderMark, type ProviderMarkProps, ResourceSummary, type ResourceSummaryProps, SidebarNavigation, type SidebarNavigationEntry, type SidebarNavigationItem, type SidebarNavigationLinkProps, type SidebarNavigationSection, SidebarSeparator, SidebarTrigger, StateView, type StateViewProps, TopBar, ValueMeter, type ValueMeterProps, useAppShell, useConsciaPreferences };
337
+ export { ActivityItem, type ActivityItemProps, ActivityList, AppShell, AppSidebar, AppSidebarContent, AppSidebarFooter, AppSidebarHeader, AppearanceControl, CodeBlock, type CodeBlockProps, type CodeBlockSnippet, ConfirmationDialog, type ConfirmationDialogProps, DataTable, type DataTableColumn, type DataTableProps, DensityControl, DesignPreferenceControls, DesignSystemPreferenceSync, DetailBackLink, type DetailBackLinkProps, DetailSection, type DetailSectionProps, DetailSections, EntityTable, type EntityTableColumn, type EntityTableProps, ErrorState, InspectorRegion, InventoryDesktop, InventoryMobile, InventorySurface, KeyValueItem, KeyValueList, LoadingRows, MainRegion, MetricBand, MetricBandItem, type MetricBandItemProps, type MetricBandProps, NavigationGroup, NavigationItem, NavigationSubItem, NavigationSubList, PageBoundary, PageContent, PageFrame, PageHeader, type PageHeaderProps, PageToolbar, type PageToolbarProps, PaginationControls, type PaginationControlsProps, ProductIdentity, ProviderMark, type ProviderMarkProps, ResourceSummary, type ResourceSummaryProps, SidebarNavigation, type SidebarNavigationEntry, type SidebarNavigationItem, type SidebarNavigationLinkProps, type SidebarNavigationSection, SidebarSearch, SidebarSeparator, SidebarTrigger, StateView, type StateViewProps, TopBar, ValueMeter, type ValueMeterProps, useAppShell, useConsciaPreferences };
@@ -43,6 +43,7 @@ import {
43
43
  ProviderMark,
44
44
  ResourceSummary,
45
45
  SidebarNavigation,
46
+ SidebarSearch,
46
47
  SidebarSeparator,
47
48
  SidebarTrigger,
48
49
  StateView,
@@ -50,9 +51,9 @@ import {
50
51
  ValueMeter,
51
52
  useAppShell,
52
53
  useConsciaPreferences
53
- } from "../chunk-5MGPU2JE.js";
54
+ } from "../chunk-TXCHAKNG.js";
54
55
  import "../chunk-D5LYROOM.js";
55
- import "../chunk-YHPZ5CQU.js";
56
+ import "../chunk-HLND6FZS.js";
56
57
  import "../chunk-JU5DQXFC.js";
57
58
  export {
58
59
  ActivityItem,
@@ -98,6 +99,7 @@ export {
98
99
  ProviderMark,
99
100
  ResourceSummary,
100
101
  SidebarNavigation,
102
+ SidebarSearch,
101
103
  SidebarSeparator,
102
104
  SidebarTrigger,
103
105
  StateView,
@@ -2,8 +2,8 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
2
2
  import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
  import * as AvatarPrimitive from '@radix-ui/react-avatar';
5
- import { B as Button, C as Card, a as CardContent, b as CardDescription, c as CardHeader, d as CardTitle } from '../card-DqFHjLjm.js';
6
- export { S as Separator, e as buttonVariants } from '../card-DqFHjLjm.js';
5
+ import { B as Button, C as Card, a as CardContent, b as CardDescription, c as CardHeader, d as CardTitle, I as Input } from '../card-BFUHJgV-.js';
6
+ export { S as Separator, e as buttonVariants } from '../card-BFUHJgV-.js';
7
7
  import * as CheckboxPrimitive from '@radix-ui/react-checkbox';
8
8
  import * as CollapsiblePrimitive from '@radix-ui/react-collapsible';
9
9
  import * as SelectPrimitive from '@radix-ui/react-select';
@@ -39,8 +39,6 @@ declare function Collapsible({ ...props }: React.ComponentProps<typeof Collapsib
39
39
  declare function CollapsibleTrigger({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Trigger>): React.JSX.Element;
40
40
  declare function CollapsibleContent({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Content>): React.JSX.Element;
41
41
 
42
- declare function Input({ className, type, ...props }: React.ComponentProps<"input">): React.JSX.Element;
43
-
44
42
  declare function Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>): React.JSX.Element;
45
43
  declare function SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>): React.JSX.Element;
46
44
  declare function SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>): React.JSX.Element;
@@ -37,14 +37,13 @@ import {
37
37
  FieldGroup,
38
38
  FieldLabel,
39
39
  FormSelect,
40
- Input,
41
40
  Label,
42
41
  SearchableSelect,
43
42
  Switch,
44
43
  Textarea,
45
44
  alertVariants,
46
45
  badgeVariants
47
- } from "../chunk-CU3OXBFI.js";
46
+ } from "../chunk-VVTTFVCC.js";
48
47
  import {
49
48
  Button,
50
49
  Card,
@@ -77,6 +76,7 @@ import {
77
76
  DropdownMenuSubContent,
78
77
  DropdownMenuSubTrigger,
79
78
  DropdownMenuTrigger,
79
+ Input,
80
80
  NavigationTab,
81
81
  NavigationTabs,
82
82
  NavigationTabsList,
@@ -118,7 +118,7 @@ import {
118
118
  TooltipProvider,
119
119
  TooltipTrigger,
120
120
  buttonVariants
121
- } from "../chunk-YHPZ5CQU.js";
121
+ } from "../chunk-HLND6FZS.js";
122
122
  import {
123
123
  cn
124
124
  } from "../chunk-JU5DQXFC.js";