lucent-ui 0.14.2 → 0.16.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.
package/dist/index.d.ts CHANGED
@@ -130,7 +130,7 @@ export declare type ButtonSize = 'xs' | 'sm' | 'md' | 'lg';
130
130
 
131
131
  export declare type ButtonVariant = 'primary' | 'secondary' | 'outline' | 'ghost' | 'danger';
132
132
 
133
- export declare function Card({ header, footer, children, padding, shadow, radius, style, }: CardProps): JSX_2.Element;
133
+ export declare function Card({ variant, header, footer, children, padding, shadow, radius, style, onClick, href, target, rel, disabled, status, selected, media, }: CardProps): JSX_2.Element;
134
134
 
135
135
  export declare function CardBleed({ children, style }: CardBleedProps): JSX_2.Element;
136
136
 
@@ -144,19 +144,42 @@ export declare const CardManifest: ComponentManifest;
144
144
  export declare type CardPadding = 'none' | 'sm' | 'md' | 'lg';
145
145
 
146
146
  export declare interface CardProps {
147
+ /** Elevation variant — controls background, border, and default shadow. */
148
+ variant?: CardVariant;
147
149
  header?: ReactNode;
148
150
  footer?: ReactNode;
149
151
  children: ReactNode;
150
152
  padding?: CardPadding;
153
+ /** Overrides the variant's default shadow when set explicitly. */
151
154
  shadow?: CardShadow;
152
155
  radius?: CardRadius;
153
156
  style?: CSSProperties;
157
+ /** Makes the card clickable. Renders as <button>. */
158
+ onClick?: MouseEventHandler;
159
+ /** Makes the card a link. Renders as <a>. */
160
+ href?: string;
161
+ /** Passed to <a> when href is set. */
162
+ target?: string;
163
+ /** Passed to <a> when href is set. */
164
+ rel?: string;
165
+ /** Disables interactive behavior. */
166
+ disabled?: boolean;
167
+ /** Colored left-edge accent bar indicating status. */
168
+ status?: CardStatus;
169
+ /** Accent inset ring indicating selection. */
170
+ selected?: boolean;
171
+ /** Full-bleed content rendered at the top (before header). */
172
+ media?: ReactNode;
154
173
  }
155
174
 
156
175
  export declare type CardRadius = 'none' | 'sm' | 'md' | 'lg';
157
176
 
158
177
  export declare type CardShadow = 'none' | 'sm' | 'md' | 'lg';
159
178
 
179
+ export declare type CardStatus = 'success' | 'warning' | 'danger' | 'info';
180
+
181
+ export declare type CardVariant = 'ghost' | 'outline' | 'filled' | 'elevated' | 'combo';
182
+
160
183
  export declare const Checkbox: ForwardRefExoticComponent<CheckboxProps & RefAttributes<HTMLInputElement>>;
161
184
 
162
185
  export declare const CheckboxManifest: ComponentManifest;
@@ -254,7 +277,7 @@ export declare interface ColorPalette {
254
277
  dark: ThemeAnchors;
255
278
  }
256
279
 
257
- export declare function ColorPicker({ value, onChange, label, disabled, presetGroups, id, style, }: ColorPickerProps): JSX_2.Element;
280
+ export declare function ColorPicker({ value, onChange, label, size, inline, disabled, presetGroups, id, style, }: ColorPickerProps): JSX_2.Element;
258
281
 
259
282
  export declare namespace ColorPicker {
260
283
  var displayName: string;
@@ -264,6 +287,10 @@ export declare interface ColorPickerProps {
264
287
  value?: string;
265
288
  onChange?: (hex: string) => void;
266
289
  label?: string;
290
+ /** Swatch trigger size. Default: "md" (40px). */
291
+ size?: 'sm' | 'md';
292
+ /** Place label beside the swatch instead of above it. */
293
+ inline?: boolean;
267
294
  disabled?: boolean;
268
295
  presetGroups?: ColorPresetGroup[];
269
296
  id?: string;
@@ -402,9 +429,7 @@ export declare interface CompositionNode {
402
429
  * @example
403
430
  * const tokens = createTheme({
404
431
  * bgBase: '#ffffff',
405
- * surface: '#f9fafb',
406
432
  * borderDefault: '#e5e7eb',
407
- * textPrimary: '#111827',
408
433
  * accentDefault: '#6366f1',
409
434
  * successDefault: '#22c55e',
410
435
  * warningDefault: '#f59e0b',
@@ -786,7 +811,7 @@ export declare interface MultiSelectProps {
786
811
 
787
812
  declare type MultiSelectSize = 'sm' | 'md' | 'lg';
788
813
 
789
- export declare function NavLink({ children, href, isActive, icon, disabled, onClick, as, style, }: NavLinkProps): JSX_2.Element;
814
+ export declare function NavLink({ children, href, isActive, icon, disabled, inverse, onClick, as, style, }: NavLinkProps): JSX_2.Element;
790
815
 
791
816
  export declare interface NavLinkProps {
792
817
  children: ReactNode;
@@ -794,6 +819,8 @@ export declare interface NavLinkProps {
794
819
  isActive?: boolean;
795
820
  icon?: ReactNode;
796
821
  disabled?: boolean;
822
+ /** Uses surface background instead of accent for the active state. */
823
+ inverse?: boolean;
797
824
  onClick?: MouseEventHandler;
798
825
  /** Polymorphic root element. Defaults to `<a>`. Use e.g. `Link` from react-router. */
799
826
  as?: React.ElementType;
@@ -802,7 +829,7 @@ export declare interface NavLinkProps {
802
829
 
803
830
  export declare const oceanPalette: ColorPalette;
804
831
 
805
- export declare function PageLayout({ children, header, sidebar, sidebarWidth, headerHeight, sidebarCollapsed, rightSidebar, rightSidebarWidth, rightSidebarCollapsed, footer, footerHeight, mainStyle, style, }: PageLayoutProps): JSX_2.Element;
832
+ export declare function PageLayout({ children, header, sidebar, sidebarWidth, headerHeight, sidebarCollapsed, rightSidebar, rightSidebarWidth, rightSidebarCollapsed, footer, footerHeight, chromeBackground, mainStyle, style, }: PageLayoutProps): JSX_2.Element;
806
833
 
807
834
  export declare interface PageLayoutProps {
808
835
  children: ReactNode;
@@ -824,6 +851,8 @@ export declare interface PageLayoutProps {
824
851
  footer?: ReactNode;
825
852
  /** Footer height in px or any CSS value. Default: 48 */
826
853
  footerHeight?: number | string;
854
+ /** Background token for chrome regions (header, sidebar, footer). Default: "bgBase" */
855
+ chromeBackground?: 'bgBase' | 'bgSubtle' | 'surface';
827
856
  /** Style overrides for the main content card (border, borderRadius, boxShadow, etc.) */
828
857
  mainStyle?: CSSProperties;
829
858
  style?: CSSProperties;
@@ -1004,6 +1033,7 @@ declare interface SemanticColorTokens {
1004
1033
  surfaceSecondary: string;
1005
1034
  surfaceRaised: string;
1006
1035
  surfaceOverlay: string;
1036
+ surfaceTint: string;
1007
1037
  borderDefault: string;
1008
1038
  borderSubtle: string;
1009
1039
  borderStrong: string;
@@ -1250,9 +1280,7 @@ export declare type Theme = 'light' | 'dark';
1250
1280
  * @example
1251
1281
  * const myTheme = createTheme({
1252
1282
  * bgBase: '#ffffff',
1253
- * surface: '#f9fafb',
1254
1283
  * borderDefault: '#e5e7eb',
1255
- * textPrimary: '#111827',
1256
1284
  * accentDefault: '#6366f1',
1257
1285
  * successDefault: '#22c55e',
1258
1286
  * warningDefault: '#f59e0b',
@@ -1260,7 +1288,7 @@ export declare type Theme = 'light' | 'dark';
1260
1288
  * infoDefault: '#3b82f6',
1261
1289
  * });
1262
1290
  */
1263
- export declare type ThemeAnchors = Pick<LucentTokens, 'bgBase' | 'surface' | 'borderDefault' | 'accentDefault' | 'successDefault' | 'warningDefault' | 'dangerDefault' | 'infoDefault'> & Partial<Pick<LucentTokens, 'textPrimary'>>;
1291
+ export declare type ThemeAnchors = Pick<LucentTokens, 'bgBase' | 'borderDefault' | 'accentDefault' | 'successDefault' | 'warningDefault' | 'dangerDefault' | 'infoDefault'> & Partial<Pick<LucentTokens, 'textPrimary' | 'surface'>>;
1264
1292
 
1265
1293
  /**
1266
1294
  * Semantic guidance for each ThemeAnchors key.