lucent-ui 0.27.2 → 0.29.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -113,6 +113,20 @@ export declare type BadgeSize = 'sm' | 'md';
113
113
 
114
114
  export declare type BadgeVariant = 'neutral' | 'success' | 'warning' | 'danger' | 'info' | 'accent';
115
115
 
116
+ /**
117
+ * Modern Bento — the product grid standard.
118
+ * Layered natural shadows, balanced roundness, consistent spacing.
119
+ * Best for feature showcases, data dashboards, SaaS products.
120
+ */
121
+ export declare const bentoPreset: DesignPreset;
122
+
123
+ /**
124
+ * Bloom — dark-mode-native glow aesthetic.
125
+ * Accent-colored ambient glow, generous negative space, large radii.
126
+ * Best for AI interfaces, creative tools, dark-first products (Vercel/Linear style).
127
+ */
128
+ export declare const bloomPreset: DesignPreset;
129
+
116
130
  export declare const brandPalette: ColorPalette;
117
131
 
118
132
  /**
@@ -143,6 +157,26 @@ export declare interface BreadcrumbProps {
143
157
  style?: CSSProperties;
144
158
  }
145
159
 
160
+ /**
161
+ * Neo-Brutalist — the rebel.
162
+ * Hard offset shadows, sharp corners, tight spacing.
163
+ * Best for marketing sites, bold product launches, editorial.
164
+ */
165
+ export declare const brutalistPreset: DesignPreset;
166
+
167
+ /**
168
+ * Neo-Brutalist — thick solid outline + hard offset "block" shadow, 0 blur.
169
+ *
170
+ * Light mode: dark outline ring + accent-tinted offset block.
171
+ * Dark mode: accent-colored outline ring + accent offset block.
172
+ * The outline flips from dark (absorbing) to bright (emitting) —
173
+ * in dark mode the thick border itself becomes the light source,
174
+ * using the accent color instead of black.
175
+ *
176
+ * Uses `color-mix()` and CSS vars so it follows the active accent.
177
+ */
178
+ export declare const brutalistShadow: ShadowPreset;
179
+
146
180
  export declare const Button: ForwardRefExoticComponent<ButtonProps & RefAttributes<HTMLButtonElement>>;
147
181
 
148
182
  export declare function ButtonGroup({ children, style, }: ButtonGroupProps): JSX_2.Element;
@@ -575,7 +609,7 @@ export declare interface DateRange {
575
609
  end: Date;
576
610
  }
577
611
 
578
- export declare function DateRangePicker({ value: controlledValue, defaultValue, onChange, placeholder, disabled, min, max, size, label, helperText, errorText, style, }: DateRangePickerProps): JSX_2.Element;
612
+ export declare function DateRangePicker({ value: controlledValue, defaultValue, onChange, placeholder, disabled, min, max, size, label, helperText, errorText, trigger, style, }: DateRangePickerProps): JSX_2.Element;
579
613
 
580
614
  export declare interface DateRangePickerProps {
581
615
  value?: DateRange;
@@ -589,6 +623,8 @@ export declare interface DateRangePickerProps {
589
623
  label?: string;
590
624
  helperText?: string;
591
625
  errorText?: string;
626
+ /** Custom trigger element. When provided, replaces the default input-style button. */
627
+ trigger?: ReactNode;
592
628
  style?: CSSProperties;
593
629
  }
594
630
 
@@ -665,6 +701,11 @@ export declare interface DividerProps {
665
701
  style?: CSSProperties;
666
702
  }
667
703
 
704
+ /**
705
+ * Elevated — light mode uses stronger drop shadows for clear lift.
706
+ * Dark mode shifts to "inset glow" — light radiating from inside
707
+ * the element, creating internal luminosity that reads as elevation.
708
+ */
668
709
  export declare const elevatedShadow: ShadowPreset;
669
710
 
670
711
  export declare const emeraldPalette: ColorPalette;
@@ -744,6 +785,16 @@ export declare function getAccentFg(accentHex: string): string;
744
785
  */
745
786
  export declare function getContrastText(hex: string): '#000000' | '#ffffff';
746
787
 
788
+ /**
789
+ * Ambient Glow — accent-colored shadows that make elements appear
790
+ * to emit light. Uses `color-mix()` with `var(--lucent-accent-default)`
791
+ * so the glow automatically follows the active accent color.
792
+ *
793
+ * Particularly effective in dark mode where the glow reads as a
794
+ * bloom / light source against the dark canvas.
795
+ */
796
+ export declare const glowShadow: ShadowPreset;
797
+
747
798
  export declare function Icon({ children, size, label, color, style }: IconProps): JSX_2.Element;
748
799
 
749
800
  export declare const IconManifest: ComponentManifest;
@@ -791,6 +842,23 @@ export declare function isValidPropDescriptor(prop: unknown): prop is PropDescri
791
842
 
792
843
  export declare const lightTokens: LucentTokens;
793
844
 
845
+ /**
846
+ * Liquid Glass — Apple-inspired premium aesthetic.
847
+ * Extreme blur shadows, generous spacing, pill radii.
848
+ * Best for high-end SaaS, floating modals, mobile-first web apps.
849
+ */
850
+ export declare const liquidGlassPreset: DesignPreset;
851
+
852
+ /**
853
+ * Liquid Glass — light mode uses diffused, very large blur drops.
854
+ *
855
+ * Dark mode uses frosted light diffusion — soft white glow with an
856
+ * inner highlight that makes elements appear translucent, as if
857
+ * backlit through frosted glass. Best paired with
858
+ * `backdrop-filter: blur()` on the element.
859
+ */
860
+ export declare const liquidGlassShadow: ShadowPreset;
861
+
794
862
  export declare const LUCENT_UI_VERSION = "0.1.0";
795
863
 
796
864
  declare interface LucentContextValue {
@@ -921,6 +989,13 @@ export declare interface MenuSeparatorProps {
921
989
 
922
990
  export declare type MenuSize = 'sm' | 'md' | 'lg';
923
991
 
992
+ /**
993
+ * Utilitarian Minimal — print-inspired, content-first.
994
+ * No shadows at all — depth through borders and typography hierarchy.
995
+ * Best for editorial, documentation, reading-heavy products.
996
+ */
997
+ export declare const minimalPreset: DesignPreset;
998
+
924
999
  export declare const modernPreset: DesignPreset;
925
1000
 
926
1001
  declare interface MotionTokens {
@@ -960,6 +1035,16 @@ export declare interface MultiSelectProps {
960
1035
 
961
1036
  declare type MultiSelectSize = 'sm' | 'md' | 'lg';
962
1037
 
1038
+ /**
1039
+ * Natural — light mode uses stacked multi-layer shadows for
1040
+ * physically-accurate light falloff.
1041
+ *
1042
+ * Dark mode uses stacked "lit edge" layers — multiple subtle
1043
+ * top-edge highlights at increasing intensity, creating a
1044
+ * graduated brightness that reads as natural overhead lighting.
1045
+ */
1046
+ export declare const naturalShadow: ShadowPreset;
1047
+
963
1048
  export declare function NavLink({ children, href, isActive, icon, disabled, inverse, onClick, as, style, }: NavLinkProps): JSX_2.Element;
964
1049
 
965
1050
  export declare interface NavLinkProps {
@@ -1046,6 +1131,18 @@ export declare interface NavMenuSubProps {
1046
1131
  children: ReactNode;
1047
1132
  }
1048
1133
 
1134
+ /**
1135
+ * Neumorphic — light mode uses classic dual light/dark shadows
1136
+ * for the extruded soft-UI look.
1137
+ *
1138
+ * Dark mode shifts to "chromatic" — offset split-color accent
1139
+ * glow (warm-shifted on one side, cool-shifted on the other).
1140
+ * Creates a CRT/screen-like depth that reads as physical without
1141
+ * relying on darkening. Uses `color-mix()` so it follows the
1142
+ * active accent automatically.
1143
+ */
1144
+ export declare const neumorphicShadow: ShadowPreset;
1145
+
1049
1146
  export declare const oceanPalette: ColorPalette;
1050
1147
 
1051
1148
  export declare function PageLayout({ children, header, sidebar, sidebarWidth, headerHeight, sidebarCollapsed, rightSidebar, rightSidebarWidth, rightSidebarCollapsed, footer, footerHeight, chromeBackground, mainStyle, style, }: PageLayoutProps): JSX_2.Element;
@@ -1083,7 +1180,7 @@ export declare const pillShape: ShapePreset;
1083
1180
 
1084
1181
  export declare const playfulPreset: DesignPreset;
1085
1182
 
1086
- export declare type PresetName = 'modern' | 'enterprise' | 'playful';
1183
+ export declare type PresetName = 'modern' | 'enterprise' | 'playful' | 'liquidGlass' | 'bento' | 'brutalist' | 'terminal' | 'softUI' | 'bloom' | 'minimal';
1087
1184
 
1088
1185
  export declare type PresetProp = PresetName | {
1089
1186
  palette?: PaletteName | ColorPalette;
@@ -1330,7 +1427,7 @@ declare interface SemanticColorTokens {
1330
1427
  infoText: string;
1331
1428
  }
1332
1429
 
1333
- export declare type ShadowName = 'flat' | 'subtle' | 'elevated';
1430
+ export declare type ShadowName = 'flat' | 'subtle' | 'elevated' | 'liquidGlass' | 'brutalist' | 'neumorphic' | 'natural' | 'glow';
1334
1431
 
1335
1432
  export declare interface ShadowPreset {
1336
1433
  name: string;
@@ -1389,6 +1486,13 @@ export declare interface SliderProps extends Omit<InputHTMLAttributes<HTMLInputE
1389
1486
 
1390
1487
  export declare type SliderSize = 'sm' | 'md' | 'lg';
1391
1488
 
1489
+ /**
1490
+ * Soft UI — tactile and organic neumorphism.
1491
+ * Dual-direction shadows, large radii, balanced spacing.
1492
+ * Best for physical product controllers, IoT dashboards, niche apps.
1493
+ */
1494
+ export declare const softUIPreset: DesignPreset;
1495
+
1392
1496
  declare interface SpacingTokens {
1393
1497
  space0: string;
1394
1498
  space1: string;
@@ -1491,12 +1595,18 @@ export declare interface StackProps {
1491
1595
  'aria-labelledby'?: string;
1492
1596
  }
1493
1597
 
1598
+ /**
1599
+ * Subtle — light mode uses wide, low-opacity diffused shadows.
1600
+ * Dark mode shifts to "ambient" — an enormous, barely-visible
1601
+ * accent-tinted glow that makes surfaces feel warm without
1602
+ * creating visible shadow edges.
1603
+ */
1494
1604
  export declare const subtleShadow: ShadowPreset;
1495
1605
 
1496
1606
  export declare interface TabItem {
1497
1607
  value: string;
1498
1608
  label: ReactNode;
1499
- content: ReactNode;
1609
+ content?: ReactNode;
1500
1610
  disabled?: boolean;
1501
1611
  }
1502
1612
 
@@ -1552,6 +1662,13 @@ export declare type TagSize = 'sm' | 'md' | 'lg';
1552
1662
 
1553
1663
  export declare type TagVariant = 'neutral' | 'accent' | 'success' | 'warning' | 'danger' | 'info';
1554
1664
 
1665
+ /**
1666
+ * Technical Mono — the dev-tool aesthetic.
1667
+ * Glow shadows, perfectly square corners, mathematical grid spacing.
1668
+ * Best for documentation, CLI tools, cybersecurity, developer products.
1669
+ */
1670
+ export declare const terminalPreset: DesignPreset;
1671
+
1555
1672
  declare function Text_2({ as, size, weight, color, align, lineHeight, family, truncate, children, style, ...rest }: TextProps): JSX_2.Element;
1556
1673
  export { Text_2 as Text }
1557
1674